Files
UnrealEngineUWP/Engine/Source/Editor/Sequencer/Private/SequencerTimeSliderController.cpp

1820 lines
66 KiB
C++
Raw Normal View History

// Copyright Epic Games, Inc. All Rights Reserved.
Copying //UE4/Dev-Sequencer to //UE4/Main ========================== MAJOR FEATURES + CHANGES ========================== Change 2859626 on 2016/02/08 by Max.Preussner Editor: Added SaveAs functionality to content asset editors Change 2859666 on 2016/02/08 by Max.Chen Sequencer: Fix crash in CheckForWorldGCLeaks when loading a new map because spawnables are left behind. #jira UE-25616 Change 2859685 on 2016/02/08 by Max.Chen Sequencer: Add prompt to save sub level sequences if they are dirty #jira UE-26510 Change 2859715 on 2016/02/08 by Thomas.Sarkanen Adding actor spawning recording Actors are queued for record on spawn then added to the list like manually-specifed ones. Changed almost everything about UActorRecording. We now record on a per-component basis, with property tracks encapsulated in each actor recording. Much effort is expended to make sure that the correct components are owned by their respective actors, as we can add and remove components at runtime, but they must be created up-front in the UMovieScene Blueprints. We go as far as to add our own SCS nodes to make sure components are correctly spawned. Fixed infinite loop in FSequencer::AddSpawnable. Fixed visibility track instance to work with scene components as well as actors. Fixed particle track instance to work on UParticleSystemComponent rather than just AEmitters. Added particle recorder. Moved animation recording into an animation property recorder rather than having it as a special case. This still uses the animation recorder under the hood. Moved old-style Matinee animation control into FMovieSceneSkeletalAnimationTrackInstance & made this work on USkeletalMeshComponents directly, rather than via the old interface. Exposed SetMatineeAnimPositionInner and PreviewMatineeSetAnimPositionInner in FAnimMontageInstance so those utility functions can be used externally to Engine. Added a predicate version of UMovieScene::FindPossessable. Exposed UMovieSceneParticleSection::AddKey externally via MOVIESCENETRACKS_API so I can programmatically add keys. Fixed a crash in FScalableFloatDetails::CustomizeHeader when selecting PIE projectiles in Orion. Moved all recorders over to recording Actors or Components & store UObjects instead of AActors. Allowed skeletal animation tracks on components as well as actors. Change 2862675 on 2016/02/10 by Max.Chen Sequencer: Add option to link the sequencer curve editor with the sequencer timeline. Under General Options->Link Curve Editor Time Range. The default is false, so the sequencer and curve editor have separate time ranges. #jira UE-25933 Change 2862699 on 2016/02/11 by Max.Chen Sequencer: Added a playback status of jumping which the AudioTrack and Skeletal Mesh Track (anim notifies) ignores for updates. This is used to updating thumbnail at certain times. #jira UE-26447, UE-26671 Change 2862712 on 2016/02/11 by Max.Chen Sequencer: Fix spawnables firing off their particles. Disable auto activate on spawnable components #jira UE-26390 Change 2862719 on 2016/02/11 by Max.Preussner Editor: Refactored detail customizations for colors, rotators, vectors - broke color and rotator customizations out into their own files - added vector customizations (placeholder) - cleaned up localization namespaces, forward declarations Change 2866454 on 2016/02/14 by Max.Preussner Sequencer: Removed ULevelEditorSequencerSettings; moved default settings into INI Change 2866455 on 2016/02/14 by Thomas.Sarkanen Sequence recorder can now record replays Added extra edtior-only UI to the replay playback controls to record sequences. Curretnly very placeholder: only records the entire sequence and provides no feedback in the UI if it is recording. Fixed bindings to recorded objects not working in various circumstances. Added the ability to manually create a binding. Recompiled actor blueprints post-record if we added components. Fixed a null ptr dereference in FOrionTeamUIInfo::Update. Removed tolerances when reducing tracks - they are now 'very small'. Added actor filter so actors of certain classes can be recorded. Change 2866458 on 2016/02/14 by Max.Chen Sequencer: Fix anim notifies that fire at shot cuts. Anim notifies are fired from the last position to the current position. When jumping cuts, we want the delta to be 0 so that the anim notifies before the shot are not fired off. #jira UE-26390, UE-26671 Change 2866459 on 2016/02/14 by Max.Chen Sequencer: Add option to toggle visibility of combined keys Change 2866466 on 2016/02/14 by Frank.Fella Sequencer - Add a track for controlling streamed level visibilty and remove visibility code from the master level blueprint. Change 2866470 on 2016/02/14 by Max.Chen Sequencer: Add return value to indicate data has changed when a section has been added. This fixes a bug where creating a new section doesn't seem to add a key. #jira UE-26837 Change 2866481 on 2016/02/14 by Max.Preussner Sequencer: Implemented Presets for adding tracks automatically based on actor type (UE-24513) #Jira: UE-24513 Change 2866482 on 2016/02/14 by Max.Chen Sequencer: Allow for any actor that has a camera component to be a camera cut. #jira UE-26777 Change 2866484 on 2016/02/14 by Thomas.Sarkanen Added in/out times to sequence recording Also added the optional ability to record different actor types (heroes, projectiles, minions). Change 2866495 on 2016/02/14 by Max.Chen Sequencer: Need to limit camera control to the section bounds of the camera cut otherwise, control won't be relinquished back to player at the end of the playback. #jira UE-26886 [CL 2874647 by Max Chen in Main branch]
2016-02-19 21:36:27 -05:00
#include "SequencerTimeSliderController.h"
Copying //UE4/Dev-Build to //UE4/Dev-Main (Source: //UE4/Dev-Build @ 3209340) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3209340 on 2016/11/23 by Ben.Marsh Convert UE4 codebase to an "include what you use" model - where every header just includes the dependencies it needs, rather than every source file including large monolithic headers like Engine.h and UnrealEd.h. Measured full rebuild times around 2x faster using XGE on Windows, and improvements of 25% or more for incremental builds and full rebuilds on most other platforms. * Every header now includes everything it needs to compile. * There's a CoreMinimal.h header that gets you a set of ubiquitous types from Core (eg. FString, FName, TArray, FVector, etc...). Most headers now include this first. * There's a CoreTypes.h header that sets up primitive UE4 types and build macros (int32, PLATFORM_WIN64, etc...). All headers in Core include this first, as does CoreMinimal.h. * Every .cpp file includes its matching .h file first. * This helps validate that each header is including everything it needs to compile. * No engine code includes a monolithic header such as Engine.h or UnrealEd.h any more. * You will get a warning if you try to include one of these from the engine. They still exist for compatibility with game projects and do not produce warnings when included there. * There have only been minor changes to our internal games down to accommodate these changes. The intent is for this to be as seamless as possible. * No engine code explicitly includes a precompiled header any more. * We still use PCHs, but they're force-included on the compiler command line by UnrealBuildTool instead. This lets us tune what they contain without breaking any existing include dependencies. * PCHs are generated by a tool to get a statistical amount of coverage for the source files using it, and I've seeded the new shared PCHs to contain any header included by > 15% of source files. Tool used to generate this transform is at Engine\Source\Programs\IncludeTool. [CL 3209342 by Ben Marsh in Main branch]
2016-11-23 15:48:37 -05:00
#include "Fonts/SlateFontInfo.h"
#include "Rendering/DrawElements.h"
#include "Misc/Paths.h"
#include "Layout/WidgetPath.h"
#include "Framework/Application/MenuStack.h"
#include "Fonts/FontMeasure.h"
Copying //UE4/Dev-Editor to //UE4/Dev-Main (Source: //UE4/Dev-Editor @ 3739701) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3358367 by tim.gautier Submitting resaved QAGame assets - Materials, Material Instances, Material Functions and Parameters Change 3624848 by Jamie.Dale Added a composite font for the editor (and Slate core) This is defined in FLegacySlateFontInfoCache::GetDefaultFont and uses our default Roboto fonts (and the culture specific fallback fonts), and is now used as the default font for Slate and the editor. This change removes all the manual TTF/OTF file references from the various Slate styles, as well as updating 200+ hard-coded font references to use the new default font. This fixes various rendering issues with fonts in the editor when using different languages, and clears a big barrier for removing the legacy localized fallback font support. Change 3654993 by Jamie.Dale 'Native' (now called 'FNativeFuncPtr') is now a function pointer that takes a UObject* context, rather than a UObject member function pointer This avoids ambiguity when binding a native function pointer to a type that doesn't match the context pointer, as you could end up getting a function called with an incorrect 'this' pointer Breaking changes: - Native has been renamed to FNativeFuncPtr. - The signature of a native function has changed (use the DECLARE_FUNCTION and DEFINE_FUNCTION macro pair). - Use P_THIS if you were previously using the 'this' pointer in your native function. Change 3699591 by Jamie.Dale Added support for displaying and editing numbers in a culture correct way Numeric input boxes in Slate will now display and accept numbers using the culture correct decimal separators. This is enabled by default, and can be disabled by setting "ShouldUseLocalizedNumericInput" to "False" in XEditorSettings.ini (for the editor), or XGameUserSettings.ini (for a game). #jira UE-4028 Change 3719568 by Jamie.Dale Allow platforms to override the default ICU timezone calculation Change 3622366 by Bradut.Palas #jira UE-46677 Don't allow OnLevelRemovedFromWorld to reset the transaction buffer if we're in PIE mode. Also, remove one undo barrier in case the event was triggered in PIE mode or else we block the user from undoing previous actions. Change 3622378 by Bradut.Palas #jira UE-46590 we have a general bug with detecting the size of the last column, but the clamping prevents it from appearing with the other resize modes. The Content Browser is the only one to use fixed width. The bug is that the size of the last element is incorrectly reported, after we drag back and forth. Fixed by not reading the size real time, but reading it from the SlotInfo structure that is created earlier, which holds the correct value. Change 3622552 by Jamie.Dale Added support for per-culture sub-fonts within a composite font This allows you to do things like create a Japanese specific Han sub-font to override the Han characters used in a CJK font (previously you needed to create a localized font asset to achieve this). Change 3623170 by Jamie.Dale Fixing warning Change 3624846 by Jamie.Dale Composite font cache optimizations - Converted a typically small sized map to a sorted array + binary search. - Converted the already sorted range array to use binary search. - Contiguous ranges using the same typeface are now merged in the cache. Change 3625576 by Cody.Albert We now only set the widget tree to transient instead of passing the flag through StaticDuplicateObject. This was causing instanced subobjects to be flagged with RF_DuplicateTransient, preventing them from properly being duplicated when an array of instanced subobjects was modified. #jira UE-47971 Change 3626057 by Matt.Kuhlenschmidt Expose EUmgSequencePlayMode to blueprints #jira UE-49255 Change 3626556 by Matt.Kuhlenschmidt Fix window size and position adjustment not accounting for primary monitor not being a high DPI monitor when a secondary monitor is. Causes flickering and incorrect window positioning. #jira UE-48922, UE-48957 Change 3627692 by Matt.Kuhlenschmidt PR #3977: Source control submenu menu customization (Contributed by Kryofenix) Change 3628600 by Arciel.Rekman Added AutoCheckout to FAssetRenameManager for commandlet usage. Change 3630561 by Richard.Hinckley Deprecating the version of UFunctionalTestingManager::RunAllFunctionalTests that feature an unused bool parameter, replacing with a new version without that parameter. Change 3630656 by Richard.Hinckley Compile fix. Change 3630964 by Arciel.Rekman Fix CrashReporterClient headless build. Change 3631050 by Matt.Kuhlenschmidt Back out revision 9 from //UE4/Dev-Editor/Engine/Source/Runtime/Slate/Private/Widgets/Layout/SSplitter.cpp Causes major problems with resizing splitters in editor Change 3631140 by Arciel.Rekman OpenAL: update Linux version to 1.18.1 (UETOOL-1253) - Also remove a hack for RPATH and make it use a generic RPATH mechanism. - Bulk of the change from Cengiz.Terzibas #jira UETOOL-1253 Change 3632924 by Jamie.Dale Added support for a catch-all fallback font within composite fonts This allows you to provide broad "font of last resort" behavior on a per-composite font basis, in a way that can also work with different font styles. Change 3633055 by Jamie.Dale Fixed some refresh issues in the font editor Change 3633062 by Jamie.Dale Fixed localization commands being reported as unknown Change 3633906 by Nick.Darnell UMG - You can now store refrences to widgets in the same UserWidget. If you need to create links between widgets this is valuable. Will likely introduce new ways to utilize this in the future, for now just getting it working. Change 3634070 by Arciel.Rekman Display actually used values of material overrides. Change 3634254 by Arciel.Rekman Fix ResavePackages working poorly with projects on other drives (UE-49465). #jira UE-49465 Change 3635985 by Matt.Kuhlenschmidt Fixed typo in function name used by maps PR #3975: Add tooltip to Arrays in Editor (Contributed by projectgheist) Change 3636012 by Matt.Kuhlenschmidt PR #3982: Unhide mouse cursor after using Ansel (Contributed by projectgheist) Change 3636706 by Lauren.Ridge Epic Friday: Save parameters to child or sibling instance functionality Change 3638706 by Jamie.Dale Added an improved Japanese font to the editor This is only used when displaying Japanese text when the editor is set to Japanese, and uses a font with Japanese-style unified Han characters (our default fallback font uses Chinese-style unified Han characters). #jira UE-33268 Change 3639438 by Arciel.Rekman Linux: Repaired ARM server build (UE-49635). - Made Steam* plugins compile. - Disabled OpenEXR as the libs aren't compiled (need to be done separately). (Edigrating CL 3639429 from Release-4.17 to Dev-Editor) Change 3640625 by Matt.Kuhlenschmidt PR #4012: FSlateApplication::ProcessReply use &Reply (Contributed by projectgheist) Change 3640626 by Matt.Kuhlenschmidt PR #4011: Remove space from filename (Contributed by projectgheist) Change 3640697 by Matt.Kuhlenschmidt PR #4010: PNG alpha fix (Contributed by mmdanggg2) Change 3641137 by Jamie.Dale Fixed an issue where a culture specific sub-font could produce incorrect measurements during a culture switch It would fallback to the last resort font for a frame or two while the font cache flushed. This has it update the ranges immediately. Change 3641351 by Jamie.Dale Fixing incorrect weights on the Japanese sub-font Change 3641356 by Jamie.Dale Fixing inconsistent font sizes between CoreStyle and EditorStyle Change 3641710 by Jamie.Dale Fixed pure-virtual function call on UMulticastDelegateProperty Change 3641941 by Lauren.Ridge Adding a Parameter Details tab to the Material Editor so users can change default parameter details Change 3644141 by Jamie.Dale Added an improved Korean font to the editor This is only used when displaying Korean text when the editor is set to Korean Change 3644213 by Arciel.Rekman Fix the side effects of a fix for UE-49465. - Default materials were apparently not being found while building DDC (e.g. making an installed build), now they are and we should not reset loaders on them lest we trigger HasDefaultMaterialsPostLoaded() assert later. #jira UE-49465 Change 3644777 by Jamie.Dale Reverting Korean editor font back to NanumGothic as NanumBarunGothic looked too squished Change 3644879 by tim.gautier QAGame: Optimized assets for Procedural Foliage testing - Added camera bookmarks to Stations in QA-Foliage - Renamed QA-FoliageTypeInst assets to ProcFoliage_Shape - Fixed up redirectors Change 3645109 by Matt.Kuhlenschmidt PR #3990: Git plugin: fix status of renamed, removed, missing, untracked assets (Contributed by SRombauts) Change 3645114 by Matt.Kuhlenschmidt PR #3991: Git Plugin: Fix RunDumpToFile() leaking Process handles (Contributed by SRombauts) Change 3645116 by Matt.Kuhlenschmidt PR #3996: Git Plugin: run an "UpdateStatus" at "Connect" time to populate the Source Control cache (Contributed by SRombauts) Change 3645118 by Matt.Kuhlenschmidt PR #4005: Git Plugin: Expand the size of the Button "Initialize project with Git" (Contributed by SRombauts) Change 3645876 by Arciel.Rekman Linux: fix submenus of context menu not working (UE-47639). - Change by icculus (Ryan Gordon). - QA-ClickHUD seems to be not affected by this change (it is already broken alas). #jira UE-47639 Change 3648088 by Jamie.Dale Fixed some case-sensitivity issues with FText format argument names/pins These were originally case-sensitive, but that was lost somewhere along the way. This change restores their original behavior. #jira UE-47122 Change 3648097 by Jamie.Dale Moved common macOS/iOS localization implementation into FApplePlatformMisc #jira UE-49940 Change 3650858 by Arciel.Rekman UBT: improve CodeLite project generator (UE-49400). - PR #3987 submitted by yaakuro (Cengiz Terzibas). #jira UE-49400 Change 3651231 by Arciel.Rekman Linux: default to SM5 for Vulkan. - Change by Timothee.Bessett. Change 3653627 by Matt.Kuhlenschmidt PR #4020: Source Control Submit Files now interprets Escape key as if the user clicked cancel (Contributed by SRombauts) Change 3653628 by Matt.Kuhlenschmidt PR #4022: Add New C++ Class dialog remember previously selected module. (Contributed by Koderz) Change 3653984 by Jamie.Dale Fixed some redundant string construction Change 3658528 by Joe.Graf UE-45141 - Added CMAKE_CXX_COMPILER and CMAKE_C_COMPILER settings to the generated CMake files Change 3658594 by Jamie.Dale Zipping in UAT now always uses UTF-8 encoding to prevent Unicode issues #jira UE-27263 Change 3659643 by Michael.Trepka Added a call to FCoreDelegates::ApplicationWillTerminateDelegate.Broadcast(); in Mac RequestExit() to match Windows behavior #jira UETOOL-1238 Change 3661908 by Matt.Kuhlenschmidt USD asset importing improvements Change 3664100 by Matt.Kuhlenschmidt Fix static analysis Change 3664107 by Matt.Kuhlenschmidt PR #4051: UE-49448: FPropertyChangedEvent to include TopLevelObjects (Contributed by projectgheist) Change 3664125 by Matt.Kuhlenschmidt PR #4036: Add missing GRAPHEDITOR_API (Contributed by projectgheist) Change 3664340 by Jamie.Dale PR #3648: Prevent GatherTextFromSource from failing the commandlet (Contributed by projectgheist) Change 3664403 by Jamie.Dale PR #3769: Fixes UE-46973 - Drag and Dropping Folders with Names (Contributed by LordNed) Change 3664539 by Jamie.Dale PR #3280: Added EditableText functionality (Contributed by projectgheist) Change 3665433 by Alexis.Matte When we finish importing morph target we must re-initialise the render resources since we now use GPU morph target. #jira UE-50231 Change 3666747 by Cody.Albert Change 3669280 by Jamie.Dale PR #4060: UE-50455: Verify folder is newly created before removing from tree (Contributed by projectgheist) Change 3669718 by Jamie.Dale PR #4061: Clear Content Browser folder search box on escape key (Contributed by projectgheist) Change 3670838 by Alexis.Matte Fix crash when deleting a skeletal mesh LOD and the mouse is over the "reimport" button. #jira UE-50387 Change 3671559 by Matt.Kuhlenschmidt Update SimpleUI automation test ground truth #jira UE-50325 Change 3671587 by Alexis.Matte Fix fbx importer scale not always apply. A cache array was not reset when opening a fbx file. #jira UE-50147 Change 3671730 by Jamie.Dale Added PostInitInstance to UClass to allow class types to perform construction time initialization of their instances Change 3672104 by Michael.Dupuis #jira UE-50427: Update the volume visibility list of the editor viewport when changing the procedural foliage settings Change 3674906 by Alexis.Matte Make sure the export LOD option is taken in consideration when exporting a level or the current level selection #jira UE-50248 Change 3674942 by Matt.Kuhlenschmidt Fix static analysis Change 3675401 by Alexis.Matte -fix export animation, do not truncate the last frame anymore -fix the import animation, there was a display issue in the progress bar. Also a floorToInt sometime truncate the last valid frame. We also have a better way to calculate the time increment we use to sample the fbx curves. #jira UE-48231 Change 3675990 by Alexis.Matte Remove morph target when doing a re-import, so morph will be remove if they do not exist anymore in the fbx. This is to avoid driving random vertex with old morph target. #jira UE-50391 Change 3676169 by Alexis.Matte When we re-import with dialog the option, "Override Full Name" was set to false and save with the option dialog. We now not set it to false, since it was not use during re-import. Change 3676396 by Alexis.Matte Make all LOD 0 name consistent in staticmesh editor #jira UE-49461 Change 3677730 by Cody.Albert Enable locking of Persistent Level in Levels tab #jira UE-50686 Change 3677838 by Jamie.Dale Replaced broken version of Roboto Light Change 3679619 by Alexis.Matte Integrate GitHub pr #4029 to fix import fbx chunk material assignation. #jira UE-50001 Change 3680093 by Alexis.Matte Fix the skeletal mesh so the vertex color is part of the vertex equality like with the static mesh. Change 3680931 by Arciel.Rekman SlateDialogs: show image icon for *.tga (UE-25106). - Also reworked the logic somewhat. #jira UE-25106 Change 3681966 by Yannick.Lange MaterialEditor post-process preview. #jira UE-45307 Change 3682407 by Lauren.Ridge Fixes for material editor compile errors Change 3682628 by Lauren.Ridge Content browser filters for Material Layers, Blends, and their instances Change 3682725 by Lauren.Ridge Adding filter assets and instance assets to Material Layers and Material Layer Blends. Turning Material Layering on by default Change 3682921 by Lauren.Ridge Fix for instance layers not initializing fully Change 3682954 by Lauren.Ridge Creating Material Layer Test Assets Change 3683582 by Alexis.Matte Fix static analysis build Change 3683614 by Matt.Kuhlenschmidt PR #4062: Git Plugin: Fix UE-44637: Deleting an asset is unsuccessful if the asset is marked for add (Contributed by SRombauts) Change 3684130 by Lauren.Ridge Allow visible parameter retrieval to correctly recurse through internally called functions. Previous check was intended to prevent function previews from leaving their graph through unhooked inputs, but unintentionally blocked all function inputs. Change 3686289 by Arciel.Rekman Remove the pessimization (UE-23791). Change 3686455 by Lauren.Ridge Fixes for adding/removing a layer parameter from the parent not updating the child Change 3686829 by Jamie.Dale No longer include trailing whitespace in the justification calculation for soft-wrapped lines #jira UE-50266 Change 3686970 by Lauren.Ridge Making material parameter preview work for functions as well Change 3687077 by Jamie.Dale Fixed crash using FActorDetails with the struct details panel Change 3687152 by Jamie.Dale Fixed the row structure tag not appearing in the Content Browser for Data Table assets The CDO is used to filter these tags, and the CDO was omiting that tag which caused it to be filtered for all Data Tables. #jira UE-48691 Change 3687174 by Lauren.Ridge Fix for material layer sub-parameters showing up in the default material parameters panel Change 3688100 by Lauren.Ridge Fixing static analysis error Change 3688317 by Jamie.Dale Fixed crash using the widget reflector in a cooked game Editor-style isn't available in cooked games. Core-style should be used instead for the widget reflector. Change 3689054 by Jamie.Dale Reference Viewer can now show/copy references lists for nodes with multiple objects, or multiple selected nodes #jira UE-45751 Change 3689513 by Jamie.Dale Fixed justification bug with RTL text caused by CL# 3686829 Also implemented the same alignment fix for visually left-aligned RTL text. #jira UE-50266 Change 3690231 by Lauren.Ridge Added Material Layers Parameters Preview (all editing disabled) panel to the Material Editor Change 3690234 by Lauren.Ridge Adding Material Layers Function Parameter to Static Parameter Compare Change 3690750 by Chris.Bunner Potential nullptr crash. Change 3690751 by Chris.Bunner Fixed logic on overridden vector parameter retrieval for material instances checking a function owned parameter. Change 3691010 by Jamie.Dale Fixed some clipping issues that could occur with right-aligned text FTextBlockLayout::OnPaint was passing an unscaled offset to SetVisibleRegion, and it also wasn't correctly adjusting the offset for RTL text with left-alignment (which becomes a visual right-alignment) #jira UE-46760 Change 3691091 by Jamie.Dale Renamed FTextBlockLayout to FSlateTextBlockLayout to reflect that it's a Slate specific type Change 3691134 by Alexis.Matte Make sure we instance also the collision mesh when exporting a level to fbx file. #jira UE-51066 Change 3691157 by Lauren.Ridge Fix for reset to default not refreshing sub-parameters Change 3691192 by Jamie.Dale Fixed Content Browser selection resetting when changing certain view settings #jira UE-49611 Change 3691204 by Alexis.Matte Remove fbx export file version 2010 compatibility. The 2018 fbx sdk refuse to export earlier then 2011. #jira UE-51023 Change 3692335 by Lauren.Ridge Setting displayed asset to equal filter asset if no instance has been selected Change 3692479 by Jamie.Dale Fixed whitespace Change 3692508 by Alexis.Matte Make sure we warn the user that there is nothing to export when exporting to fbx using "export selected" or "export All" from the file menu. We also prevent the export dialog to show #jira UE-50973 Change 3692639 by Jamie.Dale Translation Editor now shows stale translations as "Untranslated" Change 3692743 by Lauren.Ridge Smaller blend icons, added icon size override to FObjectEntryBox Change 3692830 by Alexis.Matte Fix linux build Change 3692894 by Lauren.Ridge Tooltip on "Parent" in material layers Change 3693141 by Jamie.Dale Removed dead code FastDecimalFormat made this redundant Change 3693580 by Jamie.Dale Added AlwaysSign number formatting option #jira UE-10310 Change 3693784 by Jamie.Dale Fixed assert extracting the number formatting rules for Arabic It uses a character outside the BMP for its plus and minus sign, so we need these to be a string to handle that. #jira UE-10310 Change 3694428 by Arciel.Rekman Linux: make directory watch request a warning so they don't block cooking. - See https://answers.unrealengine.com/questions/715206/cook-error-on-linux.html Change 3694458 by Matt.Kuhlenschmidt Made duplicate keybinding warning non-fatal Change 3694496 by Alexis.Matte fix static analysis build Change 3694515 by Jamie.Dale Added support for culture correct parsing of decimal numbers #jira UE-4028 Change 3694621 by Jamie.Dale Added a variant of FastDecimalFormat::StringToNumber that takes a string length This can be useful if you want to convert a number from within a non-null terminated string #jira UE-4028 Change 3694958 by Jamie.Dale Added a parsed length output to FastDecimalFormat::StringToNumber to allow permissive parsing You can test this rather than the result if you want to attempt to parse a number from a string that may have other data after it. This also fixes the sign-suffix causing the parsing to fail. #jira UE-4028 Change 3695083 by Alexis.Matte Optimisation of the morph target import - We now compute only the normal for the shape the tangent are not necessary - The async tasks are create when there is some available cpu thread to avoid filling the memory - When we re-import the morph target are deleted in bulk avoiding to initialize the morph map for every morphs targets #jira UE-50945 Change 3695122 by Jamie.Dale GetCultureAgnosticFormattingRules no longer returns a copy Change 3695835 by Arciel.Rekman TestPAL: greatly expanded malloc test. Change 3695918 by Arciel.Rekman TestPAL: Added thread priority test. Change 3696589 by Arciel.Rekman TestPAL: tweak thread priorities test (better readability). Change 3697345 by Alexis.Matte Fix reorder of material when importing a LOD with new material #jira UE-51135 Change 3699590 by Jamie.Dale Updated SGraphPinNum to use a numeric editor #jira UE-4028 Change 3699698 by Matt.Kuhlenschmidt Fix crash opening the level viewport context menu if the actor-component selection is out of sync #jira UE-48444 Change 3700158 by Arciel.Rekman Enable packaging for Android Vulkan on Linux (UETOOL-1232). - Change by Cengiz Terzibas Change 3700224 by Arciel.Rekman TestPAL: fixed a memory leak. Change 3700775 by Cody.Albert Don't need to initialize EnvironmentCubeMap twice. Change 3700866 by Michael.Trepka PR #3223: Remove unnecessary reallocation. (Contributed by foollbar) #jira UE-41643 Change 3701132 by Michael.Trepka Copy of CL 3671538 Fixed issues with editor's game mode in high DPI on Mac. #jira UE-49947, UE-51063 Change 3701421 by Michael.Trepka Fixed a crash in FScreenShotManager caused by an attempt to access a deleted FString in async lambda expression Change 3701495 by Alexis.Matte Fix fbx importer "import normals" option when mix with "mikkt" tangent build it was recomputing the normals instead of importing them. #jira UE-UE-51359 Change 3702982 by Jamie.Dale Cleaned up some localization setting names These now have consistent names and avoid double negatives. This also fixes needing to restart the editor when changing the "ShouldUseLocalizedPropertyNames" setting. Change 3703517 by Arciel.Rekman TestPAL: improved thread test. - Changed the counter to a normal variable to reduce possible contentions (threads used to share the counter in an early prototype, hence the usage of an atomic). Change 3704378 by Michael.Trepka Disable Zoom button on Mac if project requests a resizeable window without it. #jira UE-51335 Change 3706316 by Jamie.Dale Fixed the asset search suggestions list closing if you clicked on its scrollbar #jira UE-28885 Change 3706855 by Alexis.Matte Support importing animation that has some keys with negative time #jira UE-51305 Change 3709634 by Matt.Kuhlenschmidt PR #4146: Null access check on ForceLOD in FViewport::HighResScreenshot (Contributed by projectgheist) Change 3711085 by Michael.Trepka Reenabled UBT makefiles on Mac Change 3713049 by Josh.Engebretson The ConfigPropertyEditor now generates a unique runtime UClass. It uses the outer name on the property instead of a unique ID as a unique id would generate a new UClass every time (and these are RF_Standalone). I also removed some static qualifiers for Section and Property names which were incorrect. #jira UE-51319 Change 3713144 by Lauren.Ridge Fixing automated test error #jira UE-50982 Change 3713395 by Alexis.Matte Fix auto import mountpoint #jira UE-51524 Change 3713881 by Michael.Trepka Added -buildscw to Mac Build.sh script to build ShaderCompileWorker in addition to the requested target. Xcode passes it to the script when building non-program targets. #jira UE-31093 Change 3714197 by Michael.Trepka Send IMM key down event to the main window instead of Cocoa key window, as that's what the Slate's active window is. This solves problems with IMM not working in context menu text edit fields. #jira UE-47915 Change 3714911 by Joe.Graf Merge of cmake changes from Dev-Rendering Change 3715973 by Michael.Trepka Disable OS close button on Windows if project settings request that #jira UE-45522 Change 3716390 by Lauren.Ridge The color picker summoned when double-clicking vector3 nodes now has its intended "do not refresh until OK is clicked" behavior. #jira UE-50916 Change 3716529 by Josh.Engebretson Content Browser: Clamp "Assets to Load at Once Before Warning" so it cannot be set below 1 #jira UE-51341 Change 3716885 by Josh.Engebretson Tracking transactions such as a duplication operation can modify a selection which differs from the initial one. Added package state tracking to restore unmodified state when necessary. #jira UE-48572 Change 3716929 by Josh.Engebretson Unshelved from pending changelist '3364093': PR #3420: Exe's icons and properties (Contributed by projectgheist) Change 3716937 by Josh.Engebretson Unshelved from pending changelist '3647428': PR #4026: Fixed memory leaks for pipe writes and added data pipe writes (Contributed by Hemofektik) Change 3717002 by Josh.Engebretson Fix FileReference/string conversion Change 3717355 by Joe.Graf Fixed CMake file generation on Windows including Engine/Source/ThirdParty source Change 3718256 by Arciel.Rekman TestPAL: slight mod to the malloc test. - Touch the allocated memory to check actual resident usage. Change 3718290 by Arciel.Rekman BAFO: place descriptor after the allocation to save some VIRT memory. - We're relying on passing correct "Size" argument to Free() anyway, and this modification makes use of that extra information to save on memory for the descriptor. Change 3718508 by Michael.Trepka Fixed vsnprintf on platforms that use our custom implementation in StandardPlatformString.cpp to ignore length modifier for certain types (floating point, pointer) #jira UE-46148 Change 3718855 by Lauren.Ridge Adding content browser favorite folders. Add or remove folders from the favorite list in the folder's right-click context menu, and hide or show the favorites list in the Content Browser options. Change 3718932 by Cody.Albert Update ActorSequence plugin loading phase to PreDefault #jira UE-51612 Change 3719378 by tim.gautier QAGame: Renamed multiTxt_Justification > UMG_TextJustification. Added additional Text Widgets for testing Change 3719413 by Lauren.Ridge Resubmit of content browser favorites Change 3719803 by Yannick.Lange VREditor: Fix crash with null GEditor #jira UE-50103 Change 3721127 by tim.gautier QAGame: Fixed up a ton of redirectors within /Content and /Content/Materials - Added M_ParamDefaults and MF_ParamDefaults - Moved legacy MeshPaint materials into /Content/Materials/MeshPaint - Renamed ColorPulse assets from MatFunction_ > MF_, moved into /Content/Materials/Functions Change 3721255 by Alexis.Matte Replace skeletal mesh import option "keep overlapping vertex" by 3 float thresholds allowing the user to control the welding thresholds. #jira UE-51363 Change 3721594 by Lauren.Ridge Material Blends now have plane mesh previews in their icons. Change 3722072 by tim.gautier QAGame: Updated MF_ParamDefaults - using red channel as roughness Updated M_ParamDefaults - tweaked Scalar values Change 3722180 by Michael.Trepka Updated Xcode project generator to sort projects in the navigator by name (within folders) and also sort the list of schemes so that their order matches the order of projects in the navigator. #jira UE-25941 Change 3722220 by Michael.Trepka Fixed a problem with Xcode project generator not handling quoted preprocessor definitions correctly #jira UE-40246 Change 3722806 by Lauren.Ridge Fixing non-editor compiles Change 3722914 by Alexis.Matte Fbx importer: Add new attribute type(eSkeleton) for staticmesh socket import. #jira UE-51665 Change 3723446 by Michael.Trepka Copy of CL 3688862 from 4.18 + one more fix for a deadlock related to window resizing when using IME Don't do anything in Mac window's windowWillResize: if we're simply chaning the z order of windows. This way we avoid a rare dead lock when hiding the window. #jira UE-48257 Change 3723505 by Matt.Kuhlenschmidt Fix duplicate actors being created for USD primitives that specify a custom actor class Change 3723555 by Matt.Kuhlenschmidt Fix crash loading the gameplayabilities module #jira UE-51693 Change 3723557 by Matt.Kuhlenschmidt Fixed tooltip on viewport dpi scaling option Change 3723870 by Lauren.Ridge Fixing incorrect reset to default visibility, adding clear behavior to fields Change 3723917 by Arciel.Rekman Linux: fix compilation with glibc 2.26+ (UE-51699). - Fixes compilation on Ubuntu 17.10 among others. (Merging 3723489 from //UE4/Release-4.18/... to //UE4/Dev-Editor/...) Change 3723918 by Arciel.Rekman Linux: do not test for popcnt presence unnecessarily (UE-51677). (Merging 3723904 from //UE4/Release-4.18/... to //UE4/Dev-Editor/...) Change 3724229 by Arciel.Rekman Fix FOutputDeviceStdOutput to use printf() on Unix platforms. Change 3724261 by Arciel.Rekman TestPAL: fix thread priority test (zero the counter). Change 3724978 by Arciel.Rekman Linux: fix priority calculation. - Rlimit values are always positive, so this was completely broken when the RLIMIT_NICE is non-0. Change 3725382 by Matt.Kuhlenschmidt Guard against crashes and add more logging when actor creation fails. Looks like it could be manual garbage collections triggered before conversion is complete so those have been removed #jira UE-47464 Change 3725559 by Matt.Kuhlenschmidt Added a setting to enable/disable high dpi support in editor. This currently only functions in Windows. Moved some files around for better consistency Change 3725640 by Arciel.Rekman Fix Linux thread/process priorities. - Should also speed up SCW on Linux by deprioritizing them less. Change 3726101 by Matt.Kuhlenschmidt Fix logic bug in USD child "kind" type resolving Change 3726244 by Joe.Graf Added an option to generate a minimal set of targets for cmake files Added shader and config files to cmake file generation for searching within IDEs Change 3726506 by Arciel.Rekman Fix compile issue after DPI change. Change 3726549 by Matt.Kuhlenschmidt Remove unnecessary indirection to cached widgets in the hit test grid Change 3726660 by Arciel.Rekman Enable DPI switch on Linux. Change 3726763 by Arciel.Rekman Fix mismatching "noperspective" qualifier (UE-50807). - Pull request #4080 by TTimo. Change 3727080 by Michael.Trepka Added support for editor's EnableHighDPIAwareness setting on Mac Change 3727658 by Matt.Kuhlenschmidt Fix shutdown crash if level editor is still referenced after the object system has been gc'd #jira UE-51630 Change 3728270 by Matt.Kuhlenschmidt Remove propertyeditor dependency from editorstyle Change 3728291 by Arciel.Rekman Linux: fix for a crash on a headless system (UE-51714). - Preliminary change before merging to 4.18. Change 3728293 by Arciel.Rekman Linux: remove unneeded dependency on CEF. - Old workaround should no longer be needed, while this dependency makes UE4 depend on a ton of external libs. Change 3728524 by Michael.Trepka Copy of CL 3725570 Removed Enable Fullscreen option from editor's Window menu on Mac. Windowed fullscreen mode is currently unavailable on Mac in editor mode as supporting it properly would require it to work with multiple spaces and split screen, which we currently don't handle (requested in UE-27240) #jira UE-51709 Change 3728875 by Michael.Trepka Fixed compile error in Mac SlateOpenGLContext.cpp Change 3728880 by Matt.Kuhlenschmidt Guard against invalid worlds in thumbnail renderers Change 3728924 by Michael.Trepka Don't defer MacApplication->CloseWindow() call. This should fix a rare problem with deferred call executing during Slate's PrepassWindowAndChildren call. #jira UE-51711 Change 3729288 by Joe.Graf Added the .idea/misc.xml file generation to speed up CLion indexing Change 3729935 by Michael.Dupuis #jira UE-51722: Hide from UI invalid enum values Change 3730234 by Matt.Kuhlenschmidt Fix "Game Gets Mouse Control" setting no longer functioning and instead the mouse was always captured. #jira UE-51801 Change 3730349 by Michael.Dupuis #jira UE-51324: Clear the UI selection when rebuilding the palette, as we destroyed all items and recreate them, so selection is on invalid item Change 3730438 by Lauren.Ridge Cleaning up material layering UI functions Change 3730723 by Jamie.Dale Fixed FastDecimalFormat::StringToNumber incorrectly reporting that number-like sequences that lacked digits had been parsed as numbers #jira UE-51799 Change 3731008 by Lauren.Ridge Changing Layers and Blends from proxy assets to real assets Change 3731026 by Arciel.Rekman libelf: make elf_end() visible (UE-51843). - This repairs compilation for a case when CUDA is being used. - Also added some missing files for ARM 32-bit. Change 3731081 by Lauren.Ridge New material layer test assets Change 3731186 by Josh.Engebretson Adding camera speed scalar setting and Toolbar UI to increase range on camera speed presets #jira UE-50104 Change 3731188 by Mike.Erwin Improve responsiveness of Open Asset dialog. On large projects, there's a noticeable delay when opening and searching/filtering assets. Stopwatch measurements on my machine (seconds for ~122,000 assets): before with this CL ctrl-P 1.4 0.45 search 1.8 0.55 CollectionManagerModule was the main culprit for search/filter slowness. Open Asset delay was due to filtering out plugin content. We were doing a lot of redundant work for what is essentially a read-only operation. Change 3731682 by Arciel.Rekman UnrealEd: Allow unattended commandlets to rename/save packages. Change 3732305 by Michael.Dupuis #jira UE-48434 : Only register if the foliage type still has a valid mesh Change 3732361 by Matt.Kuhlenschmidt Fix two settings objects being created in the transient package with the same name #jira UE-51891 Change 3732895 by Josh.Engebretson https://jira.it.epicgames.net/browse/UE-51706 If a shared DDC is not being used, present a notification to the licensee with a link on how to setup a shared DDC. Adds DDC notification events for check/put and query for whether a shared DDC is in use. #jira UE-51706 Change 3733025 by Arciel.Rekman UBT: make sure new clang versions are invoked. Change 3733311 by Mike.Erwin Fix Linux compile warning from CL 3731188 It didn't like mixing && and || without parentheses. Reworked logic to do one test at a time, put cheaper tests first to avoid calls to more expensive IsPluginFolder. Change 3733658 by Josh.Engebretson Add a missing #undef LOCTEXT_NAMESPACE Change 3734003 by Arciel.Rekman Fix Windows attempting to use printf %ls and crashing at that (UE-51934). Change 3734039 by Michael.Trepka Fixed a couple of merge issues in Mac ApplicationCore Change 3734052 by Michael.Trepka One more Mac ApplicationCore fix Change 3734244 by Lauren.Ridge Fix for accessing Slate window on render thread Change 3734950 by Josh.Engebretson Fixing clang warning Change 3734978 by Jamie.Dale Relaxed enum property importing to allow valid numeric values to be imported too This was previously made more strict which caused a regression in Data Table importing #jira UE-51848 Change 3734999 by Arciel.Rekman Linux: add LTO support and more. - Adds ability to use link-time opitimization (reusing current target property bAllowLTCG). - Supports using llvm-ar and lld instead of ar/ranlib and ld. - More build information printed (and in a better organized way). - Native scripts updated to install packages with the appropriate tools on supported systems - AutoSDKs updated to require a new toolchain (already checked in). - Required disabling OpenAL due to https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=219089 Change 3735268 by Matt.Kuhlenschmidt Added support for canvas based DPI scaling. -Scene canvas is by default not scaled as this could severely impact any game using a canvas based UI -The debug canvas for stats is always dpi scaled in editor and pie. -Eliminated text scaling workaround now that the entire canvas is properly scaled -Enabled canvas scaling in cascade UI Change 3735329 by Matt.Kuhlenschmidt Fix potential crash if an asset editor has an object deleted out from under it #jira UE-51941 Change 3735502 by Arciel.Rekman Fix compile issue (bShouldUpdateScreenPercentage). Change 3735878 by Jamie.Dale Updated FString::SanitizeFloat to allow you to specify the min number of fractional digits to have in the resultant string This defaults to 1 as that was the old behavior of FString::SanitizeFloat, but can also be set to 0 to prevent adding .0 to whole numbers. Change 3735881 by Jamie.Dale JsonValue no longer stringifies whole numbers as floats Change 3735884 by Jamie.Dale Only allow enums to import integral values Change 3735912 by Josh.Engebretson Improving cook process error/warning handling including asset warning/error content browser links and manual dismiss for cook error notifications #jira UE-48131 Change 3736280 by Matt.Kuhlenschmidt Fix 0 dpi scale for canvases #jira UE-51995 Change 3736298 by Matt.Kuhlenschmidt Force focus of game viewports in vr mode Change 3736374 by Jamie.Dale Fixed some places where input chords were being used without testing that they had a valid key set #jira UE-51799 Change 3738543 by Matt.Kuhlenschmidt Better fix for edit condition crashes #jira UE-51886 Change 3738603 by Lauren.Ridge Copy over of drag and drop non-array onto array fix Change 3739701 by Chris.Babcock Fix crashlytics merge error #jira UE-52064 #ue4 #android [CL 3739980 by Matt Kuhlenschmidt in Main branch]
2017-11-06 18:22:01 -05:00
#include "Styling/CoreStyle.h"
Copying //UE4/Dev-Build to //UE4/Dev-Main (Source: //UE4/Dev-Build @ 3209340) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3209340 on 2016/11/23 by Ben.Marsh Convert UE4 codebase to an "include what you use" model - where every header just includes the dependencies it needs, rather than every source file including large monolithic headers like Engine.h and UnrealEd.h. Measured full rebuild times around 2x faster using XGE on Windows, and improvements of 25% or more for incremental builds and full rebuilds on most other platforms. * Every header now includes everything it needs to compile. * There's a CoreMinimal.h header that gets you a set of ubiquitous types from Core (eg. FString, FName, TArray, FVector, etc...). Most headers now include this first. * There's a CoreTypes.h header that sets up primitive UE4 types and build macros (int32, PLATFORM_WIN64, etc...). All headers in Core include this first, as does CoreMinimal.h. * Every .cpp file includes its matching .h file first. * This helps validate that each header is including everything it needs to compile. * No engine code includes a monolithic header such as Engine.h or UnrealEd.h any more. * You will get a warning if you try to include one of these from the engine. They still exist for compatibility with game projects and do not produce warnings when included there. * There have only been minor changes to our internal games down to accommodate these changes. The intent is for this to be as seamless as possible. * No engine code explicitly includes a precompiled header any more. * We still use PCHs, but they're force-included on the compiler command line by UnrealBuildTool instead. This lets us tune what they contain without breaking any existing include dependencies. * PCHs are generated by a tool to get a statistical amount of coverage for the source files using it, and I've seeded the new shared PCHs to contain any header included by > 15% of source files. Tool used to generate this transform is at Engine\Source\Programs\IncludeTool. [CL 3209342 by Ben Marsh in Main branch]
2016-11-23 15:48:37 -05:00
#include "Framework/Application/SlateApplication.h"
#include "Widgets/SCompoundWidget.h"
#include "Widgets/DeclarativeSyntaxSupport.h"
Copying //UE4/Dev-Build to //UE4/Dev-Main (Source: //UE4/Dev-Build @ 3209340) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3209340 on 2016/11/23 by Ben.Marsh Convert UE4 codebase to an "include what you use" model - where every header just includes the dependencies it needs, rather than every source file including large monolithic headers like Engine.h and UnrealEd.h. Measured full rebuild times around 2x faster using XGE on Windows, and improvements of 25% or more for incremental builds and full rebuilds on most other platforms. * Every header now includes everything it needs to compile. * There's a CoreMinimal.h header that gets you a set of ubiquitous types from Core (eg. FString, FName, TArray, FVector, etc...). Most headers now include this first. * There's a CoreTypes.h header that sets up primitive UE4 types and build macros (int32, PLATFORM_WIN64, etc...). All headers in Core include this first, as does CoreMinimal.h. * Every .cpp file includes its matching .h file first. * This helps validate that each header is including everything it needs to compile. * No engine code includes a monolithic header such as Engine.h or UnrealEd.h any more. * You will get a warning if you try to include one of these from the engine. They still exist for compatibility with game projects and do not produce warnings when included there. * There have only been minor changes to our internal games down to accommodate these changes. The intent is for this to be as seamless as possible. * No engine code explicitly includes a precompiled header any more. * We still use PCHs, but they're force-included on the compiler command line by UnrealBuildTool instead. This lets us tune what they contain without breaking any existing include dependencies. * PCHs are generated by a tool to get a statistical amount of coverage for the source files using it, and I've seeded the new shared PCHs to contain any header included by > 15% of source files. Tool used to generate this transform is at Engine\Source\Programs\IncludeTool. [CL 3209342 by Ben Marsh in Main branch]
2016-11-23 15:48:37 -05:00
#include "Textures/SlateIcon.h"
#include "Framework/Commands/UIAction.h"
#include "Framework/MultiBox/MultiBoxBuilder.h"
#include "EditorStyleSet.h"
#include "SequencerCommonHelpers.h"
#include "SequencerSettings.h"
Copying //UE4/Dev-Enterprise to //UE4/Dev-Main (Source: //UE4/Dev-Enterprise @ 4071915) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 4060527 by Anousack.Kitisa Added support for importing FBX user properties as metadata on StaticMesh when importing FBX. Added support for exporting StaticMesh metadata as FBX user properties when exporting StaticMesh to FBX. #jira UESP-567 Change 4060835 by Jamie.Dale Added assign method to Python exposed structs This lets you assign the value of one struct instance onto another instance (rather than copy the pointer in Python). It also accepts anything that casts to the destination struct. Change 4060838 by Jamie.Dale Include unary operator function tooltips in doc string Change 4060843 by Jamie.Dale Fixed PythonizeValue including deprecated properties in the init function for a struct Change 4060908 by Jamie.Dale Fixed some name conflicts in generated Python glue Change 4061065 by Jamie.Dale Stubbed struct return values are now default constructed Change 4061205 by David.Hibbitts Added blueprint functions to create a message bus source, for use in projects where the Editor UI is not available or is impractical. Added a blueprint function to get available subject names for the LiveLink Client Added a RemoveSource method to ILiveLinkClient Added a GetSubjectNames method to ILiveLinkClient Fixed a crash when RequestShutdown was called on a MessageBusSource after the HeartbeatManager had already been shut down. Change 4061421 by Patrick.Boutot [AJA] Warn the user if he requested the key and the backbuffer is not setup properly. #jira UE-58614 Change 4061620 by Jamie.Dale Made the Sphinx config a template so we can inject the current engine version into it Change 4062578 by Jamie.Dale Optimized Python stub and doc gen file writes - Files are now only written when they've changed. - We now only remove files that are stale. - No requests to generate stub and doc files are queued before the first Tick. Change 4062634 by Jamie.Dale No longer export FDateTime defaults to struct __init__ as they can be non-deterministic Change 4064275 by Jamie.Dale Added callbacks for when Python is initialized and shutdown so that external modules can hook-in appropriately Change 4064613 by James.McNatton Change to initialization for FVirtualCameraWaypoint and FVirtualCameraSettingsPreset to remove non-deterministic constructors and a few resulting cleanup items Change 4064878 by Patrick.Boutot Add timecode provider plugin to capture from the Audio jack. Change 4064910 by Patrick.Boutot [AJA] Add AjaTimecodeProvider that provider the timecode from a SDI input source. Change 4067451 by Jamie.Dale Added command line options to enable all plugins, optionally excluding certain plugins Change 4067489 by Simon.Tourangeau Support for DX12 quad buffer stereo rendering Change 4068640 by Patrick.Boutot Add a state to CustomTimeStep. Show the state of the CustomTimeStep in "stat fps". Change 4069147 by Patrick.Boutot Move Mediasmith console to Engine. Renamed to TimecodeSynchronizer. Change 4071727 by Matt.Hoffman Initial pass at exposing Sequencer's Render to Movie functionality to Python. All settings that can be adjusted via the UI can be set from Python and renders can be invoked for both in-editor capture as well as new process capture. A basic API is provided which enables querying if a render in progress and canceling an in progress one. #jira UESP-541 [CL 4071957 by JeanMichel Dignard in Main branch]
2018-05-14 17:38:22 -04:00
#include "Misc/QualifiedFrameTime.h"
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3946692) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3801826 by Max.Chen PR #4304: Level Sequence crash fix - Guarded against dereferencing null componen. (Contributed by DSDambuster) Change 3801828 by Max.Chen PR #4302: Movie Scene Visibility Template unitialised variable, causing random . (Contributed by DSDambuster) Change 3801837 by Max.Chen Sequencer: Delay spawning/construction for convert to possessable. This fixes a bug where property values would be lost when converting back and forth from possessable to spawnable. #jira UE-52400 Change 3801841 by Max.Chen Sequencer: Make spacer nodes not selectable. PR #4194: Improvements to Sequencer (Contributed by projectgheist) #jira UE-53117 #jira UE-52139 Change 3804183 by Max.Preussner MediaAssets: Added missing lock in media sound component Change 3805414 by Max.Preussner MediaAssets: Setting valid GUID when initializing media texture resource Change 3819578 by Max.Chen PR #4370: When enabling the "MovieCapture", do not turn off the Stereo-3D display. (Contributed by yehaike) #jira UE-53647 Change 3823414 by Max.Chen Curve Editor: Lock down the first and last keys in the redundant keys removal range so that they're unaffected. #jira UE-53591 Change 3826406 by Max.Chen Sequencer: Move OnStartedPlaying() to within first update in UpdateTimeCursorPosition(). This fixes an issue where setting the hud/player visibility was getting stomped on later. #jira UE-52772 Change 3827044 by Max.Preussner MediaAssets: Added sprite visualization to media sound component #jira UE-53594 Change 3827988 by Max.Preussner MediaPlayerAssets: Fixed Media Texture is not linked to Media Player when created together #jira UE-53532 Change 3828506 by Max.Preussner MediaPlayerEditor: Added attenuation visualizer for media sound components #jira UE-53594 Change 3832590 by andrew.porter EngineTest: Added a keep state check in Property Animation sequencer test Change 3833053 by andrew.porter EngineTest: Adding Hierarchical Bias test Change 3835683 by andrew.porter EngineTest: Adding UMG Animation screenshot test Change 3836076 by Max.Chen Sequencer: Fix audio volume and pitch multiplier deprecation. Change 3836230 by andrew.porter EngineTest: Adding Sequence Bone Position automation test Change 3836347 by Max.Chen Sequencer: Fixes to shot name parsing. When a shot doesn't contain a shot number, assume, [ShotName]_[TakeNumber]. When duplicating a shot, put the new shot in the same path of the original shot, so that the take numbers will increment properly. #jira UE-51868 Change 3836552 by Max.Chen Sequencer: Sub section now has a takes menu Change 3838094 by Max.Chen UMG: Fix template finish not getting called on stop. This fixes a bug where sections aren't restored when finished. #jira UE-52285 Change 3838708 by Max.Chen Sequencer: Add notification when the blend type is changed. #jira UE-54046 Change 3840295 by Max.Chen Sequencer: Fix copy/paste crash for lights #jira UE-54084 Change 3840957 by Mike.Zyracki Added Show Only Keyable and Show Only Animated to the filter list in the property editor. Added IsPropertyAnimated to IDetailKeyframe Interface which already had support for showing properties which are keyable (which is used for the key icon next to the properties.). Could have created another interface but then would have had to mimic the sequencer binding, releasing also, so this seemed best way. One issue still left is that custom built detail items currently don't store associated properties(usually) and so certain properties, in particulalry transforms, won't show up as keyable or animated. Note this also shows up with the keyable icon not showing up next to transform tracks, and other filters like Show Only Modified not working with transforms/customs. Not sure best way to tackle this. #jira UESEQ-328 Change 3841756 by Max.Chen Sequencer: Fix unbound possessable components when pasting spawnables. #jira UE-54104 Change 3843950 by andrew.porter EngineTest: Renaming LevelStreaming tests/content to LevelVisibility Change 3844082 by Mike.Zyracki Missing file for animated filter in property editor. When finding if a track is animated we need to find it but we can't easily induce the MovieTrack class for any particular property. So we don't set a class for it and just search by it's ID and name. #jira UESEQ-328 Change 3846902 by Max.Preussner ImgMedia: Fixed image media player never finished initialization if loading failed #jira UE-54247 Change 3849820 by Mike.Zyracki Reassigning deleted widgets didn't work since the menu extender mechanism needs a valid UObject in order to perform an operation on it. So to fix we replaced GetObjectBindingContextMenuExtender in WidgetBlueprint with new delegate mechanism (OnBuildCustomContextMenuForGuid) that supports FGuid in addition to UObjects which is needed to handle re-binding deleted widgets. Note that the default sequencer hacks this for replacing deleted actors in SequencerObjectBindingNode to check to see if a LevelSequence is active. We could move to this mechanism there also. #jira UE-53163 Change 3852211 by Max.Chen UMG: Indicate name of the property that is not bound. #jira UE-54350 Change 3854120 by Max.Chen Sequencer: Fix sibling folders being allowed to have the same folder name. #jira UE-54363 Change 3854627 by Max.Chen Sequencer: Step to next/previous key should work for all tracks if there aren't any selected. #jira UESEQ-391 Change 3855825 by andrew.porter EngineTest: Adding animation blending automation test Change 3855950 by andrew.porter EngineTest: Adding correct expected valuues to animation blending test Change 3856237 by Matt.Hoffman UESEQ-336 - Sequencer Track Reordering Adds the ability to re-order Master Tracks, Folders and Object Bindings within sequencer hierarchies (including UMG). Adds the ability to do a one-off sorting of the content under the old sorting behavior if the user wants to reset their layout to how it was under legacy behavior. Modifies SequencerTrackNodes, SequencerFolderNodes and SequencerObjectBindingNodes to handle CanDrop/OnDrop for above, below and ontop of. Fixes a Slate Issue that forcibly expanded a TreeviewRow if an item handled OnDrop. Slate will now only forcibly expand the row if the item says the drop happened ontop of the item, and not above or below it like it previously did. Change 3856503 by andrew.porter EngineTest: Adding automation test for using animation blueprint with blend multi node in sequencer Change 3857875 by Max.Chen Sequencer: Assign the sequence id after the template is compiled. #jira UE-54462 Change 3858344 by Max.Chen Sequencer: Prevent Goto and Transform boxes from overlapping by allowing them to be visible at the same time in an autosized horizontal box. Also, added close button to the goto box. PR #4425: Prevent Goto and Transform boxes from overlapping in Sequencer ... (Contributed by projectgheist) #jira UE-54210 Change 3860566 by andrew.porter MediaFrameworkTest: Set the option to index 0 for the audio and video track list by default Change 3860654 by andrew.porter EngineTest: Enabling Camera Cut + FOV test Change 3860981 by andrew.porter EngineTest: Updating skeletal mesh tests with a delay after set playback position Change 3861256 by Max.Chen Sequencer: Add all bindings if none selected. #jira-54440 Change 3862154 by Andrew.Rodham Added TimeManagement module Change 3862424 by andrew.porter EngineTest: Turned on the test Bone Positions with Blend Multi Node Change 3862573 by andrew.porter EngineTest: Adding test to compare bone positions in a sequence that is blending an animation that is using an AnimBP Change 3865117 by Max.Chen Sequencer: Stop auto scroll on mouse release of movement. #jira UE-31212 Change 3865303 by Max.Chen Sequencer: Add drag and drop transactions #jira UE-54662 Change 3865304 by Max.Chen Sequencer: Fix crash when an actor factory is not found. Change 3865361 by Max.Chen Sequencer: Don't change the camera/shot lock button when popping out of a sequence. #jira UE-54665 Change 3865412 by Max.Chen Sequencer: Determine whether a transform track is for a camera by using the spawned object or template #jira UE-54666 Change 3865685 by Max.Chen Sequencer: Clear autoscrub offset when stopping autoscroll #jira UE-31212 Change 3865886 by Max.Chen Sequence Recorder: Log an error if the number of frames changes while recording. This can happen if the skeleton changes while recording. #jira UE-48715 Change 3866925 by Andrew.Porter MediaFrameworkTest: Changing the current PNG test video image sequence to 1024 x 576 Change 3867705 by andrew.porter QAGame: Adding Audio Sort Sequence to dev folder Change 3867890 by andrew.porter QAGame: Adding a sequence for testing a sorting crash to my dev folder Change 3872628 by Max.Chen Movie Scene Capture: Split delay before warmup into split delay before shot warmup so that there's separate controls for when the movie scene capture warmups up vs. shot boundaries. Change 3873131 by Matt.Hoffman UE-54732 - Crash reordering a folder with a track. This was caused by folders being the only type of track to check if someone was putting a parent track into a child track. Object Binding tracks and Tracks now check as well so that you can't use the above/below drop targets to add parents as children. This also fixed a typo in the localization keys. #jira UE-54732 Change 3873301 by Mike.Zyracki Added ability to support continous euler angle changes when changing rotations, in particularly with the rotation gizmo's. To do this we effectively added a form an of 'euler filter'(https://en.wikipedia.org/wiki/Euler_filter) to find the closest euler angle to the current euler angle. Three functions were added to FRotator to make this possible, one to get the euler angle that's has the same rotation as it, one to get the difference between two euler angles via Manhattan distance and a third using the previous two to choose a Rotator value that's closest to it. We then use these functions before calling UComponent::SetRelativeRotation to make sure we use the correct Euler after the Quat conversion. We also no longer limit(bound) the euler angles to -180,180, which is obviously necessary to avoid flips. I also changed how we caluclate yaw and roll when pitch is -90 or 90 to make it the standard approach of zeroing out roll and just setting yaw. Main reasons are the previous implementation had precision issues so things like 180, 90, -180 would show up due to numbers being nearly zero but negative,(this would break any smooth interpolations), and this facilitates having a 'gimbal' rotation mode (like Maya, Blender etc..) if we ever want that also. If needed we could keep the previous implementation but would need to add some FMath::IsNearlyZero checks, with less performance. Note we only do this special filtering when applying delta's to actors or components in the editors, which then call UComponent::SetRelativeRotationExact, which is a new function to foces the RelativeRotation to be equal to the new rotation. This allows us to store un-nomalized Rotators at the cost that the RotationCache may be broken. We didn't change any of the other UComponent functions that set rotations (via Quats or Transforms) so they will still be bounded and unwound. In SetInternalWorldLocationAndRotation we only set the rotation if the rotation has changed, which fixes the rotation getting changed and re-normalized if just translate happens. In TransformTrackEditor, we correclty use the bUndwing flag and in MovieScene3DTransformSection there was an un-needed winding check there, it will be unwound earlier if needed, which happens if Sequence Recording is happening. Max we should talk about what to do about this . Note the euler angle drag via the widget is still bound to 0-360. I think we should just unbound that now since the rotations value are now unbound. This review now includes fixes suggested by Zak. #jira UE-UE-22228 Change 3873483 by Matt.Hoffman Sequencer Tracks can now be inserted above the spacer at the bottom of the tree. #jira UE-54706 Change 3873899 by Max.Chen Sequencer: Add section selection throbbing Change 3873908 by Max.Chen Movie Scene Capture: Added logging per frame Change 3873924 by Matt.Hoffman Adds the ability to store Sequence Recorder setups into profiles that stay with the map and can be re-loaded later. Profiles store the Actor Recordings so the settings for each actor should carry with them. #jira UESEQ-339 Change 3874726 by Matt.Hoffman Disable drag-and-drop targets on spacers that come between rows in Sequencer. This prevents extra drag/drop targets showing up between each row. #jira UE-54706 Change 3874862 by Matt.Hoffman Audio Track no longer gets reordered when adding sub-audio tracks, as sub-tracks are no longer counted towards the sorting order index when normalizing indexes. #jira UE-54727 Change 3875905 by Matt.Hoffman Disable Fade Track UI if a fade track already exists in the sequence. #jira UESEQ-393 Change 3876163 by Max.Chen Sequencer: Swap the camera object to the camera component's owner if it's not the same. #jira UE-54874 Change 3876971 by Andrew.Porter EngineTest: Moved Media Player Seek test to new folder. Also enabled the test with new ground truth image. Change 3877040 by Max.Chen Cine Camera: Split camera properties to two groups, "Camera Options" and "Camera Settings". The cine camera now hides properties in the "Camera Settings" group so that properties like bConstrainAspectRatio (in the "Camera Options" group) can be visible. #jira UE-54192 Change 3877763 by Max.Chen Curve Editor: Fix curve changed on end drag so that only curves that had keys/tangents that were changed receive notification, otherwise all loaded curves were getting notified that they were changed. #jira UE-54951 Change 3878234 by Matt.Hoffman Disable "Drop Below" targets for Sequencer Tree nodes to prevent a confusing UX issue where dropping underneath a Object Binding Node puts it after the object binding node but the UI looks like it's inserting it inside the Object Binding node. #jira UE-54743 Change 3879359 by Mike.Zyracki If a track is inactive we dim it a bit which seems to be the UE4 way to show inactive or disabled state. We changed the active logic so that all subtracks need to be inactive for the track to also be inactive(instead of all active for active). This conforms to how the active state actually works, e.g if you have two sections and only one is active the track is still active above it. #jira UESEQ-388 Change 3879462 by Max.Chen Sequencer: Allow dragging onto a particular row which would move out any overlapping sections to make space for the newly created section. Newly created sections are now selected and throbbed to draw attention to themselves. #jira UE-54664 Change 3879464 by Max.Chen Sequencer: Fixed overlapping ranges being inserted into the evaluation field during compilation - The issue was that track segments that had been combined with adjacent segments (due to them being identical) would potentially cause a subsequently compiled frame to overlap with a range that had already been inserted into the evaluation field. - The insertion code previously asserted that only minor overlaps were catered for (due to fp rounding errors) and assumed that a supplied range could not entirely contain any other range in the field. - The solution is to supply the insertion time along with the range to know exactly where the data should live in the field, and crop the range to the maximum allowable space between adjacent ranges. #jira UE-54922 Change 3879590 by Matt.Hoffman Items that are now added to the Sequencer via the "+Track" menu will be selected after being added. Items can now be added inside of folders instead of just to the root level. #jira UE-27397 Change 3879612 by Mike.Zyracki Display Nodes with no children are always active. #jira UESEQ-388 Change 3879730 by Matt.Hoffman Sequence Recorder's actor recording groups now remove items from the group when removed via the UI. #jira UESEQ-339 Change 3880256 by Mike.Zyracki Fix issue with inactive display with folders and other track nodes. #jira UESEQ-388 Change 3883491 by Max.Chen Fix issue where tick is skipped due to last ticked pose isn't cleared after AnimInstance changes. Copy from Release-4.19 #jira UE-51323 Change 3883603 by Max.Chen Movie Scene Capture: Add option toggle disable screen percentage. By default this is on (no change in current behavior). #jira UE-51898 Change 3885074 by Max.Preussner MediaCompositing: Resetting media texture & freeing resource on section end; removed dead code Change 3887220 by Max.Preussner MediaCompositing: Defaulted media section duration to 1 sec (since we do not know the actual duration in most cases) Change 3887478 by Matt.Hoffman Sequences now show [Inactive] in their title bars when they're disabled. This helps communicate why a sequence isn't being evaluated. #jira UE-51469 Change 3888985 by Max.Chen Movie Scene Capture: Clamp HDR Compression Quality between 0 and 1. #jira UE-55136 Change 3893519 by Max.Chen Sequence Recorder: Clarified tooltip for bRecordNearbySpawnedActors - spawned actors will still be recorded if they match the ActorFilter. #jira UE-55238 Change 3893546 by Max.Chen Sequence Recorder: If a selected actor already has a recording, add a blank recording. #jira UE-55239 Change 3894044 by Max.Preussner MediaCompositing: Added support for seeking into a media section Change 3894310 by andrew.porter MediaFrameworkTest: Adding Img media sources for 1080 and 2160 ravent test content Change 3894426 by Max.Preussner MediaAssets: Letting media textures with AutoClear retain their clear color when player is reset Change 3895717 by Max.Chen Sequencer: Null checks to prevent crash when saving the default state of a spawnable #jira UE-55304 Change 3897388 by Max.Chen Sequencer: Don't update current time to be within the view range when stepping into a sequence. #jira UE-55322 Change 3897452 by Max.Chen Audio: Fix crash when trying to record audio without any active capture devices. Log warning if the number of input channels is not 1 or 2. #jira UE-55223 Change 3897619 by Max.Preussner MediaCompositing: Removed commented out code Change 3898072 by Max.Chen Sequencer: Override the animation asset in the player state if it doesn't match the animation asset that's being evaluated. #jira UE-55328 Change 3898272 by Max.Preussner MediaPlayerEditor: Made slate brush constants static Change 3898704 by Max.Chen Sequencer: Skip if the binding id's sequence can't be found. #jira UE-55337 Change 3899855 by Max.Preussner MediaCompositingEditor: Added cache state visualization to media track Change 3900300 by Max.Preussner MediaCompositingEditor: Added loop indicators to media sections Change 3900694 by Max.Preussner ImfMedia: Looping cache only when player is looping Change 3900892 by Max.Preussner Stats: Added stats category for media framework Change 3900954 by Max.Preussner MediaCompositing: Don't evaluate at the end of media section Change 3901348 by Max.Preussner Core: Replaced TLruCache autos for better readability Change 3901655 by Max.Preussner ImgMedia: Added more perf stats to EXR reader Change 3901972 by Max.Preussner MediaAssets: Added getter for media player in media sound components Change 3902233 by Max.Preussner MediaAssets: Enabling media textures to receive samples right after player is assigned Change 3902238 by Max.Preussner MediaCompositing: Working around init/shutdown idiosyncracies in sequencer Change 3904045 by Max.Chen Sequencer: Fix copy/paste crash. Only process UMovieSceneCopyableBinding and objects that can be spawned by the movie scene spawn register. #jira UE-55314 Change 3905605 by Max.Chen Sequencer: Restrict spawnables from being created if they have a ClassWithin that UMovieScene is not a child of. #jira UE-55429 Change 3906550 by Max.Chen Sequencer: Add media track icon #jira UE-55480 Change 3907101 by Max.Chen Sequence Recorder: Fix bugs related to not recording a level sequence. There were certain assumptions that creating a level sequence meant that sequence recording was in progress. This is not always the case - the recorders can record animation assets and not create a level sequence. Changed the notion of IsRecording() to having at least one actor recording that is recording. Countdown timer, recording displays, etc should function if IsRecording() and not based on whether a level sequence is created. #jira UE-55485 Change 3907247 by Max.Chen Sequence Recorder: Fix crash not removing PrepareToCleanseEditorObject delegate. Repros when opening sequence recorder, closing it, and then opening or creating a level. Change 3910343 by Max.Preussner Core: Added async helper for executing functions on a given thread pool Change 3910346 by Max.Preussner ImgMedia: Added separate thread pools for loading/decoding and deleting image frames Change 3910829 by Max.Preussner Profiler: Increased visible range of profiler graph Change 3910841 by Max.Preussner MediaCompositing: Displaying asset name instead of full media source path in media section Change 3910870 by Max.Preussner ImgMedia: Using deallocation thread pool only in debug builds Change 3919642 by Max.Chen Sequence Recorder: Clarify active tooltip #jira UE-55661 Change 3919660 by Max.Chen Sequencer: Sequence template source signatures are now also compared to catch the case where a sub-sequence asset has been saved but not modified - The following sequence of events exposes this issue: - Create a master sequence with a single shot that spawns a cube - Add this sequence to a level and set it to auto-play - Save everything and restart - Resave just the inner shot asset without opening it - PIE - The inner shot never spawns its cube because its template was wiped on save, but its signature never changed. Since the master sequence previously didn't check the template source signature, it ends up trying to evaluate an empty template. #jira UE-55626 #jira UE-55490 Change 3921825 by Max.Chen Sequencer: "Run Construction Script in Sequencer" is off by default for blueprints but on for Sequencer. This allows the content author to switch it on for specific blueprints and sequencer will be default, run those with construction scripts enabled. Change 3922232 by Max.Chen Sequence Recorder: Reset countdelay on stop. #jira UE-55755 Change 3922306 by Max.Chen Sequence Recorder: Don't automatically mark transforms to be recorded by sequence recorder. Instead, log a warning if the user toggled it off to warn that the resulting animation might not match gameplay. #jira UE-55758 Change 3922912 by Max.Chen Sequence Recorder: Fix refresh next sequence name #jira UE-55757 Change 3927654 by Max.Chen Movie Scene Capture: Added format mapping for the name of the current camera #jira UE-55769 PR #4537 Change 3927658 by Max.Chen Sequencer: Added fbx property mapping for "FocusDistance" to "FocusSettings.ManualFocusDistance" #jira UE-55782 Change 3932022 by Max.Chen Sequencer: Add import animation track section to next available row index. #jira UE-55892 Change 3933919 by Max.Chen Sequencer: Jump to playback start frame and not 0 to start playback for recording. #jira UE-55933 Change 3934307 by Andrew.Rodham Sequencer: Add template signature that is re-generated every time the base template is regenerated, which invalidates evaluation fields This fixes an issue where the same sequence is instantiated multiple times in a sequence. If the source sequence was saved, its template would be wiped, which would invalidate the template ID When an instance tries to evaluate the master template, it would only invalidate a range in the evaluation field that was the hull of any invalid sub sequences overlapping the current time, potentially leaving invalid data in the evaluation field at positions later (or earlier) on in the sequence When the sub template was re-generated, it receives the same SequenceSignature as it had before (because the sequence hasn't actually changed), which causes the stale evaluation field data to fail the IsDirty check (because the sequence is the same as it thought, but the *template* has changed) This has been addressed be adding a signature to templates themselves, and checking both the template signature and sequence signature as a part of the IsDirty check. This ensures that we regenerate if either the template, or the sequence have changed. #jira UE-55934 Change 3936327 by Andrew.Rodham Sequencer: Removed increment when trimming right UMovieSceneSection::TrimSection already explicity assigns an exclusive bound to the time passed in. The new behavior means we can trim a section to the right, and insert another section without changing the time to create adjacent sections. #jira UE-42652 Change 3936328 by Andrew.Rodham Fixed KeyFrameManipulator assignment operators and copy/move constructors - These types are potentially self-referential so cannot use default constructors/assignment Change 3936330 by Andrew.Rodham Converted UMGSequencePlayer to use frames internally #jira UE-54878 Change 3936726 by Max.Chen Sequencer: Set track node as the parent of the key area node. The key area switcher needs the object binding id from the parent object binding node. Without this, the binding to the external value fails. #jira UE-55931 Change 3936775 by Max.Chen Sequencer: Should stop or loop should compare DurationFrames with Current Time from StartTime. The bug is that if you set 30 warmup frames in movie rendering for a range of 0-100, the FrameRange will be starting at -30 and have a duration of 130. Without this fix, the playback will continue until frame 130, rather than 100. #jira UE-55933 Change 3936935 by Matt.Hoffman Easing Curves are now represented in Play Rate resolution instead of internal resolution. #jira UE-55937 Change 3937069 by Matt.Hoffman Users can toggle if the is infinite on each side, limited by which tracks support infinite ranges. #jira UE-55891 Change 3937516 by Max.Preussner ImgMedia: Added support for single-threaded platforms #jira UE-55986 Change 3937826 by Max.Preussner MediaAssets: Disabling media sound components on HTML5 if AudioMixer is not enabled Change 3937997 by Max.Chen Curve Editor: Add Zoom to Fit Curves so that selected curves from Sequencer can be focused on. Tested that undo doesn't re-zoom. #jira UE-55935 Change 3938000 by Max.Chen Sequencer: Stop all sounds before generating audio waveforms. #jira UE-55951 Change 3938376 by Max.Preussner XGEController: Disabled XGE Controller in single-threaded apps to prevent crash Change 3938444 by Max.Preussner Core: Added async support for single-threaded applications Change 3938445 by Max.Preussner Networking: Added support for single-threaded applications in UDP socket sender/receiver Change 3938447 by Max.Preussner Messaging: Added support for single-threaded applications Change 3939432 by Max.Chen Sequence Recorder: Append command list to global level editor actions so that shortcuts are accessible in level editor. #jira UE-55798 Change 3940229 by Andrew.Rodham Added prospective display rate upgrade to UMovieScene::PostLoad - There was previously some very odd behaviour that would assign the fixed frame interval only when a sub sequence was focused in SSequencer. This meant that many sequences could have a frame interval of 0 set in the data. - Under the old method of snap interval display this would have fallen back to getting the display interval from the sequencer settings, but we no longer look at these. - The USequencerSettings properties have been removed and in their place, a prospective data upgrade for sequences that have a fixed frame interval old 0fps that sets the play rate to the previous defaults based off the old USequencerSettings defaults. - This could end up 'changing' the display rate for sequences where the user has changed the snap interval in the settings for a particular sequence editor, but there's not much we can do about that given we don't have access to the USequencerSettings classes in UMovieScene #jira UE-55919 Change 3940277 by Andrew.Rodham Sequencer: Added ability to default frame resolutions and play rates for newly created actor sequences Change 3940378 by Andrew.Rodham Sequencer: Post move import dialog now defaults to the playback framerate of the sequence, and floors to frame numbers Change 3940559 by Andrew.Rodham Reinstated primed or recording sequence color Change 3940642 by Max.Preussner ImagePlate: Removed image plate media playback functionality Change 3940843 by Max.Preussner Core: Made TCircularQueue actually thread-safe; improved code comments Change 3940860 by Max.Chen Sequencer: Changed StructNameToKey to StructPathToKey Previously, keying a PropertyPath of [RenderTransform][Shear][X] would get trimmed to X, which doesn't map to a channel name as considered by Sequencer2dTransformTrackEditor. Instead, trim the resulting property path to [Shear][X] so that track editors can determine the desired struct path and channels to key. #jira UE-52966 Change 3941292 by Mike.Zyracki Fix for trajectories out of range not showing up. 1) If we had no key data we would pop the time, so wouldn't get the section ranges. 2) Calculating of upper bound was wrong, checking against -1 and not key == num of keys when doing algo::lower_bound. 3) No need to do the Bck-- for the bakward iterators since we fixed #2. We start now from the upper bound correctly. 4) If we had no keys (at section start,end) we would incorrectly say we were any key type, so since we draw constant keys as dashed we would do so incorrectly around section end points. #jira UE-55929 Change 3941424 by Max.Chen Curve Editor: Change Zoom to Fit to use TArrayView Change 3941498 by Max.Preussner Core: Added FMath::DivideAndRoundNearest function Change 3942097 by Matt.Hoffman Drop Frame Timecode Support for NTSC rates. Change 3942104 by Matt.Hoffman Sequence Recorder Group is no longer visible inside the World Outliner after using one. #jira 55266 Change 3942107 by Max.Chen Sequencer: Resurrect logic to find or extend an existing section when adding keys. Change 3942330 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942339 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942507 by Andrew.Rodham Sequencer: We no longer pad the time overlap threshold with a small number that is not scaled by the current zoom level - The presence of this pad was causing keys that were far apart to be grouped when zoomed in a long way Change 3942509 by Andrew.Rodham Sequencer: Only pad total view range, rather than section range as well when retrieving keys to render - This stops us from rendering keys that are within the view range, but outside the section range Change 3942512 by Andrew.Rodham Added transactions to some sequencer details customizations Change 3942513 by Andrew.Rodham Sequencer: Reinstated validation checks to UMovieSceneSection::SetStartFrame and SetEndFrame, changed erroneous uses to use SetRange Change 3942560 by Andrew.Rodham Pass by rvalue reference to appease error C2719 on Win32 ('InChannels': formal parameter with requested alignment of 8 won't be aligned) Change 3942697 by Andrew.Rodham Newly Created Level Sequences and Actor Sequences now default to 24000 fps frame resolution (+/- ~24hrs range, supporting all integer rates + 23.976) Change 3942700 by Andrew.Rodham Sequencer: Added legacy out-of-bounds errors for times that are not supported by the current legacy upgrade frame resolution Change 3942989 by Max.Preussner Core: Fixed circular queue count calculation Change 3943538 by Max.Preussner MediaAssets: Reverted workaround for procedural audio log spam in HTML5 (Actor component initialization cannot be skipped if the component is used in a level) Change 3944071 by Max.Preussner QAGame: Fixed Media Texture keeps last frame of Media when PIE ends #jira UE-53360 Change 3944292 by Max.Chen Sequencer: Added extra flags to ensure that asset initialization does not occur on template actor sequences #jira UE-56113 Change 3944364 by Max.Chen Sequencer: Prevent circular shot/master tracks. Tested adding master -> child -> master as drag and drop cinematic shot tracks and sub tracks as well as through the + button. #jira UE-56091 Change 3944422 by Max.Chen Sequence Recorder: Disable transform recording if off. #jira UE-56061 Change 3944745 by Andrew.Rodham Sequencer: Key rendering fixes - Fixed assert that occured when keys happened to reside on some times due to KeyTime + TimeOverlapThreshold - KeyTime being slightly larger TimeOverlapThreshold - Fixed keys sometimes being clipped when zoomed right in due to lack of half-frame offset - Added missing documentation to MovieSceneTimeHelpers.h #jira UE-56107 Change 3945231 by Andrew.Rodham Sequencer: Reconstruct channel proxy on Serialize to catch all cases of undo/redo, PostLoad and duplication #jira UE-56089 Change 3945301 by Andrew.Rodham Sequencer: Added safety checks during initial sequence recording to guard against applying negative or 0-sized sequence ranges #jira UE-56125 Change 3946627 by Max.Preussner Fortnite: Fixed game crashes closing editor while in PIE - Pure virtual function being called #jira UE-56144 [CL 3946896 by Max Chen in Main branch]
2018-03-14 22:09:33 -04:00
#include "MovieSceneTimeHelpers.h"
#include "CommonFrameRates.h"
#include "Sequencer.h"
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 4044339) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3947021 by Max.Chen Sequencer: Don't preserve root component when copying object properties. A spawnable empty actor, has a root component that is generated by the empty actor factory. If the object template's root component is preserved when copying from the spawnable empty actor, the root component will not be copied over. Therefore, we need to NOT preserve the root component when copying object properties. #jira UE-55825 Change 3947366 by Max.Preussner WmfMedia: Better log output Change 3947367 by Max.Preussner MfMedia: Better detection of compressed format properties on Windows Change 3949102 by Max.Chen Sequencer: Remove SequenceActorTag when converting to possessable. #jira UE-56206 Change 3949207 by andrew.porter EngineTest: Set the screenshot nodes resolution to 1280x720 Change 3949404 by Max.Chen Sequencer: More informative tooltip for "Rerun Construction Scripts" option. It now says "Rerun construction scripts every frame on actors that have 'Rerun Construction Script in Sequencer' enabled in their class settings". Change 3950067 by Matt.Hoffman Renamed UAutomatedLevelSequenceCapture's StartFrame and EndFrame to CustomStartFrame/CustomEndFrame to reflect that it is user-overriden. This will also resolve upgrade issues due to the variable datatype changing. #jira UE-56189 Change 3950193 by JohnHenry.Carawon Updating my latest MovieRendering test content. Change 3950757 by JohnHenry.Carawon More updates to MovieRendering test content Change 3952059 by Max.Chen Resave LevelVisibility_SubLevels to fix data loss conversion warning of OpacityMaskConstant #jira UE-56086 Change 3952283 by Max.Chen Sequencer: Disable dropping level sequence assets as spawnables. #jira UE-56120 Change 3952422 by Max.Chen Sequence Recorder: Add button to record from the current player. #jira UE-55942 Change 3952987 by JohnHenry.Carawon MovieRendering Test Content - Fixing camera bindings and changing the override binding actor Change 3953823 by Mike.Zyracki Fix for Bad FBX Import Tangents not scaled by frame rate. After looking at this again it seems that a set of MovieScene:: overiddes for the channel traits wasn't set correctly, so use the ADL idiom to use MovieScene, which can then call Optimize in the correct namespace. With this we can now correctly use the passed in tolerance. There was also a redundant set of Optimize calls so that it could happen twice so removed them, and needed an extra check in the float channel Optimize. Also since we need to set auto tangents no matter if we optimize we don't set that parameter(though leave it since it's used by context menu key reduction). Finally fixed speed issue with trajectories caused by calculating way too many substeps. Reverted back to a time based step size for consistency. #jira UE-56193 Change 3954317 by Matt.Hoffman Adding a key to the last frame of a section no longer causes a crash. Keys can already be moved to be on the last frame of a section so now you can just add a key there directly. #jira UE-56255 Change 3954326 by Matt.Hoffman Dilating a section that is only infinite on one side no longer causes a crash. #jira UE-56260 Change 3954486 by Max.Chen PR #4580: Exposes IsReversed() from UMovieSceneSequencePlayer (Contributed by alanedwardes) Change 3955238 by Max.Preussner Messaging: Enabled delayed message routing https://github.com/EpicGames/UnrealEngine/pull/4574 #jira UE-56247 Change 3955901 by Max.Preussner MediaFrameworkTest: Added developer test for overriding desired media player plug-in at runtime. Change 3955922 by Andrew.Porter QAGame: Updating movie rendering content in dev folder Change 3956004 by andrew.porter QAGame: Adding MPC track to movie rendering test content Change 3956510 by Max.Chen Sequencer: Fix fbx camera import of static properties so that they are imported before default tracks are created. Otherwise, the default tracks inherit the default properties of the camera, rather than the values from the fbx. #jira UE-56311 Change 3957613 by Max.Preussner MediaUtils: Added code documentation to media player facade Change 3958005 by Max.Preussner MediaUtils: Added method to get number of sinks Change 3958934 by Max.Chen Sequencer: Fix keys getting added and sequence getting erroneously re-evaluated when auto key is off. Only apply defaults if there are no keys. Only modify the movie scene section before creating keys or setting defaults. #jira UE-55903 Change 3959687 by Andrew.Rodham Sequencer: Fixed visibility track external values being inverted #jira UE-56324 Change 3960507 by Max.Preussner Core: Fixed incorrect rounding in FMath::DivideAndRoundNearest Change 3962047 by JohnHenry.Carawon MovieRendering Test Content Changes: - Add Lightmass Importance Volumes to sublevel to fix warnings - Rebuilt Lighting - Add a third sequence for Gamut testing - Resaved the sound master.uasset to fix warning Change 3962211 by Mike.Zyracki Add Frame Numbers to selected animation sections. Added MapTimeToAnimation to MovieSceneSkeletalAnimation so that we could get it from the Skeleton Animation track Editor. Since the thickness of the frame line can change based upon frame rate and zoom we need to calculate it similarly to how the time slider controller does it. Those calculations were private so we had to expose FScrubRangeToScreen and GetScubberPixelRange from the TimeSliderController. Also needed to know if the section itself was selected so added a bIsSelected flag to the section Painter. Also fixed a bug where you couldn't add a section if other sections existed at different times in MovieScenePropertyTrack and could crash due to the check(). #jira UESEQ-395 Change 3962497 by Max.Preussner Core: Added new string formatting argument to FTimespan Change 3963662 by Max.Chen CineCamera: Flip VistaVision width and height. Change 3963731 by Max.Preussner MediaCompositing: Implemented sequence recording support for media track Change 3964195 by Andrew.Rodham Sequencer: Set inverted property correctly for newly created visibility track sections - Also clamp evaluation for key editors to the bounds of the section so we're not displaying values outside of the section bounds when the cursor is not on the bounds #jira UE-56324 #coderevew Max.Chen Change 3964196 by Andrew.Rodham Sequencer: Fixed crash when attempting to render sections that resulted in a negative intersection with the view range Change 3964275 by Andrew.Rodham Sequencer: Fixed MovieScene::ClampToDiscreteRange for infinite range bounds Change 3964364 by Andrew.Rodham Curve Editor: Reduce minimum vertical view range when zooming to fit Change 3965091 by Max.Chen Sequencer Recorder: Refresh next sequence if empty when starting a recording, otherwise, use existing name. #jira UE-56469 Change 3965148 by Max.Chen Sequence Recorder: Move Record to Possessable to "Actor Recording" group Change 3965162 by Max.Chen Sequence Recorder: Always break out of immersive mode when done recording, even when stopping recording during countdown. #jira UE-56407 Change 3965214 by Max.Preussner QAGame: Enabled ImagePlate plug-in Change 3965574 by Max.Preussner SimpleComposure: Reorganized & upgraded content to work with new Media Track #jira UE-56488 Change 3965651 by Max.Preussner MediaCompositing: Ignoring seek-on-open if media not seekable Change 3966075 by Christina.TempelaarL Sequencer: Added Final Cut Pro 7 XML Export functionality #jira UESEQ-358 Change 3966087 by Matt.Hoffman Adding a single key to the Particle Toggle track now makes an infinite range section that is displayed in the UI. #jira UE-56295 Change 3966547 by Andrew.Rodham Sequencer: Fixed rounding errors when drawing the section background on boolean sections - Logic was using time in sectonds which caused rounding errors on evaluation and flickering red/green stripes when dragging keys around #jira UE-56324 Change 3966563 by Andrew.Rodham Curve Editor: Key editor interface improvements - SKeyEditInterface has a few problems - it does not update in real time when editing properties, and does not support multi-edit which makes it unsuitable for use with the curve editor - We now take a different approach for editing keys by gathering a set of proxy UObjects for each key that is currently selected. These objects are added as top level objects to the details panel which means they support multi edit as you'd expect from any other details panel in the editor. - Proxy objects are updated every tick for the curve editor if they implement the ICurveEditorKeyProxy interface, which allows them to refresh their current value. - Ideally, the same mechanisms would be used in the main sequence interface, and we would be generating the proxy classes at runtime based on the key value type, but that work remains a separate task from this initial offering. #jira UE-56165 Change 3966564 by Andrew.Rodham Curve Editor: Expand to frame when adding or moving keys in the curve editor Change 3967051 by andrew.porter MediaFrameworkTest: Set the CameraPlayer_Video texture to auto clear Change 3967141 by Andrew.Rodham Sequencer: Keep track of spawned objects that have been modified and only re-save such object's default spawnable state on destruction - Now that we're taking this approach, I've remove serveral redundant bits of functionality in the spawn register such as making some spawnables read-only, and the PreSave binding for Sequencer. - We now hook into all object pre-saves to make sure we handle the case where the sequences are saved through the content browser or elsewhere. #jira UE-47686 Change 3967170 by Andrew.Rodham Sequencer: Added the ability to possess anim instances as object bindings - This allows full and direct animation of properties on UAnimInstance, and animation blueprints - Object Bindings are made by first possessing a skeletal mesh component, then choosing the + Add button where its anim instance will be listed - Added a new function to UMovieSceneSequence to gather previously cached objects that should now be invalidated. Anim instances will be re-resolved if a new UAnimInstance is assigned to USkeletalMeshComponent::GetAnimInstance. - ObjectBindingIDs for anim instances are just represented by an entry in a set of GUIDs. We only ever resolve such bindings through USkeletalMeshComponent::GetAnimInstance. - Only currently supported on LevelSequences #jira UE-56132 Change 3967195 by Max.Preussner Core: Updated TRangeSet to use TCallTraits Change 3967345 by JohnHenry.Carawon Test Content Changes - first iteration of spacing out the examples in the shots. Change 3967572 by Max.Chen Sequencer: Fix setting PreviousPlayEvalPosition until after we've tested whether it's set. #jira UE-56518 Change 3967750 by Max.Chen Audio: Set duration based on number of input channels, rather than number of channels to serialize. This fixes an issue where audio split into 2 channels is set to a duration that's twice as long. #jira UE-56430 Change 3967836 by Max.Chen Sequencer: Allow for animating array elements within ustruct properties #jira UE-55887 Change 3968506 by Matt.Hoffman Fixed ambiguous conversions for seconds and frames being overriden by ambiguous conversion to Timecode (in frames). Change 3968748 by Max.Chen Sequencer: Make the event properties submenu widget larger. #jira UE-55557 Change 3968862 by Max.Chen Sequencer: Recursive expansion when shift is down #jira UE-52139 #pr 4194 Change 3968863 by Max.Chen Sequencer: Bind rename command to selected track so that F2 shortcut start renaming #jira UE-52139 #pr 4194 Change 3968872 by Max.Chen Sequencer: Rekey the selected key at the current time. #jira UESEQ-396 Change 3968938 by Max.Chen Cine Camera: Add option to toggle the behavior of locking the rail mount to the orientation of the spline. By default, the option is off, no change in behavior. #jira UE-55815 Change 3968958 by Andrew.Rodham Sequencer: Consider vertical position when hittesting keys #jira UE-56256 Change 3969643 by Max.Preussner Core: Rounding timespans created from double values towards nearest ticks Change 3969646 by Max.Preussner MediaUtils: Implemented timeout mechanism for block-on-fetch feature Change 3969776 by Mike.Zyracki Added Skip Anim Notifiers Toggle per what was in Matinee. Investigated the Enable Root Motion toggle as also discussed but it's implementation is directly contained by the animation asset and unlike animation notifies there seems to be no exposure to interactively disable it during a playback tick. Note if we are generating thumbnails we still automtically disable notifies in the editor to avoid annoying noise playback. Note that if Enable Root Motion/Root locked is specified in the animation asset it does correctly effect the Sequencer. #jira UESEQ-399 Change 3969835 by Matt.Hoffman Playback Range and Selection Range use unified logic for adding themselves as potential snap locations which properly handles inclusive/exclusive bounds. This resolves an issue where having an unset selection range caused a potential snap location to be added on frame 0 and 1 (internal resolution) which caused a misalignment when placing objects near frame 0. This also removes the one frame offset on setting Selection Range to bring behavior inline with other ranges. #jira UE-55420 Change 3969885 by Max.Preussner MediaAssets: Don't register media player CDO with media ticker Change 3971129 by Andrew.Rodham Sequencer: Fixed UMovieSceneSequencePlayer::GotToEndAndStop() not taking into account for start time This is a remnant from when the times were always specified in 0-duration space, rather than actual sequence times. Change 3972056 by JohnHenry.Carawon More updates to Test Content. I continued spacing out the examples in the sequence so that they have a consistent number of frames between each example and during the start/end of the example. Also removed the Marcie sublevel. Change 3972066 by Andrew.Porter MediaFrameworkTest: Setting Marcie folder to be never cooked in package settings Change 3972675 by Matt.Hoffman Splitting Subsequence Sections no longer sets an incorrect playback range on the subsequence when the subsequence has a different internal resolution than the owning sequence. #jira UE-55453 Change 3973376 by Max.Preussner ImgMedia: Zero is the only valid video track for image sequences Change 3973489 by Max.Preussner Launch: Build rules cleanup pass - don't use Media, MediaUtils on server apps - don't link against Media (include-only dependency) - don't include from MediaAssets (dynamic load only) Change 3973760 by Max.Preussner MediaUtils: Moved AppMediaTimeSource implementation into its own file; added logging Change 3973765 by Max.Preussner ImgMedia: Disallowing seek beyond media length Change 3973855 by Max.Preussner MediaFrameworkTest: Updated developer test content Change 3973858 by Max.Preussner MediaCompositing: Blocking on media player time instead of media sample time (the former may not be hit in the current frame) Change 3974988 by Max.Chen Sequencer: Fix trim left so that it also sets the start offset for audio and skeletal animation sections. #jira UE-57015 Change 3976101 by Matt.Hoffman Sequencer will now focus the scroll view on newly created items. #jira UE-56492 Change 3976203 by Max.Chen Property Editor: Add DetailsViewArgs for ColumnWidth. Defaults to 0.65f, no change in existing behavior. Change 3976205 by Max.Chen Sequencer: Set better column widths for sequencer. #jira UE-55557 Change 3976206 by Max.Chen Sequencer: Added menu category for import/export Change 3976265 by Matt.Hoffman Tracks within Object Binding Nodes will now sort using the old behavior so that components are added above other track types. #jira UE-56473 Change 3976901 by Max.Chen Sequencer: Add event names to event track section #jira UESEQ-353 Change 3977878 by Max.Preussner Media: Moved media framework ticking stats into Media module Change 3977982 by Max.Chen Sequencer: Add Edit->Reset section length to duration of source (ie. audio, skeletal animation, shot length) Added MovieSceneSection::GetDefaultDuration and MovieScene::HasDefaultDuration #jira UESEQ-392 Change 3977994 by Max.Preussner Media: Fetching and rendering media samples before viewports are rendered (to ensure frame sync for in-level media playback) #jira UE-53975 Change 3978188 by Matt.Hoffman Easing Curves are now clipped by the sequence's PlayRange when testing against an infinite section. This causes blended sequences to finish their blend when the section starts/ends instead of always using 25% of the total section length to determine default blend range. #jira UE-56362 Change 3978676 by Max.Preussner MediaCompositing: Fixed first frame of rendered out media track missing #jira UE-53975 Change 3978684 by Max.Preussner MediaCompositing: Enabled media track frame sync feature #jira UE-53975 Change 3980026 by Matt.Hoffman Keys can be selected on folded out sections (such as an audio track expanded to show volume and pitch) again. #jira UE-57169 Change 3981614 by Max.Preussner MediaUtils: Added missing subtitle sample queue flush Change 3982311 by Max.Preussner MediaCompositing: Added safeguard for zero length media sources Change 3982389 by andrew.porter QAGame: Adding media track test content into FrameAccuracySubscene Change 3983661 by Max.Chen Sequencer: Add level name to spawn a spawnable into. Add sublevel menu option to set the level #jira UESEQ-390 Change 3983712 by Andrew.Rodham Sequencer: Purge legacy blueprint spawnables from LevelSequence packages #tests Ran a preflight for cooking fortnite, ocean and Orion. Only orion shows up this edge case, and will require a re-save of the EndCines level #jira UE-39173 Change 3983787 by Max.Preussner MediaCompositing: Moved compile time switch for block-on-fetch into media player facade Change 3983812 by Andrew.Rodham Sequencer: Exposed default level sequence instance data to blueprints Change 3984373 by Max.Preussner Media: Added API for quering whether player plug-in supports block on fetch Block on fetch allows Sequencer and other systems to block the game thread until a desired video frame has been decoded. Change 3984670 by JohnHenry.Carawon Movie Rendering Test Content progress. Saving the state of the content. There is a bug where things got replaced with particle emitters and I think it was because I tried to copy paste an animation track into a separate skeletal mesh track. Change 3985097 by Max.Chen Sequencer: Rename Reset to AutoSize Change GetAutoSizeDuration to return TOptional<FFrameTime> #jira UESEQ-392 Change 3986043 by Max.Chen Sequencer: Fix crash when attach/path duration is less than 0. #jira UE-57310 Change 3986373 by Max.Chen Sequencer: Add support for deleting tracks and channels which equates to setting the channel mask. #jira UE-52951 Change 3986375 by Max.Chen Sequencer: Add Create Pose Asset to skeletal animation section. This allows animators to blend animations in sequencer and create new pose assets from them. #jira UESEQ-408 Change 3986796 by Andrew.Rodham Sequencer: Fixed stale object references remaining in ULevelSequence::BindingReferences when using convert to spawnable/possessable - We used to convert objects by creating a new binding, then re-assigning its GUID, which meant we didn't have to do any further object fixup, but the code to achieve this was confusing and led to a vulnerability where object references would not be cleaned up correctly due to the newly created possessable essentially being a temporary object that's immediately thrown away. - To address this, there is now a function for porting all the contents of one object binding to another, and handles the correct fixup required for parent/child object bindings for both spawnables and possessables. - Also added codepath to remove any stale object references from the level sequence reference map on PostLoad (this piggy-backs off the PurgeLegacyBlueprints object version which is close close enough to this change to be identical) #tests Verified that existing sequences with stale references get cleaned up on load. Verified that repreatedly converting from spawnable<->possessable cleans up references correctly. Change 3987807 by JohnHenry.Carawon Updates to the MovieRendering Test Content. - Fixed the spawnable actors that were overwritten - Shortend the Lighting example and combined the Intensity and Color tracks - Organized the Sequence and WorldOutliner to group the examples. Change 3988151 by Max.Chen Cine Camera: Enable keying the "Enable Look at Tracking" toggle. Change 3988880 by Max.Chen Sequencer: Support enter to add asset for all sequencer track editors that have asset pickers. #jira UE-57367 Change 3988953 by Max.Chen Sequencer: Make the track color picker focusable so that it will close when you click away or lose focus. #jira UE-57210 Change 3988962 by Max.Chen MovieSceneCapture: Fix EDL export so that it takes into account movie scene frame resolution and desired frame rate. #jira UE-57365 Change 3988964 by Max.Chen Movie Scene Capture: Clarified tooltip for bRelativeFrameNumbers. If you specify custom start/end frames for the recording, they will be relative to the playback range. #jira UE-57308 Change 3989442 by Max.Chen Fix CIS Change 3991548 by Matt.Hoffman Dragging the time slider no longer causes the time slider to ignore snap-to-interval with "Snap to Keys While Scrubbing" when no keys are in range. #jira UE-57417 Change 3991598 by Matt.Hoffman Snap to Key while scrubbing now mirrors the behavior of "jump to next key". When there are no tracks selected it snaps to all keys and when there are tracks selected it snaps to only keys from that track. This also resolves an issue where deleting an object did not remove it from the Sequencer's selection. Undoing a delete already doesn't seem to restore your selection, so removing it from your selection shouldn't change that behavior. #jira UE-57417 Change 3991603 by Max.Chen Sequencer: Disable EditAnywhere for some section properties #jira UE-53530 Change 3992240 by Max.Preussner MediaAssets: Implemented dynamic audio sample rate adjustment based on audio/media clock drift #jira FORT-70638 Change 3992911 by Andrew.Rodham Sequencer: Fixed saving spawnable state using the wrong spawned object - We now track the object binding ID so that we can apply the spawned object to the correct spawnable when the asset is saved #jira UE-57353 Change 3992914 by Max.Chen Movie Scene Capture: Fix compression quality not being set. The compression interface wasn't being found through query interface, so no compression was being set. Reworked finding it through the output pins. Tested running various compression values. #jira-UE-55488 Change 3992919 by Max.Chen Sequencer: Convert to possessable now uses object template instead of copying properties (ie. see LevelSequenceActorSpawner). This fixes MIDs getting lost when converting to spawnable and back to possessable. #jira UE-52400 Change 3993184 by Max.Chen Sequencer: Don't show +Transform/+Path/+Attach track if the actor has the "Mobility" property hidden. Set the Landscape, LandscapeProxy and InstancedFoliage "Mobility" property to be hidden since it is static is not supposed to be dynamically movable. #jira UE-56347 Change 3993238 by Max.Chen Sequencer: Test for hidden mobility in creating keys as well. Refactored to HasHiddenMobility() #jira UE-56347 Change 3993978 by Max.Chen Cine Camera: Enable keying the "Enable Look at Tracking" toggle. #jira UE-57489 Change 3994039 by Max.Chen Landscape: Add Mobility to hidecategories on landscape component #jira UE-56347 Change 3994626 by JohnHenry.Carawon Updated Movie Rendering Test Content. - Fixed the overridden spawnables to their proper object types. Change 3994653 by Christina.TempelaarL Sequencer: Added Final Cut Pro 7 XML Import functionality, improved Export functionality #jira UESEQ-358 Change 3995609 by Max.Chen UMG: Add support for 2d transform mask (translation, rotation, scale, shear) #jira UE-52951 Change 3995778 by JohnHenry.Carawon Movie Rendering Test Content Updates - Adjusted Lights example - Adjusted Camera example - Added Marcie sublevel back in Change 3995942 by JohnHenry.Carawon QAGame: Moving Movie Rendering test content from Developer folder to Sequencer folder Also adjusted level visibility, lights and camera example. Change 3995993 by Christina.TempelaarL Sequencer: FCPXML Export updates - only export sections if in playback range and media exists, warn if media does not exist. Other updates - removed unused methods and variables, fixed message context naming to be more accurate #jira UESEQ-358 Change 3996595 by andrew.porter QAGame: Updating Marcie content in TrackEvaluation level to use Image Plate Change 3996614 by andrew.porter QAGame: Adding color test sequence to the sublevel Change 3996643 by Max.Chen Sequencer: Fix fbx animation export - rotation and scale channels were flipped. #jira UE-57509 #jira UE-57512 #jira UE-57514 Change 3996652 by Max.Preussner Messaging: Fixed delayed messaging using incorrect current time after message router sleep Based on https://github.com/EpicGames/UnrealEngine/pull/4601 Change 3996801 by Max.Chen Sequencer: Fix folder active state for non key area sections. Look at track node sections as well as key areas. #jira UE-57550 Change 3997098 by Matt.Hoffman Cleaned up some remaining ToDo's in STimeRange. Change 3998339 by Max.Preussner Sockets: Added documentation for socket receive functions Change 3998359 by Max.Preussner MediaUtils: Started to implement media recorder helper class Currently only supports BGRA frames in CPU memory. Supporting other formats and buffer types will require conversions on render-thread. I recommend refactoring out the existing conversion code in FMediaTextureResource into a reusable helper class in the MediaUtils module. This should be a good starting point though. Change 3998417 by Matt.Hoffman Keys and Sections can now be moved at the same time inside of Sequencer. Keys can now snap to Sections (and vice versa) instead of just to other Keys. Sections can now be duplicated like keys can. #jira UE-56995 Change 3998427 by JohnHenry.Carawon QAGame: Updating test content for the Movie Rendering feature. - Added an auto activate particle to the beginning of the sequence (it's not part of the sequence at all) - Added an event receiver blueprint to the Events example - Added a particle emitter to both sublevels - Added a camera cut to the end that switches to a separate camera - The camera zoom in, focus and Look At sections are all separate (not overlapping in the sequence) - Added a second actor for the camera Look At - Added a Visibility section for the Actor Hidden In Game track that has possessable and spawnable cube and light Change 3998537 by Max.Chen Sequence Recorder: Restore immersive mode when stopping the sequence even if not in PIE. #jira UE-56407 Change 3999809 by Matt.Hoffman Removed the "Go To" box from Sequencer and instead placed the current time as an always visible control. The previous shortcut (Ctrl + G) now focuses the new widget directly. #jira UESEQ-376 Change 4000543 by Christina.TempelaarL Sequencer: Moving editor-only code from runtime module MovieSceneCapture to editor module MovieSceneTools. Moved EDL and FCP XML exporters as well as Automated Level Scene Capture. #jira UESEQ-358 Change 4000706 by Matt.Hoffman Entering multiple time strings without a number no longer crashes Sequencer. #jira UE-57672 Change 4001051 by andrew.porter MediaFrameworkTest: Fixing up some image sources pointing to the wrong location Change 4001191 by andrew.porter QAGame: Adding some quick EDL/XML test content to dev folder Change 4001243 by Max.Chen Sequencer: Fix import EDL out of range. #jira UE-57665 Change 4001856 by Matt.Hoffman Selecting keys and sections at the same time now also works with animation and audio sections. #jira UE-57716 Change 4002021 by Max.Chen Sequence Recorder: Fix sequence name incrementing. If external recording sets the sequence name, use it. Otherwise, use the recording name from the recording group or the recording settings. #jira UE-57712 Change 4002618 by Max.Chen Viewport: Update the look at location when updating to a locked actor. This fixes an issue so that popping the view out of a locked actor and manipulating the view will not jump to the previous look at location. #jira UE-57725 Change 4002979 by Matt.Hoffman Fixes several edge cases with the end time range that was causing confusion about what the last frame of the sequence was. Dragging the End Frame slider will no longer be off by one tick and jumping to the end via the UI controls now properly respects snapping and stays inside the play range instead of falling outside of it. Overall behavior does not change though and End Frame should be considered an exclusive frame so that frames 0-150 results in a 150 frame long animation (which is frames 0-149). #jira UE-56367 Change 4003185 by Matt.Hoffman Fixed a regression that prevented a section from being dragged upwards past row 0 which normally resulted in all other rows moving down. #jira UE-57717 Change 4003193 by JohnHenry.Carawon QAGame: Updates to test content - Shortened frames between the examples from 95 to 30 - Separated camera setting tracks - Lighting example now switches directly from constant red - green - blue Change 4003369 by Max.Chen Sequence Recorder: Refresh next sequence regardless of internally stored sequence name. #jira UE-55757 Change 4003586 by JohnHenry.Carawon QAGame: Test Content Updates - Level Visibility track now ends to that the levels are not visible when we move to the next example - Shortened camera section, removed Z tranform so that we just move left to right and shortened the overall length Change 4004414 by Max.Chen Movie Scene Capture: Fix regression where rendering with shot handles would only render the first shot. 3972166 addressed an issue where an extra frame would be rendered by finalizing right when the end frame was reached. This was hit on the first shot end frame, so instead, do this only for when the last shot is being rendered. #jira UE-57314 Change 4004765 by Christina.TempelaarL Sequencer: Fixed bugs in FCP XML import/export. - Export: fixed sequence default resolution. - Export: fixed XML files with no shots. - Export: all sections clipped to playback range. - Export: fixed incorrect section start/end times due to precision issues. - Import: fixed incorrectly adding cinematic tracks. - Import: fixed bugs creating new sections. #jira UE-57660 #jira UE-57662 #jira UE-57655 #jira UE-57761 Change 4005119 by Max.Chen Sequencer: Export/import at play rate Change 4005195 by Max.Chen UMG: Finish UMG evaluation on stop. Added object version so that existing UMG assets do not change. #tests - Newly created UMG animation with sections set to restore state now return to their original state. Existing UMG animations with sections set to restore state do not return to their original state. #jira UE-52285 Change 4005377 by Michael.Karambelas QAGame: Moving TM-SequenceRecorder and related content out of my developer folder and into /Content/Sequencer/SequencerRecorder/* Change 4005417 by Michael.Karambelas QAGame: Fixed a BP compiler in the Level Blueprint of TM-SequencerRecorder. Change 4005634 by Michael.Karambelas QAGame: Fix up missing content and broken level sequence in TM-SequenceRecorder after move Change 4006324 by Max.Chen Sequencer: Reset if the focused movie scene is null. This fixes a crash if the user is focused in on a shot and undo takes the user past the point of where the shot was created. #jira UE-57752 #jira UE-47661 Change 4007006 by Max.Chen Sequencer: Fix FindAvailableRowIndex so that it returns the max row index (and not +1) since it doesn't find any conflicting rows. #jira UE-57717 Change 4007907 by Max.Chen Sequencer: Fix crash if there's no animation Change 4007948 by andrew.porter QAGame: added test content to dev folder for Record World Space Change 4008636 by Max.Chen Sequencer: Fix import fbx not setting values properly and creating additional cameras unncessarily. #jira UE-57864 Change 4008759 by Max.Chen Sequencer: Follow up fix for import cameras #jira UE-57864 Change 4009994 by Matt.Hoffman Dragging the left or right handles of the Time Range slider in Sequencer will now zoom your view in on the current center of the screen. This prevents the view from being translating as you tried to zoom in which caused issues at high zoom levels. #jira UESEQ-407 Change 4010169 by Christina.TempelaarL Sequencer: FCP XML fixes. - FCP XML export - no longer clips to playback range - FCP XML and EDL export - fixed missing last frame of some sections after exporting to Premiere. - Automated level capture, EDL export - use RoundToFrame instead of FloorToFrame for computing section start/end frames after frame rate conversion. #jira UE-57802 - partial fix, movie scene capture still needs to render full section rather than clip against playback. Change 4010287 by Mike.Zyracki Add quaternion interpolation option to UMovieScene3DTransformSection. This mimics how Matinee used to work by bascially finding the keys between a time and interpolating the angles as quat's between them. As noted in the code the algorithm needs to handle the case when the x,y,z Rotation keys all aren't at the same time which was not handled by Matinee. Also like Matinee, when in quaternion interoplation mode, we need to not display the function cuves since the interpolated and key values are now all different. (Would like to show them but that's a bigger refactor for perhaps just a one off needed by quaternions). I added a virtual function UMovieSceneSection::ShowCurveForChannel for this since it needs to be dynamic, not on construction of IKeyArea's, and could be useful for other sections. I could though move the method to just UMovieScene3DTransformSection and do a cast instead. Looked into doing a unit test for this but after talking with Andrew P we will work on doign an automated test in EngineQA since that will provide more coverage. Will also add a video the jira. #jira UESEQ-403 Change 4010713 by Mike.Zyracki Added option to key a group of transform channels instead of just the changed channel, or all of them. This is useful for quaternion interpolations where you want rotation keys to be aligned but also useful for other workflows like animating FK Pose to Pose. Change 4010715 by Andrew.Porter MediaFrameworkTest: Setting LogMediaUtils logging from VeryVerbose to Verbose to cut back on the spam Change 4013048 by Max.Chen Sequencer: Fix play/jump status. Update the player status for all position methods (Scrub, Jump, Play). Jump means Stopped. Correctly use PlayTo or JumpTo based on position method. In PlayInternal, JumpTo with the Stopped state (rather than playing state). #jira UE-57844 Change 4013479 by andrew.porter QAGame: Added content in TM-SequenceRecorder to test recording a property on a Cine Camera Component; Press 3 to trigger manual focus distance to increment on a timer Change 4014323 by Max.Chen Sequencer: Fix SetPlaybackPosition so that it jumps or plays based on playback status. #jira UE-57844 Change 4015888 by Max.Chen Sequencer: Fix crash on paste. UMovieSceneSections were gathered from the track node's track. For sub track mode, we want to gather only those sections on that track node row. #jira UE-57951 Change 4015943 by Max.Chen Sequencer: Fix moving shots up when the mouse pos goes outside of the virtual track area. #jira UE-57717 Change 4016293 by Max.Chen Sequencer: Fix relative frame playback end frame calculation so that custom start/end frames remain in the space of the sequence and are not relative. #jira UE-57308 Change 4017075 by Andrew.Rodham Sequencer: Corrected initial evaluation range used when calling UMovieSceneSequencPlayer::Play() Change 4017270 by Christina.TempelaarL Sequencer: FCPXML importer and movie scene capture - Use CeilToFrame when converting section start/end frame times to frame numbers in FCPXML and movie scene capture. - Added support for clip metadata in FCPXML. - Got rid of redundant TokenizedError message class, no longer needed now that FCPXML is in editor directory. - Added log messages currently commented out due to exception, still testing. #UESEQ-358 Change 4018370 by Christina.TempelaarL Sequencer: fixed FCPXML log messages regarding sections with start/end not divisible by display rate. #UESEQ-358 Change 4018378 by Christina.TempelaarL Sequencer: fixed error in previous changelist. #UESEQ-358 Change 4019457 by Max.Chen Sequencer: Show event names only when the event track is selected #jira UE-57897 Change 4022806 by Max.Chen Sequencer: Fix crash on movie scene capture dialog shutdown if movie capture wasn't even started. #jira UE-58106 Change 4022894 by Max.Chen Sequence Recorder: Wrap OpenEditorForAssets after sequence recording within GIsEditor #jira UE-58084 Change 4024487 by Max.Chen Sequencer: Add tooltip for quat interpolation #jira UE-58113 Change 4024562 by Max.Chen Sequencer: Change path/attach track sequence binding id to currently focused sequence id so that bindings can be created in subsequences Change 4027414 by JohnHenry.Carawon QAGame: Checking in content that shows a bug with using particles systems and Delay Before Shot Warm Up. Change 4028990 by Max.Chen Sequencer: Fix evaluate sub sequences in isolation. This check was added with the compile on the fly logic. Not sure why it was necessary but it seems like the sub sequence data needs to be updated in order to evaluate sub sequences in isolation. #jira UE-58184 Change 4029004 by Max.Chen Sequencer: Ensure that old binding references are removed when re-assigning actors in sequencer #jira UE-57898 Change 4030997 by JohnHenry.Carawon QAGame: Fixing name of the master sequence Change 4031785 by Michael.Karambelas QAGame: Added an instance of ThirdPerson Run to TM-SequenceRecorder for Record to Possessable test. Change 4035548 by Andrew.Rodham Sequencer: Changed FMovieSceneEvaluationTemplate::TemplateSignature to be a serial number to address non-deterministic cooking issues - This commit is related to the repro steps found in 3914599 and 3934307, both of which have been verified with this new change. - Copy of 4031684 from //Fortnite/Main/... #jira FORT-84852 Change 4036312 by Max.Chen Sequencer: Fix zoom view range so that it uses the passed in InZoomDelta Change 4036318 by Max.Chen Sequencer: Auto size now returns a range and defaults to the channel proxy range so that keyed regions can also be autosized. Change 4036322 by Max.Chen Forgot missing change Change 4036360 by Max.Chen Sequencer: Fix play rate calculation when skeletal animation section play rate changes. Change 4037163 by Mike.Zyracki Weighted Tangent Implementation Tricky thing is that you need to solve a cubic in order to get the bezier weights for the time part of the curve. See https://www.gamedev.net/forums/topic/474094-help-function-curves-for-animation-interpolation/ Maya provides an implementation in it's dev kit but I didn't use it since it was horribly slow and uses an iterative solution to solve the cubic needed. Instead I use an old algorithm (Cardano's method), to solve the cubic which should be much faster. Though relative simple to code from principles I just went ahead and used a version from Graphics Gems 1. I put this cubic solver directly in MovieSceneFloatChannel.cpp, but will need to move it when we support Rich Curve, maybe to FMath:: (which would probalby require some other functions for solving quartics, etc.. for completeness.). Also note we resolve this on every evaluation but dont' need to if the interval the time is evaluating hasn't had any change in values or tangents. So again when we support FRichCurve we can create a Weighted Evaluating class that can hold the cache. Also with the tangent drags I got rid of the Cardinal position that was used to calculate non-weight tangents from the key point and just quickly getting a direction. With weighted tangents we need to use the delta instead (otherwise when moving multiple they would all get the same weight based upon distance to the cardinal point. ) For mixed tangents types what I'm defaulting to non weighted if the interval doesn't match. May need to do weighted instead, not sure. What's left is just FBX import, for tomorrow. #jira UESEQ-76 Change 4037435 by Mike.Zyracki Fix fo build warnings from weighted tangent submission. #trivial Change 4038091 by Michael.Karambelas QAGame: Updated a Sequence Recorder group in TM-SequenceRecorder that had an actor missing the animation. Change 4038374 by Andrew.Rodham Sequencer: Refined scrubber styling for level sequences and actor sequences - Scrubber now shows a block the width of a dsplay rate frame, plus a line for the actual evaluated time. UMG reverts back to the previous styling (no block) - Keys that are outside of the playback range are now drawn with a subdued effect - Tick labels are no longer drawn when directly underneath the scrubber Change 4038490 by Max.Chen Sequencer: Expose tangent weight values in details panel. Change 4038620 by Andrew.Rodham Sequencer: Advanced time panel polish #jira UESEQ-426 Change 4038677 by Max.Chen Movie Scene Capture: Redirector for MovieSceneTools.AutomatedLevelSequenceCapture #jira UE-58248 Change 4039739 by Max.Chen Sequencer: Media track should only be supported by Level Sequence Change 4040024 by JohnHenry.Carawon QAGame: Fix EventReciever and OverrideBinding example The level sequence was set to none so the fix was to set it back to TrackEvaluation_Master. Change 4040610 by Andrew.Rodham Curve Editor: Moved weighted tangent switchers to a single toggle command (CTRL+W) and added an icon #jira 58383 Change 4040882 by Mike.Zyracki Keep broken when turning on weighted #jira UE-58435 Change 4041089 by andrew.porter QAGame: Sequence for Long Tangents bug Change 4041498 by Mike.Zyracki Turn off weighted when going auto to prevent large tangents. Do it both in UI and when doing AutoSetTangents() to really make sure it doesn't happen. #jira UE-58452 Change 4041752 by andrew.porter MediaFrameworkTest: Adding some better logging for setting rates when not supported. Also ignoring commiting URL when there is no text Change 4041896 by Matt.Hoffman The transform dialog box now transforms selected keys and sections, instead of just keys. #jira UE-58265 [CL 4044405 by Max Chen in Main branch]
2018-05-02 10:10:00 -04:00
#include "SequencerDisplayNode.h"
#include "Modules/ModuleManager.h"
#include "MovieSceneSequence.h"
#include "MovieScene.h"
#include "Compilation/MovieSceneCompiledDataManager.h"
#include "Evaluation/MovieSceneSequenceHierarchy.h"
#include "Misc/NotifyHook.h"
#include "IDetailsView.h"
#include "PropertyEditorModule.h"
#include "ISinglePropertyView.h"
#include "IStructureDetailsView.h"
#include "FrameNumberDetailsCustomization.h"
#define LOCTEXT_NAMESPACE "TimeSlider"
namespace ScrubConstants
{
/** The minimum amount of pixels between each major ticks on the widget */
const int32 MinPixelsPerDisplayTick = 12;
/**The smallest number of units between between major tick marks */
const float MinDisplayTickSpacing = 0.001f;
/**The fraction of the current view range to scroll per unit delta */
const float ScrollPanFraction = 0.1f;
}
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3946692) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3801826 by Max.Chen PR #4304: Level Sequence crash fix - Guarded against dereferencing null componen. (Contributed by DSDambuster) Change 3801828 by Max.Chen PR #4302: Movie Scene Visibility Template unitialised variable, causing random . (Contributed by DSDambuster) Change 3801837 by Max.Chen Sequencer: Delay spawning/construction for convert to possessable. This fixes a bug where property values would be lost when converting back and forth from possessable to spawnable. #jira UE-52400 Change 3801841 by Max.Chen Sequencer: Make spacer nodes not selectable. PR #4194: Improvements to Sequencer (Contributed by projectgheist) #jira UE-53117 #jira UE-52139 Change 3804183 by Max.Preussner MediaAssets: Added missing lock in media sound component Change 3805414 by Max.Preussner MediaAssets: Setting valid GUID when initializing media texture resource Change 3819578 by Max.Chen PR #4370: When enabling the "MovieCapture", do not turn off the Stereo-3D display. (Contributed by yehaike) #jira UE-53647 Change 3823414 by Max.Chen Curve Editor: Lock down the first and last keys in the redundant keys removal range so that they're unaffected. #jira UE-53591 Change 3826406 by Max.Chen Sequencer: Move OnStartedPlaying() to within first update in UpdateTimeCursorPosition(). This fixes an issue where setting the hud/player visibility was getting stomped on later. #jira UE-52772 Change 3827044 by Max.Preussner MediaAssets: Added sprite visualization to media sound component #jira UE-53594 Change 3827988 by Max.Preussner MediaPlayerAssets: Fixed Media Texture is not linked to Media Player when created together #jira UE-53532 Change 3828506 by Max.Preussner MediaPlayerEditor: Added attenuation visualizer for media sound components #jira UE-53594 Change 3832590 by andrew.porter EngineTest: Added a keep state check in Property Animation sequencer test Change 3833053 by andrew.porter EngineTest: Adding Hierarchical Bias test Change 3835683 by andrew.porter EngineTest: Adding UMG Animation screenshot test Change 3836076 by Max.Chen Sequencer: Fix audio volume and pitch multiplier deprecation. Change 3836230 by andrew.porter EngineTest: Adding Sequence Bone Position automation test Change 3836347 by Max.Chen Sequencer: Fixes to shot name parsing. When a shot doesn't contain a shot number, assume, [ShotName]_[TakeNumber]. When duplicating a shot, put the new shot in the same path of the original shot, so that the take numbers will increment properly. #jira UE-51868 Change 3836552 by Max.Chen Sequencer: Sub section now has a takes menu Change 3838094 by Max.Chen UMG: Fix template finish not getting called on stop. This fixes a bug where sections aren't restored when finished. #jira UE-52285 Change 3838708 by Max.Chen Sequencer: Add notification when the blend type is changed. #jira UE-54046 Change 3840295 by Max.Chen Sequencer: Fix copy/paste crash for lights #jira UE-54084 Change 3840957 by Mike.Zyracki Added Show Only Keyable and Show Only Animated to the filter list in the property editor. Added IsPropertyAnimated to IDetailKeyframe Interface which already had support for showing properties which are keyable (which is used for the key icon next to the properties.). Could have created another interface but then would have had to mimic the sequencer binding, releasing also, so this seemed best way. One issue still left is that custom built detail items currently don't store associated properties(usually) and so certain properties, in particulalry transforms, won't show up as keyable or animated. Note this also shows up with the keyable icon not showing up next to transform tracks, and other filters like Show Only Modified not working with transforms/customs. Not sure best way to tackle this. #jira UESEQ-328 Change 3841756 by Max.Chen Sequencer: Fix unbound possessable components when pasting spawnables. #jira UE-54104 Change 3843950 by andrew.porter EngineTest: Renaming LevelStreaming tests/content to LevelVisibility Change 3844082 by Mike.Zyracki Missing file for animated filter in property editor. When finding if a track is animated we need to find it but we can't easily induce the MovieTrack class for any particular property. So we don't set a class for it and just search by it's ID and name. #jira UESEQ-328 Change 3846902 by Max.Preussner ImgMedia: Fixed image media player never finished initialization if loading failed #jira UE-54247 Change 3849820 by Mike.Zyracki Reassigning deleted widgets didn't work since the menu extender mechanism needs a valid UObject in order to perform an operation on it. So to fix we replaced GetObjectBindingContextMenuExtender in WidgetBlueprint with new delegate mechanism (OnBuildCustomContextMenuForGuid) that supports FGuid in addition to UObjects which is needed to handle re-binding deleted widgets. Note that the default sequencer hacks this for replacing deleted actors in SequencerObjectBindingNode to check to see if a LevelSequence is active. We could move to this mechanism there also. #jira UE-53163 Change 3852211 by Max.Chen UMG: Indicate name of the property that is not bound. #jira UE-54350 Change 3854120 by Max.Chen Sequencer: Fix sibling folders being allowed to have the same folder name. #jira UE-54363 Change 3854627 by Max.Chen Sequencer: Step to next/previous key should work for all tracks if there aren't any selected. #jira UESEQ-391 Change 3855825 by andrew.porter EngineTest: Adding animation blending automation test Change 3855950 by andrew.porter EngineTest: Adding correct expected valuues to animation blending test Change 3856237 by Matt.Hoffman UESEQ-336 - Sequencer Track Reordering Adds the ability to re-order Master Tracks, Folders and Object Bindings within sequencer hierarchies (including UMG). Adds the ability to do a one-off sorting of the content under the old sorting behavior if the user wants to reset their layout to how it was under legacy behavior. Modifies SequencerTrackNodes, SequencerFolderNodes and SequencerObjectBindingNodes to handle CanDrop/OnDrop for above, below and ontop of. Fixes a Slate Issue that forcibly expanded a TreeviewRow if an item handled OnDrop. Slate will now only forcibly expand the row if the item says the drop happened ontop of the item, and not above or below it like it previously did. Change 3856503 by andrew.porter EngineTest: Adding automation test for using animation blueprint with blend multi node in sequencer Change 3857875 by Max.Chen Sequencer: Assign the sequence id after the template is compiled. #jira UE-54462 Change 3858344 by Max.Chen Sequencer: Prevent Goto and Transform boxes from overlapping by allowing them to be visible at the same time in an autosized horizontal box. Also, added close button to the goto box. PR #4425: Prevent Goto and Transform boxes from overlapping in Sequencer ... (Contributed by projectgheist) #jira UE-54210 Change 3860566 by andrew.porter MediaFrameworkTest: Set the option to index 0 for the audio and video track list by default Change 3860654 by andrew.porter EngineTest: Enabling Camera Cut + FOV test Change 3860981 by andrew.porter EngineTest: Updating skeletal mesh tests with a delay after set playback position Change 3861256 by Max.Chen Sequencer: Add all bindings if none selected. #jira-54440 Change 3862154 by Andrew.Rodham Added TimeManagement module Change 3862424 by andrew.porter EngineTest: Turned on the test Bone Positions with Blend Multi Node Change 3862573 by andrew.porter EngineTest: Adding test to compare bone positions in a sequence that is blending an animation that is using an AnimBP Change 3865117 by Max.Chen Sequencer: Stop auto scroll on mouse release of movement. #jira UE-31212 Change 3865303 by Max.Chen Sequencer: Add drag and drop transactions #jira UE-54662 Change 3865304 by Max.Chen Sequencer: Fix crash when an actor factory is not found. Change 3865361 by Max.Chen Sequencer: Don't change the camera/shot lock button when popping out of a sequence. #jira UE-54665 Change 3865412 by Max.Chen Sequencer: Determine whether a transform track is for a camera by using the spawned object or template #jira UE-54666 Change 3865685 by Max.Chen Sequencer: Clear autoscrub offset when stopping autoscroll #jira UE-31212 Change 3865886 by Max.Chen Sequence Recorder: Log an error if the number of frames changes while recording. This can happen if the skeleton changes while recording. #jira UE-48715 Change 3866925 by Andrew.Porter MediaFrameworkTest: Changing the current PNG test video image sequence to 1024 x 576 Change 3867705 by andrew.porter QAGame: Adding Audio Sort Sequence to dev folder Change 3867890 by andrew.porter QAGame: Adding a sequence for testing a sorting crash to my dev folder Change 3872628 by Max.Chen Movie Scene Capture: Split delay before warmup into split delay before shot warmup so that there's separate controls for when the movie scene capture warmups up vs. shot boundaries. Change 3873131 by Matt.Hoffman UE-54732 - Crash reordering a folder with a track. This was caused by folders being the only type of track to check if someone was putting a parent track into a child track. Object Binding tracks and Tracks now check as well so that you can't use the above/below drop targets to add parents as children. This also fixed a typo in the localization keys. #jira UE-54732 Change 3873301 by Mike.Zyracki Added ability to support continous euler angle changes when changing rotations, in particularly with the rotation gizmo's. To do this we effectively added a form an of 'euler filter'(https://en.wikipedia.org/wiki/Euler_filter) to find the closest euler angle to the current euler angle. Three functions were added to FRotator to make this possible, one to get the euler angle that's has the same rotation as it, one to get the difference between two euler angles via Manhattan distance and a third using the previous two to choose a Rotator value that's closest to it. We then use these functions before calling UComponent::SetRelativeRotation to make sure we use the correct Euler after the Quat conversion. We also no longer limit(bound) the euler angles to -180,180, which is obviously necessary to avoid flips. I also changed how we caluclate yaw and roll when pitch is -90 or 90 to make it the standard approach of zeroing out roll and just setting yaw. Main reasons are the previous implementation had precision issues so things like 180, 90, -180 would show up due to numbers being nearly zero but negative,(this would break any smooth interpolations), and this facilitates having a 'gimbal' rotation mode (like Maya, Blender etc..) if we ever want that also. If needed we could keep the previous implementation but would need to add some FMath::IsNearlyZero checks, with less performance. Note we only do this special filtering when applying delta's to actors or components in the editors, which then call UComponent::SetRelativeRotationExact, which is a new function to foces the RelativeRotation to be equal to the new rotation. This allows us to store un-nomalized Rotators at the cost that the RotationCache may be broken. We didn't change any of the other UComponent functions that set rotations (via Quats or Transforms) so they will still be bounded and unwound. In SetInternalWorldLocationAndRotation we only set the rotation if the rotation has changed, which fixes the rotation getting changed and re-normalized if just translate happens. In TransformTrackEditor, we correclty use the bUndwing flag and in MovieScene3DTransformSection there was an un-needed winding check there, it will be unwound earlier if needed, which happens if Sequence Recording is happening. Max we should talk about what to do about this . Note the euler angle drag via the widget is still bound to 0-360. I think we should just unbound that now since the rotations value are now unbound. This review now includes fixes suggested by Zak. #jira UE-UE-22228 Change 3873483 by Matt.Hoffman Sequencer Tracks can now be inserted above the spacer at the bottom of the tree. #jira UE-54706 Change 3873899 by Max.Chen Sequencer: Add section selection throbbing Change 3873908 by Max.Chen Movie Scene Capture: Added logging per frame Change 3873924 by Matt.Hoffman Adds the ability to store Sequence Recorder setups into profiles that stay with the map and can be re-loaded later. Profiles store the Actor Recordings so the settings for each actor should carry with them. #jira UESEQ-339 Change 3874726 by Matt.Hoffman Disable drag-and-drop targets on spacers that come between rows in Sequencer. This prevents extra drag/drop targets showing up between each row. #jira UE-54706 Change 3874862 by Matt.Hoffman Audio Track no longer gets reordered when adding sub-audio tracks, as sub-tracks are no longer counted towards the sorting order index when normalizing indexes. #jira UE-54727 Change 3875905 by Matt.Hoffman Disable Fade Track UI if a fade track already exists in the sequence. #jira UESEQ-393 Change 3876163 by Max.Chen Sequencer: Swap the camera object to the camera component's owner if it's not the same. #jira UE-54874 Change 3876971 by Andrew.Porter EngineTest: Moved Media Player Seek test to new folder. Also enabled the test with new ground truth image. Change 3877040 by Max.Chen Cine Camera: Split camera properties to two groups, "Camera Options" and "Camera Settings". The cine camera now hides properties in the "Camera Settings" group so that properties like bConstrainAspectRatio (in the "Camera Options" group) can be visible. #jira UE-54192 Change 3877763 by Max.Chen Curve Editor: Fix curve changed on end drag so that only curves that had keys/tangents that were changed receive notification, otherwise all loaded curves were getting notified that they were changed. #jira UE-54951 Change 3878234 by Matt.Hoffman Disable "Drop Below" targets for Sequencer Tree nodes to prevent a confusing UX issue where dropping underneath a Object Binding Node puts it after the object binding node but the UI looks like it's inserting it inside the Object Binding node. #jira UE-54743 Change 3879359 by Mike.Zyracki If a track is inactive we dim it a bit which seems to be the UE4 way to show inactive or disabled state. We changed the active logic so that all subtracks need to be inactive for the track to also be inactive(instead of all active for active). This conforms to how the active state actually works, e.g if you have two sections and only one is active the track is still active above it. #jira UESEQ-388 Change 3879462 by Max.Chen Sequencer: Allow dragging onto a particular row which would move out any overlapping sections to make space for the newly created section. Newly created sections are now selected and throbbed to draw attention to themselves. #jira UE-54664 Change 3879464 by Max.Chen Sequencer: Fixed overlapping ranges being inserted into the evaluation field during compilation - The issue was that track segments that had been combined with adjacent segments (due to them being identical) would potentially cause a subsequently compiled frame to overlap with a range that had already been inserted into the evaluation field. - The insertion code previously asserted that only minor overlaps were catered for (due to fp rounding errors) and assumed that a supplied range could not entirely contain any other range in the field. - The solution is to supply the insertion time along with the range to know exactly where the data should live in the field, and crop the range to the maximum allowable space between adjacent ranges. #jira UE-54922 Change 3879590 by Matt.Hoffman Items that are now added to the Sequencer via the "+Track" menu will be selected after being added. Items can now be added inside of folders instead of just to the root level. #jira UE-27397 Change 3879612 by Mike.Zyracki Display Nodes with no children are always active. #jira UESEQ-388 Change 3879730 by Matt.Hoffman Sequence Recorder's actor recording groups now remove items from the group when removed via the UI. #jira UESEQ-339 Change 3880256 by Mike.Zyracki Fix issue with inactive display with folders and other track nodes. #jira UESEQ-388 Change 3883491 by Max.Chen Fix issue where tick is skipped due to last ticked pose isn't cleared after AnimInstance changes. Copy from Release-4.19 #jira UE-51323 Change 3883603 by Max.Chen Movie Scene Capture: Add option toggle disable screen percentage. By default this is on (no change in current behavior). #jira UE-51898 Change 3885074 by Max.Preussner MediaCompositing: Resetting media texture & freeing resource on section end; removed dead code Change 3887220 by Max.Preussner MediaCompositing: Defaulted media section duration to 1 sec (since we do not know the actual duration in most cases) Change 3887478 by Matt.Hoffman Sequences now show [Inactive] in their title bars when they're disabled. This helps communicate why a sequence isn't being evaluated. #jira UE-51469 Change 3888985 by Max.Chen Movie Scene Capture: Clamp HDR Compression Quality between 0 and 1. #jira UE-55136 Change 3893519 by Max.Chen Sequence Recorder: Clarified tooltip for bRecordNearbySpawnedActors - spawned actors will still be recorded if they match the ActorFilter. #jira UE-55238 Change 3893546 by Max.Chen Sequence Recorder: If a selected actor already has a recording, add a blank recording. #jira UE-55239 Change 3894044 by Max.Preussner MediaCompositing: Added support for seeking into a media section Change 3894310 by andrew.porter MediaFrameworkTest: Adding Img media sources for 1080 and 2160 ravent test content Change 3894426 by Max.Preussner MediaAssets: Letting media textures with AutoClear retain their clear color when player is reset Change 3895717 by Max.Chen Sequencer: Null checks to prevent crash when saving the default state of a spawnable #jira UE-55304 Change 3897388 by Max.Chen Sequencer: Don't update current time to be within the view range when stepping into a sequence. #jira UE-55322 Change 3897452 by Max.Chen Audio: Fix crash when trying to record audio without any active capture devices. Log warning if the number of input channels is not 1 or 2. #jira UE-55223 Change 3897619 by Max.Preussner MediaCompositing: Removed commented out code Change 3898072 by Max.Chen Sequencer: Override the animation asset in the player state if it doesn't match the animation asset that's being evaluated. #jira UE-55328 Change 3898272 by Max.Preussner MediaPlayerEditor: Made slate brush constants static Change 3898704 by Max.Chen Sequencer: Skip if the binding id's sequence can't be found. #jira UE-55337 Change 3899855 by Max.Preussner MediaCompositingEditor: Added cache state visualization to media track Change 3900300 by Max.Preussner MediaCompositingEditor: Added loop indicators to media sections Change 3900694 by Max.Preussner ImfMedia: Looping cache only when player is looping Change 3900892 by Max.Preussner Stats: Added stats category for media framework Change 3900954 by Max.Preussner MediaCompositing: Don't evaluate at the end of media section Change 3901348 by Max.Preussner Core: Replaced TLruCache autos for better readability Change 3901655 by Max.Preussner ImgMedia: Added more perf stats to EXR reader Change 3901972 by Max.Preussner MediaAssets: Added getter for media player in media sound components Change 3902233 by Max.Preussner MediaAssets: Enabling media textures to receive samples right after player is assigned Change 3902238 by Max.Preussner MediaCompositing: Working around init/shutdown idiosyncracies in sequencer Change 3904045 by Max.Chen Sequencer: Fix copy/paste crash. Only process UMovieSceneCopyableBinding and objects that can be spawned by the movie scene spawn register. #jira UE-55314 Change 3905605 by Max.Chen Sequencer: Restrict spawnables from being created if they have a ClassWithin that UMovieScene is not a child of. #jira UE-55429 Change 3906550 by Max.Chen Sequencer: Add media track icon #jira UE-55480 Change 3907101 by Max.Chen Sequence Recorder: Fix bugs related to not recording a level sequence. There were certain assumptions that creating a level sequence meant that sequence recording was in progress. This is not always the case - the recorders can record animation assets and not create a level sequence. Changed the notion of IsRecording() to having at least one actor recording that is recording. Countdown timer, recording displays, etc should function if IsRecording() and not based on whether a level sequence is created. #jira UE-55485 Change 3907247 by Max.Chen Sequence Recorder: Fix crash not removing PrepareToCleanseEditorObject delegate. Repros when opening sequence recorder, closing it, and then opening or creating a level. Change 3910343 by Max.Preussner Core: Added async helper for executing functions on a given thread pool Change 3910346 by Max.Preussner ImgMedia: Added separate thread pools for loading/decoding and deleting image frames Change 3910829 by Max.Preussner Profiler: Increased visible range of profiler graph Change 3910841 by Max.Preussner MediaCompositing: Displaying asset name instead of full media source path in media section Change 3910870 by Max.Preussner ImgMedia: Using deallocation thread pool only in debug builds Change 3919642 by Max.Chen Sequence Recorder: Clarify active tooltip #jira UE-55661 Change 3919660 by Max.Chen Sequencer: Sequence template source signatures are now also compared to catch the case where a sub-sequence asset has been saved but not modified - The following sequence of events exposes this issue: - Create a master sequence with a single shot that spawns a cube - Add this sequence to a level and set it to auto-play - Save everything and restart - Resave just the inner shot asset without opening it - PIE - The inner shot never spawns its cube because its template was wiped on save, but its signature never changed. Since the master sequence previously didn't check the template source signature, it ends up trying to evaluate an empty template. #jira UE-55626 #jira UE-55490 Change 3921825 by Max.Chen Sequencer: "Run Construction Script in Sequencer" is off by default for blueprints but on for Sequencer. This allows the content author to switch it on for specific blueprints and sequencer will be default, run those with construction scripts enabled. Change 3922232 by Max.Chen Sequence Recorder: Reset countdelay on stop. #jira UE-55755 Change 3922306 by Max.Chen Sequence Recorder: Don't automatically mark transforms to be recorded by sequence recorder. Instead, log a warning if the user toggled it off to warn that the resulting animation might not match gameplay. #jira UE-55758 Change 3922912 by Max.Chen Sequence Recorder: Fix refresh next sequence name #jira UE-55757 Change 3927654 by Max.Chen Movie Scene Capture: Added format mapping for the name of the current camera #jira UE-55769 PR #4537 Change 3927658 by Max.Chen Sequencer: Added fbx property mapping for "FocusDistance" to "FocusSettings.ManualFocusDistance" #jira UE-55782 Change 3932022 by Max.Chen Sequencer: Add import animation track section to next available row index. #jira UE-55892 Change 3933919 by Max.Chen Sequencer: Jump to playback start frame and not 0 to start playback for recording. #jira UE-55933 Change 3934307 by Andrew.Rodham Sequencer: Add template signature that is re-generated every time the base template is regenerated, which invalidates evaluation fields This fixes an issue where the same sequence is instantiated multiple times in a sequence. If the source sequence was saved, its template would be wiped, which would invalidate the template ID When an instance tries to evaluate the master template, it would only invalidate a range in the evaluation field that was the hull of any invalid sub sequences overlapping the current time, potentially leaving invalid data in the evaluation field at positions later (or earlier) on in the sequence When the sub template was re-generated, it receives the same SequenceSignature as it had before (because the sequence hasn't actually changed), which causes the stale evaluation field data to fail the IsDirty check (because the sequence is the same as it thought, but the *template* has changed) This has been addressed be adding a signature to templates themselves, and checking both the template signature and sequence signature as a part of the IsDirty check. This ensures that we regenerate if either the template, or the sequence have changed. #jira UE-55934 Change 3936327 by Andrew.Rodham Sequencer: Removed increment when trimming right UMovieSceneSection::TrimSection already explicity assigns an exclusive bound to the time passed in. The new behavior means we can trim a section to the right, and insert another section without changing the time to create adjacent sections. #jira UE-42652 Change 3936328 by Andrew.Rodham Fixed KeyFrameManipulator assignment operators and copy/move constructors - These types are potentially self-referential so cannot use default constructors/assignment Change 3936330 by Andrew.Rodham Converted UMGSequencePlayer to use frames internally #jira UE-54878 Change 3936726 by Max.Chen Sequencer: Set track node as the parent of the key area node. The key area switcher needs the object binding id from the parent object binding node. Without this, the binding to the external value fails. #jira UE-55931 Change 3936775 by Max.Chen Sequencer: Should stop or loop should compare DurationFrames with Current Time from StartTime. The bug is that if you set 30 warmup frames in movie rendering for a range of 0-100, the FrameRange will be starting at -30 and have a duration of 130. Without this fix, the playback will continue until frame 130, rather than 100. #jira UE-55933 Change 3936935 by Matt.Hoffman Easing Curves are now represented in Play Rate resolution instead of internal resolution. #jira UE-55937 Change 3937069 by Matt.Hoffman Users can toggle if the is infinite on each side, limited by which tracks support infinite ranges. #jira UE-55891 Change 3937516 by Max.Preussner ImgMedia: Added support for single-threaded platforms #jira UE-55986 Change 3937826 by Max.Preussner MediaAssets: Disabling media sound components on HTML5 if AudioMixer is not enabled Change 3937997 by Max.Chen Curve Editor: Add Zoom to Fit Curves so that selected curves from Sequencer can be focused on. Tested that undo doesn't re-zoom. #jira UE-55935 Change 3938000 by Max.Chen Sequencer: Stop all sounds before generating audio waveforms. #jira UE-55951 Change 3938376 by Max.Preussner XGEController: Disabled XGE Controller in single-threaded apps to prevent crash Change 3938444 by Max.Preussner Core: Added async support for single-threaded applications Change 3938445 by Max.Preussner Networking: Added support for single-threaded applications in UDP socket sender/receiver Change 3938447 by Max.Preussner Messaging: Added support for single-threaded applications Change 3939432 by Max.Chen Sequence Recorder: Append command list to global level editor actions so that shortcuts are accessible in level editor. #jira UE-55798 Change 3940229 by Andrew.Rodham Added prospective display rate upgrade to UMovieScene::PostLoad - There was previously some very odd behaviour that would assign the fixed frame interval only when a sub sequence was focused in SSequencer. This meant that many sequences could have a frame interval of 0 set in the data. - Under the old method of snap interval display this would have fallen back to getting the display interval from the sequencer settings, but we no longer look at these. - The USequencerSettings properties have been removed and in their place, a prospective data upgrade for sequences that have a fixed frame interval old 0fps that sets the play rate to the previous defaults based off the old USequencerSettings defaults. - This could end up 'changing' the display rate for sequences where the user has changed the snap interval in the settings for a particular sequence editor, but there's not much we can do about that given we don't have access to the USequencerSettings classes in UMovieScene #jira UE-55919 Change 3940277 by Andrew.Rodham Sequencer: Added ability to default frame resolutions and play rates for newly created actor sequences Change 3940378 by Andrew.Rodham Sequencer: Post move import dialog now defaults to the playback framerate of the sequence, and floors to frame numbers Change 3940559 by Andrew.Rodham Reinstated primed or recording sequence color Change 3940642 by Max.Preussner ImagePlate: Removed image plate media playback functionality Change 3940843 by Max.Preussner Core: Made TCircularQueue actually thread-safe; improved code comments Change 3940860 by Max.Chen Sequencer: Changed StructNameToKey to StructPathToKey Previously, keying a PropertyPath of [RenderTransform][Shear][X] would get trimmed to X, which doesn't map to a channel name as considered by Sequencer2dTransformTrackEditor. Instead, trim the resulting property path to [Shear][X] so that track editors can determine the desired struct path and channels to key. #jira UE-52966 Change 3941292 by Mike.Zyracki Fix for trajectories out of range not showing up. 1) If we had no key data we would pop the time, so wouldn't get the section ranges. 2) Calculating of upper bound was wrong, checking against -1 and not key == num of keys when doing algo::lower_bound. 3) No need to do the Bck-- for the bakward iterators since we fixed #2. We start now from the upper bound correctly. 4) If we had no keys (at section start,end) we would incorrectly say we were any key type, so since we draw constant keys as dashed we would do so incorrectly around section end points. #jira UE-55929 Change 3941424 by Max.Chen Curve Editor: Change Zoom to Fit to use TArrayView Change 3941498 by Max.Preussner Core: Added FMath::DivideAndRoundNearest function Change 3942097 by Matt.Hoffman Drop Frame Timecode Support for NTSC rates. Change 3942104 by Matt.Hoffman Sequence Recorder Group is no longer visible inside the World Outliner after using one. #jira 55266 Change 3942107 by Max.Chen Sequencer: Resurrect logic to find or extend an existing section when adding keys. Change 3942330 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942339 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942507 by Andrew.Rodham Sequencer: We no longer pad the time overlap threshold with a small number that is not scaled by the current zoom level - The presence of this pad was causing keys that were far apart to be grouped when zoomed in a long way Change 3942509 by Andrew.Rodham Sequencer: Only pad total view range, rather than section range as well when retrieving keys to render - This stops us from rendering keys that are within the view range, but outside the section range Change 3942512 by Andrew.Rodham Added transactions to some sequencer details customizations Change 3942513 by Andrew.Rodham Sequencer: Reinstated validation checks to UMovieSceneSection::SetStartFrame and SetEndFrame, changed erroneous uses to use SetRange Change 3942560 by Andrew.Rodham Pass by rvalue reference to appease error C2719 on Win32 ('InChannels': formal parameter with requested alignment of 8 won't be aligned) Change 3942697 by Andrew.Rodham Newly Created Level Sequences and Actor Sequences now default to 24000 fps frame resolution (+/- ~24hrs range, supporting all integer rates + 23.976) Change 3942700 by Andrew.Rodham Sequencer: Added legacy out-of-bounds errors for times that are not supported by the current legacy upgrade frame resolution Change 3942989 by Max.Preussner Core: Fixed circular queue count calculation Change 3943538 by Max.Preussner MediaAssets: Reverted workaround for procedural audio log spam in HTML5 (Actor component initialization cannot be skipped if the component is used in a level) Change 3944071 by Max.Preussner QAGame: Fixed Media Texture keeps last frame of Media when PIE ends #jira UE-53360 Change 3944292 by Max.Chen Sequencer: Added extra flags to ensure that asset initialization does not occur on template actor sequences #jira UE-56113 Change 3944364 by Max.Chen Sequencer: Prevent circular shot/master tracks. Tested adding master -> child -> master as drag and drop cinematic shot tracks and sub tracks as well as through the + button. #jira UE-56091 Change 3944422 by Max.Chen Sequence Recorder: Disable transform recording if off. #jira UE-56061 Change 3944745 by Andrew.Rodham Sequencer: Key rendering fixes - Fixed assert that occured when keys happened to reside on some times due to KeyTime + TimeOverlapThreshold - KeyTime being slightly larger TimeOverlapThreshold - Fixed keys sometimes being clipped when zoomed right in due to lack of half-frame offset - Added missing documentation to MovieSceneTimeHelpers.h #jira UE-56107 Change 3945231 by Andrew.Rodham Sequencer: Reconstruct channel proxy on Serialize to catch all cases of undo/redo, PostLoad and duplication #jira UE-56089 Change 3945301 by Andrew.Rodham Sequencer: Added safety checks during initial sequence recording to guard against applying negative or 0-sized sequence ranges #jira UE-56125 Change 3946627 by Max.Preussner Fortnite: Fixed game crashes closing editor while in PIE - Pure virtual function being called #jira UE-56144 [CL 3946896 by Max Chen in Main branch]
2018-03-14 22:09:33 -04:00
FSequencerTimeSliderController::FSequencerTimeSliderController( const FTimeSliderArgs& InArgs, TWeakPtr<FSequencer> InWeakSequencer )
: WeakSequencer(InWeakSequencer)
, TimeSliderArgs( InArgs )
Copying //UE4/Dev-Build to //UE4/Dev-Main (Source: //UE4/Dev-Build @ 3104200) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3096076 on 2016/08/22 by Matthew.Griffin Fixes for building with -nosharedPCH Added nodes for building with -nosharedPCH and -noPCH but not using them by default as they take so much longer than NonUnity and there are still errors with -noPCH Change 3097064 on 2016/08/22 by Ben.Marsh Core: Refactoring OutputDevice.h, OutputDevices.h, FeedbackDevice.h, CallbackDevice.h into one-class per file, and files named after their classes. Change 3097102 on 2016/08/22 by Ben.Marsh Core: Move log macros and related functionality into the Logging folder. Change 3097240 on 2016/08/22 by Ben.Marsh Core: Move FCommandLine into its own header. Change 3097258 on 2016/08/22 by Ben.Marsh Core: Move FFileHelper into its own header. Change 3097279 on 2016/08/22 by Ben.Marsh Core: Split FArchive derived classes into separate headers per class. Change 3097742 on 2016/08/23 by Ben.Marsh UnrealGameSync: Add the -r5 parameter to P4 sync command lines, to retry syncs on poor connections before failing. Change 3099283 on 2016/08/24 by Ben.Marsh Core: Move math functions which are dependent on multiple class definitions into individual class headers. This forces an include order, but allows us to include individual math classes separately. Would ideally split out the FMath class into a Math namespace and declare/implement things like intersection tests and interpolation routines in separate headers. Change 3099417 on 2016/08/24 by Ben.Marsh CoreUObject: Separating out UObject archive classes into separate headers. Change 3099544 on 2016/08/24 by Ben.Marsh CoreUObject: Rename UTextProperty.h/cpp to TextProperty.h/cpp Change 3099678 on 2016/08/24 by Ben.Marsh CoreUObject: Rename ObjectBase.h to ObjectMacros.h to avoid ambiguiity with UObjectBase.h, and move Interface.h/cpp into the UObject folder. Change 3099951 on 2016/08/24 by Ben.Marsh Core: Split out ThreadingBase into class-per-file headers. Change 3102385 on 2016/08/26 by Matthew.Griffin First round of fixes from attempting to compile Editor in Monolithic mode Changed multiple DetermineOptimalSpacing free functions to be members of their respective classes Changed duplicate FScopedTempFile classes to be named for their respective source control types (Git & SVN) Export Declaration of LogUnrealAudioDevice extern instead of defining it in multiple modules Changed duplicate FDiffResultItem struct to FTreeDiffResultItem Added FORCEINLINE to FFeaturedClasses functions in .inl file Change 3102728 on 2016/08/26 by Ben.Marsh Core: Move threading classes from ThreadingBase.h into separate headers, and globals into CoreGlobals.h. Change 3102850 on 2016/08/26 by Ben.Marsh Core: Move FCriticalSection into its own file (CriticalSection.h and platform-specific versions). Change 3102877 on 2016/08/26 by Ben.Marsh Core: Move definitions of GLog, GError, GWarn into CoreGlobals.h Change 3102898 on 2016/08/26 by Ben.Marsh Core: Move supporting assert functionality (the FDebug class) into AssertionMacros.h to remove circular header dependencies. Change 3102956 on 2016/08/26 by Ben.Marsh Core: Move FExec into its own header (Misc/Exec.h) Change 3102961 on 2016/08/26 by Ben.Marsh Core: Fix matrix functions referencing the forceinline'd FMatrix constructor before it's declared. Change 3102982 on 2016/08/26 by Ben.Marsh Core: Move FMessageDialog into its own header (Misc/MessageDialog.h) Change 3103008 on 2016/08/26 by Ben.Marsh Core: Move definition of LowLevelFatalError into AssertionMacros.h. Change 3103040 on 2016/08/26 by Ben.Marsh Core: Move FError::Throwf (only enabled for UHT) into its own header in CoreUObject. Change 3103057 on 2016/08/26 by Ben.Marsh Core: Move FMsg function definitions into the LogMacros.h header, where it's primarily used from. Change 3103102 on 2016/08/26 by Ben.Marsh Core: Make the LogMacros.h header standalone. Untangles a few header dependencies necessary to include log macros early on. Global Core log channels are now defined in CoreGlobals.h Change 3103160 on 2016/08/26 by Ben.Marsh CoreUObject: Separate Linker.h into LinkerLoad.h, LinkerSave.h, PackageFileSummary.h, ObjectResource.h (matching existing cpp files). Change 3103265 on 2016/08/26 by Ben.Marsh Core: Split FScriptArray, TMRUArray, TTransArray, TIndirectArray into separate headers. Change 3103642 on 2016/08/26 by Ben.Marsh Core: Remove reference to FMath function from allocator, to avoid unnecessarily bringing in math library. [CL 3104315 by Ben Marsh in Main branch]
2016-08-29 10:27:24 -04:00
, DistanceDragged( 0.0f )
, MouseDragType( DRAG_NONE )
, bMouseDownInRegion(false)
Copying //UE4/Dev-Build to //UE4/Dev-Main (Source: //UE4/Dev-Build @ 3104200) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3096076 on 2016/08/22 by Matthew.Griffin Fixes for building with -nosharedPCH Added nodes for building with -nosharedPCH and -noPCH but not using them by default as they take so much longer than NonUnity and there are still errors with -noPCH Change 3097064 on 2016/08/22 by Ben.Marsh Core: Refactoring OutputDevice.h, OutputDevices.h, FeedbackDevice.h, CallbackDevice.h into one-class per file, and files named after their classes. Change 3097102 on 2016/08/22 by Ben.Marsh Core: Move log macros and related functionality into the Logging folder. Change 3097240 on 2016/08/22 by Ben.Marsh Core: Move FCommandLine into its own header. Change 3097258 on 2016/08/22 by Ben.Marsh Core: Move FFileHelper into its own header. Change 3097279 on 2016/08/22 by Ben.Marsh Core: Split FArchive derived classes into separate headers per class. Change 3097742 on 2016/08/23 by Ben.Marsh UnrealGameSync: Add the -r5 parameter to P4 sync command lines, to retry syncs on poor connections before failing. Change 3099283 on 2016/08/24 by Ben.Marsh Core: Move math functions which are dependent on multiple class definitions into individual class headers. This forces an include order, but allows us to include individual math classes separately. Would ideally split out the FMath class into a Math namespace and declare/implement things like intersection tests and interpolation routines in separate headers. Change 3099417 on 2016/08/24 by Ben.Marsh CoreUObject: Separating out UObject archive classes into separate headers. Change 3099544 on 2016/08/24 by Ben.Marsh CoreUObject: Rename UTextProperty.h/cpp to TextProperty.h/cpp Change 3099678 on 2016/08/24 by Ben.Marsh CoreUObject: Rename ObjectBase.h to ObjectMacros.h to avoid ambiguiity with UObjectBase.h, and move Interface.h/cpp into the UObject folder. Change 3099951 on 2016/08/24 by Ben.Marsh Core: Split out ThreadingBase into class-per-file headers. Change 3102385 on 2016/08/26 by Matthew.Griffin First round of fixes from attempting to compile Editor in Monolithic mode Changed multiple DetermineOptimalSpacing free functions to be members of their respective classes Changed duplicate FScopedTempFile classes to be named for their respective source control types (Git & SVN) Export Declaration of LogUnrealAudioDevice extern instead of defining it in multiple modules Changed duplicate FDiffResultItem struct to FTreeDiffResultItem Added FORCEINLINE to FFeaturedClasses functions in .inl file Change 3102728 on 2016/08/26 by Ben.Marsh Core: Move threading classes from ThreadingBase.h into separate headers, and globals into CoreGlobals.h. Change 3102850 on 2016/08/26 by Ben.Marsh Core: Move FCriticalSection into its own file (CriticalSection.h and platform-specific versions). Change 3102877 on 2016/08/26 by Ben.Marsh Core: Move definitions of GLog, GError, GWarn into CoreGlobals.h Change 3102898 on 2016/08/26 by Ben.Marsh Core: Move supporting assert functionality (the FDebug class) into AssertionMacros.h to remove circular header dependencies. Change 3102956 on 2016/08/26 by Ben.Marsh Core: Move FExec into its own header (Misc/Exec.h) Change 3102961 on 2016/08/26 by Ben.Marsh Core: Fix matrix functions referencing the forceinline'd FMatrix constructor before it's declared. Change 3102982 on 2016/08/26 by Ben.Marsh Core: Move FMessageDialog into its own header (Misc/MessageDialog.h) Change 3103008 on 2016/08/26 by Ben.Marsh Core: Move definition of LowLevelFatalError into AssertionMacros.h. Change 3103040 on 2016/08/26 by Ben.Marsh Core: Move FError::Throwf (only enabled for UHT) into its own header in CoreUObject. Change 3103057 on 2016/08/26 by Ben.Marsh Core: Move FMsg function definitions into the LogMacros.h header, where it's primarily used from. Change 3103102 on 2016/08/26 by Ben.Marsh Core: Make the LogMacros.h header standalone. Untangles a few header dependencies necessary to include log macros early on. Global Core log channels are now defined in CoreGlobals.h Change 3103160 on 2016/08/26 by Ben.Marsh CoreUObject: Separate Linker.h into LinkerLoad.h, LinkerSave.h, PackageFileSummary.h, ObjectResource.h (matching existing cpp files). Change 3103265 on 2016/08/26 by Ben.Marsh Core: Split FScriptArray, TMRUArray, TTransArray, TIndirectArray into separate headers. Change 3103642 on 2016/08/26 by Ben.Marsh Core: Remove reference to FMath function from allocator, to avoid unnecessarily bringing in math library. [CL 3104315 by Ben Marsh in Main branch]
2016-08-29 10:27:24 -04:00
, bPanning( false )
, DragMarkIndex( INDEX_NONE )
Copying //UE4/Dev-Build to //UE4/Dev-Main (Source: //UE4/Dev-Build @ 3104200) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3096076 on 2016/08/22 by Matthew.Griffin Fixes for building with -nosharedPCH Added nodes for building with -nosharedPCH and -noPCH but not using them by default as they take so much longer than NonUnity and there are still errors with -noPCH Change 3097064 on 2016/08/22 by Ben.Marsh Core: Refactoring OutputDevice.h, OutputDevices.h, FeedbackDevice.h, CallbackDevice.h into one-class per file, and files named after their classes. Change 3097102 on 2016/08/22 by Ben.Marsh Core: Move log macros and related functionality into the Logging folder. Change 3097240 on 2016/08/22 by Ben.Marsh Core: Move FCommandLine into its own header. Change 3097258 on 2016/08/22 by Ben.Marsh Core: Move FFileHelper into its own header. Change 3097279 on 2016/08/22 by Ben.Marsh Core: Split FArchive derived classes into separate headers per class. Change 3097742 on 2016/08/23 by Ben.Marsh UnrealGameSync: Add the -r5 parameter to P4 sync command lines, to retry syncs on poor connections before failing. Change 3099283 on 2016/08/24 by Ben.Marsh Core: Move math functions which are dependent on multiple class definitions into individual class headers. This forces an include order, but allows us to include individual math classes separately. Would ideally split out the FMath class into a Math namespace and declare/implement things like intersection tests and interpolation routines in separate headers. Change 3099417 on 2016/08/24 by Ben.Marsh CoreUObject: Separating out UObject archive classes into separate headers. Change 3099544 on 2016/08/24 by Ben.Marsh CoreUObject: Rename UTextProperty.h/cpp to TextProperty.h/cpp Change 3099678 on 2016/08/24 by Ben.Marsh CoreUObject: Rename ObjectBase.h to ObjectMacros.h to avoid ambiguiity with UObjectBase.h, and move Interface.h/cpp into the UObject folder. Change 3099951 on 2016/08/24 by Ben.Marsh Core: Split out ThreadingBase into class-per-file headers. Change 3102385 on 2016/08/26 by Matthew.Griffin First round of fixes from attempting to compile Editor in Monolithic mode Changed multiple DetermineOptimalSpacing free functions to be members of their respective classes Changed duplicate FScopedTempFile classes to be named for their respective source control types (Git & SVN) Export Declaration of LogUnrealAudioDevice extern instead of defining it in multiple modules Changed duplicate FDiffResultItem struct to FTreeDiffResultItem Added FORCEINLINE to FFeaturedClasses functions in .inl file Change 3102728 on 2016/08/26 by Ben.Marsh Core: Move threading classes from ThreadingBase.h into separate headers, and globals into CoreGlobals.h. Change 3102850 on 2016/08/26 by Ben.Marsh Core: Move FCriticalSection into its own file (CriticalSection.h and platform-specific versions). Change 3102877 on 2016/08/26 by Ben.Marsh Core: Move definitions of GLog, GError, GWarn into CoreGlobals.h Change 3102898 on 2016/08/26 by Ben.Marsh Core: Move supporting assert functionality (the FDebug class) into AssertionMacros.h to remove circular header dependencies. Change 3102956 on 2016/08/26 by Ben.Marsh Core: Move FExec into its own header (Misc/Exec.h) Change 3102961 on 2016/08/26 by Ben.Marsh Core: Fix matrix functions referencing the forceinline'd FMatrix constructor before it's declared. Change 3102982 on 2016/08/26 by Ben.Marsh Core: Move FMessageDialog into its own header (Misc/MessageDialog.h) Change 3103008 on 2016/08/26 by Ben.Marsh Core: Move definition of LowLevelFatalError into AssertionMacros.h. Change 3103040 on 2016/08/26 by Ben.Marsh Core: Move FError::Throwf (only enabled for UHT) into its own header in CoreUObject. Change 3103057 on 2016/08/26 by Ben.Marsh Core: Move FMsg function definitions into the LogMacros.h header, where it's primarily used from. Change 3103102 on 2016/08/26 by Ben.Marsh Core: Make the LogMacros.h header standalone. Untangles a few header dependencies necessary to include log macros early on. Global Core log channels are now defined in CoreGlobals.h Change 3103160 on 2016/08/26 by Ben.Marsh CoreUObject: Separate Linker.h into LinkerLoad.h, LinkerSave.h, PackageFileSummary.h, ObjectResource.h (matching existing cpp files). Change 3103265 on 2016/08/26 by Ben.Marsh Core: Split FScriptArray, TMRUArray, TTransArray, TIndirectArray into separate headers. Change 3103642 on 2016/08/26 by Ben.Marsh Core: Remove reference to FMath function from allocator, to avoid unnecessarily bringing in math library. [CL 3104315 by Ben Marsh in Main branch]
2016-08-29 10:27:24 -04:00
{
ScrubFillBrush = FEditorStyle::GetBrush( TEXT( "Sequencer.Timeline.ScrubFill" ) );
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 4044339) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3947021 by Max.Chen Sequencer: Don't preserve root component when copying object properties. A spawnable empty actor, has a root component that is generated by the empty actor factory. If the object template's root component is preserved when copying from the spawnable empty actor, the root component will not be copied over. Therefore, we need to NOT preserve the root component when copying object properties. #jira UE-55825 Change 3947366 by Max.Preussner WmfMedia: Better log output Change 3947367 by Max.Preussner MfMedia: Better detection of compressed format properties on Windows Change 3949102 by Max.Chen Sequencer: Remove SequenceActorTag when converting to possessable. #jira UE-56206 Change 3949207 by andrew.porter EngineTest: Set the screenshot nodes resolution to 1280x720 Change 3949404 by Max.Chen Sequencer: More informative tooltip for "Rerun Construction Scripts" option. It now says "Rerun construction scripts every frame on actors that have 'Rerun Construction Script in Sequencer' enabled in their class settings". Change 3950067 by Matt.Hoffman Renamed UAutomatedLevelSequenceCapture's StartFrame and EndFrame to CustomStartFrame/CustomEndFrame to reflect that it is user-overriden. This will also resolve upgrade issues due to the variable datatype changing. #jira UE-56189 Change 3950193 by JohnHenry.Carawon Updating my latest MovieRendering test content. Change 3950757 by JohnHenry.Carawon More updates to MovieRendering test content Change 3952059 by Max.Chen Resave LevelVisibility_SubLevels to fix data loss conversion warning of OpacityMaskConstant #jira UE-56086 Change 3952283 by Max.Chen Sequencer: Disable dropping level sequence assets as spawnables. #jira UE-56120 Change 3952422 by Max.Chen Sequence Recorder: Add button to record from the current player. #jira UE-55942 Change 3952987 by JohnHenry.Carawon MovieRendering Test Content - Fixing camera bindings and changing the override binding actor Change 3953823 by Mike.Zyracki Fix for Bad FBX Import Tangents not scaled by frame rate. After looking at this again it seems that a set of MovieScene:: overiddes for the channel traits wasn't set correctly, so use the ADL idiom to use MovieScene, which can then call Optimize in the correct namespace. With this we can now correctly use the passed in tolerance. There was also a redundant set of Optimize calls so that it could happen twice so removed them, and needed an extra check in the float channel Optimize. Also since we need to set auto tangents no matter if we optimize we don't set that parameter(though leave it since it's used by context menu key reduction). Finally fixed speed issue with trajectories caused by calculating way too many substeps. Reverted back to a time based step size for consistency. #jira UE-56193 Change 3954317 by Matt.Hoffman Adding a key to the last frame of a section no longer causes a crash. Keys can already be moved to be on the last frame of a section so now you can just add a key there directly. #jira UE-56255 Change 3954326 by Matt.Hoffman Dilating a section that is only infinite on one side no longer causes a crash. #jira UE-56260 Change 3954486 by Max.Chen PR #4580: Exposes IsReversed() from UMovieSceneSequencePlayer (Contributed by alanedwardes) Change 3955238 by Max.Preussner Messaging: Enabled delayed message routing https://github.com/EpicGames/UnrealEngine/pull/4574 #jira UE-56247 Change 3955901 by Max.Preussner MediaFrameworkTest: Added developer test for overriding desired media player plug-in at runtime. Change 3955922 by Andrew.Porter QAGame: Updating movie rendering content in dev folder Change 3956004 by andrew.porter QAGame: Adding MPC track to movie rendering test content Change 3956510 by Max.Chen Sequencer: Fix fbx camera import of static properties so that they are imported before default tracks are created. Otherwise, the default tracks inherit the default properties of the camera, rather than the values from the fbx. #jira UE-56311 Change 3957613 by Max.Preussner MediaUtils: Added code documentation to media player facade Change 3958005 by Max.Preussner MediaUtils: Added method to get number of sinks Change 3958934 by Max.Chen Sequencer: Fix keys getting added and sequence getting erroneously re-evaluated when auto key is off. Only apply defaults if there are no keys. Only modify the movie scene section before creating keys or setting defaults. #jira UE-55903 Change 3959687 by Andrew.Rodham Sequencer: Fixed visibility track external values being inverted #jira UE-56324 Change 3960507 by Max.Preussner Core: Fixed incorrect rounding in FMath::DivideAndRoundNearest Change 3962047 by JohnHenry.Carawon MovieRendering Test Content Changes: - Add Lightmass Importance Volumes to sublevel to fix warnings - Rebuilt Lighting - Add a third sequence for Gamut testing - Resaved the sound master.uasset to fix warning Change 3962211 by Mike.Zyracki Add Frame Numbers to selected animation sections. Added MapTimeToAnimation to MovieSceneSkeletalAnimation so that we could get it from the Skeleton Animation track Editor. Since the thickness of the frame line can change based upon frame rate and zoom we need to calculate it similarly to how the time slider controller does it. Those calculations were private so we had to expose FScrubRangeToScreen and GetScubberPixelRange from the TimeSliderController. Also needed to know if the section itself was selected so added a bIsSelected flag to the section Painter. Also fixed a bug where you couldn't add a section if other sections existed at different times in MovieScenePropertyTrack and could crash due to the check(). #jira UESEQ-395 Change 3962497 by Max.Preussner Core: Added new string formatting argument to FTimespan Change 3963662 by Max.Chen CineCamera: Flip VistaVision width and height. Change 3963731 by Max.Preussner MediaCompositing: Implemented sequence recording support for media track Change 3964195 by Andrew.Rodham Sequencer: Set inverted property correctly for newly created visibility track sections - Also clamp evaluation for key editors to the bounds of the section so we're not displaying values outside of the section bounds when the cursor is not on the bounds #jira UE-56324 #coderevew Max.Chen Change 3964196 by Andrew.Rodham Sequencer: Fixed crash when attempting to render sections that resulted in a negative intersection with the view range Change 3964275 by Andrew.Rodham Sequencer: Fixed MovieScene::ClampToDiscreteRange for infinite range bounds Change 3964364 by Andrew.Rodham Curve Editor: Reduce minimum vertical view range when zooming to fit Change 3965091 by Max.Chen Sequencer Recorder: Refresh next sequence if empty when starting a recording, otherwise, use existing name. #jira UE-56469 Change 3965148 by Max.Chen Sequence Recorder: Move Record to Possessable to "Actor Recording" group Change 3965162 by Max.Chen Sequence Recorder: Always break out of immersive mode when done recording, even when stopping recording during countdown. #jira UE-56407 Change 3965214 by Max.Preussner QAGame: Enabled ImagePlate plug-in Change 3965574 by Max.Preussner SimpleComposure: Reorganized & upgraded content to work with new Media Track #jira UE-56488 Change 3965651 by Max.Preussner MediaCompositing: Ignoring seek-on-open if media not seekable Change 3966075 by Christina.TempelaarL Sequencer: Added Final Cut Pro 7 XML Export functionality #jira UESEQ-358 Change 3966087 by Matt.Hoffman Adding a single key to the Particle Toggle track now makes an infinite range section that is displayed in the UI. #jira UE-56295 Change 3966547 by Andrew.Rodham Sequencer: Fixed rounding errors when drawing the section background on boolean sections - Logic was using time in sectonds which caused rounding errors on evaluation and flickering red/green stripes when dragging keys around #jira UE-56324 Change 3966563 by Andrew.Rodham Curve Editor: Key editor interface improvements - SKeyEditInterface has a few problems - it does not update in real time when editing properties, and does not support multi-edit which makes it unsuitable for use with the curve editor - We now take a different approach for editing keys by gathering a set of proxy UObjects for each key that is currently selected. These objects are added as top level objects to the details panel which means they support multi edit as you'd expect from any other details panel in the editor. - Proxy objects are updated every tick for the curve editor if they implement the ICurveEditorKeyProxy interface, which allows them to refresh their current value. - Ideally, the same mechanisms would be used in the main sequence interface, and we would be generating the proxy classes at runtime based on the key value type, but that work remains a separate task from this initial offering. #jira UE-56165 Change 3966564 by Andrew.Rodham Curve Editor: Expand to frame when adding or moving keys in the curve editor Change 3967051 by andrew.porter MediaFrameworkTest: Set the CameraPlayer_Video texture to auto clear Change 3967141 by Andrew.Rodham Sequencer: Keep track of spawned objects that have been modified and only re-save such object's default spawnable state on destruction - Now that we're taking this approach, I've remove serveral redundant bits of functionality in the spawn register such as making some spawnables read-only, and the PreSave binding for Sequencer. - We now hook into all object pre-saves to make sure we handle the case where the sequences are saved through the content browser or elsewhere. #jira UE-47686 Change 3967170 by Andrew.Rodham Sequencer: Added the ability to possess anim instances as object bindings - This allows full and direct animation of properties on UAnimInstance, and animation blueprints - Object Bindings are made by first possessing a skeletal mesh component, then choosing the + Add button where its anim instance will be listed - Added a new function to UMovieSceneSequence to gather previously cached objects that should now be invalidated. Anim instances will be re-resolved if a new UAnimInstance is assigned to USkeletalMeshComponent::GetAnimInstance. - ObjectBindingIDs for anim instances are just represented by an entry in a set of GUIDs. We only ever resolve such bindings through USkeletalMeshComponent::GetAnimInstance. - Only currently supported on LevelSequences #jira UE-56132 Change 3967195 by Max.Preussner Core: Updated TRangeSet to use TCallTraits Change 3967345 by JohnHenry.Carawon Test Content Changes - first iteration of spacing out the examples in the shots. Change 3967572 by Max.Chen Sequencer: Fix setting PreviousPlayEvalPosition until after we've tested whether it's set. #jira UE-56518 Change 3967750 by Max.Chen Audio: Set duration based on number of input channels, rather than number of channels to serialize. This fixes an issue where audio split into 2 channels is set to a duration that's twice as long. #jira UE-56430 Change 3967836 by Max.Chen Sequencer: Allow for animating array elements within ustruct properties #jira UE-55887 Change 3968506 by Matt.Hoffman Fixed ambiguous conversions for seconds and frames being overriden by ambiguous conversion to Timecode (in frames). Change 3968748 by Max.Chen Sequencer: Make the event properties submenu widget larger. #jira UE-55557 Change 3968862 by Max.Chen Sequencer: Recursive expansion when shift is down #jira UE-52139 #pr 4194 Change 3968863 by Max.Chen Sequencer: Bind rename command to selected track so that F2 shortcut start renaming #jira UE-52139 #pr 4194 Change 3968872 by Max.Chen Sequencer: Rekey the selected key at the current time. #jira UESEQ-396 Change 3968938 by Max.Chen Cine Camera: Add option to toggle the behavior of locking the rail mount to the orientation of the spline. By default, the option is off, no change in behavior. #jira UE-55815 Change 3968958 by Andrew.Rodham Sequencer: Consider vertical position when hittesting keys #jira UE-56256 Change 3969643 by Max.Preussner Core: Rounding timespans created from double values towards nearest ticks Change 3969646 by Max.Preussner MediaUtils: Implemented timeout mechanism for block-on-fetch feature Change 3969776 by Mike.Zyracki Added Skip Anim Notifiers Toggle per what was in Matinee. Investigated the Enable Root Motion toggle as also discussed but it's implementation is directly contained by the animation asset and unlike animation notifies there seems to be no exposure to interactively disable it during a playback tick. Note if we are generating thumbnails we still automtically disable notifies in the editor to avoid annoying noise playback. Note that if Enable Root Motion/Root locked is specified in the animation asset it does correctly effect the Sequencer. #jira UESEQ-399 Change 3969835 by Matt.Hoffman Playback Range and Selection Range use unified logic for adding themselves as potential snap locations which properly handles inclusive/exclusive bounds. This resolves an issue where having an unset selection range caused a potential snap location to be added on frame 0 and 1 (internal resolution) which caused a misalignment when placing objects near frame 0. This also removes the one frame offset on setting Selection Range to bring behavior inline with other ranges. #jira UE-55420 Change 3969885 by Max.Preussner MediaAssets: Don't register media player CDO with media ticker Change 3971129 by Andrew.Rodham Sequencer: Fixed UMovieSceneSequencePlayer::GotToEndAndStop() not taking into account for start time This is a remnant from when the times were always specified in 0-duration space, rather than actual sequence times. Change 3972056 by JohnHenry.Carawon More updates to Test Content. I continued spacing out the examples in the sequence so that they have a consistent number of frames between each example and during the start/end of the example. Also removed the Marcie sublevel. Change 3972066 by Andrew.Porter MediaFrameworkTest: Setting Marcie folder to be never cooked in package settings Change 3972675 by Matt.Hoffman Splitting Subsequence Sections no longer sets an incorrect playback range on the subsequence when the subsequence has a different internal resolution than the owning sequence. #jira UE-55453 Change 3973376 by Max.Preussner ImgMedia: Zero is the only valid video track for image sequences Change 3973489 by Max.Preussner Launch: Build rules cleanup pass - don't use Media, MediaUtils on server apps - don't link against Media (include-only dependency) - don't include from MediaAssets (dynamic load only) Change 3973760 by Max.Preussner MediaUtils: Moved AppMediaTimeSource implementation into its own file; added logging Change 3973765 by Max.Preussner ImgMedia: Disallowing seek beyond media length Change 3973855 by Max.Preussner MediaFrameworkTest: Updated developer test content Change 3973858 by Max.Preussner MediaCompositing: Blocking on media player time instead of media sample time (the former may not be hit in the current frame) Change 3974988 by Max.Chen Sequencer: Fix trim left so that it also sets the start offset for audio and skeletal animation sections. #jira UE-57015 Change 3976101 by Matt.Hoffman Sequencer will now focus the scroll view on newly created items. #jira UE-56492 Change 3976203 by Max.Chen Property Editor: Add DetailsViewArgs for ColumnWidth. Defaults to 0.65f, no change in existing behavior. Change 3976205 by Max.Chen Sequencer: Set better column widths for sequencer. #jira UE-55557 Change 3976206 by Max.Chen Sequencer: Added menu category for import/export Change 3976265 by Matt.Hoffman Tracks within Object Binding Nodes will now sort using the old behavior so that components are added above other track types. #jira UE-56473 Change 3976901 by Max.Chen Sequencer: Add event names to event track section #jira UESEQ-353 Change 3977878 by Max.Preussner Media: Moved media framework ticking stats into Media module Change 3977982 by Max.Chen Sequencer: Add Edit->Reset section length to duration of source (ie. audio, skeletal animation, shot length) Added MovieSceneSection::GetDefaultDuration and MovieScene::HasDefaultDuration #jira UESEQ-392 Change 3977994 by Max.Preussner Media: Fetching and rendering media samples before viewports are rendered (to ensure frame sync for in-level media playback) #jira UE-53975 Change 3978188 by Matt.Hoffman Easing Curves are now clipped by the sequence's PlayRange when testing against an infinite section. This causes blended sequences to finish their blend when the section starts/ends instead of always using 25% of the total section length to determine default blend range. #jira UE-56362 Change 3978676 by Max.Preussner MediaCompositing: Fixed first frame of rendered out media track missing #jira UE-53975 Change 3978684 by Max.Preussner MediaCompositing: Enabled media track frame sync feature #jira UE-53975 Change 3980026 by Matt.Hoffman Keys can be selected on folded out sections (such as an audio track expanded to show volume and pitch) again. #jira UE-57169 Change 3981614 by Max.Preussner MediaUtils: Added missing subtitle sample queue flush Change 3982311 by Max.Preussner MediaCompositing: Added safeguard for zero length media sources Change 3982389 by andrew.porter QAGame: Adding media track test content into FrameAccuracySubscene Change 3983661 by Max.Chen Sequencer: Add level name to spawn a spawnable into. Add sublevel menu option to set the level #jira UESEQ-390 Change 3983712 by Andrew.Rodham Sequencer: Purge legacy blueprint spawnables from LevelSequence packages #tests Ran a preflight for cooking fortnite, ocean and Orion. Only orion shows up this edge case, and will require a re-save of the EndCines level #jira UE-39173 Change 3983787 by Max.Preussner MediaCompositing: Moved compile time switch for block-on-fetch into media player facade Change 3983812 by Andrew.Rodham Sequencer: Exposed default level sequence instance data to blueprints Change 3984373 by Max.Preussner Media: Added API for quering whether player plug-in supports block on fetch Block on fetch allows Sequencer and other systems to block the game thread until a desired video frame has been decoded. Change 3984670 by JohnHenry.Carawon Movie Rendering Test Content progress. Saving the state of the content. There is a bug where things got replaced with particle emitters and I think it was because I tried to copy paste an animation track into a separate skeletal mesh track. Change 3985097 by Max.Chen Sequencer: Rename Reset to AutoSize Change GetAutoSizeDuration to return TOptional<FFrameTime> #jira UESEQ-392 Change 3986043 by Max.Chen Sequencer: Fix crash when attach/path duration is less than 0. #jira UE-57310 Change 3986373 by Max.Chen Sequencer: Add support for deleting tracks and channels which equates to setting the channel mask. #jira UE-52951 Change 3986375 by Max.Chen Sequencer: Add Create Pose Asset to skeletal animation section. This allows animators to blend animations in sequencer and create new pose assets from them. #jira UESEQ-408 Change 3986796 by Andrew.Rodham Sequencer: Fixed stale object references remaining in ULevelSequence::BindingReferences when using convert to spawnable/possessable - We used to convert objects by creating a new binding, then re-assigning its GUID, which meant we didn't have to do any further object fixup, but the code to achieve this was confusing and led to a vulnerability where object references would not be cleaned up correctly due to the newly created possessable essentially being a temporary object that's immediately thrown away. - To address this, there is now a function for porting all the contents of one object binding to another, and handles the correct fixup required for parent/child object bindings for both spawnables and possessables. - Also added codepath to remove any stale object references from the level sequence reference map on PostLoad (this piggy-backs off the PurgeLegacyBlueprints object version which is close close enough to this change to be identical) #tests Verified that existing sequences with stale references get cleaned up on load. Verified that repreatedly converting from spawnable<->possessable cleans up references correctly. Change 3987807 by JohnHenry.Carawon Updates to the MovieRendering Test Content. - Fixed the spawnable actors that were overwritten - Shortend the Lighting example and combined the Intensity and Color tracks - Organized the Sequence and WorldOutliner to group the examples. Change 3988151 by Max.Chen Cine Camera: Enable keying the "Enable Look at Tracking" toggle. Change 3988880 by Max.Chen Sequencer: Support enter to add asset for all sequencer track editors that have asset pickers. #jira UE-57367 Change 3988953 by Max.Chen Sequencer: Make the track color picker focusable so that it will close when you click away or lose focus. #jira UE-57210 Change 3988962 by Max.Chen MovieSceneCapture: Fix EDL export so that it takes into account movie scene frame resolution and desired frame rate. #jira UE-57365 Change 3988964 by Max.Chen Movie Scene Capture: Clarified tooltip for bRelativeFrameNumbers. If you specify custom start/end frames for the recording, they will be relative to the playback range. #jira UE-57308 Change 3989442 by Max.Chen Fix CIS Change 3991548 by Matt.Hoffman Dragging the time slider no longer causes the time slider to ignore snap-to-interval with "Snap to Keys While Scrubbing" when no keys are in range. #jira UE-57417 Change 3991598 by Matt.Hoffman Snap to Key while scrubbing now mirrors the behavior of "jump to next key". When there are no tracks selected it snaps to all keys and when there are tracks selected it snaps to only keys from that track. This also resolves an issue where deleting an object did not remove it from the Sequencer's selection. Undoing a delete already doesn't seem to restore your selection, so removing it from your selection shouldn't change that behavior. #jira UE-57417 Change 3991603 by Max.Chen Sequencer: Disable EditAnywhere for some section properties #jira UE-53530 Change 3992240 by Max.Preussner MediaAssets: Implemented dynamic audio sample rate adjustment based on audio/media clock drift #jira FORT-70638 Change 3992911 by Andrew.Rodham Sequencer: Fixed saving spawnable state using the wrong spawned object - We now track the object binding ID so that we can apply the spawned object to the correct spawnable when the asset is saved #jira UE-57353 Change 3992914 by Max.Chen Movie Scene Capture: Fix compression quality not being set. The compression interface wasn't being found through query interface, so no compression was being set. Reworked finding it through the output pins. Tested running various compression values. #jira-UE-55488 Change 3992919 by Max.Chen Sequencer: Convert to possessable now uses object template instead of copying properties (ie. see LevelSequenceActorSpawner). This fixes MIDs getting lost when converting to spawnable and back to possessable. #jira UE-52400 Change 3993184 by Max.Chen Sequencer: Don't show +Transform/+Path/+Attach track if the actor has the "Mobility" property hidden. Set the Landscape, LandscapeProxy and InstancedFoliage "Mobility" property to be hidden since it is static is not supposed to be dynamically movable. #jira UE-56347 Change 3993238 by Max.Chen Sequencer: Test for hidden mobility in creating keys as well. Refactored to HasHiddenMobility() #jira UE-56347 Change 3993978 by Max.Chen Cine Camera: Enable keying the "Enable Look at Tracking" toggle. #jira UE-57489 Change 3994039 by Max.Chen Landscape: Add Mobility to hidecategories on landscape component #jira UE-56347 Change 3994626 by JohnHenry.Carawon Updated Movie Rendering Test Content. - Fixed the overridden spawnables to their proper object types. Change 3994653 by Christina.TempelaarL Sequencer: Added Final Cut Pro 7 XML Import functionality, improved Export functionality #jira UESEQ-358 Change 3995609 by Max.Chen UMG: Add support for 2d transform mask (translation, rotation, scale, shear) #jira UE-52951 Change 3995778 by JohnHenry.Carawon Movie Rendering Test Content Updates - Adjusted Lights example - Adjusted Camera example - Added Marcie sublevel back in Change 3995942 by JohnHenry.Carawon QAGame: Moving Movie Rendering test content from Developer folder to Sequencer folder Also adjusted level visibility, lights and camera example. Change 3995993 by Christina.TempelaarL Sequencer: FCPXML Export updates - only export sections if in playback range and media exists, warn if media does not exist. Other updates - removed unused methods and variables, fixed message context naming to be more accurate #jira UESEQ-358 Change 3996595 by andrew.porter QAGame: Updating Marcie content in TrackEvaluation level to use Image Plate Change 3996614 by andrew.porter QAGame: Adding color test sequence to the sublevel Change 3996643 by Max.Chen Sequencer: Fix fbx animation export - rotation and scale channels were flipped. #jira UE-57509 #jira UE-57512 #jira UE-57514 Change 3996652 by Max.Preussner Messaging: Fixed delayed messaging using incorrect current time after message router sleep Based on https://github.com/EpicGames/UnrealEngine/pull/4601 Change 3996801 by Max.Chen Sequencer: Fix folder active state for non key area sections. Look at track node sections as well as key areas. #jira UE-57550 Change 3997098 by Matt.Hoffman Cleaned up some remaining ToDo's in STimeRange. Change 3998339 by Max.Preussner Sockets: Added documentation for socket receive functions Change 3998359 by Max.Preussner MediaUtils: Started to implement media recorder helper class Currently only supports BGRA frames in CPU memory. Supporting other formats and buffer types will require conversions on render-thread. I recommend refactoring out the existing conversion code in FMediaTextureResource into a reusable helper class in the MediaUtils module. This should be a good starting point though. Change 3998417 by Matt.Hoffman Keys and Sections can now be moved at the same time inside of Sequencer. Keys can now snap to Sections (and vice versa) instead of just to other Keys. Sections can now be duplicated like keys can. #jira UE-56995 Change 3998427 by JohnHenry.Carawon QAGame: Updating test content for the Movie Rendering feature. - Added an auto activate particle to the beginning of the sequence (it's not part of the sequence at all) - Added an event receiver blueprint to the Events example - Added a particle emitter to both sublevels - Added a camera cut to the end that switches to a separate camera - The camera zoom in, focus and Look At sections are all separate (not overlapping in the sequence) - Added a second actor for the camera Look At - Added a Visibility section for the Actor Hidden In Game track that has possessable and spawnable cube and light Change 3998537 by Max.Chen Sequence Recorder: Restore immersive mode when stopping the sequence even if not in PIE. #jira UE-56407 Change 3999809 by Matt.Hoffman Removed the "Go To" box from Sequencer and instead placed the current time as an always visible control. The previous shortcut (Ctrl + G) now focuses the new widget directly. #jira UESEQ-376 Change 4000543 by Christina.TempelaarL Sequencer: Moving editor-only code from runtime module MovieSceneCapture to editor module MovieSceneTools. Moved EDL and FCP XML exporters as well as Automated Level Scene Capture. #jira UESEQ-358 Change 4000706 by Matt.Hoffman Entering multiple time strings without a number no longer crashes Sequencer. #jira UE-57672 Change 4001051 by andrew.porter MediaFrameworkTest: Fixing up some image sources pointing to the wrong location Change 4001191 by andrew.porter QAGame: Adding some quick EDL/XML test content to dev folder Change 4001243 by Max.Chen Sequencer: Fix import EDL out of range. #jira UE-57665 Change 4001856 by Matt.Hoffman Selecting keys and sections at the same time now also works with animation and audio sections. #jira UE-57716 Change 4002021 by Max.Chen Sequence Recorder: Fix sequence name incrementing. If external recording sets the sequence name, use it. Otherwise, use the recording name from the recording group or the recording settings. #jira UE-57712 Change 4002618 by Max.Chen Viewport: Update the look at location when updating to a locked actor. This fixes an issue so that popping the view out of a locked actor and manipulating the view will not jump to the previous look at location. #jira UE-57725 Change 4002979 by Matt.Hoffman Fixes several edge cases with the end time range that was causing confusion about what the last frame of the sequence was. Dragging the End Frame slider will no longer be off by one tick and jumping to the end via the UI controls now properly respects snapping and stays inside the play range instead of falling outside of it. Overall behavior does not change though and End Frame should be considered an exclusive frame so that frames 0-150 results in a 150 frame long animation (which is frames 0-149). #jira UE-56367 Change 4003185 by Matt.Hoffman Fixed a regression that prevented a section from being dragged upwards past row 0 which normally resulted in all other rows moving down. #jira UE-57717 Change 4003193 by JohnHenry.Carawon QAGame: Updates to test content - Shortened frames between the examples from 95 to 30 - Separated camera setting tracks - Lighting example now switches directly from constant red - green - blue Change 4003369 by Max.Chen Sequence Recorder: Refresh next sequence regardless of internally stored sequence name. #jira UE-55757 Change 4003586 by JohnHenry.Carawon QAGame: Test Content Updates - Level Visibility track now ends to that the levels are not visible when we move to the next example - Shortened camera section, removed Z tranform so that we just move left to right and shortened the overall length Change 4004414 by Max.Chen Movie Scene Capture: Fix regression where rendering with shot handles would only render the first shot. 3972166 addressed an issue where an extra frame would be rendered by finalizing right when the end frame was reached. This was hit on the first shot end frame, so instead, do this only for when the last shot is being rendered. #jira UE-57314 Change 4004765 by Christina.TempelaarL Sequencer: Fixed bugs in FCP XML import/export. - Export: fixed sequence default resolution. - Export: fixed XML files with no shots. - Export: all sections clipped to playback range. - Export: fixed incorrect section start/end times due to precision issues. - Import: fixed incorrectly adding cinematic tracks. - Import: fixed bugs creating new sections. #jira UE-57660 #jira UE-57662 #jira UE-57655 #jira UE-57761 Change 4005119 by Max.Chen Sequencer: Export/import at play rate Change 4005195 by Max.Chen UMG: Finish UMG evaluation on stop. Added object version so that existing UMG assets do not change. #tests - Newly created UMG animation with sections set to restore state now return to their original state. Existing UMG animations with sections set to restore state do not return to their original state. #jira UE-52285 Change 4005377 by Michael.Karambelas QAGame: Moving TM-SequenceRecorder and related content out of my developer folder and into /Content/Sequencer/SequencerRecorder/* Change 4005417 by Michael.Karambelas QAGame: Fixed a BP compiler in the Level Blueprint of TM-SequencerRecorder. Change 4005634 by Michael.Karambelas QAGame: Fix up missing content and broken level sequence in TM-SequenceRecorder after move Change 4006324 by Max.Chen Sequencer: Reset if the focused movie scene is null. This fixes a crash if the user is focused in on a shot and undo takes the user past the point of where the shot was created. #jira UE-57752 #jira UE-47661 Change 4007006 by Max.Chen Sequencer: Fix FindAvailableRowIndex so that it returns the max row index (and not +1) since it doesn't find any conflicting rows. #jira UE-57717 Change 4007907 by Max.Chen Sequencer: Fix crash if there's no animation Change 4007948 by andrew.porter QAGame: added test content to dev folder for Record World Space Change 4008636 by Max.Chen Sequencer: Fix import fbx not setting values properly and creating additional cameras unncessarily. #jira UE-57864 Change 4008759 by Max.Chen Sequencer: Follow up fix for import cameras #jira UE-57864 Change 4009994 by Matt.Hoffman Dragging the left or right handles of the Time Range slider in Sequencer will now zoom your view in on the current center of the screen. This prevents the view from being translating as you tried to zoom in which caused issues at high zoom levels. #jira UESEQ-407 Change 4010169 by Christina.TempelaarL Sequencer: FCP XML fixes. - FCP XML export - no longer clips to playback range - FCP XML and EDL export - fixed missing last frame of some sections after exporting to Premiere. - Automated level capture, EDL export - use RoundToFrame instead of FloorToFrame for computing section start/end frames after frame rate conversion. #jira UE-57802 - partial fix, movie scene capture still needs to render full section rather than clip against playback. Change 4010287 by Mike.Zyracki Add quaternion interpolation option to UMovieScene3DTransformSection. This mimics how Matinee used to work by bascially finding the keys between a time and interpolating the angles as quat's between them. As noted in the code the algorithm needs to handle the case when the x,y,z Rotation keys all aren't at the same time which was not handled by Matinee. Also like Matinee, when in quaternion interoplation mode, we need to not display the function cuves since the interpolated and key values are now all different. (Would like to show them but that's a bigger refactor for perhaps just a one off needed by quaternions). I added a virtual function UMovieSceneSection::ShowCurveForChannel for this since it needs to be dynamic, not on construction of IKeyArea's, and could be useful for other sections. I could though move the method to just UMovieScene3DTransformSection and do a cast instead. Looked into doing a unit test for this but after talking with Andrew P we will work on doign an automated test in EngineQA since that will provide more coverage. Will also add a video the jira. #jira UESEQ-403 Change 4010713 by Mike.Zyracki Added option to key a group of transform channels instead of just the changed channel, or all of them. This is useful for quaternion interpolations where you want rotation keys to be aligned but also useful for other workflows like animating FK Pose to Pose. Change 4010715 by Andrew.Porter MediaFrameworkTest: Setting LogMediaUtils logging from VeryVerbose to Verbose to cut back on the spam Change 4013048 by Max.Chen Sequencer: Fix play/jump status. Update the player status for all position methods (Scrub, Jump, Play). Jump means Stopped. Correctly use PlayTo or JumpTo based on position method. In PlayInternal, JumpTo with the Stopped state (rather than playing state). #jira UE-57844 Change 4013479 by andrew.porter QAGame: Added content in TM-SequenceRecorder to test recording a property on a Cine Camera Component; Press 3 to trigger manual focus distance to increment on a timer Change 4014323 by Max.Chen Sequencer: Fix SetPlaybackPosition so that it jumps or plays based on playback status. #jira UE-57844 Change 4015888 by Max.Chen Sequencer: Fix crash on paste. UMovieSceneSections were gathered from the track node's track. For sub track mode, we want to gather only those sections on that track node row. #jira UE-57951 Change 4015943 by Max.Chen Sequencer: Fix moving shots up when the mouse pos goes outside of the virtual track area. #jira UE-57717 Change 4016293 by Max.Chen Sequencer: Fix relative frame playback end frame calculation so that custom start/end frames remain in the space of the sequence and are not relative. #jira UE-57308 Change 4017075 by Andrew.Rodham Sequencer: Corrected initial evaluation range used when calling UMovieSceneSequencPlayer::Play() Change 4017270 by Christina.TempelaarL Sequencer: FCPXML importer and movie scene capture - Use CeilToFrame when converting section start/end frame times to frame numbers in FCPXML and movie scene capture. - Added support for clip metadata in FCPXML. - Got rid of redundant TokenizedError message class, no longer needed now that FCPXML is in editor directory. - Added log messages currently commented out due to exception, still testing. #UESEQ-358 Change 4018370 by Christina.TempelaarL Sequencer: fixed FCPXML log messages regarding sections with start/end not divisible by display rate. #UESEQ-358 Change 4018378 by Christina.TempelaarL Sequencer: fixed error in previous changelist. #UESEQ-358 Change 4019457 by Max.Chen Sequencer: Show event names only when the event track is selected #jira UE-57897 Change 4022806 by Max.Chen Sequencer: Fix crash on movie scene capture dialog shutdown if movie capture wasn't even started. #jira UE-58106 Change 4022894 by Max.Chen Sequence Recorder: Wrap OpenEditorForAssets after sequence recording within GIsEditor #jira UE-58084 Change 4024487 by Max.Chen Sequencer: Add tooltip for quat interpolation #jira UE-58113 Change 4024562 by Max.Chen Sequencer: Change path/attach track sequence binding id to currently focused sequence id so that bindings can be created in subsequences Change 4027414 by JohnHenry.Carawon QAGame: Checking in content that shows a bug with using particles systems and Delay Before Shot Warm Up. Change 4028990 by Max.Chen Sequencer: Fix evaluate sub sequences in isolation. This check was added with the compile on the fly logic. Not sure why it was necessary but it seems like the sub sequence data needs to be updated in order to evaluate sub sequences in isolation. #jira UE-58184 Change 4029004 by Max.Chen Sequencer: Ensure that old binding references are removed when re-assigning actors in sequencer #jira UE-57898 Change 4030997 by JohnHenry.Carawon QAGame: Fixing name of the master sequence Change 4031785 by Michael.Karambelas QAGame: Added an instance of ThirdPerson Run to TM-SequenceRecorder for Record to Possessable test. Change 4035548 by Andrew.Rodham Sequencer: Changed FMovieSceneEvaluationTemplate::TemplateSignature to be a serial number to address non-deterministic cooking issues - This commit is related to the repro steps found in 3914599 and 3934307, both of which have been verified with this new change. - Copy of 4031684 from //Fortnite/Main/... #jira FORT-84852 Change 4036312 by Max.Chen Sequencer: Fix zoom view range so that it uses the passed in InZoomDelta Change 4036318 by Max.Chen Sequencer: Auto size now returns a range and defaults to the channel proxy range so that keyed regions can also be autosized. Change 4036322 by Max.Chen Forgot missing change Change 4036360 by Max.Chen Sequencer: Fix play rate calculation when skeletal animation section play rate changes. Change 4037163 by Mike.Zyracki Weighted Tangent Implementation Tricky thing is that you need to solve a cubic in order to get the bezier weights for the time part of the curve. See https://www.gamedev.net/forums/topic/474094-help-function-curves-for-animation-interpolation/ Maya provides an implementation in it's dev kit but I didn't use it since it was horribly slow and uses an iterative solution to solve the cubic needed. Instead I use an old algorithm (Cardano's method), to solve the cubic which should be much faster. Though relative simple to code from principles I just went ahead and used a version from Graphics Gems 1. I put this cubic solver directly in MovieSceneFloatChannel.cpp, but will need to move it when we support Rich Curve, maybe to FMath:: (which would probalby require some other functions for solving quartics, etc.. for completeness.). Also note we resolve this on every evaluation but dont' need to if the interval the time is evaluating hasn't had any change in values or tangents. So again when we support FRichCurve we can create a Weighted Evaluating class that can hold the cache. Also with the tangent drags I got rid of the Cardinal position that was used to calculate non-weight tangents from the key point and just quickly getting a direction. With weighted tangents we need to use the delta instead (otherwise when moving multiple they would all get the same weight based upon distance to the cardinal point. ) For mixed tangents types what I'm defaulting to non weighted if the interval doesn't match. May need to do weighted instead, not sure. What's left is just FBX import, for tomorrow. #jira UESEQ-76 Change 4037435 by Mike.Zyracki Fix fo build warnings from weighted tangent submission. #trivial Change 4038091 by Michael.Karambelas QAGame: Updated a Sequence Recorder group in TM-SequenceRecorder that had an actor missing the animation. Change 4038374 by Andrew.Rodham Sequencer: Refined scrubber styling for level sequences and actor sequences - Scrubber now shows a block the width of a dsplay rate frame, plus a line for the actual evaluated time. UMG reverts back to the previous styling (no block) - Keys that are outside of the playback range are now drawn with a subdued effect - Tick labels are no longer drawn when directly underneath the scrubber Change 4038490 by Max.Chen Sequencer: Expose tangent weight values in details panel. Change 4038620 by Andrew.Rodham Sequencer: Advanced time panel polish #jira UESEQ-426 Change 4038677 by Max.Chen Movie Scene Capture: Redirector for MovieSceneTools.AutomatedLevelSequenceCapture #jira UE-58248 Change 4039739 by Max.Chen Sequencer: Media track should only be supported by Level Sequence Change 4040024 by JohnHenry.Carawon QAGame: Fix EventReciever and OverrideBinding example The level sequence was set to none so the fix was to set it back to TrackEvaluation_Master. Change 4040610 by Andrew.Rodham Curve Editor: Moved weighted tangent switchers to a single toggle command (CTRL+W) and added an icon #jira 58383 Change 4040882 by Mike.Zyracki Keep broken when turning on weighted #jira UE-58435 Change 4041089 by andrew.porter QAGame: Sequence for Long Tangents bug Change 4041498 by Mike.Zyracki Turn off weighted when going auto to prevent large tangents. Do it both in UI and when doing AutoSetTangents() to really make sure it doesn't happen. #jira UE-58452 Change 4041752 by andrew.porter MediaFrameworkTest: Adding some better logging for setting rates when not supported. Also ignoring commiting URL when there is no text Change 4041896 by Matt.Hoffman The transform dialog box now transforms selected keys and sections, instead of just keys. #jira UE-58265 [CL 4044405 by Max Chen in Main branch]
2018-05-02 10:10:00 -04:00
FrameBlockScrubHandleUpBrush = FEditorStyle::GetBrush( TEXT( "Sequencer.Timeline.FrameBlockScrubHandleUp" ) );
FrameBlockScrubHandleDownBrush = FEditorStyle::GetBrush( TEXT( "Sequencer.Timeline.FrameBlockScrubHandleDown" ) );
VanillaScrubHandleUpBrush = FEditorStyle::GetBrush( TEXT( "Sequencer.Timeline.VanillaScrubHandleUp" ) );
VanillaScrubHandleDownBrush = FEditorStyle::GetBrush( TEXT( "Sequencer.Timeline.VanillaScrubHandleDown" ) );
Copying //UE4/Dev-Build to //UE4/Dev-Main (Source: //UE4/Dev-Build @ 3104200) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3096076 on 2016/08/22 by Matthew.Griffin Fixes for building with -nosharedPCH Added nodes for building with -nosharedPCH and -noPCH but not using them by default as they take so much longer than NonUnity and there are still errors with -noPCH Change 3097064 on 2016/08/22 by Ben.Marsh Core: Refactoring OutputDevice.h, OutputDevices.h, FeedbackDevice.h, CallbackDevice.h into one-class per file, and files named after their classes. Change 3097102 on 2016/08/22 by Ben.Marsh Core: Move log macros and related functionality into the Logging folder. Change 3097240 on 2016/08/22 by Ben.Marsh Core: Move FCommandLine into its own header. Change 3097258 on 2016/08/22 by Ben.Marsh Core: Move FFileHelper into its own header. Change 3097279 on 2016/08/22 by Ben.Marsh Core: Split FArchive derived classes into separate headers per class. Change 3097742 on 2016/08/23 by Ben.Marsh UnrealGameSync: Add the -r5 parameter to P4 sync command lines, to retry syncs on poor connections before failing. Change 3099283 on 2016/08/24 by Ben.Marsh Core: Move math functions which are dependent on multiple class definitions into individual class headers. This forces an include order, but allows us to include individual math classes separately. Would ideally split out the FMath class into a Math namespace and declare/implement things like intersection tests and interpolation routines in separate headers. Change 3099417 on 2016/08/24 by Ben.Marsh CoreUObject: Separating out UObject archive classes into separate headers. Change 3099544 on 2016/08/24 by Ben.Marsh CoreUObject: Rename UTextProperty.h/cpp to TextProperty.h/cpp Change 3099678 on 2016/08/24 by Ben.Marsh CoreUObject: Rename ObjectBase.h to ObjectMacros.h to avoid ambiguiity with UObjectBase.h, and move Interface.h/cpp into the UObject folder. Change 3099951 on 2016/08/24 by Ben.Marsh Core: Split out ThreadingBase into class-per-file headers. Change 3102385 on 2016/08/26 by Matthew.Griffin First round of fixes from attempting to compile Editor in Monolithic mode Changed multiple DetermineOptimalSpacing free functions to be members of their respective classes Changed duplicate FScopedTempFile classes to be named for their respective source control types (Git & SVN) Export Declaration of LogUnrealAudioDevice extern instead of defining it in multiple modules Changed duplicate FDiffResultItem struct to FTreeDiffResultItem Added FORCEINLINE to FFeaturedClasses functions in .inl file Change 3102728 on 2016/08/26 by Ben.Marsh Core: Move threading classes from ThreadingBase.h into separate headers, and globals into CoreGlobals.h. Change 3102850 on 2016/08/26 by Ben.Marsh Core: Move FCriticalSection into its own file (CriticalSection.h and platform-specific versions). Change 3102877 on 2016/08/26 by Ben.Marsh Core: Move definitions of GLog, GError, GWarn into CoreGlobals.h Change 3102898 on 2016/08/26 by Ben.Marsh Core: Move supporting assert functionality (the FDebug class) into AssertionMacros.h to remove circular header dependencies. Change 3102956 on 2016/08/26 by Ben.Marsh Core: Move FExec into its own header (Misc/Exec.h) Change 3102961 on 2016/08/26 by Ben.Marsh Core: Fix matrix functions referencing the forceinline'd FMatrix constructor before it's declared. Change 3102982 on 2016/08/26 by Ben.Marsh Core: Move FMessageDialog into its own header (Misc/MessageDialog.h) Change 3103008 on 2016/08/26 by Ben.Marsh Core: Move definition of LowLevelFatalError into AssertionMacros.h. Change 3103040 on 2016/08/26 by Ben.Marsh Core: Move FError::Throwf (only enabled for UHT) into its own header in CoreUObject. Change 3103057 on 2016/08/26 by Ben.Marsh Core: Move FMsg function definitions into the LogMacros.h header, where it's primarily used from. Change 3103102 on 2016/08/26 by Ben.Marsh Core: Make the LogMacros.h header standalone. Untangles a few header dependencies necessary to include log macros early on. Global Core log channels are now defined in CoreGlobals.h Change 3103160 on 2016/08/26 by Ben.Marsh CoreUObject: Separate Linker.h into LinkerLoad.h, LinkerSave.h, PackageFileSummary.h, ObjectResource.h (matching existing cpp files). Change 3103265 on 2016/08/26 by Ben.Marsh Core: Split FScriptArray, TMRUArray, TTransArray, TIndirectArray into separate headers. Change 3103642 on 2016/08/26 by Ben.Marsh Core: Remove reference to FMath function from allocator, to avoid unnecessarily bringing in math library. [CL 3104315 by Ben Marsh in Main branch]
2016-08-29 10:27:24 -04:00
ContextMenuSuppression = 0;
}
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3946692) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3801826 by Max.Chen PR #4304: Level Sequence crash fix - Guarded against dereferencing null componen. (Contributed by DSDambuster) Change 3801828 by Max.Chen PR #4302: Movie Scene Visibility Template unitialised variable, causing random . (Contributed by DSDambuster) Change 3801837 by Max.Chen Sequencer: Delay spawning/construction for convert to possessable. This fixes a bug where property values would be lost when converting back and forth from possessable to spawnable. #jira UE-52400 Change 3801841 by Max.Chen Sequencer: Make spacer nodes not selectable. PR #4194: Improvements to Sequencer (Contributed by projectgheist) #jira UE-53117 #jira UE-52139 Change 3804183 by Max.Preussner MediaAssets: Added missing lock in media sound component Change 3805414 by Max.Preussner MediaAssets: Setting valid GUID when initializing media texture resource Change 3819578 by Max.Chen PR #4370: When enabling the "MovieCapture", do not turn off the Stereo-3D display. (Contributed by yehaike) #jira UE-53647 Change 3823414 by Max.Chen Curve Editor: Lock down the first and last keys in the redundant keys removal range so that they're unaffected. #jira UE-53591 Change 3826406 by Max.Chen Sequencer: Move OnStartedPlaying() to within first update in UpdateTimeCursorPosition(). This fixes an issue where setting the hud/player visibility was getting stomped on later. #jira UE-52772 Change 3827044 by Max.Preussner MediaAssets: Added sprite visualization to media sound component #jira UE-53594 Change 3827988 by Max.Preussner MediaPlayerAssets: Fixed Media Texture is not linked to Media Player when created together #jira UE-53532 Change 3828506 by Max.Preussner MediaPlayerEditor: Added attenuation visualizer for media sound components #jira UE-53594 Change 3832590 by andrew.porter EngineTest: Added a keep state check in Property Animation sequencer test Change 3833053 by andrew.porter EngineTest: Adding Hierarchical Bias test Change 3835683 by andrew.porter EngineTest: Adding UMG Animation screenshot test Change 3836076 by Max.Chen Sequencer: Fix audio volume and pitch multiplier deprecation. Change 3836230 by andrew.porter EngineTest: Adding Sequence Bone Position automation test Change 3836347 by Max.Chen Sequencer: Fixes to shot name parsing. When a shot doesn't contain a shot number, assume, [ShotName]_[TakeNumber]. When duplicating a shot, put the new shot in the same path of the original shot, so that the take numbers will increment properly. #jira UE-51868 Change 3836552 by Max.Chen Sequencer: Sub section now has a takes menu Change 3838094 by Max.Chen UMG: Fix template finish not getting called on stop. This fixes a bug where sections aren't restored when finished. #jira UE-52285 Change 3838708 by Max.Chen Sequencer: Add notification when the blend type is changed. #jira UE-54046 Change 3840295 by Max.Chen Sequencer: Fix copy/paste crash for lights #jira UE-54084 Change 3840957 by Mike.Zyracki Added Show Only Keyable and Show Only Animated to the filter list in the property editor. Added IsPropertyAnimated to IDetailKeyframe Interface which already had support for showing properties which are keyable (which is used for the key icon next to the properties.). Could have created another interface but then would have had to mimic the sequencer binding, releasing also, so this seemed best way. One issue still left is that custom built detail items currently don't store associated properties(usually) and so certain properties, in particulalry transforms, won't show up as keyable or animated. Note this also shows up with the keyable icon not showing up next to transform tracks, and other filters like Show Only Modified not working with transforms/customs. Not sure best way to tackle this. #jira UESEQ-328 Change 3841756 by Max.Chen Sequencer: Fix unbound possessable components when pasting spawnables. #jira UE-54104 Change 3843950 by andrew.porter EngineTest: Renaming LevelStreaming tests/content to LevelVisibility Change 3844082 by Mike.Zyracki Missing file for animated filter in property editor. When finding if a track is animated we need to find it but we can't easily induce the MovieTrack class for any particular property. So we don't set a class for it and just search by it's ID and name. #jira UESEQ-328 Change 3846902 by Max.Preussner ImgMedia: Fixed image media player never finished initialization if loading failed #jira UE-54247 Change 3849820 by Mike.Zyracki Reassigning deleted widgets didn't work since the menu extender mechanism needs a valid UObject in order to perform an operation on it. So to fix we replaced GetObjectBindingContextMenuExtender in WidgetBlueprint with new delegate mechanism (OnBuildCustomContextMenuForGuid) that supports FGuid in addition to UObjects which is needed to handle re-binding deleted widgets. Note that the default sequencer hacks this for replacing deleted actors in SequencerObjectBindingNode to check to see if a LevelSequence is active. We could move to this mechanism there also. #jira UE-53163 Change 3852211 by Max.Chen UMG: Indicate name of the property that is not bound. #jira UE-54350 Change 3854120 by Max.Chen Sequencer: Fix sibling folders being allowed to have the same folder name. #jira UE-54363 Change 3854627 by Max.Chen Sequencer: Step to next/previous key should work for all tracks if there aren't any selected. #jira UESEQ-391 Change 3855825 by andrew.porter EngineTest: Adding animation blending automation test Change 3855950 by andrew.porter EngineTest: Adding correct expected valuues to animation blending test Change 3856237 by Matt.Hoffman UESEQ-336 - Sequencer Track Reordering Adds the ability to re-order Master Tracks, Folders and Object Bindings within sequencer hierarchies (including UMG). Adds the ability to do a one-off sorting of the content under the old sorting behavior if the user wants to reset their layout to how it was under legacy behavior. Modifies SequencerTrackNodes, SequencerFolderNodes and SequencerObjectBindingNodes to handle CanDrop/OnDrop for above, below and ontop of. Fixes a Slate Issue that forcibly expanded a TreeviewRow if an item handled OnDrop. Slate will now only forcibly expand the row if the item says the drop happened ontop of the item, and not above or below it like it previously did. Change 3856503 by andrew.porter EngineTest: Adding automation test for using animation blueprint with blend multi node in sequencer Change 3857875 by Max.Chen Sequencer: Assign the sequence id after the template is compiled. #jira UE-54462 Change 3858344 by Max.Chen Sequencer: Prevent Goto and Transform boxes from overlapping by allowing them to be visible at the same time in an autosized horizontal box. Also, added close button to the goto box. PR #4425: Prevent Goto and Transform boxes from overlapping in Sequencer ... (Contributed by projectgheist) #jira UE-54210 Change 3860566 by andrew.porter MediaFrameworkTest: Set the option to index 0 for the audio and video track list by default Change 3860654 by andrew.porter EngineTest: Enabling Camera Cut + FOV test Change 3860981 by andrew.porter EngineTest: Updating skeletal mesh tests with a delay after set playback position Change 3861256 by Max.Chen Sequencer: Add all bindings if none selected. #jira-54440 Change 3862154 by Andrew.Rodham Added TimeManagement module Change 3862424 by andrew.porter EngineTest: Turned on the test Bone Positions with Blend Multi Node Change 3862573 by andrew.porter EngineTest: Adding test to compare bone positions in a sequence that is blending an animation that is using an AnimBP Change 3865117 by Max.Chen Sequencer: Stop auto scroll on mouse release of movement. #jira UE-31212 Change 3865303 by Max.Chen Sequencer: Add drag and drop transactions #jira UE-54662 Change 3865304 by Max.Chen Sequencer: Fix crash when an actor factory is not found. Change 3865361 by Max.Chen Sequencer: Don't change the camera/shot lock button when popping out of a sequence. #jira UE-54665 Change 3865412 by Max.Chen Sequencer: Determine whether a transform track is for a camera by using the spawned object or template #jira UE-54666 Change 3865685 by Max.Chen Sequencer: Clear autoscrub offset when stopping autoscroll #jira UE-31212 Change 3865886 by Max.Chen Sequence Recorder: Log an error if the number of frames changes while recording. This can happen if the skeleton changes while recording. #jira UE-48715 Change 3866925 by Andrew.Porter MediaFrameworkTest: Changing the current PNG test video image sequence to 1024 x 576 Change 3867705 by andrew.porter QAGame: Adding Audio Sort Sequence to dev folder Change 3867890 by andrew.porter QAGame: Adding a sequence for testing a sorting crash to my dev folder Change 3872628 by Max.Chen Movie Scene Capture: Split delay before warmup into split delay before shot warmup so that there's separate controls for when the movie scene capture warmups up vs. shot boundaries. Change 3873131 by Matt.Hoffman UE-54732 - Crash reordering a folder with a track. This was caused by folders being the only type of track to check if someone was putting a parent track into a child track. Object Binding tracks and Tracks now check as well so that you can't use the above/below drop targets to add parents as children. This also fixed a typo in the localization keys. #jira UE-54732 Change 3873301 by Mike.Zyracki Added ability to support continous euler angle changes when changing rotations, in particularly with the rotation gizmo's. To do this we effectively added a form an of 'euler filter'(https://en.wikipedia.org/wiki/Euler_filter) to find the closest euler angle to the current euler angle. Three functions were added to FRotator to make this possible, one to get the euler angle that's has the same rotation as it, one to get the difference between two euler angles via Manhattan distance and a third using the previous two to choose a Rotator value that's closest to it. We then use these functions before calling UComponent::SetRelativeRotation to make sure we use the correct Euler after the Quat conversion. We also no longer limit(bound) the euler angles to -180,180, which is obviously necessary to avoid flips. I also changed how we caluclate yaw and roll when pitch is -90 or 90 to make it the standard approach of zeroing out roll and just setting yaw. Main reasons are the previous implementation had precision issues so things like 180, 90, -180 would show up due to numbers being nearly zero but negative,(this would break any smooth interpolations), and this facilitates having a 'gimbal' rotation mode (like Maya, Blender etc..) if we ever want that also. If needed we could keep the previous implementation but would need to add some FMath::IsNearlyZero checks, with less performance. Note we only do this special filtering when applying delta's to actors or components in the editors, which then call UComponent::SetRelativeRotationExact, which is a new function to foces the RelativeRotation to be equal to the new rotation. This allows us to store un-nomalized Rotators at the cost that the RotationCache may be broken. We didn't change any of the other UComponent functions that set rotations (via Quats or Transforms) so they will still be bounded and unwound. In SetInternalWorldLocationAndRotation we only set the rotation if the rotation has changed, which fixes the rotation getting changed and re-normalized if just translate happens. In TransformTrackEditor, we correclty use the bUndwing flag and in MovieScene3DTransformSection there was an un-needed winding check there, it will be unwound earlier if needed, which happens if Sequence Recording is happening. Max we should talk about what to do about this . Note the euler angle drag via the widget is still bound to 0-360. I think we should just unbound that now since the rotations value are now unbound. This review now includes fixes suggested by Zak. #jira UE-UE-22228 Change 3873483 by Matt.Hoffman Sequencer Tracks can now be inserted above the spacer at the bottom of the tree. #jira UE-54706 Change 3873899 by Max.Chen Sequencer: Add section selection throbbing Change 3873908 by Max.Chen Movie Scene Capture: Added logging per frame Change 3873924 by Matt.Hoffman Adds the ability to store Sequence Recorder setups into profiles that stay with the map and can be re-loaded later. Profiles store the Actor Recordings so the settings for each actor should carry with them. #jira UESEQ-339 Change 3874726 by Matt.Hoffman Disable drag-and-drop targets on spacers that come between rows in Sequencer. This prevents extra drag/drop targets showing up between each row. #jira UE-54706 Change 3874862 by Matt.Hoffman Audio Track no longer gets reordered when adding sub-audio tracks, as sub-tracks are no longer counted towards the sorting order index when normalizing indexes. #jira UE-54727 Change 3875905 by Matt.Hoffman Disable Fade Track UI if a fade track already exists in the sequence. #jira UESEQ-393 Change 3876163 by Max.Chen Sequencer: Swap the camera object to the camera component's owner if it's not the same. #jira UE-54874 Change 3876971 by Andrew.Porter EngineTest: Moved Media Player Seek test to new folder. Also enabled the test with new ground truth image. Change 3877040 by Max.Chen Cine Camera: Split camera properties to two groups, "Camera Options" and "Camera Settings". The cine camera now hides properties in the "Camera Settings" group so that properties like bConstrainAspectRatio (in the "Camera Options" group) can be visible. #jira UE-54192 Change 3877763 by Max.Chen Curve Editor: Fix curve changed on end drag so that only curves that had keys/tangents that were changed receive notification, otherwise all loaded curves were getting notified that they were changed. #jira UE-54951 Change 3878234 by Matt.Hoffman Disable "Drop Below" targets for Sequencer Tree nodes to prevent a confusing UX issue where dropping underneath a Object Binding Node puts it after the object binding node but the UI looks like it's inserting it inside the Object Binding node. #jira UE-54743 Change 3879359 by Mike.Zyracki If a track is inactive we dim it a bit which seems to be the UE4 way to show inactive or disabled state. We changed the active logic so that all subtracks need to be inactive for the track to also be inactive(instead of all active for active). This conforms to how the active state actually works, e.g if you have two sections and only one is active the track is still active above it. #jira UESEQ-388 Change 3879462 by Max.Chen Sequencer: Allow dragging onto a particular row which would move out any overlapping sections to make space for the newly created section. Newly created sections are now selected and throbbed to draw attention to themselves. #jira UE-54664 Change 3879464 by Max.Chen Sequencer: Fixed overlapping ranges being inserted into the evaluation field during compilation - The issue was that track segments that had been combined with adjacent segments (due to them being identical) would potentially cause a subsequently compiled frame to overlap with a range that had already been inserted into the evaluation field. - The insertion code previously asserted that only minor overlaps were catered for (due to fp rounding errors) and assumed that a supplied range could not entirely contain any other range in the field. - The solution is to supply the insertion time along with the range to know exactly where the data should live in the field, and crop the range to the maximum allowable space between adjacent ranges. #jira UE-54922 Change 3879590 by Matt.Hoffman Items that are now added to the Sequencer via the "+Track" menu will be selected after being added. Items can now be added inside of folders instead of just to the root level. #jira UE-27397 Change 3879612 by Mike.Zyracki Display Nodes with no children are always active. #jira UESEQ-388 Change 3879730 by Matt.Hoffman Sequence Recorder's actor recording groups now remove items from the group when removed via the UI. #jira UESEQ-339 Change 3880256 by Mike.Zyracki Fix issue with inactive display with folders and other track nodes. #jira UESEQ-388 Change 3883491 by Max.Chen Fix issue where tick is skipped due to last ticked pose isn't cleared after AnimInstance changes. Copy from Release-4.19 #jira UE-51323 Change 3883603 by Max.Chen Movie Scene Capture: Add option toggle disable screen percentage. By default this is on (no change in current behavior). #jira UE-51898 Change 3885074 by Max.Preussner MediaCompositing: Resetting media texture & freeing resource on section end; removed dead code Change 3887220 by Max.Preussner MediaCompositing: Defaulted media section duration to 1 sec (since we do not know the actual duration in most cases) Change 3887478 by Matt.Hoffman Sequences now show [Inactive] in their title bars when they're disabled. This helps communicate why a sequence isn't being evaluated. #jira UE-51469 Change 3888985 by Max.Chen Movie Scene Capture: Clamp HDR Compression Quality between 0 and 1. #jira UE-55136 Change 3893519 by Max.Chen Sequence Recorder: Clarified tooltip for bRecordNearbySpawnedActors - spawned actors will still be recorded if they match the ActorFilter. #jira UE-55238 Change 3893546 by Max.Chen Sequence Recorder: If a selected actor already has a recording, add a blank recording. #jira UE-55239 Change 3894044 by Max.Preussner MediaCompositing: Added support for seeking into a media section Change 3894310 by andrew.porter MediaFrameworkTest: Adding Img media sources for 1080 and 2160 ravent test content Change 3894426 by Max.Preussner MediaAssets: Letting media textures with AutoClear retain their clear color when player is reset Change 3895717 by Max.Chen Sequencer: Null checks to prevent crash when saving the default state of a spawnable #jira UE-55304 Change 3897388 by Max.Chen Sequencer: Don't update current time to be within the view range when stepping into a sequence. #jira UE-55322 Change 3897452 by Max.Chen Audio: Fix crash when trying to record audio without any active capture devices. Log warning if the number of input channels is not 1 or 2. #jira UE-55223 Change 3897619 by Max.Preussner MediaCompositing: Removed commented out code Change 3898072 by Max.Chen Sequencer: Override the animation asset in the player state if it doesn't match the animation asset that's being evaluated. #jira UE-55328 Change 3898272 by Max.Preussner MediaPlayerEditor: Made slate brush constants static Change 3898704 by Max.Chen Sequencer: Skip if the binding id's sequence can't be found. #jira UE-55337 Change 3899855 by Max.Preussner MediaCompositingEditor: Added cache state visualization to media track Change 3900300 by Max.Preussner MediaCompositingEditor: Added loop indicators to media sections Change 3900694 by Max.Preussner ImfMedia: Looping cache only when player is looping Change 3900892 by Max.Preussner Stats: Added stats category for media framework Change 3900954 by Max.Preussner MediaCompositing: Don't evaluate at the end of media section Change 3901348 by Max.Preussner Core: Replaced TLruCache autos for better readability Change 3901655 by Max.Preussner ImgMedia: Added more perf stats to EXR reader Change 3901972 by Max.Preussner MediaAssets: Added getter for media player in media sound components Change 3902233 by Max.Preussner MediaAssets: Enabling media textures to receive samples right after player is assigned Change 3902238 by Max.Preussner MediaCompositing: Working around init/shutdown idiosyncracies in sequencer Change 3904045 by Max.Chen Sequencer: Fix copy/paste crash. Only process UMovieSceneCopyableBinding and objects that can be spawned by the movie scene spawn register. #jira UE-55314 Change 3905605 by Max.Chen Sequencer: Restrict spawnables from being created if they have a ClassWithin that UMovieScene is not a child of. #jira UE-55429 Change 3906550 by Max.Chen Sequencer: Add media track icon #jira UE-55480 Change 3907101 by Max.Chen Sequence Recorder: Fix bugs related to not recording a level sequence. There were certain assumptions that creating a level sequence meant that sequence recording was in progress. This is not always the case - the recorders can record animation assets and not create a level sequence. Changed the notion of IsRecording() to having at least one actor recording that is recording. Countdown timer, recording displays, etc should function if IsRecording() and not based on whether a level sequence is created. #jira UE-55485 Change 3907247 by Max.Chen Sequence Recorder: Fix crash not removing PrepareToCleanseEditorObject delegate. Repros when opening sequence recorder, closing it, and then opening or creating a level. Change 3910343 by Max.Preussner Core: Added async helper for executing functions on a given thread pool Change 3910346 by Max.Preussner ImgMedia: Added separate thread pools for loading/decoding and deleting image frames Change 3910829 by Max.Preussner Profiler: Increased visible range of profiler graph Change 3910841 by Max.Preussner MediaCompositing: Displaying asset name instead of full media source path in media section Change 3910870 by Max.Preussner ImgMedia: Using deallocation thread pool only in debug builds Change 3919642 by Max.Chen Sequence Recorder: Clarify active tooltip #jira UE-55661 Change 3919660 by Max.Chen Sequencer: Sequence template source signatures are now also compared to catch the case where a sub-sequence asset has been saved but not modified - The following sequence of events exposes this issue: - Create a master sequence with a single shot that spawns a cube - Add this sequence to a level and set it to auto-play - Save everything and restart - Resave just the inner shot asset without opening it - PIE - The inner shot never spawns its cube because its template was wiped on save, but its signature never changed. Since the master sequence previously didn't check the template source signature, it ends up trying to evaluate an empty template. #jira UE-55626 #jira UE-55490 Change 3921825 by Max.Chen Sequencer: "Run Construction Script in Sequencer" is off by default for blueprints but on for Sequencer. This allows the content author to switch it on for specific blueprints and sequencer will be default, run those with construction scripts enabled. Change 3922232 by Max.Chen Sequence Recorder: Reset countdelay on stop. #jira UE-55755 Change 3922306 by Max.Chen Sequence Recorder: Don't automatically mark transforms to be recorded by sequence recorder. Instead, log a warning if the user toggled it off to warn that the resulting animation might not match gameplay. #jira UE-55758 Change 3922912 by Max.Chen Sequence Recorder: Fix refresh next sequence name #jira UE-55757 Change 3927654 by Max.Chen Movie Scene Capture: Added format mapping for the name of the current camera #jira UE-55769 PR #4537 Change 3927658 by Max.Chen Sequencer: Added fbx property mapping for "FocusDistance" to "FocusSettings.ManualFocusDistance" #jira UE-55782 Change 3932022 by Max.Chen Sequencer: Add import animation track section to next available row index. #jira UE-55892 Change 3933919 by Max.Chen Sequencer: Jump to playback start frame and not 0 to start playback for recording. #jira UE-55933 Change 3934307 by Andrew.Rodham Sequencer: Add template signature that is re-generated every time the base template is regenerated, which invalidates evaluation fields This fixes an issue where the same sequence is instantiated multiple times in a sequence. If the source sequence was saved, its template would be wiped, which would invalidate the template ID When an instance tries to evaluate the master template, it would only invalidate a range in the evaluation field that was the hull of any invalid sub sequences overlapping the current time, potentially leaving invalid data in the evaluation field at positions later (or earlier) on in the sequence When the sub template was re-generated, it receives the same SequenceSignature as it had before (because the sequence hasn't actually changed), which causes the stale evaluation field data to fail the IsDirty check (because the sequence is the same as it thought, but the *template* has changed) This has been addressed be adding a signature to templates themselves, and checking both the template signature and sequence signature as a part of the IsDirty check. This ensures that we regenerate if either the template, or the sequence have changed. #jira UE-55934 Change 3936327 by Andrew.Rodham Sequencer: Removed increment when trimming right UMovieSceneSection::TrimSection already explicity assigns an exclusive bound to the time passed in. The new behavior means we can trim a section to the right, and insert another section without changing the time to create adjacent sections. #jira UE-42652 Change 3936328 by Andrew.Rodham Fixed KeyFrameManipulator assignment operators and copy/move constructors - These types are potentially self-referential so cannot use default constructors/assignment Change 3936330 by Andrew.Rodham Converted UMGSequencePlayer to use frames internally #jira UE-54878 Change 3936726 by Max.Chen Sequencer: Set track node as the parent of the key area node. The key area switcher needs the object binding id from the parent object binding node. Without this, the binding to the external value fails. #jira UE-55931 Change 3936775 by Max.Chen Sequencer: Should stop or loop should compare DurationFrames with Current Time from StartTime. The bug is that if you set 30 warmup frames in movie rendering for a range of 0-100, the FrameRange will be starting at -30 and have a duration of 130. Without this fix, the playback will continue until frame 130, rather than 100. #jira UE-55933 Change 3936935 by Matt.Hoffman Easing Curves are now represented in Play Rate resolution instead of internal resolution. #jira UE-55937 Change 3937069 by Matt.Hoffman Users can toggle if the is infinite on each side, limited by which tracks support infinite ranges. #jira UE-55891 Change 3937516 by Max.Preussner ImgMedia: Added support for single-threaded platforms #jira UE-55986 Change 3937826 by Max.Preussner MediaAssets: Disabling media sound components on HTML5 if AudioMixer is not enabled Change 3937997 by Max.Chen Curve Editor: Add Zoom to Fit Curves so that selected curves from Sequencer can be focused on. Tested that undo doesn't re-zoom. #jira UE-55935 Change 3938000 by Max.Chen Sequencer: Stop all sounds before generating audio waveforms. #jira UE-55951 Change 3938376 by Max.Preussner XGEController: Disabled XGE Controller in single-threaded apps to prevent crash Change 3938444 by Max.Preussner Core: Added async support for single-threaded applications Change 3938445 by Max.Preussner Networking: Added support for single-threaded applications in UDP socket sender/receiver Change 3938447 by Max.Preussner Messaging: Added support for single-threaded applications Change 3939432 by Max.Chen Sequence Recorder: Append command list to global level editor actions so that shortcuts are accessible in level editor. #jira UE-55798 Change 3940229 by Andrew.Rodham Added prospective display rate upgrade to UMovieScene::PostLoad - There was previously some very odd behaviour that would assign the fixed frame interval only when a sub sequence was focused in SSequencer. This meant that many sequences could have a frame interval of 0 set in the data. - Under the old method of snap interval display this would have fallen back to getting the display interval from the sequencer settings, but we no longer look at these. - The USequencerSettings properties have been removed and in their place, a prospective data upgrade for sequences that have a fixed frame interval old 0fps that sets the play rate to the previous defaults based off the old USequencerSettings defaults. - This could end up 'changing' the display rate for sequences where the user has changed the snap interval in the settings for a particular sequence editor, but there's not much we can do about that given we don't have access to the USequencerSettings classes in UMovieScene #jira UE-55919 Change 3940277 by Andrew.Rodham Sequencer: Added ability to default frame resolutions and play rates for newly created actor sequences Change 3940378 by Andrew.Rodham Sequencer: Post move import dialog now defaults to the playback framerate of the sequence, and floors to frame numbers Change 3940559 by Andrew.Rodham Reinstated primed or recording sequence color Change 3940642 by Max.Preussner ImagePlate: Removed image plate media playback functionality Change 3940843 by Max.Preussner Core: Made TCircularQueue actually thread-safe; improved code comments Change 3940860 by Max.Chen Sequencer: Changed StructNameToKey to StructPathToKey Previously, keying a PropertyPath of [RenderTransform][Shear][X] would get trimmed to X, which doesn't map to a channel name as considered by Sequencer2dTransformTrackEditor. Instead, trim the resulting property path to [Shear][X] so that track editors can determine the desired struct path and channels to key. #jira UE-52966 Change 3941292 by Mike.Zyracki Fix for trajectories out of range not showing up. 1) If we had no key data we would pop the time, so wouldn't get the section ranges. 2) Calculating of upper bound was wrong, checking against -1 and not key == num of keys when doing algo::lower_bound. 3) No need to do the Bck-- for the bakward iterators since we fixed #2. We start now from the upper bound correctly. 4) If we had no keys (at section start,end) we would incorrectly say we were any key type, so since we draw constant keys as dashed we would do so incorrectly around section end points. #jira UE-55929 Change 3941424 by Max.Chen Curve Editor: Change Zoom to Fit to use TArrayView Change 3941498 by Max.Preussner Core: Added FMath::DivideAndRoundNearest function Change 3942097 by Matt.Hoffman Drop Frame Timecode Support for NTSC rates. Change 3942104 by Matt.Hoffman Sequence Recorder Group is no longer visible inside the World Outliner after using one. #jira 55266 Change 3942107 by Max.Chen Sequencer: Resurrect logic to find or extend an existing section when adding keys. Change 3942330 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942339 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942507 by Andrew.Rodham Sequencer: We no longer pad the time overlap threshold with a small number that is not scaled by the current zoom level - The presence of this pad was causing keys that were far apart to be grouped when zoomed in a long way Change 3942509 by Andrew.Rodham Sequencer: Only pad total view range, rather than section range as well when retrieving keys to render - This stops us from rendering keys that are within the view range, but outside the section range Change 3942512 by Andrew.Rodham Added transactions to some sequencer details customizations Change 3942513 by Andrew.Rodham Sequencer: Reinstated validation checks to UMovieSceneSection::SetStartFrame and SetEndFrame, changed erroneous uses to use SetRange Change 3942560 by Andrew.Rodham Pass by rvalue reference to appease error C2719 on Win32 ('InChannels': formal parameter with requested alignment of 8 won't be aligned) Change 3942697 by Andrew.Rodham Newly Created Level Sequences and Actor Sequences now default to 24000 fps frame resolution (+/- ~24hrs range, supporting all integer rates + 23.976) Change 3942700 by Andrew.Rodham Sequencer: Added legacy out-of-bounds errors for times that are not supported by the current legacy upgrade frame resolution Change 3942989 by Max.Preussner Core: Fixed circular queue count calculation Change 3943538 by Max.Preussner MediaAssets: Reverted workaround for procedural audio log spam in HTML5 (Actor component initialization cannot be skipped if the component is used in a level) Change 3944071 by Max.Preussner QAGame: Fixed Media Texture keeps last frame of Media when PIE ends #jira UE-53360 Change 3944292 by Max.Chen Sequencer: Added extra flags to ensure that asset initialization does not occur on template actor sequences #jira UE-56113 Change 3944364 by Max.Chen Sequencer: Prevent circular shot/master tracks. Tested adding master -> child -> master as drag and drop cinematic shot tracks and sub tracks as well as through the + button. #jira UE-56091 Change 3944422 by Max.Chen Sequence Recorder: Disable transform recording if off. #jira UE-56061 Change 3944745 by Andrew.Rodham Sequencer: Key rendering fixes - Fixed assert that occured when keys happened to reside on some times due to KeyTime + TimeOverlapThreshold - KeyTime being slightly larger TimeOverlapThreshold - Fixed keys sometimes being clipped when zoomed right in due to lack of half-frame offset - Added missing documentation to MovieSceneTimeHelpers.h #jira UE-56107 Change 3945231 by Andrew.Rodham Sequencer: Reconstruct channel proxy on Serialize to catch all cases of undo/redo, PostLoad and duplication #jira UE-56089 Change 3945301 by Andrew.Rodham Sequencer: Added safety checks during initial sequence recording to guard against applying negative or 0-sized sequence ranges #jira UE-56125 Change 3946627 by Max.Preussner Fortnite: Fixed game crashes closing editor while in PIE - Pure virtual function being called #jira UE-56144 [CL 3946896 by Max Chen in Main branch]
2018-03-14 22:09:33 -04:00
FFrameTime FSequencerTimeSliderController::ComputeScrubTimeFromMouse(const FGeometry& Geometry, FVector2D ScreenSpacePosition, FScrubRangeToScreen RangeToScreen) const
{
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3946692) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3801826 by Max.Chen PR #4304: Level Sequence crash fix - Guarded against dereferencing null componen. (Contributed by DSDambuster) Change 3801828 by Max.Chen PR #4302: Movie Scene Visibility Template unitialised variable, causing random . (Contributed by DSDambuster) Change 3801837 by Max.Chen Sequencer: Delay spawning/construction for convert to possessable. This fixes a bug where property values would be lost when converting back and forth from possessable to spawnable. #jira UE-52400 Change 3801841 by Max.Chen Sequencer: Make spacer nodes not selectable. PR #4194: Improvements to Sequencer (Contributed by projectgheist) #jira UE-53117 #jira UE-52139 Change 3804183 by Max.Preussner MediaAssets: Added missing lock in media sound component Change 3805414 by Max.Preussner MediaAssets: Setting valid GUID when initializing media texture resource Change 3819578 by Max.Chen PR #4370: When enabling the "MovieCapture", do not turn off the Stereo-3D display. (Contributed by yehaike) #jira UE-53647 Change 3823414 by Max.Chen Curve Editor: Lock down the first and last keys in the redundant keys removal range so that they're unaffected. #jira UE-53591 Change 3826406 by Max.Chen Sequencer: Move OnStartedPlaying() to within first update in UpdateTimeCursorPosition(). This fixes an issue where setting the hud/player visibility was getting stomped on later. #jira UE-52772 Change 3827044 by Max.Preussner MediaAssets: Added sprite visualization to media sound component #jira UE-53594 Change 3827988 by Max.Preussner MediaPlayerAssets: Fixed Media Texture is not linked to Media Player when created together #jira UE-53532 Change 3828506 by Max.Preussner MediaPlayerEditor: Added attenuation visualizer for media sound components #jira UE-53594 Change 3832590 by andrew.porter EngineTest: Added a keep state check in Property Animation sequencer test Change 3833053 by andrew.porter EngineTest: Adding Hierarchical Bias test Change 3835683 by andrew.porter EngineTest: Adding UMG Animation screenshot test Change 3836076 by Max.Chen Sequencer: Fix audio volume and pitch multiplier deprecation. Change 3836230 by andrew.porter EngineTest: Adding Sequence Bone Position automation test Change 3836347 by Max.Chen Sequencer: Fixes to shot name parsing. When a shot doesn't contain a shot number, assume, [ShotName]_[TakeNumber]. When duplicating a shot, put the new shot in the same path of the original shot, so that the take numbers will increment properly. #jira UE-51868 Change 3836552 by Max.Chen Sequencer: Sub section now has a takes menu Change 3838094 by Max.Chen UMG: Fix template finish not getting called on stop. This fixes a bug where sections aren't restored when finished. #jira UE-52285 Change 3838708 by Max.Chen Sequencer: Add notification when the blend type is changed. #jira UE-54046 Change 3840295 by Max.Chen Sequencer: Fix copy/paste crash for lights #jira UE-54084 Change 3840957 by Mike.Zyracki Added Show Only Keyable and Show Only Animated to the filter list in the property editor. Added IsPropertyAnimated to IDetailKeyframe Interface which already had support for showing properties which are keyable (which is used for the key icon next to the properties.). Could have created another interface but then would have had to mimic the sequencer binding, releasing also, so this seemed best way. One issue still left is that custom built detail items currently don't store associated properties(usually) and so certain properties, in particulalry transforms, won't show up as keyable or animated. Note this also shows up with the keyable icon not showing up next to transform tracks, and other filters like Show Only Modified not working with transforms/customs. Not sure best way to tackle this. #jira UESEQ-328 Change 3841756 by Max.Chen Sequencer: Fix unbound possessable components when pasting spawnables. #jira UE-54104 Change 3843950 by andrew.porter EngineTest: Renaming LevelStreaming tests/content to LevelVisibility Change 3844082 by Mike.Zyracki Missing file for animated filter in property editor. When finding if a track is animated we need to find it but we can't easily induce the MovieTrack class for any particular property. So we don't set a class for it and just search by it's ID and name. #jira UESEQ-328 Change 3846902 by Max.Preussner ImgMedia: Fixed image media player never finished initialization if loading failed #jira UE-54247 Change 3849820 by Mike.Zyracki Reassigning deleted widgets didn't work since the menu extender mechanism needs a valid UObject in order to perform an operation on it. So to fix we replaced GetObjectBindingContextMenuExtender in WidgetBlueprint with new delegate mechanism (OnBuildCustomContextMenuForGuid) that supports FGuid in addition to UObjects which is needed to handle re-binding deleted widgets. Note that the default sequencer hacks this for replacing deleted actors in SequencerObjectBindingNode to check to see if a LevelSequence is active. We could move to this mechanism there also. #jira UE-53163 Change 3852211 by Max.Chen UMG: Indicate name of the property that is not bound. #jira UE-54350 Change 3854120 by Max.Chen Sequencer: Fix sibling folders being allowed to have the same folder name. #jira UE-54363 Change 3854627 by Max.Chen Sequencer: Step to next/previous key should work for all tracks if there aren't any selected. #jira UESEQ-391 Change 3855825 by andrew.porter EngineTest: Adding animation blending automation test Change 3855950 by andrew.porter EngineTest: Adding correct expected valuues to animation blending test Change 3856237 by Matt.Hoffman UESEQ-336 - Sequencer Track Reordering Adds the ability to re-order Master Tracks, Folders and Object Bindings within sequencer hierarchies (including UMG). Adds the ability to do a one-off sorting of the content under the old sorting behavior if the user wants to reset their layout to how it was under legacy behavior. Modifies SequencerTrackNodes, SequencerFolderNodes and SequencerObjectBindingNodes to handle CanDrop/OnDrop for above, below and ontop of. Fixes a Slate Issue that forcibly expanded a TreeviewRow if an item handled OnDrop. Slate will now only forcibly expand the row if the item says the drop happened ontop of the item, and not above or below it like it previously did. Change 3856503 by andrew.porter EngineTest: Adding automation test for using animation blueprint with blend multi node in sequencer Change 3857875 by Max.Chen Sequencer: Assign the sequence id after the template is compiled. #jira UE-54462 Change 3858344 by Max.Chen Sequencer: Prevent Goto and Transform boxes from overlapping by allowing them to be visible at the same time in an autosized horizontal box. Also, added close button to the goto box. PR #4425: Prevent Goto and Transform boxes from overlapping in Sequencer ... (Contributed by projectgheist) #jira UE-54210 Change 3860566 by andrew.porter MediaFrameworkTest: Set the option to index 0 for the audio and video track list by default Change 3860654 by andrew.porter EngineTest: Enabling Camera Cut + FOV test Change 3860981 by andrew.porter EngineTest: Updating skeletal mesh tests with a delay after set playback position Change 3861256 by Max.Chen Sequencer: Add all bindings if none selected. #jira-54440 Change 3862154 by Andrew.Rodham Added TimeManagement module Change 3862424 by andrew.porter EngineTest: Turned on the test Bone Positions with Blend Multi Node Change 3862573 by andrew.porter EngineTest: Adding test to compare bone positions in a sequence that is blending an animation that is using an AnimBP Change 3865117 by Max.Chen Sequencer: Stop auto scroll on mouse release of movement. #jira UE-31212 Change 3865303 by Max.Chen Sequencer: Add drag and drop transactions #jira UE-54662 Change 3865304 by Max.Chen Sequencer: Fix crash when an actor factory is not found. Change 3865361 by Max.Chen Sequencer: Don't change the camera/shot lock button when popping out of a sequence. #jira UE-54665 Change 3865412 by Max.Chen Sequencer: Determine whether a transform track is for a camera by using the spawned object or template #jira UE-54666 Change 3865685 by Max.Chen Sequencer: Clear autoscrub offset when stopping autoscroll #jira UE-31212 Change 3865886 by Max.Chen Sequence Recorder: Log an error if the number of frames changes while recording. This can happen if the skeleton changes while recording. #jira UE-48715 Change 3866925 by Andrew.Porter MediaFrameworkTest: Changing the current PNG test video image sequence to 1024 x 576 Change 3867705 by andrew.porter QAGame: Adding Audio Sort Sequence to dev folder Change 3867890 by andrew.porter QAGame: Adding a sequence for testing a sorting crash to my dev folder Change 3872628 by Max.Chen Movie Scene Capture: Split delay before warmup into split delay before shot warmup so that there's separate controls for when the movie scene capture warmups up vs. shot boundaries. Change 3873131 by Matt.Hoffman UE-54732 - Crash reordering a folder with a track. This was caused by folders being the only type of track to check if someone was putting a parent track into a child track. Object Binding tracks and Tracks now check as well so that you can't use the above/below drop targets to add parents as children. This also fixed a typo in the localization keys. #jira UE-54732 Change 3873301 by Mike.Zyracki Added ability to support continous euler angle changes when changing rotations, in particularly with the rotation gizmo's. To do this we effectively added a form an of 'euler filter'(https://en.wikipedia.org/wiki/Euler_filter) to find the closest euler angle to the current euler angle. Three functions were added to FRotator to make this possible, one to get the euler angle that's has the same rotation as it, one to get the difference between two euler angles via Manhattan distance and a third using the previous two to choose a Rotator value that's closest to it. We then use these functions before calling UComponent::SetRelativeRotation to make sure we use the correct Euler after the Quat conversion. We also no longer limit(bound) the euler angles to -180,180, which is obviously necessary to avoid flips. I also changed how we caluclate yaw and roll when pitch is -90 or 90 to make it the standard approach of zeroing out roll and just setting yaw. Main reasons are the previous implementation had precision issues so things like 180, 90, -180 would show up due to numbers being nearly zero but negative,(this would break any smooth interpolations), and this facilitates having a 'gimbal' rotation mode (like Maya, Blender etc..) if we ever want that also. If needed we could keep the previous implementation but would need to add some FMath::IsNearlyZero checks, with less performance. Note we only do this special filtering when applying delta's to actors or components in the editors, which then call UComponent::SetRelativeRotationExact, which is a new function to foces the RelativeRotation to be equal to the new rotation. This allows us to store un-nomalized Rotators at the cost that the RotationCache may be broken. We didn't change any of the other UComponent functions that set rotations (via Quats or Transforms) so they will still be bounded and unwound. In SetInternalWorldLocationAndRotation we only set the rotation if the rotation has changed, which fixes the rotation getting changed and re-normalized if just translate happens. In TransformTrackEditor, we correclty use the bUndwing flag and in MovieScene3DTransformSection there was an un-needed winding check there, it will be unwound earlier if needed, which happens if Sequence Recording is happening. Max we should talk about what to do about this . Note the euler angle drag via the widget is still bound to 0-360. I think we should just unbound that now since the rotations value are now unbound. This review now includes fixes suggested by Zak. #jira UE-UE-22228 Change 3873483 by Matt.Hoffman Sequencer Tracks can now be inserted above the spacer at the bottom of the tree. #jira UE-54706 Change 3873899 by Max.Chen Sequencer: Add section selection throbbing Change 3873908 by Max.Chen Movie Scene Capture: Added logging per frame Change 3873924 by Matt.Hoffman Adds the ability to store Sequence Recorder setups into profiles that stay with the map and can be re-loaded later. Profiles store the Actor Recordings so the settings for each actor should carry with them. #jira UESEQ-339 Change 3874726 by Matt.Hoffman Disable drag-and-drop targets on spacers that come between rows in Sequencer. This prevents extra drag/drop targets showing up between each row. #jira UE-54706 Change 3874862 by Matt.Hoffman Audio Track no longer gets reordered when adding sub-audio tracks, as sub-tracks are no longer counted towards the sorting order index when normalizing indexes. #jira UE-54727 Change 3875905 by Matt.Hoffman Disable Fade Track UI if a fade track already exists in the sequence. #jira UESEQ-393 Change 3876163 by Max.Chen Sequencer: Swap the camera object to the camera component's owner if it's not the same. #jira UE-54874 Change 3876971 by Andrew.Porter EngineTest: Moved Media Player Seek test to new folder. Also enabled the test with new ground truth image. Change 3877040 by Max.Chen Cine Camera: Split camera properties to two groups, "Camera Options" and "Camera Settings". The cine camera now hides properties in the "Camera Settings" group so that properties like bConstrainAspectRatio (in the "Camera Options" group) can be visible. #jira UE-54192 Change 3877763 by Max.Chen Curve Editor: Fix curve changed on end drag so that only curves that had keys/tangents that were changed receive notification, otherwise all loaded curves were getting notified that they were changed. #jira UE-54951 Change 3878234 by Matt.Hoffman Disable "Drop Below" targets for Sequencer Tree nodes to prevent a confusing UX issue where dropping underneath a Object Binding Node puts it after the object binding node but the UI looks like it's inserting it inside the Object Binding node. #jira UE-54743 Change 3879359 by Mike.Zyracki If a track is inactive we dim it a bit which seems to be the UE4 way to show inactive or disabled state. We changed the active logic so that all subtracks need to be inactive for the track to also be inactive(instead of all active for active). This conforms to how the active state actually works, e.g if you have two sections and only one is active the track is still active above it. #jira UESEQ-388 Change 3879462 by Max.Chen Sequencer: Allow dragging onto a particular row which would move out any overlapping sections to make space for the newly created section. Newly created sections are now selected and throbbed to draw attention to themselves. #jira UE-54664 Change 3879464 by Max.Chen Sequencer: Fixed overlapping ranges being inserted into the evaluation field during compilation - The issue was that track segments that had been combined with adjacent segments (due to them being identical) would potentially cause a subsequently compiled frame to overlap with a range that had already been inserted into the evaluation field. - The insertion code previously asserted that only minor overlaps were catered for (due to fp rounding errors) and assumed that a supplied range could not entirely contain any other range in the field. - The solution is to supply the insertion time along with the range to know exactly where the data should live in the field, and crop the range to the maximum allowable space between adjacent ranges. #jira UE-54922 Change 3879590 by Matt.Hoffman Items that are now added to the Sequencer via the "+Track" menu will be selected after being added. Items can now be added inside of folders instead of just to the root level. #jira UE-27397 Change 3879612 by Mike.Zyracki Display Nodes with no children are always active. #jira UESEQ-388 Change 3879730 by Matt.Hoffman Sequence Recorder's actor recording groups now remove items from the group when removed via the UI. #jira UESEQ-339 Change 3880256 by Mike.Zyracki Fix issue with inactive display with folders and other track nodes. #jira UESEQ-388 Change 3883491 by Max.Chen Fix issue where tick is skipped due to last ticked pose isn't cleared after AnimInstance changes. Copy from Release-4.19 #jira UE-51323 Change 3883603 by Max.Chen Movie Scene Capture: Add option toggle disable screen percentage. By default this is on (no change in current behavior). #jira UE-51898 Change 3885074 by Max.Preussner MediaCompositing: Resetting media texture & freeing resource on section end; removed dead code Change 3887220 by Max.Preussner MediaCompositing: Defaulted media section duration to 1 sec (since we do not know the actual duration in most cases) Change 3887478 by Matt.Hoffman Sequences now show [Inactive] in their title bars when they're disabled. This helps communicate why a sequence isn't being evaluated. #jira UE-51469 Change 3888985 by Max.Chen Movie Scene Capture: Clamp HDR Compression Quality between 0 and 1. #jira UE-55136 Change 3893519 by Max.Chen Sequence Recorder: Clarified tooltip for bRecordNearbySpawnedActors - spawned actors will still be recorded if they match the ActorFilter. #jira UE-55238 Change 3893546 by Max.Chen Sequence Recorder: If a selected actor already has a recording, add a blank recording. #jira UE-55239 Change 3894044 by Max.Preussner MediaCompositing: Added support for seeking into a media section Change 3894310 by andrew.porter MediaFrameworkTest: Adding Img media sources for 1080 and 2160 ravent test content Change 3894426 by Max.Preussner MediaAssets: Letting media textures with AutoClear retain their clear color when player is reset Change 3895717 by Max.Chen Sequencer: Null checks to prevent crash when saving the default state of a spawnable #jira UE-55304 Change 3897388 by Max.Chen Sequencer: Don't update current time to be within the view range when stepping into a sequence. #jira UE-55322 Change 3897452 by Max.Chen Audio: Fix crash when trying to record audio without any active capture devices. Log warning if the number of input channels is not 1 or 2. #jira UE-55223 Change 3897619 by Max.Preussner MediaCompositing: Removed commented out code Change 3898072 by Max.Chen Sequencer: Override the animation asset in the player state if it doesn't match the animation asset that's being evaluated. #jira UE-55328 Change 3898272 by Max.Preussner MediaPlayerEditor: Made slate brush constants static Change 3898704 by Max.Chen Sequencer: Skip if the binding id's sequence can't be found. #jira UE-55337 Change 3899855 by Max.Preussner MediaCompositingEditor: Added cache state visualization to media track Change 3900300 by Max.Preussner MediaCompositingEditor: Added loop indicators to media sections Change 3900694 by Max.Preussner ImfMedia: Looping cache only when player is looping Change 3900892 by Max.Preussner Stats: Added stats category for media framework Change 3900954 by Max.Preussner MediaCompositing: Don't evaluate at the end of media section Change 3901348 by Max.Preussner Core: Replaced TLruCache autos for better readability Change 3901655 by Max.Preussner ImgMedia: Added more perf stats to EXR reader Change 3901972 by Max.Preussner MediaAssets: Added getter for media player in media sound components Change 3902233 by Max.Preussner MediaAssets: Enabling media textures to receive samples right after player is assigned Change 3902238 by Max.Preussner MediaCompositing: Working around init/shutdown idiosyncracies in sequencer Change 3904045 by Max.Chen Sequencer: Fix copy/paste crash. Only process UMovieSceneCopyableBinding and objects that can be spawned by the movie scene spawn register. #jira UE-55314 Change 3905605 by Max.Chen Sequencer: Restrict spawnables from being created if they have a ClassWithin that UMovieScene is not a child of. #jira UE-55429 Change 3906550 by Max.Chen Sequencer: Add media track icon #jira UE-55480 Change 3907101 by Max.Chen Sequence Recorder: Fix bugs related to not recording a level sequence. There were certain assumptions that creating a level sequence meant that sequence recording was in progress. This is not always the case - the recorders can record animation assets and not create a level sequence. Changed the notion of IsRecording() to having at least one actor recording that is recording. Countdown timer, recording displays, etc should function if IsRecording() and not based on whether a level sequence is created. #jira UE-55485 Change 3907247 by Max.Chen Sequence Recorder: Fix crash not removing PrepareToCleanseEditorObject delegate. Repros when opening sequence recorder, closing it, and then opening or creating a level. Change 3910343 by Max.Preussner Core: Added async helper for executing functions on a given thread pool Change 3910346 by Max.Preussner ImgMedia: Added separate thread pools for loading/decoding and deleting image frames Change 3910829 by Max.Preussner Profiler: Increased visible range of profiler graph Change 3910841 by Max.Preussner MediaCompositing: Displaying asset name instead of full media source path in media section Change 3910870 by Max.Preussner ImgMedia: Using deallocation thread pool only in debug builds Change 3919642 by Max.Chen Sequence Recorder: Clarify active tooltip #jira UE-55661 Change 3919660 by Max.Chen Sequencer: Sequence template source signatures are now also compared to catch the case where a sub-sequence asset has been saved but not modified - The following sequence of events exposes this issue: - Create a master sequence with a single shot that spawns a cube - Add this sequence to a level and set it to auto-play - Save everything and restart - Resave just the inner shot asset without opening it - PIE - The inner shot never spawns its cube because its template was wiped on save, but its signature never changed. Since the master sequence previously didn't check the template source signature, it ends up trying to evaluate an empty template. #jira UE-55626 #jira UE-55490 Change 3921825 by Max.Chen Sequencer: "Run Construction Script in Sequencer" is off by default for blueprints but on for Sequencer. This allows the content author to switch it on for specific blueprints and sequencer will be default, run those with construction scripts enabled. Change 3922232 by Max.Chen Sequence Recorder: Reset countdelay on stop. #jira UE-55755 Change 3922306 by Max.Chen Sequence Recorder: Don't automatically mark transforms to be recorded by sequence recorder. Instead, log a warning if the user toggled it off to warn that the resulting animation might not match gameplay. #jira UE-55758 Change 3922912 by Max.Chen Sequence Recorder: Fix refresh next sequence name #jira UE-55757 Change 3927654 by Max.Chen Movie Scene Capture: Added format mapping for the name of the current camera #jira UE-55769 PR #4537 Change 3927658 by Max.Chen Sequencer: Added fbx property mapping for "FocusDistance" to "FocusSettings.ManualFocusDistance" #jira UE-55782 Change 3932022 by Max.Chen Sequencer: Add import animation track section to next available row index. #jira UE-55892 Change 3933919 by Max.Chen Sequencer: Jump to playback start frame and not 0 to start playback for recording. #jira UE-55933 Change 3934307 by Andrew.Rodham Sequencer: Add template signature that is re-generated every time the base template is regenerated, which invalidates evaluation fields This fixes an issue where the same sequence is instantiated multiple times in a sequence. If the source sequence was saved, its template would be wiped, which would invalidate the template ID When an instance tries to evaluate the master template, it would only invalidate a range in the evaluation field that was the hull of any invalid sub sequences overlapping the current time, potentially leaving invalid data in the evaluation field at positions later (or earlier) on in the sequence When the sub template was re-generated, it receives the same SequenceSignature as it had before (because the sequence hasn't actually changed), which causes the stale evaluation field data to fail the IsDirty check (because the sequence is the same as it thought, but the *template* has changed) This has been addressed be adding a signature to templates themselves, and checking both the template signature and sequence signature as a part of the IsDirty check. This ensures that we regenerate if either the template, or the sequence have changed. #jira UE-55934 Change 3936327 by Andrew.Rodham Sequencer: Removed increment when trimming right UMovieSceneSection::TrimSection already explicity assigns an exclusive bound to the time passed in. The new behavior means we can trim a section to the right, and insert another section without changing the time to create adjacent sections. #jira UE-42652 Change 3936328 by Andrew.Rodham Fixed KeyFrameManipulator assignment operators and copy/move constructors - These types are potentially self-referential so cannot use default constructors/assignment Change 3936330 by Andrew.Rodham Converted UMGSequencePlayer to use frames internally #jira UE-54878 Change 3936726 by Max.Chen Sequencer: Set track node as the parent of the key area node. The key area switcher needs the object binding id from the parent object binding node. Without this, the binding to the external value fails. #jira UE-55931 Change 3936775 by Max.Chen Sequencer: Should stop or loop should compare DurationFrames with Current Time from StartTime. The bug is that if you set 30 warmup frames in movie rendering for a range of 0-100, the FrameRange will be starting at -30 and have a duration of 130. Without this fix, the playback will continue until frame 130, rather than 100. #jira UE-55933 Change 3936935 by Matt.Hoffman Easing Curves are now represented in Play Rate resolution instead of internal resolution. #jira UE-55937 Change 3937069 by Matt.Hoffman Users can toggle if the is infinite on each side, limited by which tracks support infinite ranges. #jira UE-55891 Change 3937516 by Max.Preussner ImgMedia: Added support for single-threaded platforms #jira UE-55986 Change 3937826 by Max.Preussner MediaAssets: Disabling media sound components on HTML5 if AudioMixer is not enabled Change 3937997 by Max.Chen Curve Editor: Add Zoom to Fit Curves so that selected curves from Sequencer can be focused on. Tested that undo doesn't re-zoom. #jira UE-55935 Change 3938000 by Max.Chen Sequencer: Stop all sounds before generating audio waveforms. #jira UE-55951 Change 3938376 by Max.Preussner XGEController: Disabled XGE Controller in single-threaded apps to prevent crash Change 3938444 by Max.Preussner Core: Added async support for single-threaded applications Change 3938445 by Max.Preussner Networking: Added support for single-threaded applications in UDP socket sender/receiver Change 3938447 by Max.Preussner Messaging: Added support for single-threaded applications Change 3939432 by Max.Chen Sequence Recorder: Append command list to global level editor actions so that shortcuts are accessible in level editor. #jira UE-55798 Change 3940229 by Andrew.Rodham Added prospective display rate upgrade to UMovieScene::PostLoad - There was previously some very odd behaviour that would assign the fixed frame interval only when a sub sequence was focused in SSequencer. This meant that many sequences could have a frame interval of 0 set in the data. - Under the old method of snap interval display this would have fallen back to getting the display interval from the sequencer settings, but we no longer look at these. - The USequencerSettings properties have been removed and in their place, a prospective data upgrade for sequences that have a fixed frame interval old 0fps that sets the play rate to the previous defaults based off the old USequencerSettings defaults. - This could end up 'changing' the display rate for sequences where the user has changed the snap interval in the settings for a particular sequence editor, but there's not much we can do about that given we don't have access to the USequencerSettings classes in UMovieScene #jira UE-55919 Change 3940277 by Andrew.Rodham Sequencer: Added ability to default frame resolutions and play rates for newly created actor sequences Change 3940378 by Andrew.Rodham Sequencer: Post move import dialog now defaults to the playback framerate of the sequence, and floors to frame numbers Change 3940559 by Andrew.Rodham Reinstated primed or recording sequence color Change 3940642 by Max.Preussner ImagePlate: Removed image plate media playback functionality Change 3940843 by Max.Preussner Core: Made TCircularQueue actually thread-safe; improved code comments Change 3940860 by Max.Chen Sequencer: Changed StructNameToKey to StructPathToKey Previously, keying a PropertyPath of [RenderTransform][Shear][X] would get trimmed to X, which doesn't map to a channel name as considered by Sequencer2dTransformTrackEditor. Instead, trim the resulting property path to [Shear][X] so that track editors can determine the desired struct path and channels to key. #jira UE-52966 Change 3941292 by Mike.Zyracki Fix for trajectories out of range not showing up. 1) If we had no key data we would pop the time, so wouldn't get the section ranges. 2) Calculating of upper bound was wrong, checking against -1 and not key == num of keys when doing algo::lower_bound. 3) No need to do the Bck-- for the bakward iterators since we fixed #2. We start now from the upper bound correctly. 4) If we had no keys (at section start,end) we would incorrectly say we were any key type, so since we draw constant keys as dashed we would do so incorrectly around section end points. #jira UE-55929 Change 3941424 by Max.Chen Curve Editor: Change Zoom to Fit to use TArrayView Change 3941498 by Max.Preussner Core: Added FMath::DivideAndRoundNearest function Change 3942097 by Matt.Hoffman Drop Frame Timecode Support for NTSC rates. Change 3942104 by Matt.Hoffman Sequence Recorder Group is no longer visible inside the World Outliner after using one. #jira 55266 Change 3942107 by Max.Chen Sequencer: Resurrect logic to find or extend an existing section when adding keys. Change 3942330 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942339 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942507 by Andrew.Rodham Sequencer: We no longer pad the time overlap threshold with a small number that is not scaled by the current zoom level - The presence of this pad was causing keys that were far apart to be grouped when zoomed in a long way Change 3942509 by Andrew.Rodham Sequencer: Only pad total view range, rather than section range as well when retrieving keys to render - This stops us from rendering keys that are within the view range, but outside the section range Change 3942512 by Andrew.Rodham Added transactions to some sequencer details customizations Change 3942513 by Andrew.Rodham Sequencer: Reinstated validation checks to UMovieSceneSection::SetStartFrame and SetEndFrame, changed erroneous uses to use SetRange Change 3942560 by Andrew.Rodham Pass by rvalue reference to appease error C2719 on Win32 ('InChannels': formal parameter with requested alignment of 8 won't be aligned) Change 3942697 by Andrew.Rodham Newly Created Level Sequences and Actor Sequences now default to 24000 fps frame resolution (+/- ~24hrs range, supporting all integer rates + 23.976) Change 3942700 by Andrew.Rodham Sequencer: Added legacy out-of-bounds errors for times that are not supported by the current legacy upgrade frame resolution Change 3942989 by Max.Preussner Core: Fixed circular queue count calculation Change 3943538 by Max.Preussner MediaAssets: Reverted workaround for procedural audio log spam in HTML5 (Actor component initialization cannot be skipped if the component is used in a level) Change 3944071 by Max.Preussner QAGame: Fixed Media Texture keeps last frame of Media when PIE ends #jira UE-53360 Change 3944292 by Max.Chen Sequencer: Added extra flags to ensure that asset initialization does not occur on template actor sequences #jira UE-56113 Change 3944364 by Max.Chen Sequencer: Prevent circular shot/master tracks. Tested adding master -> child -> master as drag and drop cinematic shot tracks and sub tracks as well as through the + button. #jira UE-56091 Change 3944422 by Max.Chen Sequence Recorder: Disable transform recording if off. #jira UE-56061 Change 3944745 by Andrew.Rodham Sequencer: Key rendering fixes - Fixed assert that occured when keys happened to reside on some times due to KeyTime + TimeOverlapThreshold - KeyTime being slightly larger TimeOverlapThreshold - Fixed keys sometimes being clipped when zoomed right in due to lack of half-frame offset - Added missing documentation to MovieSceneTimeHelpers.h #jira UE-56107 Change 3945231 by Andrew.Rodham Sequencer: Reconstruct channel proxy on Serialize to catch all cases of undo/redo, PostLoad and duplication #jira UE-56089 Change 3945301 by Andrew.Rodham Sequencer: Added safety checks during initial sequence recording to guard against applying negative or 0-sized sequence ranges #jira UE-56125 Change 3946627 by Max.Preussner Fortnite: Fixed game crashes closing editor while in PIE - Pure virtual function being called #jira UE-56144 [CL 3946896 by Max Chen in Main branch]
2018-03-14 22:09:33 -04:00
FVector2D CursorPos = Geometry.AbsoluteToLocal( ScreenSpacePosition );
double MouseSeconds = RangeToScreen.LocalXToInput( CursorPos.X );
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 4044339) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3947021 by Max.Chen Sequencer: Don't preserve root component when copying object properties. A spawnable empty actor, has a root component that is generated by the empty actor factory. If the object template's root component is preserved when copying from the spawnable empty actor, the root component will not be copied over. Therefore, we need to NOT preserve the root component when copying object properties. #jira UE-55825 Change 3947366 by Max.Preussner WmfMedia: Better log output Change 3947367 by Max.Preussner MfMedia: Better detection of compressed format properties on Windows Change 3949102 by Max.Chen Sequencer: Remove SequenceActorTag when converting to possessable. #jira UE-56206 Change 3949207 by andrew.porter EngineTest: Set the screenshot nodes resolution to 1280x720 Change 3949404 by Max.Chen Sequencer: More informative tooltip for "Rerun Construction Scripts" option. It now says "Rerun construction scripts every frame on actors that have 'Rerun Construction Script in Sequencer' enabled in their class settings". Change 3950067 by Matt.Hoffman Renamed UAutomatedLevelSequenceCapture's StartFrame and EndFrame to CustomStartFrame/CustomEndFrame to reflect that it is user-overriden. This will also resolve upgrade issues due to the variable datatype changing. #jira UE-56189 Change 3950193 by JohnHenry.Carawon Updating my latest MovieRendering test content. Change 3950757 by JohnHenry.Carawon More updates to MovieRendering test content Change 3952059 by Max.Chen Resave LevelVisibility_SubLevels to fix data loss conversion warning of OpacityMaskConstant #jira UE-56086 Change 3952283 by Max.Chen Sequencer: Disable dropping level sequence assets as spawnables. #jira UE-56120 Change 3952422 by Max.Chen Sequence Recorder: Add button to record from the current player. #jira UE-55942 Change 3952987 by JohnHenry.Carawon MovieRendering Test Content - Fixing camera bindings and changing the override binding actor Change 3953823 by Mike.Zyracki Fix for Bad FBX Import Tangents not scaled by frame rate. After looking at this again it seems that a set of MovieScene:: overiddes for the channel traits wasn't set correctly, so use the ADL idiom to use MovieScene, which can then call Optimize in the correct namespace. With this we can now correctly use the passed in tolerance. There was also a redundant set of Optimize calls so that it could happen twice so removed them, and needed an extra check in the float channel Optimize. Also since we need to set auto tangents no matter if we optimize we don't set that parameter(though leave it since it's used by context menu key reduction). Finally fixed speed issue with trajectories caused by calculating way too many substeps. Reverted back to a time based step size for consistency. #jira UE-56193 Change 3954317 by Matt.Hoffman Adding a key to the last frame of a section no longer causes a crash. Keys can already be moved to be on the last frame of a section so now you can just add a key there directly. #jira UE-56255 Change 3954326 by Matt.Hoffman Dilating a section that is only infinite on one side no longer causes a crash. #jira UE-56260 Change 3954486 by Max.Chen PR #4580: Exposes IsReversed() from UMovieSceneSequencePlayer (Contributed by alanedwardes) Change 3955238 by Max.Preussner Messaging: Enabled delayed message routing https://github.com/EpicGames/UnrealEngine/pull/4574 #jira UE-56247 Change 3955901 by Max.Preussner MediaFrameworkTest: Added developer test for overriding desired media player plug-in at runtime. Change 3955922 by Andrew.Porter QAGame: Updating movie rendering content in dev folder Change 3956004 by andrew.porter QAGame: Adding MPC track to movie rendering test content Change 3956510 by Max.Chen Sequencer: Fix fbx camera import of static properties so that they are imported before default tracks are created. Otherwise, the default tracks inherit the default properties of the camera, rather than the values from the fbx. #jira UE-56311 Change 3957613 by Max.Preussner MediaUtils: Added code documentation to media player facade Change 3958005 by Max.Preussner MediaUtils: Added method to get number of sinks Change 3958934 by Max.Chen Sequencer: Fix keys getting added and sequence getting erroneously re-evaluated when auto key is off. Only apply defaults if there are no keys. Only modify the movie scene section before creating keys or setting defaults. #jira UE-55903 Change 3959687 by Andrew.Rodham Sequencer: Fixed visibility track external values being inverted #jira UE-56324 Change 3960507 by Max.Preussner Core: Fixed incorrect rounding in FMath::DivideAndRoundNearest Change 3962047 by JohnHenry.Carawon MovieRendering Test Content Changes: - Add Lightmass Importance Volumes to sublevel to fix warnings - Rebuilt Lighting - Add a third sequence for Gamut testing - Resaved the sound master.uasset to fix warning Change 3962211 by Mike.Zyracki Add Frame Numbers to selected animation sections. Added MapTimeToAnimation to MovieSceneSkeletalAnimation so that we could get it from the Skeleton Animation track Editor. Since the thickness of the frame line can change based upon frame rate and zoom we need to calculate it similarly to how the time slider controller does it. Those calculations were private so we had to expose FScrubRangeToScreen and GetScubberPixelRange from the TimeSliderController. Also needed to know if the section itself was selected so added a bIsSelected flag to the section Painter. Also fixed a bug where you couldn't add a section if other sections existed at different times in MovieScenePropertyTrack and could crash due to the check(). #jira UESEQ-395 Change 3962497 by Max.Preussner Core: Added new string formatting argument to FTimespan Change 3963662 by Max.Chen CineCamera: Flip VistaVision width and height. Change 3963731 by Max.Preussner MediaCompositing: Implemented sequence recording support for media track Change 3964195 by Andrew.Rodham Sequencer: Set inverted property correctly for newly created visibility track sections - Also clamp evaluation for key editors to the bounds of the section so we're not displaying values outside of the section bounds when the cursor is not on the bounds #jira UE-56324 #coderevew Max.Chen Change 3964196 by Andrew.Rodham Sequencer: Fixed crash when attempting to render sections that resulted in a negative intersection with the view range Change 3964275 by Andrew.Rodham Sequencer: Fixed MovieScene::ClampToDiscreteRange for infinite range bounds Change 3964364 by Andrew.Rodham Curve Editor: Reduce minimum vertical view range when zooming to fit Change 3965091 by Max.Chen Sequencer Recorder: Refresh next sequence if empty when starting a recording, otherwise, use existing name. #jira UE-56469 Change 3965148 by Max.Chen Sequence Recorder: Move Record to Possessable to "Actor Recording" group Change 3965162 by Max.Chen Sequence Recorder: Always break out of immersive mode when done recording, even when stopping recording during countdown. #jira UE-56407 Change 3965214 by Max.Preussner QAGame: Enabled ImagePlate plug-in Change 3965574 by Max.Preussner SimpleComposure: Reorganized & upgraded content to work with new Media Track #jira UE-56488 Change 3965651 by Max.Preussner MediaCompositing: Ignoring seek-on-open if media not seekable Change 3966075 by Christina.TempelaarL Sequencer: Added Final Cut Pro 7 XML Export functionality #jira UESEQ-358 Change 3966087 by Matt.Hoffman Adding a single key to the Particle Toggle track now makes an infinite range section that is displayed in the UI. #jira UE-56295 Change 3966547 by Andrew.Rodham Sequencer: Fixed rounding errors when drawing the section background on boolean sections - Logic was using time in sectonds which caused rounding errors on evaluation and flickering red/green stripes when dragging keys around #jira UE-56324 Change 3966563 by Andrew.Rodham Curve Editor: Key editor interface improvements - SKeyEditInterface has a few problems - it does not update in real time when editing properties, and does not support multi-edit which makes it unsuitable for use with the curve editor - We now take a different approach for editing keys by gathering a set of proxy UObjects for each key that is currently selected. These objects are added as top level objects to the details panel which means they support multi edit as you'd expect from any other details panel in the editor. - Proxy objects are updated every tick for the curve editor if they implement the ICurveEditorKeyProxy interface, which allows them to refresh their current value. - Ideally, the same mechanisms would be used in the main sequence interface, and we would be generating the proxy classes at runtime based on the key value type, but that work remains a separate task from this initial offering. #jira UE-56165 Change 3966564 by Andrew.Rodham Curve Editor: Expand to frame when adding or moving keys in the curve editor Change 3967051 by andrew.porter MediaFrameworkTest: Set the CameraPlayer_Video texture to auto clear Change 3967141 by Andrew.Rodham Sequencer: Keep track of spawned objects that have been modified and only re-save such object's default spawnable state on destruction - Now that we're taking this approach, I've remove serveral redundant bits of functionality in the spawn register such as making some spawnables read-only, and the PreSave binding for Sequencer. - We now hook into all object pre-saves to make sure we handle the case where the sequences are saved through the content browser or elsewhere. #jira UE-47686 Change 3967170 by Andrew.Rodham Sequencer: Added the ability to possess anim instances as object bindings - This allows full and direct animation of properties on UAnimInstance, and animation blueprints - Object Bindings are made by first possessing a skeletal mesh component, then choosing the + Add button where its anim instance will be listed - Added a new function to UMovieSceneSequence to gather previously cached objects that should now be invalidated. Anim instances will be re-resolved if a new UAnimInstance is assigned to USkeletalMeshComponent::GetAnimInstance. - ObjectBindingIDs for anim instances are just represented by an entry in a set of GUIDs. We only ever resolve such bindings through USkeletalMeshComponent::GetAnimInstance. - Only currently supported on LevelSequences #jira UE-56132 Change 3967195 by Max.Preussner Core: Updated TRangeSet to use TCallTraits Change 3967345 by JohnHenry.Carawon Test Content Changes - first iteration of spacing out the examples in the shots. Change 3967572 by Max.Chen Sequencer: Fix setting PreviousPlayEvalPosition until after we've tested whether it's set. #jira UE-56518 Change 3967750 by Max.Chen Audio: Set duration based on number of input channels, rather than number of channels to serialize. This fixes an issue where audio split into 2 channels is set to a duration that's twice as long. #jira UE-56430 Change 3967836 by Max.Chen Sequencer: Allow for animating array elements within ustruct properties #jira UE-55887 Change 3968506 by Matt.Hoffman Fixed ambiguous conversions for seconds and frames being overriden by ambiguous conversion to Timecode (in frames). Change 3968748 by Max.Chen Sequencer: Make the event properties submenu widget larger. #jira UE-55557 Change 3968862 by Max.Chen Sequencer: Recursive expansion when shift is down #jira UE-52139 #pr 4194 Change 3968863 by Max.Chen Sequencer: Bind rename command to selected track so that F2 shortcut start renaming #jira UE-52139 #pr 4194 Change 3968872 by Max.Chen Sequencer: Rekey the selected key at the current time. #jira UESEQ-396 Change 3968938 by Max.Chen Cine Camera: Add option to toggle the behavior of locking the rail mount to the orientation of the spline. By default, the option is off, no change in behavior. #jira UE-55815 Change 3968958 by Andrew.Rodham Sequencer: Consider vertical position when hittesting keys #jira UE-56256 Change 3969643 by Max.Preussner Core: Rounding timespans created from double values towards nearest ticks Change 3969646 by Max.Preussner MediaUtils: Implemented timeout mechanism for block-on-fetch feature Change 3969776 by Mike.Zyracki Added Skip Anim Notifiers Toggle per what was in Matinee. Investigated the Enable Root Motion toggle as also discussed but it's implementation is directly contained by the animation asset and unlike animation notifies there seems to be no exposure to interactively disable it during a playback tick. Note if we are generating thumbnails we still automtically disable notifies in the editor to avoid annoying noise playback. Note that if Enable Root Motion/Root locked is specified in the animation asset it does correctly effect the Sequencer. #jira UESEQ-399 Change 3969835 by Matt.Hoffman Playback Range and Selection Range use unified logic for adding themselves as potential snap locations which properly handles inclusive/exclusive bounds. This resolves an issue where having an unset selection range caused a potential snap location to be added on frame 0 and 1 (internal resolution) which caused a misalignment when placing objects near frame 0. This also removes the one frame offset on setting Selection Range to bring behavior inline with other ranges. #jira UE-55420 Change 3969885 by Max.Preussner MediaAssets: Don't register media player CDO with media ticker Change 3971129 by Andrew.Rodham Sequencer: Fixed UMovieSceneSequencePlayer::GotToEndAndStop() not taking into account for start time This is a remnant from when the times were always specified in 0-duration space, rather than actual sequence times. Change 3972056 by JohnHenry.Carawon More updates to Test Content. I continued spacing out the examples in the sequence so that they have a consistent number of frames between each example and during the start/end of the example. Also removed the Marcie sublevel. Change 3972066 by Andrew.Porter MediaFrameworkTest: Setting Marcie folder to be never cooked in package settings Change 3972675 by Matt.Hoffman Splitting Subsequence Sections no longer sets an incorrect playback range on the subsequence when the subsequence has a different internal resolution than the owning sequence. #jira UE-55453 Change 3973376 by Max.Preussner ImgMedia: Zero is the only valid video track for image sequences Change 3973489 by Max.Preussner Launch: Build rules cleanup pass - don't use Media, MediaUtils on server apps - don't link against Media (include-only dependency) - don't include from MediaAssets (dynamic load only) Change 3973760 by Max.Preussner MediaUtils: Moved AppMediaTimeSource implementation into its own file; added logging Change 3973765 by Max.Preussner ImgMedia: Disallowing seek beyond media length Change 3973855 by Max.Preussner MediaFrameworkTest: Updated developer test content Change 3973858 by Max.Preussner MediaCompositing: Blocking on media player time instead of media sample time (the former may not be hit in the current frame) Change 3974988 by Max.Chen Sequencer: Fix trim left so that it also sets the start offset for audio and skeletal animation sections. #jira UE-57015 Change 3976101 by Matt.Hoffman Sequencer will now focus the scroll view on newly created items. #jira UE-56492 Change 3976203 by Max.Chen Property Editor: Add DetailsViewArgs for ColumnWidth. Defaults to 0.65f, no change in existing behavior. Change 3976205 by Max.Chen Sequencer: Set better column widths for sequencer. #jira UE-55557 Change 3976206 by Max.Chen Sequencer: Added menu category for import/export Change 3976265 by Matt.Hoffman Tracks within Object Binding Nodes will now sort using the old behavior so that components are added above other track types. #jira UE-56473 Change 3976901 by Max.Chen Sequencer: Add event names to event track section #jira UESEQ-353 Change 3977878 by Max.Preussner Media: Moved media framework ticking stats into Media module Change 3977982 by Max.Chen Sequencer: Add Edit->Reset section length to duration of source (ie. audio, skeletal animation, shot length) Added MovieSceneSection::GetDefaultDuration and MovieScene::HasDefaultDuration #jira UESEQ-392 Change 3977994 by Max.Preussner Media: Fetching and rendering media samples before viewports are rendered (to ensure frame sync for in-level media playback) #jira UE-53975 Change 3978188 by Matt.Hoffman Easing Curves are now clipped by the sequence's PlayRange when testing against an infinite section. This causes blended sequences to finish their blend when the section starts/ends instead of always using 25% of the total section length to determine default blend range. #jira UE-56362 Change 3978676 by Max.Preussner MediaCompositing: Fixed first frame of rendered out media track missing #jira UE-53975 Change 3978684 by Max.Preussner MediaCompositing: Enabled media track frame sync feature #jira UE-53975 Change 3980026 by Matt.Hoffman Keys can be selected on folded out sections (such as an audio track expanded to show volume and pitch) again. #jira UE-57169 Change 3981614 by Max.Preussner MediaUtils: Added missing subtitle sample queue flush Change 3982311 by Max.Preussner MediaCompositing: Added safeguard for zero length media sources Change 3982389 by andrew.porter QAGame: Adding media track test content into FrameAccuracySubscene Change 3983661 by Max.Chen Sequencer: Add level name to spawn a spawnable into. Add sublevel menu option to set the level #jira UESEQ-390 Change 3983712 by Andrew.Rodham Sequencer: Purge legacy blueprint spawnables from LevelSequence packages #tests Ran a preflight for cooking fortnite, ocean and Orion. Only orion shows up this edge case, and will require a re-save of the EndCines level #jira UE-39173 Change 3983787 by Max.Preussner MediaCompositing: Moved compile time switch for block-on-fetch into media player facade Change 3983812 by Andrew.Rodham Sequencer: Exposed default level sequence instance data to blueprints Change 3984373 by Max.Preussner Media: Added API for quering whether player plug-in supports block on fetch Block on fetch allows Sequencer and other systems to block the game thread until a desired video frame has been decoded. Change 3984670 by JohnHenry.Carawon Movie Rendering Test Content progress. Saving the state of the content. There is a bug where things got replaced with particle emitters and I think it was because I tried to copy paste an animation track into a separate skeletal mesh track. Change 3985097 by Max.Chen Sequencer: Rename Reset to AutoSize Change GetAutoSizeDuration to return TOptional<FFrameTime> #jira UESEQ-392 Change 3986043 by Max.Chen Sequencer: Fix crash when attach/path duration is less than 0. #jira UE-57310 Change 3986373 by Max.Chen Sequencer: Add support for deleting tracks and channels which equates to setting the channel mask. #jira UE-52951 Change 3986375 by Max.Chen Sequencer: Add Create Pose Asset to skeletal animation section. This allows animators to blend animations in sequencer and create new pose assets from them. #jira UESEQ-408 Change 3986796 by Andrew.Rodham Sequencer: Fixed stale object references remaining in ULevelSequence::BindingReferences when using convert to spawnable/possessable - We used to convert objects by creating a new binding, then re-assigning its GUID, which meant we didn't have to do any further object fixup, but the code to achieve this was confusing and led to a vulnerability where object references would not be cleaned up correctly due to the newly created possessable essentially being a temporary object that's immediately thrown away. - To address this, there is now a function for porting all the contents of one object binding to another, and handles the correct fixup required for parent/child object bindings for both spawnables and possessables. - Also added codepath to remove any stale object references from the level sequence reference map on PostLoad (this piggy-backs off the PurgeLegacyBlueprints object version which is close close enough to this change to be identical) #tests Verified that existing sequences with stale references get cleaned up on load. Verified that repreatedly converting from spawnable<->possessable cleans up references correctly. Change 3987807 by JohnHenry.Carawon Updates to the MovieRendering Test Content. - Fixed the spawnable actors that were overwritten - Shortend the Lighting example and combined the Intensity and Color tracks - Organized the Sequence and WorldOutliner to group the examples. Change 3988151 by Max.Chen Cine Camera: Enable keying the "Enable Look at Tracking" toggle. Change 3988880 by Max.Chen Sequencer: Support enter to add asset for all sequencer track editors that have asset pickers. #jira UE-57367 Change 3988953 by Max.Chen Sequencer: Make the track color picker focusable so that it will close when you click away or lose focus. #jira UE-57210 Change 3988962 by Max.Chen MovieSceneCapture: Fix EDL export so that it takes into account movie scene frame resolution and desired frame rate. #jira UE-57365 Change 3988964 by Max.Chen Movie Scene Capture: Clarified tooltip for bRelativeFrameNumbers. If you specify custom start/end frames for the recording, they will be relative to the playback range. #jira UE-57308 Change 3989442 by Max.Chen Fix CIS Change 3991548 by Matt.Hoffman Dragging the time slider no longer causes the time slider to ignore snap-to-interval with "Snap to Keys While Scrubbing" when no keys are in range. #jira UE-57417 Change 3991598 by Matt.Hoffman Snap to Key while scrubbing now mirrors the behavior of "jump to next key". When there are no tracks selected it snaps to all keys and when there are tracks selected it snaps to only keys from that track. This also resolves an issue where deleting an object did not remove it from the Sequencer's selection. Undoing a delete already doesn't seem to restore your selection, so removing it from your selection shouldn't change that behavior. #jira UE-57417 Change 3991603 by Max.Chen Sequencer: Disable EditAnywhere for some section properties #jira UE-53530 Change 3992240 by Max.Preussner MediaAssets: Implemented dynamic audio sample rate adjustment based on audio/media clock drift #jira FORT-70638 Change 3992911 by Andrew.Rodham Sequencer: Fixed saving spawnable state using the wrong spawned object - We now track the object binding ID so that we can apply the spawned object to the correct spawnable when the asset is saved #jira UE-57353 Change 3992914 by Max.Chen Movie Scene Capture: Fix compression quality not being set. The compression interface wasn't being found through query interface, so no compression was being set. Reworked finding it through the output pins. Tested running various compression values. #jira-UE-55488 Change 3992919 by Max.Chen Sequencer: Convert to possessable now uses object template instead of copying properties (ie. see LevelSequenceActorSpawner). This fixes MIDs getting lost when converting to spawnable and back to possessable. #jira UE-52400 Change 3993184 by Max.Chen Sequencer: Don't show +Transform/+Path/+Attach track if the actor has the "Mobility" property hidden. Set the Landscape, LandscapeProxy and InstancedFoliage "Mobility" property to be hidden since it is static is not supposed to be dynamically movable. #jira UE-56347 Change 3993238 by Max.Chen Sequencer: Test for hidden mobility in creating keys as well. Refactored to HasHiddenMobility() #jira UE-56347 Change 3993978 by Max.Chen Cine Camera: Enable keying the "Enable Look at Tracking" toggle. #jira UE-57489 Change 3994039 by Max.Chen Landscape: Add Mobility to hidecategories on landscape component #jira UE-56347 Change 3994626 by JohnHenry.Carawon Updated Movie Rendering Test Content. - Fixed the overridden spawnables to their proper object types. Change 3994653 by Christina.TempelaarL Sequencer: Added Final Cut Pro 7 XML Import functionality, improved Export functionality #jira UESEQ-358 Change 3995609 by Max.Chen UMG: Add support for 2d transform mask (translation, rotation, scale, shear) #jira UE-52951 Change 3995778 by JohnHenry.Carawon Movie Rendering Test Content Updates - Adjusted Lights example - Adjusted Camera example - Added Marcie sublevel back in Change 3995942 by JohnHenry.Carawon QAGame: Moving Movie Rendering test content from Developer folder to Sequencer folder Also adjusted level visibility, lights and camera example. Change 3995993 by Christina.TempelaarL Sequencer: FCPXML Export updates - only export sections if in playback range and media exists, warn if media does not exist. Other updates - removed unused methods and variables, fixed message context naming to be more accurate #jira UESEQ-358 Change 3996595 by andrew.porter QAGame: Updating Marcie content in TrackEvaluation level to use Image Plate Change 3996614 by andrew.porter QAGame: Adding color test sequence to the sublevel Change 3996643 by Max.Chen Sequencer: Fix fbx animation export - rotation and scale channels were flipped. #jira UE-57509 #jira UE-57512 #jira UE-57514 Change 3996652 by Max.Preussner Messaging: Fixed delayed messaging using incorrect current time after message router sleep Based on https://github.com/EpicGames/UnrealEngine/pull/4601 Change 3996801 by Max.Chen Sequencer: Fix folder active state for non key area sections. Look at track node sections as well as key areas. #jira UE-57550 Change 3997098 by Matt.Hoffman Cleaned up some remaining ToDo's in STimeRange. Change 3998339 by Max.Preussner Sockets: Added documentation for socket receive functions Change 3998359 by Max.Preussner MediaUtils: Started to implement media recorder helper class Currently only supports BGRA frames in CPU memory. Supporting other formats and buffer types will require conversions on render-thread. I recommend refactoring out the existing conversion code in FMediaTextureResource into a reusable helper class in the MediaUtils module. This should be a good starting point though. Change 3998417 by Matt.Hoffman Keys and Sections can now be moved at the same time inside of Sequencer. Keys can now snap to Sections (and vice versa) instead of just to other Keys. Sections can now be duplicated like keys can. #jira UE-56995 Change 3998427 by JohnHenry.Carawon QAGame: Updating test content for the Movie Rendering feature. - Added an auto activate particle to the beginning of the sequence (it's not part of the sequence at all) - Added an event receiver blueprint to the Events example - Added a particle emitter to both sublevels - Added a camera cut to the end that switches to a separate camera - The camera zoom in, focus and Look At sections are all separate (not overlapping in the sequence) - Added a second actor for the camera Look At - Added a Visibility section for the Actor Hidden In Game track that has possessable and spawnable cube and light Change 3998537 by Max.Chen Sequence Recorder: Restore immersive mode when stopping the sequence even if not in PIE. #jira UE-56407 Change 3999809 by Matt.Hoffman Removed the "Go To" box from Sequencer and instead placed the current time as an always visible control. The previous shortcut (Ctrl + G) now focuses the new widget directly. #jira UESEQ-376 Change 4000543 by Christina.TempelaarL Sequencer: Moving editor-only code from runtime module MovieSceneCapture to editor module MovieSceneTools. Moved EDL and FCP XML exporters as well as Automated Level Scene Capture. #jira UESEQ-358 Change 4000706 by Matt.Hoffman Entering multiple time strings without a number no longer crashes Sequencer. #jira UE-57672 Change 4001051 by andrew.porter MediaFrameworkTest: Fixing up some image sources pointing to the wrong location Change 4001191 by andrew.porter QAGame: Adding some quick EDL/XML test content to dev folder Change 4001243 by Max.Chen Sequencer: Fix import EDL out of range. #jira UE-57665 Change 4001856 by Matt.Hoffman Selecting keys and sections at the same time now also works with animation and audio sections. #jira UE-57716 Change 4002021 by Max.Chen Sequence Recorder: Fix sequence name incrementing. If external recording sets the sequence name, use it. Otherwise, use the recording name from the recording group or the recording settings. #jira UE-57712 Change 4002618 by Max.Chen Viewport: Update the look at location when updating to a locked actor. This fixes an issue so that popping the view out of a locked actor and manipulating the view will not jump to the previous look at location. #jira UE-57725 Change 4002979 by Matt.Hoffman Fixes several edge cases with the end time range that was causing confusion about what the last frame of the sequence was. Dragging the End Frame slider will no longer be off by one tick and jumping to the end via the UI controls now properly respects snapping and stays inside the play range instead of falling outside of it. Overall behavior does not change though and End Frame should be considered an exclusive frame so that frames 0-150 results in a 150 frame long animation (which is frames 0-149). #jira UE-56367 Change 4003185 by Matt.Hoffman Fixed a regression that prevented a section from being dragged upwards past row 0 which normally resulted in all other rows moving down. #jira UE-57717 Change 4003193 by JohnHenry.Carawon QAGame: Updates to test content - Shortened frames between the examples from 95 to 30 - Separated camera setting tracks - Lighting example now switches directly from constant red - green - blue Change 4003369 by Max.Chen Sequence Recorder: Refresh next sequence regardless of internally stored sequence name. #jira UE-55757 Change 4003586 by JohnHenry.Carawon QAGame: Test Content Updates - Level Visibility track now ends to that the levels are not visible when we move to the next example - Shortened camera section, removed Z tranform so that we just move left to right and shortened the overall length Change 4004414 by Max.Chen Movie Scene Capture: Fix regression where rendering with shot handles would only render the first shot. 3972166 addressed an issue where an extra frame would be rendered by finalizing right when the end frame was reached. This was hit on the first shot end frame, so instead, do this only for when the last shot is being rendered. #jira UE-57314 Change 4004765 by Christina.TempelaarL Sequencer: Fixed bugs in FCP XML import/export. - Export: fixed sequence default resolution. - Export: fixed XML files with no shots. - Export: all sections clipped to playback range. - Export: fixed incorrect section start/end times due to precision issues. - Import: fixed incorrectly adding cinematic tracks. - Import: fixed bugs creating new sections. #jira UE-57660 #jira UE-57662 #jira UE-57655 #jira UE-57761 Change 4005119 by Max.Chen Sequencer: Export/import at play rate Change 4005195 by Max.Chen UMG: Finish UMG evaluation on stop. Added object version so that existing UMG assets do not change. #tests - Newly created UMG animation with sections set to restore state now return to their original state. Existing UMG animations with sections set to restore state do not return to their original state. #jira UE-52285 Change 4005377 by Michael.Karambelas QAGame: Moving TM-SequenceRecorder and related content out of my developer folder and into /Content/Sequencer/SequencerRecorder/* Change 4005417 by Michael.Karambelas QAGame: Fixed a BP compiler in the Level Blueprint of TM-SequencerRecorder. Change 4005634 by Michael.Karambelas QAGame: Fix up missing content and broken level sequence in TM-SequenceRecorder after move Change 4006324 by Max.Chen Sequencer: Reset if the focused movie scene is null. This fixes a crash if the user is focused in on a shot and undo takes the user past the point of where the shot was created. #jira UE-57752 #jira UE-47661 Change 4007006 by Max.Chen Sequencer: Fix FindAvailableRowIndex so that it returns the max row index (and not +1) since it doesn't find any conflicting rows. #jira UE-57717 Change 4007907 by Max.Chen Sequencer: Fix crash if there's no animation Change 4007948 by andrew.porter QAGame: added test content to dev folder for Record World Space Change 4008636 by Max.Chen Sequencer: Fix import fbx not setting values properly and creating additional cameras unncessarily. #jira UE-57864 Change 4008759 by Max.Chen Sequencer: Follow up fix for import cameras #jira UE-57864 Change 4009994 by Matt.Hoffman Dragging the left or right handles of the Time Range slider in Sequencer will now zoom your view in on the current center of the screen. This prevents the view from being translating as you tried to zoom in which caused issues at high zoom levels. #jira UESEQ-407 Change 4010169 by Christina.TempelaarL Sequencer: FCP XML fixes. - FCP XML export - no longer clips to playback range - FCP XML and EDL export - fixed missing last frame of some sections after exporting to Premiere. - Automated level capture, EDL export - use RoundToFrame instead of FloorToFrame for computing section start/end frames after frame rate conversion. #jira UE-57802 - partial fix, movie scene capture still needs to render full section rather than clip against playback. Change 4010287 by Mike.Zyracki Add quaternion interpolation option to UMovieScene3DTransformSection. This mimics how Matinee used to work by bascially finding the keys between a time and interpolating the angles as quat's between them. As noted in the code the algorithm needs to handle the case when the x,y,z Rotation keys all aren't at the same time which was not handled by Matinee. Also like Matinee, when in quaternion interoplation mode, we need to not display the function cuves since the interpolated and key values are now all different. (Would like to show them but that's a bigger refactor for perhaps just a one off needed by quaternions). I added a virtual function UMovieSceneSection::ShowCurveForChannel for this since it needs to be dynamic, not on construction of IKeyArea's, and could be useful for other sections. I could though move the method to just UMovieScene3DTransformSection and do a cast instead. Looked into doing a unit test for this but after talking with Andrew P we will work on doign an automated test in EngineQA since that will provide more coverage. Will also add a video the jira. #jira UESEQ-403 Change 4010713 by Mike.Zyracki Added option to key a group of transform channels instead of just the changed channel, or all of them. This is useful for quaternion interpolations where you want rotation keys to be aligned but also useful for other workflows like animating FK Pose to Pose. Change 4010715 by Andrew.Porter MediaFrameworkTest: Setting LogMediaUtils logging from VeryVerbose to Verbose to cut back on the spam Change 4013048 by Max.Chen Sequencer: Fix play/jump status. Update the player status for all position methods (Scrub, Jump, Play). Jump means Stopped. Correctly use PlayTo or JumpTo based on position method. In PlayInternal, JumpTo with the Stopped state (rather than playing state). #jira UE-57844 Change 4013479 by andrew.porter QAGame: Added content in TM-SequenceRecorder to test recording a property on a Cine Camera Component; Press 3 to trigger manual focus distance to increment on a timer Change 4014323 by Max.Chen Sequencer: Fix SetPlaybackPosition so that it jumps or plays based on playback status. #jira UE-57844 Change 4015888 by Max.Chen Sequencer: Fix crash on paste. UMovieSceneSections were gathered from the track node's track. For sub track mode, we want to gather only those sections on that track node row. #jira UE-57951 Change 4015943 by Max.Chen Sequencer: Fix moving shots up when the mouse pos goes outside of the virtual track area. #jira UE-57717 Change 4016293 by Max.Chen Sequencer: Fix relative frame playback end frame calculation so that custom start/end frames remain in the space of the sequence and are not relative. #jira UE-57308 Change 4017075 by Andrew.Rodham Sequencer: Corrected initial evaluation range used when calling UMovieSceneSequencPlayer::Play() Change 4017270 by Christina.TempelaarL Sequencer: FCPXML importer and movie scene capture - Use CeilToFrame when converting section start/end frame times to frame numbers in FCPXML and movie scene capture. - Added support for clip metadata in FCPXML. - Got rid of redundant TokenizedError message class, no longer needed now that FCPXML is in editor directory. - Added log messages currently commented out due to exception, still testing. #UESEQ-358 Change 4018370 by Christina.TempelaarL Sequencer: fixed FCPXML log messages regarding sections with start/end not divisible by display rate. #UESEQ-358 Change 4018378 by Christina.TempelaarL Sequencer: fixed error in previous changelist. #UESEQ-358 Change 4019457 by Max.Chen Sequencer: Show event names only when the event track is selected #jira UE-57897 Change 4022806 by Max.Chen Sequencer: Fix crash on movie scene capture dialog shutdown if movie capture wasn't even started. #jira UE-58106 Change 4022894 by Max.Chen Sequence Recorder: Wrap OpenEditorForAssets after sequence recording within GIsEditor #jira UE-58084 Change 4024487 by Max.Chen Sequencer: Add tooltip for quat interpolation #jira UE-58113 Change 4024562 by Max.Chen Sequencer: Change path/attach track sequence binding id to currently focused sequence id so that bindings can be created in subsequences Change 4027414 by JohnHenry.Carawon QAGame: Checking in content that shows a bug with using particles systems and Delay Before Shot Warm Up. Change 4028990 by Max.Chen Sequencer: Fix evaluate sub sequences in isolation. This check was added with the compile on the fly logic. Not sure why it was necessary but it seems like the sub sequence data needs to be updated in order to evaluate sub sequences in isolation. #jira UE-58184 Change 4029004 by Max.Chen Sequencer: Ensure that old binding references are removed when re-assigning actors in sequencer #jira UE-57898 Change 4030997 by JohnHenry.Carawon QAGame: Fixing name of the master sequence Change 4031785 by Michael.Karambelas QAGame: Added an instance of ThirdPerson Run to TM-SequenceRecorder for Record to Possessable test. Change 4035548 by Andrew.Rodham Sequencer: Changed FMovieSceneEvaluationTemplate::TemplateSignature to be a serial number to address non-deterministic cooking issues - This commit is related to the repro steps found in 3914599 and 3934307, both of which have been verified with this new change. - Copy of 4031684 from //Fortnite/Main/... #jira FORT-84852 Change 4036312 by Max.Chen Sequencer: Fix zoom view range so that it uses the passed in InZoomDelta Change 4036318 by Max.Chen Sequencer: Auto size now returns a range and defaults to the channel proxy range so that keyed regions can also be autosized. Change 4036322 by Max.Chen Forgot missing change Change 4036360 by Max.Chen Sequencer: Fix play rate calculation when skeletal animation section play rate changes. Change 4037163 by Mike.Zyracki Weighted Tangent Implementation Tricky thing is that you need to solve a cubic in order to get the bezier weights for the time part of the curve. See https://www.gamedev.net/forums/topic/474094-help-function-curves-for-animation-interpolation/ Maya provides an implementation in it's dev kit but I didn't use it since it was horribly slow and uses an iterative solution to solve the cubic needed. Instead I use an old algorithm (Cardano's method), to solve the cubic which should be much faster. Though relative simple to code from principles I just went ahead and used a version from Graphics Gems 1. I put this cubic solver directly in MovieSceneFloatChannel.cpp, but will need to move it when we support Rich Curve, maybe to FMath:: (which would probalby require some other functions for solving quartics, etc.. for completeness.). Also note we resolve this on every evaluation but dont' need to if the interval the time is evaluating hasn't had any change in values or tangents. So again when we support FRichCurve we can create a Weighted Evaluating class that can hold the cache. Also with the tangent drags I got rid of the Cardinal position that was used to calculate non-weight tangents from the key point and just quickly getting a direction. With weighted tangents we need to use the delta instead (otherwise when moving multiple they would all get the same weight based upon distance to the cardinal point. ) For mixed tangents types what I'm defaulting to non weighted if the interval doesn't match. May need to do weighted instead, not sure. What's left is just FBX import, for tomorrow. #jira UESEQ-76 Change 4037435 by Mike.Zyracki Fix fo build warnings from weighted tangent submission. #trivial Change 4038091 by Michael.Karambelas QAGame: Updated a Sequence Recorder group in TM-SequenceRecorder that had an actor missing the animation. Change 4038374 by Andrew.Rodham Sequencer: Refined scrubber styling for level sequences and actor sequences - Scrubber now shows a block the width of a dsplay rate frame, plus a line for the actual evaluated time. UMG reverts back to the previous styling (no block) - Keys that are outside of the playback range are now drawn with a subdued effect - Tick labels are no longer drawn when directly underneath the scrubber Change 4038490 by Max.Chen Sequencer: Expose tangent weight values in details panel. Change 4038620 by Andrew.Rodham Sequencer: Advanced time panel polish #jira UESEQ-426 Change 4038677 by Max.Chen Movie Scene Capture: Redirector for MovieSceneTools.AutomatedLevelSequenceCapture #jira UE-58248 Change 4039739 by Max.Chen Sequencer: Media track should only be supported by Level Sequence Change 4040024 by JohnHenry.Carawon QAGame: Fix EventReciever and OverrideBinding example The level sequence was set to none so the fix was to set it back to TrackEvaluation_Master. Change 4040610 by Andrew.Rodham Curve Editor: Moved weighted tangent switchers to a single toggle command (CTRL+W) and added an icon #jira 58383 Change 4040882 by Mike.Zyracki Keep broken when turning on weighted #jira UE-58435 Change 4041089 by andrew.porter QAGame: Sequence for Long Tangents bug Change 4041498 by Mike.Zyracki Turn off weighted when going auto to prevent large tangents. Do it both in UI and when doing AutoSetTangents() to really make sure it doesn't happen. #jira UE-58452 Change 4041752 by andrew.porter MediaFrameworkTest: Adding some better logging for setting rates when not supported. Also ignoring commiting URL when there is no text Change 4041896 by Matt.Hoffman The transform dialog box now transforms selected keys and sections, instead of just keys. #jira UE-58265 [CL 4044405 by Max Chen in Main branch]
2018-05-02 10:10:00 -04:00
FFrameTime ScrubTime = MouseSeconds * GetTickResolution();
TSharedPtr<FSequencer> Sequencer = WeakSequencer.Pin();
if (!Sequencer.IsValid())
{
return ScrubTime;
}
if ( Sequencer->GetSequencerSettings()->GetIsSnapEnabled() )
{
if (Sequencer->GetSequencerSettings()->GetSnapPlayTimeToInterval())
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 4044339) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3947021 by Max.Chen Sequencer: Don't preserve root component when copying object properties. A spawnable empty actor, has a root component that is generated by the empty actor factory. If the object template's root component is preserved when copying from the spawnable empty actor, the root component will not be copied over. Therefore, we need to NOT preserve the root component when copying object properties. #jira UE-55825 Change 3947366 by Max.Preussner WmfMedia: Better log output Change 3947367 by Max.Preussner MfMedia: Better detection of compressed format properties on Windows Change 3949102 by Max.Chen Sequencer: Remove SequenceActorTag when converting to possessable. #jira UE-56206 Change 3949207 by andrew.porter EngineTest: Set the screenshot nodes resolution to 1280x720 Change 3949404 by Max.Chen Sequencer: More informative tooltip for "Rerun Construction Scripts" option. It now says "Rerun construction scripts every frame on actors that have 'Rerun Construction Script in Sequencer' enabled in their class settings". Change 3950067 by Matt.Hoffman Renamed UAutomatedLevelSequenceCapture's StartFrame and EndFrame to CustomStartFrame/CustomEndFrame to reflect that it is user-overriden. This will also resolve upgrade issues due to the variable datatype changing. #jira UE-56189 Change 3950193 by JohnHenry.Carawon Updating my latest MovieRendering test content. Change 3950757 by JohnHenry.Carawon More updates to MovieRendering test content Change 3952059 by Max.Chen Resave LevelVisibility_SubLevels to fix data loss conversion warning of OpacityMaskConstant #jira UE-56086 Change 3952283 by Max.Chen Sequencer: Disable dropping level sequence assets as spawnables. #jira UE-56120 Change 3952422 by Max.Chen Sequence Recorder: Add button to record from the current player. #jira UE-55942 Change 3952987 by JohnHenry.Carawon MovieRendering Test Content - Fixing camera bindings and changing the override binding actor Change 3953823 by Mike.Zyracki Fix for Bad FBX Import Tangents not scaled by frame rate. After looking at this again it seems that a set of MovieScene:: overiddes for the channel traits wasn't set correctly, so use the ADL idiom to use MovieScene, which can then call Optimize in the correct namespace. With this we can now correctly use the passed in tolerance. There was also a redundant set of Optimize calls so that it could happen twice so removed them, and needed an extra check in the float channel Optimize. Also since we need to set auto tangents no matter if we optimize we don't set that parameter(though leave it since it's used by context menu key reduction). Finally fixed speed issue with trajectories caused by calculating way too many substeps. Reverted back to a time based step size for consistency. #jira UE-56193 Change 3954317 by Matt.Hoffman Adding a key to the last frame of a section no longer causes a crash. Keys can already be moved to be on the last frame of a section so now you can just add a key there directly. #jira UE-56255 Change 3954326 by Matt.Hoffman Dilating a section that is only infinite on one side no longer causes a crash. #jira UE-56260 Change 3954486 by Max.Chen PR #4580: Exposes IsReversed() from UMovieSceneSequencePlayer (Contributed by alanedwardes) Change 3955238 by Max.Preussner Messaging: Enabled delayed message routing https://github.com/EpicGames/UnrealEngine/pull/4574 #jira UE-56247 Change 3955901 by Max.Preussner MediaFrameworkTest: Added developer test for overriding desired media player plug-in at runtime. Change 3955922 by Andrew.Porter QAGame: Updating movie rendering content in dev folder Change 3956004 by andrew.porter QAGame: Adding MPC track to movie rendering test content Change 3956510 by Max.Chen Sequencer: Fix fbx camera import of static properties so that they are imported before default tracks are created. Otherwise, the default tracks inherit the default properties of the camera, rather than the values from the fbx. #jira UE-56311 Change 3957613 by Max.Preussner MediaUtils: Added code documentation to media player facade Change 3958005 by Max.Preussner MediaUtils: Added method to get number of sinks Change 3958934 by Max.Chen Sequencer: Fix keys getting added and sequence getting erroneously re-evaluated when auto key is off. Only apply defaults if there are no keys. Only modify the movie scene section before creating keys or setting defaults. #jira UE-55903 Change 3959687 by Andrew.Rodham Sequencer: Fixed visibility track external values being inverted #jira UE-56324 Change 3960507 by Max.Preussner Core: Fixed incorrect rounding in FMath::DivideAndRoundNearest Change 3962047 by JohnHenry.Carawon MovieRendering Test Content Changes: - Add Lightmass Importance Volumes to sublevel to fix warnings - Rebuilt Lighting - Add a third sequence for Gamut testing - Resaved the sound master.uasset to fix warning Change 3962211 by Mike.Zyracki Add Frame Numbers to selected animation sections. Added MapTimeToAnimation to MovieSceneSkeletalAnimation so that we could get it from the Skeleton Animation track Editor. Since the thickness of the frame line can change based upon frame rate and zoom we need to calculate it similarly to how the time slider controller does it. Those calculations were private so we had to expose FScrubRangeToScreen and GetScubberPixelRange from the TimeSliderController. Also needed to know if the section itself was selected so added a bIsSelected flag to the section Painter. Also fixed a bug where you couldn't add a section if other sections existed at different times in MovieScenePropertyTrack and could crash due to the check(). #jira UESEQ-395 Change 3962497 by Max.Preussner Core: Added new string formatting argument to FTimespan Change 3963662 by Max.Chen CineCamera: Flip VistaVision width and height. Change 3963731 by Max.Preussner MediaCompositing: Implemented sequence recording support for media track Change 3964195 by Andrew.Rodham Sequencer: Set inverted property correctly for newly created visibility track sections - Also clamp evaluation for key editors to the bounds of the section so we're not displaying values outside of the section bounds when the cursor is not on the bounds #jira UE-56324 #coderevew Max.Chen Change 3964196 by Andrew.Rodham Sequencer: Fixed crash when attempting to render sections that resulted in a negative intersection with the view range Change 3964275 by Andrew.Rodham Sequencer: Fixed MovieScene::ClampToDiscreteRange for infinite range bounds Change 3964364 by Andrew.Rodham Curve Editor: Reduce minimum vertical view range when zooming to fit Change 3965091 by Max.Chen Sequencer Recorder: Refresh next sequence if empty when starting a recording, otherwise, use existing name. #jira UE-56469 Change 3965148 by Max.Chen Sequence Recorder: Move Record to Possessable to "Actor Recording" group Change 3965162 by Max.Chen Sequence Recorder: Always break out of immersive mode when done recording, even when stopping recording during countdown. #jira UE-56407 Change 3965214 by Max.Preussner QAGame: Enabled ImagePlate plug-in Change 3965574 by Max.Preussner SimpleComposure: Reorganized & upgraded content to work with new Media Track #jira UE-56488 Change 3965651 by Max.Preussner MediaCompositing: Ignoring seek-on-open if media not seekable Change 3966075 by Christina.TempelaarL Sequencer: Added Final Cut Pro 7 XML Export functionality #jira UESEQ-358 Change 3966087 by Matt.Hoffman Adding a single key to the Particle Toggle track now makes an infinite range section that is displayed in the UI. #jira UE-56295 Change 3966547 by Andrew.Rodham Sequencer: Fixed rounding errors when drawing the section background on boolean sections - Logic was using time in sectonds which caused rounding errors on evaluation and flickering red/green stripes when dragging keys around #jira UE-56324 Change 3966563 by Andrew.Rodham Curve Editor: Key editor interface improvements - SKeyEditInterface has a few problems - it does not update in real time when editing properties, and does not support multi-edit which makes it unsuitable for use with the curve editor - We now take a different approach for editing keys by gathering a set of proxy UObjects for each key that is currently selected. These objects are added as top level objects to the details panel which means they support multi edit as you'd expect from any other details panel in the editor. - Proxy objects are updated every tick for the curve editor if they implement the ICurveEditorKeyProxy interface, which allows them to refresh their current value. - Ideally, the same mechanisms would be used in the main sequence interface, and we would be generating the proxy classes at runtime based on the key value type, but that work remains a separate task from this initial offering. #jira UE-56165 Change 3966564 by Andrew.Rodham Curve Editor: Expand to frame when adding or moving keys in the curve editor Change 3967051 by andrew.porter MediaFrameworkTest: Set the CameraPlayer_Video texture to auto clear Change 3967141 by Andrew.Rodham Sequencer: Keep track of spawned objects that have been modified and only re-save such object's default spawnable state on destruction - Now that we're taking this approach, I've remove serveral redundant bits of functionality in the spawn register such as making some spawnables read-only, and the PreSave binding for Sequencer. - We now hook into all object pre-saves to make sure we handle the case where the sequences are saved through the content browser or elsewhere. #jira UE-47686 Change 3967170 by Andrew.Rodham Sequencer: Added the ability to possess anim instances as object bindings - This allows full and direct animation of properties on UAnimInstance, and animation blueprints - Object Bindings are made by first possessing a skeletal mesh component, then choosing the + Add button where its anim instance will be listed - Added a new function to UMovieSceneSequence to gather previously cached objects that should now be invalidated. Anim instances will be re-resolved if a new UAnimInstance is assigned to USkeletalMeshComponent::GetAnimInstance. - ObjectBindingIDs for anim instances are just represented by an entry in a set of GUIDs. We only ever resolve such bindings through USkeletalMeshComponent::GetAnimInstance. - Only currently supported on LevelSequences #jira UE-56132 Change 3967195 by Max.Preussner Core: Updated TRangeSet to use TCallTraits Change 3967345 by JohnHenry.Carawon Test Content Changes - first iteration of spacing out the examples in the shots. Change 3967572 by Max.Chen Sequencer: Fix setting PreviousPlayEvalPosition until after we've tested whether it's set. #jira UE-56518 Change 3967750 by Max.Chen Audio: Set duration based on number of input channels, rather than number of channels to serialize. This fixes an issue where audio split into 2 channels is set to a duration that's twice as long. #jira UE-56430 Change 3967836 by Max.Chen Sequencer: Allow for animating array elements within ustruct properties #jira UE-55887 Change 3968506 by Matt.Hoffman Fixed ambiguous conversions for seconds and frames being overriden by ambiguous conversion to Timecode (in frames). Change 3968748 by Max.Chen Sequencer: Make the event properties submenu widget larger. #jira UE-55557 Change 3968862 by Max.Chen Sequencer: Recursive expansion when shift is down #jira UE-52139 #pr 4194 Change 3968863 by Max.Chen Sequencer: Bind rename command to selected track so that F2 shortcut start renaming #jira UE-52139 #pr 4194 Change 3968872 by Max.Chen Sequencer: Rekey the selected key at the current time. #jira UESEQ-396 Change 3968938 by Max.Chen Cine Camera: Add option to toggle the behavior of locking the rail mount to the orientation of the spline. By default, the option is off, no change in behavior. #jira UE-55815 Change 3968958 by Andrew.Rodham Sequencer: Consider vertical position when hittesting keys #jira UE-56256 Change 3969643 by Max.Preussner Core: Rounding timespans created from double values towards nearest ticks Change 3969646 by Max.Preussner MediaUtils: Implemented timeout mechanism for block-on-fetch feature Change 3969776 by Mike.Zyracki Added Skip Anim Notifiers Toggle per what was in Matinee. Investigated the Enable Root Motion toggle as also discussed but it's implementation is directly contained by the animation asset and unlike animation notifies there seems to be no exposure to interactively disable it during a playback tick. Note if we are generating thumbnails we still automtically disable notifies in the editor to avoid annoying noise playback. Note that if Enable Root Motion/Root locked is specified in the animation asset it does correctly effect the Sequencer. #jira UESEQ-399 Change 3969835 by Matt.Hoffman Playback Range and Selection Range use unified logic for adding themselves as potential snap locations which properly handles inclusive/exclusive bounds. This resolves an issue where having an unset selection range caused a potential snap location to be added on frame 0 and 1 (internal resolution) which caused a misalignment when placing objects near frame 0. This also removes the one frame offset on setting Selection Range to bring behavior inline with other ranges. #jira UE-55420 Change 3969885 by Max.Preussner MediaAssets: Don't register media player CDO with media ticker Change 3971129 by Andrew.Rodham Sequencer: Fixed UMovieSceneSequencePlayer::GotToEndAndStop() not taking into account for start time This is a remnant from when the times were always specified in 0-duration space, rather than actual sequence times. Change 3972056 by JohnHenry.Carawon More updates to Test Content. I continued spacing out the examples in the sequence so that they have a consistent number of frames between each example and during the start/end of the example. Also removed the Marcie sublevel. Change 3972066 by Andrew.Porter MediaFrameworkTest: Setting Marcie folder to be never cooked in package settings Change 3972675 by Matt.Hoffman Splitting Subsequence Sections no longer sets an incorrect playback range on the subsequence when the subsequence has a different internal resolution than the owning sequence. #jira UE-55453 Change 3973376 by Max.Preussner ImgMedia: Zero is the only valid video track for image sequences Change 3973489 by Max.Preussner Launch: Build rules cleanup pass - don't use Media, MediaUtils on server apps - don't link against Media (include-only dependency) - don't include from MediaAssets (dynamic load only) Change 3973760 by Max.Preussner MediaUtils: Moved AppMediaTimeSource implementation into its own file; added logging Change 3973765 by Max.Preussner ImgMedia: Disallowing seek beyond media length Change 3973855 by Max.Preussner MediaFrameworkTest: Updated developer test content Change 3973858 by Max.Preussner MediaCompositing: Blocking on media player time instead of media sample time (the former may not be hit in the current frame) Change 3974988 by Max.Chen Sequencer: Fix trim left so that it also sets the start offset for audio and skeletal animation sections. #jira UE-57015 Change 3976101 by Matt.Hoffman Sequencer will now focus the scroll view on newly created items. #jira UE-56492 Change 3976203 by Max.Chen Property Editor: Add DetailsViewArgs for ColumnWidth. Defaults to 0.65f, no change in existing behavior. Change 3976205 by Max.Chen Sequencer: Set better column widths for sequencer. #jira UE-55557 Change 3976206 by Max.Chen Sequencer: Added menu category for import/export Change 3976265 by Matt.Hoffman Tracks within Object Binding Nodes will now sort using the old behavior so that components are added above other track types. #jira UE-56473 Change 3976901 by Max.Chen Sequencer: Add event names to event track section #jira UESEQ-353 Change 3977878 by Max.Preussner Media: Moved media framework ticking stats into Media module Change 3977982 by Max.Chen Sequencer: Add Edit->Reset section length to duration of source (ie. audio, skeletal animation, shot length) Added MovieSceneSection::GetDefaultDuration and MovieScene::HasDefaultDuration #jira UESEQ-392 Change 3977994 by Max.Preussner Media: Fetching and rendering media samples before viewports are rendered (to ensure frame sync for in-level media playback) #jira UE-53975 Change 3978188 by Matt.Hoffman Easing Curves are now clipped by the sequence's PlayRange when testing against an infinite section. This causes blended sequences to finish their blend when the section starts/ends instead of always using 25% of the total section length to determine default blend range. #jira UE-56362 Change 3978676 by Max.Preussner MediaCompositing: Fixed first frame of rendered out media track missing #jira UE-53975 Change 3978684 by Max.Preussner MediaCompositing: Enabled media track frame sync feature #jira UE-53975 Change 3980026 by Matt.Hoffman Keys can be selected on folded out sections (such as an audio track expanded to show volume and pitch) again. #jira UE-57169 Change 3981614 by Max.Preussner MediaUtils: Added missing subtitle sample queue flush Change 3982311 by Max.Preussner MediaCompositing: Added safeguard for zero length media sources Change 3982389 by andrew.porter QAGame: Adding media track test content into FrameAccuracySubscene Change 3983661 by Max.Chen Sequencer: Add level name to spawn a spawnable into. Add sublevel menu option to set the level #jira UESEQ-390 Change 3983712 by Andrew.Rodham Sequencer: Purge legacy blueprint spawnables from LevelSequence packages #tests Ran a preflight for cooking fortnite, ocean and Orion. Only orion shows up this edge case, and will require a re-save of the EndCines level #jira UE-39173 Change 3983787 by Max.Preussner MediaCompositing: Moved compile time switch for block-on-fetch into media player facade Change 3983812 by Andrew.Rodham Sequencer: Exposed default level sequence instance data to blueprints Change 3984373 by Max.Preussner Media: Added API for quering whether player plug-in supports block on fetch Block on fetch allows Sequencer and other systems to block the game thread until a desired video frame has been decoded. Change 3984670 by JohnHenry.Carawon Movie Rendering Test Content progress. Saving the state of the content. There is a bug where things got replaced with particle emitters and I think it was because I tried to copy paste an animation track into a separate skeletal mesh track. Change 3985097 by Max.Chen Sequencer: Rename Reset to AutoSize Change GetAutoSizeDuration to return TOptional<FFrameTime> #jira UESEQ-392 Change 3986043 by Max.Chen Sequencer: Fix crash when attach/path duration is less than 0. #jira UE-57310 Change 3986373 by Max.Chen Sequencer: Add support for deleting tracks and channels which equates to setting the channel mask. #jira UE-52951 Change 3986375 by Max.Chen Sequencer: Add Create Pose Asset to skeletal animation section. This allows animators to blend animations in sequencer and create new pose assets from them. #jira UESEQ-408 Change 3986796 by Andrew.Rodham Sequencer: Fixed stale object references remaining in ULevelSequence::BindingReferences when using convert to spawnable/possessable - We used to convert objects by creating a new binding, then re-assigning its GUID, which meant we didn't have to do any further object fixup, but the code to achieve this was confusing and led to a vulnerability where object references would not be cleaned up correctly due to the newly created possessable essentially being a temporary object that's immediately thrown away. - To address this, there is now a function for porting all the contents of one object binding to another, and handles the correct fixup required for parent/child object bindings for both spawnables and possessables. - Also added codepath to remove any stale object references from the level sequence reference map on PostLoad (this piggy-backs off the PurgeLegacyBlueprints object version which is close close enough to this change to be identical) #tests Verified that existing sequences with stale references get cleaned up on load. Verified that repreatedly converting from spawnable<->possessable cleans up references correctly. Change 3987807 by JohnHenry.Carawon Updates to the MovieRendering Test Content. - Fixed the spawnable actors that were overwritten - Shortend the Lighting example and combined the Intensity and Color tracks - Organized the Sequence and WorldOutliner to group the examples. Change 3988151 by Max.Chen Cine Camera: Enable keying the "Enable Look at Tracking" toggle. Change 3988880 by Max.Chen Sequencer: Support enter to add asset for all sequencer track editors that have asset pickers. #jira UE-57367 Change 3988953 by Max.Chen Sequencer: Make the track color picker focusable so that it will close when you click away or lose focus. #jira UE-57210 Change 3988962 by Max.Chen MovieSceneCapture: Fix EDL export so that it takes into account movie scene frame resolution and desired frame rate. #jira UE-57365 Change 3988964 by Max.Chen Movie Scene Capture: Clarified tooltip for bRelativeFrameNumbers. If you specify custom start/end frames for the recording, they will be relative to the playback range. #jira UE-57308 Change 3989442 by Max.Chen Fix CIS Change 3991548 by Matt.Hoffman Dragging the time slider no longer causes the time slider to ignore snap-to-interval with "Snap to Keys While Scrubbing" when no keys are in range. #jira UE-57417 Change 3991598 by Matt.Hoffman Snap to Key while scrubbing now mirrors the behavior of "jump to next key". When there are no tracks selected it snaps to all keys and when there are tracks selected it snaps to only keys from that track. This also resolves an issue where deleting an object did not remove it from the Sequencer's selection. Undoing a delete already doesn't seem to restore your selection, so removing it from your selection shouldn't change that behavior. #jira UE-57417 Change 3991603 by Max.Chen Sequencer: Disable EditAnywhere for some section properties #jira UE-53530 Change 3992240 by Max.Preussner MediaAssets: Implemented dynamic audio sample rate adjustment based on audio/media clock drift #jira FORT-70638 Change 3992911 by Andrew.Rodham Sequencer: Fixed saving spawnable state using the wrong spawned object - We now track the object binding ID so that we can apply the spawned object to the correct spawnable when the asset is saved #jira UE-57353 Change 3992914 by Max.Chen Movie Scene Capture: Fix compression quality not being set. The compression interface wasn't being found through query interface, so no compression was being set. Reworked finding it through the output pins. Tested running various compression values. #jira-UE-55488 Change 3992919 by Max.Chen Sequencer: Convert to possessable now uses object template instead of copying properties (ie. see LevelSequenceActorSpawner). This fixes MIDs getting lost when converting to spawnable and back to possessable. #jira UE-52400 Change 3993184 by Max.Chen Sequencer: Don't show +Transform/+Path/+Attach track if the actor has the "Mobility" property hidden. Set the Landscape, LandscapeProxy and InstancedFoliage "Mobility" property to be hidden since it is static is not supposed to be dynamically movable. #jira UE-56347 Change 3993238 by Max.Chen Sequencer: Test for hidden mobility in creating keys as well. Refactored to HasHiddenMobility() #jira UE-56347 Change 3993978 by Max.Chen Cine Camera: Enable keying the "Enable Look at Tracking" toggle. #jira UE-57489 Change 3994039 by Max.Chen Landscape: Add Mobility to hidecategories on landscape component #jira UE-56347 Change 3994626 by JohnHenry.Carawon Updated Movie Rendering Test Content. - Fixed the overridden spawnables to their proper object types. Change 3994653 by Christina.TempelaarL Sequencer: Added Final Cut Pro 7 XML Import functionality, improved Export functionality #jira UESEQ-358 Change 3995609 by Max.Chen UMG: Add support for 2d transform mask (translation, rotation, scale, shear) #jira UE-52951 Change 3995778 by JohnHenry.Carawon Movie Rendering Test Content Updates - Adjusted Lights example - Adjusted Camera example - Added Marcie sublevel back in Change 3995942 by JohnHenry.Carawon QAGame: Moving Movie Rendering test content from Developer folder to Sequencer folder Also adjusted level visibility, lights and camera example. Change 3995993 by Christina.TempelaarL Sequencer: FCPXML Export updates - only export sections if in playback range and media exists, warn if media does not exist. Other updates - removed unused methods and variables, fixed message context naming to be more accurate #jira UESEQ-358 Change 3996595 by andrew.porter QAGame: Updating Marcie content in TrackEvaluation level to use Image Plate Change 3996614 by andrew.porter QAGame: Adding color test sequence to the sublevel Change 3996643 by Max.Chen Sequencer: Fix fbx animation export - rotation and scale channels were flipped. #jira UE-57509 #jira UE-57512 #jira UE-57514 Change 3996652 by Max.Preussner Messaging: Fixed delayed messaging using incorrect current time after message router sleep Based on https://github.com/EpicGames/UnrealEngine/pull/4601 Change 3996801 by Max.Chen Sequencer: Fix folder active state for non key area sections. Look at track node sections as well as key areas. #jira UE-57550 Change 3997098 by Matt.Hoffman Cleaned up some remaining ToDo's in STimeRange. Change 3998339 by Max.Preussner Sockets: Added documentation for socket receive functions Change 3998359 by Max.Preussner MediaUtils: Started to implement media recorder helper class Currently only supports BGRA frames in CPU memory. Supporting other formats and buffer types will require conversions on render-thread. I recommend refactoring out the existing conversion code in FMediaTextureResource into a reusable helper class in the MediaUtils module. This should be a good starting point though. Change 3998417 by Matt.Hoffman Keys and Sections can now be moved at the same time inside of Sequencer. Keys can now snap to Sections (and vice versa) instead of just to other Keys. Sections can now be duplicated like keys can. #jira UE-56995 Change 3998427 by JohnHenry.Carawon QAGame: Updating test content for the Movie Rendering feature. - Added an auto activate particle to the beginning of the sequence (it's not part of the sequence at all) - Added an event receiver blueprint to the Events example - Added a particle emitter to both sublevels - Added a camera cut to the end that switches to a separate camera - The camera zoom in, focus and Look At sections are all separate (not overlapping in the sequence) - Added a second actor for the camera Look At - Added a Visibility section for the Actor Hidden In Game track that has possessable and spawnable cube and light Change 3998537 by Max.Chen Sequence Recorder: Restore immersive mode when stopping the sequence even if not in PIE. #jira UE-56407 Change 3999809 by Matt.Hoffman Removed the "Go To" box from Sequencer and instead placed the current time as an always visible control. The previous shortcut (Ctrl + G) now focuses the new widget directly. #jira UESEQ-376 Change 4000543 by Christina.TempelaarL Sequencer: Moving editor-only code from runtime module MovieSceneCapture to editor module MovieSceneTools. Moved EDL and FCP XML exporters as well as Automated Level Scene Capture. #jira UESEQ-358 Change 4000706 by Matt.Hoffman Entering multiple time strings without a number no longer crashes Sequencer. #jira UE-57672 Change 4001051 by andrew.porter MediaFrameworkTest: Fixing up some image sources pointing to the wrong location Change 4001191 by andrew.porter QAGame: Adding some quick EDL/XML test content to dev folder Change 4001243 by Max.Chen Sequencer: Fix import EDL out of range. #jira UE-57665 Change 4001856 by Matt.Hoffman Selecting keys and sections at the same time now also works with animation and audio sections. #jira UE-57716 Change 4002021 by Max.Chen Sequence Recorder: Fix sequence name incrementing. If external recording sets the sequence name, use it. Otherwise, use the recording name from the recording group or the recording settings. #jira UE-57712 Change 4002618 by Max.Chen Viewport: Update the look at location when updating to a locked actor. This fixes an issue so that popping the view out of a locked actor and manipulating the view will not jump to the previous look at location. #jira UE-57725 Change 4002979 by Matt.Hoffman Fixes several edge cases with the end time range that was causing confusion about what the last frame of the sequence was. Dragging the End Frame slider will no longer be off by one tick and jumping to the end via the UI controls now properly respects snapping and stays inside the play range instead of falling outside of it. Overall behavior does not change though and End Frame should be considered an exclusive frame so that frames 0-150 results in a 150 frame long animation (which is frames 0-149). #jira UE-56367 Change 4003185 by Matt.Hoffman Fixed a regression that prevented a section from being dragged upwards past row 0 which normally resulted in all other rows moving down. #jira UE-57717 Change 4003193 by JohnHenry.Carawon QAGame: Updates to test content - Shortened frames between the examples from 95 to 30 - Separated camera setting tracks - Lighting example now switches directly from constant red - green - blue Change 4003369 by Max.Chen Sequence Recorder: Refresh next sequence regardless of internally stored sequence name. #jira UE-55757 Change 4003586 by JohnHenry.Carawon QAGame: Test Content Updates - Level Visibility track now ends to that the levels are not visible when we move to the next example - Shortened camera section, removed Z tranform so that we just move left to right and shortened the overall length Change 4004414 by Max.Chen Movie Scene Capture: Fix regression where rendering with shot handles would only render the first shot. 3972166 addressed an issue where an extra frame would be rendered by finalizing right when the end frame was reached. This was hit on the first shot end frame, so instead, do this only for when the last shot is being rendered. #jira UE-57314 Change 4004765 by Christina.TempelaarL Sequencer: Fixed bugs in FCP XML import/export. - Export: fixed sequence default resolution. - Export: fixed XML files with no shots. - Export: all sections clipped to playback range. - Export: fixed incorrect section start/end times due to precision issues. - Import: fixed incorrectly adding cinematic tracks. - Import: fixed bugs creating new sections. #jira UE-57660 #jira UE-57662 #jira UE-57655 #jira UE-57761 Change 4005119 by Max.Chen Sequencer: Export/import at play rate Change 4005195 by Max.Chen UMG: Finish UMG evaluation on stop. Added object version so that existing UMG assets do not change. #tests - Newly created UMG animation with sections set to restore state now return to their original state. Existing UMG animations with sections set to restore state do not return to their original state. #jira UE-52285 Change 4005377 by Michael.Karambelas QAGame: Moving TM-SequenceRecorder and related content out of my developer folder and into /Content/Sequencer/SequencerRecorder/* Change 4005417 by Michael.Karambelas QAGame: Fixed a BP compiler in the Level Blueprint of TM-SequencerRecorder. Change 4005634 by Michael.Karambelas QAGame: Fix up missing content and broken level sequence in TM-SequenceRecorder after move Change 4006324 by Max.Chen Sequencer: Reset if the focused movie scene is null. This fixes a crash if the user is focused in on a shot and undo takes the user past the point of where the shot was created. #jira UE-57752 #jira UE-47661 Change 4007006 by Max.Chen Sequencer: Fix FindAvailableRowIndex so that it returns the max row index (and not +1) since it doesn't find any conflicting rows. #jira UE-57717 Change 4007907 by Max.Chen Sequencer: Fix crash if there's no animation Change 4007948 by andrew.porter QAGame: added test content to dev folder for Record World Space Change 4008636 by Max.Chen Sequencer: Fix import fbx not setting values properly and creating additional cameras unncessarily. #jira UE-57864 Change 4008759 by Max.Chen Sequencer: Follow up fix for import cameras #jira UE-57864 Change 4009994 by Matt.Hoffman Dragging the left or right handles of the Time Range slider in Sequencer will now zoom your view in on the current center of the screen. This prevents the view from being translating as you tried to zoom in which caused issues at high zoom levels. #jira UESEQ-407 Change 4010169 by Christina.TempelaarL Sequencer: FCP XML fixes. - FCP XML export - no longer clips to playback range - FCP XML and EDL export - fixed missing last frame of some sections after exporting to Premiere. - Automated level capture, EDL export - use RoundToFrame instead of FloorToFrame for computing section start/end frames after frame rate conversion. #jira UE-57802 - partial fix, movie scene capture still needs to render full section rather than clip against playback. Change 4010287 by Mike.Zyracki Add quaternion interpolation option to UMovieScene3DTransformSection. This mimics how Matinee used to work by bascially finding the keys between a time and interpolating the angles as quat's between them. As noted in the code the algorithm needs to handle the case when the x,y,z Rotation keys all aren't at the same time which was not handled by Matinee. Also like Matinee, when in quaternion interoplation mode, we need to not display the function cuves since the interpolated and key values are now all different. (Would like to show them but that's a bigger refactor for perhaps just a one off needed by quaternions). I added a virtual function UMovieSceneSection::ShowCurveForChannel for this since it needs to be dynamic, not on construction of IKeyArea's, and could be useful for other sections. I could though move the method to just UMovieScene3DTransformSection and do a cast instead. Looked into doing a unit test for this but after talking with Andrew P we will work on doign an automated test in EngineQA since that will provide more coverage. Will also add a video the jira. #jira UESEQ-403 Change 4010713 by Mike.Zyracki Added option to key a group of transform channels instead of just the changed channel, or all of them. This is useful for quaternion interpolations where you want rotation keys to be aligned but also useful for other workflows like animating FK Pose to Pose. Change 4010715 by Andrew.Porter MediaFrameworkTest: Setting LogMediaUtils logging from VeryVerbose to Verbose to cut back on the spam Change 4013048 by Max.Chen Sequencer: Fix play/jump status. Update the player status for all position methods (Scrub, Jump, Play). Jump means Stopped. Correctly use PlayTo or JumpTo based on position method. In PlayInternal, JumpTo with the Stopped state (rather than playing state). #jira UE-57844 Change 4013479 by andrew.porter QAGame: Added content in TM-SequenceRecorder to test recording a property on a Cine Camera Component; Press 3 to trigger manual focus distance to increment on a timer Change 4014323 by Max.Chen Sequencer: Fix SetPlaybackPosition so that it jumps or plays based on playback status. #jira UE-57844 Change 4015888 by Max.Chen Sequencer: Fix crash on paste. UMovieSceneSections were gathered from the track node's track. For sub track mode, we want to gather only those sections on that track node row. #jira UE-57951 Change 4015943 by Max.Chen Sequencer: Fix moving shots up when the mouse pos goes outside of the virtual track area. #jira UE-57717 Change 4016293 by Max.Chen Sequencer: Fix relative frame playback end frame calculation so that custom start/end frames remain in the space of the sequence and are not relative. #jira UE-57308 Change 4017075 by Andrew.Rodham Sequencer: Corrected initial evaluation range used when calling UMovieSceneSequencPlayer::Play() Change 4017270 by Christina.TempelaarL Sequencer: FCPXML importer and movie scene capture - Use CeilToFrame when converting section start/end frame times to frame numbers in FCPXML and movie scene capture. - Added support for clip metadata in FCPXML. - Got rid of redundant TokenizedError message class, no longer needed now that FCPXML is in editor directory. - Added log messages currently commented out due to exception, still testing. #UESEQ-358 Change 4018370 by Christina.TempelaarL Sequencer: fixed FCPXML log messages regarding sections with start/end not divisible by display rate. #UESEQ-358 Change 4018378 by Christina.TempelaarL Sequencer: fixed error in previous changelist. #UESEQ-358 Change 4019457 by Max.Chen Sequencer: Show event names only when the event track is selected #jira UE-57897 Change 4022806 by Max.Chen Sequencer: Fix crash on movie scene capture dialog shutdown if movie capture wasn't even started. #jira UE-58106 Change 4022894 by Max.Chen Sequence Recorder: Wrap OpenEditorForAssets after sequence recording within GIsEditor #jira UE-58084 Change 4024487 by Max.Chen Sequencer: Add tooltip for quat interpolation #jira UE-58113 Change 4024562 by Max.Chen Sequencer: Change path/attach track sequence binding id to currently focused sequence id so that bindings can be created in subsequences Change 4027414 by JohnHenry.Carawon QAGame: Checking in content that shows a bug with using particles systems and Delay Before Shot Warm Up. Change 4028990 by Max.Chen Sequencer: Fix evaluate sub sequences in isolation. This check was added with the compile on the fly logic. Not sure why it was necessary but it seems like the sub sequence data needs to be updated in order to evaluate sub sequences in isolation. #jira UE-58184 Change 4029004 by Max.Chen Sequencer: Ensure that old binding references are removed when re-assigning actors in sequencer #jira UE-57898 Change 4030997 by JohnHenry.Carawon QAGame: Fixing name of the master sequence Change 4031785 by Michael.Karambelas QAGame: Added an instance of ThirdPerson Run to TM-SequenceRecorder for Record to Possessable test. Change 4035548 by Andrew.Rodham Sequencer: Changed FMovieSceneEvaluationTemplate::TemplateSignature to be a serial number to address non-deterministic cooking issues - This commit is related to the repro steps found in 3914599 and 3934307, both of which have been verified with this new change. - Copy of 4031684 from //Fortnite/Main/... #jira FORT-84852 Change 4036312 by Max.Chen Sequencer: Fix zoom view range so that it uses the passed in InZoomDelta Change 4036318 by Max.Chen Sequencer: Auto size now returns a range and defaults to the channel proxy range so that keyed regions can also be autosized. Change 4036322 by Max.Chen Forgot missing change Change 4036360 by Max.Chen Sequencer: Fix play rate calculation when skeletal animation section play rate changes. Change 4037163 by Mike.Zyracki Weighted Tangent Implementation Tricky thing is that you need to solve a cubic in order to get the bezier weights for the time part of the curve. See https://www.gamedev.net/forums/topic/474094-help-function-curves-for-animation-interpolation/ Maya provides an implementation in it's dev kit but I didn't use it since it was horribly slow and uses an iterative solution to solve the cubic needed. Instead I use an old algorithm (Cardano's method), to solve the cubic which should be much faster. Though relative simple to code from principles I just went ahead and used a version from Graphics Gems 1. I put this cubic solver directly in MovieSceneFloatChannel.cpp, but will need to move it when we support Rich Curve, maybe to FMath:: (which would probalby require some other functions for solving quartics, etc.. for completeness.). Also note we resolve this on every evaluation but dont' need to if the interval the time is evaluating hasn't had any change in values or tangents. So again when we support FRichCurve we can create a Weighted Evaluating class that can hold the cache. Also with the tangent drags I got rid of the Cardinal position that was used to calculate non-weight tangents from the key point and just quickly getting a direction. With weighted tangents we need to use the delta instead (otherwise when moving multiple they would all get the same weight based upon distance to the cardinal point. ) For mixed tangents types what I'm defaulting to non weighted if the interval doesn't match. May need to do weighted instead, not sure. What's left is just FBX import, for tomorrow. #jira UESEQ-76 Change 4037435 by Mike.Zyracki Fix fo build warnings from weighted tangent submission. #trivial Change 4038091 by Michael.Karambelas QAGame: Updated a Sequence Recorder group in TM-SequenceRecorder that had an actor missing the animation. Change 4038374 by Andrew.Rodham Sequencer: Refined scrubber styling for level sequences and actor sequences - Scrubber now shows a block the width of a dsplay rate frame, plus a line for the actual evaluated time. UMG reverts back to the previous styling (no block) - Keys that are outside of the playback range are now drawn with a subdued effect - Tick labels are no longer drawn when directly underneath the scrubber Change 4038490 by Max.Chen Sequencer: Expose tangent weight values in details panel. Change 4038620 by Andrew.Rodham Sequencer: Advanced time panel polish #jira UESEQ-426 Change 4038677 by Max.Chen Movie Scene Capture: Redirector for MovieSceneTools.AutomatedLevelSequenceCapture #jira UE-58248 Change 4039739 by Max.Chen Sequencer: Media track should only be supported by Level Sequence Change 4040024 by JohnHenry.Carawon QAGame: Fix EventReciever and OverrideBinding example The level sequence was set to none so the fix was to set it back to TrackEvaluation_Master. Change 4040610 by Andrew.Rodham Curve Editor: Moved weighted tangent switchers to a single toggle command (CTRL+W) and added an icon #jira 58383 Change 4040882 by Mike.Zyracki Keep broken when turning on weighted #jira UE-58435 Change 4041089 by andrew.porter QAGame: Sequence for Long Tangents bug Change 4041498 by Mike.Zyracki Turn off weighted when going auto to prevent large tangents. Do it both in UI and when doing AutoSetTangents() to really make sure it doesn't happen. #jira UE-58452 Change 4041752 by andrew.porter MediaFrameworkTest: Adding some better logging for setting rates when not supported. Also ignoring commiting URL when there is no text Change 4041896 by Matt.Hoffman The transform dialog box now transforms selected keys and sections, instead of just keys. #jira UE-58265 [CL 4044405 by Max Chen in Main branch]
2018-05-02 10:10:00 -04:00
{
// Set the style of the scrub handle
if (Sequencer->GetScrubStyle() == ESequencerScrubberStyle::FrameBlock)
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 4044339) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3947021 by Max.Chen Sequencer: Don't preserve root component when copying object properties. A spawnable empty actor, has a root component that is generated by the empty actor factory. If the object template's root component is preserved when copying from the spawnable empty actor, the root component will not be copied over. Therefore, we need to NOT preserve the root component when copying object properties. #jira UE-55825 Change 3947366 by Max.Preussner WmfMedia: Better log output Change 3947367 by Max.Preussner MfMedia: Better detection of compressed format properties on Windows Change 3949102 by Max.Chen Sequencer: Remove SequenceActorTag when converting to possessable. #jira UE-56206 Change 3949207 by andrew.porter EngineTest: Set the screenshot nodes resolution to 1280x720 Change 3949404 by Max.Chen Sequencer: More informative tooltip for "Rerun Construction Scripts" option. It now says "Rerun construction scripts every frame on actors that have 'Rerun Construction Script in Sequencer' enabled in their class settings". Change 3950067 by Matt.Hoffman Renamed UAutomatedLevelSequenceCapture's StartFrame and EndFrame to CustomStartFrame/CustomEndFrame to reflect that it is user-overriden. This will also resolve upgrade issues due to the variable datatype changing. #jira UE-56189 Change 3950193 by JohnHenry.Carawon Updating my latest MovieRendering test content. Change 3950757 by JohnHenry.Carawon More updates to MovieRendering test content Change 3952059 by Max.Chen Resave LevelVisibility_SubLevels to fix data loss conversion warning of OpacityMaskConstant #jira UE-56086 Change 3952283 by Max.Chen Sequencer: Disable dropping level sequence assets as spawnables. #jira UE-56120 Change 3952422 by Max.Chen Sequence Recorder: Add button to record from the current player. #jira UE-55942 Change 3952987 by JohnHenry.Carawon MovieRendering Test Content - Fixing camera bindings and changing the override binding actor Change 3953823 by Mike.Zyracki Fix for Bad FBX Import Tangents not scaled by frame rate. After looking at this again it seems that a set of MovieScene:: overiddes for the channel traits wasn't set correctly, so use the ADL idiom to use MovieScene, which can then call Optimize in the correct namespace. With this we can now correctly use the passed in tolerance. There was also a redundant set of Optimize calls so that it could happen twice so removed them, and needed an extra check in the float channel Optimize. Also since we need to set auto tangents no matter if we optimize we don't set that parameter(though leave it since it's used by context menu key reduction). Finally fixed speed issue with trajectories caused by calculating way too many substeps. Reverted back to a time based step size for consistency. #jira UE-56193 Change 3954317 by Matt.Hoffman Adding a key to the last frame of a section no longer causes a crash. Keys can already be moved to be on the last frame of a section so now you can just add a key there directly. #jira UE-56255 Change 3954326 by Matt.Hoffman Dilating a section that is only infinite on one side no longer causes a crash. #jira UE-56260 Change 3954486 by Max.Chen PR #4580: Exposes IsReversed() from UMovieSceneSequencePlayer (Contributed by alanedwardes) Change 3955238 by Max.Preussner Messaging: Enabled delayed message routing https://github.com/EpicGames/UnrealEngine/pull/4574 #jira UE-56247 Change 3955901 by Max.Preussner MediaFrameworkTest: Added developer test for overriding desired media player plug-in at runtime. Change 3955922 by Andrew.Porter QAGame: Updating movie rendering content in dev folder Change 3956004 by andrew.porter QAGame: Adding MPC track to movie rendering test content Change 3956510 by Max.Chen Sequencer: Fix fbx camera import of static properties so that they are imported before default tracks are created. Otherwise, the default tracks inherit the default properties of the camera, rather than the values from the fbx. #jira UE-56311 Change 3957613 by Max.Preussner MediaUtils: Added code documentation to media player facade Change 3958005 by Max.Preussner MediaUtils: Added method to get number of sinks Change 3958934 by Max.Chen Sequencer: Fix keys getting added and sequence getting erroneously re-evaluated when auto key is off. Only apply defaults if there are no keys. Only modify the movie scene section before creating keys or setting defaults. #jira UE-55903 Change 3959687 by Andrew.Rodham Sequencer: Fixed visibility track external values being inverted #jira UE-56324 Change 3960507 by Max.Preussner Core: Fixed incorrect rounding in FMath::DivideAndRoundNearest Change 3962047 by JohnHenry.Carawon MovieRendering Test Content Changes: - Add Lightmass Importance Volumes to sublevel to fix warnings - Rebuilt Lighting - Add a third sequence for Gamut testing - Resaved the sound master.uasset to fix warning Change 3962211 by Mike.Zyracki Add Frame Numbers to selected animation sections. Added MapTimeToAnimation to MovieSceneSkeletalAnimation so that we could get it from the Skeleton Animation track Editor. Since the thickness of the frame line can change based upon frame rate and zoom we need to calculate it similarly to how the time slider controller does it. Those calculations were private so we had to expose FScrubRangeToScreen and GetScubberPixelRange from the TimeSliderController. Also needed to know if the section itself was selected so added a bIsSelected flag to the section Painter. Also fixed a bug where you couldn't add a section if other sections existed at different times in MovieScenePropertyTrack and could crash due to the check(). #jira UESEQ-395 Change 3962497 by Max.Preussner Core: Added new string formatting argument to FTimespan Change 3963662 by Max.Chen CineCamera: Flip VistaVision width and height. Change 3963731 by Max.Preussner MediaCompositing: Implemented sequence recording support for media track Change 3964195 by Andrew.Rodham Sequencer: Set inverted property correctly for newly created visibility track sections - Also clamp evaluation for key editors to the bounds of the section so we're not displaying values outside of the section bounds when the cursor is not on the bounds #jira UE-56324 #coderevew Max.Chen Change 3964196 by Andrew.Rodham Sequencer: Fixed crash when attempting to render sections that resulted in a negative intersection with the view range Change 3964275 by Andrew.Rodham Sequencer: Fixed MovieScene::ClampToDiscreteRange for infinite range bounds Change 3964364 by Andrew.Rodham Curve Editor: Reduce minimum vertical view range when zooming to fit Change 3965091 by Max.Chen Sequencer Recorder: Refresh next sequence if empty when starting a recording, otherwise, use existing name. #jira UE-56469 Change 3965148 by Max.Chen Sequence Recorder: Move Record to Possessable to "Actor Recording" group Change 3965162 by Max.Chen Sequence Recorder: Always break out of immersive mode when done recording, even when stopping recording during countdown. #jira UE-56407 Change 3965214 by Max.Preussner QAGame: Enabled ImagePlate plug-in Change 3965574 by Max.Preussner SimpleComposure: Reorganized & upgraded content to work with new Media Track #jira UE-56488 Change 3965651 by Max.Preussner MediaCompositing: Ignoring seek-on-open if media not seekable Change 3966075 by Christina.TempelaarL Sequencer: Added Final Cut Pro 7 XML Export functionality #jira UESEQ-358 Change 3966087 by Matt.Hoffman Adding a single key to the Particle Toggle track now makes an infinite range section that is displayed in the UI. #jira UE-56295 Change 3966547 by Andrew.Rodham Sequencer: Fixed rounding errors when drawing the section background on boolean sections - Logic was using time in sectonds which caused rounding errors on evaluation and flickering red/green stripes when dragging keys around #jira UE-56324 Change 3966563 by Andrew.Rodham Curve Editor: Key editor interface improvements - SKeyEditInterface has a few problems - it does not update in real time when editing properties, and does not support multi-edit which makes it unsuitable for use with the curve editor - We now take a different approach for editing keys by gathering a set of proxy UObjects for each key that is currently selected. These objects are added as top level objects to the details panel which means they support multi edit as you'd expect from any other details panel in the editor. - Proxy objects are updated every tick for the curve editor if they implement the ICurveEditorKeyProxy interface, which allows them to refresh their current value. - Ideally, the same mechanisms would be used in the main sequence interface, and we would be generating the proxy classes at runtime based on the key value type, but that work remains a separate task from this initial offering. #jira UE-56165 Change 3966564 by Andrew.Rodham Curve Editor: Expand to frame when adding or moving keys in the curve editor Change 3967051 by andrew.porter MediaFrameworkTest: Set the CameraPlayer_Video texture to auto clear Change 3967141 by Andrew.Rodham Sequencer: Keep track of spawned objects that have been modified and only re-save such object's default spawnable state on destruction - Now that we're taking this approach, I've remove serveral redundant bits of functionality in the spawn register such as making some spawnables read-only, and the PreSave binding for Sequencer. - We now hook into all object pre-saves to make sure we handle the case where the sequences are saved through the content browser or elsewhere. #jira UE-47686 Change 3967170 by Andrew.Rodham Sequencer: Added the ability to possess anim instances as object bindings - This allows full and direct animation of properties on UAnimInstance, and animation blueprints - Object Bindings are made by first possessing a skeletal mesh component, then choosing the + Add button where its anim instance will be listed - Added a new function to UMovieSceneSequence to gather previously cached objects that should now be invalidated. Anim instances will be re-resolved if a new UAnimInstance is assigned to USkeletalMeshComponent::GetAnimInstance. - ObjectBindingIDs for anim instances are just represented by an entry in a set of GUIDs. We only ever resolve such bindings through USkeletalMeshComponent::GetAnimInstance. - Only currently supported on LevelSequences #jira UE-56132 Change 3967195 by Max.Preussner Core: Updated TRangeSet to use TCallTraits Change 3967345 by JohnHenry.Carawon Test Content Changes - first iteration of spacing out the examples in the shots. Change 3967572 by Max.Chen Sequencer: Fix setting PreviousPlayEvalPosition until after we've tested whether it's set. #jira UE-56518 Change 3967750 by Max.Chen Audio: Set duration based on number of input channels, rather than number of channels to serialize. This fixes an issue where audio split into 2 channels is set to a duration that's twice as long. #jira UE-56430 Change 3967836 by Max.Chen Sequencer: Allow for animating array elements within ustruct properties #jira UE-55887 Change 3968506 by Matt.Hoffman Fixed ambiguous conversions for seconds and frames being overriden by ambiguous conversion to Timecode (in frames). Change 3968748 by Max.Chen Sequencer: Make the event properties submenu widget larger. #jira UE-55557 Change 3968862 by Max.Chen Sequencer: Recursive expansion when shift is down #jira UE-52139 #pr 4194 Change 3968863 by Max.Chen Sequencer: Bind rename command to selected track so that F2 shortcut start renaming #jira UE-52139 #pr 4194 Change 3968872 by Max.Chen Sequencer: Rekey the selected key at the current time. #jira UESEQ-396 Change 3968938 by Max.Chen Cine Camera: Add option to toggle the behavior of locking the rail mount to the orientation of the spline. By default, the option is off, no change in behavior. #jira UE-55815 Change 3968958 by Andrew.Rodham Sequencer: Consider vertical position when hittesting keys #jira UE-56256 Change 3969643 by Max.Preussner Core: Rounding timespans created from double values towards nearest ticks Change 3969646 by Max.Preussner MediaUtils: Implemented timeout mechanism for block-on-fetch feature Change 3969776 by Mike.Zyracki Added Skip Anim Notifiers Toggle per what was in Matinee. Investigated the Enable Root Motion toggle as also discussed but it's implementation is directly contained by the animation asset and unlike animation notifies there seems to be no exposure to interactively disable it during a playback tick. Note if we are generating thumbnails we still automtically disable notifies in the editor to avoid annoying noise playback. Note that if Enable Root Motion/Root locked is specified in the animation asset it does correctly effect the Sequencer. #jira UESEQ-399 Change 3969835 by Matt.Hoffman Playback Range and Selection Range use unified logic for adding themselves as potential snap locations which properly handles inclusive/exclusive bounds. This resolves an issue where having an unset selection range caused a potential snap location to be added on frame 0 and 1 (internal resolution) which caused a misalignment when placing objects near frame 0. This also removes the one frame offset on setting Selection Range to bring behavior inline with other ranges. #jira UE-55420 Change 3969885 by Max.Preussner MediaAssets: Don't register media player CDO with media ticker Change 3971129 by Andrew.Rodham Sequencer: Fixed UMovieSceneSequencePlayer::GotToEndAndStop() not taking into account for start time This is a remnant from when the times were always specified in 0-duration space, rather than actual sequence times. Change 3972056 by JohnHenry.Carawon More updates to Test Content. I continued spacing out the examples in the sequence so that they have a consistent number of frames between each example and during the start/end of the example. Also removed the Marcie sublevel. Change 3972066 by Andrew.Porter MediaFrameworkTest: Setting Marcie folder to be never cooked in package settings Change 3972675 by Matt.Hoffman Splitting Subsequence Sections no longer sets an incorrect playback range on the subsequence when the subsequence has a different internal resolution than the owning sequence. #jira UE-55453 Change 3973376 by Max.Preussner ImgMedia: Zero is the only valid video track for image sequences Change 3973489 by Max.Preussner Launch: Build rules cleanup pass - don't use Media, MediaUtils on server apps - don't link against Media (include-only dependency) - don't include from MediaAssets (dynamic load only) Change 3973760 by Max.Preussner MediaUtils: Moved AppMediaTimeSource implementation into its own file; added logging Change 3973765 by Max.Preussner ImgMedia: Disallowing seek beyond media length Change 3973855 by Max.Preussner MediaFrameworkTest: Updated developer test content Change 3973858 by Max.Preussner MediaCompositing: Blocking on media player time instead of media sample time (the former may not be hit in the current frame) Change 3974988 by Max.Chen Sequencer: Fix trim left so that it also sets the start offset for audio and skeletal animation sections. #jira UE-57015 Change 3976101 by Matt.Hoffman Sequencer will now focus the scroll view on newly created items. #jira UE-56492 Change 3976203 by Max.Chen Property Editor: Add DetailsViewArgs for ColumnWidth. Defaults to 0.65f, no change in existing behavior. Change 3976205 by Max.Chen Sequencer: Set better column widths for sequencer. #jira UE-55557 Change 3976206 by Max.Chen Sequencer: Added menu category for import/export Change 3976265 by Matt.Hoffman Tracks within Object Binding Nodes will now sort using the old behavior so that components are added above other track types. #jira UE-56473 Change 3976901 by Max.Chen Sequencer: Add event names to event track section #jira UESEQ-353 Change 3977878 by Max.Preussner Media: Moved media framework ticking stats into Media module Change 3977982 by Max.Chen Sequencer: Add Edit->Reset section length to duration of source (ie. audio, skeletal animation, shot length) Added MovieSceneSection::GetDefaultDuration and MovieScene::HasDefaultDuration #jira UESEQ-392 Change 3977994 by Max.Preussner Media: Fetching and rendering media samples before viewports are rendered (to ensure frame sync for in-level media playback) #jira UE-53975 Change 3978188 by Matt.Hoffman Easing Curves are now clipped by the sequence's PlayRange when testing against an infinite section. This causes blended sequences to finish their blend when the section starts/ends instead of always using 25% of the total section length to determine default blend range. #jira UE-56362 Change 3978676 by Max.Preussner MediaCompositing: Fixed first frame of rendered out media track missing #jira UE-53975 Change 3978684 by Max.Preussner MediaCompositing: Enabled media track frame sync feature #jira UE-53975 Change 3980026 by Matt.Hoffman Keys can be selected on folded out sections (such as an audio track expanded to show volume and pitch) again. #jira UE-57169 Change 3981614 by Max.Preussner MediaUtils: Added missing subtitle sample queue flush Change 3982311 by Max.Preussner MediaCompositing: Added safeguard for zero length media sources Change 3982389 by andrew.porter QAGame: Adding media track test content into FrameAccuracySubscene Change 3983661 by Max.Chen Sequencer: Add level name to spawn a spawnable into. Add sublevel menu option to set the level #jira UESEQ-390 Change 3983712 by Andrew.Rodham Sequencer: Purge legacy blueprint spawnables from LevelSequence packages #tests Ran a preflight for cooking fortnite, ocean and Orion. Only orion shows up this edge case, and will require a re-save of the EndCines level #jira UE-39173 Change 3983787 by Max.Preussner MediaCompositing: Moved compile time switch for block-on-fetch into media player facade Change 3983812 by Andrew.Rodham Sequencer: Exposed default level sequence instance data to blueprints Change 3984373 by Max.Preussner Media: Added API for quering whether player plug-in supports block on fetch Block on fetch allows Sequencer and other systems to block the game thread until a desired video frame has been decoded. Change 3984670 by JohnHenry.Carawon Movie Rendering Test Content progress. Saving the state of the content. There is a bug where things got replaced with particle emitters and I think it was because I tried to copy paste an animation track into a separate skeletal mesh track. Change 3985097 by Max.Chen Sequencer: Rename Reset to AutoSize Change GetAutoSizeDuration to return TOptional<FFrameTime> #jira UESEQ-392 Change 3986043 by Max.Chen Sequencer: Fix crash when attach/path duration is less than 0. #jira UE-57310 Change 3986373 by Max.Chen Sequencer: Add support for deleting tracks and channels which equates to setting the channel mask. #jira UE-52951 Change 3986375 by Max.Chen Sequencer: Add Create Pose Asset to skeletal animation section. This allows animators to blend animations in sequencer and create new pose assets from them. #jira UESEQ-408 Change 3986796 by Andrew.Rodham Sequencer: Fixed stale object references remaining in ULevelSequence::BindingReferences when using convert to spawnable/possessable - We used to convert objects by creating a new binding, then re-assigning its GUID, which meant we didn't have to do any further object fixup, but the code to achieve this was confusing and led to a vulnerability where object references would not be cleaned up correctly due to the newly created possessable essentially being a temporary object that's immediately thrown away. - To address this, there is now a function for porting all the contents of one object binding to another, and handles the correct fixup required for parent/child object bindings for both spawnables and possessables. - Also added codepath to remove any stale object references from the level sequence reference map on PostLoad (this piggy-backs off the PurgeLegacyBlueprints object version which is close close enough to this change to be identical) #tests Verified that existing sequences with stale references get cleaned up on load. Verified that repreatedly converting from spawnable<->possessable cleans up references correctly. Change 3987807 by JohnHenry.Carawon Updates to the MovieRendering Test Content. - Fixed the spawnable actors that were overwritten - Shortend the Lighting example and combined the Intensity and Color tracks - Organized the Sequence and WorldOutliner to group the examples. Change 3988151 by Max.Chen Cine Camera: Enable keying the "Enable Look at Tracking" toggle. Change 3988880 by Max.Chen Sequencer: Support enter to add asset for all sequencer track editors that have asset pickers. #jira UE-57367 Change 3988953 by Max.Chen Sequencer: Make the track color picker focusable so that it will close when you click away or lose focus. #jira UE-57210 Change 3988962 by Max.Chen MovieSceneCapture: Fix EDL export so that it takes into account movie scene frame resolution and desired frame rate. #jira UE-57365 Change 3988964 by Max.Chen Movie Scene Capture: Clarified tooltip for bRelativeFrameNumbers. If you specify custom start/end frames for the recording, they will be relative to the playback range. #jira UE-57308 Change 3989442 by Max.Chen Fix CIS Change 3991548 by Matt.Hoffman Dragging the time slider no longer causes the time slider to ignore snap-to-interval with "Snap to Keys While Scrubbing" when no keys are in range. #jira UE-57417 Change 3991598 by Matt.Hoffman Snap to Key while scrubbing now mirrors the behavior of "jump to next key". When there are no tracks selected it snaps to all keys and when there are tracks selected it snaps to only keys from that track. This also resolves an issue where deleting an object did not remove it from the Sequencer's selection. Undoing a delete already doesn't seem to restore your selection, so removing it from your selection shouldn't change that behavior. #jira UE-57417 Change 3991603 by Max.Chen Sequencer: Disable EditAnywhere for some section properties #jira UE-53530 Change 3992240 by Max.Preussner MediaAssets: Implemented dynamic audio sample rate adjustment based on audio/media clock drift #jira FORT-70638 Change 3992911 by Andrew.Rodham Sequencer: Fixed saving spawnable state using the wrong spawned object - We now track the object binding ID so that we can apply the spawned object to the correct spawnable when the asset is saved #jira UE-57353 Change 3992914 by Max.Chen Movie Scene Capture: Fix compression quality not being set. The compression interface wasn't being found through query interface, so no compression was being set. Reworked finding it through the output pins. Tested running various compression values. #jira-UE-55488 Change 3992919 by Max.Chen Sequencer: Convert to possessable now uses object template instead of copying properties (ie. see LevelSequenceActorSpawner). This fixes MIDs getting lost when converting to spawnable and back to possessable. #jira UE-52400 Change 3993184 by Max.Chen Sequencer: Don't show +Transform/+Path/+Attach track if the actor has the "Mobility" property hidden. Set the Landscape, LandscapeProxy and InstancedFoliage "Mobility" property to be hidden since it is static is not supposed to be dynamically movable. #jira UE-56347 Change 3993238 by Max.Chen Sequencer: Test for hidden mobility in creating keys as well. Refactored to HasHiddenMobility() #jira UE-56347 Change 3993978 by Max.Chen Cine Camera: Enable keying the "Enable Look at Tracking" toggle. #jira UE-57489 Change 3994039 by Max.Chen Landscape: Add Mobility to hidecategories on landscape component #jira UE-56347 Change 3994626 by JohnHenry.Carawon Updated Movie Rendering Test Content. - Fixed the overridden spawnables to their proper object types. Change 3994653 by Christina.TempelaarL Sequencer: Added Final Cut Pro 7 XML Import functionality, improved Export functionality #jira UESEQ-358 Change 3995609 by Max.Chen UMG: Add support for 2d transform mask (translation, rotation, scale, shear) #jira UE-52951 Change 3995778 by JohnHenry.Carawon Movie Rendering Test Content Updates - Adjusted Lights example - Adjusted Camera example - Added Marcie sublevel back in Change 3995942 by JohnHenry.Carawon QAGame: Moving Movie Rendering test content from Developer folder to Sequencer folder Also adjusted level visibility, lights and camera example. Change 3995993 by Christina.TempelaarL Sequencer: FCPXML Export updates - only export sections if in playback range and media exists, warn if media does not exist. Other updates - removed unused methods and variables, fixed message context naming to be more accurate #jira UESEQ-358 Change 3996595 by andrew.porter QAGame: Updating Marcie content in TrackEvaluation level to use Image Plate Change 3996614 by andrew.porter QAGame: Adding color test sequence to the sublevel Change 3996643 by Max.Chen Sequencer: Fix fbx animation export - rotation and scale channels were flipped. #jira UE-57509 #jira UE-57512 #jira UE-57514 Change 3996652 by Max.Preussner Messaging: Fixed delayed messaging using incorrect current time after message router sleep Based on https://github.com/EpicGames/UnrealEngine/pull/4601 Change 3996801 by Max.Chen Sequencer: Fix folder active state for non key area sections. Look at track node sections as well as key areas. #jira UE-57550 Change 3997098 by Matt.Hoffman Cleaned up some remaining ToDo's in STimeRange. Change 3998339 by Max.Preussner Sockets: Added documentation for socket receive functions Change 3998359 by Max.Preussner MediaUtils: Started to implement media recorder helper class Currently only supports BGRA frames in CPU memory. Supporting other formats and buffer types will require conversions on render-thread. I recommend refactoring out the existing conversion code in FMediaTextureResource into a reusable helper class in the MediaUtils module. This should be a good starting point though. Change 3998417 by Matt.Hoffman Keys and Sections can now be moved at the same time inside of Sequencer. Keys can now snap to Sections (and vice versa) instead of just to other Keys. Sections can now be duplicated like keys can. #jira UE-56995 Change 3998427 by JohnHenry.Carawon QAGame: Updating test content for the Movie Rendering feature. - Added an auto activate particle to the beginning of the sequence (it's not part of the sequence at all) - Added an event receiver blueprint to the Events example - Added a particle emitter to both sublevels - Added a camera cut to the end that switches to a separate camera - The camera zoom in, focus and Look At sections are all separate (not overlapping in the sequence) - Added a second actor for the camera Look At - Added a Visibility section for the Actor Hidden In Game track that has possessable and spawnable cube and light Change 3998537 by Max.Chen Sequence Recorder: Restore immersive mode when stopping the sequence even if not in PIE. #jira UE-56407 Change 3999809 by Matt.Hoffman Removed the "Go To" box from Sequencer and instead placed the current time as an always visible control. The previous shortcut (Ctrl + G) now focuses the new widget directly. #jira UESEQ-376 Change 4000543 by Christina.TempelaarL Sequencer: Moving editor-only code from runtime module MovieSceneCapture to editor module MovieSceneTools. Moved EDL and FCP XML exporters as well as Automated Level Scene Capture. #jira UESEQ-358 Change 4000706 by Matt.Hoffman Entering multiple time strings without a number no longer crashes Sequencer. #jira UE-57672 Change 4001051 by andrew.porter MediaFrameworkTest: Fixing up some image sources pointing to the wrong location Change 4001191 by andrew.porter QAGame: Adding some quick EDL/XML test content to dev folder Change 4001243 by Max.Chen Sequencer: Fix import EDL out of range. #jira UE-57665 Change 4001856 by Matt.Hoffman Selecting keys and sections at the same time now also works with animation and audio sections. #jira UE-57716 Change 4002021 by Max.Chen Sequence Recorder: Fix sequence name incrementing. If external recording sets the sequence name, use it. Otherwise, use the recording name from the recording group or the recording settings. #jira UE-57712 Change 4002618 by Max.Chen Viewport: Update the look at location when updating to a locked actor. This fixes an issue so that popping the view out of a locked actor and manipulating the view will not jump to the previous look at location. #jira UE-57725 Change 4002979 by Matt.Hoffman Fixes several edge cases with the end time range that was causing confusion about what the last frame of the sequence was. Dragging the End Frame slider will no longer be off by one tick and jumping to the end via the UI controls now properly respects snapping and stays inside the play range instead of falling outside of it. Overall behavior does not change though and End Frame should be considered an exclusive frame so that frames 0-150 results in a 150 frame long animation (which is frames 0-149). #jira UE-56367 Change 4003185 by Matt.Hoffman Fixed a regression that prevented a section from being dragged upwards past row 0 which normally resulted in all other rows moving down. #jira UE-57717 Change 4003193 by JohnHenry.Carawon QAGame: Updates to test content - Shortened frames between the examples from 95 to 30 - Separated camera setting tracks - Lighting example now switches directly from constant red - green - blue Change 4003369 by Max.Chen Sequence Recorder: Refresh next sequence regardless of internally stored sequence name. #jira UE-55757 Change 4003586 by JohnHenry.Carawon QAGame: Test Content Updates - Level Visibility track now ends to that the levels are not visible when we move to the next example - Shortened camera section, removed Z tranform so that we just move left to right and shortened the overall length Change 4004414 by Max.Chen Movie Scene Capture: Fix regression where rendering with shot handles would only render the first shot. 3972166 addressed an issue where an extra frame would be rendered by finalizing right when the end frame was reached. This was hit on the first shot end frame, so instead, do this only for when the last shot is being rendered. #jira UE-57314 Change 4004765 by Christina.TempelaarL Sequencer: Fixed bugs in FCP XML import/export. - Export: fixed sequence default resolution. - Export: fixed XML files with no shots. - Export: all sections clipped to playback range. - Export: fixed incorrect section start/end times due to precision issues. - Import: fixed incorrectly adding cinematic tracks. - Import: fixed bugs creating new sections. #jira UE-57660 #jira UE-57662 #jira UE-57655 #jira UE-57761 Change 4005119 by Max.Chen Sequencer: Export/import at play rate Change 4005195 by Max.Chen UMG: Finish UMG evaluation on stop. Added object version so that existing UMG assets do not change. #tests - Newly created UMG animation with sections set to restore state now return to their original state. Existing UMG animations with sections set to restore state do not return to their original state. #jira UE-52285 Change 4005377 by Michael.Karambelas QAGame: Moving TM-SequenceRecorder and related content out of my developer folder and into /Content/Sequencer/SequencerRecorder/* Change 4005417 by Michael.Karambelas QAGame: Fixed a BP compiler in the Level Blueprint of TM-SequencerRecorder. Change 4005634 by Michael.Karambelas QAGame: Fix up missing content and broken level sequence in TM-SequenceRecorder after move Change 4006324 by Max.Chen Sequencer: Reset if the focused movie scene is null. This fixes a crash if the user is focused in on a shot and undo takes the user past the point of where the shot was created. #jira UE-57752 #jira UE-47661 Change 4007006 by Max.Chen Sequencer: Fix FindAvailableRowIndex so that it returns the max row index (and not +1) since it doesn't find any conflicting rows. #jira UE-57717 Change 4007907 by Max.Chen Sequencer: Fix crash if there's no animation Change 4007948 by andrew.porter QAGame: added test content to dev folder for Record World Space Change 4008636 by Max.Chen Sequencer: Fix import fbx not setting values properly and creating additional cameras unncessarily. #jira UE-57864 Change 4008759 by Max.Chen Sequencer: Follow up fix for import cameras #jira UE-57864 Change 4009994 by Matt.Hoffman Dragging the left or right handles of the Time Range slider in Sequencer will now zoom your view in on the current center of the screen. This prevents the view from being translating as you tried to zoom in which caused issues at high zoom levels. #jira UESEQ-407 Change 4010169 by Christina.TempelaarL Sequencer: FCP XML fixes. - FCP XML export - no longer clips to playback range - FCP XML and EDL export - fixed missing last frame of some sections after exporting to Premiere. - Automated level capture, EDL export - use RoundToFrame instead of FloorToFrame for computing section start/end frames after frame rate conversion. #jira UE-57802 - partial fix, movie scene capture still needs to render full section rather than clip against playback. Change 4010287 by Mike.Zyracki Add quaternion interpolation option to UMovieScene3DTransformSection. This mimics how Matinee used to work by bascially finding the keys between a time and interpolating the angles as quat's between them. As noted in the code the algorithm needs to handle the case when the x,y,z Rotation keys all aren't at the same time which was not handled by Matinee. Also like Matinee, when in quaternion interoplation mode, we need to not display the function cuves since the interpolated and key values are now all different. (Would like to show them but that's a bigger refactor for perhaps just a one off needed by quaternions). I added a virtual function UMovieSceneSection::ShowCurveForChannel for this since it needs to be dynamic, not on construction of IKeyArea's, and could be useful for other sections. I could though move the method to just UMovieScene3DTransformSection and do a cast instead. Looked into doing a unit test for this but after talking with Andrew P we will work on doign an automated test in EngineQA since that will provide more coverage. Will also add a video the jira. #jira UESEQ-403 Change 4010713 by Mike.Zyracki Added option to key a group of transform channels instead of just the changed channel, or all of them. This is useful for quaternion interpolations where you want rotation keys to be aligned but also useful for other workflows like animating FK Pose to Pose. Change 4010715 by Andrew.Porter MediaFrameworkTest: Setting LogMediaUtils logging from VeryVerbose to Verbose to cut back on the spam Change 4013048 by Max.Chen Sequencer: Fix play/jump status. Update the player status for all position methods (Scrub, Jump, Play). Jump means Stopped. Correctly use PlayTo or JumpTo based on position method. In PlayInternal, JumpTo with the Stopped state (rather than playing state). #jira UE-57844 Change 4013479 by andrew.porter QAGame: Added content in TM-SequenceRecorder to test recording a property on a Cine Camera Component; Press 3 to trigger manual focus distance to increment on a timer Change 4014323 by Max.Chen Sequencer: Fix SetPlaybackPosition so that it jumps or plays based on playback status. #jira UE-57844 Change 4015888 by Max.Chen Sequencer: Fix crash on paste. UMovieSceneSections were gathered from the track node's track. For sub track mode, we want to gather only those sections on that track node row. #jira UE-57951 Change 4015943 by Max.Chen Sequencer: Fix moving shots up when the mouse pos goes outside of the virtual track area. #jira UE-57717 Change 4016293 by Max.Chen Sequencer: Fix relative frame playback end frame calculation so that custom start/end frames remain in the space of the sequence and are not relative. #jira UE-57308 Change 4017075 by Andrew.Rodham Sequencer: Corrected initial evaluation range used when calling UMovieSceneSequencPlayer::Play() Change 4017270 by Christina.TempelaarL Sequencer: FCPXML importer and movie scene capture - Use CeilToFrame when converting section start/end frame times to frame numbers in FCPXML and movie scene capture. - Added support for clip metadata in FCPXML. - Got rid of redundant TokenizedError message class, no longer needed now that FCPXML is in editor directory. - Added log messages currently commented out due to exception, still testing. #UESEQ-358 Change 4018370 by Christina.TempelaarL Sequencer: fixed FCPXML log messages regarding sections with start/end not divisible by display rate. #UESEQ-358 Change 4018378 by Christina.TempelaarL Sequencer: fixed error in previous changelist. #UESEQ-358 Change 4019457 by Max.Chen Sequencer: Show event names only when the event track is selected #jira UE-57897 Change 4022806 by Max.Chen Sequencer: Fix crash on movie scene capture dialog shutdown if movie capture wasn't even started. #jira UE-58106 Change 4022894 by Max.Chen Sequence Recorder: Wrap OpenEditorForAssets after sequence recording within GIsEditor #jira UE-58084 Change 4024487 by Max.Chen Sequencer: Add tooltip for quat interpolation #jira UE-58113 Change 4024562 by Max.Chen Sequencer: Change path/attach track sequence binding id to currently focused sequence id so that bindings can be created in subsequences Change 4027414 by JohnHenry.Carawon QAGame: Checking in content that shows a bug with using particles systems and Delay Before Shot Warm Up. Change 4028990 by Max.Chen Sequencer: Fix evaluate sub sequences in isolation. This check was added with the compile on the fly logic. Not sure why it was necessary but it seems like the sub sequence data needs to be updated in order to evaluate sub sequences in isolation. #jira UE-58184 Change 4029004 by Max.Chen Sequencer: Ensure that old binding references are removed when re-assigning actors in sequencer #jira UE-57898 Change 4030997 by JohnHenry.Carawon QAGame: Fixing name of the master sequence Change 4031785 by Michael.Karambelas QAGame: Added an instance of ThirdPerson Run to TM-SequenceRecorder for Record to Possessable test. Change 4035548 by Andrew.Rodham Sequencer: Changed FMovieSceneEvaluationTemplate::TemplateSignature to be a serial number to address non-deterministic cooking issues - This commit is related to the repro steps found in 3914599 and 3934307, both of which have been verified with this new change. - Copy of 4031684 from //Fortnite/Main/... #jira FORT-84852 Change 4036312 by Max.Chen Sequencer: Fix zoom view range so that it uses the passed in InZoomDelta Change 4036318 by Max.Chen Sequencer: Auto size now returns a range and defaults to the channel proxy range so that keyed regions can also be autosized. Change 4036322 by Max.Chen Forgot missing change Change 4036360 by Max.Chen Sequencer: Fix play rate calculation when skeletal animation section play rate changes. Change 4037163 by Mike.Zyracki Weighted Tangent Implementation Tricky thing is that you need to solve a cubic in order to get the bezier weights for the time part of the curve. See https://www.gamedev.net/forums/topic/474094-help-function-curves-for-animation-interpolation/ Maya provides an implementation in it's dev kit but I didn't use it since it was horribly slow and uses an iterative solution to solve the cubic needed. Instead I use an old algorithm (Cardano's method), to solve the cubic which should be much faster. Though relative simple to code from principles I just went ahead and used a version from Graphics Gems 1. I put this cubic solver directly in MovieSceneFloatChannel.cpp, but will need to move it when we support Rich Curve, maybe to FMath:: (which would probalby require some other functions for solving quartics, etc.. for completeness.). Also note we resolve this on every evaluation but dont' need to if the interval the time is evaluating hasn't had any change in values or tangents. So again when we support FRichCurve we can create a Weighted Evaluating class that can hold the cache. Also with the tangent drags I got rid of the Cardinal position that was used to calculate non-weight tangents from the key point and just quickly getting a direction. With weighted tangents we need to use the delta instead (otherwise when moving multiple they would all get the same weight based upon distance to the cardinal point. ) For mixed tangents types what I'm defaulting to non weighted if the interval doesn't match. May need to do weighted instead, not sure. What's left is just FBX import, for tomorrow. #jira UESEQ-76 Change 4037435 by Mike.Zyracki Fix fo build warnings from weighted tangent submission. #trivial Change 4038091 by Michael.Karambelas QAGame: Updated a Sequence Recorder group in TM-SequenceRecorder that had an actor missing the animation. Change 4038374 by Andrew.Rodham Sequencer: Refined scrubber styling for level sequences and actor sequences - Scrubber now shows a block the width of a dsplay rate frame, plus a line for the actual evaluated time. UMG reverts back to the previous styling (no block) - Keys that are outside of the playback range are now drawn with a subdued effect - Tick labels are no longer drawn when directly underneath the scrubber Change 4038490 by Max.Chen Sequencer: Expose tangent weight values in details panel. Change 4038620 by Andrew.Rodham Sequencer: Advanced time panel polish #jira UESEQ-426 Change 4038677 by Max.Chen Movie Scene Capture: Redirector for MovieSceneTools.AutomatedLevelSequenceCapture #jira UE-58248 Change 4039739 by Max.Chen Sequencer: Media track should only be supported by Level Sequence Change 4040024 by JohnHenry.Carawon QAGame: Fix EventReciever and OverrideBinding example The level sequence was set to none so the fix was to set it back to TrackEvaluation_Master. Change 4040610 by Andrew.Rodham Curve Editor: Moved weighted tangent switchers to a single toggle command (CTRL+W) and added an icon #jira 58383 Change 4040882 by Mike.Zyracki Keep broken when turning on weighted #jira UE-58435 Change 4041089 by andrew.porter QAGame: Sequence for Long Tangents bug Change 4041498 by Mike.Zyracki Turn off weighted when going auto to prevent large tangents. Do it both in UI and when doing AutoSetTangents() to really make sure it doesn't happen. #jira UE-58452 Change 4041752 by andrew.porter MediaFrameworkTest: Adding some better logging for setting rates when not supported. Also ignoring commiting URL when there is no text Change 4041896 by Matt.Hoffman The transform dialog box now transforms selected keys and sections, instead of just keys. #jira UE-58265 [CL 4044405 by Max Chen in Main branch]
2018-05-02 10:10:00 -04:00
{
// Floor to the display frame
ScrubTime = ConvertFrameTime(ConvertFrameTime(ScrubTime, GetTickResolution(), GetDisplayRate()).FloorToFrame(), GetDisplayRate(), GetTickResolution());
}
else
{
// Snap (round) to display rate
ScrubTime = FFrameRate::Snap(ScrubTime, GetTickResolution(), GetDisplayRate());
}
}
if (Sequencer->GetSequencerSettings()->GetSnapPlayTimeToKeys())
{
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 4044339) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3947021 by Max.Chen Sequencer: Don't preserve root component when copying object properties. A spawnable empty actor, has a root component that is generated by the empty actor factory. If the object template's root component is preserved when copying from the spawnable empty actor, the root component will not be copied over. Therefore, we need to NOT preserve the root component when copying object properties. #jira UE-55825 Change 3947366 by Max.Preussner WmfMedia: Better log output Change 3947367 by Max.Preussner MfMedia: Better detection of compressed format properties on Windows Change 3949102 by Max.Chen Sequencer: Remove SequenceActorTag when converting to possessable. #jira UE-56206 Change 3949207 by andrew.porter EngineTest: Set the screenshot nodes resolution to 1280x720 Change 3949404 by Max.Chen Sequencer: More informative tooltip for "Rerun Construction Scripts" option. It now says "Rerun construction scripts every frame on actors that have 'Rerun Construction Script in Sequencer' enabled in their class settings". Change 3950067 by Matt.Hoffman Renamed UAutomatedLevelSequenceCapture's StartFrame and EndFrame to CustomStartFrame/CustomEndFrame to reflect that it is user-overriden. This will also resolve upgrade issues due to the variable datatype changing. #jira UE-56189 Change 3950193 by JohnHenry.Carawon Updating my latest MovieRendering test content. Change 3950757 by JohnHenry.Carawon More updates to MovieRendering test content Change 3952059 by Max.Chen Resave LevelVisibility_SubLevels to fix data loss conversion warning of OpacityMaskConstant #jira UE-56086 Change 3952283 by Max.Chen Sequencer: Disable dropping level sequence assets as spawnables. #jira UE-56120 Change 3952422 by Max.Chen Sequence Recorder: Add button to record from the current player. #jira UE-55942 Change 3952987 by JohnHenry.Carawon MovieRendering Test Content - Fixing camera bindings and changing the override binding actor Change 3953823 by Mike.Zyracki Fix for Bad FBX Import Tangents not scaled by frame rate. After looking at this again it seems that a set of MovieScene:: overiddes for the channel traits wasn't set correctly, so use the ADL idiom to use MovieScene, which can then call Optimize in the correct namespace. With this we can now correctly use the passed in tolerance. There was also a redundant set of Optimize calls so that it could happen twice so removed them, and needed an extra check in the float channel Optimize. Also since we need to set auto tangents no matter if we optimize we don't set that parameter(though leave it since it's used by context menu key reduction). Finally fixed speed issue with trajectories caused by calculating way too many substeps. Reverted back to a time based step size for consistency. #jira UE-56193 Change 3954317 by Matt.Hoffman Adding a key to the last frame of a section no longer causes a crash. Keys can already be moved to be on the last frame of a section so now you can just add a key there directly. #jira UE-56255 Change 3954326 by Matt.Hoffman Dilating a section that is only infinite on one side no longer causes a crash. #jira UE-56260 Change 3954486 by Max.Chen PR #4580: Exposes IsReversed() from UMovieSceneSequencePlayer (Contributed by alanedwardes) Change 3955238 by Max.Preussner Messaging: Enabled delayed message routing https://github.com/EpicGames/UnrealEngine/pull/4574 #jira UE-56247 Change 3955901 by Max.Preussner MediaFrameworkTest: Added developer test for overriding desired media player plug-in at runtime. Change 3955922 by Andrew.Porter QAGame: Updating movie rendering content in dev folder Change 3956004 by andrew.porter QAGame: Adding MPC track to movie rendering test content Change 3956510 by Max.Chen Sequencer: Fix fbx camera import of static properties so that they are imported before default tracks are created. Otherwise, the default tracks inherit the default properties of the camera, rather than the values from the fbx. #jira UE-56311 Change 3957613 by Max.Preussner MediaUtils: Added code documentation to media player facade Change 3958005 by Max.Preussner MediaUtils: Added method to get number of sinks Change 3958934 by Max.Chen Sequencer: Fix keys getting added and sequence getting erroneously re-evaluated when auto key is off. Only apply defaults if there are no keys. Only modify the movie scene section before creating keys or setting defaults. #jira UE-55903 Change 3959687 by Andrew.Rodham Sequencer: Fixed visibility track external values being inverted #jira UE-56324 Change 3960507 by Max.Preussner Core: Fixed incorrect rounding in FMath::DivideAndRoundNearest Change 3962047 by JohnHenry.Carawon MovieRendering Test Content Changes: - Add Lightmass Importance Volumes to sublevel to fix warnings - Rebuilt Lighting - Add a third sequence for Gamut testing - Resaved the sound master.uasset to fix warning Change 3962211 by Mike.Zyracki Add Frame Numbers to selected animation sections. Added MapTimeToAnimation to MovieSceneSkeletalAnimation so that we could get it from the Skeleton Animation track Editor. Since the thickness of the frame line can change based upon frame rate and zoom we need to calculate it similarly to how the time slider controller does it. Those calculations were private so we had to expose FScrubRangeToScreen and GetScubberPixelRange from the TimeSliderController. Also needed to know if the section itself was selected so added a bIsSelected flag to the section Painter. Also fixed a bug where you couldn't add a section if other sections existed at different times in MovieScenePropertyTrack and could crash due to the check(). #jira UESEQ-395 Change 3962497 by Max.Preussner Core: Added new string formatting argument to FTimespan Change 3963662 by Max.Chen CineCamera: Flip VistaVision width and height. Change 3963731 by Max.Preussner MediaCompositing: Implemented sequence recording support for media track Change 3964195 by Andrew.Rodham Sequencer: Set inverted property correctly for newly created visibility track sections - Also clamp evaluation for key editors to the bounds of the section so we're not displaying values outside of the section bounds when the cursor is not on the bounds #jira UE-56324 #coderevew Max.Chen Change 3964196 by Andrew.Rodham Sequencer: Fixed crash when attempting to render sections that resulted in a negative intersection with the view range Change 3964275 by Andrew.Rodham Sequencer: Fixed MovieScene::ClampToDiscreteRange for infinite range bounds Change 3964364 by Andrew.Rodham Curve Editor: Reduce minimum vertical view range when zooming to fit Change 3965091 by Max.Chen Sequencer Recorder: Refresh next sequence if empty when starting a recording, otherwise, use existing name. #jira UE-56469 Change 3965148 by Max.Chen Sequence Recorder: Move Record to Possessable to "Actor Recording" group Change 3965162 by Max.Chen Sequence Recorder: Always break out of immersive mode when done recording, even when stopping recording during countdown. #jira UE-56407 Change 3965214 by Max.Preussner QAGame: Enabled ImagePlate plug-in Change 3965574 by Max.Preussner SimpleComposure: Reorganized & upgraded content to work with new Media Track #jira UE-56488 Change 3965651 by Max.Preussner MediaCompositing: Ignoring seek-on-open if media not seekable Change 3966075 by Christina.TempelaarL Sequencer: Added Final Cut Pro 7 XML Export functionality #jira UESEQ-358 Change 3966087 by Matt.Hoffman Adding a single key to the Particle Toggle track now makes an infinite range section that is displayed in the UI. #jira UE-56295 Change 3966547 by Andrew.Rodham Sequencer: Fixed rounding errors when drawing the section background on boolean sections - Logic was using time in sectonds which caused rounding errors on evaluation and flickering red/green stripes when dragging keys around #jira UE-56324 Change 3966563 by Andrew.Rodham Curve Editor: Key editor interface improvements - SKeyEditInterface has a few problems - it does not update in real time when editing properties, and does not support multi-edit which makes it unsuitable for use with the curve editor - We now take a different approach for editing keys by gathering a set of proxy UObjects for each key that is currently selected. These objects are added as top level objects to the details panel which means they support multi edit as you'd expect from any other details panel in the editor. - Proxy objects are updated every tick for the curve editor if they implement the ICurveEditorKeyProxy interface, which allows them to refresh their current value. - Ideally, the same mechanisms would be used in the main sequence interface, and we would be generating the proxy classes at runtime based on the key value type, but that work remains a separate task from this initial offering. #jira UE-56165 Change 3966564 by Andrew.Rodham Curve Editor: Expand to frame when adding or moving keys in the curve editor Change 3967051 by andrew.porter MediaFrameworkTest: Set the CameraPlayer_Video texture to auto clear Change 3967141 by Andrew.Rodham Sequencer: Keep track of spawned objects that have been modified and only re-save such object's default spawnable state on destruction - Now that we're taking this approach, I've remove serveral redundant bits of functionality in the spawn register such as making some spawnables read-only, and the PreSave binding for Sequencer. - We now hook into all object pre-saves to make sure we handle the case where the sequences are saved through the content browser or elsewhere. #jira UE-47686 Change 3967170 by Andrew.Rodham Sequencer: Added the ability to possess anim instances as object bindings - This allows full and direct animation of properties on UAnimInstance, and animation blueprints - Object Bindings are made by first possessing a skeletal mesh component, then choosing the + Add button where its anim instance will be listed - Added a new function to UMovieSceneSequence to gather previously cached objects that should now be invalidated. Anim instances will be re-resolved if a new UAnimInstance is assigned to USkeletalMeshComponent::GetAnimInstance. - ObjectBindingIDs for anim instances are just represented by an entry in a set of GUIDs. We only ever resolve such bindings through USkeletalMeshComponent::GetAnimInstance. - Only currently supported on LevelSequences #jira UE-56132 Change 3967195 by Max.Preussner Core: Updated TRangeSet to use TCallTraits Change 3967345 by JohnHenry.Carawon Test Content Changes - first iteration of spacing out the examples in the shots. Change 3967572 by Max.Chen Sequencer: Fix setting PreviousPlayEvalPosition until after we've tested whether it's set. #jira UE-56518 Change 3967750 by Max.Chen Audio: Set duration based on number of input channels, rather than number of channels to serialize. This fixes an issue where audio split into 2 channels is set to a duration that's twice as long. #jira UE-56430 Change 3967836 by Max.Chen Sequencer: Allow for animating array elements within ustruct properties #jira UE-55887 Change 3968506 by Matt.Hoffman Fixed ambiguous conversions for seconds and frames being overriden by ambiguous conversion to Timecode (in frames). Change 3968748 by Max.Chen Sequencer: Make the event properties submenu widget larger. #jira UE-55557 Change 3968862 by Max.Chen Sequencer: Recursive expansion when shift is down #jira UE-52139 #pr 4194 Change 3968863 by Max.Chen Sequencer: Bind rename command to selected track so that F2 shortcut start renaming #jira UE-52139 #pr 4194 Change 3968872 by Max.Chen Sequencer: Rekey the selected key at the current time. #jira UESEQ-396 Change 3968938 by Max.Chen Cine Camera: Add option to toggle the behavior of locking the rail mount to the orientation of the spline. By default, the option is off, no change in behavior. #jira UE-55815 Change 3968958 by Andrew.Rodham Sequencer: Consider vertical position when hittesting keys #jira UE-56256 Change 3969643 by Max.Preussner Core: Rounding timespans created from double values towards nearest ticks Change 3969646 by Max.Preussner MediaUtils: Implemented timeout mechanism for block-on-fetch feature Change 3969776 by Mike.Zyracki Added Skip Anim Notifiers Toggle per what was in Matinee. Investigated the Enable Root Motion toggle as also discussed but it's implementation is directly contained by the animation asset and unlike animation notifies there seems to be no exposure to interactively disable it during a playback tick. Note if we are generating thumbnails we still automtically disable notifies in the editor to avoid annoying noise playback. Note that if Enable Root Motion/Root locked is specified in the animation asset it does correctly effect the Sequencer. #jira UESEQ-399 Change 3969835 by Matt.Hoffman Playback Range and Selection Range use unified logic for adding themselves as potential snap locations which properly handles inclusive/exclusive bounds. This resolves an issue where having an unset selection range caused a potential snap location to be added on frame 0 and 1 (internal resolution) which caused a misalignment when placing objects near frame 0. This also removes the one frame offset on setting Selection Range to bring behavior inline with other ranges. #jira UE-55420 Change 3969885 by Max.Preussner MediaAssets: Don't register media player CDO with media ticker Change 3971129 by Andrew.Rodham Sequencer: Fixed UMovieSceneSequencePlayer::GotToEndAndStop() not taking into account for start time This is a remnant from when the times were always specified in 0-duration space, rather than actual sequence times. Change 3972056 by JohnHenry.Carawon More updates to Test Content. I continued spacing out the examples in the sequence so that they have a consistent number of frames between each example and during the start/end of the example. Also removed the Marcie sublevel. Change 3972066 by Andrew.Porter MediaFrameworkTest: Setting Marcie folder to be never cooked in package settings Change 3972675 by Matt.Hoffman Splitting Subsequence Sections no longer sets an incorrect playback range on the subsequence when the subsequence has a different internal resolution than the owning sequence. #jira UE-55453 Change 3973376 by Max.Preussner ImgMedia: Zero is the only valid video track for image sequences Change 3973489 by Max.Preussner Launch: Build rules cleanup pass - don't use Media, MediaUtils on server apps - don't link against Media (include-only dependency) - don't include from MediaAssets (dynamic load only) Change 3973760 by Max.Preussner MediaUtils: Moved AppMediaTimeSource implementation into its own file; added logging Change 3973765 by Max.Preussner ImgMedia: Disallowing seek beyond media length Change 3973855 by Max.Preussner MediaFrameworkTest: Updated developer test content Change 3973858 by Max.Preussner MediaCompositing: Blocking on media player time instead of media sample time (the former may not be hit in the current frame) Change 3974988 by Max.Chen Sequencer: Fix trim left so that it also sets the start offset for audio and skeletal animation sections. #jira UE-57015 Change 3976101 by Matt.Hoffman Sequencer will now focus the scroll view on newly created items. #jira UE-56492 Change 3976203 by Max.Chen Property Editor: Add DetailsViewArgs for ColumnWidth. Defaults to 0.65f, no change in existing behavior. Change 3976205 by Max.Chen Sequencer: Set better column widths for sequencer. #jira UE-55557 Change 3976206 by Max.Chen Sequencer: Added menu category for import/export Change 3976265 by Matt.Hoffman Tracks within Object Binding Nodes will now sort using the old behavior so that components are added above other track types. #jira UE-56473 Change 3976901 by Max.Chen Sequencer: Add event names to event track section #jira UESEQ-353 Change 3977878 by Max.Preussner Media: Moved media framework ticking stats into Media module Change 3977982 by Max.Chen Sequencer: Add Edit->Reset section length to duration of source (ie. audio, skeletal animation, shot length) Added MovieSceneSection::GetDefaultDuration and MovieScene::HasDefaultDuration #jira UESEQ-392 Change 3977994 by Max.Preussner Media: Fetching and rendering media samples before viewports are rendered (to ensure frame sync for in-level media playback) #jira UE-53975 Change 3978188 by Matt.Hoffman Easing Curves are now clipped by the sequence's PlayRange when testing against an infinite section. This causes blended sequences to finish their blend when the section starts/ends instead of always using 25% of the total section length to determine default blend range. #jira UE-56362 Change 3978676 by Max.Preussner MediaCompositing: Fixed first frame of rendered out media track missing #jira UE-53975 Change 3978684 by Max.Preussner MediaCompositing: Enabled media track frame sync feature #jira UE-53975 Change 3980026 by Matt.Hoffman Keys can be selected on folded out sections (such as an audio track expanded to show volume and pitch) again. #jira UE-57169 Change 3981614 by Max.Preussner MediaUtils: Added missing subtitle sample queue flush Change 3982311 by Max.Preussner MediaCompositing: Added safeguard for zero length media sources Change 3982389 by andrew.porter QAGame: Adding media track test content into FrameAccuracySubscene Change 3983661 by Max.Chen Sequencer: Add level name to spawn a spawnable into. Add sublevel menu option to set the level #jira UESEQ-390 Change 3983712 by Andrew.Rodham Sequencer: Purge legacy blueprint spawnables from LevelSequence packages #tests Ran a preflight for cooking fortnite, ocean and Orion. Only orion shows up this edge case, and will require a re-save of the EndCines level #jira UE-39173 Change 3983787 by Max.Preussner MediaCompositing: Moved compile time switch for block-on-fetch into media player facade Change 3983812 by Andrew.Rodham Sequencer: Exposed default level sequence instance data to blueprints Change 3984373 by Max.Preussner Media: Added API for quering whether player plug-in supports block on fetch Block on fetch allows Sequencer and other systems to block the game thread until a desired video frame has been decoded. Change 3984670 by JohnHenry.Carawon Movie Rendering Test Content progress. Saving the state of the content. There is a bug where things got replaced with particle emitters and I think it was because I tried to copy paste an animation track into a separate skeletal mesh track. Change 3985097 by Max.Chen Sequencer: Rename Reset to AutoSize Change GetAutoSizeDuration to return TOptional<FFrameTime> #jira UESEQ-392 Change 3986043 by Max.Chen Sequencer: Fix crash when attach/path duration is less than 0. #jira UE-57310 Change 3986373 by Max.Chen Sequencer: Add support for deleting tracks and channels which equates to setting the channel mask. #jira UE-52951 Change 3986375 by Max.Chen Sequencer: Add Create Pose Asset to skeletal animation section. This allows animators to blend animations in sequencer and create new pose assets from them. #jira UESEQ-408 Change 3986796 by Andrew.Rodham Sequencer: Fixed stale object references remaining in ULevelSequence::BindingReferences when using convert to spawnable/possessable - We used to convert objects by creating a new binding, then re-assigning its GUID, which meant we didn't have to do any further object fixup, but the code to achieve this was confusing and led to a vulnerability where object references would not be cleaned up correctly due to the newly created possessable essentially being a temporary object that's immediately thrown away. - To address this, there is now a function for porting all the contents of one object binding to another, and handles the correct fixup required for parent/child object bindings for both spawnables and possessables. - Also added codepath to remove any stale object references from the level sequence reference map on PostLoad (this piggy-backs off the PurgeLegacyBlueprints object version which is close close enough to this change to be identical) #tests Verified that existing sequences with stale references get cleaned up on load. Verified that repreatedly converting from spawnable<->possessable cleans up references correctly. Change 3987807 by JohnHenry.Carawon Updates to the MovieRendering Test Content. - Fixed the spawnable actors that were overwritten - Shortend the Lighting example and combined the Intensity and Color tracks - Organized the Sequence and WorldOutliner to group the examples. Change 3988151 by Max.Chen Cine Camera: Enable keying the "Enable Look at Tracking" toggle. Change 3988880 by Max.Chen Sequencer: Support enter to add asset for all sequencer track editors that have asset pickers. #jira UE-57367 Change 3988953 by Max.Chen Sequencer: Make the track color picker focusable so that it will close when you click away or lose focus. #jira UE-57210 Change 3988962 by Max.Chen MovieSceneCapture: Fix EDL export so that it takes into account movie scene frame resolution and desired frame rate. #jira UE-57365 Change 3988964 by Max.Chen Movie Scene Capture: Clarified tooltip for bRelativeFrameNumbers. If you specify custom start/end frames for the recording, they will be relative to the playback range. #jira UE-57308 Change 3989442 by Max.Chen Fix CIS Change 3991548 by Matt.Hoffman Dragging the time slider no longer causes the time slider to ignore snap-to-interval with "Snap to Keys While Scrubbing" when no keys are in range. #jira UE-57417 Change 3991598 by Matt.Hoffman Snap to Key while scrubbing now mirrors the behavior of "jump to next key". When there are no tracks selected it snaps to all keys and when there are tracks selected it snaps to only keys from that track. This also resolves an issue where deleting an object did not remove it from the Sequencer's selection. Undoing a delete already doesn't seem to restore your selection, so removing it from your selection shouldn't change that behavior. #jira UE-57417 Change 3991603 by Max.Chen Sequencer: Disable EditAnywhere for some section properties #jira UE-53530 Change 3992240 by Max.Preussner MediaAssets: Implemented dynamic audio sample rate adjustment based on audio/media clock drift #jira FORT-70638 Change 3992911 by Andrew.Rodham Sequencer: Fixed saving spawnable state using the wrong spawned object - We now track the object binding ID so that we can apply the spawned object to the correct spawnable when the asset is saved #jira UE-57353 Change 3992914 by Max.Chen Movie Scene Capture: Fix compression quality not being set. The compression interface wasn't being found through query interface, so no compression was being set. Reworked finding it through the output pins. Tested running various compression values. #jira-UE-55488 Change 3992919 by Max.Chen Sequencer: Convert to possessable now uses object template instead of copying properties (ie. see LevelSequenceActorSpawner). This fixes MIDs getting lost when converting to spawnable and back to possessable. #jira UE-52400 Change 3993184 by Max.Chen Sequencer: Don't show +Transform/+Path/+Attach track if the actor has the "Mobility" property hidden. Set the Landscape, LandscapeProxy and InstancedFoliage "Mobility" property to be hidden since it is static is not supposed to be dynamically movable. #jira UE-56347 Change 3993238 by Max.Chen Sequencer: Test for hidden mobility in creating keys as well. Refactored to HasHiddenMobility() #jira UE-56347 Change 3993978 by Max.Chen Cine Camera: Enable keying the "Enable Look at Tracking" toggle. #jira UE-57489 Change 3994039 by Max.Chen Landscape: Add Mobility to hidecategories on landscape component #jira UE-56347 Change 3994626 by JohnHenry.Carawon Updated Movie Rendering Test Content. - Fixed the overridden spawnables to their proper object types. Change 3994653 by Christina.TempelaarL Sequencer: Added Final Cut Pro 7 XML Import functionality, improved Export functionality #jira UESEQ-358 Change 3995609 by Max.Chen UMG: Add support for 2d transform mask (translation, rotation, scale, shear) #jira UE-52951 Change 3995778 by JohnHenry.Carawon Movie Rendering Test Content Updates - Adjusted Lights example - Adjusted Camera example - Added Marcie sublevel back in Change 3995942 by JohnHenry.Carawon QAGame: Moving Movie Rendering test content from Developer folder to Sequencer folder Also adjusted level visibility, lights and camera example. Change 3995993 by Christina.TempelaarL Sequencer: FCPXML Export updates - only export sections if in playback range and media exists, warn if media does not exist. Other updates - removed unused methods and variables, fixed message context naming to be more accurate #jira UESEQ-358 Change 3996595 by andrew.porter QAGame: Updating Marcie content in TrackEvaluation level to use Image Plate Change 3996614 by andrew.porter QAGame: Adding color test sequence to the sublevel Change 3996643 by Max.Chen Sequencer: Fix fbx animation export - rotation and scale channels were flipped. #jira UE-57509 #jira UE-57512 #jira UE-57514 Change 3996652 by Max.Preussner Messaging: Fixed delayed messaging using incorrect current time after message router sleep Based on https://github.com/EpicGames/UnrealEngine/pull/4601 Change 3996801 by Max.Chen Sequencer: Fix folder active state for non key area sections. Look at track node sections as well as key areas. #jira UE-57550 Change 3997098 by Matt.Hoffman Cleaned up some remaining ToDo's in STimeRange. Change 3998339 by Max.Preussner Sockets: Added documentation for socket receive functions Change 3998359 by Max.Preussner MediaUtils: Started to implement media recorder helper class Currently only supports BGRA frames in CPU memory. Supporting other formats and buffer types will require conversions on render-thread. I recommend refactoring out the existing conversion code in FMediaTextureResource into a reusable helper class in the MediaUtils module. This should be a good starting point though. Change 3998417 by Matt.Hoffman Keys and Sections can now be moved at the same time inside of Sequencer. Keys can now snap to Sections (and vice versa) instead of just to other Keys. Sections can now be duplicated like keys can. #jira UE-56995 Change 3998427 by JohnHenry.Carawon QAGame: Updating test content for the Movie Rendering feature. - Added an auto activate particle to the beginning of the sequence (it's not part of the sequence at all) - Added an event receiver blueprint to the Events example - Added a particle emitter to both sublevels - Added a camera cut to the end that switches to a separate camera - The camera zoom in, focus and Look At sections are all separate (not overlapping in the sequence) - Added a second actor for the camera Look At - Added a Visibility section for the Actor Hidden In Game track that has possessable and spawnable cube and light Change 3998537 by Max.Chen Sequence Recorder: Restore immersive mode when stopping the sequence even if not in PIE. #jira UE-56407 Change 3999809 by Matt.Hoffman Removed the "Go To" box from Sequencer and instead placed the current time as an always visible control. The previous shortcut (Ctrl + G) now focuses the new widget directly. #jira UESEQ-376 Change 4000543 by Christina.TempelaarL Sequencer: Moving editor-only code from runtime module MovieSceneCapture to editor module MovieSceneTools. Moved EDL and FCP XML exporters as well as Automated Level Scene Capture. #jira UESEQ-358 Change 4000706 by Matt.Hoffman Entering multiple time strings without a number no longer crashes Sequencer. #jira UE-57672 Change 4001051 by andrew.porter MediaFrameworkTest: Fixing up some image sources pointing to the wrong location Change 4001191 by andrew.porter QAGame: Adding some quick EDL/XML test content to dev folder Change 4001243 by Max.Chen Sequencer: Fix import EDL out of range. #jira UE-57665 Change 4001856 by Matt.Hoffman Selecting keys and sections at the same time now also works with animation and audio sections. #jira UE-57716 Change 4002021 by Max.Chen Sequence Recorder: Fix sequence name incrementing. If external recording sets the sequence name, use it. Otherwise, use the recording name from the recording group or the recording settings. #jira UE-57712 Change 4002618 by Max.Chen Viewport: Update the look at location when updating to a locked actor. This fixes an issue so that popping the view out of a locked actor and manipulating the view will not jump to the previous look at location. #jira UE-57725 Change 4002979 by Matt.Hoffman Fixes several edge cases with the end time range that was causing confusion about what the last frame of the sequence was. Dragging the End Frame slider will no longer be off by one tick and jumping to the end via the UI controls now properly respects snapping and stays inside the play range instead of falling outside of it. Overall behavior does not change though and End Frame should be considered an exclusive frame so that frames 0-150 results in a 150 frame long animation (which is frames 0-149). #jira UE-56367 Change 4003185 by Matt.Hoffman Fixed a regression that prevented a section from being dragged upwards past row 0 which normally resulted in all other rows moving down. #jira UE-57717 Change 4003193 by JohnHenry.Carawon QAGame: Updates to test content - Shortened frames between the examples from 95 to 30 - Separated camera setting tracks - Lighting example now switches directly from constant red - green - blue Change 4003369 by Max.Chen Sequence Recorder: Refresh next sequence regardless of internally stored sequence name. #jira UE-55757 Change 4003586 by JohnHenry.Carawon QAGame: Test Content Updates - Level Visibility track now ends to that the levels are not visible when we move to the next example - Shortened camera section, removed Z tranform so that we just move left to right and shortened the overall length Change 4004414 by Max.Chen Movie Scene Capture: Fix regression where rendering with shot handles would only render the first shot. 3972166 addressed an issue where an extra frame would be rendered by finalizing right when the end frame was reached. This was hit on the first shot end frame, so instead, do this only for when the last shot is being rendered. #jira UE-57314 Change 4004765 by Christina.TempelaarL Sequencer: Fixed bugs in FCP XML import/export. - Export: fixed sequence default resolution. - Export: fixed XML files with no shots. - Export: all sections clipped to playback range. - Export: fixed incorrect section start/end times due to precision issues. - Import: fixed incorrectly adding cinematic tracks. - Import: fixed bugs creating new sections. #jira UE-57660 #jira UE-57662 #jira UE-57655 #jira UE-57761 Change 4005119 by Max.Chen Sequencer: Export/import at play rate Change 4005195 by Max.Chen UMG: Finish UMG evaluation on stop. Added object version so that existing UMG assets do not change. #tests - Newly created UMG animation with sections set to restore state now return to their original state. Existing UMG animations with sections set to restore state do not return to their original state. #jira UE-52285 Change 4005377 by Michael.Karambelas QAGame: Moving TM-SequenceRecorder and related content out of my developer folder and into /Content/Sequencer/SequencerRecorder/* Change 4005417 by Michael.Karambelas QAGame: Fixed a BP compiler in the Level Blueprint of TM-SequencerRecorder. Change 4005634 by Michael.Karambelas QAGame: Fix up missing content and broken level sequence in TM-SequenceRecorder after move Change 4006324 by Max.Chen Sequencer: Reset if the focused movie scene is null. This fixes a crash if the user is focused in on a shot and undo takes the user past the point of where the shot was created. #jira UE-57752 #jira UE-47661 Change 4007006 by Max.Chen Sequencer: Fix FindAvailableRowIndex so that it returns the max row index (and not +1) since it doesn't find any conflicting rows. #jira UE-57717 Change 4007907 by Max.Chen Sequencer: Fix crash if there's no animation Change 4007948 by andrew.porter QAGame: added test content to dev folder for Record World Space Change 4008636 by Max.Chen Sequencer: Fix import fbx not setting values properly and creating additional cameras unncessarily. #jira UE-57864 Change 4008759 by Max.Chen Sequencer: Follow up fix for import cameras #jira UE-57864 Change 4009994 by Matt.Hoffman Dragging the left or right handles of the Time Range slider in Sequencer will now zoom your view in on the current center of the screen. This prevents the view from being translating as you tried to zoom in which caused issues at high zoom levels. #jira UESEQ-407 Change 4010169 by Christina.TempelaarL Sequencer: FCP XML fixes. - FCP XML export - no longer clips to playback range - FCP XML and EDL export - fixed missing last frame of some sections after exporting to Premiere. - Automated level capture, EDL export - use RoundToFrame instead of FloorToFrame for computing section start/end frames after frame rate conversion. #jira UE-57802 - partial fix, movie scene capture still needs to render full section rather than clip against playback. Change 4010287 by Mike.Zyracki Add quaternion interpolation option to UMovieScene3DTransformSection. This mimics how Matinee used to work by bascially finding the keys between a time and interpolating the angles as quat's between them. As noted in the code the algorithm needs to handle the case when the x,y,z Rotation keys all aren't at the same time which was not handled by Matinee. Also like Matinee, when in quaternion interoplation mode, we need to not display the function cuves since the interpolated and key values are now all different. (Would like to show them but that's a bigger refactor for perhaps just a one off needed by quaternions). I added a virtual function UMovieSceneSection::ShowCurveForChannel for this since it needs to be dynamic, not on construction of IKeyArea's, and could be useful for other sections. I could though move the method to just UMovieScene3DTransformSection and do a cast instead. Looked into doing a unit test for this but after talking with Andrew P we will work on doign an automated test in EngineQA since that will provide more coverage. Will also add a video the jira. #jira UESEQ-403 Change 4010713 by Mike.Zyracki Added option to key a group of transform channels instead of just the changed channel, or all of them. This is useful for quaternion interpolations where you want rotation keys to be aligned but also useful for other workflows like animating FK Pose to Pose. Change 4010715 by Andrew.Porter MediaFrameworkTest: Setting LogMediaUtils logging from VeryVerbose to Verbose to cut back on the spam Change 4013048 by Max.Chen Sequencer: Fix play/jump status. Update the player status for all position methods (Scrub, Jump, Play). Jump means Stopped. Correctly use PlayTo or JumpTo based on position method. In PlayInternal, JumpTo with the Stopped state (rather than playing state). #jira UE-57844 Change 4013479 by andrew.porter QAGame: Added content in TM-SequenceRecorder to test recording a property on a Cine Camera Component; Press 3 to trigger manual focus distance to increment on a timer Change 4014323 by Max.Chen Sequencer: Fix SetPlaybackPosition so that it jumps or plays based on playback status. #jira UE-57844 Change 4015888 by Max.Chen Sequencer: Fix crash on paste. UMovieSceneSections were gathered from the track node's track. For sub track mode, we want to gather only those sections on that track node row. #jira UE-57951 Change 4015943 by Max.Chen Sequencer: Fix moving shots up when the mouse pos goes outside of the virtual track area. #jira UE-57717 Change 4016293 by Max.Chen Sequencer: Fix relative frame playback end frame calculation so that custom start/end frames remain in the space of the sequence and are not relative. #jira UE-57308 Change 4017075 by Andrew.Rodham Sequencer: Corrected initial evaluation range used when calling UMovieSceneSequencPlayer::Play() Change 4017270 by Christina.TempelaarL Sequencer: FCPXML importer and movie scene capture - Use CeilToFrame when converting section start/end frame times to frame numbers in FCPXML and movie scene capture. - Added support for clip metadata in FCPXML. - Got rid of redundant TokenizedError message class, no longer needed now that FCPXML is in editor directory. - Added log messages currently commented out due to exception, still testing. #UESEQ-358 Change 4018370 by Christina.TempelaarL Sequencer: fixed FCPXML log messages regarding sections with start/end not divisible by display rate. #UESEQ-358 Change 4018378 by Christina.TempelaarL Sequencer: fixed error in previous changelist. #UESEQ-358 Change 4019457 by Max.Chen Sequencer: Show event names only when the event track is selected #jira UE-57897 Change 4022806 by Max.Chen Sequencer: Fix crash on movie scene capture dialog shutdown if movie capture wasn't even started. #jira UE-58106 Change 4022894 by Max.Chen Sequence Recorder: Wrap OpenEditorForAssets after sequence recording within GIsEditor #jira UE-58084 Change 4024487 by Max.Chen Sequencer: Add tooltip for quat interpolation #jira UE-58113 Change 4024562 by Max.Chen Sequencer: Change path/attach track sequence binding id to currently focused sequence id so that bindings can be created in subsequences Change 4027414 by JohnHenry.Carawon QAGame: Checking in content that shows a bug with using particles systems and Delay Before Shot Warm Up. Change 4028990 by Max.Chen Sequencer: Fix evaluate sub sequences in isolation. This check was added with the compile on the fly logic. Not sure why it was necessary but it seems like the sub sequence data needs to be updated in order to evaluate sub sequences in isolation. #jira UE-58184 Change 4029004 by Max.Chen Sequencer: Ensure that old binding references are removed when re-assigning actors in sequencer #jira UE-57898 Change 4030997 by JohnHenry.Carawon QAGame: Fixing name of the master sequence Change 4031785 by Michael.Karambelas QAGame: Added an instance of ThirdPerson Run to TM-SequenceRecorder for Record to Possessable test. Change 4035548 by Andrew.Rodham Sequencer: Changed FMovieSceneEvaluationTemplate::TemplateSignature to be a serial number to address non-deterministic cooking issues - This commit is related to the repro steps found in 3914599 and 3934307, both of which have been verified with this new change. - Copy of 4031684 from //Fortnite/Main/... #jira FORT-84852 Change 4036312 by Max.Chen Sequencer: Fix zoom view range so that it uses the passed in InZoomDelta Change 4036318 by Max.Chen Sequencer: Auto size now returns a range and defaults to the channel proxy range so that keyed regions can also be autosized. Change 4036322 by Max.Chen Forgot missing change Change 4036360 by Max.Chen Sequencer: Fix play rate calculation when skeletal animation section play rate changes. Change 4037163 by Mike.Zyracki Weighted Tangent Implementation Tricky thing is that you need to solve a cubic in order to get the bezier weights for the time part of the curve. See https://www.gamedev.net/forums/topic/474094-help-function-curves-for-animation-interpolation/ Maya provides an implementation in it's dev kit but I didn't use it since it was horribly slow and uses an iterative solution to solve the cubic needed. Instead I use an old algorithm (Cardano's method), to solve the cubic which should be much faster. Though relative simple to code from principles I just went ahead and used a version from Graphics Gems 1. I put this cubic solver directly in MovieSceneFloatChannel.cpp, but will need to move it when we support Rich Curve, maybe to FMath:: (which would probalby require some other functions for solving quartics, etc.. for completeness.). Also note we resolve this on every evaluation but dont' need to if the interval the time is evaluating hasn't had any change in values or tangents. So again when we support FRichCurve we can create a Weighted Evaluating class that can hold the cache. Also with the tangent drags I got rid of the Cardinal position that was used to calculate non-weight tangents from the key point and just quickly getting a direction. With weighted tangents we need to use the delta instead (otherwise when moving multiple they would all get the same weight based upon distance to the cardinal point. ) For mixed tangents types what I'm defaulting to non weighted if the interval doesn't match. May need to do weighted instead, not sure. What's left is just FBX import, for tomorrow. #jira UESEQ-76 Change 4037435 by Mike.Zyracki Fix fo build warnings from weighted tangent submission. #trivial Change 4038091 by Michael.Karambelas QAGame: Updated a Sequence Recorder group in TM-SequenceRecorder that had an actor missing the animation. Change 4038374 by Andrew.Rodham Sequencer: Refined scrubber styling for level sequences and actor sequences - Scrubber now shows a block the width of a dsplay rate frame, plus a line for the actual evaluated time. UMG reverts back to the previous styling (no block) - Keys that are outside of the playback range are now drawn with a subdued effect - Tick labels are no longer drawn when directly underneath the scrubber Change 4038490 by Max.Chen Sequencer: Expose tangent weight values in details panel. Change 4038620 by Andrew.Rodham Sequencer: Advanced time panel polish #jira UESEQ-426 Change 4038677 by Max.Chen Movie Scene Capture: Redirector for MovieSceneTools.AutomatedLevelSequenceCapture #jira UE-58248 Change 4039739 by Max.Chen Sequencer: Media track should only be supported by Level Sequence Change 4040024 by JohnHenry.Carawon QAGame: Fix EventReciever and OverrideBinding example The level sequence was set to none so the fix was to set it back to TrackEvaluation_Master. Change 4040610 by Andrew.Rodham Curve Editor: Moved weighted tangent switchers to a single toggle command (CTRL+W) and added an icon #jira 58383 Change 4040882 by Mike.Zyracki Keep broken when turning on weighted #jira UE-58435 Change 4041089 by andrew.porter QAGame: Sequence for Long Tangents bug Change 4041498 by Mike.Zyracki Turn off weighted when going auto to prevent large tangents. Do it both in UI and when doing AutoSetTangents() to really make sure it doesn't happen. #jira UE-58452 Change 4041752 by andrew.porter MediaFrameworkTest: Adding some better logging for setting rates when not supported. Also ignoring commiting URL when there is no text Change 4041896 by Matt.Hoffman The transform dialog box now transforms selected keys and sections, instead of just keys. #jira UE-58265 [CL 4044405 by Max Chen in Main branch]
2018-05-02 10:10:00 -04:00
// SnapTimeToNearestKey will return ScrubTime unmodified if there is no key within range.
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3946692) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3801826 by Max.Chen PR #4304: Level Sequence crash fix - Guarded against dereferencing null componen. (Contributed by DSDambuster) Change 3801828 by Max.Chen PR #4302: Movie Scene Visibility Template unitialised variable, causing random . (Contributed by DSDambuster) Change 3801837 by Max.Chen Sequencer: Delay spawning/construction for convert to possessable. This fixes a bug where property values would be lost when converting back and forth from possessable to spawnable. #jira UE-52400 Change 3801841 by Max.Chen Sequencer: Make spacer nodes not selectable. PR #4194: Improvements to Sequencer (Contributed by projectgheist) #jira UE-53117 #jira UE-52139 Change 3804183 by Max.Preussner MediaAssets: Added missing lock in media sound component Change 3805414 by Max.Preussner MediaAssets: Setting valid GUID when initializing media texture resource Change 3819578 by Max.Chen PR #4370: When enabling the "MovieCapture", do not turn off the Stereo-3D display. (Contributed by yehaike) #jira UE-53647 Change 3823414 by Max.Chen Curve Editor: Lock down the first and last keys in the redundant keys removal range so that they're unaffected. #jira UE-53591 Change 3826406 by Max.Chen Sequencer: Move OnStartedPlaying() to within first update in UpdateTimeCursorPosition(). This fixes an issue where setting the hud/player visibility was getting stomped on later. #jira UE-52772 Change 3827044 by Max.Preussner MediaAssets: Added sprite visualization to media sound component #jira UE-53594 Change 3827988 by Max.Preussner MediaPlayerAssets: Fixed Media Texture is not linked to Media Player when created together #jira UE-53532 Change 3828506 by Max.Preussner MediaPlayerEditor: Added attenuation visualizer for media sound components #jira UE-53594 Change 3832590 by andrew.porter EngineTest: Added a keep state check in Property Animation sequencer test Change 3833053 by andrew.porter EngineTest: Adding Hierarchical Bias test Change 3835683 by andrew.porter EngineTest: Adding UMG Animation screenshot test Change 3836076 by Max.Chen Sequencer: Fix audio volume and pitch multiplier deprecation. Change 3836230 by andrew.porter EngineTest: Adding Sequence Bone Position automation test Change 3836347 by Max.Chen Sequencer: Fixes to shot name parsing. When a shot doesn't contain a shot number, assume, [ShotName]_[TakeNumber]. When duplicating a shot, put the new shot in the same path of the original shot, so that the take numbers will increment properly. #jira UE-51868 Change 3836552 by Max.Chen Sequencer: Sub section now has a takes menu Change 3838094 by Max.Chen UMG: Fix template finish not getting called on stop. This fixes a bug where sections aren't restored when finished. #jira UE-52285 Change 3838708 by Max.Chen Sequencer: Add notification when the blend type is changed. #jira UE-54046 Change 3840295 by Max.Chen Sequencer: Fix copy/paste crash for lights #jira UE-54084 Change 3840957 by Mike.Zyracki Added Show Only Keyable and Show Only Animated to the filter list in the property editor. Added IsPropertyAnimated to IDetailKeyframe Interface which already had support for showing properties which are keyable (which is used for the key icon next to the properties.). Could have created another interface but then would have had to mimic the sequencer binding, releasing also, so this seemed best way. One issue still left is that custom built detail items currently don't store associated properties(usually) and so certain properties, in particulalry transforms, won't show up as keyable or animated. Note this also shows up with the keyable icon not showing up next to transform tracks, and other filters like Show Only Modified not working with transforms/customs. Not sure best way to tackle this. #jira UESEQ-328 Change 3841756 by Max.Chen Sequencer: Fix unbound possessable components when pasting spawnables. #jira UE-54104 Change 3843950 by andrew.porter EngineTest: Renaming LevelStreaming tests/content to LevelVisibility Change 3844082 by Mike.Zyracki Missing file for animated filter in property editor. When finding if a track is animated we need to find it but we can't easily induce the MovieTrack class for any particular property. So we don't set a class for it and just search by it's ID and name. #jira UESEQ-328 Change 3846902 by Max.Preussner ImgMedia: Fixed image media player never finished initialization if loading failed #jira UE-54247 Change 3849820 by Mike.Zyracki Reassigning deleted widgets didn't work since the menu extender mechanism needs a valid UObject in order to perform an operation on it. So to fix we replaced GetObjectBindingContextMenuExtender in WidgetBlueprint with new delegate mechanism (OnBuildCustomContextMenuForGuid) that supports FGuid in addition to UObjects which is needed to handle re-binding deleted widgets. Note that the default sequencer hacks this for replacing deleted actors in SequencerObjectBindingNode to check to see if a LevelSequence is active. We could move to this mechanism there also. #jira UE-53163 Change 3852211 by Max.Chen UMG: Indicate name of the property that is not bound. #jira UE-54350 Change 3854120 by Max.Chen Sequencer: Fix sibling folders being allowed to have the same folder name. #jira UE-54363 Change 3854627 by Max.Chen Sequencer: Step to next/previous key should work for all tracks if there aren't any selected. #jira UESEQ-391 Change 3855825 by andrew.porter EngineTest: Adding animation blending automation test Change 3855950 by andrew.porter EngineTest: Adding correct expected valuues to animation blending test Change 3856237 by Matt.Hoffman UESEQ-336 - Sequencer Track Reordering Adds the ability to re-order Master Tracks, Folders and Object Bindings within sequencer hierarchies (including UMG). Adds the ability to do a one-off sorting of the content under the old sorting behavior if the user wants to reset their layout to how it was under legacy behavior. Modifies SequencerTrackNodes, SequencerFolderNodes and SequencerObjectBindingNodes to handle CanDrop/OnDrop for above, below and ontop of. Fixes a Slate Issue that forcibly expanded a TreeviewRow if an item handled OnDrop. Slate will now only forcibly expand the row if the item says the drop happened ontop of the item, and not above or below it like it previously did. Change 3856503 by andrew.porter EngineTest: Adding automation test for using animation blueprint with blend multi node in sequencer Change 3857875 by Max.Chen Sequencer: Assign the sequence id after the template is compiled. #jira UE-54462 Change 3858344 by Max.Chen Sequencer: Prevent Goto and Transform boxes from overlapping by allowing them to be visible at the same time in an autosized horizontal box. Also, added close button to the goto box. PR #4425: Prevent Goto and Transform boxes from overlapping in Sequencer ... (Contributed by projectgheist) #jira UE-54210 Change 3860566 by andrew.porter MediaFrameworkTest: Set the option to index 0 for the audio and video track list by default Change 3860654 by andrew.porter EngineTest: Enabling Camera Cut + FOV test Change 3860981 by andrew.porter EngineTest: Updating skeletal mesh tests with a delay after set playback position Change 3861256 by Max.Chen Sequencer: Add all bindings if none selected. #jira-54440 Change 3862154 by Andrew.Rodham Added TimeManagement module Change 3862424 by andrew.porter EngineTest: Turned on the test Bone Positions with Blend Multi Node Change 3862573 by andrew.porter EngineTest: Adding test to compare bone positions in a sequence that is blending an animation that is using an AnimBP Change 3865117 by Max.Chen Sequencer: Stop auto scroll on mouse release of movement. #jira UE-31212 Change 3865303 by Max.Chen Sequencer: Add drag and drop transactions #jira UE-54662 Change 3865304 by Max.Chen Sequencer: Fix crash when an actor factory is not found. Change 3865361 by Max.Chen Sequencer: Don't change the camera/shot lock button when popping out of a sequence. #jira UE-54665 Change 3865412 by Max.Chen Sequencer: Determine whether a transform track is for a camera by using the spawned object or template #jira UE-54666 Change 3865685 by Max.Chen Sequencer: Clear autoscrub offset when stopping autoscroll #jira UE-31212 Change 3865886 by Max.Chen Sequence Recorder: Log an error if the number of frames changes while recording. This can happen if the skeleton changes while recording. #jira UE-48715 Change 3866925 by Andrew.Porter MediaFrameworkTest: Changing the current PNG test video image sequence to 1024 x 576 Change 3867705 by andrew.porter QAGame: Adding Audio Sort Sequence to dev folder Change 3867890 by andrew.porter QAGame: Adding a sequence for testing a sorting crash to my dev folder Change 3872628 by Max.Chen Movie Scene Capture: Split delay before warmup into split delay before shot warmup so that there's separate controls for when the movie scene capture warmups up vs. shot boundaries. Change 3873131 by Matt.Hoffman UE-54732 - Crash reordering a folder with a track. This was caused by folders being the only type of track to check if someone was putting a parent track into a child track. Object Binding tracks and Tracks now check as well so that you can't use the above/below drop targets to add parents as children. This also fixed a typo in the localization keys. #jira UE-54732 Change 3873301 by Mike.Zyracki Added ability to support continous euler angle changes when changing rotations, in particularly with the rotation gizmo's. To do this we effectively added a form an of 'euler filter'(https://en.wikipedia.org/wiki/Euler_filter) to find the closest euler angle to the current euler angle. Three functions were added to FRotator to make this possible, one to get the euler angle that's has the same rotation as it, one to get the difference between two euler angles via Manhattan distance and a third using the previous two to choose a Rotator value that's closest to it. We then use these functions before calling UComponent::SetRelativeRotation to make sure we use the correct Euler after the Quat conversion. We also no longer limit(bound) the euler angles to -180,180, which is obviously necessary to avoid flips. I also changed how we caluclate yaw and roll when pitch is -90 or 90 to make it the standard approach of zeroing out roll and just setting yaw. Main reasons are the previous implementation had precision issues so things like 180, 90, -180 would show up due to numbers being nearly zero but negative,(this would break any smooth interpolations), and this facilitates having a 'gimbal' rotation mode (like Maya, Blender etc..) if we ever want that also. If needed we could keep the previous implementation but would need to add some FMath::IsNearlyZero checks, with less performance. Note we only do this special filtering when applying delta's to actors or components in the editors, which then call UComponent::SetRelativeRotationExact, which is a new function to foces the RelativeRotation to be equal to the new rotation. This allows us to store un-nomalized Rotators at the cost that the RotationCache may be broken. We didn't change any of the other UComponent functions that set rotations (via Quats or Transforms) so they will still be bounded and unwound. In SetInternalWorldLocationAndRotation we only set the rotation if the rotation has changed, which fixes the rotation getting changed and re-normalized if just translate happens. In TransformTrackEditor, we correclty use the bUndwing flag and in MovieScene3DTransformSection there was an un-needed winding check there, it will be unwound earlier if needed, which happens if Sequence Recording is happening. Max we should talk about what to do about this . Note the euler angle drag via the widget is still bound to 0-360. I think we should just unbound that now since the rotations value are now unbound. This review now includes fixes suggested by Zak. #jira UE-UE-22228 Change 3873483 by Matt.Hoffman Sequencer Tracks can now be inserted above the spacer at the bottom of the tree. #jira UE-54706 Change 3873899 by Max.Chen Sequencer: Add section selection throbbing Change 3873908 by Max.Chen Movie Scene Capture: Added logging per frame Change 3873924 by Matt.Hoffman Adds the ability to store Sequence Recorder setups into profiles that stay with the map and can be re-loaded later. Profiles store the Actor Recordings so the settings for each actor should carry with them. #jira UESEQ-339 Change 3874726 by Matt.Hoffman Disable drag-and-drop targets on spacers that come between rows in Sequencer. This prevents extra drag/drop targets showing up between each row. #jira UE-54706 Change 3874862 by Matt.Hoffman Audio Track no longer gets reordered when adding sub-audio tracks, as sub-tracks are no longer counted towards the sorting order index when normalizing indexes. #jira UE-54727 Change 3875905 by Matt.Hoffman Disable Fade Track UI if a fade track already exists in the sequence. #jira UESEQ-393 Change 3876163 by Max.Chen Sequencer: Swap the camera object to the camera component's owner if it's not the same. #jira UE-54874 Change 3876971 by Andrew.Porter EngineTest: Moved Media Player Seek test to new folder. Also enabled the test with new ground truth image. Change 3877040 by Max.Chen Cine Camera: Split camera properties to two groups, "Camera Options" and "Camera Settings". The cine camera now hides properties in the "Camera Settings" group so that properties like bConstrainAspectRatio (in the "Camera Options" group) can be visible. #jira UE-54192 Change 3877763 by Max.Chen Curve Editor: Fix curve changed on end drag so that only curves that had keys/tangents that were changed receive notification, otherwise all loaded curves were getting notified that they were changed. #jira UE-54951 Change 3878234 by Matt.Hoffman Disable "Drop Below" targets for Sequencer Tree nodes to prevent a confusing UX issue where dropping underneath a Object Binding Node puts it after the object binding node but the UI looks like it's inserting it inside the Object Binding node. #jira UE-54743 Change 3879359 by Mike.Zyracki If a track is inactive we dim it a bit which seems to be the UE4 way to show inactive or disabled state. We changed the active logic so that all subtracks need to be inactive for the track to also be inactive(instead of all active for active). This conforms to how the active state actually works, e.g if you have two sections and only one is active the track is still active above it. #jira UESEQ-388 Change 3879462 by Max.Chen Sequencer: Allow dragging onto a particular row which would move out any overlapping sections to make space for the newly created section. Newly created sections are now selected and throbbed to draw attention to themselves. #jira UE-54664 Change 3879464 by Max.Chen Sequencer: Fixed overlapping ranges being inserted into the evaluation field during compilation - The issue was that track segments that had been combined with adjacent segments (due to them being identical) would potentially cause a subsequently compiled frame to overlap with a range that had already been inserted into the evaluation field. - The insertion code previously asserted that only minor overlaps were catered for (due to fp rounding errors) and assumed that a supplied range could not entirely contain any other range in the field. - The solution is to supply the insertion time along with the range to know exactly where the data should live in the field, and crop the range to the maximum allowable space between adjacent ranges. #jira UE-54922 Change 3879590 by Matt.Hoffman Items that are now added to the Sequencer via the "+Track" menu will be selected after being added. Items can now be added inside of folders instead of just to the root level. #jira UE-27397 Change 3879612 by Mike.Zyracki Display Nodes with no children are always active. #jira UESEQ-388 Change 3879730 by Matt.Hoffman Sequence Recorder's actor recording groups now remove items from the group when removed via the UI. #jira UESEQ-339 Change 3880256 by Mike.Zyracki Fix issue with inactive display with folders and other track nodes. #jira UESEQ-388 Change 3883491 by Max.Chen Fix issue where tick is skipped due to last ticked pose isn't cleared after AnimInstance changes. Copy from Release-4.19 #jira UE-51323 Change 3883603 by Max.Chen Movie Scene Capture: Add option toggle disable screen percentage. By default this is on (no change in current behavior). #jira UE-51898 Change 3885074 by Max.Preussner MediaCompositing: Resetting media texture & freeing resource on section end; removed dead code Change 3887220 by Max.Preussner MediaCompositing: Defaulted media section duration to 1 sec (since we do not know the actual duration in most cases) Change 3887478 by Matt.Hoffman Sequences now show [Inactive] in their title bars when they're disabled. This helps communicate why a sequence isn't being evaluated. #jira UE-51469 Change 3888985 by Max.Chen Movie Scene Capture: Clamp HDR Compression Quality between 0 and 1. #jira UE-55136 Change 3893519 by Max.Chen Sequence Recorder: Clarified tooltip for bRecordNearbySpawnedActors - spawned actors will still be recorded if they match the ActorFilter. #jira UE-55238 Change 3893546 by Max.Chen Sequence Recorder: If a selected actor already has a recording, add a blank recording. #jira UE-55239 Change 3894044 by Max.Preussner MediaCompositing: Added support for seeking into a media section Change 3894310 by andrew.porter MediaFrameworkTest: Adding Img media sources for 1080 and 2160 ravent test content Change 3894426 by Max.Preussner MediaAssets: Letting media textures with AutoClear retain their clear color when player is reset Change 3895717 by Max.Chen Sequencer: Null checks to prevent crash when saving the default state of a spawnable #jira UE-55304 Change 3897388 by Max.Chen Sequencer: Don't update current time to be within the view range when stepping into a sequence. #jira UE-55322 Change 3897452 by Max.Chen Audio: Fix crash when trying to record audio without any active capture devices. Log warning if the number of input channels is not 1 or 2. #jira UE-55223 Change 3897619 by Max.Preussner MediaCompositing: Removed commented out code Change 3898072 by Max.Chen Sequencer: Override the animation asset in the player state if it doesn't match the animation asset that's being evaluated. #jira UE-55328 Change 3898272 by Max.Preussner MediaPlayerEditor: Made slate brush constants static Change 3898704 by Max.Chen Sequencer: Skip if the binding id's sequence can't be found. #jira UE-55337 Change 3899855 by Max.Preussner MediaCompositingEditor: Added cache state visualization to media track Change 3900300 by Max.Preussner MediaCompositingEditor: Added loop indicators to media sections Change 3900694 by Max.Preussner ImfMedia: Looping cache only when player is looping Change 3900892 by Max.Preussner Stats: Added stats category for media framework Change 3900954 by Max.Preussner MediaCompositing: Don't evaluate at the end of media section Change 3901348 by Max.Preussner Core: Replaced TLruCache autos for better readability Change 3901655 by Max.Preussner ImgMedia: Added more perf stats to EXR reader Change 3901972 by Max.Preussner MediaAssets: Added getter for media player in media sound components Change 3902233 by Max.Preussner MediaAssets: Enabling media textures to receive samples right after player is assigned Change 3902238 by Max.Preussner MediaCompositing: Working around init/shutdown idiosyncracies in sequencer Change 3904045 by Max.Chen Sequencer: Fix copy/paste crash. Only process UMovieSceneCopyableBinding and objects that can be spawned by the movie scene spawn register. #jira UE-55314 Change 3905605 by Max.Chen Sequencer: Restrict spawnables from being created if they have a ClassWithin that UMovieScene is not a child of. #jira UE-55429 Change 3906550 by Max.Chen Sequencer: Add media track icon #jira UE-55480 Change 3907101 by Max.Chen Sequence Recorder: Fix bugs related to not recording a level sequence. There were certain assumptions that creating a level sequence meant that sequence recording was in progress. This is not always the case - the recorders can record animation assets and not create a level sequence. Changed the notion of IsRecording() to having at least one actor recording that is recording. Countdown timer, recording displays, etc should function if IsRecording() and not based on whether a level sequence is created. #jira UE-55485 Change 3907247 by Max.Chen Sequence Recorder: Fix crash not removing PrepareToCleanseEditorObject delegate. Repros when opening sequence recorder, closing it, and then opening or creating a level. Change 3910343 by Max.Preussner Core: Added async helper for executing functions on a given thread pool Change 3910346 by Max.Preussner ImgMedia: Added separate thread pools for loading/decoding and deleting image frames Change 3910829 by Max.Preussner Profiler: Increased visible range of profiler graph Change 3910841 by Max.Preussner MediaCompositing: Displaying asset name instead of full media source path in media section Change 3910870 by Max.Preussner ImgMedia: Using deallocation thread pool only in debug builds Change 3919642 by Max.Chen Sequence Recorder: Clarify active tooltip #jira UE-55661 Change 3919660 by Max.Chen Sequencer: Sequence template source signatures are now also compared to catch the case where a sub-sequence asset has been saved but not modified - The following sequence of events exposes this issue: - Create a master sequence with a single shot that spawns a cube - Add this sequence to a level and set it to auto-play - Save everything and restart - Resave just the inner shot asset without opening it - PIE - The inner shot never spawns its cube because its template was wiped on save, but its signature never changed. Since the master sequence previously didn't check the template source signature, it ends up trying to evaluate an empty template. #jira UE-55626 #jira UE-55490 Change 3921825 by Max.Chen Sequencer: "Run Construction Script in Sequencer" is off by default for blueprints but on for Sequencer. This allows the content author to switch it on for specific blueprints and sequencer will be default, run those with construction scripts enabled. Change 3922232 by Max.Chen Sequence Recorder: Reset countdelay on stop. #jira UE-55755 Change 3922306 by Max.Chen Sequence Recorder: Don't automatically mark transforms to be recorded by sequence recorder. Instead, log a warning if the user toggled it off to warn that the resulting animation might not match gameplay. #jira UE-55758 Change 3922912 by Max.Chen Sequence Recorder: Fix refresh next sequence name #jira UE-55757 Change 3927654 by Max.Chen Movie Scene Capture: Added format mapping for the name of the current camera #jira UE-55769 PR #4537 Change 3927658 by Max.Chen Sequencer: Added fbx property mapping for "FocusDistance" to "FocusSettings.ManualFocusDistance" #jira UE-55782 Change 3932022 by Max.Chen Sequencer: Add import animation track section to next available row index. #jira UE-55892 Change 3933919 by Max.Chen Sequencer: Jump to playback start frame and not 0 to start playback for recording. #jira UE-55933 Change 3934307 by Andrew.Rodham Sequencer: Add template signature that is re-generated every time the base template is regenerated, which invalidates evaluation fields This fixes an issue where the same sequence is instantiated multiple times in a sequence. If the source sequence was saved, its template would be wiped, which would invalidate the template ID When an instance tries to evaluate the master template, it would only invalidate a range in the evaluation field that was the hull of any invalid sub sequences overlapping the current time, potentially leaving invalid data in the evaluation field at positions later (or earlier) on in the sequence When the sub template was re-generated, it receives the same SequenceSignature as it had before (because the sequence hasn't actually changed), which causes the stale evaluation field data to fail the IsDirty check (because the sequence is the same as it thought, but the *template* has changed) This has been addressed be adding a signature to templates themselves, and checking both the template signature and sequence signature as a part of the IsDirty check. This ensures that we regenerate if either the template, or the sequence have changed. #jira UE-55934 Change 3936327 by Andrew.Rodham Sequencer: Removed increment when trimming right UMovieSceneSection::TrimSection already explicity assigns an exclusive bound to the time passed in. The new behavior means we can trim a section to the right, and insert another section without changing the time to create adjacent sections. #jira UE-42652 Change 3936328 by Andrew.Rodham Fixed KeyFrameManipulator assignment operators and copy/move constructors - These types are potentially self-referential so cannot use default constructors/assignment Change 3936330 by Andrew.Rodham Converted UMGSequencePlayer to use frames internally #jira UE-54878 Change 3936726 by Max.Chen Sequencer: Set track node as the parent of the key area node. The key area switcher needs the object binding id from the parent object binding node. Without this, the binding to the external value fails. #jira UE-55931 Change 3936775 by Max.Chen Sequencer: Should stop or loop should compare DurationFrames with Current Time from StartTime. The bug is that if you set 30 warmup frames in movie rendering for a range of 0-100, the FrameRange will be starting at -30 and have a duration of 130. Without this fix, the playback will continue until frame 130, rather than 100. #jira UE-55933 Change 3936935 by Matt.Hoffman Easing Curves are now represented in Play Rate resolution instead of internal resolution. #jira UE-55937 Change 3937069 by Matt.Hoffman Users can toggle if the is infinite on each side, limited by which tracks support infinite ranges. #jira UE-55891 Change 3937516 by Max.Preussner ImgMedia: Added support for single-threaded platforms #jira UE-55986 Change 3937826 by Max.Preussner MediaAssets: Disabling media sound components on HTML5 if AudioMixer is not enabled Change 3937997 by Max.Chen Curve Editor: Add Zoom to Fit Curves so that selected curves from Sequencer can be focused on. Tested that undo doesn't re-zoom. #jira UE-55935 Change 3938000 by Max.Chen Sequencer: Stop all sounds before generating audio waveforms. #jira UE-55951 Change 3938376 by Max.Preussner XGEController: Disabled XGE Controller in single-threaded apps to prevent crash Change 3938444 by Max.Preussner Core: Added async support for single-threaded applications Change 3938445 by Max.Preussner Networking: Added support for single-threaded applications in UDP socket sender/receiver Change 3938447 by Max.Preussner Messaging: Added support for single-threaded applications Change 3939432 by Max.Chen Sequence Recorder: Append command list to global level editor actions so that shortcuts are accessible in level editor. #jira UE-55798 Change 3940229 by Andrew.Rodham Added prospective display rate upgrade to UMovieScene::PostLoad - There was previously some very odd behaviour that would assign the fixed frame interval only when a sub sequence was focused in SSequencer. This meant that many sequences could have a frame interval of 0 set in the data. - Under the old method of snap interval display this would have fallen back to getting the display interval from the sequencer settings, but we no longer look at these. - The USequencerSettings properties have been removed and in their place, a prospective data upgrade for sequences that have a fixed frame interval old 0fps that sets the play rate to the previous defaults based off the old USequencerSettings defaults. - This could end up 'changing' the display rate for sequences where the user has changed the snap interval in the settings for a particular sequence editor, but there's not much we can do about that given we don't have access to the USequencerSettings classes in UMovieScene #jira UE-55919 Change 3940277 by Andrew.Rodham Sequencer: Added ability to default frame resolutions and play rates for newly created actor sequences Change 3940378 by Andrew.Rodham Sequencer: Post move import dialog now defaults to the playback framerate of the sequence, and floors to frame numbers Change 3940559 by Andrew.Rodham Reinstated primed or recording sequence color Change 3940642 by Max.Preussner ImagePlate: Removed image plate media playback functionality Change 3940843 by Max.Preussner Core: Made TCircularQueue actually thread-safe; improved code comments Change 3940860 by Max.Chen Sequencer: Changed StructNameToKey to StructPathToKey Previously, keying a PropertyPath of [RenderTransform][Shear][X] would get trimmed to X, which doesn't map to a channel name as considered by Sequencer2dTransformTrackEditor. Instead, trim the resulting property path to [Shear][X] so that track editors can determine the desired struct path and channels to key. #jira UE-52966 Change 3941292 by Mike.Zyracki Fix for trajectories out of range not showing up. 1) If we had no key data we would pop the time, so wouldn't get the section ranges. 2) Calculating of upper bound was wrong, checking against -1 and not key == num of keys when doing algo::lower_bound. 3) No need to do the Bck-- for the bakward iterators since we fixed #2. We start now from the upper bound correctly. 4) If we had no keys (at section start,end) we would incorrectly say we were any key type, so since we draw constant keys as dashed we would do so incorrectly around section end points. #jira UE-55929 Change 3941424 by Max.Chen Curve Editor: Change Zoom to Fit to use TArrayView Change 3941498 by Max.Preussner Core: Added FMath::DivideAndRoundNearest function Change 3942097 by Matt.Hoffman Drop Frame Timecode Support for NTSC rates. Change 3942104 by Matt.Hoffman Sequence Recorder Group is no longer visible inside the World Outliner after using one. #jira 55266 Change 3942107 by Max.Chen Sequencer: Resurrect logic to find or extend an existing section when adding keys. Change 3942330 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942339 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942507 by Andrew.Rodham Sequencer: We no longer pad the time overlap threshold with a small number that is not scaled by the current zoom level - The presence of this pad was causing keys that were far apart to be grouped when zoomed in a long way Change 3942509 by Andrew.Rodham Sequencer: Only pad total view range, rather than section range as well when retrieving keys to render - This stops us from rendering keys that are within the view range, but outside the section range Change 3942512 by Andrew.Rodham Added transactions to some sequencer details customizations Change 3942513 by Andrew.Rodham Sequencer: Reinstated validation checks to UMovieSceneSection::SetStartFrame and SetEndFrame, changed erroneous uses to use SetRange Change 3942560 by Andrew.Rodham Pass by rvalue reference to appease error C2719 on Win32 ('InChannels': formal parameter with requested alignment of 8 won't be aligned) Change 3942697 by Andrew.Rodham Newly Created Level Sequences and Actor Sequences now default to 24000 fps frame resolution (+/- ~24hrs range, supporting all integer rates + 23.976) Change 3942700 by Andrew.Rodham Sequencer: Added legacy out-of-bounds errors for times that are not supported by the current legacy upgrade frame resolution Change 3942989 by Max.Preussner Core: Fixed circular queue count calculation Change 3943538 by Max.Preussner MediaAssets: Reverted workaround for procedural audio log spam in HTML5 (Actor component initialization cannot be skipped if the component is used in a level) Change 3944071 by Max.Preussner QAGame: Fixed Media Texture keeps last frame of Media when PIE ends #jira UE-53360 Change 3944292 by Max.Chen Sequencer: Added extra flags to ensure that asset initialization does not occur on template actor sequences #jira UE-56113 Change 3944364 by Max.Chen Sequencer: Prevent circular shot/master tracks. Tested adding master -> child -> master as drag and drop cinematic shot tracks and sub tracks as well as through the + button. #jira UE-56091 Change 3944422 by Max.Chen Sequence Recorder: Disable transform recording if off. #jira UE-56061 Change 3944745 by Andrew.Rodham Sequencer: Key rendering fixes - Fixed assert that occured when keys happened to reside on some times due to KeyTime + TimeOverlapThreshold - KeyTime being slightly larger TimeOverlapThreshold - Fixed keys sometimes being clipped when zoomed right in due to lack of half-frame offset - Added missing documentation to MovieSceneTimeHelpers.h #jira UE-56107 Change 3945231 by Andrew.Rodham Sequencer: Reconstruct channel proxy on Serialize to catch all cases of undo/redo, PostLoad and duplication #jira UE-56089 Change 3945301 by Andrew.Rodham Sequencer: Added safety checks during initial sequence recording to guard against applying negative or 0-sized sequence ranges #jira UE-56125 Change 3946627 by Max.Preussner Fortnite: Fixed game crashes closing editor while in PIE - Pure virtual function being called #jira UE-56144 [CL 3946896 by Max Chen in Main branch]
2018-03-14 22:09:33 -04:00
ScrubTime = SnapTimeToNearestKey(RangeToScreen, CursorPos.X, ScrubTime);
}
}
if (Sequencer->GetSequencerSettings()->ShouldKeepCursorInPlayRangeWhileScrubbing())
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3946692) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3801826 by Max.Chen PR #4304: Level Sequence crash fix - Guarded against dereferencing null componen. (Contributed by DSDambuster) Change 3801828 by Max.Chen PR #4302: Movie Scene Visibility Template unitialised variable, causing random . (Contributed by DSDambuster) Change 3801837 by Max.Chen Sequencer: Delay spawning/construction for convert to possessable. This fixes a bug where property values would be lost when converting back and forth from possessable to spawnable. #jira UE-52400 Change 3801841 by Max.Chen Sequencer: Make spacer nodes not selectable. PR #4194: Improvements to Sequencer (Contributed by projectgheist) #jira UE-53117 #jira UE-52139 Change 3804183 by Max.Preussner MediaAssets: Added missing lock in media sound component Change 3805414 by Max.Preussner MediaAssets: Setting valid GUID when initializing media texture resource Change 3819578 by Max.Chen PR #4370: When enabling the "MovieCapture", do not turn off the Stereo-3D display. (Contributed by yehaike) #jira UE-53647 Change 3823414 by Max.Chen Curve Editor: Lock down the first and last keys in the redundant keys removal range so that they're unaffected. #jira UE-53591 Change 3826406 by Max.Chen Sequencer: Move OnStartedPlaying() to within first update in UpdateTimeCursorPosition(). This fixes an issue where setting the hud/player visibility was getting stomped on later. #jira UE-52772 Change 3827044 by Max.Preussner MediaAssets: Added sprite visualization to media sound component #jira UE-53594 Change 3827988 by Max.Preussner MediaPlayerAssets: Fixed Media Texture is not linked to Media Player when created together #jira UE-53532 Change 3828506 by Max.Preussner MediaPlayerEditor: Added attenuation visualizer for media sound components #jira UE-53594 Change 3832590 by andrew.porter EngineTest: Added a keep state check in Property Animation sequencer test Change 3833053 by andrew.porter EngineTest: Adding Hierarchical Bias test Change 3835683 by andrew.porter EngineTest: Adding UMG Animation screenshot test Change 3836076 by Max.Chen Sequencer: Fix audio volume and pitch multiplier deprecation. Change 3836230 by andrew.porter EngineTest: Adding Sequence Bone Position automation test Change 3836347 by Max.Chen Sequencer: Fixes to shot name parsing. When a shot doesn't contain a shot number, assume, [ShotName]_[TakeNumber]. When duplicating a shot, put the new shot in the same path of the original shot, so that the take numbers will increment properly. #jira UE-51868 Change 3836552 by Max.Chen Sequencer: Sub section now has a takes menu Change 3838094 by Max.Chen UMG: Fix template finish not getting called on stop. This fixes a bug where sections aren't restored when finished. #jira UE-52285 Change 3838708 by Max.Chen Sequencer: Add notification when the blend type is changed. #jira UE-54046 Change 3840295 by Max.Chen Sequencer: Fix copy/paste crash for lights #jira UE-54084 Change 3840957 by Mike.Zyracki Added Show Only Keyable and Show Only Animated to the filter list in the property editor. Added IsPropertyAnimated to IDetailKeyframe Interface which already had support for showing properties which are keyable (which is used for the key icon next to the properties.). Could have created another interface but then would have had to mimic the sequencer binding, releasing also, so this seemed best way. One issue still left is that custom built detail items currently don't store associated properties(usually) and so certain properties, in particulalry transforms, won't show up as keyable or animated. Note this also shows up with the keyable icon not showing up next to transform tracks, and other filters like Show Only Modified not working with transforms/customs. Not sure best way to tackle this. #jira UESEQ-328 Change 3841756 by Max.Chen Sequencer: Fix unbound possessable components when pasting spawnables. #jira UE-54104 Change 3843950 by andrew.porter EngineTest: Renaming LevelStreaming tests/content to LevelVisibility Change 3844082 by Mike.Zyracki Missing file for animated filter in property editor. When finding if a track is animated we need to find it but we can't easily induce the MovieTrack class for any particular property. So we don't set a class for it and just search by it's ID and name. #jira UESEQ-328 Change 3846902 by Max.Preussner ImgMedia: Fixed image media player never finished initialization if loading failed #jira UE-54247 Change 3849820 by Mike.Zyracki Reassigning deleted widgets didn't work since the menu extender mechanism needs a valid UObject in order to perform an operation on it. So to fix we replaced GetObjectBindingContextMenuExtender in WidgetBlueprint with new delegate mechanism (OnBuildCustomContextMenuForGuid) that supports FGuid in addition to UObjects which is needed to handle re-binding deleted widgets. Note that the default sequencer hacks this for replacing deleted actors in SequencerObjectBindingNode to check to see if a LevelSequence is active. We could move to this mechanism there also. #jira UE-53163 Change 3852211 by Max.Chen UMG: Indicate name of the property that is not bound. #jira UE-54350 Change 3854120 by Max.Chen Sequencer: Fix sibling folders being allowed to have the same folder name. #jira UE-54363 Change 3854627 by Max.Chen Sequencer: Step to next/previous key should work for all tracks if there aren't any selected. #jira UESEQ-391 Change 3855825 by andrew.porter EngineTest: Adding animation blending automation test Change 3855950 by andrew.porter EngineTest: Adding correct expected valuues to animation blending test Change 3856237 by Matt.Hoffman UESEQ-336 - Sequencer Track Reordering Adds the ability to re-order Master Tracks, Folders and Object Bindings within sequencer hierarchies (including UMG). Adds the ability to do a one-off sorting of the content under the old sorting behavior if the user wants to reset their layout to how it was under legacy behavior. Modifies SequencerTrackNodes, SequencerFolderNodes and SequencerObjectBindingNodes to handle CanDrop/OnDrop for above, below and ontop of. Fixes a Slate Issue that forcibly expanded a TreeviewRow if an item handled OnDrop. Slate will now only forcibly expand the row if the item says the drop happened ontop of the item, and not above or below it like it previously did. Change 3856503 by andrew.porter EngineTest: Adding automation test for using animation blueprint with blend multi node in sequencer Change 3857875 by Max.Chen Sequencer: Assign the sequence id after the template is compiled. #jira UE-54462 Change 3858344 by Max.Chen Sequencer: Prevent Goto and Transform boxes from overlapping by allowing them to be visible at the same time in an autosized horizontal box. Also, added close button to the goto box. PR #4425: Prevent Goto and Transform boxes from overlapping in Sequencer ... (Contributed by projectgheist) #jira UE-54210 Change 3860566 by andrew.porter MediaFrameworkTest: Set the option to index 0 for the audio and video track list by default Change 3860654 by andrew.porter EngineTest: Enabling Camera Cut + FOV test Change 3860981 by andrew.porter EngineTest: Updating skeletal mesh tests with a delay after set playback position Change 3861256 by Max.Chen Sequencer: Add all bindings if none selected. #jira-54440 Change 3862154 by Andrew.Rodham Added TimeManagement module Change 3862424 by andrew.porter EngineTest: Turned on the test Bone Positions with Blend Multi Node Change 3862573 by andrew.porter EngineTest: Adding test to compare bone positions in a sequence that is blending an animation that is using an AnimBP Change 3865117 by Max.Chen Sequencer: Stop auto scroll on mouse release of movement. #jira UE-31212 Change 3865303 by Max.Chen Sequencer: Add drag and drop transactions #jira UE-54662 Change 3865304 by Max.Chen Sequencer: Fix crash when an actor factory is not found. Change 3865361 by Max.Chen Sequencer: Don't change the camera/shot lock button when popping out of a sequence. #jira UE-54665 Change 3865412 by Max.Chen Sequencer: Determine whether a transform track is for a camera by using the spawned object or template #jira UE-54666 Change 3865685 by Max.Chen Sequencer: Clear autoscrub offset when stopping autoscroll #jira UE-31212 Change 3865886 by Max.Chen Sequence Recorder: Log an error if the number of frames changes while recording. This can happen if the skeleton changes while recording. #jira UE-48715 Change 3866925 by Andrew.Porter MediaFrameworkTest: Changing the current PNG test video image sequence to 1024 x 576 Change 3867705 by andrew.porter QAGame: Adding Audio Sort Sequence to dev folder Change 3867890 by andrew.porter QAGame: Adding a sequence for testing a sorting crash to my dev folder Change 3872628 by Max.Chen Movie Scene Capture: Split delay before warmup into split delay before shot warmup so that there's separate controls for when the movie scene capture warmups up vs. shot boundaries. Change 3873131 by Matt.Hoffman UE-54732 - Crash reordering a folder with a track. This was caused by folders being the only type of track to check if someone was putting a parent track into a child track. Object Binding tracks and Tracks now check as well so that you can't use the above/below drop targets to add parents as children. This also fixed a typo in the localization keys. #jira UE-54732 Change 3873301 by Mike.Zyracki Added ability to support continous euler angle changes when changing rotations, in particularly with the rotation gizmo's. To do this we effectively added a form an of 'euler filter'(https://en.wikipedia.org/wiki/Euler_filter) to find the closest euler angle to the current euler angle. Three functions were added to FRotator to make this possible, one to get the euler angle that's has the same rotation as it, one to get the difference between two euler angles via Manhattan distance and a third using the previous two to choose a Rotator value that's closest to it. We then use these functions before calling UComponent::SetRelativeRotation to make sure we use the correct Euler after the Quat conversion. We also no longer limit(bound) the euler angles to -180,180, which is obviously necessary to avoid flips. I also changed how we caluclate yaw and roll when pitch is -90 or 90 to make it the standard approach of zeroing out roll and just setting yaw. Main reasons are the previous implementation had precision issues so things like 180, 90, -180 would show up due to numbers being nearly zero but negative,(this would break any smooth interpolations), and this facilitates having a 'gimbal' rotation mode (like Maya, Blender etc..) if we ever want that also. If needed we could keep the previous implementation but would need to add some FMath::IsNearlyZero checks, with less performance. Note we only do this special filtering when applying delta's to actors or components in the editors, which then call UComponent::SetRelativeRotationExact, which is a new function to foces the RelativeRotation to be equal to the new rotation. This allows us to store un-nomalized Rotators at the cost that the RotationCache may be broken. We didn't change any of the other UComponent functions that set rotations (via Quats or Transforms) so they will still be bounded and unwound. In SetInternalWorldLocationAndRotation we only set the rotation if the rotation has changed, which fixes the rotation getting changed and re-normalized if just translate happens. In TransformTrackEditor, we correclty use the bUndwing flag and in MovieScene3DTransformSection there was an un-needed winding check there, it will be unwound earlier if needed, which happens if Sequence Recording is happening. Max we should talk about what to do about this . Note the euler angle drag via the widget is still bound to 0-360. I think we should just unbound that now since the rotations value are now unbound. This review now includes fixes suggested by Zak. #jira UE-UE-22228 Change 3873483 by Matt.Hoffman Sequencer Tracks can now be inserted above the spacer at the bottom of the tree. #jira UE-54706 Change 3873899 by Max.Chen Sequencer: Add section selection throbbing Change 3873908 by Max.Chen Movie Scene Capture: Added logging per frame Change 3873924 by Matt.Hoffman Adds the ability to store Sequence Recorder setups into profiles that stay with the map and can be re-loaded later. Profiles store the Actor Recordings so the settings for each actor should carry with them. #jira UESEQ-339 Change 3874726 by Matt.Hoffman Disable drag-and-drop targets on spacers that come between rows in Sequencer. This prevents extra drag/drop targets showing up between each row. #jira UE-54706 Change 3874862 by Matt.Hoffman Audio Track no longer gets reordered when adding sub-audio tracks, as sub-tracks are no longer counted towards the sorting order index when normalizing indexes. #jira UE-54727 Change 3875905 by Matt.Hoffman Disable Fade Track UI if a fade track already exists in the sequence. #jira UESEQ-393 Change 3876163 by Max.Chen Sequencer: Swap the camera object to the camera component's owner if it's not the same. #jira UE-54874 Change 3876971 by Andrew.Porter EngineTest: Moved Media Player Seek test to new folder. Also enabled the test with new ground truth image. Change 3877040 by Max.Chen Cine Camera: Split camera properties to two groups, "Camera Options" and "Camera Settings". The cine camera now hides properties in the "Camera Settings" group so that properties like bConstrainAspectRatio (in the "Camera Options" group) can be visible. #jira UE-54192 Change 3877763 by Max.Chen Curve Editor: Fix curve changed on end drag so that only curves that had keys/tangents that were changed receive notification, otherwise all loaded curves were getting notified that they were changed. #jira UE-54951 Change 3878234 by Matt.Hoffman Disable "Drop Below" targets for Sequencer Tree nodes to prevent a confusing UX issue where dropping underneath a Object Binding Node puts it after the object binding node but the UI looks like it's inserting it inside the Object Binding node. #jira UE-54743 Change 3879359 by Mike.Zyracki If a track is inactive we dim it a bit which seems to be the UE4 way to show inactive or disabled state. We changed the active logic so that all subtracks need to be inactive for the track to also be inactive(instead of all active for active). This conforms to how the active state actually works, e.g if you have two sections and only one is active the track is still active above it. #jira UESEQ-388 Change 3879462 by Max.Chen Sequencer: Allow dragging onto a particular row which would move out any overlapping sections to make space for the newly created section. Newly created sections are now selected and throbbed to draw attention to themselves. #jira UE-54664 Change 3879464 by Max.Chen Sequencer: Fixed overlapping ranges being inserted into the evaluation field during compilation - The issue was that track segments that had been combined with adjacent segments (due to them being identical) would potentially cause a subsequently compiled frame to overlap with a range that had already been inserted into the evaluation field. - The insertion code previously asserted that only minor overlaps were catered for (due to fp rounding errors) and assumed that a supplied range could not entirely contain any other range in the field. - The solution is to supply the insertion time along with the range to know exactly where the data should live in the field, and crop the range to the maximum allowable space between adjacent ranges. #jira UE-54922 Change 3879590 by Matt.Hoffman Items that are now added to the Sequencer via the "+Track" menu will be selected after being added. Items can now be added inside of folders instead of just to the root level. #jira UE-27397 Change 3879612 by Mike.Zyracki Display Nodes with no children are always active. #jira UESEQ-388 Change 3879730 by Matt.Hoffman Sequence Recorder's actor recording groups now remove items from the group when removed via the UI. #jira UESEQ-339 Change 3880256 by Mike.Zyracki Fix issue with inactive display with folders and other track nodes. #jira UESEQ-388 Change 3883491 by Max.Chen Fix issue where tick is skipped due to last ticked pose isn't cleared after AnimInstance changes. Copy from Release-4.19 #jira UE-51323 Change 3883603 by Max.Chen Movie Scene Capture: Add option toggle disable screen percentage. By default this is on (no change in current behavior). #jira UE-51898 Change 3885074 by Max.Preussner MediaCompositing: Resetting media texture & freeing resource on section end; removed dead code Change 3887220 by Max.Preussner MediaCompositing: Defaulted media section duration to 1 sec (since we do not know the actual duration in most cases) Change 3887478 by Matt.Hoffman Sequences now show [Inactive] in their title bars when they're disabled. This helps communicate why a sequence isn't being evaluated. #jira UE-51469 Change 3888985 by Max.Chen Movie Scene Capture: Clamp HDR Compression Quality between 0 and 1. #jira UE-55136 Change 3893519 by Max.Chen Sequence Recorder: Clarified tooltip for bRecordNearbySpawnedActors - spawned actors will still be recorded if they match the ActorFilter. #jira UE-55238 Change 3893546 by Max.Chen Sequence Recorder: If a selected actor already has a recording, add a blank recording. #jira UE-55239 Change 3894044 by Max.Preussner MediaCompositing: Added support for seeking into a media section Change 3894310 by andrew.porter MediaFrameworkTest: Adding Img media sources for 1080 and 2160 ravent test content Change 3894426 by Max.Preussner MediaAssets: Letting media textures with AutoClear retain their clear color when player is reset Change 3895717 by Max.Chen Sequencer: Null checks to prevent crash when saving the default state of a spawnable #jira UE-55304 Change 3897388 by Max.Chen Sequencer: Don't update current time to be within the view range when stepping into a sequence. #jira UE-55322 Change 3897452 by Max.Chen Audio: Fix crash when trying to record audio without any active capture devices. Log warning if the number of input channels is not 1 or 2. #jira UE-55223 Change 3897619 by Max.Preussner MediaCompositing: Removed commented out code Change 3898072 by Max.Chen Sequencer: Override the animation asset in the player state if it doesn't match the animation asset that's being evaluated. #jira UE-55328 Change 3898272 by Max.Preussner MediaPlayerEditor: Made slate brush constants static Change 3898704 by Max.Chen Sequencer: Skip if the binding id's sequence can't be found. #jira UE-55337 Change 3899855 by Max.Preussner MediaCompositingEditor: Added cache state visualization to media track Change 3900300 by Max.Preussner MediaCompositingEditor: Added loop indicators to media sections Change 3900694 by Max.Preussner ImfMedia: Looping cache only when player is looping Change 3900892 by Max.Preussner Stats: Added stats category for media framework Change 3900954 by Max.Preussner MediaCompositing: Don't evaluate at the end of media section Change 3901348 by Max.Preussner Core: Replaced TLruCache autos for better readability Change 3901655 by Max.Preussner ImgMedia: Added more perf stats to EXR reader Change 3901972 by Max.Preussner MediaAssets: Added getter for media player in media sound components Change 3902233 by Max.Preussner MediaAssets: Enabling media textures to receive samples right after player is assigned Change 3902238 by Max.Preussner MediaCompositing: Working around init/shutdown idiosyncracies in sequencer Change 3904045 by Max.Chen Sequencer: Fix copy/paste crash. Only process UMovieSceneCopyableBinding and objects that can be spawned by the movie scene spawn register. #jira UE-55314 Change 3905605 by Max.Chen Sequencer: Restrict spawnables from being created if they have a ClassWithin that UMovieScene is not a child of. #jira UE-55429 Change 3906550 by Max.Chen Sequencer: Add media track icon #jira UE-55480 Change 3907101 by Max.Chen Sequence Recorder: Fix bugs related to not recording a level sequence. There were certain assumptions that creating a level sequence meant that sequence recording was in progress. This is not always the case - the recorders can record animation assets and not create a level sequence. Changed the notion of IsRecording() to having at least one actor recording that is recording. Countdown timer, recording displays, etc should function if IsRecording() and not based on whether a level sequence is created. #jira UE-55485 Change 3907247 by Max.Chen Sequence Recorder: Fix crash not removing PrepareToCleanseEditorObject delegate. Repros when opening sequence recorder, closing it, and then opening or creating a level. Change 3910343 by Max.Preussner Core: Added async helper for executing functions on a given thread pool Change 3910346 by Max.Preussner ImgMedia: Added separate thread pools for loading/decoding and deleting image frames Change 3910829 by Max.Preussner Profiler: Increased visible range of profiler graph Change 3910841 by Max.Preussner MediaCompositing: Displaying asset name instead of full media source path in media section Change 3910870 by Max.Preussner ImgMedia: Using deallocation thread pool only in debug builds Change 3919642 by Max.Chen Sequence Recorder: Clarify active tooltip #jira UE-55661 Change 3919660 by Max.Chen Sequencer: Sequence template source signatures are now also compared to catch the case where a sub-sequence asset has been saved but not modified - The following sequence of events exposes this issue: - Create a master sequence with a single shot that spawns a cube - Add this sequence to a level and set it to auto-play - Save everything and restart - Resave just the inner shot asset without opening it - PIE - The inner shot never spawns its cube because its template was wiped on save, but its signature never changed. Since the master sequence previously didn't check the template source signature, it ends up trying to evaluate an empty template. #jira UE-55626 #jira UE-55490 Change 3921825 by Max.Chen Sequencer: "Run Construction Script in Sequencer" is off by default for blueprints but on for Sequencer. This allows the content author to switch it on for specific blueprints and sequencer will be default, run those with construction scripts enabled. Change 3922232 by Max.Chen Sequence Recorder: Reset countdelay on stop. #jira UE-55755 Change 3922306 by Max.Chen Sequence Recorder: Don't automatically mark transforms to be recorded by sequence recorder. Instead, log a warning if the user toggled it off to warn that the resulting animation might not match gameplay. #jira UE-55758 Change 3922912 by Max.Chen Sequence Recorder: Fix refresh next sequence name #jira UE-55757 Change 3927654 by Max.Chen Movie Scene Capture: Added format mapping for the name of the current camera #jira UE-55769 PR #4537 Change 3927658 by Max.Chen Sequencer: Added fbx property mapping for "FocusDistance" to "FocusSettings.ManualFocusDistance" #jira UE-55782 Change 3932022 by Max.Chen Sequencer: Add import animation track section to next available row index. #jira UE-55892 Change 3933919 by Max.Chen Sequencer: Jump to playback start frame and not 0 to start playback for recording. #jira UE-55933 Change 3934307 by Andrew.Rodham Sequencer: Add template signature that is re-generated every time the base template is regenerated, which invalidates evaluation fields This fixes an issue where the same sequence is instantiated multiple times in a sequence. If the source sequence was saved, its template would be wiped, which would invalidate the template ID When an instance tries to evaluate the master template, it would only invalidate a range in the evaluation field that was the hull of any invalid sub sequences overlapping the current time, potentially leaving invalid data in the evaluation field at positions later (or earlier) on in the sequence When the sub template was re-generated, it receives the same SequenceSignature as it had before (because the sequence hasn't actually changed), which causes the stale evaluation field data to fail the IsDirty check (because the sequence is the same as it thought, but the *template* has changed) This has been addressed be adding a signature to templates themselves, and checking both the template signature and sequence signature as a part of the IsDirty check. This ensures that we regenerate if either the template, or the sequence have changed. #jira UE-55934 Change 3936327 by Andrew.Rodham Sequencer: Removed increment when trimming right UMovieSceneSection::TrimSection already explicity assigns an exclusive bound to the time passed in. The new behavior means we can trim a section to the right, and insert another section without changing the time to create adjacent sections. #jira UE-42652 Change 3936328 by Andrew.Rodham Fixed KeyFrameManipulator assignment operators and copy/move constructors - These types are potentially self-referential so cannot use default constructors/assignment Change 3936330 by Andrew.Rodham Converted UMGSequencePlayer to use frames internally #jira UE-54878 Change 3936726 by Max.Chen Sequencer: Set track node as the parent of the key area node. The key area switcher needs the object binding id from the parent object binding node. Without this, the binding to the external value fails. #jira UE-55931 Change 3936775 by Max.Chen Sequencer: Should stop or loop should compare DurationFrames with Current Time from StartTime. The bug is that if you set 30 warmup frames in movie rendering for a range of 0-100, the FrameRange will be starting at -30 and have a duration of 130. Without this fix, the playback will continue until frame 130, rather than 100. #jira UE-55933 Change 3936935 by Matt.Hoffman Easing Curves are now represented in Play Rate resolution instead of internal resolution. #jira UE-55937 Change 3937069 by Matt.Hoffman Users can toggle if the is infinite on each side, limited by which tracks support infinite ranges. #jira UE-55891 Change 3937516 by Max.Preussner ImgMedia: Added support for single-threaded platforms #jira UE-55986 Change 3937826 by Max.Preussner MediaAssets: Disabling media sound components on HTML5 if AudioMixer is not enabled Change 3937997 by Max.Chen Curve Editor: Add Zoom to Fit Curves so that selected curves from Sequencer can be focused on. Tested that undo doesn't re-zoom. #jira UE-55935 Change 3938000 by Max.Chen Sequencer: Stop all sounds before generating audio waveforms. #jira UE-55951 Change 3938376 by Max.Preussner XGEController: Disabled XGE Controller in single-threaded apps to prevent crash Change 3938444 by Max.Preussner Core: Added async support for single-threaded applications Change 3938445 by Max.Preussner Networking: Added support for single-threaded applications in UDP socket sender/receiver Change 3938447 by Max.Preussner Messaging: Added support for single-threaded applications Change 3939432 by Max.Chen Sequence Recorder: Append command list to global level editor actions so that shortcuts are accessible in level editor. #jira UE-55798 Change 3940229 by Andrew.Rodham Added prospective display rate upgrade to UMovieScene::PostLoad - There was previously some very odd behaviour that would assign the fixed frame interval only when a sub sequence was focused in SSequencer. This meant that many sequences could have a frame interval of 0 set in the data. - Under the old method of snap interval display this would have fallen back to getting the display interval from the sequencer settings, but we no longer look at these. - The USequencerSettings properties have been removed and in their place, a prospective data upgrade for sequences that have a fixed frame interval old 0fps that sets the play rate to the previous defaults based off the old USequencerSettings defaults. - This could end up 'changing' the display rate for sequences where the user has changed the snap interval in the settings for a particular sequence editor, but there's not much we can do about that given we don't have access to the USequencerSettings classes in UMovieScene #jira UE-55919 Change 3940277 by Andrew.Rodham Sequencer: Added ability to default frame resolutions and play rates for newly created actor sequences Change 3940378 by Andrew.Rodham Sequencer: Post move import dialog now defaults to the playback framerate of the sequence, and floors to frame numbers Change 3940559 by Andrew.Rodham Reinstated primed or recording sequence color Change 3940642 by Max.Preussner ImagePlate: Removed image plate media playback functionality Change 3940843 by Max.Preussner Core: Made TCircularQueue actually thread-safe; improved code comments Change 3940860 by Max.Chen Sequencer: Changed StructNameToKey to StructPathToKey Previously, keying a PropertyPath of [RenderTransform][Shear][X] would get trimmed to X, which doesn't map to a channel name as considered by Sequencer2dTransformTrackEditor. Instead, trim the resulting property path to [Shear][X] so that track editors can determine the desired struct path and channels to key. #jira UE-52966 Change 3941292 by Mike.Zyracki Fix for trajectories out of range not showing up. 1) If we had no key data we would pop the time, so wouldn't get the section ranges. 2) Calculating of upper bound was wrong, checking against -1 and not key == num of keys when doing algo::lower_bound. 3) No need to do the Bck-- for the bakward iterators since we fixed #2. We start now from the upper bound correctly. 4) If we had no keys (at section start,end) we would incorrectly say we were any key type, so since we draw constant keys as dashed we would do so incorrectly around section end points. #jira UE-55929 Change 3941424 by Max.Chen Curve Editor: Change Zoom to Fit to use TArrayView Change 3941498 by Max.Preussner Core: Added FMath::DivideAndRoundNearest function Change 3942097 by Matt.Hoffman Drop Frame Timecode Support for NTSC rates. Change 3942104 by Matt.Hoffman Sequence Recorder Group is no longer visible inside the World Outliner after using one. #jira 55266 Change 3942107 by Max.Chen Sequencer: Resurrect logic to find or extend an existing section when adding keys. Change 3942330 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942339 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942507 by Andrew.Rodham Sequencer: We no longer pad the time overlap threshold with a small number that is not scaled by the current zoom level - The presence of this pad was causing keys that were far apart to be grouped when zoomed in a long way Change 3942509 by Andrew.Rodham Sequencer: Only pad total view range, rather than section range as well when retrieving keys to render - This stops us from rendering keys that are within the view range, but outside the section range Change 3942512 by Andrew.Rodham Added transactions to some sequencer details customizations Change 3942513 by Andrew.Rodham Sequencer: Reinstated validation checks to UMovieSceneSection::SetStartFrame and SetEndFrame, changed erroneous uses to use SetRange Change 3942560 by Andrew.Rodham Pass by rvalue reference to appease error C2719 on Win32 ('InChannels': formal parameter with requested alignment of 8 won't be aligned) Change 3942697 by Andrew.Rodham Newly Created Level Sequences and Actor Sequences now default to 24000 fps frame resolution (+/- ~24hrs range, supporting all integer rates + 23.976) Change 3942700 by Andrew.Rodham Sequencer: Added legacy out-of-bounds errors for times that are not supported by the current legacy upgrade frame resolution Change 3942989 by Max.Preussner Core: Fixed circular queue count calculation Change 3943538 by Max.Preussner MediaAssets: Reverted workaround for procedural audio log spam in HTML5 (Actor component initialization cannot be skipped if the component is used in a level) Change 3944071 by Max.Preussner QAGame: Fixed Media Texture keeps last frame of Media when PIE ends #jira UE-53360 Change 3944292 by Max.Chen Sequencer: Added extra flags to ensure that asset initialization does not occur on template actor sequences #jira UE-56113 Change 3944364 by Max.Chen Sequencer: Prevent circular shot/master tracks. Tested adding master -> child -> master as drag and drop cinematic shot tracks and sub tracks as well as through the + button. #jira UE-56091 Change 3944422 by Max.Chen Sequence Recorder: Disable transform recording if off. #jira UE-56061 Change 3944745 by Andrew.Rodham Sequencer: Key rendering fixes - Fixed assert that occured when keys happened to reside on some times due to KeyTime + TimeOverlapThreshold - KeyTime being slightly larger TimeOverlapThreshold - Fixed keys sometimes being clipped when zoomed right in due to lack of half-frame offset - Added missing documentation to MovieSceneTimeHelpers.h #jira UE-56107 Change 3945231 by Andrew.Rodham Sequencer: Reconstruct channel proxy on Serialize to catch all cases of undo/redo, PostLoad and duplication #jira UE-56089 Change 3945301 by Andrew.Rodham Sequencer: Added safety checks during initial sequence recording to guard against applying negative or 0-sized sequence ranges #jira UE-56125 Change 3946627 by Max.Preussner Fortnite: Fixed game crashes closing editor while in PIE - Pure virtual function being called #jira UE-56144 [CL 3946896 by Max Chen in Main branch]
2018-03-14 22:09:33 -04:00
{
ScrubTime = UE::MovieScene::ClampToDiscreteRange(ScrubTime, TimeSliderArgs.PlaybackRange.Get());
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3946692) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3801826 by Max.Chen PR #4304: Level Sequence crash fix - Guarded against dereferencing null componen. (Contributed by DSDambuster) Change 3801828 by Max.Chen PR #4302: Movie Scene Visibility Template unitialised variable, causing random . (Contributed by DSDambuster) Change 3801837 by Max.Chen Sequencer: Delay spawning/construction for convert to possessable. This fixes a bug where property values would be lost when converting back and forth from possessable to spawnable. #jira UE-52400 Change 3801841 by Max.Chen Sequencer: Make spacer nodes not selectable. PR #4194: Improvements to Sequencer (Contributed by projectgheist) #jira UE-53117 #jira UE-52139 Change 3804183 by Max.Preussner MediaAssets: Added missing lock in media sound component Change 3805414 by Max.Preussner MediaAssets: Setting valid GUID when initializing media texture resource Change 3819578 by Max.Chen PR #4370: When enabling the "MovieCapture", do not turn off the Stereo-3D display. (Contributed by yehaike) #jira UE-53647 Change 3823414 by Max.Chen Curve Editor: Lock down the first and last keys in the redundant keys removal range so that they're unaffected. #jira UE-53591 Change 3826406 by Max.Chen Sequencer: Move OnStartedPlaying() to within first update in UpdateTimeCursorPosition(). This fixes an issue where setting the hud/player visibility was getting stomped on later. #jira UE-52772 Change 3827044 by Max.Preussner MediaAssets: Added sprite visualization to media sound component #jira UE-53594 Change 3827988 by Max.Preussner MediaPlayerAssets: Fixed Media Texture is not linked to Media Player when created together #jira UE-53532 Change 3828506 by Max.Preussner MediaPlayerEditor: Added attenuation visualizer for media sound components #jira UE-53594 Change 3832590 by andrew.porter EngineTest: Added a keep state check in Property Animation sequencer test Change 3833053 by andrew.porter EngineTest: Adding Hierarchical Bias test Change 3835683 by andrew.porter EngineTest: Adding UMG Animation screenshot test Change 3836076 by Max.Chen Sequencer: Fix audio volume and pitch multiplier deprecation. Change 3836230 by andrew.porter EngineTest: Adding Sequence Bone Position automation test Change 3836347 by Max.Chen Sequencer: Fixes to shot name parsing. When a shot doesn't contain a shot number, assume, [ShotName]_[TakeNumber]. When duplicating a shot, put the new shot in the same path of the original shot, so that the take numbers will increment properly. #jira UE-51868 Change 3836552 by Max.Chen Sequencer: Sub section now has a takes menu Change 3838094 by Max.Chen UMG: Fix template finish not getting called on stop. This fixes a bug where sections aren't restored when finished. #jira UE-52285 Change 3838708 by Max.Chen Sequencer: Add notification when the blend type is changed. #jira UE-54046 Change 3840295 by Max.Chen Sequencer: Fix copy/paste crash for lights #jira UE-54084 Change 3840957 by Mike.Zyracki Added Show Only Keyable and Show Only Animated to the filter list in the property editor. Added IsPropertyAnimated to IDetailKeyframe Interface which already had support for showing properties which are keyable (which is used for the key icon next to the properties.). Could have created another interface but then would have had to mimic the sequencer binding, releasing also, so this seemed best way. One issue still left is that custom built detail items currently don't store associated properties(usually) and so certain properties, in particulalry transforms, won't show up as keyable or animated. Note this also shows up with the keyable icon not showing up next to transform tracks, and other filters like Show Only Modified not working with transforms/customs. Not sure best way to tackle this. #jira UESEQ-328 Change 3841756 by Max.Chen Sequencer: Fix unbound possessable components when pasting spawnables. #jira UE-54104 Change 3843950 by andrew.porter EngineTest: Renaming LevelStreaming tests/content to LevelVisibility Change 3844082 by Mike.Zyracki Missing file for animated filter in property editor. When finding if a track is animated we need to find it but we can't easily induce the MovieTrack class for any particular property. So we don't set a class for it and just search by it's ID and name. #jira UESEQ-328 Change 3846902 by Max.Preussner ImgMedia: Fixed image media player never finished initialization if loading failed #jira UE-54247 Change 3849820 by Mike.Zyracki Reassigning deleted widgets didn't work since the menu extender mechanism needs a valid UObject in order to perform an operation on it. So to fix we replaced GetObjectBindingContextMenuExtender in WidgetBlueprint with new delegate mechanism (OnBuildCustomContextMenuForGuid) that supports FGuid in addition to UObjects which is needed to handle re-binding deleted widgets. Note that the default sequencer hacks this for replacing deleted actors in SequencerObjectBindingNode to check to see if a LevelSequence is active. We could move to this mechanism there also. #jira UE-53163 Change 3852211 by Max.Chen UMG: Indicate name of the property that is not bound. #jira UE-54350 Change 3854120 by Max.Chen Sequencer: Fix sibling folders being allowed to have the same folder name. #jira UE-54363 Change 3854627 by Max.Chen Sequencer: Step to next/previous key should work for all tracks if there aren't any selected. #jira UESEQ-391 Change 3855825 by andrew.porter EngineTest: Adding animation blending automation test Change 3855950 by andrew.porter EngineTest: Adding correct expected valuues to animation blending test Change 3856237 by Matt.Hoffman UESEQ-336 - Sequencer Track Reordering Adds the ability to re-order Master Tracks, Folders and Object Bindings within sequencer hierarchies (including UMG). Adds the ability to do a one-off sorting of the content under the old sorting behavior if the user wants to reset their layout to how it was under legacy behavior. Modifies SequencerTrackNodes, SequencerFolderNodes and SequencerObjectBindingNodes to handle CanDrop/OnDrop for above, below and ontop of. Fixes a Slate Issue that forcibly expanded a TreeviewRow if an item handled OnDrop. Slate will now only forcibly expand the row if the item says the drop happened ontop of the item, and not above or below it like it previously did. Change 3856503 by andrew.porter EngineTest: Adding automation test for using animation blueprint with blend multi node in sequencer Change 3857875 by Max.Chen Sequencer: Assign the sequence id after the template is compiled. #jira UE-54462 Change 3858344 by Max.Chen Sequencer: Prevent Goto and Transform boxes from overlapping by allowing them to be visible at the same time in an autosized horizontal box. Also, added close button to the goto box. PR #4425: Prevent Goto and Transform boxes from overlapping in Sequencer ... (Contributed by projectgheist) #jira UE-54210 Change 3860566 by andrew.porter MediaFrameworkTest: Set the option to index 0 for the audio and video track list by default Change 3860654 by andrew.porter EngineTest: Enabling Camera Cut + FOV test Change 3860981 by andrew.porter EngineTest: Updating skeletal mesh tests with a delay after set playback position Change 3861256 by Max.Chen Sequencer: Add all bindings if none selected. #jira-54440 Change 3862154 by Andrew.Rodham Added TimeManagement module Change 3862424 by andrew.porter EngineTest: Turned on the test Bone Positions with Blend Multi Node Change 3862573 by andrew.porter EngineTest: Adding test to compare bone positions in a sequence that is blending an animation that is using an AnimBP Change 3865117 by Max.Chen Sequencer: Stop auto scroll on mouse release of movement. #jira UE-31212 Change 3865303 by Max.Chen Sequencer: Add drag and drop transactions #jira UE-54662 Change 3865304 by Max.Chen Sequencer: Fix crash when an actor factory is not found. Change 3865361 by Max.Chen Sequencer: Don't change the camera/shot lock button when popping out of a sequence. #jira UE-54665 Change 3865412 by Max.Chen Sequencer: Determine whether a transform track is for a camera by using the spawned object or template #jira UE-54666 Change 3865685 by Max.Chen Sequencer: Clear autoscrub offset when stopping autoscroll #jira UE-31212 Change 3865886 by Max.Chen Sequence Recorder: Log an error if the number of frames changes while recording. This can happen if the skeleton changes while recording. #jira UE-48715 Change 3866925 by Andrew.Porter MediaFrameworkTest: Changing the current PNG test video image sequence to 1024 x 576 Change 3867705 by andrew.porter QAGame: Adding Audio Sort Sequence to dev folder Change 3867890 by andrew.porter QAGame: Adding a sequence for testing a sorting crash to my dev folder Change 3872628 by Max.Chen Movie Scene Capture: Split delay before warmup into split delay before shot warmup so that there's separate controls for when the movie scene capture warmups up vs. shot boundaries. Change 3873131 by Matt.Hoffman UE-54732 - Crash reordering a folder with a track. This was caused by folders being the only type of track to check if someone was putting a parent track into a child track. Object Binding tracks and Tracks now check as well so that you can't use the above/below drop targets to add parents as children. This also fixed a typo in the localization keys. #jira UE-54732 Change 3873301 by Mike.Zyracki Added ability to support continous euler angle changes when changing rotations, in particularly with the rotation gizmo's. To do this we effectively added a form an of 'euler filter'(https://en.wikipedia.org/wiki/Euler_filter) to find the closest euler angle to the current euler angle. Three functions were added to FRotator to make this possible, one to get the euler angle that's has the same rotation as it, one to get the difference between two euler angles via Manhattan distance and a third using the previous two to choose a Rotator value that's closest to it. We then use these functions before calling UComponent::SetRelativeRotation to make sure we use the correct Euler after the Quat conversion. We also no longer limit(bound) the euler angles to -180,180, which is obviously necessary to avoid flips. I also changed how we caluclate yaw and roll when pitch is -90 or 90 to make it the standard approach of zeroing out roll and just setting yaw. Main reasons are the previous implementation had precision issues so things like 180, 90, -180 would show up due to numbers being nearly zero but negative,(this would break any smooth interpolations), and this facilitates having a 'gimbal' rotation mode (like Maya, Blender etc..) if we ever want that also. If needed we could keep the previous implementation but would need to add some FMath::IsNearlyZero checks, with less performance. Note we only do this special filtering when applying delta's to actors or components in the editors, which then call UComponent::SetRelativeRotationExact, which is a new function to foces the RelativeRotation to be equal to the new rotation. This allows us to store un-nomalized Rotators at the cost that the RotationCache may be broken. We didn't change any of the other UComponent functions that set rotations (via Quats or Transforms) so they will still be bounded and unwound. In SetInternalWorldLocationAndRotation we only set the rotation if the rotation has changed, which fixes the rotation getting changed and re-normalized if just translate happens. In TransformTrackEditor, we correclty use the bUndwing flag and in MovieScene3DTransformSection there was an un-needed winding check there, it will be unwound earlier if needed, which happens if Sequence Recording is happening. Max we should talk about what to do about this . Note the euler angle drag via the widget is still bound to 0-360. I think we should just unbound that now since the rotations value are now unbound. This review now includes fixes suggested by Zak. #jira UE-UE-22228 Change 3873483 by Matt.Hoffman Sequencer Tracks can now be inserted above the spacer at the bottom of the tree. #jira UE-54706 Change 3873899 by Max.Chen Sequencer: Add section selection throbbing Change 3873908 by Max.Chen Movie Scene Capture: Added logging per frame Change 3873924 by Matt.Hoffman Adds the ability to store Sequence Recorder setups into profiles that stay with the map and can be re-loaded later. Profiles store the Actor Recordings so the settings for each actor should carry with them. #jira UESEQ-339 Change 3874726 by Matt.Hoffman Disable drag-and-drop targets on spacers that come between rows in Sequencer. This prevents extra drag/drop targets showing up between each row. #jira UE-54706 Change 3874862 by Matt.Hoffman Audio Track no longer gets reordered when adding sub-audio tracks, as sub-tracks are no longer counted towards the sorting order index when normalizing indexes. #jira UE-54727 Change 3875905 by Matt.Hoffman Disable Fade Track UI if a fade track already exists in the sequence. #jira UESEQ-393 Change 3876163 by Max.Chen Sequencer: Swap the camera object to the camera component's owner if it's not the same. #jira UE-54874 Change 3876971 by Andrew.Porter EngineTest: Moved Media Player Seek test to new folder. Also enabled the test with new ground truth image. Change 3877040 by Max.Chen Cine Camera: Split camera properties to two groups, "Camera Options" and "Camera Settings". The cine camera now hides properties in the "Camera Settings" group so that properties like bConstrainAspectRatio (in the "Camera Options" group) can be visible. #jira UE-54192 Change 3877763 by Max.Chen Curve Editor: Fix curve changed on end drag so that only curves that had keys/tangents that were changed receive notification, otherwise all loaded curves were getting notified that they were changed. #jira UE-54951 Change 3878234 by Matt.Hoffman Disable "Drop Below" targets for Sequencer Tree nodes to prevent a confusing UX issue where dropping underneath a Object Binding Node puts it after the object binding node but the UI looks like it's inserting it inside the Object Binding node. #jira UE-54743 Change 3879359 by Mike.Zyracki If a track is inactive we dim it a bit which seems to be the UE4 way to show inactive or disabled state. We changed the active logic so that all subtracks need to be inactive for the track to also be inactive(instead of all active for active). This conforms to how the active state actually works, e.g if you have two sections and only one is active the track is still active above it. #jira UESEQ-388 Change 3879462 by Max.Chen Sequencer: Allow dragging onto a particular row which would move out any overlapping sections to make space for the newly created section. Newly created sections are now selected and throbbed to draw attention to themselves. #jira UE-54664 Change 3879464 by Max.Chen Sequencer: Fixed overlapping ranges being inserted into the evaluation field during compilation - The issue was that track segments that had been combined with adjacent segments (due to them being identical) would potentially cause a subsequently compiled frame to overlap with a range that had already been inserted into the evaluation field. - The insertion code previously asserted that only minor overlaps were catered for (due to fp rounding errors) and assumed that a supplied range could not entirely contain any other range in the field. - The solution is to supply the insertion time along with the range to know exactly where the data should live in the field, and crop the range to the maximum allowable space between adjacent ranges. #jira UE-54922 Change 3879590 by Matt.Hoffman Items that are now added to the Sequencer via the "+Track" menu will be selected after being added. Items can now be added inside of folders instead of just to the root level. #jira UE-27397 Change 3879612 by Mike.Zyracki Display Nodes with no children are always active. #jira UESEQ-388 Change 3879730 by Matt.Hoffman Sequence Recorder's actor recording groups now remove items from the group when removed via the UI. #jira UESEQ-339 Change 3880256 by Mike.Zyracki Fix issue with inactive display with folders and other track nodes. #jira UESEQ-388 Change 3883491 by Max.Chen Fix issue where tick is skipped due to last ticked pose isn't cleared after AnimInstance changes. Copy from Release-4.19 #jira UE-51323 Change 3883603 by Max.Chen Movie Scene Capture: Add option toggle disable screen percentage. By default this is on (no change in current behavior). #jira UE-51898 Change 3885074 by Max.Preussner MediaCompositing: Resetting media texture & freeing resource on section end; removed dead code Change 3887220 by Max.Preussner MediaCompositing: Defaulted media section duration to 1 sec (since we do not know the actual duration in most cases) Change 3887478 by Matt.Hoffman Sequences now show [Inactive] in their title bars when they're disabled. This helps communicate why a sequence isn't being evaluated. #jira UE-51469 Change 3888985 by Max.Chen Movie Scene Capture: Clamp HDR Compression Quality between 0 and 1. #jira UE-55136 Change 3893519 by Max.Chen Sequence Recorder: Clarified tooltip for bRecordNearbySpawnedActors - spawned actors will still be recorded if they match the ActorFilter. #jira UE-55238 Change 3893546 by Max.Chen Sequence Recorder: If a selected actor already has a recording, add a blank recording. #jira UE-55239 Change 3894044 by Max.Preussner MediaCompositing: Added support for seeking into a media section Change 3894310 by andrew.porter MediaFrameworkTest: Adding Img media sources for 1080 and 2160 ravent test content Change 3894426 by Max.Preussner MediaAssets: Letting media textures with AutoClear retain their clear color when player is reset Change 3895717 by Max.Chen Sequencer: Null checks to prevent crash when saving the default state of a spawnable #jira UE-55304 Change 3897388 by Max.Chen Sequencer: Don't update current time to be within the view range when stepping into a sequence. #jira UE-55322 Change 3897452 by Max.Chen Audio: Fix crash when trying to record audio without any active capture devices. Log warning if the number of input channels is not 1 or 2. #jira UE-55223 Change 3897619 by Max.Preussner MediaCompositing: Removed commented out code Change 3898072 by Max.Chen Sequencer: Override the animation asset in the player state if it doesn't match the animation asset that's being evaluated. #jira UE-55328 Change 3898272 by Max.Preussner MediaPlayerEditor: Made slate brush constants static Change 3898704 by Max.Chen Sequencer: Skip if the binding id's sequence can't be found. #jira UE-55337 Change 3899855 by Max.Preussner MediaCompositingEditor: Added cache state visualization to media track Change 3900300 by Max.Preussner MediaCompositingEditor: Added loop indicators to media sections Change 3900694 by Max.Preussner ImfMedia: Looping cache only when player is looping Change 3900892 by Max.Preussner Stats: Added stats category for media framework Change 3900954 by Max.Preussner MediaCompositing: Don't evaluate at the end of media section Change 3901348 by Max.Preussner Core: Replaced TLruCache autos for better readability Change 3901655 by Max.Preussner ImgMedia: Added more perf stats to EXR reader Change 3901972 by Max.Preussner MediaAssets: Added getter for media player in media sound components Change 3902233 by Max.Preussner MediaAssets: Enabling media textures to receive samples right after player is assigned Change 3902238 by Max.Preussner MediaCompositing: Working around init/shutdown idiosyncracies in sequencer Change 3904045 by Max.Chen Sequencer: Fix copy/paste crash. Only process UMovieSceneCopyableBinding and objects that can be spawned by the movie scene spawn register. #jira UE-55314 Change 3905605 by Max.Chen Sequencer: Restrict spawnables from being created if they have a ClassWithin that UMovieScene is not a child of. #jira UE-55429 Change 3906550 by Max.Chen Sequencer: Add media track icon #jira UE-55480 Change 3907101 by Max.Chen Sequence Recorder: Fix bugs related to not recording a level sequence. There were certain assumptions that creating a level sequence meant that sequence recording was in progress. This is not always the case - the recorders can record animation assets and not create a level sequence. Changed the notion of IsRecording() to having at least one actor recording that is recording. Countdown timer, recording displays, etc should function if IsRecording() and not based on whether a level sequence is created. #jira UE-55485 Change 3907247 by Max.Chen Sequence Recorder: Fix crash not removing PrepareToCleanseEditorObject delegate. Repros when opening sequence recorder, closing it, and then opening or creating a level. Change 3910343 by Max.Preussner Core: Added async helper for executing functions on a given thread pool Change 3910346 by Max.Preussner ImgMedia: Added separate thread pools for loading/decoding and deleting image frames Change 3910829 by Max.Preussner Profiler: Increased visible range of profiler graph Change 3910841 by Max.Preussner MediaCompositing: Displaying asset name instead of full media source path in media section Change 3910870 by Max.Preussner ImgMedia: Using deallocation thread pool only in debug builds Change 3919642 by Max.Chen Sequence Recorder: Clarify active tooltip #jira UE-55661 Change 3919660 by Max.Chen Sequencer: Sequence template source signatures are now also compared to catch the case where a sub-sequence asset has been saved but not modified - The following sequence of events exposes this issue: - Create a master sequence with a single shot that spawns a cube - Add this sequence to a level and set it to auto-play - Save everything and restart - Resave just the inner shot asset without opening it - PIE - The inner shot never spawns its cube because its template was wiped on save, but its signature never changed. Since the master sequence previously didn't check the template source signature, it ends up trying to evaluate an empty template. #jira UE-55626 #jira UE-55490 Change 3921825 by Max.Chen Sequencer: "Run Construction Script in Sequencer" is off by default for blueprints but on for Sequencer. This allows the content author to switch it on for specific blueprints and sequencer will be default, run those with construction scripts enabled. Change 3922232 by Max.Chen Sequence Recorder: Reset countdelay on stop. #jira UE-55755 Change 3922306 by Max.Chen Sequence Recorder: Don't automatically mark transforms to be recorded by sequence recorder. Instead, log a warning if the user toggled it off to warn that the resulting animation might not match gameplay. #jira UE-55758 Change 3922912 by Max.Chen Sequence Recorder: Fix refresh next sequence name #jira UE-55757 Change 3927654 by Max.Chen Movie Scene Capture: Added format mapping for the name of the current camera #jira UE-55769 PR #4537 Change 3927658 by Max.Chen Sequencer: Added fbx property mapping for "FocusDistance" to "FocusSettings.ManualFocusDistance" #jira UE-55782 Change 3932022 by Max.Chen Sequencer: Add import animation track section to next available row index. #jira UE-55892 Change 3933919 by Max.Chen Sequencer: Jump to playback start frame and not 0 to start playback for recording. #jira UE-55933 Change 3934307 by Andrew.Rodham Sequencer: Add template signature that is re-generated every time the base template is regenerated, which invalidates evaluation fields This fixes an issue where the same sequence is instantiated multiple times in a sequence. If the source sequence was saved, its template would be wiped, which would invalidate the template ID When an instance tries to evaluate the master template, it would only invalidate a range in the evaluation field that was the hull of any invalid sub sequences overlapping the current time, potentially leaving invalid data in the evaluation field at positions later (or earlier) on in the sequence When the sub template was re-generated, it receives the same SequenceSignature as it had before (because the sequence hasn't actually changed), which causes the stale evaluation field data to fail the IsDirty check (because the sequence is the same as it thought, but the *template* has changed) This has been addressed be adding a signature to templates themselves, and checking both the template signature and sequence signature as a part of the IsDirty check. This ensures that we regenerate if either the template, or the sequence have changed. #jira UE-55934 Change 3936327 by Andrew.Rodham Sequencer: Removed increment when trimming right UMovieSceneSection::TrimSection already explicity assigns an exclusive bound to the time passed in. The new behavior means we can trim a section to the right, and insert another section without changing the time to create adjacent sections. #jira UE-42652 Change 3936328 by Andrew.Rodham Fixed KeyFrameManipulator assignment operators and copy/move constructors - These types are potentially self-referential so cannot use default constructors/assignment Change 3936330 by Andrew.Rodham Converted UMGSequencePlayer to use frames internally #jira UE-54878 Change 3936726 by Max.Chen Sequencer: Set track node as the parent of the key area node. The key area switcher needs the object binding id from the parent object binding node. Without this, the binding to the external value fails. #jira UE-55931 Change 3936775 by Max.Chen Sequencer: Should stop or loop should compare DurationFrames with Current Time from StartTime. The bug is that if you set 30 warmup frames in movie rendering for a range of 0-100, the FrameRange will be starting at -30 and have a duration of 130. Without this fix, the playback will continue until frame 130, rather than 100. #jira UE-55933 Change 3936935 by Matt.Hoffman Easing Curves are now represented in Play Rate resolution instead of internal resolution. #jira UE-55937 Change 3937069 by Matt.Hoffman Users can toggle if the is infinite on each side, limited by which tracks support infinite ranges. #jira UE-55891 Change 3937516 by Max.Preussner ImgMedia: Added support for single-threaded platforms #jira UE-55986 Change 3937826 by Max.Preussner MediaAssets: Disabling media sound components on HTML5 if AudioMixer is not enabled Change 3937997 by Max.Chen Curve Editor: Add Zoom to Fit Curves so that selected curves from Sequencer can be focused on. Tested that undo doesn't re-zoom. #jira UE-55935 Change 3938000 by Max.Chen Sequencer: Stop all sounds before generating audio waveforms. #jira UE-55951 Change 3938376 by Max.Preussner XGEController: Disabled XGE Controller in single-threaded apps to prevent crash Change 3938444 by Max.Preussner Core: Added async support for single-threaded applications Change 3938445 by Max.Preussner Networking: Added support for single-threaded applications in UDP socket sender/receiver Change 3938447 by Max.Preussner Messaging: Added support for single-threaded applications Change 3939432 by Max.Chen Sequence Recorder: Append command list to global level editor actions so that shortcuts are accessible in level editor. #jira UE-55798 Change 3940229 by Andrew.Rodham Added prospective display rate upgrade to UMovieScene::PostLoad - There was previously some very odd behaviour that would assign the fixed frame interval only when a sub sequence was focused in SSequencer. This meant that many sequences could have a frame interval of 0 set in the data. - Under the old method of snap interval display this would have fallen back to getting the display interval from the sequencer settings, but we no longer look at these. - The USequencerSettings properties have been removed and in their place, a prospective data upgrade for sequences that have a fixed frame interval old 0fps that sets the play rate to the previous defaults based off the old USequencerSettings defaults. - This could end up 'changing' the display rate for sequences where the user has changed the snap interval in the settings for a particular sequence editor, but there's not much we can do about that given we don't have access to the USequencerSettings classes in UMovieScene #jira UE-55919 Change 3940277 by Andrew.Rodham Sequencer: Added ability to default frame resolutions and play rates for newly created actor sequences Change 3940378 by Andrew.Rodham Sequencer: Post move import dialog now defaults to the playback framerate of the sequence, and floors to frame numbers Change 3940559 by Andrew.Rodham Reinstated primed or recording sequence color Change 3940642 by Max.Preussner ImagePlate: Removed image plate media playback functionality Change 3940843 by Max.Preussner Core: Made TCircularQueue actually thread-safe; improved code comments Change 3940860 by Max.Chen Sequencer: Changed StructNameToKey to StructPathToKey Previously, keying a PropertyPath of [RenderTransform][Shear][X] would get trimmed to X, which doesn't map to a channel name as considered by Sequencer2dTransformTrackEditor. Instead, trim the resulting property path to [Shear][X] so that track editors can determine the desired struct path and channels to key. #jira UE-52966 Change 3941292 by Mike.Zyracki Fix for trajectories out of range not showing up. 1) If we had no key data we would pop the time, so wouldn't get the section ranges. 2) Calculating of upper bound was wrong, checking against -1 and not key == num of keys when doing algo::lower_bound. 3) No need to do the Bck-- for the bakward iterators since we fixed #2. We start now from the upper bound correctly. 4) If we had no keys (at section start,end) we would incorrectly say we were any key type, so since we draw constant keys as dashed we would do so incorrectly around section end points. #jira UE-55929 Change 3941424 by Max.Chen Curve Editor: Change Zoom to Fit to use TArrayView Change 3941498 by Max.Preussner Core: Added FMath::DivideAndRoundNearest function Change 3942097 by Matt.Hoffman Drop Frame Timecode Support for NTSC rates. Change 3942104 by Matt.Hoffman Sequence Recorder Group is no longer visible inside the World Outliner after using one. #jira 55266 Change 3942107 by Max.Chen Sequencer: Resurrect logic to find or extend an existing section when adding keys. Change 3942330 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942339 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942507 by Andrew.Rodham Sequencer: We no longer pad the time overlap threshold with a small number that is not scaled by the current zoom level - The presence of this pad was causing keys that were far apart to be grouped when zoomed in a long way Change 3942509 by Andrew.Rodham Sequencer: Only pad total view range, rather than section range as well when retrieving keys to render - This stops us from rendering keys that are within the view range, but outside the section range Change 3942512 by Andrew.Rodham Added transactions to some sequencer details customizations Change 3942513 by Andrew.Rodham Sequencer: Reinstated validation checks to UMovieSceneSection::SetStartFrame and SetEndFrame, changed erroneous uses to use SetRange Change 3942560 by Andrew.Rodham Pass by rvalue reference to appease error C2719 on Win32 ('InChannels': formal parameter with requested alignment of 8 won't be aligned) Change 3942697 by Andrew.Rodham Newly Created Level Sequences and Actor Sequences now default to 24000 fps frame resolution (+/- ~24hrs range, supporting all integer rates + 23.976) Change 3942700 by Andrew.Rodham Sequencer: Added legacy out-of-bounds errors for times that are not supported by the current legacy upgrade frame resolution Change 3942989 by Max.Preussner Core: Fixed circular queue count calculation Change 3943538 by Max.Preussner MediaAssets: Reverted workaround for procedural audio log spam in HTML5 (Actor component initialization cannot be skipped if the component is used in a level) Change 3944071 by Max.Preussner QAGame: Fixed Media Texture keeps last frame of Media when PIE ends #jira UE-53360 Change 3944292 by Max.Chen Sequencer: Added extra flags to ensure that asset initialization does not occur on template actor sequences #jira UE-56113 Change 3944364 by Max.Chen Sequencer: Prevent circular shot/master tracks. Tested adding master -> child -> master as drag and drop cinematic shot tracks and sub tracks as well as through the + button. #jira UE-56091 Change 3944422 by Max.Chen Sequence Recorder: Disable transform recording if off. #jira UE-56061 Change 3944745 by Andrew.Rodham Sequencer: Key rendering fixes - Fixed assert that occured when keys happened to reside on some times due to KeyTime + TimeOverlapThreshold - KeyTime being slightly larger TimeOverlapThreshold - Fixed keys sometimes being clipped when zoomed right in due to lack of half-frame offset - Added missing documentation to MovieSceneTimeHelpers.h #jira UE-56107 Change 3945231 by Andrew.Rodham Sequencer: Reconstruct channel proxy on Serialize to catch all cases of undo/redo, PostLoad and duplication #jira UE-56089 Change 3945301 by Andrew.Rodham Sequencer: Added safety checks during initial sequence recording to guard against applying negative or 0-sized sequence ranges #jira UE-56125 Change 3946627 by Max.Preussner Fortnite: Fixed game crashes closing editor while in PIE - Pure virtual function being called #jira UE-56144 [CL 3946896 by Max Chen in Main branch]
2018-03-14 22:09:33 -04:00
}
return ScrubTime;
}
FFrameTime FSequencerTimeSliderController::ComputeFrameTimeFromMouse(const FGeometry& Geometry, FVector2D ScreenSpacePosition, FScrubRangeToScreen RangeToScreen, bool CheckSnapping) const
{
FVector2D CursorPos = Geometry.AbsoluteToLocal( ScreenSpacePosition );
double MouseValue = RangeToScreen.LocalXToInput( CursorPos.X );
TSharedPtr<FSequencer> Sequencer = WeakSequencer.Pin();
if (!Sequencer.IsValid())
{
return MouseValue * GetTickResolution();
}
if (CheckSnapping && Sequencer->GetSequencerSettings()->GetIsSnapEnabled())
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3946692) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3801826 by Max.Chen PR #4304: Level Sequence crash fix - Guarded against dereferencing null componen. (Contributed by DSDambuster) Change 3801828 by Max.Chen PR #4302: Movie Scene Visibility Template unitialised variable, causing random . (Contributed by DSDambuster) Change 3801837 by Max.Chen Sequencer: Delay spawning/construction for convert to possessable. This fixes a bug where property values would be lost when converting back and forth from possessable to spawnable. #jira UE-52400 Change 3801841 by Max.Chen Sequencer: Make spacer nodes not selectable. PR #4194: Improvements to Sequencer (Contributed by projectgheist) #jira UE-53117 #jira UE-52139 Change 3804183 by Max.Preussner MediaAssets: Added missing lock in media sound component Change 3805414 by Max.Preussner MediaAssets: Setting valid GUID when initializing media texture resource Change 3819578 by Max.Chen PR #4370: When enabling the "MovieCapture", do not turn off the Stereo-3D display. (Contributed by yehaike) #jira UE-53647 Change 3823414 by Max.Chen Curve Editor: Lock down the first and last keys in the redundant keys removal range so that they're unaffected. #jira UE-53591 Change 3826406 by Max.Chen Sequencer: Move OnStartedPlaying() to within first update in UpdateTimeCursorPosition(). This fixes an issue where setting the hud/player visibility was getting stomped on later. #jira UE-52772 Change 3827044 by Max.Preussner MediaAssets: Added sprite visualization to media sound component #jira UE-53594 Change 3827988 by Max.Preussner MediaPlayerAssets: Fixed Media Texture is not linked to Media Player when created together #jira UE-53532 Change 3828506 by Max.Preussner MediaPlayerEditor: Added attenuation visualizer for media sound components #jira UE-53594 Change 3832590 by andrew.porter EngineTest: Added a keep state check in Property Animation sequencer test Change 3833053 by andrew.porter EngineTest: Adding Hierarchical Bias test Change 3835683 by andrew.porter EngineTest: Adding UMG Animation screenshot test Change 3836076 by Max.Chen Sequencer: Fix audio volume and pitch multiplier deprecation. Change 3836230 by andrew.porter EngineTest: Adding Sequence Bone Position automation test Change 3836347 by Max.Chen Sequencer: Fixes to shot name parsing. When a shot doesn't contain a shot number, assume, [ShotName]_[TakeNumber]. When duplicating a shot, put the new shot in the same path of the original shot, so that the take numbers will increment properly. #jira UE-51868 Change 3836552 by Max.Chen Sequencer: Sub section now has a takes menu Change 3838094 by Max.Chen UMG: Fix template finish not getting called on stop. This fixes a bug where sections aren't restored when finished. #jira UE-52285 Change 3838708 by Max.Chen Sequencer: Add notification when the blend type is changed. #jira UE-54046 Change 3840295 by Max.Chen Sequencer: Fix copy/paste crash for lights #jira UE-54084 Change 3840957 by Mike.Zyracki Added Show Only Keyable and Show Only Animated to the filter list in the property editor. Added IsPropertyAnimated to IDetailKeyframe Interface which already had support for showing properties which are keyable (which is used for the key icon next to the properties.). Could have created another interface but then would have had to mimic the sequencer binding, releasing also, so this seemed best way. One issue still left is that custom built detail items currently don't store associated properties(usually) and so certain properties, in particulalry transforms, won't show up as keyable or animated. Note this also shows up with the keyable icon not showing up next to transform tracks, and other filters like Show Only Modified not working with transforms/customs. Not sure best way to tackle this. #jira UESEQ-328 Change 3841756 by Max.Chen Sequencer: Fix unbound possessable components when pasting spawnables. #jira UE-54104 Change 3843950 by andrew.porter EngineTest: Renaming LevelStreaming tests/content to LevelVisibility Change 3844082 by Mike.Zyracki Missing file for animated filter in property editor. When finding if a track is animated we need to find it but we can't easily induce the MovieTrack class for any particular property. So we don't set a class for it and just search by it's ID and name. #jira UESEQ-328 Change 3846902 by Max.Preussner ImgMedia: Fixed image media player never finished initialization if loading failed #jira UE-54247 Change 3849820 by Mike.Zyracki Reassigning deleted widgets didn't work since the menu extender mechanism needs a valid UObject in order to perform an operation on it. So to fix we replaced GetObjectBindingContextMenuExtender in WidgetBlueprint with new delegate mechanism (OnBuildCustomContextMenuForGuid) that supports FGuid in addition to UObjects which is needed to handle re-binding deleted widgets. Note that the default sequencer hacks this for replacing deleted actors in SequencerObjectBindingNode to check to see if a LevelSequence is active. We could move to this mechanism there also. #jira UE-53163 Change 3852211 by Max.Chen UMG: Indicate name of the property that is not bound. #jira UE-54350 Change 3854120 by Max.Chen Sequencer: Fix sibling folders being allowed to have the same folder name. #jira UE-54363 Change 3854627 by Max.Chen Sequencer: Step to next/previous key should work for all tracks if there aren't any selected. #jira UESEQ-391 Change 3855825 by andrew.porter EngineTest: Adding animation blending automation test Change 3855950 by andrew.porter EngineTest: Adding correct expected valuues to animation blending test Change 3856237 by Matt.Hoffman UESEQ-336 - Sequencer Track Reordering Adds the ability to re-order Master Tracks, Folders and Object Bindings within sequencer hierarchies (including UMG). Adds the ability to do a one-off sorting of the content under the old sorting behavior if the user wants to reset their layout to how it was under legacy behavior. Modifies SequencerTrackNodes, SequencerFolderNodes and SequencerObjectBindingNodes to handle CanDrop/OnDrop for above, below and ontop of. Fixes a Slate Issue that forcibly expanded a TreeviewRow if an item handled OnDrop. Slate will now only forcibly expand the row if the item says the drop happened ontop of the item, and not above or below it like it previously did. Change 3856503 by andrew.porter EngineTest: Adding automation test for using animation blueprint with blend multi node in sequencer Change 3857875 by Max.Chen Sequencer: Assign the sequence id after the template is compiled. #jira UE-54462 Change 3858344 by Max.Chen Sequencer: Prevent Goto and Transform boxes from overlapping by allowing them to be visible at the same time in an autosized horizontal box. Also, added close button to the goto box. PR #4425: Prevent Goto and Transform boxes from overlapping in Sequencer ... (Contributed by projectgheist) #jira UE-54210 Change 3860566 by andrew.porter MediaFrameworkTest: Set the option to index 0 for the audio and video track list by default Change 3860654 by andrew.porter EngineTest: Enabling Camera Cut + FOV test Change 3860981 by andrew.porter EngineTest: Updating skeletal mesh tests with a delay after set playback position Change 3861256 by Max.Chen Sequencer: Add all bindings if none selected. #jira-54440 Change 3862154 by Andrew.Rodham Added TimeManagement module Change 3862424 by andrew.porter EngineTest: Turned on the test Bone Positions with Blend Multi Node Change 3862573 by andrew.porter EngineTest: Adding test to compare bone positions in a sequence that is blending an animation that is using an AnimBP Change 3865117 by Max.Chen Sequencer: Stop auto scroll on mouse release of movement. #jira UE-31212 Change 3865303 by Max.Chen Sequencer: Add drag and drop transactions #jira UE-54662 Change 3865304 by Max.Chen Sequencer: Fix crash when an actor factory is not found. Change 3865361 by Max.Chen Sequencer: Don't change the camera/shot lock button when popping out of a sequence. #jira UE-54665 Change 3865412 by Max.Chen Sequencer: Determine whether a transform track is for a camera by using the spawned object or template #jira UE-54666 Change 3865685 by Max.Chen Sequencer: Clear autoscrub offset when stopping autoscroll #jira UE-31212 Change 3865886 by Max.Chen Sequence Recorder: Log an error if the number of frames changes while recording. This can happen if the skeleton changes while recording. #jira UE-48715 Change 3866925 by Andrew.Porter MediaFrameworkTest: Changing the current PNG test video image sequence to 1024 x 576 Change 3867705 by andrew.porter QAGame: Adding Audio Sort Sequence to dev folder Change 3867890 by andrew.porter QAGame: Adding a sequence for testing a sorting crash to my dev folder Change 3872628 by Max.Chen Movie Scene Capture: Split delay before warmup into split delay before shot warmup so that there's separate controls for when the movie scene capture warmups up vs. shot boundaries. Change 3873131 by Matt.Hoffman UE-54732 - Crash reordering a folder with a track. This was caused by folders being the only type of track to check if someone was putting a parent track into a child track. Object Binding tracks and Tracks now check as well so that you can't use the above/below drop targets to add parents as children. This also fixed a typo in the localization keys. #jira UE-54732 Change 3873301 by Mike.Zyracki Added ability to support continous euler angle changes when changing rotations, in particularly with the rotation gizmo's. To do this we effectively added a form an of 'euler filter'(https://en.wikipedia.org/wiki/Euler_filter) to find the closest euler angle to the current euler angle. Three functions were added to FRotator to make this possible, one to get the euler angle that's has the same rotation as it, one to get the difference between two euler angles via Manhattan distance and a third using the previous two to choose a Rotator value that's closest to it. We then use these functions before calling UComponent::SetRelativeRotation to make sure we use the correct Euler after the Quat conversion. We also no longer limit(bound) the euler angles to -180,180, which is obviously necessary to avoid flips. I also changed how we caluclate yaw and roll when pitch is -90 or 90 to make it the standard approach of zeroing out roll and just setting yaw. Main reasons are the previous implementation had precision issues so things like 180, 90, -180 would show up due to numbers being nearly zero but negative,(this would break any smooth interpolations), and this facilitates having a 'gimbal' rotation mode (like Maya, Blender etc..) if we ever want that also. If needed we could keep the previous implementation but would need to add some FMath::IsNearlyZero checks, with less performance. Note we only do this special filtering when applying delta's to actors or components in the editors, which then call UComponent::SetRelativeRotationExact, which is a new function to foces the RelativeRotation to be equal to the new rotation. This allows us to store un-nomalized Rotators at the cost that the RotationCache may be broken. We didn't change any of the other UComponent functions that set rotations (via Quats or Transforms) so they will still be bounded and unwound. In SetInternalWorldLocationAndRotation we only set the rotation if the rotation has changed, which fixes the rotation getting changed and re-normalized if just translate happens. In TransformTrackEditor, we correclty use the bUndwing flag and in MovieScene3DTransformSection there was an un-needed winding check there, it will be unwound earlier if needed, which happens if Sequence Recording is happening. Max we should talk about what to do about this . Note the euler angle drag via the widget is still bound to 0-360. I think we should just unbound that now since the rotations value are now unbound. This review now includes fixes suggested by Zak. #jira UE-UE-22228 Change 3873483 by Matt.Hoffman Sequencer Tracks can now be inserted above the spacer at the bottom of the tree. #jira UE-54706 Change 3873899 by Max.Chen Sequencer: Add section selection throbbing Change 3873908 by Max.Chen Movie Scene Capture: Added logging per frame Change 3873924 by Matt.Hoffman Adds the ability to store Sequence Recorder setups into profiles that stay with the map and can be re-loaded later. Profiles store the Actor Recordings so the settings for each actor should carry with them. #jira UESEQ-339 Change 3874726 by Matt.Hoffman Disable drag-and-drop targets on spacers that come between rows in Sequencer. This prevents extra drag/drop targets showing up between each row. #jira UE-54706 Change 3874862 by Matt.Hoffman Audio Track no longer gets reordered when adding sub-audio tracks, as sub-tracks are no longer counted towards the sorting order index when normalizing indexes. #jira UE-54727 Change 3875905 by Matt.Hoffman Disable Fade Track UI if a fade track already exists in the sequence. #jira UESEQ-393 Change 3876163 by Max.Chen Sequencer: Swap the camera object to the camera component's owner if it's not the same. #jira UE-54874 Change 3876971 by Andrew.Porter EngineTest: Moved Media Player Seek test to new folder. Also enabled the test with new ground truth image. Change 3877040 by Max.Chen Cine Camera: Split camera properties to two groups, "Camera Options" and "Camera Settings". The cine camera now hides properties in the "Camera Settings" group so that properties like bConstrainAspectRatio (in the "Camera Options" group) can be visible. #jira UE-54192 Change 3877763 by Max.Chen Curve Editor: Fix curve changed on end drag so that only curves that had keys/tangents that were changed receive notification, otherwise all loaded curves were getting notified that they were changed. #jira UE-54951 Change 3878234 by Matt.Hoffman Disable "Drop Below" targets for Sequencer Tree nodes to prevent a confusing UX issue where dropping underneath a Object Binding Node puts it after the object binding node but the UI looks like it's inserting it inside the Object Binding node. #jira UE-54743 Change 3879359 by Mike.Zyracki If a track is inactive we dim it a bit which seems to be the UE4 way to show inactive or disabled state. We changed the active logic so that all subtracks need to be inactive for the track to also be inactive(instead of all active for active). This conforms to how the active state actually works, e.g if you have two sections and only one is active the track is still active above it. #jira UESEQ-388 Change 3879462 by Max.Chen Sequencer: Allow dragging onto a particular row which would move out any overlapping sections to make space for the newly created section. Newly created sections are now selected and throbbed to draw attention to themselves. #jira UE-54664 Change 3879464 by Max.Chen Sequencer: Fixed overlapping ranges being inserted into the evaluation field during compilation - The issue was that track segments that had been combined with adjacent segments (due to them being identical) would potentially cause a subsequently compiled frame to overlap with a range that had already been inserted into the evaluation field. - The insertion code previously asserted that only minor overlaps were catered for (due to fp rounding errors) and assumed that a supplied range could not entirely contain any other range in the field. - The solution is to supply the insertion time along with the range to know exactly where the data should live in the field, and crop the range to the maximum allowable space between adjacent ranges. #jira UE-54922 Change 3879590 by Matt.Hoffman Items that are now added to the Sequencer via the "+Track" menu will be selected after being added. Items can now be added inside of folders instead of just to the root level. #jira UE-27397 Change 3879612 by Mike.Zyracki Display Nodes with no children are always active. #jira UESEQ-388 Change 3879730 by Matt.Hoffman Sequence Recorder's actor recording groups now remove items from the group when removed via the UI. #jira UESEQ-339 Change 3880256 by Mike.Zyracki Fix issue with inactive display with folders and other track nodes. #jira UESEQ-388 Change 3883491 by Max.Chen Fix issue where tick is skipped due to last ticked pose isn't cleared after AnimInstance changes. Copy from Release-4.19 #jira UE-51323 Change 3883603 by Max.Chen Movie Scene Capture: Add option toggle disable screen percentage. By default this is on (no change in current behavior). #jira UE-51898 Change 3885074 by Max.Preussner MediaCompositing: Resetting media texture & freeing resource on section end; removed dead code Change 3887220 by Max.Preussner MediaCompositing: Defaulted media section duration to 1 sec (since we do not know the actual duration in most cases) Change 3887478 by Matt.Hoffman Sequences now show [Inactive] in their title bars when they're disabled. This helps communicate why a sequence isn't being evaluated. #jira UE-51469 Change 3888985 by Max.Chen Movie Scene Capture: Clamp HDR Compression Quality between 0 and 1. #jira UE-55136 Change 3893519 by Max.Chen Sequence Recorder: Clarified tooltip for bRecordNearbySpawnedActors - spawned actors will still be recorded if they match the ActorFilter. #jira UE-55238 Change 3893546 by Max.Chen Sequence Recorder: If a selected actor already has a recording, add a blank recording. #jira UE-55239 Change 3894044 by Max.Preussner MediaCompositing: Added support for seeking into a media section Change 3894310 by andrew.porter MediaFrameworkTest: Adding Img media sources for 1080 and 2160 ravent test content Change 3894426 by Max.Preussner MediaAssets: Letting media textures with AutoClear retain their clear color when player is reset Change 3895717 by Max.Chen Sequencer: Null checks to prevent crash when saving the default state of a spawnable #jira UE-55304 Change 3897388 by Max.Chen Sequencer: Don't update current time to be within the view range when stepping into a sequence. #jira UE-55322 Change 3897452 by Max.Chen Audio: Fix crash when trying to record audio without any active capture devices. Log warning if the number of input channels is not 1 or 2. #jira UE-55223 Change 3897619 by Max.Preussner MediaCompositing: Removed commented out code Change 3898072 by Max.Chen Sequencer: Override the animation asset in the player state if it doesn't match the animation asset that's being evaluated. #jira UE-55328 Change 3898272 by Max.Preussner MediaPlayerEditor: Made slate brush constants static Change 3898704 by Max.Chen Sequencer: Skip if the binding id's sequence can't be found. #jira UE-55337 Change 3899855 by Max.Preussner MediaCompositingEditor: Added cache state visualization to media track Change 3900300 by Max.Preussner MediaCompositingEditor: Added loop indicators to media sections Change 3900694 by Max.Preussner ImfMedia: Looping cache only when player is looping Change 3900892 by Max.Preussner Stats: Added stats category for media framework Change 3900954 by Max.Preussner MediaCompositing: Don't evaluate at the end of media section Change 3901348 by Max.Preussner Core: Replaced TLruCache autos for better readability Change 3901655 by Max.Preussner ImgMedia: Added more perf stats to EXR reader Change 3901972 by Max.Preussner MediaAssets: Added getter for media player in media sound components Change 3902233 by Max.Preussner MediaAssets: Enabling media textures to receive samples right after player is assigned Change 3902238 by Max.Preussner MediaCompositing: Working around init/shutdown idiosyncracies in sequencer Change 3904045 by Max.Chen Sequencer: Fix copy/paste crash. Only process UMovieSceneCopyableBinding and objects that can be spawned by the movie scene spawn register. #jira UE-55314 Change 3905605 by Max.Chen Sequencer: Restrict spawnables from being created if they have a ClassWithin that UMovieScene is not a child of. #jira UE-55429 Change 3906550 by Max.Chen Sequencer: Add media track icon #jira UE-55480 Change 3907101 by Max.Chen Sequence Recorder: Fix bugs related to not recording a level sequence. There were certain assumptions that creating a level sequence meant that sequence recording was in progress. This is not always the case - the recorders can record animation assets and not create a level sequence. Changed the notion of IsRecording() to having at least one actor recording that is recording. Countdown timer, recording displays, etc should function if IsRecording() and not based on whether a level sequence is created. #jira UE-55485 Change 3907247 by Max.Chen Sequence Recorder: Fix crash not removing PrepareToCleanseEditorObject delegate. Repros when opening sequence recorder, closing it, and then opening or creating a level. Change 3910343 by Max.Preussner Core: Added async helper for executing functions on a given thread pool Change 3910346 by Max.Preussner ImgMedia: Added separate thread pools for loading/decoding and deleting image frames Change 3910829 by Max.Preussner Profiler: Increased visible range of profiler graph Change 3910841 by Max.Preussner MediaCompositing: Displaying asset name instead of full media source path in media section Change 3910870 by Max.Preussner ImgMedia: Using deallocation thread pool only in debug builds Change 3919642 by Max.Chen Sequence Recorder: Clarify active tooltip #jira UE-55661 Change 3919660 by Max.Chen Sequencer: Sequence template source signatures are now also compared to catch the case where a sub-sequence asset has been saved but not modified - The following sequence of events exposes this issue: - Create a master sequence with a single shot that spawns a cube - Add this sequence to a level and set it to auto-play - Save everything and restart - Resave just the inner shot asset without opening it - PIE - The inner shot never spawns its cube because its template was wiped on save, but its signature never changed. Since the master sequence previously didn't check the template source signature, it ends up trying to evaluate an empty template. #jira UE-55626 #jira UE-55490 Change 3921825 by Max.Chen Sequencer: "Run Construction Script in Sequencer" is off by default for blueprints but on for Sequencer. This allows the content author to switch it on for specific blueprints and sequencer will be default, run those with construction scripts enabled. Change 3922232 by Max.Chen Sequence Recorder: Reset countdelay on stop. #jira UE-55755 Change 3922306 by Max.Chen Sequence Recorder: Don't automatically mark transforms to be recorded by sequence recorder. Instead, log a warning if the user toggled it off to warn that the resulting animation might not match gameplay. #jira UE-55758 Change 3922912 by Max.Chen Sequence Recorder: Fix refresh next sequence name #jira UE-55757 Change 3927654 by Max.Chen Movie Scene Capture: Added format mapping for the name of the current camera #jira UE-55769 PR #4537 Change 3927658 by Max.Chen Sequencer: Added fbx property mapping for "FocusDistance" to "FocusSettings.ManualFocusDistance" #jira UE-55782 Change 3932022 by Max.Chen Sequencer: Add import animation track section to next available row index. #jira UE-55892 Change 3933919 by Max.Chen Sequencer: Jump to playback start frame and not 0 to start playback for recording. #jira UE-55933 Change 3934307 by Andrew.Rodham Sequencer: Add template signature that is re-generated every time the base template is regenerated, which invalidates evaluation fields This fixes an issue where the same sequence is instantiated multiple times in a sequence. If the source sequence was saved, its template would be wiped, which would invalidate the template ID When an instance tries to evaluate the master template, it would only invalidate a range in the evaluation field that was the hull of any invalid sub sequences overlapping the current time, potentially leaving invalid data in the evaluation field at positions later (or earlier) on in the sequence When the sub template was re-generated, it receives the same SequenceSignature as it had before (because the sequence hasn't actually changed), which causes the stale evaluation field data to fail the IsDirty check (because the sequence is the same as it thought, but the *template* has changed) This has been addressed be adding a signature to templates themselves, and checking both the template signature and sequence signature as a part of the IsDirty check. This ensures that we regenerate if either the template, or the sequence have changed. #jira UE-55934 Change 3936327 by Andrew.Rodham Sequencer: Removed increment when trimming right UMovieSceneSection::TrimSection already explicity assigns an exclusive bound to the time passed in. The new behavior means we can trim a section to the right, and insert another section without changing the time to create adjacent sections. #jira UE-42652 Change 3936328 by Andrew.Rodham Fixed KeyFrameManipulator assignment operators and copy/move constructors - These types are potentially self-referential so cannot use default constructors/assignment Change 3936330 by Andrew.Rodham Converted UMGSequencePlayer to use frames internally #jira UE-54878 Change 3936726 by Max.Chen Sequencer: Set track node as the parent of the key area node. The key area switcher needs the object binding id from the parent object binding node. Without this, the binding to the external value fails. #jira UE-55931 Change 3936775 by Max.Chen Sequencer: Should stop or loop should compare DurationFrames with Current Time from StartTime. The bug is that if you set 30 warmup frames in movie rendering for a range of 0-100, the FrameRange will be starting at -30 and have a duration of 130. Without this fix, the playback will continue until frame 130, rather than 100. #jira UE-55933 Change 3936935 by Matt.Hoffman Easing Curves are now represented in Play Rate resolution instead of internal resolution. #jira UE-55937 Change 3937069 by Matt.Hoffman Users can toggle if the is infinite on each side, limited by which tracks support infinite ranges. #jira UE-55891 Change 3937516 by Max.Preussner ImgMedia: Added support for single-threaded platforms #jira UE-55986 Change 3937826 by Max.Preussner MediaAssets: Disabling media sound components on HTML5 if AudioMixer is not enabled Change 3937997 by Max.Chen Curve Editor: Add Zoom to Fit Curves so that selected curves from Sequencer can be focused on. Tested that undo doesn't re-zoom. #jira UE-55935 Change 3938000 by Max.Chen Sequencer: Stop all sounds before generating audio waveforms. #jira UE-55951 Change 3938376 by Max.Preussner XGEController: Disabled XGE Controller in single-threaded apps to prevent crash Change 3938444 by Max.Preussner Core: Added async support for single-threaded applications Change 3938445 by Max.Preussner Networking: Added support for single-threaded applications in UDP socket sender/receiver Change 3938447 by Max.Preussner Messaging: Added support for single-threaded applications Change 3939432 by Max.Chen Sequence Recorder: Append command list to global level editor actions so that shortcuts are accessible in level editor. #jira UE-55798 Change 3940229 by Andrew.Rodham Added prospective display rate upgrade to UMovieScene::PostLoad - There was previously some very odd behaviour that would assign the fixed frame interval only when a sub sequence was focused in SSequencer. This meant that many sequences could have a frame interval of 0 set in the data. - Under the old method of snap interval display this would have fallen back to getting the display interval from the sequencer settings, but we no longer look at these. - The USequencerSettings properties have been removed and in their place, a prospective data upgrade for sequences that have a fixed frame interval old 0fps that sets the play rate to the previous defaults based off the old USequencerSettings defaults. - This could end up 'changing' the display rate for sequences where the user has changed the snap interval in the settings for a particular sequence editor, but there's not much we can do about that given we don't have access to the USequencerSettings classes in UMovieScene #jira UE-55919 Change 3940277 by Andrew.Rodham Sequencer: Added ability to default frame resolutions and play rates for newly created actor sequences Change 3940378 by Andrew.Rodham Sequencer: Post move import dialog now defaults to the playback framerate of the sequence, and floors to frame numbers Change 3940559 by Andrew.Rodham Reinstated primed or recording sequence color Change 3940642 by Max.Preussner ImagePlate: Removed image plate media playback functionality Change 3940843 by Max.Preussner Core: Made TCircularQueue actually thread-safe; improved code comments Change 3940860 by Max.Chen Sequencer: Changed StructNameToKey to StructPathToKey Previously, keying a PropertyPath of [RenderTransform][Shear][X] would get trimmed to X, which doesn't map to a channel name as considered by Sequencer2dTransformTrackEditor. Instead, trim the resulting property path to [Shear][X] so that track editors can determine the desired struct path and channels to key. #jira UE-52966 Change 3941292 by Mike.Zyracki Fix for trajectories out of range not showing up. 1) If we had no key data we would pop the time, so wouldn't get the section ranges. 2) Calculating of upper bound was wrong, checking against -1 and not key == num of keys when doing algo::lower_bound. 3) No need to do the Bck-- for the bakward iterators since we fixed #2. We start now from the upper bound correctly. 4) If we had no keys (at section start,end) we would incorrectly say we were any key type, so since we draw constant keys as dashed we would do so incorrectly around section end points. #jira UE-55929 Change 3941424 by Max.Chen Curve Editor: Change Zoom to Fit to use TArrayView Change 3941498 by Max.Preussner Core: Added FMath::DivideAndRoundNearest function Change 3942097 by Matt.Hoffman Drop Frame Timecode Support for NTSC rates. Change 3942104 by Matt.Hoffman Sequence Recorder Group is no longer visible inside the World Outliner after using one. #jira 55266 Change 3942107 by Max.Chen Sequencer: Resurrect logic to find or extend an existing section when adding keys. Change 3942330 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942339 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942507 by Andrew.Rodham Sequencer: We no longer pad the time overlap threshold with a small number that is not scaled by the current zoom level - The presence of this pad was causing keys that were far apart to be grouped when zoomed in a long way Change 3942509 by Andrew.Rodham Sequencer: Only pad total view range, rather than section range as well when retrieving keys to render - This stops us from rendering keys that are within the view range, but outside the section range Change 3942512 by Andrew.Rodham Added transactions to some sequencer details customizations Change 3942513 by Andrew.Rodham Sequencer: Reinstated validation checks to UMovieSceneSection::SetStartFrame and SetEndFrame, changed erroneous uses to use SetRange Change 3942560 by Andrew.Rodham Pass by rvalue reference to appease error C2719 on Win32 ('InChannels': formal parameter with requested alignment of 8 won't be aligned) Change 3942697 by Andrew.Rodham Newly Created Level Sequences and Actor Sequences now default to 24000 fps frame resolution (+/- ~24hrs range, supporting all integer rates + 23.976) Change 3942700 by Andrew.Rodham Sequencer: Added legacy out-of-bounds errors for times that are not supported by the current legacy upgrade frame resolution Change 3942989 by Max.Preussner Core: Fixed circular queue count calculation Change 3943538 by Max.Preussner MediaAssets: Reverted workaround for procedural audio log spam in HTML5 (Actor component initialization cannot be skipped if the component is used in a level) Change 3944071 by Max.Preussner QAGame: Fixed Media Texture keeps last frame of Media when PIE ends #jira UE-53360 Change 3944292 by Max.Chen Sequencer: Added extra flags to ensure that asset initialization does not occur on template actor sequences #jira UE-56113 Change 3944364 by Max.Chen Sequencer: Prevent circular shot/master tracks. Tested adding master -> child -> master as drag and drop cinematic shot tracks and sub tracks as well as through the + button. #jira UE-56091 Change 3944422 by Max.Chen Sequence Recorder: Disable transform recording if off. #jira UE-56061 Change 3944745 by Andrew.Rodham Sequencer: Key rendering fixes - Fixed assert that occured when keys happened to reside on some times due to KeyTime + TimeOverlapThreshold - KeyTime being slightly larger TimeOverlapThreshold - Fixed keys sometimes being clipped when zoomed right in due to lack of half-frame offset - Added missing documentation to MovieSceneTimeHelpers.h #jira UE-56107 Change 3945231 by Andrew.Rodham Sequencer: Reconstruct channel proxy on Serialize to catch all cases of undo/redo, PostLoad and duplication #jira UE-56089 Change 3945301 by Andrew.Rodham Sequencer: Added safety checks during initial sequence recording to guard against applying negative or 0-sized sequence ranges #jira UE-56125 Change 3946627 by Max.Preussner Fortnite: Fixed game crashes closing editor while in PIE - Pure virtual function being called #jira UE-56144 [CL 3946896 by Max Chen in Main branch]
2018-03-14 22:09:33 -04:00
{
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 4044339) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3947021 by Max.Chen Sequencer: Don't preserve root component when copying object properties. A spawnable empty actor, has a root component that is generated by the empty actor factory. If the object template's root component is preserved when copying from the spawnable empty actor, the root component will not be copied over. Therefore, we need to NOT preserve the root component when copying object properties. #jira UE-55825 Change 3947366 by Max.Preussner WmfMedia: Better log output Change 3947367 by Max.Preussner MfMedia: Better detection of compressed format properties on Windows Change 3949102 by Max.Chen Sequencer: Remove SequenceActorTag when converting to possessable. #jira UE-56206 Change 3949207 by andrew.porter EngineTest: Set the screenshot nodes resolution to 1280x720 Change 3949404 by Max.Chen Sequencer: More informative tooltip for "Rerun Construction Scripts" option. It now says "Rerun construction scripts every frame on actors that have 'Rerun Construction Script in Sequencer' enabled in their class settings". Change 3950067 by Matt.Hoffman Renamed UAutomatedLevelSequenceCapture's StartFrame and EndFrame to CustomStartFrame/CustomEndFrame to reflect that it is user-overriden. This will also resolve upgrade issues due to the variable datatype changing. #jira UE-56189 Change 3950193 by JohnHenry.Carawon Updating my latest MovieRendering test content. Change 3950757 by JohnHenry.Carawon More updates to MovieRendering test content Change 3952059 by Max.Chen Resave LevelVisibility_SubLevels to fix data loss conversion warning of OpacityMaskConstant #jira UE-56086 Change 3952283 by Max.Chen Sequencer: Disable dropping level sequence assets as spawnables. #jira UE-56120 Change 3952422 by Max.Chen Sequence Recorder: Add button to record from the current player. #jira UE-55942 Change 3952987 by JohnHenry.Carawon MovieRendering Test Content - Fixing camera bindings and changing the override binding actor Change 3953823 by Mike.Zyracki Fix for Bad FBX Import Tangents not scaled by frame rate. After looking at this again it seems that a set of MovieScene:: overiddes for the channel traits wasn't set correctly, so use the ADL idiom to use MovieScene, which can then call Optimize in the correct namespace. With this we can now correctly use the passed in tolerance. There was also a redundant set of Optimize calls so that it could happen twice so removed them, and needed an extra check in the float channel Optimize. Also since we need to set auto tangents no matter if we optimize we don't set that parameter(though leave it since it's used by context menu key reduction). Finally fixed speed issue with trajectories caused by calculating way too many substeps. Reverted back to a time based step size for consistency. #jira UE-56193 Change 3954317 by Matt.Hoffman Adding a key to the last frame of a section no longer causes a crash. Keys can already be moved to be on the last frame of a section so now you can just add a key there directly. #jira UE-56255 Change 3954326 by Matt.Hoffman Dilating a section that is only infinite on one side no longer causes a crash. #jira UE-56260 Change 3954486 by Max.Chen PR #4580: Exposes IsReversed() from UMovieSceneSequencePlayer (Contributed by alanedwardes) Change 3955238 by Max.Preussner Messaging: Enabled delayed message routing https://github.com/EpicGames/UnrealEngine/pull/4574 #jira UE-56247 Change 3955901 by Max.Preussner MediaFrameworkTest: Added developer test for overriding desired media player plug-in at runtime. Change 3955922 by Andrew.Porter QAGame: Updating movie rendering content in dev folder Change 3956004 by andrew.porter QAGame: Adding MPC track to movie rendering test content Change 3956510 by Max.Chen Sequencer: Fix fbx camera import of static properties so that they are imported before default tracks are created. Otherwise, the default tracks inherit the default properties of the camera, rather than the values from the fbx. #jira UE-56311 Change 3957613 by Max.Preussner MediaUtils: Added code documentation to media player facade Change 3958005 by Max.Preussner MediaUtils: Added method to get number of sinks Change 3958934 by Max.Chen Sequencer: Fix keys getting added and sequence getting erroneously re-evaluated when auto key is off. Only apply defaults if there are no keys. Only modify the movie scene section before creating keys or setting defaults. #jira UE-55903 Change 3959687 by Andrew.Rodham Sequencer: Fixed visibility track external values being inverted #jira UE-56324 Change 3960507 by Max.Preussner Core: Fixed incorrect rounding in FMath::DivideAndRoundNearest Change 3962047 by JohnHenry.Carawon MovieRendering Test Content Changes: - Add Lightmass Importance Volumes to sublevel to fix warnings - Rebuilt Lighting - Add a third sequence for Gamut testing - Resaved the sound master.uasset to fix warning Change 3962211 by Mike.Zyracki Add Frame Numbers to selected animation sections. Added MapTimeToAnimation to MovieSceneSkeletalAnimation so that we could get it from the Skeleton Animation track Editor. Since the thickness of the frame line can change based upon frame rate and zoom we need to calculate it similarly to how the time slider controller does it. Those calculations were private so we had to expose FScrubRangeToScreen and GetScubberPixelRange from the TimeSliderController. Also needed to know if the section itself was selected so added a bIsSelected flag to the section Painter. Also fixed a bug where you couldn't add a section if other sections existed at different times in MovieScenePropertyTrack and could crash due to the check(). #jira UESEQ-395 Change 3962497 by Max.Preussner Core: Added new string formatting argument to FTimespan Change 3963662 by Max.Chen CineCamera: Flip VistaVision width and height. Change 3963731 by Max.Preussner MediaCompositing: Implemented sequence recording support for media track Change 3964195 by Andrew.Rodham Sequencer: Set inverted property correctly for newly created visibility track sections - Also clamp evaluation for key editors to the bounds of the section so we're not displaying values outside of the section bounds when the cursor is not on the bounds #jira UE-56324 #coderevew Max.Chen Change 3964196 by Andrew.Rodham Sequencer: Fixed crash when attempting to render sections that resulted in a negative intersection with the view range Change 3964275 by Andrew.Rodham Sequencer: Fixed MovieScene::ClampToDiscreteRange for infinite range bounds Change 3964364 by Andrew.Rodham Curve Editor: Reduce minimum vertical view range when zooming to fit Change 3965091 by Max.Chen Sequencer Recorder: Refresh next sequence if empty when starting a recording, otherwise, use existing name. #jira UE-56469 Change 3965148 by Max.Chen Sequence Recorder: Move Record to Possessable to "Actor Recording" group Change 3965162 by Max.Chen Sequence Recorder: Always break out of immersive mode when done recording, even when stopping recording during countdown. #jira UE-56407 Change 3965214 by Max.Preussner QAGame: Enabled ImagePlate plug-in Change 3965574 by Max.Preussner SimpleComposure: Reorganized & upgraded content to work with new Media Track #jira UE-56488 Change 3965651 by Max.Preussner MediaCompositing: Ignoring seek-on-open if media not seekable Change 3966075 by Christina.TempelaarL Sequencer: Added Final Cut Pro 7 XML Export functionality #jira UESEQ-358 Change 3966087 by Matt.Hoffman Adding a single key to the Particle Toggle track now makes an infinite range section that is displayed in the UI. #jira UE-56295 Change 3966547 by Andrew.Rodham Sequencer: Fixed rounding errors when drawing the section background on boolean sections - Logic was using time in sectonds which caused rounding errors on evaluation and flickering red/green stripes when dragging keys around #jira UE-56324 Change 3966563 by Andrew.Rodham Curve Editor: Key editor interface improvements - SKeyEditInterface has a few problems - it does not update in real time when editing properties, and does not support multi-edit which makes it unsuitable for use with the curve editor - We now take a different approach for editing keys by gathering a set of proxy UObjects for each key that is currently selected. These objects are added as top level objects to the details panel which means they support multi edit as you'd expect from any other details panel in the editor. - Proxy objects are updated every tick for the curve editor if they implement the ICurveEditorKeyProxy interface, which allows them to refresh their current value. - Ideally, the same mechanisms would be used in the main sequence interface, and we would be generating the proxy classes at runtime based on the key value type, but that work remains a separate task from this initial offering. #jira UE-56165 Change 3966564 by Andrew.Rodham Curve Editor: Expand to frame when adding or moving keys in the curve editor Change 3967051 by andrew.porter MediaFrameworkTest: Set the CameraPlayer_Video texture to auto clear Change 3967141 by Andrew.Rodham Sequencer: Keep track of spawned objects that have been modified and only re-save such object's default spawnable state on destruction - Now that we're taking this approach, I've remove serveral redundant bits of functionality in the spawn register such as making some spawnables read-only, and the PreSave binding for Sequencer. - We now hook into all object pre-saves to make sure we handle the case where the sequences are saved through the content browser or elsewhere. #jira UE-47686 Change 3967170 by Andrew.Rodham Sequencer: Added the ability to possess anim instances as object bindings - This allows full and direct animation of properties on UAnimInstance, and animation blueprints - Object Bindings are made by first possessing a skeletal mesh component, then choosing the + Add button where its anim instance will be listed - Added a new function to UMovieSceneSequence to gather previously cached objects that should now be invalidated. Anim instances will be re-resolved if a new UAnimInstance is assigned to USkeletalMeshComponent::GetAnimInstance. - ObjectBindingIDs for anim instances are just represented by an entry in a set of GUIDs. We only ever resolve such bindings through USkeletalMeshComponent::GetAnimInstance. - Only currently supported on LevelSequences #jira UE-56132 Change 3967195 by Max.Preussner Core: Updated TRangeSet to use TCallTraits Change 3967345 by JohnHenry.Carawon Test Content Changes - first iteration of spacing out the examples in the shots. Change 3967572 by Max.Chen Sequencer: Fix setting PreviousPlayEvalPosition until after we've tested whether it's set. #jira UE-56518 Change 3967750 by Max.Chen Audio: Set duration based on number of input channels, rather than number of channels to serialize. This fixes an issue where audio split into 2 channels is set to a duration that's twice as long. #jira UE-56430 Change 3967836 by Max.Chen Sequencer: Allow for animating array elements within ustruct properties #jira UE-55887 Change 3968506 by Matt.Hoffman Fixed ambiguous conversions for seconds and frames being overriden by ambiguous conversion to Timecode (in frames). Change 3968748 by Max.Chen Sequencer: Make the event properties submenu widget larger. #jira UE-55557 Change 3968862 by Max.Chen Sequencer: Recursive expansion when shift is down #jira UE-52139 #pr 4194 Change 3968863 by Max.Chen Sequencer: Bind rename command to selected track so that F2 shortcut start renaming #jira UE-52139 #pr 4194 Change 3968872 by Max.Chen Sequencer: Rekey the selected key at the current time. #jira UESEQ-396 Change 3968938 by Max.Chen Cine Camera: Add option to toggle the behavior of locking the rail mount to the orientation of the spline. By default, the option is off, no change in behavior. #jira UE-55815 Change 3968958 by Andrew.Rodham Sequencer: Consider vertical position when hittesting keys #jira UE-56256 Change 3969643 by Max.Preussner Core: Rounding timespans created from double values towards nearest ticks Change 3969646 by Max.Preussner MediaUtils: Implemented timeout mechanism for block-on-fetch feature Change 3969776 by Mike.Zyracki Added Skip Anim Notifiers Toggle per what was in Matinee. Investigated the Enable Root Motion toggle as also discussed but it's implementation is directly contained by the animation asset and unlike animation notifies there seems to be no exposure to interactively disable it during a playback tick. Note if we are generating thumbnails we still automtically disable notifies in the editor to avoid annoying noise playback. Note that if Enable Root Motion/Root locked is specified in the animation asset it does correctly effect the Sequencer. #jira UESEQ-399 Change 3969835 by Matt.Hoffman Playback Range and Selection Range use unified logic for adding themselves as potential snap locations which properly handles inclusive/exclusive bounds. This resolves an issue where having an unset selection range caused a potential snap location to be added on frame 0 and 1 (internal resolution) which caused a misalignment when placing objects near frame 0. This also removes the one frame offset on setting Selection Range to bring behavior inline with other ranges. #jira UE-55420 Change 3969885 by Max.Preussner MediaAssets: Don't register media player CDO with media ticker Change 3971129 by Andrew.Rodham Sequencer: Fixed UMovieSceneSequencePlayer::GotToEndAndStop() not taking into account for start time This is a remnant from when the times were always specified in 0-duration space, rather than actual sequence times. Change 3972056 by JohnHenry.Carawon More updates to Test Content. I continued spacing out the examples in the sequence so that they have a consistent number of frames between each example and during the start/end of the example. Also removed the Marcie sublevel. Change 3972066 by Andrew.Porter MediaFrameworkTest: Setting Marcie folder to be never cooked in package settings Change 3972675 by Matt.Hoffman Splitting Subsequence Sections no longer sets an incorrect playback range on the subsequence when the subsequence has a different internal resolution than the owning sequence. #jira UE-55453 Change 3973376 by Max.Preussner ImgMedia: Zero is the only valid video track for image sequences Change 3973489 by Max.Preussner Launch: Build rules cleanup pass - don't use Media, MediaUtils on server apps - don't link against Media (include-only dependency) - don't include from MediaAssets (dynamic load only) Change 3973760 by Max.Preussner MediaUtils: Moved AppMediaTimeSource implementation into its own file; added logging Change 3973765 by Max.Preussner ImgMedia: Disallowing seek beyond media length Change 3973855 by Max.Preussner MediaFrameworkTest: Updated developer test content Change 3973858 by Max.Preussner MediaCompositing: Blocking on media player time instead of media sample time (the former may not be hit in the current frame) Change 3974988 by Max.Chen Sequencer: Fix trim left so that it also sets the start offset for audio and skeletal animation sections. #jira UE-57015 Change 3976101 by Matt.Hoffman Sequencer will now focus the scroll view on newly created items. #jira UE-56492 Change 3976203 by Max.Chen Property Editor: Add DetailsViewArgs for ColumnWidth. Defaults to 0.65f, no change in existing behavior. Change 3976205 by Max.Chen Sequencer: Set better column widths for sequencer. #jira UE-55557 Change 3976206 by Max.Chen Sequencer: Added menu category for import/export Change 3976265 by Matt.Hoffman Tracks within Object Binding Nodes will now sort using the old behavior so that components are added above other track types. #jira UE-56473 Change 3976901 by Max.Chen Sequencer: Add event names to event track section #jira UESEQ-353 Change 3977878 by Max.Preussner Media: Moved media framework ticking stats into Media module Change 3977982 by Max.Chen Sequencer: Add Edit->Reset section length to duration of source (ie. audio, skeletal animation, shot length) Added MovieSceneSection::GetDefaultDuration and MovieScene::HasDefaultDuration #jira UESEQ-392 Change 3977994 by Max.Preussner Media: Fetching and rendering media samples before viewports are rendered (to ensure frame sync for in-level media playback) #jira UE-53975 Change 3978188 by Matt.Hoffman Easing Curves are now clipped by the sequence's PlayRange when testing against an infinite section. This causes blended sequences to finish their blend when the section starts/ends instead of always using 25% of the total section length to determine default blend range. #jira UE-56362 Change 3978676 by Max.Preussner MediaCompositing: Fixed first frame of rendered out media track missing #jira UE-53975 Change 3978684 by Max.Preussner MediaCompositing: Enabled media track frame sync feature #jira UE-53975 Change 3980026 by Matt.Hoffman Keys can be selected on folded out sections (such as an audio track expanded to show volume and pitch) again. #jira UE-57169 Change 3981614 by Max.Preussner MediaUtils: Added missing subtitle sample queue flush Change 3982311 by Max.Preussner MediaCompositing: Added safeguard for zero length media sources Change 3982389 by andrew.porter QAGame: Adding media track test content into FrameAccuracySubscene Change 3983661 by Max.Chen Sequencer: Add level name to spawn a spawnable into. Add sublevel menu option to set the level #jira UESEQ-390 Change 3983712 by Andrew.Rodham Sequencer: Purge legacy blueprint spawnables from LevelSequence packages #tests Ran a preflight for cooking fortnite, ocean and Orion. Only orion shows up this edge case, and will require a re-save of the EndCines level #jira UE-39173 Change 3983787 by Max.Preussner MediaCompositing: Moved compile time switch for block-on-fetch into media player facade Change 3983812 by Andrew.Rodham Sequencer: Exposed default level sequence instance data to blueprints Change 3984373 by Max.Preussner Media: Added API for quering whether player plug-in supports block on fetch Block on fetch allows Sequencer and other systems to block the game thread until a desired video frame has been decoded. Change 3984670 by JohnHenry.Carawon Movie Rendering Test Content progress. Saving the state of the content. There is a bug where things got replaced with particle emitters and I think it was because I tried to copy paste an animation track into a separate skeletal mesh track. Change 3985097 by Max.Chen Sequencer: Rename Reset to AutoSize Change GetAutoSizeDuration to return TOptional<FFrameTime> #jira UESEQ-392 Change 3986043 by Max.Chen Sequencer: Fix crash when attach/path duration is less than 0. #jira UE-57310 Change 3986373 by Max.Chen Sequencer: Add support for deleting tracks and channels which equates to setting the channel mask. #jira UE-52951 Change 3986375 by Max.Chen Sequencer: Add Create Pose Asset to skeletal animation section. This allows animators to blend animations in sequencer and create new pose assets from them. #jira UESEQ-408 Change 3986796 by Andrew.Rodham Sequencer: Fixed stale object references remaining in ULevelSequence::BindingReferences when using convert to spawnable/possessable - We used to convert objects by creating a new binding, then re-assigning its GUID, which meant we didn't have to do any further object fixup, but the code to achieve this was confusing and led to a vulnerability where object references would not be cleaned up correctly due to the newly created possessable essentially being a temporary object that's immediately thrown away. - To address this, there is now a function for porting all the contents of one object binding to another, and handles the correct fixup required for parent/child object bindings for both spawnables and possessables. - Also added codepath to remove any stale object references from the level sequence reference map on PostLoad (this piggy-backs off the PurgeLegacyBlueprints object version which is close close enough to this change to be identical) #tests Verified that existing sequences with stale references get cleaned up on load. Verified that repreatedly converting from spawnable<->possessable cleans up references correctly. Change 3987807 by JohnHenry.Carawon Updates to the MovieRendering Test Content. - Fixed the spawnable actors that were overwritten - Shortend the Lighting example and combined the Intensity and Color tracks - Organized the Sequence and WorldOutliner to group the examples. Change 3988151 by Max.Chen Cine Camera: Enable keying the "Enable Look at Tracking" toggle. Change 3988880 by Max.Chen Sequencer: Support enter to add asset for all sequencer track editors that have asset pickers. #jira UE-57367 Change 3988953 by Max.Chen Sequencer: Make the track color picker focusable so that it will close when you click away or lose focus. #jira UE-57210 Change 3988962 by Max.Chen MovieSceneCapture: Fix EDL export so that it takes into account movie scene frame resolution and desired frame rate. #jira UE-57365 Change 3988964 by Max.Chen Movie Scene Capture: Clarified tooltip for bRelativeFrameNumbers. If you specify custom start/end frames for the recording, they will be relative to the playback range. #jira UE-57308 Change 3989442 by Max.Chen Fix CIS Change 3991548 by Matt.Hoffman Dragging the time slider no longer causes the time slider to ignore snap-to-interval with "Snap to Keys While Scrubbing" when no keys are in range. #jira UE-57417 Change 3991598 by Matt.Hoffman Snap to Key while scrubbing now mirrors the behavior of "jump to next key". When there are no tracks selected it snaps to all keys and when there are tracks selected it snaps to only keys from that track. This also resolves an issue where deleting an object did not remove it from the Sequencer's selection. Undoing a delete already doesn't seem to restore your selection, so removing it from your selection shouldn't change that behavior. #jira UE-57417 Change 3991603 by Max.Chen Sequencer: Disable EditAnywhere for some section properties #jira UE-53530 Change 3992240 by Max.Preussner MediaAssets: Implemented dynamic audio sample rate adjustment based on audio/media clock drift #jira FORT-70638 Change 3992911 by Andrew.Rodham Sequencer: Fixed saving spawnable state using the wrong spawned object - We now track the object binding ID so that we can apply the spawned object to the correct spawnable when the asset is saved #jira UE-57353 Change 3992914 by Max.Chen Movie Scene Capture: Fix compression quality not being set. The compression interface wasn't being found through query interface, so no compression was being set. Reworked finding it through the output pins. Tested running various compression values. #jira-UE-55488 Change 3992919 by Max.Chen Sequencer: Convert to possessable now uses object template instead of copying properties (ie. see LevelSequenceActorSpawner). This fixes MIDs getting lost when converting to spawnable and back to possessable. #jira UE-52400 Change 3993184 by Max.Chen Sequencer: Don't show +Transform/+Path/+Attach track if the actor has the "Mobility" property hidden. Set the Landscape, LandscapeProxy and InstancedFoliage "Mobility" property to be hidden since it is static is not supposed to be dynamically movable. #jira UE-56347 Change 3993238 by Max.Chen Sequencer: Test for hidden mobility in creating keys as well. Refactored to HasHiddenMobility() #jira UE-56347 Change 3993978 by Max.Chen Cine Camera: Enable keying the "Enable Look at Tracking" toggle. #jira UE-57489 Change 3994039 by Max.Chen Landscape: Add Mobility to hidecategories on landscape component #jira UE-56347 Change 3994626 by JohnHenry.Carawon Updated Movie Rendering Test Content. - Fixed the overridden spawnables to their proper object types. Change 3994653 by Christina.TempelaarL Sequencer: Added Final Cut Pro 7 XML Import functionality, improved Export functionality #jira UESEQ-358 Change 3995609 by Max.Chen UMG: Add support for 2d transform mask (translation, rotation, scale, shear) #jira UE-52951 Change 3995778 by JohnHenry.Carawon Movie Rendering Test Content Updates - Adjusted Lights example - Adjusted Camera example - Added Marcie sublevel back in Change 3995942 by JohnHenry.Carawon QAGame: Moving Movie Rendering test content from Developer folder to Sequencer folder Also adjusted level visibility, lights and camera example. Change 3995993 by Christina.TempelaarL Sequencer: FCPXML Export updates - only export sections if in playback range and media exists, warn if media does not exist. Other updates - removed unused methods and variables, fixed message context naming to be more accurate #jira UESEQ-358 Change 3996595 by andrew.porter QAGame: Updating Marcie content in TrackEvaluation level to use Image Plate Change 3996614 by andrew.porter QAGame: Adding color test sequence to the sublevel Change 3996643 by Max.Chen Sequencer: Fix fbx animation export - rotation and scale channels were flipped. #jira UE-57509 #jira UE-57512 #jira UE-57514 Change 3996652 by Max.Preussner Messaging: Fixed delayed messaging using incorrect current time after message router sleep Based on https://github.com/EpicGames/UnrealEngine/pull/4601 Change 3996801 by Max.Chen Sequencer: Fix folder active state for non key area sections. Look at track node sections as well as key areas. #jira UE-57550 Change 3997098 by Matt.Hoffman Cleaned up some remaining ToDo's in STimeRange. Change 3998339 by Max.Preussner Sockets: Added documentation for socket receive functions Change 3998359 by Max.Preussner MediaUtils: Started to implement media recorder helper class Currently only supports BGRA frames in CPU memory. Supporting other formats and buffer types will require conversions on render-thread. I recommend refactoring out the existing conversion code in FMediaTextureResource into a reusable helper class in the MediaUtils module. This should be a good starting point though. Change 3998417 by Matt.Hoffman Keys and Sections can now be moved at the same time inside of Sequencer. Keys can now snap to Sections (and vice versa) instead of just to other Keys. Sections can now be duplicated like keys can. #jira UE-56995 Change 3998427 by JohnHenry.Carawon QAGame: Updating test content for the Movie Rendering feature. - Added an auto activate particle to the beginning of the sequence (it's not part of the sequence at all) - Added an event receiver blueprint to the Events example - Added a particle emitter to both sublevels - Added a camera cut to the end that switches to a separate camera - The camera zoom in, focus and Look At sections are all separate (not overlapping in the sequence) - Added a second actor for the camera Look At - Added a Visibility section for the Actor Hidden In Game track that has possessable and spawnable cube and light Change 3998537 by Max.Chen Sequence Recorder: Restore immersive mode when stopping the sequence even if not in PIE. #jira UE-56407 Change 3999809 by Matt.Hoffman Removed the "Go To" box from Sequencer and instead placed the current time as an always visible control. The previous shortcut (Ctrl + G) now focuses the new widget directly. #jira UESEQ-376 Change 4000543 by Christina.TempelaarL Sequencer: Moving editor-only code from runtime module MovieSceneCapture to editor module MovieSceneTools. Moved EDL and FCP XML exporters as well as Automated Level Scene Capture. #jira UESEQ-358 Change 4000706 by Matt.Hoffman Entering multiple time strings without a number no longer crashes Sequencer. #jira UE-57672 Change 4001051 by andrew.porter MediaFrameworkTest: Fixing up some image sources pointing to the wrong location Change 4001191 by andrew.porter QAGame: Adding some quick EDL/XML test content to dev folder Change 4001243 by Max.Chen Sequencer: Fix import EDL out of range. #jira UE-57665 Change 4001856 by Matt.Hoffman Selecting keys and sections at the same time now also works with animation and audio sections. #jira UE-57716 Change 4002021 by Max.Chen Sequence Recorder: Fix sequence name incrementing. If external recording sets the sequence name, use it. Otherwise, use the recording name from the recording group or the recording settings. #jira UE-57712 Change 4002618 by Max.Chen Viewport: Update the look at location when updating to a locked actor. This fixes an issue so that popping the view out of a locked actor and manipulating the view will not jump to the previous look at location. #jira UE-57725 Change 4002979 by Matt.Hoffman Fixes several edge cases with the end time range that was causing confusion about what the last frame of the sequence was. Dragging the End Frame slider will no longer be off by one tick and jumping to the end via the UI controls now properly respects snapping and stays inside the play range instead of falling outside of it. Overall behavior does not change though and End Frame should be considered an exclusive frame so that frames 0-150 results in a 150 frame long animation (which is frames 0-149). #jira UE-56367 Change 4003185 by Matt.Hoffman Fixed a regression that prevented a section from being dragged upwards past row 0 which normally resulted in all other rows moving down. #jira UE-57717 Change 4003193 by JohnHenry.Carawon QAGame: Updates to test content - Shortened frames between the examples from 95 to 30 - Separated camera setting tracks - Lighting example now switches directly from constant red - green - blue Change 4003369 by Max.Chen Sequence Recorder: Refresh next sequence regardless of internally stored sequence name. #jira UE-55757 Change 4003586 by JohnHenry.Carawon QAGame: Test Content Updates - Level Visibility track now ends to that the levels are not visible when we move to the next example - Shortened camera section, removed Z tranform so that we just move left to right and shortened the overall length Change 4004414 by Max.Chen Movie Scene Capture: Fix regression where rendering with shot handles would only render the first shot. 3972166 addressed an issue where an extra frame would be rendered by finalizing right when the end frame was reached. This was hit on the first shot end frame, so instead, do this only for when the last shot is being rendered. #jira UE-57314 Change 4004765 by Christina.TempelaarL Sequencer: Fixed bugs in FCP XML import/export. - Export: fixed sequence default resolution. - Export: fixed XML files with no shots. - Export: all sections clipped to playback range. - Export: fixed incorrect section start/end times due to precision issues. - Import: fixed incorrectly adding cinematic tracks. - Import: fixed bugs creating new sections. #jira UE-57660 #jira UE-57662 #jira UE-57655 #jira UE-57761 Change 4005119 by Max.Chen Sequencer: Export/import at play rate Change 4005195 by Max.Chen UMG: Finish UMG evaluation on stop. Added object version so that existing UMG assets do not change. #tests - Newly created UMG animation with sections set to restore state now return to their original state. Existing UMG animations with sections set to restore state do not return to their original state. #jira UE-52285 Change 4005377 by Michael.Karambelas QAGame: Moving TM-SequenceRecorder and related content out of my developer folder and into /Content/Sequencer/SequencerRecorder/* Change 4005417 by Michael.Karambelas QAGame: Fixed a BP compiler in the Level Blueprint of TM-SequencerRecorder. Change 4005634 by Michael.Karambelas QAGame: Fix up missing content and broken level sequence in TM-SequenceRecorder after move Change 4006324 by Max.Chen Sequencer: Reset if the focused movie scene is null. This fixes a crash if the user is focused in on a shot and undo takes the user past the point of where the shot was created. #jira UE-57752 #jira UE-47661 Change 4007006 by Max.Chen Sequencer: Fix FindAvailableRowIndex so that it returns the max row index (and not +1) since it doesn't find any conflicting rows. #jira UE-57717 Change 4007907 by Max.Chen Sequencer: Fix crash if there's no animation Change 4007948 by andrew.porter QAGame: added test content to dev folder for Record World Space Change 4008636 by Max.Chen Sequencer: Fix import fbx not setting values properly and creating additional cameras unncessarily. #jira UE-57864 Change 4008759 by Max.Chen Sequencer: Follow up fix for import cameras #jira UE-57864 Change 4009994 by Matt.Hoffman Dragging the left or right handles of the Time Range slider in Sequencer will now zoom your view in on the current center of the screen. This prevents the view from being translating as you tried to zoom in which caused issues at high zoom levels. #jira UESEQ-407 Change 4010169 by Christina.TempelaarL Sequencer: FCP XML fixes. - FCP XML export - no longer clips to playback range - FCP XML and EDL export - fixed missing last frame of some sections after exporting to Premiere. - Automated level capture, EDL export - use RoundToFrame instead of FloorToFrame for computing section start/end frames after frame rate conversion. #jira UE-57802 - partial fix, movie scene capture still needs to render full section rather than clip against playback. Change 4010287 by Mike.Zyracki Add quaternion interpolation option to UMovieScene3DTransformSection. This mimics how Matinee used to work by bascially finding the keys between a time and interpolating the angles as quat's between them. As noted in the code the algorithm needs to handle the case when the x,y,z Rotation keys all aren't at the same time which was not handled by Matinee. Also like Matinee, when in quaternion interoplation mode, we need to not display the function cuves since the interpolated and key values are now all different. (Would like to show them but that's a bigger refactor for perhaps just a one off needed by quaternions). I added a virtual function UMovieSceneSection::ShowCurveForChannel for this since it needs to be dynamic, not on construction of IKeyArea's, and could be useful for other sections. I could though move the method to just UMovieScene3DTransformSection and do a cast instead. Looked into doing a unit test for this but after talking with Andrew P we will work on doign an automated test in EngineQA since that will provide more coverage. Will also add a video the jira. #jira UESEQ-403 Change 4010713 by Mike.Zyracki Added option to key a group of transform channels instead of just the changed channel, or all of them. This is useful for quaternion interpolations where you want rotation keys to be aligned but also useful for other workflows like animating FK Pose to Pose. Change 4010715 by Andrew.Porter MediaFrameworkTest: Setting LogMediaUtils logging from VeryVerbose to Verbose to cut back on the spam Change 4013048 by Max.Chen Sequencer: Fix play/jump status. Update the player status for all position methods (Scrub, Jump, Play). Jump means Stopped. Correctly use PlayTo or JumpTo based on position method. In PlayInternal, JumpTo with the Stopped state (rather than playing state). #jira UE-57844 Change 4013479 by andrew.porter QAGame: Added content in TM-SequenceRecorder to test recording a property on a Cine Camera Component; Press 3 to trigger manual focus distance to increment on a timer Change 4014323 by Max.Chen Sequencer: Fix SetPlaybackPosition so that it jumps or plays based on playback status. #jira UE-57844 Change 4015888 by Max.Chen Sequencer: Fix crash on paste. UMovieSceneSections were gathered from the track node's track. For sub track mode, we want to gather only those sections on that track node row. #jira UE-57951 Change 4015943 by Max.Chen Sequencer: Fix moving shots up when the mouse pos goes outside of the virtual track area. #jira UE-57717 Change 4016293 by Max.Chen Sequencer: Fix relative frame playback end frame calculation so that custom start/end frames remain in the space of the sequence and are not relative. #jira UE-57308 Change 4017075 by Andrew.Rodham Sequencer: Corrected initial evaluation range used when calling UMovieSceneSequencPlayer::Play() Change 4017270 by Christina.TempelaarL Sequencer: FCPXML importer and movie scene capture - Use CeilToFrame when converting section start/end frame times to frame numbers in FCPXML and movie scene capture. - Added support for clip metadata in FCPXML. - Got rid of redundant TokenizedError message class, no longer needed now that FCPXML is in editor directory. - Added log messages currently commented out due to exception, still testing. #UESEQ-358 Change 4018370 by Christina.TempelaarL Sequencer: fixed FCPXML log messages regarding sections with start/end not divisible by display rate. #UESEQ-358 Change 4018378 by Christina.TempelaarL Sequencer: fixed error in previous changelist. #UESEQ-358 Change 4019457 by Max.Chen Sequencer: Show event names only when the event track is selected #jira UE-57897 Change 4022806 by Max.Chen Sequencer: Fix crash on movie scene capture dialog shutdown if movie capture wasn't even started. #jira UE-58106 Change 4022894 by Max.Chen Sequence Recorder: Wrap OpenEditorForAssets after sequence recording within GIsEditor #jira UE-58084 Change 4024487 by Max.Chen Sequencer: Add tooltip for quat interpolation #jira UE-58113 Change 4024562 by Max.Chen Sequencer: Change path/attach track sequence binding id to currently focused sequence id so that bindings can be created in subsequences Change 4027414 by JohnHenry.Carawon QAGame: Checking in content that shows a bug with using particles systems and Delay Before Shot Warm Up. Change 4028990 by Max.Chen Sequencer: Fix evaluate sub sequences in isolation. This check was added with the compile on the fly logic. Not sure why it was necessary but it seems like the sub sequence data needs to be updated in order to evaluate sub sequences in isolation. #jira UE-58184 Change 4029004 by Max.Chen Sequencer: Ensure that old binding references are removed when re-assigning actors in sequencer #jira UE-57898 Change 4030997 by JohnHenry.Carawon QAGame: Fixing name of the master sequence Change 4031785 by Michael.Karambelas QAGame: Added an instance of ThirdPerson Run to TM-SequenceRecorder for Record to Possessable test. Change 4035548 by Andrew.Rodham Sequencer: Changed FMovieSceneEvaluationTemplate::TemplateSignature to be a serial number to address non-deterministic cooking issues - This commit is related to the repro steps found in 3914599 and 3934307, both of which have been verified with this new change. - Copy of 4031684 from //Fortnite/Main/... #jira FORT-84852 Change 4036312 by Max.Chen Sequencer: Fix zoom view range so that it uses the passed in InZoomDelta Change 4036318 by Max.Chen Sequencer: Auto size now returns a range and defaults to the channel proxy range so that keyed regions can also be autosized. Change 4036322 by Max.Chen Forgot missing change Change 4036360 by Max.Chen Sequencer: Fix play rate calculation when skeletal animation section play rate changes. Change 4037163 by Mike.Zyracki Weighted Tangent Implementation Tricky thing is that you need to solve a cubic in order to get the bezier weights for the time part of the curve. See https://www.gamedev.net/forums/topic/474094-help-function-curves-for-animation-interpolation/ Maya provides an implementation in it's dev kit but I didn't use it since it was horribly slow and uses an iterative solution to solve the cubic needed. Instead I use an old algorithm (Cardano's method), to solve the cubic which should be much faster. Though relative simple to code from principles I just went ahead and used a version from Graphics Gems 1. I put this cubic solver directly in MovieSceneFloatChannel.cpp, but will need to move it when we support Rich Curve, maybe to FMath:: (which would probalby require some other functions for solving quartics, etc.. for completeness.). Also note we resolve this on every evaluation but dont' need to if the interval the time is evaluating hasn't had any change in values or tangents. So again when we support FRichCurve we can create a Weighted Evaluating class that can hold the cache. Also with the tangent drags I got rid of the Cardinal position that was used to calculate non-weight tangents from the key point and just quickly getting a direction. With weighted tangents we need to use the delta instead (otherwise when moving multiple they would all get the same weight based upon distance to the cardinal point. ) For mixed tangents types what I'm defaulting to non weighted if the interval doesn't match. May need to do weighted instead, not sure. What's left is just FBX import, for tomorrow. #jira UESEQ-76 Change 4037435 by Mike.Zyracki Fix fo build warnings from weighted tangent submission. #trivial Change 4038091 by Michael.Karambelas QAGame: Updated a Sequence Recorder group in TM-SequenceRecorder that had an actor missing the animation. Change 4038374 by Andrew.Rodham Sequencer: Refined scrubber styling for level sequences and actor sequences - Scrubber now shows a block the width of a dsplay rate frame, plus a line for the actual evaluated time. UMG reverts back to the previous styling (no block) - Keys that are outside of the playback range are now drawn with a subdued effect - Tick labels are no longer drawn when directly underneath the scrubber Change 4038490 by Max.Chen Sequencer: Expose tangent weight values in details panel. Change 4038620 by Andrew.Rodham Sequencer: Advanced time panel polish #jira UESEQ-426 Change 4038677 by Max.Chen Movie Scene Capture: Redirector for MovieSceneTools.AutomatedLevelSequenceCapture #jira UE-58248 Change 4039739 by Max.Chen Sequencer: Media track should only be supported by Level Sequence Change 4040024 by JohnHenry.Carawon QAGame: Fix EventReciever and OverrideBinding example The level sequence was set to none so the fix was to set it back to TrackEvaluation_Master. Change 4040610 by Andrew.Rodham Curve Editor: Moved weighted tangent switchers to a single toggle command (CTRL+W) and added an icon #jira 58383 Change 4040882 by Mike.Zyracki Keep broken when turning on weighted #jira UE-58435 Change 4041089 by andrew.porter QAGame: Sequence for Long Tangents bug Change 4041498 by Mike.Zyracki Turn off weighted when going auto to prevent large tangents. Do it both in UI and when doing AutoSetTangents() to really make sure it doesn't happen. #jira UE-58452 Change 4041752 by andrew.porter MediaFrameworkTest: Adding some better logging for setting rates when not supported. Also ignoring commiting URL when there is no text Change 4041896 by Matt.Hoffman The transform dialog box now transforms selected keys and sections, instead of just keys. #jira UE-58265 [CL 4044405 by Max Chen in Main branch]
2018-05-02 10:10:00 -04:00
FFrameNumber SnappedFrameNumber = (MouseValue * GetDisplayRate()).FloorToFrame();
FQualifiedFrameTime RoundedPlayFrame = FQualifiedFrameTime(SnappedFrameNumber, GetDisplayRate());
return RoundedPlayFrame.ConvertTo(GetTickResolution());
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3946692) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3801826 by Max.Chen PR #4304: Level Sequence crash fix - Guarded against dereferencing null componen. (Contributed by DSDambuster) Change 3801828 by Max.Chen PR #4302: Movie Scene Visibility Template unitialised variable, causing random . (Contributed by DSDambuster) Change 3801837 by Max.Chen Sequencer: Delay spawning/construction for convert to possessable. This fixes a bug where property values would be lost when converting back and forth from possessable to spawnable. #jira UE-52400 Change 3801841 by Max.Chen Sequencer: Make spacer nodes not selectable. PR #4194: Improvements to Sequencer (Contributed by projectgheist) #jira UE-53117 #jira UE-52139 Change 3804183 by Max.Preussner MediaAssets: Added missing lock in media sound component Change 3805414 by Max.Preussner MediaAssets: Setting valid GUID when initializing media texture resource Change 3819578 by Max.Chen PR #4370: When enabling the "MovieCapture", do not turn off the Stereo-3D display. (Contributed by yehaike) #jira UE-53647 Change 3823414 by Max.Chen Curve Editor: Lock down the first and last keys in the redundant keys removal range so that they're unaffected. #jira UE-53591 Change 3826406 by Max.Chen Sequencer: Move OnStartedPlaying() to within first update in UpdateTimeCursorPosition(). This fixes an issue where setting the hud/player visibility was getting stomped on later. #jira UE-52772 Change 3827044 by Max.Preussner MediaAssets: Added sprite visualization to media sound component #jira UE-53594 Change 3827988 by Max.Preussner MediaPlayerAssets: Fixed Media Texture is not linked to Media Player when created together #jira UE-53532 Change 3828506 by Max.Preussner MediaPlayerEditor: Added attenuation visualizer for media sound components #jira UE-53594 Change 3832590 by andrew.porter EngineTest: Added a keep state check in Property Animation sequencer test Change 3833053 by andrew.porter EngineTest: Adding Hierarchical Bias test Change 3835683 by andrew.porter EngineTest: Adding UMG Animation screenshot test Change 3836076 by Max.Chen Sequencer: Fix audio volume and pitch multiplier deprecation. Change 3836230 by andrew.porter EngineTest: Adding Sequence Bone Position automation test Change 3836347 by Max.Chen Sequencer: Fixes to shot name parsing. When a shot doesn't contain a shot number, assume, [ShotName]_[TakeNumber]. When duplicating a shot, put the new shot in the same path of the original shot, so that the take numbers will increment properly. #jira UE-51868 Change 3836552 by Max.Chen Sequencer: Sub section now has a takes menu Change 3838094 by Max.Chen UMG: Fix template finish not getting called on stop. This fixes a bug where sections aren't restored when finished. #jira UE-52285 Change 3838708 by Max.Chen Sequencer: Add notification when the blend type is changed. #jira UE-54046 Change 3840295 by Max.Chen Sequencer: Fix copy/paste crash for lights #jira UE-54084 Change 3840957 by Mike.Zyracki Added Show Only Keyable and Show Only Animated to the filter list in the property editor. Added IsPropertyAnimated to IDetailKeyframe Interface which already had support for showing properties which are keyable (which is used for the key icon next to the properties.). Could have created another interface but then would have had to mimic the sequencer binding, releasing also, so this seemed best way. One issue still left is that custom built detail items currently don't store associated properties(usually) and so certain properties, in particulalry transforms, won't show up as keyable or animated. Note this also shows up with the keyable icon not showing up next to transform tracks, and other filters like Show Only Modified not working with transforms/customs. Not sure best way to tackle this. #jira UESEQ-328 Change 3841756 by Max.Chen Sequencer: Fix unbound possessable components when pasting spawnables. #jira UE-54104 Change 3843950 by andrew.porter EngineTest: Renaming LevelStreaming tests/content to LevelVisibility Change 3844082 by Mike.Zyracki Missing file for animated filter in property editor. When finding if a track is animated we need to find it but we can't easily induce the MovieTrack class for any particular property. So we don't set a class for it and just search by it's ID and name. #jira UESEQ-328 Change 3846902 by Max.Preussner ImgMedia: Fixed image media player never finished initialization if loading failed #jira UE-54247 Change 3849820 by Mike.Zyracki Reassigning deleted widgets didn't work since the menu extender mechanism needs a valid UObject in order to perform an operation on it. So to fix we replaced GetObjectBindingContextMenuExtender in WidgetBlueprint with new delegate mechanism (OnBuildCustomContextMenuForGuid) that supports FGuid in addition to UObjects which is needed to handle re-binding deleted widgets. Note that the default sequencer hacks this for replacing deleted actors in SequencerObjectBindingNode to check to see if a LevelSequence is active. We could move to this mechanism there also. #jira UE-53163 Change 3852211 by Max.Chen UMG: Indicate name of the property that is not bound. #jira UE-54350 Change 3854120 by Max.Chen Sequencer: Fix sibling folders being allowed to have the same folder name. #jira UE-54363 Change 3854627 by Max.Chen Sequencer: Step to next/previous key should work for all tracks if there aren't any selected. #jira UESEQ-391 Change 3855825 by andrew.porter EngineTest: Adding animation blending automation test Change 3855950 by andrew.porter EngineTest: Adding correct expected valuues to animation blending test Change 3856237 by Matt.Hoffman UESEQ-336 - Sequencer Track Reordering Adds the ability to re-order Master Tracks, Folders and Object Bindings within sequencer hierarchies (including UMG). Adds the ability to do a one-off sorting of the content under the old sorting behavior if the user wants to reset their layout to how it was under legacy behavior. Modifies SequencerTrackNodes, SequencerFolderNodes and SequencerObjectBindingNodes to handle CanDrop/OnDrop for above, below and ontop of. Fixes a Slate Issue that forcibly expanded a TreeviewRow if an item handled OnDrop. Slate will now only forcibly expand the row if the item says the drop happened ontop of the item, and not above or below it like it previously did. Change 3856503 by andrew.porter EngineTest: Adding automation test for using animation blueprint with blend multi node in sequencer Change 3857875 by Max.Chen Sequencer: Assign the sequence id after the template is compiled. #jira UE-54462 Change 3858344 by Max.Chen Sequencer: Prevent Goto and Transform boxes from overlapping by allowing them to be visible at the same time in an autosized horizontal box. Also, added close button to the goto box. PR #4425: Prevent Goto and Transform boxes from overlapping in Sequencer ... (Contributed by projectgheist) #jira UE-54210 Change 3860566 by andrew.porter MediaFrameworkTest: Set the option to index 0 for the audio and video track list by default Change 3860654 by andrew.porter EngineTest: Enabling Camera Cut + FOV test Change 3860981 by andrew.porter EngineTest: Updating skeletal mesh tests with a delay after set playback position Change 3861256 by Max.Chen Sequencer: Add all bindings if none selected. #jira-54440 Change 3862154 by Andrew.Rodham Added TimeManagement module Change 3862424 by andrew.porter EngineTest: Turned on the test Bone Positions with Blend Multi Node Change 3862573 by andrew.porter EngineTest: Adding test to compare bone positions in a sequence that is blending an animation that is using an AnimBP Change 3865117 by Max.Chen Sequencer: Stop auto scroll on mouse release of movement. #jira UE-31212 Change 3865303 by Max.Chen Sequencer: Add drag and drop transactions #jira UE-54662 Change 3865304 by Max.Chen Sequencer: Fix crash when an actor factory is not found. Change 3865361 by Max.Chen Sequencer: Don't change the camera/shot lock button when popping out of a sequence. #jira UE-54665 Change 3865412 by Max.Chen Sequencer: Determine whether a transform track is for a camera by using the spawned object or template #jira UE-54666 Change 3865685 by Max.Chen Sequencer: Clear autoscrub offset when stopping autoscroll #jira UE-31212 Change 3865886 by Max.Chen Sequence Recorder: Log an error if the number of frames changes while recording. This can happen if the skeleton changes while recording. #jira UE-48715 Change 3866925 by Andrew.Porter MediaFrameworkTest: Changing the current PNG test video image sequence to 1024 x 576 Change 3867705 by andrew.porter QAGame: Adding Audio Sort Sequence to dev folder Change 3867890 by andrew.porter QAGame: Adding a sequence for testing a sorting crash to my dev folder Change 3872628 by Max.Chen Movie Scene Capture: Split delay before warmup into split delay before shot warmup so that there's separate controls for when the movie scene capture warmups up vs. shot boundaries. Change 3873131 by Matt.Hoffman UE-54732 - Crash reordering a folder with a track. This was caused by folders being the only type of track to check if someone was putting a parent track into a child track. Object Binding tracks and Tracks now check as well so that you can't use the above/below drop targets to add parents as children. This also fixed a typo in the localization keys. #jira UE-54732 Change 3873301 by Mike.Zyracki Added ability to support continous euler angle changes when changing rotations, in particularly with the rotation gizmo's. To do this we effectively added a form an of 'euler filter'(https://en.wikipedia.org/wiki/Euler_filter) to find the closest euler angle to the current euler angle. Three functions were added to FRotator to make this possible, one to get the euler angle that's has the same rotation as it, one to get the difference between two euler angles via Manhattan distance and a third using the previous two to choose a Rotator value that's closest to it. We then use these functions before calling UComponent::SetRelativeRotation to make sure we use the correct Euler after the Quat conversion. We also no longer limit(bound) the euler angles to -180,180, which is obviously necessary to avoid flips. I also changed how we caluclate yaw and roll when pitch is -90 or 90 to make it the standard approach of zeroing out roll and just setting yaw. Main reasons are the previous implementation had precision issues so things like 180, 90, -180 would show up due to numbers being nearly zero but negative,(this would break any smooth interpolations), and this facilitates having a 'gimbal' rotation mode (like Maya, Blender etc..) if we ever want that also. If needed we could keep the previous implementation but would need to add some FMath::IsNearlyZero checks, with less performance. Note we only do this special filtering when applying delta's to actors or components in the editors, which then call UComponent::SetRelativeRotationExact, which is a new function to foces the RelativeRotation to be equal to the new rotation. This allows us to store un-nomalized Rotators at the cost that the RotationCache may be broken. We didn't change any of the other UComponent functions that set rotations (via Quats or Transforms) so they will still be bounded and unwound. In SetInternalWorldLocationAndRotation we only set the rotation if the rotation has changed, which fixes the rotation getting changed and re-normalized if just translate happens. In TransformTrackEditor, we correclty use the bUndwing flag and in MovieScene3DTransformSection there was an un-needed winding check there, it will be unwound earlier if needed, which happens if Sequence Recording is happening. Max we should talk about what to do about this . Note the euler angle drag via the widget is still bound to 0-360. I think we should just unbound that now since the rotations value are now unbound. This review now includes fixes suggested by Zak. #jira UE-UE-22228 Change 3873483 by Matt.Hoffman Sequencer Tracks can now be inserted above the spacer at the bottom of the tree. #jira UE-54706 Change 3873899 by Max.Chen Sequencer: Add section selection throbbing Change 3873908 by Max.Chen Movie Scene Capture: Added logging per frame Change 3873924 by Matt.Hoffman Adds the ability to store Sequence Recorder setups into profiles that stay with the map and can be re-loaded later. Profiles store the Actor Recordings so the settings for each actor should carry with them. #jira UESEQ-339 Change 3874726 by Matt.Hoffman Disable drag-and-drop targets on spacers that come between rows in Sequencer. This prevents extra drag/drop targets showing up between each row. #jira UE-54706 Change 3874862 by Matt.Hoffman Audio Track no longer gets reordered when adding sub-audio tracks, as sub-tracks are no longer counted towards the sorting order index when normalizing indexes. #jira UE-54727 Change 3875905 by Matt.Hoffman Disable Fade Track UI if a fade track already exists in the sequence. #jira UESEQ-393 Change 3876163 by Max.Chen Sequencer: Swap the camera object to the camera component's owner if it's not the same. #jira UE-54874 Change 3876971 by Andrew.Porter EngineTest: Moved Media Player Seek test to new folder. Also enabled the test with new ground truth image. Change 3877040 by Max.Chen Cine Camera: Split camera properties to two groups, "Camera Options" and "Camera Settings". The cine camera now hides properties in the "Camera Settings" group so that properties like bConstrainAspectRatio (in the "Camera Options" group) can be visible. #jira UE-54192 Change 3877763 by Max.Chen Curve Editor: Fix curve changed on end drag so that only curves that had keys/tangents that were changed receive notification, otherwise all loaded curves were getting notified that they were changed. #jira UE-54951 Change 3878234 by Matt.Hoffman Disable "Drop Below" targets for Sequencer Tree nodes to prevent a confusing UX issue where dropping underneath a Object Binding Node puts it after the object binding node but the UI looks like it's inserting it inside the Object Binding node. #jira UE-54743 Change 3879359 by Mike.Zyracki If a track is inactive we dim it a bit which seems to be the UE4 way to show inactive or disabled state. We changed the active logic so that all subtracks need to be inactive for the track to also be inactive(instead of all active for active). This conforms to how the active state actually works, e.g if you have two sections and only one is active the track is still active above it. #jira UESEQ-388 Change 3879462 by Max.Chen Sequencer: Allow dragging onto a particular row which would move out any overlapping sections to make space for the newly created section. Newly created sections are now selected and throbbed to draw attention to themselves. #jira UE-54664 Change 3879464 by Max.Chen Sequencer: Fixed overlapping ranges being inserted into the evaluation field during compilation - The issue was that track segments that had been combined with adjacent segments (due to them being identical) would potentially cause a subsequently compiled frame to overlap with a range that had already been inserted into the evaluation field. - The insertion code previously asserted that only minor overlaps were catered for (due to fp rounding errors) and assumed that a supplied range could not entirely contain any other range in the field. - The solution is to supply the insertion time along with the range to know exactly where the data should live in the field, and crop the range to the maximum allowable space between adjacent ranges. #jira UE-54922 Change 3879590 by Matt.Hoffman Items that are now added to the Sequencer via the "+Track" menu will be selected after being added. Items can now be added inside of folders instead of just to the root level. #jira UE-27397 Change 3879612 by Mike.Zyracki Display Nodes with no children are always active. #jira UESEQ-388 Change 3879730 by Matt.Hoffman Sequence Recorder's actor recording groups now remove items from the group when removed via the UI. #jira UESEQ-339 Change 3880256 by Mike.Zyracki Fix issue with inactive display with folders and other track nodes. #jira UESEQ-388 Change 3883491 by Max.Chen Fix issue where tick is skipped due to last ticked pose isn't cleared after AnimInstance changes. Copy from Release-4.19 #jira UE-51323 Change 3883603 by Max.Chen Movie Scene Capture: Add option toggle disable screen percentage. By default this is on (no change in current behavior). #jira UE-51898 Change 3885074 by Max.Preussner MediaCompositing: Resetting media texture & freeing resource on section end; removed dead code Change 3887220 by Max.Preussner MediaCompositing: Defaulted media section duration to 1 sec (since we do not know the actual duration in most cases) Change 3887478 by Matt.Hoffman Sequences now show [Inactive] in their title bars when they're disabled. This helps communicate why a sequence isn't being evaluated. #jira UE-51469 Change 3888985 by Max.Chen Movie Scene Capture: Clamp HDR Compression Quality between 0 and 1. #jira UE-55136 Change 3893519 by Max.Chen Sequence Recorder: Clarified tooltip for bRecordNearbySpawnedActors - spawned actors will still be recorded if they match the ActorFilter. #jira UE-55238 Change 3893546 by Max.Chen Sequence Recorder: If a selected actor already has a recording, add a blank recording. #jira UE-55239 Change 3894044 by Max.Preussner MediaCompositing: Added support for seeking into a media section Change 3894310 by andrew.porter MediaFrameworkTest: Adding Img media sources for 1080 and 2160 ravent test content Change 3894426 by Max.Preussner MediaAssets: Letting media textures with AutoClear retain their clear color when player is reset Change 3895717 by Max.Chen Sequencer: Null checks to prevent crash when saving the default state of a spawnable #jira UE-55304 Change 3897388 by Max.Chen Sequencer: Don't update current time to be within the view range when stepping into a sequence. #jira UE-55322 Change 3897452 by Max.Chen Audio: Fix crash when trying to record audio without any active capture devices. Log warning if the number of input channels is not 1 or 2. #jira UE-55223 Change 3897619 by Max.Preussner MediaCompositing: Removed commented out code Change 3898072 by Max.Chen Sequencer: Override the animation asset in the player state if it doesn't match the animation asset that's being evaluated. #jira UE-55328 Change 3898272 by Max.Preussner MediaPlayerEditor: Made slate brush constants static Change 3898704 by Max.Chen Sequencer: Skip if the binding id's sequence can't be found. #jira UE-55337 Change 3899855 by Max.Preussner MediaCompositingEditor: Added cache state visualization to media track Change 3900300 by Max.Preussner MediaCompositingEditor: Added loop indicators to media sections Change 3900694 by Max.Preussner ImfMedia: Looping cache only when player is looping Change 3900892 by Max.Preussner Stats: Added stats category for media framework Change 3900954 by Max.Preussner MediaCompositing: Don't evaluate at the end of media section Change 3901348 by Max.Preussner Core: Replaced TLruCache autos for better readability Change 3901655 by Max.Preussner ImgMedia: Added more perf stats to EXR reader Change 3901972 by Max.Preussner MediaAssets: Added getter for media player in media sound components Change 3902233 by Max.Preussner MediaAssets: Enabling media textures to receive samples right after player is assigned Change 3902238 by Max.Preussner MediaCompositing: Working around init/shutdown idiosyncracies in sequencer Change 3904045 by Max.Chen Sequencer: Fix copy/paste crash. Only process UMovieSceneCopyableBinding and objects that can be spawned by the movie scene spawn register. #jira UE-55314 Change 3905605 by Max.Chen Sequencer: Restrict spawnables from being created if they have a ClassWithin that UMovieScene is not a child of. #jira UE-55429 Change 3906550 by Max.Chen Sequencer: Add media track icon #jira UE-55480 Change 3907101 by Max.Chen Sequence Recorder: Fix bugs related to not recording a level sequence. There were certain assumptions that creating a level sequence meant that sequence recording was in progress. This is not always the case - the recorders can record animation assets and not create a level sequence. Changed the notion of IsRecording() to having at least one actor recording that is recording. Countdown timer, recording displays, etc should function if IsRecording() and not based on whether a level sequence is created. #jira UE-55485 Change 3907247 by Max.Chen Sequence Recorder: Fix crash not removing PrepareToCleanseEditorObject delegate. Repros when opening sequence recorder, closing it, and then opening or creating a level. Change 3910343 by Max.Preussner Core: Added async helper for executing functions on a given thread pool Change 3910346 by Max.Preussner ImgMedia: Added separate thread pools for loading/decoding and deleting image frames Change 3910829 by Max.Preussner Profiler: Increased visible range of profiler graph Change 3910841 by Max.Preussner MediaCompositing: Displaying asset name instead of full media source path in media section Change 3910870 by Max.Preussner ImgMedia: Using deallocation thread pool only in debug builds Change 3919642 by Max.Chen Sequence Recorder: Clarify active tooltip #jira UE-55661 Change 3919660 by Max.Chen Sequencer: Sequence template source signatures are now also compared to catch the case where a sub-sequence asset has been saved but not modified - The following sequence of events exposes this issue: - Create a master sequence with a single shot that spawns a cube - Add this sequence to a level and set it to auto-play - Save everything and restart - Resave just the inner shot asset without opening it - PIE - The inner shot never spawns its cube because its template was wiped on save, but its signature never changed. Since the master sequence previously didn't check the template source signature, it ends up trying to evaluate an empty template. #jira UE-55626 #jira UE-55490 Change 3921825 by Max.Chen Sequencer: "Run Construction Script in Sequencer" is off by default for blueprints but on for Sequencer. This allows the content author to switch it on for specific blueprints and sequencer will be default, run those with construction scripts enabled. Change 3922232 by Max.Chen Sequence Recorder: Reset countdelay on stop. #jira UE-55755 Change 3922306 by Max.Chen Sequence Recorder: Don't automatically mark transforms to be recorded by sequence recorder. Instead, log a warning if the user toggled it off to warn that the resulting animation might not match gameplay. #jira UE-55758 Change 3922912 by Max.Chen Sequence Recorder: Fix refresh next sequence name #jira UE-55757 Change 3927654 by Max.Chen Movie Scene Capture: Added format mapping for the name of the current camera #jira UE-55769 PR #4537 Change 3927658 by Max.Chen Sequencer: Added fbx property mapping for "FocusDistance" to "FocusSettings.ManualFocusDistance" #jira UE-55782 Change 3932022 by Max.Chen Sequencer: Add import animation track section to next available row index. #jira UE-55892 Change 3933919 by Max.Chen Sequencer: Jump to playback start frame and not 0 to start playback for recording. #jira UE-55933 Change 3934307 by Andrew.Rodham Sequencer: Add template signature that is re-generated every time the base template is regenerated, which invalidates evaluation fields This fixes an issue where the same sequence is instantiated multiple times in a sequence. If the source sequence was saved, its template would be wiped, which would invalidate the template ID When an instance tries to evaluate the master template, it would only invalidate a range in the evaluation field that was the hull of any invalid sub sequences overlapping the current time, potentially leaving invalid data in the evaluation field at positions later (or earlier) on in the sequence When the sub template was re-generated, it receives the same SequenceSignature as it had before (because the sequence hasn't actually changed), which causes the stale evaluation field data to fail the IsDirty check (because the sequence is the same as it thought, but the *template* has changed) This has been addressed be adding a signature to templates themselves, and checking both the template signature and sequence signature as a part of the IsDirty check. This ensures that we regenerate if either the template, or the sequence have changed. #jira UE-55934 Change 3936327 by Andrew.Rodham Sequencer: Removed increment when trimming right UMovieSceneSection::TrimSection already explicity assigns an exclusive bound to the time passed in. The new behavior means we can trim a section to the right, and insert another section without changing the time to create adjacent sections. #jira UE-42652 Change 3936328 by Andrew.Rodham Fixed KeyFrameManipulator assignment operators and copy/move constructors - These types are potentially self-referential so cannot use default constructors/assignment Change 3936330 by Andrew.Rodham Converted UMGSequencePlayer to use frames internally #jira UE-54878 Change 3936726 by Max.Chen Sequencer: Set track node as the parent of the key area node. The key area switcher needs the object binding id from the parent object binding node. Without this, the binding to the external value fails. #jira UE-55931 Change 3936775 by Max.Chen Sequencer: Should stop or loop should compare DurationFrames with Current Time from StartTime. The bug is that if you set 30 warmup frames in movie rendering for a range of 0-100, the FrameRange will be starting at -30 and have a duration of 130. Without this fix, the playback will continue until frame 130, rather than 100. #jira UE-55933 Change 3936935 by Matt.Hoffman Easing Curves are now represented in Play Rate resolution instead of internal resolution. #jira UE-55937 Change 3937069 by Matt.Hoffman Users can toggle if the is infinite on each side, limited by which tracks support infinite ranges. #jira UE-55891 Change 3937516 by Max.Preussner ImgMedia: Added support for single-threaded platforms #jira UE-55986 Change 3937826 by Max.Preussner MediaAssets: Disabling media sound components on HTML5 if AudioMixer is not enabled Change 3937997 by Max.Chen Curve Editor: Add Zoom to Fit Curves so that selected curves from Sequencer can be focused on. Tested that undo doesn't re-zoom. #jira UE-55935 Change 3938000 by Max.Chen Sequencer: Stop all sounds before generating audio waveforms. #jira UE-55951 Change 3938376 by Max.Preussner XGEController: Disabled XGE Controller in single-threaded apps to prevent crash Change 3938444 by Max.Preussner Core: Added async support for single-threaded applications Change 3938445 by Max.Preussner Networking: Added support for single-threaded applications in UDP socket sender/receiver Change 3938447 by Max.Preussner Messaging: Added support for single-threaded applications Change 3939432 by Max.Chen Sequence Recorder: Append command list to global level editor actions so that shortcuts are accessible in level editor. #jira UE-55798 Change 3940229 by Andrew.Rodham Added prospective display rate upgrade to UMovieScene::PostLoad - There was previously some very odd behaviour that would assign the fixed frame interval only when a sub sequence was focused in SSequencer. This meant that many sequences could have a frame interval of 0 set in the data. - Under the old method of snap interval display this would have fallen back to getting the display interval from the sequencer settings, but we no longer look at these. - The USequencerSettings properties have been removed and in their place, a prospective data upgrade for sequences that have a fixed frame interval old 0fps that sets the play rate to the previous defaults based off the old USequencerSettings defaults. - This could end up 'changing' the display rate for sequences where the user has changed the snap interval in the settings for a particular sequence editor, but there's not much we can do about that given we don't have access to the USequencerSettings classes in UMovieScene #jira UE-55919 Change 3940277 by Andrew.Rodham Sequencer: Added ability to default frame resolutions and play rates for newly created actor sequences Change 3940378 by Andrew.Rodham Sequencer: Post move import dialog now defaults to the playback framerate of the sequence, and floors to frame numbers Change 3940559 by Andrew.Rodham Reinstated primed or recording sequence color Change 3940642 by Max.Preussner ImagePlate: Removed image plate media playback functionality Change 3940843 by Max.Preussner Core: Made TCircularQueue actually thread-safe; improved code comments Change 3940860 by Max.Chen Sequencer: Changed StructNameToKey to StructPathToKey Previously, keying a PropertyPath of [RenderTransform][Shear][X] would get trimmed to X, which doesn't map to a channel name as considered by Sequencer2dTransformTrackEditor. Instead, trim the resulting property path to [Shear][X] so that track editors can determine the desired struct path and channels to key. #jira UE-52966 Change 3941292 by Mike.Zyracki Fix for trajectories out of range not showing up. 1) If we had no key data we would pop the time, so wouldn't get the section ranges. 2) Calculating of upper bound was wrong, checking against -1 and not key == num of keys when doing algo::lower_bound. 3) No need to do the Bck-- for the bakward iterators since we fixed #2. We start now from the upper bound correctly. 4) If we had no keys (at section start,end) we would incorrectly say we were any key type, so since we draw constant keys as dashed we would do so incorrectly around section end points. #jira UE-55929 Change 3941424 by Max.Chen Curve Editor: Change Zoom to Fit to use TArrayView Change 3941498 by Max.Preussner Core: Added FMath::DivideAndRoundNearest function Change 3942097 by Matt.Hoffman Drop Frame Timecode Support for NTSC rates. Change 3942104 by Matt.Hoffman Sequence Recorder Group is no longer visible inside the World Outliner after using one. #jira 55266 Change 3942107 by Max.Chen Sequencer: Resurrect logic to find or extend an existing section when adding keys. Change 3942330 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942339 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942507 by Andrew.Rodham Sequencer: We no longer pad the time overlap threshold with a small number that is not scaled by the current zoom level - The presence of this pad was causing keys that were far apart to be grouped when zoomed in a long way Change 3942509 by Andrew.Rodham Sequencer: Only pad total view range, rather than section range as well when retrieving keys to render - This stops us from rendering keys that are within the view range, but outside the section range Change 3942512 by Andrew.Rodham Added transactions to some sequencer details customizations Change 3942513 by Andrew.Rodham Sequencer: Reinstated validation checks to UMovieSceneSection::SetStartFrame and SetEndFrame, changed erroneous uses to use SetRange Change 3942560 by Andrew.Rodham Pass by rvalue reference to appease error C2719 on Win32 ('InChannels': formal parameter with requested alignment of 8 won't be aligned) Change 3942697 by Andrew.Rodham Newly Created Level Sequences and Actor Sequences now default to 24000 fps frame resolution (+/- ~24hrs range, supporting all integer rates + 23.976) Change 3942700 by Andrew.Rodham Sequencer: Added legacy out-of-bounds errors for times that are not supported by the current legacy upgrade frame resolution Change 3942989 by Max.Preussner Core: Fixed circular queue count calculation Change 3943538 by Max.Preussner MediaAssets: Reverted workaround for procedural audio log spam in HTML5 (Actor component initialization cannot be skipped if the component is used in a level) Change 3944071 by Max.Preussner QAGame: Fixed Media Texture keeps last frame of Media when PIE ends #jira UE-53360 Change 3944292 by Max.Chen Sequencer: Added extra flags to ensure that asset initialization does not occur on template actor sequences #jira UE-56113 Change 3944364 by Max.Chen Sequencer: Prevent circular shot/master tracks. Tested adding master -> child -> master as drag and drop cinematic shot tracks and sub tracks as well as through the + button. #jira UE-56091 Change 3944422 by Max.Chen Sequence Recorder: Disable transform recording if off. #jira UE-56061 Change 3944745 by Andrew.Rodham Sequencer: Key rendering fixes - Fixed assert that occured when keys happened to reside on some times due to KeyTime + TimeOverlapThreshold - KeyTime being slightly larger TimeOverlapThreshold - Fixed keys sometimes being clipped when zoomed right in due to lack of half-frame offset - Added missing documentation to MovieSceneTimeHelpers.h #jira UE-56107 Change 3945231 by Andrew.Rodham Sequencer: Reconstruct channel proxy on Serialize to catch all cases of undo/redo, PostLoad and duplication #jira UE-56089 Change 3945301 by Andrew.Rodham Sequencer: Added safety checks during initial sequence recording to guard against applying negative or 0-sized sequence ranges #jira UE-56125 Change 3946627 by Max.Preussner Fortnite: Fixed game crashes closing editor while in PIE - Pure virtual function being called #jira UE-56144 [CL 3946896 by Max Chen in Main branch]
2018-03-14 22:09:33 -04:00
}
else
{
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 4044339) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3947021 by Max.Chen Sequencer: Don't preserve root component when copying object properties. A spawnable empty actor, has a root component that is generated by the empty actor factory. If the object template's root component is preserved when copying from the spawnable empty actor, the root component will not be copied over. Therefore, we need to NOT preserve the root component when copying object properties. #jira UE-55825 Change 3947366 by Max.Preussner WmfMedia: Better log output Change 3947367 by Max.Preussner MfMedia: Better detection of compressed format properties on Windows Change 3949102 by Max.Chen Sequencer: Remove SequenceActorTag when converting to possessable. #jira UE-56206 Change 3949207 by andrew.porter EngineTest: Set the screenshot nodes resolution to 1280x720 Change 3949404 by Max.Chen Sequencer: More informative tooltip for "Rerun Construction Scripts" option. It now says "Rerun construction scripts every frame on actors that have 'Rerun Construction Script in Sequencer' enabled in their class settings". Change 3950067 by Matt.Hoffman Renamed UAutomatedLevelSequenceCapture's StartFrame and EndFrame to CustomStartFrame/CustomEndFrame to reflect that it is user-overriden. This will also resolve upgrade issues due to the variable datatype changing. #jira UE-56189 Change 3950193 by JohnHenry.Carawon Updating my latest MovieRendering test content. Change 3950757 by JohnHenry.Carawon More updates to MovieRendering test content Change 3952059 by Max.Chen Resave LevelVisibility_SubLevels to fix data loss conversion warning of OpacityMaskConstant #jira UE-56086 Change 3952283 by Max.Chen Sequencer: Disable dropping level sequence assets as spawnables. #jira UE-56120 Change 3952422 by Max.Chen Sequence Recorder: Add button to record from the current player. #jira UE-55942 Change 3952987 by JohnHenry.Carawon MovieRendering Test Content - Fixing camera bindings and changing the override binding actor Change 3953823 by Mike.Zyracki Fix for Bad FBX Import Tangents not scaled by frame rate. After looking at this again it seems that a set of MovieScene:: overiddes for the channel traits wasn't set correctly, so use the ADL idiom to use MovieScene, which can then call Optimize in the correct namespace. With this we can now correctly use the passed in tolerance. There was also a redundant set of Optimize calls so that it could happen twice so removed them, and needed an extra check in the float channel Optimize. Also since we need to set auto tangents no matter if we optimize we don't set that parameter(though leave it since it's used by context menu key reduction). Finally fixed speed issue with trajectories caused by calculating way too many substeps. Reverted back to a time based step size for consistency. #jira UE-56193 Change 3954317 by Matt.Hoffman Adding a key to the last frame of a section no longer causes a crash. Keys can already be moved to be on the last frame of a section so now you can just add a key there directly. #jira UE-56255 Change 3954326 by Matt.Hoffman Dilating a section that is only infinite on one side no longer causes a crash. #jira UE-56260 Change 3954486 by Max.Chen PR #4580: Exposes IsReversed() from UMovieSceneSequencePlayer (Contributed by alanedwardes) Change 3955238 by Max.Preussner Messaging: Enabled delayed message routing https://github.com/EpicGames/UnrealEngine/pull/4574 #jira UE-56247 Change 3955901 by Max.Preussner MediaFrameworkTest: Added developer test for overriding desired media player plug-in at runtime. Change 3955922 by Andrew.Porter QAGame: Updating movie rendering content in dev folder Change 3956004 by andrew.porter QAGame: Adding MPC track to movie rendering test content Change 3956510 by Max.Chen Sequencer: Fix fbx camera import of static properties so that they are imported before default tracks are created. Otherwise, the default tracks inherit the default properties of the camera, rather than the values from the fbx. #jira UE-56311 Change 3957613 by Max.Preussner MediaUtils: Added code documentation to media player facade Change 3958005 by Max.Preussner MediaUtils: Added method to get number of sinks Change 3958934 by Max.Chen Sequencer: Fix keys getting added and sequence getting erroneously re-evaluated when auto key is off. Only apply defaults if there are no keys. Only modify the movie scene section before creating keys or setting defaults. #jira UE-55903 Change 3959687 by Andrew.Rodham Sequencer: Fixed visibility track external values being inverted #jira UE-56324 Change 3960507 by Max.Preussner Core: Fixed incorrect rounding in FMath::DivideAndRoundNearest Change 3962047 by JohnHenry.Carawon MovieRendering Test Content Changes: - Add Lightmass Importance Volumes to sublevel to fix warnings - Rebuilt Lighting - Add a third sequence for Gamut testing - Resaved the sound master.uasset to fix warning Change 3962211 by Mike.Zyracki Add Frame Numbers to selected animation sections. Added MapTimeToAnimation to MovieSceneSkeletalAnimation so that we could get it from the Skeleton Animation track Editor. Since the thickness of the frame line can change based upon frame rate and zoom we need to calculate it similarly to how the time slider controller does it. Those calculations were private so we had to expose FScrubRangeToScreen and GetScubberPixelRange from the TimeSliderController. Also needed to know if the section itself was selected so added a bIsSelected flag to the section Painter. Also fixed a bug where you couldn't add a section if other sections existed at different times in MovieScenePropertyTrack and could crash due to the check(). #jira UESEQ-395 Change 3962497 by Max.Preussner Core: Added new string formatting argument to FTimespan Change 3963662 by Max.Chen CineCamera: Flip VistaVision width and height. Change 3963731 by Max.Preussner MediaCompositing: Implemented sequence recording support for media track Change 3964195 by Andrew.Rodham Sequencer: Set inverted property correctly for newly created visibility track sections - Also clamp evaluation for key editors to the bounds of the section so we're not displaying values outside of the section bounds when the cursor is not on the bounds #jira UE-56324 #coderevew Max.Chen Change 3964196 by Andrew.Rodham Sequencer: Fixed crash when attempting to render sections that resulted in a negative intersection with the view range Change 3964275 by Andrew.Rodham Sequencer: Fixed MovieScene::ClampToDiscreteRange for infinite range bounds Change 3964364 by Andrew.Rodham Curve Editor: Reduce minimum vertical view range when zooming to fit Change 3965091 by Max.Chen Sequencer Recorder: Refresh next sequence if empty when starting a recording, otherwise, use existing name. #jira UE-56469 Change 3965148 by Max.Chen Sequence Recorder: Move Record to Possessable to "Actor Recording" group Change 3965162 by Max.Chen Sequence Recorder: Always break out of immersive mode when done recording, even when stopping recording during countdown. #jira UE-56407 Change 3965214 by Max.Preussner QAGame: Enabled ImagePlate plug-in Change 3965574 by Max.Preussner SimpleComposure: Reorganized & upgraded content to work with new Media Track #jira UE-56488 Change 3965651 by Max.Preussner MediaCompositing: Ignoring seek-on-open if media not seekable Change 3966075 by Christina.TempelaarL Sequencer: Added Final Cut Pro 7 XML Export functionality #jira UESEQ-358 Change 3966087 by Matt.Hoffman Adding a single key to the Particle Toggle track now makes an infinite range section that is displayed in the UI. #jira UE-56295 Change 3966547 by Andrew.Rodham Sequencer: Fixed rounding errors when drawing the section background on boolean sections - Logic was using time in sectonds which caused rounding errors on evaluation and flickering red/green stripes when dragging keys around #jira UE-56324 Change 3966563 by Andrew.Rodham Curve Editor: Key editor interface improvements - SKeyEditInterface has a few problems - it does not update in real time when editing properties, and does not support multi-edit which makes it unsuitable for use with the curve editor - We now take a different approach for editing keys by gathering a set of proxy UObjects for each key that is currently selected. These objects are added as top level objects to the details panel which means they support multi edit as you'd expect from any other details panel in the editor. - Proxy objects are updated every tick for the curve editor if they implement the ICurveEditorKeyProxy interface, which allows them to refresh their current value. - Ideally, the same mechanisms would be used in the main sequence interface, and we would be generating the proxy classes at runtime based on the key value type, but that work remains a separate task from this initial offering. #jira UE-56165 Change 3966564 by Andrew.Rodham Curve Editor: Expand to frame when adding or moving keys in the curve editor Change 3967051 by andrew.porter MediaFrameworkTest: Set the CameraPlayer_Video texture to auto clear Change 3967141 by Andrew.Rodham Sequencer: Keep track of spawned objects that have been modified and only re-save such object's default spawnable state on destruction - Now that we're taking this approach, I've remove serveral redundant bits of functionality in the spawn register such as making some spawnables read-only, and the PreSave binding for Sequencer. - We now hook into all object pre-saves to make sure we handle the case where the sequences are saved through the content browser or elsewhere. #jira UE-47686 Change 3967170 by Andrew.Rodham Sequencer: Added the ability to possess anim instances as object bindings - This allows full and direct animation of properties on UAnimInstance, and animation blueprints - Object Bindings are made by first possessing a skeletal mesh component, then choosing the + Add button where its anim instance will be listed - Added a new function to UMovieSceneSequence to gather previously cached objects that should now be invalidated. Anim instances will be re-resolved if a new UAnimInstance is assigned to USkeletalMeshComponent::GetAnimInstance. - ObjectBindingIDs for anim instances are just represented by an entry in a set of GUIDs. We only ever resolve such bindings through USkeletalMeshComponent::GetAnimInstance. - Only currently supported on LevelSequences #jira UE-56132 Change 3967195 by Max.Preussner Core: Updated TRangeSet to use TCallTraits Change 3967345 by JohnHenry.Carawon Test Content Changes - first iteration of spacing out the examples in the shots. Change 3967572 by Max.Chen Sequencer: Fix setting PreviousPlayEvalPosition until after we've tested whether it's set. #jira UE-56518 Change 3967750 by Max.Chen Audio: Set duration based on number of input channels, rather than number of channels to serialize. This fixes an issue where audio split into 2 channels is set to a duration that's twice as long. #jira UE-56430 Change 3967836 by Max.Chen Sequencer: Allow for animating array elements within ustruct properties #jira UE-55887 Change 3968506 by Matt.Hoffman Fixed ambiguous conversions for seconds and frames being overriden by ambiguous conversion to Timecode (in frames). Change 3968748 by Max.Chen Sequencer: Make the event properties submenu widget larger. #jira UE-55557 Change 3968862 by Max.Chen Sequencer: Recursive expansion when shift is down #jira UE-52139 #pr 4194 Change 3968863 by Max.Chen Sequencer: Bind rename command to selected track so that F2 shortcut start renaming #jira UE-52139 #pr 4194 Change 3968872 by Max.Chen Sequencer: Rekey the selected key at the current time. #jira UESEQ-396 Change 3968938 by Max.Chen Cine Camera: Add option to toggle the behavior of locking the rail mount to the orientation of the spline. By default, the option is off, no change in behavior. #jira UE-55815 Change 3968958 by Andrew.Rodham Sequencer: Consider vertical position when hittesting keys #jira UE-56256 Change 3969643 by Max.Preussner Core: Rounding timespans created from double values towards nearest ticks Change 3969646 by Max.Preussner MediaUtils: Implemented timeout mechanism for block-on-fetch feature Change 3969776 by Mike.Zyracki Added Skip Anim Notifiers Toggle per what was in Matinee. Investigated the Enable Root Motion toggle as also discussed but it's implementation is directly contained by the animation asset and unlike animation notifies there seems to be no exposure to interactively disable it during a playback tick. Note if we are generating thumbnails we still automtically disable notifies in the editor to avoid annoying noise playback. Note that if Enable Root Motion/Root locked is specified in the animation asset it does correctly effect the Sequencer. #jira UESEQ-399 Change 3969835 by Matt.Hoffman Playback Range and Selection Range use unified logic for adding themselves as potential snap locations which properly handles inclusive/exclusive bounds. This resolves an issue where having an unset selection range caused a potential snap location to be added on frame 0 and 1 (internal resolution) which caused a misalignment when placing objects near frame 0. This also removes the one frame offset on setting Selection Range to bring behavior inline with other ranges. #jira UE-55420 Change 3969885 by Max.Preussner MediaAssets: Don't register media player CDO with media ticker Change 3971129 by Andrew.Rodham Sequencer: Fixed UMovieSceneSequencePlayer::GotToEndAndStop() not taking into account for start time This is a remnant from when the times were always specified in 0-duration space, rather than actual sequence times. Change 3972056 by JohnHenry.Carawon More updates to Test Content. I continued spacing out the examples in the sequence so that they have a consistent number of frames between each example and during the start/end of the example. Also removed the Marcie sublevel. Change 3972066 by Andrew.Porter MediaFrameworkTest: Setting Marcie folder to be never cooked in package settings Change 3972675 by Matt.Hoffman Splitting Subsequence Sections no longer sets an incorrect playback range on the subsequence when the subsequence has a different internal resolution than the owning sequence. #jira UE-55453 Change 3973376 by Max.Preussner ImgMedia: Zero is the only valid video track for image sequences Change 3973489 by Max.Preussner Launch: Build rules cleanup pass - don't use Media, MediaUtils on server apps - don't link against Media (include-only dependency) - don't include from MediaAssets (dynamic load only) Change 3973760 by Max.Preussner MediaUtils: Moved AppMediaTimeSource implementation into its own file; added logging Change 3973765 by Max.Preussner ImgMedia: Disallowing seek beyond media length Change 3973855 by Max.Preussner MediaFrameworkTest: Updated developer test content Change 3973858 by Max.Preussner MediaCompositing: Blocking on media player time instead of media sample time (the former may not be hit in the current frame) Change 3974988 by Max.Chen Sequencer: Fix trim left so that it also sets the start offset for audio and skeletal animation sections. #jira UE-57015 Change 3976101 by Matt.Hoffman Sequencer will now focus the scroll view on newly created items. #jira UE-56492 Change 3976203 by Max.Chen Property Editor: Add DetailsViewArgs for ColumnWidth. Defaults to 0.65f, no change in existing behavior. Change 3976205 by Max.Chen Sequencer: Set better column widths for sequencer. #jira UE-55557 Change 3976206 by Max.Chen Sequencer: Added menu category for import/export Change 3976265 by Matt.Hoffman Tracks within Object Binding Nodes will now sort using the old behavior so that components are added above other track types. #jira UE-56473 Change 3976901 by Max.Chen Sequencer: Add event names to event track section #jira UESEQ-353 Change 3977878 by Max.Preussner Media: Moved media framework ticking stats into Media module Change 3977982 by Max.Chen Sequencer: Add Edit->Reset section length to duration of source (ie. audio, skeletal animation, shot length) Added MovieSceneSection::GetDefaultDuration and MovieScene::HasDefaultDuration #jira UESEQ-392 Change 3977994 by Max.Preussner Media: Fetching and rendering media samples before viewports are rendered (to ensure frame sync for in-level media playback) #jira UE-53975 Change 3978188 by Matt.Hoffman Easing Curves are now clipped by the sequence's PlayRange when testing against an infinite section. This causes blended sequences to finish their blend when the section starts/ends instead of always using 25% of the total section length to determine default blend range. #jira UE-56362 Change 3978676 by Max.Preussner MediaCompositing: Fixed first frame of rendered out media track missing #jira UE-53975 Change 3978684 by Max.Preussner MediaCompositing: Enabled media track frame sync feature #jira UE-53975 Change 3980026 by Matt.Hoffman Keys can be selected on folded out sections (such as an audio track expanded to show volume and pitch) again. #jira UE-57169 Change 3981614 by Max.Preussner MediaUtils: Added missing subtitle sample queue flush Change 3982311 by Max.Preussner MediaCompositing: Added safeguard for zero length media sources Change 3982389 by andrew.porter QAGame: Adding media track test content into FrameAccuracySubscene Change 3983661 by Max.Chen Sequencer: Add level name to spawn a spawnable into. Add sublevel menu option to set the level #jira UESEQ-390 Change 3983712 by Andrew.Rodham Sequencer: Purge legacy blueprint spawnables from LevelSequence packages #tests Ran a preflight for cooking fortnite, ocean and Orion. Only orion shows up this edge case, and will require a re-save of the EndCines level #jira UE-39173 Change 3983787 by Max.Preussner MediaCompositing: Moved compile time switch for block-on-fetch into media player facade Change 3983812 by Andrew.Rodham Sequencer: Exposed default level sequence instance data to blueprints Change 3984373 by Max.Preussner Media: Added API for quering whether player plug-in supports block on fetch Block on fetch allows Sequencer and other systems to block the game thread until a desired video frame has been decoded. Change 3984670 by JohnHenry.Carawon Movie Rendering Test Content progress. Saving the state of the content. There is a bug where things got replaced with particle emitters and I think it was because I tried to copy paste an animation track into a separate skeletal mesh track. Change 3985097 by Max.Chen Sequencer: Rename Reset to AutoSize Change GetAutoSizeDuration to return TOptional<FFrameTime> #jira UESEQ-392 Change 3986043 by Max.Chen Sequencer: Fix crash when attach/path duration is less than 0. #jira UE-57310 Change 3986373 by Max.Chen Sequencer: Add support for deleting tracks and channels which equates to setting the channel mask. #jira UE-52951 Change 3986375 by Max.Chen Sequencer: Add Create Pose Asset to skeletal animation section. This allows animators to blend animations in sequencer and create new pose assets from them. #jira UESEQ-408 Change 3986796 by Andrew.Rodham Sequencer: Fixed stale object references remaining in ULevelSequence::BindingReferences when using convert to spawnable/possessable - We used to convert objects by creating a new binding, then re-assigning its GUID, which meant we didn't have to do any further object fixup, but the code to achieve this was confusing and led to a vulnerability where object references would not be cleaned up correctly due to the newly created possessable essentially being a temporary object that's immediately thrown away. - To address this, there is now a function for porting all the contents of one object binding to another, and handles the correct fixup required for parent/child object bindings for both spawnables and possessables. - Also added codepath to remove any stale object references from the level sequence reference map on PostLoad (this piggy-backs off the PurgeLegacyBlueprints object version which is close close enough to this change to be identical) #tests Verified that existing sequences with stale references get cleaned up on load. Verified that repreatedly converting from spawnable<->possessable cleans up references correctly. Change 3987807 by JohnHenry.Carawon Updates to the MovieRendering Test Content. - Fixed the spawnable actors that were overwritten - Shortend the Lighting example and combined the Intensity and Color tracks - Organized the Sequence and WorldOutliner to group the examples. Change 3988151 by Max.Chen Cine Camera: Enable keying the "Enable Look at Tracking" toggle. Change 3988880 by Max.Chen Sequencer: Support enter to add asset for all sequencer track editors that have asset pickers. #jira UE-57367 Change 3988953 by Max.Chen Sequencer: Make the track color picker focusable so that it will close when you click away or lose focus. #jira UE-57210 Change 3988962 by Max.Chen MovieSceneCapture: Fix EDL export so that it takes into account movie scene frame resolution and desired frame rate. #jira UE-57365 Change 3988964 by Max.Chen Movie Scene Capture: Clarified tooltip for bRelativeFrameNumbers. If you specify custom start/end frames for the recording, they will be relative to the playback range. #jira UE-57308 Change 3989442 by Max.Chen Fix CIS Change 3991548 by Matt.Hoffman Dragging the time slider no longer causes the time slider to ignore snap-to-interval with "Snap to Keys While Scrubbing" when no keys are in range. #jira UE-57417 Change 3991598 by Matt.Hoffman Snap to Key while scrubbing now mirrors the behavior of "jump to next key". When there are no tracks selected it snaps to all keys and when there are tracks selected it snaps to only keys from that track. This also resolves an issue where deleting an object did not remove it from the Sequencer's selection. Undoing a delete already doesn't seem to restore your selection, so removing it from your selection shouldn't change that behavior. #jira UE-57417 Change 3991603 by Max.Chen Sequencer: Disable EditAnywhere for some section properties #jira UE-53530 Change 3992240 by Max.Preussner MediaAssets: Implemented dynamic audio sample rate adjustment based on audio/media clock drift #jira FORT-70638 Change 3992911 by Andrew.Rodham Sequencer: Fixed saving spawnable state using the wrong spawned object - We now track the object binding ID so that we can apply the spawned object to the correct spawnable when the asset is saved #jira UE-57353 Change 3992914 by Max.Chen Movie Scene Capture: Fix compression quality not being set. The compression interface wasn't being found through query interface, so no compression was being set. Reworked finding it through the output pins. Tested running various compression values. #jira-UE-55488 Change 3992919 by Max.Chen Sequencer: Convert to possessable now uses object template instead of copying properties (ie. see LevelSequenceActorSpawner). This fixes MIDs getting lost when converting to spawnable and back to possessable. #jira UE-52400 Change 3993184 by Max.Chen Sequencer: Don't show +Transform/+Path/+Attach track if the actor has the "Mobility" property hidden. Set the Landscape, LandscapeProxy and InstancedFoliage "Mobility" property to be hidden since it is static is not supposed to be dynamically movable. #jira UE-56347 Change 3993238 by Max.Chen Sequencer: Test for hidden mobility in creating keys as well. Refactored to HasHiddenMobility() #jira UE-56347 Change 3993978 by Max.Chen Cine Camera: Enable keying the "Enable Look at Tracking" toggle. #jira UE-57489 Change 3994039 by Max.Chen Landscape: Add Mobility to hidecategories on landscape component #jira UE-56347 Change 3994626 by JohnHenry.Carawon Updated Movie Rendering Test Content. - Fixed the overridden spawnables to their proper object types. Change 3994653 by Christina.TempelaarL Sequencer: Added Final Cut Pro 7 XML Import functionality, improved Export functionality #jira UESEQ-358 Change 3995609 by Max.Chen UMG: Add support for 2d transform mask (translation, rotation, scale, shear) #jira UE-52951 Change 3995778 by JohnHenry.Carawon Movie Rendering Test Content Updates - Adjusted Lights example - Adjusted Camera example - Added Marcie sublevel back in Change 3995942 by JohnHenry.Carawon QAGame: Moving Movie Rendering test content from Developer folder to Sequencer folder Also adjusted level visibility, lights and camera example. Change 3995993 by Christina.TempelaarL Sequencer: FCPXML Export updates - only export sections if in playback range and media exists, warn if media does not exist. Other updates - removed unused methods and variables, fixed message context naming to be more accurate #jira UESEQ-358 Change 3996595 by andrew.porter QAGame: Updating Marcie content in TrackEvaluation level to use Image Plate Change 3996614 by andrew.porter QAGame: Adding color test sequence to the sublevel Change 3996643 by Max.Chen Sequencer: Fix fbx animation export - rotation and scale channels were flipped. #jira UE-57509 #jira UE-57512 #jira UE-57514 Change 3996652 by Max.Preussner Messaging: Fixed delayed messaging using incorrect current time after message router sleep Based on https://github.com/EpicGames/UnrealEngine/pull/4601 Change 3996801 by Max.Chen Sequencer: Fix folder active state for non key area sections. Look at track node sections as well as key areas. #jira UE-57550 Change 3997098 by Matt.Hoffman Cleaned up some remaining ToDo's in STimeRange. Change 3998339 by Max.Preussner Sockets: Added documentation for socket receive functions Change 3998359 by Max.Preussner MediaUtils: Started to implement media recorder helper class Currently only supports BGRA frames in CPU memory. Supporting other formats and buffer types will require conversions on render-thread. I recommend refactoring out the existing conversion code in FMediaTextureResource into a reusable helper class in the MediaUtils module. This should be a good starting point though. Change 3998417 by Matt.Hoffman Keys and Sections can now be moved at the same time inside of Sequencer. Keys can now snap to Sections (and vice versa) instead of just to other Keys. Sections can now be duplicated like keys can. #jira UE-56995 Change 3998427 by JohnHenry.Carawon QAGame: Updating test content for the Movie Rendering feature. - Added an auto activate particle to the beginning of the sequence (it's not part of the sequence at all) - Added an event receiver blueprint to the Events example - Added a particle emitter to both sublevels - Added a camera cut to the end that switches to a separate camera - The camera zoom in, focus and Look At sections are all separate (not overlapping in the sequence) - Added a second actor for the camera Look At - Added a Visibility section for the Actor Hidden In Game track that has possessable and spawnable cube and light Change 3998537 by Max.Chen Sequence Recorder: Restore immersive mode when stopping the sequence even if not in PIE. #jira UE-56407 Change 3999809 by Matt.Hoffman Removed the "Go To" box from Sequencer and instead placed the current time as an always visible control. The previous shortcut (Ctrl + G) now focuses the new widget directly. #jira UESEQ-376 Change 4000543 by Christina.TempelaarL Sequencer: Moving editor-only code from runtime module MovieSceneCapture to editor module MovieSceneTools. Moved EDL and FCP XML exporters as well as Automated Level Scene Capture. #jira UESEQ-358 Change 4000706 by Matt.Hoffman Entering multiple time strings without a number no longer crashes Sequencer. #jira UE-57672 Change 4001051 by andrew.porter MediaFrameworkTest: Fixing up some image sources pointing to the wrong location Change 4001191 by andrew.porter QAGame: Adding some quick EDL/XML test content to dev folder Change 4001243 by Max.Chen Sequencer: Fix import EDL out of range. #jira UE-57665 Change 4001856 by Matt.Hoffman Selecting keys and sections at the same time now also works with animation and audio sections. #jira UE-57716 Change 4002021 by Max.Chen Sequence Recorder: Fix sequence name incrementing. If external recording sets the sequence name, use it. Otherwise, use the recording name from the recording group or the recording settings. #jira UE-57712 Change 4002618 by Max.Chen Viewport: Update the look at location when updating to a locked actor. This fixes an issue so that popping the view out of a locked actor and manipulating the view will not jump to the previous look at location. #jira UE-57725 Change 4002979 by Matt.Hoffman Fixes several edge cases with the end time range that was causing confusion about what the last frame of the sequence was. Dragging the End Frame slider will no longer be off by one tick and jumping to the end via the UI controls now properly respects snapping and stays inside the play range instead of falling outside of it. Overall behavior does not change though and End Frame should be considered an exclusive frame so that frames 0-150 results in a 150 frame long animation (which is frames 0-149). #jira UE-56367 Change 4003185 by Matt.Hoffman Fixed a regression that prevented a section from being dragged upwards past row 0 which normally resulted in all other rows moving down. #jira UE-57717 Change 4003193 by JohnHenry.Carawon QAGame: Updates to test content - Shortened frames between the examples from 95 to 30 - Separated camera setting tracks - Lighting example now switches directly from constant red - green - blue Change 4003369 by Max.Chen Sequence Recorder: Refresh next sequence regardless of internally stored sequence name. #jira UE-55757 Change 4003586 by JohnHenry.Carawon QAGame: Test Content Updates - Level Visibility track now ends to that the levels are not visible when we move to the next example - Shortened camera section, removed Z tranform so that we just move left to right and shortened the overall length Change 4004414 by Max.Chen Movie Scene Capture: Fix regression where rendering with shot handles would only render the first shot. 3972166 addressed an issue where an extra frame would be rendered by finalizing right when the end frame was reached. This was hit on the first shot end frame, so instead, do this only for when the last shot is being rendered. #jira UE-57314 Change 4004765 by Christina.TempelaarL Sequencer: Fixed bugs in FCP XML import/export. - Export: fixed sequence default resolution. - Export: fixed XML files with no shots. - Export: all sections clipped to playback range. - Export: fixed incorrect section start/end times due to precision issues. - Import: fixed incorrectly adding cinematic tracks. - Import: fixed bugs creating new sections. #jira UE-57660 #jira UE-57662 #jira UE-57655 #jira UE-57761 Change 4005119 by Max.Chen Sequencer: Export/import at play rate Change 4005195 by Max.Chen UMG: Finish UMG evaluation on stop. Added object version so that existing UMG assets do not change. #tests - Newly created UMG animation with sections set to restore state now return to their original state. Existing UMG animations with sections set to restore state do not return to their original state. #jira UE-52285 Change 4005377 by Michael.Karambelas QAGame: Moving TM-SequenceRecorder and related content out of my developer folder and into /Content/Sequencer/SequencerRecorder/* Change 4005417 by Michael.Karambelas QAGame: Fixed a BP compiler in the Level Blueprint of TM-SequencerRecorder. Change 4005634 by Michael.Karambelas QAGame: Fix up missing content and broken level sequence in TM-SequenceRecorder after move Change 4006324 by Max.Chen Sequencer: Reset if the focused movie scene is null. This fixes a crash if the user is focused in on a shot and undo takes the user past the point of where the shot was created. #jira UE-57752 #jira UE-47661 Change 4007006 by Max.Chen Sequencer: Fix FindAvailableRowIndex so that it returns the max row index (and not +1) since it doesn't find any conflicting rows. #jira UE-57717 Change 4007907 by Max.Chen Sequencer: Fix crash if there's no animation Change 4007948 by andrew.porter QAGame: added test content to dev folder for Record World Space Change 4008636 by Max.Chen Sequencer: Fix import fbx not setting values properly and creating additional cameras unncessarily. #jira UE-57864 Change 4008759 by Max.Chen Sequencer: Follow up fix for import cameras #jira UE-57864 Change 4009994 by Matt.Hoffman Dragging the left or right handles of the Time Range slider in Sequencer will now zoom your view in on the current center of the screen. This prevents the view from being translating as you tried to zoom in which caused issues at high zoom levels. #jira UESEQ-407 Change 4010169 by Christina.TempelaarL Sequencer: FCP XML fixes. - FCP XML export - no longer clips to playback range - FCP XML and EDL export - fixed missing last frame of some sections after exporting to Premiere. - Automated level capture, EDL export - use RoundToFrame instead of FloorToFrame for computing section start/end frames after frame rate conversion. #jira UE-57802 - partial fix, movie scene capture still needs to render full section rather than clip against playback. Change 4010287 by Mike.Zyracki Add quaternion interpolation option to UMovieScene3DTransformSection. This mimics how Matinee used to work by bascially finding the keys between a time and interpolating the angles as quat's between them. As noted in the code the algorithm needs to handle the case when the x,y,z Rotation keys all aren't at the same time which was not handled by Matinee. Also like Matinee, when in quaternion interoplation mode, we need to not display the function cuves since the interpolated and key values are now all different. (Would like to show them but that's a bigger refactor for perhaps just a one off needed by quaternions). I added a virtual function UMovieSceneSection::ShowCurveForChannel for this since it needs to be dynamic, not on construction of IKeyArea's, and could be useful for other sections. I could though move the method to just UMovieScene3DTransformSection and do a cast instead. Looked into doing a unit test for this but after talking with Andrew P we will work on doign an automated test in EngineQA since that will provide more coverage. Will also add a video the jira. #jira UESEQ-403 Change 4010713 by Mike.Zyracki Added option to key a group of transform channels instead of just the changed channel, or all of them. This is useful for quaternion interpolations where you want rotation keys to be aligned but also useful for other workflows like animating FK Pose to Pose. Change 4010715 by Andrew.Porter MediaFrameworkTest: Setting LogMediaUtils logging from VeryVerbose to Verbose to cut back on the spam Change 4013048 by Max.Chen Sequencer: Fix play/jump status. Update the player status for all position methods (Scrub, Jump, Play). Jump means Stopped. Correctly use PlayTo or JumpTo based on position method. In PlayInternal, JumpTo with the Stopped state (rather than playing state). #jira UE-57844 Change 4013479 by andrew.porter QAGame: Added content in TM-SequenceRecorder to test recording a property on a Cine Camera Component; Press 3 to trigger manual focus distance to increment on a timer Change 4014323 by Max.Chen Sequencer: Fix SetPlaybackPosition so that it jumps or plays based on playback status. #jira UE-57844 Change 4015888 by Max.Chen Sequencer: Fix crash on paste. UMovieSceneSections were gathered from the track node's track. For sub track mode, we want to gather only those sections on that track node row. #jira UE-57951 Change 4015943 by Max.Chen Sequencer: Fix moving shots up when the mouse pos goes outside of the virtual track area. #jira UE-57717 Change 4016293 by Max.Chen Sequencer: Fix relative frame playback end frame calculation so that custom start/end frames remain in the space of the sequence and are not relative. #jira UE-57308 Change 4017075 by Andrew.Rodham Sequencer: Corrected initial evaluation range used when calling UMovieSceneSequencPlayer::Play() Change 4017270 by Christina.TempelaarL Sequencer: FCPXML importer and movie scene capture - Use CeilToFrame when converting section start/end frame times to frame numbers in FCPXML and movie scene capture. - Added support for clip metadata in FCPXML. - Got rid of redundant TokenizedError message class, no longer needed now that FCPXML is in editor directory. - Added log messages currently commented out due to exception, still testing. #UESEQ-358 Change 4018370 by Christina.TempelaarL Sequencer: fixed FCPXML log messages regarding sections with start/end not divisible by display rate. #UESEQ-358 Change 4018378 by Christina.TempelaarL Sequencer: fixed error in previous changelist. #UESEQ-358 Change 4019457 by Max.Chen Sequencer: Show event names only when the event track is selected #jira UE-57897 Change 4022806 by Max.Chen Sequencer: Fix crash on movie scene capture dialog shutdown if movie capture wasn't even started. #jira UE-58106 Change 4022894 by Max.Chen Sequence Recorder: Wrap OpenEditorForAssets after sequence recording within GIsEditor #jira UE-58084 Change 4024487 by Max.Chen Sequencer: Add tooltip for quat interpolation #jira UE-58113 Change 4024562 by Max.Chen Sequencer: Change path/attach track sequence binding id to currently focused sequence id so that bindings can be created in subsequences Change 4027414 by JohnHenry.Carawon QAGame: Checking in content that shows a bug with using particles systems and Delay Before Shot Warm Up. Change 4028990 by Max.Chen Sequencer: Fix evaluate sub sequences in isolation. This check was added with the compile on the fly logic. Not sure why it was necessary but it seems like the sub sequence data needs to be updated in order to evaluate sub sequences in isolation. #jira UE-58184 Change 4029004 by Max.Chen Sequencer: Ensure that old binding references are removed when re-assigning actors in sequencer #jira UE-57898 Change 4030997 by JohnHenry.Carawon QAGame: Fixing name of the master sequence Change 4031785 by Michael.Karambelas QAGame: Added an instance of ThirdPerson Run to TM-SequenceRecorder for Record to Possessable test. Change 4035548 by Andrew.Rodham Sequencer: Changed FMovieSceneEvaluationTemplate::TemplateSignature to be a serial number to address non-deterministic cooking issues - This commit is related to the repro steps found in 3914599 and 3934307, both of which have been verified with this new change. - Copy of 4031684 from //Fortnite/Main/... #jira FORT-84852 Change 4036312 by Max.Chen Sequencer: Fix zoom view range so that it uses the passed in InZoomDelta Change 4036318 by Max.Chen Sequencer: Auto size now returns a range and defaults to the channel proxy range so that keyed regions can also be autosized. Change 4036322 by Max.Chen Forgot missing change Change 4036360 by Max.Chen Sequencer: Fix play rate calculation when skeletal animation section play rate changes. Change 4037163 by Mike.Zyracki Weighted Tangent Implementation Tricky thing is that you need to solve a cubic in order to get the bezier weights for the time part of the curve. See https://www.gamedev.net/forums/topic/474094-help-function-curves-for-animation-interpolation/ Maya provides an implementation in it's dev kit but I didn't use it since it was horribly slow and uses an iterative solution to solve the cubic needed. Instead I use an old algorithm (Cardano's method), to solve the cubic which should be much faster. Though relative simple to code from principles I just went ahead and used a version from Graphics Gems 1. I put this cubic solver directly in MovieSceneFloatChannel.cpp, but will need to move it when we support Rich Curve, maybe to FMath:: (which would probalby require some other functions for solving quartics, etc.. for completeness.). Also note we resolve this on every evaluation but dont' need to if the interval the time is evaluating hasn't had any change in values or tangents. So again when we support FRichCurve we can create a Weighted Evaluating class that can hold the cache. Also with the tangent drags I got rid of the Cardinal position that was used to calculate non-weight tangents from the key point and just quickly getting a direction. With weighted tangents we need to use the delta instead (otherwise when moving multiple they would all get the same weight based upon distance to the cardinal point. ) For mixed tangents types what I'm defaulting to non weighted if the interval doesn't match. May need to do weighted instead, not sure. What's left is just FBX import, for tomorrow. #jira UESEQ-76 Change 4037435 by Mike.Zyracki Fix fo build warnings from weighted tangent submission. #trivial Change 4038091 by Michael.Karambelas QAGame: Updated a Sequence Recorder group in TM-SequenceRecorder that had an actor missing the animation. Change 4038374 by Andrew.Rodham Sequencer: Refined scrubber styling for level sequences and actor sequences - Scrubber now shows a block the width of a dsplay rate frame, plus a line for the actual evaluated time. UMG reverts back to the previous styling (no block) - Keys that are outside of the playback range are now drawn with a subdued effect - Tick labels are no longer drawn when directly underneath the scrubber Change 4038490 by Max.Chen Sequencer: Expose tangent weight values in details panel. Change 4038620 by Andrew.Rodham Sequencer: Advanced time panel polish #jira UESEQ-426 Change 4038677 by Max.Chen Movie Scene Capture: Redirector for MovieSceneTools.AutomatedLevelSequenceCapture #jira UE-58248 Change 4039739 by Max.Chen Sequencer: Media track should only be supported by Level Sequence Change 4040024 by JohnHenry.Carawon QAGame: Fix EventReciever and OverrideBinding example The level sequence was set to none so the fix was to set it back to TrackEvaluation_Master. Change 4040610 by Andrew.Rodham Curve Editor: Moved weighted tangent switchers to a single toggle command (CTRL+W) and added an icon #jira 58383 Change 4040882 by Mike.Zyracki Keep broken when turning on weighted #jira UE-58435 Change 4041089 by andrew.porter QAGame: Sequence for Long Tangents bug Change 4041498 by Mike.Zyracki Turn off weighted when going auto to prevent large tangents. Do it both in UI and when doing AutoSetTangents() to really make sure it doesn't happen. #jira UE-58452 Change 4041752 by andrew.porter MediaFrameworkTest: Adding some better logging for setting rates when not supported. Also ignoring commiting URL when there is no text Change 4041896 by Matt.Hoffman The transform dialog box now transforms selected keys and sections, instead of just keys. #jira UE-58265 [CL 4044405 by Max Chen in Main branch]
2018-05-02 10:10:00 -04:00
return MouseValue * GetTickResolution();
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3946692) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3801826 by Max.Chen PR #4304: Level Sequence crash fix - Guarded against dereferencing null componen. (Contributed by DSDambuster) Change 3801828 by Max.Chen PR #4302: Movie Scene Visibility Template unitialised variable, causing random . (Contributed by DSDambuster) Change 3801837 by Max.Chen Sequencer: Delay spawning/construction for convert to possessable. This fixes a bug where property values would be lost when converting back and forth from possessable to spawnable. #jira UE-52400 Change 3801841 by Max.Chen Sequencer: Make spacer nodes not selectable. PR #4194: Improvements to Sequencer (Contributed by projectgheist) #jira UE-53117 #jira UE-52139 Change 3804183 by Max.Preussner MediaAssets: Added missing lock in media sound component Change 3805414 by Max.Preussner MediaAssets: Setting valid GUID when initializing media texture resource Change 3819578 by Max.Chen PR #4370: When enabling the "MovieCapture", do not turn off the Stereo-3D display. (Contributed by yehaike) #jira UE-53647 Change 3823414 by Max.Chen Curve Editor: Lock down the first and last keys in the redundant keys removal range so that they're unaffected. #jira UE-53591 Change 3826406 by Max.Chen Sequencer: Move OnStartedPlaying() to within first update in UpdateTimeCursorPosition(). This fixes an issue where setting the hud/player visibility was getting stomped on later. #jira UE-52772 Change 3827044 by Max.Preussner MediaAssets: Added sprite visualization to media sound component #jira UE-53594 Change 3827988 by Max.Preussner MediaPlayerAssets: Fixed Media Texture is not linked to Media Player when created together #jira UE-53532 Change 3828506 by Max.Preussner MediaPlayerEditor: Added attenuation visualizer for media sound components #jira UE-53594 Change 3832590 by andrew.porter EngineTest: Added a keep state check in Property Animation sequencer test Change 3833053 by andrew.porter EngineTest: Adding Hierarchical Bias test Change 3835683 by andrew.porter EngineTest: Adding UMG Animation screenshot test Change 3836076 by Max.Chen Sequencer: Fix audio volume and pitch multiplier deprecation. Change 3836230 by andrew.porter EngineTest: Adding Sequence Bone Position automation test Change 3836347 by Max.Chen Sequencer: Fixes to shot name parsing. When a shot doesn't contain a shot number, assume, [ShotName]_[TakeNumber]. When duplicating a shot, put the new shot in the same path of the original shot, so that the take numbers will increment properly. #jira UE-51868 Change 3836552 by Max.Chen Sequencer: Sub section now has a takes menu Change 3838094 by Max.Chen UMG: Fix template finish not getting called on stop. This fixes a bug where sections aren't restored when finished. #jira UE-52285 Change 3838708 by Max.Chen Sequencer: Add notification when the blend type is changed. #jira UE-54046 Change 3840295 by Max.Chen Sequencer: Fix copy/paste crash for lights #jira UE-54084 Change 3840957 by Mike.Zyracki Added Show Only Keyable and Show Only Animated to the filter list in the property editor. Added IsPropertyAnimated to IDetailKeyframe Interface which already had support for showing properties which are keyable (which is used for the key icon next to the properties.). Could have created another interface but then would have had to mimic the sequencer binding, releasing also, so this seemed best way. One issue still left is that custom built detail items currently don't store associated properties(usually) and so certain properties, in particulalry transforms, won't show up as keyable or animated. Note this also shows up with the keyable icon not showing up next to transform tracks, and other filters like Show Only Modified not working with transforms/customs. Not sure best way to tackle this. #jira UESEQ-328 Change 3841756 by Max.Chen Sequencer: Fix unbound possessable components when pasting spawnables. #jira UE-54104 Change 3843950 by andrew.porter EngineTest: Renaming LevelStreaming tests/content to LevelVisibility Change 3844082 by Mike.Zyracki Missing file for animated filter in property editor. When finding if a track is animated we need to find it but we can't easily induce the MovieTrack class for any particular property. So we don't set a class for it and just search by it's ID and name. #jira UESEQ-328 Change 3846902 by Max.Preussner ImgMedia: Fixed image media player never finished initialization if loading failed #jira UE-54247 Change 3849820 by Mike.Zyracki Reassigning deleted widgets didn't work since the menu extender mechanism needs a valid UObject in order to perform an operation on it. So to fix we replaced GetObjectBindingContextMenuExtender in WidgetBlueprint with new delegate mechanism (OnBuildCustomContextMenuForGuid) that supports FGuid in addition to UObjects which is needed to handle re-binding deleted widgets. Note that the default sequencer hacks this for replacing deleted actors in SequencerObjectBindingNode to check to see if a LevelSequence is active. We could move to this mechanism there also. #jira UE-53163 Change 3852211 by Max.Chen UMG: Indicate name of the property that is not bound. #jira UE-54350 Change 3854120 by Max.Chen Sequencer: Fix sibling folders being allowed to have the same folder name. #jira UE-54363 Change 3854627 by Max.Chen Sequencer: Step to next/previous key should work for all tracks if there aren't any selected. #jira UESEQ-391 Change 3855825 by andrew.porter EngineTest: Adding animation blending automation test Change 3855950 by andrew.porter EngineTest: Adding correct expected valuues to animation blending test Change 3856237 by Matt.Hoffman UESEQ-336 - Sequencer Track Reordering Adds the ability to re-order Master Tracks, Folders and Object Bindings within sequencer hierarchies (including UMG). Adds the ability to do a one-off sorting of the content under the old sorting behavior if the user wants to reset their layout to how it was under legacy behavior. Modifies SequencerTrackNodes, SequencerFolderNodes and SequencerObjectBindingNodes to handle CanDrop/OnDrop for above, below and ontop of. Fixes a Slate Issue that forcibly expanded a TreeviewRow if an item handled OnDrop. Slate will now only forcibly expand the row if the item says the drop happened ontop of the item, and not above or below it like it previously did. Change 3856503 by andrew.porter EngineTest: Adding automation test for using animation blueprint with blend multi node in sequencer Change 3857875 by Max.Chen Sequencer: Assign the sequence id after the template is compiled. #jira UE-54462 Change 3858344 by Max.Chen Sequencer: Prevent Goto and Transform boxes from overlapping by allowing them to be visible at the same time in an autosized horizontal box. Also, added close button to the goto box. PR #4425: Prevent Goto and Transform boxes from overlapping in Sequencer ... (Contributed by projectgheist) #jira UE-54210 Change 3860566 by andrew.porter MediaFrameworkTest: Set the option to index 0 for the audio and video track list by default Change 3860654 by andrew.porter EngineTest: Enabling Camera Cut + FOV test Change 3860981 by andrew.porter EngineTest: Updating skeletal mesh tests with a delay after set playback position Change 3861256 by Max.Chen Sequencer: Add all bindings if none selected. #jira-54440 Change 3862154 by Andrew.Rodham Added TimeManagement module Change 3862424 by andrew.porter EngineTest: Turned on the test Bone Positions with Blend Multi Node Change 3862573 by andrew.porter EngineTest: Adding test to compare bone positions in a sequence that is blending an animation that is using an AnimBP Change 3865117 by Max.Chen Sequencer: Stop auto scroll on mouse release of movement. #jira UE-31212 Change 3865303 by Max.Chen Sequencer: Add drag and drop transactions #jira UE-54662 Change 3865304 by Max.Chen Sequencer: Fix crash when an actor factory is not found. Change 3865361 by Max.Chen Sequencer: Don't change the camera/shot lock button when popping out of a sequence. #jira UE-54665 Change 3865412 by Max.Chen Sequencer: Determine whether a transform track is for a camera by using the spawned object or template #jira UE-54666 Change 3865685 by Max.Chen Sequencer: Clear autoscrub offset when stopping autoscroll #jira UE-31212 Change 3865886 by Max.Chen Sequence Recorder: Log an error if the number of frames changes while recording. This can happen if the skeleton changes while recording. #jira UE-48715 Change 3866925 by Andrew.Porter MediaFrameworkTest: Changing the current PNG test video image sequence to 1024 x 576 Change 3867705 by andrew.porter QAGame: Adding Audio Sort Sequence to dev folder Change 3867890 by andrew.porter QAGame: Adding a sequence for testing a sorting crash to my dev folder Change 3872628 by Max.Chen Movie Scene Capture: Split delay before warmup into split delay before shot warmup so that there's separate controls for when the movie scene capture warmups up vs. shot boundaries. Change 3873131 by Matt.Hoffman UE-54732 - Crash reordering a folder with a track. This was caused by folders being the only type of track to check if someone was putting a parent track into a child track. Object Binding tracks and Tracks now check as well so that you can't use the above/below drop targets to add parents as children. This also fixed a typo in the localization keys. #jira UE-54732 Change 3873301 by Mike.Zyracki Added ability to support continous euler angle changes when changing rotations, in particularly with the rotation gizmo's. To do this we effectively added a form an of 'euler filter'(https://en.wikipedia.org/wiki/Euler_filter) to find the closest euler angle to the current euler angle. Three functions were added to FRotator to make this possible, one to get the euler angle that's has the same rotation as it, one to get the difference between two euler angles via Manhattan distance and a third using the previous two to choose a Rotator value that's closest to it. We then use these functions before calling UComponent::SetRelativeRotation to make sure we use the correct Euler after the Quat conversion. We also no longer limit(bound) the euler angles to -180,180, which is obviously necessary to avoid flips. I also changed how we caluclate yaw and roll when pitch is -90 or 90 to make it the standard approach of zeroing out roll and just setting yaw. Main reasons are the previous implementation had precision issues so things like 180, 90, -180 would show up due to numbers being nearly zero but negative,(this would break any smooth interpolations), and this facilitates having a 'gimbal' rotation mode (like Maya, Blender etc..) if we ever want that also. If needed we could keep the previous implementation but would need to add some FMath::IsNearlyZero checks, with less performance. Note we only do this special filtering when applying delta's to actors or components in the editors, which then call UComponent::SetRelativeRotationExact, which is a new function to foces the RelativeRotation to be equal to the new rotation. This allows us to store un-nomalized Rotators at the cost that the RotationCache may be broken. We didn't change any of the other UComponent functions that set rotations (via Quats or Transforms) so they will still be bounded and unwound. In SetInternalWorldLocationAndRotation we only set the rotation if the rotation has changed, which fixes the rotation getting changed and re-normalized if just translate happens. In TransformTrackEditor, we correclty use the bUndwing flag and in MovieScene3DTransformSection there was an un-needed winding check there, it will be unwound earlier if needed, which happens if Sequence Recording is happening. Max we should talk about what to do about this . Note the euler angle drag via the widget is still bound to 0-360. I think we should just unbound that now since the rotations value are now unbound. This review now includes fixes suggested by Zak. #jira UE-UE-22228 Change 3873483 by Matt.Hoffman Sequencer Tracks can now be inserted above the spacer at the bottom of the tree. #jira UE-54706 Change 3873899 by Max.Chen Sequencer: Add section selection throbbing Change 3873908 by Max.Chen Movie Scene Capture: Added logging per frame Change 3873924 by Matt.Hoffman Adds the ability to store Sequence Recorder setups into profiles that stay with the map and can be re-loaded later. Profiles store the Actor Recordings so the settings for each actor should carry with them. #jira UESEQ-339 Change 3874726 by Matt.Hoffman Disable drag-and-drop targets on spacers that come between rows in Sequencer. This prevents extra drag/drop targets showing up between each row. #jira UE-54706 Change 3874862 by Matt.Hoffman Audio Track no longer gets reordered when adding sub-audio tracks, as sub-tracks are no longer counted towards the sorting order index when normalizing indexes. #jira UE-54727 Change 3875905 by Matt.Hoffman Disable Fade Track UI if a fade track already exists in the sequence. #jira UESEQ-393 Change 3876163 by Max.Chen Sequencer: Swap the camera object to the camera component's owner if it's not the same. #jira UE-54874 Change 3876971 by Andrew.Porter EngineTest: Moved Media Player Seek test to new folder. Also enabled the test with new ground truth image. Change 3877040 by Max.Chen Cine Camera: Split camera properties to two groups, "Camera Options" and "Camera Settings". The cine camera now hides properties in the "Camera Settings" group so that properties like bConstrainAspectRatio (in the "Camera Options" group) can be visible. #jira UE-54192 Change 3877763 by Max.Chen Curve Editor: Fix curve changed on end drag so that only curves that had keys/tangents that were changed receive notification, otherwise all loaded curves were getting notified that they were changed. #jira UE-54951 Change 3878234 by Matt.Hoffman Disable "Drop Below" targets for Sequencer Tree nodes to prevent a confusing UX issue where dropping underneath a Object Binding Node puts it after the object binding node but the UI looks like it's inserting it inside the Object Binding node. #jira UE-54743 Change 3879359 by Mike.Zyracki If a track is inactive we dim it a bit which seems to be the UE4 way to show inactive or disabled state. We changed the active logic so that all subtracks need to be inactive for the track to also be inactive(instead of all active for active). This conforms to how the active state actually works, e.g if you have two sections and only one is active the track is still active above it. #jira UESEQ-388 Change 3879462 by Max.Chen Sequencer: Allow dragging onto a particular row which would move out any overlapping sections to make space for the newly created section. Newly created sections are now selected and throbbed to draw attention to themselves. #jira UE-54664 Change 3879464 by Max.Chen Sequencer: Fixed overlapping ranges being inserted into the evaluation field during compilation - The issue was that track segments that had been combined with adjacent segments (due to them being identical) would potentially cause a subsequently compiled frame to overlap with a range that had already been inserted into the evaluation field. - The insertion code previously asserted that only minor overlaps were catered for (due to fp rounding errors) and assumed that a supplied range could not entirely contain any other range in the field. - The solution is to supply the insertion time along with the range to know exactly where the data should live in the field, and crop the range to the maximum allowable space between adjacent ranges. #jira UE-54922 Change 3879590 by Matt.Hoffman Items that are now added to the Sequencer via the "+Track" menu will be selected after being added. Items can now be added inside of folders instead of just to the root level. #jira UE-27397 Change 3879612 by Mike.Zyracki Display Nodes with no children are always active. #jira UESEQ-388 Change 3879730 by Matt.Hoffman Sequence Recorder's actor recording groups now remove items from the group when removed via the UI. #jira UESEQ-339 Change 3880256 by Mike.Zyracki Fix issue with inactive display with folders and other track nodes. #jira UESEQ-388 Change 3883491 by Max.Chen Fix issue where tick is skipped due to last ticked pose isn't cleared after AnimInstance changes. Copy from Release-4.19 #jira UE-51323 Change 3883603 by Max.Chen Movie Scene Capture: Add option toggle disable screen percentage. By default this is on (no change in current behavior). #jira UE-51898 Change 3885074 by Max.Preussner MediaCompositing: Resetting media texture & freeing resource on section end; removed dead code Change 3887220 by Max.Preussner MediaCompositing: Defaulted media section duration to 1 sec (since we do not know the actual duration in most cases) Change 3887478 by Matt.Hoffman Sequences now show [Inactive] in their title bars when they're disabled. This helps communicate why a sequence isn't being evaluated. #jira UE-51469 Change 3888985 by Max.Chen Movie Scene Capture: Clamp HDR Compression Quality between 0 and 1. #jira UE-55136 Change 3893519 by Max.Chen Sequence Recorder: Clarified tooltip for bRecordNearbySpawnedActors - spawned actors will still be recorded if they match the ActorFilter. #jira UE-55238 Change 3893546 by Max.Chen Sequence Recorder: If a selected actor already has a recording, add a blank recording. #jira UE-55239 Change 3894044 by Max.Preussner MediaCompositing: Added support for seeking into a media section Change 3894310 by andrew.porter MediaFrameworkTest: Adding Img media sources for 1080 and 2160 ravent test content Change 3894426 by Max.Preussner MediaAssets: Letting media textures with AutoClear retain their clear color when player is reset Change 3895717 by Max.Chen Sequencer: Null checks to prevent crash when saving the default state of a spawnable #jira UE-55304 Change 3897388 by Max.Chen Sequencer: Don't update current time to be within the view range when stepping into a sequence. #jira UE-55322 Change 3897452 by Max.Chen Audio: Fix crash when trying to record audio without any active capture devices. Log warning if the number of input channels is not 1 or 2. #jira UE-55223 Change 3897619 by Max.Preussner MediaCompositing: Removed commented out code Change 3898072 by Max.Chen Sequencer: Override the animation asset in the player state if it doesn't match the animation asset that's being evaluated. #jira UE-55328 Change 3898272 by Max.Preussner MediaPlayerEditor: Made slate brush constants static Change 3898704 by Max.Chen Sequencer: Skip if the binding id's sequence can't be found. #jira UE-55337 Change 3899855 by Max.Preussner MediaCompositingEditor: Added cache state visualization to media track Change 3900300 by Max.Preussner MediaCompositingEditor: Added loop indicators to media sections Change 3900694 by Max.Preussner ImfMedia: Looping cache only when player is looping Change 3900892 by Max.Preussner Stats: Added stats category for media framework Change 3900954 by Max.Preussner MediaCompositing: Don't evaluate at the end of media section Change 3901348 by Max.Preussner Core: Replaced TLruCache autos for better readability Change 3901655 by Max.Preussner ImgMedia: Added more perf stats to EXR reader Change 3901972 by Max.Preussner MediaAssets: Added getter for media player in media sound components Change 3902233 by Max.Preussner MediaAssets: Enabling media textures to receive samples right after player is assigned Change 3902238 by Max.Preussner MediaCompositing: Working around init/shutdown idiosyncracies in sequencer Change 3904045 by Max.Chen Sequencer: Fix copy/paste crash. Only process UMovieSceneCopyableBinding and objects that can be spawned by the movie scene spawn register. #jira UE-55314 Change 3905605 by Max.Chen Sequencer: Restrict spawnables from being created if they have a ClassWithin that UMovieScene is not a child of. #jira UE-55429 Change 3906550 by Max.Chen Sequencer: Add media track icon #jira UE-55480 Change 3907101 by Max.Chen Sequence Recorder: Fix bugs related to not recording a level sequence. There were certain assumptions that creating a level sequence meant that sequence recording was in progress. This is not always the case - the recorders can record animation assets and not create a level sequence. Changed the notion of IsRecording() to having at least one actor recording that is recording. Countdown timer, recording displays, etc should function if IsRecording() and not based on whether a level sequence is created. #jira UE-55485 Change 3907247 by Max.Chen Sequence Recorder: Fix crash not removing PrepareToCleanseEditorObject delegate. Repros when opening sequence recorder, closing it, and then opening or creating a level. Change 3910343 by Max.Preussner Core: Added async helper for executing functions on a given thread pool Change 3910346 by Max.Preussner ImgMedia: Added separate thread pools for loading/decoding and deleting image frames Change 3910829 by Max.Preussner Profiler: Increased visible range of profiler graph Change 3910841 by Max.Preussner MediaCompositing: Displaying asset name instead of full media source path in media section Change 3910870 by Max.Preussner ImgMedia: Using deallocation thread pool only in debug builds Change 3919642 by Max.Chen Sequence Recorder: Clarify active tooltip #jira UE-55661 Change 3919660 by Max.Chen Sequencer: Sequence template source signatures are now also compared to catch the case where a sub-sequence asset has been saved but not modified - The following sequence of events exposes this issue: - Create a master sequence with a single shot that spawns a cube - Add this sequence to a level and set it to auto-play - Save everything and restart - Resave just the inner shot asset without opening it - PIE - The inner shot never spawns its cube because its template was wiped on save, but its signature never changed. Since the master sequence previously didn't check the template source signature, it ends up trying to evaluate an empty template. #jira UE-55626 #jira UE-55490 Change 3921825 by Max.Chen Sequencer: "Run Construction Script in Sequencer" is off by default for blueprints but on for Sequencer. This allows the content author to switch it on for specific blueprints and sequencer will be default, run those with construction scripts enabled. Change 3922232 by Max.Chen Sequence Recorder: Reset countdelay on stop. #jira UE-55755 Change 3922306 by Max.Chen Sequence Recorder: Don't automatically mark transforms to be recorded by sequence recorder. Instead, log a warning if the user toggled it off to warn that the resulting animation might not match gameplay. #jira UE-55758 Change 3922912 by Max.Chen Sequence Recorder: Fix refresh next sequence name #jira UE-55757 Change 3927654 by Max.Chen Movie Scene Capture: Added format mapping for the name of the current camera #jira UE-55769 PR #4537 Change 3927658 by Max.Chen Sequencer: Added fbx property mapping for "FocusDistance" to "FocusSettings.ManualFocusDistance" #jira UE-55782 Change 3932022 by Max.Chen Sequencer: Add import animation track section to next available row index. #jira UE-55892 Change 3933919 by Max.Chen Sequencer: Jump to playback start frame and not 0 to start playback for recording. #jira UE-55933 Change 3934307 by Andrew.Rodham Sequencer: Add template signature that is re-generated every time the base template is regenerated, which invalidates evaluation fields This fixes an issue where the same sequence is instantiated multiple times in a sequence. If the source sequence was saved, its template would be wiped, which would invalidate the template ID When an instance tries to evaluate the master template, it would only invalidate a range in the evaluation field that was the hull of any invalid sub sequences overlapping the current time, potentially leaving invalid data in the evaluation field at positions later (or earlier) on in the sequence When the sub template was re-generated, it receives the same SequenceSignature as it had before (because the sequence hasn't actually changed), which causes the stale evaluation field data to fail the IsDirty check (because the sequence is the same as it thought, but the *template* has changed) This has been addressed be adding a signature to templates themselves, and checking both the template signature and sequence signature as a part of the IsDirty check. This ensures that we regenerate if either the template, or the sequence have changed. #jira UE-55934 Change 3936327 by Andrew.Rodham Sequencer: Removed increment when trimming right UMovieSceneSection::TrimSection already explicity assigns an exclusive bound to the time passed in. The new behavior means we can trim a section to the right, and insert another section without changing the time to create adjacent sections. #jira UE-42652 Change 3936328 by Andrew.Rodham Fixed KeyFrameManipulator assignment operators and copy/move constructors - These types are potentially self-referential so cannot use default constructors/assignment Change 3936330 by Andrew.Rodham Converted UMGSequencePlayer to use frames internally #jira UE-54878 Change 3936726 by Max.Chen Sequencer: Set track node as the parent of the key area node. The key area switcher needs the object binding id from the parent object binding node. Without this, the binding to the external value fails. #jira UE-55931 Change 3936775 by Max.Chen Sequencer: Should stop or loop should compare DurationFrames with Current Time from StartTime. The bug is that if you set 30 warmup frames in movie rendering for a range of 0-100, the FrameRange will be starting at -30 and have a duration of 130. Without this fix, the playback will continue until frame 130, rather than 100. #jira UE-55933 Change 3936935 by Matt.Hoffman Easing Curves are now represented in Play Rate resolution instead of internal resolution. #jira UE-55937 Change 3937069 by Matt.Hoffman Users can toggle if the is infinite on each side, limited by which tracks support infinite ranges. #jira UE-55891 Change 3937516 by Max.Preussner ImgMedia: Added support for single-threaded platforms #jira UE-55986 Change 3937826 by Max.Preussner MediaAssets: Disabling media sound components on HTML5 if AudioMixer is not enabled Change 3937997 by Max.Chen Curve Editor: Add Zoom to Fit Curves so that selected curves from Sequencer can be focused on. Tested that undo doesn't re-zoom. #jira UE-55935 Change 3938000 by Max.Chen Sequencer: Stop all sounds before generating audio waveforms. #jira UE-55951 Change 3938376 by Max.Preussner XGEController: Disabled XGE Controller in single-threaded apps to prevent crash Change 3938444 by Max.Preussner Core: Added async support for single-threaded applications Change 3938445 by Max.Preussner Networking: Added support for single-threaded applications in UDP socket sender/receiver Change 3938447 by Max.Preussner Messaging: Added support for single-threaded applications Change 3939432 by Max.Chen Sequence Recorder: Append command list to global level editor actions so that shortcuts are accessible in level editor. #jira UE-55798 Change 3940229 by Andrew.Rodham Added prospective display rate upgrade to UMovieScene::PostLoad - There was previously some very odd behaviour that would assign the fixed frame interval only when a sub sequence was focused in SSequencer. This meant that many sequences could have a frame interval of 0 set in the data. - Under the old method of snap interval display this would have fallen back to getting the display interval from the sequencer settings, but we no longer look at these. - The USequencerSettings properties have been removed and in their place, a prospective data upgrade for sequences that have a fixed frame interval old 0fps that sets the play rate to the previous defaults based off the old USequencerSettings defaults. - This could end up 'changing' the display rate for sequences where the user has changed the snap interval in the settings for a particular sequence editor, but there's not much we can do about that given we don't have access to the USequencerSettings classes in UMovieScene #jira UE-55919 Change 3940277 by Andrew.Rodham Sequencer: Added ability to default frame resolutions and play rates for newly created actor sequences Change 3940378 by Andrew.Rodham Sequencer: Post move import dialog now defaults to the playback framerate of the sequence, and floors to frame numbers Change 3940559 by Andrew.Rodham Reinstated primed or recording sequence color Change 3940642 by Max.Preussner ImagePlate: Removed image plate media playback functionality Change 3940843 by Max.Preussner Core: Made TCircularQueue actually thread-safe; improved code comments Change 3940860 by Max.Chen Sequencer: Changed StructNameToKey to StructPathToKey Previously, keying a PropertyPath of [RenderTransform][Shear][X] would get trimmed to X, which doesn't map to a channel name as considered by Sequencer2dTransformTrackEditor. Instead, trim the resulting property path to [Shear][X] so that track editors can determine the desired struct path and channels to key. #jira UE-52966 Change 3941292 by Mike.Zyracki Fix for trajectories out of range not showing up. 1) If we had no key data we would pop the time, so wouldn't get the section ranges. 2) Calculating of upper bound was wrong, checking against -1 and not key == num of keys when doing algo::lower_bound. 3) No need to do the Bck-- for the bakward iterators since we fixed #2. We start now from the upper bound correctly. 4) If we had no keys (at section start,end) we would incorrectly say we were any key type, so since we draw constant keys as dashed we would do so incorrectly around section end points. #jira UE-55929 Change 3941424 by Max.Chen Curve Editor: Change Zoom to Fit to use TArrayView Change 3941498 by Max.Preussner Core: Added FMath::DivideAndRoundNearest function Change 3942097 by Matt.Hoffman Drop Frame Timecode Support for NTSC rates. Change 3942104 by Matt.Hoffman Sequence Recorder Group is no longer visible inside the World Outliner after using one. #jira 55266 Change 3942107 by Max.Chen Sequencer: Resurrect logic to find or extend an existing section when adding keys. Change 3942330 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942339 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942507 by Andrew.Rodham Sequencer: We no longer pad the time overlap threshold with a small number that is not scaled by the current zoom level - The presence of this pad was causing keys that were far apart to be grouped when zoomed in a long way Change 3942509 by Andrew.Rodham Sequencer: Only pad total view range, rather than section range as well when retrieving keys to render - This stops us from rendering keys that are within the view range, but outside the section range Change 3942512 by Andrew.Rodham Added transactions to some sequencer details customizations Change 3942513 by Andrew.Rodham Sequencer: Reinstated validation checks to UMovieSceneSection::SetStartFrame and SetEndFrame, changed erroneous uses to use SetRange Change 3942560 by Andrew.Rodham Pass by rvalue reference to appease error C2719 on Win32 ('InChannels': formal parameter with requested alignment of 8 won't be aligned) Change 3942697 by Andrew.Rodham Newly Created Level Sequences and Actor Sequences now default to 24000 fps frame resolution (+/- ~24hrs range, supporting all integer rates + 23.976) Change 3942700 by Andrew.Rodham Sequencer: Added legacy out-of-bounds errors for times that are not supported by the current legacy upgrade frame resolution Change 3942989 by Max.Preussner Core: Fixed circular queue count calculation Change 3943538 by Max.Preussner MediaAssets: Reverted workaround for procedural audio log spam in HTML5 (Actor component initialization cannot be skipped if the component is used in a level) Change 3944071 by Max.Preussner QAGame: Fixed Media Texture keeps last frame of Media when PIE ends #jira UE-53360 Change 3944292 by Max.Chen Sequencer: Added extra flags to ensure that asset initialization does not occur on template actor sequences #jira UE-56113 Change 3944364 by Max.Chen Sequencer: Prevent circular shot/master tracks. Tested adding master -> child -> master as drag and drop cinematic shot tracks and sub tracks as well as through the + button. #jira UE-56091 Change 3944422 by Max.Chen Sequence Recorder: Disable transform recording if off. #jira UE-56061 Change 3944745 by Andrew.Rodham Sequencer: Key rendering fixes - Fixed assert that occured when keys happened to reside on some times due to KeyTime + TimeOverlapThreshold - KeyTime being slightly larger TimeOverlapThreshold - Fixed keys sometimes being clipped when zoomed right in due to lack of half-frame offset - Added missing documentation to MovieSceneTimeHelpers.h #jira UE-56107 Change 3945231 by Andrew.Rodham Sequencer: Reconstruct channel proxy on Serialize to catch all cases of undo/redo, PostLoad and duplication #jira UE-56089 Change 3945301 by Andrew.Rodham Sequencer: Added safety checks during initial sequence recording to guard against applying negative or 0-sized sequence ranges #jira UE-56125 Change 3946627 by Max.Preussner Fortnite: Fixed game crashes closing editor while in PIE - Pure virtual function being called #jira UE-56144 [CL 3946896 by Max Chen in Main branch]
2018-03-14 22:09:33 -04:00
}
}
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 4044339) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3947021 by Max.Chen Sequencer: Don't preserve root component when copying object properties. A spawnable empty actor, has a root component that is generated by the empty actor factory. If the object template's root component is preserved when copying from the spawnable empty actor, the root component will not be copied over. Therefore, we need to NOT preserve the root component when copying object properties. #jira UE-55825 Change 3947366 by Max.Preussner WmfMedia: Better log output Change 3947367 by Max.Preussner MfMedia: Better detection of compressed format properties on Windows Change 3949102 by Max.Chen Sequencer: Remove SequenceActorTag when converting to possessable. #jira UE-56206 Change 3949207 by andrew.porter EngineTest: Set the screenshot nodes resolution to 1280x720 Change 3949404 by Max.Chen Sequencer: More informative tooltip for "Rerun Construction Scripts" option. It now says "Rerun construction scripts every frame on actors that have 'Rerun Construction Script in Sequencer' enabled in their class settings". Change 3950067 by Matt.Hoffman Renamed UAutomatedLevelSequenceCapture's StartFrame and EndFrame to CustomStartFrame/CustomEndFrame to reflect that it is user-overriden. This will also resolve upgrade issues due to the variable datatype changing. #jira UE-56189 Change 3950193 by JohnHenry.Carawon Updating my latest MovieRendering test content. Change 3950757 by JohnHenry.Carawon More updates to MovieRendering test content Change 3952059 by Max.Chen Resave LevelVisibility_SubLevels to fix data loss conversion warning of OpacityMaskConstant #jira UE-56086 Change 3952283 by Max.Chen Sequencer: Disable dropping level sequence assets as spawnables. #jira UE-56120 Change 3952422 by Max.Chen Sequence Recorder: Add button to record from the current player. #jira UE-55942 Change 3952987 by JohnHenry.Carawon MovieRendering Test Content - Fixing camera bindings and changing the override binding actor Change 3953823 by Mike.Zyracki Fix for Bad FBX Import Tangents not scaled by frame rate. After looking at this again it seems that a set of MovieScene:: overiddes for the channel traits wasn't set correctly, so use the ADL idiom to use MovieScene, which can then call Optimize in the correct namespace. With this we can now correctly use the passed in tolerance. There was also a redundant set of Optimize calls so that it could happen twice so removed them, and needed an extra check in the float channel Optimize. Also since we need to set auto tangents no matter if we optimize we don't set that parameter(though leave it since it's used by context menu key reduction). Finally fixed speed issue with trajectories caused by calculating way too many substeps. Reverted back to a time based step size for consistency. #jira UE-56193 Change 3954317 by Matt.Hoffman Adding a key to the last frame of a section no longer causes a crash. Keys can already be moved to be on the last frame of a section so now you can just add a key there directly. #jira UE-56255 Change 3954326 by Matt.Hoffman Dilating a section that is only infinite on one side no longer causes a crash. #jira UE-56260 Change 3954486 by Max.Chen PR #4580: Exposes IsReversed() from UMovieSceneSequencePlayer (Contributed by alanedwardes) Change 3955238 by Max.Preussner Messaging: Enabled delayed message routing https://github.com/EpicGames/UnrealEngine/pull/4574 #jira UE-56247 Change 3955901 by Max.Preussner MediaFrameworkTest: Added developer test for overriding desired media player plug-in at runtime. Change 3955922 by Andrew.Porter QAGame: Updating movie rendering content in dev folder Change 3956004 by andrew.porter QAGame: Adding MPC track to movie rendering test content Change 3956510 by Max.Chen Sequencer: Fix fbx camera import of static properties so that they are imported before default tracks are created. Otherwise, the default tracks inherit the default properties of the camera, rather than the values from the fbx. #jira UE-56311 Change 3957613 by Max.Preussner MediaUtils: Added code documentation to media player facade Change 3958005 by Max.Preussner MediaUtils: Added method to get number of sinks Change 3958934 by Max.Chen Sequencer: Fix keys getting added and sequence getting erroneously re-evaluated when auto key is off. Only apply defaults if there are no keys. Only modify the movie scene section before creating keys or setting defaults. #jira UE-55903 Change 3959687 by Andrew.Rodham Sequencer: Fixed visibility track external values being inverted #jira UE-56324 Change 3960507 by Max.Preussner Core: Fixed incorrect rounding in FMath::DivideAndRoundNearest Change 3962047 by JohnHenry.Carawon MovieRendering Test Content Changes: - Add Lightmass Importance Volumes to sublevel to fix warnings - Rebuilt Lighting - Add a third sequence for Gamut testing - Resaved the sound master.uasset to fix warning Change 3962211 by Mike.Zyracki Add Frame Numbers to selected animation sections. Added MapTimeToAnimation to MovieSceneSkeletalAnimation so that we could get it from the Skeleton Animation track Editor. Since the thickness of the frame line can change based upon frame rate and zoom we need to calculate it similarly to how the time slider controller does it. Those calculations were private so we had to expose FScrubRangeToScreen and GetScubberPixelRange from the TimeSliderController. Also needed to know if the section itself was selected so added a bIsSelected flag to the section Painter. Also fixed a bug where you couldn't add a section if other sections existed at different times in MovieScenePropertyTrack and could crash due to the check(). #jira UESEQ-395 Change 3962497 by Max.Preussner Core: Added new string formatting argument to FTimespan Change 3963662 by Max.Chen CineCamera: Flip VistaVision width and height. Change 3963731 by Max.Preussner MediaCompositing: Implemented sequence recording support for media track Change 3964195 by Andrew.Rodham Sequencer: Set inverted property correctly for newly created visibility track sections - Also clamp evaluation for key editors to the bounds of the section so we're not displaying values outside of the section bounds when the cursor is not on the bounds #jira UE-56324 #coderevew Max.Chen Change 3964196 by Andrew.Rodham Sequencer: Fixed crash when attempting to render sections that resulted in a negative intersection with the view range Change 3964275 by Andrew.Rodham Sequencer: Fixed MovieScene::ClampToDiscreteRange for infinite range bounds Change 3964364 by Andrew.Rodham Curve Editor: Reduce minimum vertical view range when zooming to fit Change 3965091 by Max.Chen Sequencer Recorder: Refresh next sequence if empty when starting a recording, otherwise, use existing name. #jira UE-56469 Change 3965148 by Max.Chen Sequence Recorder: Move Record to Possessable to "Actor Recording" group Change 3965162 by Max.Chen Sequence Recorder: Always break out of immersive mode when done recording, even when stopping recording during countdown. #jira UE-56407 Change 3965214 by Max.Preussner QAGame: Enabled ImagePlate plug-in Change 3965574 by Max.Preussner SimpleComposure: Reorganized & upgraded content to work with new Media Track #jira UE-56488 Change 3965651 by Max.Preussner MediaCompositing: Ignoring seek-on-open if media not seekable Change 3966075 by Christina.TempelaarL Sequencer: Added Final Cut Pro 7 XML Export functionality #jira UESEQ-358 Change 3966087 by Matt.Hoffman Adding a single key to the Particle Toggle track now makes an infinite range section that is displayed in the UI. #jira UE-56295 Change 3966547 by Andrew.Rodham Sequencer: Fixed rounding errors when drawing the section background on boolean sections - Logic was using time in sectonds which caused rounding errors on evaluation and flickering red/green stripes when dragging keys around #jira UE-56324 Change 3966563 by Andrew.Rodham Curve Editor: Key editor interface improvements - SKeyEditInterface has a few problems - it does not update in real time when editing properties, and does not support multi-edit which makes it unsuitable for use with the curve editor - We now take a different approach for editing keys by gathering a set of proxy UObjects for each key that is currently selected. These objects are added as top level objects to the details panel which means they support multi edit as you'd expect from any other details panel in the editor. - Proxy objects are updated every tick for the curve editor if they implement the ICurveEditorKeyProxy interface, which allows them to refresh their current value. - Ideally, the same mechanisms would be used in the main sequence interface, and we would be generating the proxy classes at runtime based on the key value type, but that work remains a separate task from this initial offering. #jira UE-56165 Change 3966564 by Andrew.Rodham Curve Editor: Expand to frame when adding or moving keys in the curve editor Change 3967051 by andrew.porter MediaFrameworkTest: Set the CameraPlayer_Video texture to auto clear Change 3967141 by Andrew.Rodham Sequencer: Keep track of spawned objects that have been modified and only re-save such object's default spawnable state on destruction - Now that we're taking this approach, I've remove serveral redundant bits of functionality in the spawn register such as making some spawnables read-only, and the PreSave binding for Sequencer. - We now hook into all object pre-saves to make sure we handle the case where the sequences are saved through the content browser or elsewhere. #jira UE-47686 Change 3967170 by Andrew.Rodham Sequencer: Added the ability to possess anim instances as object bindings - This allows full and direct animation of properties on UAnimInstance, and animation blueprints - Object Bindings are made by first possessing a skeletal mesh component, then choosing the + Add button where its anim instance will be listed - Added a new function to UMovieSceneSequence to gather previously cached objects that should now be invalidated. Anim instances will be re-resolved if a new UAnimInstance is assigned to USkeletalMeshComponent::GetAnimInstance. - ObjectBindingIDs for anim instances are just represented by an entry in a set of GUIDs. We only ever resolve such bindings through USkeletalMeshComponent::GetAnimInstance. - Only currently supported on LevelSequences #jira UE-56132 Change 3967195 by Max.Preussner Core: Updated TRangeSet to use TCallTraits Change 3967345 by JohnHenry.Carawon Test Content Changes - first iteration of spacing out the examples in the shots. Change 3967572 by Max.Chen Sequencer: Fix setting PreviousPlayEvalPosition until after we've tested whether it's set. #jira UE-56518 Change 3967750 by Max.Chen Audio: Set duration based on number of input channels, rather than number of channels to serialize. This fixes an issue where audio split into 2 channels is set to a duration that's twice as long. #jira UE-56430 Change 3967836 by Max.Chen Sequencer: Allow for animating array elements within ustruct properties #jira UE-55887 Change 3968506 by Matt.Hoffman Fixed ambiguous conversions for seconds and frames being overriden by ambiguous conversion to Timecode (in frames). Change 3968748 by Max.Chen Sequencer: Make the event properties submenu widget larger. #jira UE-55557 Change 3968862 by Max.Chen Sequencer: Recursive expansion when shift is down #jira UE-52139 #pr 4194 Change 3968863 by Max.Chen Sequencer: Bind rename command to selected track so that F2 shortcut start renaming #jira UE-52139 #pr 4194 Change 3968872 by Max.Chen Sequencer: Rekey the selected key at the current time. #jira UESEQ-396 Change 3968938 by Max.Chen Cine Camera: Add option to toggle the behavior of locking the rail mount to the orientation of the spline. By default, the option is off, no change in behavior. #jira UE-55815 Change 3968958 by Andrew.Rodham Sequencer: Consider vertical position when hittesting keys #jira UE-56256 Change 3969643 by Max.Preussner Core: Rounding timespans created from double values towards nearest ticks Change 3969646 by Max.Preussner MediaUtils: Implemented timeout mechanism for block-on-fetch feature Change 3969776 by Mike.Zyracki Added Skip Anim Notifiers Toggle per what was in Matinee. Investigated the Enable Root Motion toggle as also discussed but it's implementation is directly contained by the animation asset and unlike animation notifies there seems to be no exposure to interactively disable it during a playback tick. Note if we are generating thumbnails we still automtically disable notifies in the editor to avoid annoying noise playback. Note that if Enable Root Motion/Root locked is specified in the animation asset it does correctly effect the Sequencer. #jira UESEQ-399 Change 3969835 by Matt.Hoffman Playback Range and Selection Range use unified logic for adding themselves as potential snap locations which properly handles inclusive/exclusive bounds. This resolves an issue where having an unset selection range caused a potential snap location to be added on frame 0 and 1 (internal resolution) which caused a misalignment when placing objects near frame 0. This also removes the one frame offset on setting Selection Range to bring behavior inline with other ranges. #jira UE-55420 Change 3969885 by Max.Preussner MediaAssets: Don't register media player CDO with media ticker Change 3971129 by Andrew.Rodham Sequencer: Fixed UMovieSceneSequencePlayer::GotToEndAndStop() not taking into account for start time This is a remnant from when the times were always specified in 0-duration space, rather than actual sequence times. Change 3972056 by JohnHenry.Carawon More updates to Test Content. I continued spacing out the examples in the sequence so that they have a consistent number of frames between each example and during the start/end of the example. Also removed the Marcie sublevel. Change 3972066 by Andrew.Porter MediaFrameworkTest: Setting Marcie folder to be never cooked in package settings Change 3972675 by Matt.Hoffman Splitting Subsequence Sections no longer sets an incorrect playback range on the subsequence when the subsequence has a different internal resolution than the owning sequence. #jira UE-55453 Change 3973376 by Max.Preussner ImgMedia: Zero is the only valid video track for image sequences Change 3973489 by Max.Preussner Launch: Build rules cleanup pass - don't use Media, MediaUtils on server apps - don't link against Media (include-only dependency) - don't include from MediaAssets (dynamic load only) Change 3973760 by Max.Preussner MediaUtils: Moved AppMediaTimeSource implementation into its own file; added logging Change 3973765 by Max.Preussner ImgMedia: Disallowing seek beyond media length Change 3973855 by Max.Preussner MediaFrameworkTest: Updated developer test content Change 3973858 by Max.Preussner MediaCompositing: Blocking on media player time instead of media sample time (the former may not be hit in the current frame) Change 3974988 by Max.Chen Sequencer: Fix trim left so that it also sets the start offset for audio and skeletal animation sections. #jira UE-57015 Change 3976101 by Matt.Hoffman Sequencer will now focus the scroll view on newly created items. #jira UE-56492 Change 3976203 by Max.Chen Property Editor: Add DetailsViewArgs for ColumnWidth. Defaults to 0.65f, no change in existing behavior. Change 3976205 by Max.Chen Sequencer: Set better column widths for sequencer. #jira UE-55557 Change 3976206 by Max.Chen Sequencer: Added menu category for import/export Change 3976265 by Matt.Hoffman Tracks within Object Binding Nodes will now sort using the old behavior so that components are added above other track types. #jira UE-56473 Change 3976901 by Max.Chen Sequencer: Add event names to event track section #jira UESEQ-353 Change 3977878 by Max.Preussner Media: Moved media framework ticking stats into Media module Change 3977982 by Max.Chen Sequencer: Add Edit->Reset section length to duration of source (ie. audio, skeletal animation, shot length) Added MovieSceneSection::GetDefaultDuration and MovieScene::HasDefaultDuration #jira UESEQ-392 Change 3977994 by Max.Preussner Media: Fetching and rendering media samples before viewports are rendered (to ensure frame sync for in-level media playback) #jira UE-53975 Change 3978188 by Matt.Hoffman Easing Curves are now clipped by the sequence's PlayRange when testing against an infinite section. This causes blended sequences to finish their blend when the section starts/ends instead of always using 25% of the total section length to determine default blend range. #jira UE-56362 Change 3978676 by Max.Preussner MediaCompositing: Fixed first frame of rendered out media track missing #jira UE-53975 Change 3978684 by Max.Preussner MediaCompositing: Enabled media track frame sync feature #jira UE-53975 Change 3980026 by Matt.Hoffman Keys can be selected on folded out sections (such as an audio track expanded to show volume and pitch) again. #jira UE-57169 Change 3981614 by Max.Preussner MediaUtils: Added missing subtitle sample queue flush Change 3982311 by Max.Preussner MediaCompositing: Added safeguard for zero length media sources Change 3982389 by andrew.porter QAGame: Adding media track test content into FrameAccuracySubscene Change 3983661 by Max.Chen Sequencer: Add level name to spawn a spawnable into. Add sublevel menu option to set the level #jira UESEQ-390 Change 3983712 by Andrew.Rodham Sequencer: Purge legacy blueprint spawnables from LevelSequence packages #tests Ran a preflight for cooking fortnite, ocean and Orion. Only orion shows up this edge case, and will require a re-save of the EndCines level #jira UE-39173 Change 3983787 by Max.Preussner MediaCompositing: Moved compile time switch for block-on-fetch into media player facade Change 3983812 by Andrew.Rodham Sequencer: Exposed default level sequence instance data to blueprints Change 3984373 by Max.Preussner Media: Added API for quering whether player plug-in supports block on fetch Block on fetch allows Sequencer and other systems to block the game thread until a desired video frame has been decoded. Change 3984670 by JohnHenry.Carawon Movie Rendering Test Content progress. Saving the state of the content. There is a bug where things got replaced with particle emitters and I think it was because I tried to copy paste an animation track into a separate skeletal mesh track. Change 3985097 by Max.Chen Sequencer: Rename Reset to AutoSize Change GetAutoSizeDuration to return TOptional<FFrameTime> #jira UESEQ-392 Change 3986043 by Max.Chen Sequencer: Fix crash when attach/path duration is less than 0. #jira UE-57310 Change 3986373 by Max.Chen Sequencer: Add support for deleting tracks and channels which equates to setting the channel mask. #jira UE-52951 Change 3986375 by Max.Chen Sequencer: Add Create Pose Asset to skeletal animation section. This allows animators to blend animations in sequencer and create new pose assets from them. #jira UESEQ-408 Change 3986796 by Andrew.Rodham Sequencer: Fixed stale object references remaining in ULevelSequence::BindingReferences when using convert to spawnable/possessable - We used to convert objects by creating a new binding, then re-assigning its GUID, which meant we didn't have to do any further object fixup, but the code to achieve this was confusing and led to a vulnerability where object references would not be cleaned up correctly due to the newly created possessable essentially being a temporary object that's immediately thrown away. - To address this, there is now a function for porting all the contents of one object binding to another, and handles the correct fixup required for parent/child object bindings for both spawnables and possessables. - Also added codepath to remove any stale object references from the level sequence reference map on PostLoad (this piggy-backs off the PurgeLegacyBlueprints object version which is close close enough to this change to be identical) #tests Verified that existing sequences with stale references get cleaned up on load. Verified that repreatedly converting from spawnable<->possessable cleans up references correctly. Change 3987807 by JohnHenry.Carawon Updates to the MovieRendering Test Content. - Fixed the spawnable actors that were overwritten - Shortend the Lighting example and combined the Intensity and Color tracks - Organized the Sequence and WorldOutliner to group the examples. Change 3988151 by Max.Chen Cine Camera: Enable keying the "Enable Look at Tracking" toggle. Change 3988880 by Max.Chen Sequencer: Support enter to add asset for all sequencer track editors that have asset pickers. #jira UE-57367 Change 3988953 by Max.Chen Sequencer: Make the track color picker focusable so that it will close when you click away or lose focus. #jira UE-57210 Change 3988962 by Max.Chen MovieSceneCapture: Fix EDL export so that it takes into account movie scene frame resolution and desired frame rate. #jira UE-57365 Change 3988964 by Max.Chen Movie Scene Capture: Clarified tooltip for bRelativeFrameNumbers. If you specify custom start/end frames for the recording, they will be relative to the playback range. #jira UE-57308 Change 3989442 by Max.Chen Fix CIS Change 3991548 by Matt.Hoffman Dragging the time slider no longer causes the time slider to ignore snap-to-interval with "Snap to Keys While Scrubbing" when no keys are in range. #jira UE-57417 Change 3991598 by Matt.Hoffman Snap to Key while scrubbing now mirrors the behavior of "jump to next key". When there are no tracks selected it snaps to all keys and when there are tracks selected it snaps to only keys from that track. This also resolves an issue where deleting an object did not remove it from the Sequencer's selection. Undoing a delete already doesn't seem to restore your selection, so removing it from your selection shouldn't change that behavior. #jira UE-57417 Change 3991603 by Max.Chen Sequencer: Disable EditAnywhere for some section properties #jira UE-53530 Change 3992240 by Max.Preussner MediaAssets: Implemented dynamic audio sample rate adjustment based on audio/media clock drift #jira FORT-70638 Change 3992911 by Andrew.Rodham Sequencer: Fixed saving spawnable state using the wrong spawned object - We now track the object binding ID so that we can apply the spawned object to the correct spawnable when the asset is saved #jira UE-57353 Change 3992914 by Max.Chen Movie Scene Capture: Fix compression quality not being set. The compression interface wasn't being found through query interface, so no compression was being set. Reworked finding it through the output pins. Tested running various compression values. #jira-UE-55488 Change 3992919 by Max.Chen Sequencer: Convert to possessable now uses object template instead of copying properties (ie. see LevelSequenceActorSpawner). This fixes MIDs getting lost when converting to spawnable and back to possessable. #jira UE-52400 Change 3993184 by Max.Chen Sequencer: Don't show +Transform/+Path/+Attach track if the actor has the "Mobility" property hidden. Set the Landscape, LandscapeProxy and InstancedFoliage "Mobility" property to be hidden since it is static is not supposed to be dynamically movable. #jira UE-56347 Change 3993238 by Max.Chen Sequencer: Test for hidden mobility in creating keys as well. Refactored to HasHiddenMobility() #jira UE-56347 Change 3993978 by Max.Chen Cine Camera: Enable keying the "Enable Look at Tracking" toggle. #jira UE-57489 Change 3994039 by Max.Chen Landscape: Add Mobility to hidecategories on landscape component #jira UE-56347 Change 3994626 by JohnHenry.Carawon Updated Movie Rendering Test Content. - Fixed the overridden spawnables to their proper object types. Change 3994653 by Christina.TempelaarL Sequencer: Added Final Cut Pro 7 XML Import functionality, improved Export functionality #jira UESEQ-358 Change 3995609 by Max.Chen UMG: Add support for 2d transform mask (translation, rotation, scale, shear) #jira UE-52951 Change 3995778 by JohnHenry.Carawon Movie Rendering Test Content Updates - Adjusted Lights example - Adjusted Camera example - Added Marcie sublevel back in Change 3995942 by JohnHenry.Carawon QAGame: Moving Movie Rendering test content from Developer folder to Sequencer folder Also adjusted level visibility, lights and camera example. Change 3995993 by Christina.TempelaarL Sequencer: FCPXML Export updates - only export sections if in playback range and media exists, warn if media does not exist. Other updates - removed unused methods and variables, fixed message context naming to be more accurate #jira UESEQ-358 Change 3996595 by andrew.porter QAGame: Updating Marcie content in TrackEvaluation level to use Image Plate Change 3996614 by andrew.porter QAGame: Adding color test sequence to the sublevel Change 3996643 by Max.Chen Sequencer: Fix fbx animation export - rotation and scale channels were flipped. #jira UE-57509 #jira UE-57512 #jira UE-57514 Change 3996652 by Max.Preussner Messaging: Fixed delayed messaging using incorrect current time after message router sleep Based on https://github.com/EpicGames/UnrealEngine/pull/4601 Change 3996801 by Max.Chen Sequencer: Fix folder active state for non key area sections. Look at track node sections as well as key areas. #jira UE-57550 Change 3997098 by Matt.Hoffman Cleaned up some remaining ToDo's in STimeRange. Change 3998339 by Max.Preussner Sockets: Added documentation for socket receive functions Change 3998359 by Max.Preussner MediaUtils: Started to implement media recorder helper class Currently only supports BGRA frames in CPU memory. Supporting other formats and buffer types will require conversions on render-thread. I recommend refactoring out the existing conversion code in FMediaTextureResource into a reusable helper class in the MediaUtils module. This should be a good starting point though. Change 3998417 by Matt.Hoffman Keys and Sections can now be moved at the same time inside of Sequencer. Keys can now snap to Sections (and vice versa) instead of just to other Keys. Sections can now be duplicated like keys can. #jira UE-56995 Change 3998427 by JohnHenry.Carawon QAGame: Updating test content for the Movie Rendering feature. - Added an auto activate particle to the beginning of the sequence (it's not part of the sequence at all) - Added an event receiver blueprint to the Events example - Added a particle emitter to both sublevels - Added a camera cut to the end that switches to a separate camera - The camera zoom in, focus and Look At sections are all separate (not overlapping in the sequence) - Added a second actor for the camera Look At - Added a Visibility section for the Actor Hidden In Game track that has possessable and spawnable cube and light Change 3998537 by Max.Chen Sequence Recorder: Restore immersive mode when stopping the sequence even if not in PIE. #jira UE-56407 Change 3999809 by Matt.Hoffman Removed the "Go To" box from Sequencer and instead placed the current time as an always visible control. The previous shortcut (Ctrl + G) now focuses the new widget directly. #jira UESEQ-376 Change 4000543 by Christina.TempelaarL Sequencer: Moving editor-only code from runtime module MovieSceneCapture to editor module MovieSceneTools. Moved EDL and FCP XML exporters as well as Automated Level Scene Capture. #jira UESEQ-358 Change 4000706 by Matt.Hoffman Entering multiple time strings without a number no longer crashes Sequencer. #jira UE-57672 Change 4001051 by andrew.porter MediaFrameworkTest: Fixing up some image sources pointing to the wrong location Change 4001191 by andrew.porter QAGame: Adding some quick EDL/XML test content to dev folder Change 4001243 by Max.Chen Sequencer: Fix import EDL out of range. #jira UE-57665 Change 4001856 by Matt.Hoffman Selecting keys and sections at the same time now also works with animation and audio sections. #jira UE-57716 Change 4002021 by Max.Chen Sequence Recorder: Fix sequence name incrementing. If external recording sets the sequence name, use it. Otherwise, use the recording name from the recording group or the recording settings. #jira UE-57712 Change 4002618 by Max.Chen Viewport: Update the look at location when updating to a locked actor. This fixes an issue so that popping the view out of a locked actor and manipulating the view will not jump to the previous look at location. #jira UE-57725 Change 4002979 by Matt.Hoffman Fixes several edge cases with the end time range that was causing confusion about what the last frame of the sequence was. Dragging the End Frame slider will no longer be off by one tick and jumping to the end via the UI controls now properly respects snapping and stays inside the play range instead of falling outside of it. Overall behavior does not change though and End Frame should be considered an exclusive frame so that frames 0-150 results in a 150 frame long animation (which is frames 0-149). #jira UE-56367 Change 4003185 by Matt.Hoffman Fixed a regression that prevented a section from being dragged upwards past row 0 which normally resulted in all other rows moving down. #jira UE-57717 Change 4003193 by JohnHenry.Carawon QAGame: Updates to test content - Shortened frames between the examples from 95 to 30 - Separated camera setting tracks - Lighting example now switches directly from constant red - green - blue Change 4003369 by Max.Chen Sequence Recorder: Refresh next sequence regardless of internally stored sequence name. #jira UE-55757 Change 4003586 by JohnHenry.Carawon QAGame: Test Content Updates - Level Visibility track now ends to that the levels are not visible when we move to the next example - Shortened camera section, removed Z tranform so that we just move left to right and shortened the overall length Change 4004414 by Max.Chen Movie Scene Capture: Fix regression where rendering with shot handles would only render the first shot. 3972166 addressed an issue where an extra frame would be rendered by finalizing right when the end frame was reached. This was hit on the first shot end frame, so instead, do this only for when the last shot is being rendered. #jira UE-57314 Change 4004765 by Christina.TempelaarL Sequencer: Fixed bugs in FCP XML import/export. - Export: fixed sequence default resolution. - Export: fixed XML files with no shots. - Export: all sections clipped to playback range. - Export: fixed incorrect section start/end times due to precision issues. - Import: fixed incorrectly adding cinematic tracks. - Import: fixed bugs creating new sections. #jira UE-57660 #jira UE-57662 #jira UE-57655 #jira UE-57761 Change 4005119 by Max.Chen Sequencer: Export/import at play rate Change 4005195 by Max.Chen UMG: Finish UMG evaluation on stop. Added object version so that existing UMG assets do not change. #tests - Newly created UMG animation with sections set to restore state now return to their original state. Existing UMG animations with sections set to restore state do not return to their original state. #jira UE-52285 Change 4005377 by Michael.Karambelas QAGame: Moving TM-SequenceRecorder and related content out of my developer folder and into /Content/Sequencer/SequencerRecorder/* Change 4005417 by Michael.Karambelas QAGame: Fixed a BP compiler in the Level Blueprint of TM-SequencerRecorder. Change 4005634 by Michael.Karambelas QAGame: Fix up missing content and broken level sequence in TM-SequenceRecorder after move Change 4006324 by Max.Chen Sequencer: Reset if the focused movie scene is null. This fixes a crash if the user is focused in on a shot and undo takes the user past the point of where the shot was created. #jira UE-57752 #jira UE-47661 Change 4007006 by Max.Chen Sequencer: Fix FindAvailableRowIndex so that it returns the max row index (and not +1) since it doesn't find any conflicting rows. #jira UE-57717 Change 4007907 by Max.Chen Sequencer: Fix crash if there's no animation Change 4007948 by andrew.porter QAGame: added test content to dev folder for Record World Space Change 4008636 by Max.Chen Sequencer: Fix import fbx not setting values properly and creating additional cameras unncessarily. #jira UE-57864 Change 4008759 by Max.Chen Sequencer: Follow up fix for import cameras #jira UE-57864 Change 4009994 by Matt.Hoffman Dragging the left or right handles of the Time Range slider in Sequencer will now zoom your view in on the current center of the screen. This prevents the view from being translating as you tried to zoom in which caused issues at high zoom levels. #jira UESEQ-407 Change 4010169 by Christina.TempelaarL Sequencer: FCP XML fixes. - FCP XML export - no longer clips to playback range - FCP XML and EDL export - fixed missing last frame of some sections after exporting to Premiere. - Automated level capture, EDL export - use RoundToFrame instead of FloorToFrame for computing section start/end frames after frame rate conversion. #jira UE-57802 - partial fix, movie scene capture still needs to render full section rather than clip against playback. Change 4010287 by Mike.Zyracki Add quaternion interpolation option to UMovieScene3DTransformSection. This mimics how Matinee used to work by bascially finding the keys between a time and interpolating the angles as quat's between them. As noted in the code the algorithm needs to handle the case when the x,y,z Rotation keys all aren't at the same time which was not handled by Matinee. Also like Matinee, when in quaternion interoplation mode, we need to not display the function cuves since the interpolated and key values are now all different. (Would like to show them but that's a bigger refactor for perhaps just a one off needed by quaternions). I added a virtual function UMovieSceneSection::ShowCurveForChannel for this since it needs to be dynamic, not on construction of IKeyArea's, and could be useful for other sections. I could though move the method to just UMovieScene3DTransformSection and do a cast instead. Looked into doing a unit test for this but after talking with Andrew P we will work on doign an automated test in EngineQA since that will provide more coverage. Will also add a video the jira. #jira UESEQ-403 Change 4010713 by Mike.Zyracki Added option to key a group of transform channels instead of just the changed channel, or all of them. This is useful for quaternion interpolations where you want rotation keys to be aligned but also useful for other workflows like animating FK Pose to Pose. Change 4010715 by Andrew.Porter MediaFrameworkTest: Setting LogMediaUtils logging from VeryVerbose to Verbose to cut back on the spam Change 4013048 by Max.Chen Sequencer: Fix play/jump status. Update the player status for all position methods (Scrub, Jump, Play). Jump means Stopped. Correctly use PlayTo or JumpTo based on position method. In PlayInternal, JumpTo with the Stopped state (rather than playing state). #jira UE-57844 Change 4013479 by andrew.porter QAGame: Added content in TM-SequenceRecorder to test recording a property on a Cine Camera Component; Press 3 to trigger manual focus distance to increment on a timer Change 4014323 by Max.Chen Sequencer: Fix SetPlaybackPosition so that it jumps or plays based on playback status. #jira UE-57844 Change 4015888 by Max.Chen Sequencer: Fix crash on paste. UMovieSceneSections were gathered from the track node's track. For sub track mode, we want to gather only those sections on that track node row. #jira UE-57951 Change 4015943 by Max.Chen Sequencer: Fix moving shots up when the mouse pos goes outside of the virtual track area. #jira UE-57717 Change 4016293 by Max.Chen Sequencer: Fix relative frame playback end frame calculation so that custom start/end frames remain in the space of the sequence and are not relative. #jira UE-57308 Change 4017075 by Andrew.Rodham Sequencer: Corrected initial evaluation range used when calling UMovieSceneSequencPlayer::Play() Change 4017270 by Christina.TempelaarL Sequencer: FCPXML importer and movie scene capture - Use CeilToFrame when converting section start/end frame times to frame numbers in FCPXML and movie scene capture. - Added support for clip metadata in FCPXML. - Got rid of redundant TokenizedError message class, no longer needed now that FCPXML is in editor directory. - Added log messages currently commented out due to exception, still testing. #UESEQ-358 Change 4018370 by Christina.TempelaarL Sequencer: fixed FCPXML log messages regarding sections with start/end not divisible by display rate. #UESEQ-358 Change 4018378 by Christina.TempelaarL Sequencer: fixed error in previous changelist. #UESEQ-358 Change 4019457 by Max.Chen Sequencer: Show event names only when the event track is selected #jira UE-57897 Change 4022806 by Max.Chen Sequencer: Fix crash on movie scene capture dialog shutdown if movie capture wasn't even started. #jira UE-58106 Change 4022894 by Max.Chen Sequence Recorder: Wrap OpenEditorForAssets after sequence recording within GIsEditor #jira UE-58084 Change 4024487 by Max.Chen Sequencer: Add tooltip for quat interpolation #jira UE-58113 Change 4024562 by Max.Chen Sequencer: Change path/attach track sequence binding id to currently focused sequence id so that bindings can be created in subsequences Change 4027414 by JohnHenry.Carawon QAGame: Checking in content that shows a bug with using particles systems and Delay Before Shot Warm Up. Change 4028990 by Max.Chen Sequencer: Fix evaluate sub sequences in isolation. This check was added with the compile on the fly logic. Not sure why it was necessary but it seems like the sub sequence data needs to be updated in order to evaluate sub sequences in isolation. #jira UE-58184 Change 4029004 by Max.Chen Sequencer: Ensure that old binding references are removed when re-assigning actors in sequencer #jira UE-57898 Change 4030997 by JohnHenry.Carawon QAGame: Fixing name of the master sequence Change 4031785 by Michael.Karambelas QAGame: Added an instance of ThirdPerson Run to TM-SequenceRecorder for Record to Possessable test. Change 4035548 by Andrew.Rodham Sequencer: Changed FMovieSceneEvaluationTemplate::TemplateSignature to be a serial number to address non-deterministic cooking issues - This commit is related to the repro steps found in 3914599 and 3934307, both of which have been verified with this new change. - Copy of 4031684 from //Fortnite/Main/... #jira FORT-84852 Change 4036312 by Max.Chen Sequencer: Fix zoom view range so that it uses the passed in InZoomDelta Change 4036318 by Max.Chen Sequencer: Auto size now returns a range and defaults to the channel proxy range so that keyed regions can also be autosized. Change 4036322 by Max.Chen Forgot missing change Change 4036360 by Max.Chen Sequencer: Fix play rate calculation when skeletal animation section play rate changes. Change 4037163 by Mike.Zyracki Weighted Tangent Implementation Tricky thing is that you need to solve a cubic in order to get the bezier weights for the time part of the curve. See https://www.gamedev.net/forums/topic/474094-help-function-curves-for-animation-interpolation/ Maya provides an implementation in it's dev kit but I didn't use it since it was horribly slow and uses an iterative solution to solve the cubic needed. Instead I use an old algorithm (Cardano's method), to solve the cubic which should be much faster. Though relative simple to code from principles I just went ahead and used a version from Graphics Gems 1. I put this cubic solver directly in MovieSceneFloatChannel.cpp, but will need to move it when we support Rich Curve, maybe to FMath:: (which would probalby require some other functions for solving quartics, etc.. for completeness.). Also note we resolve this on every evaluation but dont' need to if the interval the time is evaluating hasn't had any change in values or tangents. So again when we support FRichCurve we can create a Weighted Evaluating class that can hold the cache. Also with the tangent drags I got rid of the Cardinal position that was used to calculate non-weight tangents from the key point and just quickly getting a direction. With weighted tangents we need to use the delta instead (otherwise when moving multiple they would all get the same weight based upon distance to the cardinal point. ) For mixed tangents types what I'm defaulting to non weighted if the interval doesn't match. May need to do weighted instead, not sure. What's left is just FBX import, for tomorrow. #jira UESEQ-76 Change 4037435 by Mike.Zyracki Fix fo build warnings from weighted tangent submission. #trivial Change 4038091 by Michael.Karambelas QAGame: Updated a Sequence Recorder group in TM-SequenceRecorder that had an actor missing the animation. Change 4038374 by Andrew.Rodham Sequencer: Refined scrubber styling for level sequences and actor sequences - Scrubber now shows a block the width of a dsplay rate frame, plus a line for the actual evaluated time. UMG reverts back to the previous styling (no block) - Keys that are outside of the playback range are now drawn with a subdued effect - Tick labels are no longer drawn when directly underneath the scrubber Change 4038490 by Max.Chen Sequencer: Expose tangent weight values in details panel. Change 4038620 by Andrew.Rodham Sequencer: Advanced time panel polish #jira UESEQ-426 Change 4038677 by Max.Chen Movie Scene Capture: Redirector for MovieSceneTools.AutomatedLevelSequenceCapture #jira UE-58248 Change 4039739 by Max.Chen Sequencer: Media track should only be supported by Level Sequence Change 4040024 by JohnHenry.Carawon QAGame: Fix EventReciever and OverrideBinding example The level sequence was set to none so the fix was to set it back to TrackEvaluation_Master. Change 4040610 by Andrew.Rodham Curve Editor: Moved weighted tangent switchers to a single toggle command (CTRL+W) and added an icon #jira 58383 Change 4040882 by Mike.Zyracki Keep broken when turning on weighted #jira UE-58435 Change 4041089 by andrew.porter QAGame: Sequence for Long Tangents bug Change 4041498 by Mike.Zyracki Turn off weighted when going auto to prevent large tangents. Do it both in UI and when doing AutoSetTangents() to really make sure it doesn't happen. #jira UE-58452 Change 4041752 by andrew.porter MediaFrameworkTest: Adding some better logging for setting rates when not supported. Also ignoring commiting URL when there is no text Change 4041896 by Matt.Hoffman The transform dialog box now transforms selected keys and sections, instead of just keys. #jira UE-58265 [CL 4044405 by Max Chen in Main branch]
2018-05-02 10:10:00 -04:00
FSequencerTimeSliderController::FScrubberMetrics FSequencerTimeSliderController::GetHitTestScrubPixelMetrics(const FScrubRangeToScreen& RangeToScreen) const
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3946692) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3801826 by Max.Chen PR #4304: Level Sequence crash fix - Guarded against dereferencing null componen. (Contributed by DSDambuster) Change 3801828 by Max.Chen PR #4302: Movie Scene Visibility Template unitialised variable, causing random . (Contributed by DSDambuster) Change 3801837 by Max.Chen Sequencer: Delay spawning/construction for convert to possessable. This fixes a bug where property values would be lost when converting back and forth from possessable to spawnable. #jira UE-52400 Change 3801841 by Max.Chen Sequencer: Make spacer nodes not selectable. PR #4194: Improvements to Sequencer (Contributed by projectgheist) #jira UE-53117 #jira UE-52139 Change 3804183 by Max.Preussner MediaAssets: Added missing lock in media sound component Change 3805414 by Max.Preussner MediaAssets: Setting valid GUID when initializing media texture resource Change 3819578 by Max.Chen PR #4370: When enabling the "MovieCapture", do not turn off the Stereo-3D display. (Contributed by yehaike) #jira UE-53647 Change 3823414 by Max.Chen Curve Editor: Lock down the first and last keys in the redundant keys removal range so that they're unaffected. #jira UE-53591 Change 3826406 by Max.Chen Sequencer: Move OnStartedPlaying() to within first update in UpdateTimeCursorPosition(). This fixes an issue where setting the hud/player visibility was getting stomped on later. #jira UE-52772 Change 3827044 by Max.Preussner MediaAssets: Added sprite visualization to media sound component #jira UE-53594 Change 3827988 by Max.Preussner MediaPlayerAssets: Fixed Media Texture is not linked to Media Player when created together #jira UE-53532 Change 3828506 by Max.Preussner MediaPlayerEditor: Added attenuation visualizer for media sound components #jira UE-53594 Change 3832590 by andrew.porter EngineTest: Added a keep state check in Property Animation sequencer test Change 3833053 by andrew.porter EngineTest: Adding Hierarchical Bias test Change 3835683 by andrew.porter EngineTest: Adding UMG Animation screenshot test Change 3836076 by Max.Chen Sequencer: Fix audio volume and pitch multiplier deprecation. Change 3836230 by andrew.porter EngineTest: Adding Sequence Bone Position automation test Change 3836347 by Max.Chen Sequencer: Fixes to shot name parsing. When a shot doesn't contain a shot number, assume, [ShotName]_[TakeNumber]. When duplicating a shot, put the new shot in the same path of the original shot, so that the take numbers will increment properly. #jira UE-51868 Change 3836552 by Max.Chen Sequencer: Sub section now has a takes menu Change 3838094 by Max.Chen UMG: Fix template finish not getting called on stop. This fixes a bug where sections aren't restored when finished. #jira UE-52285 Change 3838708 by Max.Chen Sequencer: Add notification when the blend type is changed. #jira UE-54046 Change 3840295 by Max.Chen Sequencer: Fix copy/paste crash for lights #jira UE-54084 Change 3840957 by Mike.Zyracki Added Show Only Keyable and Show Only Animated to the filter list in the property editor. Added IsPropertyAnimated to IDetailKeyframe Interface which already had support for showing properties which are keyable (which is used for the key icon next to the properties.). Could have created another interface but then would have had to mimic the sequencer binding, releasing also, so this seemed best way. One issue still left is that custom built detail items currently don't store associated properties(usually) and so certain properties, in particulalry transforms, won't show up as keyable or animated. Note this also shows up with the keyable icon not showing up next to transform tracks, and other filters like Show Only Modified not working with transforms/customs. Not sure best way to tackle this. #jira UESEQ-328 Change 3841756 by Max.Chen Sequencer: Fix unbound possessable components when pasting spawnables. #jira UE-54104 Change 3843950 by andrew.porter EngineTest: Renaming LevelStreaming tests/content to LevelVisibility Change 3844082 by Mike.Zyracki Missing file for animated filter in property editor. When finding if a track is animated we need to find it but we can't easily induce the MovieTrack class for any particular property. So we don't set a class for it and just search by it's ID and name. #jira UESEQ-328 Change 3846902 by Max.Preussner ImgMedia: Fixed image media player never finished initialization if loading failed #jira UE-54247 Change 3849820 by Mike.Zyracki Reassigning deleted widgets didn't work since the menu extender mechanism needs a valid UObject in order to perform an operation on it. So to fix we replaced GetObjectBindingContextMenuExtender in WidgetBlueprint with new delegate mechanism (OnBuildCustomContextMenuForGuid) that supports FGuid in addition to UObjects which is needed to handle re-binding deleted widgets. Note that the default sequencer hacks this for replacing deleted actors in SequencerObjectBindingNode to check to see if a LevelSequence is active. We could move to this mechanism there also. #jira UE-53163 Change 3852211 by Max.Chen UMG: Indicate name of the property that is not bound. #jira UE-54350 Change 3854120 by Max.Chen Sequencer: Fix sibling folders being allowed to have the same folder name. #jira UE-54363 Change 3854627 by Max.Chen Sequencer: Step to next/previous key should work for all tracks if there aren't any selected. #jira UESEQ-391 Change 3855825 by andrew.porter EngineTest: Adding animation blending automation test Change 3855950 by andrew.porter EngineTest: Adding correct expected valuues to animation blending test Change 3856237 by Matt.Hoffman UESEQ-336 - Sequencer Track Reordering Adds the ability to re-order Master Tracks, Folders and Object Bindings within sequencer hierarchies (including UMG). Adds the ability to do a one-off sorting of the content under the old sorting behavior if the user wants to reset their layout to how it was under legacy behavior. Modifies SequencerTrackNodes, SequencerFolderNodes and SequencerObjectBindingNodes to handle CanDrop/OnDrop for above, below and ontop of. Fixes a Slate Issue that forcibly expanded a TreeviewRow if an item handled OnDrop. Slate will now only forcibly expand the row if the item says the drop happened ontop of the item, and not above or below it like it previously did. Change 3856503 by andrew.porter EngineTest: Adding automation test for using animation blueprint with blend multi node in sequencer Change 3857875 by Max.Chen Sequencer: Assign the sequence id after the template is compiled. #jira UE-54462 Change 3858344 by Max.Chen Sequencer: Prevent Goto and Transform boxes from overlapping by allowing them to be visible at the same time in an autosized horizontal box. Also, added close button to the goto box. PR #4425: Prevent Goto and Transform boxes from overlapping in Sequencer ... (Contributed by projectgheist) #jira UE-54210 Change 3860566 by andrew.porter MediaFrameworkTest: Set the option to index 0 for the audio and video track list by default Change 3860654 by andrew.porter EngineTest: Enabling Camera Cut + FOV test Change 3860981 by andrew.porter EngineTest: Updating skeletal mesh tests with a delay after set playback position Change 3861256 by Max.Chen Sequencer: Add all bindings if none selected. #jira-54440 Change 3862154 by Andrew.Rodham Added TimeManagement module Change 3862424 by andrew.porter EngineTest: Turned on the test Bone Positions with Blend Multi Node Change 3862573 by andrew.porter EngineTest: Adding test to compare bone positions in a sequence that is blending an animation that is using an AnimBP Change 3865117 by Max.Chen Sequencer: Stop auto scroll on mouse release of movement. #jira UE-31212 Change 3865303 by Max.Chen Sequencer: Add drag and drop transactions #jira UE-54662 Change 3865304 by Max.Chen Sequencer: Fix crash when an actor factory is not found. Change 3865361 by Max.Chen Sequencer: Don't change the camera/shot lock button when popping out of a sequence. #jira UE-54665 Change 3865412 by Max.Chen Sequencer: Determine whether a transform track is for a camera by using the spawned object or template #jira UE-54666 Change 3865685 by Max.Chen Sequencer: Clear autoscrub offset when stopping autoscroll #jira UE-31212 Change 3865886 by Max.Chen Sequence Recorder: Log an error if the number of frames changes while recording. This can happen if the skeleton changes while recording. #jira UE-48715 Change 3866925 by Andrew.Porter MediaFrameworkTest: Changing the current PNG test video image sequence to 1024 x 576 Change 3867705 by andrew.porter QAGame: Adding Audio Sort Sequence to dev folder Change 3867890 by andrew.porter QAGame: Adding a sequence for testing a sorting crash to my dev folder Change 3872628 by Max.Chen Movie Scene Capture: Split delay before warmup into split delay before shot warmup so that there's separate controls for when the movie scene capture warmups up vs. shot boundaries. Change 3873131 by Matt.Hoffman UE-54732 - Crash reordering a folder with a track. This was caused by folders being the only type of track to check if someone was putting a parent track into a child track. Object Binding tracks and Tracks now check as well so that you can't use the above/below drop targets to add parents as children. This also fixed a typo in the localization keys. #jira UE-54732 Change 3873301 by Mike.Zyracki Added ability to support continous euler angle changes when changing rotations, in particularly with the rotation gizmo's. To do this we effectively added a form an of 'euler filter'(https://en.wikipedia.org/wiki/Euler_filter) to find the closest euler angle to the current euler angle. Three functions were added to FRotator to make this possible, one to get the euler angle that's has the same rotation as it, one to get the difference between two euler angles via Manhattan distance and a third using the previous two to choose a Rotator value that's closest to it. We then use these functions before calling UComponent::SetRelativeRotation to make sure we use the correct Euler after the Quat conversion. We also no longer limit(bound) the euler angles to -180,180, which is obviously necessary to avoid flips. I also changed how we caluclate yaw and roll when pitch is -90 or 90 to make it the standard approach of zeroing out roll and just setting yaw. Main reasons are the previous implementation had precision issues so things like 180, 90, -180 would show up due to numbers being nearly zero but negative,(this would break any smooth interpolations), and this facilitates having a 'gimbal' rotation mode (like Maya, Blender etc..) if we ever want that also. If needed we could keep the previous implementation but would need to add some FMath::IsNearlyZero checks, with less performance. Note we only do this special filtering when applying delta's to actors or components in the editors, which then call UComponent::SetRelativeRotationExact, which is a new function to foces the RelativeRotation to be equal to the new rotation. This allows us to store un-nomalized Rotators at the cost that the RotationCache may be broken. We didn't change any of the other UComponent functions that set rotations (via Quats or Transforms) so they will still be bounded and unwound. In SetInternalWorldLocationAndRotation we only set the rotation if the rotation has changed, which fixes the rotation getting changed and re-normalized if just translate happens. In TransformTrackEditor, we correclty use the bUndwing flag and in MovieScene3DTransformSection there was an un-needed winding check there, it will be unwound earlier if needed, which happens if Sequence Recording is happening. Max we should talk about what to do about this . Note the euler angle drag via the widget is still bound to 0-360. I think we should just unbound that now since the rotations value are now unbound. This review now includes fixes suggested by Zak. #jira UE-UE-22228 Change 3873483 by Matt.Hoffman Sequencer Tracks can now be inserted above the spacer at the bottom of the tree. #jira UE-54706 Change 3873899 by Max.Chen Sequencer: Add section selection throbbing Change 3873908 by Max.Chen Movie Scene Capture: Added logging per frame Change 3873924 by Matt.Hoffman Adds the ability to store Sequence Recorder setups into profiles that stay with the map and can be re-loaded later. Profiles store the Actor Recordings so the settings for each actor should carry with them. #jira UESEQ-339 Change 3874726 by Matt.Hoffman Disable drag-and-drop targets on spacers that come between rows in Sequencer. This prevents extra drag/drop targets showing up between each row. #jira UE-54706 Change 3874862 by Matt.Hoffman Audio Track no longer gets reordered when adding sub-audio tracks, as sub-tracks are no longer counted towards the sorting order index when normalizing indexes. #jira UE-54727 Change 3875905 by Matt.Hoffman Disable Fade Track UI if a fade track already exists in the sequence. #jira UESEQ-393 Change 3876163 by Max.Chen Sequencer: Swap the camera object to the camera component's owner if it's not the same. #jira UE-54874 Change 3876971 by Andrew.Porter EngineTest: Moved Media Player Seek test to new folder. Also enabled the test with new ground truth image. Change 3877040 by Max.Chen Cine Camera: Split camera properties to two groups, "Camera Options" and "Camera Settings". The cine camera now hides properties in the "Camera Settings" group so that properties like bConstrainAspectRatio (in the "Camera Options" group) can be visible. #jira UE-54192 Change 3877763 by Max.Chen Curve Editor: Fix curve changed on end drag so that only curves that had keys/tangents that were changed receive notification, otherwise all loaded curves were getting notified that they were changed. #jira UE-54951 Change 3878234 by Matt.Hoffman Disable "Drop Below" targets for Sequencer Tree nodes to prevent a confusing UX issue where dropping underneath a Object Binding Node puts it after the object binding node but the UI looks like it's inserting it inside the Object Binding node. #jira UE-54743 Change 3879359 by Mike.Zyracki If a track is inactive we dim it a bit which seems to be the UE4 way to show inactive or disabled state. We changed the active logic so that all subtracks need to be inactive for the track to also be inactive(instead of all active for active). This conforms to how the active state actually works, e.g if you have two sections and only one is active the track is still active above it. #jira UESEQ-388 Change 3879462 by Max.Chen Sequencer: Allow dragging onto a particular row which would move out any overlapping sections to make space for the newly created section. Newly created sections are now selected and throbbed to draw attention to themselves. #jira UE-54664 Change 3879464 by Max.Chen Sequencer: Fixed overlapping ranges being inserted into the evaluation field during compilation - The issue was that track segments that had been combined with adjacent segments (due to them being identical) would potentially cause a subsequently compiled frame to overlap with a range that had already been inserted into the evaluation field. - The insertion code previously asserted that only minor overlaps were catered for (due to fp rounding errors) and assumed that a supplied range could not entirely contain any other range in the field. - The solution is to supply the insertion time along with the range to know exactly where the data should live in the field, and crop the range to the maximum allowable space between adjacent ranges. #jira UE-54922 Change 3879590 by Matt.Hoffman Items that are now added to the Sequencer via the "+Track" menu will be selected after being added. Items can now be added inside of folders instead of just to the root level. #jira UE-27397 Change 3879612 by Mike.Zyracki Display Nodes with no children are always active. #jira UESEQ-388 Change 3879730 by Matt.Hoffman Sequence Recorder's actor recording groups now remove items from the group when removed via the UI. #jira UESEQ-339 Change 3880256 by Mike.Zyracki Fix issue with inactive display with folders and other track nodes. #jira UESEQ-388 Change 3883491 by Max.Chen Fix issue where tick is skipped due to last ticked pose isn't cleared after AnimInstance changes. Copy from Release-4.19 #jira UE-51323 Change 3883603 by Max.Chen Movie Scene Capture: Add option toggle disable screen percentage. By default this is on (no change in current behavior). #jira UE-51898 Change 3885074 by Max.Preussner MediaCompositing: Resetting media texture & freeing resource on section end; removed dead code Change 3887220 by Max.Preussner MediaCompositing: Defaulted media section duration to 1 sec (since we do not know the actual duration in most cases) Change 3887478 by Matt.Hoffman Sequences now show [Inactive] in their title bars when they're disabled. This helps communicate why a sequence isn't being evaluated. #jira UE-51469 Change 3888985 by Max.Chen Movie Scene Capture: Clamp HDR Compression Quality between 0 and 1. #jira UE-55136 Change 3893519 by Max.Chen Sequence Recorder: Clarified tooltip for bRecordNearbySpawnedActors - spawned actors will still be recorded if they match the ActorFilter. #jira UE-55238 Change 3893546 by Max.Chen Sequence Recorder: If a selected actor already has a recording, add a blank recording. #jira UE-55239 Change 3894044 by Max.Preussner MediaCompositing: Added support for seeking into a media section Change 3894310 by andrew.porter MediaFrameworkTest: Adding Img media sources for 1080 and 2160 ravent test content Change 3894426 by Max.Preussner MediaAssets: Letting media textures with AutoClear retain their clear color when player is reset Change 3895717 by Max.Chen Sequencer: Null checks to prevent crash when saving the default state of a spawnable #jira UE-55304 Change 3897388 by Max.Chen Sequencer: Don't update current time to be within the view range when stepping into a sequence. #jira UE-55322 Change 3897452 by Max.Chen Audio: Fix crash when trying to record audio without any active capture devices. Log warning if the number of input channels is not 1 or 2. #jira UE-55223 Change 3897619 by Max.Preussner MediaCompositing: Removed commented out code Change 3898072 by Max.Chen Sequencer: Override the animation asset in the player state if it doesn't match the animation asset that's being evaluated. #jira UE-55328 Change 3898272 by Max.Preussner MediaPlayerEditor: Made slate brush constants static Change 3898704 by Max.Chen Sequencer: Skip if the binding id's sequence can't be found. #jira UE-55337 Change 3899855 by Max.Preussner MediaCompositingEditor: Added cache state visualization to media track Change 3900300 by Max.Preussner MediaCompositingEditor: Added loop indicators to media sections Change 3900694 by Max.Preussner ImfMedia: Looping cache only when player is looping Change 3900892 by Max.Preussner Stats: Added stats category for media framework Change 3900954 by Max.Preussner MediaCompositing: Don't evaluate at the end of media section Change 3901348 by Max.Preussner Core: Replaced TLruCache autos for better readability Change 3901655 by Max.Preussner ImgMedia: Added more perf stats to EXR reader Change 3901972 by Max.Preussner MediaAssets: Added getter for media player in media sound components Change 3902233 by Max.Preussner MediaAssets: Enabling media textures to receive samples right after player is assigned Change 3902238 by Max.Preussner MediaCompositing: Working around init/shutdown idiosyncracies in sequencer Change 3904045 by Max.Chen Sequencer: Fix copy/paste crash. Only process UMovieSceneCopyableBinding and objects that can be spawned by the movie scene spawn register. #jira UE-55314 Change 3905605 by Max.Chen Sequencer: Restrict spawnables from being created if they have a ClassWithin that UMovieScene is not a child of. #jira UE-55429 Change 3906550 by Max.Chen Sequencer: Add media track icon #jira UE-55480 Change 3907101 by Max.Chen Sequence Recorder: Fix bugs related to not recording a level sequence. There were certain assumptions that creating a level sequence meant that sequence recording was in progress. This is not always the case - the recorders can record animation assets and not create a level sequence. Changed the notion of IsRecording() to having at least one actor recording that is recording. Countdown timer, recording displays, etc should function if IsRecording() and not based on whether a level sequence is created. #jira UE-55485 Change 3907247 by Max.Chen Sequence Recorder: Fix crash not removing PrepareToCleanseEditorObject delegate. Repros when opening sequence recorder, closing it, and then opening or creating a level. Change 3910343 by Max.Preussner Core: Added async helper for executing functions on a given thread pool Change 3910346 by Max.Preussner ImgMedia: Added separate thread pools for loading/decoding and deleting image frames Change 3910829 by Max.Preussner Profiler: Increased visible range of profiler graph Change 3910841 by Max.Preussner MediaCompositing: Displaying asset name instead of full media source path in media section Change 3910870 by Max.Preussner ImgMedia: Using deallocation thread pool only in debug builds Change 3919642 by Max.Chen Sequence Recorder: Clarify active tooltip #jira UE-55661 Change 3919660 by Max.Chen Sequencer: Sequence template source signatures are now also compared to catch the case where a sub-sequence asset has been saved but not modified - The following sequence of events exposes this issue: - Create a master sequence with a single shot that spawns a cube - Add this sequence to a level and set it to auto-play - Save everything and restart - Resave just the inner shot asset without opening it - PIE - The inner shot never spawns its cube because its template was wiped on save, but its signature never changed. Since the master sequence previously didn't check the template source signature, it ends up trying to evaluate an empty template. #jira UE-55626 #jira UE-55490 Change 3921825 by Max.Chen Sequencer: "Run Construction Script in Sequencer" is off by default for blueprints but on for Sequencer. This allows the content author to switch it on for specific blueprints and sequencer will be default, run those with construction scripts enabled. Change 3922232 by Max.Chen Sequence Recorder: Reset countdelay on stop. #jira UE-55755 Change 3922306 by Max.Chen Sequence Recorder: Don't automatically mark transforms to be recorded by sequence recorder. Instead, log a warning if the user toggled it off to warn that the resulting animation might not match gameplay. #jira UE-55758 Change 3922912 by Max.Chen Sequence Recorder: Fix refresh next sequence name #jira UE-55757 Change 3927654 by Max.Chen Movie Scene Capture: Added format mapping for the name of the current camera #jira UE-55769 PR #4537 Change 3927658 by Max.Chen Sequencer: Added fbx property mapping for "FocusDistance" to "FocusSettings.ManualFocusDistance" #jira UE-55782 Change 3932022 by Max.Chen Sequencer: Add import animation track section to next available row index. #jira UE-55892 Change 3933919 by Max.Chen Sequencer: Jump to playback start frame and not 0 to start playback for recording. #jira UE-55933 Change 3934307 by Andrew.Rodham Sequencer: Add template signature that is re-generated every time the base template is regenerated, which invalidates evaluation fields This fixes an issue where the same sequence is instantiated multiple times in a sequence. If the source sequence was saved, its template would be wiped, which would invalidate the template ID When an instance tries to evaluate the master template, it would only invalidate a range in the evaluation field that was the hull of any invalid sub sequences overlapping the current time, potentially leaving invalid data in the evaluation field at positions later (or earlier) on in the sequence When the sub template was re-generated, it receives the same SequenceSignature as it had before (because the sequence hasn't actually changed), which causes the stale evaluation field data to fail the IsDirty check (because the sequence is the same as it thought, but the *template* has changed) This has been addressed be adding a signature to templates themselves, and checking both the template signature and sequence signature as a part of the IsDirty check. This ensures that we regenerate if either the template, or the sequence have changed. #jira UE-55934 Change 3936327 by Andrew.Rodham Sequencer: Removed increment when trimming right UMovieSceneSection::TrimSection already explicity assigns an exclusive bound to the time passed in. The new behavior means we can trim a section to the right, and insert another section without changing the time to create adjacent sections. #jira UE-42652 Change 3936328 by Andrew.Rodham Fixed KeyFrameManipulator assignment operators and copy/move constructors - These types are potentially self-referential so cannot use default constructors/assignment Change 3936330 by Andrew.Rodham Converted UMGSequencePlayer to use frames internally #jira UE-54878 Change 3936726 by Max.Chen Sequencer: Set track node as the parent of the key area node. The key area switcher needs the object binding id from the parent object binding node. Without this, the binding to the external value fails. #jira UE-55931 Change 3936775 by Max.Chen Sequencer: Should stop or loop should compare DurationFrames with Current Time from StartTime. The bug is that if you set 30 warmup frames in movie rendering for a range of 0-100, the FrameRange will be starting at -30 and have a duration of 130. Without this fix, the playback will continue until frame 130, rather than 100. #jira UE-55933 Change 3936935 by Matt.Hoffman Easing Curves are now represented in Play Rate resolution instead of internal resolution. #jira UE-55937 Change 3937069 by Matt.Hoffman Users can toggle if the is infinite on each side, limited by which tracks support infinite ranges. #jira UE-55891 Change 3937516 by Max.Preussner ImgMedia: Added support for single-threaded platforms #jira UE-55986 Change 3937826 by Max.Preussner MediaAssets: Disabling media sound components on HTML5 if AudioMixer is not enabled Change 3937997 by Max.Chen Curve Editor: Add Zoom to Fit Curves so that selected curves from Sequencer can be focused on. Tested that undo doesn't re-zoom. #jira UE-55935 Change 3938000 by Max.Chen Sequencer: Stop all sounds before generating audio waveforms. #jira UE-55951 Change 3938376 by Max.Preussner XGEController: Disabled XGE Controller in single-threaded apps to prevent crash Change 3938444 by Max.Preussner Core: Added async support for single-threaded applications Change 3938445 by Max.Preussner Networking: Added support for single-threaded applications in UDP socket sender/receiver Change 3938447 by Max.Preussner Messaging: Added support for single-threaded applications Change 3939432 by Max.Chen Sequence Recorder: Append command list to global level editor actions so that shortcuts are accessible in level editor. #jira UE-55798 Change 3940229 by Andrew.Rodham Added prospective display rate upgrade to UMovieScene::PostLoad - There was previously some very odd behaviour that would assign the fixed frame interval only when a sub sequence was focused in SSequencer. This meant that many sequences could have a frame interval of 0 set in the data. - Under the old method of snap interval display this would have fallen back to getting the display interval from the sequencer settings, but we no longer look at these. - The USequencerSettings properties have been removed and in their place, a prospective data upgrade for sequences that have a fixed frame interval old 0fps that sets the play rate to the previous defaults based off the old USequencerSettings defaults. - This could end up 'changing' the display rate for sequences where the user has changed the snap interval in the settings for a particular sequence editor, but there's not much we can do about that given we don't have access to the USequencerSettings classes in UMovieScene #jira UE-55919 Change 3940277 by Andrew.Rodham Sequencer: Added ability to default frame resolutions and play rates for newly created actor sequences Change 3940378 by Andrew.Rodham Sequencer: Post move import dialog now defaults to the playback framerate of the sequence, and floors to frame numbers Change 3940559 by Andrew.Rodham Reinstated primed or recording sequence color Change 3940642 by Max.Preussner ImagePlate: Removed image plate media playback functionality Change 3940843 by Max.Preussner Core: Made TCircularQueue actually thread-safe; improved code comments Change 3940860 by Max.Chen Sequencer: Changed StructNameToKey to StructPathToKey Previously, keying a PropertyPath of [RenderTransform][Shear][X] would get trimmed to X, which doesn't map to a channel name as considered by Sequencer2dTransformTrackEditor. Instead, trim the resulting property path to [Shear][X] so that track editors can determine the desired struct path and channels to key. #jira UE-52966 Change 3941292 by Mike.Zyracki Fix for trajectories out of range not showing up. 1) If we had no key data we would pop the time, so wouldn't get the section ranges. 2) Calculating of upper bound was wrong, checking against -1 and not key == num of keys when doing algo::lower_bound. 3) No need to do the Bck-- for the bakward iterators since we fixed #2. We start now from the upper bound correctly. 4) If we had no keys (at section start,end) we would incorrectly say we were any key type, so since we draw constant keys as dashed we would do so incorrectly around section end points. #jira UE-55929 Change 3941424 by Max.Chen Curve Editor: Change Zoom to Fit to use TArrayView Change 3941498 by Max.Preussner Core: Added FMath::DivideAndRoundNearest function Change 3942097 by Matt.Hoffman Drop Frame Timecode Support for NTSC rates. Change 3942104 by Matt.Hoffman Sequence Recorder Group is no longer visible inside the World Outliner after using one. #jira 55266 Change 3942107 by Max.Chen Sequencer: Resurrect logic to find or extend an existing section when adding keys. Change 3942330 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942339 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942507 by Andrew.Rodham Sequencer: We no longer pad the time overlap threshold with a small number that is not scaled by the current zoom level - The presence of this pad was causing keys that were far apart to be grouped when zoomed in a long way Change 3942509 by Andrew.Rodham Sequencer: Only pad total view range, rather than section range as well when retrieving keys to render - This stops us from rendering keys that are within the view range, but outside the section range Change 3942512 by Andrew.Rodham Added transactions to some sequencer details customizations Change 3942513 by Andrew.Rodham Sequencer: Reinstated validation checks to UMovieSceneSection::SetStartFrame and SetEndFrame, changed erroneous uses to use SetRange Change 3942560 by Andrew.Rodham Pass by rvalue reference to appease error C2719 on Win32 ('InChannels': formal parameter with requested alignment of 8 won't be aligned) Change 3942697 by Andrew.Rodham Newly Created Level Sequences and Actor Sequences now default to 24000 fps frame resolution (+/- ~24hrs range, supporting all integer rates + 23.976) Change 3942700 by Andrew.Rodham Sequencer: Added legacy out-of-bounds errors for times that are not supported by the current legacy upgrade frame resolution Change 3942989 by Max.Preussner Core: Fixed circular queue count calculation Change 3943538 by Max.Preussner MediaAssets: Reverted workaround for procedural audio log spam in HTML5 (Actor component initialization cannot be skipped if the component is used in a level) Change 3944071 by Max.Preussner QAGame: Fixed Media Texture keeps last frame of Media when PIE ends #jira UE-53360 Change 3944292 by Max.Chen Sequencer: Added extra flags to ensure that asset initialization does not occur on template actor sequences #jira UE-56113 Change 3944364 by Max.Chen Sequencer: Prevent circular shot/master tracks. Tested adding master -> child -> master as drag and drop cinematic shot tracks and sub tracks as well as through the + button. #jira UE-56091 Change 3944422 by Max.Chen Sequence Recorder: Disable transform recording if off. #jira UE-56061 Change 3944745 by Andrew.Rodham Sequencer: Key rendering fixes - Fixed assert that occured when keys happened to reside on some times due to KeyTime + TimeOverlapThreshold - KeyTime being slightly larger TimeOverlapThreshold - Fixed keys sometimes being clipped when zoomed right in due to lack of half-frame offset - Added missing documentation to MovieSceneTimeHelpers.h #jira UE-56107 Change 3945231 by Andrew.Rodham Sequencer: Reconstruct channel proxy on Serialize to catch all cases of undo/redo, PostLoad and duplication #jira UE-56089 Change 3945301 by Andrew.Rodham Sequencer: Added safety checks during initial sequence recording to guard against applying negative or 0-sized sequence ranges #jira UE-56125 Change 3946627 by Max.Preussner Fortnite: Fixed game crashes closing editor while in PIE - Pure virtual function being called #jira UE-56144 [CL 3946896 by Max Chen in Main branch]
2018-03-14 22:09:33 -04:00
{
static const float DragToleranceSlateUnits = 2.f, MouseTolerance = 2.f;
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 4044339) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3947021 by Max.Chen Sequencer: Don't preserve root component when copying object properties. A spawnable empty actor, has a root component that is generated by the empty actor factory. If the object template's root component is preserved when copying from the spawnable empty actor, the root component will not be copied over. Therefore, we need to NOT preserve the root component when copying object properties. #jira UE-55825 Change 3947366 by Max.Preussner WmfMedia: Better log output Change 3947367 by Max.Preussner MfMedia: Better detection of compressed format properties on Windows Change 3949102 by Max.Chen Sequencer: Remove SequenceActorTag when converting to possessable. #jira UE-56206 Change 3949207 by andrew.porter EngineTest: Set the screenshot nodes resolution to 1280x720 Change 3949404 by Max.Chen Sequencer: More informative tooltip for "Rerun Construction Scripts" option. It now says "Rerun construction scripts every frame on actors that have 'Rerun Construction Script in Sequencer' enabled in their class settings". Change 3950067 by Matt.Hoffman Renamed UAutomatedLevelSequenceCapture's StartFrame and EndFrame to CustomStartFrame/CustomEndFrame to reflect that it is user-overriden. This will also resolve upgrade issues due to the variable datatype changing. #jira UE-56189 Change 3950193 by JohnHenry.Carawon Updating my latest MovieRendering test content. Change 3950757 by JohnHenry.Carawon More updates to MovieRendering test content Change 3952059 by Max.Chen Resave LevelVisibility_SubLevels to fix data loss conversion warning of OpacityMaskConstant #jira UE-56086 Change 3952283 by Max.Chen Sequencer: Disable dropping level sequence assets as spawnables. #jira UE-56120 Change 3952422 by Max.Chen Sequence Recorder: Add button to record from the current player. #jira UE-55942 Change 3952987 by JohnHenry.Carawon MovieRendering Test Content - Fixing camera bindings and changing the override binding actor Change 3953823 by Mike.Zyracki Fix for Bad FBX Import Tangents not scaled by frame rate. After looking at this again it seems that a set of MovieScene:: overiddes for the channel traits wasn't set correctly, so use the ADL idiom to use MovieScene, which can then call Optimize in the correct namespace. With this we can now correctly use the passed in tolerance. There was also a redundant set of Optimize calls so that it could happen twice so removed them, and needed an extra check in the float channel Optimize. Also since we need to set auto tangents no matter if we optimize we don't set that parameter(though leave it since it's used by context menu key reduction). Finally fixed speed issue with trajectories caused by calculating way too many substeps. Reverted back to a time based step size for consistency. #jira UE-56193 Change 3954317 by Matt.Hoffman Adding a key to the last frame of a section no longer causes a crash. Keys can already be moved to be on the last frame of a section so now you can just add a key there directly. #jira UE-56255 Change 3954326 by Matt.Hoffman Dilating a section that is only infinite on one side no longer causes a crash. #jira UE-56260 Change 3954486 by Max.Chen PR #4580: Exposes IsReversed() from UMovieSceneSequencePlayer (Contributed by alanedwardes) Change 3955238 by Max.Preussner Messaging: Enabled delayed message routing https://github.com/EpicGames/UnrealEngine/pull/4574 #jira UE-56247 Change 3955901 by Max.Preussner MediaFrameworkTest: Added developer test for overriding desired media player plug-in at runtime. Change 3955922 by Andrew.Porter QAGame: Updating movie rendering content in dev folder Change 3956004 by andrew.porter QAGame: Adding MPC track to movie rendering test content Change 3956510 by Max.Chen Sequencer: Fix fbx camera import of static properties so that they are imported before default tracks are created. Otherwise, the default tracks inherit the default properties of the camera, rather than the values from the fbx. #jira UE-56311 Change 3957613 by Max.Preussner MediaUtils: Added code documentation to media player facade Change 3958005 by Max.Preussner MediaUtils: Added method to get number of sinks Change 3958934 by Max.Chen Sequencer: Fix keys getting added and sequence getting erroneously re-evaluated when auto key is off. Only apply defaults if there are no keys. Only modify the movie scene section before creating keys or setting defaults. #jira UE-55903 Change 3959687 by Andrew.Rodham Sequencer: Fixed visibility track external values being inverted #jira UE-56324 Change 3960507 by Max.Preussner Core: Fixed incorrect rounding in FMath::DivideAndRoundNearest Change 3962047 by JohnHenry.Carawon MovieRendering Test Content Changes: - Add Lightmass Importance Volumes to sublevel to fix warnings - Rebuilt Lighting - Add a third sequence for Gamut testing - Resaved the sound master.uasset to fix warning Change 3962211 by Mike.Zyracki Add Frame Numbers to selected animation sections. Added MapTimeToAnimation to MovieSceneSkeletalAnimation so that we could get it from the Skeleton Animation track Editor. Since the thickness of the frame line can change based upon frame rate and zoom we need to calculate it similarly to how the time slider controller does it. Those calculations were private so we had to expose FScrubRangeToScreen and GetScubberPixelRange from the TimeSliderController. Also needed to know if the section itself was selected so added a bIsSelected flag to the section Painter. Also fixed a bug where you couldn't add a section if other sections existed at different times in MovieScenePropertyTrack and could crash due to the check(). #jira UESEQ-395 Change 3962497 by Max.Preussner Core: Added new string formatting argument to FTimespan Change 3963662 by Max.Chen CineCamera: Flip VistaVision width and height. Change 3963731 by Max.Preussner MediaCompositing: Implemented sequence recording support for media track Change 3964195 by Andrew.Rodham Sequencer: Set inverted property correctly for newly created visibility track sections - Also clamp evaluation for key editors to the bounds of the section so we're not displaying values outside of the section bounds when the cursor is not on the bounds #jira UE-56324 #coderevew Max.Chen Change 3964196 by Andrew.Rodham Sequencer: Fixed crash when attempting to render sections that resulted in a negative intersection with the view range Change 3964275 by Andrew.Rodham Sequencer: Fixed MovieScene::ClampToDiscreteRange for infinite range bounds Change 3964364 by Andrew.Rodham Curve Editor: Reduce minimum vertical view range when zooming to fit Change 3965091 by Max.Chen Sequencer Recorder: Refresh next sequence if empty when starting a recording, otherwise, use existing name. #jira UE-56469 Change 3965148 by Max.Chen Sequence Recorder: Move Record to Possessable to "Actor Recording" group Change 3965162 by Max.Chen Sequence Recorder: Always break out of immersive mode when done recording, even when stopping recording during countdown. #jira UE-56407 Change 3965214 by Max.Preussner QAGame: Enabled ImagePlate plug-in Change 3965574 by Max.Preussner SimpleComposure: Reorganized & upgraded content to work with new Media Track #jira UE-56488 Change 3965651 by Max.Preussner MediaCompositing: Ignoring seek-on-open if media not seekable Change 3966075 by Christina.TempelaarL Sequencer: Added Final Cut Pro 7 XML Export functionality #jira UESEQ-358 Change 3966087 by Matt.Hoffman Adding a single key to the Particle Toggle track now makes an infinite range section that is displayed in the UI. #jira UE-56295 Change 3966547 by Andrew.Rodham Sequencer: Fixed rounding errors when drawing the section background on boolean sections - Logic was using time in sectonds which caused rounding errors on evaluation and flickering red/green stripes when dragging keys around #jira UE-56324 Change 3966563 by Andrew.Rodham Curve Editor: Key editor interface improvements - SKeyEditInterface has a few problems - it does not update in real time when editing properties, and does not support multi-edit which makes it unsuitable for use with the curve editor - We now take a different approach for editing keys by gathering a set of proxy UObjects for each key that is currently selected. These objects are added as top level objects to the details panel which means they support multi edit as you'd expect from any other details panel in the editor. - Proxy objects are updated every tick for the curve editor if they implement the ICurveEditorKeyProxy interface, which allows them to refresh their current value. - Ideally, the same mechanisms would be used in the main sequence interface, and we would be generating the proxy classes at runtime based on the key value type, but that work remains a separate task from this initial offering. #jira UE-56165 Change 3966564 by Andrew.Rodham Curve Editor: Expand to frame when adding or moving keys in the curve editor Change 3967051 by andrew.porter MediaFrameworkTest: Set the CameraPlayer_Video texture to auto clear Change 3967141 by Andrew.Rodham Sequencer: Keep track of spawned objects that have been modified and only re-save such object's default spawnable state on destruction - Now that we're taking this approach, I've remove serveral redundant bits of functionality in the spawn register such as making some spawnables read-only, and the PreSave binding for Sequencer. - We now hook into all object pre-saves to make sure we handle the case where the sequences are saved through the content browser or elsewhere. #jira UE-47686 Change 3967170 by Andrew.Rodham Sequencer: Added the ability to possess anim instances as object bindings - This allows full and direct animation of properties on UAnimInstance, and animation blueprints - Object Bindings are made by first possessing a skeletal mesh component, then choosing the + Add button where its anim instance will be listed - Added a new function to UMovieSceneSequence to gather previously cached objects that should now be invalidated. Anim instances will be re-resolved if a new UAnimInstance is assigned to USkeletalMeshComponent::GetAnimInstance. - ObjectBindingIDs for anim instances are just represented by an entry in a set of GUIDs. We only ever resolve such bindings through USkeletalMeshComponent::GetAnimInstance. - Only currently supported on LevelSequences #jira UE-56132 Change 3967195 by Max.Preussner Core: Updated TRangeSet to use TCallTraits Change 3967345 by JohnHenry.Carawon Test Content Changes - first iteration of spacing out the examples in the shots. Change 3967572 by Max.Chen Sequencer: Fix setting PreviousPlayEvalPosition until after we've tested whether it's set. #jira UE-56518 Change 3967750 by Max.Chen Audio: Set duration based on number of input channels, rather than number of channels to serialize. This fixes an issue where audio split into 2 channels is set to a duration that's twice as long. #jira UE-56430 Change 3967836 by Max.Chen Sequencer: Allow for animating array elements within ustruct properties #jira UE-55887 Change 3968506 by Matt.Hoffman Fixed ambiguous conversions for seconds and frames being overriden by ambiguous conversion to Timecode (in frames). Change 3968748 by Max.Chen Sequencer: Make the event properties submenu widget larger. #jira UE-55557 Change 3968862 by Max.Chen Sequencer: Recursive expansion when shift is down #jira UE-52139 #pr 4194 Change 3968863 by Max.Chen Sequencer: Bind rename command to selected track so that F2 shortcut start renaming #jira UE-52139 #pr 4194 Change 3968872 by Max.Chen Sequencer: Rekey the selected key at the current time. #jira UESEQ-396 Change 3968938 by Max.Chen Cine Camera: Add option to toggle the behavior of locking the rail mount to the orientation of the spline. By default, the option is off, no change in behavior. #jira UE-55815 Change 3968958 by Andrew.Rodham Sequencer: Consider vertical position when hittesting keys #jira UE-56256 Change 3969643 by Max.Preussner Core: Rounding timespans created from double values towards nearest ticks Change 3969646 by Max.Preussner MediaUtils: Implemented timeout mechanism for block-on-fetch feature Change 3969776 by Mike.Zyracki Added Skip Anim Notifiers Toggle per what was in Matinee. Investigated the Enable Root Motion toggle as also discussed but it's implementation is directly contained by the animation asset and unlike animation notifies there seems to be no exposure to interactively disable it during a playback tick. Note if we are generating thumbnails we still automtically disable notifies in the editor to avoid annoying noise playback. Note that if Enable Root Motion/Root locked is specified in the animation asset it does correctly effect the Sequencer. #jira UESEQ-399 Change 3969835 by Matt.Hoffman Playback Range and Selection Range use unified logic for adding themselves as potential snap locations which properly handles inclusive/exclusive bounds. This resolves an issue where having an unset selection range caused a potential snap location to be added on frame 0 and 1 (internal resolution) which caused a misalignment when placing objects near frame 0. This also removes the one frame offset on setting Selection Range to bring behavior inline with other ranges. #jira UE-55420 Change 3969885 by Max.Preussner MediaAssets: Don't register media player CDO with media ticker Change 3971129 by Andrew.Rodham Sequencer: Fixed UMovieSceneSequencePlayer::GotToEndAndStop() not taking into account for start time This is a remnant from when the times were always specified in 0-duration space, rather than actual sequence times. Change 3972056 by JohnHenry.Carawon More updates to Test Content. I continued spacing out the examples in the sequence so that they have a consistent number of frames between each example and during the start/end of the example. Also removed the Marcie sublevel. Change 3972066 by Andrew.Porter MediaFrameworkTest: Setting Marcie folder to be never cooked in package settings Change 3972675 by Matt.Hoffman Splitting Subsequence Sections no longer sets an incorrect playback range on the subsequence when the subsequence has a different internal resolution than the owning sequence. #jira UE-55453 Change 3973376 by Max.Preussner ImgMedia: Zero is the only valid video track for image sequences Change 3973489 by Max.Preussner Launch: Build rules cleanup pass - don't use Media, MediaUtils on server apps - don't link against Media (include-only dependency) - don't include from MediaAssets (dynamic load only) Change 3973760 by Max.Preussner MediaUtils: Moved AppMediaTimeSource implementation into its own file; added logging Change 3973765 by Max.Preussner ImgMedia: Disallowing seek beyond media length Change 3973855 by Max.Preussner MediaFrameworkTest: Updated developer test content Change 3973858 by Max.Preussner MediaCompositing: Blocking on media player time instead of media sample time (the former may not be hit in the current frame) Change 3974988 by Max.Chen Sequencer: Fix trim left so that it also sets the start offset for audio and skeletal animation sections. #jira UE-57015 Change 3976101 by Matt.Hoffman Sequencer will now focus the scroll view on newly created items. #jira UE-56492 Change 3976203 by Max.Chen Property Editor: Add DetailsViewArgs for ColumnWidth. Defaults to 0.65f, no change in existing behavior. Change 3976205 by Max.Chen Sequencer: Set better column widths for sequencer. #jira UE-55557 Change 3976206 by Max.Chen Sequencer: Added menu category for import/export Change 3976265 by Matt.Hoffman Tracks within Object Binding Nodes will now sort using the old behavior so that components are added above other track types. #jira UE-56473 Change 3976901 by Max.Chen Sequencer: Add event names to event track section #jira UESEQ-353 Change 3977878 by Max.Preussner Media: Moved media framework ticking stats into Media module Change 3977982 by Max.Chen Sequencer: Add Edit->Reset section length to duration of source (ie. audio, skeletal animation, shot length) Added MovieSceneSection::GetDefaultDuration and MovieScene::HasDefaultDuration #jira UESEQ-392 Change 3977994 by Max.Preussner Media: Fetching and rendering media samples before viewports are rendered (to ensure frame sync for in-level media playback) #jira UE-53975 Change 3978188 by Matt.Hoffman Easing Curves are now clipped by the sequence's PlayRange when testing against an infinite section. This causes blended sequences to finish their blend when the section starts/ends instead of always using 25% of the total section length to determine default blend range. #jira UE-56362 Change 3978676 by Max.Preussner MediaCompositing: Fixed first frame of rendered out media track missing #jira UE-53975 Change 3978684 by Max.Preussner MediaCompositing: Enabled media track frame sync feature #jira UE-53975 Change 3980026 by Matt.Hoffman Keys can be selected on folded out sections (such as an audio track expanded to show volume and pitch) again. #jira UE-57169 Change 3981614 by Max.Preussner MediaUtils: Added missing subtitle sample queue flush Change 3982311 by Max.Preussner MediaCompositing: Added safeguard for zero length media sources Change 3982389 by andrew.porter QAGame: Adding media track test content into FrameAccuracySubscene Change 3983661 by Max.Chen Sequencer: Add level name to spawn a spawnable into. Add sublevel menu option to set the level #jira UESEQ-390 Change 3983712 by Andrew.Rodham Sequencer: Purge legacy blueprint spawnables from LevelSequence packages #tests Ran a preflight for cooking fortnite, ocean and Orion. Only orion shows up this edge case, and will require a re-save of the EndCines level #jira UE-39173 Change 3983787 by Max.Preussner MediaCompositing: Moved compile time switch for block-on-fetch into media player facade Change 3983812 by Andrew.Rodham Sequencer: Exposed default level sequence instance data to blueprints Change 3984373 by Max.Preussner Media: Added API for quering whether player plug-in supports block on fetch Block on fetch allows Sequencer and other systems to block the game thread until a desired video frame has been decoded. Change 3984670 by JohnHenry.Carawon Movie Rendering Test Content progress. Saving the state of the content. There is a bug where things got replaced with particle emitters and I think it was because I tried to copy paste an animation track into a separate skeletal mesh track. Change 3985097 by Max.Chen Sequencer: Rename Reset to AutoSize Change GetAutoSizeDuration to return TOptional<FFrameTime> #jira UESEQ-392 Change 3986043 by Max.Chen Sequencer: Fix crash when attach/path duration is less than 0. #jira UE-57310 Change 3986373 by Max.Chen Sequencer: Add support for deleting tracks and channels which equates to setting the channel mask. #jira UE-52951 Change 3986375 by Max.Chen Sequencer: Add Create Pose Asset to skeletal animation section. This allows animators to blend animations in sequencer and create new pose assets from them. #jira UESEQ-408 Change 3986796 by Andrew.Rodham Sequencer: Fixed stale object references remaining in ULevelSequence::BindingReferences when using convert to spawnable/possessable - We used to convert objects by creating a new binding, then re-assigning its GUID, which meant we didn't have to do any further object fixup, but the code to achieve this was confusing and led to a vulnerability where object references would not be cleaned up correctly due to the newly created possessable essentially being a temporary object that's immediately thrown away. - To address this, there is now a function for porting all the contents of one object binding to another, and handles the correct fixup required for parent/child object bindings for both spawnables and possessables. - Also added codepath to remove any stale object references from the level sequence reference map on PostLoad (this piggy-backs off the PurgeLegacyBlueprints object version which is close close enough to this change to be identical) #tests Verified that existing sequences with stale references get cleaned up on load. Verified that repreatedly converting from spawnable<->possessable cleans up references correctly. Change 3987807 by JohnHenry.Carawon Updates to the MovieRendering Test Content. - Fixed the spawnable actors that were overwritten - Shortend the Lighting example and combined the Intensity and Color tracks - Organized the Sequence and WorldOutliner to group the examples. Change 3988151 by Max.Chen Cine Camera: Enable keying the "Enable Look at Tracking" toggle. Change 3988880 by Max.Chen Sequencer: Support enter to add asset for all sequencer track editors that have asset pickers. #jira UE-57367 Change 3988953 by Max.Chen Sequencer: Make the track color picker focusable so that it will close when you click away or lose focus. #jira UE-57210 Change 3988962 by Max.Chen MovieSceneCapture: Fix EDL export so that it takes into account movie scene frame resolution and desired frame rate. #jira UE-57365 Change 3988964 by Max.Chen Movie Scene Capture: Clarified tooltip for bRelativeFrameNumbers. If you specify custom start/end frames for the recording, they will be relative to the playback range. #jira UE-57308 Change 3989442 by Max.Chen Fix CIS Change 3991548 by Matt.Hoffman Dragging the time slider no longer causes the time slider to ignore snap-to-interval with "Snap to Keys While Scrubbing" when no keys are in range. #jira UE-57417 Change 3991598 by Matt.Hoffman Snap to Key while scrubbing now mirrors the behavior of "jump to next key". When there are no tracks selected it snaps to all keys and when there are tracks selected it snaps to only keys from that track. This also resolves an issue where deleting an object did not remove it from the Sequencer's selection. Undoing a delete already doesn't seem to restore your selection, so removing it from your selection shouldn't change that behavior. #jira UE-57417 Change 3991603 by Max.Chen Sequencer: Disable EditAnywhere for some section properties #jira UE-53530 Change 3992240 by Max.Preussner MediaAssets: Implemented dynamic audio sample rate adjustment based on audio/media clock drift #jira FORT-70638 Change 3992911 by Andrew.Rodham Sequencer: Fixed saving spawnable state using the wrong spawned object - We now track the object binding ID so that we can apply the spawned object to the correct spawnable when the asset is saved #jira UE-57353 Change 3992914 by Max.Chen Movie Scene Capture: Fix compression quality not being set. The compression interface wasn't being found through query interface, so no compression was being set. Reworked finding it through the output pins. Tested running various compression values. #jira-UE-55488 Change 3992919 by Max.Chen Sequencer: Convert to possessable now uses object template instead of copying properties (ie. see LevelSequenceActorSpawner). This fixes MIDs getting lost when converting to spawnable and back to possessable. #jira UE-52400 Change 3993184 by Max.Chen Sequencer: Don't show +Transform/+Path/+Attach track if the actor has the "Mobility" property hidden. Set the Landscape, LandscapeProxy and InstancedFoliage "Mobility" property to be hidden since it is static is not supposed to be dynamically movable. #jira UE-56347 Change 3993238 by Max.Chen Sequencer: Test for hidden mobility in creating keys as well. Refactored to HasHiddenMobility() #jira UE-56347 Change 3993978 by Max.Chen Cine Camera: Enable keying the "Enable Look at Tracking" toggle. #jira UE-57489 Change 3994039 by Max.Chen Landscape: Add Mobility to hidecategories on landscape component #jira UE-56347 Change 3994626 by JohnHenry.Carawon Updated Movie Rendering Test Content. - Fixed the overridden spawnables to their proper object types. Change 3994653 by Christina.TempelaarL Sequencer: Added Final Cut Pro 7 XML Import functionality, improved Export functionality #jira UESEQ-358 Change 3995609 by Max.Chen UMG: Add support for 2d transform mask (translation, rotation, scale, shear) #jira UE-52951 Change 3995778 by JohnHenry.Carawon Movie Rendering Test Content Updates - Adjusted Lights example - Adjusted Camera example - Added Marcie sublevel back in Change 3995942 by JohnHenry.Carawon QAGame: Moving Movie Rendering test content from Developer folder to Sequencer folder Also adjusted level visibility, lights and camera example. Change 3995993 by Christina.TempelaarL Sequencer: FCPXML Export updates - only export sections if in playback range and media exists, warn if media does not exist. Other updates - removed unused methods and variables, fixed message context naming to be more accurate #jira UESEQ-358 Change 3996595 by andrew.porter QAGame: Updating Marcie content in TrackEvaluation level to use Image Plate Change 3996614 by andrew.porter QAGame: Adding color test sequence to the sublevel Change 3996643 by Max.Chen Sequencer: Fix fbx animation export - rotation and scale channels were flipped. #jira UE-57509 #jira UE-57512 #jira UE-57514 Change 3996652 by Max.Preussner Messaging: Fixed delayed messaging using incorrect current time after message router sleep Based on https://github.com/EpicGames/UnrealEngine/pull/4601 Change 3996801 by Max.Chen Sequencer: Fix folder active state for non key area sections. Look at track node sections as well as key areas. #jira UE-57550 Change 3997098 by Matt.Hoffman Cleaned up some remaining ToDo's in STimeRange. Change 3998339 by Max.Preussner Sockets: Added documentation for socket receive functions Change 3998359 by Max.Preussner MediaUtils: Started to implement media recorder helper class Currently only supports BGRA frames in CPU memory. Supporting other formats and buffer types will require conversions on render-thread. I recommend refactoring out the existing conversion code in FMediaTextureResource into a reusable helper class in the MediaUtils module. This should be a good starting point though. Change 3998417 by Matt.Hoffman Keys and Sections can now be moved at the same time inside of Sequencer. Keys can now snap to Sections (and vice versa) instead of just to other Keys. Sections can now be duplicated like keys can. #jira UE-56995 Change 3998427 by JohnHenry.Carawon QAGame: Updating test content for the Movie Rendering feature. - Added an auto activate particle to the beginning of the sequence (it's not part of the sequence at all) - Added an event receiver blueprint to the Events example - Added a particle emitter to both sublevels - Added a camera cut to the end that switches to a separate camera - The camera zoom in, focus and Look At sections are all separate (not overlapping in the sequence) - Added a second actor for the camera Look At - Added a Visibility section for the Actor Hidden In Game track that has possessable and spawnable cube and light Change 3998537 by Max.Chen Sequence Recorder: Restore immersive mode when stopping the sequence even if not in PIE. #jira UE-56407 Change 3999809 by Matt.Hoffman Removed the "Go To" box from Sequencer and instead placed the current time as an always visible control. The previous shortcut (Ctrl + G) now focuses the new widget directly. #jira UESEQ-376 Change 4000543 by Christina.TempelaarL Sequencer: Moving editor-only code from runtime module MovieSceneCapture to editor module MovieSceneTools. Moved EDL and FCP XML exporters as well as Automated Level Scene Capture. #jira UESEQ-358 Change 4000706 by Matt.Hoffman Entering multiple time strings without a number no longer crashes Sequencer. #jira UE-57672 Change 4001051 by andrew.porter MediaFrameworkTest: Fixing up some image sources pointing to the wrong location Change 4001191 by andrew.porter QAGame: Adding some quick EDL/XML test content to dev folder Change 4001243 by Max.Chen Sequencer: Fix import EDL out of range. #jira UE-57665 Change 4001856 by Matt.Hoffman Selecting keys and sections at the same time now also works with animation and audio sections. #jira UE-57716 Change 4002021 by Max.Chen Sequence Recorder: Fix sequence name incrementing. If external recording sets the sequence name, use it. Otherwise, use the recording name from the recording group or the recording settings. #jira UE-57712 Change 4002618 by Max.Chen Viewport: Update the look at location when updating to a locked actor. This fixes an issue so that popping the view out of a locked actor and manipulating the view will not jump to the previous look at location. #jira UE-57725 Change 4002979 by Matt.Hoffman Fixes several edge cases with the end time range that was causing confusion about what the last frame of the sequence was. Dragging the End Frame slider will no longer be off by one tick and jumping to the end via the UI controls now properly respects snapping and stays inside the play range instead of falling outside of it. Overall behavior does not change though and End Frame should be considered an exclusive frame so that frames 0-150 results in a 150 frame long animation (which is frames 0-149). #jira UE-56367 Change 4003185 by Matt.Hoffman Fixed a regression that prevented a section from being dragged upwards past row 0 which normally resulted in all other rows moving down. #jira UE-57717 Change 4003193 by JohnHenry.Carawon QAGame: Updates to test content - Shortened frames between the examples from 95 to 30 - Separated camera setting tracks - Lighting example now switches directly from constant red - green - blue Change 4003369 by Max.Chen Sequence Recorder: Refresh next sequence regardless of internally stored sequence name. #jira UE-55757 Change 4003586 by JohnHenry.Carawon QAGame: Test Content Updates - Level Visibility track now ends to that the levels are not visible when we move to the next example - Shortened camera section, removed Z tranform so that we just move left to right and shortened the overall length Change 4004414 by Max.Chen Movie Scene Capture: Fix regression where rendering with shot handles would only render the first shot. 3972166 addressed an issue where an extra frame would be rendered by finalizing right when the end frame was reached. This was hit on the first shot end frame, so instead, do this only for when the last shot is being rendered. #jira UE-57314 Change 4004765 by Christina.TempelaarL Sequencer: Fixed bugs in FCP XML import/export. - Export: fixed sequence default resolution. - Export: fixed XML files with no shots. - Export: all sections clipped to playback range. - Export: fixed incorrect section start/end times due to precision issues. - Import: fixed incorrectly adding cinematic tracks. - Import: fixed bugs creating new sections. #jira UE-57660 #jira UE-57662 #jira UE-57655 #jira UE-57761 Change 4005119 by Max.Chen Sequencer: Export/import at play rate Change 4005195 by Max.Chen UMG: Finish UMG evaluation on stop. Added object version so that existing UMG assets do not change. #tests - Newly created UMG animation with sections set to restore state now return to their original state. Existing UMG animations with sections set to restore state do not return to their original state. #jira UE-52285 Change 4005377 by Michael.Karambelas QAGame: Moving TM-SequenceRecorder and related content out of my developer folder and into /Content/Sequencer/SequencerRecorder/* Change 4005417 by Michael.Karambelas QAGame: Fixed a BP compiler in the Level Blueprint of TM-SequencerRecorder. Change 4005634 by Michael.Karambelas QAGame: Fix up missing content and broken level sequence in TM-SequenceRecorder after move Change 4006324 by Max.Chen Sequencer: Reset if the focused movie scene is null. This fixes a crash if the user is focused in on a shot and undo takes the user past the point of where the shot was created. #jira UE-57752 #jira UE-47661 Change 4007006 by Max.Chen Sequencer: Fix FindAvailableRowIndex so that it returns the max row index (and not +1) since it doesn't find any conflicting rows. #jira UE-57717 Change 4007907 by Max.Chen Sequencer: Fix crash if there's no animation Change 4007948 by andrew.porter QAGame: added test content to dev folder for Record World Space Change 4008636 by Max.Chen Sequencer: Fix import fbx not setting values properly and creating additional cameras unncessarily. #jira UE-57864 Change 4008759 by Max.Chen Sequencer: Follow up fix for import cameras #jira UE-57864 Change 4009994 by Matt.Hoffman Dragging the left or right handles of the Time Range slider in Sequencer will now zoom your view in on the current center of the screen. This prevents the view from being translating as you tried to zoom in which caused issues at high zoom levels. #jira UESEQ-407 Change 4010169 by Christina.TempelaarL Sequencer: FCP XML fixes. - FCP XML export - no longer clips to playback range - FCP XML and EDL export - fixed missing last frame of some sections after exporting to Premiere. - Automated level capture, EDL export - use RoundToFrame instead of FloorToFrame for computing section start/end frames after frame rate conversion. #jira UE-57802 - partial fix, movie scene capture still needs to render full section rather than clip against playback. Change 4010287 by Mike.Zyracki Add quaternion interpolation option to UMovieScene3DTransformSection. This mimics how Matinee used to work by bascially finding the keys between a time and interpolating the angles as quat's between them. As noted in the code the algorithm needs to handle the case when the x,y,z Rotation keys all aren't at the same time which was not handled by Matinee. Also like Matinee, when in quaternion interoplation mode, we need to not display the function cuves since the interpolated and key values are now all different. (Would like to show them but that's a bigger refactor for perhaps just a one off needed by quaternions). I added a virtual function UMovieSceneSection::ShowCurveForChannel for this since it needs to be dynamic, not on construction of IKeyArea's, and could be useful for other sections. I could though move the method to just UMovieScene3DTransformSection and do a cast instead. Looked into doing a unit test for this but after talking with Andrew P we will work on doign an automated test in EngineQA since that will provide more coverage. Will also add a video the jira. #jira UESEQ-403 Change 4010713 by Mike.Zyracki Added option to key a group of transform channels instead of just the changed channel, or all of them. This is useful for quaternion interpolations where you want rotation keys to be aligned but also useful for other workflows like animating FK Pose to Pose. Change 4010715 by Andrew.Porter MediaFrameworkTest: Setting LogMediaUtils logging from VeryVerbose to Verbose to cut back on the spam Change 4013048 by Max.Chen Sequencer: Fix play/jump status. Update the player status for all position methods (Scrub, Jump, Play). Jump means Stopped. Correctly use PlayTo or JumpTo based on position method. In PlayInternal, JumpTo with the Stopped state (rather than playing state). #jira UE-57844 Change 4013479 by andrew.porter QAGame: Added content in TM-SequenceRecorder to test recording a property on a Cine Camera Component; Press 3 to trigger manual focus distance to increment on a timer Change 4014323 by Max.Chen Sequencer: Fix SetPlaybackPosition so that it jumps or plays based on playback status. #jira UE-57844 Change 4015888 by Max.Chen Sequencer: Fix crash on paste. UMovieSceneSections were gathered from the track node's track. For sub track mode, we want to gather only those sections on that track node row. #jira UE-57951 Change 4015943 by Max.Chen Sequencer: Fix moving shots up when the mouse pos goes outside of the virtual track area. #jira UE-57717 Change 4016293 by Max.Chen Sequencer: Fix relative frame playback end frame calculation so that custom start/end frames remain in the space of the sequence and are not relative. #jira UE-57308 Change 4017075 by Andrew.Rodham Sequencer: Corrected initial evaluation range used when calling UMovieSceneSequencPlayer::Play() Change 4017270 by Christina.TempelaarL Sequencer: FCPXML importer and movie scene capture - Use CeilToFrame when converting section start/end frame times to frame numbers in FCPXML and movie scene capture. - Added support for clip metadata in FCPXML. - Got rid of redundant TokenizedError message class, no longer needed now that FCPXML is in editor directory. - Added log messages currently commented out due to exception, still testing. #UESEQ-358 Change 4018370 by Christina.TempelaarL Sequencer: fixed FCPXML log messages regarding sections with start/end not divisible by display rate. #UESEQ-358 Change 4018378 by Christina.TempelaarL Sequencer: fixed error in previous changelist. #UESEQ-358 Change 4019457 by Max.Chen Sequencer: Show event names only when the event track is selected #jira UE-57897 Change 4022806 by Max.Chen Sequencer: Fix crash on movie scene capture dialog shutdown if movie capture wasn't even started. #jira UE-58106 Change 4022894 by Max.Chen Sequence Recorder: Wrap OpenEditorForAssets after sequence recording within GIsEditor #jira UE-58084 Change 4024487 by Max.Chen Sequencer: Add tooltip for quat interpolation #jira UE-58113 Change 4024562 by Max.Chen Sequencer: Change path/attach track sequence binding id to currently focused sequence id so that bindings can be created in subsequences Change 4027414 by JohnHenry.Carawon QAGame: Checking in content that shows a bug with using particles systems and Delay Before Shot Warm Up. Change 4028990 by Max.Chen Sequencer: Fix evaluate sub sequences in isolation. This check was added with the compile on the fly logic. Not sure why it was necessary but it seems like the sub sequence data needs to be updated in order to evaluate sub sequences in isolation. #jira UE-58184 Change 4029004 by Max.Chen Sequencer: Ensure that old binding references are removed when re-assigning actors in sequencer #jira UE-57898 Change 4030997 by JohnHenry.Carawon QAGame: Fixing name of the master sequence Change 4031785 by Michael.Karambelas QAGame: Added an instance of ThirdPerson Run to TM-SequenceRecorder for Record to Possessable test. Change 4035548 by Andrew.Rodham Sequencer: Changed FMovieSceneEvaluationTemplate::TemplateSignature to be a serial number to address non-deterministic cooking issues - This commit is related to the repro steps found in 3914599 and 3934307, both of which have been verified with this new change. - Copy of 4031684 from //Fortnite/Main/... #jira FORT-84852 Change 4036312 by Max.Chen Sequencer: Fix zoom view range so that it uses the passed in InZoomDelta Change 4036318 by Max.Chen Sequencer: Auto size now returns a range and defaults to the channel proxy range so that keyed regions can also be autosized. Change 4036322 by Max.Chen Forgot missing change Change 4036360 by Max.Chen Sequencer: Fix play rate calculation when skeletal animation section play rate changes. Change 4037163 by Mike.Zyracki Weighted Tangent Implementation Tricky thing is that you need to solve a cubic in order to get the bezier weights for the time part of the curve. See https://www.gamedev.net/forums/topic/474094-help-function-curves-for-animation-interpolation/ Maya provides an implementation in it's dev kit but I didn't use it since it was horribly slow and uses an iterative solution to solve the cubic needed. Instead I use an old algorithm (Cardano's method), to solve the cubic which should be much faster. Though relative simple to code from principles I just went ahead and used a version from Graphics Gems 1. I put this cubic solver directly in MovieSceneFloatChannel.cpp, but will need to move it when we support Rich Curve, maybe to FMath:: (which would probalby require some other functions for solving quartics, etc.. for completeness.). Also note we resolve this on every evaluation but dont' need to if the interval the time is evaluating hasn't had any change in values or tangents. So again when we support FRichCurve we can create a Weighted Evaluating class that can hold the cache. Also with the tangent drags I got rid of the Cardinal position that was used to calculate non-weight tangents from the key point and just quickly getting a direction. With weighted tangents we need to use the delta instead (otherwise when moving multiple they would all get the same weight based upon distance to the cardinal point. ) For mixed tangents types what I'm defaulting to non weighted if the interval doesn't match. May need to do weighted instead, not sure. What's left is just FBX import, for tomorrow. #jira UESEQ-76 Change 4037435 by Mike.Zyracki Fix fo build warnings from weighted tangent submission. #trivial Change 4038091 by Michael.Karambelas QAGame: Updated a Sequence Recorder group in TM-SequenceRecorder that had an actor missing the animation. Change 4038374 by Andrew.Rodham Sequencer: Refined scrubber styling for level sequences and actor sequences - Scrubber now shows a block the width of a dsplay rate frame, plus a line for the actual evaluated time. UMG reverts back to the previous styling (no block) - Keys that are outside of the playback range are now drawn with a subdued effect - Tick labels are no longer drawn when directly underneath the scrubber Change 4038490 by Max.Chen Sequencer: Expose tangent weight values in details panel. Change 4038620 by Andrew.Rodham Sequencer: Advanced time panel polish #jira UESEQ-426 Change 4038677 by Max.Chen Movie Scene Capture: Redirector for MovieSceneTools.AutomatedLevelSequenceCapture #jira UE-58248 Change 4039739 by Max.Chen Sequencer: Media track should only be supported by Level Sequence Change 4040024 by JohnHenry.Carawon QAGame: Fix EventReciever and OverrideBinding example The level sequence was set to none so the fix was to set it back to TrackEvaluation_Master. Change 4040610 by Andrew.Rodham Curve Editor: Moved weighted tangent switchers to a single toggle command (CTRL+W) and added an icon #jira 58383 Change 4040882 by Mike.Zyracki Keep broken when turning on weighted #jira UE-58435 Change 4041089 by andrew.porter QAGame: Sequence for Long Tangents bug Change 4041498 by Mike.Zyracki Turn off weighted when going auto to prevent large tangents. Do it both in UI and when doing AutoSetTangents() to really make sure it doesn't happen. #jira UE-58452 Change 4041752 by andrew.porter MediaFrameworkTest: Adding some better logging for setting rates when not supported. Also ignoring commiting URL when there is no text Change 4041896 by Matt.Hoffman The transform dialog box now transforms selected keys and sections, instead of just keys. #jira UE-58265 [CL 4044405 by Max Chen in Main branch]
2018-05-02 10:10:00 -04:00
return GetScrubPixelMetrics(FQualifiedFrameTime(TimeSliderArgs.ScrubPosition.Get(), GetTickResolution()), RangeToScreen, DragToleranceSlateUnits + MouseTolerance);
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3946692) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3801826 by Max.Chen PR #4304: Level Sequence crash fix - Guarded against dereferencing null componen. (Contributed by DSDambuster) Change 3801828 by Max.Chen PR #4302: Movie Scene Visibility Template unitialised variable, causing random . (Contributed by DSDambuster) Change 3801837 by Max.Chen Sequencer: Delay spawning/construction for convert to possessable. This fixes a bug where property values would be lost when converting back and forth from possessable to spawnable. #jira UE-52400 Change 3801841 by Max.Chen Sequencer: Make spacer nodes not selectable. PR #4194: Improvements to Sequencer (Contributed by projectgheist) #jira UE-53117 #jira UE-52139 Change 3804183 by Max.Preussner MediaAssets: Added missing lock in media sound component Change 3805414 by Max.Preussner MediaAssets: Setting valid GUID when initializing media texture resource Change 3819578 by Max.Chen PR #4370: When enabling the "MovieCapture", do not turn off the Stereo-3D display. (Contributed by yehaike) #jira UE-53647 Change 3823414 by Max.Chen Curve Editor: Lock down the first and last keys in the redundant keys removal range so that they're unaffected. #jira UE-53591 Change 3826406 by Max.Chen Sequencer: Move OnStartedPlaying() to within first update in UpdateTimeCursorPosition(). This fixes an issue where setting the hud/player visibility was getting stomped on later. #jira UE-52772 Change 3827044 by Max.Preussner MediaAssets: Added sprite visualization to media sound component #jira UE-53594 Change 3827988 by Max.Preussner MediaPlayerAssets: Fixed Media Texture is not linked to Media Player when created together #jira UE-53532 Change 3828506 by Max.Preussner MediaPlayerEditor: Added attenuation visualizer for media sound components #jira UE-53594 Change 3832590 by andrew.porter EngineTest: Added a keep state check in Property Animation sequencer test Change 3833053 by andrew.porter EngineTest: Adding Hierarchical Bias test Change 3835683 by andrew.porter EngineTest: Adding UMG Animation screenshot test Change 3836076 by Max.Chen Sequencer: Fix audio volume and pitch multiplier deprecation. Change 3836230 by andrew.porter EngineTest: Adding Sequence Bone Position automation test Change 3836347 by Max.Chen Sequencer: Fixes to shot name parsing. When a shot doesn't contain a shot number, assume, [ShotName]_[TakeNumber]. When duplicating a shot, put the new shot in the same path of the original shot, so that the take numbers will increment properly. #jira UE-51868 Change 3836552 by Max.Chen Sequencer: Sub section now has a takes menu Change 3838094 by Max.Chen UMG: Fix template finish not getting called on stop. This fixes a bug where sections aren't restored when finished. #jira UE-52285 Change 3838708 by Max.Chen Sequencer: Add notification when the blend type is changed. #jira UE-54046 Change 3840295 by Max.Chen Sequencer: Fix copy/paste crash for lights #jira UE-54084 Change 3840957 by Mike.Zyracki Added Show Only Keyable and Show Only Animated to the filter list in the property editor. Added IsPropertyAnimated to IDetailKeyframe Interface which already had support for showing properties which are keyable (which is used for the key icon next to the properties.). Could have created another interface but then would have had to mimic the sequencer binding, releasing also, so this seemed best way. One issue still left is that custom built detail items currently don't store associated properties(usually) and so certain properties, in particulalry transforms, won't show up as keyable or animated. Note this also shows up with the keyable icon not showing up next to transform tracks, and other filters like Show Only Modified not working with transforms/customs. Not sure best way to tackle this. #jira UESEQ-328 Change 3841756 by Max.Chen Sequencer: Fix unbound possessable components when pasting spawnables. #jira UE-54104 Change 3843950 by andrew.porter EngineTest: Renaming LevelStreaming tests/content to LevelVisibility Change 3844082 by Mike.Zyracki Missing file for animated filter in property editor. When finding if a track is animated we need to find it but we can't easily induce the MovieTrack class for any particular property. So we don't set a class for it and just search by it's ID and name. #jira UESEQ-328 Change 3846902 by Max.Preussner ImgMedia: Fixed image media player never finished initialization if loading failed #jira UE-54247 Change 3849820 by Mike.Zyracki Reassigning deleted widgets didn't work since the menu extender mechanism needs a valid UObject in order to perform an operation on it. So to fix we replaced GetObjectBindingContextMenuExtender in WidgetBlueprint with new delegate mechanism (OnBuildCustomContextMenuForGuid) that supports FGuid in addition to UObjects which is needed to handle re-binding deleted widgets. Note that the default sequencer hacks this for replacing deleted actors in SequencerObjectBindingNode to check to see if a LevelSequence is active. We could move to this mechanism there also. #jira UE-53163 Change 3852211 by Max.Chen UMG: Indicate name of the property that is not bound. #jira UE-54350 Change 3854120 by Max.Chen Sequencer: Fix sibling folders being allowed to have the same folder name. #jira UE-54363 Change 3854627 by Max.Chen Sequencer: Step to next/previous key should work for all tracks if there aren't any selected. #jira UESEQ-391 Change 3855825 by andrew.porter EngineTest: Adding animation blending automation test Change 3855950 by andrew.porter EngineTest: Adding correct expected valuues to animation blending test Change 3856237 by Matt.Hoffman UESEQ-336 - Sequencer Track Reordering Adds the ability to re-order Master Tracks, Folders and Object Bindings within sequencer hierarchies (including UMG). Adds the ability to do a one-off sorting of the content under the old sorting behavior if the user wants to reset their layout to how it was under legacy behavior. Modifies SequencerTrackNodes, SequencerFolderNodes and SequencerObjectBindingNodes to handle CanDrop/OnDrop for above, below and ontop of. Fixes a Slate Issue that forcibly expanded a TreeviewRow if an item handled OnDrop. Slate will now only forcibly expand the row if the item says the drop happened ontop of the item, and not above or below it like it previously did. Change 3856503 by andrew.porter EngineTest: Adding automation test for using animation blueprint with blend multi node in sequencer Change 3857875 by Max.Chen Sequencer: Assign the sequence id after the template is compiled. #jira UE-54462 Change 3858344 by Max.Chen Sequencer: Prevent Goto and Transform boxes from overlapping by allowing them to be visible at the same time in an autosized horizontal box. Also, added close button to the goto box. PR #4425: Prevent Goto and Transform boxes from overlapping in Sequencer ... (Contributed by projectgheist) #jira UE-54210 Change 3860566 by andrew.porter MediaFrameworkTest: Set the option to index 0 for the audio and video track list by default Change 3860654 by andrew.porter EngineTest: Enabling Camera Cut + FOV test Change 3860981 by andrew.porter EngineTest: Updating skeletal mesh tests with a delay after set playback position Change 3861256 by Max.Chen Sequencer: Add all bindings if none selected. #jira-54440 Change 3862154 by Andrew.Rodham Added TimeManagement module Change 3862424 by andrew.porter EngineTest: Turned on the test Bone Positions with Blend Multi Node Change 3862573 by andrew.porter EngineTest: Adding test to compare bone positions in a sequence that is blending an animation that is using an AnimBP Change 3865117 by Max.Chen Sequencer: Stop auto scroll on mouse release of movement. #jira UE-31212 Change 3865303 by Max.Chen Sequencer: Add drag and drop transactions #jira UE-54662 Change 3865304 by Max.Chen Sequencer: Fix crash when an actor factory is not found. Change 3865361 by Max.Chen Sequencer: Don't change the camera/shot lock button when popping out of a sequence. #jira UE-54665 Change 3865412 by Max.Chen Sequencer: Determine whether a transform track is for a camera by using the spawned object or template #jira UE-54666 Change 3865685 by Max.Chen Sequencer: Clear autoscrub offset when stopping autoscroll #jira UE-31212 Change 3865886 by Max.Chen Sequence Recorder: Log an error if the number of frames changes while recording. This can happen if the skeleton changes while recording. #jira UE-48715 Change 3866925 by Andrew.Porter MediaFrameworkTest: Changing the current PNG test video image sequence to 1024 x 576 Change 3867705 by andrew.porter QAGame: Adding Audio Sort Sequence to dev folder Change 3867890 by andrew.porter QAGame: Adding a sequence for testing a sorting crash to my dev folder Change 3872628 by Max.Chen Movie Scene Capture: Split delay before warmup into split delay before shot warmup so that there's separate controls for when the movie scene capture warmups up vs. shot boundaries. Change 3873131 by Matt.Hoffman UE-54732 - Crash reordering a folder with a track. This was caused by folders being the only type of track to check if someone was putting a parent track into a child track. Object Binding tracks and Tracks now check as well so that you can't use the above/below drop targets to add parents as children. This also fixed a typo in the localization keys. #jira UE-54732 Change 3873301 by Mike.Zyracki Added ability to support continous euler angle changes when changing rotations, in particularly with the rotation gizmo's. To do this we effectively added a form an of 'euler filter'(https://en.wikipedia.org/wiki/Euler_filter) to find the closest euler angle to the current euler angle. Three functions were added to FRotator to make this possible, one to get the euler angle that's has the same rotation as it, one to get the difference between two euler angles via Manhattan distance and a third using the previous two to choose a Rotator value that's closest to it. We then use these functions before calling UComponent::SetRelativeRotation to make sure we use the correct Euler after the Quat conversion. We also no longer limit(bound) the euler angles to -180,180, which is obviously necessary to avoid flips. I also changed how we caluclate yaw and roll when pitch is -90 or 90 to make it the standard approach of zeroing out roll and just setting yaw. Main reasons are the previous implementation had precision issues so things like 180, 90, -180 would show up due to numbers being nearly zero but negative,(this would break any smooth interpolations), and this facilitates having a 'gimbal' rotation mode (like Maya, Blender etc..) if we ever want that also. If needed we could keep the previous implementation but would need to add some FMath::IsNearlyZero checks, with less performance. Note we only do this special filtering when applying delta's to actors or components in the editors, which then call UComponent::SetRelativeRotationExact, which is a new function to foces the RelativeRotation to be equal to the new rotation. This allows us to store un-nomalized Rotators at the cost that the RotationCache may be broken. We didn't change any of the other UComponent functions that set rotations (via Quats or Transforms) so they will still be bounded and unwound. In SetInternalWorldLocationAndRotation we only set the rotation if the rotation has changed, which fixes the rotation getting changed and re-normalized if just translate happens. In TransformTrackEditor, we correclty use the bUndwing flag and in MovieScene3DTransformSection there was an un-needed winding check there, it will be unwound earlier if needed, which happens if Sequence Recording is happening. Max we should talk about what to do about this . Note the euler angle drag via the widget is still bound to 0-360. I think we should just unbound that now since the rotations value are now unbound. This review now includes fixes suggested by Zak. #jira UE-UE-22228 Change 3873483 by Matt.Hoffman Sequencer Tracks can now be inserted above the spacer at the bottom of the tree. #jira UE-54706 Change 3873899 by Max.Chen Sequencer: Add section selection throbbing Change 3873908 by Max.Chen Movie Scene Capture: Added logging per frame Change 3873924 by Matt.Hoffman Adds the ability to store Sequence Recorder setups into profiles that stay with the map and can be re-loaded later. Profiles store the Actor Recordings so the settings for each actor should carry with them. #jira UESEQ-339 Change 3874726 by Matt.Hoffman Disable drag-and-drop targets on spacers that come between rows in Sequencer. This prevents extra drag/drop targets showing up between each row. #jira UE-54706 Change 3874862 by Matt.Hoffman Audio Track no longer gets reordered when adding sub-audio tracks, as sub-tracks are no longer counted towards the sorting order index when normalizing indexes. #jira UE-54727 Change 3875905 by Matt.Hoffman Disable Fade Track UI if a fade track already exists in the sequence. #jira UESEQ-393 Change 3876163 by Max.Chen Sequencer: Swap the camera object to the camera component's owner if it's not the same. #jira UE-54874 Change 3876971 by Andrew.Porter EngineTest: Moved Media Player Seek test to new folder. Also enabled the test with new ground truth image. Change 3877040 by Max.Chen Cine Camera: Split camera properties to two groups, "Camera Options" and "Camera Settings". The cine camera now hides properties in the "Camera Settings" group so that properties like bConstrainAspectRatio (in the "Camera Options" group) can be visible. #jira UE-54192 Change 3877763 by Max.Chen Curve Editor: Fix curve changed on end drag so that only curves that had keys/tangents that were changed receive notification, otherwise all loaded curves were getting notified that they were changed. #jira UE-54951 Change 3878234 by Matt.Hoffman Disable "Drop Below" targets for Sequencer Tree nodes to prevent a confusing UX issue where dropping underneath a Object Binding Node puts it after the object binding node but the UI looks like it's inserting it inside the Object Binding node. #jira UE-54743 Change 3879359 by Mike.Zyracki If a track is inactive we dim it a bit which seems to be the UE4 way to show inactive or disabled state. We changed the active logic so that all subtracks need to be inactive for the track to also be inactive(instead of all active for active). This conforms to how the active state actually works, e.g if you have two sections and only one is active the track is still active above it. #jira UESEQ-388 Change 3879462 by Max.Chen Sequencer: Allow dragging onto a particular row which would move out any overlapping sections to make space for the newly created section. Newly created sections are now selected and throbbed to draw attention to themselves. #jira UE-54664 Change 3879464 by Max.Chen Sequencer: Fixed overlapping ranges being inserted into the evaluation field during compilation - The issue was that track segments that had been combined with adjacent segments (due to them being identical) would potentially cause a subsequently compiled frame to overlap with a range that had already been inserted into the evaluation field. - The insertion code previously asserted that only minor overlaps were catered for (due to fp rounding errors) and assumed that a supplied range could not entirely contain any other range in the field. - The solution is to supply the insertion time along with the range to know exactly where the data should live in the field, and crop the range to the maximum allowable space between adjacent ranges. #jira UE-54922 Change 3879590 by Matt.Hoffman Items that are now added to the Sequencer via the "+Track" menu will be selected after being added. Items can now be added inside of folders instead of just to the root level. #jira UE-27397 Change 3879612 by Mike.Zyracki Display Nodes with no children are always active. #jira UESEQ-388 Change 3879730 by Matt.Hoffman Sequence Recorder's actor recording groups now remove items from the group when removed via the UI. #jira UESEQ-339 Change 3880256 by Mike.Zyracki Fix issue with inactive display with folders and other track nodes. #jira UESEQ-388 Change 3883491 by Max.Chen Fix issue where tick is skipped due to last ticked pose isn't cleared after AnimInstance changes. Copy from Release-4.19 #jira UE-51323 Change 3883603 by Max.Chen Movie Scene Capture: Add option toggle disable screen percentage. By default this is on (no change in current behavior). #jira UE-51898 Change 3885074 by Max.Preussner MediaCompositing: Resetting media texture & freeing resource on section end; removed dead code Change 3887220 by Max.Preussner MediaCompositing: Defaulted media section duration to 1 sec (since we do not know the actual duration in most cases) Change 3887478 by Matt.Hoffman Sequences now show [Inactive] in their title bars when they're disabled. This helps communicate why a sequence isn't being evaluated. #jira UE-51469 Change 3888985 by Max.Chen Movie Scene Capture: Clamp HDR Compression Quality between 0 and 1. #jira UE-55136 Change 3893519 by Max.Chen Sequence Recorder: Clarified tooltip for bRecordNearbySpawnedActors - spawned actors will still be recorded if they match the ActorFilter. #jira UE-55238 Change 3893546 by Max.Chen Sequence Recorder: If a selected actor already has a recording, add a blank recording. #jira UE-55239 Change 3894044 by Max.Preussner MediaCompositing: Added support for seeking into a media section Change 3894310 by andrew.porter MediaFrameworkTest: Adding Img media sources for 1080 and 2160 ravent test content Change 3894426 by Max.Preussner MediaAssets: Letting media textures with AutoClear retain their clear color when player is reset Change 3895717 by Max.Chen Sequencer: Null checks to prevent crash when saving the default state of a spawnable #jira UE-55304 Change 3897388 by Max.Chen Sequencer: Don't update current time to be within the view range when stepping into a sequence. #jira UE-55322 Change 3897452 by Max.Chen Audio: Fix crash when trying to record audio without any active capture devices. Log warning if the number of input channels is not 1 or 2. #jira UE-55223 Change 3897619 by Max.Preussner MediaCompositing: Removed commented out code Change 3898072 by Max.Chen Sequencer: Override the animation asset in the player state if it doesn't match the animation asset that's being evaluated. #jira UE-55328 Change 3898272 by Max.Preussner MediaPlayerEditor: Made slate brush constants static Change 3898704 by Max.Chen Sequencer: Skip if the binding id's sequence can't be found. #jira UE-55337 Change 3899855 by Max.Preussner MediaCompositingEditor: Added cache state visualization to media track Change 3900300 by Max.Preussner MediaCompositingEditor: Added loop indicators to media sections Change 3900694 by Max.Preussner ImfMedia: Looping cache only when player is looping Change 3900892 by Max.Preussner Stats: Added stats category for media framework Change 3900954 by Max.Preussner MediaCompositing: Don't evaluate at the end of media section Change 3901348 by Max.Preussner Core: Replaced TLruCache autos for better readability Change 3901655 by Max.Preussner ImgMedia: Added more perf stats to EXR reader Change 3901972 by Max.Preussner MediaAssets: Added getter for media player in media sound components Change 3902233 by Max.Preussner MediaAssets: Enabling media textures to receive samples right after player is assigned Change 3902238 by Max.Preussner MediaCompositing: Working around init/shutdown idiosyncracies in sequencer Change 3904045 by Max.Chen Sequencer: Fix copy/paste crash. Only process UMovieSceneCopyableBinding and objects that can be spawned by the movie scene spawn register. #jira UE-55314 Change 3905605 by Max.Chen Sequencer: Restrict spawnables from being created if they have a ClassWithin that UMovieScene is not a child of. #jira UE-55429 Change 3906550 by Max.Chen Sequencer: Add media track icon #jira UE-55480 Change 3907101 by Max.Chen Sequence Recorder: Fix bugs related to not recording a level sequence. There were certain assumptions that creating a level sequence meant that sequence recording was in progress. This is not always the case - the recorders can record animation assets and not create a level sequence. Changed the notion of IsRecording() to having at least one actor recording that is recording. Countdown timer, recording displays, etc should function if IsRecording() and not based on whether a level sequence is created. #jira UE-55485 Change 3907247 by Max.Chen Sequence Recorder: Fix crash not removing PrepareToCleanseEditorObject delegate. Repros when opening sequence recorder, closing it, and then opening or creating a level. Change 3910343 by Max.Preussner Core: Added async helper for executing functions on a given thread pool Change 3910346 by Max.Preussner ImgMedia: Added separate thread pools for loading/decoding and deleting image frames Change 3910829 by Max.Preussner Profiler: Increased visible range of profiler graph Change 3910841 by Max.Preussner MediaCompositing: Displaying asset name instead of full media source path in media section Change 3910870 by Max.Preussner ImgMedia: Using deallocation thread pool only in debug builds Change 3919642 by Max.Chen Sequence Recorder: Clarify active tooltip #jira UE-55661 Change 3919660 by Max.Chen Sequencer: Sequence template source signatures are now also compared to catch the case where a sub-sequence asset has been saved but not modified - The following sequence of events exposes this issue: - Create a master sequence with a single shot that spawns a cube - Add this sequence to a level and set it to auto-play - Save everything and restart - Resave just the inner shot asset without opening it - PIE - The inner shot never spawns its cube because its template was wiped on save, but its signature never changed. Since the master sequence previously didn't check the template source signature, it ends up trying to evaluate an empty template. #jira UE-55626 #jira UE-55490 Change 3921825 by Max.Chen Sequencer: "Run Construction Script in Sequencer" is off by default for blueprints but on for Sequencer. This allows the content author to switch it on for specific blueprints and sequencer will be default, run those with construction scripts enabled. Change 3922232 by Max.Chen Sequence Recorder: Reset countdelay on stop. #jira UE-55755 Change 3922306 by Max.Chen Sequence Recorder: Don't automatically mark transforms to be recorded by sequence recorder. Instead, log a warning if the user toggled it off to warn that the resulting animation might not match gameplay. #jira UE-55758 Change 3922912 by Max.Chen Sequence Recorder: Fix refresh next sequence name #jira UE-55757 Change 3927654 by Max.Chen Movie Scene Capture: Added format mapping for the name of the current camera #jira UE-55769 PR #4537 Change 3927658 by Max.Chen Sequencer: Added fbx property mapping for "FocusDistance" to "FocusSettings.ManualFocusDistance" #jira UE-55782 Change 3932022 by Max.Chen Sequencer: Add import animation track section to next available row index. #jira UE-55892 Change 3933919 by Max.Chen Sequencer: Jump to playback start frame and not 0 to start playback for recording. #jira UE-55933 Change 3934307 by Andrew.Rodham Sequencer: Add template signature that is re-generated every time the base template is regenerated, which invalidates evaluation fields This fixes an issue where the same sequence is instantiated multiple times in a sequence. If the source sequence was saved, its template would be wiped, which would invalidate the template ID When an instance tries to evaluate the master template, it would only invalidate a range in the evaluation field that was the hull of any invalid sub sequences overlapping the current time, potentially leaving invalid data in the evaluation field at positions later (or earlier) on in the sequence When the sub template was re-generated, it receives the same SequenceSignature as it had before (because the sequence hasn't actually changed), which causes the stale evaluation field data to fail the IsDirty check (because the sequence is the same as it thought, but the *template* has changed) This has been addressed be adding a signature to templates themselves, and checking both the template signature and sequence signature as a part of the IsDirty check. This ensures that we regenerate if either the template, or the sequence have changed. #jira UE-55934 Change 3936327 by Andrew.Rodham Sequencer: Removed increment when trimming right UMovieSceneSection::TrimSection already explicity assigns an exclusive bound to the time passed in. The new behavior means we can trim a section to the right, and insert another section without changing the time to create adjacent sections. #jira UE-42652 Change 3936328 by Andrew.Rodham Fixed KeyFrameManipulator assignment operators and copy/move constructors - These types are potentially self-referential so cannot use default constructors/assignment Change 3936330 by Andrew.Rodham Converted UMGSequencePlayer to use frames internally #jira UE-54878 Change 3936726 by Max.Chen Sequencer: Set track node as the parent of the key area node. The key area switcher needs the object binding id from the parent object binding node. Without this, the binding to the external value fails. #jira UE-55931 Change 3936775 by Max.Chen Sequencer: Should stop or loop should compare DurationFrames with Current Time from StartTime. The bug is that if you set 30 warmup frames in movie rendering for a range of 0-100, the FrameRange will be starting at -30 and have a duration of 130. Without this fix, the playback will continue until frame 130, rather than 100. #jira UE-55933 Change 3936935 by Matt.Hoffman Easing Curves are now represented in Play Rate resolution instead of internal resolution. #jira UE-55937 Change 3937069 by Matt.Hoffman Users can toggle if the is infinite on each side, limited by which tracks support infinite ranges. #jira UE-55891 Change 3937516 by Max.Preussner ImgMedia: Added support for single-threaded platforms #jira UE-55986 Change 3937826 by Max.Preussner MediaAssets: Disabling media sound components on HTML5 if AudioMixer is not enabled Change 3937997 by Max.Chen Curve Editor: Add Zoom to Fit Curves so that selected curves from Sequencer can be focused on. Tested that undo doesn't re-zoom. #jira UE-55935 Change 3938000 by Max.Chen Sequencer: Stop all sounds before generating audio waveforms. #jira UE-55951 Change 3938376 by Max.Preussner XGEController: Disabled XGE Controller in single-threaded apps to prevent crash Change 3938444 by Max.Preussner Core: Added async support for single-threaded applications Change 3938445 by Max.Preussner Networking: Added support for single-threaded applications in UDP socket sender/receiver Change 3938447 by Max.Preussner Messaging: Added support for single-threaded applications Change 3939432 by Max.Chen Sequence Recorder: Append command list to global level editor actions so that shortcuts are accessible in level editor. #jira UE-55798 Change 3940229 by Andrew.Rodham Added prospective display rate upgrade to UMovieScene::PostLoad - There was previously some very odd behaviour that would assign the fixed frame interval only when a sub sequence was focused in SSequencer. This meant that many sequences could have a frame interval of 0 set in the data. - Under the old method of snap interval display this would have fallen back to getting the display interval from the sequencer settings, but we no longer look at these. - The USequencerSettings properties have been removed and in their place, a prospective data upgrade for sequences that have a fixed frame interval old 0fps that sets the play rate to the previous defaults based off the old USequencerSettings defaults. - This could end up 'changing' the display rate for sequences where the user has changed the snap interval in the settings for a particular sequence editor, but there's not much we can do about that given we don't have access to the USequencerSettings classes in UMovieScene #jira UE-55919 Change 3940277 by Andrew.Rodham Sequencer: Added ability to default frame resolutions and play rates for newly created actor sequences Change 3940378 by Andrew.Rodham Sequencer: Post move import dialog now defaults to the playback framerate of the sequence, and floors to frame numbers Change 3940559 by Andrew.Rodham Reinstated primed or recording sequence color Change 3940642 by Max.Preussner ImagePlate: Removed image plate media playback functionality Change 3940843 by Max.Preussner Core: Made TCircularQueue actually thread-safe; improved code comments Change 3940860 by Max.Chen Sequencer: Changed StructNameToKey to StructPathToKey Previously, keying a PropertyPath of [RenderTransform][Shear][X] would get trimmed to X, which doesn't map to a channel name as considered by Sequencer2dTransformTrackEditor. Instead, trim the resulting property path to [Shear][X] so that track editors can determine the desired struct path and channels to key. #jira UE-52966 Change 3941292 by Mike.Zyracki Fix for trajectories out of range not showing up. 1) If we had no key data we would pop the time, so wouldn't get the section ranges. 2) Calculating of upper bound was wrong, checking against -1 and not key == num of keys when doing algo::lower_bound. 3) No need to do the Bck-- for the bakward iterators since we fixed #2. We start now from the upper bound correctly. 4) If we had no keys (at section start,end) we would incorrectly say we were any key type, so since we draw constant keys as dashed we would do so incorrectly around section end points. #jira UE-55929 Change 3941424 by Max.Chen Curve Editor: Change Zoom to Fit to use TArrayView Change 3941498 by Max.Preussner Core: Added FMath::DivideAndRoundNearest function Change 3942097 by Matt.Hoffman Drop Frame Timecode Support for NTSC rates. Change 3942104 by Matt.Hoffman Sequence Recorder Group is no longer visible inside the World Outliner after using one. #jira 55266 Change 3942107 by Max.Chen Sequencer: Resurrect logic to find or extend an existing section when adding keys. Change 3942330 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942339 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942507 by Andrew.Rodham Sequencer: We no longer pad the time overlap threshold with a small number that is not scaled by the current zoom level - The presence of this pad was causing keys that were far apart to be grouped when zoomed in a long way Change 3942509 by Andrew.Rodham Sequencer: Only pad total view range, rather than section range as well when retrieving keys to render - This stops us from rendering keys that are within the view range, but outside the section range Change 3942512 by Andrew.Rodham Added transactions to some sequencer details customizations Change 3942513 by Andrew.Rodham Sequencer: Reinstated validation checks to UMovieSceneSection::SetStartFrame and SetEndFrame, changed erroneous uses to use SetRange Change 3942560 by Andrew.Rodham Pass by rvalue reference to appease error C2719 on Win32 ('InChannels': formal parameter with requested alignment of 8 won't be aligned) Change 3942697 by Andrew.Rodham Newly Created Level Sequences and Actor Sequences now default to 24000 fps frame resolution (+/- ~24hrs range, supporting all integer rates + 23.976) Change 3942700 by Andrew.Rodham Sequencer: Added legacy out-of-bounds errors for times that are not supported by the current legacy upgrade frame resolution Change 3942989 by Max.Preussner Core: Fixed circular queue count calculation Change 3943538 by Max.Preussner MediaAssets: Reverted workaround for procedural audio log spam in HTML5 (Actor component initialization cannot be skipped if the component is used in a level) Change 3944071 by Max.Preussner QAGame: Fixed Media Texture keeps last frame of Media when PIE ends #jira UE-53360 Change 3944292 by Max.Chen Sequencer: Added extra flags to ensure that asset initialization does not occur on template actor sequences #jira UE-56113 Change 3944364 by Max.Chen Sequencer: Prevent circular shot/master tracks. Tested adding master -> child -> master as drag and drop cinematic shot tracks and sub tracks as well as through the + button. #jira UE-56091 Change 3944422 by Max.Chen Sequence Recorder: Disable transform recording if off. #jira UE-56061 Change 3944745 by Andrew.Rodham Sequencer: Key rendering fixes - Fixed assert that occured when keys happened to reside on some times due to KeyTime + TimeOverlapThreshold - KeyTime being slightly larger TimeOverlapThreshold - Fixed keys sometimes being clipped when zoomed right in due to lack of half-frame offset - Added missing documentation to MovieSceneTimeHelpers.h #jira UE-56107 Change 3945231 by Andrew.Rodham Sequencer: Reconstruct channel proxy on Serialize to catch all cases of undo/redo, PostLoad and duplication #jira UE-56089 Change 3945301 by Andrew.Rodham Sequencer: Added safety checks during initial sequence recording to guard against applying negative or 0-sized sequence ranges #jira UE-56125 Change 3946627 by Max.Preussner Fortnite: Fixed game crashes closing editor while in PIE - Pure virtual function being called #jira UE-56144 [CL 3946896 by Max Chen in Main branch]
2018-03-14 22:09:33 -04:00
}
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 4044339) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3947021 by Max.Chen Sequencer: Don't preserve root component when copying object properties. A spawnable empty actor, has a root component that is generated by the empty actor factory. If the object template's root component is preserved when copying from the spawnable empty actor, the root component will not be copied over. Therefore, we need to NOT preserve the root component when copying object properties. #jira UE-55825 Change 3947366 by Max.Preussner WmfMedia: Better log output Change 3947367 by Max.Preussner MfMedia: Better detection of compressed format properties on Windows Change 3949102 by Max.Chen Sequencer: Remove SequenceActorTag when converting to possessable. #jira UE-56206 Change 3949207 by andrew.porter EngineTest: Set the screenshot nodes resolution to 1280x720 Change 3949404 by Max.Chen Sequencer: More informative tooltip for "Rerun Construction Scripts" option. It now says "Rerun construction scripts every frame on actors that have 'Rerun Construction Script in Sequencer' enabled in their class settings". Change 3950067 by Matt.Hoffman Renamed UAutomatedLevelSequenceCapture's StartFrame and EndFrame to CustomStartFrame/CustomEndFrame to reflect that it is user-overriden. This will also resolve upgrade issues due to the variable datatype changing. #jira UE-56189 Change 3950193 by JohnHenry.Carawon Updating my latest MovieRendering test content. Change 3950757 by JohnHenry.Carawon More updates to MovieRendering test content Change 3952059 by Max.Chen Resave LevelVisibility_SubLevels to fix data loss conversion warning of OpacityMaskConstant #jira UE-56086 Change 3952283 by Max.Chen Sequencer: Disable dropping level sequence assets as spawnables. #jira UE-56120 Change 3952422 by Max.Chen Sequence Recorder: Add button to record from the current player. #jira UE-55942 Change 3952987 by JohnHenry.Carawon MovieRendering Test Content - Fixing camera bindings and changing the override binding actor Change 3953823 by Mike.Zyracki Fix for Bad FBX Import Tangents not scaled by frame rate. After looking at this again it seems that a set of MovieScene:: overiddes for the channel traits wasn't set correctly, so use the ADL idiom to use MovieScene, which can then call Optimize in the correct namespace. With this we can now correctly use the passed in tolerance. There was also a redundant set of Optimize calls so that it could happen twice so removed them, and needed an extra check in the float channel Optimize. Also since we need to set auto tangents no matter if we optimize we don't set that parameter(though leave it since it's used by context menu key reduction). Finally fixed speed issue with trajectories caused by calculating way too many substeps. Reverted back to a time based step size for consistency. #jira UE-56193 Change 3954317 by Matt.Hoffman Adding a key to the last frame of a section no longer causes a crash. Keys can already be moved to be on the last frame of a section so now you can just add a key there directly. #jira UE-56255 Change 3954326 by Matt.Hoffman Dilating a section that is only infinite on one side no longer causes a crash. #jira UE-56260 Change 3954486 by Max.Chen PR #4580: Exposes IsReversed() from UMovieSceneSequencePlayer (Contributed by alanedwardes) Change 3955238 by Max.Preussner Messaging: Enabled delayed message routing https://github.com/EpicGames/UnrealEngine/pull/4574 #jira UE-56247 Change 3955901 by Max.Preussner MediaFrameworkTest: Added developer test for overriding desired media player plug-in at runtime. Change 3955922 by Andrew.Porter QAGame: Updating movie rendering content in dev folder Change 3956004 by andrew.porter QAGame: Adding MPC track to movie rendering test content Change 3956510 by Max.Chen Sequencer: Fix fbx camera import of static properties so that they are imported before default tracks are created. Otherwise, the default tracks inherit the default properties of the camera, rather than the values from the fbx. #jira UE-56311 Change 3957613 by Max.Preussner MediaUtils: Added code documentation to media player facade Change 3958005 by Max.Preussner MediaUtils: Added method to get number of sinks Change 3958934 by Max.Chen Sequencer: Fix keys getting added and sequence getting erroneously re-evaluated when auto key is off. Only apply defaults if there are no keys. Only modify the movie scene section before creating keys or setting defaults. #jira UE-55903 Change 3959687 by Andrew.Rodham Sequencer: Fixed visibility track external values being inverted #jira UE-56324 Change 3960507 by Max.Preussner Core: Fixed incorrect rounding in FMath::DivideAndRoundNearest Change 3962047 by JohnHenry.Carawon MovieRendering Test Content Changes: - Add Lightmass Importance Volumes to sublevel to fix warnings - Rebuilt Lighting - Add a third sequence for Gamut testing - Resaved the sound master.uasset to fix warning Change 3962211 by Mike.Zyracki Add Frame Numbers to selected animation sections. Added MapTimeToAnimation to MovieSceneSkeletalAnimation so that we could get it from the Skeleton Animation track Editor. Since the thickness of the frame line can change based upon frame rate and zoom we need to calculate it similarly to how the time slider controller does it. Those calculations were private so we had to expose FScrubRangeToScreen and GetScubberPixelRange from the TimeSliderController. Also needed to know if the section itself was selected so added a bIsSelected flag to the section Painter. Also fixed a bug where you couldn't add a section if other sections existed at different times in MovieScenePropertyTrack and could crash due to the check(). #jira UESEQ-395 Change 3962497 by Max.Preussner Core: Added new string formatting argument to FTimespan Change 3963662 by Max.Chen CineCamera: Flip VistaVision width and height. Change 3963731 by Max.Preussner MediaCompositing: Implemented sequence recording support for media track Change 3964195 by Andrew.Rodham Sequencer: Set inverted property correctly for newly created visibility track sections - Also clamp evaluation for key editors to the bounds of the section so we're not displaying values outside of the section bounds when the cursor is not on the bounds #jira UE-56324 #coderevew Max.Chen Change 3964196 by Andrew.Rodham Sequencer: Fixed crash when attempting to render sections that resulted in a negative intersection with the view range Change 3964275 by Andrew.Rodham Sequencer: Fixed MovieScene::ClampToDiscreteRange for infinite range bounds Change 3964364 by Andrew.Rodham Curve Editor: Reduce minimum vertical view range when zooming to fit Change 3965091 by Max.Chen Sequencer Recorder: Refresh next sequence if empty when starting a recording, otherwise, use existing name. #jira UE-56469 Change 3965148 by Max.Chen Sequence Recorder: Move Record to Possessable to "Actor Recording" group Change 3965162 by Max.Chen Sequence Recorder: Always break out of immersive mode when done recording, even when stopping recording during countdown. #jira UE-56407 Change 3965214 by Max.Preussner QAGame: Enabled ImagePlate plug-in Change 3965574 by Max.Preussner SimpleComposure: Reorganized & upgraded content to work with new Media Track #jira UE-56488 Change 3965651 by Max.Preussner MediaCompositing: Ignoring seek-on-open if media not seekable Change 3966075 by Christina.TempelaarL Sequencer: Added Final Cut Pro 7 XML Export functionality #jira UESEQ-358 Change 3966087 by Matt.Hoffman Adding a single key to the Particle Toggle track now makes an infinite range section that is displayed in the UI. #jira UE-56295 Change 3966547 by Andrew.Rodham Sequencer: Fixed rounding errors when drawing the section background on boolean sections - Logic was using time in sectonds which caused rounding errors on evaluation and flickering red/green stripes when dragging keys around #jira UE-56324 Change 3966563 by Andrew.Rodham Curve Editor: Key editor interface improvements - SKeyEditInterface has a few problems - it does not update in real time when editing properties, and does not support multi-edit which makes it unsuitable for use with the curve editor - We now take a different approach for editing keys by gathering a set of proxy UObjects for each key that is currently selected. These objects are added as top level objects to the details panel which means they support multi edit as you'd expect from any other details panel in the editor. - Proxy objects are updated every tick for the curve editor if they implement the ICurveEditorKeyProxy interface, which allows them to refresh their current value. - Ideally, the same mechanisms would be used in the main sequence interface, and we would be generating the proxy classes at runtime based on the key value type, but that work remains a separate task from this initial offering. #jira UE-56165 Change 3966564 by Andrew.Rodham Curve Editor: Expand to frame when adding or moving keys in the curve editor Change 3967051 by andrew.porter MediaFrameworkTest: Set the CameraPlayer_Video texture to auto clear Change 3967141 by Andrew.Rodham Sequencer: Keep track of spawned objects that have been modified and only re-save such object's default spawnable state on destruction - Now that we're taking this approach, I've remove serveral redundant bits of functionality in the spawn register such as making some spawnables read-only, and the PreSave binding for Sequencer. - We now hook into all object pre-saves to make sure we handle the case where the sequences are saved through the content browser or elsewhere. #jira UE-47686 Change 3967170 by Andrew.Rodham Sequencer: Added the ability to possess anim instances as object bindings - This allows full and direct animation of properties on UAnimInstance, and animation blueprints - Object Bindings are made by first possessing a skeletal mesh component, then choosing the + Add button where its anim instance will be listed - Added a new function to UMovieSceneSequence to gather previously cached objects that should now be invalidated. Anim instances will be re-resolved if a new UAnimInstance is assigned to USkeletalMeshComponent::GetAnimInstance. - ObjectBindingIDs for anim instances are just represented by an entry in a set of GUIDs. We only ever resolve such bindings through USkeletalMeshComponent::GetAnimInstance. - Only currently supported on LevelSequences #jira UE-56132 Change 3967195 by Max.Preussner Core: Updated TRangeSet to use TCallTraits Change 3967345 by JohnHenry.Carawon Test Content Changes - first iteration of spacing out the examples in the shots. Change 3967572 by Max.Chen Sequencer: Fix setting PreviousPlayEvalPosition until after we've tested whether it's set. #jira UE-56518 Change 3967750 by Max.Chen Audio: Set duration based on number of input channels, rather than number of channels to serialize. This fixes an issue where audio split into 2 channels is set to a duration that's twice as long. #jira UE-56430 Change 3967836 by Max.Chen Sequencer: Allow for animating array elements within ustruct properties #jira UE-55887 Change 3968506 by Matt.Hoffman Fixed ambiguous conversions for seconds and frames being overriden by ambiguous conversion to Timecode (in frames). Change 3968748 by Max.Chen Sequencer: Make the event properties submenu widget larger. #jira UE-55557 Change 3968862 by Max.Chen Sequencer: Recursive expansion when shift is down #jira UE-52139 #pr 4194 Change 3968863 by Max.Chen Sequencer: Bind rename command to selected track so that F2 shortcut start renaming #jira UE-52139 #pr 4194 Change 3968872 by Max.Chen Sequencer: Rekey the selected key at the current time. #jira UESEQ-396 Change 3968938 by Max.Chen Cine Camera: Add option to toggle the behavior of locking the rail mount to the orientation of the spline. By default, the option is off, no change in behavior. #jira UE-55815 Change 3968958 by Andrew.Rodham Sequencer: Consider vertical position when hittesting keys #jira UE-56256 Change 3969643 by Max.Preussner Core: Rounding timespans created from double values towards nearest ticks Change 3969646 by Max.Preussner MediaUtils: Implemented timeout mechanism for block-on-fetch feature Change 3969776 by Mike.Zyracki Added Skip Anim Notifiers Toggle per what was in Matinee. Investigated the Enable Root Motion toggle as also discussed but it's implementation is directly contained by the animation asset and unlike animation notifies there seems to be no exposure to interactively disable it during a playback tick. Note if we are generating thumbnails we still automtically disable notifies in the editor to avoid annoying noise playback. Note that if Enable Root Motion/Root locked is specified in the animation asset it does correctly effect the Sequencer. #jira UESEQ-399 Change 3969835 by Matt.Hoffman Playback Range and Selection Range use unified logic for adding themselves as potential snap locations which properly handles inclusive/exclusive bounds. This resolves an issue where having an unset selection range caused a potential snap location to be added on frame 0 and 1 (internal resolution) which caused a misalignment when placing objects near frame 0. This also removes the one frame offset on setting Selection Range to bring behavior inline with other ranges. #jira UE-55420 Change 3969885 by Max.Preussner MediaAssets: Don't register media player CDO with media ticker Change 3971129 by Andrew.Rodham Sequencer: Fixed UMovieSceneSequencePlayer::GotToEndAndStop() not taking into account for start time This is a remnant from when the times were always specified in 0-duration space, rather than actual sequence times. Change 3972056 by JohnHenry.Carawon More updates to Test Content. I continued spacing out the examples in the sequence so that they have a consistent number of frames between each example and during the start/end of the example. Also removed the Marcie sublevel. Change 3972066 by Andrew.Porter MediaFrameworkTest: Setting Marcie folder to be never cooked in package settings Change 3972675 by Matt.Hoffman Splitting Subsequence Sections no longer sets an incorrect playback range on the subsequence when the subsequence has a different internal resolution than the owning sequence. #jira UE-55453 Change 3973376 by Max.Preussner ImgMedia: Zero is the only valid video track for image sequences Change 3973489 by Max.Preussner Launch: Build rules cleanup pass - don't use Media, MediaUtils on server apps - don't link against Media (include-only dependency) - don't include from MediaAssets (dynamic load only) Change 3973760 by Max.Preussner MediaUtils: Moved AppMediaTimeSource implementation into its own file; added logging Change 3973765 by Max.Preussner ImgMedia: Disallowing seek beyond media length Change 3973855 by Max.Preussner MediaFrameworkTest: Updated developer test content Change 3973858 by Max.Preussner MediaCompositing: Blocking on media player time instead of media sample time (the former may not be hit in the current frame) Change 3974988 by Max.Chen Sequencer: Fix trim left so that it also sets the start offset for audio and skeletal animation sections. #jira UE-57015 Change 3976101 by Matt.Hoffman Sequencer will now focus the scroll view on newly created items. #jira UE-56492 Change 3976203 by Max.Chen Property Editor: Add DetailsViewArgs for ColumnWidth. Defaults to 0.65f, no change in existing behavior. Change 3976205 by Max.Chen Sequencer: Set better column widths for sequencer. #jira UE-55557 Change 3976206 by Max.Chen Sequencer: Added menu category for import/export Change 3976265 by Matt.Hoffman Tracks within Object Binding Nodes will now sort using the old behavior so that components are added above other track types. #jira UE-56473 Change 3976901 by Max.Chen Sequencer: Add event names to event track section #jira UESEQ-353 Change 3977878 by Max.Preussner Media: Moved media framework ticking stats into Media module Change 3977982 by Max.Chen Sequencer: Add Edit->Reset section length to duration of source (ie. audio, skeletal animation, shot length) Added MovieSceneSection::GetDefaultDuration and MovieScene::HasDefaultDuration #jira UESEQ-392 Change 3977994 by Max.Preussner Media: Fetching and rendering media samples before viewports are rendered (to ensure frame sync for in-level media playback) #jira UE-53975 Change 3978188 by Matt.Hoffman Easing Curves are now clipped by the sequence's PlayRange when testing against an infinite section. This causes blended sequences to finish their blend when the section starts/ends instead of always using 25% of the total section length to determine default blend range. #jira UE-56362 Change 3978676 by Max.Preussner MediaCompositing: Fixed first frame of rendered out media track missing #jira UE-53975 Change 3978684 by Max.Preussner MediaCompositing: Enabled media track frame sync feature #jira UE-53975 Change 3980026 by Matt.Hoffman Keys can be selected on folded out sections (such as an audio track expanded to show volume and pitch) again. #jira UE-57169 Change 3981614 by Max.Preussner MediaUtils: Added missing subtitle sample queue flush Change 3982311 by Max.Preussner MediaCompositing: Added safeguard for zero length media sources Change 3982389 by andrew.porter QAGame: Adding media track test content into FrameAccuracySubscene Change 3983661 by Max.Chen Sequencer: Add level name to spawn a spawnable into. Add sublevel menu option to set the level #jira UESEQ-390 Change 3983712 by Andrew.Rodham Sequencer: Purge legacy blueprint spawnables from LevelSequence packages #tests Ran a preflight for cooking fortnite, ocean and Orion. Only orion shows up this edge case, and will require a re-save of the EndCines level #jira UE-39173 Change 3983787 by Max.Preussner MediaCompositing: Moved compile time switch for block-on-fetch into media player facade Change 3983812 by Andrew.Rodham Sequencer: Exposed default level sequence instance data to blueprints Change 3984373 by Max.Preussner Media: Added API for quering whether player plug-in supports block on fetch Block on fetch allows Sequencer and other systems to block the game thread until a desired video frame has been decoded. Change 3984670 by JohnHenry.Carawon Movie Rendering Test Content progress. Saving the state of the content. There is a bug where things got replaced with particle emitters and I think it was because I tried to copy paste an animation track into a separate skeletal mesh track. Change 3985097 by Max.Chen Sequencer: Rename Reset to AutoSize Change GetAutoSizeDuration to return TOptional<FFrameTime> #jira UESEQ-392 Change 3986043 by Max.Chen Sequencer: Fix crash when attach/path duration is less than 0. #jira UE-57310 Change 3986373 by Max.Chen Sequencer: Add support for deleting tracks and channels which equates to setting the channel mask. #jira UE-52951 Change 3986375 by Max.Chen Sequencer: Add Create Pose Asset to skeletal animation section. This allows animators to blend animations in sequencer and create new pose assets from them. #jira UESEQ-408 Change 3986796 by Andrew.Rodham Sequencer: Fixed stale object references remaining in ULevelSequence::BindingReferences when using convert to spawnable/possessable - We used to convert objects by creating a new binding, then re-assigning its GUID, which meant we didn't have to do any further object fixup, but the code to achieve this was confusing and led to a vulnerability where object references would not be cleaned up correctly due to the newly created possessable essentially being a temporary object that's immediately thrown away. - To address this, there is now a function for porting all the contents of one object binding to another, and handles the correct fixup required for parent/child object bindings for both spawnables and possessables. - Also added codepath to remove any stale object references from the level sequence reference map on PostLoad (this piggy-backs off the PurgeLegacyBlueprints object version which is close close enough to this change to be identical) #tests Verified that existing sequences with stale references get cleaned up on load. Verified that repreatedly converting from spawnable<->possessable cleans up references correctly. Change 3987807 by JohnHenry.Carawon Updates to the MovieRendering Test Content. - Fixed the spawnable actors that were overwritten - Shortend the Lighting example and combined the Intensity and Color tracks - Organized the Sequence and WorldOutliner to group the examples. Change 3988151 by Max.Chen Cine Camera: Enable keying the "Enable Look at Tracking" toggle. Change 3988880 by Max.Chen Sequencer: Support enter to add asset for all sequencer track editors that have asset pickers. #jira UE-57367 Change 3988953 by Max.Chen Sequencer: Make the track color picker focusable so that it will close when you click away or lose focus. #jira UE-57210 Change 3988962 by Max.Chen MovieSceneCapture: Fix EDL export so that it takes into account movie scene frame resolution and desired frame rate. #jira UE-57365 Change 3988964 by Max.Chen Movie Scene Capture: Clarified tooltip for bRelativeFrameNumbers. If you specify custom start/end frames for the recording, they will be relative to the playback range. #jira UE-57308 Change 3989442 by Max.Chen Fix CIS Change 3991548 by Matt.Hoffman Dragging the time slider no longer causes the time slider to ignore snap-to-interval with "Snap to Keys While Scrubbing" when no keys are in range. #jira UE-57417 Change 3991598 by Matt.Hoffman Snap to Key while scrubbing now mirrors the behavior of "jump to next key". When there are no tracks selected it snaps to all keys and when there are tracks selected it snaps to only keys from that track. This also resolves an issue where deleting an object did not remove it from the Sequencer's selection. Undoing a delete already doesn't seem to restore your selection, so removing it from your selection shouldn't change that behavior. #jira UE-57417 Change 3991603 by Max.Chen Sequencer: Disable EditAnywhere for some section properties #jira UE-53530 Change 3992240 by Max.Preussner MediaAssets: Implemented dynamic audio sample rate adjustment based on audio/media clock drift #jira FORT-70638 Change 3992911 by Andrew.Rodham Sequencer: Fixed saving spawnable state using the wrong spawned object - We now track the object binding ID so that we can apply the spawned object to the correct spawnable when the asset is saved #jira UE-57353 Change 3992914 by Max.Chen Movie Scene Capture: Fix compression quality not being set. The compression interface wasn't being found through query interface, so no compression was being set. Reworked finding it through the output pins. Tested running various compression values. #jira-UE-55488 Change 3992919 by Max.Chen Sequencer: Convert to possessable now uses object template instead of copying properties (ie. see LevelSequenceActorSpawner). This fixes MIDs getting lost when converting to spawnable and back to possessable. #jira UE-52400 Change 3993184 by Max.Chen Sequencer: Don't show +Transform/+Path/+Attach track if the actor has the "Mobility" property hidden. Set the Landscape, LandscapeProxy and InstancedFoliage "Mobility" property to be hidden since it is static is not supposed to be dynamically movable. #jira UE-56347 Change 3993238 by Max.Chen Sequencer: Test for hidden mobility in creating keys as well. Refactored to HasHiddenMobility() #jira UE-56347 Change 3993978 by Max.Chen Cine Camera: Enable keying the "Enable Look at Tracking" toggle. #jira UE-57489 Change 3994039 by Max.Chen Landscape: Add Mobility to hidecategories on landscape component #jira UE-56347 Change 3994626 by JohnHenry.Carawon Updated Movie Rendering Test Content. - Fixed the overridden spawnables to their proper object types. Change 3994653 by Christina.TempelaarL Sequencer: Added Final Cut Pro 7 XML Import functionality, improved Export functionality #jira UESEQ-358 Change 3995609 by Max.Chen UMG: Add support for 2d transform mask (translation, rotation, scale, shear) #jira UE-52951 Change 3995778 by JohnHenry.Carawon Movie Rendering Test Content Updates - Adjusted Lights example - Adjusted Camera example - Added Marcie sublevel back in Change 3995942 by JohnHenry.Carawon QAGame: Moving Movie Rendering test content from Developer folder to Sequencer folder Also adjusted level visibility, lights and camera example. Change 3995993 by Christina.TempelaarL Sequencer: FCPXML Export updates - only export sections if in playback range and media exists, warn if media does not exist. Other updates - removed unused methods and variables, fixed message context naming to be more accurate #jira UESEQ-358 Change 3996595 by andrew.porter QAGame: Updating Marcie content in TrackEvaluation level to use Image Plate Change 3996614 by andrew.porter QAGame: Adding color test sequence to the sublevel Change 3996643 by Max.Chen Sequencer: Fix fbx animation export - rotation and scale channels were flipped. #jira UE-57509 #jira UE-57512 #jira UE-57514 Change 3996652 by Max.Preussner Messaging: Fixed delayed messaging using incorrect current time after message router sleep Based on https://github.com/EpicGames/UnrealEngine/pull/4601 Change 3996801 by Max.Chen Sequencer: Fix folder active state for non key area sections. Look at track node sections as well as key areas. #jira UE-57550 Change 3997098 by Matt.Hoffman Cleaned up some remaining ToDo's in STimeRange. Change 3998339 by Max.Preussner Sockets: Added documentation for socket receive functions Change 3998359 by Max.Preussner MediaUtils: Started to implement media recorder helper class Currently only supports BGRA frames in CPU memory. Supporting other formats and buffer types will require conversions on render-thread. I recommend refactoring out the existing conversion code in FMediaTextureResource into a reusable helper class in the MediaUtils module. This should be a good starting point though. Change 3998417 by Matt.Hoffman Keys and Sections can now be moved at the same time inside of Sequencer. Keys can now snap to Sections (and vice versa) instead of just to other Keys. Sections can now be duplicated like keys can. #jira UE-56995 Change 3998427 by JohnHenry.Carawon QAGame: Updating test content for the Movie Rendering feature. - Added an auto activate particle to the beginning of the sequence (it's not part of the sequence at all) - Added an event receiver blueprint to the Events example - Added a particle emitter to both sublevels - Added a camera cut to the end that switches to a separate camera - The camera zoom in, focus and Look At sections are all separate (not overlapping in the sequence) - Added a second actor for the camera Look At - Added a Visibility section for the Actor Hidden In Game track that has possessable and spawnable cube and light Change 3998537 by Max.Chen Sequence Recorder: Restore immersive mode when stopping the sequence even if not in PIE. #jira UE-56407 Change 3999809 by Matt.Hoffman Removed the "Go To" box from Sequencer and instead placed the current time as an always visible control. The previous shortcut (Ctrl + G) now focuses the new widget directly. #jira UESEQ-376 Change 4000543 by Christina.TempelaarL Sequencer: Moving editor-only code from runtime module MovieSceneCapture to editor module MovieSceneTools. Moved EDL and FCP XML exporters as well as Automated Level Scene Capture. #jira UESEQ-358 Change 4000706 by Matt.Hoffman Entering multiple time strings without a number no longer crashes Sequencer. #jira UE-57672 Change 4001051 by andrew.porter MediaFrameworkTest: Fixing up some image sources pointing to the wrong location Change 4001191 by andrew.porter QAGame: Adding some quick EDL/XML test content to dev folder Change 4001243 by Max.Chen Sequencer: Fix import EDL out of range. #jira UE-57665 Change 4001856 by Matt.Hoffman Selecting keys and sections at the same time now also works with animation and audio sections. #jira UE-57716 Change 4002021 by Max.Chen Sequence Recorder: Fix sequence name incrementing. If external recording sets the sequence name, use it. Otherwise, use the recording name from the recording group or the recording settings. #jira UE-57712 Change 4002618 by Max.Chen Viewport: Update the look at location when updating to a locked actor. This fixes an issue so that popping the view out of a locked actor and manipulating the view will not jump to the previous look at location. #jira UE-57725 Change 4002979 by Matt.Hoffman Fixes several edge cases with the end time range that was causing confusion about what the last frame of the sequence was. Dragging the End Frame slider will no longer be off by one tick and jumping to the end via the UI controls now properly respects snapping and stays inside the play range instead of falling outside of it. Overall behavior does not change though and End Frame should be considered an exclusive frame so that frames 0-150 results in a 150 frame long animation (which is frames 0-149). #jira UE-56367 Change 4003185 by Matt.Hoffman Fixed a regression that prevented a section from being dragged upwards past row 0 which normally resulted in all other rows moving down. #jira UE-57717 Change 4003193 by JohnHenry.Carawon QAGame: Updates to test content - Shortened frames between the examples from 95 to 30 - Separated camera setting tracks - Lighting example now switches directly from constant red - green - blue Change 4003369 by Max.Chen Sequence Recorder: Refresh next sequence regardless of internally stored sequence name. #jira UE-55757 Change 4003586 by JohnHenry.Carawon QAGame: Test Content Updates - Level Visibility track now ends to that the levels are not visible when we move to the next example - Shortened camera section, removed Z tranform so that we just move left to right and shortened the overall length Change 4004414 by Max.Chen Movie Scene Capture: Fix regression where rendering with shot handles would only render the first shot. 3972166 addressed an issue where an extra frame would be rendered by finalizing right when the end frame was reached. This was hit on the first shot end frame, so instead, do this only for when the last shot is being rendered. #jira UE-57314 Change 4004765 by Christina.TempelaarL Sequencer: Fixed bugs in FCP XML import/export. - Export: fixed sequence default resolution. - Export: fixed XML files with no shots. - Export: all sections clipped to playback range. - Export: fixed incorrect section start/end times due to precision issues. - Import: fixed incorrectly adding cinematic tracks. - Import: fixed bugs creating new sections. #jira UE-57660 #jira UE-57662 #jira UE-57655 #jira UE-57761 Change 4005119 by Max.Chen Sequencer: Export/import at play rate Change 4005195 by Max.Chen UMG: Finish UMG evaluation on stop. Added object version so that existing UMG assets do not change. #tests - Newly created UMG animation with sections set to restore state now return to their original state. Existing UMG animations with sections set to restore state do not return to their original state. #jira UE-52285 Change 4005377 by Michael.Karambelas QAGame: Moving TM-SequenceRecorder and related content out of my developer folder and into /Content/Sequencer/SequencerRecorder/* Change 4005417 by Michael.Karambelas QAGame: Fixed a BP compiler in the Level Blueprint of TM-SequencerRecorder. Change 4005634 by Michael.Karambelas QAGame: Fix up missing content and broken level sequence in TM-SequenceRecorder after move Change 4006324 by Max.Chen Sequencer: Reset if the focused movie scene is null. This fixes a crash if the user is focused in on a shot and undo takes the user past the point of where the shot was created. #jira UE-57752 #jira UE-47661 Change 4007006 by Max.Chen Sequencer: Fix FindAvailableRowIndex so that it returns the max row index (and not +1) since it doesn't find any conflicting rows. #jira UE-57717 Change 4007907 by Max.Chen Sequencer: Fix crash if there's no animation Change 4007948 by andrew.porter QAGame: added test content to dev folder for Record World Space Change 4008636 by Max.Chen Sequencer: Fix import fbx not setting values properly and creating additional cameras unncessarily. #jira UE-57864 Change 4008759 by Max.Chen Sequencer: Follow up fix for import cameras #jira UE-57864 Change 4009994 by Matt.Hoffman Dragging the left or right handles of the Time Range slider in Sequencer will now zoom your view in on the current center of the screen. This prevents the view from being translating as you tried to zoom in which caused issues at high zoom levels. #jira UESEQ-407 Change 4010169 by Christina.TempelaarL Sequencer: FCP XML fixes. - FCP XML export - no longer clips to playback range - FCP XML and EDL export - fixed missing last frame of some sections after exporting to Premiere. - Automated level capture, EDL export - use RoundToFrame instead of FloorToFrame for computing section start/end frames after frame rate conversion. #jira UE-57802 - partial fix, movie scene capture still needs to render full section rather than clip against playback. Change 4010287 by Mike.Zyracki Add quaternion interpolation option to UMovieScene3DTransformSection. This mimics how Matinee used to work by bascially finding the keys between a time and interpolating the angles as quat's between them. As noted in the code the algorithm needs to handle the case when the x,y,z Rotation keys all aren't at the same time which was not handled by Matinee. Also like Matinee, when in quaternion interoplation mode, we need to not display the function cuves since the interpolated and key values are now all different. (Would like to show them but that's a bigger refactor for perhaps just a one off needed by quaternions). I added a virtual function UMovieSceneSection::ShowCurveForChannel for this since it needs to be dynamic, not on construction of IKeyArea's, and could be useful for other sections. I could though move the method to just UMovieScene3DTransformSection and do a cast instead. Looked into doing a unit test for this but after talking with Andrew P we will work on doign an automated test in EngineQA since that will provide more coverage. Will also add a video the jira. #jira UESEQ-403 Change 4010713 by Mike.Zyracki Added option to key a group of transform channels instead of just the changed channel, or all of them. This is useful for quaternion interpolations where you want rotation keys to be aligned but also useful for other workflows like animating FK Pose to Pose. Change 4010715 by Andrew.Porter MediaFrameworkTest: Setting LogMediaUtils logging from VeryVerbose to Verbose to cut back on the spam Change 4013048 by Max.Chen Sequencer: Fix play/jump status. Update the player status for all position methods (Scrub, Jump, Play). Jump means Stopped. Correctly use PlayTo or JumpTo based on position method. In PlayInternal, JumpTo with the Stopped state (rather than playing state). #jira UE-57844 Change 4013479 by andrew.porter QAGame: Added content in TM-SequenceRecorder to test recording a property on a Cine Camera Component; Press 3 to trigger manual focus distance to increment on a timer Change 4014323 by Max.Chen Sequencer: Fix SetPlaybackPosition so that it jumps or plays based on playback status. #jira UE-57844 Change 4015888 by Max.Chen Sequencer: Fix crash on paste. UMovieSceneSections were gathered from the track node's track. For sub track mode, we want to gather only those sections on that track node row. #jira UE-57951 Change 4015943 by Max.Chen Sequencer: Fix moving shots up when the mouse pos goes outside of the virtual track area. #jira UE-57717 Change 4016293 by Max.Chen Sequencer: Fix relative frame playback end frame calculation so that custom start/end frames remain in the space of the sequence and are not relative. #jira UE-57308 Change 4017075 by Andrew.Rodham Sequencer: Corrected initial evaluation range used when calling UMovieSceneSequencPlayer::Play() Change 4017270 by Christina.TempelaarL Sequencer: FCPXML importer and movie scene capture - Use CeilToFrame when converting section start/end frame times to frame numbers in FCPXML and movie scene capture. - Added support for clip metadata in FCPXML. - Got rid of redundant TokenizedError message class, no longer needed now that FCPXML is in editor directory. - Added log messages currently commented out due to exception, still testing. #UESEQ-358 Change 4018370 by Christina.TempelaarL Sequencer: fixed FCPXML log messages regarding sections with start/end not divisible by display rate. #UESEQ-358 Change 4018378 by Christina.TempelaarL Sequencer: fixed error in previous changelist. #UESEQ-358 Change 4019457 by Max.Chen Sequencer: Show event names only when the event track is selected #jira UE-57897 Change 4022806 by Max.Chen Sequencer: Fix crash on movie scene capture dialog shutdown if movie capture wasn't even started. #jira UE-58106 Change 4022894 by Max.Chen Sequence Recorder: Wrap OpenEditorForAssets after sequence recording within GIsEditor #jira UE-58084 Change 4024487 by Max.Chen Sequencer: Add tooltip for quat interpolation #jira UE-58113 Change 4024562 by Max.Chen Sequencer: Change path/attach track sequence binding id to currently focused sequence id so that bindings can be created in subsequences Change 4027414 by JohnHenry.Carawon QAGame: Checking in content that shows a bug with using particles systems and Delay Before Shot Warm Up. Change 4028990 by Max.Chen Sequencer: Fix evaluate sub sequences in isolation. This check was added with the compile on the fly logic. Not sure why it was necessary but it seems like the sub sequence data needs to be updated in order to evaluate sub sequences in isolation. #jira UE-58184 Change 4029004 by Max.Chen Sequencer: Ensure that old binding references are removed when re-assigning actors in sequencer #jira UE-57898 Change 4030997 by JohnHenry.Carawon QAGame: Fixing name of the master sequence Change 4031785 by Michael.Karambelas QAGame: Added an instance of ThirdPerson Run to TM-SequenceRecorder for Record to Possessable test. Change 4035548 by Andrew.Rodham Sequencer: Changed FMovieSceneEvaluationTemplate::TemplateSignature to be a serial number to address non-deterministic cooking issues - This commit is related to the repro steps found in 3914599 and 3934307, both of which have been verified with this new change. - Copy of 4031684 from //Fortnite/Main/... #jira FORT-84852 Change 4036312 by Max.Chen Sequencer: Fix zoom view range so that it uses the passed in InZoomDelta Change 4036318 by Max.Chen Sequencer: Auto size now returns a range and defaults to the channel proxy range so that keyed regions can also be autosized. Change 4036322 by Max.Chen Forgot missing change Change 4036360 by Max.Chen Sequencer: Fix play rate calculation when skeletal animation section play rate changes. Change 4037163 by Mike.Zyracki Weighted Tangent Implementation Tricky thing is that you need to solve a cubic in order to get the bezier weights for the time part of the curve. See https://www.gamedev.net/forums/topic/474094-help-function-curves-for-animation-interpolation/ Maya provides an implementation in it's dev kit but I didn't use it since it was horribly slow and uses an iterative solution to solve the cubic needed. Instead I use an old algorithm (Cardano's method), to solve the cubic which should be much faster. Though relative simple to code from principles I just went ahead and used a version from Graphics Gems 1. I put this cubic solver directly in MovieSceneFloatChannel.cpp, but will need to move it when we support Rich Curve, maybe to FMath:: (which would probalby require some other functions for solving quartics, etc.. for completeness.). Also note we resolve this on every evaluation but dont' need to if the interval the time is evaluating hasn't had any change in values or tangents. So again when we support FRichCurve we can create a Weighted Evaluating class that can hold the cache. Also with the tangent drags I got rid of the Cardinal position that was used to calculate non-weight tangents from the key point and just quickly getting a direction. With weighted tangents we need to use the delta instead (otherwise when moving multiple they would all get the same weight based upon distance to the cardinal point. ) For mixed tangents types what I'm defaulting to non weighted if the interval doesn't match. May need to do weighted instead, not sure. What's left is just FBX import, for tomorrow. #jira UESEQ-76 Change 4037435 by Mike.Zyracki Fix fo build warnings from weighted tangent submission. #trivial Change 4038091 by Michael.Karambelas QAGame: Updated a Sequence Recorder group in TM-SequenceRecorder that had an actor missing the animation. Change 4038374 by Andrew.Rodham Sequencer: Refined scrubber styling for level sequences and actor sequences - Scrubber now shows a block the width of a dsplay rate frame, plus a line for the actual evaluated time. UMG reverts back to the previous styling (no block) - Keys that are outside of the playback range are now drawn with a subdued effect - Tick labels are no longer drawn when directly underneath the scrubber Change 4038490 by Max.Chen Sequencer: Expose tangent weight values in details panel. Change 4038620 by Andrew.Rodham Sequencer: Advanced time panel polish #jira UESEQ-426 Change 4038677 by Max.Chen Movie Scene Capture: Redirector for MovieSceneTools.AutomatedLevelSequenceCapture #jira UE-58248 Change 4039739 by Max.Chen Sequencer: Media track should only be supported by Level Sequence Change 4040024 by JohnHenry.Carawon QAGame: Fix EventReciever and OverrideBinding example The level sequence was set to none so the fix was to set it back to TrackEvaluation_Master. Change 4040610 by Andrew.Rodham Curve Editor: Moved weighted tangent switchers to a single toggle command (CTRL+W) and added an icon #jira 58383 Change 4040882 by Mike.Zyracki Keep broken when turning on weighted #jira UE-58435 Change 4041089 by andrew.porter QAGame: Sequence for Long Tangents bug Change 4041498 by Mike.Zyracki Turn off weighted when going auto to prevent large tangents. Do it both in UI and when doing AutoSetTangents() to really make sure it doesn't happen. #jira UE-58452 Change 4041752 by andrew.porter MediaFrameworkTest: Adding some better logging for setting rates when not supported. Also ignoring commiting URL when there is no text Change 4041896 by Matt.Hoffman The transform dialog box now transforms selected keys and sections, instead of just keys. #jira UE-58265 [CL 4044405 by Max Chen in Main branch]
2018-05-02 10:10:00 -04:00
FSequencerTimeSliderController::FScrubberMetrics FSequencerTimeSliderController::GetScrubPixelMetrics(const FQualifiedFrameTime& ScrubTime, const FScrubRangeToScreen& RangeToScreen, float DilationPixels) const
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3946692) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3801826 by Max.Chen PR #4304: Level Sequence crash fix - Guarded against dereferencing null componen. (Contributed by DSDambuster) Change 3801828 by Max.Chen PR #4302: Movie Scene Visibility Template unitialised variable, causing random . (Contributed by DSDambuster) Change 3801837 by Max.Chen Sequencer: Delay spawning/construction for convert to possessable. This fixes a bug where property values would be lost when converting back and forth from possessable to spawnable. #jira UE-52400 Change 3801841 by Max.Chen Sequencer: Make spacer nodes not selectable. PR #4194: Improvements to Sequencer (Contributed by projectgheist) #jira UE-53117 #jira UE-52139 Change 3804183 by Max.Preussner MediaAssets: Added missing lock in media sound component Change 3805414 by Max.Preussner MediaAssets: Setting valid GUID when initializing media texture resource Change 3819578 by Max.Chen PR #4370: When enabling the "MovieCapture", do not turn off the Stereo-3D display. (Contributed by yehaike) #jira UE-53647 Change 3823414 by Max.Chen Curve Editor: Lock down the first and last keys in the redundant keys removal range so that they're unaffected. #jira UE-53591 Change 3826406 by Max.Chen Sequencer: Move OnStartedPlaying() to within first update in UpdateTimeCursorPosition(). This fixes an issue where setting the hud/player visibility was getting stomped on later. #jira UE-52772 Change 3827044 by Max.Preussner MediaAssets: Added sprite visualization to media sound component #jira UE-53594 Change 3827988 by Max.Preussner MediaPlayerAssets: Fixed Media Texture is not linked to Media Player when created together #jira UE-53532 Change 3828506 by Max.Preussner MediaPlayerEditor: Added attenuation visualizer for media sound components #jira UE-53594 Change 3832590 by andrew.porter EngineTest: Added a keep state check in Property Animation sequencer test Change 3833053 by andrew.porter EngineTest: Adding Hierarchical Bias test Change 3835683 by andrew.porter EngineTest: Adding UMG Animation screenshot test Change 3836076 by Max.Chen Sequencer: Fix audio volume and pitch multiplier deprecation. Change 3836230 by andrew.porter EngineTest: Adding Sequence Bone Position automation test Change 3836347 by Max.Chen Sequencer: Fixes to shot name parsing. When a shot doesn't contain a shot number, assume, [ShotName]_[TakeNumber]. When duplicating a shot, put the new shot in the same path of the original shot, so that the take numbers will increment properly. #jira UE-51868 Change 3836552 by Max.Chen Sequencer: Sub section now has a takes menu Change 3838094 by Max.Chen UMG: Fix template finish not getting called on stop. This fixes a bug where sections aren't restored when finished. #jira UE-52285 Change 3838708 by Max.Chen Sequencer: Add notification when the blend type is changed. #jira UE-54046 Change 3840295 by Max.Chen Sequencer: Fix copy/paste crash for lights #jira UE-54084 Change 3840957 by Mike.Zyracki Added Show Only Keyable and Show Only Animated to the filter list in the property editor. Added IsPropertyAnimated to IDetailKeyframe Interface which already had support for showing properties which are keyable (which is used for the key icon next to the properties.). Could have created another interface but then would have had to mimic the sequencer binding, releasing also, so this seemed best way. One issue still left is that custom built detail items currently don't store associated properties(usually) and so certain properties, in particulalry transforms, won't show up as keyable or animated. Note this also shows up with the keyable icon not showing up next to transform tracks, and other filters like Show Only Modified not working with transforms/customs. Not sure best way to tackle this. #jira UESEQ-328 Change 3841756 by Max.Chen Sequencer: Fix unbound possessable components when pasting spawnables. #jira UE-54104 Change 3843950 by andrew.porter EngineTest: Renaming LevelStreaming tests/content to LevelVisibility Change 3844082 by Mike.Zyracki Missing file for animated filter in property editor. When finding if a track is animated we need to find it but we can't easily induce the MovieTrack class for any particular property. So we don't set a class for it and just search by it's ID and name. #jira UESEQ-328 Change 3846902 by Max.Preussner ImgMedia: Fixed image media player never finished initialization if loading failed #jira UE-54247 Change 3849820 by Mike.Zyracki Reassigning deleted widgets didn't work since the menu extender mechanism needs a valid UObject in order to perform an operation on it. So to fix we replaced GetObjectBindingContextMenuExtender in WidgetBlueprint with new delegate mechanism (OnBuildCustomContextMenuForGuid) that supports FGuid in addition to UObjects which is needed to handle re-binding deleted widgets. Note that the default sequencer hacks this for replacing deleted actors in SequencerObjectBindingNode to check to see if a LevelSequence is active. We could move to this mechanism there also. #jira UE-53163 Change 3852211 by Max.Chen UMG: Indicate name of the property that is not bound. #jira UE-54350 Change 3854120 by Max.Chen Sequencer: Fix sibling folders being allowed to have the same folder name. #jira UE-54363 Change 3854627 by Max.Chen Sequencer: Step to next/previous key should work for all tracks if there aren't any selected. #jira UESEQ-391 Change 3855825 by andrew.porter EngineTest: Adding animation blending automation test Change 3855950 by andrew.porter EngineTest: Adding correct expected valuues to animation blending test Change 3856237 by Matt.Hoffman UESEQ-336 - Sequencer Track Reordering Adds the ability to re-order Master Tracks, Folders and Object Bindings within sequencer hierarchies (including UMG). Adds the ability to do a one-off sorting of the content under the old sorting behavior if the user wants to reset their layout to how it was under legacy behavior. Modifies SequencerTrackNodes, SequencerFolderNodes and SequencerObjectBindingNodes to handle CanDrop/OnDrop for above, below and ontop of. Fixes a Slate Issue that forcibly expanded a TreeviewRow if an item handled OnDrop. Slate will now only forcibly expand the row if the item says the drop happened ontop of the item, and not above or below it like it previously did. Change 3856503 by andrew.porter EngineTest: Adding automation test for using animation blueprint with blend multi node in sequencer Change 3857875 by Max.Chen Sequencer: Assign the sequence id after the template is compiled. #jira UE-54462 Change 3858344 by Max.Chen Sequencer: Prevent Goto and Transform boxes from overlapping by allowing them to be visible at the same time in an autosized horizontal box. Also, added close button to the goto box. PR #4425: Prevent Goto and Transform boxes from overlapping in Sequencer ... (Contributed by projectgheist) #jira UE-54210 Change 3860566 by andrew.porter MediaFrameworkTest: Set the option to index 0 for the audio and video track list by default Change 3860654 by andrew.porter EngineTest: Enabling Camera Cut + FOV test Change 3860981 by andrew.porter EngineTest: Updating skeletal mesh tests with a delay after set playback position Change 3861256 by Max.Chen Sequencer: Add all bindings if none selected. #jira-54440 Change 3862154 by Andrew.Rodham Added TimeManagement module Change 3862424 by andrew.porter EngineTest: Turned on the test Bone Positions with Blend Multi Node Change 3862573 by andrew.porter EngineTest: Adding test to compare bone positions in a sequence that is blending an animation that is using an AnimBP Change 3865117 by Max.Chen Sequencer: Stop auto scroll on mouse release of movement. #jira UE-31212 Change 3865303 by Max.Chen Sequencer: Add drag and drop transactions #jira UE-54662 Change 3865304 by Max.Chen Sequencer: Fix crash when an actor factory is not found. Change 3865361 by Max.Chen Sequencer: Don't change the camera/shot lock button when popping out of a sequence. #jira UE-54665 Change 3865412 by Max.Chen Sequencer: Determine whether a transform track is for a camera by using the spawned object or template #jira UE-54666 Change 3865685 by Max.Chen Sequencer: Clear autoscrub offset when stopping autoscroll #jira UE-31212 Change 3865886 by Max.Chen Sequence Recorder: Log an error if the number of frames changes while recording. This can happen if the skeleton changes while recording. #jira UE-48715 Change 3866925 by Andrew.Porter MediaFrameworkTest: Changing the current PNG test video image sequence to 1024 x 576 Change 3867705 by andrew.porter QAGame: Adding Audio Sort Sequence to dev folder Change 3867890 by andrew.porter QAGame: Adding a sequence for testing a sorting crash to my dev folder Change 3872628 by Max.Chen Movie Scene Capture: Split delay before warmup into split delay before shot warmup so that there's separate controls for when the movie scene capture warmups up vs. shot boundaries. Change 3873131 by Matt.Hoffman UE-54732 - Crash reordering a folder with a track. This was caused by folders being the only type of track to check if someone was putting a parent track into a child track. Object Binding tracks and Tracks now check as well so that you can't use the above/below drop targets to add parents as children. This also fixed a typo in the localization keys. #jira UE-54732 Change 3873301 by Mike.Zyracki Added ability to support continous euler angle changes when changing rotations, in particularly with the rotation gizmo's. To do this we effectively added a form an of 'euler filter'(https://en.wikipedia.org/wiki/Euler_filter) to find the closest euler angle to the current euler angle. Three functions were added to FRotator to make this possible, one to get the euler angle that's has the same rotation as it, one to get the difference between two euler angles via Manhattan distance and a third using the previous two to choose a Rotator value that's closest to it. We then use these functions before calling UComponent::SetRelativeRotation to make sure we use the correct Euler after the Quat conversion. We also no longer limit(bound) the euler angles to -180,180, which is obviously necessary to avoid flips. I also changed how we caluclate yaw and roll when pitch is -90 or 90 to make it the standard approach of zeroing out roll and just setting yaw. Main reasons are the previous implementation had precision issues so things like 180, 90, -180 would show up due to numbers being nearly zero but negative,(this would break any smooth interpolations), and this facilitates having a 'gimbal' rotation mode (like Maya, Blender etc..) if we ever want that also. If needed we could keep the previous implementation but would need to add some FMath::IsNearlyZero checks, with less performance. Note we only do this special filtering when applying delta's to actors or components in the editors, which then call UComponent::SetRelativeRotationExact, which is a new function to foces the RelativeRotation to be equal to the new rotation. This allows us to store un-nomalized Rotators at the cost that the RotationCache may be broken. We didn't change any of the other UComponent functions that set rotations (via Quats or Transforms) so they will still be bounded and unwound. In SetInternalWorldLocationAndRotation we only set the rotation if the rotation has changed, which fixes the rotation getting changed and re-normalized if just translate happens. In TransformTrackEditor, we correclty use the bUndwing flag and in MovieScene3DTransformSection there was an un-needed winding check there, it will be unwound earlier if needed, which happens if Sequence Recording is happening. Max we should talk about what to do about this . Note the euler angle drag via the widget is still bound to 0-360. I think we should just unbound that now since the rotations value are now unbound. This review now includes fixes suggested by Zak. #jira UE-UE-22228 Change 3873483 by Matt.Hoffman Sequencer Tracks can now be inserted above the spacer at the bottom of the tree. #jira UE-54706 Change 3873899 by Max.Chen Sequencer: Add section selection throbbing Change 3873908 by Max.Chen Movie Scene Capture: Added logging per frame Change 3873924 by Matt.Hoffman Adds the ability to store Sequence Recorder setups into profiles that stay with the map and can be re-loaded later. Profiles store the Actor Recordings so the settings for each actor should carry with them. #jira UESEQ-339 Change 3874726 by Matt.Hoffman Disable drag-and-drop targets on spacers that come between rows in Sequencer. This prevents extra drag/drop targets showing up between each row. #jira UE-54706 Change 3874862 by Matt.Hoffman Audio Track no longer gets reordered when adding sub-audio tracks, as sub-tracks are no longer counted towards the sorting order index when normalizing indexes. #jira UE-54727 Change 3875905 by Matt.Hoffman Disable Fade Track UI if a fade track already exists in the sequence. #jira UESEQ-393 Change 3876163 by Max.Chen Sequencer: Swap the camera object to the camera component's owner if it's not the same. #jira UE-54874 Change 3876971 by Andrew.Porter EngineTest: Moved Media Player Seek test to new folder. Also enabled the test with new ground truth image. Change 3877040 by Max.Chen Cine Camera: Split camera properties to two groups, "Camera Options" and "Camera Settings". The cine camera now hides properties in the "Camera Settings" group so that properties like bConstrainAspectRatio (in the "Camera Options" group) can be visible. #jira UE-54192 Change 3877763 by Max.Chen Curve Editor: Fix curve changed on end drag so that only curves that had keys/tangents that were changed receive notification, otherwise all loaded curves were getting notified that they were changed. #jira UE-54951 Change 3878234 by Matt.Hoffman Disable "Drop Below" targets for Sequencer Tree nodes to prevent a confusing UX issue where dropping underneath a Object Binding Node puts it after the object binding node but the UI looks like it's inserting it inside the Object Binding node. #jira UE-54743 Change 3879359 by Mike.Zyracki If a track is inactive we dim it a bit which seems to be the UE4 way to show inactive or disabled state. We changed the active logic so that all subtracks need to be inactive for the track to also be inactive(instead of all active for active). This conforms to how the active state actually works, e.g if you have two sections and only one is active the track is still active above it. #jira UESEQ-388 Change 3879462 by Max.Chen Sequencer: Allow dragging onto a particular row which would move out any overlapping sections to make space for the newly created section. Newly created sections are now selected and throbbed to draw attention to themselves. #jira UE-54664 Change 3879464 by Max.Chen Sequencer: Fixed overlapping ranges being inserted into the evaluation field during compilation - The issue was that track segments that had been combined with adjacent segments (due to them being identical) would potentially cause a subsequently compiled frame to overlap with a range that had already been inserted into the evaluation field. - The insertion code previously asserted that only minor overlaps were catered for (due to fp rounding errors) and assumed that a supplied range could not entirely contain any other range in the field. - The solution is to supply the insertion time along with the range to know exactly where the data should live in the field, and crop the range to the maximum allowable space between adjacent ranges. #jira UE-54922 Change 3879590 by Matt.Hoffman Items that are now added to the Sequencer via the "+Track" menu will be selected after being added. Items can now be added inside of folders instead of just to the root level. #jira UE-27397 Change 3879612 by Mike.Zyracki Display Nodes with no children are always active. #jira UESEQ-388 Change 3879730 by Matt.Hoffman Sequence Recorder's actor recording groups now remove items from the group when removed via the UI. #jira UESEQ-339 Change 3880256 by Mike.Zyracki Fix issue with inactive display with folders and other track nodes. #jira UESEQ-388 Change 3883491 by Max.Chen Fix issue where tick is skipped due to last ticked pose isn't cleared after AnimInstance changes. Copy from Release-4.19 #jira UE-51323 Change 3883603 by Max.Chen Movie Scene Capture: Add option toggle disable screen percentage. By default this is on (no change in current behavior). #jira UE-51898 Change 3885074 by Max.Preussner MediaCompositing: Resetting media texture & freeing resource on section end; removed dead code Change 3887220 by Max.Preussner MediaCompositing: Defaulted media section duration to 1 sec (since we do not know the actual duration in most cases) Change 3887478 by Matt.Hoffman Sequences now show [Inactive] in their title bars when they're disabled. This helps communicate why a sequence isn't being evaluated. #jira UE-51469 Change 3888985 by Max.Chen Movie Scene Capture: Clamp HDR Compression Quality between 0 and 1. #jira UE-55136 Change 3893519 by Max.Chen Sequence Recorder: Clarified tooltip for bRecordNearbySpawnedActors - spawned actors will still be recorded if they match the ActorFilter. #jira UE-55238 Change 3893546 by Max.Chen Sequence Recorder: If a selected actor already has a recording, add a blank recording. #jira UE-55239 Change 3894044 by Max.Preussner MediaCompositing: Added support for seeking into a media section Change 3894310 by andrew.porter MediaFrameworkTest: Adding Img media sources for 1080 and 2160 ravent test content Change 3894426 by Max.Preussner MediaAssets: Letting media textures with AutoClear retain their clear color when player is reset Change 3895717 by Max.Chen Sequencer: Null checks to prevent crash when saving the default state of a spawnable #jira UE-55304 Change 3897388 by Max.Chen Sequencer: Don't update current time to be within the view range when stepping into a sequence. #jira UE-55322 Change 3897452 by Max.Chen Audio: Fix crash when trying to record audio without any active capture devices. Log warning if the number of input channels is not 1 or 2. #jira UE-55223 Change 3897619 by Max.Preussner MediaCompositing: Removed commented out code Change 3898072 by Max.Chen Sequencer: Override the animation asset in the player state if it doesn't match the animation asset that's being evaluated. #jira UE-55328 Change 3898272 by Max.Preussner MediaPlayerEditor: Made slate brush constants static Change 3898704 by Max.Chen Sequencer: Skip if the binding id's sequence can't be found. #jira UE-55337 Change 3899855 by Max.Preussner MediaCompositingEditor: Added cache state visualization to media track Change 3900300 by Max.Preussner MediaCompositingEditor: Added loop indicators to media sections Change 3900694 by Max.Preussner ImfMedia: Looping cache only when player is looping Change 3900892 by Max.Preussner Stats: Added stats category for media framework Change 3900954 by Max.Preussner MediaCompositing: Don't evaluate at the end of media section Change 3901348 by Max.Preussner Core: Replaced TLruCache autos for better readability Change 3901655 by Max.Preussner ImgMedia: Added more perf stats to EXR reader Change 3901972 by Max.Preussner MediaAssets: Added getter for media player in media sound components Change 3902233 by Max.Preussner MediaAssets: Enabling media textures to receive samples right after player is assigned Change 3902238 by Max.Preussner MediaCompositing: Working around init/shutdown idiosyncracies in sequencer Change 3904045 by Max.Chen Sequencer: Fix copy/paste crash. Only process UMovieSceneCopyableBinding and objects that can be spawned by the movie scene spawn register. #jira UE-55314 Change 3905605 by Max.Chen Sequencer: Restrict spawnables from being created if they have a ClassWithin that UMovieScene is not a child of. #jira UE-55429 Change 3906550 by Max.Chen Sequencer: Add media track icon #jira UE-55480 Change 3907101 by Max.Chen Sequence Recorder: Fix bugs related to not recording a level sequence. There were certain assumptions that creating a level sequence meant that sequence recording was in progress. This is not always the case - the recorders can record animation assets and not create a level sequence. Changed the notion of IsRecording() to having at least one actor recording that is recording. Countdown timer, recording displays, etc should function if IsRecording() and not based on whether a level sequence is created. #jira UE-55485 Change 3907247 by Max.Chen Sequence Recorder: Fix crash not removing PrepareToCleanseEditorObject delegate. Repros when opening sequence recorder, closing it, and then opening or creating a level. Change 3910343 by Max.Preussner Core: Added async helper for executing functions on a given thread pool Change 3910346 by Max.Preussner ImgMedia: Added separate thread pools for loading/decoding and deleting image frames Change 3910829 by Max.Preussner Profiler: Increased visible range of profiler graph Change 3910841 by Max.Preussner MediaCompositing: Displaying asset name instead of full media source path in media section Change 3910870 by Max.Preussner ImgMedia: Using deallocation thread pool only in debug builds Change 3919642 by Max.Chen Sequence Recorder: Clarify active tooltip #jira UE-55661 Change 3919660 by Max.Chen Sequencer: Sequence template source signatures are now also compared to catch the case where a sub-sequence asset has been saved but not modified - The following sequence of events exposes this issue: - Create a master sequence with a single shot that spawns a cube - Add this sequence to a level and set it to auto-play - Save everything and restart - Resave just the inner shot asset without opening it - PIE - The inner shot never spawns its cube because its template was wiped on save, but its signature never changed. Since the master sequence previously didn't check the template source signature, it ends up trying to evaluate an empty template. #jira UE-55626 #jira UE-55490 Change 3921825 by Max.Chen Sequencer: "Run Construction Script in Sequencer" is off by default for blueprints but on for Sequencer. This allows the content author to switch it on for specific blueprints and sequencer will be default, run those with construction scripts enabled. Change 3922232 by Max.Chen Sequence Recorder: Reset countdelay on stop. #jira UE-55755 Change 3922306 by Max.Chen Sequence Recorder: Don't automatically mark transforms to be recorded by sequence recorder. Instead, log a warning if the user toggled it off to warn that the resulting animation might not match gameplay. #jira UE-55758 Change 3922912 by Max.Chen Sequence Recorder: Fix refresh next sequence name #jira UE-55757 Change 3927654 by Max.Chen Movie Scene Capture: Added format mapping for the name of the current camera #jira UE-55769 PR #4537 Change 3927658 by Max.Chen Sequencer: Added fbx property mapping for "FocusDistance" to "FocusSettings.ManualFocusDistance" #jira UE-55782 Change 3932022 by Max.Chen Sequencer: Add import animation track section to next available row index. #jira UE-55892 Change 3933919 by Max.Chen Sequencer: Jump to playback start frame and not 0 to start playback for recording. #jira UE-55933 Change 3934307 by Andrew.Rodham Sequencer: Add template signature that is re-generated every time the base template is regenerated, which invalidates evaluation fields This fixes an issue where the same sequence is instantiated multiple times in a sequence. If the source sequence was saved, its template would be wiped, which would invalidate the template ID When an instance tries to evaluate the master template, it would only invalidate a range in the evaluation field that was the hull of any invalid sub sequences overlapping the current time, potentially leaving invalid data in the evaluation field at positions later (or earlier) on in the sequence When the sub template was re-generated, it receives the same SequenceSignature as it had before (because the sequence hasn't actually changed), which causes the stale evaluation field data to fail the IsDirty check (because the sequence is the same as it thought, but the *template* has changed) This has been addressed be adding a signature to templates themselves, and checking both the template signature and sequence signature as a part of the IsDirty check. This ensures that we regenerate if either the template, or the sequence have changed. #jira UE-55934 Change 3936327 by Andrew.Rodham Sequencer: Removed increment when trimming right UMovieSceneSection::TrimSection already explicity assigns an exclusive bound to the time passed in. The new behavior means we can trim a section to the right, and insert another section without changing the time to create adjacent sections. #jira UE-42652 Change 3936328 by Andrew.Rodham Fixed KeyFrameManipulator assignment operators and copy/move constructors - These types are potentially self-referential so cannot use default constructors/assignment Change 3936330 by Andrew.Rodham Converted UMGSequencePlayer to use frames internally #jira UE-54878 Change 3936726 by Max.Chen Sequencer: Set track node as the parent of the key area node. The key area switcher needs the object binding id from the parent object binding node. Without this, the binding to the external value fails. #jira UE-55931 Change 3936775 by Max.Chen Sequencer: Should stop or loop should compare DurationFrames with Current Time from StartTime. The bug is that if you set 30 warmup frames in movie rendering for a range of 0-100, the FrameRange will be starting at -30 and have a duration of 130. Without this fix, the playback will continue until frame 130, rather than 100. #jira UE-55933 Change 3936935 by Matt.Hoffman Easing Curves are now represented in Play Rate resolution instead of internal resolution. #jira UE-55937 Change 3937069 by Matt.Hoffman Users can toggle if the is infinite on each side, limited by which tracks support infinite ranges. #jira UE-55891 Change 3937516 by Max.Preussner ImgMedia: Added support for single-threaded platforms #jira UE-55986 Change 3937826 by Max.Preussner MediaAssets: Disabling media sound components on HTML5 if AudioMixer is not enabled Change 3937997 by Max.Chen Curve Editor: Add Zoom to Fit Curves so that selected curves from Sequencer can be focused on. Tested that undo doesn't re-zoom. #jira UE-55935 Change 3938000 by Max.Chen Sequencer: Stop all sounds before generating audio waveforms. #jira UE-55951 Change 3938376 by Max.Preussner XGEController: Disabled XGE Controller in single-threaded apps to prevent crash Change 3938444 by Max.Preussner Core: Added async support for single-threaded applications Change 3938445 by Max.Preussner Networking: Added support for single-threaded applications in UDP socket sender/receiver Change 3938447 by Max.Preussner Messaging: Added support for single-threaded applications Change 3939432 by Max.Chen Sequence Recorder: Append command list to global level editor actions so that shortcuts are accessible in level editor. #jira UE-55798 Change 3940229 by Andrew.Rodham Added prospective display rate upgrade to UMovieScene::PostLoad - There was previously some very odd behaviour that would assign the fixed frame interval only when a sub sequence was focused in SSequencer. This meant that many sequences could have a frame interval of 0 set in the data. - Under the old method of snap interval display this would have fallen back to getting the display interval from the sequencer settings, but we no longer look at these. - The USequencerSettings properties have been removed and in their place, a prospective data upgrade for sequences that have a fixed frame interval old 0fps that sets the play rate to the previous defaults based off the old USequencerSettings defaults. - This could end up 'changing' the display rate for sequences where the user has changed the snap interval in the settings for a particular sequence editor, but there's not much we can do about that given we don't have access to the USequencerSettings classes in UMovieScene #jira UE-55919 Change 3940277 by Andrew.Rodham Sequencer: Added ability to default frame resolutions and play rates for newly created actor sequences Change 3940378 by Andrew.Rodham Sequencer: Post move import dialog now defaults to the playback framerate of the sequence, and floors to frame numbers Change 3940559 by Andrew.Rodham Reinstated primed or recording sequence color Change 3940642 by Max.Preussner ImagePlate: Removed image plate media playback functionality Change 3940843 by Max.Preussner Core: Made TCircularQueue actually thread-safe; improved code comments Change 3940860 by Max.Chen Sequencer: Changed StructNameToKey to StructPathToKey Previously, keying a PropertyPath of [RenderTransform][Shear][X] would get trimmed to X, which doesn't map to a channel name as considered by Sequencer2dTransformTrackEditor. Instead, trim the resulting property path to [Shear][X] so that track editors can determine the desired struct path and channels to key. #jira UE-52966 Change 3941292 by Mike.Zyracki Fix for trajectories out of range not showing up. 1) If we had no key data we would pop the time, so wouldn't get the section ranges. 2) Calculating of upper bound was wrong, checking against -1 and not key == num of keys when doing algo::lower_bound. 3) No need to do the Bck-- for the bakward iterators since we fixed #2. We start now from the upper bound correctly. 4) If we had no keys (at section start,end) we would incorrectly say we were any key type, so since we draw constant keys as dashed we would do so incorrectly around section end points. #jira UE-55929 Change 3941424 by Max.Chen Curve Editor: Change Zoom to Fit to use TArrayView Change 3941498 by Max.Preussner Core: Added FMath::DivideAndRoundNearest function Change 3942097 by Matt.Hoffman Drop Frame Timecode Support for NTSC rates. Change 3942104 by Matt.Hoffman Sequence Recorder Group is no longer visible inside the World Outliner after using one. #jira 55266 Change 3942107 by Max.Chen Sequencer: Resurrect logic to find or extend an existing section when adding keys. Change 3942330 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942339 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942507 by Andrew.Rodham Sequencer: We no longer pad the time overlap threshold with a small number that is not scaled by the current zoom level - The presence of this pad was causing keys that were far apart to be grouped when zoomed in a long way Change 3942509 by Andrew.Rodham Sequencer: Only pad total view range, rather than section range as well when retrieving keys to render - This stops us from rendering keys that are within the view range, but outside the section range Change 3942512 by Andrew.Rodham Added transactions to some sequencer details customizations Change 3942513 by Andrew.Rodham Sequencer: Reinstated validation checks to UMovieSceneSection::SetStartFrame and SetEndFrame, changed erroneous uses to use SetRange Change 3942560 by Andrew.Rodham Pass by rvalue reference to appease error C2719 on Win32 ('InChannels': formal parameter with requested alignment of 8 won't be aligned) Change 3942697 by Andrew.Rodham Newly Created Level Sequences and Actor Sequences now default to 24000 fps frame resolution (+/- ~24hrs range, supporting all integer rates + 23.976) Change 3942700 by Andrew.Rodham Sequencer: Added legacy out-of-bounds errors for times that are not supported by the current legacy upgrade frame resolution Change 3942989 by Max.Preussner Core: Fixed circular queue count calculation Change 3943538 by Max.Preussner MediaAssets: Reverted workaround for procedural audio log spam in HTML5 (Actor component initialization cannot be skipped if the component is used in a level) Change 3944071 by Max.Preussner QAGame: Fixed Media Texture keeps last frame of Media when PIE ends #jira UE-53360 Change 3944292 by Max.Chen Sequencer: Added extra flags to ensure that asset initialization does not occur on template actor sequences #jira UE-56113 Change 3944364 by Max.Chen Sequencer: Prevent circular shot/master tracks. Tested adding master -> child -> master as drag and drop cinematic shot tracks and sub tracks as well as through the + button. #jira UE-56091 Change 3944422 by Max.Chen Sequence Recorder: Disable transform recording if off. #jira UE-56061 Change 3944745 by Andrew.Rodham Sequencer: Key rendering fixes - Fixed assert that occured when keys happened to reside on some times due to KeyTime + TimeOverlapThreshold - KeyTime being slightly larger TimeOverlapThreshold - Fixed keys sometimes being clipped when zoomed right in due to lack of half-frame offset - Added missing documentation to MovieSceneTimeHelpers.h #jira UE-56107 Change 3945231 by Andrew.Rodham Sequencer: Reconstruct channel proxy on Serialize to catch all cases of undo/redo, PostLoad and duplication #jira UE-56089 Change 3945301 by Andrew.Rodham Sequencer: Added safety checks during initial sequence recording to guard against applying negative or 0-sized sequence ranges #jira UE-56125 Change 3946627 by Max.Preussner Fortnite: Fixed game crashes closing editor while in PIE - Pure virtual function being called #jira UE-56144 [CL 3946896 by Max Chen in Main branch]
2018-03-14 22:09:33 -04:00
{
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 4044339) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3947021 by Max.Chen Sequencer: Don't preserve root component when copying object properties. A spawnable empty actor, has a root component that is generated by the empty actor factory. If the object template's root component is preserved when copying from the spawnable empty actor, the root component will not be copied over. Therefore, we need to NOT preserve the root component when copying object properties. #jira UE-55825 Change 3947366 by Max.Preussner WmfMedia: Better log output Change 3947367 by Max.Preussner MfMedia: Better detection of compressed format properties on Windows Change 3949102 by Max.Chen Sequencer: Remove SequenceActorTag when converting to possessable. #jira UE-56206 Change 3949207 by andrew.porter EngineTest: Set the screenshot nodes resolution to 1280x720 Change 3949404 by Max.Chen Sequencer: More informative tooltip for "Rerun Construction Scripts" option. It now says "Rerun construction scripts every frame on actors that have 'Rerun Construction Script in Sequencer' enabled in their class settings". Change 3950067 by Matt.Hoffman Renamed UAutomatedLevelSequenceCapture's StartFrame and EndFrame to CustomStartFrame/CustomEndFrame to reflect that it is user-overriden. This will also resolve upgrade issues due to the variable datatype changing. #jira UE-56189 Change 3950193 by JohnHenry.Carawon Updating my latest MovieRendering test content. Change 3950757 by JohnHenry.Carawon More updates to MovieRendering test content Change 3952059 by Max.Chen Resave LevelVisibility_SubLevels to fix data loss conversion warning of OpacityMaskConstant #jira UE-56086 Change 3952283 by Max.Chen Sequencer: Disable dropping level sequence assets as spawnables. #jira UE-56120 Change 3952422 by Max.Chen Sequence Recorder: Add button to record from the current player. #jira UE-55942 Change 3952987 by JohnHenry.Carawon MovieRendering Test Content - Fixing camera bindings and changing the override binding actor Change 3953823 by Mike.Zyracki Fix for Bad FBX Import Tangents not scaled by frame rate. After looking at this again it seems that a set of MovieScene:: overiddes for the channel traits wasn't set correctly, so use the ADL idiom to use MovieScene, which can then call Optimize in the correct namespace. With this we can now correctly use the passed in tolerance. There was also a redundant set of Optimize calls so that it could happen twice so removed them, and needed an extra check in the float channel Optimize. Also since we need to set auto tangents no matter if we optimize we don't set that parameter(though leave it since it's used by context menu key reduction). Finally fixed speed issue with trajectories caused by calculating way too many substeps. Reverted back to a time based step size for consistency. #jira UE-56193 Change 3954317 by Matt.Hoffman Adding a key to the last frame of a section no longer causes a crash. Keys can already be moved to be on the last frame of a section so now you can just add a key there directly. #jira UE-56255 Change 3954326 by Matt.Hoffman Dilating a section that is only infinite on one side no longer causes a crash. #jira UE-56260 Change 3954486 by Max.Chen PR #4580: Exposes IsReversed() from UMovieSceneSequencePlayer (Contributed by alanedwardes) Change 3955238 by Max.Preussner Messaging: Enabled delayed message routing https://github.com/EpicGames/UnrealEngine/pull/4574 #jira UE-56247 Change 3955901 by Max.Preussner MediaFrameworkTest: Added developer test for overriding desired media player plug-in at runtime. Change 3955922 by Andrew.Porter QAGame: Updating movie rendering content in dev folder Change 3956004 by andrew.porter QAGame: Adding MPC track to movie rendering test content Change 3956510 by Max.Chen Sequencer: Fix fbx camera import of static properties so that they are imported before default tracks are created. Otherwise, the default tracks inherit the default properties of the camera, rather than the values from the fbx. #jira UE-56311 Change 3957613 by Max.Preussner MediaUtils: Added code documentation to media player facade Change 3958005 by Max.Preussner MediaUtils: Added method to get number of sinks Change 3958934 by Max.Chen Sequencer: Fix keys getting added and sequence getting erroneously re-evaluated when auto key is off. Only apply defaults if there are no keys. Only modify the movie scene section before creating keys or setting defaults. #jira UE-55903 Change 3959687 by Andrew.Rodham Sequencer: Fixed visibility track external values being inverted #jira UE-56324 Change 3960507 by Max.Preussner Core: Fixed incorrect rounding in FMath::DivideAndRoundNearest Change 3962047 by JohnHenry.Carawon MovieRendering Test Content Changes: - Add Lightmass Importance Volumes to sublevel to fix warnings - Rebuilt Lighting - Add a third sequence for Gamut testing - Resaved the sound master.uasset to fix warning Change 3962211 by Mike.Zyracki Add Frame Numbers to selected animation sections. Added MapTimeToAnimation to MovieSceneSkeletalAnimation so that we could get it from the Skeleton Animation track Editor. Since the thickness of the frame line can change based upon frame rate and zoom we need to calculate it similarly to how the time slider controller does it. Those calculations were private so we had to expose FScrubRangeToScreen and GetScubberPixelRange from the TimeSliderController. Also needed to know if the section itself was selected so added a bIsSelected flag to the section Painter. Also fixed a bug where you couldn't add a section if other sections existed at different times in MovieScenePropertyTrack and could crash due to the check(). #jira UESEQ-395 Change 3962497 by Max.Preussner Core: Added new string formatting argument to FTimespan Change 3963662 by Max.Chen CineCamera: Flip VistaVision width and height. Change 3963731 by Max.Preussner MediaCompositing: Implemented sequence recording support for media track Change 3964195 by Andrew.Rodham Sequencer: Set inverted property correctly for newly created visibility track sections - Also clamp evaluation for key editors to the bounds of the section so we're not displaying values outside of the section bounds when the cursor is not on the bounds #jira UE-56324 #coderevew Max.Chen Change 3964196 by Andrew.Rodham Sequencer: Fixed crash when attempting to render sections that resulted in a negative intersection with the view range Change 3964275 by Andrew.Rodham Sequencer: Fixed MovieScene::ClampToDiscreteRange for infinite range bounds Change 3964364 by Andrew.Rodham Curve Editor: Reduce minimum vertical view range when zooming to fit Change 3965091 by Max.Chen Sequencer Recorder: Refresh next sequence if empty when starting a recording, otherwise, use existing name. #jira UE-56469 Change 3965148 by Max.Chen Sequence Recorder: Move Record to Possessable to "Actor Recording" group Change 3965162 by Max.Chen Sequence Recorder: Always break out of immersive mode when done recording, even when stopping recording during countdown. #jira UE-56407 Change 3965214 by Max.Preussner QAGame: Enabled ImagePlate plug-in Change 3965574 by Max.Preussner SimpleComposure: Reorganized & upgraded content to work with new Media Track #jira UE-56488 Change 3965651 by Max.Preussner MediaCompositing: Ignoring seek-on-open if media not seekable Change 3966075 by Christina.TempelaarL Sequencer: Added Final Cut Pro 7 XML Export functionality #jira UESEQ-358 Change 3966087 by Matt.Hoffman Adding a single key to the Particle Toggle track now makes an infinite range section that is displayed in the UI. #jira UE-56295 Change 3966547 by Andrew.Rodham Sequencer: Fixed rounding errors when drawing the section background on boolean sections - Logic was using time in sectonds which caused rounding errors on evaluation and flickering red/green stripes when dragging keys around #jira UE-56324 Change 3966563 by Andrew.Rodham Curve Editor: Key editor interface improvements - SKeyEditInterface has a few problems - it does not update in real time when editing properties, and does not support multi-edit which makes it unsuitable for use with the curve editor - We now take a different approach for editing keys by gathering a set of proxy UObjects for each key that is currently selected. These objects are added as top level objects to the details panel which means they support multi edit as you'd expect from any other details panel in the editor. - Proxy objects are updated every tick for the curve editor if they implement the ICurveEditorKeyProxy interface, which allows them to refresh their current value. - Ideally, the same mechanisms would be used in the main sequence interface, and we would be generating the proxy classes at runtime based on the key value type, but that work remains a separate task from this initial offering. #jira UE-56165 Change 3966564 by Andrew.Rodham Curve Editor: Expand to frame when adding or moving keys in the curve editor Change 3967051 by andrew.porter MediaFrameworkTest: Set the CameraPlayer_Video texture to auto clear Change 3967141 by Andrew.Rodham Sequencer: Keep track of spawned objects that have been modified and only re-save such object's default spawnable state on destruction - Now that we're taking this approach, I've remove serveral redundant bits of functionality in the spawn register such as making some spawnables read-only, and the PreSave binding for Sequencer. - We now hook into all object pre-saves to make sure we handle the case where the sequences are saved through the content browser or elsewhere. #jira UE-47686 Change 3967170 by Andrew.Rodham Sequencer: Added the ability to possess anim instances as object bindings - This allows full and direct animation of properties on UAnimInstance, and animation blueprints - Object Bindings are made by first possessing a skeletal mesh component, then choosing the + Add button where its anim instance will be listed - Added a new function to UMovieSceneSequence to gather previously cached objects that should now be invalidated. Anim instances will be re-resolved if a new UAnimInstance is assigned to USkeletalMeshComponent::GetAnimInstance. - ObjectBindingIDs for anim instances are just represented by an entry in a set of GUIDs. We only ever resolve such bindings through USkeletalMeshComponent::GetAnimInstance. - Only currently supported on LevelSequences #jira UE-56132 Change 3967195 by Max.Preussner Core: Updated TRangeSet to use TCallTraits Change 3967345 by JohnHenry.Carawon Test Content Changes - first iteration of spacing out the examples in the shots. Change 3967572 by Max.Chen Sequencer: Fix setting PreviousPlayEvalPosition until after we've tested whether it's set. #jira UE-56518 Change 3967750 by Max.Chen Audio: Set duration based on number of input channels, rather than number of channels to serialize. This fixes an issue where audio split into 2 channels is set to a duration that's twice as long. #jira UE-56430 Change 3967836 by Max.Chen Sequencer: Allow for animating array elements within ustruct properties #jira UE-55887 Change 3968506 by Matt.Hoffman Fixed ambiguous conversions for seconds and frames being overriden by ambiguous conversion to Timecode (in frames). Change 3968748 by Max.Chen Sequencer: Make the event properties submenu widget larger. #jira UE-55557 Change 3968862 by Max.Chen Sequencer: Recursive expansion when shift is down #jira UE-52139 #pr 4194 Change 3968863 by Max.Chen Sequencer: Bind rename command to selected track so that F2 shortcut start renaming #jira UE-52139 #pr 4194 Change 3968872 by Max.Chen Sequencer: Rekey the selected key at the current time. #jira UESEQ-396 Change 3968938 by Max.Chen Cine Camera: Add option to toggle the behavior of locking the rail mount to the orientation of the spline. By default, the option is off, no change in behavior. #jira UE-55815 Change 3968958 by Andrew.Rodham Sequencer: Consider vertical position when hittesting keys #jira UE-56256 Change 3969643 by Max.Preussner Core: Rounding timespans created from double values towards nearest ticks Change 3969646 by Max.Preussner MediaUtils: Implemented timeout mechanism for block-on-fetch feature Change 3969776 by Mike.Zyracki Added Skip Anim Notifiers Toggle per what was in Matinee. Investigated the Enable Root Motion toggle as also discussed but it's implementation is directly contained by the animation asset and unlike animation notifies there seems to be no exposure to interactively disable it during a playback tick. Note if we are generating thumbnails we still automtically disable notifies in the editor to avoid annoying noise playback. Note that if Enable Root Motion/Root locked is specified in the animation asset it does correctly effect the Sequencer. #jira UESEQ-399 Change 3969835 by Matt.Hoffman Playback Range and Selection Range use unified logic for adding themselves as potential snap locations which properly handles inclusive/exclusive bounds. This resolves an issue where having an unset selection range caused a potential snap location to be added on frame 0 and 1 (internal resolution) which caused a misalignment when placing objects near frame 0. This also removes the one frame offset on setting Selection Range to bring behavior inline with other ranges. #jira UE-55420 Change 3969885 by Max.Preussner MediaAssets: Don't register media player CDO with media ticker Change 3971129 by Andrew.Rodham Sequencer: Fixed UMovieSceneSequencePlayer::GotToEndAndStop() not taking into account for start time This is a remnant from when the times were always specified in 0-duration space, rather than actual sequence times. Change 3972056 by JohnHenry.Carawon More updates to Test Content. I continued spacing out the examples in the sequence so that they have a consistent number of frames between each example and during the start/end of the example. Also removed the Marcie sublevel. Change 3972066 by Andrew.Porter MediaFrameworkTest: Setting Marcie folder to be never cooked in package settings Change 3972675 by Matt.Hoffman Splitting Subsequence Sections no longer sets an incorrect playback range on the subsequence when the subsequence has a different internal resolution than the owning sequence. #jira UE-55453 Change 3973376 by Max.Preussner ImgMedia: Zero is the only valid video track for image sequences Change 3973489 by Max.Preussner Launch: Build rules cleanup pass - don't use Media, MediaUtils on server apps - don't link against Media (include-only dependency) - don't include from MediaAssets (dynamic load only) Change 3973760 by Max.Preussner MediaUtils: Moved AppMediaTimeSource implementation into its own file; added logging Change 3973765 by Max.Preussner ImgMedia: Disallowing seek beyond media length Change 3973855 by Max.Preussner MediaFrameworkTest: Updated developer test content Change 3973858 by Max.Preussner MediaCompositing: Blocking on media player time instead of media sample time (the former may not be hit in the current frame) Change 3974988 by Max.Chen Sequencer: Fix trim left so that it also sets the start offset for audio and skeletal animation sections. #jira UE-57015 Change 3976101 by Matt.Hoffman Sequencer will now focus the scroll view on newly created items. #jira UE-56492 Change 3976203 by Max.Chen Property Editor: Add DetailsViewArgs for ColumnWidth. Defaults to 0.65f, no change in existing behavior. Change 3976205 by Max.Chen Sequencer: Set better column widths for sequencer. #jira UE-55557 Change 3976206 by Max.Chen Sequencer: Added menu category for import/export Change 3976265 by Matt.Hoffman Tracks within Object Binding Nodes will now sort using the old behavior so that components are added above other track types. #jira UE-56473 Change 3976901 by Max.Chen Sequencer: Add event names to event track section #jira UESEQ-353 Change 3977878 by Max.Preussner Media: Moved media framework ticking stats into Media module Change 3977982 by Max.Chen Sequencer: Add Edit->Reset section length to duration of source (ie. audio, skeletal animation, shot length) Added MovieSceneSection::GetDefaultDuration and MovieScene::HasDefaultDuration #jira UESEQ-392 Change 3977994 by Max.Preussner Media: Fetching and rendering media samples before viewports are rendered (to ensure frame sync for in-level media playback) #jira UE-53975 Change 3978188 by Matt.Hoffman Easing Curves are now clipped by the sequence's PlayRange when testing against an infinite section. This causes blended sequences to finish their blend when the section starts/ends instead of always using 25% of the total section length to determine default blend range. #jira UE-56362 Change 3978676 by Max.Preussner MediaCompositing: Fixed first frame of rendered out media track missing #jira UE-53975 Change 3978684 by Max.Preussner MediaCompositing: Enabled media track frame sync feature #jira UE-53975 Change 3980026 by Matt.Hoffman Keys can be selected on folded out sections (such as an audio track expanded to show volume and pitch) again. #jira UE-57169 Change 3981614 by Max.Preussner MediaUtils: Added missing subtitle sample queue flush Change 3982311 by Max.Preussner MediaCompositing: Added safeguard for zero length media sources Change 3982389 by andrew.porter QAGame: Adding media track test content into FrameAccuracySubscene Change 3983661 by Max.Chen Sequencer: Add level name to spawn a spawnable into. Add sublevel menu option to set the level #jira UESEQ-390 Change 3983712 by Andrew.Rodham Sequencer: Purge legacy blueprint spawnables from LevelSequence packages #tests Ran a preflight for cooking fortnite, ocean and Orion. Only orion shows up this edge case, and will require a re-save of the EndCines level #jira UE-39173 Change 3983787 by Max.Preussner MediaCompositing: Moved compile time switch for block-on-fetch into media player facade Change 3983812 by Andrew.Rodham Sequencer: Exposed default level sequence instance data to blueprints Change 3984373 by Max.Preussner Media: Added API for quering whether player plug-in supports block on fetch Block on fetch allows Sequencer and other systems to block the game thread until a desired video frame has been decoded. Change 3984670 by JohnHenry.Carawon Movie Rendering Test Content progress. Saving the state of the content. There is a bug where things got replaced with particle emitters and I think it was because I tried to copy paste an animation track into a separate skeletal mesh track. Change 3985097 by Max.Chen Sequencer: Rename Reset to AutoSize Change GetAutoSizeDuration to return TOptional<FFrameTime> #jira UESEQ-392 Change 3986043 by Max.Chen Sequencer: Fix crash when attach/path duration is less than 0. #jira UE-57310 Change 3986373 by Max.Chen Sequencer: Add support for deleting tracks and channels which equates to setting the channel mask. #jira UE-52951 Change 3986375 by Max.Chen Sequencer: Add Create Pose Asset to skeletal animation section. This allows animators to blend animations in sequencer and create new pose assets from them. #jira UESEQ-408 Change 3986796 by Andrew.Rodham Sequencer: Fixed stale object references remaining in ULevelSequence::BindingReferences when using convert to spawnable/possessable - We used to convert objects by creating a new binding, then re-assigning its GUID, which meant we didn't have to do any further object fixup, but the code to achieve this was confusing and led to a vulnerability where object references would not be cleaned up correctly due to the newly created possessable essentially being a temporary object that's immediately thrown away. - To address this, there is now a function for porting all the contents of one object binding to another, and handles the correct fixup required for parent/child object bindings for both spawnables and possessables. - Also added codepath to remove any stale object references from the level sequence reference map on PostLoad (this piggy-backs off the PurgeLegacyBlueprints object version which is close close enough to this change to be identical) #tests Verified that existing sequences with stale references get cleaned up on load. Verified that repreatedly converting from spawnable<->possessable cleans up references correctly. Change 3987807 by JohnHenry.Carawon Updates to the MovieRendering Test Content. - Fixed the spawnable actors that were overwritten - Shortend the Lighting example and combined the Intensity and Color tracks - Organized the Sequence and WorldOutliner to group the examples. Change 3988151 by Max.Chen Cine Camera: Enable keying the "Enable Look at Tracking" toggle. Change 3988880 by Max.Chen Sequencer: Support enter to add asset for all sequencer track editors that have asset pickers. #jira UE-57367 Change 3988953 by Max.Chen Sequencer: Make the track color picker focusable so that it will close when you click away or lose focus. #jira UE-57210 Change 3988962 by Max.Chen MovieSceneCapture: Fix EDL export so that it takes into account movie scene frame resolution and desired frame rate. #jira UE-57365 Change 3988964 by Max.Chen Movie Scene Capture: Clarified tooltip for bRelativeFrameNumbers. If you specify custom start/end frames for the recording, they will be relative to the playback range. #jira UE-57308 Change 3989442 by Max.Chen Fix CIS Change 3991548 by Matt.Hoffman Dragging the time slider no longer causes the time slider to ignore snap-to-interval with "Snap to Keys While Scrubbing" when no keys are in range. #jira UE-57417 Change 3991598 by Matt.Hoffman Snap to Key while scrubbing now mirrors the behavior of "jump to next key". When there are no tracks selected it snaps to all keys and when there are tracks selected it snaps to only keys from that track. This also resolves an issue where deleting an object did not remove it from the Sequencer's selection. Undoing a delete already doesn't seem to restore your selection, so removing it from your selection shouldn't change that behavior. #jira UE-57417 Change 3991603 by Max.Chen Sequencer: Disable EditAnywhere for some section properties #jira UE-53530 Change 3992240 by Max.Preussner MediaAssets: Implemented dynamic audio sample rate adjustment based on audio/media clock drift #jira FORT-70638 Change 3992911 by Andrew.Rodham Sequencer: Fixed saving spawnable state using the wrong spawned object - We now track the object binding ID so that we can apply the spawned object to the correct spawnable when the asset is saved #jira UE-57353 Change 3992914 by Max.Chen Movie Scene Capture: Fix compression quality not being set. The compression interface wasn't being found through query interface, so no compression was being set. Reworked finding it through the output pins. Tested running various compression values. #jira-UE-55488 Change 3992919 by Max.Chen Sequencer: Convert to possessable now uses object template instead of copying properties (ie. see LevelSequenceActorSpawner). This fixes MIDs getting lost when converting to spawnable and back to possessable. #jira UE-52400 Change 3993184 by Max.Chen Sequencer: Don't show +Transform/+Path/+Attach track if the actor has the "Mobility" property hidden. Set the Landscape, LandscapeProxy and InstancedFoliage "Mobility" property to be hidden since it is static is not supposed to be dynamically movable. #jira UE-56347 Change 3993238 by Max.Chen Sequencer: Test for hidden mobility in creating keys as well. Refactored to HasHiddenMobility() #jira UE-56347 Change 3993978 by Max.Chen Cine Camera: Enable keying the "Enable Look at Tracking" toggle. #jira UE-57489 Change 3994039 by Max.Chen Landscape: Add Mobility to hidecategories on landscape component #jira UE-56347 Change 3994626 by JohnHenry.Carawon Updated Movie Rendering Test Content. - Fixed the overridden spawnables to their proper object types. Change 3994653 by Christina.TempelaarL Sequencer: Added Final Cut Pro 7 XML Import functionality, improved Export functionality #jira UESEQ-358 Change 3995609 by Max.Chen UMG: Add support for 2d transform mask (translation, rotation, scale, shear) #jira UE-52951 Change 3995778 by JohnHenry.Carawon Movie Rendering Test Content Updates - Adjusted Lights example - Adjusted Camera example - Added Marcie sublevel back in Change 3995942 by JohnHenry.Carawon QAGame: Moving Movie Rendering test content from Developer folder to Sequencer folder Also adjusted level visibility, lights and camera example. Change 3995993 by Christina.TempelaarL Sequencer: FCPXML Export updates - only export sections if in playback range and media exists, warn if media does not exist. Other updates - removed unused methods and variables, fixed message context naming to be more accurate #jira UESEQ-358 Change 3996595 by andrew.porter QAGame: Updating Marcie content in TrackEvaluation level to use Image Plate Change 3996614 by andrew.porter QAGame: Adding color test sequence to the sublevel Change 3996643 by Max.Chen Sequencer: Fix fbx animation export - rotation and scale channels were flipped. #jira UE-57509 #jira UE-57512 #jira UE-57514 Change 3996652 by Max.Preussner Messaging: Fixed delayed messaging using incorrect current time after message router sleep Based on https://github.com/EpicGames/UnrealEngine/pull/4601 Change 3996801 by Max.Chen Sequencer: Fix folder active state for non key area sections. Look at track node sections as well as key areas. #jira UE-57550 Change 3997098 by Matt.Hoffman Cleaned up some remaining ToDo's in STimeRange. Change 3998339 by Max.Preussner Sockets: Added documentation for socket receive functions Change 3998359 by Max.Preussner MediaUtils: Started to implement media recorder helper class Currently only supports BGRA frames in CPU memory. Supporting other formats and buffer types will require conversions on render-thread. I recommend refactoring out the existing conversion code in FMediaTextureResource into a reusable helper class in the MediaUtils module. This should be a good starting point though. Change 3998417 by Matt.Hoffman Keys and Sections can now be moved at the same time inside of Sequencer. Keys can now snap to Sections (and vice versa) instead of just to other Keys. Sections can now be duplicated like keys can. #jira UE-56995 Change 3998427 by JohnHenry.Carawon QAGame: Updating test content for the Movie Rendering feature. - Added an auto activate particle to the beginning of the sequence (it's not part of the sequence at all) - Added an event receiver blueprint to the Events example - Added a particle emitter to both sublevels - Added a camera cut to the end that switches to a separate camera - The camera zoom in, focus and Look At sections are all separate (not overlapping in the sequence) - Added a second actor for the camera Look At - Added a Visibility section for the Actor Hidden In Game track that has possessable and spawnable cube and light Change 3998537 by Max.Chen Sequence Recorder: Restore immersive mode when stopping the sequence even if not in PIE. #jira UE-56407 Change 3999809 by Matt.Hoffman Removed the "Go To" box from Sequencer and instead placed the current time as an always visible control. The previous shortcut (Ctrl + G) now focuses the new widget directly. #jira UESEQ-376 Change 4000543 by Christina.TempelaarL Sequencer: Moving editor-only code from runtime module MovieSceneCapture to editor module MovieSceneTools. Moved EDL and FCP XML exporters as well as Automated Level Scene Capture. #jira UESEQ-358 Change 4000706 by Matt.Hoffman Entering multiple time strings without a number no longer crashes Sequencer. #jira UE-57672 Change 4001051 by andrew.porter MediaFrameworkTest: Fixing up some image sources pointing to the wrong location Change 4001191 by andrew.porter QAGame: Adding some quick EDL/XML test content to dev folder Change 4001243 by Max.Chen Sequencer: Fix import EDL out of range. #jira UE-57665 Change 4001856 by Matt.Hoffman Selecting keys and sections at the same time now also works with animation and audio sections. #jira UE-57716 Change 4002021 by Max.Chen Sequence Recorder: Fix sequence name incrementing. If external recording sets the sequence name, use it. Otherwise, use the recording name from the recording group or the recording settings. #jira UE-57712 Change 4002618 by Max.Chen Viewport: Update the look at location when updating to a locked actor. This fixes an issue so that popping the view out of a locked actor and manipulating the view will not jump to the previous look at location. #jira UE-57725 Change 4002979 by Matt.Hoffman Fixes several edge cases with the end time range that was causing confusion about what the last frame of the sequence was. Dragging the End Frame slider will no longer be off by one tick and jumping to the end via the UI controls now properly respects snapping and stays inside the play range instead of falling outside of it. Overall behavior does not change though and End Frame should be considered an exclusive frame so that frames 0-150 results in a 150 frame long animation (which is frames 0-149). #jira UE-56367 Change 4003185 by Matt.Hoffman Fixed a regression that prevented a section from being dragged upwards past row 0 which normally resulted in all other rows moving down. #jira UE-57717 Change 4003193 by JohnHenry.Carawon QAGame: Updates to test content - Shortened frames between the examples from 95 to 30 - Separated camera setting tracks - Lighting example now switches directly from constant red - green - blue Change 4003369 by Max.Chen Sequence Recorder: Refresh next sequence regardless of internally stored sequence name. #jira UE-55757 Change 4003586 by JohnHenry.Carawon QAGame: Test Content Updates - Level Visibility track now ends to that the levels are not visible when we move to the next example - Shortened camera section, removed Z tranform so that we just move left to right and shortened the overall length Change 4004414 by Max.Chen Movie Scene Capture: Fix regression where rendering with shot handles would only render the first shot. 3972166 addressed an issue where an extra frame would be rendered by finalizing right when the end frame was reached. This was hit on the first shot end frame, so instead, do this only for when the last shot is being rendered. #jira UE-57314 Change 4004765 by Christina.TempelaarL Sequencer: Fixed bugs in FCP XML import/export. - Export: fixed sequence default resolution. - Export: fixed XML files with no shots. - Export: all sections clipped to playback range. - Export: fixed incorrect section start/end times due to precision issues. - Import: fixed incorrectly adding cinematic tracks. - Import: fixed bugs creating new sections. #jira UE-57660 #jira UE-57662 #jira UE-57655 #jira UE-57761 Change 4005119 by Max.Chen Sequencer: Export/import at play rate Change 4005195 by Max.Chen UMG: Finish UMG evaluation on stop. Added object version so that existing UMG assets do not change. #tests - Newly created UMG animation with sections set to restore state now return to their original state. Existing UMG animations with sections set to restore state do not return to their original state. #jira UE-52285 Change 4005377 by Michael.Karambelas QAGame: Moving TM-SequenceRecorder and related content out of my developer folder and into /Content/Sequencer/SequencerRecorder/* Change 4005417 by Michael.Karambelas QAGame: Fixed a BP compiler in the Level Blueprint of TM-SequencerRecorder. Change 4005634 by Michael.Karambelas QAGame: Fix up missing content and broken level sequence in TM-SequenceRecorder after move Change 4006324 by Max.Chen Sequencer: Reset if the focused movie scene is null. This fixes a crash if the user is focused in on a shot and undo takes the user past the point of where the shot was created. #jira UE-57752 #jira UE-47661 Change 4007006 by Max.Chen Sequencer: Fix FindAvailableRowIndex so that it returns the max row index (and not +1) since it doesn't find any conflicting rows. #jira UE-57717 Change 4007907 by Max.Chen Sequencer: Fix crash if there's no animation Change 4007948 by andrew.porter QAGame: added test content to dev folder for Record World Space Change 4008636 by Max.Chen Sequencer: Fix import fbx not setting values properly and creating additional cameras unncessarily. #jira UE-57864 Change 4008759 by Max.Chen Sequencer: Follow up fix for import cameras #jira UE-57864 Change 4009994 by Matt.Hoffman Dragging the left or right handles of the Time Range slider in Sequencer will now zoom your view in on the current center of the screen. This prevents the view from being translating as you tried to zoom in which caused issues at high zoom levels. #jira UESEQ-407 Change 4010169 by Christina.TempelaarL Sequencer: FCP XML fixes. - FCP XML export - no longer clips to playback range - FCP XML and EDL export - fixed missing last frame of some sections after exporting to Premiere. - Automated level capture, EDL export - use RoundToFrame instead of FloorToFrame for computing section start/end frames after frame rate conversion. #jira UE-57802 - partial fix, movie scene capture still needs to render full section rather than clip against playback. Change 4010287 by Mike.Zyracki Add quaternion interpolation option to UMovieScene3DTransformSection. This mimics how Matinee used to work by bascially finding the keys between a time and interpolating the angles as quat's between them. As noted in the code the algorithm needs to handle the case when the x,y,z Rotation keys all aren't at the same time which was not handled by Matinee. Also like Matinee, when in quaternion interoplation mode, we need to not display the function cuves since the interpolated and key values are now all different. (Would like to show them but that's a bigger refactor for perhaps just a one off needed by quaternions). I added a virtual function UMovieSceneSection::ShowCurveForChannel for this since it needs to be dynamic, not on construction of IKeyArea's, and could be useful for other sections. I could though move the method to just UMovieScene3DTransformSection and do a cast instead. Looked into doing a unit test for this but after talking with Andrew P we will work on doign an automated test in EngineQA since that will provide more coverage. Will also add a video the jira. #jira UESEQ-403 Change 4010713 by Mike.Zyracki Added option to key a group of transform channels instead of just the changed channel, or all of them. This is useful for quaternion interpolations where you want rotation keys to be aligned but also useful for other workflows like animating FK Pose to Pose. Change 4010715 by Andrew.Porter MediaFrameworkTest: Setting LogMediaUtils logging from VeryVerbose to Verbose to cut back on the spam Change 4013048 by Max.Chen Sequencer: Fix play/jump status. Update the player status for all position methods (Scrub, Jump, Play). Jump means Stopped. Correctly use PlayTo or JumpTo based on position method. In PlayInternal, JumpTo with the Stopped state (rather than playing state). #jira UE-57844 Change 4013479 by andrew.porter QAGame: Added content in TM-SequenceRecorder to test recording a property on a Cine Camera Component; Press 3 to trigger manual focus distance to increment on a timer Change 4014323 by Max.Chen Sequencer: Fix SetPlaybackPosition so that it jumps or plays based on playback status. #jira UE-57844 Change 4015888 by Max.Chen Sequencer: Fix crash on paste. UMovieSceneSections were gathered from the track node's track. For sub track mode, we want to gather only those sections on that track node row. #jira UE-57951 Change 4015943 by Max.Chen Sequencer: Fix moving shots up when the mouse pos goes outside of the virtual track area. #jira UE-57717 Change 4016293 by Max.Chen Sequencer: Fix relative frame playback end frame calculation so that custom start/end frames remain in the space of the sequence and are not relative. #jira UE-57308 Change 4017075 by Andrew.Rodham Sequencer: Corrected initial evaluation range used when calling UMovieSceneSequencPlayer::Play() Change 4017270 by Christina.TempelaarL Sequencer: FCPXML importer and movie scene capture - Use CeilToFrame when converting section start/end frame times to frame numbers in FCPXML and movie scene capture. - Added support for clip metadata in FCPXML. - Got rid of redundant TokenizedError message class, no longer needed now that FCPXML is in editor directory. - Added log messages currently commented out due to exception, still testing. #UESEQ-358 Change 4018370 by Christina.TempelaarL Sequencer: fixed FCPXML log messages regarding sections with start/end not divisible by display rate. #UESEQ-358 Change 4018378 by Christina.TempelaarL Sequencer: fixed error in previous changelist. #UESEQ-358 Change 4019457 by Max.Chen Sequencer: Show event names only when the event track is selected #jira UE-57897 Change 4022806 by Max.Chen Sequencer: Fix crash on movie scene capture dialog shutdown if movie capture wasn't even started. #jira UE-58106 Change 4022894 by Max.Chen Sequence Recorder: Wrap OpenEditorForAssets after sequence recording within GIsEditor #jira UE-58084 Change 4024487 by Max.Chen Sequencer: Add tooltip for quat interpolation #jira UE-58113 Change 4024562 by Max.Chen Sequencer: Change path/attach track sequence binding id to currently focused sequence id so that bindings can be created in subsequences Change 4027414 by JohnHenry.Carawon QAGame: Checking in content that shows a bug with using particles systems and Delay Before Shot Warm Up. Change 4028990 by Max.Chen Sequencer: Fix evaluate sub sequences in isolation. This check was added with the compile on the fly logic. Not sure why it was necessary but it seems like the sub sequence data needs to be updated in order to evaluate sub sequences in isolation. #jira UE-58184 Change 4029004 by Max.Chen Sequencer: Ensure that old binding references are removed when re-assigning actors in sequencer #jira UE-57898 Change 4030997 by JohnHenry.Carawon QAGame: Fixing name of the master sequence Change 4031785 by Michael.Karambelas QAGame: Added an instance of ThirdPerson Run to TM-SequenceRecorder for Record to Possessable test. Change 4035548 by Andrew.Rodham Sequencer: Changed FMovieSceneEvaluationTemplate::TemplateSignature to be a serial number to address non-deterministic cooking issues - This commit is related to the repro steps found in 3914599 and 3934307, both of which have been verified with this new change. - Copy of 4031684 from //Fortnite/Main/... #jira FORT-84852 Change 4036312 by Max.Chen Sequencer: Fix zoom view range so that it uses the passed in InZoomDelta Change 4036318 by Max.Chen Sequencer: Auto size now returns a range and defaults to the channel proxy range so that keyed regions can also be autosized. Change 4036322 by Max.Chen Forgot missing change Change 4036360 by Max.Chen Sequencer: Fix play rate calculation when skeletal animation section play rate changes. Change 4037163 by Mike.Zyracki Weighted Tangent Implementation Tricky thing is that you need to solve a cubic in order to get the bezier weights for the time part of the curve. See https://www.gamedev.net/forums/topic/474094-help-function-curves-for-animation-interpolation/ Maya provides an implementation in it's dev kit but I didn't use it since it was horribly slow and uses an iterative solution to solve the cubic needed. Instead I use an old algorithm (Cardano's method), to solve the cubic which should be much faster. Though relative simple to code from principles I just went ahead and used a version from Graphics Gems 1. I put this cubic solver directly in MovieSceneFloatChannel.cpp, but will need to move it when we support Rich Curve, maybe to FMath:: (which would probalby require some other functions for solving quartics, etc.. for completeness.). Also note we resolve this on every evaluation but dont' need to if the interval the time is evaluating hasn't had any change in values or tangents. So again when we support FRichCurve we can create a Weighted Evaluating class that can hold the cache. Also with the tangent drags I got rid of the Cardinal position that was used to calculate non-weight tangents from the key point and just quickly getting a direction. With weighted tangents we need to use the delta instead (otherwise when moving multiple they would all get the same weight based upon distance to the cardinal point. ) For mixed tangents types what I'm defaulting to non weighted if the interval doesn't match. May need to do weighted instead, not sure. What's left is just FBX import, for tomorrow. #jira UESEQ-76 Change 4037435 by Mike.Zyracki Fix fo build warnings from weighted tangent submission. #trivial Change 4038091 by Michael.Karambelas QAGame: Updated a Sequence Recorder group in TM-SequenceRecorder that had an actor missing the animation. Change 4038374 by Andrew.Rodham Sequencer: Refined scrubber styling for level sequences and actor sequences - Scrubber now shows a block the width of a dsplay rate frame, plus a line for the actual evaluated time. UMG reverts back to the previous styling (no block) - Keys that are outside of the playback range are now drawn with a subdued effect - Tick labels are no longer drawn when directly underneath the scrubber Change 4038490 by Max.Chen Sequencer: Expose tangent weight values in details panel. Change 4038620 by Andrew.Rodham Sequencer: Advanced time panel polish #jira UESEQ-426 Change 4038677 by Max.Chen Movie Scene Capture: Redirector for MovieSceneTools.AutomatedLevelSequenceCapture #jira UE-58248 Change 4039739 by Max.Chen Sequencer: Media track should only be supported by Level Sequence Change 4040024 by JohnHenry.Carawon QAGame: Fix EventReciever and OverrideBinding example The level sequence was set to none so the fix was to set it back to TrackEvaluation_Master. Change 4040610 by Andrew.Rodham Curve Editor: Moved weighted tangent switchers to a single toggle command (CTRL+W) and added an icon #jira 58383 Change 4040882 by Mike.Zyracki Keep broken when turning on weighted #jira UE-58435 Change 4041089 by andrew.porter QAGame: Sequence for Long Tangents bug Change 4041498 by Mike.Zyracki Turn off weighted when going auto to prevent large tangents. Do it both in UI and when doing AutoSetTangents() to really make sure it doesn't happen. #jira UE-58452 Change 4041752 by andrew.porter MediaFrameworkTest: Adding some better logging for setting rates when not supported. Also ignoring commiting URL when there is no text Change 4041896 by Matt.Hoffman The transform dialog box now transforms selected keys and sections, instead of just keys. #jira UE-58265 [CL 4044405 by Max Chen in Main branch]
2018-05-02 10:10:00 -04:00
FFrameRate DisplayRate = GetDisplayRate();
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3946692) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3801826 by Max.Chen PR #4304: Level Sequence crash fix - Guarded against dereferencing null componen. (Contributed by DSDambuster) Change 3801828 by Max.Chen PR #4302: Movie Scene Visibility Template unitialised variable, causing random . (Contributed by DSDambuster) Change 3801837 by Max.Chen Sequencer: Delay spawning/construction for convert to possessable. This fixes a bug where property values would be lost when converting back and forth from possessable to spawnable. #jira UE-52400 Change 3801841 by Max.Chen Sequencer: Make spacer nodes not selectable. PR #4194: Improvements to Sequencer (Contributed by projectgheist) #jira UE-53117 #jira UE-52139 Change 3804183 by Max.Preussner MediaAssets: Added missing lock in media sound component Change 3805414 by Max.Preussner MediaAssets: Setting valid GUID when initializing media texture resource Change 3819578 by Max.Chen PR #4370: When enabling the "MovieCapture", do not turn off the Stereo-3D display. (Contributed by yehaike) #jira UE-53647 Change 3823414 by Max.Chen Curve Editor: Lock down the first and last keys in the redundant keys removal range so that they're unaffected. #jira UE-53591 Change 3826406 by Max.Chen Sequencer: Move OnStartedPlaying() to within first update in UpdateTimeCursorPosition(). This fixes an issue where setting the hud/player visibility was getting stomped on later. #jira UE-52772 Change 3827044 by Max.Preussner MediaAssets: Added sprite visualization to media sound component #jira UE-53594 Change 3827988 by Max.Preussner MediaPlayerAssets: Fixed Media Texture is not linked to Media Player when created together #jira UE-53532 Change 3828506 by Max.Preussner MediaPlayerEditor: Added attenuation visualizer for media sound components #jira UE-53594 Change 3832590 by andrew.porter EngineTest: Added a keep state check in Property Animation sequencer test Change 3833053 by andrew.porter EngineTest: Adding Hierarchical Bias test Change 3835683 by andrew.porter EngineTest: Adding UMG Animation screenshot test Change 3836076 by Max.Chen Sequencer: Fix audio volume and pitch multiplier deprecation. Change 3836230 by andrew.porter EngineTest: Adding Sequence Bone Position automation test Change 3836347 by Max.Chen Sequencer: Fixes to shot name parsing. When a shot doesn't contain a shot number, assume, [ShotName]_[TakeNumber]. When duplicating a shot, put the new shot in the same path of the original shot, so that the take numbers will increment properly. #jira UE-51868 Change 3836552 by Max.Chen Sequencer: Sub section now has a takes menu Change 3838094 by Max.Chen UMG: Fix template finish not getting called on stop. This fixes a bug where sections aren't restored when finished. #jira UE-52285 Change 3838708 by Max.Chen Sequencer: Add notification when the blend type is changed. #jira UE-54046 Change 3840295 by Max.Chen Sequencer: Fix copy/paste crash for lights #jira UE-54084 Change 3840957 by Mike.Zyracki Added Show Only Keyable and Show Only Animated to the filter list in the property editor. Added IsPropertyAnimated to IDetailKeyframe Interface which already had support for showing properties which are keyable (which is used for the key icon next to the properties.). Could have created another interface but then would have had to mimic the sequencer binding, releasing also, so this seemed best way. One issue still left is that custom built detail items currently don't store associated properties(usually) and so certain properties, in particulalry transforms, won't show up as keyable or animated. Note this also shows up with the keyable icon not showing up next to transform tracks, and other filters like Show Only Modified not working with transforms/customs. Not sure best way to tackle this. #jira UESEQ-328 Change 3841756 by Max.Chen Sequencer: Fix unbound possessable components when pasting spawnables. #jira UE-54104 Change 3843950 by andrew.porter EngineTest: Renaming LevelStreaming tests/content to LevelVisibility Change 3844082 by Mike.Zyracki Missing file for animated filter in property editor. When finding if a track is animated we need to find it but we can't easily induce the MovieTrack class for any particular property. So we don't set a class for it and just search by it's ID and name. #jira UESEQ-328 Change 3846902 by Max.Preussner ImgMedia: Fixed image media player never finished initialization if loading failed #jira UE-54247 Change 3849820 by Mike.Zyracki Reassigning deleted widgets didn't work since the menu extender mechanism needs a valid UObject in order to perform an operation on it. So to fix we replaced GetObjectBindingContextMenuExtender in WidgetBlueprint with new delegate mechanism (OnBuildCustomContextMenuForGuid) that supports FGuid in addition to UObjects which is needed to handle re-binding deleted widgets. Note that the default sequencer hacks this for replacing deleted actors in SequencerObjectBindingNode to check to see if a LevelSequence is active. We could move to this mechanism there also. #jira UE-53163 Change 3852211 by Max.Chen UMG: Indicate name of the property that is not bound. #jira UE-54350 Change 3854120 by Max.Chen Sequencer: Fix sibling folders being allowed to have the same folder name. #jira UE-54363 Change 3854627 by Max.Chen Sequencer: Step to next/previous key should work for all tracks if there aren't any selected. #jira UESEQ-391 Change 3855825 by andrew.porter EngineTest: Adding animation blending automation test Change 3855950 by andrew.porter EngineTest: Adding correct expected valuues to animation blending test Change 3856237 by Matt.Hoffman UESEQ-336 - Sequencer Track Reordering Adds the ability to re-order Master Tracks, Folders and Object Bindings within sequencer hierarchies (including UMG). Adds the ability to do a one-off sorting of the content under the old sorting behavior if the user wants to reset their layout to how it was under legacy behavior. Modifies SequencerTrackNodes, SequencerFolderNodes and SequencerObjectBindingNodes to handle CanDrop/OnDrop for above, below and ontop of. Fixes a Slate Issue that forcibly expanded a TreeviewRow if an item handled OnDrop. Slate will now only forcibly expand the row if the item says the drop happened ontop of the item, and not above or below it like it previously did. Change 3856503 by andrew.porter EngineTest: Adding automation test for using animation blueprint with blend multi node in sequencer Change 3857875 by Max.Chen Sequencer: Assign the sequence id after the template is compiled. #jira UE-54462 Change 3858344 by Max.Chen Sequencer: Prevent Goto and Transform boxes from overlapping by allowing them to be visible at the same time in an autosized horizontal box. Also, added close button to the goto box. PR #4425: Prevent Goto and Transform boxes from overlapping in Sequencer ... (Contributed by projectgheist) #jira UE-54210 Change 3860566 by andrew.porter MediaFrameworkTest: Set the option to index 0 for the audio and video track list by default Change 3860654 by andrew.porter EngineTest: Enabling Camera Cut + FOV test Change 3860981 by andrew.porter EngineTest: Updating skeletal mesh tests with a delay after set playback position Change 3861256 by Max.Chen Sequencer: Add all bindings if none selected. #jira-54440 Change 3862154 by Andrew.Rodham Added TimeManagement module Change 3862424 by andrew.porter EngineTest: Turned on the test Bone Positions with Blend Multi Node Change 3862573 by andrew.porter EngineTest: Adding test to compare bone positions in a sequence that is blending an animation that is using an AnimBP Change 3865117 by Max.Chen Sequencer: Stop auto scroll on mouse release of movement. #jira UE-31212 Change 3865303 by Max.Chen Sequencer: Add drag and drop transactions #jira UE-54662 Change 3865304 by Max.Chen Sequencer: Fix crash when an actor factory is not found. Change 3865361 by Max.Chen Sequencer: Don't change the camera/shot lock button when popping out of a sequence. #jira UE-54665 Change 3865412 by Max.Chen Sequencer: Determine whether a transform track is for a camera by using the spawned object or template #jira UE-54666 Change 3865685 by Max.Chen Sequencer: Clear autoscrub offset when stopping autoscroll #jira UE-31212 Change 3865886 by Max.Chen Sequence Recorder: Log an error if the number of frames changes while recording. This can happen if the skeleton changes while recording. #jira UE-48715 Change 3866925 by Andrew.Porter MediaFrameworkTest: Changing the current PNG test video image sequence to 1024 x 576 Change 3867705 by andrew.porter QAGame: Adding Audio Sort Sequence to dev folder Change 3867890 by andrew.porter QAGame: Adding a sequence for testing a sorting crash to my dev folder Change 3872628 by Max.Chen Movie Scene Capture: Split delay before warmup into split delay before shot warmup so that there's separate controls for when the movie scene capture warmups up vs. shot boundaries. Change 3873131 by Matt.Hoffman UE-54732 - Crash reordering a folder with a track. This was caused by folders being the only type of track to check if someone was putting a parent track into a child track. Object Binding tracks and Tracks now check as well so that you can't use the above/below drop targets to add parents as children. This also fixed a typo in the localization keys. #jira UE-54732 Change 3873301 by Mike.Zyracki Added ability to support continous euler angle changes when changing rotations, in particularly with the rotation gizmo's. To do this we effectively added a form an of 'euler filter'(https://en.wikipedia.org/wiki/Euler_filter) to find the closest euler angle to the current euler angle. Three functions were added to FRotator to make this possible, one to get the euler angle that's has the same rotation as it, one to get the difference between two euler angles via Manhattan distance and a third using the previous two to choose a Rotator value that's closest to it. We then use these functions before calling UComponent::SetRelativeRotation to make sure we use the correct Euler after the Quat conversion. We also no longer limit(bound) the euler angles to -180,180, which is obviously necessary to avoid flips. I also changed how we caluclate yaw and roll when pitch is -90 or 90 to make it the standard approach of zeroing out roll and just setting yaw. Main reasons are the previous implementation had precision issues so things like 180, 90, -180 would show up due to numbers being nearly zero but negative,(this would break any smooth interpolations), and this facilitates having a 'gimbal' rotation mode (like Maya, Blender etc..) if we ever want that also. If needed we could keep the previous implementation but would need to add some FMath::IsNearlyZero checks, with less performance. Note we only do this special filtering when applying delta's to actors or components in the editors, which then call UComponent::SetRelativeRotationExact, which is a new function to foces the RelativeRotation to be equal to the new rotation. This allows us to store un-nomalized Rotators at the cost that the RotationCache may be broken. We didn't change any of the other UComponent functions that set rotations (via Quats or Transforms) so they will still be bounded and unwound. In SetInternalWorldLocationAndRotation we only set the rotation if the rotation has changed, which fixes the rotation getting changed and re-normalized if just translate happens. In TransformTrackEditor, we correclty use the bUndwing flag and in MovieScene3DTransformSection there was an un-needed winding check there, it will be unwound earlier if needed, which happens if Sequence Recording is happening. Max we should talk about what to do about this . Note the euler angle drag via the widget is still bound to 0-360. I think we should just unbound that now since the rotations value are now unbound. This review now includes fixes suggested by Zak. #jira UE-UE-22228 Change 3873483 by Matt.Hoffman Sequencer Tracks can now be inserted above the spacer at the bottom of the tree. #jira UE-54706 Change 3873899 by Max.Chen Sequencer: Add section selection throbbing Change 3873908 by Max.Chen Movie Scene Capture: Added logging per frame Change 3873924 by Matt.Hoffman Adds the ability to store Sequence Recorder setups into profiles that stay with the map and can be re-loaded later. Profiles store the Actor Recordings so the settings for each actor should carry with them. #jira UESEQ-339 Change 3874726 by Matt.Hoffman Disable drag-and-drop targets on spacers that come between rows in Sequencer. This prevents extra drag/drop targets showing up between each row. #jira UE-54706 Change 3874862 by Matt.Hoffman Audio Track no longer gets reordered when adding sub-audio tracks, as sub-tracks are no longer counted towards the sorting order index when normalizing indexes. #jira UE-54727 Change 3875905 by Matt.Hoffman Disable Fade Track UI if a fade track already exists in the sequence. #jira UESEQ-393 Change 3876163 by Max.Chen Sequencer: Swap the camera object to the camera component's owner if it's not the same. #jira UE-54874 Change 3876971 by Andrew.Porter EngineTest: Moved Media Player Seek test to new folder. Also enabled the test with new ground truth image. Change 3877040 by Max.Chen Cine Camera: Split camera properties to two groups, "Camera Options" and "Camera Settings". The cine camera now hides properties in the "Camera Settings" group so that properties like bConstrainAspectRatio (in the "Camera Options" group) can be visible. #jira UE-54192 Change 3877763 by Max.Chen Curve Editor: Fix curve changed on end drag so that only curves that had keys/tangents that were changed receive notification, otherwise all loaded curves were getting notified that they were changed. #jira UE-54951 Change 3878234 by Matt.Hoffman Disable "Drop Below" targets for Sequencer Tree nodes to prevent a confusing UX issue where dropping underneath a Object Binding Node puts it after the object binding node but the UI looks like it's inserting it inside the Object Binding node. #jira UE-54743 Change 3879359 by Mike.Zyracki If a track is inactive we dim it a bit which seems to be the UE4 way to show inactive or disabled state. We changed the active logic so that all subtracks need to be inactive for the track to also be inactive(instead of all active for active). This conforms to how the active state actually works, e.g if you have two sections and only one is active the track is still active above it. #jira UESEQ-388 Change 3879462 by Max.Chen Sequencer: Allow dragging onto a particular row which would move out any overlapping sections to make space for the newly created section. Newly created sections are now selected and throbbed to draw attention to themselves. #jira UE-54664 Change 3879464 by Max.Chen Sequencer: Fixed overlapping ranges being inserted into the evaluation field during compilation - The issue was that track segments that had been combined with adjacent segments (due to them being identical) would potentially cause a subsequently compiled frame to overlap with a range that had already been inserted into the evaluation field. - The insertion code previously asserted that only minor overlaps were catered for (due to fp rounding errors) and assumed that a supplied range could not entirely contain any other range in the field. - The solution is to supply the insertion time along with the range to know exactly where the data should live in the field, and crop the range to the maximum allowable space between adjacent ranges. #jira UE-54922 Change 3879590 by Matt.Hoffman Items that are now added to the Sequencer via the "+Track" menu will be selected after being added. Items can now be added inside of folders instead of just to the root level. #jira UE-27397 Change 3879612 by Mike.Zyracki Display Nodes with no children are always active. #jira UESEQ-388 Change 3879730 by Matt.Hoffman Sequence Recorder's actor recording groups now remove items from the group when removed via the UI. #jira UESEQ-339 Change 3880256 by Mike.Zyracki Fix issue with inactive display with folders and other track nodes. #jira UESEQ-388 Change 3883491 by Max.Chen Fix issue where tick is skipped due to last ticked pose isn't cleared after AnimInstance changes. Copy from Release-4.19 #jira UE-51323 Change 3883603 by Max.Chen Movie Scene Capture: Add option toggle disable screen percentage. By default this is on (no change in current behavior). #jira UE-51898 Change 3885074 by Max.Preussner MediaCompositing: Resetting media texture & freeing resource on section end; removed dead code Change 3887220 by Max.Preussner MediaCompositing: Defaulted media section duration to 1 sec (since we do not know the actual duration in most cases) Change 3887478 by Matt.Hoffman Sequences now show [Inactive] in their title bars when they're disabled. This helps communicate why a sequence isn't being evaluated. #jira UE-51469 Change 3888985 by Max.Chen Movie Scene Capture: Clamp HDR Compression Quality between 0 and 1. #jira UE-55136 Change 3893519 by Max.Chen Sequence Recorder: Clarified tooltip for bRecordNearbySpawnedActors - spawned actors will still be recorded if they match the ActorFilter. #jira UE-55238 Change 3893546 by Max.Chen Sequence Recorder: If a selected actor already has a recording, add a blank recording. #jira UE-55239 Change 3894044 by Max.Preussner MediaCompositing: Added support for seeking into a media section Change 3894310 by andrew.porter MediaFrameworkTest: Adding Img media sources for 1080 and 2160 ravent test content Change 3894426 by Max.Preussner MediaAssets: Letting media textures with AutoClear retain their clear color when player is reset Change 3895717 by Max.Chen Sequencer: Null checks to prevent crash when saving the default state of a spawnable #jira UE-55304 Change 3897388 by Max.Chen Sequencer: Don't update current time to be within the view range when stepping into a sequence. #jira UE-55322 Change 3897452 by Max.Chen Audio: Fix crash when trying to record audio without any active capture devices. Log warning if the number of input channels is not 1 or 2. #jira UE-55223 Change 3897619 by Max.Preussner MediaCompositing: Removed commented out code Change 3898072 by Max.Chen Sequencer: Override the animation asset in the player state if it doesn't match the animation asset that's being evaluated. #jira UE-55328 Change 3898272 by Max.Preussner MediaPlayerEditor: Made slate brush constants static Change 3898704 by Max.Chen Sequencer: Skip if the binding id's sequence can't be found. #jira UE-55337 Change 3899855 by Max.Preussner MediaCompositingEditor: Added cache state visualization to media track Change 3900300 by Max.Preussner MediaCompositingEditor: Added loop indicators to media sections Change 3900694 by Max.Preussner ImfMedia: Looping cache only when player is looping Change 3900892 by Max.Preussner Stats: Added stats category for media framework Change 3900954 by Max.Preussner MediaCompositing: Don't evaluate at the end of media section Change 3901348 by Max.Preussner Core: Replaced TLruCache autos for better readability Change 3901655 by Max.Preussner ImgMedia: Added more perf stats to EXR reader Change 3901972 by Max.Preussner MediaAssets: Added getter for media player in media sound components Change 3902233 by Max.Preussner MediaAssets: Enabling media textures to receive samples right after player is assigned Change 3902238 by Max.Preussner MediaCompositing: Working around init/shutdown idiosyncracies in sequencer Change 3904045 by Max.Chen Sequencer: Fix copy/paste crash. Only process UMovieSceneCopyableBinding and objects that can be spawned by the movie scene spawn register. #jira UE-55314 Change 3905605 by Max.Chen Sequencer: Restrict spawnables from being created if they have a ClassWithin that UMovieScene is not a child of. #jira UE-55429 Change 3906550 by Max.Chen Sequencer: Add media track icon #jira UE-55480 Change 3907101 by Max.Chen Sequence Recorder: Fix bugs related to not recording a level sequence. There were certain assumptions that creating a level sequence meant that sequence recording was in progress. This is not always the case - the recorders can record animation assets and not create a level sequence. Changed the notion of IsRecording() to having at least one actor recording that is recording. Countdown timer, recording displays, etc should function if IsRecording() and not based on whether a level sequence is created. #jira UE-55485 Change 3907247 by Max.Chen Sequence Recorder: Fix crash not removing PrepareToCleanseEditorObject delegate. Repros when opening sequence recorder, closing it, and then opening or creating a level. Change 3910343 by Max.Preussner Core: Added async helper for executing functions on a given thread pool Change 3910346 by Max.Preussner ImgMedia: Added separate thread pools for loading/decoding and deleting image frames Change 3910829 by Max.Preussner Profiler: Increased visible range of profiler graph Change 3910841 by Max.Preussner MediaCompositing: Displaying asset name instead of full media source path in media section Change 3910870 by Max.Preussner ImgMedia: Using deallocation thread pool only in debug builds Change 3919642 by Max.Chen Sequence Recorder: Clarify active tooltip #jira UE-55661 Change 3919660 by Max.Chen Sequencer: Sequence template source signatures are now also compared to catch the case where a sub-sequence asset has been saved but not modified - The following sequence of events exposes this issue: - Create a master sequence with a single shot that spawns a cube - Add this sequence to a level and set it to auto-play - Save everything and restart - Resave just the inner shot asset without opening it - PIE - The inner shot never spawns its cube because its template was wiped on save, but its signature never changed. Since the master sequence previously didn't check the template source signature, it ends up trying to evaluate an empty template. #jira UE-55626 #jira UE-55490 Change 3921825 by Max.Chen Sequencer: "Run Construction Script in Sequencer" is off by default for blueprints but on for Sequencer. This allows the content author to switch it on for specific blueprints and sequencer will be default, run those with construction scripts enabled. Change 3922232 by Max.Chen Sequence Recorder: Reset countdelay on stop. #jira UE-55755 Change 3922306 by Max.Chen Sequence Recorder: Don't automatically mark transforms to be recorded by sequence recorder. Instead, log a warning if the user toggled it off to warn that the resulting animation might not match gameplay. #jira UE-55758 Change 3922912 by Max.Chen Sequence Recorder: Fix refresh next sequence name #jira UE-55757 Change 3927654 by Max.Chen Movie Scene Capture: Added format mapping for the name of the current camera #jira UE-55769 PR #4537 Change 3927658 by Max.Chen Sequencer: Added fbx property mapping for "FocusDistance" to "FocusSettings.ManualFocusDistance" #jira UE-55782 Change 3932022 by Max.Chen Sequencer: Add import animation track section to next available row index. #jira UE-55892 Change 3933919 by Max.Chen Sequencer: Jump to playback start frame and not 0 to start playback for recording. #jira UE-55933 Change 3934307 by Andrew.Rodham Sequencer: Add template signature that is re-generated every time the base template is regenerated, which invalidates evaluation fields This fixes an issue where the same sequence is instantiated multiple times in a sequence. If the source sequence was saved, its template would be wiped, which would invalidate the template ID When an instance tries to evaluate the master template, it would only invalidate a range in the evaluation field that was the hull of any invalid sub sequences overlapping the current time, potentially leaving invalid data in the evaluation field at positions later (or earlier) on in the sequence When the sub template was re-generated, it receives the same SequenceSignature as it had before (because the sequence hasn't actually changed), which causes the stale evaluation field data to fail the IsDirty check (because the sequence is the same as it thought, but the *template* has changed) This has been addressed be adding a signature to templates themselves, and checking both the template signature and sequence signature as a part of the IsDirty check. This ensures that we regenerate if either the template, or the sequence have changed. #jira UE-55934 Change 3936327 by Andrew.Rodham Sequencer: Removed increment when trimming right UMovieSceneSection::TrimSection already explicity assigns an exclusive bound to the time passed in. The new behavior means we can trim a section to the right, and insert another section without changing the time to create adjacent sections. #jira UE-42652 Change 3936328 by Andrew.Rodham Fixed KeyFrameManipulator assignment operators and copy/move constructors - These types are potentially self-referential so cannot use default constructors/assignment Change 3936330 by Andrew.Rodham Converted UMGSequencePlayer to use frames internally #jira UE-54878 Change 3936726 by Max.Chen Sequencer: Set track node as the parent of the key area node. The key area switcher needs the object binding id from the parent object binding node. Without this, the binding to the external value fails. #jira UE-55931 Change 3936775 by Max.Chen Sequencer: Should stop or loop should compare DurationFrames with Current Time from StartTime. The bug is that if you set 30 warmup frames in movie rendering for a range of 0-100, the FrameRange will be starting at -30 and have a duration of 130. Without this fix, the playback will continue until frame 130, rather than 100. #jira UE-55933 Change 3936935 by Matt.Hoffman Easing Curves are now represented in Play Rate resolution instead of internal resolution. #jira UE-55937 Change 3937069 by Matt.Hoffman Users can toggle if the is infinite on each side, limited by which tracks support infinite ranges. #jira UE-55891 Change 3937516 by Max.Preussner ImgMedia: Added support for single-threaded platforms #jira UE-55986 Change 3937826 by Max.Preussner MediaAssets: Disabling media sound components on HTML5 if AudioMixer is not enabled Change 3937997 by Max.Chen Curve Editor: Add Zoom to Fit Curves so that selected curves from Sequencer can be focused on. Tested that undo doesn't re-zoom. #jira UE-55935 Change 3938000 by Max.Chen Sequencer: Stop all sounds before generating audio waveforms. #jira UE-55951 Change 3938376 by Max.Preussner XGEController: Disabled XGE Controller in single-threaded apps to prevent crash Change 3938444 by Max.Preussner Core: Added async support for single-threaded applications Change 3938445 by Max.Preussner Networking: Added support for single-threaded applications in UDP socket sender/receiver Change 3938447 by Max.Preussner Messaging: Added support for single-threaded applications Change 3939432 by Max.Chen Sequence Recorder: Append command list to global level editor actions so that shortcuts are accessible in level editor. #jira UE-55798 Change 3940229 by Andrew.Rodham Added prospective display rate upgrade to UMovieScene::PostLoad - There was previously some very odd behaviour that would assign the fixed frame interval only when a sub sequence was focused in SSequencer. This meant that many sequences could have a frame interval of 0 set in the data. - Under the old method of snap interval display this would have fallen back to getting the display interval from the sequencer settings, but we no longer look at these. - The USequencerSettings properties have been removed and in their place, a prospective data upgrade for sequences that have a fixed frame interval old 0fps that sets the play rate to the previous defaults based off the old USequencerSettings defaults. - This could end up 'changing' the display rate for sequences where the user has changed the snap interval in the settings for a particular sequence editor, but there's not much we can do about that given we don't have access to the USequencerSettings classes in UMovieScene #jira UE-55919 Change 3940277 by Andrew.Rodham Sequencer: Added ability to default frame resolutions and play rates for newly created actor sequences Change 3940378 by Andrew.Rodham Sequencer: Post move import dialog now defaults to the playback framerate of the sequence, and floors to frame numbers Change 3940559 by Andrew.Rodham Reinstated primed or recording sequence color Change 3940642 by Max.Preussner ImagePlate: Removed image plate media playback functionality Change 3940843 by Max.Preussner Core: Made TCircularQueue actually thread-safe; improved code comments Change 3940860 by Max.Chen Sequencer: Changed StructNameToKey to StructPathToKey Previously, keying a PropertyPath of [RenderTransform][Shear][X] would get trimmed to X, which doesn't map to a channel name as considered by Sequencer2dTransformTrackEditor. Instead, trim the resulting property path to [Shear][X] so that track editors can determine the desired struct path and channels to key. #jira UE-52966 Change 3941292 by Mike.Zyracki Fix for trajectories out of range not showing up. 1) If we had no key data we would pop the time, so wouldn't get the section ranges. 2) Calculating of upper bound was wrong, checking against -1 and not key == num of keys when doing algo::lower_bound. 3) No need to do the Bck-- for the bakward iterators since we fixed #2. We start now from the upper bound correctly. 4) If we had no keys (at section start,end) we would incorrectly say we were any key type, so since we draw constant keys as dashed we would do so incorrectly around section end points. #jira UE-55929 Change 3941424 by Max.Chen Curve Editor: Change Zoom to Fit to use TArrayView Change 3941498 by Max.Preussner Core: Added FMath::DivideAndRoundNearest function Change 3942097 by Matt.Hoffman Drop Frame Timecode Support for NTSC rates. Change 3942104 by Matt.Hoffman Sequence Recorder Group is no longer visible inside the World Outliner after using one. #jira 55266 Change 3942107 by Max.Chen Sequencer: Resurrect logic to find or extend an existing section when adding keys. Change 3942330 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942339 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942507 by Andrew.Rodham Sequencer: We no longer pad the time overlap threshold with a small number that is not scaled by the current zoom level - The presence of this pad was causing keys that were far apart to be grouped when zoomed in a long way Change 3942509 by Andrew.Rodham Sequencer: Only pad total view range, rather than section range as well when retrieving keys to render - This stops us from rendering keys that are within the view range, but outside the section range Change 3942512 by Andrew.Rodham Added transactions to some sequencer details customizations Change 3942513 by Andrew.Rodham Sequencer: Reinstated validation checks to UMovieSceneSection::SetStartFrame and SetEndFrame, changed erroneous uses to use SetRange Change 3942560 by Andrew.Rodham Pass by rvalue reference to appease error C2719 on Win32 ('InChannels': formal parameter with requested alignment of 8 won't be aligned) Change 3942697 by Andrew.Rodham Newly Created Level Sequences and Actor Sequences now default to 24000 fps frame resolution (+/- ~24hrs range, supporting all integer rates + 23.976) Change 3942700 by Andrew.Rodham Sequencer: Added legacy out-of-bounds errors for times that are not supported by the current legacy upgrade frame resolution Change 3942989 by Max.Preussner Core: Fixed circular queue count calculation Change 3943538 by Max.Preussner MediaAssets: Reverted workaround for procedural audio log spam in HTML5 (Actor component initialization cannot be skipped if the component is used in a level) Change 3944071 by Max.Preussner QAGame: Fixed Media Texture keeps last frame of Media when PIE ends #jira UE-53360 Change 3944292 by Max.Chen Sequencer: Added extra flags to ensure that asset initialization does not occur on template actor sequences #jira UE-56113 Change 3944364 by Max.Chen Sequencer: Prevent circular shot/master tracks. Tested adding master -> child -> master as drag and drop cinematic shot tracks and sub tracks as well as through the + button. #jira UE-56091 Change 3944422 by Max.Chen Sequence Recorder: Disable transform recording if off. #jira UE-56061 Change 3944745 by Andrew.Rodham Sequencer: Key rendering fixes - Fixed assert that occured when keys happened to reside on some times due to KeyTime + TimeOverlapThreshold - KeyTime being slightly larger TimeOverlapThreshold - Fixed keys sometimes being clipped when zoomed right in due to lack of half-frame offset - Added missing documentation to MovieSceneTimeHelpers.h #jira UE-56107 Change 3945231 by Andrew.Rodham Sequencer: Reconstruct channel proxy on Serialize to catch all cases of undo/redo, PostLoad and duplication #jira UE-56089 Change 3945301 by Andrew.Rodham Sequencer: Added safety checks during initial sequence recording to guard against applying negative or 0-sized sequence ranges #jira UE-56125 Change 3946627 by Max.Preussner Fortnite: Fixed game crashes closing editor while in PIE - Pure virtual function being called #jira UE-56144 [CL 3946896 by Max Chen in Main branch]
2018-03-14 22:09:33 -04:00
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 4044339) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3947021 by Max.Chen Sequencer: Don't preserve root component when copying object properties. A spawnable empty actor, has a root component that is generated by the empty actor factory. If the object template's root component is preserved when copying from the spawnable empty actor, the root component will not be copied over. Therefore, we need to NOT preserve the root component when copying object properties. #jira UE-55825 Change 3947366 by Max.Preussner WmfMedia: Better log output Change 3947367 by Max.Preussner MfMedia: Better detection of compressed format properties on Windows Change 3949102 by Max.Chen Sequencer: Remove SequenceActorTag when converting to possessable. #jira UE-56206 Change 3949207 by andrew.porter EngineTest: Set the screenshot nodes resolution to 1280x720 Change 3949404 by Max.Chen Sequencer: More informative tooltip for "Rerun Construction Scripts" option. It now says "Rerun construction scripts every frame on actors that have 'Rerun Construction Script in Sequencer' enabled in their class settings". Change 3950067 by Matt.Hoffman Renamed UAutomatedLevelSequenceCapture's StartFrame and EndFrame to CustomStartFrame/CustomEndFrame to reflect that it is user-overriden. This will also resolve upgrade issues due to the variable datatype changing. #jira UE-56189 Change 3950193 by JohnHenry.Carawon Updating my latest MovieRendering test content. Change 3950757 by JohnHenry.Carawon More updates to MovieRendering test content Change 3952059 by Max.Chen Resave LevelVisibility_SubLevels to fix data loss conversion warning of OpacityMaskConstant #jira UE-56086 Change 3952283 by Max.Chen Sequencer: Disable dropping level sequence assets as spawnables. #jira UE-56120 Change 3952422 by Max.Chen Sequence Recorder: Add button to record from the current player. #jira UE-55942 Change 3952987 by JohnHenry.Carawon MovieRendering Test Content - Fixing camera bindings and changing the override binding actor Change 3953823 by Mike.Zyracki Fix for Bad FBX Import Tangents not scaled by frame rate. After looking at this again it seems that a set of MovieScene:: overiddes for the channel traits wasn't set correctly, so use the ADL idiom to use MovieScene, which can then call Optimize in the correct namespace. With this we can now correctly use the passed in tolerance. There was also a redundant set of Optimize calls so that it could happen twice so removed them, and needed an extra check in the float channel Optimize. Also since we need to set auto tangents no matter if we optimize we don't set that parameter(though leave it since it's used by context menu key reduction). Finally fixed speed issue with trajectories caused by calculating way too many substeps. Reverted back to a time based step size for consistency. #jira UE-56193 Change 3954317 by Matt.Hoffman Adding a key to the last frame of a section no longer causes a crash. Keys can already be moved to be on the last frame of a section so now you can just add a key there directly. #jira UE-56255 Change 3954326 by Matt.Hoffman Dilating a section that is only infinite on one side no longer causes a crash. #jira UE-56260 Change 3954486 by Max.Chen PR #4580: Exposes IsReversed() from UMovieSceneSequencePlayer (Contributed by alanedwardes) Change 3955238 by Max.Preussner Messaging: Enabled delayed message routing https://github.com/EpicGames/UnrealEngine/pull/4574 #jira UE-56247 Change 3955901 by Max.Preussner MediaFrameworkTest: Added developer test for overriding desired media player plug-in at runtime. Change 3955922 by Andrew.Porter QAGame: Updating movie rendering content in dev folder Change 3956004 by andrew.porter QAGame: Adding MPC track to movie rendering test content Change 3956510 by Max.Chen Sequencer: Fix fbx camera import of static properties so that they are imported before default tracks are created. Otherwise, the default tracks inherit the default properties of the camera, rather than the values from the fbx. #jira UE-56311 Change 3957613 by Max.Preussner MediaUtils: Added code documentation to media player facade Change 3958005 by Max.Preussner MediaUtils: Added method to get number of sinks Change 3958934 by Max.Chen Sequencer: Fix keys getting added and sequence getting erroneously re-evaluated when auto key is off. Only apply defaults if there are no keys. Only modify the movie scene section before creating keys or setting defaults. #jira UE-55903 Change 3959687 by Andrew.Rodham Sequencer: Fixed visibility track external values being inverted #jira UE-56324 Change 3960507 by Max.Preussner Core: Fixed incorrect rounding in FMath::DivideAndRoundNearest Change 3962047 by JohnHenry.Carawon MovieRendering Test Content Changes: - Add Lightmass Importance Volumes to sublevel to fix warnings - Rebuilt Lighting - Add a third sequence for Gamut testing - Resaved the sound master.uasset to fix warning Change 3962211 by Mike.Zyracki Add Frame Numbers to selected animation sections. Added MapTimeToAnimation to MovieSceneSkeletalAnimation so that we could get it from the Skeleton Animation track Editor. Since the thickness of the frame line can change based upon frame rate and zoom we need to calculate it similarly to how the time slider controller does it. Those calculations were private so we had to expose FScrubRangeToScreen and GetScubberPixelRange from the TimeSliderController. Also needed to know if the section itself was selected so added a bIsSelected flag to the section Painter. Also fixed a bug where you couldn't add a section if other sections existed at different times in MovieScenePropertyTrack and could crash due to the check(). #jira UESEQ-395 Change 3962497 by Max.Preussner Core: Added new string formatting argument to FTimespan Change 3963662 by Max.Chen CineCamera: Flip VistaVision width and height. Change 3963731 by Max.Preussner MediaCompositing: Implemented sequence recording support for media track Change 3964195 by Andrew.Rodham Sequencer: Set inverted property correctly for newly created visibility track sections - Also clamp evaluation for key editors to the bounds of the section so we're not displaying values outside of the section bounds when the cursor is not on the bounds #jira UE-56324 #coderevew Max.Chen Change 3964196 by Andrew.Rodham Sequencer: Fixed crash when attempting to render sections that resulted in a negative intersection with the view range Change 3964275 by Andrew.Rodham Sequencer: Fixed MovieScene::ClampToDiscreteRange for infinite range bounds Change 3964364 by Andrew.Rodham Curve Editor: Reduce minimum vertical view range when zooming to fit Change 3965091 by Max.Chen Sequencer Recorder: Refresh next sequence if empty when starting a recording, otherwise, use existing name. #jira UE-56469 Change 3965148 by Max.Chen Sequence Recorder: Move Record to Possessable to "Actor Recording" group Change 3965162 by Max.Chen Sequence Recorder: Always break out of immersive mode when done recording, even when stopping recording during countdown. #jira UE-56407 Change 3965214 by Max.Preussner QAGame: Enabled ImagePlate plug-in Change 3965574 by Max.Preussner SimpleComposure: Reorganized & upgraded content to work with new Media Track #jira UE-56488 Change 3965651 by Max.Preussner MediaCompositing: Ignoring seek-on-open if media not seekable Change 3966075 by Christina.TempelaarL Sequencer: Added Final Cut Pro 7 XML Export functionality #jira UESEQ-358 Change 3966087 by Matt.Hoffman Adding a single key to the Particle Toggle track now makes an infinite range section that is displayed in the UI. #jira UE-56295 Change 3966547 by Andrew.Rodham Sequencer: Fixed rounding errors when drawing the section background on boolean sections - Logic was using time in sectonds which caused rounding errors on evaluation and flickering red/green stripes when dragging keys around #jira UE-56324 Change 3966563 by Andrew.Rodham Curve Editor: Key editor interface improvements - SKeyEditInterface has a few problems - it does not update in real time when editing properties, and does not support multi-edit which makes it unsuitable for use with the curve editor - We now take a different approach for editing keys by gathering a set of proxy UObjects for each key that is currently selected. These objects are added as top level objects to the details panel which means they support multi edit as you'd expect from any other details panel in the editor. - Proxy objects are updated every tick for the curve editor if they implement the ICurveEditorKeyProxy interface, which allows them to refresh their current value. - Ideally, the same mechanisms would be used in the main sequence interface, and we would be generating the proxy classes at runtime based on the key value type, but that work remains a separate task from this initial offering. #jira UE-56165 Change 3966564 by Andrew.Rodham Curve Editor: Expand to frame when adding or moving keys in the curve editor Change 3967051 by andrew.porter MediaFrameworkTest: Set the CameraPlayer_Video texture to auto clear Change 3967141 by Andrew.Rodham Sequencer: Keep track of spawned objects that have been modified and only re-save such object's default spawnable state on destruction - Now that we're taking this approach, I've remove serveral redundant bits of functionality in the spawn register such as making some spawnables read-only, and the PreSave binding for Sequencer. - We now hook into all object pre-saves to make sure we handle the case where the sequences are saved through the content browser or elsewhere. #jira UE-47686 Change 3967170 by Andrew.Rodham Sequencer: Added the ability to possess anim instances as object bindings - This allows full and direct animation of properties on UAnimInstance, and animation blueprints - Object Bindings are made by first possessing a skeletal mesh component, then choosing the + Add button where its anim instance will be listed - Added a new function to UMovieSceneSequence to gather previously cached objects that should now be invalidated. Anim instances will be re-resolved if a new UAnimInstance is assigned to USkeletalMeshComponent::GetAnimInstance. - ObjectBindingIDs for anim instances are just represented by an entry in a set of GUIDs. We only ever resolve such bindings through USkeletalMeshComponent::GetAnimInstance. - Only currently supported on LevelSequences #jira UE-56132 Change 3967195 by Max.Preussner Core: Updated TRangeSet to use TCallTraits Change 3967345 by JohnHenry.Carawon Test Content Changes - first iteration of spacing out the examples in the shots. Change 3967572 by Max.Chen Sequencer: Fix setting PreviousPlayEvalPosition until after we've tested whether it's set. #jira UE-56518 Change 3967750 by Max.Chen Audio: Set duration based on number of input channels, rather than number of channels to serialize. This fixes an issue where audio split into 2 channels is set to a duration that's twice as long. #jira UE-56430 Change 3967836 by Max.Chen Sequencer: Allow for animating array elements within ustruct properties #jira UE-55887 Change 3968506 by Matt.Hoffman Fixed ambiguous conversions for seconds and frames being overriden by ambiguous conversion to Timecode (in frames). Change 3968748 by Max.Chen Sequencer: Make the event properties submenu widget larger. #jira UE-55557 Change 3968862 by Max.Chen Sequencer: Recursive expansion when shift is down #jira UE-52139 #pr 4194 Change 3968863 by Max.Chen Sequencer: Bind rename command to selected track so that F2 shortcut start renaming #jira UE-52139 #pr 4194 Change 3968872 by Max.Chen Sequencer: Rekey the selected key at the current time. #jira UESEQ-396 Change 3968938 by Max.Chen Cine Camera: Add option to toggle the behavior of locking the rail mount to the orientation of the spline. By default, the option is off, no change in behavior. #jira UE-55815 Change 3968958 by Andrew.Rodham Sequencer: Consider vertical position when hittesting keys #jira UE-56256 Change 3969643 by Max.Preussner Core: Rounding timespans created from double values towards nearest ticks Change 3969646 by Max.Preussner MediaUtils: Implemented timeout mechanism for block-on-fetch feature Change 3969776 by Mike.Zyracki Added Skip Anim Notifiers Toggle per what was in Matinee. Investigated the Enable Root Motion toggle as also discussed but it's implementation is directly contained by the animation asset and unlike animation notifies there seems to be no exposure to interactively disable it during a playback tick. Note if we are generating thumbnails we still automtically disable notifies in the editor to avoid annoying noise playback. Note that if Enable Root Motion/Root locked is specified in the animation asset it does correctly effect the Sequencer. #jira UESEQ-399 Change 3969835 by Matt.Hoffman Playback Range and Selection Range use unified logic for adding themselves as potential snap locations which properly handles inclusive/exclusive bounds. This resolves an issue where having an unset selection range caused a potential snap location to be added on frame 0 and 1 (internal resolution) which caused a misalignment when placing objects near frame 0. This also removes the one frame offset on setting Selection Range to bring behavior inline with other ranges. #jira UE-55420 Change 3969885 by Max.Preussner MediaAssets: Don't register media player CDO with media ticker Change 3971129 by Andrew.Rodham Sequencer: Fixed UMovieSceneSequencePlayer::GotToEndAndStop() not taking into account for start time This is a remnant from when the times were always specified in 0-duration space, rather than actual sequence times. Change 3972056 by JohnHenry.Carawon More updates to Test Content. I continued spacing out the examples in the sequence so that they have a consistent number of frames between each example and during the start/end of the example. Also removed the Marcie sublevel. Change 3972066 by Andrew.Porter MediaFrameworkTest: Setting Marcie folder to be never cooked in package settings Change 3972675 by Matt.Hoffman Splitting Subsequence Sections no longer sets an incorrect playback range on the subsequence when the subsequence has a different internal resolution than the owning sequence. #jira UE-55453 Change 3973376 by Max.Preussner ImgMedia: Zero is the only valid video track for image sequences Change 3973489 by Max.Preussner Launch: Build rules cleanup pass - don't use Media, MediaUtils on server apps - don't link against Media (include-only dependency) - don't include from MediaAssets (dynamic load only) Change 3973760 by Max.Preussner MediaUtils: Moved AppMediaTimeSource implementation into its own file; added logging Change 3973765 by Max.Preussner ImgMedia: Disallowing seek beyond media length Change 3973855 by Max.Preussner MediaFrameworkTest: Updated developer test content Change 3973858 by Max.Preussner MediaCompositing: Blocking on media player time instead of media sample time (the former may not be hit in the current frame) Change 3974988 by Max.Chen Sequencer: Fix trim left so that it also sets the start offset for audio and skeletal animation sections. #jira UE-57015 Change 3976101 by Matt.Hoffman Sequencer will now focus the scroll view on newly created items. #jira UE-56492 Change 3976203 by Max.Chen Property Editor: Add DetailsViewArgs for ColumnWidth. Defaults to 0.65f, no change in existing behavior. Change 3976205 by Max.Chen Sequencer: Set better column widths for sequencer. #jira UE-55557 Change 3976206 by Max.Chen Sequencer: Added menu category for import/export Change 3976265 by Matt.Hoffman Tracks within Object Binding Nodes will now sort using the old behavior so that components are added above other track types. #jira UE-56473 Change 3976901 by Max.Chen Sequencer: Add event names to event track section #jira UESEQ-353 Change 3977878 by Max.Preussner Media: Moved media framework ticking stats into Media module Change 3977982 by Max.Chen Sequencer: Add Edit->Reset section length to duration of source (ie. audio, skeletal animation, shot length) Added MovieSceneSection::GetDefaultDuration and MovieScene::HasDefaultDuration #jira UESEQ-392 Change 3977994 by Max.Preussner Media: Fetching and rendering media samples before viewports are rendered (to ensure frame sync for in-level media playback) #jira UE-53975 Change 3978188 by Matt.Hoffman Easing Curves are now clipped by the sequence's PlayRange when testing against an infinite section. This causes blended sequences to finish their blend when the section starts/ends instead of always using 25% of the total section length to determine default blend range. #jira UE-56362 Change 3978676 by Max.Preussner MediaCompositing: Fixed first frame of rendered out media track missing #jira UE-53975 Change 3978684 by Max.Preussner MediaCompositing: Enabled media track frame sync feature #jira UE-53975 Change 3980026 by Matt.Hoffman Keys can be selected on folded out sections (such as an audio track expanded to show volume and pitch) again. #jira UE-57169 Change 3981614 by Max.Preussner MediaUtils: Added missing subtitle sample queue flush Change 3982311 by Max.Preussner MediaCompositing: Added safeguard for zero length media sources Change 3982389 by andrew.porter QAGame: Adding media track test content into FrameAccuracySubscene Change 3983661 by Max.Chen Sequencer: Add level name to spawn a spawnable into. Add sublevel menu option to set the level #jira UESEQ-390 Change 3983712 by Andrew.Rodham Sequencer: Purge legacy blueprint spawnables from LevelSequence packages #tests Ran a preflight for cooking fortnite, ocean and Orion. Only orion shows up this edge case, and will require a re-save of the EndCines level #jira UE-39173 Change 3983787 by Max.Preussner MediaCompositing: Moved compile time switch for block-on-fetch into media player facade Change 3983812 by Andrew.Rodham Sequencer: Exposed default level sequence instance data to blueprints Change 3984373 by Max.Preussner Media: Added API for quering whether player plug-in supports block on fetch Block on fetch allows Sequencer and other systems to block the game thread until a desired video frame has been decoded. Change 3984670 by JohnHenry.Carawon Movie Rendering Test Content progress. Saving the state of the content. There is a bug where things got replaced with particle emitters and I think it was because I tried to copy paste an animation track into a separate skeletal mesh track. Change 3985097 by Max.Chen Sequencer: Rename Reset to AutoSize Change GetAutoSizeDuration to return TOptional<FFrameTime> #jira UESEQ-392 Change 3986043 by Max.Chen Sequencer: Fix crash when attach/path duration is less than 0. #jira UE-57310 Change 3986373 by Max.Chen Sequencer: Add support for deleting tracks and channels which equates to setting the channel mask. #jira UE-52951 Change 3986375 by Max.Chen Sequencer: Add Create Pose Asset to skeletal animation section. This allows animators to blend animations in sequencer and create new pose assets from them. #jira UESEQ-408 Change 3986796 by Andrew.Rodham Sequencer: Fixed stale object references remaining in ULevelSequence::BindingReferences when using convert to spawnable/possessable - We used to convert objects by creating a new binding, then re-assigning its GUID, which meant we didn't have to do any further object fixup, but the code to achieve this was confusing and led to a vulnerability where object references would not be cleaned up correctly due to the newly created possessable essentially being a temporary object that's immediately thrown away. - To address this, there is now a function for porting all the contents of one object binding to another, and handles the correct fixup required for parent/child object bindings for both spawnables and possessables. - Also added codepath to remove any stale object references from the level sequence reference map on PostLoad (this piggy-backs off the PurgeLegacyBlueprints object version which is close close enough to this change to be identical) #tests Verified that existing sequences with stale references get cleaned up on load. Verified that repreatedly converting from spawnable<->possessable cleans up references correctly. Change 3987807 by JohnHenry.Carawon Updates to the MovieRendering Test Content. - Fixed the spawnable actors that were overwritten - Shortend the Lighting example and combined the Intensity and Color tracks - Organized the Sequence and WorldOutliner to group the examples. Change 3988151 by Max.Chen Cine Camera: Enable keying the "Enable Look at Tracking" toggle. Change 3988880 by Max.Chen Sequencer: Support enter to add asset for all sequencer track editors that have asset pickers. #jira UE-57367 Change 3988953 by Max.Chen Sequencer: Make the track color picker focusable so that it will close when you click away or lose focus. #jira UE-57210 Change 3988962 by Max.Chen MovieSceneCapture: Fix EDL export so that it takes into account movie scene frame resolution and desired frame rate. #jira UE-57365 Change 3988964 by Max.Chen Movie Scene Capture: Clarified tooltip for bRelativeFrameNumbers. If you specify custom start/end frames for the recording, they will be relative to the playback range. #jira UE-57308 Change 3989442 by Max.Chen Fix CIS Change 3991548 by Matt.Hoffman Dragging the time slider no longer causes the time slider to ignore snap-to-interval with "Snap to Keys While Scrubbing" when no keys are in range. #jira UE-57417 Change 3991598 by Matt.Hoffman Snap to Key while scrubbing now mirrors the behavior of "jump to next key". When there are no tracks selected it snaps to all keys and when there are tracks selected it snaps to only keys from that track. This also resolves an issue where deleting an object did not remove it from the Sequencer's selection. Undoing a delete already doesn't seem to restore your selection, so removing it from your selection shouldn't change that behavior. #jira UE-57417 Change 3991603 by Max.Chen Sequencer: Disable EditAnywhere for some section properties #jira UE-53530 Change 3992240 by Max.Preussner MediaAssets: Implemented dynamic audio sample rate adjustment based on audio/media clock drift #jira FORT-70638 Change 3992911 by Andrew.Rodham Sequencer: Fixed saving spawnable state using the wrong spawned object - We now track the object binding ID so that we can apply the spawned object to the correct spawnable when the asset is saved #jira UE-57353 Change 3992914 by Max.Chen Movie Scene Capture: Fix compression quality not being set. The compression interface wasn't being found through query interface, so no compression was being set. Reworked finding it through the output pins. Tested running various compression values. #jira-UE-55488 Change 3992919 by Max.Chen Sequencer: Convert to possessable now uses object template instead of copying properties (ie. see LevelSequenceActorSpawner). This fixes MIDs getting lost when converting to spawnable and back to possessable. #jira UE-52400 Change 3993184 by Max.Chen Sequencer: Don't show +Transform/+Path/+Attach track if the actor has the "Mobility" property hidden. Set the Landscape, LandscapeProxy and InstancedFoliage "Mobility" property to be hidden since it is static is not supposed to be dynamically movable. #jira UE-56347 Change 3993238 by Max.Chen Sequencer: Test for hidden mobility in creating keys as well. Refactored to HasHiddenMobility() #jira UE-56347 Change 3993978 by Max.Chen Cine Camera: Enable keying the "Enable Look at Tracking" toggle. #jira UE-57489 Change 3994039 by Max.Chen Landscape: Add Mobility to hidecategories on landscape component #jira UE-56347 Change 3994626 by JohnHenry.Carawon Updated Movie Rendering Test Content. - Fixed the overridden spawnables to their proper object types. Change 3994653 by Christina.TempelaarL Sequencer: Added Final Cut Pro 7 XML Import functionality, improved Export functionality #jira UESEQ-358 Change 3995609 by Max.Chen UMG: Add support for 2d transform mask (translation, rotation, scale, shear) #jira UE-52951 Change 3995778 by JohnHenry.Carawon Movie Rendering Test Content Updates - Adjusted Lights example - Adjusted Camera example - Added Marcie sublevel back in Change 3995942 by JohnHenry.Carawon QAGame: Moving Movie Rendering test content from Developer folder to Sequencer folder Also adjusted level visibility, lights and camera example. Change 3995993 by Christina.TempelaarL Sequencer: FCPXML Export updates - only export sections if in playback range and media exists, warn if media does not exist. Other updates - removed unused methods and variables, fixed message context naming to be more accurate #jira UESEQ-358 Change 3996595 by andrew.porter QAGame: Updating Marcie content in TrackEvaluation level to use Image Plate Change 3996614 by andrew.porter QAGame: Adding color test sequence to the sublevel Change 3996643 by Max.Chen Sequencer: Fix fbx animation export - rotation and scale channels were flipped. #jira UE-57509 #jira UE-57512 #jira UE-57514 Change 3996652 by Max.Preussner Messaging: Fixed delayed messaging using incorrect current time after message router sleep Based on https://github.com/EpicGames/UnrealEngine/pull/4601 Change 3996801 by Max.Chen Sequencer: Fix folder active state for non key area sections. Look at track node sections as well as key areas. #jira UE-57550 Change 3997098 by Matt.Hoffman Cleaned up some remaining ToDo's in STimeRange. Change 3998339 by Max.Preussner Sockets: Added documentation for socket receive functions Change 3998359 by Max.Preussner MediaUtils: Started to implement media recorder helper class Currently only supports BGRA frames in CPU memory. Supporting other formats and buffer types will require conversions on render-thread. I recommend refactoring out the existing conversion code in FMediaTextureResource into a reusable helper class in the MediaUtils module. This should be a good starting point though. Change 3998417 by Matt.Hoffman Keys and Sections can now be moved at the same time inside of Sequencer. Keys can now snap to Sections (and vice versa) instead of just to other Keys. Sections can now be duplicated like keys can. #jira UE-56995 Change 3998427 by JohnHenry.Carawon QAGame: Updating test content for the Movie Rendering feature. - Added an auto activate particle to the beginning of the sequence (it's not part of the sequence at all) - Added an event receiver blueprint to the Events example - Added a particle emitter to both sublevels - Added a camera cut to the end that switches to a separate camera - The camera zoom in, focus and Look At sections are all separate (not overlapping in the sequence) - Added a second actor for the camera Look At - Added a Visibility section for the Actor Hidden In Game track that has possessable and spawnable cube and light Change 3998537 by Max.Chen Sequence Recorder: Restore immersive mode when stopping the sequence even if not in PIE. #jira UE-56407 Change 3999809 by Matt.Hoffman Removed the "Go To" box from Sequencer and instead placed the current time as an always visible control. The previous shortcut (Ctrl + G) now focuses the new widget directly. #jira UESEQ-376 Change 4000543 by Christina.TempelaarL Sequencer: Moving editor-only code from runtime module MovieSceneCapture to editor module MovieSceneTools. Moved EDL and FCP XML exporters as well as Automated Level Scene Capture. #jira UESEQ-358 Change 4000706 by Matt.Hoffman Entering multiple time strings without a number no longer crashes Sequencer. #jira UE-57672 Change 4001051 by andrew.porter MediaFrameworkTest: Fixing up some image sources pointing to the wrong location Change 4001191 by andrew.porter QAGame: Adding some quick EDL/XML test content to dev folder Change 4001243 by Max.Chen Sequencer: Fix import EDL out of range. #jira UE-57665 Change 4001856 by Matt.Hoffman Selecting keys and sections at the same time now also works with animation and audio sections. #jira UE-57716 Change 4002021 by Max.Chen Sequence Recorder: Fix sequence name incrementing. If external recording sets the sequence name, use it. Otherwise, use the recording name from the recording group or the recording settings. #jira UE-57712 Change 4002618 by Max.Chen Viewport: Update the look at location when updating to a locked actor. This fixes an issue so that popping the view out of a locked actor and manipulating the view will not jump to the previous look at location. #jira UE-57725 Change 4002979 by Matt.Hoffman Fixes several edge cases with the end time range that was causing confusion about what the last frame of the sequence was. Dragging the End Frame slider will no longer be off by one tick and jumping to the end via the UI controls now properly respects snapping and stays inside the play range instead of falling outside of it. Overall behavior does not change though and End Frame should be considered an exclusive frame so that frames 0-150 results in a 150 frame long animation (which is frames 0-149). #jira UE-56367 Change 4003185 by Matt.Hoffman Fixed a regression that prevented a section from being dragged upwards past row 0 which normally resulted in all other rows moving down. #jira UE-57717 Change 4003193 by JohnHenry.Carawon QAGame: Updates to test content - Shortened frames between the examples from 95 to 30 - Separated camera setting tracks - Lighting example now switches directly from constant red - green - blue Change 4003369 by Max.Chen Sequence Recorder: Refresh next sequence regardless of internally stored sequence name. #jira UE-55757 Change 4003586 by JohnHenry.Carawon QAGame: Test Content Updates - Level Visibility track now ends to that the levels are not visible when we move to the next example - Shortened camera section, removed Z tranform so that we just move left to right and shortened the overall length Change 4004414 by Max.Chen Movie Scene Capture: Fix regression where rendering with shot handles would only render the first shot. 3972166 addressed an issue where an extra frame would be rendered by finalizing right when the end frame was reached. This was hit on the first shot end frame, so instead, do this only for when the last shot is being rendered. #jira UE-57314 Change 4004765 by Christina.TempelaarL Sequencer: Fixed bugs in FCP XML import/export. - Export: fixed sequence default resolution. - Export: fixed XML files with no shots. - Export: all sections clipped to playback range. - Export: fixed incorrect section start/end times due to precision issues. - Import: fixed incorrectly adding cinematic tracks. - Import: fixed bugs creating new sections. #jira UE-57660 #jira UE-57662 #jira UE-57655 #jira UE-57761 Change 4005119 by Max.Chen Sequencer: Export/import at play rate Change 4005195 by Max.Chen UMG: Finish UMG evaluation on stop. Added object version so that existing UMG assets do not change. #tests - Newly created UMG animation with sections set to restore state now return to their original state. Existing UMG animations with sections set to restore state do not return to their original state. #jira UE-52285 Change 4005377 by Michael.Karambelas QAGame: Moving TM-SequenceRecorder and related content out of my developer folder and into /Content/Sequencer/SequencerRecorder/* Change 4005417 by Michael.Karambelas QAGame: Fixed a BP compiler in the Level Blueprint of TM-SequencerRecorder. Change 4005634 by Michael.Karambelas QAGame: Fix up missing content and broken level sequence in TM-SequenceRecorder after move Change 4006324 by Max.Chen Sequencer: Reset if the focused movie scene is null. This fixes a crash if the user is focused in on a shot and undo takes the user past the point of where the shot was created. #jira UE-57752 #jira UE-47661 Change 4007006 by Max.Chen Sequencer: Fix FindAvailableRowIndex so that it returns the max row index (and not +1) since it doesn't find any conflicting rows. #jira UE-57717 Change 4007907 by Max.Chen Sequencer: Fix crash if there's no animation Change 4007948 by andrew.porter QAGame: added test content to dev folder for Record World Space Change 4008636 by Max.Chen Sequencer: Fix import fbx not setting values properly and creating additional cameras unncessarily. #jira UE-57864 Change 4008759 by Max.Chen Sequencer: Follow up fix for import cameras #jira UE-57864 Change 4009994 by Matt.Hoffman Dragging the left or right handles of the Time Range slider in Sequencer will now zoom your view in on the current center of the screen. This prevents the view from being translating as you tried to zoom in which caused issues at high zoom levels. #jira UESEQ-407 Change 4010169 by Christina.TempelaarL Sequencer: FCP XML fixes. - FCP XML export - no longer clips to playback range - FCP XML and EDL export - fixed missing last frame of some sections after exporting to Premiere. - Automated level capture, EDL export - use RoundToFrame instead of FloorToFrame for computing section start/end frames after frame rate conversion. #jira UE-57802 - partial fix, movie scene capture still needs to render full section rather than clip against playback. Change 4010287 by Mike.Zyracki Add quaternion interpolation option to UMovieScene3DTransformSection. This mimics how Matinee used to work by bascially finding the keys between a time and interpolating the angles as quat's between them. As noted in the code the algorithm needs to handle the case when the x,y,z Rotation keys all aren't at the same time which was not handled by Matinee. Also like Matinee, when in quaternion interoplation mode, we need to not display the function cuves since the interpolated and key values are now all different. (Would like to show them but that's a bigger refactor for perhaps just a one off needed by quaternions). I added a virtual function UMovieSceneSection::ShowCurveForChannel for this since it needs to be dynamic, not on construction of IKeyArea's, and could be useful for other sections. I could though move the method to just UMovieScene3DTransformSection and do a cast instead. Looked into doing a unit test for this but after talking with Andrew P we will work on doign an automated test in EngineQA since that will provide more coverage. Will also add a video the jira. #jira UESEQ-403 Change 4010713 by Mike.Zyracki Added option to key a group of transform channels instead of just the changed channel, or all of them. This is useful for quaternion interpolations where you want rotation keys to be aligned but also useful for other workflows like animating FK Pose to Pose. Change 4010715 by Andrew.Porter MediaFrameworkTest: Setting LogMediaUtils logging from VeryVerbose to Verbose to cut back on the spam Change 4013048 by Max.Chen Sequencer: Fix play/jump status. Update the player status for all position methods (Scrub, Jump, Play). Jump means Stopped. Correctly use PlayTo or JumpTo based on position method. In PlayInternal, JumpTo with the Stopped state (rather than playing state). #jira UE-57844 Change 4013479 by andrew.porter QAGame: Added content in TM-SequenceRecorder to test recording a property on a Cine Camera Component; Press 3 to trigger manual focus distance to increment on a timer Change 4014323 by Max.Chen Sequencer: Fix SetPlaybackPosition so that it jumps or plays based on playback status. #jira UE-57844 Change 4015888 by Max.Chen Sequencer: Fix crash on paste. UMovieSceneSections were gathered from the track node's track. For sub track mode, we want to gather only those sections on that track node row. #jira UE-57951 Change 4015943 by Max.Chen Sequencer: Fix moving shots up when the mouse pos goes outside of the virtual track area. #jira UE-57717 Change 4016293 by Max.Chen Sequencer: Fix relative frame playback end frame calculation so that custom start/end frames remain in the space of the sequence and are not relative. #jira UE-57308 Change 4017075 by Andrew.Rodham Sequencer: Corrected initial evaluation range used when calling UMovieSceneSequencPlayer::Play() Change 4017270 by Christina.TempelaarL Sequencer: FCPXML importer and movie scene capture - Use CeilToFrame when converting section start/end frame times to frame numbers in FCPXML and movie scene capture. - Added support for clip metadata in FCPXML. - Got rid of redundant TokenizedError message class, no longer needed now that FCPXML is in editor directory. - Added log messages currently commented out due to exception, still testing. #UESEQ-358 Change 4018370 by Christina.TempelaarL Sequencer: fixed FCPXML log messages regarding sections with start/end not divisible by display rate. #UESEQ-358 Change 4018378 by Christina.TempelaarL Sequencer: fixed error in previous changelist. #UESEQ-358 Change 4019457 by Max.Chen Sequencer: Show event names only when the event track is selected #jira UE-57897 Change 4022806 by Max.Chen Sequencer: Fix crash on movie scene capture dialog shutdown if movie capture wasn't even started. #jira UE-58106 Change 4022894 by Max.Chen Sequence Recorder: Wrap OpenEditorForAssets after sequence recording within GIsEditor #jira UE-58084 Change 4024487 by Max.Chen Sequencer: Add tooltip for quat interpolation #jira UE-58113 Change 4024562 by Max.Chen Sequencer: Change path/attach track sequence binding id to currently focused sequence id so that bindings can be created in subsequences Change 4027414 by JohnHenry.Carawon QAGame: Checking in content that shows a bug with using particles systems and Delay Before Shot Warm Up. Change 4028990 by Max.Chen Sequencer: Fix evaluate sub sequences in isolation. This check was added with the compile on the fly logic. Not sure why it was necessary but it seems like the sub sequence data needs to be updated in order to evaluate sub sequences in isolation. #jira UE-58184 Change 4029004 by Max.Chen Sequencer: Ensure that old binding references are removed when re-assigning actors in sequencer #jira UE-57898 Change 4030997 by JohnHenry.Carawon QAGame: Fixing name of the master sequence Change 4031785 by Michael.Karambelas QAGame: Added an instance of ThirdPerson Run to TM-SequenceRecorder for Record to Possessable test. Change 4035548 by Andrew.Rodham Sequencer: Changed FMovieSceneEvaluationTemplate::TemplateSignature to be a serial number to address non-deterministic cooking issues - This commit is related to the repro steps found in 3914599 and 3934307, both of which have been verified with this new change. - Copy of 4031684 from //Fortnite/Main/... #jira FORT-84852 Change 4036312 by Max.Chen Sequencer: Fix zoom view range so that it uses the passed in InZoomDelta Change 4036318 by Max.Chen Sequencer: Auto size now returns a range and defaults to the channel proxy range so that keyed regions can also be autosized. Change 4036322 by Max.Chen Forgot missing change Change 4036360 by Max.Chen Sequencer: Fix play rate calculation when skeletal animation section play rate changes. Change 4037163 by Mike.Zyracki Weighted Tangent Implementation Tricky thing is that you need to solve a cubic in order to get the bezier weights for the time part of the curve. See https://www.gamedev.net/forums/topic/474094-help-function-curves-for-animation-interpolation/ Maya provides an implementation in it's dev kit but I didn't use it since it was horribly slow and uses an iterative solution to solve the cubic needed. Instead I use an old algorithm (Cardano's method), to solve the cubic which should be much faster. Though relative simple to code from principles I just went ahead and used a version from Graphics Gems 1. I put this cubic solver directly in MovieSceneFloatChannel.cpp, but will need to move it when we support Rich Curve, maybe to FMath:: (which would probalby require some other functions for solving quartics, etc.. for completeness.). Also note we resolve this on every evaluation but dont' need to if the interval the time is evaluating hasn't had any change in values or tangents. So again when we support FRichCurve we can create a Weighted Evaluating class that can hold the cache. Also with the tangent drags I got rid of the Cardinal position that was used to calculate non-weight tangents from the key point and just quickly getting a direction. With weighted tangents we need to use the delta instead (otherwise when moving multiple they would all get the same weight based upon distance to the cardinal point. ) For mixed tangents types what I'm defaulting to non weighted if the interval doesn't match. May need to do weighted instead, not sure. What's left is just FBX import, for tomorrow. #jira UESEQ-76 Change 4037435 by Mike.Zyracki Fix fo build warnings from weighted tangent submission. #trivial Change 4038091 by Michael.Karambelas QAGame: Updated a Sequence Recorder group in TM-SequenceRecorder that had an actor missing the animation. Change 4038374 by Andrew.Rodham Sequencer: Refined scrubber styling for level sequences and actor sequences - Scrubber now shows a block the width of a dsplay rate frame, plus a line for the actual evaluated time. UMG reverts back to the previous styling (no block) - Keys that are outside of the playback range are now drawn with a subdued effect - Tick labels are no longer drawn when directly underneath the scrubber Change 4038490 by Max.Chen Sequencer: Expose tangent weight values in details panel. Change 4038620 by Andrew.Rodham Sequencer: Advanced time panel polish #jira UESEQ-426 Change 4038677 by Max.Chen Movie Scene Capture: Redirector for MovieSceneTools.AutomatedLevelSequenceCapture #jira UE-58248 Change 4039739 by Max.Chen Sequencer: Media track should only be supported by Level Sequence Change 4040024 by JohnHenry.Carawon QAGame: Fix EventReciever and OverrideBinding example The level sequence was set to none so the fix was to set it back to TrackEvaluation_Master. Change 4040610 by Andrew.Rodham Curve Editor: Moved weighted tangent switchers to a single toggle command (CTRL+W) and added an icon #jira 58383 Change 4040882 by Mike.Zyracki Keep broken when turning on weighted #jira UE-58435 Change 4041089 by andrew.porter QAGame: Sequence for Long Tangents bug Change 4041498 by Mike.Zyracki Turn off weighted when going auto to prevent large tangents. Do it both in UI and when doing AutoSetTangents() to really make sure it doesn't happen. #jira UE-58452 Change 4041752 by andrew.porter MediaFrameworkTest: Adding some better logging for setting rates when not supported. Also ignoring commiting URL when there is no text Change 4041896 by Matt.Hoffman The transform dialog box now transforms selected keys and sections, instead of just keys. #jira UE-58265 [CL 4044405 by Max Chen in Main branch]
2018-05-02 10:10:00 -04:00
FScrubberMetrics Metrics;
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3946692) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3801826 by Max.Chen PR #4304: Level Sequence crash fix - Guarded against dereferencing null componen. (Contributed by DSDambuster) Change 3801828 by Max.Chen PR #4302: Movie Scene Visibility Template unitialised variable, causing random . (Contributed by DSDambuster) Change 3801837 by Max.Chen Sequencer: Delay spawning/construction for convert to possessable. This fixes a bug where property values would be lost when converting back and forth from possessable to spawnable. #jira UE-52400 Change 3801841 by Max.Chen Sequencer: Make spacer nodes not selectable. PR #4194: Improvements to Sequencer (Contributed by projectgheist) #jira UE-53117 #jira UE-52139 Change 3804183 by Max.Preussner MediaAssets: Added missing lock in media sound component Change 3805414 by Max.Preussner MediaAssets: Setting valid GUID when initializing media texture resource Change 3819578 by Max.Chen PR #4370: When enabling the "MovieCapture", do not turn off the Stereo-3D display. (Contributed by yehaike) #jira UE-53647 Change 3823414 by Max.Chen Curve Editor: Lock down the first and last keys in the redundant keys removal range so that they're unaffected. #jira UE-53591 Change 3826406 by Max.Chen Sequencer: Move OnStartedPlaying() to within first update in UpdateTimeCursorPosition(). This fixes an issue where setting the hud/player visibility was getting stomped on later. #jira UE-52772 Change 3827044 by Max.Preussner MediaAssets: Added sprite visualization to media sound component #jira UE-53594 Change 3827988 by Max.Preussner MediaPlayerAssets: Fixed Media Texture is not linked to Media Player when created together #jira UE-53532 Change 3828506 by Max.Preussner MediaPlayerEditor: Added attenuation visualizer for media sound components #jira UE-53594 Change 3832590 by andrew.porter EngineTest: Added a keep state check in Property Animation sequencer test Change 3833053 by andrew.porter EngineTest: Adding Hierarchical Bias test Change 3835683 by andrew.porter EngineTest: Adding UMG Animation screenshot test Change 3836076 by Max.Chen Sequencer: Fix audio volume and pitch multiplier deprecation. Change 3836230 by andrew.porter EngineTest: Adding Sequence Bone Position automation test Change 3836347 by Max.Chen Sequencer: Fixes to shot name parsing. When a shot doesn't contain a shot number, assume, [ShotName]_[TakeNumber]. When duplicating a shot, put the new shot in the same path of the original shot, so that the take numbers will increment properly. #jira UE-51868 Change 3836552 by Max.Chen Sequencer: Sub section now has a takes menu Change 3838094 by Max.Chen UMG: Fix template finish not getting called on stop. This fixes a bug where sections aren't restored when finished. #jira UE-52285 Change 3838708 by Max.Chen Sequencer: Add notification when the blend type is changed. #jira UE-54046 Change 3840295 by Max.Chen Sequencer: Fix copy/paste crash for lights #jira UE-54084 Change 3840957 by Mike.Zyracki Added Show Only Keyable and Show Only Animated to the filter list in the property editor. Added IsPropertyAnimated to IDetailKeyframe Interface which already had support for showing properties which are keyable (which is used for the key icon next to the properties.). Could have created another interface but then would have had to mimic the sequencer binding, releasing also, so this seemed best way. One issue still left is that custom built detail items currently don't store associated properties(usually) and so certain properties, in particulalry transforms, won't show up as keyable or animated. Note this also shows up with the keyable icon not showing up next to transform tracks, and other filters like Show Only Modified not working with transforms/customs. Not sure best way to tackle this. #jira UESEQ-328 Change 3841756 by Max.Chen Sequencer: Fix unbound possessable components when pasting spawnables. #jira UE-54104 Change 3843950 by andrew.porter EngineTest: Renaming LevelStreaming tests/content to LevelVisibility Change 3844082 by Mike.Zyracki Missing file for animated filter in property editor. When finding if a track is animated we need to find it but we can't easily induce the MovieTrack class for any particular property. So we don't set a class for it and just search by it's ID and name. #jira UESEQ-328 Change 3846902 by Max.Preussner ImgMedia: Fixed image media player never finished initialization if loading failed #jira UE-54247 Change 3849820 by Mike.Zyracki Reassigning deleted widgets didn't work since the menu extender mechanism needs a valid UObject in order to perform an operation on it. So to fix we replaced GetObjectBindingContextMenuExtender in WidgetBlueprint with new delegate mechanism (OnBuildCustomContextMenuForGuid) that supports FGuid in addition to UObjects which is needed to handle re-binding deleted widgets. Note that the default sequencer hacks this for replacing deleted actors in SequencerObjectBindingNode to check to see if a LevelSequence is active. We could move to this mechanism there also. #jira UE-53163 Change 3852211 by Max.Chen UMG: Indicate name of the property that is not bound. #jira UE-54350 Change 3854120 by Max.Chen Sequencer: Fix sibling folders being allowed to have the same folder name. #jira UE-54363 Change 3854627 by Max.Chen Sequencer: Step to next/previous key should work for all tracks if there aren't any selected. #jira UESEQ-391 Change 3855825 by andrew.porter EngineTest: Adding animation blending automation test Change 3855950 by andrew.porter EngineTest: Adding correct expected valuues to animation blending test Change 3856237 by Matt.Hoffman UESEQ-336 - Sequencer Track Reordering Adds the ability to re-order Master Tracks, Folders and Object Bindings within sequencer hierarchies (including UMG). Adds the ability to do a one-off sorting of the content under the old sorting behavior if the user wants to reset their layout to how it was under legacy behavior. Modifies SequencerTrackNodes, SequencerFolderNodes and SequencerObjectBindingNodes to handle CanDrop/OnDrop for above, below and ontop of. Fixes a Slate Issue that forcibly expanded a TreeviewRow if an item handled OnDrop. Slate will now only forcibly expand the row if the item says the drop happened ontop of the item, and not above or below it like it previously did. Change 3856503 by andrew.porter EngineTest: Adding automation test for using animation blueprint with blend multi node in sequencer Change 3857875 by Max.Chen Sequencer: Assign the sequence id after the template is compiled. #jira UE-54462 Change 3858344 by Max.Chen Sequencer: Prevent Goto and Transform boxes from overlapping by allowing them to be visible at the same time in an autosized horizontal box. Also, added close button to the goto box. PR #4425: Prevent Goto and Transform boxes from overlapping in Sequencer ... (Contributed by projectgheist) #jira UE-54210 Change 3860566 by andrew.porter MediaFrameworkTest: Set the option to index 0 for the audio and video track list by default Change 3860654 by andrew.porter EngineTest: Enabling Camera Cut + FOV test Change 3860981 by andrew.porter EngineTest: Updating skeletal mesh tests with a delay after set playback position Change 3861256 by Max.Chen Sequencer: Add all bindings if none selected. #jira-54440 Change 3862154 by Andrew.Rodham Added TimeManagement module Change 3862424 by andrew.porter EngineTest: Turned on the test Bone Positions with Blend Multi Node Change 3862573 by andrew.porter EngineTest: Adding test to compare bone positions in a sequence that is blending an animation that is using an AnimBP Change 3865117 by Max.Chen Sequencer: Stop auto scroll on mouse release of movement. #jira UE-31212 Change 3865303 by Max.Chen Sequencer: Add drag and drop transactions #jira UE-54662 Change 3865304 by Max.Chen Sequencer: Fix crash when an actor factory is not found. Change 3865361 by Max.Chen Sequencer: Don't change the camera/shot lock button when popping out of a sequence. #jira UE-54665 Change 3865412 by Max.Chen Sequencer: Determine whether a transform track is for a camera by using the spawned object or template #jira UE-54666 Change 3865685 by Max.Chen Sequencer: Clear autoscrub offset when stopping autoscroll #jira UE-31212 Change 3865886 by Max.Chen Sequence Recorder: Log an error if the number of frames changes while recording. This can happen if the skeleton changes while recording. #jira UE-48715 Change 3866925 by Andrew.Porter MediaFrameworkTest: Changing the current PNG test video image sequence to 1024 x 576 Change 3867705 by andrew.porter QAGame: Adding Audio Sort Sequence to dev folder Change 3867890 by andrew.porter QAGame: Adding a sequence for testing a sorting crash to my dev folder Change 3872628 by Max.Chen Movie Scene Capture: Split delay before warmup into split delay before shot warmup so that there's separate controls for when the movie scene capture warmups up vs. shot boundaries. Change 3873131 by Matt.Hoffman UE-54732 - Crash reordering a folder with a track. This was caused by folders being the only type of track to check if someone was putting a parent track into a child track. Object Binding tracks and Tracks now check as well so that you can't use the above/below drop targets to add parents as children. This also fixed a typo in the localization keys. #jira UE-54732 Change 3873301 by Mike.Zyracki Added ability to support continous euler angle changes when changing rotations, in particularly with the rotation gizmo's. To do this we effectively added a form an of 'euler filter'(https://en.wikipedia.org/wiki/Euler_filter) to find the closest euler angle to the current euler angle. Three functions were added to FRotator to make this possible, one to get the euler angle that's has the same rotation as it, one to get the difference between two euler angles via Manhattan distance and a third using the previous two to choose a Rotator value that's closest to it. We then use these functions before calling UComponent::SetRelativeRotation to make sure we use the correct Euler after the Quat conversion. We also no longer limit(bound) the euler angles to -180,180, which is obviously necessary to avoid flips. I also changed how we caluclate yaw and roll when pitch is -90 or 90 to make it the standard approach of zeroing out roll and just setting yaw. Main reasons are the previous implementation had precision issues so things like 180, 90, -180 would show up due to numbers being nearly zero but negative,(this would break any smooth interpolations), and this facilitates having a 'gimbal' rotation mode (like Maya, Blender etc..) if we ever want that also. If needed we could keep the previous implementation but would need to add some FMath::IsNearlyZero checks, with less performance. Note we only do this special filtering when applying delta's to actors or components in the editors, which then call UComponent::SetRelativeRotationExact, which is a new function to foces the RelativeRotation to be equal to the new rotation. This allows us to store un-nomalized Rotators at the cost that the RotationCache may be broken. We didn't change any of the other UComponent functions that set rotations (via Quats or Transforms) so they will still be bounded and unwound. In SetInternalWorldLocationAndRotation we only set the rotation if the rotation has changed, which fixes the rotation getting changed and re-normalized if just translate happens. In TransformTrackEditor, we correclty use the bUndwing flag and in MovieScene3DTransformSection there was an un-needed winding check there, it will be unwound earlier if needed, which happens if Sequence Recording is happening. Max we should talk about what to do about this . Note the euler angle drag via the widget is still bound to 0-360. I think we should just unbound that now since the rotations value are now unbound. This review now includes fixes suggested by Zak. #jira UE-UE-22228 Change 3873483 by Matt.Hoffman Sequencer Tracks can now be inserted above the spacer at the bottom of the tree. #jira UE-54706 Change 3873899 by Max.Chen Sequencer: Add section selection throbbing Change 3873908 by Max.Chen Movie Scene Capture: Added logging per frame Change 3873924 by Matt.Hoffman Adds the ability to store Sequence Recorder setups into profiles that stay with the map and can be re-loaded later. Profiles store the Actor Recordings so the settings for each actor should carry with them. #jira UESEQ-339 Change 3874726 by Matt.Hoffman Disable drag-and-drop targets on spacers that come between rows in Sequencer. This prevents extra drag/drop targets showing up between each row. #jira UE-54706 Change 3874862 by Matt.Hoffman Audio Track no longer gets reordered when adding sub-audio tracks, as sub-tracks are no longer counted towards the sorting order index when normalizing indexes. #jira UE-54727 Change 3875905 by Matt.Hoffman Disable Fade Track UI if a fade track already exists in the sequence. #jira UESEQ-393 Change 3876163 by Max.Chen Sequencer: Swap the camera object to the camera component's owner if it's not the same. #jira UE-54874 Change 3876971 by Andrew.Porter EngineTest: Moved Media Player Seek test to new folder. Also enabled the test with new ground truth image. Change 3877040 by Max.Chen Cine Camera: Split camera properties to two groups, "Camera Options" and "Camera Settings". The cine camera now hides properties in the "Camera Settings" group so that properties like bConstrainAspectRatio (in the "Camera Options" group) can be visible. #jira UE-54192 Change 3877763 by Max.Chen Curve Editor: Fix curve changed on end drag so that only curves that had keys/tangents that were changed receive notification, otherwise all loaded curves were getting notified that they were changed. #jira UE-54951 Change 3878234 by Matt.Hoffman Disable "Drop Below" targets for Sequencer Tree nodes to prevent a confusing UX issue where dropping underneath a Object Binding Node puts it after the object binding node but the UI looks like it's inserting it inside the Object Binding node. #jira UE-54743 Change 3879359 by Mike.Zyracki If a track is inactive we dim it a bit which seems to be the UE4 way to show inactive or disabled state. We changed the active logic so that all subtracks need to be inactive for the track to also be inactive(instead of all active for active). This conforms to how the active state actually works, e.g if you have two sections and only one is active the track is still active above it. #jira UESEQ-388 Change 3879462 by Max.Chen Sequencer: Allow dragging onto a particular row which would move out any overlapping sections to make space for the newly created section. Newly created sections are now selected and throbbed to draw attention to themselves. #jira UE-54664 Change 3879464 by Max.Chen Sequencer: Fixed overlapping ranges being inserted into the evaluation field during compilation - The issue was that track segments that had been combined with adjacent segments (due to them being identical) would potentially cause a subsequently compiled frame to overlap with a range that had already been inserted into the evaluation field. - The insertion code previously asserted that only minor overlaps were catered for (due to fp rounding errors) and assumed that a supplied range could not entirely contain any other range in the field. - The solution is to supply the insertion time along with the range to know exactly where the data should live in the field, and crop the range to the maximum allowable space between adjacent ranges. #jira UE-54922 Change 3879590 by Matt.Hoffman Items that are now added to the Sequencer via the "+Track" menu will be selected after being added. Items can now be added inside of folders instead of just to the root level. #jira UE-27397 Change 3879612 by Mike.Zyracki Display Nodes with no children are always active. #jira UESEQ-388 Change 3879730 by Matt.Hoffman Sequence Recorder's actor recording groups now remove items from the group when removed via the UI. #jira UESEQ-339 Change 3880256 by Mike.Zyracki Fix issue with inactive display with folders and other track nodes. #jira UESEQ-388 Change 3883491 by Max.Chen Fix issue where tick is skipped due to last ticked pose isn't cleared after AnimInstance changes. Copy from Release-4.19 #jira UE-51323 Change 3883603 by Max.Chen Movie Scene Capture: Add option toggle disable screen percentage. By default this is on (no change in current behavior). #jira UE-51898 Change 3885074 by Max.Preussner MediaCompositing: Resetting media texture & freeing resource on section end; removed dead code Change 3887220 by Max.Preussner MediaCompositing: Defaulted media section duration to 1 sec (since we do not know the actual duration in most cases) Change 3887478 by Matt.Hoffman Sequences now show [Inactive] in their title bars when they're disabled. This helps communicate why a sequence isn't being evaluated. #jira UE-51469 Change 3888985 by Max.Chen Movie Scene Capture: Clamp HDR Compression Quality between 0 and 1. #jira UE-55136 Change 3893519 by Max.Chen Sequence Recorder: Clarified tooltip for bRecordNearbySpawnedActors - spawned actors will still be recorded if they match the ActorFilter. #jira UE-55238 Change 3893546 by Max.Chen Sequence Recorder: If a selected actor already has a recording, add a blank recording. #jira UE-55239 Change 3894044 by Max.Preussner MediaCompositing: Added support for seeking into a media section Change 3894310 by andrew.porter MediaFrameworkTest: Adding Img media sources for 1080 and 2160 ravent test content Change 3894426 by Max.Preussner MediaAssets: Letting media textures with AutoClear retain their clear color when player is reset Change 3895717 by Max.Chen Sequencer: Null checks to prevent crash when saving the default state of a spawnable #jira UE-55304 Change 3897388 by Max.Chen Sequencer: Don't update current time to be within the view range when stepping into a sequence. #jira UE-55322 Change 3897452 by Max.Chen Audio: Fix crash when trying to record audio without any active capture devices. Log warning if the number of input channels is not 1 or 2. #jira UE-55223 Change 3897619 by Max.Preussner MediaCompositing: Removed commented out code Change 3898072 by Max.Chen Sequencer: Override the animation asset in the player state if it doesn't match the animation asset that's being evaluated. #jira UE-55328 Change 3898272 by Max.Preussner MediaPlayerEditor: Made slate brush constants static Change 3898704 by Max.Chen Sequencer: Skip if the binding id's sequence can't be found. #jira UE-55337 Change 3899855 by Max.Preussner MediaCompositingEditor: Added cache state visualization to media track Change 3900300 by Max.Preussner MediaCompositingEditor: Added loop indicators to media sections Change 3900694 by Max.Preussner ImfMedia: Looping cache only when player is looping Change 3900892 by Max.Preussner Stats: Added stats category for media framework Change 3900954 by Max.Preussner MediaCompositing: Don't evaluate at the end of media section Change 3901348 by Max.Preussner Core: Replaced TLruCache autos for better readability Change 3901655 by Max.Preussner ImgMedia: Added more perf stats to EXR reader Change 3901972 by Max.Preussner MediaAssets: Added getter for media player in media sound components Change 3902233 by Max.Preussner MediaAssets: Enabling media textures to receive samples right after player is assigned Change 3902238 by Max.Preussner MediaCompositing: Working around init/shutdown idiosyncracies in sequencer Change 3904045 by Max.Chen Sequencer: Fix copy/paste crash. Only process UMovieSceneCopyableBinding and objects that can be spawned by the movie scene spawn register. #jira UE-55314 Change 3905605 by Max.Chen Sequencer: Restrict spawnables from being created if they have a ClassWithin that UMovieScene is not a child of. #jira UE-55429 Change 3906550 by Max.Chen Sequencer: Add media track icon #jira UE-55480 Change 3907101 by Max.Chen Sequence Recorder: Fix bugs related to not recording a level sequence. There were certain assumptions that creating a level sequence meant that sequence recording was in progress. This is not always the case - the recorders can record animation assets and not create a level sequence. Changed the notion of IsRecording() to having at least one actor recording that is recording. Countdown timer, recording displays, etc should function if IsRecording() and not based on whether a level sequence is created. #jira UE-55485 Change 3907247 by Max.Chen Sequence Recorder: Fix crash not removing PrepareToCleanseEditorObject delegate. Repros when opening sequence recorder, closing it, and then opening or creating a level. Change 3910343 by Max.Preussner Core: Added async helper for executing functions on a given thread pool Change 3910346 by Max.Preussner ImgMedia: Added separate thread pools for loading/decoding and deleting image frames Change 3910829 by Max.Preussner Profiler: Increased visible range of profiler graph Change 3910841 by Max.Preussner MediaCompositing: Displaying asset name instead of full media source path in media section Change 3910870 by Max.Preussner ImgMedia: Using deallocation thread pool only in debug builds Change 3919642 by Max.Chen Sequence Recorder: Clarify active tooltip #jira UE-55661 Change 3919660 by Max.Chen Sequencer: Sequence template source signatures are now also compared to catch the case where a sub-sequence asset has been saved but not modified - The following sequence of events exposes this issue: - Create a master sequence with a single shot that spawns a cube - Add this sequence to a level and set it to auto-play - Save everything and restart - Resave just the inner shot asset without opening it - PIE - The inner shot never spawns its cube because its template was wiped on save, but its signature never changed. Since the master sequence previously didn't check the template source signature, it ends up trying to evaluate an empty template. #jira UE-55626 #jira UE-55490 Change 3921825 by Max.Chen Sequencer: "Run Construction Script in Sequencer" is off by default for blueprints but on for Sequencer. This allows the content author to switch it on for specific blueprints and sequencer will be default, run those with construction scripts enabled. Change 3922232 by Max.Chen Sequence Recorder: Reset countdelay on stop. #jira UE-55755 Change 3922306 by Max.Chen Sequence Recorder: Don't automatically mark transforms to be recorded by sequence recorder. Instead, log a warning if the user toggled it off to warn that the resulting animation might not match gameplay. #jira UE-55758 Change 3922912 by Max.Chen Sequence Recorder: Fix refresh next sequence name #jira UE-55757 Change 3927654 by Max.Chen Movie Scene Capture: Added format mapping for the name of the current camera #jira UE-55769 PR #4537 Change 3927658 by Max.Chen Sequencer: Added fbx property mapping for "FocusDistance" to "FocusSettings.ManualFocusDistance" #jira UE-55782 Change 3932022 by Max.Chen Sequencer: Add import animation track section to next available row index. #jira UE-55892 Change 3933919 by Max.Chen Sequencer: Jump to playback start frame and not 0 to start playback for recording. #jira UE-55933 Change 3934307 by Andrew.Rodham Sequencer: Add template signature that is re-generated every time the base template is regenerated, which invalidates evaluation fields This fixes an issue where the same sequence is instantiated multiple times in a sequence. If the source sequence was saved, its template would be wiped, which would invalidate the template ID When an instance tries to evaluate the master template, it would only invalidate a range in the evaluation field that was the hull of any invalid sub sequences overlapping the current time, potentially leaving invalid data in the evaluation field at positions later (or earlier) on in the sequence When the sub template was re-generated, it receives the same SequenceSignature as it had before (because the sequence hasn't actually changed), which causes the stale evaluation field data to fail the IsDirty check (because the sequence is the same as it thought, but the *template* has changed) This has been addressed be adding a signature to templates themselves, and checking both the template signature and sequence signature as a part of the IsDirty check. This ensures that we regenerate if either the template, or the sequence have changed. #jira UE-55934 Change 3936327 by Andrew.Rodham Sequencer: Removed increment when trimming right UMovieSceneSection::TrimSection already explicity assigns an exclusive bound to the time passed in. The new behavior means we can trim a section to the right, and insert another section without changing the time to create adjacent sections. #jira UE-42652 Change 3936328 by Andrew.Rodham Fixed KeyFrameManipulator assignment operators and copy/move constructors - These types are potentially self-referential so cannot use default constructors/assignment Change 3936330 by Andrew.Rodham Converted UMGSequencePlayer to use frames internally #jira UE-54878 Change 3936726 by Max.Chen Sequencer: Set track node as the parent of the key area node. The key area switcher needs the object binding id from the parent object binding node. Without this, the binding to the external value fails. #jira UE-55931 Change 3936775 by Max.Chen Sequencer: Should stop or loop should compare DurationFrames with Current Time from StartTime. The bug is that if you set 30 warmup frames in movie rendering for a range of 0-100, the FrameRange will be starting at -30 and have a duration of 130. Without this fix, the playback will continue until frame 130, rather than 100. #jira UE-55933 Change 3936935 by Matt.Hoffman Easing Curves are now represented in Play Rate resolution instead of internal resolution. #jira UE-55937 Change 3937069 by Matt.Hoffman Users can toggle if the is infinite on each side, limited by which tracks support infinite ranges. #jira UE-55891 Change 3937516 by Max.Preussner ImgMedia: Added support for single-threaded platforms #jira UE-55986 Change 3937826 by Max.Preussner MediaAssets: Disabling media sound components on HTML5 if AudioMixer is not enabled Change 3937997 by Max.Chen Curve Editor: Add Zoom to Fit Curves so that selected curves from Sequencer can be focused on. Tested that undo doesn't re-zoom. #jira UE-55935 Change 3938000 by Max.Chen Sequencer: Stop all sounds before generating audio waveforms. #jira UE-55951 Change 3938376 by Max.Preussner XGEController: Disabled XGE Controller in single-threaded apps to prevent crash Change 3938444 by Max.Preussner Core: Added async support for single-threaded applications Change 3938445 by Max.Preussner Networking: Added support for single-threaded applications in UDP socket sender/receiver Change 3938447 by Max.Preussner Messaging: Added support for single-threaded applications Change 3939432 by Max.Chen Sequence Recorder: Append command list to global level editor actions so that shortcuts are accessible in level editor. #jira UE-55798 Change 3940229 by Andrew.Rodham Added prospective display rate upgrade to UMovieScene::PostLoad - There was previously some very odd behaviour that would assign the fixed frame interval only when a sub sequence was focused in SSequencer. This meant that many sequences could have a frame interval of 0 set in the data. - Under the old method of snap interval display this would have fallen back to getting the display interval from the sequencer settings, but we no longer look at these. - The USequencerSettings properties have been removed and in their place, a prospective data upgrade for sequences that have a fixed frame interval old 0fps that sets the play rate to the previous defaults based off the old USequencerSettings defaults. - This could end up 'changing' the display rate for sequences where the user has changed the snap interval in the settings for a particular sequence editor, but there's not much we can do about that given we don't have access to the USequencerSettings classes in UMovieScene #jira UE-55919 Change 3940277 by Andrew.Rodham Sequencer: Added ability to default frame resolutions and play rates for newly created actor sequences Change 3940378 by Andrew.Rodham Sequencer: Post move import dialog now defaults to the playback framerate of the sequence, and floors to frame numbers Change 3940559 by Andrew.Rodham Reinstated primed or recording sequence color Change 3940642 by Max.Preussner ImagePlate: Removed image plate media playback functionality Change 3940843 by Max.Preussner Core: Made TCircularQueue actually thread-safe; improved code comments Change 3940860 by Max.Chen Sequencer: Changed StructNameToKey to StructPathToKey Previously, keying a PropertyPath of [RenderTransform][Shear][X] would get trimmed to X, which doesn't map to a channel name as considered by Sequencer2dTransformTrackEditor. Instead, trim the resulting property path to [Shear][X] so that track editors can determine the desired struct path and channels to key. #jira UE-52966 Change 3941292 by Mike.Zyracki Fix for trajectories out of range not showing up. 1) If we had no key data we would pop the time, so wouldn't get the section ranges. 2) Calculating of upper bound was wrong, checking against -1 and not key == num of keys when doing algo::lower_bound. 3) No need to do the Bck-- for the bakward iterators since we fixed #2. We start now from the upper bound correctly. 4) If we had no keys (at section start,end) we would incorrectly say we were any key type, so since we draw constant keys as dashed we would do so incorrectly around section end points. #jira UE-55929 Change 3941424 by Max.Chen Curve Editor: Change Zoom to Fit to use TArrayView Change 3941498 by Max.Preussner Core: Added FMath::DivideAndRoundNearest function Change 3942097 by Matt.Hoffman Drop Frame Timecode Support for NTSC rates. Change 3942104 by Matt.Hoffman Sequence Recorder Group is no longer visible inside the World Outliner after using one. #jira 55266 Change 3942107 by Max.Chen Sequencer: Resurrect logic to find or extend an existing section when adding keys. Change 3942330 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942339 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942507 by Andrew.Rodham Sequencer: We no longer pad the time overlap threshold with a small number that is not scaled by the current zoom level - The presence of this pad was causing keys that were far apart to be grouped when zoomed in a long way Change 3942509 by Andrew.Rodham Sequencer: Only pad total view range, rather than section range as well when retrieving keys to render - This stops us from rendering keys that are within the view range, but outside the section range Change 3942512 by Andrew.Rodham Added transactions to some sequencer details customizations Change 3942513 by Andrew.Rodham Sequencer: Reinstated validation checks to UMovieSceneSection::SetStartFrame and SetEndFrame, changed erroneous uses to use SetRange Change 3942560 by Andrew.Rodham Pass by rvalue reference to appease error C2719 on Win32 ('InChannels': formal parameter with requested alignment of 8 won't be aligned) Change 3942697 by Andrew.Rodham Newly Created Level Sequences and Actor Sequences now default to 24000 fps frame resolution (+/- ~24hrs range, supporting all integer rates + 23.976) Change 3942700 by Andrew.Rodham Sequencer: Added legacy out-of-bounds errors for times that are not supported by the current legacy upgrade frame resolution Change 3942989 by Max.Preussner Core: Fixed circular queue count calculation Change 3943538 by Max.Preussner MediaAssets: Reverted workaround for procedural audio log spam in HTML5 (Actor component initialization cannot be skipped if the component is used in a level) Change 3944071 by Max.Preussner QAGame: Fixed Media Texture keeps last frame of Media when PIE ends #jira UE-53360 Change 3944292 by Max.Chen Sequencer: Added extra flags to ensure that asset initialization does not occur on template actor sequences #jira UE-56113 Change 3944364 by Max.Chen Sequencer: Prevent circular shot/master tracks. Tested adding master -> child -> master as drag and drop cinematic shot tracks and sub tracks as well as through the + button. #jira UE-56091 Change 3944422 by Max.Chen Sequence Recorder: Disable transform recording if off. #jira UE-56061 Change 3944745 by Andrew.Rodham Sequencer: Key rendering fixes - Fixed assert that occured when keys happened to reside on some times due to KeyTime + TimeOverlapThreshold - KeyTime being slightly larger TimeOverlapThreshold - Fixed keys sometimes being clipped when zoomed right in due to lack of half-frame offset - Added missing documentation to MovieSceneTimeHelpers.h #jira UE-56107 Change 3945231 by Andrew.Rodham Sequencer: Reconstruct channel proxy on Serialize to catch all cases of undo/redo, PostLoad and duplication #jira UE-56089 Change 3945301 by Andrew.Rodham Sequencer: Added safety checks during initial sequence recording to guard against applying negative or 0-sized sequence ranges #jira UE-56125 Change 3946627 by Max.Preussner Fortnite: Fixed game crashes closing editor while in PIE - Pure virtual function being called #jira UE-56144 [CL 3946896 by Max Chen in Main branch]
2018-03-14 22:09:33 -04:00
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 4044339) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3947021 by Max.Chen Sequencer: Don't preserve root component when copying object properties. A spawnable empty actor, has a root component that is generated by the empty actor factory. If the object template's root component is preserved when copying from the spawnable empty actor, the root component will not be copied over. Therefore, we need to NOT preserve the root component when copying object properties. #jira UE-55825 Change 3947366 by Max.Preussner WmfMedia: Better log output Change 3947367 by Max.Preussner MfMedia: Better detection of compressed format properties on Windows Change 3949102 by Max.Chen Sequencer: Remove SequenceActorTag when converting to possessable. #jira UE-56206 Change 3949207 by andrew.porter EngineTest: Set the screenshot nodes resolution to 1280x720 Change 3949404 by Max.Chen Sequencer: More informative tooltip for "Rerun Construction Scripts" option. It now says "Rerun construction scripts every frame on actors that have 'Rerun Construction Script in Sequencer' enabled in their class settings". Change 3950067 by Matt.Hoffman Renamed UAutomatedLevelSequenceCapture's StartFrame and EndFrame to CustomStartFrame/CustomEndFrame to reflect that it is user-overriden. This will also resolve upgrade issues due to the variable datatype changing. #jira UE-56189 Change 3950193 by JohnHenry.Carawon Updating my latest MovieRendering test content. Change 3950757 by JohnHenry.Carawon More updates to MovieRendering test content Change 3952059 by Max.Chen Resave LevelVisibility_SubLevels to fix data loss conversion warning of OpacityMaskConstant #jira UE-56086 Change 3952283 by Max.Chen Sequencer: Disable dropping level sequence assets as spawnables. #jira UE-56120 Change 3952422 by Max.Chen Sequence Recorder: Add button to record from the current player. #jira UE-55942 Change 3952987 by JohnHenry.Carawon MovieRendering Test Content - Fixing camera bindings and changing the override binding actor Change 3953823 by Mike.Zyracki Fix for Bad FBX Import Tangents not scaled by frame rate. After looking at this again it seems that a set of MovieScene:: overiddes for the channel traits wasn't set correctly, so use the ADL idiom to use MovieScene, which can then call Optimize in the correct namespace. With this we can now correctly use the passed in tolerance. There was also a redundant set of Optimize calls so that it could happen twice so removed them, and needed an extra check in the float channel Optimize. Also since we need to set auto tangents no matter if we optimize we don't set that parameter(though leave it since it's used by context menu key reduction). Finally fixed speed issue with trajectories caused by calculating way too many substeps. Reverted back to a time based step size for consistency. #jira UE-56193 Change 3954317 by Matt.Hoffman Adding a key to the last frame of a section no longer causes a crash. Keys can already be moved to be on the last frame of a section so now you can just add a key there directly. #jira UE-56255 Change 3954326 by Matt.Hoffman Dilating a section that is only infinite on one side no longer causes a crash. #jira UE-56260 Change 3954486 by Max.Chen PR #4580: Exposes IsReversed() from UMovieSceneSequencePlayer (Contributed by alanedwardes) Change 3955238 by Max.Preussner Messaging: Enabled delayed message routing https://github.com/EpicGames/UnrealEngine/pull/4574 #jira UE-56247 Change 3955901 by Max.Preussner MediaFrameworkTest: Added developer test for overriding desired media player plug-in at runtime. Change 3955922 by Andrew.Porter QAGame: Updating movie rendering content in dev folder Change 3956004 by andrew.porter QAGame: Adding MPC track to movie rendering test content Change 3956510 by Max.Chen Sequencer: Fix fbx camera import of static properties so that they are imported before default tracks are created. Otherwise, the default tracks inherit the default properties of the camera, rather than the values from the fbx. #jira UE-56311 Change 3957613 by Max.Preussner MediaUtils: Added code documentation to media player facade Change 3958005 by Max.Preussner MediaUtils: Added method to get number of sinks Change 3958934 by Max.Chen Sequencer: Fix keys getting added and sequence getting erroneously re-evaluated when auto key is off. Only apply defaults if there are no keys. Only modify the movie scene section before creating keys or setting defaults. #jira UE-55903 Change 3959687 by Andrew.Rodham Sequencer: Fixed visibility track external values being inverted #jira UE-56324 Change 3960507 by Max.Preussner Core: Fixed incorrect rounding in FMath::DivideAndRoundNearest Change 3962047 by JohnHenry.Carawon MovieRendering Test Content Changes: - Add Lightmass Importance Volumes to sublevel to fix warnings - Rebuilt Lighting - Add a third sequence for Gamut testing - Resaved the sound master.uasset to fix warning Change 3962211 by Mike.Zyracki Add Frame Numbers to selected animation sections. Added MapTimeToAnimation to MovieSceneSkeletalAnimation so that we could get it from the Skeleton Animation track Editor. Since the thickness of the frame line can change based upon frame rate and zoom we need to calculate it similarly to how the time slider controller does it. Those calculations were private so we had to expose FScrubRangeToScreen and GetScubberPixelRange from the TimeSliderController. Also needed to know if the section itself was selected so added a bIsSelected flag to the section Painter. Also fixed a bug where you couldn't add a section if other sections existed at different times in MovieScenePropertyTrack and could crash due to the check(). #jira UESEQ-395 Change 3962497 by Max.Preussner Core: Added new string formatting argument to FTimespan Change 3963662 by Max.Chen CineCamera: Flip VistaVision width and height. Change 3963731 by Max.Preussner MediaCompositing: Implemented sequence recording support for media track Change 3964195 by Andrew.Rodham Sequencer: Set inverted property correctly for newly created visibility track sections - Also clamp evaluation for key editors to the bounds of the section so we're not displaying values outside of the section bounds when the cursor is not on the bounds #jira UE-56324 #coderevew Max.Chen Change 3964196 by Andrew.Rodham Sequencer: Fixed crash when attempting to render sections that resulted in a negative intersection with the view range Change 3964275 by Andrew.Rodham Sequencer: Fixed MovieScene::ClampToDiscreteRange for infinite range bounds Change 3964364 by Andrew.Rodham Curve Editor: Reduce minimum vertical view range when zooming to fit Change 3965091 by Max.Chen Sequencer Recorder: Refresh next sequence if empty when starting a recording, otherwise, use existing name. #jira UE-56469 Change 3965148 by Max.Chen Sequence Recorder: Move Record to Possessable to "Actor Recording" group Change 3965162 by Max.Chen Sequence Recorder: Always break out of immersive mode when done recording, even when stopping recording during countdown. #jira UE-56407 Change 3965214 by Max.Preussner QAGame: Enabled ImagePlate plug-in Change 3965574 by Max.Preussner SimpleComposure: Reorganized & upgraded content to work with new Media Track #jira UE-56488 Change 3965651 by Max.Preussner MediaCompositing: Ignoring seek-on-open if media not seekable Change 3966075 by Christina.TempelaarL Sequencer: Added Final Cut Pro 7 XML Export functionality #jira UESEQ-358 Change 3966087 by Matt.Hoffman Adding a single key to the Particle Toggle track now makes an infinite range section that is displayed in the UI. #jira UE-56295 Change 3966547 by Andrew.Rodham Sequencer: Fixed rounding errors when drawing the section background on boolean sections - Logic was using time in sectonds which caused rounding errors on evaluation and flickering red/green stripes when dragging keys around #jira UE-56324 Change 3966563 by Andrew.Rodham Curve Editor: Key editor interface improvements - SKeyEditInterface has a few problems - it does not update in real time when editing properties, and does not support multi-edit which makes it unsuitable for use with the curve editor - We now take a different approach for editing keys by gathering a set of proxy UObjects for each key that is currently selected. These objects are added as top level objects to the details panel which means they support multi edit as you'd expect from any other details panel in the editor. - Proxy objects are updated every tick for the curve editor if they implement the ICurveEditorKeyProxy interface, which allows them to refresh their current value. - Ideally, the same mechanisms would be used in the main sequence interface, and we would be generating the proxy classes at runtime based on the key value type, but that work remains a separate task from this initial offering. #jira UE-56165 Change 3966564 by Andrew.Rodham Curve Editor: Expand to frame when adding or moving keys in the curve editor Change 3967051 by andrew.porter MediaFrameworkTest: Set the CameraPlayer_Video texture to auto clear Change 3967141 by Andrew.Rodham Sequencer: Keep track of spawned objects that have been modified and only re-save such object's default spawnable state on destruction - Now that we're taking this approach, I've remove serveral redundant bits of functionality in the spawn register such as making some spawnables read-only, and the PreSave binding for Sequencer. - We now hook into all object pre-saves to make sure we handle the case where the sequences are saved through the content browser or elsewhere. #jira UE-47686 Change 3967170 by Andrew.Rodham Sequencer: Added the ability to possess anim instances as object bindings - This allows full and direct animation of properties on UAnimInstance, and animation blueprints - Object Bindings are made by first possessing a skeletal mesh component, then choosing the + Add button where its anim instance will be listed - Added a new function to UMovieSceneSequence to gather previously cached objects that should now be invalidated. Anim instances will be re-resolved if a new UAnimInstance is assigned to USkeletalMeshComponent::GetAnimInstance. - ObjectBindingIDs for anim instances are just represented by an entry in a set of GUIDs. We only ever resolve such bindings through USkeletalMeshComponent::GetAnimInstance. - Only currently supported on LevelSequences #jira UE-56132 Change 3967195 by Max.Preussner Core: Updated TRangeSet to use TCallTraits Change 3967345 by JohnHenry.Carawon Test Content Changes - first iteration of spacing out the examples in the shots. Change 3967572 by Max.Chen Sequencer: Fix setting PreviousPlayEvalPosition until after we've tested whether it's set. #jira UE-56518 Change 3967750 by Max.Chen Audio: Set duration based on number of input channels, rather than number of channels to serialize. This fixes an issue where audio split into 2 channels is set to a duration that's twice as long. #jira UE-56430 Change 3967836 by Max.Chen Sequencer: Allow for animating array elements within ustruct properties #jira UE-55887 Change 3968506 by Matt.Hoffman Fixed ambiguous conversions for seconds and frames being overriden by ambiguous conversion to Timecode (in frames). Change 3968748 by Max.Chen Sequencer: Make the event properties submenu widget larger. #jira UE-55557 Change 3968862 by Max.Chen Sequencer: Recursive expansion when shift is down #jira UE-52139 #pr 4194 Change 3968863 by Max.Chen Sequencer: Bind rename command to selected track so that F2 shortcut start renaming #jira UE-52139 #pr 4194 Change 3968872 by Max.Chen Sequencer: Rekey the selected key at the current time. #jira UESEQ-396 Change 3968938 by Max.Chen Cine Camera: Add option to toggle the behavior of locking the rail mount to the orientation of the spline. By default, the option is off, no change in behavior. #jira UE-55815 Change 3968958 by Andrew.Rodham Sequencer: Consider vertical position when hittesting keys #jira UE-56256 Change 3969643 by Max.Preussner Core: Rounding timespans created from double values towards nearest ticks Change 3969646 by Max.Preussner MediaUtils: Implemented timeout mechanism for block-on-fetch feature Change 3969776 by Mike.Zyracki Added Skip Anim Notifiers Toggle per what was in Matinee. Investigated the Enable Root Motion toggle as also discussed but it's implementation is directly contained by the animation asset and unlike animation notifies there seems to be no exposure to interactively disable it during a playback tick. Note if we are generating thumbnails we still automtically disable notifies in the editor to avoid annoying noise playback. Note that if Enable Root Motion/Root locked is specified in the animation asset it does correctly effect the Sequencer. #jira UESEQ-399 Change 3969835 by Matt.Hoffman Playback Range and Selection Range use unified logic for adding themselves as potential snap locations which properly handles inclusive/exclusive bounds. This resolves an issue where having an unset selection range caused a potential snap location to be added on frame 0 and 1 (internal resolution) which caused a misalignment when placing objects near frame 0. This also removes the one frame offset on setting Selection Range to bring behavior inline with other ranges. #jira UE-55420 Change 3969885 by Max.Preussner MediaAssets: Don't register media player CDO with media ticker Change 3971129 by Andrew.Rodham Sequencer: Fixed UMovieSceneSequencePlayer::GotToEndAndStop() not taking into account for start time This is a remnant from when the times were always specified in 0-duration space, rather than actual sequence times. Change 3972056 by JohnHenry.Carawon More updates to Test Content. I continued spacing out the examples in the sequence so that they have a consistent number of frames between each example and during the start/end of the example. Also removed the Marcie sublevel. Change 3972066 by Andrew.Porter MediaFrameworkTest: Setting Marcie folder to be never cooked in package settings Change 3972675 by Matt.Hoffman Splitting Subsequence Sections no longer sets an incorrect playback range on the subsequence when the subsequence has a different internal resolution than the owning sequence. #jira UE-55453 Change 3973376 by Max.Preussner ImgMedia: Zero is the only valid video track for image sequences Change 3973489 by Max.Preussner Launch: Build rules cleanup pass - don't use Media, MediaUtils on server apps - don't link against Media (include-only dependency) - don't include from MediaAssets (dynamic load only) Change 3973760 by Max.Preussner MediaUtils: Moved AppMediaTimeSource implementation into its own file; added logging Change 3973765 by Max.Preussner ImgMedia: Disallowing seek beyond media length Change 3973855 by Max.Preussner MediaFrameworkTest: Updated developer test content Change 3973858 by Max.Preussner MediaCompositing: Blocking on media player time instead of media sample time (the former may not be hit in the current frame) Change 3974988 by Max.Chen Sequencer: Fix trim left so that it also sets the start offset for audio and skeletal animation sections. #jira UE-57015 Change 3976101 by Matt.Hoffman Sequencer will now focus the scroll view on newly created items. #jira UE-56492 Change 3976203 by Max.Chen Property Editor: Add DetailsViewArgs for ColumnWidth. Defaults to 0.65f, no change in existing behavior. Change 3976205 by Max.Chen Sequencer: Set better column widths for sequencer. #jira UE-55557 Change 3976206 by Max.Chen Sequencer: Added menu category for import/export Change 3976265 by Matt.Hoffman Tracks within Object Binding Nodes will now sort using the old behavior so that components are added above other track types. #jira UE-56473 Change 3976901 by Max.Chen Sequencer: Add event names to event track section #jira UESEQ-353 Change 3977878 by Max.Preussner Media: Moved media framework ticking stats into Media module Change 3977982 by Max.Chen Sequencer: Add Edit->Reset section length to duration of source (ie. audio, skeletal animation, shot length) Added MovieSceneSection::GetDefaultDuration and MovieScene::HasDefaultDuration #jira UESEQ-392 Change 3977994 by Max.Preussner Media: Fetching and rendering media samples before viewports are rendered (to ensure frame sync for in-level media playback) #jira UE-53975 Change 3978188 by Matt.Hoffman Easing Curves are now clipped by the sequence's PlayRange when testing against an infinite section. This causes blended sequences to finish their blend when the section starts/ends instead of always using 25% of the total section length to determine default blend range. #jira UE-56362 Change 3978676 by Max.Preussner MediaCompositing: Fixed first frame of rendered out media track missing #jira UE-53975 Change 3978684 by Max.Preussner MediaCompositing: Enabled media track frame sync feature #jira UE-53975 Change 3980026 by Matt.Hoffman Keys can be selected on folded out sections (such as an audio track expanded to show volume and pitch) again. #jira UE-57169 Change 3981614 by Max.Preussner MediaUtils: Added missing subtitle sample queue flush Change 3982311 by Max.Preussner MediaCompositing: Added safeguard for zero length media sources Change 3982389 by andrew.porter QAGame: Adding media track test content into FrameAccuracySubscene Change 3983661 by Max.Chen Sequencer: Add level name to spawn a spawnable into. Add sublevel menu option to set the level #jira UESEQ-390 Change 3983712 by Andrew.Rodham Sequencer: Purge legacy blueprint spawnables from LevelSequence packages #tests Ran a preflight for cooking fortnite, ocean and Orion. Only orion shows up this edge case, and will require a re-save of the EndCines level #jira UE-39173 Change 3983787 by Max.Preussner MediaCompositing: Moved compile time switch for block-on-fetch into media player facade Change 3983812 by Andrew.Rodham Sequencer: Exposed default level sequence instance data to blueprints Change 3984373 by Max.Preussner Media: Added API for quering whether player plug-in supports block on fetch Block on fetch allows Sequencer and other systems to block the game thread until a desired video frame has been decoded. Change 3984670 by JohnHenry.Carawon Movie Rendering Test Content progress. Saving the state of the content. There is a bug where things got replaced with particle emitters and I think it was because I tried to copy paste an animation track into a separate skeletal mesh track. Change 3985097 by Max.Chen Sequencer: Rename Reset to AutoSize Change GetAutoSizeDuration to return TOptional<FFrameTime> #jira UESEQ-392 Change 3986043 by Max.Chen Sequencer: Fix crash when attach/path duration is less than 0. #jira UE-57310 Change 3986373 by Max.Chen Sequencer: Add support for deleting tracks and channels which equates to setting the channel mask. #jira UE-52951 Change 3986375 by Max.Chen Sequencer: Add Create Pose Asset to skeletal animation section. This allows animators to blend animations in sequencer and create new pose assets from them. #jira UESEQ-408 Change 3986796 by Andrew.Rodham Sequencer: Fixed stale object references remaining in ULevelSequence::BindingReferences when using convert to spawnable/possessable - We used to convert objects by creating a new binding, then re-assigning its GUID, which meant we didn't have to do any further object fixup, but the code to achieve this was confusing and led to a vulnerability where object references would not be cleaned up correctly due to the newly created possessable essentially being a temporary object that's immediately thrown away. - To address this, there is now a function for porting all the contents of one object binding to another, and handles the correct fixup required for parent/child object bindings for both spawnables and possessables. - Also added codepath to remove any stale object references from the level sequence reference map on PostLoad (this piggy-backs off the PurgeLegacyBlueprints object version which is close close enough to this change to be identical) #tests Verified that existing sequences with stale references get cleaned up on load. Verified that repreatedly converting from spawnable<->possessable cleans up references correctly. Change 3987807 by JohnHenry.Carawon Updates to the MovieRendering Test Content. - Fixed the spawnable actors that were overwritten - Shortend the Lighting example and combined the Intensity and Color tracks - Organized the Sequence and WorldOutliner to group the examples. Change 3988151 by Max.Chen Cine Camera: Enable keying the "Enable Look at Tracking" toggle. Change 3988880 by Max.Chen Sequencer: Support enter to add asset for all sequencer track editors that have asset pickers. #jira UE-57367 Change 3988953 by Max.Chen Sequencer: Make the track color picker focusable so that it will close when you click away or lose focus. #jira UE-57210 Change 3988962 by Max.Chen MovieSceneCapture: Fix EDL export so that it takes into account movie scene frame resolution and desired frame rate. #jira UE-57365 Change 3988964 by Max.Chen Movie Scene Capture: Clarified tooltip for bRelativeFrameNumbers. If you specify custom start/end frames for the recording, they will be relative to the playback range. #jira UE-57308 Change 3989442 by Max.Chen Fix CIS Change 3991548 by Matt.Hoffman Dragging the time slider no longer causes the time slider to ignore snap-to-interval with "Snap to Keys While Scrubbing" when no keys are in range. #jira UE-57417 Change 3991598 by Matt.Hoffman Snap to Key while scrubbing now mirrors the behavior of "jump to next key". When there are no tracks selected it snaps to all keys and when there are tracks selected it snaps to only keys from that track. This also resolves an issue where deleting an object did not remove it from the Sequencer's selection. Undoing a delete already doesn't seem to restore your selection, so removing it from your selection shouldn't change that behavior. #jira UE-57417 Change 3991603 by Max.Chen Sequencer: Disable EditAnywhere for some section properties #jira UE-53530 Change 3992240 by Max.Preussner MediaAssets: Implemented dynamic audio sample rate adjustment based on audio/media clock drift #jira FORT-70638 Change 3992911 by Andrew.Rodham Sequencer: Fixed saving spawnable state using the wrong spawned object - We now track the object binding ID so that we can apply the spawned object to the correct spawnable when the asset is saved #jira UE-57353 Change 3992914 by Max.Chen Movie Scene Capture: Fix compression quality not being set. The compression interface wasn't being found through query interface, so no compression was being set. Reworked finding it through the output pins. Tested running various compression values. #jira-UE-55488 Change 3992919 by Max.Chen Sequencer: Convert to possessable now uses object template instead of copying properties (ie. see LevelSequenceActorSpawner). This fixes MIDs getting lost when converting to spawnable and back to possessable. #jira UE-52400 Change 3993184 by Max.Chen Sequencer: Don't show +Transform/+Path/+Attach track if the actor has the "Mobility" property hidden. Set the Landscape, LandscapeProxy and InstancedFoliage "Mobility" property to be hidden since it is static is not supposed to be dynamically movable. #jira UE-56347 Change 3993238 by Max.Chen Sequencer: Test for hidden mobility in creating keys as well. Refactored to HasHiddenMobility() #jira UE-56347 Change 3993978 by Max.Chen Cine Camera: Enable keying the "Enable Look at Tracking" toggle. #jira UE-57489 Change 3994039 by Max.Chen Landscape: Add Mobility to hidecategories on landscape component #jira UE-56347 Change 3994626 by JohnHenry.Carawon Updated Movie Rendering Test Content. - Fixed the overridden spawnables to their proper object types. Change 3994653 by Christina.TempelaarL Sequencer: Added Final Cut Pro 7 XML Import functionality, improved Export functionality #jira UESEQ-358 Change 3995609 by Max.Chen UMG: Add support for 2d transform mask (translation, rotation, scale, shear) #jira UE-52951 Change 3995778 by JohnHenry.Carawon Movie Rendering Test Content Updates - Adjusted Lights example - Adjusted Camera example - Added Marcie sublevel back in Change 3995942 by JohnHenry.Carawon QAGame: Moving Movie Rendering test content from Developer folder to Sequencer folder Also adjusted level visibility, lights and camera example. Change 3995993 by Christina.TempelaarL Sequencer: FCPXML Export updates - only export sections if in playback range and media exists, warn if media does not exist. Other updates - removed unused methods and variables, fixed message context naming to be more accurate #jira UESEQ-358 Change 3996595 by andrew.porter QAGame: Updating Marcie content in TrackEvaluation level to use Image Plate Change 3996614 by andrew.porter QAGame: Adding color test sequence to the sublevel Change 3996643 by Max.Chen Sequencer: Fix fbx animation export - rotation and scale channels were flipped. #jira UE-57509 #jira UE-57512 #jira UE-57514 Change 3996652 by Max.Preussner Messaging: Fixed delayed messaging using incorrect current time after message router sleep Based on https://github.com/EpicGames/UnrealEngine/pull/4601 Change 3996801 by Max.Chen Sequencer: Fix folder active state for non key area sections. Look at track node sections as well as key areas. #jira UE-57550 Change 3997098 by Matt.Hoffman Cleaned up some remaining ToDo's in STimeRange. Change 3998339 by Max.Preussner Sockets: Added documentation for socket receive functions Change 3998359 by Max.Preussner MediaUtils: Started to implement media recorder helper class Currently only supports BGRA frames in CPU memory. Supporting other formats and buffer types will require conversions on render-thread. I recommend refactoring out the existing conversion code in FMediaTextureResource into a reusable helper class in the MediaUtils module. This should be a good starting point though. Change 3998417 by Matt.Hoffman Keys and Sections can now be moved at the same time inside of Sequencer. Keys can now snap to Sections (and vice versa) instead of just to other Keys. Sections can now be duplicated like keys can. #jira UE-56995 Change 3998427 by JohnHenry.Carawon QAGame: Updating test content for the Movie Rendering feature. - Added an auto activate particle to the beginning of the sequence (it's not part of the sequence at all) - Added an event receiver blueprint to the Events example - Added a particle emitter to both sublevels - Added a camera cut to the end that switches to a separate camera - The camera zoom in, focus and Look At sections are all separate (not overlapping in the sequence) - Added a second actor for the camera Look At - Added a Visibility section for the Actor Hidden In Game track that has possessable and spawnable cube and light Change 3998537 by Max.Chen Sequence Recorder: Restore immersive mode when stopping the sequence even if not in PIE. #jira UE-56407 Change 3999809 by Matt.Hoffman Removed the "Go To" box from Sequencer and instead placed the current time as an always visible control. The previous shortcut (Ctrl + G) now focuses the new widget directly. #jira UESEQ-376 Change 4000543 by Christina.TempelaarL Sequencer: Moving editor-only code from runtime module MovieSceneCapture to editor module MovieSceneTools. Moved EDL and FCP XML exporters as well as Automated Level Scene Capture. #jira UESEQ-358 Change 4000706 by Matt.Hoffman Entering multiple time strings without a number no longer crashes Sequencer. #jira UE-57672 Change 4001051 by andrew.porter MediaFrameworkTest: Fixing up some image sources pointing to the wrong location Change 4001191 by andrew.porter QAGame: Adding some quick EDL/XML test content to dev folder Change 4001243 by Max.Chen Sequencer: Fix import EDL out of range. #jira UE-57665 Change 4001856 by Matt.Hoffman Selecting keys and sections at the same time now also works with animation and audio sections. #jira UE-57716 Change 4002021 by Max.Chen Sequence Recorder: Fix sequence name incrementing. If external recording sets the sequence name, use it. Otherwise, use the recording name from the recording group or the recording settings. #jira UE-57712 Change 4002618 by Max.Chen Viewport: Update the look at location when updating to a locked actor. This fixes an issue so that popping the view out of a locked actor and manipulating the view will not jump to the previous look at location. #jira UE-57725 Change 4002979 by Matt.Hoffman Fixes several edge cases with the end time range that was causing confusion about what the last frame of the sequence was. Dragging the End Frame slider will no longer be off by one tick and jumping to the end via the UI controls now properly respects snapping and stays inside the play range instead of falling outside of it. Overall behavior does not change though and End Frame should be considered an exclusive frame so that frames 0-150 results in a 150 frame long animation (which is frames 0-149). #jira UE-56367 Change 4003185 by Matt.Hoffman Fixed a regression that prevented a section from being dragged upwards past row 0 which normally resulted in all other rows moving down. #jira UE-57717 Change 4003193 by JohnHenry.Carawon QAGame: Updates to test content - Shortened frames between the examples from 95 to 30 - Separated camera setting tracks - Lighting example now switches directly from constant red - green - blue Change 4003369 by Max.Chen Sequence Recorder: Refresh next sequence regardless of internally stored sequence name. #jira UE-55757 Change 4003586 by JohnHenry.Carawon QAGame: Test Content Updates - Level Visibility track now ends to that the levels are not visible when we move to the next example - Shortened camera section, removed Z tranform so that we just move left to right and shortened the overall length Change 4004414 by Max.Chen Movie Scene Capture: Fix regression where rendering with shot handles would only render the first shot. 3972166 addressed an issue where an extra frame would be rendered by finalizing right when the end frame was reached. This was hit on the first shot end frame, so instead, do this only for when the last shot is being rendered. #jira UE-57314 Change 4004765 by Christina.TempelaarL Sequencer: Fixed bugs in FCP XML import/export. - Export: fixed sequence default resolution. - Export: fixed XML files with no shots. - Export: all sections clipped to playback range. - Export: fixed incorrect section start/end times due to precision issues. - Import: fixed incorrectly adding cinematic tracks. - Import: fixed bugs creating new sections. #jira UE-57660 #jira UE-57662 #jira UE-57655 #jira UE-57761 Change 4005119 by Max.Chen Sequencer: Export/import at play rate Change 4005195 by Max.Chen UMG: Finish UMG evaluation on stop. Added object version so that existing UMG assets do not change. #tests - Newly created UMG animation with sections set to restore state now return to their original state. Existing UMG animations with sections set to restore state do not return to their original state. #jira UE-52285 Change 4005377 by Michael.Karambelas QAGame: Moving TM-SequenceRecorder and related content out of my developer folder and into /Content/Sequencer/SequencerRecorder/* Change 4005417 by Michael.Karambelas QAGame: Fixed a BP compiler in the Level Blueprint of TM-SequencerRecorder. Change 4005634 by Michael.Karambelas QAGame: Fix up missing content and broken level sequence in TM-SequenceRecorder after move Change 4006324 by Max.Chen Sequencer: Reset if the focused movie scene is null. This fixes a crash if the user is focused in on a shot and undo takes the user past the point of where the shot was created. #jira UE-57752 #jira UE-47661 Change 4007006 by Max.Chen Sequencer: Fix FindAvailableRowIndex so that it returns the max row index (and not +1) since it doesn't find any conflicting rows. #jira UE-57717 Change 4007907 by Max.Chen Sequencer: Fix crash if there's no animation Change 4007948 by andrew.porter QAGame: added test content to dev folder for Record World Space Change 4008636 by Max.Chen Sequencer: Fix import fbx not setting values properly and creating additional cameras unncessarily. #jira UE-57864 Change 4008759 by Max.Chen Sequencer: Follow up fix for import cameras #jira UE-57864 Change 4009994 by Matt.Hoffman Dragging the left or right handles of the Time Range slider in Sequencer will now zoom your view in on the current center of the screen. This prevents the view from being translating as you tried to zoom in which caused issues at high zoom levels. #jira UESEQ-407 Change 4010169 by Christina.TempelaarL Sequencer: FCP XML fixes. - FCP XML export - no longer clips to playback range - FCP XML and EDL export - fixed missing last frame of some sections after exporting to Premiere. - Automated level capture, EDL export - use RoundToFrame instead of FloorToFrame for computing section start/end frames after frame rate conversion. #jira UE-57802 - partial fix, movie scene capture still needs to render full section rather than clip against playback. Change 4010287 by Mike.Zyracki Add quaternion interpolation option to UMovieScene3DTransformSection. This mimics how Matinee used to work by bascially finding the keys between a time and interpolating the angles as quat's between them. As noted in the code the algorithm needs to handle the case when the x,y,z Rotation keys all aren't at the same time which was not handled by Matinee. Also like Matinee, when in quaternion interoplation mode, we need to not display the function cuves since the interpolated and key values are now all different. (Would like to show them but that's a bigger refactor for perhaps just a one off needed by quaternions). I added a virtual function UMovieSceneSection::ShowCurveForChannel for this since it needs to be dynamic, not on construction of IKeyArea's, and could be useful for other sections. I could though move the method to just UMovieScene3DTransformSection and do a cast instead. Looked into doing a unit test for this but after talking with Andrew P we will work on doign an automated test in EngineQA since that will provide more coverage. Will also add a video the jira. #jira UESEQ-403 Change 4010713 by Mike.Zyracki Added option to key a group of transform channels instead of just the changed channel, or all of them. This is useful for quaternion interpolations where you want rotation keys to be aligned but also useful for other workflows like animating FK Pose to Pose. Change 4010715 by Andrew.Porter MediaFrameworkTest: Setting LogMediaUtils logging from VeryVerbose to Verbose to cut back on the spam Change 4013048 by Max.Chen Sequencer: Fix play/jump status. Update the player status for all position methods (Scrub, Jump, Play). Jump means Stopped. Correctly use PlayTo or JumpTo based on position method. In PlayInternal, JumpTo with the Stopped state (rather than playing state). #jira UE-57844 Change 4013479 by andrew.porter QAGame: Added content in TM-SequenceRecorder to test recording a property on a Cine Camera Component; Press 3 to trigger manual focus distance to increment on a timer Change 4014323 by Max.Chen Sequencer: Fix SetPlaybackPosition so that it jumps or plays based on playback status. #jira UE-57844 Change 4015888 by Max.Chen Sequencer: Fix crash on paste. UMovieSceneSections were gathered from the track node's track. For sub track mode, we want to gather only those sections on that track node row. #jira UE-57951 Change 4015943 by Max.Chen Sequencer: Fix moving shots up when the mouse pos goes outside of the virtual track area. #jira UE-57717 Change 4016293 by Max.Chen Sequencer: Fix relative frame playback end frame calculation so that custom start/end frames remain in the space of the sequence and are not relative. #jira UE-57308 Change 4017075 by Andrew.Rodham Sequencer: Corrected initial evaluation range used when calling UMovieSceneSequencPlayer::Play() Change 4017270 by Christina.TempelaarL Sequencer: FCPXML importer and movie scene capture - Use CeilToFrame when converting section start/end frame times to frame numbers in FCPXML and movie scene capture. - Added support for clip metadata in FCPXML. - Got rid of redundant TokenizedError message class, no longer needed now that FCPXML is in editor directory. - Added log messages currently commented out due to exception, still testing. #UESEQ-358 Change 4018370 by Christina.TempelaarL Sequencer: fixed FCPXML log messages regarding sections with start/end not divisible by display rate. #UESEQ-358 Change 4018378 by Christina.TempelaarL Sequencer: fixed error in previous changelist. #UESEQ-358 Change 4019457 by Max.Chen Sequencer: Show event names only when the event track is selected #jira UE-57897 Change 4022806 by Max.Chen Sequencer: Fix crash on movie scene capture dialog shutdown if movie capture wasn't even started. #jira UE-58106 Change 4022894 by Max.Chen Sequence Recorder: Wrap OpenEditorForAssets after sequence recording within GIsEditor #jira UE-58084 Change 4024487 by Max.Chen Sequencer: Add tooltip for quat interpolation #jira UE-58113 Change 4024562 by Max.Chen Sequencer: Change path/attach track sequence binding id to currently focused sequence id so that bindings can be created in subsequences Change 4027414 by JohnHenry.Carawon QAGame: Checking in content that shows a bug with using particles systems and Delay Before Shot Warm Up. Change 4028990 by Max.Chen Sequencer: Fix evaluate sub sequences in isolation. This check was added with the compile on the fly logic. Not sure why it was necessary but it seems like the sub sequence data needs to be updated in order to evaluate sub sequences in isolation. #jira UE-58184 Change 4029004 by Max.Chen Sequencer: Ensure that old binding references are removed when re-assigning actors in sequencer #jira UE-57898 Change 4030997 by JohnHenry.Carawon QAGame: Fixing name of the master sequence Change 4031785 by Michael.Karambelas QAGame: Added an instance of ThirdPerson Run to TM-SequenceRecorder for Record to Possessable test. Change 4035548 by Andrew.Rodham Sequencer: Changed FMovieSceneEvaluationTemplate::TemplateSignature to be a serial number to address non-deterministic cooking issues - This commit is related to the repro steps found in 3914599 and 3934307, both of which have been verified with this new change. - Copy of 4031684 from //Fortnite/Main/... #jira FORT-84852 Change 4036312 by Max.Chen Sequencer: Fix zoom view range so that it uses the passed in InZoomDelta Change 4036318 by Max.Chen Sequencer: Auto size now returns a range and defaults to the channel proxy range so that keyed regions can also be autosized. Change 4036322 by Max.Chen Forgot missing change Change 4036360 by Max.Chen Sequencer: Fix play rate calculation when skeletal animation section play rate changes. Change 4037163 by Mike.Zyracki Weighted Tangent Implementation Tricky thing is that you need to solve a cubic in order to get the bezier weights for the time part of the curve. See https://www.gamedev.net/forums/topic/474094-help-function-curves-for-animation-interpolation/ Maya provides an implementation in it's dev kit but I didn't use it since it was horribly slow and uses an iterative solution to solve the cubic needed. Instead I use an old algorithm (Cardano's method), to solve the cubic which should be much faster. Though relative simple to code from principles I just went ahead and used a version from Graphics Gems 1. I put this cubic solver directly in MovieSceneFloatChannel.cpp, but will need to move it when we support Rich Curve, maybe to FMath:: (which would probalby require some other functions for solving quartics, etc.. for completeness.). Also note we resolve this on every evaluation but dont' need to if the interval the time is evaluating hasn't had any change in values or tangents. So again when we support FRichCurve we can create a Weighted Evaluating class that can hold the cache. Also with the tangent drags I got rid of the Cardinal position that was used to calculate non-weight tangents from the key point and just quickly getting a direction. With weighted tangents we need to use the delta instead (otherwise when moving multiple they would all get the same weight based upon distance to the cardinal point. ) For mixed tangents types what I'm defaulting to non weighted if the interval doesn't match. May need to do weighted instead, not sure. What's left is just FBX import, for tomorrow. #jira UESEQ-76 Change 4037435 by Mike.Zyracki Fix fo build warnings from weighted tangent submission. #trivial Change 4038091 by Michael.Karambelas QAGame: Updated a Sequence Recorder group in TM-SequenceRecorder that had an actor missing the animation. Change 4038374 by Andrew.Rodham Sequencer: Refined scrubber styling for level sequences and actor sequences - Scrubber now shows a block the width of a dsplay rate frame, plus a line for the actual evaluated time. UMG reverts back to the previous styling (no block) - Keys that are outside of the playback range are now drawn with a subdued effect - Tick labels are no longer drawn when directly underneath the scrubber Change 4038490 by Max.Chen Sequencer: Expose tangent weight values in details panel. Change 4038620 by Andrew.Rodham Sequencer: Advanced time panel polish #jira UESEQ-426 Change 4038677 by Max.Chen Movie Scene Capture: Redirector for MovieSceneTools.AutomatedLevelSequenceCapture #jira UE-58248 Change 4039739 by Max.Chen Sequencer: Media track should only be supported by Level Sequence Change 4040024 by JohnHenry.Carawon QAGame: Fix EventReciever and OverrideBinding example The level sequence was set to none so the fix was to set it back to TrackEvaluation_Master. Change 4040610 by Andrew.Rodham Curve Editor: Moved weighted tangent switchers to a single toggle command (CTRL+W) and added an icon #jira 58383 Change 4040882 by Mike.Zyracki Keep broken when turning on weighted #jira UE-58435 Change 4041089 by andrew.porter QAGame: Sequence for Long Tangents bug Change 4041498 by Mike.Zyracki Turn off weighted when going auto to prevent large tangents. Do it both in UI and when doing AutoSetTangents() to really make sure it doesn't happen. #jira UE-58452 Change 4041752 by andrew.porter MediaFrameworkTest: Adding some better logging for setting rates when not supported. Also ignoring commiting URL when there is no text Change 4041896 by Matt.Hoffman The transform dialog box now transforms selected keys and sections, instead of just keys. #jira UE-58265 [CL 4044405 by Max Chen in Main branch]
2018-05-02 10:10:00 -04:00
static float MinScrubSize = 14.f;
const FFrameNumber Frame = ScrubTime.ConvertTo(DisplayRate).FloorToFrame();
float FrameStartPixel = RangeToScreen.InputToLocalX( Frame / DisplayRate );
float FrameEndPixel = RangeToScreen.InputToLocalX( (Frame+1) / DisplayRate ) - 1;
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3946692) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3801826 by Max.Chen PR #4304: Level Sequence crash fix - Guarded against dereferencing null componen. (Contributed by DSDambuster) Change 3801828 by Max.Chen PR #4302: Movie Scene Visibility Template unitialised variable, causing random . (Contributed by DSDambuster) Change 3801837 by Max.Chen Sequencer: Delay spawning/construction for convert to possessable. This fixes a bug where property values would be lost when converting back and forth from possessable to spawnable. #jira UE-52400 Change 3801841 by Max.Chen Sequencer: Make spacer nodes not selectable. PR #4194: Improvements to Sequencer (Contributed by projectgheist) #jira UE-53117 #jira UE-52139 Change 3804183 by Max.Preussner MediaAssets: Added missing lock in media sound component Change 3805414 by Max.Preussner MediaAssets: Setting valid GUID when initializing media texture resource Change 3819578 by Max.Chen PR #4370: When enabling the "MovieCapture", do not turn off the Stereo-3D display. (Contributed by yehaike) #jira UE-53647 Change 3823414 by Max.Chen Curve Editor: Lock down the first and last keys in the redundant keys removal range so that they're unaffected. #jira UE-53591 Change 3826406 by Max.Chen Sequencer: Move OnStartedPlaying() to within first update in UpdateTimeCursorPosition(). This fixes an issue where setting the hud/player visibility was getting stomped on later. #jira UE-52772 Change 3827044 by Max.Preussner MediaAssets: Added sprite visualization to media sound component #jira UE-53594 Change 3827988 by Max.Preussner MediaPlayerAssets: Fixed Media Texture is not linked to Media Player when created together #jira UE-53532 Change 3828506 by Max.Preussner MediaPlayerEditor: Added attenuation visualizer for media sound components #jira UE-53594 Change 3832590 by andrew.porter EngineTest: Added a keep state check in Property Animation sequencer test Change 3833053 by andrew.porter EngineTest: Adding Hierarchical Bias test Change 3835683 by andrew.porter EngineTest: Adding UMG Animation screenshot test Change 3836076 by Max.Chen Sequencer: Fix audio volume and pitch multiplier deprecation. Change 3836230 by andrew.porter EngineTest: Adding Sequence Bone Position automation test Change 3836347 by Max.Chen Sequencer: Fixes to shot name parsing. When a shot doesn't contain a shot number, assume, [ShotName]_[TakeNumber]. When duplicating a shot, put the new shot in the same path of the original shot, so that the take numbers will increment properly. #jira UE-51868 Change 3836552 by Max.Chen Sequencer: Sub section now has a takes menu Change 3838094 by Max.Chen UMG: Fix template finish not getting called on stop. This fixes a bug where sections aren't restored when finished. #jira UE-52285 Change 3838708 by Max.Chen Sequencer: Add notification when the blend type is changed. #jira UE-54046 Change 3840295 by Max.Chen Sequencer: Fix copy/paste crash for lights #jira UE-54084 Change 3840957 by Mike.Zyracki Added Show Only Keyable and Show Only Animated to the filter list in the property editor. Added IsPropertyAnimated to IDetailKeyframe Interface which already had support for showing properties which are keyable (which is used for the key icon next to the properties.). Could have created another interface but then would have had to mimic the sequencer binding, releasing also, so this seemed best way. One issue still left is that custom built detail items currently don't store associated properties(usually) and so certain properties, in particulalry transforms, won't show up as keyable or animated. Note this also shows up with the keyable icon not showing up next to transform tracks, and other filters like Show Only Modified not working with transforms/customs. Not sure best way to tackle this. #jira UESEQ-328 Change 3841756 by Max.Chen Sequencer: Fix unbound possessable components when pasting spawnables. #jira UE-54104 Change 3843950 by andrew.porter EngineTest: Renaming LevelStreaming tests/content to LevelVisibility Change 3844082 by Mike.Zyracki Missing file for animated filter in property editor. When finding if a track is animated we need to find it but we can't easily induce the MovieTrack class for any particular property. So we don't set a class for it and just search by it's ID and name. #jira UESEQ-328 Change 3846902 by Max.Preussner ImgMedia: Fixed image media player never finished initialization if loading failed #jira UE-54247 Change 3849820 by Mike.Zyracki Reassigning deleted widgets didn't work since the menu extender mechanism needs a valid UObject in order to perform an operation on it. So to fix we replaced GetObjectBindingContextMenuExtender in WidgetBlueprint with new delegate mechanism (OnBuildCustomContextMenuForGuid) that supports FGuid in addition to UObjects which is needed to handle re-binding deleted widgets. Note that the default sequencer hacks this for replacing deleted actors in SequencerObjectBindingNode to check to see if a LevelSequence is active. We could move to this mechanism there also. #jira UE-53163 Change 3852211 by Max.Chen UMG: Indicate name of the property that is not bound. #jira UE-54350 Change 3854120 by Max.Chen Sequencer: Fix sibling folders being allowed to have the same folder name. #jira UE-54363 Change 3854627 by Max.Chen Sequencer: Step to next/previous key should work for all tracks if there aren't any selected. #jira UESEQ-391 Change 3855825 by andrew.porter EngineTest: Adding animation blending automation test Change 3855950 by andrew.porter EngineTest: Adding correct expected valuues to animation blending test Change 3856237 by Matt.Hoffman UESEQ-336 - Sequencer Track Reordering Adds the ability to re-order Master Tracks, Folders and Object Bindings within sequencer hierarchies (including UMG). Adds the ability to do a one-off sorting of the content under the old sorting behavior if the user wants to reset their layout to how it was under legacy behavior. Modifies SequencerTrackNodes, SequencerFolderNodes and SequencerObjectBindingNodes to handle CanDrop/OnDrop for above, below and ontop of. Fixes a Slate Issue that forcibly expanded a TreeviewRow if an item handled OnDrop. Slate will now only forcibly expand the row if the item says the drop happened ontop of the item, and not above or below it like it previously did. Change 3856503 by andrew.porter EngineTest: Adding automation test for using animation blueprint with blend multi node in sequencer Change 3857875 by Max.Chen Sequencer: Assign the sequence id after the template is compiled. #jira UE-54462 Change 3858344 by Max.Chen Sequencer: Prevent Goto and Transform boxes from overlapping by allowing them to be visible at the same time in an autosized horizontal box. Also, added close button to the goto box. PR #4425: Prevent Goto and Transform boxes from overlapping in Sequencer ... (Contributed by projectgheist) #jira UE-54210 Change 3860566 by andrew.porter MediaFrameworkTest: Set the option to index 0 for the audio and video track list by default Change 3860654 by andrew.porter EngineTest: Enabling Camera Cut + FOV test Change 3860981 by andrew.porter EngineTest: Updating skeletal mesh tests with a delay after set playback position Change 3861256 by Max.Chen Sequencer: Add all bindings if none selected. #jira-54440 Change 3862154 by Andrew.Rodham Added TimeManagement module Change 3862424 by andrew.porter EngineTest: Turned on the test Bone Positions with Blend Multi Node Change 3862573 by andrew.porter EngineTest: Adding test to compare bone positions in a sequence that is blending an animation that is using an AnimBP Change 3865117 by Max.Chen Sequencer: Stop auto scroll on mouse release of movement. #jira UE-31212 Change 3865303 by Max.Chen Sequencer: Add drag and drop transactions #jira UE-54662 Change 3865304 by Max.Chen Sequencer: Fix crash when an actor factory is not found. Change 3865361 by Max.Chen Sequencer: Don't change the camera/shot lock button when popping out of a sequence. #jira UE-54665 Change 3865412 by Max.Chen Sequencer: Determine whether a transform track is for a camera by using the spawned object or template #jira UE-54666 Change 3865685 by Max.Chen Sequencer: Clear autoscrub offset when stopping autoscroll #jira UE-31212 Change 3865886 by Max.Chen Sequence Recorder: Log an error if the number of frames changes while recording. This can happen if the skeleton changes while recording. #jira UE-48715 Change 3866925 by Andrew.Porter MediaFrameworkTest: Changing the current PNG test video image sequence to 1024 x 576 Change 3867705 by andrew.porter QAGame: Adding Audio Sort Sequence to dev folder Change 3867890 by andrew.porter QAGame: Adding a sequence for testing a sorting crash to my dev folder Change 3872628 by Max.Chen Movie Scene Capture: Split delay before warmup into split delay before shot warmup so that there's separate controls for when the movie scene capture warmups up vs. shot boundaries. Change 3873131 by Matt.Hoffman UE-54732 - Crash reordering a folder with a track. This was caused by folders being the only type of track to check if someone was putting a parent track into a child track. Object Binding tracks and Tracks now check as well so that you can't use the above/below drop targets to add parents as children. This also fixed a typo in the localization keys. #jira UE-54732 Change 3873301 by Mike.Zyracki Added ability to support continous euler angle changes when changing rotations, in particularly with the rotation gizmo's. To do this we effectively added a form an of 'euler filter'(https://en.wikipedia.org/wiki/Euler_filter) to find the closest euler angle to the current euler angle. Three functions were added to FRotator to make this possible, one to get the euler angle that's has the same rotation as it, one to get the difference between two euler angles via Manhattan distance and a third using the previous two to choose a Rotator value that's closest to it. We then use these functions before calling UComponent::SetRelativeRotation to make sure we use the correct Euler after the Quat conversion. We also no longer limit(bound) the euler angles to -180,180, which is obviously necessary to avoid flips. I also changed how we caluclate yaw and roll when pitch is -90 or 90 to make it the standard approach of zeroing out roll and just setting yaw. Main reasons are the previous implementation had precision issues so things like 180, 90, -180 would show up due to numbers being nearly zero but negative,(this would break any smooth interpolations), and this facilitates having a 'gimbal' rotation mode (like Maya, Blender etc..) if we ever want that also. If needed we could keep the previous implementation but would need to add some FMath::IsNearlyZero checks, with less performance. Note we only do this special filtering when applying delta's to actors or components in the editors, which then call UComponent::SetRelativeRotationExact, which is a new function to foces the RelativeRotation to be equal to the new rotation. This allows us to store un-nomalized Rotators at the cost that the RotationCache may be broken. We didn't change any of the other UComponent functions that set rotations (via Quats or Transforms) so they will still be bounded and unwound. In SetInternalWorldLocationAndRotation we only set the rotation if the rotation has changed, which fixes the rotation getting changed and re-normalized if just translate happens. In TransformTrackEditor, we correclty use the bUndwing flag and in MovieScene3DTransformSection there was an un-needed winding check there, it will be unwound earlier if needed, which happens if Sequence Recording is happening. Max we should talk about what to do about this . Note the euler angle drag via the widget is still bound to 0-360. I think we should just unbound that now since the rotations value are now unbound. This review now includes fixes suggested by Zak. #jira UE-UE-22228 Change 3873483 by Matt.Hoffman Sequencer Tracks can now be inserted above the spacer at the bottom of the tree. #jira UE-54706 Change 3873899 by Max.Chen Sequencer: Add section selection throbbing Change 3873908 by Max.Chen Movie Scene Capture: Added logging per frame Change 3873924 by Matt.Hoffman Adds the ability to store Sequence Recorder setups into profiles that stay with the map and can be re-loaded later. Profiles store the Actor Recordings so the settings for each actor should carry with them. #jira UESEQ-339 Change 3874726 by Matt.Hoffman Disable drag-and-drop targets on spacers that come between rows in Sequencer. This prevents extra drag/drop targets showing up between each row. #jira UE-54706 Change 3874862 by Matt.Hoffman Audio Track no longer gets reordered when adding sub-audio tracks, as sub-tracks are no longer counted towards the sorting order index when normalizing indexes. #jira UE-54727 Change 3875905 by Matt.Hoffman Disable Fade Track UI if a fade track already exists in the sequence. #jira UESEQ-393 Change 3876163 by Max.Chen Sequencer: Swap the camera object to the camera component's owner if it's not the same. #jira UE-54874 Change 3876971 by Andrew.Porter EngineTest: Moved Media Player Seek test to new folder. Also enabled the test with new ground truth image. Change 3877040 by Max.Chen Cine Camera: Split camera properties to two groups, "Camera Options" and "Camera Settings". The cine camera now hides properties in the "Camera Settings" group so that properties like bConstrainAspectRatio (in the "Camera Options" group) can be visible. #jira UE-54192 Change 3877763 by Max.Chen Curve Editor: Fix curve changed on end drag so that only curves that had keys/tangents that were changed receive notification, otherwise all loaded curves were getting notified that they were changed. #jira UE-54951 Change 3878234 by Matt.Hoffman Disable "Drop Below" targets for Sequencer Tree nodes to prevent a confusing UX issue where dropping underneath a Object Binding Node puts it after the object binding node but the UI looks like it's inserting it inside the Object Binding node. #jira UE-54743 Change 3879359 by Mike.Zyracki If a track is inactive we dim it a bit which seems to be the UE4 way to show inactive or disabled state. We changed the active logic so that all subtracks need to be inactive for the track to also be inactive(instead of all active for active). This conforms to how the active state actually works, e.g if you have two sections and only one is active the track is still active above it. #jira UESEQ-388 Change 3879462 by Max.Chen Sequencer: Allow dragging onto a particular row which would move out any overlapping sections to make space for the newly created section. Newly created sections are now selected and throbbed to draw attention to themselves. #jira UE-54664 Change 3879464 by Max.Chen Sequencer: Fixed overlapping ranges being inserted into the evaluation field during compilation - The issue was that track segments that had been combined with adjacent segments (due to them being identical) would potentially cause a subsequently compiled frame to overlap with a range that had already been inserted into the evaluation field. - The insertion code previously asserted that only minor overlaps were catered for (due to fp rounding errors) and assumed that a supplied range could not entirely contain any other range in the field. - The solution is to supply the insertion time along with the range to know exactly where the data should live in the field, and crop the range to the maximum allowable space between adjacent ranges. #jira UE-54922 Change 3879590 by Matt.Hoffman Items that are now added to the Sequencer via the "+Track" menu will be selected after being added. Items can now be added inside of folders instead of just to the root level. #jira UE-27397 Change 3879612 by Mike.Zyracki Display Nodes with no children are always active. #jira UESEQ-388 Change 3879730 by Matt.Hoffman Sequence Recorder's actor recording groups now remove items from the group when removed via the UI. #jira UESEQ-339 Change 3880256 by Mike.Zyracki Fix issue with inactive display with folders and other track nodes. #jira UESEQ-388 Change 3883491 by Max.Chen Fix issue where tick is skipped due to last ticked pose isn't cleared after AnimInstance changes. Copy from Release-4.19 #jira UE-51323 Change 3883603 by Max.Chen Movie Scene Capture: Add option toggle disable screen percentage. By default this is on (no change in current behavior). #jira UE-51898 Change 3885074 by Max.Preussner MediaCompositing: Resetting media texture & freeing resource on section end; removed dead code Change 3887220 by Max.Preussner MediaCompositing: Defaulted media section duration to 1 sec (since we do not know the actual duration in most cases) Change 3887478 by Matt.Hoffman Sequences now show [Inactive] in their title bars when they're disabled. This helps communicate why a sequence isn't being evaluated. #jira UE-51469 Change 3888985 by Max.Chen Movie Scene Capture: Clamp HDR Compression Quality between 0 and 1. #jira UE-55136 Change 3893519 by Max.Chen Sequence Recorder: Clarified tooltip for bRecordNearbySpawnedActors - spawned actors will still be recorded if they match the ActorFilter. #jira UE-55238 Change 3893546 by Max.Chen Sequence Recorder: If a selected actor already has a recording, add a blank recording. #jira UE-55239 Change 3894044 by Max.Preussner MediaCompositing: Added support for seeking into a media section Change 3894310 by andrew.porter MediaFrameworkTest: Adding Img media sources for 1080 and 2160 ravent test content Change 3894426 by Max.Preussner MediaAssets: Letting media textures with AutoClear retain their clear color when player is reset Change 3895717 by Max.Chen Sequencer: Null checks to prevent crash when saving the default state of a spawnable #jira UE-55304 Change 3897388 by Max.Chen Sequencer: Don't update current time to be within the view range when stepping into a sequence. #jira UE-55322 Change 3897452 by Max.Chen Audio: Fix crash when trying to record audio without any active capture devices. Log warning if the number of input channels is not 1 or 2. #jira UE-55223 Change 3897619 by Max.Preussner MediaCompositing: Removed commented out code Change 3898072 by Max.Chen Sequencer: Override the animation asset in the player state if it doesn't match the animation asset that's being evaluated. #jira UE-55328 Change 3898272 by Max.Preussner MediaPlayerEditor: Made slate brush constants static Change 3898704 by Max.Chen Sequencer: Skip if the binding id's sequence can't be found. #jira UE-55337 Change 3899855 by Max.Preussner MediaCompositingEditor: Added cache state visualization to media track Change 3900300 by Max.Preussner MediaCompositingEditor: Added loop indicators to media sections Change 3900694 by Max.Preussner ImfMedia: Looping cache only when player is looping Change 3900892 by Max.Preussner Stats: Added stats category for media framework Change 3900954 by Max.Preussner MediaCompositing: Don't evaluate at the end of media section Change 3901348 by Max.Preussner Core: Replaced TLruCache autos for better readability Change 3901655 by Max.Preussner ImgMedia: Added more perf stats to EXR reader Change 3901972 by Max.Preussner MediaAssets: Added getter for media player in media sound components Change 3902233 by Max.Preussner MediaAssets: Enabling media textures to receive samples right after player is assigned Change 3902238 by Max.Preussner MediaCompositing: Working around init/shutdown idiosyncracies in sequencer Change 3904045 by Max.Chen Sequencer: Fix copy/paste crash. Only process UMovieSceneCopyableBinding and objects that can be spawned by the movie scene spawn register. #jira UE-55314 Change 3905605 by Max.Chen Sequencer: Restrict spawnables from being created if they have a ClassWithin that UMovieScene is not a child of. #jira UE-55429 Change 3906550 by Max.Chen Sequencer: Add media track icon #jira UE-55480 Change 3907101 by Max.Chen Sequence Recorder: Fix bugs related to not recording a level sequence. There were certain assumptions that creating a level sequence meant that sequence recording was in progress. This is not always the case - the recorders can record animation assets and not create a level sequence. Changed the notion of IsRecording() to having at least one actor recording that is recording. Countdown timer, recording displays, etc should function if IsRecording() and not based on whether a level sequence is created. #jira UE-55485 Change 3907247 by Max.Chen Sequence Recorder: Fix crash not removing PrepareToCleanseEditorObject delegate. Repros when opening sequence recorder, closing it, and then opening or creating a level. Change 3910343 by Max.Preussner Core: Added async helper for executing functions on a given thread pool Change 3910346 by Max.Preussner ImgMedia: Added separate thread pools for loading/decoding and deleting image frames Change 3910829 by Max.Preussner Profiler: Increased visible range of profiler graph Change 3910841 by Max.Preussner MediaCompositing: Displaying asset name instead of full media source path in media section Change 3910870 by Max.Preussner ImgMedia: Using deallocation thread pool only in debug builds Change 3919642 by Max.Chen Sequence Recorder: Clarify active tooltip #jira UE-55661 Change 3919660 by Max.Chen Sequencer: Sequence template source signatures are now also compared to catch the case where a sub-sequence asset has been saved but not modified - The following sequence of events exposes this issue: - Create a master sequence with a single shot that spawns a cube - Add this sequence to a level and set it to auto-play - Save everything and restart - Resave just the inner shot asset without opening it - PIE - The inner shot never spawns its cube because its template was wiped on save, but its signature never changed. Since the master sequence previously didn't check the template source signature, it ends up trying to evaluate an empty template. #jira UE-55626 #jira UE-55490 Change 3921825 by Max.Chen Sequencer: "Run Construction Script in Sequencer" is off by default for blueprints but on for Sequencer. This allows the content author to switch it on for specific blueprints and sequencer will be default, run those with construction scripts enabled. Change 3922232 by Max.Chen Sequence Recorder: Reset countdelay on stop. #jira UE-55755 Change 3922306 by Max.Chen Sequence Recorder: Don't automatically mark transforms to be recorded by sequence recorder. Instead, log a warning if the user toggled it off to warn that the resulting animation might not match gameplay. #jira UE-55758 Change 3922912 by Max.Chen Sequence Recorder: Fix refresh next sequence name #jira UE-55757 Change 3927654 by Max.Chen Movie Scene Capture: Added format mapping for the name of the current camera #jira UE-55769 PR #4537 Change 3927658 by Max.Chen Sequencer: Added fbx property mapping for "FocusDistance" to "FocusSettings.ManualFocusDistance" #jira UE-55782 Change 3932022 by Max.Chen Sequencer: Add import animation track section to next available row index. #jira UE-55892 Change 3933919 by Max.Chen Sequencer: Jump to playback start frame and not 0 to start playback for recording. #jira UE-55933 Change 3934307 by Andrew.Rodham Sequencer: Add template signature that is re-generated every time the base template is regenerated, which invalidates evaluation fields This fixes an issue where the same sequence is instantiated multiple times in a sequence. If the source sequence was saved, its template would be wiped, which would invalidate the template ID When an instance tries to evaluate the master template, it would only invalidate a range in the evaluation field that was the hull of any invalid sub sequences overlapping the current time, potentially leaving invalid data in the evaluation field at positions later (or earlier) on in the sequence When the sub template was re-generated, it receives the same SequenceSignature as it had before (because the sequence hasn't actually changed), which causes the stale evaluation field data to fail the IsDirty check (because the sequence is the same as it thought, but the *template* has changed) This has been addressed be adding a signature to templates themselves, and checking both the template signature and sequence signature as a part of the IsDirty check. This ensures that we regenerate if either the template, or the sequence have changed. #jira UE-55934 Change 3936327 by Andrew.Rodham Sequencer: Removed increment when trimming right UMovieSceneSection::TrimSection already explicity assigns an exclusive bound to the time passed in. The new behavior means we can trim a section to the right, and insert another section without changing the time to create adjacent sections. #jira UE-42652 Change 3936328 by Andrew.Rodham Fixed KeyFrameManipulator assignment operators and copy/move constructors - These types are potentially self-referential so cannot use default constructors/assignment Change 3936330 by Andrew.Rodham Converted UMGSequencePlayer to use frames internally #jira UE-54878 Change 3936726 by Max.Chen Sequencer: Set track node as the parent of the key area node. The key area switcher needs the object binding id from the parent object binding node. Without this, the binding to the external value fails. #jira UE-55931 Change 3936775 by Max.Chen Sequencer: Should stop or loop should compare DurationFrames with Current Time from StartTime. The bug is that if you set 30 warmup frames in movie rendering for a range of 0-100, the FrameRange will be starting at -30 and have a duration of 130. Without this fix, the playback will continue until frame 130, rather than 100. #jira UE-55933 Change 3936935 by Matt.Hoffman Easing Curves are now represented in Play Rate resolution instead of internal resolution. #jira UE-55937 Change 3937069 by Matt.Hoffman Users can toggle if the is infinite on each side, limited by which tracks support infinite ranges. #jira UE-55891 Change 3937516 by Max.Preussner ImgMedia: Added support for single-threaded platforms #jira UE-55986 Change 3937826 by Max.Preussner MediaAssets: Disabling media sound components on HTML5 if AudioMixer is not enabled Change 3937997 by Max.Chen Curve Editor: Add Zoom to Fit Curves so that selected curves from Sequencer can be focused on. Tested that undo doesn't re-zoom. #jira UE-55935 Change 3938000 by Max.Chen Sequencer: Stop all sounds before generating audio waveforms. #jira UE-55951 Change 3938376 by Max.Preussner XGEController: Disabled XGE Controller in single-threaded apps to prevent crash Change 3938444 by Max.Preussner Core: Added async support for single-threaded applications Change 3938445 by Max.Preussner Networking: Added support for single-threaded applications in UDP socket sender/receiver Change 3938447 by Max.Preussner Messaging: Added support for single-threaded applications Change 3939432 by Max.Chen Sequence Recorder: Append command list to global level editor actions so that shortcuts are accessible in level editor. #jira UE-55798 Change 3940229 by Andrew.Rodham Added prospective display rate upgrade to UMovieScene::PostLoad - There was previously some very odd behaviour that would assign the fixed frame interval only when a sub sequence was focused in SSequencer. This meant that many sequences could have a frame interval of 0 set in the data. - Under the old method of snap interval display this would have fallen back to getting the display interval from the sequencer settings, but we no longer look at these. - The USequencerSettings properties have been removed and in their place, a prospective data upgrade for sequences that have a fixed frame interval old 0fps that sets the play rate to the previous defaults based off the old USequencerSettings defaults. - This could end up 'changing' the display rate for sequences where the user has changed the snap interval in the settings for a particular sequence editor, but there's not much we can do about that given we don't have access to the USequencerSettings classes in UMovieScene #jira UE-55919 Change 3940277 by Andrew.Rodham Sequencer: Added ability to default frame resolutions and play rates for newly created actor sequences Change 3940378 by Andrew.Rodham Sequencer: Post move import dialog now defaults to the playback framerate of the sequence, and floors to frame numbers Change 3940559 by Andrew.Rodham Reinstated primed or recording sequence color Change 3940642 by Max.Preussner ImagePlate: Removed image plate media playback functionality Change 3940843 by Max.Preussner Core: Made TCircularQueue actually thread-safe; improved code comments Change 3940860 by Max.Chen Sequencer: Changed StructNameToKey to StructPathToKey Previously, keying a PropertyPath of [RenderTransform][Shear][X] would get trimmed to X, which doesn't map to a channel name as considered by Sequencer2dTransformTrackEditor. Instead, trim the resulting property path to [Shear][X] so that track editors can determine the desired struct path and channels to key. #jira UE-52966 Change 3941292 by Mike.Zyracki Fix for trajectories out of range not showing up. 1) If we had no key data we would pop the time, so wouldn't get the section ranges. 2) Calculating of upper bound was wrong, checking against -1 and not key == num of keys when doing algo::lower_bound. 3) No need to do the Bck-- for the bakward iterators since we fixed #2. We start now from the upper bound correctly. 4) If we had no keys (at section start,end) we would incorrectly say we were any key type, so since we draw constant keys as dashed we would do so incorrectly around section end points. #jira UE-55929 Change 3941424 by Max.Chen Curve Editor: Change Zoom to Fit to use TArrayView Change 3941498 by Max.Preussner Core: Added FMath::DivideAndRoundNearest function Change 3942097 by Matt.Hoffman Drop Frame Timecode Support for NTSC rates. Change 3942104 by Matt.Hoffman Sequence Recorder Group is no longer visible inside the World Outliner after using one. #jira 55266 Change 3942107 by Max.Chen Sequencer: Resurrect logic to find or extend an existing section when adding keys. Change 3942330 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942339 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942507 by Andrew.Rodham Sequencer: We no longer pad the time overlap threshold with a small number that is not scaled by the current zoom level - The presence of this pad was causing keys that were far apart to be grouped when zoomed in a long way Change 3942509 by Andrew.Rodham Sequencer: Only pad total view range, rather than section range as well when retrieving keys to render - This stops us from rendering keys that are within the view range, but outside the section range Change 3942512 by Andrew.Rodham Added transactions to some sequencer details customizations Change 3942513 by Andrew.Rodham Sequencer: Reinstated validation checks to UMovieSceneSection::SetStartFrame and SetEndFrame, changed erroneous uses to use SetRange Change 3942560 by Andrew.Rodham Pass by rvalue reference to appease error C2719 on Win32 ('InChannels': formal parameter with requested alignment of 8 won't be aligned) Change 3942697 by Andrew.Rodham Newly Created Level Sequences and Actor Sequences now default to 24000 fps frame resolution (+/- ~24hrs range, supporting all integer rates + 23.976) Change 3942700 by Andrew.Rodham Sequencer: Added legacy out-of-bounds errors for times that are not supported by the current legacy upgrade frame resolution Change 3942989 by Max.Preussner Core: Fixed circular queue count calculation Change 3943538 by Max.Preussner MediaAssets: Reverted workaround for procedural audio log spam in HTML5 (Actor component initialization cannot be skipped if the component is used in a level) Change 3944071 by Max.Preussner QAGame: Fixed Media Texture keeps last frame of Media when PIE ends #jira UE-53360 Change 3944292 by Max.Chen Sequencer: Added extra flags to ensure that asset initialization does not occur on template actor sequences #jira UE-56113 Change 3944364 by Max.Chen Sequencer: Prevent circular shot/master tracks. Tested adding master -> child -> master as drag and drop cinematic shot tracks and sub tracks as well as through the + button. #jira UE-56091 Change 3944422 by Max.Chen Sequence Recorder: Disable transform recording if off. #jira UE-56061 Change 3944745 by Andrew.Rodham Sequencer: Key rendering fixes - Fixed assert that occured when keys happened to reside on some times due to KeyTime + TimeOverlapThreshold - KeyTime being slightly larger TimeOverlapThreshold - Fixed keys sometimes being clipped when zoomed right in due to lack of half-frame offset - Added missing documentation to MovieSceneTimeHelpers.h #jira UE-56107 Change 3945231 by Andrew.Rodham Sequencer: Reconstruct channel proxy on Serialize to catch all cases of undo/redo, PostLoad and duplication #jira UE-56089 Change 3945301 by Andrew.Rodham Sequencer: Added safety checks during initial sequence recording to guard against applying negative or 0-sized sequence ranges #jira UE-56125 Change 3946627 by Max.Preussner Fortnite: Fixed game crashes closing editor while in PIE - Pure virtual function being called #jira UE-56144 [CL 3946896 by Max Chen in Main branch]
2018-03-14 22:09:33 -04:00
{
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 4044339) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3947021 by Max.Chen Sequencer: Don't preserve root component when copying object properties. A spawnable empty actor, has a root component that is generated by the empty actor factory. If the object template's root component is preserved when copying from the spawnable empty actor, the root component will not be copied over. Therefore, we need to NOT preserve the root component when copying object properties. #jira UE-55825 Change 3947366 by Max.Preussner WmfMedia: Better log output Change 3947367 by Max.Preussner MfMedia: Better detection of compressed format properties on Windows Change 3949102 by Max.Chen Sequencer: Remove SequenceActorTag when converting to possessable. #jira UE-56206 Change 3949207 by andrew.porter EngineTest: Set the screenshot nodes resolution to 1280x720 Change 3949404 by Max.Chen Sequencer: More informative tooltip for "Rerun Construction Scripts" option. It now says "Rerun construction scripts every frame on actors that have 'Rerun Construction Script in Sequencer' enabled in their class settings". Change 3950067 by Matt.Hoffman Renamed UAutomatedLevelSequenceCapture's StartFrame and EndFrame to CustomStartFrame/CustomEndFrame to reflect that it is user-overriden. This will also resolve upgrade issues due to the variable datatype changing. #jira UE-56189 Change 3950193 by JohnHenry.Carawon Updating my latest MovieRendering test content. Change 3950757 by JohnHenry.Carawon More updates to MovieRendering test content Change 3952059 by Max.Chen Resave LevelVisibility_SubLevels to fix data loss conversion warning of OpacityMaskConstant #jira UE-56086 Change 3952283 by Max.Chen Sequencer: Disable dropping level sequence assets as spawnables. #jira UE-56120 Change 3952422 by Max.Chen Sequence Recorder: Add button to record from the current player. #jira UE-55942 Change 3952987 by JohnHenry.Carawon MovieRendering Test Content - Fixing camera bindings and changing the override binding actor Change 3953823 by Mike.Zyracki Fix for Bad FBX Import Tangents not scaled by frame rate. After looking at this again it seems that a set of MovieScene:: overiddes for the channel traits wasn't set correctly, so use the ADL idiom to use MovieScene, which can then call Optimize in the correct namespace. With this we can now correctly use the passed in tolerance. There was also a redundant set of Optimize calls so that it could happen twice so removed them, and needed an extra check in the float channel Optimize. Also since we need to set auto tangents no matter if we optimize we don't set that parameter(though leave it since it's used by context menu key reduction). Finally fixed speed issue with trajectories caused by calculating way too many substeps. Reverted back to a time based step size for consistency. #jira UE-56193 Change 3954317 by Matt.Hoffman Adding a key to the last frame of a section no longer causes a crash. Keys can already be moved to be on the last frame of a section so now you can just add a key there directly. #jira UE-56255 Change 3954326 by Matt.Hoffman Dilating a section that is only infinite on one side no longer causes a crash. #jira UE-56260 Change 3954486 by Max.Chen PR #4580: Exposes IsReversed() from UMovieSceneSequencePlayer (Contributed by alanedwardes) Change 3955238 by Max.Preussner Messaging: Enabled delayed message routing https://github.com/EpicGames/UnrealEngine/pull/4574 #jira UE-56247 Change 3955901 by Max.Preussner MediaFrameworkTest: Added developer test for overriding desired media player plug-in at runtime. Change 3955922 by Andrew.Porter QAGame: Updating movie rendering content in dev folder Change 3956004 by andrew.porter QAGame: Adding MPC track to movie rendering test content Change 3956510 by Max.Chen Sequencer: Fix fbx camera import of static properties so that they are imported before default tracks are created. Otherwise, the default tracks inherit the default properties of the camera, rather than the values from the fbx. #jira UE-56311 Change 3957613 by Max.Preussner MediaUtils: Added code documentation to media player facade Change 3958005 by Max.Preussner MediaUtils: Added method to get number of sinks Change 3958934 by Max.Chen Sequencer: Fix keys getting added and sequence getting erroneously re-evaluated when auto key is off. Only apply defaults if there are no keys. Only modify the movie scene section before creating keys or setting defaults. #jira UE-55903 Change 3959687 by Andrew.Rodham Sequencer: Fixed visibility track external values being inverted #jira UE-56324 Change 3960507 by Max.Preussner Core: Fixed incorrect rounding in FMath::DivideAndRoundNearest Change 3962047 by JohnHenry.Carawon MovieRendering Test Content Changes: - Add Lightmass Importance Volumes to sublevel to fix warnings - Rebuilt Lighting - Add a third sequence for Gamut testing - Resaved the sound master.uasset to fix warning Change 3962211 by Mike.Zyracki Add Frame Numbers to selected animation sections. Added MapTimeToAnimation to MovieSceneSkeletalAnimation so that we could get it from the Skeleton Animation track Editor. Since the thickness of the frame line can change based upon frame rate and zoom we need to calculate it similarly to how the time slider controller does it. Those calculations were private so we had to expose FScrubRangeToScreen and GetScubberPixelRange from the TimeSliderController. Also needed to know if the section itself was selected so added a bIsSelected flag to the section Painter. Also fixed a bug where you couldn't add a section if other sections existed at different times in MovieScenePropertyTrack and could crash due to the check(). #jira UESEQ-395 Change 3962497 by Max.Preussner Core: Added new string formatting argument to FTimespan Change 3963662 by Max.Chen CineCamera: Flip VistaVision width and height. Change 3963731 by Max.Preussner MediaCompositing: Implemented sequence recording support for media track Change 3964195 by Andrew.Rodham Sequencer: Set inverted property correctly for newly created visibility track sections - Also clamp evaluation for key editors to the bounds of the section so we're not displaying values outside of the section bounds when the cursor is not on the bounds #jira UE-56324 #coderevew Max.Chen Change 3964196 by Andrew.Rodham Sequencer: Fixed crash when attempting to render sections that resulted in a negative intersection with the view range Change 3964275 by Andrew.Rodham Sequencer: Fixed MovieScene::ClampToDiscreteRange for infinite range bounds Change 3964364 by Andrew.Rodham Curve Editor: Reduce minimum vertical view range when zooming to fit Change 3965091 by Max.Chen Sequencer Recorder: Refresh next sequence if empty when starting a recording, otherwise, use existing name. #jira UE-56469 Change 3965148 by Max.Chen Sequence Recorder: Move Record to Possessable to "Actor Recording" group Change 3965162 by Max.Chen Sequence Recorder: Always break out of immersive mode when done recording, even when stopping recording during countdown. #jira UE-56407 Change 3965214 by Max.Preussner QAGame: Enabled ImagePlate plug-in Change 3965574 by Max.Preussner SimpleComposure: Reorganized & upgraded content to work with new Media Track #jira UE-56488 Change 3965651 by Max.Preussner MediaCompositing: Ignoring seek-on-open if media not seekable Change 3966075 by Christina.TempelaarL Sequencer: Added Final Cut Pro 7 XML Export functionality #jira UESEQ-358 Change 3966087 by Matt.Hoffman Adding a single key to the Particle Toggle track now makes an infinite range section that is displayed in the UI. #jira UE-56295 Change 3966547 by Andrew.Rodham Sequencer: Fixed rounding errors when drawing the section background on boolean sections - Logic was using time in sectonds which caused rounding errors on evaluation and flickering red/green stripes when dragging keys around #jira UE-56324 Change 3966563 by Andrew.Rodham Curve Editor: Key editor interface improvements - SKeyEditInterface has a few problems - it does not update in real time when editing properties, and does not support multi-edit which makes it unsuitable for use with the curve editor - We now take a different approach for editing keys by gathering a set of proxy UObjects for each key that is currently selected. These objects are added as top level objects to the details panel which means they support multi edit as you'd expect from any other details panel in the editor. - Proxy objects are updated every tick for the curve editor if they implement the ICurveEditorKeyProxy interface, which allows them to refresh their current value. - Ideally, the same mechanisms would be used in the main sequence interface, and we would be generating the proxy classes at runtime based on the key value type, but that work remains a separate task from this initial offering. #jira UE-56165 Change 3966564 by Andrew.Rodham Curve Editor: Expand to frame when adding or moving keys in the curve editor Change 3967051 by andrew.porter MediaFrameworkTest: Set the CameraPlayer_Video texture to auto clear Change 3967141 by Andrew.Rodham Sequencer: Keep track of spawned objects that have been modified and only re-save such object's default spawnable state on destruction - Now that we're taking this approach, I've remove serveral redundant bits of functionality in the spawn register such as making some spawnables read-only, and the PreSave binding for Sequencer. - We now hook into all object pre-saves to make sure we handle the case where the sequences are saved through the content browser or elsewhere. #jira UE-47686 Change 3967170 by Andrew.Rodham Sequencer: Added the ability to possess anim instances as object bindings - This allows full and direct animation of properties on UAnimInstance, and animation blueprints - Object Bindings are made by first possessing a skeletal mesh component, then choosing the + Add button where its anim instance will be listed - Added a new function to UMovieSceneSequence to gather previously cached objects that should now be invalidated. Anim instances will be re-resolved if a new UAnimInstance is assigned to USkeletalMeshComponent::GetAnimInstance. - ObjectBindingIDs for anim instances are just represented by an entry in a set of GUIDs. We only ever resolve such bindings through USkeletalMeshComponent::GetAnimInstance. - Only currently supported on LevelSequences #jira UE-56132 Change 3967195 by Max.Preussner Core: Updated TRangeSet to use TCallTraits Change 3967345 by JohnHenry.Carawon Test Content Changes - first iteration of spacing out the examples in the shots. Change 3967572 by Max.Chen Sequencer: Fix setting PreviousPlayEvalPosition until after we've tested whether it's set. #jira UE-56518 Change 3967750 by Max.Chen Audio: Set duration based on number of input channels, rather than number of channels to serialize. This fixes an issue where audio split into 2 channels is set to a duration that's twice as long. #jira UE-56430 Change 3967836 by Max.Chen Sequencer: Allow for animating array elements within ustruct properties #jira UE-55887 Change 3968506 by Matt.Hoffman Fixed ambiguous conversions for seconds and frames being overriden by ambiguous conversion to Timecode (in frames). Change 3968748 by Max.Chen Sequencer: Make the event properties submenu widget larger. #jira UE-55557 Change 3968862 by Max.Chen Sequencer: Recursive expansion when shift is down #jira UE-52139 #pr 4194 Change 3968863 by Max.Chen Sequencer: Bind rename command to selected track so that F2 shortcut start renaming #jira UE-52139 #pr 4194 Change 3968872 by Max.Chen Sequencer: Rekey the selected key at the current time. #jira UESEQ-396 Change 3968938 by Max.Chen Cine Camera: Add option to toggle the behavior of locking the rail mount to the orientation of the spline. By default, the option is off, no change in behavior. #jira UE-55815 Change 3968958 by Andrew.Rodham Sequencer: Consider vertical position when hittesting keys #jira UE-56256 Change 3969643 by Max.Preussner Core: Rounding timespans created from double values towards nearest ticks Change 3969646 by Max.Preussner MediaUtils: Implemented timeout mechanism for block-on-fetch feature Change 3969776 by Mike.Zyracki Added Skip Anim Notifiers Toggle per what was in Matinee. Investigated the Enable Root Motion toggle as also discussed but it's implementation is directly contained by the animation asset and unlike animation notifies there seems to be no exposure to interactively disable it during a playback tick. Note if we are generating thumbnails we still automtically disable notifies in the editor to avoid annoying noise playback. Note that if Enable Root Motion/Root locked is specified in the animation asset it does correctly effect the Sequencer. #jira UESEQ-399 Change 3969835 by Matt.Hoffman Playback Range and Selection Range use unified logic for adding themselves as potential snap locations which properly handles inclusive/exclusive bounds. This resolves an issue where having an unset selection range caused a potential snap location to be added on frame 0 and 1 (internal resolution) which caused a misalignment when placing objects near frame 0. This also removes the one frame offset on setting Selection Range to bring behavior inline with other ranges. #jira UE-55420 Change 3969885 by Max.Preussner MediaAssets: Don't register media player CDO with media ticker Change 3971129 by Andrew.Rodham Sequencer: Fixed UMovieSceneSequencePlayer::GotToEndAndStop() not taking into account for start time This is a remnant from when the times were always specified in 0-duration space, rather than actual sequence times. Change 3972056 by JohnHenry.Carawon More updates to Test Content. I continued spacing out the examples in the sequence so that they have a consistent number of frames between each example and during the start/end of the example. Also removed the Marcie sublevel. Change 3972066 by Andrew.Porter MediaFrameworkTest: Setting Marcie folder to be never cooked in package settings Change 3972675 by Matt.Hoffman Splitting Subsequence Sections no longer sets an incorrect playback range on the subsequence when the subsequence has a different internal resolution than the owning sequence. #jira UE-55453 Change 3973376 by Max.Preussner ImgMedia: Zero is the only valid video track for image sequences Change 3973489 by Max.Preussner Launch: Build rules cleanup pass - don't use Media, MediaUtils on server apps - don't link against Media (include-only dependency) - don't include from MediaAssets (dynamic load only) Change 3973760 by Max.Preussner MediaUtils: Moved AppMediaTimeSource implementation into its own file; added logging Change 3973765 by Max.Preussner ImgMedia: Disallowing seek beyond media length Change 3973855 by Max.Preussner MediaFrameworkTest: Updated developer test content Change 3973858 by Max.Preussner MediaCompositing: Blocking on media player time instead of media sample time (the former may not be hit in the current frame) Change 3974988 by Max.Chen Sequencer: Fix trim left so that it also sets the start offset for audio and skeletal animation sections. #jira UE-57015 Change 3976101 by Matt.Hoffman Sequencer will now focus the scroll view on newly created items. #jira UE-56492 Change 3976203 by Max.Chen Property Editor: Add DetailsViewArgs for ColumnWidth. Defaults to 0.65f, no change in existing behavior. Change 3976205 by Max.Chen Sequencer: Set better column widths for sequencer. #jira UE-55557 Change 3976206 by Max.Chen Sequencer: Added menu category for import/export Change 3976265 by Matt.Hoffman Tracks within Object Binding Nodes will now sort using the old behavior so that components are added above other track types. #jira UE-56473 Change 3976901 by Max.Chen Sequencer: Add event names to event track section #jira UESEQ-353 Change 3977878 by Max.Preussner Media: Moved media framework ticking stats into Media module Change 3977982 by Max.Chen Sequencer: Add Edit->Reset section length to duration of source (ie. audio, skeletal animation, shot length) Added MovieSceneSection::GetDefaultDuration and MovieScene::HasDefaultDuration #jira UESEQ-392 Change 3977994 by Max.Preussner Media: Fetching and rendering media samples before viewports are rendered (to ensure frame sync for in-level media playback) #jira UE-53975 Change 3978188 by Matt.Hoffman Easing Curves are now clipped by the sequence's PlayRange when testing against an infinite section. This causes blended sequences to finish their blend when the section starts/ends instead of always using 25% of the total section length to determine default blend range. #jira UE-56362 Change 3978676 by Max.Preussner MediaCompositing: Fixed first frame of rendered out media track missing #jira UE-53975 Change 3978684 by Max.Preussner MediaCompositing: Enabled media track frame sync feature #jira UE-53975 Change 3980026 by Matt.Hoffman Keys can be selected on folded out sections (such as an audio track expanded to show volume and pitch) again. #jira UE-57169 Change 3981614 by Max.Preussner MediaUtils: Added missing subtitle sample queue flush Change 3982311 by Max.Preussner MediaCompositing: Added safeguard for zero length media sources Change 3982389 by andrew.porter QAGame: Adding media track test content into FrameAccuracySubscene Change 3983661 by Max.Chen Sequencer: Add level name to spawn a spawnable into. Add sublevel menu option to set the level #jira UESEQ-390 Change 3983712 by Andrew.Rodham Sequencer: Purge legacy blueprint spawnables from LevelSequence packages #tests Ran a preflight for cooking fortnite, ocean and Orion. Only orion shows up this edge case, and will require a re-save of the EndCines level #jira UE-39173 Change 3983787 by Max.Preussner MediaCompositing: Moved compile time switch for block-on-fetch into media player facade Change 3983812 by Andrew.Rodham Sequencer: Exposed default level sequence instance data to blueprints Change 3984373 by Max.Preussner Media: Added API for quering whether player plug-in supports block on fetch Block on fetch allows Sequencer and other systems to block the game thread until a desired video frame has been decoded. Change 3984670 by JohnHenry.Carawon Movie Rendering Test Content progress. Saving the state of the content. There is a bug where things got replaced with particle emitters and I think it was because I tried to copy paste an animation track into a separate skeletal mesh track. Change 3985097 by Max.Chen Sequencer: Rename Reset to AutoSize Change GetAutoSizeDuration to return TOptional<FFrameTime> #jira UESEQ-392 Change 3986043 by Max.Chen Sequencer: Fix crash when attach/path duration is less than 0. #jira UE-57310 Change 3986373 by Max.Chen Sequencer: Add support for deleting tracks and channels which equates to setting the channel mask. #jira UE-52951 Change 3986375 by Max.Chen Sequencer: Add Create Pose Asset to skeletal animation section. This allows animators to blend animations in sequencer and create new pose assets from them. #jira UESEQ-408 Change 3986796 by Andrew.Rodham Sequencer: Fixed stale object references remaining in ULevelSequence::BindingReferences when using convert to spawnable/possessable - We used to convert objects by creating a new binding, then re-assigning its GUID, which meant we didn't have to do any further object fixup, but the code to achieve this was confusing and led to a vulnerability where object references would not be cleaned up correctly due to the newly created possessable essentially being a temporary object that's immediately thrown away. - To address this, there is now a function for porting all the contents of one object binding to another, and handles the correct fixup required for parent/child object bindings for both spawnables and possessables. - Also added codepath to remove any stale object references from the level sequence reference map on PostLoad (this piggy-backs off the PurgeLegacyBlueprints object version which is close close enough to this change to be identical) #tests Verified that existing sequences with stale references get cleaned up on load. Verified that repreatedly converting from spawnable<->possessable cleans up references correctly. Change 3987807 by JohnHenry.Carawon Updates to the MovieRendering Test Content. - Fixed the spawnable actors that were overwritten - Shortend the Lighting example and combined the Intensity and Color tracks - Organized the Sequence and WorldOutliner to group the examples. Change 3988151 by Max.Chen Cine Camera: Enable keying the "Enable Look at Tracking" toggle. Change 3988880 by Max.Chen Sequencer: Support enter to add asset for all sequencer track editors that have asset pickers. #jira UE-57367 Change 3988953 by Max.Chen Sequencer: Make the track color picker focusable so that it will close when you click away or lose focus. #jira UE-57210 Change 3988962 by Max.Chen MovieSceneCapture: Fix EDL export so that it takes into account movie scene frame resolution and desired frame rate. #jira UE-57365 Change 3988964 by Max.Chen Movie Scene Capture: Clarified tooltip for bRelativeFrameNumbers. If you specify custom start/end frames for the recording, they will be relative to the playback range. #jira UE-57308 Change 3989442 by Max.Chen Fix CIS Change 3991548 by Matt.Hoffman Dragging the time slider no longer causes the time slider to ignore snap-to-interval with "Snap to Keys While Scrubbing" when no keys are in range. #jira UE-57417 Change 3991598 by Matt.Hoffman Snap to Key while scrubbing now mirrors the behavior of "jump to next key". When there are no tracks selected it snaps to all keys and when there are tracks selected it snaps to only keys from that track. This also resolves an issue where deleting an object did not remove it from the Sequencer's selection. Undoing a delete already doesn't seem to restore your selection, so removing it from your selection shouldn't change that behavior. #jira UE-57417 Change 3991603 by Max.Chen Sequencer: Disable EditAnywhere for some section properties #jira UE-53530 Change 3992240 by Max.Preussner MediaAssets: Implemented dynamic audio sample rate adjustment based on audio/media clock drift #jira FORT-70638 Change 3992911 by Andrew.Rodham Sequencer: Fixed saving spawnable state using the wrong spawned object - We now track the object binding ID so that we can apply the spawned object to the correct spawnable when the asset is saved #jira UE-57353 Change 3992914 by Max.Chen Movie Scene Capture: Fix compression quality not being set. The compression interface wasn't being found through query interface, so no compression was being set. Reworked finding it through the output pins. Tested running various compression values. #jira-UE-55488 Change 3992919 by Max.Chen Sequencer: Convert to possessable now uses object template instead of copying properties (ie. see LevelSequenceActorSpawner). This fixes MIDs getting lost when converting to spawnable and back to possessable. #jira UE-52400 Change 3993184 by Max.Chen Sequencer: Don't show +Transform/+Path/+Attach track if the actor has the "Mobility" property hidden. Set the Landscape, LandscapeProxy and InstancedFoliage "Mobility" property to be hidden since it is static is not supposed to be dynamically movable. #jira UE-56347 Change 3993238 by Max.Chen Sequencer: Test for hidden mobility in creating keys as well. Refactored to HasHiddenMobility() #jira UE-56347 Change 3993978 by Max.Chen Cine Camera: Enable keying the "Enable Look at Tracking" toggle. #jira UE-57489 Change 3994039 by Max.Chen Landscape: Add Mobility to hidecategories on landscape component #jira UE-56347 Change 3994626 by JohnHenry.Carawon Updated Movie Rendering Test Content. - Fixed the overridden spawnables to their proper object types. Change 3994653 by Christina.TempelaarL Sequencer: Added Final Cut Pro 7 XML Import functionality, improved Export functionality #jira UESEQ-358 Change 3995609 by Max.Chen UMG: Add support for 2d transform mask (translation, rotation, scale, shear) #jira UE-52951 Change 3995778 by JohnHenry.Carawon Movie Rendering Test Content Updates - Adjusted Lights example - Adjusted Camera example - Added Marcie sublevel back in Change 3995942 by JohnHenry.Carawon QAGame: Moving Movie Rendering test content from Developer folder to Sequencer folder Also adjusted level visibility, lights and camera example. Change 3995993 by Christina.TempelaarL Sequencer: FCPXML Export updates - only export sections if in playback range and media exists, warn if media does not exist. Other updates - removed unused methods and variables, fixed message context naming to be more accurate #jira UESEQ-358 Change 3996595 by andrew.porter QAGame: Updating Marcie content in TrackEvaluation level to use Image Plate Change 3996614 by andrew.porter QAGame: Adding color test sequence to the sublevel Change 3996643 by Max.Chen Sequencer: Fix fbx animation export - rotation and scale channels were flipped. #jira UE-57509 #jira UE-57512 #jira UE-57514 Change 3996652 by Max.Preussner Messaging: Fixed delayed messaging using incorrect current time after message router sleep Based on https://github.com/EpicGames/UnrealEngine/pull/4601 Change 3996801 by Max.Chen Sequencer: Fix folder active state for non key area sections. Look at track node sections as well as key areas. #jira UE-57550 Change 3997098 by Matt.Hoffman Cleaned up some remaining ToDo's in STimeRange. Change 3998339 by Max.Preussner Sockets: Added documentation for socket receive functions Change 3998359 by Max.Preussner MediaUtils: Started to implement media recorder helper class Currently only supports BGRA frames in CPU memory. Supporting other formats and buffer types will require conversions on render-thread. I recommend refactoring out the existing conversion code in FMediaTextureResource into a reusable helper class in the MediaUtils module. This should be a good starting point though. Change 3998417 by Matt.Hoffman Keys and Sections can now be moved at the same time inside of Sequencer. Keys can now snap to Sections (and vice versa) instead of just to other Keys. Sections can now be duplicated like keys can. #jira UE-56995 Change 3998427 by JohnHenry.Carawon QAGame: Updating test content for the Movie Rendering feature. - Added an auto activate particle to the beginning of the sequence (it's not part of the sequence at all) - Added an event receiver blueprint to the Events example - Added a particle emitter to both sublevels - Added a camera cut to the end that switches to a separate camera - The camera zoom in, focus and Look At sections are all separate (not overlapping in the sequence) - Added a second actor for the camera Look At - Added a Visibility section for the Actor Hidden In Game track that has possessable and spawnable cube and light Change 3998537 by Max.Chen Sequence Recorder: Restore immersive mode when stopping the sequence even if not in PIE. #jira UE-56407 Change 3999809 by Matt.Hoffman Removed the "Go To" box from Sequencer and instead placed the current time as an always visible control. The previous shortcut (Ctrl + G) now focuses the new widget directly. #jira UESEQ-376 Change 4000543 by Christina.TempelaarL Sequencer: Moving editor-only code from runtime module MovieSceneCapture to editor module MovieSceneTools. Moved EDL and FCP XML exporters as well as Automated Level Scene Capture. #jira UESEQ-358 Change 4000706 by Matt.Hoffman Entering multiple time strings without a number no longer crashes Sequencer. #jira UE-57672 Change 4001051 by andrew.porter MediaFrameworkTest: Fixing up some image sources pointing to the wrong location Change 4001191 by andrew.porter QAGame: Adding some quick EDL/XML test content to dev folder Change 4001243 by Max.Chen Sequencer: Fix import EDL out of range. #jira UE-57665 Change 4001856 by Matt.Hoffman Selecting keys and sections at the same time now also works with animation and audio sections. #jira UE-57716 Change 4002021 by Max.Chen Sequence Recorder: Fix sequence name incrementing. If external recording sets the sequence name, use it. Otherwise, use the recording name from the recording group or the recording settings. #jira UE-57712 Change 4002618 by Max.Chen Viewport: Update the look at location when updating to a locked actor. This fixes an issue so that popping the view out of a locked actor and manipulating the view will not jump to the previous look at location. #jira UE-57725 Change 4002979 by Matt.Hoffman Fixes several edge cases with the end time range that was causing confusion about what the last frame of the sequence was. Dragging the End Frame slider will no longer be off by one tick and jumping to the end via the UI controls now properly respects snapping and stays inside the play range instead of falling outside of it. Overall behavior does not change though and End Frame should be considered an exclusive frame so that frames 0-150 results in a 150 frame long animation (which is frames 0-149). #jira UE-56367 Change 4003185 by Matt.Hoffman Fixed a regression that prevented a section from being dragged upwards past row 0 which normally resulted in all other rows moving down. #jira UE-57717 Change 4003193 by JohnHenry.Carawon QAGame: Updates to test content - Shortened frames between the examples from 95 to 30 - Separated camera setting tracks - Lighting example now switches directly from constant red - green - blue Change 4003369 by Max.Chen Sequence Recorder: Refresh next sequence regardless of internally stored sequence name. #jira UE-55757 Change 4003586 by JohnHenry.Carawon QAGame: Test Content Updates - Level Visibility track now ends to that the levels are not visible when we move to the next example - Shortened camera section, removed Z tranform so that we just move left to right and shortened the overall length Change 4004414 by Max.Chen Movie Scene Capture: Fix regression where rendering with shot handles would only render the first shot. 3972166 addressed an issue where an extra frame would be rendered by finalizing right when the end frame was reached. This was hit on the first shot end frame, so instead, do this only for when the last shot is being rendered. #jira UE-57314 Change 4004765 by Christina.TempelaarL Sequencer: Fixed bugs in FCP XML import/export. - Export: fixed sequence default resolution. - Export: fixed XML files with no shots. - Export: all sections clipped to playback range. - Export: fixed incorrect section start/end times due to precision issues. - Import: fixed incorrectly adding cinematic tracks. - Import: fixed bugs creating new sections. #jira UE-57660 #jira UE-57662 #jira UE-57655 #jira UE-57761 Change 4005119 by Max.Chen Sequencer: Export/import at play rate Change 4005195 by Max.Chen UMG: Finish UMG evaluation on stop. Added object version so that existing UMG assets do not change. #tests - Newly created UMG animation with sections set to restore state now return to their original state. Existing UMG animations with sections set to restore state do not return to their original state. #jira UE-52285 Change 4005377 by Michael.Karambelas QAGame: Moving TM-SequenceRecorder and related content out of my developer folder and into /Content/Sequencer/SequencerRecorder/* Change 4005417 by Michael.Karambelas QAGame: Fixed a BP compiler in the Level Blueprint of TM-SequencerRecorder. Change 4005634 by Michael.Karambelas QAGame: Fix up missing content and broken level sequence in TM-SequenceRecorder after move Change 4006324 by Max.Chen Sequencer: Reset if the focused movie scene is null. This fixes a crash if the user is focused in on a shot and undo takes the user past the point of where the shot was created. #jira UE-57752 #jira UE-47661 Change 4007006 by Max.Chen Sequencer: Fix FindAvailableRowIndex so that it returns the max row index (and not +1) since it doesn't find any conflicting rows. #jira UE-57717 Change 4007907 by Max.Chen Sequencer: Fix crash if there's no animation Change 4007948 by andrew.porter QAGame: added test content to dev folder for Record World Space Change 4008636 by Max.Chen Sequencer: Fix import fbx not setting values properly and creating additional cameras unncessarily. #jira UE-57864 Change 4008759 by Max.Chen Sequencer: Follow up fix for import cameras #jira UE-57864 Change 4009994 by Matt.Hoffman Dragging the left or right handles of the Time Range slider in Sequencer will now zoom your view in on the current center of the screen. This prevents the view from being translating as you tried to zoom in which caused issues at high zoom levels. #jira UESEQ-407 Change 4010169 by Christina.TempelaarL Sequencer: FCP XML fixes. - FCP XML export - no longer clips to playback range - FCP XML and EDL export - fixed missing last frame of some sections after exporting to Premiere. - Automated level capture, EDL export - use RoundToFrame instead of FloorToFrame for computing section start/end frames after frame rate conversion. #jira UE-57802 - partial fix, movie scene capture still needs to render full section rather than clip against playback. Change 4010287 by Mike.Zyracki Add quaternion interpolation option to UMovieScene3DTransformSection. This mimics how Matinee used to work by bascially finding the keys between a time and interpolating the angles as quat's between them. As noted in the code the algorithm needs to handle the case when the x,y,z Rotation keys all aren't at the same time which was not handled by Matinee. Also like Matinee, when in quaternion interoplation mode, we need to not display the function cuves since the interpolated and key values are now all different. (Would like to show them but that's a bigger refactor for perhaps just a one off needed by quaternions). I added a virtual function UMovieSceneSection::ShowCurveForChannel for this since it needs to be dynamic, not on construction of IKeyArea's, and could be useful for other sections. I could though move the method to just UMovieScene3DTransformSection and do a cast instead. Looked into doing a unit test for this but after talking with Andrew P we will work on doign an automated test in EngineQA since that will provide more coverage. Will also add a video the jira. #jira UESEQ-403 Change 4010713 by Mike.Zyracki Added option to key a group of transform channels instead of just the changed channel, or all of them. This is useful for quaternion interpolations where you want rotation keys to be aligned but also useful for other workflows like animating FK Pose to Pose. Change 4010715 by Andrew.Porter MediaFrameworkTest: Setting LogMediaUtils logging from VeryVerbose to Verbose to cut back on the spam Change 4013048 by Max.Chen Sequencer: Fix play/jump status. Update the player status for all position methods (Scrub, Jump, Play). Jump means Stopped. Correctly use PlayTo or JumpTo based on position method. In PlayInternal, JumpTo with the Stopped state (rather than playing state). #jira UE-57844 Change 4013479 by andrew.porter QAGame: Added content in TM-SequenceRecorder to test recording a property on a Cine Camera Component; Press 3 to trigger manual focus distance to increment on a timer Change 4014323 by Max.Chen Sequencer: Fix SetPlaybackPosition so that it jumps or plays based on playback status. #jira UE-57844 Change 4015888 by Max.Chen Sequencer: Fix crash on paste. UMovieSceneSections were gathered from the track node's track. For sub track mode, we want to gather only those sections on that track node row. #jira UE-57951 Change 4015943 by Max.Chen Sequencer: Fix moving shots up when the mouse pos goes outside of the virtual track area. #jira UE-57717 Change 4016293 by Max.Chen Sequencer: Fix relative frame playback end frame calculation so that custom start/end frames remain in the space of the sequence and are not relative. #jira UE-57308 Change 4017075 by Andrew.Rodham Sequencer: Corrected initial evaluation range used when calling UMovieSceneSequencPlayer::Play() Change 4017270 by Christina.TempelaarL Sequencer: FCPXML importer and movie scene capture - Use CeilToFrame when converting section start/end frame times to frame numbers in FCPXML and movie scene capture. - Added support for clip metadata in FCPXML. - Got rid of redundant TokenizedError message class, no longer needed now that FCPXML is in editor directory. - Added log messages currently commented out due to exception, still testing. #UESEQ-358 Change 4018370 by Christina.TempelaarL Sequencer: fixed FCPXML log messages regarding sections with start/end not divisible by display rate. #UESEQ-358 Change 4018378 by Christina.TempelaarL Sequencer: fixed error in previous changelist. #UESEQ-358 Change 4019457 by Max.Chen Sequencer: Show event names only when the event track is selected #jira UE-57897 Change 4022806 by Max.Chen Sequencer: Fix crash on movie scene capture dialog shutdown if movie capture wasn't even started. #jira UE-58106 Change 4022894 by Max.Chen Sequence Recorder: Wrap OpenEditorForAssets after sequence recording within GIsEditor #jira UE-58084 Change 4024487 by Max.Chen Sequencer: Add tooltip for quat interpolation #jira UE-58113 Change 4024562 by Max.Chen Sequencer: Change path/attach track sequence binding id to currently focused sequence id so that bindings can be created in subsequences Change 4027414 by JohnHenry.Carawon QAGame: Checking in content that shows a bug with using particles systems and Delay Before Shot Warm Up. Change 4028990 by Max.Chen Sequencer: Fix evaluate sub sequences in isolation. This check was added with the compile on the fly logic. Not sure why it was necessary but it seems like the sub sequence data needs to be updated in order to evaluate sub sequences in isolation. #jira UE-58184 Change 4029004 by Max.Chen Sequencer: Ensure that old binding references are removed when re-assigning actors in sequencer #jira UE-57898 Change 4030997 by JohnHenry.Carawon QAGame: Fixing name of the master sequence Change 4031785 by Michael.Karambelas QAGame: Added an instance of ThirdPerson Run to TM-SequenceRecorder for Record to Possessable test. Change 4035548 by Andrew.Rodham Sequencer: Changed FMovieSceneEvaluationTemplate::TemplateSignature to be a serial number to address non-deterministic cooking issues - This commit is related to the repro steps found in 3914599 and 3934307, both of which have been verified with this new change. - Copy of 4031684 from //Fortnite/Main/... #jira FORT-84852 Change 4036312 by Max.Chen Sequencer: Fix zoom view range so that it uses the passed in InZoomDelta Change 4036318 by Max.Chen Sequencer: Auto size now returns a range and defaults to the channel proxy range so that keyed regions can also be autosized. Change 4036322 by Max.Chen Forgot missing change Change 4036360 by Max.Chen Sequencer: Fix play rate calculation when skeletal animation section play rate changes. Change 4037163 by Mike.Zyracki Weighted Tangent Implementation Tricky thing is that you need to solve a cubic in order to get the bezier weights for the time part of the curve. See https://www.gamedev.net/forums/topic/474094-help-function-curves-for-animation-interpolation/ Maya provides an implementation in it's dev kit but I didn't use it since it was horribly slow and uses an iterative solution to solve the cubic needed. Instead I use an old algorithm (Cardano's method), to solve the cubic which should be much faster. Though relative simple to code from principles I just went ahead and used a version from Graphics Gems 1. I put this cubic solver directly in MovieSceneFloatChannel.cpp, but will need to move it when we support Rich Curve, maybe to FMath:: (which would probalby require some other functions for solving quartics, etc.. for completeness.). Also note we resolve this on every evaluation but dont' need to if the interval the time is evaluating hasn't had any change in values or tangents. So again when we support FRichCurve we can create a Weighted Evaluating class that can hold the cache. Also with the tangent drags I got rid of the Cardinal position that was used to calculate non-weight tangents from the key point and just quickly getting a direction. With weighted tangents we need to use the delta instead (otherwise when moving multiple they would all get the same weight based upon distance to the cardinal point. ) For mixed tangents types what I'm defaulting to non weighted if the interval doesn't match. May need to do weighted instead, not sure. What's left is just FBX import, for tomorrow. #jira UESEQ-76 Change 4037435 by Mike.Zyracki Fix fo build warnings from weighted tangent submission. #trivial Change 4038091 by Michael.Karambelas QAGame: Updated a Sequence Recorder group in TM-SequenceRecorder that had an actor missing the animation. Change 4038374 by Andrew.Rodham Sequencer: Refined scrubber styling for level sequences and actor sequences - Scrubber now shows a block the width of a dsplay rate frame, plus a line for the actual evaluated time. UMG reverts back to the previous styling (no block) - Keys that are outside of the playback range are now drawn with a subdued effect - Tick labels are no longer drawn when directly underneath the scrubber Change 4038490 by Max.Chen Sequencer: Expose tangent weight values in details panel. Change 4038620 by Andrew.Rodham Sequencer: Advanced time panel polish #jira UESEQ-426 Change 4038677 by Max.Chen Movie Scene Capture: Redirector for MovieSceneTools.AutomatedLevelSequenceCapture #jira UE-58248 Change 4039739 by Max.Chen Sequencer: Media track should only be supported by Level Sequence Change 4040024 by JohnHenry.Carawon QAGame: Fix EventReciever and OverrideBinding example The level sequence was set to none so the fix was to set it back to TrackEvaluation_Master. Change 4040610 by Andrew.Rodham Curve Editor: Moved weighted tangent switchers to a single toggle command (CTRL+W) and added an icon #jira 58383 Change 4040882 by Mike.Zyracki Keep broken when turning on weighted #jira UE-58435 Change 4041089 by andrew.porter QAGame: Sequence for Long Tangents bug Change 4041498 by Mike.Zyracki Turn off weighted when going auto to prevent large tangents. Do it both in UI and when doing AutoSetTangents() to really make sure it doesn't happen. #jira UE-58452 Change 4041752 by andrew.porter MediaFrameworkTest: Adding some better logging for setting rates when not supported. Also ignoring commiting URL when there is no text Change 4041896 by Matt.Hoffman The transform dialog box now transforms selected keys and sections, instead of just keys. #jira UE-58265 [CL 4044405 by Max Chen in Main branch]
2018-05-02 10:10:00 -04:00
float RoundedStartPixel = FMath::RoundToInt(FrameStartPixel);
FrameEndPixel -= (FrameStartPixel - RoundedStartPixel);
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3946692) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3801826 by Max.Chen PR #4304: Level Sequence crash fix - Guarded against dereferencing null componen. (Contributed by DSDambuster) Change 3801828 by Max.Chen PR #4302: Movie Scene Visibility Template unitialised variable, causing random . (Contributed by DSDambuster) Change 3801837 by Max.Chen Sequencer: Delay spawning/construction for convert to possessable. This fixes a bug where property values would be lost when converting back and forth from possessable to spawnable. #jira UE-52400 Change 3801841 by Max.Chen Sequencer: Make spacer nodes not selectable. PR #4194: Improvements to Sequencer (Contributed by projectgheist) #jira UE-53117 #jira UE-52139 Change 3804183 by Max.Preussner MediaAssets: Added missing lock in media sound component Change 3805414 by Max.Preussner MediaAssets: Setting valid GUID when initializing media texture resource Change 3819578 by Max.Chen PR #4370: When enabling the "MovieCapture", do not turn off the Stereo-3D display. (Contributed by yehaike) #jira UE-53647 Change 3823414 by Max.Chen Curve Editor: Lock down the first and last keys in the redundant keys removal range so that they're unaffected. #jira UE-53591 Change 3826406 by Max.Chen Sequencer: Move OnStartedPlaying() to within first update in UpdateTimeCursorPosition(). This fixes an issue where setting the hud/player visibility was getting stomped on later. #jira UE-52772 Change 3827044 by Max.Preussner MediaAssets: Added sprite visualization to media sound component #jira UE-53594 Change 3827988 by Max.Preussner MediaPlayerAssets: Fixed Media Texture is not linked to Media Player when created together #jira UE-53532 Change 3828506 by Max.Preussner MediaPlayerEditor: Added attenuation visualizer for media sound components #jira UE-53594 Change 3832590 by andrew.porter EngineTest: Added a keep state check in Property Animation sequencer test Change 3833053 by andrew.porter EngineTest: Adding Hierarchical Bias test Change 3835683 by andrew.porter EngineTest: Adding UMG Animation screenshot test Change 3836076 by Max.Chen Sequencer: Fix audio volume and pitch multiplier deprecation. Change 3836230 by andrew.porter EngineTest: Adding Sequence Bone Position automation test Change 3836347 by Max.Chen Sequencer: Fixes to shot name parsing. When a shot doesn't contain a shot number, assume, [ShotName]_[TakeNumber]. When duplicating a shot, put the new shot in the same path of the original shot, so that the take numbers will increment properly. #jira UE-51868 Change 3836552 by Max.Chen Sequencer: Sub section now has a takes menu Change 3838094 by Max.Chen UMG: Fix template finish not getting called on stop. This fixes a bug where sections aren't restored when finished. #jira UE-52285 Change 3838708 by Max.Chen Sequencer: Add notification when the blend type is changed. #jira UE-54046 Change 3840295 by Max.Chen Sequencer: Fix copy/paste crash for lights #jira UE-54084 Change 3840957 by Mike.Zyracki Added Show Only Keyable and Show Only Animated to the filter list in the property editor. Added IsPropertyAnimated to IDetailKeyframe Interface which already had support for showing properties which are keyable (which is used for the key icon next to the properties.). Could have created another interface but then would have had to mimic the sequencer binding, releasing also, so this seemed best way. One issue still left is that custom built detail items currently don't store associated properties(usually) and so certain properties, in particulalry transforms, won't show up as keyable or animated. Note this also shows up with the keyable icon not showing up next to transform tracks, and other filters like Show Only Modified not working with transforms/customs. Not sure best way to tackle this. #jira UESEQ-328 Change 3841756 by Max.Chen Sequencer: Fix unbound possessable components when pasting spawnables. #jira UE-54104 Change 3843950 by andrew.porter EngineTest: Renaming LevelStreaming tests/content to LevelVisibility Change 3844082 by Mike.Zyracki Missing file for animated filter in property editor. When finding if a track is animated we need to find it but we can't easily induce the MovieTrack class for any particular property. So we don't set a class for it and just search by it's ID and name. #jira UESEQ-328 Change 3846902 by Max.Preussner ImgMedia: Fixed image media player never finished initialization if loading failed #jira UE-54247 Change 3849820 by Mike.Zyracki Reassigning deleted widgets didn't work since the menu extender mechanism needs a valid UObject in order to perform an operation on it. So to fix we replaced GetObjectBindingContextMenuExtender in WidgetBlueprint with new delegate mechanism (OnBuildCustomContextMenuForGuid) that supports FGuid in addition to UObjects which is needed to handle re-binding deleted widgets. Note that the default sequencer hacks this for replacing deleted actors in SequencerObjectBindingNode to check to see if a LevelSequence is active. We could move to this mechanism there also. #jira UE-53163 Change 3852211 by Max.Chen UMG: Indicate name of the property that is not bound. #jira UE-54350 Change 3854120 by Max.Chen Sequencer: Fix sibling folders being allowed to have the same folder name. #jira UE-54363 Change 3854627 by Max.Chen Sequencer: Step to next/previous key should work for all tracks if there aren't any selected. #jira UESEQ-391 Change 3855825 by andrew.porter EngineTest: Adding animation blending automation test Change 3855950 by andrew.porter EngineTest: Adding correct expected valuues to animation blending test Change 3856237 by Matt.Hoffman UESEQ-336 - Sequencer Track Reordering Adds the ability to re-order Master Tracks, Folders and Object Bindings within sequencer hierarchies (including UMG). Adds the ability to do a one-off sorting of the content under the old sorting behavior if the user wants to reset their layout to how it was under legacy behavior. Modifies SequencerTrackNodes, SequencerFolderNodes and SequencerObjectBindingNodes to handle CanDrop/OnDrop for above, below and ontop of. Fixes a Slate Issue that forcibly expanded a TreeviewRow if an item handled OnDrop. Slate will now only forcibly expand the row if the item says the drop happened ontop of the item, and not above or below it like it previously did. Change 3856503 by andrew.porter EngineTest: Adding automation test for using animation blueprint with blend multi node in sequencer Change 3857875 by Max.Chen Sequencer: Assign the sequence id after the template is compiled. #jira UE-54462 Change 3858344 by Max.Chen Sequencer: Prevent Goto and Transform boxes from overlapping by allowing them to be visible at the same time in an autosized horizontal box. Also, added close button to the goto box. PR #4425: Prevent Goto and Transform boxes from overlapping in Sequencer ... (Contributed by projectgheist) #jira UE-54210 Change 3860566 by andrew.porter MediaFrameworkTest: Set the option to index 0 for the audio and video track list by default Change 3860654 by andrew.porter EngineTest: Enabling Camera Cut + FOV test Change 3860981 by andrew.porter EngineTest: Updating skeletal mesh tests with a delay after set playback position Change 3861256 by Max.Chen Sequencer: Add all bindings if none selected. #jira-54440 Change 3862154 by Andrew.Rodham Added TimeManagement module Change 3862424 by andrew.porter EngineTest: Turned on the test Bone Positions with Blend Multi Node Change 3862573 by andrew.porter EngineTest: Adding test to compare bone positions in a sequence that is blending an animation that is using an AnimBP Change 3865117 by Max.Chen Sequencer: Stop auto scroll on mouse release of movement. #jira UE-31212 Change 3865303 by Max.Chen Sequencer: Add drag and drop transactions #jira UE-54662 Change 3865304 by Max.Chen Sequencer: Fix crash when an actor factory is not found. Change 3865361 by Max.Chen Sequencer: Don't change the camera/shot lock button when popping out of a sequence. #jira UE-54665 Change 3865412 by Max.Chen Sequencer: Determine whether a transform track is for a camera by using the spawned object or template #jira UE-54666 Change 3865685 by Max.Chen Sequencer: Clear autoscrub offset when stopping autoscroll #jira UE-31212 Change 3865886 by Max.Chen Sequence Recorder: Log an error if the number of frames changes while recording. This can happen if the skeleton changes while recording. #jira UE-48715 Change 3866925 by Andrew.Porter MediaFrameworkTest: Changing the current PNG test video image sequence to 1024 x 576 Change 3867705 by andrew.porter QAGame: Adding Audio Sort Sequence to dev folder Change 3867890 by andrew.porter QAGame: Adding a sequence for testing a sorting crash to my dev folder Change 3872628 by Max.Chen Movie Scene Capture: Split delay before warmup into split delay before shot warmup so that there's separate controls for when the movie scene capture warmups up vs. shot boundaries. Change 3873131 by Matt.Hoffman UE-54732 - Crash reordering a folder with a track. This was caused by folders being the only type of track to check if someone was putting a parent track into a child track. Object Binding tracks and Tracks now check as well so that you can't use the above/below drop targets to add parents as children. This also fixed a typo in the localization keys. #jira UE-54732 Change 3873301 by Mike.Zyracki Added ability to support continous euler angle changes when changing rotations, in particularly with the rotation gizmo's. To do this we effectively added a form an of 'euler filter'(https://en.wikipedia.org/wiki/Euler_filter) to find the closest euler angle to the current euler angle. Three functions were added to FRotator to make this possible, one to get the euler angle that's has the same rotation as it, one to get the difference between two euler angles via Manhattan distance and a third using the previous two to choose a Rotator value that's closest to it. We then use these functions before calling UComponent::SetRelativeRotation to make sure we use the correct Euler after the Quat conversion. We also no longer limit(bound) the euler angles to -180,180, which is obviously necessary to avoid flips. I also changed how we caluclate yaw and roll when pitch is -90 or 90 to make it the standard approach of zeroing out roll and just setting yaw. Main reasons are the previous implementation had precision issues so things like 180, 90, -180 would show up due to numbers being nearly zero but negative,(this would break any smooth interpolations), and this facilitates having a 'gimbal' rotation mode (like Maya, Blender etc..) if we ever want that also. If needed we could keep the previous implementation but would need to add some FMath::IsNearlyZero checks, with less performance. Note we only do this special filtering when applying delta's to actors or components in the editors, which then call UComponent::SetRelativeRotationExact, which is a new function to foces the RelativeRotation to be equal to the new rotation. This allows us to store un-nomalized Rotators at the cost that the RotationCache may be broken. We didn't change any of the other UComponent functions that set rotations (via Quats or Transforms) so they will still be bounded and unwound. In SetInternalWorldLocationAndRotation we only set the rotation if the rotation has changed, which fixes the rotation getting changed and re-normalized if just translate happens. In TransformTrackEditor, we correclty use the bUndwing flag and in MovieScene3DTransformSection there was an un-needed winding check there, it will be unwound earlier if needed, which happens if Sequence Recording is happening. Max we should talk about what to do about this . Note the euler angle drag via the widget is still bound to 0-360. I think we should just unbound that now since the rotations value are now unbound. This review now includes fixes suggested by Zak. #jira UE-UE-22228 Change 3873483 by Matt.Hoffman Sequencer Tracks can now be inserted above the spacer at the bottom of the tree. #jira UE-54706 Change 3873899 by Max.Chen Sequencer: Add section selection throbbing Change 3873908 by Max.Chen Movie Scene Capture: Added logging per frame Change 3873924 by Matt.Hoffman Adds the ability to store Sequence Recorder setups into profiles that stay with the map and can be re-loaded later. Profiles store the Actor Recordings so the settings for each actor should carry with them. #jira UESEQ-339 Change 3874726 by Matt.Hoffman Disable drag-and-drop targets on spacers that come between rows in Sequencer. This prevents extra drag/drop targets showing up between each row. #jira UE-54706 Change 3874862 by Matt.Hoffman Audio Track no longer gets reordered when adding sub-audio tracks, as sub-tracks are no longer counted towards the sorting order index when normalizing indexes. #jira UE-54727 Change 3875905 by Matt.Hoffman Disable Fade Track UI if a fade track already exists in the sequence. #jira UESEQ-393 Change 3876163 by Max.Chen Sequencer: Swap the camera object to the camera component's owner if it's not the same. #jira UE-54874 Change 3876971 by Andrew.Porter EngineTest: Moved Media Player Seek test to new folder. Also enabled the test with new ground truth image. Change 3877040 by Max.Chen Cine Camera: Split camera properties to two groups, "Camera Options" and "Camera Settings". The cine camera now hides properties in the "Camera Settings" group so that properties like bConstrainAspectRatio (in the "Camera Options" group) can be visible. #jira UE-54192 Change 3877763 by Max.Chen Curve Editor: Fix curve changed on end drag so that only curves that had keys/tangents that were changed receive notification, otherwise all loaded curves were getting notified that they were changed. #jira UE-54951 Change 3878234 by Matt.Hoffman Disable "Drop Below" targets for Sequencer Tree nodes to prevent a confusing UX issue where dropping underneath a Object Binding Node puts it after the object binding node but the UI looks like it's inserting it inside the Object Binding node. #jira UE-54743 Change 3879359 by Mike.Zyracki If a track is inactive we dim it a bit which seems to be the UE4 way to show inactive or disabled state. We changed the active logic so that all subtracks need to be inactive for the track to also be inactive(instead of all active for active). This conforms to how the active state actually works, e.g if you have two sections and only one is active the track is still active above it. #jira UESEQ-388 Change 3879462 by Max.Chen Sequencer: Allow dragging onto a particular row which would move out any overlapping sections to make space for the newly created section. Newly created sections are now selected and throbbed to draw attention to themselves. #jira UE-54664 Change 3879464 by Max.Chen Sequencer: Fixed overlapping ranges being inserted into the evaluation field during compilation - The issue was that track segments that had been combined with adjacent segments (due to them being identical) would potentially cause a subsequently compiled frame to overlap with a range that had already been inserted into the evaluation field. - The insertion code previously asserted that only minor overlaps were catered for (due to fp rounding errors) and assumed that a supplied range could not entirely contain any other range in the field. - The solution is to supply the insertion time along with the range to know exactly where the data should live in the field, and crop the range to the maximum allowable space between adjacent ranges. #jira UE-54922 Change 3879590 by Matt.Hoffman Items that are now added to the Sequencer via the "+Track" menu will be selected after being added. Items can now be added inside of folders instead of just to the root level. #jira UE-27397 Change 3879612 by Mike.Zyracki Display Nodes with no children are always active. #jira UESEQ-388 Change 3879730 by Matt.Hoffman Sequence Recorder's actor recording groups now remove items from the group when removed via the UI. #jira UESEQ-339 Change 3880256 by Mike.Zyracki Fix issue with inactive display with folders and other track nodes. #jira UESEQ-388 Change 3883491 by Max.Chen Fix issue where tick is skipped due to last ticked pose isn't cleared after AnimInstance changes. Copy from Release-4.19 #jira UE-51323 Change 3883603 by Max.Chen Movie Scene Capture: Add option toggle disable screen percentage. By default this is on (no change in current behavior). #jira UE-51898 Change 3885074 by Max.Preussner MediaCompositing: Resetting media texture & freeing resource on section end; removed dead code Change 3887220 by Max.Preussner MediaCompositing: Defaulted media section duration to 1 sec (since we do not know the actual duration in most cases) Change 3887478 by Matt.Hoffman Sequences now show [Inactive] in their title bars when they're disabled. This helps communicate why a sequence isn't being evaluated. #jira UE-51469 Change 3888985 by Max.Chen Movie Scene Capture: Clamp HDR Compression Quality between 0 and 1. #jira UE-55136 Change 3893519 by Max.Chen Sequence Recorder: Clarified tooltip for bRecordNearbySpawnedActors - spawned actors will still be recorded if they match the ActorFilter. #jira UE-55238 Change 3893546 by Max.Chen Sequence Recorder: If a selected actor already has a recording, add a blank recording. #jira UE-55239 Change 3894044 by Max.Preussner MediaCompositing: Added support for seeking into a media section Change 3894310 by andrew.porter MediaFrameworkTest: Adding Img media sources for 1080 and 2160 ravent test content Change 3894426 by Max.Preussner MediaAssets: Letting media textures with AutoClear retain their clear color when player is reset Change 3895717 by Max.Chen Sequencer: Null checks to prevent crash when saving the default state of a spawnable #jira UE-55304 Change 3897388 by Max.Chen Sequencer: Don't update current time to be within the view range when stepping into a sequence. #jira UE-55322 Change 3897452 by Max.Chen Audio: Fix crash when trying to record audio without any active capture devices. Log warning if the number of input channels is not 1 or 2. #jira UE-55223 Change 3897619 by Max.Preussner MediaCompositing: Removed commented out code Change 3898072 by Max.Chen Sequencer: Override the animation asset in the player state if it doesn't match the animation asset that's being evaluated. #jira UE-55328 Change 3898272 by Max.Preussner MediaPlayerEditor: Made slate brush constants static Change 3898704 by Max.Chen Sequencer: Skip if the binding id's sequence can't be found. #jira UE-55337 Change 3899855 by Max.Preussner MediaCompositingEditor: Added cache state visualization to media track Change 3900300 by Max.Preussner MediaCompositingEditor: Added loop indicators to media sections Change 3900694 by Max.Preussner ImfMedia: Looping cache only when player is looping Change 3900892 by Max.Preussner Stats: Added stats category for media framework Change 3900954 by Max.Preussner MediaCompositing: Don't evaluate at the end of media section Change 3901348 by Max.Preussner Core: Replaced TLruCache autos for better readability Change 3901655 by Max.Preussner ImgMedia: Added more perf stats to EXR reader Change 3901972 by Max.Preussner MediaAssets: Added getter for media player in media sound components Change 3902233 by Max.Preussner MediaAssets: Enabling media textures to receive samples right after player is assigned Change 3902238 by Max.Preussner MediaCompositing: Working around init/shutdown idiosyncracies in sequencer Change 3904045 by Max.Chen Sequencer: Fix copy/paste crash. Only process UMovieSceneCopyableBinding and objects that can be spawned by the movie scene spawn register. #jira UE-55314 Change 3905605 by Max.Chen Sequencer: Restrict spawnables from being created if they have a ClassWithin that UMovieScene is not a child of. #jira UE-55429 Change 3906550 by Max.Chen Sequencer: Add media track icon #jira UE-55480 Change 3907101 by Max.Chen Sequence Recorder: Fix bugs related to not recording a level sequence. There were certain assumptions that creating a level sequence meant that sequence recording was in progress. This is not always the case - the recorders can record animation assets and not create a level sequence. Changed the notion of IsRecording() to having at least one actor recording that is recording. Countdown timer, recording displays, etc should function if IsRecording() and not based on whether a level sequence is created. #jira UE-55485 Change 3907247 by Max.Chen Sequence Recorder: Fix crash not removing PrepareToCleanseEditorObject delegate. Repros when opening sequence recorder, closing it, and then opening or creating a level. Change 3910343 by Max.Preussner Core: Added async helper for executing functions on a given thread pool Change 3910346 by Max.Preussner ImgMedia: Added separate thread pools for loading/decoding and deleting image frames Change 3910829 by Max.Preussner Profiler: Increased visible range of profiler graph Change 3910841 by Max.Preussner MediaCompositing: Displaying asset name instead of full media source path in media section Change 3910870 by Max.Preussner ImgMedia: Using deallocation thread pool only in debug builds Change 3919642 by Max.Chen Sequence Recorder: Clarify active tooltip #jira UE-55661 Change 3919660 by Max.Chen Sequencer: Sequence template source signatures are now also compared to catch the case where a sub-sequence asset has been saved but not modified - The following sequence of events exposes this issue: - Create a master sequence with a single shot that spawns a cube - Add this sequence to a level and set it to auto-play - Save everything and restart - Resave just the inner shot asset without opening it - PIE - The inner shot never spawns its cube because its template was wiped on save, but its signature never changed. Since the master sequence previously didn't check the template source signature, it ends up trying to evaluate an empty template. #jira UE-55626 #jira UE-55490 Change 3921825 by Max.Chen Sequencer: "Run Construction Script in Sequencer" is off by default for blueprints but on for Sequencer. This allows the content author to switch it on for specific blueprints and sequencer will be default, run those with construction scripts enabled. Change 3922232 by Max.Chen Sequence Recorder: Reset countdelay on stop. #jira UE-55755 Change 3922306 by Max.Chen Sequence Recorder: Don't automatically mark transforms to be recorded by sequence recorder. Instead, log a warning if the user toggled it off to warn that the resulting animation might not match gameplay. #jira UE-55758 Change 3922912 by Max.Chen Sequence Recorder: Fix refresh next sequence name #jira UE-55757 Change 3927654 by Max.Chen Movie Scene Capture: Added format mapping for the name of the current camera #jira UE-55769 PR #4537 Change 3927658 by Max.Chen Sequencer: Added fbx property mapping for "FocusDistance" to "FocusSettings.ManualFocusDistance" #jira UE-55782 Change 3932022 by Max.Chen Sequencer: Add import animation track section to next available row index. #jira UE-55892 Change 3933919 by Max.Chen Sequencer: Jump to playback start frame and not 0 to start playback for recording. #jira UE-55933 Change 3934307 by Andrew.Rodham Sequencer: Add template signature that is re-generated every time the base template is regenerated, which invalidates evaluation fields This fixes an issue where the same sequence is instantiated multiple times in a sequence. If the source sequence was saved, its template would be wiped, which would invalidate the template ID When an instance tries to evaluate the master template, it would only invalidate a range in the evaluation field that was the hull of any invalid sub sequences overlapping the current time, potentially leaving invalid data in the evaluation field at positions later (or earlier) on in the sequence When the sub template was re-generated, it receives the same SequenceSignature as it had before (because the sequence hasn't actually changed), which causes the stale evaluation field data to fail the IsDirty check (because the sequence is the same as it thought, but the *template* has changed) This has been addressed be adding a signature to templates themselves, and checking both the template signature and sequence signature as a part of the IsDirty check. This ensures that we regenerate if either the template, or the sequence have changed. #jira UE-55934 Change 3936327 by Andrew.Rodham Sequencer: Removed increment when trimming right UMovieSceneSection::TrimSection already explicity assigns an exclusive bound to the time passed in. The new behavior means we can trim a section to the right, and insert another section without changing the time to create adjacent sections. #jira UE-42652 Change 3936328 by Andrew.Rodham Fixed KeyFrameManipulator assignment operators and copy/move constructors - These types are potentially self-referential so cannot use default constructors/assignment Change 3936330 by Andrew.Rodham Converted UMGSequencePlayer to use frames internally #jira UE-54878 Change 3936726 by Max.Chen Sequencer: Set track node as the parent of the key area node. The key area switcher needs the object binding id from the parent object binding node. Without this, the binding to the external value fails. #jira UE-55931 Change 3936775 by Max.Chen Sequencer: Should stop or loop should compare DurationFrames with Current Time from StartTime. The bug is that if you set 30 warmup frames in movie rendering for a range of 0-100, the FrameRange will be starting at -30 and have a duration of 130. Without this fix, the playback will continue until frame 130, rather than 100. #jira UE-55933 Change 3936935 by Matt.Hoffman Easing Curves are now represented in Play Rate resolution instead of internal resolution. #jira UE-55937 Change 3937069 by Matt.Hoffman Users can toggle if the is infinite on each side, limited by which tracks support infinite ranges. #jira UE-55891 Change 3937516 by Max.Preussner ImgMedia: Added support for single-threaded platforms #jira UE-55986 Change 3937826 by Max.Preussner MediaAssets: Disabling media sound components on HTML5 if AudioMixer is not enabled Change 3937997 by Max.Chen Curve Editor: Add Zoom to Fit Curves so that selected curves from Sequencer can be focused on. Tested that undo doesn't re-zoom. #jira UE-55935 Change 3938000 by Max.Chen Sequencer: Stop all sounds before generating audio waveforms. #jira UE-55951 Change 3938376 by Max.Preussner XGEController: Disabled XGE Controller in single-threaded apps to prevent crash Change 3938444 by Max.Preussner Core: Added async support for single-threaded applications Change 3938445 by Max.Preussner Networking: Added support for single-threaded applications in UDP socket sender/receiver Change 3938447 by Max.Preussner Messaging: Added support for single-threaded applications Change 3939432 by Max.Chen Sequence Recorder: Append command list to global level editor actions so that shortcuts are accessible in level editor. #jira UE-55798 Change 3940229 by Andrew.Rodham Added prospective display rate upgrade to UMovieScene::PostLoad - There was previously some very odd behaviour that would assign the fixed frame interval only when a sub sequence was focused in SSequencer. This meant that many sequences could have a frame interval of 0 set in the data. - Under the old method of snap interval display this would have fallen back to getting the display interval from the sequencer settings, but we no longer look at these. - The USequencerSettings properties have been removed and in their place, a prospective data upgrade for sequences that have a fixed frame interval old 0fps that sets the play rate to the previous defaults based off the old USequencerSettings defaults. - This could end up 'changing' the display rate for sequences where the user has changed the snap interval in the settings for a particular sequence editor, but there's not much we can do about that given we don't have access to the USequencerSettings classes in UMovieScene #jira UE-55919 Change 3940277 by Andrew.Rodham Sequencer: Added ability to default frame resolutions and play rates for newly created actor sequences Change 3940378 by Andrew.Rodham Sequencer: Post move import dialog now defaults to the playback framerate of the sequence, and floors to frame numbers Change 3940559 by Andrew.Rodham Reinstated primed or recording sequence color Change 3940642 by Max.Preussner ImagePlate: Removed image plate media playback functionality Change 3940843 by Max.Preussner Core: Made TCircularQueue actually thread-safe; improved code comments Change 3940860 by Max.Chen Sequencer: Changed StructNameToKey to StructPathToKey Previously, keying a PropertyPath of [RenderTransform][Shear][X] would get trimmed to X, which doesn't map to a channel name as considered by Sequencer2dTransformTrackEditor. Instead, trim the resulting property path to [Shear][X] so that track editors can determine the desired struct path and channels to key. #jira UE-52966 Change 3941292 by Mike.Zyracki Fix for trajectories out of range not showing up. 1) If we had no key data we would pop the time, so wouldn't get the section ranges. 2) Calculating of upper bound was wrong, checking against -1 and not key == num of keys when doing algo::lower_bound. 3) No need to do the Bck-- for the bakward iterators since we fixed #2. We start now from the upper bound correctly. 4) If we had no keys (at section start,end) we would incorrectly say we were any key type, so since we draw constant keys as dashed we would do so incorrectly around section end points. #jira UE-55929 Change 3941424 by Max.Chen Curve Editor: Change Zoom to Fit to use TArrayView Change 3941498 by Max.Preussner Core: Added FMath::DivideAndRoundNearest function Change 3942097 by Matt.Hoffman Drop Frame Timecode Support for NTSC rates. Change 3942104 by Matt.Hoffman Sequence Recorder Group is no longer visible inside the World Outliner after using one. #jira 55266 Change 3942107 by Max.Chen Sequencer: Resurrect logic to find or extend an existing section when adding keys. Change 3942330 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942339 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942507 by Andrew.Rodham Sequencer: We no longer pad the time overlap threshold with a small number that is not scaled by the current zoom level - The presence of this pad was causing keys that were far apart to be grouped when zoomed in a long way Change 3942509 by Andrew.Rodham Sequencer: Only pad total view range, rather than section range as well when retrieving keys to render - This stops us from rendering keys that are within the view range, but outside the section range Change 3942512 by Andrew.Rodham Added transactions to some sequencer details customizations Change 3942513 by Andrew.Rodham Sequencer: Reinstated validation checks to UMovieSceneSection::SetStartFrame and SetEndFrame, changed erroneous uses to use SetRange Change 3942560 by Andrew.Rodham Pass by rvalue reference to appease error C2719 on Win32 ('InChannels': formal parameter with requested alignment of 8 won't be aligned) Change 3942697 by Andrew.Rodham Newly Created Level Sequences and Actor Sequences now default to 24000 fps frame resolution (+/- ~24hrs range, supporting all integer rates + 23.976) Change 3942700 by Andrew.Rodham Sequencer: Added legacy out-of-bounds errors for times that are not supported by the current legacy upgrade frame resolution Change 3942989 by Max.Preussner Core: Fixed circular queue count calculation Change 3943538 by Max.Preussner MediaAssets: Reverted workaround for procedural audio log spam in HTML5 (Actor component initialization cannot be skipped if the component is used in a level) Change 3944071 by Max.Preussner QAGame: Fixed Media Texture keeps last frame of Media when PIE ends #jira UE-53360 Change 3944292 by Max.Chen Sequencer: Added extra flags to ensure that asset initialization does not occur on template actor sequences #jira UE-56113 Change 3944364 by Max.Chen Sequencer: Prevent circular shot/master tracks. Tested adding master -> child -> master as drag and drop cinematic shot tracks and sub tracks as well as through the + button. #jira UE-56091 Change 3944422 by Max.Chen Sequence Recorder: Disable transform recording if off. #jira UE-56061 Change 3944745 by Andrew.Rodham Sequencer: Key rendering fixes - Fixed assert that occured when keys happened to reside on some times due to KeyTime + TimeOverlapThreshold - KeyTime being slightly larger TimeOverlapThreshold - Fixed keys sometimes being clipped when zoomed right in due to lack of half-frame offset - Added missing documentation to MovieSceneTimeHelpers.h #jira UE-56107 Change 3945231 by Andrew.Rodham Sequencer: Reconstruct channel proxy on Serialize to catch all cases of undo/redo, PostLoad and duplication #jira UE-56089 Change 3945301 by Andrew.Rodham Sequencer: Added safety checks during initial sequence recording to guard against applying negative or 0-sized sequence ranges #jira UE-56125 Change 3946627 by Max.Preussner Fortnite: Fixed game crashes closing editor while in PIE - Pure virtual function being called #jira UE-56144 [CL 3946896 by Max Chen in Main branch]
2018-03-14 22:09:33 -04:00
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 4044339) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3947021 by Max.Chen Sequencer: Don't preserve root component when copying object properties. A spawnable empty actor, has a root component that is generated by the empty actor factory. If the object template's root component is preserved when copying from the spawnable empty actor, the root component will not be copied over. Therefore, we need to NOT preserve the root component when copying object properties. #jira UE-55825 Change 3947366 by Max.Preussner WmfMedia: Better log output Change 3947367 by Max.Preussner MfMedia: Better detection of compressed format properties on Windows Change 3949102 by Max.Chen Sequencer: Remove SequenceActorTag when converting to possessable. #jira UE-56206 Change 3949207 by andrew.porter EngineTest: Set the screenshot nodes resolution to 1280x720 Change 3949404 by Max.Chen Sequencer: More informative tooltip for "Rerun Construction Scripts" option. It now says "Rerun construction scripts every frame on actors that have 'Rerun Construction Script in Sequencer' enabled in their class settings". Change 3950067 by Matt.Hoffman Renamed UAutomatedLevelSequenceCapture's StartFrame and EndFrame to CustomStartFrame/CustomEndFrame to reflect that it is user-overriden. This will also resolve upgrade issues due to the variable datatype changing. #jira UE-56189 Change 3950193 by JohnHenry.Carawon Updating my latest MovieRendering test content. Change 3950757 by JohnHenry.Carawon More updates to MovieRendering test content Change 3952059 by Max.Chen Resave LevelVisibility_SubLevels to fix data loss conversion warning of OpacityMaskConstant #jira UE-56086 Change 3952283 by Max.Chen Sequencer: Disable dropping level sequence assets as spawnables. #jira UE-56120 Change 3952422 by Max.Chen Sequence Recorder: Add button to record from the current player. #jira UE-55942 Change 3952987 by JohnHenry.Carawon MovieRendering Test Content - Fixing camera bindings and changing the override binding actor Change 3953823 by Mike.Zyracki Fix for Bad FBX Import Tangents not scaled by frame rate. After looking at this again it seems that a set of MovieScene:: overiddes for the channel traits wasn't set correctly, so use the ADL idiom to use MovieScene, which can then call Optimize in the correct namespace. With this we can now correctly use the passed in tolerance. There was also a redundant set of Optimize calls so that it could happen twice so removed them, and needed an extra check in the float channel Optimize. Also since we need to set auto tangents no matter if we optimize we don't set that parameter(though leave it since it's used by context menu key reduction). Finally fixed speed issue with trajectories caused by calculating way too many substeps. Reverted back to a time based step size for consistency. #jira UE-56193 Change 3954317 by Matt.Hoffman Adding a key to the last frame of a section no longer causes a crash. Keys can already be moved to be on the last frame of a section so now you can just add a key there directly. #jira UE-56255 Change 3954326 by Matt.Hoffman Dilating a section that is only infinite on one side no longer causes a crash. #jira UE-56260 Change 3954486 by Max.Chen PR #4580: Exposes IsReversed() from UMovieSceneSequencePlayer (Contributed by alanedwardes) Change 3955238 by Max.Preussner Messaging: Enabled delayed message routing https://github.com/EpicGames/UnrealEngine/pull/4574 #jira UE-56247 Change 3955901 by Max.Preussner MediaFrameworkTest: Added developer test for overriding desired media player plug-in at runtime. Change 3955922 by Andrew.Porter QAGame: Updating movie rendering content in dev folder Change 3956004 by andrew.porter QAGame: Adding MPC track to movie rendering test content Change 3956510 by Max.Chen Sequencer: Fix fbx camera import of static properties so that they are imported before default tracks are created. Otherwise, the default tracks inherit the default properties of the camera, rather than the values from the fbx. #jira UE-56311 Change 3957613 by Max.Preussner MediaUtils: Added code documentation to media player facade Change 3958005 by Max.Preussner MediaUtils: Added method to get number of sinks Change 3958934 by Max.Chen Sequencer: Fix keys getting added and sequence getting erroneously re-evaluated when auto key is off. Only apply defaults if there are no keys. Only modify the movie scene section before creating keys or setting defaults. #jira UE-55903 Change 3959687 by Andrew.Rodham Sequencer: Fixed visibility track external values being inverted #jira UE-56324 Change 3960507 by Max.Preussner Core: Fixed incorrect rounding in FMath::DivideAndRoundNearest Change 3962047 by JohnHenry.Carawon MovieRendering Test Content Changes: - Add Lightmass Importance Volumes to sublevel to fix warnings - Rebuilt Lighting - Add a third sequence for Gamut testing - Resaved the sound master.uasset to fix warning Change 3962211 by Mike.Zyracki Add Frame Numbers to selected animation sections. Added MapTimeToAnimation to MovieSceneSkeletalAnimation so that we could get it from the Skeleton Animation track Editor. Since the thickness of the frame line can change based upon frame rate and zoom we need to calculate it similarly to how the time slider controller does it. Those calculations were private so we had to expose FScrubRangeToScreen and GetScubberPixelRange from the TimeSliderController. Also needed to know if the section itself was selected so added a bIsSelected flag to the section Painter. Also fixed a bug where you couldn't add a section if other sections existed at different times in MovieScenePropertyTrack and could crash due to the check(). #jira UESEQ-395 Change 3962497 by Max.Preussner Core: Added new string formatting argument to FTimespan Change 3963662 by Max.Chen CineCamera: Flip VistaVision width and height. Change 3963731 by Max.Preussner MediaCompositing: Implemented sequence recording support for media track Change 3964195 by Andrew.Rodham Sequencer: Set inverted property correctly for newly created visibility track sections - Also clamp evaluation for key editors to the bounds of the section so we're not displaying values outside of the section bounds when the cursor is not on the bounds #jira UE-56324 #coderevew Max.Chen Change 3964196 by Andrew.Rodham Sequencer: Fixed crash when attempting to render sections that resulted in a negative intersection with the view range Change 3964275 by Andrew.Rodham Sequencer: Fixed MovieScene::ClampToDiscreteRange for infinite range bounds Change 3964364 by Andrew.Rodham Curve Editor: Reduce minimum vertical view range when zooming to fit Change 3965091 by Max.Chen Sequencer Recorder: Refresh next sequence if empty when starting a recording, otherwise, use existing name. #jira UE-56469 Change 3965148 by Max.Chen Sequence Recorder: Move Record to Possessable to "Actor Recording" group Change 3965162 by Max.Chen Sequence Recorder: Always break out of immersive mode when done recording, even when stopping recording during countdown. #jira UE-56407 Change 3965214 by Max.Preussner QAGame: Enabled ImagePlate plug-in Change 3965574 by Max.Preussner SimpleComposure: Reorganized & upgraded content to work with new Media Track #jira UE-56488 Change 3965651 by Max.Preussner MediaCompositing: Ignoring seek-on-open if media not seekable Change 3966075 by Christina.TempelaarL Sequencer: Added Final Cut Pro 7 XML Export functionality #jira UESEQ-358 Change 3966087 by Matt.Hoffman Adding a single key to the Particle Toggle track now makes an infinite range section that is displayed in the UI. #jira UE-56295 Change 3966547 by Andrew.Rodham Sequencer: Fixed rounding errors when drawing the section background on boolean sections - Logic was using time in sectonds which caused rounding errors on evaluation and flickering red/green stripes when dragging keys around #jira UE-56324 Change 3966563 by Andrew.Rodham Curve Editor: Key editor interface improvements - SKeyEditInterface has a few problems - it does not update in real time when editing properties, and does not support multi-edit which makes it unsuitable for use with the curve editor - We now take a different approach for editing keys by gathering a set of proxy UObjects for each key that is currently selected. These objects are added as top level objects to the details panel which means they support multi edit as you'd expect from any other details panel in the editor. - Proxy objects are updated every tick for the curve editor if they implement the ICurveEditorKeyProxy interface, which allows them to refresh their current value. - Ideally, the same mechanisms would be used in the main sequence interface, and we would be generating the proxy classes at runtime based on the key value type, but that work remains a separate task from this initial offering. #jira UE-56165 Change 3966564 by Andrew.Rodham Curve Editor: Expand to frame when adding or moving keys in the curve editor Change 3967051 by andrew.porter MediaFrameworkTest: Set the CameraPlayer_Video texture to auto clear Change 3967141 by Andrew.Rodham Sequencer: Keep track of spawned objects that have been modified and only re-save such object's default spawnable state on destruction - Now that we're taking this approach, I've remove serveral redundant bits of functionality in the spawn register such as making some spawnables read-only, and the PreSave binding for Sequencer. - We now hook into all object pre-saves to make sure we handle the case where the sequences are saved through the content browser or elsewhere. #jira UE-47686 Change 3967170 by Andrew.Rodham Sequencer: Added the ability to possess anim instances as object bindings - This allows full and direct animation of properties on UAnimInstance, and animation blueprints - Object Bindings are made by first possessing a skeletal mesh component, then choosing the + Add button where its anim instance will be listed - Added a new function to UMovieSceneSequence to gather previously cached objects that should now be invalidated. Anim instances will be re-resolved if a new UAnimInstance is assigned to USkeletalMeshComponent::GetAnimInstance. - ObjectBindingIDs for anim instances are just represented by an entry in a set of GUIDs. We only ever resolve such bindings through USkeletalMeshComponent::GetAnimInstance. - Only currently supported on LevelSequences #jira UE-56132 Change 3967195 by Max.Preussner Core: Updated TRangeSet to use TCallTraits Change 3967345 by JohnHenry.Carawon Test Content Changes - first iteration of spacing out the examples in the shots. Change 3967572 by Max.Chen Sequencer: Fix setting PreviousPlayEvalPosition until after we've tested whether it's set. #jira UE-56518 Change 3967750 by Max.Chen Audio: Set duration based on number of input channels, rather than number of channels to serialize. This fixes an issue where audio split into 2 channels is set to a duration that's twice as long. #jira UE-56430 Change 3967836 by Max.Chen Sequencer: Allow for animating array elements within ustruct properties #jira UE-55887 Change 3968506 by Matt.Hoffman Fixed ambiguous conversions for seconds and frames being overriden by ambiguous conversion to Timecode (in frames). Change 3968748 by Max.Chen Sequencer: Make the event properties submenu widget larger. #jira UE-55557 Change 3968862 by Max.Chen Sequencer: Recursive expansion when shift is down #jira UE-52139 #pr 4194 Change 3968863 by Max.Chen Sequencer: Bind rename command to selected track so that F2 shortcut start renaming #jira UE-52139 #pr 4194 Change 3968872 by Max.Chen Sequencer: Rekey the selected key at the current time. #jira UESEQ-396 Change 3968938 by Max.Chen Cine Camera: Add option to toggle the behavior of locking the rail mount to the orientation of the spline. By default, the option is off, no change in behavior. #jira UE-55815 Change 3968958 by Andrew.Rodham Sequencer: Consider vertical position when hittesting keys #jira UE-56256 Change 3969643 by Max.Preussner Core: Rounding timespans created from double values towards nearest ticks Change 3969646 by Max.Preussner MediaUtils: Implemented timeout mechanism for block-on-fetch feature Change 3969776 by Mike.Zyracki Added Skip Anim Notifiers Toggle per what was in Matinee. Investigated the Enable Root Motion toggle as also discussed but it's implementation is directly contained by the animation asset and unlike animation notifies there seems to be no exposure to interactively disable it during a playback tick. Note if we are generating thumbnails we still automtically disable notifies in the editor to avoid annoying noise playback. Note that if Enable Root Motion/Root locked is specified in the animation asset it does correctly effect the Sequencer. #jira UESEQ-399 Change 3969835 by Matt.Hoffman Playback Range and Selection Range use unified logic for adding themselves as potential snap locations which properly handles inclusive/exclusive bounds. This resolves an issue where having an unset selection range caused a potential snap location to be added on frame 0 and 1 (internal resolution) which caused a misalignment when placing objects near frame 0. This also removes the one frame offset on setting Selection Range to bring behavior inline with other ranges. #jira UE-55420 Change 3969885 by Max.Preussner MediaAssets: Don't register media player CDO with media ticker Change 3971129 by Andrew.Rodham Sequencer: Fixed UMovieSceneSequencePlayer::GotToEndAndStop() not taking into account for start time This is a remnant from when the times were always specified in 0-duration space, rather than actual sequence times. Change 3972056 by JohnHenry.Carawon More updates to Test Content. I continued spacing out the examples in the sequence so that they have a consistent number of frames between each example and during the start/end of the example. Also removed the Marcie sublevel. Change 3972066 by Andrew.Porter MediaFrameworkTest: Setting Marcie folder to be never cooked in package settings Change 3972675 by Matt.Hoffman Splitting Subsequence Sections no longer sets an incorrect playback range on the subsequence when the subsequence has a different internal resolution than the owning sequence. #jira UE-55453 Change 3973376 by Max.Preussner ImgMedia: Zero is the only valid video track for image sequences Change 3973489 by Max.Preussner Launch: Build rules cleanup pass - don't use Media, MediaUtils on server apps - don't link against Media (include-only dependency) - don't include from MediaAssets (dynamic load only) Change 3973760 by Max.Preussner MediaUtils: Moved AppMediaTimeSource implementation into its own file; added logging Change 3973765 by Max.Preussner ImgMedia: Disallowing seek beyond media length Change 3973855 by Max.Preussner MediaFrameworkTest: Updated developer test content Change 3973858 by Max.Preussner MediaCompositing: Blocking on media player time instead of media sample time (the former may not be hit in the current frame) Change 3974988 by Max.Chen Sequencer: Fix trim left so that it also sets the start offset for audio and skeletal animation sections. #jira UE-57015 Change 3976101 by Matt.Hoffman Sequencer will now focus the scroll view on newly created items. #jira UE-56492 Change 3976203 by Max.Chen Property Editor: Add DetailsViewArgs for ColumnWidth. Defaults to 0.65f, no change in existing behavior. Change 3976205 by Max.Chen Sequencer: Set better column widths for sequencer. #jira UE-55557 Change 3976206 by Max.Chen Sequencer: Added menu category for import/export Change 3976265 by Matt.Hoffman Tracks within Object Binding Nodes will now sort using the old behavior so that components are added above other track types. #jira UE-56473 Change 3976901 by Max.Chen Sequencer: Add event names to event track section #jira UESEQ-353 Change 3977878 by Max.Preussner Media: Moved media framework ticking stats into Media module Change 3977982 by Max.Chen Sequencer: Add Edit->Reset section length to duration of source (ie. audio, skeletal animation, shot length) Added MovieSceneSection::GetDefaultDuration and MovieScene::HasDefaultDuration #jira UESEQ-392 Change 3977994 by Max.Preussner Media: Fetching and rendering media samples before viewports are rendered (to ensure frame sync for in-level media playback) #jira UE-53975 Change 3978188 by Matt.Hoffman Easing Curves are now clipped by the sequence's PlayRange when testing against an infinite section. This causes blended sequences to finish their blend when the section starts/ends instead of always using 25% of the total section length to determine default blend range. #jira UE-56362 Change 3978676 by Max.Preussner MediaCompositing: Fixed first frame of rendered out media track missing #jira UE-53975 Change 3978684 by Max.Preussner MediaCompositing: Enabled media track frame sync feature #jira UE-53975 Change 3980026 by Matt.Hoffman Keys can be selected on folded out sections (such as an audio track expanded to show volume and pitch) again. #jira UE-57169 Change 3981614 by Max.Preussner MediaUtils: Added missing subtitle sample queue flush Change 3982311 by Max.Preussner MediaCompositing: Added safeguard for zero length media sources Change 3982389 by andrew.porter QAGame: Adding media track test content into FrameAccuracySubscene Change 3983661 by Max.Chen Sequencer: Add level name to spawn a spawnable into. Add sublevel menu option to set the level #jira UESEQ-390 Change 3983712 by Andrew.Rodham Sequencer: Purge legacy blueprint spawnables from LevelSequence packages #tests Ran a preflight for cooking fortnite, ocean and Orion. Only orion shows up this edge case, and will require a re-save of the EndCines level #jira UE-39173 Change 3983787 by Max.Preussner MediaCompositing: Moved compile time switch for block-on-fetch into media player facade Change 3983812 by Andrew.Rodham Sequencer: Exposed default level sequence instance data to blueprints Change 3984373 by Max.Preussner Media: Added API for quering whether player plug-in supports block on fetch Block on fetch allows Sequencer and other systems to block the game thread until a desired video frame has been decoded. Change 3984670 by JohnHenry.Carawon Movie Rendering Test Content progress. Saving the state of the content. There is a bug where things got replaced with particle emitters and I think it was because I tried to copy paste an animation track into a separate skeletal mesh track. Change 3985097 by Max.Chen Sequencer: Rename Reset to AutoSize Change GetAutoSizeDuration to return TOptional<FFrameTime> #jira UESEQ-392 Change 3986043 by Max.Chen Sequencer: Fix crash when attach/path duration is less than 0. #jira UE-57310 Change 3986373 by Max.Chen Sequencer: Add support for deleting tracks and channels which equates to setting the channel mask. #jira UE-52951 Change 3986375 by Max.Chen Sequencer: Add Create Pose Asset to skeletal animation section. This allows animators to blend animations in sequencer and create new pose assets from them. #jira UESEQ-408 Change 3986796 by Andrew.Rodham Sequencer: Fixed stale object references remaining in ULevelSequence::BindingReferences when using convert to spawnable/possessable - We used to convert objects by creating a new binding, then re-assigning its GUID, which meant we didn't have to do any further object fixup, but the code to achieve this was confusing and led to a vulnerability where object references would not be cleaned up correctly due to the newly created possessable essentially being a temporary object that's immediately thrown away. - To address this, there is now a function for porting all the contents of one object binding to another, and handles the correct fixup required for parent/child object bindings for both spawnables and possessables. - Also added codepath to remove any stale object references from the level sequence reference map on PostLoad (this piggy-backs off the PurgeLegacyBlueprints object version which is close close enough to this change to be identical) #tests Verified that existing sequences with stale references get cleaned up on load. Verified that repreatedly converting from spawnable<->possessable cleans up references correctly. Change 3987807 by JohnHenry.Carawon Updates to the MovieRendering Test Content. - Fixed the spawnable actors that were overwritten - Shortend the Lighting example and combined the Intensity and Color tracks - Organized the Sequence and WorldOutliner to group the examples. Change 3988151 by Max.Chen Cine Camera: Enable keying the "Enable Look at Tracking" toggle. Change 3988880 by Max.Chen Sequencer: Support enter to add asset for all sequencer track editors that have asset pickers. #jira UE-57367 Change 3988953 by Max.Chen Sequencer: Make the track color picker focusable so that it will close when you click away or lose focus. #jira UE-57210 Change 3988962 by Max.Chen MovieSceneCapture: Fix EDL export so that it takes into account movie scene frame resolution and desired frame rate. #jira UE-57365 Change 3988964 by Max.Chen Movie Scene Capture: Clarified tooltip for bRelativeFrameNumbers. If you specify custom start/end frames for the recording, they will be relative to the playback range. #jira UE-57308 Change 3989442 by Max.Chen Fix CIS Change 3991548 by Matt.Hoffman Dragging the time slider no longer causes the time slider to ignore snap-to-interval with "Snap to Keys While Scrubbing" when no keys are in range. #jira UE-57417 Change 3991598 by Matt.Hoffman Snap to Key while scrubbing now mirrors the behavior of "jump to next key". When there are no tracks selected it snaps to all keys and when there are tracks selected it snaps to only keys from that track. This also resolves an issue where deleting an object did not remove it from the Sequencer's selection. Undoing a delete already doesn't seem to restore your selection, so removing it from your selection shouldn't change that behavior. #jira UE-57417 Change 3991603 by Max.Chen Sequencer: Disable EditAnywhere for some section properties #jira UE-53530 Change 3992240 by Max.Preussner MediaAssets: Implemented dynamic audio sample rate adjustment based on audio/media clock drift #jira FORT-70638 Change 3992911 by Andrew.Rodham Sequencer: Fixed saving spawnable state using the wrong spawned object - We now track the object binding ID so that we can apply the spawned object to the correct spawnable when the asset is saved #jira UE-57353 Change 3992914 by Max.Chen Movie Scene Capture: Fix compression quality not being set. The compression interface wasn't being found through query interface, so no compression was being set. Reworked finding it through the output pins. Tested running various compression values. #jira-UE-55488 Change 3992919 by Max.Chen Sequencer: Convert to possessable now uses object template instead of copying properties (ie. see LevelSequenceActorSpawner). This fixes MIDs getting lost when converting to spawnable and back to possessable. #jira UE-52400 Change 3993184 by Max.Chen Sequencer: Don't show +Transform/+Path/+Attach track if the actor has the "Mobility" property hidden. Set the Landscape, LandscapeProxy and InstancedFoliage "Mobility" property to be hidden since it is static is not supposed to be dynamically movable. #jira UE-56347 Change 3993238 by Max.Chen Sequencer: Test for hidden mobility in creating keys as well. Refactored to HasHiddenMobility() #jira UE-56347 Change 3993978 by Max.Chen Cine Camera: Enable keying the "Enable Look at Tracking" toggle. #jira UE-57489 Change 3994039 by Max.Chen Landscape: Add Mobility to hidecategories on landscape component #jira UE-56347 Change 3994626 by JohnHenry.Carawon Updated Movie Rendering Test Content. - Fixed the overridden spawnables to their proper object types. Change 3994653 by Christina.TempelaarL Sequencer: Added Final Cut Pro 7 XML Import functionality, improved Export functionality #jira UESEQ-358 Change 3995609 by Max.Chen UMG: Add support for 2d transform mask (translation, rotation, scale, shear) #jira UE-52951 Change 3995778 by JohnHenry.Carawon Movie Rendering Test Content Updates - Adjusted Lights example - Adjusted Camera example - Added Marcie sublevel back in Change 3995942 by JohnHenry.Carawon QAGame: Moving Movie Rendering test content from Developer folder to Sequencer folder Also adjusted level visibility, lights and camera example. Change 3995993 by Christina.TempelaarL Sequencer: FCPXML Export updates - only export sections if in playback range and media exists, warn if media does not exist. Other updates - removed unused methods and variables, fixed message context naming to be more accurate #jira UESEQ-358 Change 3996595 by andrew.porter QAGame: Updating Marcie content in TrackEvaluation level to use Image Plate Change 3996614 by andrew.porter QAGame: Adding color test sequence to the sublevel Change 3996643 by Max.Chen Sequencer: Fix fbx animation export - rotation and scale channels were flipped. #jira UE-57509 #jira UE-57512 #jira UE-57514 Change 3996652 by Max.Preussner Messaging: Fixed delayed messaging using incorrect current time after message router sleep Based on https://github.com/EpicGames/UnrealEngine/pull/4601 Change 3996801 by Max.Chen Sequencer: Fix folder active state for non key area sections. Look at track node sections as well as key areas. #jira UE-57550 Change 3997098 by Matt.Hoffman Cleaned up some remaining ToDo's in STimeRange. Change 3998339 by Max.Preussner Sockets: Added documentation for socket receive functions Change 3998359 by Max.Preussner MediaUtils: Started to implement media recorder helper class Currently only supports BGRA frames in CPU memory. Supporting other formats and buffer types will require conversions on render-thread. I recommend refactoring out the existing conversion code in FMediaTextureResource into a reusable helper class in the MediaUtils module. This should be a good starting point though. Change 3998417 by Matt.Hoffman Keys and Sections can now be moved at the same time inside of Sequencer. Keys can now snap to Sections (and vice versa) instead of just to other Keys. Sections can now be duplicated like keys can. #jira UE-56995 Change 3998427 by JohnHenry.Carawon QAGame: Updating test content for the Movie Rendering feature. - Added an auto activate particle to the beginning of the sequence (it's not part of the sequence at all) - Added an event receiver blueprint to the Events example - Added a particle emitter to both sublevels - Added a camera cut to the end that switches to a separate camera - The camera zoom in, focus and Look At sections are all separate (not overlapping in the sequence) - Added a second actor for the camera Look At - Added a Visibility section for the Actor Hidden In Game track that has possessable and spawnable cube and light Change 3998537 by Max.Chen Sequence Recorder: Restore immersive mode when stopping the sequence even if not in PIE. #jira UE-56407 Change 3999809 by Matt.Hoffman Removed the "Go To" box from Sequencer and instead placed the current time as an always visible control. The previous shortcut (Ctrl + G) now focuses the new widget directly. #jira UESEQ-376 Change 4000543 by Christina.TempelaarL Sequencer: Moving editor-only code from runtime module MovieSceneCapture to editor module MovieSceneTools. Moved EDL and FCP XML exporters as well as Automated Level Scene Capture. #jira UESEQ-358 Change 4000706 by Matt.Hoffman Entering multiple time strings without a number no longer crashes Sequencer. #jira UE-57672 Change 4001051 by andrew.porter MediaFrameworkTest: Fixing up some image sources pointing to the wrong location Change 4001191 by andrew.porter QAGame: Adding some quick EDL/XML test content to dev folder Change 4001243 by Max.Chen Sequencer: Fix import EDL out of range. #jira UE-57665 Change 4001856 by Matt.Hoffman Selecting keys and sections at the same time now also works with animation and audio sections. #jira UE-57716 Change 4002021 by Max.Chen Sequence Recorder: Fix sequence name incrementing. If external recording sets the sequence name, use it. Otherwise, use the recording name from the recording group or the recording settings. #jira UE-57712 Change 4002618 by Max.Chen Viewport: Update the look at location when updating to a locked actor. This fixes an issue so that popping the view out of a locked actor and manipulating the view will not jump to the previous look at location. #jira UE-57725 Change 4002979 by Matt.Hoffman Fixes several edge cases with the end time range that was causing confusion about what the last frame of the sequence was. Dragging the End Frame slider will no longer be off by one tick and jumping to the end via the UI controls now properly respects snapping and stays inside the play range instead of falling outside of it. Overall behavior does not change though and End Frame should be considered an exclusive frame so that frames 0-150 results in a 150 frame long animation (which is frames 0-149). #jira UE-56367 Change 4003185 by Matt.Hoffman Fixed a regression that prevented a section from being dragged upwards past row 0 which normally resulted in all other rows moving down. #jira UE-57717 Change 4003193 by JohnHenry.Carawon QAGame: Updates to test content - Shortened frames between the examples from 95 to 30 - Separated camera setting tracks - Lighting example now switches directly from constant red - green - blue Change 4003369 by Max.Chen Sequence Recorder: Refresh next sequence regardless of internally stored sequence name. #jira UE-55757 Change 4003586 by JohnHenry.Carawon QAGame: Test Content Updates - Level Visibility track now ends to that the levels are not visible when we move to the next example - Shortened camera section, removed Z tranform so that we just move left to right and shortened the overall length Change 4004414 by Max.Chen Movie Scene Capture: Fix regression where rendering with shot handles would only render the first shot. 3972166 addressed an issue where an extra frame would be rendered by finalizing right when the end frame was reached. This was hit on the first shot end frame, so instead, do this only for when the last shot is being rendered. #jira UE-57314 Change 4004765 by Christina.TempelaarL Sequencer: Fixed bugs in FCP XML import/export. - Export: fixed sequence default resolution. - Export: fixed XML files with no shots. - Export: all sections clipped to playback range. - Export: fixed incorrect section start/end times due to precision issues. - Import: fixed incorrectly adding cinematic tracks. - Import: fixed bugs creating new sections. #jira UE-57660 #jira UE-57662 #jira UE-57655 #jira UE-57761 Change 4005119 by Max.Chen Sequencer: Export/import at play rate Change 4005195 by Max.Chen UMG: Finish UMG evaluation on stop. Added object version so that existing UMG assets do not change. #tests - Newly created UMG animation with sections set to restore state now return to their original state. Existing UMG animations with sections set to restore state do not return to their original state. #jira UE-52285 Change 4005377 by Michael.Karambelas QAGame: Moving TM-SequenceRecorder and related content out of my developer folder and into /Content/Sequencer/SequencerRecorder/* Change 4005417 by Michael.Karambelas QAGame: Fixed a BP compiler in the Level Blueprint of TM-SequencerRecorder. Change 4005634 by Michael.Karambelas QAGame: Fix up missing content and broken level sequence in TM-SequenceRecorder after move Change 4006324 by Max.Chen Sequencer: Reset if the focused movie scene is null. This fixes a crash if the user is focused in on a shot and undo takes the user past the point of where the shot was created. #jira UE-57752 #jira UE-47661 Change 4007006 by Max.Chen Sequencer: Fix FindAvailableRowIndex so that it returns the max row index (and not +1) since it doesn't find any conflicting rows. #jira UE-57717 Change 4007907 by Max.Chen Sequencer: Fix crash if there's no animation Change 4007948 by andrew.porter QAGame: added test content to dev folder for Record World Space Change 4008636 by Max.Chen Sequencer: Fix import fbx not setting values properly and creating additional cameras unncessarily. #jira UE-57864 Change 4008759 by Max.Chen Sequencer: Follow up fix for import cameras #jira UE-57864 Change 4009994 by Matt.Hoffman Dragging the left or right handles of the Time Range slider in Sequencer will now zoom your view in on the current center of the screen. This prevents the view from being translating as you tried to zoom in which caused issues at high zoom levels. #jira UESEQ-407 Change 4010169 by Christina.TempelaarL Sequencer: FCP XML fixes. - FCP XML export - no longer clips to playback range - FCP XML and EDL export - fixed missing last frame of some sections after exporting to Premiere. - Automated level capture, EDL export - use RoundToFrame instead of FloorToFrame for computing section start/end frames after frame rate conversion. #jira UE-57802 - partial fix, movie scene capture still needs to render full section rather than clip against playback. Change 4010287 by Mike.Zyracki Add quaternion interpolation option to UMovieScene3DTransformSection. This mimics how Matinee used to work by bascially finding the keys between a time and interpolating the angles as quat's between them. As noted in the code the algorithm needs to handle the case when the x,y,z Rotation keys all aren't at the same time which was not handled by Matinee. Also like Matinee, when in quaternion interoplation mode, we need to not display the function cuves since the interpolated and key values are now all different. (Would like to show them but that's a bigger refactor for perhaps just a one off needed by quaternions). I added a virtual function UMovieSceneSection::ShowCurveForChannel for this since it needs to be dynamic, not on construction of IKeyArea's, and could be useful for other sections. I could though move the method to just UMovieScene3DTransformSection and do a cast instead. Looked into doing a unit test for this but after talking with Andrew P we will work on doign an automated test in EngineQA since that will provide more coverage. Will also add a video the jira. #jira UESEQ-403 Change 4010713 by Mike.Zyracki Added option to key a group of transform channels instead of just the changed channel, or all of them. This is useful for quaternion interpolations where you want rotation keys to be aligned but also useful for other workflows like animating FK Pose to Pose. Change 4010715 by Andrew.Porter MediaFrameworkTest: Setting LogMediaUtils logging from VeryVerbose to Verbose to cut back on the spam Change 4013048 by Max.Chen Sequencer: Fix play/jump status. Update the player status for all position methods (Scrub, Jump, Play). Jump means Stopped. Correctly use PlayTo or JumpTo based on position method. In PlayInternal, JumpTo with the Stopped state (rather than playing state). #jira UE-57844 Change 4013479 by andrew.porter QAGame: Added content in TM-SequenceRecorder to test recording a property on a Cine Camera Component; Press 3 to trigger manual focus distance to increment on a timer Change 4014323 by Max.Chen Sequencer: Fix SetPlaybackPosition so that it jumps or plays based on playback status. #jira UE-57844 Change 4015888 by Max.Chen Sequencer: Fix crash on paste. UMovieSceneSections were gathered from the track node's track. For sub track mode, we want to gather only those sections on that track node row. #jira UE-57951 Change 4015943 by Max.Chen Sequencer: Fix moving shots up when the mouse pos goes outside of the virtual track area. #jira UE-57717 Change 4016293 by Max.Chen Sequencer: Fix relative frame playback end frame calculation so that custom start/end frames remain in the space of the sequence and are not relative. #jira UE-57308 Change 4017075 by Andrew.Rodham Sequencer: Corrected initial evaluation range used when calling UMovieSceneSequencPlayer::Play() Change 4017270 by Christina.TempelaarL Sequencer: FCPXML importer and movie scene capture - Use CeilToFrame when converting section start/end frame times to frame numbers in FCPXML and movie scene capture. - Added support for clip metadata in FCPXML. - Got rid of redundant TokenizedError message class, no longer needed now that FCPXML is in editor directory. - Added log messages currently commented out due to exception, still testing. #UESEQ-358 Change 4018370 by Christina.TempelaarL Sequencer: fixed FCPXML log messages regarding sections with start/end not divisible by display rate. #UESEQ-358 Change 4018378 by Christina.TempelaarL Sequencer: fixed error in previous changelist. #UESEQ-358 Change 4019457 by Max.Chen Sequencer: Show event names only when the event track is selected #jira UE-57897 Change 4022806 by Max.Chen Sequencer: Fix crash on movie scene capture dialog shutdown if movie capture wasn't even started. #jira UE-58106 Change 4022894 by Max.Chen Sequence Recorder: Wrap OpenEditorForAssets after sequence recording within GIsEditor #jira UE-58084 Change 4024487 by Max.Chen Sequencer: Add tooltip for quat interpolation #jira UE-58113 Change 4024562 by Max.Chen Sequencer: Change path/attach track sequence binding id to currently focused sequence id so that bindings can be created in subsequences Change 4027414 by JohnHenry.Carawon QAGame: Checking in content that shows a bug with using particles systems and Delay Before Shot Warm Up. Change 4028990 by Max.Chen Sequencer: Fix evaluate sub sequences in isolation. This check was added with the compile on the fly logic. Not sure why it was necessary but it seems like the sub sequence data needs to be updated in order to evaluate sub sequences in isolation. #jira UE-58184 Change 4029004 by Max.Chen Sequencer: Ensure that old binding references are removed when re-assigning actors in sequencer #jira UE-57898 Change 4030997 by JohnHenry.Carawon QAGame: Fixing name of the master sequence Change 4031785 by Michael.Karambelas QAGame: Added an instance of ThirdPerson Run to TM-SequenceRecorder for Record to Possessable test. Change 4035548 by Andrew.Rodham Sequencer: Changed FMovieSceneEvaluationTemplate::TemplateSignature to be a serial number to address non-deterministic cooking issues - This commit is related to the repro steps found in 3914599 and 3934307, both of which have been verified with this new change. - Copy of 4031684 from //Fortnite/Main/... #jira FORT-84852 Change 4036312 by Max.Chen Sequencer: Fix zoom view range so that it uses the passed in InZoomDelta Change 4036318 by Max.Chen Sequencer: Auto size now returns a range and defaults to the channel proxy range so that keyed regions can also be autosized. Change 4036322 by Max.Chen Forgot missing change Change 4036360 by Max.Chen Sequencer: Fix play rate calculation when skeletal animation section play rate changes. Change 4037163 by Mike.Zyracki Weighted Tangent Implementation Tricky thing is that you need to solve a cubic in order to get the bezier weights for the time part of the curve. See https://www.gamedev.net/forums/topic/474094-help-function-curves-for-animation-interpolation/ Maya provides an implementation in it's dev kit but I didn't use it since it was horribly slow and uses an iterative solution to solve the cubic needed. Instead I use an old algorithm (Cardano's method), to solve the cubic which should be much faster. Though relative simple to code from principles I just went ahead and used a version from Graphics Gems 1. I put this cubic solver directly in MovieSceneFloatChannel.cpp, but will need to move it when we support Rich Curve, maybe to FMath:: (which would probalby require some other functions for solving quartics, etc.. for completeness.). Also note we resolve this on every evaluation but dont' need to if the interval the time is evaluating hasn't had any change in values or tangents. So again when we support FRichCurve we can create a Weighted Evaluating class that can hold the cache. Also with the tangent drags I got rid of the Cardinal position that was used to calculate non-weight tangents from the key point and just quickly getting a direction. With weighted tangents we need to use the delta instead (otherwise when moving multiple they would all get the same weight based upon distance to the cardinal point. ) For mixed tangents types what I'm defaulting to non weighted if the interval doesn't match. May need to do weighted instead, not sure. What's left is just FBX import, for tomorrow. #jira UESEQ-76 Change 4037435 by Mike.Zyracki Fix fo build warnings from weighted tangent submission. #trivial Change 4038091 by Michael.Karambelas QAGame: Updated a Sequence Recorder group in TM-SequenceRecorder that had an actor missing the animation. Change 4038374 by Andrew.Rodham Sequencer: Refined scrubber styling for level sequences and actor sequences - Scrubber now shows a block the width of a dsplay rate frame, plus a line for the actual evaluated time. UMG reverts back to the previous styling (no block) - Keys that are outside of the playback range are now drawn with a subdued effect - Tick labels are no longer drawn when directly underneath the scrubber Change 4038490 by Max.Chen Sequencer: Expose tangent weight values in details panel. Change 4038620 by Andrew.Rodham Sequencer: Advanced time panel polish #jira UESEQ-426 Change 4038677 by Max.Chen Movie Scene Capture: Redirector for MovieSceneTools.AutomatedLevelSequenceCapture #jira UE-58248 Change 4039739 by Max.Chen Sequencer: Media track should only be supported by Level Sequence Change 4040024 by JohnHenry.Carawon QAGame: Fix EventReciever and OverrideBinding example The level sequence was set to none so the fix was to set it back to TrackEvaluation_Master. Change 4040610 by Andrew.Rodham Curve Editor: Moved weighted tangent switchers to a single toggle command (CTRL+W) and added an icon #jira 58383 Change 4040882 by Mike.Zyracki Keep broken when turning on weighted #jira UE-58435 Change 4041089 by andrew.porter QAGame: Sequence for Long Tangents bug Change 4041498 by Mike.Zyracki Turn off weighted when going auto to prevent large tangents. Do it both in UI and when doing AutoSetTangents() to really make sure it doesn't happen. #jira UE-58452 Change 4041752 by andrew.porter MediaFrameworkTest: Adding some better logging for setting rates when not supported. Also ignoring commiting URL when there is no text Change 4041896 by Matt.Hoffman The transform dialog box now transforms selected keys and sections, instead of just keys. #jira UE-58265 [CL 4044405 by Max Chen in Main branch]
2018-05-02 10:10:00 -04:00
FrameStartPixel = RoundedStartPixel;
FrameEndPixel = FMath::Max(FrameEndPixel, FrameStartPixel + 1);
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3946692) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3801826 by Max.Chen PR #4304: Level Sequence crash fix - Guarded against dereferencing null componen. (Contributed by DSDambuster) Change 3801828 by Max.Chen PR #4302: Movie Scene Visibility Template unitialised variable, causing random . (Contributed by DSDambuster) Change 3801837 by Max.Chen Sequencer: Delay spawning/construction for convert to possessable. This fixes a bug where property values would be lost when converting back and forth from possessable to spawnable. #jira UE-52400 Change 3801841 by Max.Chen Sequencer: Make spacer nodes not selectable. PR #4194: Improvements to Sequencer (Contributed by projectgheist) #jira UE-53117 #jira UE-52139 Change 3804183 by Max.Preussner MediaAssets: Added missing lock in media sound component Change 3805414 by Max.Preussner MediaAssets: Setting valid GUID when initializing media texture resource Change 3819578 by Max.Chen PR #4370: When enabling the "MovieCapture", do not turn off the Stereo-3D display. (Contributed by yehaike) #jira UE-53647 Change 3823414 by Max.Chen Curve Editor: Lock down the first and last keys in the redundant keys removal range so that they're unaffected. #jira UE-53591 Change 3826406 by Max.Chen Sequencer: Move OnStartedPlaying() to within first update in UpdateTimeCursorPosition(). This fixes an issue where setting the hud/player visibility was getting stomped on later. #jira UE-52772 Change 3827044 by Max.Preussner MediaAssets: Added sprite visualization to media sound component #jira UE-53594 Change 3827988 by Max.Preussner MediaPlayerAssets: Fixed Media Texture is not linked to Media Player when created together #jira UE-53532 Change 3828506 by Max.Preussner MediaPlayerEditor: Added attenuation visualizer for media sound components #jira UE-53594 Change 3832590 by andrew.porter EngineTest: Added a keep state check in Property Animation sequencer test Change 3833053 by andrew.porter EngineTest: Adding Hierarchical Bias test Change 3835683 by andrew.porter EngineTest: Adding UMG Animation screenshot test Change 3836076 by Max.Chen Sequencer: Fix audio volume and pitch multiplier deprecation. Change 3836230 by andrew.porter EngineTest: Adding Sequence Bone Position automation test Change 3836347 by Max.Chen Sequencer: Fixes to shot name parsing. When a shot doesn't contain a shot number, assume, [ShotName]_[TakeNumber]. When duplicating a shot, put the new shot in the same path of the original shot, so that the take numbers will increment properly. #jira UE-51868 Change 3836552 by Max.Chen Sequencer: Sub section now has a takes menu Change 3838094 by Max.Chen UMG: Fix template finish not getting called on stop. This fixes a bug where sections aren't restored when finished. #jira UE-52285 Change 3838708 by Max.Chen Sequencer: Add notification when the blend type is changed. #jira UE-54046 Change 3840295 by Max.Chen Sequencer: Fix copy/paste crash for lights #jira UE-54084 Change 3840957 by Mike.Zyracki Added Show Only Keyable and Show Only Animated to the filter list in the property editor. Added IsPropertyAnimated to IDetailKeyframe Interface which already had support for showing properties which are keyable (which is used for the key icon next to the properties.). Could have created another interface but then would have had to mimic the sequencer binding, releasing also, so this seemed best way. One issue still left is that custom built detail items currently don't store associated properties(usually) and so certain properties, in particulalry transforms, won't show up as keyable or animated. Note this also shows up with the keyable icon not showing up next to transform tracks, and other filters like Show Only Modified not working with transforms/customs. Not sure best way to tackle this. #jira UESEQ-328 Change 3841756 by Max.Chen Sequencer: Fix unbound possessable components when pasting spawnables. #jira UE-54104 Change 3843950 by andrew.porter EngineTest: Renaming LevelStreaming tests/content to LevelVisibility Change 3844082 by Mike.Zyracki Missing file for animated filter in property editor. When finding if a track is animated we need to find it but we can't easily induce the MovieTrack class for any particular property. So we don't set a class for it and just search by it's ID and name. #jira UESEQ-328 Change 3846902 by Max.Preussner ImgMedia: Fixed image media player never finished initialization if loading failed #jira UE-54247 Change 3849820 by Mike.Zyracki Reassigning deleted widgets didn't work since the menu extender mechanism needs a valid UObject in order to perform an operation on it. So to fix we replaced GetObjectBindingContextMenuExtender in WidgetBlueprint with new delegate mechanism (OnBuildCustomContextMenuForGuid) that supports FGuid in addition to UObjects which is needed to handle re-binding deleted widgets. Note that the default sequencer hacks this for replacing deleted actors in SequencerObjectBindingNode to check to see if a LevelSequence is active. We could move to this mechanism there also. #jira UE-53163 Change 3852211 by Max.Chen UMG: Indicate name of the property that is not bound. #jira UE-54350 Change 3854120 by Max.Chen Sequencer: Fix sibling folders being allowed to have the same folder name. #jira UE-54363 Change 3854627 by Max.Chen Sequencer: Step to next/previous key should work for all tracks if there aren't any selected. #jira UESEQ-391 Change 3855825 by andrew.porter EngineTest: Adding animation blending automation test Change 3855950 by andrew.porter EngineTest: Adding correct expected valuues to animation blending test Change 3856237 by Matt.Hoffman UESEQ-336 - Sequencer Track Reordering Adds the ability to re-order Master Tracks, Folders and Object Bindings within sequencer hierarchies (including UMG). Adds the ability to do a one-off sorting of the content under the old sorting behavior if the user wants to reset their layout to how it was under legacy behavior. Modifies SequencerTrackNodes, SequencerFolderNodes and SequencerObjectBindingNodes to handle CanDrop/OnDrop for above, below and ontop of. Fixes a Slate Issue that forcibly expanded a TreeviewRow if an item handled OnDrop. Slate will now only forcibly expand the row if the item says the drop happened ontop of the item, and not above or below it like it previously did. Change 3856503 by andrew.porter EngineTest: Adding automation test for using animation blueprint with blend multi node in sequencer Change 3857875 by Max.Chen Sequencer: Assign the sequence id after the template is compiled. #jira UE-54462 Change 3858344 by Max.Chen Sequencer: Prevent Goto and Transform boxes from overlapping by allowing them to be visible at the same time in an autosized horizontal box. Also, added close button to the goto box. PR #4425: Prevent Goto and Transform boxes from overlapping in Sequencer ... (Contributed by projectgheist) #jira UE-54210 Change 3860566 by andrew.porter MediaFrameworkTest: Set the option to index 0 for the audio and video track list by default Change 3860654 by andrew.porter EngineTest: Enabling Camera Cut + FOV test Change 3860981 by andrew.porter EngineTest: Updating skeletal mesh tests with a delay after set playback position Change 3861256 by Max.Chen Sequencer: Add all bindings if none selected. #jira-54440 Change 3862154 by Andrew.Rodham Added TimeManagement module Change 3862424 by andrew.porter EngineTest: Turned on the test Bone Positions with Blend Multi Node Change 3862573 by andrew.porter EngineTest: Adding test to compare bone positions in a sequence that is blending an animation that is using an AnimBP Change 3865117 by Max.Chen Sequencer: Stop auto scroll on mouse release of movement. #jira UE-31212 Change 3865303 by Max.Chen Sequencer: Add drag and drop transactions #jira UE-54662 Change 3865304 by Max.Chen Sequencer: Fix crash when an actor factory is not found. Change 3865361 by Max.Chen Sequencer: Don't change the camera/shot lock button when popping out of a sequence. #jira UE-54665 Change 3865412 by Max.Chen Sequencer: Determine whether a transform track is for a camera by using the spawned object or template #jira UE-54666 Change 3865685 by Max.Chen Sequencer: Clear autoscrub offset when stopping autoscroll #jira UE-31212 Change 3865886 by Max.Chen Sequence Recorder: Log an error if the number of frames changes while recording. This can happen if the skeleton changes while recording. #jira UE-48715 Change 3866925 by Andrew.Porter MediaFrameworkTest: Changing the current PNG test video image sequence to 1024 x 576 Change 3867705 by andrew.porter QAGame: Adding Audio Sort Sequence to dev folder Change 3867890 by andrew.porter QAGame: Adding a sequence for testing a sorting crash to my dev folder Change 3872628 by Max.Chen Movie Scene Capture: Split delay before warmup into split delay before shot warmup so that there's separate controls for when the movie scene capture warmups up vs. shot boundaries. Change 3873131 by Matt.Hoffman UE-54732 - Crash reordering a folder with a track. This was caused by folders being the only type of track to check if someone was putting a parent track into a child track. Object Binding tracks and Tracks now check as well so that you can't use the above/below drop targets to add parents as children. This also fixed a typo in the localization keys. #jira UE-54732 Change 3873301 by Mike.Zyracki Added ability to support continous euler angle changes when changing rotations, in particularly with the rotation gizmo's. To do this we effectively added a form an of 'euler filter'(https://en.wikipedia.org/wiki/Euler_filter) to find the closest euler angle to the current euler angle. Three functions were added to FRotator to make this possible, one to get the euler angle that's has the same rotation as it, one to get the difference between two euler angles via Manhattan distance and a third using the previous two to choose a Rotator value that's closest to it. We then use these functions before calling UComponent::SetRelativeRotation to make sure we use the correct Euler after the Quat conversion. We also no longer limit(bound) the euler angles to -180,180, which is obviously necessary to avoid flips. I also changed how we caluclate yaw and roll when pitch is -90 or 90 to make it the standard approach of zeroing out roll and just setting yaw. Main reasons are the previous implementation had precision issues so things like 180, 90, -180 would show up due to numbers being nearly zero but negative,(this would break any smooth interpolations), and this facilitates having a 'gimbal' rotation mode (like Maya, Blender etc..) if we ever want that also. If needed we could keep the previous implementation but would need to add some FMath::IsNearlyZero checks, with less performance. Note we only do this special filtering when applying delta's to actors or components in the editors, which then call UComponent::SetRelativeRotationExact, which is a new function to foces the RelativeRotation to be equal to the new rotation. This allows us to store un-nomalized Rotators at the cost that the RotationCache may be broken. We didn't change any of the other UComponent functions that set rotations (via Quats or Transforms) so they will still be bounded and unwound. In SetInternalWorldLocationAndRotation we only set the rotation if the rotation has changed, which fixes the rotation getting changed and re-normalized if just translate happens. In TransformTrackEditor, we correclty use the bUndwing flag and in MovieScene3DTransformSection there was an un-needed winding check there, it will be unwound earlier if needed, which happens if Sequence Recording is happening. Max we should talk about what to do about this . Note the euler angle drag via the widget is still bound to 0-360. I think we should just unbound that now since the rotations value are now unbound. This review now includes fixes suggested by Zak. #jira UE-UE-22228 Change 3873483 by Matt.Hoffman Sequencer Tracks can now be inserted above the spacer at the bottom of the tree. #jira UE-54706 Change 3873899 by Max.Chen Sequencer: Add section selection throbbing Change 3873908 by Max.Chen Movie Scene Capture: Added logging per frame Change 3873924 by Matt.Hoffman Adds the ability to store Sequence Recorder setups into profiles that stay with the map and can be re-loaded later. Profiles store the Actor Recordings so the settings for each actor should carry with them. #jira UESEQ-339 Change 3874726 by Matt.Hoffman Disable drag-and-drop targets on spacers that come between rows in Sequencer. This prevents extra drag/drop targets showing up between each row. #jira UE-54706 Change 3874862 by Matt.Hoffman Audio Track no longer gets reordered when adding sub-audio tracks, as sub-tracks are no longer counted towards the sorting order index when normalizing indexes. #jira UE-54727 Change 3875905 by Matt.Hoffman Disable Fade Track UI if a fade track already exists in the sequence. #jira UESEQ-393 Change 3876163 by Max.Chen Sequencer: Swap the camera object to the camera component's owner if it's not the same. #jira UE-54874 Change 3876971 by Andrew.Porter EngineTest: Moved Media Player Seek test to new folder. Also enabled the test with new ground truth image. Change 3877040 by Max.Chen Cine Camera: Split camera properties to two groups, "Camera Options" and "Camera Settings". The cine camera now hides properties in the "Camera Settings" group so that properties like bConstrainAspectRatio (in the "Camera Options" group) can be visible. #jira UE-54192 Change 3877763 by Max.Chen Curve Editor: Fix curve changed on end drag so that only curves that had keys/tangents that were changed receive notification, otherwise all loaded curves were getting notified that they were changed. #jira UE-54951 Change 3878234 by Matt.Hoffman Disable "Drop Below" targets for Sequencer Tree nodes to prevent a confusing UX issue where dropping underneath a Object Binding Node puts it after the object binding node but the UI looks like it's inserting it inside the Object Binding node. #jira UE-54743 Change 3879359 by Mike.Zyracki If a track is inactive we dim it a bit which seems to be the UE4 way to show inactive or disabled state. We changed the active logic so that all subtracks need to be inactive for the track to also be inactive(instead of all active for active). This conforms to how the active state actually works, e.g if you have two sections and only one is active the track is still active above it. #jira UESEQ-388 Change 3879462 by Max.Chen Sequencer: Allow dragging onto a particular row which would move out any overlapping sections to make space for the newly created section. Newly created sections are now selected and throbbed to draw attention to themselves. #jira UE-54664 Change 3879464 by Max.Chen Sequencer: Fixed overlapping ranges being inserted into the evaluation field during compilation - The issue was that track segments that had been combined with adjacent segments (due to them being identical) would potentially cause a subsequently compiled frame to overlap with a range that had already been inserted into the evaluation field. - The insertion code previously asserted that only minor overlaps were catered for (due to fp rounding errors) and assumed that a supplied range could not entirely contain any other range in the field. - The solution is to supply the insertion time along with the range to know exactly where the data should live in the field, and crop the range to the maximum allowable space between adjacent ranges. #jira UE-54922 Change 3879590 by Matt.Hoffman Items that are now added to the Sequencer via the "+Track" menu will be selected after being added. Items can now be added inside of folders instead of just to the root level. #jira UE-27397 Change 3879612 by Mike.Zyracki Display Nodes with no children are always active. #jira UESEQ-388 Change 3879730 by Matt.Hoffman Sequence Recorder's actor recording groups now remove items from the group when removed via the UI. #jira UESEQ-339 Change 3880256 by Mike.Zyracki Fix issue with inactive display with folders and other track nodes. #jira UESEQ-388 Change 3883491 by Max.Chen Fix issue where tick is skipped due to last ticked pose isn't cleared after AnimInstance changes. Copy from Release-4.19 #jira UE-51323 Change 3883603 by Max.Chen Movie Scene Capture: Add option toggle disable screen percentage. By default this is on (no change in current behavior). #jira UE-51898 Change 3885074 by Max.Preussner MediaCompositing: Resetting media texture & freeing resource on section end; removed dead code Change 3887220 by Max.Preussner MediaCompositing: Defaulted media section duration to 1 sec (since we do not know the actual duration in most cases) Change 3887478 by Matt.Hoffman Sequences now show [Inactive] in their title bars when they're disabled. This helps communicate why a sequence isn't being evaluated. #jira UE-51469 Change 3888985 by Max.Chen Movie Scene Capture: Clamp HDR Compression Quality between 0 and 1. #jira UE-55136 Change 3893519 by Max.Chen Sequence Recorder: Clarified tooltip for bRecordNearbySpawnedActors - spawned actors will still be recorded if they match the ActorFilter. #jira UE-55238 Change 3893546 by Max.Chen Sequence Recorder: If a selected actor already has a recording, add a blank recording. #jira UE-55239 Change 3894044 by Max.Preussner MediaCompositing: Added support for seeking into a media section Change 3894310 by andrew.porter MediaFrameworkTest: Adding Img media sources for 1080 and 2160 ravent test content Change 3894426 by Max.Preussner MediaAssets: Letting media textures with AutoClear retain their clear color when player is reset Change 3895717 by Max.Chen Sequencer: Null checks to prevent crash when saving the default state of a spawnable #jira UE-55304 Change 3897388 by Max.Chen Sequencer: Don't update current time to be within the view range when stepping into a sequence. #jira UE-55322 Change 3897452 by Max.Chen Audio: Fix crash when trying to record audio without any active capture devices. Log warning if the number of input channels is not 1 or 2. #jira UE-55223 Change 3897619 by Max.Preussner MediaCompositing: Removed commented out code Change 3898072 by Max.Chen Sequencer: Override the animation asset in the player state if it doesn't match the animation asset that's being evaluated. #jira UE-55328 Change 3898272 by Max.Preussner MediaPlayerEditor: Made slate brush constants static Change 3898704 by Max.Chen Sequencer: Skip if the binding id's sequence can't be found. #jira UE-55337 Change 3899855 by Max.Preussner MediaCompositingEditor: Added cache state visualization to media track Change 3900300 by Max.Preussner MediaCompositingEditor: Added loop indicators to media sections Change 3900694 by Max.Preussner ImfMedia: Looping cache only when player is looping Change 3900892 by Max.Preussner Stats: Added stats category for media framework Change 3900954 by Max.Preussner MediaCompositing: Don't evaluate at the end of media section Change 3901348 by Max.Preussner Core: Replaced TLruCache autos for better readability Change 3901655 by Max.Preussner ImgMedia: Added more perf stats to EXR reader Change 3901972 by Max.Preussner MediaAssets: Added getter for media player in media sound components Change 3902233 by Max.Preussner MediaAssets: Enabling media textures to receive samples right after player is assigned Change 3902238 by Max.Preussner MediaCompositing: Working around init/shutdown idiosyncracies in sequencer Change 3904045 by Max.Chen Sequencer: Fix copy/paste crash. Only process UMovieSceneCopyableBinding and objects that can be spawned by the movie scene spawn register. #jira UE-55314 Change 3905605 by Max.Chen Sequencer: Restrict spawnables from being created if they have a ClassWithin that UMovieScene is not a child of. #jira UE-55429 Change 3906550 by Max.Chen Sequencer: Add media track icon #jira UE-55480 Change 3907101 by Max.Chen Sequence Recorder: Fix bugs related to not recording a level sequence. There were certain assumptions that creating a level sequence meant that sequence recording was in progress. This is not always the case - the recorders can record animation assets and not create a level sequence. Changed the notion of IsRecording() to having at least one actor recording that is recording. Countdown timer, recording displays, etc should function if IsRecording() and not based on whether a level sequence is created. #jira UE-55485 Change 3907247 by Max.Chen Sequence Recorder: Fix crash not removing PrepareToCleanseEditorObject delegate. Repros when opening sequence recorder, closing it, and then opening or creating a level. Change 3910343 by Max.Preussner Core: Added async helper for executing functions on a given thread pool Change 3910346 by Max.Preussner ImgMedia: Added separate thread pools for loading/decoding and deleting image frames Change 3910829 by Max.Preussner Profiler: Increased visible range of profiler graph Change 3910841 by Max.Preussner MediaCompositing: Displaying asset name instead of full media source path in media section Change 3910870 by Max.Preussner ImgMedia: Using deallocation thread pool only in debug builds Change 3919642 by Max.Chen Sequence Recorder: Clarify active tooltip #jira UE-55661 Change 3919660 by Max.Chen Sequencer: Sequence template source signatures are now also compared to catch the case where a sub-sequence asset has been saved but not modified - The following sequence of events exposes this issue: - Create a master sequence with a single shot that spawns a cube - Add this sequence to a level and set it to auto-play - Save everything and restart - Resave just the inner shot asset without opening it - PIE - The inner shot never spawns its cube because its template was wiped on save, but its signature never changed. Since the master sequence previously didn't check the template source signature, it ends up trying to evaluate an empty template. #jira UE-55626 #jira UE-55490 Change 3921825 by Max.Chen Sequencer: "Run Construction Script in Sequencer" is off by default for blueprints but on for Sequencer. This allows the content author to switch it on for specific blueprints and sequencer will be default, run those with construction scripts enabled. Change 3922232 by Max.Chen Sequence Recorder: Reset countdelay on stop. #jira UE-55755 Change 3922306 by Max.Chen Sequence Recorder: Don't automatically mark transforms to be recorded by sequence recorder. Instead, log a warning if the user toggled it off to warn that the resulting animation might not match gameplay. #jira UE-55758 Change 3922912 by Max.Chen Sequence Recorder: Fix refresh next sequence name #jira UE-55757 Change 3927654 by Max.Chen Movie Scene Capture: Added format mapping for the name of the current camera #jira UE-55769 PR #4537 Change 3927658 by Max.Chen Sequencer: Added fbx property mapping for "FocusDistance" to "FocusSettings.ManualFocusDistance" #jira UE-55782 Change 3932022 by Max.Chen Sequencer: Add import animation track section to next available row index. #jira UE-55892 Change 3933919 by Max.Chen Sequencer: Jump to playback start frame and not 0 to start playback for recording. #jira UE-55933 Change 3934307 by Andrew.Rodham Sequencer: Add template signature that is re-generated every time the base template is regenerated, which invalidates evaluation fields This fixes an issue where the same sequence is instantiated multiple times in a sequence. If the source sequence was saved, its template would be wiped, which would invalidate the template ID When an instance tries to evaluate the master template, it would only invalidate a range in the evaluation field that was the hull of any invalid sub sequences overlapping the current time, potentially leaving invalid data in the evaluation field at positions later (or earlier) on in the sequence When the sub template was re-generated, it receives the same SequenceSignature as it had before (because the sequence hasn't actually changed), which causes the stale evaluation field data to fail the IsDirty check (because the sequence is the same as it thought, but the *template* has changed) This has been addressed be adding a signature to templates themselves, and checking both the template signature and sequence signature as a part of the IsDirty check. This ensures that we regenerate if either the template, or the sequence have changed. #jira UE-55934 Change 3936327 by Andrew.Rodham Sequencer: Removed increment when trimming right UMovieSceneSection::TrimSection already explicity assigns an exclusive bound to the time passed in. The new behavior means we can trim a section to the right, and insert another section without changing the time to create adjacent sections. #jira UE-42652 Change 3936328 by Andrew.Rodham Fixed KeyFrameManipulator assignment operators and copy/move constructors - These types are potentially self-referential so cannot use default constructors/assignment Change 3936330 by Andrew.Rodham Converted UMGSequencePlayer to use frames internally #jira UE-54878 Change 3936726 by Max.Chen Sequencer: Set track node as the parent of the key area node. The key area switcher needs the object binding id from the parent object binding node. Without this, the binding to the external value fails. #jira UE-55931 Change 3936775 by Max.Chen Sequencer: Should stop or loop should compare DurationFrames with Current Time from StartTime. The bug is that if you set 30 warmup frames in movie rendering for a range of 0-100, the FrameRange will be starting at -30 and have a duration of 130. Without this fix, the playback will continue until frame 130, rather than 100. #jira UE-55933 Change 3936935 by Matt.Hoffman Easing Curves are now represented in Play Rate resolution instead of internal resolution. #jira UE-55937 Change 3937069 by Matt.Hoffman Users can toggle if the is infinite on each side, limited by which tracks support infinite ranges. #jira UE-55891 Change 3937516 by Max.Preussner ImgMedia: Added support for single-threaded platforms #jira UE-55986 Change 3937826 by Max.Preussner MediaAssets: Disabling media sound components on HTML5 if AudioMixer is not enabled Change 3937997 by Max.Chen Curve Editor: Add Zoom to Fit Curves so that selected curves from Sequencer can be focused on. Tested that undo doesn't re-zoom. #jira UE-55935 Change 3938000 by Max.Chen Sequencer: Stop all sounds before generating audio waveforms. #jira UE-55951 Change 3938376 by Max.Preussner XGEController: Disabled XGE Controller in single-threaded apps to prevent crash Change 3938444 by Max.Preussner Core: Added async support for single-threaded applications Change 3938445 by Max.Preussner Networking: Added support for single-threaded applications in UDP socket sender/receiver Change 3938447 by Max.Preussner Messaging: Added support for single-threaded applications Change 3939432 by Max.Chen Sequence Recorder: Append command list to global level editor actions so that shortcuts are accessible in level editor. #jira UE-55798 Change 3940229 by Andrew.Rodham Added prospective display rate upgrade to UMovieScene::PostLoad - There was previously some very odd behaviour that would assign the fixed frame interval only when a sub sequence was focused in SSequencer. This meant that many sequences could have a frame interval of 0 set in the data. - Under the old method of snap interval display this would have fallen back to getting the display interval from the sequencer settings, but we no longer look at these. - The USequencerSettings properties have been removed and in their place, a prospective data upgrade for sequences that have a fixed frame interval old 0fps that sets the play rate to the previous defaults based off the old USequencerSettings defaults. - This could end up 'changing' the display rate for sequences where the user has changed the snap interval in the settings for a particular sequence editor, but there's not much we can do about that given we don't have access to the USequencerSettings classes in UMovieScene #jira UE-55919 Change 3940277 by Andrew.Rodham Sequencer: Added ability to default frame resolutions and play rates for newly created actor sequences Change 3940378 by Andrew.Rodham Sequencer: Post move import dialog now defaults to the playback framerate of the sequence, and floors to frame numbers Change 3940559 by Andrew.Rodham Reinstated primed or recording sequence color Change 3940642 by Max.Preussner ImagePlate: Removed image plate media playback functionality Change 3940843 by Max.Preussner Core: Made TCircularQueue actually thread-safe; improved code comments Change 3940860 by Max.Chen Sequencer: Changed StructNameToKey to StructPathToKey Previously, keying a PropertyPath of [RenderTransform][Shear][X] would get trimmed to X, which doesn't map to a channel name as considered by Sequencer2dTransformTrackEditor. Instead, trim the resulting property path to [Shear][X] so that track editors can determine the desired struct path and channels to key. #jira UE-52966 Change 3941292 by Mike.Zyracki Fix for trajectories out of range not showing up. 1) If we had no key data we would pop the time, so wouldn't get the section ranges. 2) Calculating of upper bound was wrong, checking against -1 and not key == num of keys when doing algo::lower_bound. 3) No need to do the Bck-- for the bakward iterators since we fixed #2. We start now from the upper bound correctly. 4) If we had no keys (at section start,end) we would incorrectly say we were any key type, so since we draw constant keys as dashed we would do so incorrectly around section end points. #jira UE-55929 Change 3941424 by Max.Chen Curve Editor: Change Zoom to Fit to use TArrayView Change 3941498 by Max.Preussner Core: Added FMath::DivideAndRoundNearest function Change 3942097 by Matt.Hoffman Drop Frame Timecode Support for NTSC rates. Change 3942104 by Matt.Hoffman Sequence Recorder Group is no longer visible inside the World Outliner after using one. #jira 55266 Change 3942107 by Max.Chen Sequencer: Resurrect logic to find or extend an existing section when adding keys. Change 3942330 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942339 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942507 by Andrew.Rodham Sequencer: We no longer pad the time overlap threshold with a small number that is not scaled by the current zoom level - The presence of this pad was causing keys that were far apart to be grouped when zoomed in a long way Change 3942509 by Andrew.Rodham Sequencer: Only pad total view range, rather than section range as well when retrieving keys to render - This stops us from rendering keys that are within the view range, but outside the section range Change 3942512 by Andrew.Rodham Added transactions to some sequencer details customizations Change 3942513 by Andrew.Rodham Sequencer: Reinstated validation checks to UMovieSceneSection::SetStartFrame and SetEndFrame, changed erroneous uses to use SetRange Change 3942560 by Andrew.Rodham Pass by rvalue reference to appease error C2719 on Win32 ('InChannels': formal parameter with requested alignment of 8 won't be aligned) Change 3942697 by Andrew.Rodham Newly Created Level Sequences and Actor Sequences now default to 24000 fps frame resolution (+/- ~24hrs range, supporting all integer rates + 23.976) Change 3942700 by Andrew.Rodham Sequencer: Added legacy out-of-bounds errors for times that are not supported by the current legacy upgrade frame resolution Change 3942989 by Max.Preussner Core: Fixed circular queue count calculation Change 3943538 by Max.Preussner MediaAssets: Reverted workaround for procedural audio log spam in HTML5 (Actor component initialization cannot be skipped if the component is used in a level) Change 3944071 by Max.Preussner QAGame: Fixed Media Texture keeps last frame of Media when PIE ends #jira UE-53360 Change 3944292 by Max.Chen Sequencer: Added extra flags to ensure that asset initialization does not occur on template actor sequences #jira UE-56113 Change 3944364 by Max.Chen Sequencer: Prevent circular shot/master tracks. Tested adding master -> child -> master as drag and drop cinematic shot tracks and sub tracks as well as through the + button. #jira UE-56091 Change 3944422 by Max.Chen Sequence Recorder: Disable transform recording if off. #jira UE-56061 Change 3944745 by Andrew.Rodham Sequencer: Key rendering fixes - Fixed assert that occured when keys happened to reside on some times due to KeyTime + TimeOverlapThreshold - KeyTime being slightly larger TimeOverlapThreshold - Fixed keys sometimes being clipped when zoomed right in due to lack of half-frame offset - Added missing documentation to MovieSceneTimeHelpers.h #jira UE-56107 Change 3945231 by Andrew.Rodham Sequencer: Reconstruct channel proxy on Serialize to catch all cases of undo/redo, PostLoad and duplication #jira UE-56089 Change 3945301 by Andrew.Rodham Sequencer: Added safety checks during initial sequence recording to guard against applying negative or 0-sized sequence ranges #jira UE-56125 Change 3946627 by Max.Preussner Fortnite: Fixed game crashes closing editor while in PIE - Pure virtual function being called #jira UE-56144 [CL 3946896 by Max Chen in Main branch]
2018-03-14 22:09:33 -04:00
}
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 4044339) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3947021 by Max.Chen Sequencer: Don't preserve root component when copying object properties. A spawnable empty actor, has a root component that is generated by the empty actor factory. If the object template's root component is preserved when copying from the spawnable empty actor, the root component will not be copied over. Therefore, we need to NOT preserve the root component when copying object properties. #jira UE-55825 Change 3947366 by Max.Preussner WmfMedia: Better log output Change 3947367 by Max.Preussner MfMedia: Better detection of compressed format properties on Windows Change 3949102 by Max.Chen Sequencer: Remove SequenceActorTag when converting to possessable. #jira UE-56206 Change 3949207 by andrew.porter EngineTest: Set the screenshot nodes resolution to 1280x720 Change 3949404 by Max.Chen Sequencer: More informative tooltip for "Rerun Construction Scripts" option. It now says "Rerun construction scripts every frame on actors that have 'Rerun Construction Script in Sequencer' enabled in their class settings". Change 3950067 by Matt.Hoffman Renamed UAutomatedLevelSequenceCapture's StartFrame and EndFrame to CustomStartFrame/CustomEndFrame to reflect that it is user-overriden. This will also resolve upgrade issues due to the variable datatype changing. #jira UE-56189 Change 3950193 by JohnHenry.Carawon Updating my latest MovieRendering test content. Change 3950757 by JohnHenry.Carawon More updates to MovieRendering test content Change 3952059 by Max.Chen Resave LevelVisibility_SubLevels to fix data loss conversion warning of OpacityMaskConstant #jira UE-56086 Change 3952283 by Max.Chen Sequencer: Disable dropping level sequence assets as spawnables. #jira UE-56120 Change 3952422 by Max.Chen Sequence Recorder: Add button to record from the current player. #jira UE-55942 Change 3952987 by JohnHenry.Carawon MovieRendering Test Content - Fixing camera bindings and changing the override binding actor Change 3953823 by Mike.Zyracki Fix for Bad FBX Import Tangents not scaled by frame rate. After looking at this again it seems that a set of MovieScene:: overiddes for the channel traits wasn't set correctly, so use the ADL idiom to use MovieScene, which can then call Optimize in the correct namespace. With this we can now correctly use the passed in tolerance. There was also a redundant set of Optimize calls so that it could happen twice so removed them, and needed an extra check in the float channel Optimize. Also since we need to set auto tangents no matter if we optimize we don't set that parameter(though leave it since it's used by context menu key reduction). Finally fixed speed issue with trajectories caused by calculating way too many substeps. Reverted back to a time based step size for consistency. #jira UE-56193 Change 3954317 by Matt.Hoffman Adding a key to the last frame of a section no longer causes a crash. Keys can already be moved to be on the last frame of a section so now you can just add a key there directly. #jira UE-56255 Change 3954326 by Matt.Hoffman Dilating a section that is only infinite on one side no longer causes a crash. #jira UE-56260 Change 3954486 by Max.Chen PR #4580: Exposes IsReversed() from UMovieSceneSequencePlayer (Contributed by alanedwardes) Change 3955238 by Max.Preussner Messaging: Enabled delayed message routing https://github.com/EpicGames/UnrealEngine/pull/4574 #jira UE-56247 Change 3955901 by Max.Preussner MediaFrameworkTest: Added developer test for overriding desired media player plug-in at runtime. Change 3955922 by Andrew.Porter QAGame: Updating movie rendering content in dev folder Change 3956004 by andrew.porter QAGame: Adding MPC track to movie rendering test content Change 3956510 by Max.Chen Sequencer: Fix fbx camera import of static properties so that they are imported before default tracks are created. Otherwise, the default tracks inherit the default properties of the camera, rather than the values from the fbx. #jira UE-56311 Change 3957613 by Max.Preussner MediaUtils: Added code documentation to media player facade Change 3958005 by Max.Preussner MediaUtils: Added method to get number of sinks Change 3958934 by Max.Chen Sequencer: Fix keys getting added and sequence getting erroneously re-evaluated when auto key is off. Only apply defaults if there are no keys. Only modify the movie scene section before creating keys or setting defaults. #jira UE-55903 Change 3959687 by Andrew.Rodham Sequencer: Fixed visibility track external values being inverted #jira UE-56324 Change 3960507 by Max.Preussner Core: Fixed incorrect rounding in FMath::DivideAndRoundNearest Change 3962047 by JohnHenry.Carawon MovieRendering Test Content Changes: - Add Lightmass Importance Volumes to sublevel to fix warnings - Rebuilt Lighting - Add a third sequence for Gamut testing - Resaved the sound master.uasset to fix warning Change 3962211 by Mike.Zyracki Add Frame Numbers to selected animation sections. Added MapTimeToAnimation to MovieSceneSkeletalAnimation so that we could get it from the Skeleton Animation track Editor. Since the thickness of the frame line can change based upon frame rate and zoom we need to calculate it similarly to how the time slider controller does it. Those calculations were private so we had to expose FScrubRangeToScreen and GetScubberPixelRange from the TimeSliderController. Also needed to know if the section itself was selected so added a bIsSelected flag to the section Painter. Also fixed a bug where you couldn't add a section if other sections existed at different times in MovieScenePropertyTrack and could crash due to the check(). #jira UESEQ-395 Change 3962497 by Max.Preussner Core: Added new string formatting argument to FTimespan Change 3963662 by Max.Chen CineCamera: Flip VistaVision width and height. Change 3963731 by Max.Preussner MediaCompositing: Implemented sequence recording support for media track Change 3964195 by Andrew.Rodham Sequencer: Set inverted property correctly for newly created visibility track sections - Also clamp evaluation for key editors to the bounds of the section so we're not displaying values outside of the section bounds when the cursor is not on the bounds #jira UE-56324 #coderevew Max.Chen Change 3964196 by Andrew.Rodham Sequencer: Fixed crash when attempting to render sections that resulted in a negative intersection with the view range Change 3964275 by Andrew.Rodham Sequencer: Fixed MovieScene::ClampToDiscreteRange for infinite range bounds Change 3964364 by Andrew.Rodham Curve Editor: Reduce minimum vertical view range when zooming to fit Change 3965091 by Max.Chen Sequencer Recorder: Refresh next sequence if empty when starting a recording, otherwise, use existing name. #jira UE-56469 Change 3965148 by Max.Chen Sequence Recorder: Move Record to Possessable to "Actor Recording" group Change 3965162 by Max.Chen Sequence Recorder: Always break out of immersive mode when done recording, even when stopping recording during countdown. #jira UE-56407 Change 3965214 by Max.Preussner QAGame: Enabled ImagePlate plug-in Change 3965574 by Max.Preussner SimpleComposure: Reorganized & upgraded content to work with new Media Track #jira UE-56488 Change 3965651 by Max.Preussner MediaCompositing: Ignoring seek-on-open if media not seekable Change 3966075 by Christina.TempelaarL Sequencer: Added Final Cut Pro 7 XML Export functionality #jira UESEQ-358 Change 3966087 by Matt.Hoffman Adding a single key to the Particle Toggle track now makes an infinite range section that is displayed in the UI. #jira UE-56295 Change 3966547 by Andrew.Rodham Sequencer: Fixed rounding errors when drawing the section background on boolean sections - Logic was using time in sectonds which caused rounding errors on evaluation and flickering red/green stripes when dragging keys around #jira UE-56324 Change 3966563 by Andrew.Rodham Curve Editor: Key editor interface improvements - SKeyEditInterface has a few problems - it does not update in real time when editing properties, and does not support multi-edit which makes it unsuitable for use with the curve editor - We now take a different approach for editing keys by gathering a set of proxy UObjects for each key that is currently selected. These objects are added as top level objects to the details panel which means they support multi edit as you'd expect from any other details panel in the editor. - Proxy objects are updated every tick for the curve editor if they implement the ICurveEditorKeyProxy interface, which allows them to refresh their current value. - Ideally, the same mechanisms would be used in the main sequence interface, and we would be generating the proxy classes at runtime based on the key value type, but that work remains a separate task from this initial offering. #jira UE-56165 Change 3966564 by Andrew.Rodham Curve Editor: Expand to frame when adding or moving keys in the curve editor Change 3967051 by andrew.porter MediaFrameworkTest: Set the CameraPlayer_Video texture to auto clear Change 3967141 by Andrew.Rodham Sequencer: Keep track of spawned objects that have been modified and only re-save such object's default spawnable state on destruction - Now that we're taking this approach, I've remove serveral redundant bits of functionality in the spawn register such as making some spawnables read-only, and the PreSave binding for Sequencer. - We now hook into all object pre-saves to make sure we handle the case where the sequences are saved through the content browser or elsewhere. #jira UE-47686 Change 3967170 by Andrew.Rodham Sequencer: Added the ability to possess anim instances as object bindings - This allows full and direct animation of properties on UAnimInstance, and animation blueprints - Object Bindings are made by first possessing a skeletal mesh component, then choosing the + Add button where its anim instance will be listed - Added a new function to UMovieSceneSequence to gather previously cached objects that should now be invalidated. Anim instances will be re-resolved if a new UAnimInstance is assigned to USkeletalMeshComponent::GetAnimInstance. - ObjectBindingIDs for anim instances are just represented by an entry in a set of GUIDs. We only ever resolve such bindings through USkeletalMeshComponent::GetAnimInstance. - Only currently supported on LevelSequences #jira UE-56132 Change 3967195 by Max.Preussner Core: Updated TRangeSet to use TCallTraits Change 3967345 by JohnHenry.Carawon Test Content Changes - first iteration of spacing out the examples in the shots. Change 3967572 by Max.Chen Sequencer: Fix setting PreviousPlayEvalPosition until after we've tested whether it's set. #jira UE-56518 Change 3967750 by Max.Chen Audio: Set duration based on number of input channels, rather than number of channels to serialize. This fixes an issue where audio split into 2 channels is set to a duration that's twice as long. #jira UE-56430 Change 3967836 by Max.Chen Sequencer: Allow for animating array elements within ustruct properties #jira UE-55887 Change 3968506 by Matt.Hoffman Fixed ambiguous conversions for seconds and frames being overriden by ambiguous conversion to Timecode (in frames). Change 3968748 by Max.Chen Sequencer: Make the event properties submenu widget larger. #jira UE-55557 Change 3968862 by Max.Chen Sequencer: Recursive expansion when shift is down #jira UE-52139 #pr 4194 Change 3968863 by Max.Chen Sequencer: Bind rename command to selected track so that F2 shortcut start renaming #jira UE-52139 #pr 4194 Change 3968872 by Max.Chen Sequencer: Rekey the selected key at the current time. #jira UESEQ-396 Change 3968938 by Max.Chen Cine Camera: Add option to toggle the behavior of locking the rail mount to the orientation of the spline. By default, the option is off, no change in behavior. #jira UE-55815 Change 3968958 by Andrew.Rodham Sequencer: Consider vertical position when hittesting keys #jira UE-56256 Change 3969643 by Max.Preussner Core: Rounding timespans created from double values towards nearest ticks Change 3969646 by Max.Preussner MediaUtils: Implemented timeout mechanism for block-on-fetch feature Change 3969776 by Mike.Zyracki Added Skip Anim Notifiers Toggle per what was in Matinee. Investigated the Enable Root Motion toggle as also discussed but it's implementation is directly contained by the animation asset and unlike animation notifies there seems to be no exposure to interactively disable it during a playback tick. Note if we are generating thumbnails we still automtically disable notifies in the editor to avoid annoying noise playback. Note that if Enable Root Motion/Root locked is specified in the animation asset it does correctly effect the Sequencer. #jira UESEQ-399 Change 3969835 by Matt.Hoffman Playback Range and Selection Range use unified logic for adding themselves as potential snap locations which properly handles inclusive/exclusive bounds. This resolves an issue where having an unset selection range caused a potential snap location to be added on frame 0 and 1 (internal resolution) which caused a misalignment when placing objects near frame 0. This also removes the one frame offset on setting Selection Range to bring behavior inline with other ranges. #jira UE-55420 Change 3969885 by Max.Preussner MediaAssets: Don't register media player CDO with media ticker Change 3971129 by Andrew.Rodham Sequencer: Fixed UMovieSceneSequencePlayer::GotToEndAndStop() not taking into account for start time This is a remnant from when the times were always specified in 0-duration space, rather than actual sequence times. Change 3972056 by JohnHenry.Carawon More updates to Test Content. I continued spacing out the examples in the sequence so that they have a consistent number of frames between each example and during the start/end of the example. Also removed the Marcie sublevel. Change 3972066 by Andrew.Porter MediaFrameworkTest: Setting Marcie folder to be never cooked in package settings Change 3972675 by Matt.Hoffman Splitting Subsequence Sections no longer sets an incorrect playback range on the subsequence when the subsequence has a different internal resolution than the owning sequence. #jira UE-55453 Change 3973376 by Max.Preussner ImgMedia: Zero is the only valid video track for image sequences Change 3973489 by Max.Preussner Launch: Build rules cleanup pass - don't use Media, MediaUtils on server apps - don't link against Media (include-only dependency) - don't include from MediaAssets (dynamic load only) Change 3973760 by Max.Preussner MediaUtils: Moved AppMediaTimeSource implementation into its own file; added logging Change 3973765 by Max.Preussner ImgMedia: Disallowing seek beyond media length Change 3973855 by Max.Preussner MediaFrameworkTest: Updated developer test content Change 3973858 by Max.Preussner MediaCompositing: Blocking on media player time instead of media sample time (the former may not be hit in the current frame) Change 3974988 by Max.Chen Sequencer: Fix trim left so that it also sets the start offset for audio and skeletal animation sections. #jira UE-57015 Change 3976101 by Matt.Hoffman Sequencer will now focus the scroll view on newly created items. #jira UE-56492 Change 3976203 by Max.Chen Property Editor: Add DetailsViewArgs for ColumnWidth. Defaults to 0.65f, no change in existing behavior. Change 3976205 by Max.Chen Sequencer: Set better column widths for sequencer. #jira UE-55557 Change 3976206 by Max.Chen Sequencer: Added menu category for import/export Change 3976265 by Matt.Hoffman Tracks within Object Binding Nodes will now sort using the old behavior so that components are added above other track types. #jira UE-56473 Change 3976901 by Max.Chen Sequencer: Add event names to event track section #jira UESEQ-353 Change 3977878 by Max.Preussner Media: Moved media framework ticking stats into Media module Change 3977982 by Max.Chen Sequencer: Add Edit->Reset section length to duration of source (ie. audio, skeletal animation, shot length) Added MovieSceneSection::GetDefaultDuration and MovieScene::HasDefaultDuration #jira UESEQ-392 Change 3977994 by Max.Preussner Media: Fetching and rendering media samples before viewports are rendered (to ensure frame sync for in-level media playback) #jira UE-53975 Change 3978188 by Matt.Hoffman Easing Curves are now clipped by the sequence's PlayRange when testing against an infinite section. This causes blended sequences to finish their blend when the section starts/ends instead of always using 25% of the total section length to determine default blend range. #jira UE-56362 Change 3978676 by Max.Preussner MediaCompositing: Fixed first frame of rendered out media track missing #jira UE-53975 Change 3978684 by Max.Preussner MediaCompositing: Enabled media track frame sync feature #jira UE-53975 Change 3980026 by Matt.Hoffman Keys can be selected on folded out sections (such as an audio track expanded to show volume and pitch) again. #jira UE-57169 Change 3981614 by Max.Preussner MediaUtils: Added missing subtitle sample queue flush Change 3982311 by Max.Preussner MediaCompositing: Added safeguard for zero length media sources Change 3982389 by andrew.porter QAGame: Adding media track test content into FrameAccuracySubscene Change 3983661 by Max.Chen Sequencer: Add level name to spawn a spawnable into. Add sublevel menu option to set the level #jira UESEQ-390 Change 3983712 by Andrew.Rodham Sequencer: Purge legacy blueprint spawnables from LevelSequence packages #tests Ran a preflight for cooking fortnite, ocean and Orion. Only orion shows up this edge case, and will require a re-save of the EndCines level #jira UE-39173 Change 3983787 by Max.Preussner MediaCompositing: Moved compile time switch for block-on-fetch into media player facade Change 3983812 by Andrew.Rodham Sequencer: Exposed default level sequence instance data to blueprints Change 3984373 by Max.Preussner Media: Added API for quering whether player plug-in supports block on fetch Block on fetch allows Sequencer and other systems to block the game thread until a desired video frame has been decoded. Change 3984670 by JohnHenry.Carawon Movie Rendering Test Content progress. Saving the state of the content. There is a bug where things got replaced with particle emitters and I think it was because I tried to copy paste an animation track into a separate skeletal mesh track. Change 3985097 by Max.Chen Sequencer: Rename Reset to AutoSize Change GetAutoSizeDuration to return TOptional<FFrameTime> #jira UESEQ-392 Change 3986043 by Max.Chen Sequencer: Fix crash when attach/path duration is less than 0. #jira UE-57310 Change 3986373 by Max.Chen Sequencer: Add support for deleting tracks and channels which equates to setting the channel mask. #jira UE-52951 Change 3986375 by Max.Chen Sequencer: Add Create Pose Asset to skeletal animation section. This allows animators to blend animations in sequencer and create new pose assets from them. #jira UESEQ-408 Change 3986796 by Andrew.Rodham Sequencer: Fixed stale object references remaining in ULevelSequence::BindingReferences when using convert to spawnable/possessable - We used to convert objects by creating a new binding, then re-assigning its GUID, which meant we didn't have to do any further object fixup, but the code to achieve this was confusing and led to a vulnerability where object references would not be cleaned up correctly due to the newly created possessable essentially being a temporary object that's immediately thrown away. - To address this, there is now a function for porting all the contents of one object binding to another, and handles the correct fixup required for parent/child object bindings for both spawnables and possessables. - Also added codepath to remove any stale object references from the level sequence reference map on PostLoad (this piggy-backs off the PurgeLegacyBlueprints object version which is close close enough to this change to be identical) #tests Verified that existing sequences with stale references get cleaned up on load. Verified that repreatedly converting from spawnable<->possessable cleans up references correctly. Change 3987807 by JohnHenry.Carawon Updates to the MovieRendering Test Content. - Fixed the spawnable actors that were overwritten - Shortend the Lighting example and combined the Intensity and Color tracks - Organized the Sequence and WorldOutliner to group the examples. Change 3988151 by Max.Chen Cine Camera: Enable keying the "Enable Look at Tracking" toggle. Change 3988880 by Max.Chen Sequencer: Support enter to add asset for all sequencer track editors that have asset pickers. #jira UE-57367 Change 3988953 by Max.Chen Sequencer: Make the track color picker focusable so that it will close when you click away or lose focus. #jira UE-57210 Change 3988962 by Max.Chen MovieSceneCapture: Fix EDL export so that it takes into account movie scene frame resolution and desired frame rate. #jira UE-57365 Change 3988964 by Max.Chen Movie Scene Capture: Clarified tooltip for bRelativeFrameNumbers. If you specify custom start/end frames for the recording, they will be relative to the playback range. #jira UE-57308 Change 3989442 by Max.Chen Fix CIS Change 3991548 by Matt.Hoffman Dragging the time slider no longer causes the time slider to ignore snap-to-interval with "Snap to Keys While Scrubbing" when no keys are in range. #jira UE-57417 Change 3991598 by Matt.Hoffman Snap to Key while scrubbing now mirrors the behavior of "jump to next key". When there are no tracks selected it snaps to all keys and when there are tracks selected it snaps to only keys from that track. This also resolves an issue where deleting an object did not remove it from the Sequencer's selection. Undoing a delete already doesn't seem to restore your selection, so removing it from your selection shouldn't change that behavior. #jira UE-57417 Change 3991603 by Max.Chen Sequencer: Disable EditAnywhere for some section properties #jira UE-53530 Change 3992240 by Max.Preussner MediaAssets: Implemented dynamic audio sample rate adjustment based on audio/media clock drift #jira FORT-70638 Change 3992911 by Andrew.Rodham Sequencer: Fixed saving spawnable state using the wrong spawned object - We now track the object binding ID so that we can apply the spawned object to the correct spawnable when the asset is saved #jira UE-57353 Change 3992914 by Max.Chen Movie Scene Capture: Fix compression quality not being set. The compression interface wasn't being found through query interface, so no compression was being set. Reworked finding it through the output pins. Tested running various compression values. #jira-UE-55488 Change 3992919 by Max.Chen Sequencer: Convert to possessable now uses object template instead of copying properties (ie. see LevelSequenceActorSpawner). This fixes MIDs getting lost when converting to spawnable and back to possessable. #jira UE-52400 Change 3993184 by Max.Chen Sequencer: Don't show +Transform/+Path/+Attach track if the actor has the "Mobility" property hidden. Set the Landscape, LandscapeProxy and InstancedFoliage "Mobility" property to be hidden since it is static is not supposed to be dynamically movable. #jira UE-56347 Change 3993238 by Max.Chen Sequencer: Test for hidden mobility in creating keys as well. Refactored to HasHiddenMobility() #jira UE-56347 Change 3993978 by Max.Chen Cine Camera: Enable keying the "Enable Look at Tracking" toggle. #jira UE-57489 Change 3994039 by Max.Chen Landscape: Add Mobility to hidecategories on landscape component #jira UE-56347 Change 3994626 by JohnHenry.Carawon Updated Movie Rendering Test Content. - Fixed the overridden spawnables to their proper object types. Change 3994653 by Christina.TempelaarL Sequencer: Added Final Cut Pro 7 XML Import functionality, improved Export functionality #jira UESEQ-358 Change 3995609 by Max.Chen UMG: Add support for 2d transform mask (translation, rotation, scale, shear) #jira UE-52951 Change 3995778 by JohnHenry.Carawon Movie Rendering Test Content Updates - Adjusted Lights example - Adjusted Camera example - Added Marcie sublevel back in Change 3995942 by JohnHenry.Carawon QAGame: Moving Movie Rendering test content from Developer folder to Sequencer folder Also adjusted level visibility, lights and camera example. Change 3995993 by Christina.TempelaarL Sequencer: FCPXML Export updates - only export sections if in playback range and media exists, warn if media does not exist. Other updates - removed unused methods and variables, fixed message context naming to be more accurate #jira UESEQ-358 Change 3996595 by andrew.porter QAGame: Updating Marcie content in TrackEvaluation level to use Image Plate Change 3996614 by andrew.porter QAGame: Adding color test sequence to the sublevel Change 3996643 by Max.Chen Sequencer: Fix fbx animation export - rotation and scale channels were flipped. #jira UE-57509 #jira UE-57512 #jira UE-57514 Change 3996652 by Max.Preussner Messaging: Fixed delayed messaging using incorrect current time after message router sleep Based on https://github.com/EpicGames/UnrealEngine/pull/4601 Change 3996801 by Max.Chen Sequencer: Fix folder active state for non key area sections. Look at track node sections as well as key areas. #jira UE-57550 Change 3997098 by Matt.Hoffman Cleaned up some remaining ToDo's in STimeRange. Change 3998339 by Max.Preussner Sockets: Added documentation for socket receive functions Change 3998359 by Max.Preussner MediaUtils: Started to implement media recorder helper class Currently only supports BGRA frames in CPU memory. Supporting other formats and buffer types will require conversions on render-thread. I recommend refactoring out the existing conversion code in FMediaTextureResource into a reusable helper class in the MediaUtils module. This should be a good starting point though. Change 3998417 by Matt.Hoffman Keys and Sections can now be moved at the same time inside of Sequencer. Keys can now snap to Sections (and vice versa) instead of just to other Keys. Sections can now be duplicated like keys can. #jira UE-56995 Change 3998427 by JohnHenry.Carawon QAGame: Updating test content for the Movie Rendering feature. - Added an auto activate particle to the beginning of the sequence (it's not part of the sequence at all) - Added an event receiver blueprint to the Events example - Added a particle emitter to both sublevels - Added a camera cut to the end that switches to a separate camera - The camera zoom in, focus and Look At sections are all separate (not overlapping in the sequence) - Added a second actor for the camera Look At - Added a Visibility section for the Actor Hidden In Game track that has possessable and spawnable cube and light Change 3998537 by Max.Chen Sequence Recorder: Restore immersive mode when stopping the sequence even if not in PIE. #jira UE-56407 Change 3999809 by Matt.Hoffman Removed the "Go To" box from Sequencer and instead placed the current time as an always visible control. The previous shortcut (Ctrl + G) now focuses the new widget directly. #jira UESEQ-376 Change 4000543 by Christina.TempelaarL Sequencer: Moving editor-only code from runtime module MovieSceneCapture to editor module MovieSceneTools. Moved EDL and FCP XML exporters as well as Automated Level Scene Capture. #jira UESEQ-358 Change 4000706 by Matt.Hoffman Entering multiple time strings without a number no longer crashes Sequencer. #jira UE-57672 Change 4001051 by andrew.porter MediaFrameworkTest: Fixing up some image sources pointing to the wrong location Change 4001191 by andrew.porter QAGame: Adding some quick EDL/XML test content to dev folder Change 4001243 by Max.Chen Sequencer: Fix import EDL out of range. #jira UE-57665 Change 4001856 by Matt.Hoffman Selecting keys and sections at the same time now also works with animation and audio sections. #jira UE-57716 Change 4002021 by Max.Chen Sequence Recorder: Fix sequence name incrementing. If external recording sets the sequence name, use it. Otherwise, use the recording name from the recording group or the recording settings. #jira UE-57712 Change 4002618 by Max.Chen Viewport: Update the look at location when updating to a locked actor. This fixes an issue so that popping the view out of a locked actor and manipulating the view will not jump to the previous look at location. #jira UE-57725 Change 4002979 by Matt.Hoffman Fixes several edge cases with the end time range that was causing confusion about what the last frame of the sequence was. Dragging the End Frame slider will no longer be off by one tick and jumping to the end via the UI controls now properly respects snapping and stays inside the play range instead of falling outside of it. Overall behavior does not change though and End Frame should be considered an exclusive frame so that frames 0-150 results in a 150 frame long animation (which is frames 0-149). #jira UE-56367 Change 4003185 by Matt.Hoffman Fixed a regression that prevented a section from being dragged upwards past row 0 which normally resulted in all other rows moving down. #jira UE-57717 Change 4003193 by JohnHenry.Carawon QAGame: Updates to test content - Shortened frames between the examples from 95 to 30 - Separated camera setting tracks - Lighting example now switches directly from constant red - green - blue Change 4003369 by Max.Chen Sequence Recorder: Refresh next sequence regardless of internally stored sequence name. #jira UE-55757 Change 4003586 by JohnHenry.Carawon QAGame: Test Content Updates - Level Visibility track now ends to that the levels are not visible when we move to the next example - Shortened camera section, removed Z tranform so that we just move left to right and shortened the overall length Change 4004414 by Max.Chen Movie Scene Capture: Fix regression where rendering with shot handles would only render the first shot. 3972166 addressed an issue where an extra frame would be rendered by finalizing right when the end frame was reached. This was hit on the first shot end frame, so instead, do this only for when the last shot is being rendered. #jira UE-57314 Change 4004765 by Christina.TempelaarL Sequencer: Fixed bugs in FCP XML import/export. - Export: fixed sequence default resolution. - Export: fixed XML files with no shots. - Export: all sections clipped to playback range. - Export: fixed incorrect section start/end times due to precision issues. - Import: fixed incorrectly adding cinematic tracks. - Import: fixed bugs creating new sections. #jira UE-57660 #jira UE-57662 #jira UE-57655 #jira UE-57761 Change 4005119 by Max.Chen Sequencer: Export/import at play rate Change 4005195 by Max.Chen UMG: Finish UMG evaluation on stop. Added object version so that existing UMG assets do not change. #tests - Newly created UMG animation with sections set to restore state now return to their original state. Existing UMG animations with sections set to restore state do not return to their original state. #jira UE-52285 Change 4005377 by Michael.Karambelas QAGame: Moving TM-SequenceRecorder and related content out of my developer folder and into /Content/Sequencer/SequencerRecorder/* Change 4005417 by Michael.Karambelas QAGame: Fixed a BP compiler in the Level Blueprint of TM-SequencerRecorder. Change 4005634 by Michael.Karambelas QAGame: Fix up missing content and broken level sequence in TM-SequenceRecorder after move Change 4006324 by Max.Chen Sequencer: Reset if the focused movie scene is null. This fixes a crash if the user is focused in on a shot and undo takes the user past the point of where the shot was created. #jira UE-57752 #jira UE-47661 Change 4007006 by Max.Chen Sequencer: Fix FindAvailableRowIndex so that it returns the max row index (and not +1) since it doesn't find any conflicting rows. #jira UE-57717 Change 4007907 by Max.Chen Sequencer: Fix crash if there's no animation Change 4007948 by andrew.porter QAGame: added test content to dev folder for Record World Space Change 4008636 by Max.Chen Sequencer: Fix import fbx not setting values properly and creating additional cameras unncessarily. #jira UE-57864 Change 4008759 by Max.Chen Sequencer: Follow up fix for import cameras #jira UE-57864 Change 4009994 by Matt.Hoffman Dragging the left or right handles of the Time Range slider in Sequencer will now zoom your view in on the current center of the screen. This prevents the view from being translating as you tried to zoom in which caused issues at high zoom levels. #jira UESEQ-407 Change 4010169 by Christina.TempelaarL Sequencer: FCP XML fixes. - FCP XML export - no longer clips to playback range - FCP XML and EDL export - fixed missing last frame of some sections after exporting to Premiere. - Automated level capture, EDL export - use RoundToFrame instead of FloorToFrame for computing section start/end frames after frame rate conversion. #jira UE-57802 - partial fix, movie scene capture still needs to render full section rather than clip against playback. Change 4010287 by Mike.Zyracki Add quaternion interpolation option to UMovieScene3DTransformSection. This mimics how Matinee used to work by bascially finding the keys between a time and interpolating the angles as quat's between them. As noted in the code the algorithm needs to handle the case when the x,y,z Rotation keys all aren't at the same time which was not handled by Matinee. Also like Matinee, when in quaternion interoplation mode, we need to not display the function cuves since the interpolated and key values are now all different. (Would like to show them but that's a bigger refactor for perhaps just a one off needed by quaternions). I added a virtual function UMovieSceneSection::ShowCurveForChannel for this since it needs to be dynamic, not on construction of IKeyArea's, and could be useful for other sections. I could though move the method to just UMovieScene3DTransformSection and do a cast instead. Looked into doing a unit test for this but after talking with Andrew P we will work on doign an automated test in EngineQA since that will provide more coverage. Will also add a video the jira. #jira UESEQ-403 Change 4010713 by Mike.Zyracki Added option to key a group of transform channels instead of just the changed channel, or all of them. This is useful for quaternion interpolations where you want rotation keys to be aligned but also useful for other workflows like animating FK Pose to Pose. Change 4010715 by Andrew.Porter MediaFrameworkTest: Setting LogMediaUtils logging from VeryVerbose to Verbose to cut back on the spam Change 4013048 by Max.Chen Sequencer: Fix play/jump status. Update the player status for all position methods (Scrub, Jump, Play). Jump means Stopped. Correctly use PlayTo or JumpTo based on position method. In PlayInternal, JumpTo with the Stopped state (rather than playing state). #jira UE-57844 Change 4013479 by andrew.porter QAGame: Added content in TM-SequenceRecorder to test recording a property on a Cine Camera Component; Press 3 to trigger manual focus distance to increment on a timer Change 4014323 by Max.Chen Sequencer: Fix SetPlaybackPosition so that it jumps or plays based on playback status. #jira UE-57844 Change 4015888 by Max.Chen Sequencer: Fix crash on paste. UMovieSceneSections were gathered from the track node's track. For sub track mode, we want to gather only those sections on that track node row. #jira UE-57951 Change 4015943 by Max.Chen Sequencer: Fix moving shots up when the mouse pos goes outside of the virtual track area. #jira UE-57717 Change 4016293 by Max.Chen Sequencer: Fix relative frame playback end frame calculation so that custom start/end frames remain in the space of the sequence and are not relative. #jira UE-57308 Change 4017075 by Andrew.Rodham Sequencer: Corrected initial evaluation range used when calling UMovieSceneSequencPlayer::Play() Change 4017270 by Christina.TempelaarL Sequencer: FCPXML importer and movie scene capture - Use CeilToFrame when converting section start/end frame times to frame numbers in FCPXML and movie scene capture. - Added support for clip metadata in FCPXML. - Got rid of redundant TokenizedError message class, no longer needed now that FCPXML is in editor directory. - Added log messages currently commented out due to exception, still testing. #UESEQ-358 Change 4018370 by Christina.TempelaarL Sequencer: fixed FCPXML log messages regarding sections with start/end not divisible by display rate. #UESEQ-358 Change 4018378 by Christina.TempelaarL Sequencer: fixed error in previous changelist. #UESEQ-358 Change 4019457 by Max.Chen Sequencer: Show event names only when the event track is selected #jira UE-57897 Change 4022806 by Max.Chen Sequencer: Fix crash on movie scene capture dialog shutdown if movie capture wasn't even started. #jira UE-58106 Change 4022894 by Max.Chen Sequence Recorder: Wrap OpenEditorForAssets after sequence recording within GIsEditor #jira UE-58084 Change 4024487 by Max.Chen Sequencer: Add tooltip for quat interpolation #jira UE-58113 Change 4024562 by Max.Chen Sequencer: Change path/attach track sequence binding id to currently focused sequence id so that bindings can be created in subsequences Change 4027414 by JohnHenry.Carawon QAGame: Checking in content that shows a bug with using particles systems and Delay Before Shot Warm Up. Change 4028990 by Max.Chen Sequencer: Fix evaluate sub sequences in isolation. This check was added with the compile on the fly logic. Not sure why it was necessary but it seems like the sub sequence data needs to be updated in order to evaluate sub sequences in isolation. #jira UE-58184 Change 4029004 by Max.Chen Sequencer: Ensure that old binding references are removed when re-assigning actors in sequencer #jira UE-57898 Change 4030997 by JohnHenry.Carawon QAGame: Fixing name of the master sequence Change 4031785 by Michael.Karambelas QAGame: Added an instance of ThirdPerson Run to TM-SequenceRecorder for Record to Possessable test. Change 4035548 by Andrew.Rodham Sequencer: Changed FMovieSceneEvaluationTemplate::TemplateSignature to be a serial number to address non-deterministic cooking issues - This commit is related to the repro steps found in 3914599 and 3934307, both of which have been verified with this new change. - Copy of 4031684 from //Fortnite/Main/... #jira FORT-84852 Change 4036312 by Max.Chen Sequencer: Fix zoom view range so that it uses the passed in InZoomDelta Change 4036318 by Max.Chen Sequencer: Auto size now returns a range and defaults to the channel proxy range so that keyed regions can also be autosized. Change 4036322 by Max.Chen Forgot missing change Change 4036360 by Max.Chen Sequencer: Fix play rate calculation when skeletal animation section play rate changes. Change 4037163 by Mike.Zyracki Weighted Tangent Implementation Tricky thing is that you need to solve a cubic in order to get the bezier weights for the time part of the curve. See https://www.gamedev.net/forums/topic/474094-help-function-curves-for-animation-interpolation/ Maya provides an implementation in it's dev kit but I didn't use it since it was horribly slow and uses an iterative solution to solve the cubic needed. Instead I use an old algorithm (Cardano's method), to solve the cubic which should be much faster. Though relative simple to code from principles I just went ahead and used a version from Graphics Gems 1. I put this cubic solver directly in MovieSceneFloatChannel.cpp, but will need to move it when we support Rich Curve, maybe to FMath:: (which would probalby require some other functions for solving quartics, etc.. for completeness.). Also note we resolve this on every evaluation but dont' need to if the interval the time is evaluating hasn't had any change in values or tangents. So again when we support FRichCurve we can create a Weighted Evaluating class that can hold the cache. Also with the tangent drags I got rid of the Cardinal position that was used to calculate non-weight tangents from the key point and just quickly getting a direction. With weighted tangents we need to use the delta instead (otherwise when moving multiple they would all get the same weight based upon distance to the cardinal point. ) For mixed tangents types what I'm defaulting to non weighted if the interval doesn't match. May need to do weighted instead, not sure. What's left is just FBX import, for tomorrow. #jira UESEQ-76 Change 4037435 by Mike.Zyracki Fix fo build warnings from weighted tangent submission. #trivial Change 4038091 by Michael.Karambelas QAGame: Updated a Sequence Recorder group in TM-SequenceRecorder that had an actor missing the animation. Change 4038374 by Andrew.Rodham Sequencer: Refined scrubber styling for level sequences and actor sequences - Scrubber now shows a block the width of a dsplay rate frame, plus a line for the actual evaluated time. UMG reverts back to the previous styling (no block) - Keys that are outside of the playback range are now drawn with a subdued effect - Tick labels are no longer drawn when directly underneath the scrubber Change 4038490 by Max.Chen Sequencer: Expose tangent weight values in details panel. Change 4038620 by Andrew.Rodham Sequencer: Advanced time panel polish #jira UESEQ-426 Change 4038677 by Max.Chen Movie Scene Capture: Redirector for MovieSceneTools.AutomatedLevelSequenceCapture #jira UE-58248 Change 4039739 by Max.Chen Sequencer: Media track should only be supported by Level Sequence Change 4040024 by JohnHenry.Carawon QAGame: Fix EventReciever and OverrideBinding example The level sequence was set to none so the fix was to set it back to TrackEvaluation_Master. Change 4040610 by Andrew.Rodham Curve Editor: Moved weighted tangent switchers to a single toggle command (CTRL+W) and added an icon #jira 58383 Change 4040882 by Mike.Zyracki Keep broken when turning on weighted #jira UE-58435 Change 4041089 by andrew.porter QAGame: Sequence for Long Tangents bug Change 4041498 by Mike.Zyracki Turn off weighted when going auto to prevent large tangents. Do it both in UI and when doing AutoSetTangents() to really make sure it doesn't happen. #jira UE-58452 Change 4041752 by andrew.porter MediaFrameworkTest: Adding some better logging for setting rates when not supported. Also ignoring commiting URL when there is no text Change 4041896 by Matt.Hoffman The transform dialog box now transforms selected keys and sections, instead of just keys. #jira UE-58265 [CL 4044405 by Max Chen in Main branch]
2018-05-02 10:10:00 -04:00
// Store off the pixel width of the frame
Metrics.FrameExtentsPx = TRange<float>(FrameStartPixel, FrameEndPixel);
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3946692) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3801826 by Max.Chen PR #4304: Level Sequence crash fix - Guarded against dereferencing null componen. (Contributed by DSDambuster) Change 3801828 by Max.Chen PR #4302: Movie Scene Visibility Template unitialised variable, causing random . (Contributed by DSDambuster) Change 3801837 by Max.Chen Sequencer: Delay spawning/construction for convert to possessable. This fixes a bug where property values would be lost when converting back and forth from possessable to spawnable. #jira UE-52400 Change 3801841 by Max.Chen Sequencer: Make spacer nodes not selectable. PR #4194: Improvements to Sequencer (Contributed by projectgheist) #jira UE-53117 #jira UE-52139 Change 3804183 by Max.Preussner MediaAssets: Added missing lock in media sound component Change 3805414 by Max.Preussner MediaAssets: Setting valid GUID when initializing media texture resource Change 3819578 by Max.Chen PR #4370: When enabling the "MovieCapture", do not turn off the Stereo-3D display. (Contributed by yehaike) #jira UE-53647 Change 3823414 by Max.Chen Curve Editor: Lock down the first and last keys in the redundant keys removal range so that they're unaffected. #jira UE-53591 Change 3826406 by Max.Chen Sequencer: Move OnStartedPlaying() to within first update in UpdateTimeCursorPosition(). This fixes an issue where setting the hud/player visibility was getting stomped on later. #jira UE-52772 Change 3827044 by Max.Preussner MediaAssets: Added sprite visualization to media sound component #jira UE-53594 Change 3827988 by Max.Preussner MediaPlayerAssets: Fixed Media Texture is not linked to Media Player when created together #jira UE-53532 Change 3828506 by Max.Preussner MediaPlayerEditor: Added attenuation visualizer for media sound components #jira UE-53594 Change 3832590 by andrew.porter EngineTest: Added a keep state check in Property Animation sequencer test Change 3833053 by andrew.porter EngineTest: Adding Hierarchical Bias test Change 3835683 by andrew.porter EngineTest: Adding UMG Animation screenshot test Change 3836076 by Max.Chen Sequencer: Fix audio volume and pitch multiplier deprecation. Change 3836230 by andrew.porter EngineTest: Adding Sequence Bone Position automation test Change 3836347 by Max.Chen Sequencer: Fixes to shot name parsing. When a shot doesn't contain a shot number, assume, [ShotName]_[TakeNumber]. When duplicating a shot, put the new shot in the same path of the original shot, so that the take numbers will increment properly. #jira UE-51868 Change 3836552 by Max.Chen Sequencer: Sub section now has a takes menu Change 3838094 by Max.Chen UMG: Fix template finish not getting called on stop. This fixes a bug where sections aren't restored when finished. #jira UE-52285 Change 3838708 by Max.Chen Sequencer: Add notification when the blend type is changed. #jira UE-54046 Change 3840295 by Max.Chen Sequencer: Fix copy/paste crash for lights #jira UE-54084 Change 3840957 by Mike.Zyracki Added Show Only Keyable and Show Only Animated to the filter list in the property editor. Added IsPropertyAnimated to IDetailKeyframe Interface which already had support for showing properties which are keyable (which is used for the key icon next to the properties.). Could have created another interface but then would have had to mimic the sequencer binding, releasing also, so this seemed best way. One issue still left is that custom built detail items currently don't store associated properties(usually) and so certain properties, in particulalry transforms, won't show up as keyable or animated. Note this also shows up with the keyable icon not showing up next to transform tracks, and other filters like Show Only Modified not working with transforms/customs. Not sure best way to tackle this. #jira UESEQ-328 Change 3841756 by Max.Chen Sequencer: Fix unbound possessable components when pasting spawnables. #jira UE-54104 Change 3843950 by andrew.porter EngineTest: Renaming LevelStreaming tests/content to LevelVisibility Change 3844082 by Mike.Zyracki Missing file for animated filter in property editor. When finding if a track is animated we need to find it but we can't easily induce the MovieTrack class for any particular property. So we don't set a class for it and just search by it's ID and name. #jira UESEQ-328 Change 3846902 by Max.Preussner ImgMedia: Fixed image media player never finished initialization if loading failed #jira UE-54247 Change 3849820 by Mike.Zyracki Reassigning deleted widgets didn't work since the menu extender mechanism needs a valid UObject in order to perform an operation on it. So to fix we replaced GetObjectBindingContextMenuExtender in WidgetBlueprint with new delegate mechanism (OnBuildCustomContextMenuForGuid) that supports FGuid in addition to UObjects which is needed to handle re-binding deleted widgets. Note that the default sequencer hacks this for replacing deleted actors in SequencerObjectBindingNode to check to see if a LevelSequence is active. We could move to this mechanism there also. #jira UE-53163 Change 3852211 by Max.Chen UMG: Indicate name of the property that is not bound. #jira UE-54350 Change 3854120 by Max.Chen Sequencer: Fix sibling folders being allowed to have the same folder name. #jira UE-54363 Change 3854627 by Max.Chen Sequencer: Step to next/previous key should work for all tracks if there aren't any selected. #jira UESEQ-391 Change 3855825 by andrew.porter EngineTest: Adding animation blending automation test Change 3855950 by andrew.porter EngineTest: Adding correct expected valuues to animation blending test Change 3856237 by Matt.Hoffman UESEQ-336 - Sequencer Track Reordering Adds the ability to re-order Master Tracks, Folders and Object Bindings within sequencer hierarchies (including UMG). Adds the ability to do a one-off sorting of the content under the old sorting behavior if the user wants to reset their layout to how it was under legacy behavior. Modifies SequencerTrackNodes, SequencerFolderNodes and SequencerObjectBindingNodes to handle CanDrop/OnDrop for above, below and ontop of. Fixes a Slate Issue that forcibly expanded a TreeviewRow if an item handled OnDrop. Slate will now only forcibly expand the row if the item says the drop happened ontop of the item, and not above or below it like it previously did. Change 3856503 by andrew.porter EngineTest: Adding automation test for using animation blueprint with blend multi node in sequencer Change 3857875 by Max.Chen Sequencer: Assign the sequence id after the template is compiled. #jira UE-54462 Change 3858344 by Max.Chen Sequencer: Prevent Goto and Transform boxes from overlapping by allowing them to be visible at the same time in an autosized horizontal box. Also, added close button to the goto box. PR #4425: Prevent Goto and Transform boxes from overlapping in Sequencer ... (Contributed by projectgheist) #jira UE-54210 Change 3860566 by andrew.porter MediaFrameworkTest: Set the option to index 0 for the audio and video track list by default Change 3860654 by andrew.porter EngineTest: Enabling Camera Cut + FOV test Change 3860981 by andrew.porter EngineTest: Updating skeletal mesh tests with a delay after set playback position Change 3861256 by Max.Chen Sequencer: Add all bindings if none selected. #jira-54440 Change 3862154 by Andrew.Rodham Added TimeManagement module Change 3862424 by andrew.porter EngineTest: Turned on the test Bone Positions with Blend Multi Node Change 3862573 by andrew.porter EngineTest: Adding test to compare bone positions in a sequence that is blending an animation that is using an AnimBP Change 3865117 by Max.Chen Sequencer: Stop auto scroll on mouse release of movement. #jira UE-31212 Change 3865303 by Max.Chen Sequencer: Add drag and drop transactions #jira UE-54662 Change 3865304 by Max.Chen Sequencer: Fix crash when an actor factory is not found. Change 3865361 by Max.Chen Sequencer: Don't change the camera/shot lock button when popping out of a sequence. #jira UE-54665 Change 3865412 by Max.Chen Sequencer: Determine whether a transform track is for a camera by using the spawned object or template #jira UE-54666 Change 3865685 by Max.Chen Sequencer: Clear autoscrub offset when stopping autoscroll #jira UE-31212 Change 3865886 by Max.Chen Sequence Recorder: Log an error if the number of frames changes while recording. This can happen if the skeleton changes while recording. #jira UE-48715 Change 3866925 by Andrew.Porter MediaFrameworkTest: Changing the current PNG test video image sequence to 1024 x 576 Change 3867705 by andrew.porter QAGame: Adding Audio Sort Sequence to dev folder Change 3867890 by andrew.porter QAGame: Adding a sequence for testing a sorting crash to my dev folder Change 3872628 by Max.Chen Movie Scene Capture: Split delay before warmup into split delay before shot warmup so that there's separate controls for when the movie scene capture warmups up vs. shot boundaries. Change 3873131 by Matt.Hoffman UE-54732 - Crash reordering a folder with a track. This was caused by folders being the only type of track to check if someone was putting a parent track into a child track. Object Binding tracks and Tracks now check as well so that you can't use the above/below drop targets to add parents as children. This also fixed a typo in the localization keys. #jira UE-54732 Change 3873301 by Mike.Zyracki Added ability to support continous euler angle changes when changing rotations, in particularly with the rotation gizmo's. To do this we effectively added a form an of 'euler filter'(https://en.wikipedia.org/wiki/Euler_filter) to find the closest euler angle to the current euler angle. Three functions were added to FRotator to make this possible, one to get the euler angle that's has the same rotation as it, one to get the difference between two euler angles via Manhattan distance and a third using the previous two to choose a Rotator value that's closest to it. We then use these functions before calling UComponent::SetRelativeRotation to make sure we use the correct Euler after the Quat conversion. We also no longer limit(bound) the euler angles to -180,180, which is obviously necessary to avoid flips. I also changed how we caluclate yaw and roll when pitch is -90 or 90 to make it the standard approach of zeroing out roll and just setting yaw. Main reasons are the previous implementation had precision issues so things like 180, 90, -180 would show up due to numbers being nearly zero but negative,(this would break any smooth interpolations), and this facilitates having a 'gimbal' rotation mode (like Maya, Blender etc..) if we ever want that also. If needed we could keep the previous implementation but would need to add some FMath::IsNearlyZero checks, with less performance. Note we only do this special filtering when applying delta's to actors or components in the editors, which then call UComponent::SetRelativeRotationExact, which is a new function to foces the RelativeRotation to be equal to the new rotation. This allows us to store un-nomalized Rotators at the cost that the RotationCache may be broken. We didn't change any of the other UComponent functions that set rotations (via Quats or Transforms) so they will still be bounded and unwound. In SetInternalWorldLocationAndRotation we only set the rotation if the rotation has changed, which fixes the rotation getting changed and re-normalized if just translate happens. In TransformTrackEditor, we correclty use the bUndwing flag and in MovieScene3DTransformSection there was an un-needed winding check there, it will be unwound earlier if needed, which happens if Sequence Recording is happening. Max we should talk about what to do about this . Note the euler angle drag via the widget is still bound to 0-360. I think we should just unbound that now since the rotations value are now unbound. This review now includes fixes suggested by Zak. #jira UE-UE-22228 Change 3873483 by Matt.Hoffman Sequencer Tracks can now be inserted above the spacer at the bottom of the tree. #jira UE-54706 Change 3873899 by Max.Chen Sequencer: Add section selection throbbing Change 3873908 by Max.Chen Movie Scene Capture: Added logging per frame Change 3873924 by Matt.Hoffman Adds the ability to store Sequence Recorder setups into profiles that stay with the map and can be re-loaded later. Profiles store the Actor Recordings so the settings for each actor should carry with them. #jira UESEQ-339 Change 3874726 by Matt.Hoffman Disable drag-and-drop targets on spacers that come between rows in Sequencer. This prevents extra drag/drop targets showing up between each row. #jira UE-54706 Change 3874862 by Matt.Hoffman Audio Track no longer gets reordered when adding sub-audio tracks, as sub-tracks are no longer counted towards the sorting order index when normalizing indexes. #jira UE-54727 Change 3875905 by Matt.Hoffman Disable Fade Track UI if a fade track already exists in the sequence. #jira UESEQ-393 Change 3876163 by Max.Chen Sequencer: Swap the camera object to the camera component's owner if it's not the same. #jira UE-54874 Change 3876971 by Andrew.Porter EngineTest: Moved Media Player Seek test to new folder. Also enabled the test with new ground truth image. Change 3877040 by Max.Chen Cine Camera: Split camera properties to two groups, "Camera Options" and "Camera Settings". The cine camera now hides properties in the "Camera Settings" group so that properties like bConstrainAspectRatio (in the "Camera Options" group) can be visible. #jira UE-54192 Change 3877763 by Max.Chen Curve Editor: Fix curve changed on end drag so that only curves that had keys/tangents that were changed receive notification, otherwise all loaded curves were getting notified that they were changed. #jira UE-54951 Change 3878234 by Matt.Hoffman Disable "Drop Below" targets for Sequencer Tree nodes to prevent a confusing UX issue where dropping underneath a Object Binding Node puts it after the object binding node but the UI looks like it's inserting it inside the Object Binding node. #jira UE-54743 Change 3879359 by Mike.Zyracki If a track is inactive we dim it a bit which seems to be the UE4 way to show inactive or disabled state. We changed the active logic so that all subtracks need to be inactive for the track to also be inactive(instead of all active for active). This conforms to how the active state actually works, e.g if you have two sections and only one is active the track is still active above it. #jira UESEQ-388 Change 3879462 by Max.Chen Sequencer: Allow dragging onto a particular row which would move out any overlapping sections to make space for the newly created section. Newly created sections are now selected and throbbed to draw attention to themselves. #jira UE-54664 Change 3879464 by Max.Chen Sequencer: Fixed overlapping ranges being inserted into the evaluation field during compilation - The issue was that track segments that had been combined with adjacent segments (due to them being identical) would potentially cause a subsequently compiled frame to overlap with a range that had already been inserted into the evaluation field. - The insertion code previously asserted that only minor overlaps were catered for (due to fp rounding errors) and assumed that a supplied range could not entirely contain any other range in the field. - The solution is to supply the insertion time along with the range to know exactly where the data should live in the field, and crop the range to the maximum allowable space between adjacent ranges. #jira UE-54922 Change 3879590 by Matt.Hoffman Items that are now added to the Sequencer via the "+Track" menu will be selected after being added. Items can now be added inside of folders instead of just to the root level. #jira UE-27397 Change 3879612 by Mike.Zyracki Display Nodes with no children are always active. #jira UESEQ-388 Change 3879730 by Matt.Hoffman Sequence Recorder's actor recording groups now remove items from the group when removed via the UI. #jira UESEQ-339 Change 3880256 by Mike.Zyracki Fix issue with inactive display with folders and other track nodes. #jira UESEQ-388 Change 3883491 by Max.Chen Fix issue where tick is skipped due to last ticked pose isn't cleared after AnimInstance changes. Copy from Release-4.19 #jira UE-51323 Change 3883603 by Max.Chen Movie Scene Capture: Add option toggle disable screen percentage. By default this is on (no change in current behavior). #jira UE-51898 Change 3885074 by Max.Preussner MediaCompositing: Resetting media texture & freeing resource on section end; removed dead code Change 3887220 by Max.Preussner MediaCompositing: Defaulted media section duration to 1 sec (since we do not know the actual duration in most cases) Change 3887478 by Matt.Hoffman Sequences now show [Inactive] in their title bars when they're disabled. This helps communicate why a sequence isn't being evaluated. #jira UE-51469 Change 3888985 by Max.Chen Movie Scene Capture: Clamp HDR Compression Quality between 0 and 1. #jira UE-55136 Change 3893519 by Max.Chen Sequence Recorder: Clarified tooltip for bRecordNearbySpawnedActors - spawned actors will still be recorded if they match the ActorFilter. #jira UE-55238 Change 3893546 by Max.Chen Sequence Recorder: If a selected actor already has a recording, add a blank recording. #jira UE-55239 Change 3894044 by Max.Preussner MediaCompositing: Added support for seeking into a media section Change 3894310 by andrew.porter MediaFrameworkTest: Adding Img media sources for 1080 and 2160 ravent test content Change 3894426 by Max.Preussner MediaAssets: Letting media textures with AutoClear retain their clear color when player is reset Change 3895717 by Max.Chen Sequencer: Null checks to prevent crash when saving the default state of a spawnable #jira UE-55304 Change 3897388 by Max.Chen Sequencer: Don't update current time to be within the view range when stepping into a sequence. #jira UE-55322 Change 3897452 by Max.Chen Audio: Fix crash when trying to record audio without any active capture devices. Log warning if the number of input channels is not 1 or 2. #jira UE-55223 Change 3897619 by Max.Preussner MediaCompositing: Removed commented out code Change 3898072 by Max.Chen Sequencer: Override the animation asset in the player state if it doesn't match the animation asset that's being evaluated. #jira UE-55328 Change 3898272 by Max.Preussner MediaPlayerEditor: Made slate brush constants static Change 3898704 by Max.Chen Sequencer: Skip if the binding id's sequence can't be found. #jira UE-55337 Change 3899855 by Max.Preussner MediaCompositingEditor: Added cache state visualization to media track Change 3900300 by Max.Preussner MediaCompositingEditor: Added loop indicators to media sections Change 3900694 by Max.Preussner ImfMedia: Looping cache only when player is looping Change 3900892 by Max.Preussner Stats: Added stats category for media framework Change 3900954 by Max.Preussner MediaCompositing: Don't evaluate at the end of media section Change 3901348 by Max.Preussner Core: Replaced TLruCache autos for better readability Change 3901655 by Max.Preussner ImgMedia: Added more perf stats to EXR reader Change 3901972 by Max.Preussner MediaAssets: Added getter for media player in media sound components Change 3902233 by Max.Preussner MediaAssets: Enabling media textures to receive samples right after player is assigned Change 3902238 by Max.Preussner MediaCompositing: Working around init/shutdown idiosyncracies in sequencer Change 3904045 by Max.Chen Sequencer: Fix copy/paste crash. Only process UMovieSceneCopyableBinding and objects that can be spawned by the movie scene spawn register. #jira UE-55314 Change 3905605 by Max.Chen Sequencer: Restrict spawnables from being created if they have a ClassWithin that UMovieScene is not a child of. #jira UE-55429 Change 3906550 by Max.Chen Sequencer: Add media track icon #jira UE-55480 Change 3907101 by Max.Chen Sequence Recorder: Fix bugs related to not recording a level sequence. There were certain assumptions that creating a level sequence meant that sequence recording was in progress. This is not always the case - the recorders can record animation assets and not create a level sequence. Changed the notion of IsRecording() to having at least one actor recording that is recording. Countdown timer, recording displays, etc should function if IsRecording() and not based on whether a level sequence is created. #jira UE-55485 Change 3907247 by Max.Chen Sequence Recorder: Fix crash not removing PrepareToCleanseEditorObject delegate. Repros when opening sequence recorder, closing it, and then opening or creating a level. Change 3910343 by Max.Preussner Core: Added async helper for executing functions on a given thread pool Change 3910346 by Max.Preussner ImgMedia: Added separate thread pools for loading/decoding and deleting image frames Change 3910829 by Max.Preussner Profiler: Increased visible range of profiler graph Change 3910841 by Max.Preussner MediaCompositing: Displaying asset name instead of full media source path in media section Change 3910870 by Max.Preussner ImgMedia: Using deallocation thread pool only in debug builds Change 3919642 by Max.Chen Sequence Recorder: Clarify active tooltip #jira UE-55661 Change 3919660 by Max.Chen Sequencer: Sequence template source signatures are now also compared to catch the case where a sub-sequence asset has been saved but not modified - The following sequence of events exposes this issue: - Create a master sequence with a single shot that spawns a cube - Add this sequence to a level and set it to auto-play - Save everything and restart - Resave just the inner shot asset without opening it - PIE - The inner shot never spawns its cube because its template was wiped on save, but its signature never changed. Since the master sequence previously didn't check the template source signature, it ends up trying to evaluate an empty template. #jira UE-55626 #jira UE-55490 Change 3921825 by Max.Chen Sequencer: "Run Construction Script in Sequencer" is off by default for blueprints but on for Sequencer. This allows the content author to switch it on for specific blueprints and sequencer will be default, run those with construction scripts enabled. Change 3922232 by Max.Chen Sequence Recorder: Reset countdelay on stop. #jira UE-55755 Change 3922306 by Max.Chen Sequence Recorder: Don't automatically mark transforms to be recorded by sequence recorder. Instead, log a warning if the user toggled it off to warn that the resulting animation might not match gameplay. #jira UE-55758 Change 3922912 by Max.Chen Sequence Recorder: Fix refresh next sequence name #jira UE-55757 Change 3927654 by Max.Chen Movie Scene Capture: Added format mapping for the name of the current camera #jira UE-55769 PR #4537 Change 3927658 by Max.Chen Sequencer: Added fbx property mapping for "FocusDistance" to "FocusSettings.ManualFocusDistance" #jira UE-55782 Change 3932022 by Max.Chen Sequencer: Add import animation track section to next available row index. #jira UE-55892 Change 3933919 by Max.Chen Sequencer: Jump to playback start frame and not 0 to start playback for recording. #jira UE-55933 Change 3934307 by Andrew.Rodham Sequencer: Add template signature that is re-generated every time the base template is regenerated, which invalidates evaluation fields This fixes an issue where the same sequence is instantiated multiple times in a sequence. If the source sequence was saved, its template would be wiped, which would invalidate the template ID When an instance tries to evaluate the master template, it would only invalidate a range in the evaluation field that was the hull of any invalid sub sequences overlapping the current time, potentially leaving invalid data in the evaluation field at positions later (or earlier) on in the sequence When the sub template was re-generated, it receives the same SequenceSignature as it had before (because the sequence hasn't actually changed), which causes the stale evaluation field data to fail the IsDirty check (because the sequence is the same as it thought, but the *template* has changed) This has been addressed be adding a signature to templates themselves, and checking both the template signature and sequence signature as a part of the IsDirty check. This ensures that we regenerate if either the template, or the sequence have changed. #jira UE-55934 Change 3936327 by Andrew.Rodham Sequencer: Removed increment when trimming right UMovieSceneSection::TrimSection already explicity assigns an exclusive bound to the time passed in. The new behavior means we can trim a section to the right, and insert another section without changing the time to create adjacent sections. #jira UE-42652 Change 3936328 by Andrew.Rodham Fixed KeyFrameManipulator assignment operators and copy/move constructors - These types are potentially self-referential so cannot use default constructors/assignment Change 3936330 by Andrew.Rodham Converted UMGSequencePlayer to use frames internally #jira UE-54878 Change 3936726 by Max.Chen Sequencer: Set track node as the parent of the key area node. The key area switcher needs the object binding id from the parent object binding node. Without this, the binding to the external value fails. #jira UE-55931 Change 3936775 by Max.Chen Sequencer: Should stop or loop should compare DurationFrames with Current Time from StartTime. The bug is that if you set 30 warmup frames in movie rendering for a range of 0-100, the FrameRange will be starting at -30 and have a duration of 130. Without this fix, the playback will continue until frame 130, rather than 100. #jira UE-55933 Change 3936935 by Matt.Hoffman Easing Curves are now represented in Play Rate resolution instead of internal resolution. #jira UE-55937 Change 3937069 by Matt.Hoffman Users can toggle if the is infinite on each side, limited by which tracks support infinite ranges. #jira UE-55891 Change 3937516 by Max.Preussner ImgMedia: Added support for single-threaded platforms #jira UE-55986 Change 3937826 by Max.Preussner MediaAssets: Disabling media sound components on HTML5 if AudioMixer is not enabled Change 3937997 by Max.Chen Curve Editor: Add Zoom to Fit Curves so that selected curves from Sequencer can be focused on. Tested that undo doesn't re-zoom. #jira UE-55935 Change 3938000 by Max.Chen Sequencer: Stop all sounds before generating audio waveforms. #jira UE-55951 Change 3938376 by Max.Preussner XGEController: Disabled XGE Controller in single-threaded apps to prevent crash Change 3938444 by Max.Preussner Core: Added async support for single-threaded applications Change 3938445 by Max.Preussner Networking: Added support for single-threaded applications in UDP socket sender/receiver Change 3938447 by Max.Preussner Messaging: Added support for single-threaded applications Change 3939432 by Max.Chen Sequence Recorder: Append command list to global level editor actions so that shortcuts are accessible in level editor. #jira UE-55798 Change 3940229 by Andrew.Rodham Added prospective display rate upgrade to UMovieScene::PostLoad - There was previously some very odd behaviour that would assign the fixed frame interval only when a sub sequence was focused in SSequencer. This meant that many sequences could have a frame interval of 0 set in the data. - Under the old method of snap interval display this would have fallen back to getting the display interval from the sequencer settings, but we no longer look at these. - The USequencerSettings properties have been removed and in their place, a prospective data upgrade for sequences that have a fixed frame interval old 0fps that sets the play rate to the previous defaults based off the old USequencerSettings defaults. - This could end up 'changing' the display rate for sequences where the user has changed the snap interval in the settings for a particular sequence editor, but there's not much we can do about that given we don't have access to the USequencerSettings classes in UMovieScene #jira UE-55919 Change 3940277 by Andrew.Rodham Sequencer: Added ability to default frame resolutions and play rates for newly created actor sequences Change 3940378 by Andrew.Rodham Sequencer: Post move import dialog now defaults to the playback framerate of the sequence, and floors to frame numbers Change 3940559 by Andrew.Rodham Reinstated primed or recording sequence color Change 3940642 by Max.Preussner ImagePlate: Removed image plate media playback functionality Change 3940843 by Max.Preussner Core: Made TCircularQueue actually thread-safe; improved code comments Change 3940860 by Max.Chen Sequencer: Changed StructNameToKey to StructPathToKey Previously, keying a PropertyPath of [RenderTransform][Shear][X] would get trimmed to X, which doesn't map to a channel name as considered by Sequencer2dTransformTrackEditor. Instead, trim the resulting property path to [Shear][X] so that track editors can determine the desired struct path and channels to key. #jira UE-52966 Change 3941292 by Mike.Zyracki Fix for trajectories out of range not showing up. 1) If we had no key data we would pop the time, so wouldn't get the section ranges. 2) Calculating of upper bound was wrong, checking against -1 and not key == num of keys when doing algo::lower_bound. 3) No need to do the Bck-- for the bakward iterators since we fixed #2. We start now from the upper bound correctly. 4) If we had no keys (at section start,end) we would incorrectly say we were any key type, so since we draw constant keys as dashed we would do so incorrectly around section end points. #jira UE-55929 Change 3941424 by Max.Chen Curve Editor: Change Zoom to Fit to use TArrayView Change 3941498 by Max.Preussner Core: Added FMath::DivideAndRoundNearest function Change 3942097 by Matt.Hoffman Drop Frame Timecode Support for NTSC rates. Change 3942104 by Matt.Hoffman Sequence Recorder Group is no longer visible inside the World Outliner after using one. #jira 55266 Change 3942107 by Max.Chen Sequencer: Resurrect logic to find or extend an existing section when adding keys. Change 3942330 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942339 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942507 by Andrew.Rodham Sequencer: We no longer pad the time overlap threshold with a small number that is not scaled by the current zoom level - The presence of this pad was causing keys that were far apart to be grouped when zoomed in a long way Change 3942509 by Andrew.Rodham Sequencer: Only pad total view range, rather than section range as well when retrieving keys to render - This stops us from rendering keys that are within the view range, but outside the section range Change 3942512 by Andrew.Rodham Added transactions to some sequencer details customizations Change 3942513 by Andrew.Rodham Sequencer: Reinstated validation checks to UMovieSceneSection::SetStartFrame and SetEndFrame, changed erroneous uses to use SetRange Change 3942560 by Andrew.Rodham Pass by rvalue reference to appease error C2719 on Win32 ('InChannels': formal parameter with requested alignment of 8 won't be aligned) Change 3942697 by Andrew.Rodham Newly Created Level Sequences and Actor Sequences now default to 24000 fps frame resolution (+/- ~24hrs range, supporting all integer rates + 23.976) Change 3942700 by Andrew.Rodham Sequencer: Added legacy out-of-bounds errors for times that are not supported by the current legacy upgrade frame resolution Change 3942989 by Max.Preussner Core: Fixed circular queue count calculation Change 3943538 by Max.Preussner MediaAssets: Reverted workaround for procedural audio log spam in HTML5 (Actor component initialization cannot be skipped if the component is used in a level) Change 3944071 by Max.Preussner QAGame: Fixed Media Texture keeps last frame of Media when PIE ends #jira UE-53360 Change 3944292 by Max.Chen Sequencer: Added extra flags to ensure that asset initialization does not occur on template actor sequences #jira UE-56113 Change 3944364 by Max.Chen Sequencer: Prevent circular shot/master tracks. Tested adding master -> child -> master as drag and drop cinematic shot tracks and sub tracks as well as through the + button. #jira UE-56091 Change 3944422 by Max.Chen Sequence Recorder: Disable transform recording if off. #jira UE-56061 Change 3944745 by Andrew.Rodham Sequencer: Key rendering fixes - Fixed assert that occured when keys happened to reside on some times due to KeyTime + TimeOverlapThreshold - KeyTime being slightly larger TimeOverlapThreshold - Fixed keys sometimes being clipped when zoomed right in due to lack of half-frame offset - Added missing documentation to MovieSceneTimeHelpers.h #jira UE-56107 Change 3945231 by Andrew.Rodham Sequencer: Reconstruct channel proxy on Serialize to catch all cases of undo/redo, PostLoad and duplication #jira UE-56089 Change 3945301 by Andrew.Rodham Sequencer: Added safety checks during initial sequence recording to guard against applying negative or 0-sized sequence ranges #jira UE-56125 Change 3946627 by Max.Preussner Fortnite: Fixed game crashes closing editor while in PIE - Pure virtual function being called #jira UE-56144 [CL 3946896 by Max Chen in Main branch]
2018-03-14 22:09:33 -04:00
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 4044339) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3947021 by Max.Chen Sequencer: Don't preserve root component when copying object properties. A spawnable empty actor, has a root component that is generated by the empty actor factory. If the object template's root component is preserved when copying from the spawnable empty actor, the root component will not be copied over. Therefore, we need to NOT preserve the root component when copying object properties. #jira UE-55825 Change 3947366 by Max.Preussner WmfMedia: Better log output Change 3947367 by Max.Preussner MfMedia: Better detection of compressed format properties on Windows Change 3949102 by Max.Chen Sequencer: Remove SequenceActorTag when converting to possessable. #jira UE-56206 Change 3949207 by andrew.porter EngineTest: Set the screenshot nodes resolution to 1280x720 Change 3949404 by Max.Chen Sequencer: More informative tooltip for "Rerun Construction Scripts" option. It now says "Rerun construction scripts every frame on actors that have 'Rerun Construction Script in Sequencer' enabled in their class settings". Change 3950067 by Matt.Hoffman Renamed UAutomatedLevelSequenceCapture's StartFrame and EndFrame to CustomStartFrame/CustomEndFrame to reflect that it is user-overriden. This will also resolve upgrade issues due to the variable datatype changing. #jira UE-56189 Change 3950193 by JohnHenry.Carawon Updating my latest MovieRendering test content. Change 3950757 by JohnHenry.Carawon More updates to MovieRendering test content Change 3952059 by Max.Chen Resave LevelVisibility_SubLevels to fix data loss conversion warning of OpacityMaskConstant #jira UE-56086 Change 3952283 by Max.Chen Sequencer: Disable dropping level sequence assets as spawnables. #jira UE-56120 Change 3952422 by Max.Chen Sequence Recorder: Add button to record from the current player. #jira UE-55942 Change 3952987 by JohnHenry.Carawon MovieRendering Test Content - Fixing camera bindings and changing the override binding actor Change 3953823 by Mike.Zyracki Fix for Bad FBX Import Tangents not scaled by frame rate. After looking at this again it seems that a set of MovieScene:: overiddes for the channel traits wasn't set correctly, so use the ADL idiom to use MovieScene, which can then call Optimize in the correct namespace. With this we can now correctly use the passed in tolerance. There was also a redundant set of Optimize calls so that it could happen twice so removed them, and needed an extra check in the float channel Optimize. Also since we need to set auto tangents no matter if we optimize we don't set that parameter(though leave it since it's used by context menu key reduction). Finally fixed speed issue with trajectories caused by calculating way too many substeps. Reverted back to a time based step size for consistency. #jira UE-56193 Change 3954317 by Matt.Hoffman Adding a key to the last frame of a section no longer causes a crash. Keys can already be moved to be on the last frame of a section so now you can just add a key there directly. #jira UE-56255 Change 3954326 by Matt.Hoffman Dilating a section that is only infinite on one side no longer causes a crash. #jira UE-56260 Change 3954486 by Max.Chen PR #4580: Exposes IsReversed() from UMovieSceneSequencePlayer (Contributed by alanedwardes) Change 3955238 by Max.Preussner Messaging: Enabled delayed message routing https://github.com/EpicGames/UnrealEngine/pull/4574 #jira UE-56247 Change 3955901 by Max.Preussner MediaFrameworkTest: Added developer test for overriding desired media player plug-in at runtime. Change 3955922 by Andrew.Porter QAGame: Updating movie rendering content in dev folder Change 3956004 by andrew.porter QAGame: Adding MPC track to movie rendering test content Change 3956510 by Max.Chen Sequencer: Fix fbx camera import of static properties so that they are imported before default tracks are created. Otherwise, the default tracks inherit the default properties of the camera, rather than the values from the fbx. #jira UE-56311 Change 3957613 by Max.Preussner MediaUtils: Added code documentation to media player facade Change 3958005 by Max.Preussner MediaUtils: Added method to get number of sinks Change 3958934 by Max.Chen Sequencer: Fix keys getting added and sequence getting erroneously re-evaluated when auto key is off. Only apply defaults if there are no keys. Only modify the movie scene section before creating keys or setting defaults. #jira UE-55903 Change 3959687 by Andrew.Rodham Sequencer: Fixed visibility track external values being inverted #jira UE-56324 Change 3960507 by Max.Preussner Core: Fixed incorrect rounding in FMath::DivideAndRoundNearest Change 3962047 by JohnHenry.Carawon MovieRendering Test Content Changes: - Add Lightmass Importance Volumes to sublevel to fix warnings - Rebuilt Lighting - Add a third sequence for Gamut testing - Resaved the sound master.uasset to fix warning Change 3962211 by Mike.Zyracki Add Frame Numbers to selected animation sections. Added MapTimeToAnimation to MovieSceneSkeletalAnimation so that we could get it from the Skeleton Animation track Editor. Since the thickness of the frame line can change based upon frame rate and zoom we need to calculate it similarly to how the time slider controller does it. Those calculations were private so we had to expose FScrubRangeToScreen and GetScubberPixelRange from the TimeSliderController. Also needed to know if the section itself was selected so added a bIsSelected flag to the section Painter. Also fixed a bug where you couldn't add a section if other sections existed at different times in MovieScenePropertyTrack and could crash due to the check(). #jira UESEQ-395 Change 3962497 by Max.Preussner Core: Added new string formatting argument to FTimespan Change 3963662 by Max.Chen CineCamera: Flip VistaVision width and height. Change 3963731 by Max.Preussner MediaCompositing: Implemented sequence recording support for media track Change 3964195 by Andrew.Rodham Sequencer: Set inverted property correctly for newly created visibility track sections - Also clamp evaluation for key editors to the bounds of the section so we're not displaying values outside of the section bounds when the cursor is not on the bounds #jira UE-56324 #coderevew Max.Chen Change 3964196 by Andrew.Rodham Sequencer: Fixed crash when attempting to render sections that resulted in a negative intersection with the view range Change 3964275 by Andrew.Rodham Sequencer: Fixed MovieScene::ClampToDiscreteRange for infinite range bounds Change 3964364 by Andrew.Rodham Curve Editor: Reduce minimum vertical view range when zooming to fit Change 3965091 by Max.Chen Sequencer Recorder: Refresh next sequence if empty when starting a recording, otherwise, use existing name. #jira UE-56469 Change 3965148 by Max.Chen Sequence Recorder: Move Record to Possessable to "Actor Recording" group Change 3965162 by Max.Chen Sequence Recorder: Always break out of immersive mode when done recording, even when stopping recording during countdown. #jira UE-56407 Change 3965214 by Max.Preussner QAGame: Enabled ImagePlate plug-in Change 3965574 by Max.Preussner SimpleComposure: Reorganized & upgraded content to work with new Media Track #jira UE-56488 Change 3965651 by Max.Preussner MediaCompositing: Ignoring seek-on-open if media not seekable Change 3966075 by Christina.TempelaarL Sequencer: Added Final Cut Pro 7 XML Export functionality #jira UESEQ-358 Change 3966087 by Matt.Hoffman Adding a single key to the Particle Toggle track now makes an infinite range section that is displayed in the UI. #jira UE-56295 Change 3966547 by Andrew.Rodham Sequencer: Fixed rounding errors when drawing the section background on boolean sections - Logic was using time in sectonds which caused rounding errors on evaluation and flickering red/green stripes when dragging keys around #jira UE-56324 Change 3966563 by Andrew.Rodham Curve Editor: Key editor interface improvements - SKeyEditInterface has a few problems - it does not update in real time when editing properties, and does not support multi-edit which makes it unsuitable for use with the curve editor - We now take a different approach for editing keys by gathering a set of proxy UObjects for each key that is currently selected. These objects are added as top level objects to the details panel which means they support multi edit as you'd expect from any other details panel in the editor. - Proxy objects are updated every tick for the curve editor if they implement the ICurveEditorKeyProxy interface, which allows them to refresh their current value. - Ideally, the same mechanisms would be used in the main sequence interface, and we would be generating the proxy classes at runtime based on the key value type, but that work remains a separate task from this initial offering. #jira UE-56165 Change 3966564 by Andrew.Rodham Curve Editor: Expand to frame when adding or moving keys in the curve editor Change 3967051 by andrew.porter MediaFrameworkTest: Set the CameraPlayer_Video texture to auto clear Change 3967141 by Andrew.Rodham Sequencer: Keep track of spawned objects that have been modified and only re-save such object's default spawnable state on destruction - Now that we're taking this approach, I've remove serveral redundant bits of functionality in the spawn register such as making some spawnables read-only, and the PreSave binding for Sequencer. - We now hook into all object pre-saves to make sure we handle the case where the sequences are saved through the content browser or elsewhere. #jira UE-47686 Change 3967170 by Andrew.Rodham Sequencer: Added the ability to possess anim instances as object bindings - This allows full and direct animation of properties on UAnimInstance, and animation blueprints - Object Bindings are made by first possessing a skeletal mesh component, then choosing the + Add button where its anim instance will be listed - Added a new function to UMovieSceneSequence to gather previously cached objects that should now be invalidated. Anim instances will be re-resolved if a new UAnimInstance is assigned to USkeletalMeshComponent::GetAnimInstance. - ObjectBindingIDs for anim instances are just represented by an entry in a set of GUIDs. We only ever resolve such bindings through USkeletalMeshComponent::GetAnimInstance. - Only currently supported on LevelSequences #jira UE-56132 Change 3967195 by Max.Preussner Core: Updated TRangeSet to use TCallTraits Change 3967345 by JohnHenry.Carawon Test Content Changes - first iteration of spacing out the examples in the shots. Change 3967572 by Max.Chen Sequencer: Fix setting PreviousPlayEvalPosition until after we've tested whether it's set. #jira UE-56518 Change 3967750 by Max.Chen Audio: Set duration based on number of input channels, rather than number of channels to serialize. This fixes an issue where audio split into 2 channels is set to a duration that's twice as long. #jira UE-56430 Change 3967836 by Max.Chen Sequencer: Allow for animating array elements within ustruct properties #jira UE-55887 Change 3968506 by Matt.Hoffman Fixed ambiguous conversions for seconds and frames being overriden by ambiguous conversion to Timecode (in frames). Change 3968748 by Max.Chen Sequencer: Make the event properties submenu widget larger. #jira UE-55557 Change 3968862 by Max.Chen Sequencer: Recursive expansion when shift is down #jira UE-52139 #pr 4194 Change 3968863 by Max.Chen Sequencer: Bind rename command to selected track so that F2 shortcut start renaming #jira UE-52139 #pr 4194 Change 3968872 by Max.Chen Sequencer: Rekey the selected key at the current time. #jira UESEQ-396 Change 3968938 by Max.Chen Cine Camera: Add option to toggle the behavior of locking the rail mount to the orientation of the spline. By default, the option is off, no change in behavior. #jira UE-55815 Change 3968958 by Andrew.Rodham Sequencer: Consider vertical position when hittesting keys #jira UE-56256 Change 3969643 by Max.Preussner Core: Rounding timespans created from double values towards nearest ticks Change 3969646 by Max.Preussner MediaUtils: Implemented timeout mechanism for block-on-fetch feature Change 3969776 by Mike.Zyracki Added Skip Anim Notifiers Toggle per what was in Matinee. Investigated the Enable Root Motion toggle as also discussed but it's implementation is directly contained by the animation asset and unlike animation notifies there seems to be no exposure to interactively disable it during a playback tick. Note if we are generating thumbnails we still automtically disable notifies in the editor to avoid annoying noise playback. Note that if Enable Root Motion/Root locked is specified in the animation asset it does correctly effect the Sequencer. #jira UESEQ-399 Change 3969835 by Matt.Hoffman Playback Range and Selection Range use unified logic for adding themselves as potential snap locations which properly handles inclusive/exclusive bounds. This resolves an issue where having an unset selection range caused a potential snap location to be added on frame 0 and 1 (internal resolution) which caused a misalignment when placing objects near frame 0. This also removes the one frame offset on setting Selection Range to bring behavior inline with other ranges. #jira UE-55420 Change 3969885 by Max.Preussner MediaAssets: Don't register media player CDO with media ticker Change 3971129 by Andrew.Rodham Sequencer: Fixed UMovieSceneSequencePlayer::GotToEndAndStop() not taking into account for start time This is a remnant from when the times were always specified in 0-duration space, rather than actual sequence times. Change 3972056 by JohnHenry.Carawon More updates to Test Content. I continued spacing out the examples in the sequence so that they have a consistent number of frames between each example and during the start/end of the example. Also removed the Marcie sublevel. Change 3972066 by Andrew.Porter MediaFrameworkTest: Setting Marcie folder to be never cooked in package settings Change 3972675 by Matt.Hoffman Splitting Subsequence Sections no longer sets an incorrect playback range on the subsequence when the subsequence has a different internal resolution than the owning sequence. #jira UE-55453 Change 3973376 by Max.Preussner ImgMedia: Zero is the only valid video track for image sequences Change 3973489 by Max.Preussner Launch: Build rules cleanup pass - don't use Media, MediaUtils on server apps - don't link against Media (include-only dependency) - don't include from MediaAssets (dynamic load only) Change 3973760 by Max.Preussner MediaUtils: Moved AppMediaTimeSource implementation into its own file; added logging Change 3973765 by Max.Preussner ImgMedia: Disallowing seek beyond media length Change 3973855 by Max.Preussner MediaFrameworkTest: Updated developer test content Change 3973858 by Max.Preussner MediaCompositing: Blocking on media player time instead of media sample time (the former may not be hit in the current frame) Change 3974988 by Max.Chen Sequencer: Fix trim left so that it also sets the start offset for audio and skeletal animation sections. #jira UE-57015 Change 3976101 by Matt.Hoffman Sequencer will now focus the scroll view on newly created items. #jira UE-56492 Change 3976203 by Max.Chen Property Editor: Add DetailsViewArgs for ColumnWidth. Defaults to 0.65f, no change in existing behavior. Change 3976205 by Max.Chen Sequencer: Set better column widths for sequencer. #jira UE-55557 Change 3976206 by Max.Chen Sequencer: Added menu category for import/export Change 3976265 by Matt.Hoffman Tracks within Object Binding Nodes will now sort using the old behavior so that components are added above other track types. #jira UE-56473 Change 3976901 by Max.Chen Sequencer: Add event names to event track section #jira UESEQ-353 Change 3977878 by Max.Preussner Media: Moved media framework ticking stats into Media module Change 3977982 by Max.Chen Sequencer: Add Edit->Reset section length to duration of source (ie. audio, skeletal animation, shot length) Added MovieSceneSection::GetDefaultDuration and MovieScene::HasDefaultDuration #jira UESEQ-392 Change 3977994 by Max.Preussner Media: Fetching and rendering media samples before viewports are rendered (to ensure frame sync for in-level media playback) #jira UE-53975 Change 3978188 by Matt.Hoffman Easing Curves are now clipped by the sequence's PlayRange when testing against an infinite section. This causes blended sequences to finish their blend when the section starts/ends instead of always using 25% of the total section length to determine default blend range. #jira UE-56362 Change 3978676 by Max.Preussner MediaCompositing: Fixed first frame of rendered out media track missing #jira UE-53975 Change 3978684 by Max.Preussner MediaCompositing: Enabled media track frame sync feature #jira UE-53975 Change 3980026 by Matt.Hoffman Keys can be selected on folded out sections (such as an audio track expanded to show volume and pitch) again. #jira UE-57169 Change 3981614 by Max.Preussner MediaUtils: Added missing subtitle sample queue flush Change 3982311 by Max.Preussner MediaCompositing: Added safeguard for zero length media sources Change 3982389 by andrew.porter QAGame: Adding media track test content into FrameAccuracySubscene Change 3983661 by Max.Chen Sequencer: Add level name to spawn a spawnable into. Add sublevel menu option to set the level #jira UESEQ-390 Change 3983712 by Andrew.Rodham Sequencer: Purge legacy blueprint spawnables from LevelSequence packages #tests Ran a preflight for cooking fortnite, ocean and Orion. Only orion shows up this edge case, and will require a re-save of the EndCines level #jira UE-39173 Change 3983787 by Max.Preussner MediaCompositing: Moved compile time switch for block-on-fetch into media player facade Change 3983812 by Andrew.Rodham Sequencer: Exposed default level sequence instance data to blueprints Change 3984373 by Max.Preussner Media: Added API for quering whether player plug-in supports block on fetch Block on fetch allows Sequencer and other systems to block the game thread until a desired video frame has been decoded. Change 3984670 by JohnHenry.Carawon Movie Rendering Test Content progress. Saving the state of the content. There is a bug where things got replaced with particle emitters and I think it was because I tried to copy paste an animation track into a separate skeletal mesh track. Change 3985097 by Max.Chen Sequencer: Rename Reset to AutoSize Change GetAutoSizeDuration to return TOptional<FFrameTime> #jira UESEQ-392 Change 3986043 by Max.Chen Sequencer: Fix crash when attach/path duration is less than 0. #jira UE-57310 Change 3986373 by Max.Chen Sequencer: Add support for deleting tracks and channels which equates to setting the channel mask. #jira UE-52951 Change 3986375 by Max.Chen Sequencer: Add Create Pose Asset to skeletal animation section. This allows animators to blend animations in sequencer and create new pose assets from them. #jira UESEQ-408 Change 3986796 by Andrew.Rodham Sequencer: Fixed stale object references remaining in ULevelSequence::BindingReferences when using convert to spawnable/possessable - We used to convert objects by creating a new binding, then re-assigning its GUID, which meant we didn't have to do any further object fixup, but the code to achieve this was confusing and led to a vulnerability where object references would not be cleaned up correctly due to the newly created possessable essentially being a temporary object that's immediately thrown away. - To address this, there is now a function for porting all the contents of one object binding to another, and handles the correct fixup required for parent/child object bindings for both spawnables and possessables. - Also added codepath to remove any stale object references from the level sequence reference map on PostLoad (this piggy-backs off the PurgeLegacyBlueprints object version which is close close enough to this change to be identical) #tests Verified that existing sequences with stale references get cleaned up on load. Verified that repreatedly converting from spawnable<->possessable cleans up references correctly. Change 3987807 by JohnHenry.Carawon Updates to the MovieRendering Test Content. - Fixed the spawnable actors that were overwritten - Shortend the Lighting example and combined the Intensity and Color tracks - Organized the Sequence and WorldOutliner to group the examples. Change 3988151 by Max.Chen Cine Camera: Enable keying the "Enable Look at Tracking" toggle. Change 3988880 by Max.Chen Sequencer: Support enter to add asset for all sequencer track editors that have asset pickers. #jira UE-57367 Change 3988953 by Max.Chen Sequencer: Make the track color picker focusable so that it will close when you click away or lose focus. #jira UE-57210 Change 3988962 by Max.Chen MovieSceneCapture: Fix EDL export so that it takes into account movie scene frame resolution and desired frame rate. #jira UE-57365 Change 3988964 by Max.Chen Movie Scene Capture: Clarified tooltip for bRelativeFrameNumbers. If you specify custom start/end frames for the recording, they will be relative to the playback range. #jira UE-57308 Change 3989442 by Max.Chen Fix CIS Change 3991548 by Matt.Hoffman Dragging the time slider no longer causes the time slider to ignore snap-to-interval with "Snap to Keys While Scrubbing" when no keys are in range. #jira UE-57417 Change 3991598 by Matt.Hoffman Snap to Key while scrubbing now mirrors the behavior of "jump to next key". When there are no tracks selected it snaps to all keys and when there are tracks selected it snaps to only keys from that track. This also resolves an issue where deleting an object did not remove it from the Sequencer's selection. Undoing a delete already doesn't seem to restore your selection, so removing it from your selection shouldn't change that behavior. #jira UE-57417 Change 3991603 by Max.Chen Sequencer: Disable EditAnywhere for some section properties #jira UE-53530 Change 3992240 by Max.Preussner MediaAssets: Implemented dynamic audio sample rate adjustment based on audio/media clock drift #jira FORT-70638 Change 3992911 by Andrew.Rodham Sequencer: Fixed saving spawnable state using the wrong spawned object - We now track the object binding ID so that we can apply the spawned object to the correct spawnable when the asset is saved #jira UE-57353 Change 3992914 by Max.Chen Movie Scene Capture: Fix compression quality not being set. The compression interface wasn't being found through query interface, so no compression was being set. Reworked finding it through the output pins. Tested running various compression values. #jira-UE-55488 Change 3992919 by Max.Chen Sequencer: Convert to possessable now uses object template instead of copying properties (ie. see LevelSequenceActorSpawner). This fixes MIDs getting lost when converting to spawnable and back to possessable. #jira UE-52400 Change 3993184 by Max.Chen Sequencer: Don't show +Transform/+Path/+Attach track if the actor has the "Mobility" property hidden. Set the Landscape, LandscapeProxy and InstancedFoliage "Mobility" property to be hidden since it is static is not supposed to be dynamically movable. #jira UE-56347 Change 3993238 by Max.Chen Sequencer: Test for hidden mobility in creating keys as well. Refactored to HasHiddenMobility() #jira UE-56347 Change 3993978 by Max.Chen Cine Camera: Enable keying the "Enable Look at Tracking" toggle. #jira UE-57489 Change 3994039 by Max.Chen Landscape: Add Mobility to hidecategories on landscape component #jira UE-56347 Change 3994626 by JohnHenry.Carawon Updated Movie Rendering Test Content. - Fixed the overridden spawnables to their proper object types. Change 3994653 by Christina.TempelaarL Sequencer: Added Final Cut Pro 7 XML Import functionality, improved Export functionality #jira UESEQ-358 Change 3995609 by Max.Chen UMG: Add support for 2d transform mask (translation, rotation, scale, shear) #jira UE-52951 Change 3995778 by JohnHenry.Carawon Movie Rendering Test Content Updates - Adjusted Lights example - Adjusted Camera example - Added Marcie sublevel back in Change 3995942 by JohnHenry.Carawon QAGame: Moving Movie Rendering test content from Developer folder to Sequencer folder Also adjusted level visibility, lights and camera example. Change 3995993 by Christina.TempelaarL Sequencer: FCPXML Export updates - only export sections if in playback range and media exists, warn if media does not exist. Other updates - removed unused methods and variables, fixed message context naming to be more accurate #jira UESEQ-358 Change 3996595 by andrew.porter QAGame: Updating Marcie content in TrackEvaluation level to use Image Plate Change 3996614 by andrew.porter QAGame: Adding color test sequence to the sublevel Change 3996643 by Max.Chen Sequencer: Fix fbx animation export - rotation and scale channels were flipped. #jira UE-57509 #jira UE-57512 #jira UE-57514 Change 3996652 by Max.Preussner Messaging: Fixed delayed messaging using incorrect current time after message router sleep Based on https://github.com/EpicGames/UnrealEngine/pull/4601 Change 3996801 by Max.Chen Sequencer: Fix folder active state for non key area sections. Look at track node sections as well as key areas. #jira UE-57550 Change 3997098 by Matt.Hoffman Cleaned up some remaining ToDo's in STimeRange. Change 3998339 by Max.Preussner Sockets: Added documentation for socket receive functions Change 3998359 by Max.Preussner MediaUtils: Started to implement media recorder helper class Currently only supports BGRA frames in CPU memory. Supporting other formats and buffer types will require conversions on render-thread. I recommend refactoring out the existing conversion code in FMediaTextureResource into a reusable helper class in the MediaUtils module. This should be a good starting point though. Change 3998417 by Matt.Hoffman Keys and Sections can now be moved at the same time inside of Sequencer. Keys can now snap to Sections (and vice versa) instead of just to other Keys. Sections can now be duplicated like keys can. #jira UE-56995 Change 3998427 by JohnHenry.Carawon QAGame: Updating test content for the Movie Rendering feature. - Added an auto activate particle to the beginning of the sequence (it's not part of the sequence at all) - Added an event receiver blueprint to the Events example - Added a particle emitter to both sublevels - Added a camera cut to the end that switches to a separate camera - The camera zoom in, focus and Look At sections are all separate (not overlapping in the sequence) - Added a second actor for the camera Look At - Added a Visibility section for the Actor Hidden In Game track that has possessable and spawnable cube and light Change 3998537 by Max.Chen Sequence Recorder: Restore immersive mode when stopping the sequence even if not in PIE. #jira UE-56407 Change 3999809 by Matt.Hoffman Removed the "Go To" box from Sequencer and instead placed the current time as an always visible control. The previous shortcut (Ctrl + G) now focuses the new widget directly. #jira UESEQ-376 Change 4000543 by Christina.TempelaarL Sequencer: Moving editor-only code from runtime module MovieSceneCapture to editor module MovieSceneTools. Moved EDL and FCP XML exporters as well as Automated Level Scene Capture. #jira UESEQ-358 Change 4000706 by Matt.Hoffman Entering multiple time strings without a number no longer crashes Sequencer. #jira UE-57672 Change 4001051 by andrew.porter MediaFrameworkTest: Fixing up some image sources pointing to the wrong location Change 4001191 by andrew.porter QAGame: Adding some quick EDL/XML test content to dev folder Change 4001243 by Max.Chen Sequencer: Fix import EDL out of range. #jira UE-57665 Change 4001856 by Matt.Hoffman Selecting keys and sections at the same time now also works with animation and audio sections. #jira UE-57716 Change 4002021 by Max.Chen Sequence Recorder: Fix sequence name incrementing. If external recording sets the sequence name, use it. Otherwise, use the recording name from the recording group or the recording settings. #jira UE-57712 Change 4002618 by Max.Chen Viewport: Update the look at location when updating to a locked actor. This fixes an issue so that popping the view out of a locked actor and manipulating the view will not jump to the previous look at location. #jira UE-57725 Change 4002979 by Matt.Hoffman Fixes several edge cases with the end time range that was causing confusion about what the last frame of the sequence was. Dragging the End Frame slider will no longer be off by one tick and jumping to the end via the UI controls now properly respects snapping and stays inside the play range instead of falling outside of it. Overall behavior does not change though and End Frame should be considered an exclusive frame so that frames 0-150 results in a 150 frame long animation (which is frames 0-149). #jira UE-56367 Change 4003185 by Matt.Hoffman Fixed a regression that prevented a section from being dragged upwards past row 0 which normally resulted in all other rows moving down. #jira UE-57717 Change 4003193 by JohnHenry.Carawon QAGame: Updates to test content - Shortened frames between the examples from 95 to 30 - Separated camera setting tracks - Lighting example now switches directly from constant red - green - blue Change 4003369 by Max.Chen Sequence Recorder: Refresh next sequence regardless of internally stored sequence name. #jira UE-55757 Change 4003586 by JohnHenry.Carawon QAGame: Test Content Updates - Level Visibility track now ends to that the levels are not visible when we move to the next example - Shortened camera section, removed Z tranform so that we just move left to right and shortened the overall length Change 4004414 by Max.Chen Movie Scene Capture: Fix regression where rendering with shot handles would only render the first shot. 3972166 addressed an issue where an extra frame would be rendered by finalizing right when the end frame was reached. This was hit on the first shot end frame, so instead, do this only for when the last shot is being rendered. #jira UE-57314 Change 4004765 by Christina.TempelaarL Sequencer: Fixed bugs in FCP XML import/export. - Export: fixed sequence default resolution. - Export: fixed XML files with no shots. - Export: all sections clipped to playback range. - Export: fixed incorrect section start/end times due to precision issues. - Import: fixed incorrectly adding cinematic tracks. - Import: fixed bugs creating new sections. #jira UE-57660 #jira UE-57662 #jira UE-57655 #jira UE-57761 Change 4005119 by Max.Chen Sequencer: Export/import at play rate Change 4005195 by Max.Chen UMG: Finish UMG evaluation on stop. Added object version so that existing UMG assets do not change. #tests - Newly created UMG animation with sections set to restore state now return to their original state. Existing UMG animations with sections set to restore state do not return to their original state. #jira UE-52285 Change 4005377 by Michael.Karambelas QAGame: Moving TM-SequenceRecorder and related content out of my developer folder and into /Content/Sequencer/SequencerRecorder/* Change 4005417 by Michael.Karambelas QAGame: Fixed a BP compiler in the Level Blueprint of TM-SequencerRecorder. Change 4005634 by Michael.Karambelas QAGame: Fix up missing content and broken level sequence in TM-SequenceRecorder after move Change 4006324 by Max.Chen Sequencer: Reset if the focused movie scene is null. This fixes a crash if the user is focused in on a shot and undo takes the user past the point of where the shot was created. #jira UE-57752 #jira UE-47661 Change 4007006 by Max.Chen Sequencer: Fix FindAvailableRowIndex so that it returns the max row index (and not +1) since it doesn't find any conflicting rows. #jira UE-57717 Change 4007907 by Max.Chen Sequencer: Fix crash if there's no animation Change 4007948 by andrew.porter QAGame: added test content to dev folder for Record World Space Change 4008636 by Max.Chen Sequencer: Fix import fbx not setting values properly and creating additional cameras unncessarily. #jira UE-57864 Change 4008759 by Max.Chen Sequencer: Follow up fix for import cameras #jira UE-57864 Change 4009994 by Matt.Hoffman Dragging the left or right handles of the Time Range slider in Sequencer will now zoom your view in on the current center of the screen. This prevents the view from being translating as you tried to zoom in which caused issues at high zoom levels. #jira UESEQ-407 Change 4010169 by Christina.TempelaarL Sequencer: FCP XML fixes. - FCP XML export - no longer clips to playback range - FCP XML and EDL export - fixed missing last frame of some sections after exporting to Premiere. - Automated level capture, EDL export - use RoundToFrame instead of FloorToFrame for computing section start/end frames after frame rate conversion. #jira UE-57802 - partial fix, movie scene capture still needs to render full section rather than clip against playback. Change 4010287 by Mike.Zyracki Add quaternion interpolation option to UMovieScene3DTransformSection. This mimics how Matinee used to work by bascially finding the keys between a time and interpolating the angles as quat's between them. As noted in the code the algorithm needs to handle the case when the x,y,z Rotation keys all aren't at the same time which was not handled by Matinee. Also like Matinee, when in quaternion interoplation mode, we need to not display the function cuves since the interpolated and key values are now all different. (Would like to show them but that's a bigger refactor for perhaps just a one off needed by quaternions). I added a virtual function UMovieSceneSection::ShowCurveForChannel for this since it needs to be dynamic, not on construction of IKeyArea's, and could be useful for other sections. I could though move the method to just UMovieScene3DTransformSection and do a cast instead. Looked into doing a unit test for this but after talking with Andrew P we will work on doign an automated test in EngineQA since that will provide more coverage. Will also add a video the jira. #jira UESEQ-403 Change 4010713 by Mike.Zyracki Added option to key a group of transform channels instead of just the changed channel, or all of them. This is useful for quaternion interpolations where you want rotation keys to be aligned but also useful for other workflows like animating FK Pose to Pose. Change 4010715 by Andrew.Porter MediaFrameworkTest: Setting LogMediaUtils logging from VeryVerbose to Verbose to cut back on the spam Change 4013048 by Max.Chen Sequencer: Fix play/jump status. Update the player status for all position methods (Scrub, Jump, Play). Jump means Stopped. Correctly use PlayTo or JumpTo based on position method. In PlayInternal, JumpTo with the Stopped state (rather than playing state). #jira UE-57844 Change 4013479 by andrew.porter QAGame: Added content in TM-SequenceRecorder to test recording a property on a Cine Camera Component; Press 3 to trigger manual focus distance to increment on a timer Change 4014323 by Max.Chen Sequencer: Fix SetPlaybackPosition so that it jumps or plays based on playback status. #jira UE-57844 Change 4015888 by Max.Chen Sequencer: Fix crash on paste. UMovieSceneSections were gathered from the track node's track. For sub track mode, we want to gather only those sections on that track node row. #jira UE-57951 Change 4015943 by Max.Chen Sequencer: Fix moving shots up when the mouse pos goes outside of the virtual track area. #jira UE-57717 Change 4016293 by Max.Chen Sequencer: Fix relative frame playback end frame calculation so that custom start/end frames remain in the space of the sequence and are not relative. #jira UE-57308 Change 4017075 by Andrew.Rodham Sequencer: Corrected initial evaluation range used when calling UMovieSceneSequencPlayer::Play() Change 4017270 by Christina.TempelaarL Sequencer: FCPXML importer and movie scene capture - Use CeilToFrame when converting section start/end frame times to frame numbers in FCPXML and movie scene capture. - Added support for clip metadata in FCPXML. - Got rid of redundant TokenizedError message class, no longer needed now that FCPXML is in editor directory. - Added log messages currently commented out due to exception, still testing. #UESEQ-358 Change 4018370 by Christina.TempelaarL Sequencer: fixed FCPXML log messages regarding sections with start/end not divisible by display rate. #UESEQ-358 Change 4018378 by Christina.TempelaarL Sequencer: fixed error in previous changelist. #UESEQ-358 Change 4019457 by Max.Chen Sequencer: Show event names only when the event track is selected #jira UE-57897 Change 4022806 by Max.Chen Sequencer: Fix crash on movie scene capture dialog shutdown if movie capture wasn't even started. #jira UE-58106 Change 4022894 by Max.Chen Sequence Recorder: Wrap OpenEditorForAssets after sequence recording within GIsEditor #jira UE-58084 Change 4024487 by Max.Chen Sequencer: Add tooltip for quat interpolation #jira UE-58113 Change 4024562 by Max.Chen Sequencer: Change path/attach track sequence binding id to currently focused sequence id so that bindings can be created in subsequences Change 4027414 by JohnHenry.Carawon QAGame: Checking in content that shows a bug with using particles systems and Delay Before Shot Warm Up. Change 4028990 by Max.Chen Sequencer: Fix evaluate sub sequences in isolation. This check was added with the compile on the fly logic. Not sure why it was necessary but it seems like the sub sequence data needs to be updated in order to evaluate sub sequences in isolation. #jira UE-58184 Change 4029004 by Max.Chen Sequencer: Ensure that old binding references are removed when re-assigning actors in sequencer #jira UE-57898 Change 4030997 by JohnHenry.Carawon QAGame: Fixing name of the master sequence Change 4031785 by Michael.Karambelas QAGame: Added an instance of ThirdPerson Run to TM-SequenceRecorder for Record to Possessable test. Change 4035548 by Andrew.Rodham Sequencer: Changed FMovieSceneEvaluationTemplate::TemplateSignature to be a serial number to address non-deterministic cooking issues - This commit is related to the repro steps found in 3914599 and 3934307, both of which have been verified with this new change. - Copy of 4031684 from //Fortnite/Main/... #jira FORT-84852 Change 4036312 by Max.Chen Sequencer: Fix zoom view range so that it uses the passed in InZoomDelta Change 4036318 by Max.Chen Sequencer: Auto size now returns a range and defaults to the channel proxy range so that keyed regions can also be autosized. Change 4036322 by Max.Chen Forgot missing change Change 4036360 by Max.Chen Sequencer: Fix play rate calculation when skeletal animation section play rate changes. Change 4037163 by Mike.Zyracki Weighted Tangent Implementation Tricky thing is that you need to solve a cubic in order to get the bezier weights for the time part of the curve. See https://www.gamedev.net/forums/topic/474094-help-function-curves-for-animation-interpolation/ Maya provides an implementation in it's dev kit but I didn't use it since it was horribly slow and uses an iterative solution to solve the cubic needed. Instead I use an old algorithm (Cardano's method), to solve the cubic which should be much faster. Though relative simple to code from principles I just went ahead and used a version from Graphics Gems 1. I put this cubic solver directly in MovieSceneFloatChannel.cpp, but will need to move it when we support Rich Curve, maybe to FMath:: (which would probalby require some other functions for solving quartics, etc.. for completeness.). Also note we resolve this on every evaluation but dont' need to if the interval the time is evaluating hasn't had any change in values or tangents. So again when we support FRichCurve we can create a Weighted Evaluating class that can hold the cache. Also with the tangent drags I got rid of the Cardinal position that was used to calculate non-weight tangents from the key point and just quickly getting a direction. With weighted tangents we need to use the delta instead (otherwise when moving multiple they would all get the same weight based upon distance to the cardinal point. ) For mixed tangents types what I'm defaulting to non weighted if the interval doesn't match. May need to do weighted instead, not sure. What's left is just FBX import, for tomorrow. #jira UESEQ-76 Change 4037435 by Mike.Zyracki Fix fo build warnings from weighted tangent submission. #trivial Change 4038091 by Michael.Karambelas QAGame: Updated a Sequence Recorder group in TM-SequenceRecorder that had an actor missing the animation. Change 4038374 by Andrew.Rodham Sequencer: Refined scrubber styling for level sequences and actor sequences - Scrubber now shows a block the width of a dsplay rate frame, plus a line for the actual evaluated time. UMG reverts back to the previous styling (no block) - Keys that are outside of the playback range are now drawn with a subdued effect - Tick labels are no longer drawn when directly underneath the scrubber Change 4038490 by Max.Chen Sequencer: Expose tangent weight values in details panel. Change 4038620 by Andrew.Rodham Sequencer: Advanced time panel polish #jira UESEQ-426 Change 4038677 by Max.Chen Movie Scene Capture: Redirector for MovieSceneTools.AutomatedLevelSequenceCapture #jira UE-58248 Change 4039739 by Max.Chen Sequencer: Media track should only be supported by Level Sequence Change 4040024 by JohnHenry.Carawon QAGame: Fix EventReciever and OverrideBinding example The level sequence was set to none so the fix was to set it back to TrackEvaluation_Master. Change 4040610 by Andrew.Rodham Curve Editor: Moved weighted tangent switchers to a single toggle command (CTRL+W) and added an icon #jira 58383 Change 4040882 by Mike.Zyracki Keep broken when turning on weighted #jira UE-58435 Change 4041089 by andrew.porter QAGame: Sequence for Long Tangents bug Change 4041498 by Mike.Zyracki Turn off weighted when going auto to prevent large tangents. Do it both in UI and when doing AutoSetTangents() to really make sure it doesn't happen. #jira UE-58452 Change 4041752 by andrew.porter MediaFrameworkTest: Adding some better logging for setting rates when not supported. Also ignoring commiting URL when there is no text Change 4041896 by Matt.Hoffman The transform dialog box now transforms selected keys and sections, instead of just keys. #jira UE-58265 [CL 4044405 by Max Chen in Main branch]
2018-05-02 10:10:00 -04:00
// Set the style of the scrub handle
TSharedPtr<FSequencer> Sequencer = WeakSequencer.Pin();
Metrics.Style = Sequencer.IsValid() ? Sequencer->GetScrubStyle() : ESequencerScrubberStyle::Vanilla;
// Always draw the extents on the section area for frame block styles
Metrics.bDrawExtents = Metrics.Style == ESequencerScrubberStyle::FrameBlock;
// If it's vanilla style or too small to show the frame width, set that up
if (Metrics.Style == ESequencerScrubberStyle::Vanilla || FrameEndPixel - FrameStartPixel < MinScrubSize)
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3946692) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3801826 by Max.Chen PR #4304: Level Sequence crash fix - Guarded against dereferencing null componen. (Contributed by DSDambuster) Change 3801828 by Max.Chen PR #4302: Movie Scene Visibility Template unitialised variable, causing random . (Contributed by DSDambuster) Change 3801837 by Max.Chen Sequencer: Delay spawning/construction for convert to possessable. This fixes a bug where property values would be lost when converting back and forth from possessable to spawnable. #jira UE-52400 Change 3801841 by Max.Chen Sequencer: Make spacer nodes not selectable. PR #4194: Improvements to Sequencer (Contributed by projectgheist) #jira UE-53117 #jira UE-52139 Change 3804183 by Max.Preussner MediaAssets: Added missing lock in media sound component Change 3805414 by Max.Preussner MediaAssets: Setting valid GUID when initializing media texture resource Change 3819578 by Max.Chen PR #4370: When enabling the "MovieCapture", do not turn off the Stereo-3D display. (Contributed by yehaike) #jira UE-53647 Change 3823414 by Max.Chen Curve Editor: Lock down the first and last keys in the redundant keys removal range so that they're unaffected. #jira UE-53591 Change 3826406 by Max.Chen Sequencer: Move OnStartedPlaying() to within first update in UpdateTimeCursorPosition(). This fixes an issue where setting the hud/player visibility was getting stomped on later. #jira UE-52772 Change 3827044 by Max.Preussner MediaAssets: Added sprite visualization to media sound component #jira UE-53594 Change 3827988 by Max.Preussner MediaPlayerAssets: Fixed Media Texture is not linked to Media Player when created together #jira UE-53532 Change 3828506 by Max.Preussner MediaPlayerEditor: Added attenuation visualizer for media sound components #jira UE-53594 Change 3832590 by andrew.porter EngineTest: Added a keep state check in Property Animation sequencer test Change 3833053 by andrew.porter EngineTest: Adding Hierarchical Bias test Change 3835683 by andrew.porter EngineTest: Adding UMG Animation screenshot test Change 3836076 by Max.Chen Sequencer: Fix audio volume and pitch multiplier deprecation. Change 3836230 by andrew.porter EngineTest: Adding Sequence Bone Position automation test Change 3836347 by Max.Chen Sequencer: Fixes to shot name parsing. When a shot doesn't contain a shot number, assume, [ShotName]_[TakeNumber]. When duplicating a shot, put the new shot in the same path of the original shot, so that the take numbers will increment properly. #jira UE-51868 Change 3836552 by Max.Chen Sequencer: Sub section now has a takes menu Change 3838094 by Max.Chen UMG: Fix template finish not getting called on stop. This fixes a bug where sections aren't restored when finished. #jira UE-52285 Change 3838708 by Max.Chen Sequencer: Add notification when the blend type is changed. #jira UE-54046 Change 3840295 by Max.Chen Sequencer: Fix copy/paste crash for lights #jira UE-54084 Change 3840957 by Mike.Zyracki Added Show Only Keyable and Show Only Animated to the filter list in the property editor. Added IsPropertyAnimated to IDetailKeyframe Interface which already had support for showing properties which are keyable (which is used for the key icon next to the properties.). Could have created another interface but then would have had to mimic the sequencer binding, releasing also, so this seemed best way. One issue still left is that custom built detail items currently don't store associated properties(usually) and so certain properties, in particulalry transforms, won't show up as keyable or animated. Note this also shows up with the keyable icon not showing up next to transform tracks, and other filters like Show Only Modified not working with transforms/customs. Not sure best way to tackle this. #jira UESEQ-328 Change 3841756 by Max.Chen Sequencer: Fix unbound possessable components when pasting spawnables. #jira UE-54104 Change 3843950 by andrew.porter EngineTest: Renaming LevelStreaming tests/content to LevelVisibility Change 3844082 by Mike.Zyracki Missing file for animated filter in property editor. When finding if a track is animated we need to find it but we can't easily induce the MovieTrack class for any particular property. So we don't set a class for it and just search by it's ID and name. #jira UESEQ-328 Change 3846902 by Max.Preussner ImgMedia: Fixed image media player never finished initialization if loading failed #jira UE-54247 Change 3849820 by Mike.Zyracki Reassigning deleted widgets didn't work since the menu extender mechanism needs a valid UObject in order to perform an operation on it. So to fix we replaced GetObjectBindingContextMenuExtender in WidgetBlueprint with new delegate mechanism (OnBuildCustomContextMenuForGuid) that supports FGuid in addition to UObjects which is needed to handle re-binding deleted widgets. Note that the default sequencer hacks this for replacing deleted actors in SequencerObjectBindingNode to check to see if a LevelSequence is active. We could move to this mechanism there also. #jira UE-53163 Change 3852211 by Max.Chen UMG: Indicate name of the property that is not bound. #jira UE-54350 Change 3854120 by Max.Chen Sequencer: Fix sibling folders being allowed to have the same folder name. #jira UE-54363 Change 3854627 by Max.Chen Sequencer: Step to next/previous key should work for all tracks if there aren't any selected. #jira UESEQ-391 Change 3855825 by andrew.porter EngineTest: Adding animation blending automation test Change 3855950 by andrew.porter EngineTest: Adding correct expected valuues to animation blending test Change 3856237 by Matt.Hoffman UESEQ-336 - Sequencer Track Reordering Adds the ability to re-order Master Tracks, Folders and Object Bindings within sequencer hierarchies (including UMG). Adds the ability to do a one-off sorting of the content under the old sorting behavior if the user wants to reset their layout to how it was under legacy behavior. Modifies SequencerTrackNodes, SequencerFolderNodes and SequencerObjectBindingNodes to handle CanDrop/OnDrop for above, below and ontop of. Fixes a Slate Issue that forcibly expanded a TreeviewRow if an item handled OnDrop. Slate will now only forcibly expand the row if the item says the drop happened ontop of the item, and not above or below it like it previously did. Change 3856503 by andrew.porter EngineTest: Adding automation test for using animation blueprint with blend multi node in sequencer Change 3857875 by Max.Chen Sequencer: Assign the sequence id after the template is compiled. #jira UE-54462 Change 3858344 by Max.Chen Sequencer: Prevent Goto and Transform boxes from overlapping by allowing them to be visible at the same time in an autosized horizontal box. Also, added close button to the goto box. PR #4425: Prevent Goto and Transform boxes from overlapping in Sequencer ... (Contributed by projectgheist) #jira UE-54210 Change 3860566 by andrew.porter MediaFrameworkTest: Set the option to index 0 for the audio and video track list by default Change 3860654 by andrew.porter EngineTest: Enabling Camera Cut + FOV test Change 3860981 by andrew.porter EngineTest: Updating skeletal mesh tests with a delay after set playback position Change 3861256 by Max.Chen Sequencer: Add all bindings if none selected. #jira-54440 Change 3862154 by Andrew.Rodham Added TimeManagement module Change 3862424 by andrew.porter EngineTest: Turned on the test Bone Positions with Blend Multi Node Change 3862573 by andrew.porter EngineTest: Adding test to compare bone positions in a sequence that is blending an animation that is using an AnimBP Change 3865117 by Max.Chen Sequencer: Stop auto scroll on mouse release of movement. #jira UE-31212 Change 3865303 by Max.Chen Sequencer: Add drag and drop transactions #jira UE-54662 Change 3865304 by Max.Chen Sequencer: Fix crash when an actor factory is not found. Change 3865361 by Max.Chen Sequencer: Don't change the camera/shot lock button when popping out of a sequence. #jira UE-54665 Change 3865412 by Max.Chen Sequencer: Determine whether a transform track is for a camera by using the spawned object or template #jira UE-54666 Change 3865685 by Max.Chen Sequencer: Clear autoscrub offset when stopping autoscroll #jira UE-31212 Change 3865886 by Max.Chen Sequence Recorder: Log an error if the number of frames changes while recording. This can happen if the skeleton changes while recording. #jira UE-48715 Change 3866925 by Andrew.Porter MediaFrameworkTest: Changing the current PNG test video image sequence to 1024 x 576 Change 3867705 by andrew.porter QAGame: Adding Audio Sort Sequence to dev folder Change 3867890 by andrew.porter QAGame: Adding a sequence for testing a sorting crash to my dev folder Change 3872628 by Max.Chen Movie Scene Capture: Split delay before warmup into split delay before shot warmup so that there's separate controls for when the movie scene capture warmups up vs. shot boundaries. Change 3873131 by Matt.Hoffman UE-54732 - Crash reordering a folder with a track. This was caused by folders being the only type of track to check if someone was putting a parent track into a child track. Object Binding tracks and Tracks now check as well so that you can't use the above/below drop targets to add parents as children. This also fixed a typo in the localization keys. #jira UE-54732 Change 3873301 by Mike.Zyracki Added ability to support continous euler angle changes when changing rotations, in particularly with the rotation gizmo's. To do this we effectively added a form an of 'euler filter'(https://en.wikipedia.org/wiki/Euler_filter) to find the closest euler angle to the current euler angle. Three functions were added to FRotator to make this possible, one to get the euler angle that's has the same rotation as it, one to get the difference between two euler angles via Manhattan distance and a third using the previous two to choose a Rotator value that's closest to it. We then use these functions before calling UComponent::SetRelativeRotation to make sure we use the correct Euler after the Quat conversion. We also no longer limit(bound) the euler angles to -180,180, which is obviously necessary to avoid flips. I also changed how we caluclate yaw and roll when pitch is -90 or 90 to make it the standard approach of zeroing out roll and just setting yaw. Main reasons are the previous implementation had precision issues so things like 180, 90, -180 would show up due to numbers being nearly zero but negative,(this would break any smooth interpolations), and this facilitates having a 'gimbal' rotation mode (like Maya, Blender etc..) if we ever want that also. If needed we could keep the previous implementation but would need to add some FMath::IsNearlyZero checks, with less performance. Note we only do this special filtering when applying delta's to actors or components in the editors, which then call UComponent::SetRelativeRotationExact, which is a new function to foces the RelativeRotation to be equal to the new rotation. This allows us to store un-nomalized Rotators at the cost that the RotationCache may be broken. We didn't change any of the other UComponent functions that set rotations (via Quats or Transforms) so they will still be bounded and unwound. In SetInternalWorldLocationAndRotation we only set the rotation if the rotation has changed, which fixes the rotation getting changed and re-normalized if just translate happens. In TransformTrackEditor, we correclty use the bUndwing flag and in MovieScene3DTransformSection there was an un-needed winding check there, it will be unwound earlier if needed, which happens if Sequence Recording is happening. Max we should talk about what to do about this . Note the euler angle drag via the widget is still bound to 0-360. I think we should just unbound that now since the rotations value are now unbound. This review now includes fixes suggested by Zak. #jira UE-UE-22228 Change 3873483 by Matt.Hoffman Sequencer Tracks can now be inserted above the spacer at the bottom of the tree. #jira UE-54706 Change 3873899 by Max.Chen Sequencer: Add section selection throbbing Change 3873908 by Max.Chen Movie Scene Capture: Added logging per frame Change 3873924 by Matt.Hoffman Adds the ability to store Sequence Recorder setups into profiles that stay with the map and can be re-loaded later. Profiles store the Actor Recordings so the settings for each actor should carry with them. #jira UESEQ-339 Change 3874726 by Matt.Hoffman Disable drag-and-drop targets on spacers that come between rows in Sequencer. This prevents extra drag/drop targets showing up between each row. #jira UE-54706 Change 3874862 by Matt.Hoffman Audio Track no longer gets reordered when adding sub-audio tracks, as sub-tracks are no longer counted towards the sorting order index when normalizing indexes. #jira UE-54727 Change 3875905 by Matt.Hoffman Disable Fade Track UI if a fade track already exists in the sequence. #jira UESEQ-393 Change 3876163 by Max.Chen Sequencer: Swap the camera object to the camera component's owner if it's not the same. #jira UE-54874 Change 3876971 by Andrew.Porter EngineTest: Moved Media Player Seek test to new folder. Also enabled the test with new ground truth image. Change 3877040 by Max.Chen Cine Camera: Split camera properties to two groups, "Camera Options" and "Camera Settings". The cine camera now hides properties in the "Camera Settings" group so that properties like bConstrainAspectRatio (in the "Camera Options" group) can be visible. #jira UE-54192 Change 3877763 by Max.Chen Curve Editor: Fix curve changed on end drag so that only curves that had keys/tangents that were changed receive notification, otherwise all loaded curves were getting notified that they were changed. #jira UE-54951 Change 3878234 by Matt.Hoffman Disable "Drop Below" targets for Sequencer Tree nodes to prevent a confusing UX issue where dropping underneath a Object Binding Node puts it after the object binding node but the UI looks like it's inserting it inside the Object Binding node. #jira UE-54743 Change 3879359 by Mike.Zyracki If a track is inactive we dim it a bit which seems to be the UE4 way to show inactive or disabled state. We changed the active logic so that all subtracks need to be inactive for the track to also be inactive(instead of all active for active). This conforms to how the active state actually works, e.g if you have two sections and only one is active the track is still active above it. #jira UESEQ-388 Change 3879462 by Max.Chen Sequencer: Allow dragging onto a particular row which would move out any overlapping sections to make space for the newly created section. Newly created sections are now selected and throbbed to draw attention to themselves. #jira UE-54664 Change 3879464 by Max.Chen Sequencer: Fixed overlapping ranges being inserted into the evaluation field during compilation - The issue was that track segments that had been combined with adjacent segments (due to them being identical) would potentially cause a subsequently compiled frame to overlap with a range that had already been inserted into the evaluation field. - The insertion code previously asserted that only minor overlaps were catered for (due to fp rounding errors) and assumed that a supplied range could not entirely contain any other range in the field. - The solution is to supply the insertion time along with the range to know exactly where the data should live in the field, and crop the range to the maximum allowable space between adjacent ranges. #jira UE-54922 Change 3879590 by Matt.Hoffman Items that are now added to the Sequencer via the "+Track" menu will be selected after being added. Items can now be added inside of folders instead of just to the root level. #jira UE-27397 Change 3879612 by Mike.Zyracki Display Nodes with no children are always active. #jira UESEQ-388 Change 3879730 by Matt.Hoffman Sequence Recorder's actor recording groups now remove items from the group when removed via the UI. #jira UESEQ-339 Change 3880256 by Mike.Zyracki Fix issue with inactive display with folders and other track nodes. #jira UESEQ-388 Change 3883491 by Max.Chen Fix issue where tick is skipped due to last ticked pose isn't cleared after AnimInstance changes. Copy from Release-4.19 #jira UE-51323 Change 3883603 by Max.Chen Movie Scene Capture: Add option toggle disable screen percentage. By default this is on (no change in current behavior). #jira UE-51898 Change 3885074 by Max.Preussner MediaCompositing: Resetting media texture & freeing resource on section end; removed dead code Change 3887220 by Max.Preussner MediaCompositing: Defaulted media section duration to 1 sec (since we do not know the actual duration in most cases) Change 3887478 by Matt.Hoffman Sequences now show [Inactive] in their title bars when they're disabled. This helps communicate why a sequence isn't being evaluated. #jira UE-51469 Change 3888985 by Max.Chen Movie Scene Capture: Clamp HDR Compression Quality between 0 and 1. #jira UE-55136 Change 3893519 by Max.Chen Sequence Recorder: Clarified tooltip for bRecordNearbySpawnedActors - spawned actors will still be recorded if they match the ActorFilter. #jira UE-55238 Change 3893546 by Max.Chen Sequence Recorder: If a selected actor already has a recording, add a blank recording. #jira UE-55239 Change 3894044 by Max.Preussner MediaCompositing: Added support for seeking into a media section Change 3894310 by andrew.porter MediaFrameworkTest: Adding Img media sources for 1080 and 2160 ravent test content Change 3894426 by Max.Preussner MediaAssets: Letting media textures with AutoClear retain their clear color when player is reset Change 3895717 by Max.Chen Sequencer: Null checks to prevent crash when saving the default state of a spawnable #jira UE-55304 Change 3897388 by Max.Chen Sequencer: Don't update current time to be within the view range when stepping into a sequence. #jira UE-55322 Change 3897452 by Max.Chen Audio: Fix crash when trying to record audio without any active capture devices. Log warning if the number of input channels is not 1 or 2. #jira UE-55223 Change 3897619 by Max.Preussner MediaCompositing: Removed commented out code Change 3898072 by Max.Chen Sequencer: Override the animation asset in the player state if it doesn't match the animation asset that's being evaluated. #jira UE-55328 Change 3898272 by Max.Preussner MediaPlayerEditor: Made slate brush constants static Change 3898704 by Max.Chen Sequencer: Skip if the binding id's sequence can't be found. #jira UE-55337 Change 3899855 by Max.Preussner MediaCompositingEditor: Added cache state visualization to media track Change 3900300 by Max.Preussner MediaCompositingEditor: Added loop indicators to media sections Change 3900694 by Max.Preussner ImfMedia: Looping cache only when player is looping Change 3900892 by Max.Preussner Stats: Added stats category for media framework Change 3900954 by Max.Preussner MediaCompositing: Don't evaluate at the end of media section Change 3901348 by Max.Preussner Core: Replaced TLruCache autos for better readability Change 3901655 by Max.Preussner ImgMedia: Added more perf stats to EXR reader Change 3901972 by Max.Preussner MediaAssets: Added getter for media player in media sound components Change 3902233 by Max.Preussner MediaAssets: Enabling media textures to receive samples right after player is assigned Change 3902238 by Max.Preussner MediaCompositing: Working around init/shutdown idiosyncracies in sequencer Change 3904045 by Max.Chen Sequencer: Fix copy/paste crash. Only process UMovieSceneCopyableBinding and objects that can be spawned by the movie scene spawn register. #jira UE-55314 Change 3905605 by Max.Chen Sequencer: Restrict spawnables from being created if they have a ClassWithin that UMovieScene is not a child of. #jira UE-55429 Change 3906550 by Max.Chen Sequencer: Add media track icon #jira UE-55480 Change 3907101 by Max.Chen Sequence Recorder: Fix bugs related to not recording a level sequence. There were certain assumptions that creating a level sequence meant that sequence recording was in progress. This is not always the case - the recorders can record animation assets and not create a level sequence. Changed the notion of IsRecording() to having at least one actor recording that is recording. Countdown timer, recording displays, etc should function if IsRecording() and not based on whether a level sequence is created. #jira UE-55485 Change 3907247 by Max.Chen Sequence Recorder: Fix crash not removing PrepareToCleanseEditorObject delegate. Repros when opening sequence recorder, closing it, and then opening or creating a level. Change 3910343 by Max.Preussner Core: Added async helper for executing functions on a given thread pool Change 3910346 by Max.Preussner ImgMedia: Added separate thread pools for loading/decoding and deleting image frames Change 3910829 by Max.Preussner Profiler: Increased visible range of profiler graph Change 3910841 by Max.Preussner MediaCompositing: Displaying asset name instead of full media source path in media section Change 3910870 by Max.Preussner ImgMedia: Using deallocation thread pool only in debug builds Change 3919642 by Max.Chen Sequence Recorder: Clarify active tooltip #jira UE-55661 Change 3919660 by Max.Chen Sequencer: Sequence template source signatures are now also compared to catch the case where a sub-sequence asset has been saved but not modified - The following sequence of events exposes this issue: - Create a master sequence with a single shot that spawns a cube - Add this sequence to a level and set it to auto-play - Save everything and restart - Resave just the inner shot asset without opening it - PIE - The inner shot never spawns its cube because its template was wiped on save, but its signature never changed. Since the master sequence previously didn't check the template source signature, it ends up trying to evaluate an empty template. #jira UE-55626 #jira UE-55490 Change 3921825 by Max.Chen Sequencer: "Run Construction Script in Sequencer" is off by default for blueprints but on for Sequencer. This allows the content author to switch it on for specific blueprints and sequencer will be default, run those with construction scripts enabled. Change 3922232 by Max.Chen Sequence Recorder: Reset countdelay on stop. #jira UE-55755 Change 3922306 by Max.Chen Sequence Recorder: Don't automatically mark transforms to be recorded by sequence recorder. Instead, log a warning if the user toggled it off to warn that the resulting animation might not match gameplay. #jira UE-55758 Change 3922912 by Max.Chen Sequence Recorder: Fix refresh next sequence name #jira UE-55757 Change 3927654 by Max.Chen Movie Scene Capture: Added format mapping for the name of the current camera #jira UE-55769 PR #4537 Change 3927658 by Max.Chen Sequencer: Added fbx property mapping for "FocusDistance" to "FocusSettings.ManualFocusDistance" #jira UE-55782 Change 3932022 by Max.Chen Sequencer: Add import animation track section to next available row index. #jira UE-55892 Change 3933919 by Max.Chen Sequencer: Jump to playback start frame and not 0 to start playback for recording. #jira UE-55933 Change 3934307 by Andrew.Rodham Sequencer: Add template signature that is re-generated every time the base template is regenerated, which invalidates evaluation fields This fixes an issue where the same sequence is instantiated multiple times in a sequence. If the source sequence was saved, its template would be wiped, which would invalidate the template ID When an instance tries to evaluate the master template, it would only invalidate a range in the evaluation field that was the hull of any invalid sub sequences overlapping the current time, potentially leaving invalid data in the evaluation field at positions later (or earlier) on in the sequence When the sub template was re-generated, it receives the same SequenceSignature as it had before (because the sequence hasn't actually changed), which causes the stale evaluation field data to fail the IsDirty check (because the sequence is the same as it thought, but the *template* has changed) This has been addressed be adding a signature to templates themselves, and checking both the template signature and sequence signature as a part of the IsDirty check. This ensures that we regenerate if either the template, or the sequence have changed. #jira UE-55934 Change 3936327 by Andrew.Rodham Sequencer: Removed increment when trimming right UMovieSceneSection::TrimSection already explicity assigns an exclusive bound to the time passed in. The new behavior means we can trim a section to the right, and insert another section without changing the time to create adjacent sections. #jira UE-42652 Change 3936328 by Andrew.Rodham Fixed KeyFrameManipulator assignment operators and copy/move constructors - These types are potentially self-referential so cannot use default constructors/assignment Change 3936330 by Andrew.Rodham Converted UMGSequencePlayer to use frames internally #jira UE-54878 Change 3936726 by Max.Chen Sequencer: Set track node as the parent of the key area node. The key area switcher needs the object binding id from the parent object binding node. Without this, the binding to the external value fails. #jira UE-55931 Change 3936775 by Max.Chen Sequencer: Should stop or loop should compare DurationFrames with Current Time from StartTime. The bug is that if you set 30 warmup frames in movie rendering for a range of 0-100, the FrameRange will be starting at -30 and have a duration of 130. Without this fix, the playback will continue until frame 130, rather than 100. #jira UE-55933 Change 3936935 by Matt.Hoffman Easing Curves are now represented in Play Rate resolution instead of internal resolution. #jira UE-55937 Change 3937069 by Matt.Hoffman Users can toggle if the is infinite on each side, limited by which tracks support infinite ranges. #jira UE-55891 Change 3937516 by Max.Preussner ImgMedia: Added support for single-threaded platforms #jira UE-55986 Change 3937826 by Max.Preussner MediaAssets: Disabling media sound components on HTML5 if AudioMixer is not enabled Change 3937997 by Max.Chen Curve Editor: Add Zoom to Fit Curves so that selected curves from Sequencer can be focused on. Tested that undo doesn't re-zoom. #jira UE-55935 Change 3938000 by Max.Chen Sequencer: Stop all sounds before generating audio waveforms. #jira UE-55951 Change 3938376 by Max.Preussner XGEController: Disabled XGE Controller in single-threaded apps to prevent crash Change 3938444 by Max.Preussner Core: Added async support for single-threaded applications Change 3938445 by Max.Preussner Networking: Added support for single-threaded applications in UDP socket sender/receiver Change 3938447 by Max.Preussner Messaging: Added support for single-threaded applications Change 3939432 by Max.Chen Sequence Recorder: Append command list to global level editor actions so that shortcuts are accessible in level editor. #jira UE-55798 Change 3940229 by Andrew.Rodham Added prospective display rate upgrade to UMovieScene::PostLoad - There was previously some very odd behaviour that would assign the fixed frame interval only when a sub sequence was focused in SSequencer. This meant that many sequences could have a frame interval of 0 set in the data. - Under the old method of snap interval display this would have fallen back to getting the display interval from the sequencer settings, but we no longer look at these. - The USequencerSettings properties have been removed and in their place, a prospective data upgrade for sequences that have a fixed frame interval old 0fps that sets the play rate to the previous defaults based off the old USequencerSettings defaults. - This could end up 'changing' the display rate for sequences where the user has changed the snap interval in the settings for a particular sequence editor, but there's not much we can do about that given we don't have access to the USequencerSettings classes in UMovieScene #jira UE-55919 Change 3940277 by Andrew.Rodham Sequencer: Added ability to default frame resolutions and play rates for newly created actor sequences Change 3940378 by Andrew.Rodham Sequencer: Post move import dialog now defaults to the playback framerate of the sequence, and floors to frame numbers Change 3940559 by Andrew.Rodham Reinstated primed or recording sequence color Change 3940642 by Max.Preussner ImagePlate: Removed image plate media playback functionality Change 3940843 by Max.Preussner Core: Made TCircularQueue actually thread-safe; improved code comments Change 3940860 by Max.Chen Sequencer: Changed StructNameToKey to StructPathToKey Previously, keying a PropertyPath of [RenderTransform][Shear][X] would get trimmed to X, which doesn't map to a channel name as considered by Sequencer2dTransformTrackEditor. Instead, trim the resulting property path to [Shear][X] so that track editors can determine the desired struct path and channels to key. #jira UE-52966 Change 3941292 by Mike.Zyracki Fix for trajectories out of range not showing up. 1) If we had no key data we would pop the time, so wouldn't get the section ranges. 2) Calculating of upper bound was wrong, checking against -1 and not key == num of keys when doing algo::lower_bound. 3) No need to do the Bck-- for the bakward iterators since we fixed #2. We start now from the upper bound correctly. 4) If we had no keys (at section start,end) we would incorrectly say we were any key type, so since we draw constant keys as dashed we would do so incorrectly around section end points. #jira UE-55929 Change 3941424 by Max.Chen Curve Editor: Change Zoom to Fit to use TArrayView Change 3941498 by Max.Preussner Core: Added FMath::DivideAndRoundNearest function Change 3942097 by Matt.Hoffman Drop Frame Timecode Support for NTSC rates. Change 3942104 by Matt.Hoffman Sequence Recorder Group is no longer visible inside the World Outliner after using one. #jira 55266 Change 3942107 by Max.Chen Sequencer: Resurrect logic to find or extend an existing section when adding keys. Change 3942330 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942339 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942507 by Andrew.Rodham Sequencer: We no longer pad the time overlap threshold with a small number that is not scaled by the current zoom level - The presence of this pad was causing keys that were far apart to be grouped when zoomed in a long way Change 3942509 by Andrew.Rodham Sequencer: Only pad total view range, rather than section range as well when retrieving keys to render - This stops us from rendering keys that are within the view range, but outside the section range Change 3942512 by Andrew.Rodham Added transactions to some sequencer details customizations Change 3942513 by Andrew.Rodham Sequencer: Reinstated validation checks to UMovieSceneSection::SetStartFrame and SetEndFrame, changed erroneous uses to use SetRange Change 3942560 by Andrew.Rodham Pass by rvalue reference to appease error C2719 on Win32 ('InChannels': formal parameter with requested alignment of 8 won't be aligned) Change 3942697 by Andrew.Rodham Newly Created Level Sequences and Actor Sequences now default to 24000 fps frame resolution (+/- ~24hrs range, supporting all integer rates + 23.976) Change 3942700 by Andrew.Rodham Sequencer: Added legacy out-of-bounds errors for times that are not supported by the current legacy upgrade frame resolution Change 3942989 by Max.Preussner Core: Fixed circular queue count calculation Change 3943538 by Max.Preussner MediaAssets: Reverted workaround for procedural audio log spam in HTML5 (Actor component initialization cannot be skipped if the component is used in a level) Change 3944071 by Max.Preussner QAGame: Fixed Media Texture keeps last frame of Media when PIE ends #jira UE-53360 Change 3944292 by Max.Chen Sequencer: Added extra flags to ensure that asset initialization does not occur on template actor sequences #jira UE-56113 Change 3944364 by Max.Chen Sequencer: Prevent circular shot/master tracks. Tested adding master -> child -> master as drag and drop cinematic shot tracks and sub tracks as well as through the + button. #jira UE-56091 Change 3944422 by Max.Chen Sequence Recorder: Disable transform recording if off. #jira UE-56061 Change 3944745 by Andrew.Rodham Sequencer: Key rendering fixes - Fixed assert that occured when keys happened to reside on some times due to KeyTime + TimeOverlapThreshold - KeyTime being slightly larger TimeOverlapThreshold - Fixed keys sometimes being clipped when zoomed right in due to lack of half-frame offset - Added missing documentation to MovieSceneTimeHelpers.h #jira UE-56107 Change 3945231 by Andrew.Rodham Sequencer: Reconstruct channel proxy on Serialize to catch all cases of undo/redo, PostLoad and duplication #jira UE-56089 Change 3945301 by Andrew.Rodham Sequencer: Added safety checks during initial sequence recording to guard against applying negative or 0-sized sequence ranges #jira UE-56125 Change 3946627 by Max.Preussner Fortnite: Fixed game crashes closing editor while in PIE - Pure virtual function being called #jira UE-56144 [CL 3946896 by Max Chen in Main branch]
2018-03-14 22:09:33 -04:00
{
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 4044339) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3947021 by Max.Chen Sequencer: Don't preserve root component when copying object properties. A spawnable empty actor, has a root component that is generated by the empty actor factory. If the object template's root component is preserved when copying from the spawnable empty actor, the root component will not be copied over. Therefore, we need to NOT preserve the root component when copying object properties. #jira UE-55825 Change 3947366 by Max.Preussner WmfMedia: Better log output Change 3947367 by Max.Preussner MfMedia: Better detection of compressed format properties on Windows Change 3949102 by Max.Chen Sequencer: Remove SequenceActorTag when converting to possessable. #jira UE-56206 Change 3949207 by andrew.porter EngineTest: Set the screenshot nodes resolution to 1280x720 Change 3949404 by Max.Chen Sequencer: More informative tooltip for "Rerun Construction Scripts" option. It now says "Rerun construction scripts every frame on actors that have 'Rerun Construction Script in Sequencer' enabled in their class settings". Change 3950067 by Matt.Hoffman Renamed UAutomatedLevelSequenceCapture's StartFrame and EndFrame to CustomStartFrame/CustomEndFrame to reflect that it is user-overriden. This will also resolve upgrade issues due to the variable datatype changing. #jira UE-56189 Change 3950193 by JohnHenry.Carawon Updating my latest MovieRendering test content. Change 3950757 by JohnHenry.Carawon More updates to MovieRendering test content Change 3952059 by Max.Chen Resave LevelVisibility_SubLevels to fix data loss conversion warning of OpacityMaskConstant #jira UE-56086 Change 3952283 by Max.Chen Sequencer: Disable dropping level sequence assets as spawnables. #jira UE-56120 Change 3952422 by Max.Chen Sequence Recorder: Add button to record from the current player. #jira UE-55942 Change 3952987 by JohnHenry.Carawon MovieRendering Test Content - Fixing camera bindings and changing the override binding actor Change 3953823 by Mike.Zyracki Fix for Bad FBX Import Tangents not scaled by frame rate. After looking at this again it seems that a set of MovieScene:: overiddes for the channel traits wasn't set correctly, so use the ADL idiom to use MovieScene, which can then call Optimize in the correct namespace. With this we can now correctly use the passed in tolerance. There was also a redundant set of Optimize calls so that it could happen twice so removed them, and needed an extra check in the float channel Optimize. Also since we need to set auto tangents no matter if we optimize we don't set that parameter(though leave it since it's used by context menu key reduction). Finally fixed speed issue with trajectories caused by calculating way too many substeps. Reverted back to a time based step size for consistency. #jira UE-56193 Change 3954317 by Matt.Hoffman Adding a key to the last frame of a section no longer causes a crash. Keys can already be moved to be on the last frame of a section so now you can just add a key there directly. #jira UE-56255 Change 3954326 by Matt.Hoffman Dilating a section that is only infinite on one side no longer causes a crash. #jira UE-56260 Change 3954486 by Max.Chen PR #4580: Exposes IsReversed() from UMovieSceneSequencePlayer (Contributed by alanedwardes) Change 3955238 by Max.Preussner Messaging: Enabled delayed message routing https://github.com/EpicGames/UnrealEngine/pull/4574 #jira UE-56247 Change 3955901 by Max.Preussner MediaFrameworkTest: Added developer test for overriding desired media player plug-in at runtime. Change 3955922 by Andrew.Porter QAGame: Updating movie rendering content in dev folder Change 3956004 by andrew.porter QAGame: Adding MPC track to movie rendering test content Change 3956510 by Max.Chen Sequencer: Fix fbx camera import of static properties so that they are imported before default tracks are created. Otherwise, the default tracks inherit the default properties of the camera, rather than the values from the fbx. #jira UE-56311 Change 3957613 by Max.Preussner MediaUtils: Added code documentation to media player facade Change 3958005 by Max.Preussner MediaUtils: Added method to get number of sinks Change 3958934 by Max.Chen Sequencer: Fix keys getting added and sequence getting erroneously re-evaluated when auto key is off. Only apply defaults if there are no keys. Only modify the movie scene section before creating keys or setting defaults. #jira UE-55903 Change 3959687 by Andrew.Rodham Sequencer: Fixed visibility track external values being inverted #jira UE-56324 Change 3960507 by Max.Preussner Core: Fixed incorrect rounding in FMath::DivideAndRoundNearest Change 3962047 by JohnHenry.Carawon MovieRendering Test Content Changes: - Add Lightmass Importance Volumes to sublevel to fix warnings - Rebuilt Lighting - Add a third sequence for Gamut testing - Resaved the sound master.uasset to fix warning Change 3962211 by Mike.Zyracki Add Frame Numbers to selected animation sections. Added MapTimeToAnimation to MovieSceneSkeletalAnimation so that we could get it from the Skeleton Animation track Editor. Since the thickness of the frame line can change based upon frame rate and zoom we need to calculate it similarly to how the time slider controller does it. Those calculations were private so we had to expose FScrubRangeToScreen and GetScubberPixelRange from the TimeSliderController. Also needed to know if the section itself was selected so added a bIsSelected flag to the section Painter. Also fixed a bug where you couldn't add a section if other sections existed at different times in MovieScenePropertyTrack and could crash due to the check(). #jira UESEQ-395 Change 3962497 by Max.Preussner Core: Added new string formatting argument to FTimespan Change 3963662 by Max.Chen CineCamera: Flip VistaVision width and height. Change 3963731 by Max.Preussner MediaCompositing: Implemented sequence recording support for media track Change 3964195 by Andrew.Rodham Sequencer: Set inverted property correctly for newly created visibility track sections - Also clamp evaluation for key editors to the bounds of the section so we're not displaying values outside of the section bounds when the cursor is not on the bounds #jira UE-56324 #coderevew Max.Chen Change 3964196 by Andrew.Rodham Sequencer: Fixed crash when attempting to render sections that resulted in a negative intersection with the view range Change 3964275 by Andrew.Rodham Sequencer: Fixed MovieScene::ClampToDiscreteRange for infinite range bounds Change 3964364 by Andrew.Rodham Curve Editor: Reduce minimum vertical view range when zooming to fit Change 3965091 by Max.Chen Sequencer Recorder: Refresh next sequence if empty when starting a recording, otherwise, use existing name. #jira UE-56469 Change 3965148 by Max.Chen Sequence Recorder: Move Record to Possessable to "Actor Recording" group Change 3965162 by Max.Chen Sequence Recorder: Always break out of immersive mode when done recording, even when stopping recording during countdown. #jira UE-56407 Change 3965214 by Max.Preussner QAGame: Enabled ImagePlate plug-in Change 3965574 by Max.Preussner SimpleComposure: Reorganized & upgraded content to work with new Media Track #jira UE-56488 Change 3965651 by Max.Preussner MediaCompositing: Ignoring seek-on-open if media not seekable Change 3966075 by Christina.TempelaarL Sequencer: Added Final Cut Pro 7 XML Export functionality #jira UESEQ-358 Change 3966087 by Matt.Hoffman Adding a single key to the Particle Toggle track now makes an infinite range section that is displayed in the UI. #jira UE-56295 Change 3966547 by Andrew.Rodham Sequencer: Fixed rounding errors when drawing the section background on boolean sections - Logic was using time in sectonds which caused rounding errors on evaluation and flickering red/green stripes when dragging keys around #jira UE-56324 Change 3966563 by Andrew.Rodham Curve Editor: Key editor interface improvements - SKeyEditInterface has a few problems - it does not update in real time when editing properties, and does not support multi-edit which makes it unsuitable for use with the curve editor - We now take a different approach for editing keys by gathering a set of proxy UObjects for each key that is currently selected. These objects are added as top level objects to the details panel which means they support multi edit as you'd expect from any other details panel in the editor. - Proxy objects are updated every tick for the curve editor if they implement the ICurveEditorKeyProxy interface, which allows them to refresh their current value. - Ideally, the same mechanisms would be used in the main sequence interface, and we would be generating the proxy classes at runtime based on the key value type, but that work remains a separate task from this initial offering. #jira UE-56165 Change 3966564 by Andrew.Rodham Curve Editor: Expand to frame when adding or moving keys in the curve editor Change 3967051 by andrew.porter MediaFrameworkTest: Set the CameraPlayer_Video texture to auto clear Change 3967141 by Andrew.Rodham Sequencer: Keep track of spawned objects that have been modified and only re-save such object's default spawnable state on destruction - Now that we're taking this approach, I've remove serveral redundant bits of functionality in the spawn register such as making some spawnables read-only, and the PreSave binding for Sequencer. - We now hook into all object pre-saves to make sure we handle the case where the sequences are saved through the content browser or elsewhere. #jira UE-47686 Change 3967170 by Andrew.Rodham Sequencer: Added the ability to possess anim instances as object bindings - This allows full and direct animation of properties on UAnimInstance, and animation blueprints - Object Bindings are made by first possessing a skeletal mesh component, then choosing the + Add button where its anim instance will be listed - Added a new function to UMovieSceneSequence to gather previously cached objects that should now be invalidated. Anim instances will be re-resolved if a new UAnimInstance is assigned to USkeletalMeshComponent::GetAnimInstance. - ObjectBindingIDs for anim instances are just represented by an entry in a set of GUIDs. We only ever resolve such bindings through USkeletalMeshComponent::GetAnimInstance. - Only currently supported on LevelSequences #jira UE-56132 Change 3967195 by Max.Preussner Core: Updated TRangeSet to use TCallTraits Change 3967345 by JohnHenry.Carawon Test Content Changes - first iteration of spacing out the examples in the shots. Change 3967572 by Max.Chen Sequencer: Fix setting PreviousPlayEvalPosition until after we've tested whether it's set. #jira UE-56518 Change 3967750 by Max.Chen Audio: Set duration based on number of input channels, rather than number of channels to serialize. This fixes an issue where audio split into 2 channels is set to a duration that's twice as long. #jira UE-56430 Change 3967836 by Max.Chen Sequencer: Allow for animating array elements within ustruct properties #jira UE-55887 Change 3968506 by Matt.Hoffman Fixed ambiguous conversions for seconds and frames being overriden by ambiguous conversion to Timecode (in frames). Change 3968748 by Max.Chen Sequencer: Make the event properties submenu widget larger. #jira UE-55557 Change 3968862 by Max.Chen Sequencer: Recursive expansion when shift is down #jira UE-52139 #pr 4194 Change 3968863 by Max.Chen Sequencer: Bind rename command to selected track so that F2 shortcut start renaming #jira UE-52139 #pr 4194 Change 3968872 by Max.Chen Sequencer: Rekey the selected key at the current time. #jira UESEQ-396 Change 3968938 by Max.Chen Cine Camera: Add option to toggle the behavior of locking the rail mount to the orientation of the spline. By default, the option is off, no change in behavior. #jira UE-55815 Change 3968958 by Andrew.Rodham Sequencer: Consider vertical position when hittesting keys #jira UE-56256 Change 3969643 by Max.Preussner Core: Rounding timespans created from double values towards nearest ticks Change 3969646 by Max.Preussner MediaUtils: Implemented timeout mechanism for block-on-fetch feature Change 3969776 by Mike.Zyracki Added Skip Anim Notifiers Toggle per what was in Matinee. Investigated the Enable Root Motion toggle as also discussed but it's implementation is directly contained by the animation asset and unlike animation notifies there seems to be no exposure to interactively disable it during a playback tick. Note if we are generating thumbnails we still automtically disable notifies in the editor to avoid annoying noise playback. Note that if Enable Root Motion/Root locked is specified in the animation asset it does correctly effect the Sequencer. #jira UESEQ-399 Change 3969835 by Matt.Hoffman Playback Range and Selection Range use unified logic for adding themselves as potential snap locations which properly handles inclusive/exclusive bounds. This resolves an issue where having an unset selection range caused a potential snap location to be added on frame 0 and 1 (internal resolution) which caused a misalignment when placing objects near frame 0. This also removes the one frame offset on setting Selection Range to bring behavior inline with other ranges. #jira UE-55420 Change 3969885 by Max.Preussner MediaAssets: Don't register media player CDO with media ticker Change 3971129 by Andrew.Rodham Sequencer: Fixed UMovieSceneSequencePlayer::GotToEndAndStop() not taking into account for start time This is a remnant from when the times were always specified in 0-duration space, rather than actual sequence times. Change 3972056 by JohnHenry.Carawon More updates to Test Content. I continued spacing out the examples in the sequence so that they have a consistent number of frames between each example and during the start/end of the example. Also removed the Marcie sublevel. Change 3972066 by Andrew.Porter MediaFrameworkTest: Setting Marcie folder to be never cooked in package settings Change 3972675 by Matt.Hoffman Splitting Subsequence Sections no longer sets an incorrect playback range on the subsequence when the subsequence has a different internal resolution than the owning sequence. #jira UE-55453 Change 3973376 by Max.Preussner ImgMedia: Zero is the only valid video track for image sequences Change 3973489 by Max.Preussner Launch: Build rules cleanup pass - don't use Media, MediaUtils on server apps - don't link against Media (include-only dependency) - don't include from MediaAssets (dynamic load only) Change 3973760 by Max.Preussner MediaUtils: Moved AppMediaTimeSource implementation into its own file; added logging Change 3973765 by Max.Preussner ImgMedia: Disallowing seek beyond media length Change 3973855 by Max.Preussner MediaFrameworkTest: Updated developer test content Change 3973858 by Max.Preussner MediaCompositing: Blocking on media player time instead of media sample time (the former may not be hit in the current frame) Change 3974988 by Max.Chen Sequencer: Fix trim left so that it also sets the start offset for audio and skeletal animation sections. #jira UE-57015 Change 3976101 by Matt.Hoffman Sequencer will now focus the scroll view on newly created items. #jira UE-56492 Change 3976203 by Max.Chen Property Editor: Add DetailsViewArgs for ColumnWidth. Defaults to 0.65f, no change in existing behavior. Change 3976205 by Max.Chen Sequencer: Set better column widths for sequencer. #jira UE-55557 Change 3976206 by Max.Chen Sequencer: Added menu category for import/export Change 3976265 by Matt.Hoffman Tracks within Object Binding Nodes will now sort using the old behavior so that components are added above other track types. #jira UE-56473 Change 3976901 by Max.Chen Sequencer: Add event names to event track section #jira UESEQ-353 Change 3977878 by Max.Preussner Media: Moved media framework ticking stats into Media module Change 3977982 by Max.Chen Sequencer: Add Edit->Reset section length to duration of source (ie. audio, skeletal animation, shot length) Added MovieSceneSection::GetDefaultDuration and MovieScene::HasDefaultDuration #jira UESEQ-392 Change 3977994 by Max.Preussner Media: Fetching and rendering media samples before viewports are rendered (to ensure frame sync for in-level media playback) #jira UE-53975 Change 3978188 by Matt.Hoffman Easing Curves are now clipped by the sequence's PlayRange when testing against an infinite section. This causes blended sequences to finish their blend when the section starts/ends instead of always using 25% of the total section length to determine default blend range. #jira UE-56362 Change 3978676 by Max.Preussner MediaCompositing: Fixed first frame of rendered out media track missing #jira UE-53975 Change 3978684 by Max.Preussner MediaCompositing: Enabled media track frame sync feature #jira UE-53975 Change 3980026 by Matt.Hoffman Keys can be selected on folded out sections (such as an audio track expanded to show volume and pitch) again. #jira UE-57169 Change 3981614 by Max.Preussner MediaUtils: Added missing subtitle sample queue flush Change 3982311 by Max.Preussner MediaCompositing: Added safeguard for zero length media sources Change 3982389 by andrew.porter QAGame: Adding media track test content into FrameAccuracySubscene Change 3983661 by Max.Chen Sequencer: Add level name to spawn a spawnable into. Add sublevel menu option to set the level #jira UESEQ-390 Change 3983712 by Andrew.Rodham Sequencer: Purge legacy blueprint spawnables from LevelSequence packages #tests Ran a preflight for cooking fortnite, ocean and Orion. Only orion shows up this edge case, and will require a re-save of the EndCines level #jira UE-39173 Change 3983787 by Max.Preussner MediaCompositing: Moved compile time switch for block-on-fetch into media player facade Change 3983812 by Andrew.Rodham Sequencer: Exposed default level sequence instance data to blueprints Change 3984373 by Max.Preussner Media: Added API for quering whether player plug-in supports block on fetch Block on fetch allows Sequencer and other systems to block the game thread until a desired video frame has been decoded. Change 3984670 by JohnHenry.Carawon Movie Rendering Test Content progress. Saving the state of the content. There is a bug where things got replaced with particle emitters and I think it was because I tried to copy paste an animation track into a separate skeletal mesh track. Change 3985097 by Max.Chen Sequencer: Rename Reset to AutoSize Change GetAutoSizeDuration to return TOptional<FFrameTime> #jira UESEQ-392 Change 3986043 by Max.Chen Sequencer: Fix crash when attach/path duration is less than 0. #jira UE-57310 Change 3986373 by Max.Chen Sequencer: Add support for deleting tracks and channels which equates to setting the channel mask. #jira UE-52951 Change 3986375 by Max.Chen Sequencer: Add Create Pose Asset to skeletal animation section. This allows animators to blend animations in sequencer and create new pose assets from them. #jira UESEQ-408 Change 3986796 by Andrew.Rodham Sequencer: Fixed stale object references remaining in ULevelSequence::BindingReferences when using convert to spawnable/possessable - We used to convert objects by creating a new binding, then re-assigning its GUID, which meant we didn't have to do any further object fixup, but the code to achieve this was confusing and led to a vulnerability where object references would not be cleaned up correctly due to the newly created possessable essentially being a temporary object that's immediately thrown away. - To address this, there is now a function for porting all the contents of one object binding to another, and handles the correct fixup required for parent/child object bindings for both spawnables and possessables. - Also added codepath to remove any stale object references from the level sequence reference map on PostLoad (this piggy-backs off the PurgeLegacyBlueprints object version which is close close enough to this change to be identical) #tests Verified that existing sequences with stale references get cleaned up on load. Verified that repreatedly converting from spawnable<->possessable cleans up references correctly. Change 3987807 by JohnHenry.Carawon Updates to the MovieRendering Test Content. - Fixed the spawnable actors that were overwritten - Shortend the Lighting example and combined the Intensity and Color tracks - Organized the Sequence and WorldOutliner to group the examples. Change 3988151 by Max.Chen Cine Camera: Enable keying the "Enable Look at Tracking" toggle. Change 3988880 by Max.Chen Sequencer: Support enter to add asset for all sequencer track editors that have asset pickers. #jira UE-57367 Change 3988953 by Max.Chen Sequencer: Make the track color picker focusable so that it will close when you click away or lose focus. #jira UE-57210 Change 3988962 by Max.Chen MovieSceneCapture: Fix EDL export so that it takes into account movie scene frame resolution and desired frame rate. #jira UE-57365 Change 3988964 by Max.Chen Movie Scene Capture: Clarified tooltip for bRelativeFrameNumbers. If you specify custom start/end frames for the recording, they will be relative to the playback range. #jira UE-57308 Change 3989442 by Max.Chen Fix CIS Change 3991548 by Matt.Hoffman Dragging the time slider no longer causes the time slider to ignore snap-to-interval with "Snap to Keys While Scrubbing" when no keys are in range. #jira UE-57417 Change 3991598 by Matt.Hoffman Snap to Key while scrubbing now mirrors the behavior of "jump to next key". When there are no tracks selected it snaps to all keys and when there are tracks selected it snaps to only keys from that track. This also resolves an issue where deleting an object did not remove it from the Sequencer's selection. Undoing a delete already doesn't seem to restore your selection, so removing it from your selection shouldn't change that behavior. #jira UE-57417 Change 3991603 by Max.Chen Sequencer: Disable EditAnywhere for some section properties #jira UE-53530 Change 3992240 by Max.Preussner MediaAssets: Implemented dynamic audio sample rate adjustment based on audio/media clock drift #jira FORT-70638 Change 3992911 by Andrew.Rodham Sequencer: Fixed saving spawnable state using the wrong spawned object - We now track the object binding ID so that we can apply the spawned object to the correct spawnable when the asset is saved #jira UE-57353 Change 3992914 by Max.Chen Movie Scene Capture: Fix compression quality not being set. The compression interface wasn't being found through query interface, so no compression was being set. Reworked finding it through the output pins. Tested running various compression values. #jira-UE-55488 Change 3992919 by Max.Chen Sequencer: Convert to possessable now uses object template instead of copying properties (ie. see LevelSequenceActorSpawner). This fixes MIDs getting lost when converting to spawnable and back to possessable. #jira UE-52400 Change 3993184 by Max.Chen Sequencer: Don't show +Transform/+Path/+Attach track if the actor has the "Mobility" property hidden. Set the Landscape, LandscapeProxy and InstancedFoliage "Mobility" property to be hidden since it is static is not supposed to be dynamically movable. #jira UE-56347 Change 3993238 by Max.Chen Sequencer: Test for hidden mobility in creating keys as well. Refactored to HasHiddenMobility() #jira UE-56347 Change 3993978 by Max.Chen Cine Camera: Enable keying the "Enable Look at Tracking" toggle. #jira UE-57489 Change 3994039 by Max.Chen Landscape: Add Mobility to hidecategories on landscape component #jira UE-56347 Change 3994626 by JohnHenry.Carawon Updated Movie Rendering Test Content. - Fixed the overridden spawnables to their proper object types. Change 3994653 by Christina.TempelaarL Sequencer: Added Final Cut Pro 7 XML Import functionality, improved Export functionality #jira UESEQ-358 Change 3995609 by Max.Chen UMG: Add support for 2d transform mask (translation, rotation, scale, shear) #jira UE-52951 Change 3995778 by JohnHenry.Carawon Movie Rendering Test Content Updates - Adjusted Lights example - Adjusted Camera example - Added Marcie sublevel back in Change 3995942 by JohnHenry.Carawon QAGame: Moving Movie Rendering test content from Developer folder to Sequencer folder Also adjusted level visibility, lights and camera example. Change 3995993 by Christina.TempelaarL Sequencer: FCPXML Export updates - only export sections if in playback range and media exists, warn if media does not exist. Other updates - removed unused methods and variables, fixed message context naming to be more accurate #jira UESEQ-358 Change 3996595 by andrew.porter QAGame: Updating Marcie content in TrackEvaluation level to use Image Plate Change 3996614 by andrew.porter QAGame: Adding color test sequence to the sublevel Change 3996643 by Max.Chen Sequencer: Fix fbx animation export - rotation and scale channels were flipped. #jira UE-57509 #jira UE-57512 #jira UE-57514 Change 3996652 by Max.Preussner Messaging: Fixed delayed messaging using incorrect current time after message router sleep Based on https://github.com/EpicGames/UnrealEngine/pull/4601 Change 3996801 by Max.Chen Sequencer: Fix folder active state for non key area sections. Look at track node sections as well as key areas. #jira UE-57550 Change 3997098 by Matt.Hoffman Cleaned up some remaining ToDo's in STimeRange. Change 3998339 by Max.Preussner Sockets: Added documentation for socket receive functions Change 3998359 by Max.Preussner MediaUtils: Started to implement media recorder helper class Currently only supports BGRA frames in CPU memory. Supporting other formats and buffer types will require conversions on render-thread. I recommend refactoring out the existing conversion code in FMediaTextureResource into a reusable helper class in the MediaUtils module. This should be a good starting point though. Change 3998417 by Matt.Hoffman Keys and Sections can now be moved at the same time inside of Sequencer. Keys can now snap to Sections (and vice versa) instead of just to other Keys. Sections can now be duplicated like keys can. #jira UE-56995 Change 3998427 by JohnHenry.Carawon QAGame: Updating test content for the Movie Rendering feature. - Added an auto activate particle to the beginning of the sequence (it's not part of the sequence at all) - Added an event receiver blueprint to the Events example - Added a particle emitter to both sublevels - Added a camera cut to the end that switches to a separate camera - The camera zoom in, focus and Look At sections are all separate (not overlapping in the sequence) - Added a second actor for the camera Look At - Added a Visibility section for the Actor Hidden In Game track that has possessable and spawnable cube and light Change 3998537 by Max.Chen Sequence Recorder: Restore immersive mode when stopping the sequence even if not in PIE. #jira UE-56407 Change 3999809 by Matt.Hoffman Removed the "Go To" box from Sequencer and instead placed the current time as an always visible control. The previous shortcut (Ctrl + G) now focuses the new widget directly. #jira UESEQ-376 Change 4000543 by Christina.TempelaarL Sequencer: Moving editor-only code from runtime module MovieSceneCapture to editor module MovieSceneTools. Moved EDL and FCP XML exporters as well as Automated Level Scene Capture. #jira UESEQ-358 Change 4000706 by Matt.Hoffman Entering multiple time strings without a number no longer crashes Sequencer. #jira UE-57672 Change 4001051 by andrew.porter MediaFrameworkTest: Fixing up some image sources pointing to the wrong location Change 4001191 by andrew.porter QAGame: Adding some quick EDL/XML test content to dev folder Change 4001243 by Max.Chen Sequencer: Fix import EDL out of range. #jira UE-57665 Change 4001856 by Matt.Hoffman Selecting keys and sections at the same time now also works with animation and audio sections. #jira UE-57716 Change 4002021 by Max.Chen Sequence Recorder: Fix sequence name incrementing. If external recording sets the sequence name, use it. Otherwise, use the recording name from the recording group or the recording settings. #jira UE-57712 Change 4002618 by Max.Chen Viewport: Update the look at location when updating to a locked actor. This fixes an issue so that popping the view out of a locked actor and manipulating the view will not jump to the previous look at location. #jira UE-57725 Change 4002979 by Matt.Hoffman Fixes several edge cases with the end time range that was causing confusion about what the last frame of the sequence was. Dragging the End Frame slider will no longer be off by one tick and jumping to the end via the UI controls now properly respects snapping and stays inside the play range instead of falling outside of it. Overall behavior does not change though and End Frame should be considered an exclusive frame so that frames 0-150 results in a 150 frame long animation (which is frames 0-149). #jira UE-56367 Change 4003185 by Matt.Hoffman Fixed a regression that prevented a section from being dragged upwards past row 0 which normally resulted in all other rows moving down. #jira UE-57717 Change 4003193 by JohnHenry.Carawon QAGame: Updates to test content - Shortened frames between the examples from 95 to 30 - Separated camera setting tracks - Lighting example now switches directly from constant red - green - blue Change 4003369 by Max.Chen Sequence Recorder: Refresh next sequence regardless of internally stored sequence name. #jira UE-55757 Change 4003586 by JohnHenry.Carawon QAGame: Test Content Updates - Level Visibility track now ends to that the levels are not visible when we move to the next example - Shortened camera section, removed Z tranform so that we just move left to right and shortened the overall length Change 4004414 by Max.Chen Movie Scene Capture: Fix regression where rendering with shot handles would only render the first shot. 3972166 addressed an issue where an extra frame would be rendered by finalizing right when the end frame was reached. This was hit on the first shot end frame, so instead, do this only for when the last shot is being rendered. #jira UE-57314 Change 4004765 by Christina.TempelaarL Sequencer: Fixed bugs in FCP XML import/export. - Export: fixed sequence default resolution. - Export: fixed XML files with no shots. - Export: all sections clipped to playback range. - Export: fixed incorrect section start/end times due to precision issues. - Import: fixed incorrectly adding cinematic tracks. - Import: fixed bugs creating new sections. #jira UE-57660 #jira UE-57662 #jira UE-57655 #jira UE-57761 Change 4005119 by Max.Chen Sequencer: Export/import at play rate Change 4005195 by Max.Chen UMG: Finish UMG evaluation on stop. Added object version so that existing UMG assets do not change. #tests - Newly created UMG animation with sections set to restore state now return to their original state. Existing UMG animations with sections set to restore state do not return to their original state. #jira UE-52285 Change 4005377 by Michael.Karambelas QAGame: Moving TM-SequenceRecorder and related content out of my developer folder and into /Content/Sequencer/SequencerRecorder/* Change 4005417 by Michael.Karambelas QAGame: Fixed a BP compiler in the Level Blueprint of TM-SequencerRecorder. Change 4005634 by Michael.Karambelas QAGame: Fix up missing content and broken level sequence in TM-SequenceRecorder after move Change 4006324 by Max.Chen Sequencer: Reset if the focused movie scene is null. This fixes a crash if the user is focused in on a shot and undo takes the user past the point of where the shot was created. #jira UE-57752 #jira UE-47661 Change 4007006 by Max.Chen Sequencer: Fix FindAvailableRowIndex so that it returns the max row index (and not +1) since it doesn't find any conflicting rows. #jira UE-57717 Change 4007907 by Max.Chen Sequencer: Fix crash if there's no animation Change 4007948 by andrew.porter QAGame: added test content to dev folder for Record World Space Change 4008636 by Max.Chen Sequencer: Fix import fbx not setting values properly and creating additional cameras unncessarily. #jira UE-57864 Change 4008759 by Max.Chen Sequencer: Follow up fix for import cameras #jira UE-57864 Change 4009994 by Matt.Hoffman Dragging the left or right handles of the Time Range slider in Sequencer will now zoom your view in on the current center of the screen. This prevents the view from being translating as you tried to zoom in which caused issues at high zoom levels. #jira UESEQ-407 Change 4010169 by Christina.TempelaarL Sequencer: FCP XML fixes. - FCP XML export - no longer clips to playback range - FCP XML and EDL export - fixed missing last frame of some sections after exporting to Premiere. - Automated level capture, EDL export - use RoundToFrame instead of FloorToFrame for computing section start/end frames after frame rate conversion. #jira UE-57802 - partial fix, movie scene capture still needs to render full section rather than clip against playback. Change 4010287 by Mike.Zyracki Add quaternion interpolation option to UMovieScene3DTransformSection. This mimics how Matinee used to work by bascially finding the keys between a time and interpolating the angles as quat's between them. As noted in the code the algorithm needs to handle the case when the x,y,z Rotation keys all aren't at the same time which was not handled by Matinee. Also like Matinee, when in quaternion interoplation mode, we need to not display the function cuves since the interpolated and key values are now all different. (Would like to show them but that's a bigger refactor for perhaps just a one off needed by quaternions). I added a virtual function UMovieSceneSection::ShowCurveForChannel for this since it needs to be dynamic, not on construction of IKeyArea's, and could be useful for other sections. I could though move the method to just UMovieScene3DTransformSection and do a cast instead. Looked into doing a unit test for this but after talking with Andrew P we will work on doign an automated test in EngineQA since that will provide more coverage. Will also add a video the jira. #jira UESEQ-403 Change 4010713 by Mike.Zyracki Added option to key a group of transform channels instead of just the changed channel, or all of them. This is useful for quaternion interpolations where you want rotation keys to be aligned but also useful for other workflows like animating FK Pose to Pose. Change 4010715 by Andrew.Porter MediaFrameworkTest: Setting LogMediaUtils logging from VeryVerbose to Verbose to cut back on the spam Change 4013048 by Max.Chen Sequencer: Fix play/jump status. Update the player status for all position methods (Scrub, Jump, Play). Jump means Stopped. Correctly use PlayTo or JumpTo based on position method. In PlayInternal, JumpTo with the Stopped state (rather than playing state). #jira UE-57844 Change 4013479 by andrew.porter QAGame: Added content in TM-SequenceRecorder to test recording a property on a Cine Camera Component; Press 3 to trigger manual focus distance to increment on a timer Change 4014323 by Max.Chen Sequencer: Fix SetPlaybackPosition so that it jumps or plays based on playback status. #jira UE-57844 Change 4015888 by Max.Chen Sequencer: Fix crash on paste. UMovieSceneSections were gathered from the track node's track. For sub track mode, we want to gather only those sections on that track node row. #jira UE-57951 Change 4015943 by Max.Chen Sequencer: Fix moving shots up when the mouse pos goes outside of the virtual track area. #jira UE-57717 Change 4016293 by Max.Chen Sequencer: Fix relative frame playback end frame calculation so that custom start/end frames remain in the space of the sequence and are not relative. #jira UE-57308 Change 4017075 by Andrew.Rodham Sequencer: Corrected initial evaluation range used when calling UMovieSceneSequencPlayer::Play() Change 4017270 by Christina.TempelaarL Sequencer: FCPXML importer and movie scene capture - Use CeilToFrame when converting section start/end frame times to frame numbers in FCPXML and movie scene capture. - Added support for clip metadata in FCPXML. - Got rid of redundant TokenizedError message class, no longer needed now that FCPXML is in editor directory. - Added log messages currently commented out due to exception, still testing. #UESEQ-358 Change 4018370 by Christina.TempelaarL Sequencer: fixed FCPXML log messages regarding sections with start/end not divisible by display rate. #UESEQ-358 Change 4018378 by Christina.TempelaarL Sequencer: fixed error in previous changelist. #UESEQ-358 Change 4019457 by Max.Chen Sequencer: Show event names only when the event track is selected #jira UE-57897 Change 4022806 by Max.Chen Sequencer: Fix crash on movie scene capture dialog shutdown if movie capture wasn't even started. #jira UE-58106 Change 4022894 by Max.Chen Sequence Recorder: Wrap OpenEditorForAssets after sequence recording within GIsEditor #jira UE-58084 Change 4024487 by Max.Chen Sequencer: Add tooltip for quat interpolation #jira UE-58113 Change 4024562 by Max.Chen Sequencer: Change path/attach track sequence binding id to currently focused sequence id so that bindings can be created in subsequences Change 4027414 by JohnHenry.Carawon QAGame: Checking in content that shows a bug with using particles systems and Delay Before Shot Warm Up. Change 4028990 by Max.Chen Sequencer: Fix evaluate sub sequences in isolation. This check was added with the compile on the fly logic. Not sure why it was necessary but it seems like the sub sequence data needs to be updated in order to evaluate sub sequences in isolation. #jira UE-58184 Change 4029004 by Max.Chen Sequencer: Ensure that old binding references are removed when re-assigning actors in sequencer #jira UE-57898 Change 4030997 by JohnHenry.Carawon QAGame: Fixing name of the master sequence Change 4031785 by Michael.Karambelas QAGame: Added an instance of ThirdPerson Run to TM-SequenceRecorder for Record to Possessable test. Change 4035548 by Andrew.Rodham Sequencer: Changed FMovieSceneEvaluationTemplate::TemplateSignature to be a serial number to address non-deterministic cooking issues - This commit is related to the repro steps found in 3914599 and 3934307, both of which have been verified with this new change. - Copy of 4031684 from //Fortnite/Main/... #jira FORT-84852 Change 4036312 by Max.Chen Sequencer: Fix zoom view range so that it uses the passed in InZoomDelta Change 4036318 by Max.Chen Sequencer: Auto size now returns a range and defaults to the channel proxy range so that keyed regions can also be autosized. Change 4036322 by Max.Chen Forgot missing change Change 4036360 by Max.Chen Sequencer: Fix play rate calculation when skeletal animation section play rate changes. Change 4037163 by Mike.Zyracki Weighted Tangent Implementation Tricky thing is that you need to solve a cubic in order to get the bezier weights for the time part of the curve. See https://www.gamedev.net/forums/topic/474094-help-function-curves-for-animation-interpolation/ Maya provides an implementation in it's dev kit but I didn't use it since it was horribly slow and uses an iterative solution to solve the cubic needed. Instead I use an old algorithm (Cardano's method), to solve the cubic which should be much faster. Though relative simple to code from principles I just went ahead and used a version from Graphics Gems 1. I put this cubic solver directly in MovieSceneFloatChannel.cpp, but will need to move it when we support Rich Curve, maybe to FMath:: (which would probalby require some other functions for solving quartics, etc.. for completeness.). Also note we resolve this on every evaluation but dont' need to if the interval the time is evaluating hasn't had any change in values or tangents. So again when we support FRichCurve we can create a Weighted Evaluating class that can hold the cache. Also with the tangent drags I got rid of the Cardinal position that was used to calculate non-weight tangents from the key point and just quickly getting a direction. With weighted tangents we need to use the delta instead (otherwise when moving multiple they would all get the same weight based upon distance to the cardinal point. ) For mixed tangents types what I'm defaulting to non weighted if the interval doesn't match. May need to do weighted instead, not sure. What's left is just FBX import, for tomorrow. #jira UESEQ-76 Change 4037435 by Mike.Zyracki Fix fo build warnings from weighted tangent submission. #trivial Change 4038091 by Michael.Karambelas QAGame: Updated a Sequence Recorder group in TM-SequenceRecorder that had an actor missing the animation. Change 4038374 by Andrew.Rodham Sequencer: Refined scrubber styling for level sequences and actor sequences - Scrubber now shows a block the width of a dsplay rate frame, plus a line for the actual evaluated time. UMG reverts back to the previous styling (no block) - Keys that are outside of the playback range are now drawn with a subdued effect - Tick labels are no longer drawn when directly underneath the scrubber Change 4038490 by Max.Chen Sequencer: Expose tangent weight values in details panel. Change 4038620 by Andrew.Rodham Sequencer: Advanced time panel polish #jira UESEQ-426 Change 4038677 by Max.Chen Movie Scene Capture: Redirector for MovieSceneTools.AutomatedLevelSequenceCapture #jira UE-58248 Change 4039739 by Max.Chen Sequencer: Media track should only be supported by Level Sequence Change 4040024 by JohnHenry.Carawon QAGame: Fix EventReciever and OverrideBinding example The level sequence was set to none so the fix was to set it back to TrackEvaluation_Master. Change 4040610 by Andrew.Rodham Curve Editor: Moved weighted tangent switchers to a single toggle command (CTRL+W) and added an icon #jira 58383 Change 4040882 by Mike.Zyracki Keep broken when turning on weighted #jira UE-58435 Change 4041089 by andrew.porter QAGame: Sequence for Long Tangents bug Change 4041498 by Mike.Zyracki Turn off weighted when going auto to prevent large tangents. Do it both in UI and when doing AutoSetTangents() to really make sure it doesn't happen. #jira UE-58452 Change 4041752 by andrew.porter MediaFrameworkTest: Adding some better logging for setting rates when not supported. Also ignoring commiting URL when there is no text Change 4041896 by Matt.Hoffman The transform dialog box now transforms selected keys and sections, instead of just keys. #jira UE-58265 [CL 4044405 by Max Chen in Main branch]
2018-05-02 10:10:00 -04:00
Metrics.Style = ESequencerScrubberStyle::Vanilla;
float ScrubPixel = RangeToScreen.InputToLocalX(ScrubTime.AsSeconds());
Metrics.HandleRangePx = TRange<float>(ScrubPixel - MinScrubSize*.5f, ScrubPixel + MinScrubSize*.5f);
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3946692) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3801826 by Max.Chen PR #4304: Level Sequence crash fix - Guarded against dereferencing null componen. (Contributed by DSDambuster) Change 3801828 by Max.Chen PR #4302: Movie Scene Visibility Template unitialised variable, causing random . (Contributed by DSDambuster) Change 3801837 by Max.Chen Sequencer: Delay spawning/construction for convert to possessable. This fixes a bug where property values would be lost when converting back and forth from possessable to spawnable. #jira UE-52400 Change 3801841 by Max.Chen Sequencer: Make spacer nodes not selectable. PR #4194: Improvements to Sequencer (Contributed by projectgheist) #jira UE-53117 #jira UE-52139 Change 3804183 by Max.Preussner MediaAssets: Added missing lock in media sound component Change 3805414 by Max.Preussner MediaAssets: Setting valid GUID when initializing media texture resource Change 3819578 by Max.Chen PR #4370: When enabling the "MovieCapture", do not turn off the Stereo-3D display. (Contributed by yehaike) #jira UE-53647 Change 3823414 by Max.Chen Curve Editor: Lock down the first and last keys in the redundant keys removal range so that they're unaffected. #jira UE-53591 Change 3826406 by Max.Chen Sequencer: Move OnStartedPlaying() to within first update in UpdateTimeCursorPosition(). This fixes an issue where setting the hud/player visibility was getting stomped on later. #jira UE-52772 Change 3827044 by Max.Preussner MediaAssets: Added sprite visualization to media sound component #jira UE-53594 Change 3827988 by Max.Preussner MediaPlayerAssets: Fixed Media Texture is not linked to Media Player when created together #jira UE-53532 Change 3828506 by Max.Preussner MediaPlayerEditor: Added attenuation visualizer for media sound components #jira UE-53594 Change 3832590 by andrew.porter EngineTest: Added a keep state check in Property Animation sequencer test Change 3833053 by andrew.porter EngineTest: Adding Hierarchical Bias test Change 3835683 by andrew.porter EngineTest: Adding UMG Animation screenshot test Change 3836076 by Max.Chen Sequencer: Fix audio volume and pitch multiplier deprecation. Change 3836230 by andrew.porter EngineTest: Adding Sequence Bone Position automation test Change 3836347 by Max.Chen Sequencer: Fixes to shot name parsing. When a shot doesn't contain a shot number, assume, [ShotName]_[TakeNumber]. When duplicating a shot, put the new shot in the same path of the original shot, so that the take numbers will increment properly. #jira UE-51868 Change 3836552 by Max.Chen Sequencer: Sub section now has a takes menu Change 3838094 by Max.Chen UMG: Fix template finish not getting called on stop. This fixes a bug where sections aren't restored when finished. #jira UE-52285 Change 3838708 by Max.Chen Sequencer: Add notification when the blend type is changed. #jira UE-54046 Change 3840295 by Max.Chen Sequencer: Fix copy/paste crash for lights #jira UE-54084 Change 3840957 by Mike.Zyracki Added Show Only Keyable and Show Only Animated to the filter list in the property editor. Added IsPropertyAnimated to IDetailKeyframe Interface which already had support for showing properties which are keyable (which is used for the key icon next to the properties.). Could have created another interface but then would have had to mimic the sequencer binding, releasing also, so this seemed best way. One issue still left is that custom built detail items currently don't store associated properties(usually) and so certain properties, in particulalry transforms, won't show up as keyable or animated. Note this also shows up with the keyable icon not showing up next to transform tracks, and other filters like Show Only Modified not working with transforms/customs. Not sure best way to tackle this. #jira UESEQ-328 Change 3841756 by Max.Chen Sequencer: Fix unbound possessable components when pasting spawnables. #jira UE-54104 Change 3843950 by andrew.porter EngineTest: Renaming LevelStreaming tests/content to LevelVisibility Change 3844082 by Mike.Zyracki Missing file for animated filter in property editor. When finding if a track is animated we need to find it but we can't easily induce the MovieTrack class for any particular property. So we don't set a class for it and just search by it's ID and name. #jira UESEQ-328 Change 3846902 by Max.Preussner ImgMedia: Fixed image media player never finished initialization if loading failed #jira UE-54247 Change 3849820 by Mike.Zyracki Reassigning deleted widgets didn't work since the menu extender mechanism needs a valid UObject in order to perform an operation on it. So to fix we replaced GetObjectBindingContextMenuExtender in WidgetBlueprint with new delegate mechanism (OnBuildCustomContextMenuForGuid) that supports FGuid in addition to UObjects which is needed to handle re-binding deleted widgets. Note that the default sequencer hacks this for replacing deleted actors in SequencerObjectBindingNode to check to see if a LevelSequence is active. We could move to this mechanism there also. #jira UE-53163 Change 3852211 by Max.Chen UMG: Indicate name of the property that is not bound. #jira UE-54350 Change 3854120 by Max.Chen Sequencer: Fix sibling folders being allowed to have the same folder name. #jira UE-54363 Change 3854627 by Max.Chen Sequencer: Step to next/previous key should work for all tracks if there aren't any selected. #jira UESEQ-391 Change 3855825 by andrew.porter EngineTest: Adding animation blending automation test Change 3855950 by andrew.porter EngineTest: Adding correct expected valuues to animation blending test Change 3856237 by Matt.Hoffman UESEQ-336 - Sequencer Track Reordering Adds the ability to re-order Master Tracks, Folders and Object Bindings within sequencer hierarchies (including UMG). Adds the ability to do a one-off sorting of the content under the old sorting behavior if the user wants to reset their layout to how it was under legacy behavior. Modifies SequencerTrackNodes, SequencerFolderNodes and SequencerObjectBindingNodes to handle CanDrop/OnDrop for above, below and ontop of. Fixes a Slate Issue that forcibly expanded a TreeviewRow if an item handled OnDrop. Slate will now only forcibly expand the row if the item says the drop happened ontop of the item, and not above or below it like it previously did. Change 3856503 by andrew.porter EngineTest: Adding automation test for using animation blueprint with blend multi node in sequencer Change 3857875 by Max.Chen Sequencer: Assign the sequence id after the template is compiled. #jira UE-54462 Change 3858344 by Max.Chen Sequencer: Prevent Goto and Transform boxes from overlapping by allowing them to be visible at the same time in an autosized horizontal box. Also, added close button to the goto box. PR #4425: Prevent Goto and Transform boxes from overlapping in Sequencer ... (Contributed by projectgheist) #jira UE-54210 Change 3860566 by andrew.porter MediaFrameworkTest: Set the option to index 0 for the audio and video track list by default Change 3860654 by andrew.porter EngineTest: Enabling Camera Cut + FOV test Change 3860981 by andrew.porter EngineTest: Updating skeletal mesh tests with a delay after set playback position Change 3861256 by Max.Chen Sequencer: Add all bindings if none selected. #jira-54440 Change 3862154 by Andrew.Rodham Added TimeManagement module Change 3862424 by andrew.porter EngineTest: Turned on the test Bone Positions with Blend Multi Node Change 3862573 by andrew.porter EngineTest: Adding test to compare bone positions in a sequence that is blending an animation that is using an AnimBP Change 3865117 by Max.Chen Sequencer: Stop auto scroll on mouse release of movement. #jira UE-31212 Change 3865303 by Max.Chen Sequencer: Add drag and drop transactions #jira UE-54662 Change 3865304 by Max.Chen Sequencer: Fix crash when an actor factory is not found. Change 3865361 by Max.Chen Sequencer: Don't change the camera/shot lock button when popping out of a sequence. #jira UE-54665 Change 3865412 by Max.Chen Sequencer: Determine whether a transform track is for a camera by using the spawned object or template #jira UE-54666 Change 3865685 by Max.Chen Sequencer: Clear autoscrub offset when stopping autoscroll #jira UE-31212 Change 3865886 by Max.Chen Sequence Recorder: Log an error if the number of frames changes while recording. This can happen if the skeleton changes while recording. #jira UE-48715 Change 3866925 by Andrew.Porter MediaFrameworkTest: Changing the current PNG test video image sequence to 1024 x 576 Change 3867705 by andrew.porter QAGame: Adding Audio Sort Sequence to dev folder Change 3867890 by andrew.porter QAGame: Adding a sequence for testing a sorting crash to my dev folder Change 3872628 by Max.Chen Movie Scene Capture: Split delay before warmup into split delay before shot warmup so that there's separate controls for when the movie scene capture warmups up vs. shot boundaries. Change 3873131 by Matt.Hoffman UE-54732 - Crash reordering a folder with a track. This was caused by folders being the only type of track to check if someone was putting a parent track into a child track. Object Binding tracks and Tracks now check as well so that you can't use the above/below drop targets to add parents as children. This also fixed a typo in the localization keys. #jira UE-54732 Change 3873301 by Mike.Zyracki Added ability to support continous euler angle changes when changing rotations, in particularly with the rotation gizmo's. To do this we effectively added a form an of 'euler filter'(https://en.wikipedia.org/wiki/Euler_filter) to find the closest euler angle to the current euler angle. Three functions were added to FRotator to make this possible, one to get the euler angle that's has the same rotation as it, one to get the difference between two euler angles via Manhattan distance and a third using the previous two to choose a Rotator value that's closest to it. We then use these functions before calling UComponent::SetRelativeRotation to make sure we use the correct Euler after the Quat conversion. We also no longer limit(bound) the euler angles to -180,180, which is obviously necessary to avoid flips. I also changed how we caluclate yaw and roll when pitch is -90 or 90 to make it the standard approach of zeroing out roll and just setting yaw. Main reasons are the previous implementation had precision issues so things like 180, 90, -180 would show up due to numbers being nearly zero but negative,(this would break any smooth interpolations), and this facilitates having a 'gimbal' rotation mode (like Maya, Blender etc..) if we ever want that also. If needed we could keep the previous implementation but would need to add some FMath::IsNearlyZero checks, with less performance. Note we only do this special filtering when applying delta's to actors or components in the editors, which then call UComponent::SetRelativeRotationExact, which is a new function to foces the RelativeRotation to be equal to the new rotation. This allows us to store un-nomalized Rotators at the cost that the RotationCache may be broken. We didn't change any of the other UComponent functions that set rotations (via Quats or Transforms) so they will still be bounded and unwound. In SetInternalWorldLocationAndRotation we only set the rotation if the rotation has changed, which fixes the rotation getting changed and re-normalized if just translate happens. In TransformTrackEditor, we correclty use the bUndwing flag and in MovieScene3DTransformSection there was an un-needed winding check there, it will be unwound earlier if needed, which happens if Sequence Recording is happening. Max we should talk about what to do about this . Note the euler angle drag via the widget is still bound to 0-360. I think we should just unbound that now since the rotations value are now unbound. This review now includes fixes suggested by Zak. #jira UE-UE-22228 Change 3873483 by Matt.Hoffman Sequencer Tracks can now be inserted above the spacer at the bottom of the tree. #jira UE-54706 Change 3873899 by Max.Chen Sequencer: Add section selection throbbing Change 3873908 by Max.Chen Movie Scene Capture: Added logging per frame Change 3873924 by Matt.Hoffman Adds the ability to store Sequence Recorder setups into profiles that stay with the map and can be re-loaded later. Profiles store the Actor Recordings so the settings for each actor should carry with them. #jira UESEQ-339 Change 3874726 by Matt.Hoffman Disable drag-and-drop targets on spacers that come between rows in Sequencer. This prevents extra drag/drop targets showing up between each row. #jira UE-54706 Change 3874862 by Matt.Hoffman Audio Track no longer gets reordered when adding sub-audio tracks, as sub-tracks are no longer counted towards the sorting order index when normalizing indexes. #jira UE-54727 Change 3875905 by Matt.Hoffman Disable Fade Track UI if a fade track already exists in the sequence. #jira UESEQ-393 Change 3876163 by Max.Chen Sequencer: Swap the camera object to the camera component's owner if it's not the same. #jira UE-54874 Change 3876971 by Andrew.Porter EngineTest: Moved Media Player Seek test to new folder. Also enabled the test with new ground truth image. Change 3877040 by Max.Chen Cine Camera: Split camera properties to two groups, "Camera Options" and "Camera Settings". The cine camera now hides properties in the "Camera Settings" group so that properties like bConstrainAspectRatio (in the "Camera Options" group) can be visible. #jira UE-54192 Change 3877763 by Max.Chen Curve Editor: Fix curve changed on end drag so that only curves that had keys/tangents that were changed receive notification, otherwise all loaded curves were getting notified that they were changed. #jira UE-54951 Change 3878234 by Matt.Hoffman Disable "Drop Below" targets for Sequencer Tree nodes to prevent a confusing UX issue where dropping underneath a Object Binding Node puts it after the object binding node but the UI looks like it's inserting it inside the Object Binding node. #jira UE-54743 Change 3879359 by Mike.Zyracki If a track is inactive we dim it a bit which seems to be the UE4 way to show inactive or disabled state. We changed the active logic so that all subtracks need to be inactive for the track to also be inactive(instead of all active for active). This conforms to how the active state actually works, e.g if you have two sections and only one is active the track is still active above it. #jira UESEQ-388 Change 3879462 by Max.Chen Sequencer: Allow dragging onto a particular row which would move out any overlapping sections to make space for the newly created section. Newly created sections are now selected and throbbed to draw attention to themselves. #jira UE-54664 Change 3879464 by Max.Chen Sequencer: Fixed overlapping ranges being inserted into the evaluation field during compilation - The issue was that track segments that had been combined with adjacent segments (due to them being identical) would potentially cause a subsequently compiled frame to overlap with a range that had already been inserted into the evaluation field. - The insertion code previously asserted that only minor overlaps were catered for (due to fp rounding errors) and assumed that a supplied range could not entirely contain any other range in the field. - The solution is to supply the insertion time along with the range to know exactly where the data should live in the field, and crop the range to the maximum allowable space between adjacent ranges. #jira UE-54922 Change 3879590 by Matt.Hoffman Items that are now added to the Sequencer via the "+Track" menu will be selected after being added. Items can now be added inside of folders instead of just to the root level. #jira UE-27397 Change 3879612 by Mike.Zyracki Display Nodes with no children are always active. #jira UESEQ-388 Change 3879730 by Matt.Hoffman Sequence Recorder's actor recording groups now remove items from the group when removed via the UI. #jira UESEQ-339 Change 3880256 by Mike.Zyracki Fix issue with inactive display with folders and other track nodes. #jira UESEQ-388 Change 3883491 by Max.Chen Fix issue where tick is skipped due to last ticked pose isn't cleared after AnimInstance changes. Copy from Release-4.19 #jira UE-51323 Change 3883603 by Max.Chen Movie Scene Capture: Add option toggle disable screen percentage. By default this is on (no change in current behavior). #jira UE-51898 Change 3885074 by Max.Preussner MediaCompositing: Resetting media texture & freeing resource on section end; removed dead code Change 3887220 by Max.Preussner MediaCompositing: Defaulted media section duration to 1 sec (since we do not know the actual duration in most cases) Change 3887478 by Matt.Hoffman Sequences now show [Inactive] in their title bars when they're disabled. This helps communicate why a sequence isn't being evaluated. #jira UE-51469 Change 3888985 by Max.Chen Movie Scene Capture: Clamp HDR Compression Quality between 0 and 1. #jira UE-55136 Change 3893519 by Max.Chen Sequence Recorder: Clarified tooltip for bRecordNearbySpawnedActors - spawned actors will still be recorded if they match the ActorFilter. #jira UE-55238 Change 3893546 by Max.Chen Sequence Recorder: If a selected actor already has a recording, add a blank recording. #jira UE-55239 Change 3894044 by Max.Preussner MediaCompositing: Added support for seeking into a media section Change 3894310 by andrew.porter MediaFrameworkTest: Adding Img media sources for 1080 and 2160 ravent test content Change 3894426 by Max.Preussner MediaAssets: Letting media textures with AutoClear retain their clear color when player is reset Change 3895717 by Max.Chen Sequencer: Null checks to prevent crash when saving the default state of a spawnable #jira UE-55304 Change 3897388 by Max.Chen Sequencer: Don't update current time to be within the view range when stepping into a sequence. #jira UE-55322 Change 3897452 by Max.Chen Audio: Fix crash when trying to record audio without any active capture devices. Log warning if the number of input channels is not 1 or 2. #jira UE-55223 Change 3897619 by Max.Preussner MediaCompositing: Removed commented out code Change 3898072 by Max.Chen Sequencer: Override the animation asset in the player state if it doesn't match the animation asset that's being evaluated. #jira UE-55328 Change 3898272 by Max.Preussner MediaPlayerEditor: Made slate brush constants static Change 3898704 by Max.Chen Sequencer: Skip if the binding id's sequence can't be found. #jira UE-55337 Change 3899855 by Max.Preussner MediaCompositingEditor: Added cache state visualization to media track Change 3900300 by Max.Preussner MediaCompositingEditor: Added loop indicators to media sections Change 3900694 by Max.Preussner ImfMedia: Looping cache only when player is looping Change 3900892 by Max.Preussner Stats: Added stats category for media framework Change 3900954 by Max.Preussner MediaCompositing: Don't evaluate at the end of media section Change 3901348 by Max.Preussner Core: Replaced TLruCache autos for better readability Change 3901655 by Max.Preussner ImgMedia: Added more perf stats to EXR reader Change 3901972 by Max.Preussner MediaAssets: Added getter for media player in media sound components Change 3902233 by Max.Preussner MediaAssets: Enabling media textures to receive samples right after player is assigned Change 3902238 by Max.Preussner MediaCompositing: Working around init/shutdown idiosyncracies in sequencer Change 3904045 by Max.Chen Sequencer: Fix copy/paste crash. Only process UMovieSceneCopyableBinding and objects that can be spawned by the movie scene spawn register. #jira UE-55314 Change 3905605 by Max.Chen Sequencer: Restrict spawnables from being created if they have a ClassWithin that UMovieScene is not a child of. #jira UE-55429 Change 3906550 by Max.Chen Sequencer: Add media track icon #jira UE-55480 Change 3907101 by Max.Chen Sequence Recorder: Fix bugs related to not recording a level sequence. There were certain assumptions that creating a level sequence meant that sequence recording was in progress. This is not always the case - the recorders can record animation assets and not create a level sequence. Changed the notion of IsRecording() to having at least one actor recording that is recording. Countdown timer, recording displays, etc should function if IsRecording() and not based on whether a level sequence is created. #jira UE-55485 Change 3907247 by Max.Chen Sequence Recorder: Fix crash not removing PrepareToCleanseEditorObject delegate. Repros when opening sequence recorder, closing it, and then opening or creating a level. Change 3910343 by Max.Preussner Core: Added async helper for executing functions on a given thread pool Change 3910346 by Max.Preussner ImgMedia: Added separate thread pools for loading/decoding and deleting image frames Change 3910829 by Max.Preussner Profiler: Increased visible range of profiler graph Change 3910841 by Max.Preussner MediaCompositing: Displaying asset name instead of full media source path in media section Change 3910870 by Max.Preussner ImgMedia: Using deallocation thread pool only in debug builds Change 3919642 by Max.Chen Sequence Recorder: Clarify active tooltip #jira UE-55661 Change 3919660 by Max.Chen Sequencer: Sequence template source signatures are now also compared to catch the case where a sub-sequence asset has been saved but not modified - The following sequence of events exposes this issue: - Create a master sequence with a single shot that spawns a cube - Add this sequence to a level and set it to auto-play - Save everything and restart - Resave just the inner shot asset without opening it - PIE - The inner shot never spawns its cube because its template was wiped on save, but its signature never changed. Since the master sequence previously didn't check the template source signature, it ends up trying to evaluate an empty template. #jira UE-55626 #jira UE-55490 Change 3921825 by Max.Chen Sequencer: "Run Construction Script in Sequencer" is off by default for blueprints but on for Sequencer. This allows the content author to switch it on for specific blueprints and sequencer will be default, run those with construction scripts enabled. Change 3922232 by Max.Chen Sequence Recorder: Reset countdelay on stop. #jira UE-55755 Change 3922306 by Max.Chen Sequence Recorder: Don't automatically mark transforms to be recorded by sequence recorder. Instead, log a warning if the user toggled it off to warn that the resulting animation might not match gameplay. #jira UE-55758 Change 3922912 by Max.Chen Sequence Recorder: Fix refresh next sequence name #jira UE-55757 Change 3927654 by Max.Chen Movie Scene Capture: Added format mapping for the name of the current camera #jira UE-55769 PR #4537 Change 3927658 by Max.Chen Sequencer: Added fbx property mapping for "FocusDistance" to "FocusSettings.ManualFocusDistance" #jira UE-55782 Change 3932022 by Max.Chen Sequencer: Add import animation track section to next available row index. #jira UE-55892 Change 3933919 by Max.Chen Sequencer: Jump to playback start frame and not 0 to start playback for recording. #jira UE-55933 Change 3934307 by Andrew.Rodham Sequencer: Add template signature that is re-generated every time the base template is regenerated, which invalidates evaluation fields This fixes an issue where the same sequence is instantiated multiple times in a sequence. If the source sequence was saved, its template would be wiped, which would invalidate the template ID When an instance tries to evaluate the master template, it would only invalidate a range in the evaluation field that was the hull of any invalid sub sequences overlapping the current time, potentially leaving invalid data in the evaluation field at positions later (or earlier) on in the sequence When the sub template was re-generated, it receives the same SequenceSignature as it had before (because the sequence hasn't actually changed), which causes the stale evaluation field data to fail the IsDirty check (because the sequence is the same as it thought, but the *template* has changed) This has been addressed be adding a signature to templates themselves, and checking both the template signature and sequence signature as a part of the IsDirty check. This ensures that we regenerate if either the template, or the sequence have changed. #jira UE-55934 Change 3936327 by Andrew.Rodham Sequencer: Removed increment when trimming right UMovieSceneSection::TrimSection already explicity assigns an exclusive bound to the time passed in. The new behavior means we can trim a section to the right, and insert another section without changing the time to create adjacent sections. #jira UE-42652 Change 3936328 by Andrew.Rodham Fixed KeyFrameManipulator assignment operators and copy/move constructors - These types are potentially self-referential so cannot use default constructors/assignment Change 3936330 by Andrew.Rodham Converted UMGSequencePlayer to use frames internally #jira UE-54878 Change 3936726 by Max.Chen Sequencer: Set track node as the parent of the key area node. The key area switcher needs the object binding id from the parent object binding node. Without this, the binding to the external value fails. #jira UE-55931 Change 3936775 by Max.Chen Sequencer: Should stop or loop should compare DurationFrames with Current Time from StartTime. The bug is that if you set 30 warmup frames in movie rendering for a range of 0-100, the FrameRange will be starting at -30 and have a duration of 130. Without this fix, the playback will continue until frame 130, rather than 100. #jira UE-55933 Change 3936935 by Matt.Hoffman Easing Curves are now represented in Play Rate resolution instead of internal resolution. #jira UE-55937 Change 3937069 by Matt.Hoffman Users can toggle if the is infinite on each side, limited by which tracks support infinite ranges. #jira UE-55891 Change 3937516 by Max.Preussner ImgMedia: Added support for single-threaded platforms #jira UE-55986 Change 3937826 by Max.Preussner MediaAssets: Disabling media sound components on HTML5 if AudioMixer is not enabled Change 3937997 by Max.Chen Curve Editor: Add Zoom to Fit Curves so that selected curves from Sequencer can be focused on. Tested that undo doesn't re-zoom. #jira UE-55935 Change 3938000 by Max.Chen Sequencer: Stop all sounds before generating audio waveforms. #jira UE-55951 Change 3938376 by Max.Preussner XGEController: Disabled XGE Controller in single-threaded apps to prevent crash Change 3938444 by Max.Preussner Core: Added async support for single-threaded applications Change 3938445 by Max.Preussner Networking: Added support for single-threaded applications in UDP socket sender/receiver Change 3938447 by Max.Preussner Messaging: Added support for single-threaded applications Change 3939432 by Max.Chen Sequence Recorder: Append command list to global level editor actions so that shortcuts are accessible in level editor. #jira UE-55798 Change 3940229 by Andrew.Rodham Added prospective display rate upgrade to UMovieScene::PostLoad - There was previously some very odd behaviour that would assign the fixed frame interval only when a sub sequence was focused in SSequencer. This meant that many sequences could have a frame interval of 0 set in the data. - Under the old method of snap interval display this would have fallen back to getting the display interval from the sequencer settings, but we no longer look at these. - The USequencerSettings properties have been removed and in their place, a prospective data upgrade for sequences that have a fixed frame interval old 0fps that sets the play rate to the previous defaults based off the old USequencerSettings defaults. - This could end up 'changing' the display rate for sequences where the user has changed the snap interval in the settings for a particular sequence editor, but there's not much we can do about that given we don't have access to the USequencerSettings classes in UMovieScene #jira UE-55919 Change 3940277 by Andrew.Rodham Sequencer: Added ability to default frame resolutions and play rates for newly created actor sequences Change 3940378 by Andrew.Rodham Sequencer: Post move import dialog now defaults to the playback framerate of the sequence, and floors to frame numbers Change 3940559 by Andrew.Rodham Reinstated primed or recording sequence color Change 3940642 by Max.Preussner ImagePlate: Removed image plate media playback functionality Change 3940843 by Max.Preussner Core: Made TCircularQueue actually thread-safe; improved code comments Change 3940860 by Max.Chen Sequencer: Changed StructNameToKey to StructPathToKey Previously, keying a PropertyPath of [RenderTransform][Shear][X] would get trimmed to X, which doesn't map to a channel name as considered by Sequencer2dTransformTrackEditor. Instead, trim the resulting property path to [Shear][X] so that track editors can determine the desired struct path and channels to key. #jira UE-52966 Change 3941292 by Mike.Zyracki Fix for trajectories out of range not showing up. 1) If we had no key data we would pop the time, so wouldn't get the section ranges. 2) Calculating of upper bound was wrong, checking against -1 and not key == num of keys when doing algo::lower_bound. 3) No need to do the Bck-- for the bakward iterators since we fixed #2. We start now from the upper bound correctly. 4) If we had no keys (at section start,end) we would incorrectly say we were any key type, so since we draw constant keys as dashed we would do so incorrectly around section end points. #jira UE-55929 Change 3941424 by Max.Chen Curve Editor: Change Zoom to Fit to use TArrayView Change 3941498 by Max.Preussner Core: Added FMath::DivideAndRoundNearest function Change 3942097 by Matt.Hoffman Drop Frame Timecode Support for NTSC rates. Change 3942104 by Matt.Hoffman Sequence Recorder Group is no longer visible inside the World Outliner after using one. #jira 55266 Change 3942107 by Max.Chen Sequencer: Resurrect logic to find or extend an existing section when adding keys. Change 3942330 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942339 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942507 by Andrew.Rodham Sequencer: We no longer pad the time overlap threshold with a small number that is not scaled by the current zoom level - The presence of this pad was causing keys that were far apart to be grouped when zoomed in a long way Change 3942509 by Andrew.Rodham Sequencer: Only pad total view range, rather than section range as well when retrieving keys to render - This stops us from rendering keys that are within the view range, but outside the section range Change 3942512 by Andrew.Rodham Added transactions to some sequencer details customizations Change 3942513 by Andrew.Rodham Sequencer: Reinstated validation checks to UMovieSceneSection::SetStartFrame and SetEndFrame, changed erroneous uses to use SetRange Change 3942560 by Andrew.Rodham Pass by rvalue reference to appease error C2719 on Win32 ('InChannels': formal parameter with requested alignment of 8 won't be aligned) Change 3942697 by Andrew.Rodham Newly Created Level Sequences and Actor Sequences now default to 24000 fps frame resolution (+/- ~24hrs range, supporting all integer rates + 23.976) Change 3942700 by Andrew.Rodham Sequencer: Added legacy out-of-bounds errors for times that are not supported by the current legacy upgrade frame resolution Change 3942989 by Max.Preussner Core: Fixed circular queue count calculation Change 3943538 by Max.Preussner MediaAssets: Reverted workaround for procedural audio log spam in HTML5 (Actor component initialization cannot be skipped if the component is used in a level) Change 3944071 by Max.Preussner QAGame: Fixed Media Texture keeps last frame of Media when PIE ends #jira UE-53360 Change 3944292 by Max.Chen Sequencer: Added extra flags to ensure that asset initialization does not occur on template actor sequences #jira UE-56113 Change 3944364 by Max.Chen Sequencer: Prevent circular shot/master tracks. Tested adding master -> child -> master as drag and drop cinematic shot tracks and sub tracks as well as through the + button. #jira UE-56091 Change 3944422 by Max.Chen Sequence Recorder: Disable transform recording if off. #jira UE-56061 Change 3944745 by Andrew.Rodham Sequencer: Key rendering fixes - Fixed assert that occured when keys happened to reside on some times due to KeyTime + TimeOverlapThreshold - KeyTime being slightly larger TimeOverlapThreshold - Fixed keys sometimes being clipped when zoomed right in due to lack of half-frame offset - Added missing documentation to MovieSceneTimeHelpers.h #jira UE-56107 Change 3945231 by Andrew.Rodham Sequencer: Reconstruct channel proxy on Serialize to catch all cases of undo/redo, PostLoad and duplication #jira UE-56089 Change 3945301 by Andrew.Rodham Sequencer: Added safety checks during initial sequence recording to guard against applying negative or 0-sized sequence ranges #jira UE-56125 Change 3946627 by Max.Preussner Fortnite: Fixed game crashes closing editor while in PIE - Pure virtual function being called #jira UE-56144 [CL 3946896 by Max Chen in Main branch]
2018-03-14 22:09:33 -04:00
}
else
{
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 4044339) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3947021 by Max.Chen Sequencer: Don't preserve root component when copying object properties. A spawnable empty actor, has a root component that is generated by the empty actor factory. If the object template's root component is preserved when copying from the spawnable empty actor, the root component will not be copied over. Therefore, we need to NOT preserve the root component when copying object properties. #jira UE-55825 Change 3947366 by Max.Preussner WmfMedia: Better log output Change 3947367 by Max.Preussner MfMedia: Better detection of compressed format properties on Windows Change 3949102 by Max.Chen Sequencer: Remove SequenceActorTag when converting to possessable. #jira UE-56206 Change 3949207 by andrew.porter EngineTest: Set the screenshot nodes resolution to 1280x720 Change 3949404 by Max.Chen Sequencer: More informative tooltip for "Rerun Construction Scripts" option. It now says "Rerun construction scripts every frame on actors that have 'Rerun Construction Script in Sequencer' enabled in their class settings". Change 3950067 by Matt.Hoffman Renamed UAutomatedLevelSequenceCapture's StartFrame and EndFrame to CustomStartFrame/CustomEndFrame to reflect that it is user-overriden. This will also resolve upgrade issues due to the variable datatype changing. #jira UE-56189 Change 3950193 by JohnHenry.Carawon Updating my latest MovieRendering test content. Change 3950757 by JohnHenry.Carawon More updates to MovieRendering test content Change 3952059 by Max.Chen Resave LevelVisibility_SubLevels to fix data loss conversion warning of OpacityMaskConstant #jira UE-56086 Change 3952283 by Max.Chen Sequencer: Disable dropping level sequence assets as spawnables. #jira UE-56120 Change 3952422 by Max.Chen Sequence Recorder: Add button to record from the current player. #jira UE-55942 Change 3952987 by JohnHenry.Carawon MovieRendering Test Content - Fixing camera bindings and changing the override binding actor Change 3953823 by Mike.Zyracki Fix for Bad FBX Import Tangents not scaled by frame rate. After looking at this again it seems that a set of MovieScene:: overiddes for the channel traits wasn't set correctly, so use the ADL idiom to use MovieScene, which can then call Optimize in the correct namespace. With this we can now correctly use the passed in tolerance. There was also a redundant set of Optimize calls so that it could happen twice so removed them, and needed an extra check in the float channel Optimize. Also since we need to set auto tangents no matter if we optimize we don't set that parameter(though leave it since it's used by context menu key reduction). Finally fixed speed issue with trajectories caused by calculating way too many substeps. Reverted back to a time based step size for consistency. #jira UE-56193 Change 3954317 by Matt.Hoffman Adding a key to the last frame of a section no longer causes a crash. Keys can already be moved to be on the last frame of a section so now you can just add a key there directly. #jira UE-56255 Change 3954326 by Matt.Hoffman Dilating a section that is only infinite on one side no longer causes a crash. #jira UE-56260 Change 3954486 by Max.Chen PR #4580: Exposes IsReversed() from UMovieSceneSequencePlayer (Contributed by alanedwardes) Change 3955238 by Max.Preussner Messaging: Enabled delayed message routing https://github.com/EpicGames/UnrealEngine/pull/4574 #jira UE-56247 Change 3955901 by Max.Preussner MediaFrameworkTest: Added developer test for overriding desired media player plug-in at runtime. Change 3955922 by Andrew.Porter QAGame: Updating movie rendering content in dev folder Change 3956004 by andrew.porter QAGame: Adding MPC track to movie rendering test content Change 3956510 by Max.Chen Sequencer: Fix fbx camera import of static properties so that they are imported before default tracks are created. Otherwise, the default tracks inherit the default properties of the camera, rather than the values from the fbx. #jira UE-56311 Change 3957613 by Max.Preussner MediaUtils: Added code documentation to media player facade Change 3958005 by Max.Preussner MediaUtils: Added method to get number of sinks Change 3958934 by Max.Chen Sequencer: Fix keys getting added and sequence getting erroneously re-evaluated when auto key is off. Only apply defaults if there are no keys. Only modify the movie scene section before creating keys or setting defaults. #jira UE-55903 Change 3959687 by Andrew.Rodham Sequencer: Fixed visibility track external values being inverted #jira UE-56324 Change 3960507 by Max.Preussner Core: Fixed incorrect rounding in FMath::DivideAndRoundNearest Change 3962047 by JohnHenry.Carawon MovieRendering Test Content Changes: - Add Lightmass Importance Volumes to sublevel to fix warnings - Rebuilt Lighting - Add a third sequence for Gamut testing - Resaved the sound master.uasset to fix warning Change 3962211 by Mike.Zyracki Add Frame Numbers to selected animation sections. Added MapTimeToAnimation to MovieSceneSkeletalAnimation so that we could get it from the Skeleton Animation track Editor. Since the thickness of the frame line can change based upon frame rate and zoom we need to calculate it similarly to how the time slider controller does it. Those calculations were private so we had to expose FScrubRangeToScreen and GetScubberPixelRange from the TimeSliderController. Also needed to know if the section itself was selected so added a bIsSelected flag to the section Painter. Also fixed a bug where you couldn't add a section if other sections existed at different times in MovieScenePropertyTrack and could crash due to the check(). #jira UESEQ-395 Change 3962497 by Max.Preussner Core: Added new string formatting argument to FTimespan Change 3963662 by Max.Chen CineCamera: Flip VistaVision width and height. Change 3963731 by Max.Preussner MediaCompositing: Implemented sequence recording support for media track Change 3964195 by Andrew.Rodham Sequencer: Set inverted property correctly for newly created visibility track sections - Also clamp evaluation for key editors to the bounds of the section so we're not displaying values outside of the section bounds when the cursor is not on the bounds #jira UE-56324 #coderevew Max.Chen Change 3964196 by Andrew.Rodham Sequencer: Fixed crash when attempting to render sections that resulted in a negative intersection with the view range Change 3964275 by Andrew.Rodham Sequencer: Fixed MovieScene::ClampToDiscreteRange for infinite range bounds Change 3964364 by Andrew.Rodham Curve Editor: Reduce minimum vertical view range when zooming to fit Change 3965091 by Max.Chen Sequencer Recorder: Refresh next sequence if empty when starting a recording, otherwise, use existing name. #jira UE-56469 Change 3965148 by Max.Chen Sequence Recorder: Move Record to Possessable to "Actor Recording" group Change 3965162 by Max.Chen Sequence Recorder: Always break out of immersive mode when done recording, even when stopping recording during countdown. #jira UE-56407 Change 3965214 by Max.Preussner QAGame: Enabled ImagePlate plug-in Change 3965574 by Max.Preussner SimpleComposure: Reorganized & upgraded content to work with new Media Track #jira UE-56488 Change 3965651 by Max.Preussner MediaCompositing: Ignoring seek-on-open if media not seekable Change 3966075 by Christina.TempelaarL Sequencer: Added Final Cut Pro 7 XML Export functionality #jira UESEQ-358 Change 3966087 by Matt.Hoffman Adding a single key to the Particle Toggle track now makes an infinite range section that is displayed in the UI. #jira UE-56295 Change 3966547 by Andrew.Rodham Sequencer: Fixed rounding errors when drawing the section background on boolean sections - Logic was using time in sectonds which caused rounding errors on evaluation and flickering red/green stripes when dragging keys around #jira UE-56324 Change 3966563 by Andrew.Rodham Curve Editor: Key editor interface improvements - SKeyEditInterface has a few problems - it does not update in real time when editing properties, and does not support multi-edit which makes it unsuitable for use with the curve editor - We now take a different approach for editing keys by gathering a set of proxy UObjects for each key that is currently selected. These objects are added as top level objects to the details panel which means they support multi edit as you'd expect from any other details panel in the editor. - Proxy objects are updated every tick for the curve editor if they implement the ICurveEditorKeyProxy interface, which allows them to refresh their current value. - Ideally, the same mechanisms would be used in the main sequence interface, and we would be generating the proxy classes at runtime based on the key value type, but that work remains a separate task from this initial offering. #jira UE-56165 Change 3966564 by Andrew.Rodham Curve Editor: Expand to frame when adding or moving keys in the curve editor Change 3967051 by andrew.porter MediaFrameworkTest: Set the CameraPlayer_Video texture to auto clear Change 3967141 by Andrew.Rodham Sequencer: Keep track of spawned objects that have been modified and only re-save such object's default spawnable state on destruction - Now that we're taking this approach, I've remove serveral redundant bits of functionality in the spawn register such as making some spawnables read-only, and the PreSave binding for Sequencer. - We now hook into all object pre-saves to make sure we handle the case where the sequences are saved through the content browser or elsewhere. #jira UE-47686 Change 3967170 by Andrew.Rodham Sequencer: Added the ability to possess anim instances as object bindings - This allows full and direct animation of properties on UAnimInstance, and animation blueprints - Object Bindings are made by first possessing a skeletal mesh component, then choosing the + Add button where its anim instance will be listed - Added a new function to UMovieSceneSequence to gather previously cached objects that should now be invalidated. Anim instances will be re-resolved if a new UAnimInstance is assigned to USkeletalMeshComponent::GetAnimInstance. - ObjectBindingIDs for anim instances are just represented by an entry in a set of GUIDs. We only ever resolve such bindings through USkeletalMeshComponent::GetAnimInstance. - Only currently supported on LevelSequences #jira UE-56132 Change 3967195 by Max.Preussner Core: Updated TRangeSet to use TCallTraits Change 3967345 by JohnHenry.Carawon Test Content Changes - first iteration of spacing out the examples in the shots. Change 3967572 by Max.Chen Sequencer: Fix setting PreviousPlayEvalPosition until after we've tested whether it's set. #jira UE-56518 Change 3967750 by Max.Chen Audio: Set duration based on number of input channels, rather than number of channels to serialize. This fixes an issue where audio split into 2 channels is set to a duration that's twice as long. #jira UE-56430 Change 3967836 by Max.Chen Sequencer: Allow for animating array elements within ustruct properties #jira UE-55887 Change 3968506 by Matt.Hoffman Fixed ambiguous conversions for seconds and frames being overriden by ambiguous conversion to Timecode (in frames). Change 3968748 by Max.Chen Sequencer: Make the event properties submenu widget larger. #jira UE-55557 Change 3968862 by Max.Chen Sequencer: Recursive expansion when shift is down #jira UE-52139 #pr 4194 Change 3968863 by Max.Chen Sequencer: Bind rename command to selected track so that F2 shortcut start renaming #jira UE-52139 #pr 4194 Change 3968872 by Max.Chen Sequencer: Rekey the selected key at the current time. #jira UESEQ-396 Change 3968938 by Max.Chen Cine Camera: Add option to toggle the behavior of locking the rail mount to the orientation of the spline. By default, the option is off, no change in behavior. #jira UE-55815 Change 3968958 by Andrew.Rodham Sequencer: Consider vertical position when hittesting keys #jira UE-56256 Change 3969643 by Max.Preussner Core: Rounding timespans created from double values towards nearest ticks Change 3969646 by Max.Preussner MediaUtils: Implemented timeout mechanism for block-on-fetch feature Change 3969776 by Mike.Zyracki Added Skip Anim Notifiers Toggle per what was in Matinee. Investigated the Enable Root Motion toggle as also discussed but it's implementation is directly contained by the animation asset and unlike animation notifies there seems to be no exposure to interactively disable it during a playback tick. Note if we are generating thumbnails we still automtically disable notifies in the editor to avoid annoying noise playback. Note that if Enable Root Motion/Root locked is specified in the animation asset it does correctly effect the Sequencer. #jira UESEQ-399 Change 3969835 by Matt.Hoffman Playback Range and Selection Range use unified logic for adding themselves as potential snap locations which properly handles inclusive/exclusive bounds. This resolves an issue where having an unset selection range caused a potential snap location to be added on frame 0 and 1 (internal resolution) which caused a misalignment when placing objects near frame 0. This also removes the one frame offset on setting Selection Range to bring behavior inline with other ranges. #jira UE-55420 Change 3969885 by Max.Preussner MediaAssets: Don't register media player CDO with media ticker Change 3971129 by Andrew.Rodham Sequencer: Fixed UMovieSceneSequencePlayer::GotToEndAndStop() not taking into account for start time This is a remnant from when the times were always specified in 0-duration space, rather than actual sequence times. Change 3972056 by JohnHenry.Carawon More updates to Test Content. I continued spacing out the examples in the sequence so that they have a consistent number of frames between each example and during the start/end of the example. Also removed the Marcie sublevel. Change 3972066 by Andrew.Porter MediaFrameworkTest: Setting Marcie folder to be never cooked in package settings Change 3972675 by Matt.Hoffman Splitting Subsequence Sections no longer sets an incorrect playback range on the subsequence when the subsequence has a different internal resolution than the owning sequence. #jira UE-55453 Change 3973376 by Max.Preussner ImgMedia: Zero is the only valid video track for image sequences Change 3973489 by Max.Preussner Launch: Build rules cleanup pass - don't use Media, MediaUtils on server apps - don't link against Media (include-only dependency) - don't include from MediaAssets (dynamic load only) Change 3973760 by Max.Preussner MediaUtils: Moved AppMediaTimeSource implementation into its own file; added logging Change 3973765 by Max.Preussner ImgMedia: Disallowing seek beyond media length Change 3973855 by Max.Preussner MediaFrameworkTest: Updated developer test content Change 3973858 by Max.Preussner MediaCompositing: Blocking on media player time instead of media sample time (the former may not be hit in the current frame) Change 3974988 by Max.Chen Sequencer: Fix trim left so that it also sets the start offset for audio and skeletal animation sections. #jira UE-57015 Change 3976101 by Matt.Hoffman Sequencer will now focus the scroll view on newly created items. #jira UE-56492 Change 3976203 by Max.Chen Property Editor: Add DetailsViewArgs for ColumnWidth. Defaults to 0.65f, no change in existing behavior. Change 3976205 by Max.Chen Sequencer: Set better column widths for sequencer. #jira UE-55557 Change 3976206 by Max.Chen Sequencer: Added menu category for import/export Change 3976265 by Matt.Hoffman Tracks within Object Binding Nodes will now sort using the old behavior so that components are added above other track types. #jira UE-56473 Change 3976901 by Max.Chen Sequencer: Add event names to event track section #jira UESEQ-353 Change 3977878 by Max.Preussner Media: Moved media framework ticking stats into Media module Change 3977982 by Max.Chen Sequencer: Add Edit->Reset section length to duration of source (ie. audio, skeletal animation, shot length) Added MovieSceneSection::GetDefaultDuration and MovieScene::HasDefaultDuration #jira UESEQ-392 Change 3977994 by Max.Preussner Media: Fetching and rendering media samples before viewports are rendered (to ensure frame sync for in-level media playback) #jira UE-53975 Change 3978188 by Matt.Hoffman Easing Curves are now clipped by the sequence's PlayRange when testing against an infinite section. This causes blended sequences to finish their blend when the section starts/ends instead of always using 25% of the total section length to determine default blend range. #jira UE-56362 Change 3978676 by Max.Preussner MediaCompositing: Fixed first frame of rendered out media track missing #jira UE-53975 Change 3978684 by Max.Preussner MediaCompositing: Enabled media track frame sync feature #jira UE-53975 Change 3980026 by Matt.Hoffman Keys can be selected on folded out sections (such as an audio track expanded to show volume and pitch) again. #jira UE-57169 Change 3981614 by Max.Preussner MediaUtils: Added missing subtitle sample queue flush Change 3982311 by Max.Preussner MediaCompositing: Added safeguard for zero length media sources Change 3982389 by andrew.porter QAGame: Adding media track test content into FrameAccuracySubscene Change 3983661 by Max.Chen Sequencer: Add level name to spawn a spawnable into. Add sublevel menu option to set the level #jira UESEQ-390 Change 3983712 by Andrew.Rodham Sequencer: Purge legacy blueprint spawnables from LevelSequence packages #tests Ran a preflight for cooking fortnite, ocean and Orion. Only orion shows up this edge case, and will require a re-save of the EndCines level #jira UE-39173 Change 3983787 by Max.Preussner MediaCompositing: Moved compile time switch for block-on-fetch into media player facade Change 3983812 by Andrew.Rodham Sequencer: Exposed default level sequence instance data to blueprints Change 3984373 by Max.Preussner Media: Added API for quering whether player plug-in supports block on fetch Block on fetch allows Sequencer and other systems to block the game thread until a desired video frame has been decoded. Change 3984670 by JohnHenry.Carawon Movie Rendering Test Content progress. Saving the state of the content. There is a bug where things got replaced with particle emitters and I think it was because I tried to copy paste an animation track into a separate skeletal mesh track. Change 3985097 by Max.Chen Sequencer: Rename Reset to AutoSize Change GetAutoSizeDuration to return TOptional<FFrameTime> #jira UESEQ-392 Change 3986043 by Max.Chen Sequencer: Fix crash when attach/path duration is less than 0. #jira UE-57310 Change 3986373 by Max.Chen Sequencer: Add support for deleting tracks and channels which equates to setting the channel mask. #jira UE-52951 Change 3986375 by Max.Chen Sequencer: Add Create Pose Asset to skeletal animation section. This allows animators to blend animations in sequencer and create new pose assets from them. #jira UESEQ-408 Change 3986796 by Andrew.Rodham Sequencer: Fixed stale object references remaining in ULevelSequence::BindingReferences when using convert to spawnable/possessable - We used to convert objects by creating a new binding, then re-assigning its GUID, which meant we didn't have to do any further object fixup, but the code to achieve this was confusing and led to a vulnerability where object references would not be cleaned up correctly due to the newly created possessable essentially being a temporary object that's immediately thrown away. - To address this, there is now a function for porting all the contents of one object binding to another, and handles the correct fixup required for parent/child object bindings for both spawnables and possessables. - Also added codepath to remove any stale object references from the level sequence reference map on PostLoad (this piggy-backs off the PurgeLegacyBlueprints object version which is close close enough to this change to be identical) #tests Verified that existing sequences with stale references get cleaned up on load. Verified that repreatedly converting from spawnable<->possessable cleans up references correctly. Change 3987807 by JohnHenry.Carawon Updates to the MovieRendering Test Content. - Fixed the spawnable actors that were overwritten - Shortend the Lighting example and combined the Intensity and Color tracks - Organized the Sequence and WorldOutliner to group the examples. Change 3988151 by Max.Chen Cine Camera: Enable keying the "Enable Look at Tracking" toggle. Change 3988880 by Max.Chen Sequencer: Support enter to add asset for all sequencer track editors that have asset pickers. #jira UE-57367 Change 3988953 by Max.Chen Sequencer: Make the track color picker focusable so that it will close when you click away or lose focus. #jira UE-57210 Change 3988962 by Max.Chen MovieSceneCapture: Fix EDL export so that it takes into account movie scene frame resolution and desired frame rate. #jira UE-57365 Change 3988964 by Max.Chen Movie Scene Capture: Clarified tooltip for bRelativeFrameNumbers. If you specify custom start/end frames for the recording, they will be relative to the playback range. #jira UE-57308 Change 3989442 by Max.Chen Fix CIS Change 3991548 by Matt.Hoffman Dragging the time slider no longer causes the time slider to ignore snap-to-interval with "Snap to Keys While Scrubbing" when no keys are in range. #jira UE-57417 Change 3991598 by Matt.Hoffman Snap to Key while scrubbing now mirrors the behavior of "jump to next key". When there are no tracks selected it snaps to all keys and when there are tracks selected it snaps to only keys from that track. This also resolves an issue where deleting an object did not remove it from the Sequencer's selection. Undoing a delete already doesn't seem to restore your selection, so removing it from your selection shouldn't change that behavior. #jira UE-57417 Change 3991603 by Max.Chen Sequencer: Disable EditAnywhere for some section properties #jira UE-53530 Change 3992240 by Max.Preussner MediaAssets: Implemented dynamic audio sample rate adjustment based on audio/media clock drift #jira FORT-70638 Change 3992911 by Andrew.Rodham Sequencer: Fixed saving spawnable state using the wrong spawned object - We now track the object binding ID so that we can apply the spawned object to the correct spawnable when the asset is saved #jira UE-57353 Change 3992914 by Max.Chen Movie Scene Capture: Fix compression quality not being set. The compression interface wasn't being found through query interface, so no compression was being set. Reworked finding it through the output pins. Tested running various compression values. #jira-UE-55488 Change 3992919 by Max.Chen Sequencer: Convert to possessable now uses object template instead of copying properties (ie. see LevelSequenceActorSpawner). This fixes MIDs getting lost when converting to spawnable and back to possessable. #jira UE-52400 Change 3993184 by Max.Chen Sequencer: Don't show +Transform/+Path/+Attach track if the actor has the "Mobility" property hidden. Set the Landscape, LandscapeProxy and InstancedFoliage "Mobility" property to be hidden since it is static is not supposed to be dynamically movable. #jira UE-56347 Change 3993238 by Max.Chen Sequencer: Test for hidden mobility in creating keys as well. Refactored to HasHiddenMobility() #jira UE-56347 Change 3993978 by Max.Chen Cine Camera: Enable keying the "Enable Look at Tracking" toggle. #jira UE-57489 Change 3994039 by Max.Chen Landscape: Add Mobility to hidecategories on landscape component #jira UE-56347 Change 3994626 by JohnHenry.Carawon Updated Movie Rendering Test Content. - Fixed the overridden spawnables to their proper object types. Change 3994653 by Christina.TempelaarL Sequencer: Added Final Cut Pro 7 XML Import functionality, improved Export functionality #jira UESEQ-358 Change 3995609 by Max.Chen UMG: Add support for 2d transform mask (translation, rotation, scale, shear) #jira UE-52951 Change 3995778 by JohnHenry.Carawon Movie Rendering Test Content Updates - Adjusted Lights example - Adjusted Camera example - Added Marcie sublevel back in Change 3995942 by JohnHenry.Carawon QAGame: Moving Movie Rendering test content from Developer folder to Sequencer folder Also adjusted level visibility, lights and camera example. Change 3995993 by Christina.TempelaarL Sequencer: FCPXML Export updates - only export sections if in playback range and media exists, warn if media does not exist. Other updates - removed unused methods and variables, fixed message context naming to be more accurate #jira UESEQ-358 Change 3996595 by andrew.porter QAGame: Updating Marcie content in TrackEvaluation level to use Image Plate Change 3996614 by andrew.porter QAGame: Adding color test sequence to the sublevel Change 3996643 by Max.Chen Sequencer: Fix fbx animation export - rotation and scale channels were flipped. #jira UE-57509 #jira UE-57512 #jira UE-57514 Change 3996652 by Max.Preussner Messaging: Fixed delayed messaging using incorrect current time after message router sleep Based on https://github.com/EpicGames/UnrealEngine/pull/4601 Change 3996801 by Max.Chen Sequencer: Fix folder active state for non key area sections. Look at track node sections as well as key areas. #jira UE-57550 Change 3997098 by Matt.Hoffman Cleaned up some remaining ToDo's in STimeRange. Change 3998339 by Max.Preussner Sockets: Added documentation for socket receive functions Change 3998359 by Max.Preussner MediaUtils: Started to implement media recorder helper class Currently only supports BGRA frames in CPU memory. Supporting other formats and buffer types will require conversions on render-thread. I recommend refactoring out the existing conversion code in FMediaTextureResource into a reusable helper class in the MediaUtils module. This should be a good starting point though. Change 3998417 by Matt.Hoffman Keys and Sections can now be moved at the same time inside of Sequencer. Keys can now snap to Sections (and vice versa) instead of just to other Keys. Sections can now be duplicated like keys can. #jira UE-56995 Change 3998427 by JohnHenry.Carawon QAGame: Updating test content for the Movie Rendering feature. - Added an auto activate particle to the beginning of the sequence (it's not part of the sequence at all) - Added an event receiver blueprint to the Events example - Added a particle emitter to both sublevels - Added a camera cut to the end that switches to a separate camera - The camera zoom in, focus and Look At sections are all separate (not overlapping in the sequence) - Added a second actor for the camera Look At - Added a Visibility section for the Actor Hidden In Game track that has possessable and spawnable cube and light Change 3998537 by Max.Chen Sequence Recorder: Restore immersive mode when stopping the sequence even if not in PIE. #jira UE-56407 Change 3999809 by Matt.Hoffman Removed the "Go To" box from Sequencer and instead placed the current time as an always visible control. The previous shortcut (Ctrl + G) now focuses the new widget directly. #jira UESEQ-376 Change 4000543 by Christina.TempelaarL Sequencer: Moving editor-only code from runtime module MovieSceneCapture to editor module MovieSceneTools. Moved EDL and FCP XML exporters as well as Automated Level Scene Capture. #jira UESEQ-358 Change 4000706 by Matt.Hoffman Entering multiple time strings without a number no longer crashes Sequencer. #jira UE-57672 Change 4001051 by andrew.porter MediaFrameworkTest: Fixing up some image sources pointing to the wrong location Change 4001191 by andrew.porter QAGame: Adding some quick EDL/XML test content to dev folder Change 4001243 by Max.Chen Sequencer: Fix import EDL out of range. #jira UE-57665 Change 4001856 by Matt.Hoffman Selecting keys and sections at the same time now also works with animation and audio sections. #jira UE-57716 Change 4002021 by Max.Chen Sequence Recorder: Fix sequence name incrementing. If external recording sets the sequence name, use it. Otherwise, use the recording name from the recording group or the recording settings. #jira UE-57712 Change 4002618 by Max.Chen Viewport: Update the look at location when updating to a locked actor. This fixes an issue so that popping the view out of a locked actor and manipulating the view will not jump to the previous look at location. #jira UE-57725 Change 4002979 by Matt.Hoffman Fixes several edge cases with the end time range that was causing confusion about what the last frame of the sequence was. Dragging the End Frame slider will no longer be off by one tick and jumping to the end via the UI controls now properly respects snapping and stays inside the play range instead of falling outside of it. Overall behavior does not change though and End Frame should be considered an exclusive frame so that frames 0-150 results in a 150 frame long animation (which is frames 0-149). #jira UE-56367 Change 4003185 by Matt.Hoffman Fixed a regression that prevented a section from being dragged upwards past row 0 which normally resulted in all other rows moving down. #jira UE-57717 Change 4003193 by JohnHenry.Carawon QAGame: Updates to test content - Shortened frames between the examples from 95 to 30 - Separated camera setting tracks - Lighting example now switches directly from constant red - green - blue Change 4003369 by Max.Chen Sequence Recorder: Refresh next sequence regardless of internally stored sequence name. #jira UE-55757 Change 4003586 by JohnHenry.Carawon QAGame: Test Content Updates - Level Visibility track now ends to that the levels are not visible when we move to the next example - Shortened camera section, removed Z tranform so that we just move left to right and shortened the overall length Change 4004414 by Max.Chen Movie Scene Capture: Fix regression where rendering with shot handles would only render the first shot. 3972166 addressed an issue where an extra frame would be rendered by finalizing right when the end frame was reached. This was hit on the first shot end frame, so instead, do this only for when the last shot is being rendered. #jira UE-57314 Change 4004765 by Christina.TempelaarL Sequencer: Fixed bugs in FCP XML import/export. - Export: fixed sequence default resolution. - Export: fixed XML files with no shots. - Export: all sections clipped to playback range. - Export: fixed incorrect section start/end times due to precision issues. - Import: fixed incorrectly adding cinematic tracks. - Import: fixed bugs creating new sections. #jira UE-57660 #jira UE-57662 #jira UE-57655 #jira UE-57761 Change 4005119 by Max.Chen Sequencer: Export/import at play rate Change 4005195 by Max.Chen UMG: Finish UMG evaluation on stop. Added object version so that existing UMG assets do not change. #tests - Newly created UMG animation with sections set to restore state now return to their original state. Existing UMG animations with sections set to restore state do not return to their original state. #jira UE-52285 Change 4005377 by Michael.Karambelas QAGame: Moving TM-SequenceRecorder and related content out of my developer folder and into /Content/Sequencer/SequencerRecorder/* Change 4005417 by Michael.Karambelas QAGame: Fixed a BP compiler in the Level Blueprint of TM-SequencerRecorder. Change 4005634 by Michael.Karambelas QAGame: Fix up missing content and broken level sequence in TM-SequenceRecorder after move Change 4006324 by Max.Chen Sequencer: Reset if the focused movie scene is null. This fixes a crash if the user is focused in on a shot and undo takes the user past the point of where the shot was created. #jira UE-57752 #jira UE-47661 Change 4007006 by Max.Chen Sequencer: Fix FindAvailableRowIndex so that it returns the max row index (and not +1) since it doesn't find any conflicting rows. #jira UE-57717 Change 4007907 by Max.Chen Sequencer: Fix crash if there's no animation Change 4007948 by andrew.porter QAGame: added test content to dev folder for Record World Space Change 4008636 by Max.Chen Sequencer: Fix import fbx not setting values properly and creating additional cameras unncessarily. #jira UE-57864 Change 4008759 by Max.Chen Sequencer: Follow up fix for import cameras #jira UE-57864 Change 4009994 by Matt.Hoffman Dragging the left or right handles of the Time Range slider in Sequencer will now zoom your view in on the current center of the screen. This prevents the view from being translating as you tried to zoom in which caused issues at high zoom levels. #jira UESEQ-407 Change 4010169 by Christina.TempelaarL Sequencer: FCP XML fixes. - FCP XML export - no longer clips to playback range - FCP XML and EDL export - fixed missing last frame of some sections after exporting to Premiere. - Automated level capture, EDL export - use RoundToFrame instead of FloorToFrame for computing section start/end frames after frame rate conversion. #jira UE-57802 - partial fix, movie scene capture still needs to render full section rather than clip against playback. Change 4010287 by Mike.Zyracki Add quaternion interpolation option to UMovieScene3DTransformSection. This mimics how Matinee used to work by bascially finding the keys between a time and interpolating the angles as quat's between them. As noted in the code the algorithm needs to handle the case when the x,y,z Rotation keys all aren't at the same time which was not handled by Matinee. Also like Matinee, when in quaternion interoplation mode, we need to not display the function cuves since the interpolated and key values are now all different. (Would like to show them but that's a bigger refactor for perhaps just a one off needed by quaternions). I added a virtual function UMovieSceneSection::ShowCurveForChannel for this since it needs to be dynamic, not on construction of IKeyArea's, and could be useful for other sections. I could though move the method to just UMovieScene3DTransformSection and do a cast instead. Looked into doing a unit test for this but after talking with Andrew P we will work on doign an automated test in EngineQA since that will provide more coverage. Will also add a video the jira. #jira UESEQ-403 Change 4010713 by Mike.Zyracki Added option to key a group of transform channels instead of just the changed channel, or all of them. This is useful for quaternion interpolations where you want rotation keys to be aligned but also useful for other workflows like animating FK Pose to Pose. Change 4010715 by Andrew.Porter MediaFrameworkTest: Setting LogMediaUtils logging from VeryVerbose to Verbose to cut back on the spam Change 4013048 by Max.Chen Sequencer: Fix play/jump status. Update the player status for all position methods (Scrub, Jump, Play). Jump means Stopped. Correctly use PlayTo or JumpTo based on position method. In PlayInternal, JumpTo with the Stopped state (rather than playing state). #jira UE-57844 Change 4013479 by andrew.porter QAGame: Added content in TM-SequenceRecorder to test recording a property on a Cine Camera Component; Press 3 to trigger manual focus distance to increment on a timer Change 4014323 by Max.Chen Sequencer: Fix SetPlaybackPosition so that it jumps or plays based on playback status. #jira UE-57844 Change 4015888 by Max.Chen Sequencer: Fix crash on paste. UMovieSceneSections were gathered from the track node's track. For sub track mode, we want to gather only those sections on that track node row. #jira UE-57951 Change 4015943 by Max.Chen Sequencer: Fix moving shots up when the mouse pos goes outside of the virtual track area. #jira UE-57717 Change 4016293 by Max.Chen Sequencer: Fix relative frame playback end frame calculation so that custom start/end frames remain in the space of the sequence and are not relative. #jira UE-57308 Change 4017075 by Andrew.Rodham Sequencer: Corrected initial evaluation range used when calling UMovieSceneSequencPlayer::Play() Change 4017270 by Christina.TempelaarL Sequencer: FCPXML importer and movie scene capture - Use CeilToFrame when converting section start/end frame times to frame numbers in FCPXML and movie scene capture. - Added support for clip metadata in FCPXML. - Got rid of redundant TokenizedError message class, no longer needed now that FCPXML is in editor directory. - Added log messages currently commented out due to exception, still testing. #UESEQ-358 Change 4018370 by Christina.TempelaarL Sequencer: fixed FCPXML log messages regarding sections with start/end not divisible by display rate. #UESEQ-358 Change 4018378 by Christina.TempelaarL Sequencer: fixed error in previous changelist. #UESEQ-358 Change 4019457 by Max.Chen Sequencer: Show event names only when the event track is selected #jira UE-57897 Change 4022806 by Max.Chen Sequencer: Fix crash on movie scene capture dialog shutdown if movie capture wasn't even started. #jira UE-58106 Change 4022894 by Max.Chen Sequence Recorder: Wrap OpenEditorForAssets after sequence recording within GIsEditor #jira UE-58084 Change 4024487 by Max.Chen Sequencer: Add tooltip for quat interpolation #jira UE-58113 Change 4024562 by Max.Chen Sequencer: Change path/attach track sequence binding id to currently focused sequence id so that bindings can be created in subsequences Change 4027414 by JohnHenry.Carawon QAGame: Checking in content that shows a bug with using particles systems and Delay Before Shot Warm Up. Change 4028990 by Max.Chen Sequencer: Fix evaluate sub sequences in isolation. This check was added with the compile on the fly logic. Not sure why it was necessary but it seems like the sub sequence data needs to be updated in order to evaluate sub sequences in isolation. #jira UE-58184 Change 4029004 by Max.Chen Sequencer: Ensure that old binding references are removed when re-assigning actors in sequencer #jira UE-57898 Change 4030997 by JohnHenry.Carawon QAGame: Fixing name of the master sequence Change 4031785 by Michael.Karambelas QAGame: Added an instance of ThirdPerson Run to TM-SequenceRecorder for Record to Possessable test. Change 4035548 by Andrew.Rodham Sequencer: Changed FMovieSceneEvaluationTemplate::TemplateSignature to be a serial number to address non-deterministic cooking issues - This commit is related to the repro steps found in 3914599 and 3934307, both of which have been verified with this new change. - Copy of 4031684 from //Fortnite/Main/... #jira FORT-84852 Change 4036312 by Max.Chen Sequencer: Fix zoom view range so that it uses the passed in InZoomDelta Change 4036318 by Max.Chen Sequencer: Auto size now returns a range and defaults to the channel proxy range so that keyed regions can also be autosized. Change 4036322 by Max.Chen Forgot missing change Change 4036360 by Max.Chen Sequencer: Fix play rate calculation when skeletal animation section play rate changes. Change 4037163 by Mike.Zyracki Weighted Tangent Implementation Tricky thing is that you need to solve a cubic in order to get the bezier weights for the time part of the curve. See https://www.gamedev.net/forums/topic/474094-help-function-curves-for-animation-interpolation/ Maya provides an implementation in it's dev kit but I didn't use it since it was horribly slow and uses an iterative solution to solve the cubic needed. Instead I use an old algorithm (Cardano's method), to solve the cubic which should be much faster. Though relative simple to code from principles I just went ahead and used a version from Graphics Gems 1. I put this cubic solver directly in MovieSceneFloatChannel.cpp, but will need to move it when we support Rich Curve, maybe to FMath:: (which would probalby require some other functions for solving quartics, etc.. for completeness.). Also note we resolve this on every evaluation but dont' need to if the interval the time is evaluating hasn't had any change in values or tangents. So again when we support FRichCurve we can create a Weighted Evaluating class that can hold the cache. Also with the tangent drags I got rid of the Cardinal position that was used to calculate non-weight tangents from the key point and just quickly getting a direction. With weighted tangents we need to use the delta instead (otherwise when moving multiple they would all get the same weight based upon distance to the cardinal point. ) For mixed tangents types what I'm defaulting to non weighted if the interval doesn't match. May need to do weighted instead, not sure. What's left is just FBX import, for tomorrow. #jira UESEQ-76 Change 4037435 by Mike.Zyracki Fix fo build warnings from weighted tangent submission. #trivial Change 4038091 by Michael.Karambelas QAGame: Updated a Sequence Recorder group in TM-SequenceRecorder that had an actor missing the animation. Change 4038374 by Andrew.Rodham Sequencer: Refined scrubber styling for level sequences and actor sequences - Scrubber now shows a block the width of a dsplay rate frame, plus a line for the actual evaluated time. UMG reverts back to the previous styling (no block) - Keys that are outside of the playback range are now drawn with a subdued effect - Tick labels are no longer drawn when directly underneath the scrubber Change 4038490 by Max.Chen Sequencer: Expose tangent weight values in details panel. Change 4038620 by Andrew.Rodham Sequencer: Advanced time panel polish #jira UESEQ-426 Change 4038677 by Max.Chen Movie Scene Capture: Redirector for MovieSceneTools.AutomatedLevelSequenceCapture #jira UE-58248 Change 4039739 by Max.Chen Sequencer: Media track should only be supported by Level Sequence Change 4040024 by JohnHenry.Carawon QAGame: Fix EventReciever and OverrideBinding example The level sequence was set to none so the fix was to set it back to TrackEvaluation_Master. Change 4040610 by Andrew.Rodham Curve Editor: Moved weighted tangent switchers to a single toggle command (CTRL+W) and added an icon #jira 58383 Change 4040882 by Mike.Zyracki Keep broken when turning on weighted #jira UE-58435 Change 4041089 by andrew.porter QAGame: Sequence for Long Tangents bug Change 4041498 by Mike.Zyracki Turn off weighted when going auto to prevent large tangents. Do it both in UI and when doing AutoSetTangents() to really make sure it doesn't happen. #jira UE-58452 Change 4041752 by andrew.porter MediaFrameworkTest: Adding some better logging for setting rates when not supported. Also ignoring commiting URL when there is no text Change 4041896 by Matt.Hoffman The transform dialog box now transforms selected keys and sections, instead of just keys. #jira UE-58265 [CL 4044405 by Max Chen in Main branch]
2018-05-02 10:10:00 -04:00
Metrics.HandleRangePx = Metrics.FrameExtentsPx;
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3946692) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3801826 by Max.Chen PR #4304: Level Sequence crash fix - Guarded against dereferencing null componen. (Contributed by DSDambuster) Change 3801828 by Max.Chen PR #4302: Movie Scene Visibility Template unitialised variable, causing random . (Contributed by DSDambuster) Change 3801837 by Max.Chen Sequencer: Delay spawning/construction for convert to possessable. This fixes a bug where property values would be lost when converting back and forth from possessable to spawnable. #jira UE-52400 Change 3801841 by Max.Chen Sequencer: Make spacer nodes not selectable. PR #4194: Improvements to Sequencer (Contributed by projectgheist) #jira UE-53117 #jira UE-52139 Change 3804183 by Max.Preussner MediaAssets: Added missing lock in media sound component Change 3805414 by Max.Preussner MediaAssets: Setting valid GUID when initializing media texture resource Change 3819578 by Max.Chen PR #4370: When enabling the "MovieCapture", do not turn off the Stereo-3D display. (Contributed by yehaike) #jira UE-53647 Change 3823414 by Max.Chen Curve Editor: Lock down the first and last keys in the redundant keys removal range so that they're unaffected. #jira UE-53591 Change 3826406 by Max.Chen Sequencer: Move OnStartedPlaying() to within first update in UpdateTimeCursorPosition(). This fixes an issue where setting the hud/player visibility was getting stomped on later. #jira UE-52772 Change 3827044 by Max.Preussner MediaAssets: Added sprite visualization to media sound component #jira UE-53594 Change 3827988 by Max.Preussner MediaPlayerAssets: Fixed Media Texture is not linked to Media Player when created together #jira UE-53532 Change 3828506 by Max.Preussner MediaPlayerEditor: Added attenuation visualizer for media sound components #jira UE-53594 Change 3832590 by andrew.porter EngineTest: Added a keep state check in Property Animation sequencer test Change 3833053 by andrew.porter EngineTest: Adding Hierarchical Bias test Change 3835683 by andrew.porter EngineTest: Adding UMG Animation screenshot test Change 3836076 by Max.Chen Sequencer: Fix audio volume and pitch multiplier deprecation. Change 3836230 by andrew.porter EngineTest: Adding Sequence Bone Position automation test Change 3836347 by Max.Chen Sequencer: Fixes to shot name parsing. When a shot doesn't contain a shot number, assume, [ShotName]_[TakeNumber]. When duplicating a shot, put the new shot in the same path of the original shot, so that the take numbers will increment properly. #jira UE-51868 Change 3836552 by Max.Chen Sequencer: Sub section now has a takes menu Change 3838094 by Max.Chen UMG: Fix template finish not getting called on stop. This fixes a bug where sections aren't restored when finished. #jira UE-52285 Change 3838708 by Max.Chen Sequencer: Add notification when the blend type is changed. #jira UE-54046 Change 3840295 by Max.Chen Sequencer: Fix copy/paste crash for lights #jira UE-54084 Change 3840957 by Mike.Zyracki Added Show Only Keyable and Show Only Animated to the filter list in the property editor. Added IsPropertyAnimated to IDetailKeyframe Interface which already had support for showing properties which are keyable (which is used for the key icon next to the properties.). Could have created another interface but then would have had to mimic the sequencer binding, releasing also, so this seemed best way. One issue still left is that custom built detail items currently don't store associated properties(usually) and so certain properties, in particulalry transforms, won't show up as keyable or animated. Note this also shows up with the keyable icon not showing up next to transform tracks, and other filters like Show Only Modified not working with transforms/customs. Not sure best way to tackle this. #jira UESEQ-328 Change 3841756 by Max.Chen Sequencer: Fix unbound possessable components when pasting spawnables. #jira UE-54104 Change 3843950 by andrew.porter EngineTest: Renaming LevelStreaming tests/content to LevelVisibility Change 3844082 by Mike.Zyracki Missing file for animated filter in property editor. When finding if a track is animated we need to find it but we can't easily induce the MovieTrack class for any particular property. So we don't set a class for it and just search by it's ID and name. #jira UESEQ-328 Change 3846902 by Max.Preussner ImgMedia: Fixed image media player never finished initialization if loading failed #jira UE-54247 Change 3849820 by Mike.Zyracki Reassigning deleted widgets didn't work since the menu extender mechanism needs a valid UObject in order to perform an operation on it. So to fix we replaced GetObjectBindingContextMenuExtender in WidgetBlueprint with new delegate mechanism (OnBuildCustomContextMenuForGuid) that supports FGuid in addition to UObjects which is needed to handle re-binding deleted widgets. Note that the default sequencer hacks this for replacing deleted actors in SequencerObjectBindingNode to check to see if a LevelSequence is active. We could move to this mechanism there also. #jira UE-53163 Change 3852211 by Max.Chen UMG: Indicate name of the property that is not bound. #jira UE-54350 Change 3854120 by Max.Chen Sequencer: Fix sibling folders being allowed to have the same folder name. #jira UE-54363 Change 3854627 by Max.Chen Sequencer: Step to next/previous key should work for all tracks if there aren't any selected. #jira UESEQ-391 Change 3855825 by andrew.porter EngineTest: Adding animation blending automation test Change 3855950 by andrew.porter EngineTest: Adding correct expected valuues to animation blending test Change 3856237 by Matt.Hoffman UESEQ-336 - Sequencer Track Reordering Adds the ability to re-order Master Tracks, Folders and Object Bindings within sequencer hierarchies (including UMG). Adds the ability to do a one-off sorting of the content under the old sorting behavior if the user wants to reset their layout to how it was under legacy behavior. Modifies SequencerTrackNodes, SequencerFolderNodes and SequencerObjectBindingNodes to handle CanDrop/OnDrop for above, below and ontop of. Fixes a Slate Issue that forcibly expanded a TreeviewRow if an item handled OnDrop. Slate will now only forcibly expand the row if the item says the drop happened ontop of the item, and not above or below it like it previously did. Change 3856503 by andrew.porter EngineTest: Adding automation test for using animation blueprint with blend multi node in sequencer Change 3857875 by Max.Chen Sequencer: Assign the sequence id after the template is compiled. #jira UE-54462 Change 3858344 by Max.Chen Sequencer: Prevent Goto and Transform boxes from overlapping by allowing them to be visible at the same time in an autosized horizontal box. Also, added close button to the goto box. PR #4425: Prevent Goto and Transform boxes from overlapping in Sequencer ... (Contributed by projectgheist) #jira UE-54210 Change 3860566 by andrew.porter MediaFrameworkTest: Set the option to index 0 for the audio and video track list by default Change 3860654 by andrew.porter EngineTest: Enabling Camera Cut + FOV test Change 3860981 by andrew.porter EngineTest: Updating skeletal mesh tests with a delay after set playback position Change 3861256 by Max.Chen Sequencer: Add all bindings if none selected. #jira-54440 Change 3862154 by Andrew.Rodham Added TimeManagement module Change 3862424 by andrew.porter EngineTest: Turned on the test Bone Positions with Blend Multi Node Change 3862573 by andrew.porter EngineTest: Adding test to compare bone positions in a sequence that is blending an animation that is using an AnimBP Change 3865117 by Max.Chen Sequencer: Stop auto scroll on mouse release of movement. #jira UE-31212 Change 3865303 by Max.Chen Sequencer: Add drag and drop transactions #jira UE-54662 Change 3865304 by Max.Chen Sequencer: Fix crash when an actor factory is not found. Change 3865361 by Max.Chen Sequencer: Don't change the camera/shot lock button when popping out of a sequence. #jira UE-54665 Change 3865412 by Max.Chen Sequencer: Determine whether a transform track is for a camera by using the spawned object or template #jira UE-54666 Change 3865685 by Max.Chen Sequencer: Clear autoscrub offset when stopping autoscroll #jira UE-31212 Change 3865886 by Max.Chen Sequence Recorder: Log an error if the number of frames changes while recording. This can happen if the skeleton changes while recording. #jira UE-48715 Change 3866925 by Andrew.Porter MediaFrameworkTest: Changing the current PNG test video image sequence to 1024 x 576 Change 3867705 by andrew.porter QAGame: Adding Audio Sort Sequence to dev folder Change 3867890 by andrew.porter QAGame: Adding a sequence for testing a sorting crash to my dev folder Change 3872628 by Max.Chen Movie Scene Capture: Split delay before warmup into split delay before shot warmup so that there's separate controls for when the movie scene capture warmups up vs. shot boundaries. Change 3873131 by Matt.Hoffman UE-54732 - Crash reordering a folder with a track. This was caused by folders being the only type of track to check if someone was putting a parent track into a child track. Object Binding tracks and Tracks now check as well so that you can't use the above/below drop targets to add parents as children. This also fixed a typo in the localization keys. #jira UE-54732 Change 3873301 by Mike.Zyracki Added ability to support continous euler angle changes when changing rotations, in particularly with the rotation gizmo's. To do this we effectively added a form an of 'euler filter'(https://en.wikipedia.org/wiki/Euler_filter) to find the closest euler angle to the current euler angle. Three functions were added to FRotator to make this possible, one to get the euler angle that's has the same rotation as it, one to get the difference between two euler angles via Manhattan distance and a third using the previous two to choose a Rotator value that's closest to it. We then use these functions before calling UComponent::SetRelativeRotation to make sure we use the correct Euler after the Quat conversion. We also no longer limit(bound) the euler angles to -180,180, which is obviously necessary to avoid flips. I also changed how we caluclate yaw and roll when pitch is -90 or 90 to make it the standard approach of zeroing out roll and just setting yaw. Main reasons are the previous implementation had precision issues so things like 180, 90, -180 would show up due to numbers being nearly zero but negative,(this would break any smooth interpolations), and this facilitates having a 'gimbal' rotation mode (like Maya, Blender etc..) if we ever want that also. If needed we could keep the previous implementation but would need to add some FMath::IsNearlyZero checks, with less performance. Note we only do this special filtering when applying delta's to actors or components in the editors, which then call UComponent::SetRelativeRotationExact, which is a new function to foces the RelativeRotation to be equal to the new rotation. This allows us to store un-nomalized Rotators at the cost that the RotationCache may be broken. We didn't change any of the other UComponent functions that set rotations (via Quats or Transforms) so they will still be bounded and unwound. In SetInternalWorldLocationAndRotation we only set the rotation if the rotation has changed, which fixes the rotation getting changed and re-normalized if just translate happens. In TransformTrackEditor, we correclty use the bUndwing flag and in MovieScene3DTransformSection there was an un-needed winding check there, it will be unwound earlier if needed, which happens if Sequence Recording is happening. Max we should talk about what to do about this . Note the euler angle drag via the widget is still bound to 0-360. I think we should just unbound that now since the rotations value are now unbound. This review now includes fixes suggested by Zak. #jira UE-UE-22228 Change 3873483 by Matt.Hoffman Sequencer Tracks can now be inserted above the spacer at the bottom of the tree. #jira UE-54706 Change 3873899 by Max.Chen Sequencer: Add section selection throbbing Change 3873908 by Max.Chen Movie Scene Capture: Added logging per frame Change 3873924 by Matt.Hoffman Adds the ability to store Sequence Recorder setups into profiles that stay with the map and can be re-loaded later. Profiles store the Actor Recordings so the settings for each actor should carry with them. #jira UESEQ-339 Change 3874726 by Matt.Hoffman Disable drag-and-drop targets on spacers that come between rows in Sequencer. This prevents extra drag/drop targets showing up between each row. #jira UE-54706 Change 3874862 by Matt.Hoffman Audio Track no longer gets reordered when adding sub-audio tracks, as sub-tracks are no longer counted towards the sorting order index when normalizing indexes. #jira UE-54727 Change 3875905 by Matt.Hoffman Disable Fade Track UI if a fade track already exists in the sequence. #jira UESEQ-393 Change 3876163 by Max.Chen Sequencer: Swap the camera object to the camera component's owner if it's not the same. #jira UE-54874 Change 3876971 by Andrew.Porter EngineTest: Moved Media Player Seek test to new folder. Also enabled the test with new ground truth image. Change 3877040 by Max.Chen Cine Camera: Split camera properties to two groups, "Camera Options" and "Camera Settings". The cine camera now hides properties in the "Camera Settings" group so that properties like bConstrainAspectRatio (in the "Camera Options" group) can be visible. #jira UE-54192 Change 3877763 by Max.Chen Curve Editor: Fix curve changed on end drag so that only curves that had keys/tangents that were changed receive notification, otherwise all loaded curves were getting notified that they were changed. #jira UE-54951 Change 3878234 by Matt.Hoffman Disable "Drop Below" targets for Sequencer Tree nodes to prevent a confusing UX issue where dropping underneath a Object Binding Node puts it after the object binding node but the UI looks like it's inserting it inside the Object Binding node. #jira UE-54743 Change 3879359 by Mike.Zyracki If a track is inactive we dim it a bit which seems to be the UE4 way to show inactive or disabled state. We changed the active logic so that all subtracks need to be inactive for the track to also be inactive(instead of all active for active). This conforms to how the active state actually works, e.g if you have two sections and only one is active the track is still active above it. #jira UESEQ-388 Change 3879462 by Max.Chen Sequencer: Allow dragging onto a particular row which would move out any overlapping sections to make space for the newly created section. Newly created sections are now selected and throbbed to draw attention to themselves. #jira UE-54664 Change 3879464 by Max.Chen Sequencer: Fixed overlapping ranges being inserted into the evaluation field during compilation - The issue was that track segments that had been combined with adjacent segments (due to them being identical) would potentially cause a subsequently compiled frame to overlap with a range that had already been inserted into the evaluation field. - The insertion code previously asserted that only minor overlaps were catered for (due to fp rounding errors) and assumed that a supplied range could not entirely contain any other range in the field. - The solution is to supply the insertion time along with the range to know exactly where the data should live in the field, and crop the range to the maximum allowable space between adjacent ranges. #jira UE-54922 Change 3879590 by Matt.Hoffman Items that are now added to the Sequencer via the "+Track" menu will be selected after being added. Items can now be added inside of folders instead of just to the root level. #jira UE-27397 Change 3879612 by Mike.Zyracki Display Nodes with no children are always active. #jira UESEQ-388 Change 3879730 by Matt.Hoffman Sequence Recorder's actor recording groups now remove items from the group when removed via the UI. #jira UESEQ-339 Change 3880256 by Mike.Zyracki Fix issue with inactive display with folders and other track nodes. #jira UESEQ-388 Change 3883491 by Max.Chen Fix issue where tick is skipped due to last ticked pose isn't cleared after AnimInstance changes. Copy from Release-4.19 #jira UE-51323 Change 3883603 by Max.Chen Movie Scene Capture: Add option toggle disable screen percentage. By default this is on (no change in current behavior). #jira UE-51898 Change 3885074 by Max.Preussner MediaCompositing: Resetting media texture & freeing resource on section end; removed dead code Change 3887220 by Max.Preussner MediaCompositing: Defaulted media section duration to 1 sec (since we do not know the actual duration in most cases) Change 3887478 by Matt.Hoffman Sequences now show [Inactive] in their title bars when they're disabled. This helps communicate why a sequence isn't being evaluated. #jira UE-51469 Change 3888985 by Max.Chen Movie Scene Capture: Clamp HDR Compression Quality between 0 and 1. #jira UE-55136 Change 3893519 by Max.Chen Sequence Recorder: Clarified tooltip for bRecordNearbySpawnedActors - spawned actors will still be recorded if they match the ActorFilter. #jira UE-55238 Change 3893546 by Max.Chen Sequence Recorder: If a selected actor already has a recording, add a blank recording. #jira UE-55239 Change 3894044 by Max.Preussner MediaCompositing: Added support for seeking into a media section Change 3894310 by andrew.porter MediaFrameworkTest: Adding Img media sources for 1080 and 2160 ravent test content Change 3894426 by Max.Preussner MediaAssets: Letting media textures with AutoClear retain their clear color when player is reset Change 3895717 by Max.Chen Sequencer: Null checks to prevent crash when saving the default state of a spawnable #jira UE-55304 Change 3897388 by Max.Chen Sequencer: Don't update current time to be within the view range when stepping into a sequence. #jira UE-55322 Change 3897452 by Max.Chen Audio: Fix crash when trying to record audio without any active capture devices. Log warning if the number of input channels is not 1 or 2. #jira UE-55223 Change 3897619 by Max.Preussner MediaCompositing: Removed commented out code Change 3898072 by Max.Chen Sequencer: Override the animation asset in the player state if it doesn't match the animation asset that's being evaluated. #jira UE-55328 Change 3898272 by Max.Preussner MediaPlayerEditor: Made slate brush constants static Change 3898704 by Max.Chen Sequencer: Skip if the binding id's sequence can't be found. #jira UE-55337 Change 3899855 by Max.Preussner MediaCompositingEditor: Added cache state visualization to media track Change 3900300 by Max.Preussner MediaCompositingEditor: Added loop indicators to media sections Change 3900694 by Max.Preussner ImfMedia: Looping cache only when player is looping Change 3900892 by Max.Preussner Stats: Added stats category for media framework Change 3900954 by Max.Preussner MediaCompositing: Don't evaluate at the end of media section Change 3901348 by Max.Preussner Core: Replaced TLruCache autos for better readability Change 3901655 by Max.Preussner ImgMedia: Added more perf stats to EXR reader Change 3901972 by Max.Preussner MediaAssets: Added getter for media player in media sound components Change 3902233 by Max.Preussner MediaAssets: Enabling media textures to receive samples right after player is assigned Change 3902238 by Max.Preussner MediaCompositing: Working around init/shutdown idiosyncracies in sequencer Change 3904045 by Max.Chen Sequencer: Fix copy/paste crash. Only process UMovieSceneCopyableBinding and objects that can be spawned by the movie scene spawn register. #jira UE-55314 Change 3905605 by Max.Chen Sequencer: Restrict spawnables from being created if they have a ClassWithin that UMovieScene is not a child of. #jira UE-55429 Change 3906550 by Max.Chen Sequencer: Add media track icon #jira UE-55480 Change 3907101 by Max.Chen Sequence Recorder: Fix bugs related to not recording a level sequence. There were certain assumptions that creating a level sequence meant that sequence recording was in progress. This is not always the case - the recorders can record animation assets and not create a level sequence. Changed the notion of IsRecording() to having at least one actor recording that is recording. Countdown timer, recording displays, etc should function if IsRecording() and not based on whether a level sequence is created. #jira UE-55485 Change 3907247 by Max.Chen Sequence Recorder: Fix crash not removing PrepareToCleanseEditorObject delegate. Repros when opening sequence recorder, closing it, and then opening or creating a level. Change 3910343 by Max.Preussner Core: Added async helper for executing functions on a given thread pool Change 3910346 by Max.Preussner ImgMedia: Added separate thread pools for loading/decoding and deleting image frames Change 3910829 by Max.Preussner Profiler: Increased visible range of profiler graph Change 3910841 by Max.Preussner MediaCompositing: Displaying asset name instead of full media source path in media section Change 3910870 by Max.Preussner ImgMedia: Using deallocation thread pool only in debug builds Change 3919642 by Max.Chen Sequence Recorder: Clarify active tooltip #jira UE-55661 Change 3919660 by Max.Chen Sequencer: Sequence template source signatures are now also compared to catch the case where a sub-sequence asset has been saved but not modified - The following sequence of events exposes this issue: - Create a master sequence with a single shot that spawns a cube - Add this sequence to a level and set it to auto-play - Save everything and restart - Resave just the inner shot asset without opening it - PIE - The inner shot never spawns its cube because its template was wiped on save, but its signature never changed. Since the master sequence previously didn't check the template source signature, it ends up trying to evaluate an empty template. #jira UE-55626 #jira UE-55490 Change 3921825 by Max.Chen Sequencer: "Run Construction Script in Sequencer" is off by default for blueprints but on for Sequencer. This allows the content author to switch it on for specific blueprints and sequencer will be default, run those with construction scripts enabled. Change 3922232 by Max.Chen Sequence Recorder: Reset countdelay on stop. #jira UE-55755 Change 3922306 by Max.Chen Sequence Recorder: Don't automatically mark transforms to be recorded by sequence recorder. Instead, log a warning if the user toggled it off to warn that the resulting animation might not match gameplay. #jira UE-55758 Change 3922912 by Max.Chen Sequence Recorder: Fix refresh next sequence name #jira UE-55757 Change 3927654 by Max.Chen Movie Scene Capture: Added format mapping for the name of the current camera #jira UE-55769 PR #4537 Change 3927658 by Max.Chen Sequencer: Added fbx property mapping for "FocusDistance" to "FocusSettings.ManualFocusDistance" #jira UE-55782 Change 3932022 by Max.Chen Sequencer: Add import animation track section to next available row index. #jira UE-55892 Change 3933919 by Max.Chen Sequencer: Jump to playback start frame and not 0 to start playback for recording. #jira UE-55933 Change 3934307 by Andrew.Rodham Sequencer: Add template signature that is re-generated every time the base template is regenerated, which invalidates evaluation fields This fixes an issue where the same sequence is instantiated multiple times in a sequence. If the source sequence was saved, its template would be wiped, which would invalidate the template ID When an instance tries to evaluate the master template, it would only invalidate a range in the evaluation field that was the hull of any invalid sub sequences overlapping the current time, potentially leaving invalid data in the evaluation field at positions later (or earlier) on in the sequence When the sub template was re-generated, it receives the same SequenceSignature as it had before (because the sequence hasn't actually changed), which causes the stale evaluation field data to fail the IsDirty check (because the sequence is the same as it thought, but the *template* has changed) This has been addressed be adding a signature to templates themselves, and checking both the template signature and sequence signature as a part of the IsDirty check. This ensures that we regenerate if either the template, or the sequence have changed. #jira UE-55934 Change 3936327 by Andrew.Rodham Sequencer: Removed increment when trimming right UMovieSceneSection::TrimSection already explicity assigns an exclusive bound to the time passed in. The new behavior means we can trim a section to the right, and insert another section without changing the time to create adjacent sections. #jira UE-42652 Change 3936328 by Andrew.Rodham Fixed KeyFrameManipulator assignment operators and copy/move constructors - These types are potentially self-referential so cannot use default constructors/assignment Change 3936330 by Andrew.Rodham Converted UMGSequencePlayer to use frames internally #jira UE-54878 Change 3936726 by Max.Chen Sequencer: Set track node as the parent of the key area node. The key area switcher needs the object binding id from the parent object binding node. Without this, the binding to the external value fails. #jira UE-55931 Change 3936775 by Max.Chen Sequencer: Should stop or loop should compare DurationFrames with Current Time from StartTime. The bug is that if you set 30 warmup frames in movie rendering for a range of 0-100, the FrameRange will be starting at -30 and have a duration of 130. Without this fix, the playback will continue until frame 130, rather than 100. #jira UE-55933 Change 3936935 by Matt.Hoffman Easing Curves are now represented in Play Rate resolution instead of internal resolution. #jira UE-55937 Change 3937069 by Matt.Hoffman Users can toggle if the is infinite on each side, limited by which tracks support infinite ranges. #jira UE-55891 Change 3937516 by Max.Preussner ImgMedia: Added support for single-threaded platforms #jira UE-55986 Change 3937826 by Max.Preussner MediaAssets: Disabling media sound components on HTML5 if AudioMixer is not enabled Change 3937997 by Max.Chen Curve Editor: Add Zoom to Fit Curves so that selected curves from Sequencer can be focused on. Tested that undo doesn't re-zoom. #jira UE-55935 Change 3938000 by Max.Chen Sequencer: Stop all sounds before generating audio waveforms. #jira UE-55951 Change 3938376 by Max.Preussner XGEController: Disabled XGE Controller in single-threaded apps to prevent crash Change 3938444 by Max.Preussner Core: Added async support for single-threaded applications Change 3938445 by Max.Preussner Networking: Added support for single-threaded applications in UDP socket sender/receiver Change 3938447 by Max.Preussner Messaging: Added support for single-threaded applications Change 3939432 by Max.Chen Sequence Recorder: Append command list to global level editor actions so that shortcuts are accessible in level editor. #jira UE-55798 Change 3940229 by Andrew.Rodham Added prospective display rate upgrade to UMovieScene::PostLoad - There was previously some very odd behaviour that would assign the fixed frame interval only when a sub sequence was focused in SSequencer. This meant that many sequences could have a frame interval of 0 set in the data. - Under the old method of snap interval display this would have fallen back to getting the display interval from the sequencer settings, but we no longer look at these. - The USequencerSettings properties have been removed and in their place, a prospective data upgrade for sequences that have a fixed frame interval old 0fps that sets the play rate to the previous defaults based off the old USequencerSettings defaults. - This could end up 'changing' the display rate for sequences where the user has changed the snap interval in the settings for a particular sequence editor, but there's not much we can do about that given we don't have access to the USequencerSettings classes in UMovieScene #jira UE-55919 Change 3940277 by Andrew.Rodham Sequencer: Added ability to default frame resolutions and play rates for newly created actor sequences Change 3940378 by Andrew.Rodham Sequencer: Post move import dialog now defaults to the playback framerate of the sequence, and floors to frame numbers Change 3940559 by Andrew.Rodham Reinstated primed or recording sequence color Change 3940642 by Max.Preussner ImagePlate: Removed image plate media playback functionality Change 3940843 by Max.Preussner Core: Made TCircularQueue actually thread-safe; improved code comments Change 3940860 by Max.Chen Sequencer: Changed StructNameToKey to StructPathToKey Previously, keying a PropertyPath of [RenderTransform][Shear][X] would get trimmed to X, which doesn't map to a channel name as considered by Sequencer2dTransformTrackEditor. Instead, trim the resulting property path to [Shear][X] so that track editors can determine the desired struct path and channels to key. #jira UE-52966 Change 3941292 by Mike.Zyracki Fix for trajectories out of range not showing up. 1) If we had no key data we would pop the time, so wouldn't get the section ranges. 2) Calculating of upper bound was wrong, checking against -1 and not key == num of keys when doing algo::lower_bound. 3) No need to do the Bck-- for the bakward iterators since we fixed #2. We start now from the upper bound correctly. 4) If we had no keys (at section start,end) we would incorrectly say we were any key type, so since we draw constant keys as dashed we would do so incorrectly around section end points. #jira UE-55929 Change 3941424 by Max.Chen Curve Editor: Change Zoom to Fit to use TArrayView Change 3941498 by Max.Preussner Core: Added FMath::DivideAndRoundNearest function Change 3942097 by Matt.Hoffman Drop Frame Timecode Support for NTSC rates. Change 3942104 by Matt.Hoffman Sequence Recorder Group is no longer visible inside the World Outliner after using one. #jira 55266 Change 3942107 by Max.Chen Sequencer: Resurrect logic to find or extend an existing section when adding keys. Change 3942330 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942339 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942507 by Andrew.Rodham Sequencer: We no longer pad the time overlap threshold with a small number that is not scaled by the current zoom level - The presence of this pad was causing keys that were far apart to be grouped when zoomed in a long way Change 3942509 by Andrew.Rodham Sequencer: Only pad total view range, rather than section range as well when retrieving keys to render - This stops us from rendering keys that are within the view range, but outside the section range Change 3942512 by Andrew.Rodham Added transactions to some sequencer details customizations Change 3942513 by Andrew.Rodham Sequencer: Reinstated validation checks to UMovieSceneSection::SetStartFrame and SetEndFrame, changed erroneous uses to use SetRange Change 3942560 by Andrew.Rodham Pass by rvalue reference to appease error C2719 on Win32 ('InChannels': formal parameter with requested alignment of 8 won't be aligned) Change 3942697 by Andrew.Rodham Newly Created Level Sequences and Actor Sequences now default to 24000 fps frame resolution (+/- ~24hrs range, supporting all integer rates + 23.976) Change 3942700 by Andrew.Rodham Sequencer: Added legacy out-of-bounds errors for times that are not supported by the current legacy upgrade frame resolution Change 3942989 by Max.Preussner Core: Fixed circular queue count calculation Change 3943538 by Max.Preussner MediaAssets: Reverted workaround for procedural audio log spam in HTML5 (Actor component initialization cannot be skipped if the component is used in a level) Change 3944071 by Max.Preussner QAGame: Fixed Media Texture keeps last frame of Media when PIE ends #jira UE-53360 Change 3944292 by Max.Chen Sequencer: Added extra flags to ensure that asset initialization does not occur on template actor sequences #jira UE-56113 Change 3944364 by Max.Chen Sequencer: Prevent circular shot/master tracks. Tested adding master -> child -> master as drag and drop cinematic shot tracks and sub tracks as well as through the + button. #jira UE-56091 Change 3944422 by Max.Chen Sequence Recorder: Disable transform recording if off. #jira UE-56061 Change 3944745 by Andrew.Rodham Sequencer: Key rendering fixes - Fixed assert that occured when keys happened to reside on some times due to KeyTime + TimeOverlapThreshold - KeyTime being slightly larger TimeOverlapThreshold - Fixed keys sometimes being clipped when zoomed right in due to lack of half-frame offset - Added missing documentation to MovieSceneTimeHelpers.h #jira UE-56107 Change 3945231 by Andrew.Rodham Sequencer: Reconstruct channel proxy on Serialize to catch all cases of undo/redo, PostLoad and duplication #jira UE-56089 Change 3945301 by Andrew.Rodham Sequencer: Added safety checks during initial sequence recording to guard against applying negative or 0-sized sequence ranges #jira UE-56125 Change 3946627 by Max.Preussner Fortnite: Fixed game crashes closing editor while in PIE - Pure virtual function being called #jira UE-56144 [CL 3946896 by Max Chen in Main branch]
2018-03-14 22:09:33 -04:00
}
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 4044339) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3947021 by Max.Chen Sequencer: Don't preserve root component when copying object properties. A spawnable empty actor, has a root component that is generated by the empty actor factory. If the object template's root component is preserved when copying from the spawnable empty actor, the root component will not be copied over. Therefore, we need to NOT preserve the root component when copying object properties. #jira UE-55825 Change 3947366 by Max.Preussner WmfMedia: Better log output Change 3947367 by Max.Preussner MfMedia: Better detection of compressed format properties on Windows Change 3949102 by Max.Chen Sequencer: Remove SequenceActorTag when converting to possessable. #jira UE-56206 Change 3949207 by andrew.porter EngineTest: Set the screenshot nodes resolution to 1280x720 Change 3949404 by Max.Chen Sequencer: More informative tooltip for "Rerun Construction Scripts" option. It now says "Rerun construction scripts every frame on actors that have 'Rerun Construction Script in Sequencer' enabled in their class settings". Change 3950067 by Matt.Hoffman Renamed UAutomatedLevelSequenceCapture's StartFrame and EndFrame to CustomStartFrame/CustomEndFrame to reflect that it is user-overriden. This will also resolve upgrade issues due to the variable datatype changing. #jira UE-56189 Change 3950193 by JohnHenry.Carawon Updating my latest MovieRendering test content. Change 3950757 by JohnHenry.Carawon More updates to MovieRendering test content Change 3952059 by Max.Chen Resave LevelVisibility_SubLevels to fix data loss conversion warning of OpacityMaskConstant #jira UE-56086 Change 3952283 by Max.Chen Sequencer: Disable dropping level sequence assets as spawnables. #jira UE-56120 Change 3952422 by Max.Chen Sequence Recorder: Add button to record from the current player. #jira UE-55942 Change 3952987 by JohnHenry.Carawon MovieRendering Test Content - Fixing camera bindings and changing the override binding actor Change 3953823 by Mike.Zyracki Fix for Bad FBX Import Tangents not scaled by frame rate. After looking at this again it seems that a set of MovieScene:: overiddes for the channel traits wasn't set correctly, so use the ADL idiom to use MovieScene, which can then call Optimize in the correct namespace. With this we can now correctly use the passed in tolerance. There was also a redundant set of Optimize calls so that it could happen twice so removed them, and needed an extra check in the float channel Optimize. Also since we need to set auto tangents no matter if we optimize we don't set that parameter(though leave it since it's used by context menu key reduction). Finally fixed speed issue with trajectories caused by calculating way too many substeps. Reverted back to a time based step size for consistency. #jira UE-56193 Change 3954317 by Matt.Hoffman Adding a key to the last frame of a section no longer causes a crash. Keys can already be moved to be on the last frame of a section so now you can just add a key there directly. #jira UE-56255 Change 3954326 by Matt.Hoffman Dilating a section that is only infinite on one side no longer causes a crash. #jira UE-56260 Change 3954486 by Max.Chen PR #4580: Exposes IsReversed() from UMovieSceneSequencePlayer (Contributed by alanedwardes) Change 3955238 by Max.Preussner Messaging: Enabled delayed message routing https://github.com/EpicGames/UnrealEngine/pull/4574 #jira UE-56247 Change 3955901 by Max.Preussner MediaFrameworkTest: Added developer test for overriding desired media player plug-in at runtime. Change 3955922 by Andrew.Porter QAGame: Updating movie rendering content in dev folder Change 3956004 by andrew.porter QAGame: Adding MPC track to movie rendering test content Change 3956510 by Max.Chen Sequencer: Fix fbx camera import of static properties so that they are imported before default tracks are created. Otherwise, the default tracks inherit the default properties of the camera, rather than the values from the fbx. #jira UE-56311 Change 3957613 by Max.Preussner MediaUtils: Added code documentation to media player facade Change 3958005 by Max.Preussner MediaUtils: Added method to get number of sinks Change 3958934 by Max.Chen Sequencer: Fix keys getting added and sequence getting erroneously re-evaluated when auto key is off. Only apply defaults if there are no keys. Only modify the movie scene section before creating keys or setting defaults. #jira UE-55903 Change 3959687 by Andrew.Rodham Sequencer: Fixed visibility track external values being inverted #jira UE-56324 Change 3960507 by Max.Preussner Core: Fixed incorrect rounding in FMath::DivideAndRoundNearest Change 3962047 by JohnHenry.Carawon MovieRendering Test Content Changes: - Add Lightmass Importance Volumes to sublevel to fix warnings - Rebuilt Lighting - Add a third sequence for Gamut testing - Resaved the sound master.uasset to fix warning Change 3962211 by Mike.Zyracki Add Frame Numbers to selected animation sections. Added MapTimeToAnimation to MovieSceneSkeletalAnimation so that we could get it from the Skeleton Animation track Editor. Since the thickness of the frame line can change based upon frame rate and zoom we need to calculate it similarly to how the time slider controller does it. Those calculations were private so we had to expose FScrubRangeToScreen and GetScubberPixelRange from the TimeSliderController. Also needed to know if the section itself was selected so added a bIsSelected flag to the section Painter. Also fixed a bug where you couldn't add a section if other sections existed at different times in MovieScenePropertyTrack and could crash due to the check(). #jira UESEQ-395 Change 3962497 by Max.Preussner Core: Added new string formatting argument to FTimespan Change 3963662 by Max.Chen CineCamera: Flip VistaVision width and height. Change 3963731 by Max.Preussner MediaCompositing: Implemented sequence recording support for media track Change 3964195 by Andrew.Rodham Sequencer: Set inverted property correctly for newly created visibility track sections - Also clamp evaluation for key editors to the bounds of the section so we're not displaying values outside of the section bounds when the cursor is not on the bounds #jira UE-56324 #coderevew Max.Chen Change 3964196 by Andrew.Rodham Sequencer: Fixed crash when attempting to render sections that resulted in a negative intersection with the view range Change 3964275 by Andrew.Rodham Sequencer: Fixed MovieScene::ClampToDiscreteRange for infinite range bounds Change 3964364 by Andrew.Rodham Curve Editor: Reduce minimum vertical view range when zooming to fit Change 3965091 by Max.Chen Sequencer Recorder: Refresh next sequence if empty when starting a recording, otherwise, use existing name. #jira UE-56469 Change 3965148 by Max.Chen Sequence Recorder: Move Record to Possessable to "Actor Recording" group Change 3965162 by Max.Chen Sequence Recorder: Always break out of immersive mode when done recording, even when stopping recording during countdown. #jira UE-56407 Change 3965214 by Max.Preussner QAGame: Enabled ImagePlate plug-in Change 3965574 by Max.Preussner SimpleComposure: Reorganized & upgraded content to work with new Media Track #jira UE-56488 Change 3965651 by Max.Preussner MediaCompositing: Ignoring seek-on-open if media not seekable Change 3966075 by Christina.TempelaarL Sequencer: Added Final Cut Pro 7 XML Export functionality #jira UESEQ-358 Change 3966087 by Matt.Hoffman Adding a single key to the Particle Toggle track now makes an infinite range section that is displayed in the UI. #jira UE-56295 Change 3966547 by Andrew.Rodham Sequencer: Fixed rounding errors when drawing the section background on boolean sections - Logic was using time in sectonds which caused rounding errors on evaluation and flickering red/green stripes when dragging keys around #jira UE-56324 Change 3966563 by Andrew.Rodham Curve Editor: Key editor interface improvements - SKeyEditInterface has a few problems - it does not update in real time when editing properties, and does not support multi-edit which makes it unsuitable for use with the curve editor - We now take a different approach for editing keys by gathering a set of proxy UObjects for each key that is currently selected. These objects are added as top level objects to the details panel which means they support multi edit as you'd expect from any other details panel in the editor. - Proxy objects are updated every tick for the curve editor if they implement the ICurveEditorKeyProxy interface, which allows them to refresh their current value. - Ideally, the same mechanisms would be used in the main sequence interface, and we would be generating the proxy classes at runtime based on the key value type, but that work remains a separate task from this initial offering. #jira UE-56165 Change 3966564 by Andrew.Rodham Curve Editor: Expand to frame when adding or moving keys in the curve editor Change 3967051 by andrew.porter MediaFrameworkTest: Set the CameraPlayer_Video texture to auto clear Change 3967141 by Andrew.Rodham Sequencer: Keep track of spawned objects that have been modified and only re-save such object's default spawnable state on destruction - Now that we're taking this approach, I've remove serveral redundant bits of functionality in the spawn register such as making some spawnables read-only, and the PreSave binding for Sequencer. - We now hook into all object pre-saves to make sure we handle the case where the sequences are saved through the content browser or elsewhere. #jira UE-47686 Change 3967170 by Andrew.Rodham Sequencer: Added the ability to possess anim instances as object bindings - This allows full and direct animation of properties on UAnimInstance, and animation blueprints - Object Bindings are made by first possessing a skeletal mesh component, then choosing the + Add button where its anim instance will be listed - Added a new function to UMovieSceneSequence to gather previously cached objects that should now be invalidated. Anim instances will be re-resolved if a new UAnimInstance is assigned to USkeletalMeshComponent::GetAnimInstance. - ObjectBindingIDs for anim instances are just represented by an entry in a set of GUIDs. We only ever resolve such bindings through USkeletalMeshComponent::GetAnimInstance. - Only currently supported on LevelSequences #jira UE-56132 Change 3967195 by Max.Preussner Core: Updated TRangeSet to use TCallTraits Change 3967345 by JohnHenry.Carawon Test Content Changes - first iteration of spacing out the examples in the shots. Change 3967572 by Max.Chen Sequencer: Fix setting PreviousPlayEvalPosition until after we've tested whether it's set. #jira UE-56518 Change 3967750 by Max.Chen Audio: Set duration based on number of input channels, rather than number of channels to serialize. This fixes an issue where audio split into 2 channels is set to a duration that's twice as long. #jira UE-56430 Change 3967836 by Max.Chen Sequencer: Allow for animating array elements within ustruct properties #jira UE-55887 Change 3968506 by Matt.Hoffman Fixed ambiguous conversions for seconds and frames being overriden by ambiguous conversion to Timecode (in frames). Change 3968748 by Max.Chen Sequencer: Make the event properties submenu widget larger. #jira UE-55557 Change 3968862 by Max.Chen Sequencer: Recursive expansion when shift is down #jira UE-52139 #pr 4194 Change 3968863 by Max.Chen Sequencer: Bind rename command to selected track so that F2 shortcut start renaming #jira UE-52139 #pr 4194 Change 3968872 by Max.Chen Sequencer: Rekey the selected key at the current time. #jira UESEQ-396 Change 3968938 by Max.Chen Cine Camera: Add option to toggle the behavior of locking the rail mount to the orientation of the spline. By default, the option is off, no change in behavior. #jira UE-55815 Change 3968958 by Andrew.Rodham Sequencer: Consider vertical position when hittesting keys #jira UE-56256 Change 3969643 by Max.Preussner Core: Rounding timespans created from double values towards nearest ticks Change 3969646 by Max.Preussner MediaUtils: Implemented timeout mechanism for block-on-fetch feature Change 3969776 by Mike.Zyracki Added Skip Anim Notifiers Toggle per what was in Matinee. Investigated the Enable Root Motion toggle as also discussed but it's implementation is directly contained by the animation asset and unlike animation notifies there seems to be no exposure to interactively disable it during a playback tick. Note if we are generating thumbnails we still automtically disable notifies in the editor to avoid annoying noise playback. Note that if Enable Root Motion/Root locked is specified in the animation asset it does correctly effect the Sequencer. #jira UESEQ-399 Change 3969835 by Matt.Hoffman Playback Range and Selection Range use unified logic for adding themselves as potential snap locations which properly handles inclusive/exclusive bounds. This resolves an issue where having an unset selection range caused a potential snap location to be added on frame 0 and 1 (internal resolution) which caused a misalignment when placing objects near frame 0. This also removes the one frame offset on setting Selection Range to bring behavior inline with other ranges. #jira UE-55420 Change 3969885 by Max.Preussner MediaAssets: Don't register media player CDO with media ticker Change 3971129 by Andrew.Rodham Sequencer: Fixed UMovieSceneSequencePlayer::GotToEndAndStop() not taking into account for start time This is a remnant from when the times were always specified in 0-duration space, rather than actual sequence times. Change 3972056 by JohnHenry.Carawon More updates to Test Content. I continued spacing out the examples in the sequence so that they have a consistent number of frames between each example and during the start/end of the example. Also removed the Marcie sublevel. Change 3972066 by Andrew.Porter MediaFrameworkTest: Setting Marcie folder to be never cooked in package settings Change 3972675 by Matt.Hoffman Splitting Subsequence Sections no longer sets an incorrect playback range on the subsequence when the subsequence has a different internal resolution than the owning sequence. #jira UE-55453 Change 3973376 by Max.Preussner ImgMedia: Zero is the only valid video track for image sequences Change 3973489 by Max.Preussner Launch: Build rules cleanup pass - don't use Media, MediaUtils on server apps - don't link against Media (include-only dependency) - don't include from MediaAssets (dynamic load only) Change 3973760 by Max.Preussner MediaUtils: Moved AppMediaTimeSource implementation into its own file; added logging Change 3973765 by Max.Preussner ImgMedia: Disallowing seek beyond media length Change 3973855 by Max.Preussner MediaFrameworkTest: Updated developer test content Change 3973858 by Max.Preussner MediaCompositing: Blocking on media player time instead of media sample time (the former may not be hit in the current frame) Change 3974988 by Max.Chen Sequencer: Fix trim left so that it also sets the start offset for audio and skeletal animation sections. #jira UE-57015 Change 3976101 by Matt.Hoffman Sequencer will now focus the scroll view on newly created items. #jira UE-56492 Change 3976203 by Max.Chen Property Editor: Add DetailsViewArgs for ColumnWidth. Defaults to 0.65f, no change in existing behavior. Change 3976205 by Max.Chen Sequencer: Set better column widths for sequencer. #jira UE-55557 Change 3976206 by Max.Chen Sequencer: Added menu category for import/export Change 3976265 by Matt.Hoffman Tracks within Object Binding Nodes will now sort using the old behavior so that components are added above other track types. #jira UE-56473 Change 3976901 by Max.Chen Sequencer: Add event names to event track section #jira UESEQ-353 Change 3977878 by Max.Preussner Media: Moved media framework ticking stats into Media module Change 3977982 by Max.Chen Sequencer: Add Edit->Reset section length to duration of source (ie. audio, skeletal animation, shot length) Added MovieSceneSection::GetDefaultDuration and MovieScene::HasDefaultDuration #jira UESEQ-392 Change 3977994 by Max.Preussner Media: Fetching and rendering media samples before viewports are rendered (to ensure frame sync for in-level media playback) #jira UE-53975 Change 3978188 by Matt.Hoffman Easing Curves are now clipped by the sequence's PlayRange when testing against an infinite section. This causes blended sequences to finish their blend when the section starts/ends instead of always using 25% of the total section length to determine default blend range. #jira UE-56362 Change 3978676 by Max.Preussner MediaCompositing: Fixed first frame of rendered out media track missing #jira UE-53975 Change 3978684 by Max.Preussner MediaCompositing: Enabled media track frame sync feature #jira UE-53975 Change 3980026 by Matt.Hoffman Keys can be selected on folded out sections (such as an audio track expanded to show volume and pitch) again. #jira UE-57169 Change 3981614 by Max.Preussner MediaUtils: Added missing subtitle sample queue flush Change 3982311 by Max.Preussner MediaCompositing: Added safeguard for zero length media sources Change 3982389 by andrew.porter QAGame: Adding media track test content into FrameAccuracySubscene Change 3983661 by Max.Chen Sequencer: Add level name to spawn a spawnable into. Add sublevel menu option to set the level #jira UESEQ-390 Change 3983712 by Andrew.Rodham Sequencer: Purge legacy blueprint spawnables from LevelSequence packages #tests Ran a preflight for cooking fortnite, ocean and Orion. Only orion shows up this edge case, and will require a re-save of the EndCines level #jira UE-39173 Change 3983787 by Max.Preussner MediaCompositing: Moved compile time switch for block-on-fetch into media player facade Change 3983812 by Andrew.Rodham Sequencer: Exposed default level sequence instance data to blueprints Change 3984373 by Max.Preussner Media: Added API for quering whether player plug-in supports block on fetch Block on fetch allows Sequencer and other systems to block the game thread until a desired video frame has been decoded. Change 3984670 by JohnHenry.Carawon Movie Rendering Test Content progress. Saving the state of the content. There is a bug where things got replaced with particle emitters and I think it was because I tried to copy paste an animation track into a separate skeletal mesh track. Change 3985097 by Max.Chen Sequencer: Rename Reset to AutoSize Change GetAutoSizeDuration to return TOptional<FFrameTime> #jira UESEQ-392 Change 3986043 by Max.Chen Sequencer: Fix crash when attach/path duration is less than 0. #jira UE-57310 Change 3986373 by Max.Chen Sequencer: Add support for deleting tracks and channels which equates to setting the channel mask. #jira UE-52951 Change 3986375 by Max.Chen Sequencer: Add Create Pose Asset to skeletal animation section. This allows animators to blend animations in sequencer and create new pose assets from them. #jira UESEQ-408 Change 3986796 by Andrew.Rodham Sequencer: Fixed stale object references remaining in ULevelSequence::BindingReferences when using convert to spawnable/possessable - We used to convert objects by creating a new binding, then re-assigning its GUID, which meant we didn't have to do any further object fixup, but the code to achieve this was confusing and led to a vulnerability where object references would not be cleaned up correctly due to the newly created possessable essentially being a temporary object that's immediately thrown away. - To address this, there is now a function for porting all the contents of one object binding to another, and handles the correct fixup required for parent/child object bindings for both spawnables and possessables. - Also added codepath to remove any stale object references from the level sequence reference map on PostLoad (this piggy-backs off the PurgeLegacyBlueprints object version which is close close enough to this change to be identical) #tests Verified that existing sequences with stale references get cleaned up on load. Verified that repreatedly converting from spawnable<->possessable cleans up references correctly. Change 3987807 by JohnHenry.Carawon Updates to the MovieRendering Test Content. - Fixed the spawnable actors that were overwritten - Shortend the Lighting example and combined the Intensity and Color tracks - Organized the Sequence and WorldOutliner to group the examples. Change 3988151 by Max.Chen Cine Camera: Enable keying the "Enable Look at Tracking" toggle. Change 3988880 by Max.Chen Sequencer: Support enter to add asset for all sequencer track editors that have asset pickers. #jira UE-57367 Change 3988953 by Max.Chen Sequencer: Make the track color picker focusable so that it will close when you click away or lose focus. #jira UE-57210 Change 3988962 by Max.Chen MovieSceneCapture: Fix EDL export so that it takes into account movie scene frame resolution and desired frame rate. #jira UE-57365 Change 3988964 by Max.Chen Movie Scene Capture: Clarified tooltip for bRelativeFrameNumbers. If you specify custom start/end frames for the recording, they will be relative to the playback range. #jira UE-57308 Change 3989442 by Max.Chen Fix CIS Change 3991548 by Matt.Hoffman Dragging the time slider no longer causes the time slider to ignore snap-to-interval with "Snap to Keys While Scrubbing" when no keys are in range. #jira UE-57417 Change 3991598 by Matt.Hoffman Snap to Key while scrubbing now mirrors the behavior of "jump to next key". When there are no tracks selected it snaps to all keys and when there are tracks selected it snaps to only keys from that track. This also resolves an issue where deleting an object did not remove it from the Sequencer's selection. Undoing a delete already doesn't seem to restore your selection, so removing it from your selection shouldn't change that behavior. #jira UE-57417 Change 3991603 by Max.Chen Sequencer: Disable EditAnywhere for some section properties #jira UE-53530 Change 3992240 by Max.Preussner MediaAssets: Implemented dynamic audio sample rate adjustment based on audio/media clock drift #jira FORT-70638 Change 3992911 by Andrew.Rodham Sequencer: Fixed saving spawnable state using the wrong spawned object - We now track the object binding ID so that we can apply the spawned object to the correct spawnable when the asset is saved #jira UE-57353 Change 3992914 by Max.Chen Movie Scene Capture: Fix compression quality not being set. The compression interface wasn't being found through query interface, so no compression was being set. Reworked finding it through the output pins. Tested running various compression values. #jira-UE-55488 Change 3992919 by Max.Chen Sequencer: Convert to possessable now uses object template instead of copying properties (ie. see LevelSequenceActorSpawner). This fixes MIDs getting lost when converting to spawnable and back to possessable. #jira UE-52400 Change 3993184 by Max.Chen Sequencer: Don't show +Transform/+Path/+Attach track if the actor has the "Mobility" property hidden. Set the Landscape, LandscapeProxy and InstancedFoliage "Mobility" property to be hidden since it is static is not supposed to be dynamically movable. #jira UE-56347 Change 3993238 by Max.Chen Sequencer: Test for hidden mobility in creating keys as well. Refactored to HasHiddenMobility() #jira UE-56347 Change 3993978 by Max.Chen Cine Camera: Enable keying the "Enable Look at Tracking" toggle. #jira UE-57489 Change 3994039 by Max.Chen Landscape: Add Mobility to hidecategories on landscape component #jira UE-56347 Change 3994626 by JohnHenry.Carawon Updated Movie Rendering Test Content. - Fixed the overridden spawnables to their proper object types. Change 3994653 by Christina.TempelaarL Sequencer: Added Final Cut Pro 7 XML Import functionality, improved Export functionality #jira UESEQ-358 Change 3995609 by Max.Chen UMG: Add support for 2d transform mask (translation, rotation, scale, shear) #jira UE-52951 Change 3995778 by JohnHenry.Carawon Movie Rendering Test Content Updates - Adjusted Lights example - Adjusted Camera example - Added Marcie sublevel back in Change 3995942 by JohnHenry.Carawon QAGame: Moving Movie Rendering test content from Developer folder to Sequencer folder Also adjusted level visibility, lights and camera example. Change 3995993 by Christina.TempelaarL Sequencer: FCPXML Export updates - only export sections if in playback range and media exists, warn if media does not exist. Other updates - removed unused methods and variables, fixed message context naming to be more accurate #jira UESEQ-358 Change 3996595 by andrew.porter QAGame: Updating Marcie content in TrackEvaluation level to use Image Plate Change 3996614 by andrew.porter QAGame: Adding color test sequence to the sublevel Change 3996643 by Max.Chen Sequencer: Fix fbx animation export - rotation and scale channels were flipped. #jira UE-57509 #jira UE-57512 #jira UE-57514 Change 3996652 by Max.Preussner Messaging: Fixed delayed messaging using incorrect current time after message router sleep Based on https://github.com/EpicGames/UnrealEngine/pull/4601 Change 3996801 by Max.Chen Sequencer: Fix folder active state for non key area sections. Look at track node sections as well as key areas. #jira UE-57550 Change 3997098 by Matt.Hoffman Cleaned up some remaining ToDo's in STimeRange. Change 3998339 by Max.Preussner Sockets: Added documentation for socket receive functions Change 3998359 by Max.Preussner MediaUtils: Started to implement media recorder helper class Currently only supports BGRA frames in CPU memory. Supporting other formats and buffer types will require conversions on render-thread. I recommend refactoring out the existing conversion code in FMediaTextureResource into a reusable helper class in the MediaUtils module. This should be a good starting point though. Change 3998417 by Matt.Hoffman Keys and Sections can now be moved at the same time inside of Sequencer. Keys can now snap to Sections (and vice versa) instead of just to other Keys. Sections can now be duplicated like keys can. #jira UE-56995 Change 3998427 by JohnHenry.Carawon QAGame: Updating test content for the Movie Rendering feature. - Added an auto activate particle to the beginning of the sequence (it's not part of the sequence at all) - Added an event receiver blueprint to the Events example - Added a particle emitter to both sublevels - Added a camera cut to the end that switches to a separate camera - The camera zoom in, focus and Look At sections are all separate (not overlapping in the sequence) - Added a second actor for the camera Look At - Added a Visibility section for the Actor Hidden In Game track that has possessable and spawnable cube and light Change 3998537 by Max.Chen Sequence Recorder: Restore immersive mode when stopping the sequence even if not in PIE. #jira UE-56407 Change 3999809 by Matt.Hoffman Removed the "Go To" box from Sequencer and instead placed the current time as an always visible control. The previous shortcut (Ctrl + G) now focuses the new widget directly. #jira UESEQ-376 Change 4000543 by Christina.TempelaarL Sequencer: Moving editor-only code from runtime module MovieSceneCapture to editor module MovieSceneTools. Moved EDL and FCP XML exporters as well as Automated Level Scene Capture. #jira UESEQ-358 Change 4000706 by Matt.Hoffman Entering multiple time strings without a number no longer crashes Sequencer. #jira UE-57672 Change 4001051 by andrew.porter MediaFrameworkTest: Fixing up some image sources pointing to the wrong location Change 4001191 by andrew.porter QAGame: Adding some quick EDL/XML test content to dev folder Change 4001243 by Max.Chen Sequencer: Fix import EDL out of range. #jira UE-57665 Change 4001856 by Matt.Hoffman Selecting keys and sections at the same time now also works with animation and audio sections. #jira UE-57716 Change 4002021 by Max.Chen Sequence Recorder: Fix sequence name incrementing. If external recording sets the sequence name, use it. Otherwise, use the recording name from the recording group or the recording settings. #jira UE-57712 Change 4002618 by Max.Chen Viewport: Update the look at location when updating to a locked actor. This fixes an issue so that popping the view out of a locked actor and manipulating the view will not jump to the previous look at location. #jira UE-57725 Change 4002979 by Matt.Hoffman Fixes several edge cases with the end time range that was causing confusion about what the last frame of the sequence was. Dragging the End Frame slider will no longer be off by one tick and jumping to the end via the UI controls now properly respects snapping and stays inside the play range instead of falling outside of it. Overall behavior does not change though and End Frame should be considered an exclusive frame so that frames 0-150 results in a 150 frame long animation (which is frames 0-149). #jira UE-56367 Change 4003185 by Matt.Hoffman Fixed a regression that prevented a section from being dragged upwards past row 0 which normally resulted in all other rows moving down. #jira UE-57717 Change 4003193 by JohnHenry.Carawon QAGame: Updates to test content - Shortened frames between the examples from 95 to 30 - Separated camera setting tracks - Lighting example now switches directly from constant red - green - blue Change 4003369 by Max.Chen Sequence Recorder: Refresh next sequence regardless of internally stored sequence name. #jira UE-55757 Change 4003586 by JohnHenry.Carawon QAGame: Test Content Updates - Level Visibility track now ends to that the levels are not visible when we move to the next example - Shortened camera section, removed Z tranform so that we just move left to right and shortened the overall length Change 4004414 by Max.Chen Movie Scene Capture: Fix regression where rendering with shot handles would only render the first shot. 3972166 addressed an issue where an extra frame would be rendered by finalizing right when the end frame was reached. This was hit on the first shot end frame, so instead, do this only for when the last shot is being rendered. #jira UE-57314 Change 4004765 by Christina.TempelaarL Sequencer: Fixed bugs in FCP XML import/export. - Export: fixed sequence default resolution. - Export: fixed XML files with no shots. - Export: all sections clipped to playback range. - Export: fixed incorrect section start/end times due to precision issues. - Import: fixed incorrectly adding cinematic tracks. - Import: fixed bugs creating new sections. #jira UE-57660 #jira UE-57662 #jira UE-57655 #jira UE-57761 Change 4005119 by Max.Chen Sequencer: Export/import at play rate Change 4005195 by Max.Chen UMG: Finish UMG evaluation on stop. Added object version so that existing UMG assets do not change. #tests - Newly created UMG animation with sections set to restore state now return to their original state. Existing UMG animations with sections set to restore state do not return to their original state. #jira UE-52285 Change 4005377 by Michael.Karambelas QAGame: Moving TM-SequenceRecorder and related content out of my developer folder and into /Content/Sequencer/SequencerRecorder/* Change 4005417 by Michael.Karambelas QAGame: Fixed a BP compiler in the Level Blueprint of TM-SequencerRecorder. Change 4005634 by Michael.Karambelas QAGame: Fix up missing content and broken level sequence in TM-SequenceRecorder after move Change 4006324 by Max.Chen Sequencer: Reset if the focused movie scene is null. This fixes a crash if the user is focused in on a shot and undo takes the user past the point of where the shot was created. #jira UE-57752 #jira UE-47661 Change 4007006 by Max.Chen Sequencer: Fix FindAvailableRowIndex so that it returns the max row index (and not +1) since it doesn't find any conflicting rows. #jira UE-57717 Change 4007907 by Max.Chen Sequencer: Fix crash if there's no animation Change 4007948 by andrew.porter QAGame: added test content to dev folder for Record World Space Change 4008636 by Max.Chen Sequencer: Fix import fbx not setting values properly and creating additional cameras unncessarily. #jira UE-57864 Change 4008759 by Max.Chen Sequencer: Follow up fix for import cameras #jira UE-57864 Change 4009994 by Matt.Hoffman Dragging the left or right handles of the Time Range slider in Sequencer will now zoom your view in on the current center of the screen. This prevents the view from being translating as you tried to zoom in which caused issues at high zoom levels. #jira UESEQ-407 Change 4010169 by Christina.TempelaarL Sequencer: FCP XML fixes. - FCP XML export - no longer clips to playback range - FCP XML and EDL export - fixed missing last frame of some sections after exporting to Premiere. - Automated level capture, EDL export - use RoundToFrame instead of FloorToFrame for computing section start/end frames after frame rate conversion. #jira UE-57802 - partial fix, movie scene capture still needs to render full section rather than clip against playback. Change 4010287 by Mike.Zyracki Add quaternion interpolation option to UMovieScene3DTransformSection. This mimics how Matinee used to work by bascially finding the keys between a time and interpolating the angles as quat's between them. As noted in the code the algorithm needs to handle the case when the x,y,z Rotation keys all aren't at the same time which was not handled by Matinee. Also like Matinee, when in quaternion interoplation mode, we need to not display the function cuves since the interpolated and key values are now all different. (Would like to show them but that's a bigger refactor for perhaps just a one off needed by quaternions). I added a virtual function UMovieSceneSection::ShowCurveForChannel for this since it needs to be dynamic, not on construction of IKeyArea's, and could be useful for other sections. I could though move the method to just UMovieScene3DTransformSection and do a cast instead. Looked into doing a unit test for this but after talking with Andrew P we will work on doign an automated test in EngineQA since that will provide more coverage. Will also add a video the jira. #jira UESEQ-403 Change 4010713 by Mike.Zyracki Added option to key a group of transform channels instead of just the changed channel, or all of them. This is useful for quaternion interpolations where you want rotation keys to be aligned but also useful for other workflows like animating FK Pose to Pose. Change 4010715 by Andrew.Porter MediaFrameworkTest: Setting LogMediaUtils logging from VeryVerbose to Verbose to cut back on the spam Change 4013048 by Max.Chen Sequencer: Fix play/jump status. Update the player status for all position methods (Scrub, Jump, Play). Jump means Stopped. Correctly use PlayTo or JumpTo based on position method. In PlayInternal, JumpTo with the Stopped state (rather than playing state). #jira UE-57844 Change 4013479 by andrew.porter QAGame: Added content in TM-SequenceRecorder to test recording a property on a Cine Camera Component; Press 3 to trigger manual focus distance to increment on a timer Change 4014323 by Max.Chen Sequencer: Fix SetPlaybackPosition so that it jumps or plays based on playback status. #jira UE-57844 Change 4015888 by Max.Chen Sequencer: Fix crash on paste. UMovieSceneSections were gathered from the track node's track. For sub track mode, we want to gather only those sections on that track node row. #jira UE-57951 Change 4015943 by Max.Chen Sequencer: Fix moving shots up when the mouse pos goes outside of the virtual track area. #jira UE-57717 Change 4016293 by Max.Chen Sequencer: Fix relative frame playback end frame calculation so that custom start/end frames remain in the space of the sequence and are not relative. #jira UE-57308 Change 4017075 by Andrew.Rodham Sequencer: Corrected initial evaluation range used when calling UMovieSceneSequencPlayer::Play() Change 4017270 by Christina.TempelaarL Sequencer: FCPXML importer and movie scene capture - Use CeilToFrame when converting section start/end frame times to frame numbers in FCPXML and movie scene capture. - Added support for clip metadata in FCPXML. - Got rid of redundant TokenizedError message class, no longer needed now that FCPXML is in editor directory. - Added log messages currently commented out due to exception, still testing. #UESEQ-358 Change 4018370 by Christina.TempelaarL Sequencer: fixed FCPXML log messages regarding sections with start/end not divisible by display rate. #UESEQ-358 Change 4018378 by Christina.TempelaarL Sequencer: fixed error in previous changelist. #UESEQ-358 Change 4019457 by Max.Chen Sequencer: Show event names only when the event track is selected #jira UE-57897 Change 4022806 by Max.Chen Sequencer: Fix crash on movie scene capture dialog shutdown if movie capture wasn't even started. #jira UE-58106 Change 4022894 by Max.Chen Sequence Recorder: Wrap OpenEditorForAssets after sequence recording within GIsEditor #jira UE-58084 Change 4024487 by Max.Chen Sequencer: Add tooltip for quat interpolation #jira UE-58113 Change 4024562 by Max.Chen Sequencer: Change path/attach track sequence binding id to currently focused sequence id so that bindings can be created in subsequences Change 4027414 by JohnHenry.Carawon QAGame: Checking in content that shows a bug with using particles systems and Delay Before Shot Warm Up. Change 4028990 by Max.Chen Sequencer: Fix evaluate sub sequences in isolation. This check was added with the compile on the fly logic. Not sure why it was necessary but it seems like the sub sequence data needs to be updated in order to evaluate sub sequences in isolation. #jira UE-58184 Change 4029004 by Max.Chen Sequencer: Ensure that old binding references are removed when re-assigning actors in sequencer #jira UE-57898 Change 4030997 by JohnHenry.Carawon QAGame: Fixing name of the master sequence Change 4031785 by Michael.Karambelas QAGame: Added an instance of ThirdPerson Run to TM-SequenceRecorder for Record to Possessable test. Change 4035548 by Andrew.Rodham Sequencer: Changed FMovieSceneEvaluationTemplate::TemplateSignature to be a serial number to address non-deterministic cooking issues - This commit is related to the repro steps found in 3914599 and 3934307, both of which have been verified with this new change. - Copy of 4031684 from //Fortnite/Main/... #jira FORT-84852 Change 4036312 by Max.Chen Sequencer: Fix zoom view range so that it uses the passed in InZoomDelta Change 4036318 by Max.Chen Sequencer: Auto size now returns a range and defaults to the channel proxy range so that keyed regions can also be autosized. Change 4036322 by Max.Chen Forgot missing change Change 4036360 by Max.Chen Sequencer: Fix play rate calculation when skeletal animation section play rate changes. Change 4037163 by Mike.Zyracki Weighted Tangent Implementation Tricky thing is that you need to solve a cubic in order to get the bezier weights for the time part of the curve. See https://www.gamedev.net/forums/topic/474094-help-function-curves-for-animation-interpolation/ Maya provides an implementation in it's dev kit but I didn't use it since it was horribly slow and uses an iterative solution to solve the cubic needed. Instead I use an old algorithm (Cardano's method), to solve the cubic which should be much faster. Though relative simple to code from principles I just went ahead and used a version from Graphics Gems 1. I put this cubic solver directly in MovieSceneFloatChannel.cpp, but will need to move it when we support Rich Curve, maybe to FMath:: (which would probalby require some other functions for solving quartics, etc.. for completeness.). Also note we resolve this on every evaluation but dont' need to if the interval the time is evaluating hasn't had any change in values or tangents. So again when we support FRichCurve we can create a Weighted Evaluating class that can hold the cache. Also with the tangent drags I got rid of the Cardinal position that was used to calculate non-weight tangents from the key point and just quickly getting a direction. With weighted tangents we need to use the delta instead (otherwise when moving multiple they would all get the same weight based upon distance to the cardinal point. ) For mixed tangents types what I'm defaulting to non weighted if the interval doesn't match. May need to do weighted instead, not sure. What's left is just FBX import, for tomorrow. #jira UESEQ-76 Change 4037435 by Mike.Zyracki Fix fo build warnings from weighted tangent submission. #trivial Change 4038091 by Michael.Karambelas QAGame: Updated a Sequence Recorder group in TM-SequenceRecorder that had an actor missing the animation. Change 4038374 by Andrew.Rodham Sequencer: Refined scrubber styling for level sequences and actor sequences - Scrubber now shows a block the width of a dsplay rate frame, plus a line for the actual evaluated time. UMG reverts back to the previous styling (no block) - Keys that are outside of the playback range are now drawn with a subdued effect - Tick labels are no longer drawn when directly underneath the scrubber Change 4038490 by Max.Chen Sequencer: Expose tangent weight values in details panel. Change 4038620 by Andrew.Rodham Sequencer: Advanced time panel polish #jira UESEQ-426 Change 4038677 by Max.Chen Movie Scene Capture: Redirector for MovieSceneTools.AutomatedLevelSequenceCapture #jira UE-58248 Change 4039739 by Max.Chen Sequencer: Media track should only be supported by Level Sequence Change 4040024 by JohnHenry.Carawon QAGame: Fix EventReciever and OverrideBinding example The level sequence was set to none so the fix was to set it back to TrackEvaluation_Master. Change 4040610 by Andrew.Rodham Curve Editor: Moved weighted tangent switchers to a single toggle command (CTRL+W) and added an icon #jira 58383 Change 4040882 by Mike.Zyracki Keep broken when turning on weighted #jira UE-58435 Change 4041089 by andrew.porter QAGame: Sequence for Long Tangents bug Change 4041498 by Mike.Zyracki Turn off weighted when going auto to prevent large tangents. Do it both in UI and when doing AutoSetTangents() to really make sure it doesn't happen. #jira UE-58452 Change 4041752 by andrew.porter MediaFrameworkTest: Adding some better logging for setting rates when not supported. Also ignoring commiting URL when there is no text Change 4041896 by Matt.Hoffman The transform dialog box now transforms selected keys and sections, instead of just keys. #jira UE-58265 [CL 4044405 by Max Chen in Main branch]
2018-05-02 10:10:00 -04:00
return Metrics;
}
Copying //UE4/Dev-Editor to //UE4/Dev-Main (Source: //UE4/Dev-Editor @ 3807299) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3528776 by Yannick.Lange Allow thumbnails to be captured from a viewport always. #jira UE-45392 Change 3564359 by Yannick.Lange Back out part of changelist 3528776: Revert allowing thumbnails to be captured from a viewport to fix UE-47827 & UE-47785. #jira UE-47785, UE-47827 Change 3740671 by Matt.Kuhlenschmidt Make the font editor canvas respect dpi scale Change 3740810 by Josh.Engebretson PR #4138: Log GenerateProjectFiles to file when using UVS (Contributed by projectgheist) #jira UE-51358 Change 3740939 by Cody.Albert Fixing some #ifdefs that should be #ifs Change 3741089 by Alexis.Matte Make sure bImportBoneTracks is set to true when importing into level #jira UE-51999 Change 3741101 by Alexis.Matte Fix the import material search #jira UE-51857 Change 3741690 by Jamie.Dale Guard against an invalid index in SLocalizationCommandletExecutor::Tick #jira UE-52067 Change 3741710 by Jamie.Dale Made a static variable also const Change 3741724 by Michael.Dupuis Added missing shader cache Change 3742037 by Lauren.Ridge Details panels can now "own" a color picker so a different details panel refreshing doesn't close it. Also fixed refreshing state of the graph after changing texture or color parameter values Change 3742250 by Matt.Kuhlenschmidt PR #4185: Output Log Filter tooltip shows %s instead of category. (Contributed by LordNed) Change 3742308 by Lauren.Ridge Adding axis input to the material editor's viewport client Change 3742380 by Matt.Kuhlenschmidt USD importer improvements - USD now stores source file information for reimports - Fixed bug where no geometry would be imported if an exporter had set a time code even without animated data - Prevent a crash if a mesh doesnt have enough valid data to be imported Change 3742536 by Matt.Kuhlenschmidt Remove usd wrapper test project Change 3743564 by Alexis.Matte Fix skeletal mesh screen size auto set value when importing a LOD #test none #jira UE-52100 Change 3743582 by Lauren.Ridge Fixing non-desktop compiles Change 3743598 by Lauren.Ridge Fixing shadowed variable by renaming the global color picker weak ptr variable. Change 3743636 by Lauren.Ridge Creating a new parameter immediately allows naming Change 3743855 by Michael.Dupuis Added missing shader from cache Change 3744277 by Lauren.Ridge Don't show empty Global group if it only contained the material layer param. Change 3744330 by Lauren.Ridge Clarifying "no parameter" text Change 3744529 by Lauren.Ridge Making Save to Child and Save To Sibling buttons work for material layer params, show on material layer param panel Change 3744668 by Chris.Bunner Added shared layer input collection asset, a list of float/texture redirectors that allow setting globally in a material graph then retrieving within layer/blend graphs. Added output for number of unique shaders generated by a particular material instance. Show instruction counts when working on a material layer. Relaxed restrictions on material layers, base MA input is now optional. #jira UETOOL-1271, UETOOL-1278, UETOOL-1279 Change 3744669 by Chris.Bunner Added automated test for material layers, layer/blend instances and shared inputs. Change 3744754 by Laz.Matech Adding localization data to QAGame for the Realtime Preview localization test. #jira none Change 3744860 by Michael.Dupuis #jira UE-52049 : Do not update random stream in most case, only when adding new instances, or filling from built data Change 3744965 by Chris.Bunner Rebuilt lighting in automated test map and updated reflection capture screenshot. Change 3746015 by Michael.Dupuis #jira UE-52090: Added missing shader for forward rendering Change 3746038 by Michael.Dupuis #jira UE-51494: Make sure index is valid for this instance as instances from template and instance could mismatch due to in level changes Change 3746076 by Michael.Dupuis Removed unused code Change 3746998 by Tim.Gautier QAGame: - Renamed UMG_RealtimePreview > UMG_InEditorPreview - Moved UMG_InEditorPreview into UMG > Localization, setting up for future Localization tests Change 3747206 by Arciel.Rekman Linux: make UI scale more coarse to prevent unnecessary scaling (UE-52086). - Monitors whose physical dimensions fall in range of 80-110 DPI should still have scale=1.0. (Edigrating CL 3740942 from Release-4.18 to Dev-Editor) Change 3747211 by Arciel.Rekman Make failure to launch SCW more apparent to the user (UE-47263). - Fixes frequent crash on Linux. (Merging 3747070 from Release-4.18 to Dev-Editor) Change 3747726 by Tim.Gautier QAGame: Resubmitting updated Loc files Change 3747872 by Tim.Gautier QAGame: Resubmitting compiled Loc assets Change 3748118 by Lauren.Ridge Adding help text to the material layers preview tab Change 3748398 by Lauren.Ridge Fixing tooltips for the material layer read-only preview Change 3748565 by Arciel.Rekman Linux: fix RHIs settings being wrong when removed via project properties (UE-51203). - This was a deeper issue with config system than just Linux RHIs. - This is a better fix than one submitted to 4.18 branch in CL 3747086. Change 3749441 by Matt.Kuhlenschmidt PR #4201: Fix a typo in a comment. (Contributed by dneelyep) Change 3749442 by Matt.Kuhlenschmidt PR #4195: Incorrect specifier used for FText::Format (Contributed by projectgheist) Change 3749496 by Matt.Kuhlenschmidt Fix static analysis Change 3749805 by Lauren.Ridge Fixing reset to default on MaterialLayerParam in base material Change 3749838 by Lauren.Ridge Also correctly resetting names and layer states Change 3750442 by Mieszko.Zielinski Added a safety check which addresses the crash #UE4 Note that this is a temp fix. A proper fix is making sure ConvexShapeIndices doesn't contain any duplicates and will be inplemented in Dev-Framework. #jira UE-52123 Change 3752266 by Arciel.Rekman OpenGL: remove PLATFORM_WINDOWS exceptions. - Discrepancy in behavior between Windows and Linux OpenGL is unhelpful for bug reproducibility. - VAB bug should have been fixed long ago (on both platforms). Change 3752929 by Arciel.Rekman Linux: avoid crashing on unknown drivers. - See https://answers.unrealengine.com/questions/724100/crashes-on-startup-after-first-run.html - Checks in IsDeviceIntel() and such fail if the drivers were not detected. Change 3753254 by Michael.Dupuis Added missing shader for shader cache Change 3753426 by Michael.Dupuis #jira UE-5751: Added the possibility to change material instance exposed params at runtime using a MID for texture, vector and scalar for 1 component or all components Change 3753440 by Alexis.Matte Fix fbx scene importer morph target import crash #jira UE-52255 Change 3753457 by Michael.Dupuis build fix Change 3753700 by Chris.Bunner Make GetSharedInput preview fallback always available in editor as this should handle previews, thumbnails and other editor-only cases. Refactor to remove duplicate code in material translator. Material layer expressions are required for client load, fixes cooked builds using layer instances in the base material layer stack. Change 3754760 by Chris.Bunner Tidying up EngineTest/ShaderModels map. Change 3754765 by Arciel.Rekman Avoid placing tooltip windows under the cursor (UE-12288). - Fixes inability to use some corners of the screen on Linux (the tooltips there aren't click-through). Change 3754788 by Matt.Kuhlenschmidt Fix details panel crash after compiling blueprints that have edit conditon properties Change 3754933 by Christina.TempelaarL Fixed typo in heightLerp (transistion->transition). #jira UE-46736 Change 3754946 by Cody.Albert Update loading movie code to properly calculate delta time when throttled at 60fps Change 3755059 by Jamie.Dale Fixed game preview language not updating in realtime while PIE was enabled #jira UE-52209 Change 3755130 by Jamie.Dale Fixed game preview language not updating from native when switching between preview languages #jira UE-52348 Change 3755664 by Michael.Dupuis Fixed compile warning Change 3755714 by Yannick.Lange Always allow capturing thumbnails from viewport. This also hides the thumbnail editing UI when a thumbnail was captured from a viewport. Change 3755944 by Alexis.Matte Fix crash when importing morph target with "built in" tangent option #jira UE-52319 Change 3756109 by Christina.TempelaarL fixed FBX importer Import Textures tooltip, UMaterial -> Material in tooltip text #jira UE-48389 Change 3756169 by Jamie.Dale Added plural form pattern to SContentBrowser::GetPathText Change 3756493 by Laz.Matech Updating Localization content to further test InEditor Preview Language in UMG #jira none Change 3758336 by Alexis.Matte Fix a crash when importing morph target there was a unsync between some buffer depending on the import options #jira UE-52319 Change 3758947 by Jamie.Dale Fixed cursor position regression in search boxes This was caused by a call to SetText that was added in CL# 3627864 This caused the text to update as it was changed, which made the cursor jump to the end of the text and made it impossible to type in the middle of a search term. This was done as a bound FText value had been passed to the InitalText of SSearchBox, which made the text resolution behave strangely. InitalText should always be a value, and SSearchBox now resolves any bindings during its constructor. #jira UE-48874 Change 3759000 by Laz.Matech Submitting the .PO file for CL 3756493 #jira none Change 3759480 by Matt.Kuhlenschmidt Safe guard against brush details crash #jira UE-52278 Change 3759665 by Matt.Kuhlenschmidt PR #4214: UE-52249: Use valid PreviewShadowsIndicatorMaterialName (Contributed by projectgheist) Change 3761211 by Matt.Kuhlenschmidt Remove the restriction that a level must be writable to be locked/unlocked. Fixed duplicate icons being used by the level browser Change 3761304 by Chris.Bunner MaterialAttributeLayers graph node BaseMA input is no longer required. Note: Requires "Use Preview Value" set to true on inputs. Change 3761307 by Chris.Bunner New material layers and blends will have "Use Preview Value" set to true by default to avoid the need for connected inputs - Missed file on previous commit. Change 3761357 by Chris.Bunner Renamed material shared input enum. Change 3761419 by Chris.Bunner Updating material layers automated test assets after recent changes. Reverted some naming changes so existing screenshot tests can be reused. Change 3762058 by tim.gautier QAGame: Adding Material Layer assets for testing (Content/Materials/LayerFunction) Change 3763328 by Matt.Kuhlenschmidt Fix Slate warning at editor startup Change 3763354 by Alexis.Matte Fix skeletal mesh material assign when reducing a LOD that was import from a file using simplygon reduction #jira UE-52505 Change 3763501 by Matt.Kuhlenschmidt Prevent shared asset thumbnail pools from having their resources forcefully released when they are in use. ReleaseResources is now private and only called on destruction of the pool Change 3763574 by Matt.Kuhlenschmidt Fix slate material box brushes not being keyed off image size #jira UE-40219 Change 3763678 by Jamie.Dale Disable realtime level editor viewport if running under remote desktop This makes the main editor window much more responsive by default under remote desktop Change 3763679 by Jamie.Dale Added asset caching metrics for the loc gather Change 3763693 by Matt.Kuhlenschmidt Changed the code that activates the actor details tab when selection changes to a flash. There are simply too many things that change the selection and steal focus away from a tab being used #jira UE-51754 Change 3763826 by Michael.Dupuis Fixed Fortnite cooking crash Change 3763864 by Harrison.Moore Adding New Default 'LayerBlend' assets Change 3764028 by Christina.TempelaarL #jira UE-47695 Auto LOD bug Moved the sections dropdown to the LOD Picker category and modified Custom cb behavior, based on suggestions from charlie. Change 3764031 by Christina.TempelaarL #jira UE-47695 Auto LOD in StaticMeshViewer moved LOD combo widget to LOD picker category and hide custom checkboxes until custom checked. Change 3764076 by tim.gautier QAGame: Submitting UMG_Multitouch_test for initial Multitouch testing Change 3764263 by Matt.Kuhlenschmidt Fix the floor mesh thumbnail Change 3764284 by Chris.Bunner Removing some asserts for cases that can validly fail and are already handled. Change 3764372 by Matt.Kuhlenschmidt PR #4196: Show edit icons in editor (Contributed by projectgheist) Change 3764388 by Chris.Bunner Fixing logic for material, function and instance updating active materials and instances and their editors. Change 3764674 by Harrison.Moore test materials added, Blend updates Change 3764681 by Harrison.Moore Adding HMtest map Change 3766238 by Chris.Bunner Material layer callers need to let their internal material function calls update their inputs/outputs. Change 3766556 by Jamie.Dale Fixed crashes that could happen if some of the data table panels were closed We now always create the underlying widgets, even if they're currently hidden from view #jira UE-52552 Change 3767753 by Chris.Bunner When rebuilding a material function instance editor we must re-create and re-apply the proxies as the expressions have likely changed. Take care to maintain local parameter changes as these have not been saved yet. Change 3768719 by Michael.Dupuis #jira UE-52521: Prevent possible crash if a segment have no point or invalid point Change 3769157 by Jamie.Dale Fixed incorrect text selection if selecting via double click beyond the bounds of the line It would previously select the second to last word, rather than the last word #jira UE-51609 Change 3769159 by Harrison.Moore Belica Test update, New layer blends updated with texture type fix. Change 3769205 by Jamie.Dale Fixed Windows file save dialog not appending the correct extension when there were multiple options available #jira UE-52180 Change 3769220 by Harrison.Moore Layer blend tweaks Change 3769292 by Jamie.Dale Removing redundant code Applying the correct package ID, only to then strip it off again is rather pointless Change 3769479 by Arciel.Rekman UBT: Use response files for compiler when compiling for Linux. - Some command lines are too long when cross-compiling on Windows. Change 3769920 by Arciel.Rekman Linux: convert yet another initialization crash to a user-friendly message (UE-52457). #jira UE-52457 Change 3771055 by Alexis.Matte Make sure we set the Used by morph target material flag to material use by the morphtarget instead of all skinned mesh component Use the morph vertex factory only for section that has active morph target #jira UE-51483 Change 3771135 by Michael.Dupuis Fixed fortnite cooking Change 3773054 by Yannick.Lange Avoid loading viewport interaction assets when starting the editor. Change 3774184 by Arciel.Rekman Linux: disabled some gdb visualizers until the issue is fixed. - CL 3773942 by CengizT. Change 3774303 by Matt.Kuhlenschmidt Pull requests to fix various typos Change 3774305 by Matt.Kuhlenschmidt PR #4237: Visual Studio Repeatedly Opens (UE-51608) (Contributed by LordNed) #jira UE-51608 Change 3774701 by Arciel.Rekman OpenGL: fix ARB callback errors when hitting Build Lighting. - Merged from 4.18 shelf. Change 3775812 by Matt.Kuhlenschmidt Fix One-off crash undo-ing while working with Material Params / Material Functions #jira UE-52680 Change 3775849 by Matt.Kuhlenschmidt More info for UE-52610 Change 3775850 by Matt.Kuhlenschmidt Guard against mesh paint crashes #jira UE-52618 Change 3775904 by Matt.Kuhlenschmidt Added logging to track down window shutdown issues Change 3775913 by Matt.Kuhlenschmidt Pull requests for typos #jira UE-52751, UE-52748 Change 3776676 by Jamie.Dale Fixed being able to insert tabs into spin boxes with units #jira UE-52776 Change 3777006 by Michael.Trepka Process Mac windowDidBecomeMain and windowDidResignMain notifications immediately instead of deferring them. This solves issues with Slate code that closes and immediately opens new menu windows. Previously closing a window would schedule menu parent's activation event that could be processed after another menu's creation, making it immediately disappear. #jira UE-52145 Change 3777170 by Arciel.Rekman Linux: use Xft.dpi (most desktop environments expose their scale through that) as a DPI value (UE-52086, UE-52766). - Change by Brandon.Schaefer. - Limitation: no per-monitor DPI. (Edigrating CL 3776509 //UE4/Release-4.18/... to //UE4/Dev-Editor/...) Change 3777292 by Arciel.Rekman Linux: fix symbol collision causing problems with AMD drivers (UE-51843). - We cannot have elf_end() hidden, because libcuda.so calls elf_end from libnvidia-fatbinaryloader.so and this breaks linking monolithic binaries ("hidden symbol referenced in DSO"). - We cannot have elf_end() visible, because of a name collision with a different libelf used by AMD drivers. - The only possible workaround is to have elf_end() renamed. (Edigrating CL 3777242 from //UE4/Release-4.18/... to //UE4/Dev-Editor/...) Change 3777686 by Joe.Conley Blueprint editor variable type tooltips: fix case mismatch that was preventing type name to be displayed properly in soft object/class reference tooltips. Change 3778180 by Jamie.Dale Avoid a crash if a regex pattern or matcher outlive ICU during shutdown #jira UE-52770 Change 3778182 by Jamie.Dale Avoid a crash if a break iterator outlives ICU during shutdown Change 3778368 by Jamie.Dale Added missing pragma once Change 3778560 by Matt.Kuhlenschmidt Prevent non-shared DDC notification from triggering for epic internal builds Change 3778709 by Lauren.Ridge Copying 4.18.2 array reordering propagating to children fix (originally 3778547) Change 3779205 by Lauren.Ridge Duplicating 3776649 to fix a crash on compile due to partial GC of a widget. #jira UE-52260 Change 3779217 by Brandon.Schaefer GitHub #3678 Fix Setup.sh handling of special characters in PNG path #jira UE-46103 Change 3779341 by Brandon.Schaefer GitHub #3012 Use elemtry OS versions to set the ubuntu versions for depencies #jira UE-39364 Change 3780274 by Joe.Conley DataTables: Add documentation tooltips showing type information to header columns Change 3780840 by Alexis.Matte Do a re-import when user re-import LOD 0 Prevent importing more then MAX_SKELETAL_MESH_LODS #jira UE-52373 Change 3781067 by Arciel.Rekman Linux: fix OSSSteam cross-compilation (and CIS). - Broken by previous change that put compile-time arguments into response file and bulk-replaced \ with /, which affected things like Definitions.Add("STEAM_SDK_VER_PATH=TEXT(\"Steam" + SteamVersion + "\")"); Change 3781110 by Christina.TempelaarL #jira UE-47695 moved Static Mesh Editor LOD menu from tools to viewport tool bar Change 3781531 by Christina.TempelaarL #jira UE-47695 added LOD menu to Static Mesh Editor viewport Change 3781663 by Alexis.Matte Fix for cancel export fbx when previewing animation sequence export #jira UE-49743 Change 3782007 by Jamie.Dale Improved the ability to lockdown available game languages In addition to the previous "DisabledCultures" array, you can now add an array of "EnabledCultures" (using the same per-build config filters) to explicitly list the cultures that are allowed to be used in your build (if the list is empty, then everything is allowed unless otherwise disabled). This also stops the game from attempting to fallback to the native language if the native language has been disabled (we will fallback to the first available language instead). Change 3782122 by Jordan.Walker test assets for material layers Change 3782131 by Joe.Graf Added support for IOS and TVOS targets when generating CMake files on Mac Change 3782218 by Christina.TempelaarL fixing include paths and capitalization causing build errors. Change 3783171 by Michael.Dupuis Added the possibility to override default LOD rules for visible primitive and whole scene shadow casting primitive Added the possibility to store Custom data per view for the frame duration Change 3783172 by Michael.Dupuis #jira UE-35097 : Refactored landscape rendering logic to improve general performance while using new custom data and custom lod feature Exposed many new settings to control component using sub sections rendering, tessellated component, shadow should be include into tessellation, tessellation falloff based on camera location Changed how LOD distribution is done to be in screen size instead of distance. Give the possibility to have a different distribution for LOD0 vs the other one. Change 3783174 by Michael.Dupuis missing file to landscape refactor Change 3783315 by Lauren.Ridge Changing a parameter in the Material Parameter Panel now dirties the material correctly. Changing a layer parameter in the Material Instance Editor now refreshes the details panel as well. Change 3783374 by Chris.Bunner Adding MaterialSharedInputCollection to hidden list when MaterialLayers disabled. Change 3783617 by Chris.Bunner Added a Channel Mask material expression parameter. Wraps up a vector parameter and dot product with a single channel selection interface, internally a regular vector parameter. Fixed GetSharedInput failing to return the preview texture in the Function Instance editor. Change 3783676 by Lauren.Ridge Adding access to a material function instance's parent in the Material Instance Editor Change 3783751 by Michael.Trepka PR #4248: Fixed C++ std in generated Xcode project to match rest of engine (C++14) (Contributed by Bo98) Change 3783971 by Brandon.Schaefer Rename/Move all deploy/Deploy folder/files into AlembicDeploy. Due to case sensitivity on linux, need to maintain the correct case. #jira UE-37631 Change 3783992 by Michael.Dupuis #jira UE-35097: Remove tessellation on editor tools Fixed a case where tessellation multiplier at 0 would cause the component to not be visible Fixed minor tessellation falloff calculation error Change 3784502 by Chris.Bunner Restored missing bool setter. Coding standards fix. Change 3784614 by Arciel.Rekman Linux: better error message when running out of inotify watches (UE-50459). #jira UE-50459 Change 3784620 by Chris.Bunner Updated LayerBlend_TextureMask to use new ChannelMask parameter. Change 3784725 by Lauren.Ridge Fixing groups not sorting correctly Change 3785645 by Chris.Bunner Non-editor compile fix. Change 3785666 by Arciel.Rekman Linux: restore ability to use Wayland instead of X11. - SDL libs recompiled and Wayland version is set to lower one to be compatible with the compositor shipped on Ubuntu 16.04 LTS - Change by Anthony.Bills. Change 3785708 by Arciel.Rekman Linux: implement voice capture using SDL (non-server only) (UE-51298). - Based on pull request #4131 by mkirzinger. Change 3785878 by Arciel.Rekman UBT: add VSCode to default generators on Linux. Change 3786058 by Arciel.Rekman Do not add dependencies on other RHIs for servers (UE-48894). - Pull request #3944 contributed by pfoote. #jira UE-48894 Change 3786845 by Arciel.Rekman Code changes to make gcc support easier (UE-51978). - Contributed by a licensee (pull request #4181 by tomwardio "Collection of fixes to allow UE4 to be compiled by GCC on Linux"). Change 3786871 by Matt.Kuhlenschmidt Fix static analysis Change 3786883 by Matt.Kuhlenschmidt Fix HTML5 Change 3786923 by Matt.Kuhlenschmidt Fix engine layer blend asset referencing game content. This is not allowed #jira UE-52888 Change 3786927 by Brandon.Schaefer Linux: Alembic support #jira: UE-37631 Change 3786994 by Arciel.Rekman Remove support for /-prefixed switches (UE-47429). - They collide with absolute file paths on Mac/Linux and a source of inconsistencies between platforms. #jira UE-47429 Change 3787032 by Michael.Trepka Initial support for building and running Niagara on Mac Change 3787035 by Brandon.Schaefer GitHub #4166 Undef GL entrypoint macros after use #jira UE-51663 Change 3787144 by Lauren.Ridge Fixing material parameter group association resetting after undo #jira UE-52514 Change 3787839 by Jordan.Walker updated engine level layer blends to not include game content switched them to use Chris B's new mask selection node Change 3787967 by Lauren.Ridge Fix for broken layer groups, related crash Change 3787991 by Lauren.Ridge Fixing thumbnails for material function instances, resolving not being able to delete new function instances #jira UE-52967 Change 3788226 by Michael.Trepka Fixed a deadlock when closing Mac CrashReportClient which resulted from changes in CL 3777006 #jira UE-53002 Change 3788557 by Brandon.Schaefer Fix shadow compiler warnings around our includes Change 3789700 by Lauren.Ridge Experimental setting for turning on Material Layers - off by default. Change 3789703 by Jamie.Dale Harden the LocMeta and LocRes loading to prevent loading files that are too new Change 3789706 by Jamie.Dale Added localization ID to the package summary This will allow the localization gatherer to query it without having to load the entire package Change 3789708 by Jamie.Dale Added a way to display and reset the package localization ID via the Content Browser Change 3789709 by Jamie.Dale Added warning for duplicate package localization IDs when gathering asset localization Change 3789713 by Jamie.Dale Special case zero-width space in the text shaper to avoid fonts rendering the fallback glyph Change 3789736 by Christina.TempelaarL Fixed recently-introduced StaticMeshEditor bug - changing LOD dropdown menu selection was not changing LOD sections category. Change 3789853 by Chris.Bunner Material instances should return overridden values when the caller is requesting the default, not leaving the request to fall through to the base material. #jira UE-52796 Change 3790185 by Brandon.Schaefer Add better error handling when using new SDK for linux on windows. #jira UE-50527 Change 3790195 by Jamie.Dale Fixed line-ending inconsistency when retrieving rich-text We were using LINE_TERMINATOR when getting the offsets, but \n when getting the text Change 3790473 by Chris.Bunner When finding expression by GUID, only return FunctionCall result if expression was found. Fixes cases where searched-for expression is after a FunctionCall in the expressions list. #jira UE-52729 Change 3790650 by Arciel.Rekman UBT: Linux: print build details first before refusing to build. - Tweak to the previous feature that we forgot. Change 3790681 by Arciel.Rekman UBT: Linux: tweaks to wording (SDK -> toolchain). Change 3791459 by Brandon.Schaefer Linux: libcurl rebuild for version 7.57 #jira OGS-870 Change 3791533 by Arciel.Rekman Better error messaging when UMB is unusable (UE-50658). - Should be replaced by a better fix, but merging this workaround in case the better fix will not be done in time for 4.19. (Edigrating CL 3789387, 3789787 from Release-4.18 to Dev-Editor) Change 3791885 by Matt.Kuhlenschmidt Fix static analysis #jira UE-53097 Change 3791910 by Brandon.Schaefer Fix for not using proper libraries on x86_64 for libcurl #jira OGS-870 Change 3792017 by Jamie.Dale Fixed a conflict between the path settings and favorite settings Change 3792022 by Jamie.Dale Fixed a crash that could happen when performing ARO on the property chains of a struct #jira UE-52999 Change 3792025 by Jamie.Dale Changed package summary localization ID to be versioned by the object version to avoid changing data in unversioned cooked assets Change 3792066 by Michael.Dupuis #jira UE-5751: Fixed possible crash when using dynamic matrial instance Added missing shaders for landscape when using tessellation Change 3792718 by Arciel.Rekman OpenGL: bringing back Windows workarounds to unblock copy-up (UE-52534). #jira UE-52534 Change 3793018 by Mike.Erwin new glTF importer plugin Import StaticMesh, Material, and Texture assets from the Khronos glTF 2.0 format. Text (.gltf) and binary (.glb) files are supported. Limitations: - There is no options UI. All assets from the file are imported. - The glTF format can describe animation and whole scenes, but the initial version of this plugin does not attempt either. - Data encoded as Base64 data URI is not supported. This is uncommon but is part of the glTF spec. #jira: UE-50695 Change 3793626 by Matt.Kuhlenschmidt Logging for HTML5 issue Change 3794034 by Matt.Kuhlenschmidt Fix CIS Change 3794271 by Michael.Dupuis #jira UE-53133: Fxed shadow calculation when using non whole scene shadow Change 3794273 by Chris.Bunner Function call material nodes should be created with no outputs by default. #jira UE-53127, UE-53128, UE-52616 Change 3794334 by Lina.Halper - Fix animation reinitializing when just setting new animation with single node - Deprecated GetScalarParameterDefault and replace that with GetScalarParameterDefaultValue #jira: UE-52796 Change 3794338 by Michael.Dupuis Fixed lod visual popping when texture mip used for landscape is not ready Change 3794350 by Mike.Erwin Fix glTF importer header includes. Build was failing on Linux. Change 3794357 by Michael.Dupuis #jira UE-53166: buildfix: removed phase 2 landscape optim leftover... Change 3794549 by Michael.Dupuis #jira UE-53166 : fixed compile error Change 3794755 by Matt.Kuhlenschmidt Fix automation warning Change 3794910 by Lina.Halper Change material default value to be red to keep the behavior same. - Previous code was getting default value of parent, which was wrong, but now since we're grabbing correct value, it's not doing what it meant to do. Changed content to keep same value as parent as default. Change 3795296 by Mike.Erwin glTF: fix Linux build errors A variable was being shadowed. The other errors are due to an obscure corner of the C++ spec which clang enforces. https://stackoverflow.com/questions/21900237/do-i-really-need-to-implement-user-provided-constructor-for-const-objects #jira UE-53204 Change 3797313 by Chris.Bunner Re-built lighting in Rendering/ShaderModels automated test map and updated failing screenshots. #jira UE-53198 Change 3803962 by Jamie.Dale Fixed struct instances not comparing against the correct default values when gathering for localization Change 3804771 by Michael.Dupuis Back out changelist 3783171 Change 3804772 by Michael.Dupuis Back out changelist 3783172 Change 3805258 by Michael.Dupuis Added missing shader cache for landscape Change 3806105 by Matt.Kuhlenschmidt Disable harware benchmarking during automation tests, commandlets, and on the build machine Change 3806438 by Michael.Dupuis #jira UE-53228: Fixed rendering path of new landscape optim when using GDoInitViewsLightingAfterPrepass(used in Orion) Change 3806577 by Matt.Kuhlenschmidt Change plugin uploading to crash reporter to only do so in editor builds Change 3806588 by Michael.Dupuis Remove temp test version in landscape version Change 3806900 by Jamie.Dale Fixed 'inconsistent DLL linkage' error when using older versions of Python 2.7 #jira UE-53353 Change 3807125 by Jamie.Dale Fixed UBT warning after Dev-Core merge Change 3807299 by tim.gautier QAGame: Checking in test asset M_LandscapeMaterial_Foliage, quicker repro for UE-53442 [CL 3807911 by Matt Kuhlenschmidt in Main branch]
2017-12-14 10:07:13 -05:00
struct FSequencerTimeSliderController::FDrawTickArgs
{
/** Geometry of the area */
FGeometry AllottedGeometry;
Copying //UE4/Dev-Editor to //UE4/Dev-Main (Source: //UE4/Dev-Editor @ 3497164) #lockdown Nick.Penwarden #rb none ===================================== MAJOR FEATURES + CHANGES ===================================== Change 3433074 by Matt.Kuhlenschmidt Fix crash when clicking on certian tutorial blueprints. #jira UE-44593 Change 3433075 by Matt.Kuhlenschmidt Remove hittest grid log spam. The underlying problem causing this has been fixed Change 3433077 by Matt.Kuhlenschmidt Fix lighting becoming unbuilt when mesh painting #jira UE-44837 Change 3433081 by Matt.Kuhlenschmidt PR #3553: Crashfix for static array properties (Contributed by Pierdek) Change 3433104 by Alexis.Matte Make sure re-import skeletal mesh follow the import morph option #jira UE-42846 Change 3434825 by Matt.Kuhlenschmidt Fix crash when GC happens while the vr editor radial menu is open. Change 3434831 by Matt.Kuhlenschmidt Added missing file Change 3434868 by Shaun.Kime If you have a reroute node between a Material Function texture input and its usage, the parent material will fail to resolve the reroute node. #jira ue-44670 Change 3434998 by Alexis.Matte Meshes editors material/section panel are now fully transactional - Staticmesh editor: section material slot, section cast shadow, section collision, material slot instance, material slot name - Skeletal mesh editor: material slot instance, material slot name Also fix some transaction description #jira UE-44462 Change 3435195 by Jamie.Dale Fixed incorrect handling of some LTR scripts that require shaping These scripts need to go through HarfBuzz, and this also fixes a case where HarfBuzz wasn't applying font scale correctly. #jira UE-44767 Change 3435199 by Jamie.Dale Fixed some crashes/artifacts with bidirectional text It was possible for a line to compute an incorrect range, which could cause crashes or other highlighting issues. The highlighting logic has also been updated as the old code didn't handle all bidirectional cases correctly. Change 3435200 by Jamie.Dale Fixed a grapheme cluster metrics issue in the font editor viewport The viewport also now respects the default shaping method CVar. Change 3435771 by Alexis.Matte Fix degenerated bounds calculation for skeletalmesh when the skeleton is remove from a re-import (PhysicAsset API change, adding 1 function) #jira UE-44609 Change 3436856 by Jamie.Dale Added some missing Unicode block ranges Change 3436914 by Jamie.Dale Adding some missing combining character ranges to the text shaper Change 3436923 by Alexis.Matte PR #3463: Get bounds for all triangles, not just the first one. WedgeIndex was . (Contributed by DaveC79) #jira UE-43764 Change 3436948 by Jamie.Dale Updated the Portal to use the predefined Unicode block ranges Change 3436961 by Max.Chen Sequencer: Show camera shake/anim track menus even if there aren't any assets. Change 3437244 by Max.Chen Sequencer: Clear locked cameras when releasing Sequencer. #jira UE-44967 Change 3437515 by Arciel.Rekman UBT: improvements for LocalExecutor. - Larger number of parallel jobs on 16GB+ machines. - Use WaitForExit() instead of polling. - Tested on Linux and Mac. Change 3437629 by Matt.Kuhlenschmidt Improve asset import data display in static and skeletal meshes Change 3438047 by Arciel.Rekman Fix overlapping ranges being passed to memcpy(). Change 3438822 by Yannick.Lange ViewportInteraction: Move gizmo handle files to make them private. Change 3438906 by Matt.Kuhlenschmidt PR #3556: Git Plugin: fix new option "init Git LFS" that make assets read-only (master/UE4.17) (Contributed by SRombauts) Change 3438907 by Matt.Kuhlenschmidt PR #3565: add -quality option to buildlighing commandlet (Contributed by kayama-shift) Change 3438908 by Matt.Kuhlenschmidt PR #3558: UE-44862: Always update SColorPicker color on OK button (Contributed by projectgheist) Change 3439393 by Matt.Kuhlenschmidt Force highest LOD for highres screenshots Change 3439819 by Matt.Kuhlenschmidt Turned FAssetData into a struct for some upcoming script exposure of FAssetData Change 3439949 by Arciel.Rekman Fixed selection logic for the UE4_LINUX_USE_LIBCXX environment variable. - Allows disabling libc++ by setting the variable to 0. - Pull request #3576 contributed by jared-improbable. Change 3441078 by Jamie.Dale The culture/language/locale console commands are now available in all build configs Change 3441109 by Jamie.Dale Text containing surrogate pairs now runs through HarfBuzz when shaping in Auto mode This is needed as the kerning-only shaping code assumes that everything is within the BMP Change 3441275 by Matt.Kuhlenschmidt Disable spinning on location and scale. These dont work because we have no notion of infinite spinning Change 3442748 by Yannick.Lange ViewportInteraction: Remove unused console variables. Change 3442775 by James.Golding Add support for editing MaterialFunctions to MaterialEditingLibrary Pull Material recompile/update code into UMaterialEditingLibrary::RecompileMaterial Pull MaterialFunction update code into UMaterialEditingLibrary::UpdateMaterialFunction util Move RebuildMaterialInstanceEditors to UMaterialEditingLibrary Added test content for Material/MaterialFunction editing Add needed BlueprintReadWrite to expressions (constants, function input/output) Expose UMaterialExpressionMaterialFunctionCall::SetMaterialFunction to BP, rename old func (which takes old function) to SetMaterialFunctionEx, also expose GetInputNameWithType Change 3442779 by James.Golding Fix header order Change 3442817 by Yannick.Lange ViewportInteraction: Add can execute checks for level editor commands. Change 3443038 by Michael.Dupuis #jira UE-43377: When you select a foliage actor we will move all instance contained in it to the new level as we can't move a foliage actor Only permit moving foliage instance if there is some selected Change 3443855 by Michael.Dupuis #jira UE-44885: Unregister from PerModuleDataObjects when the object is destroyed Change 3446096 by Max.Chen Sequencer: Add OnFinished() event when a level sequence completes playback #jira UE-45173 Change 3446097 by Max.Chen Sequencer: Evaluate one last time before the sequence is torn down and reset #jira UE-45174 Change 3446242 by Jamie.Dale Fixed caret not appearing in empty text layouts Caret selections have no range, and therefore have no width Change 3446361 by Matt.Kuhlenschmidt Fix WITH_EDITOR only functions causing generated code compile errors when the all functions on the class are WITH_EDITOR Change 3446457 by Alexis.Matte Polish the speed tree import dialog #jira UE-44963 Change 3446946 by Michael.Trepka Modified FWindowsWindow::GetRestoredDimensions to return correct window position for normal windows for which GetWindowPlacement returns position in workspace coordinates #jira UE-37934 Change 3447543 by Arciel.Rekman Reduce VMAs on Linux. - Trades off increased address space (VIRT in terms of ps/htop) for smaller number of distinct mappings (VMAs, virtual memory areas). This decreases possibility to run into vm.max_map_count limit on Linux. - Tested on Linux and Mac. Change 3448468 by Arciel.Rekman Fix race condition during creation of GMalloc. - On Mac GMalloc can be created on two different thread that are racing with each other - app's main thread and a system thread. Change 3449012 by Max.Chen Sequencer: Add time to transform, color and vector key structs so that key times are editable from the key editors. #jira UE-45089 Change 3449018 by Max.Chen Sequencer: Add OnCameraCut event that fires when there is a camera cut. #jira UE-45137 Change 3449195 by Max.Chen Sequencer: Add setting for limit scrubbing to playback range. #jira UE-43502 Change 3449198 by Max.Chen Sequencer: Reorder hierarchical bias so that group priority takes precedence. Change 3449217 by Max.Chen Sequencer: Add setting to activate realtime viewports when in sequencer. Change 3449219 by Max.Chen Sequencer: Focus on search boxes when opened. Change 3449238 by Max.Chen Sequencer: Assign actor should replace the actor itself after it has updated all the components. Also, replace components be fullname rather than by class. Change 3449239 by Max.Chen Sequencer: Fix offsets when moving multiple sections. Dragging should be clamped to the bounds that any of the selected sections hits against the unselected sections. Change 3449241 by Max.Chen Sequencer: Restore section selection after full tree rebuild. Change 3449279 by Max.Chen Sequencer: Set movie scene capture frames only when not using custom frames. This allows the user entered frame numbers to persist in config, rather than overwriting them when doing a "Render Shot" Change 3449280 by Max.Chen Sequencer: Spawn in the persistent level. Otherwise, they get spawned into whatever sublevel is current. #jira UE-44552 Change 3449294 by Max.Chen Sequencer: Null check for sequencer ed mode crash. Change 3449297 by Max.Chen Sequencer: Fix delay in sliding values. Mark changed when sliding values. Mark refresh immediately when committing values since OnValueChanged will be called and needs to have the correct value that was refreshed immediately. #jira UE-42866 Change 3449542 by Max.Chen Sequencer: Fix scrubber hit testing so that the time scrubber is really favored over the playback ranges. #jira UE-44569 Change 3451507 by Matt.Kuhlenschmidt Fix extra slate uv coords not functioning on ES2 Change 3451510 by Matt.Kuhlenschmidt PR #3595: Fixed wrong colour for level status (Contributed by ronve) Change 3451529 by Alexis.Matte fbx scene importer: Make sure we set INVALID_UNIQUE_ID to node that has no attribute. #jira UE-34410 Change 3451611 by Yannick.Lange ViewportInteraction: Dragging gizmo without second pass for snapped calculations. Change 3452134 by Jamie.Dale Fixed constant font cache flushing if a widget had no font set Change 3452239 by Jamie.Dale Fixed constant font measure flushing if a widget had no font set Change 3452243 by Jamie.Dale Removed deprecated code for creating fonts from bulk data Change 3452277 by Jamie.Dale The concept of "stale" composite fonts is now editor-only Change 3452358 by Alexis.Matte Fbx scene importer: Do not remove existing attribute reference from the blueprint if the reimport of the associate mesh attribute is not tick. #jira UE-45232 Change 3452678 by Max.Chen Sequencer: Fix crash on export if there's no shot data. Change 3453057 by Matt.Kuhlenschmidt Exposed asset exporting to script Change 3453782 by Andrew.Rodham Sequencer: Fixed deterministic cooking issues with movie scene data - Movie scene signatures are now initialized in PostInitProperties - A warning is now presented when attempting to cook old data that was never serialized with a signature. - Removed redundant legacy data upgrade logic that could dirty level sequences on load. #jira UE-44912 Change 3453788 by Yannick.Lange ViewportInteraction: Custom scene proxy for gizmo handles. Change 3453938 by Max.Chen Sequencer: Hotkeys (shift , and shift .) to step to next/previous shot #jira UE-45119 Change 3454058 by Michael.Dupuis Fixed StaticAnalysis Change 3454077 by Max.Chen Sequencer: Fix not saving the pre-animated track value when creating a track/key. On pre object change, broadcast property change so that a track or key can be created. That track/key needs to be evaluated immediately so that the pre-animated state can be saved properly. This is done now with RefreshAllImmediately and is only called when a track has been created. Also, added a return value for OnKeyProperty, so that it's known what changed in particular (ie. track created, track modified, etc) Also, fixed transform keying so that if a transform track already exists for the object or the scene component, the existing track is used. #jira UE-45130 Change 3454108 by Nick.Darnell UMG - Fixing the WIC to properly record cursor delta so that scrollbars work. Change 3454109 by Jamie.Dale Cache the text layout source info in non-shipping builds so you can inspect it in the debugger Change 3454202 by Matt.Kuhlenschmidt Fix bogus error message about the number of usable texture coordinates on ES2 when compiling a UI domain material Change 3454390 by Yannick.Lange Fix creating a plugin in a C++ project opens a second instance of Visual Studio. Use SourceCodeAccessor to open solution when necessary. #jira UE-45035 Change 3454564 by Matt.Kuhlenschmidt #rnx Fix deprecation warnings Change 3455471 by Yannick.Lange ViewportInteraction: Fix entering and exiting VR Mode disables gizmo in desktop editor viewport. #jira UE-44965 Change 3456183 by Max.Chen Sequencer: Auto key, auto track refactor. Auto key - create a key when the property changes and there's an existing track. Auto track - create a track when the property changes. This is only exposed in the level sequence editor. All - create a key and a track when the property changes. This is only exposed in VR Editor. None - do nothing. #jira UE-43469 Change 3456349 by Andrew.Rodham Sequencer: Only perform legacy signature checks on instances, and only where signatures match the CDO Change 3456678 by Alexis.Matte Allow to add null level instance override material via the advance material array. But still limit the override material number to the mesh material number. #jira UE-45306 Change 3456945 by Max.Chen UMG: Add restore state to 2d transform section. #jira UE-45372 Change 3457196 by Arciel.Rekman Linux: serialize allocations from the memory pool. Change 3458434 by Max.Chen Sequencer: Remove obsolete set tick prerequites functions. Change 3458671 by James.Golding Added MIC editing support to MaterialEditingLibrary Fix static analysis warning Change 3458888 by Matt.Kuhlenschmidt PR #3615: More detailed log messages for debugging warnings/errors (Contributed by projectgheist) Change 3458893 by Matt.Kuhlenschmidt PR #3583: UE-44960: Delta value wasn't being used (Contributed by projectgheist) Change 3458895 by Matt.Kuhlenschmidt Fix typo Change 3458902 by Matt.Kuhlenschmidt PR #3607: Improved InputKeySelector functionality (Contributed by projectgheist) Change 3458917 by Matt.Kuhlenschmidt Fix crash with invalid object properties in the class picker #jira UE-39000 Change 3458939 by Matt.Kuhlenschmidt Fix compile error Change 3458984 by andrew.porter QAGame: Initial check in of sequencer smoke test map Change 3459510 by Matt.Kuhlenschmidt Fixed ensure when deleting a map that contains build data which also happens to be the currently loaded map. #jira UE-45052 Change 3460985 by Max.Chen Sequencer: Snap play time to keys now allows scrubbing between keys and snaps to key times within a certain screenspace tolerance. #jira UE-45090 Change 3461698 by Arciel.Rekman Avoid using ARRAY_COUNT in Vulkan. - Sometimes those arrays can have no extensions whatsoever, and it is illegal to declare a 0 element C array. Change 3462053 by Max.Chen Sequencer: Show sequencer spawnables in the world outliner and add the icon overlay for spawnables. #jira UE-43470 Change 3462139 by Max.Chen Property Editor: Add objects to FPropertyAndParent Change 3462202 by Arciel.Rekman Fix FSocket::Recv() blocking with Peek when there's no data. Change 3462253 by Nick.Darnell Slate - New Clipping System Clipping is now a stateful choice made during composition of the slate hierarchy. Previously every widget got to respect or modify the clipping rect on an as needed basis. The problem was that clipping was only allowed in the layout space of the widget, and it wasn't possible to properly clip elements with render transforms. The new system permits all kinds of transforms on any widget, and they will all be clipped correctly. It tries to use Scissor Rects as they are much cheaper, but will switch over to stenciling if need be to represent a complicated masking structure with several rotated clipping rects all needed to be combined together. Here are the new clipping states a widget can have, almost all widgets are set to No. Only change it from No if your widget actually needs to clip, generally speaking most widgets don't need to clip. /** * This widget does not clip children, it and all children inherit the clipping area of the last widget that clipped. */ Inherit, /** * This widget clips content the bounds of this widget. It intersects those bounds with any previous clipping area. */ ClipToBounds, /** * This widget clips to its bounds. It does NOT intersect with any existing clipping geometry, it pushes a new clipping * state. Effectively allowing it to render outside the bounds of hierarchy that does clip. * * NOTE: This will NOT allow you ignore the clipping zone that is set to [Yes - Always]. */ ClipToBoundsWithoutIntersecting UMETA(DisplayName = "Yes - Without Intersecting (Advanced)"), /** * This widget clips to its bounds. It intersects those bounds with any previous clipping area. * * NOTE: This clipping area can NOT be ignored, it will always clip children. Useful for hard barriers * in the UI where you never want animations or other effects to break this region. */ ClipToBoundsAlways UMETA(DisplayName = "Yes - Always (Advanced)"), /** * This widget clips to its bounds when it's Desired Size is larger than the allocated geometry * the widget is given. If that occurs, it behaves like [Yes]. * * NOTE: This mode was primarily added for Text, which is often placed into containers that eventually * are resized to not be able to support the length of the text. So rather than needing to tag every * container that could contain text with [Yes], which would result in almost no batching, this mode * was added to dynamically adjust the clipping if needed. The reason not every panel is set to OnDemand, * is because not every panel returns a Desired Size that matches what it plans to render at. */ OnDemand UMETA(DisplayName = "On Demand (Advanced)") - Large API Change - All FSlateDrawElement::Make_____ calls have been deprecated that involved passing in a clipping rect. You no longer should are passed a Clipping rect via OnPaint. You are still passed a rect, but this rect represents a Culling Rect, which is valuable if you need to just out right not paint things the user can't possibly see. If you were previously trying to determine if you should cull widgets, by doing something like this, if ( FSlateRect::DoRectanglesIntersect(MyClippingRect, CurWidget.Geometry.GetRenderBoundingRect()) ) That's no longer a good option since there are ways for widgets to ignore the culling bounds. You should convert anything like above to the one below, if (!SWidget::IsWidgetCulled(MyCullingRect, CurWidget)) To assist in debugging efforts, there are several new debugging console flags in Slate, Slate.ShowClipping 1 - Controls whether we should render a clipping zone outline. Yellow = Axis Scissor Rect Clipping (cheap). Red = Stencil Clipping (expensive). Slate.DebugCulling 1 - Disables pushing clipping or stencil rects to the GPU, but continues to intersect culling rects, so that you can tell if a widget is properly culling children it can't possibly draw. Slate.ShowTextDebugging 1 - Show debugging painting for text rendering. I've added a new Experimental Feathering Option, it adds AA geometry around the outside of Box and Image brushes. Slate.Feathering 1 If you're using RenderDoc or something similar, you can now enable render events for slate, so that you can better grok how we're batching and changing states for each UI render pass. Slate.EnableDrawEvents 1 #jira UE-4659 #rn Change 3462714 by Nick.Darnell Fixing a few more compiler issues with the clipping changes. Change 3462726 by Max.Chen Switch OnEditStructChildContentsChanged to use FObjectWriter instead of FMemoryWriter which supports serializeing UObjects. This fixes a crash when adding actor array elements to a user defined event struct. #jira UE-45431 Change 3462801 by Nick.Darnell Adding a UMG dependency to EngineTestBuild. Change 3462914 by Max.Chen Sequencer: Fix regression where spawnables aren't getting saved. Caused by 3407138 #jira UE-30007 #jira UE-39003 Change 3462946 by Nick.Darnell Automation - Tweaking the UI automation tests converting them over to use the new UI Screenshot automation test. Automation - Adding a blur widget test. Change 3462987 by Matt.Kuhlenschmidt Back out changelist 3458893 Change 3464774 by Matt.Kuhlenschmidt PR #3629: Bugfix: Missing small icon in Project Launcher profile editor (Contributed by aarmbruster) Change 3464785 by Nick.Darnell Fixing some clipping stuff in the editor. Change 3464830 by andrew.porter QAGame: Second pass on sequencer smoke test map Change 3464902 by Nick.Darnell Loading - Adding some additional checks to the the loading code to ensure we're on the main thread. Additionally adding a fix from UDN that prevents deadlocks in the rare case a user hits Alt+Tab in a fullscreen game while in a hard loading screen. Change 3464988 by Max.Chen Sequencer: Add attenuation settings for attached audio components. #jira UE-33080 Change 3465024 by Nick.Darnell MoviePlayer - Impoving the playback mode displaynames. Change 3465074 by Arciel.Rekman Fix shadowing issues of GraphicsPSOInit. Change 3465097 by Matt.Kuhlenschmidt Some refactoring of the details panel Exposed new methods of adding a struct on scope to a details panel and have it work properly with customizations. The scruct on scope has a "fake" ustructproperty that allows the details panel to show the whole struct not just an individual property. Refactored the API for adding rows to details panels to make it more consistent\ AddChildCustomBuilder->AddCustomBuilder AddChildGroup->AddGroup AddChildContent->AddCustomRow AddChildPropert->AddProperty AddChildStructure->AddExternalStructureProperty AddStructure->AddAllExternalStructureProperties AddExternalProperty->AddExternalObjectProperty or AddExternalStructureProperty Change 3465186 by Max.Chen Sequencer: Save the BindingID in the pre animated token producer so that it can be destroyed properly. This fixes a bug where the default state of a spawnable isn't saved. #jira UE-43780 Change 3465315 by Matt.Kuhlenschmidt Fix Fortnite and Orion details panel customization warnings Change 3465424 by Nick.Darnell Automation - Moving the step for setting the link to the automation reports to be set before we start the engine. Change 3465488 by Nick.Darnell Automation - Forcing textures to load before taking screenshot, so that the scene gets another opportunity to render before we render with Slate. This should fix the Blur UI Test. Change 3466277 by Arciel.Rekman Linux: fix window drift when dragging (UE-40380). - Change by Cengiz Terzibas. Change 3466370 by Nick.Darnell UMG - Fixing the colors for the resize handle in the designer. Change 3466372 by Nick.Darnell UMG - Fixing the ruler ticks sometimes not being drawn. Change 3466374 by Nick.Darnell UMG - Fixing the designer showing multiple options for sequencer. Change 3466377 by Nick.Darnell UMG - Cleaning up some clipping bits. Change 3467025 by Andrew.Rodham Re-saving assets that contain legacy (<4.15) movie scene data to remove deterministic cook warning. If conflicts arise during merging of these assets, please ignore the changes made in dev-editor, and accept game-side changes. (CIS step 62283298, jobId 7773146) (CIS step 62283297, jobId 7773146) Change 3467099 by Max.Chen Fix GetObjectPropertyClass ensure logic. This was returning UObject::StaticClass when valid. Change 3467172 by Max.Chen Sequencer: Evaluation optimizations. Also, fixes subsequences not getting expired, leaving dangling spawnables. #jira UE-43690 Change 3467192 by Matt.Kuhlenschmidt Fix transactions getting stuck in the color grading controls. This prevents PIE from working properly and causes shutdown crashes #jira UE-45527 Change 3467251 by Yannick.Lange ViewportInteraction: Fix scale and rotation snap while dragging with two lasers. #jira UE-43489 Change 3467331 by Matt.Kuhlenschmidt Fix D3D shader compiler hard coding shader path and not giving proper warnings when it cannot find the shaders Change 3467335 by Matt.Kuhlenschmidt Remove DarkStyle attribute from SNumericEntryBox and allow a spin box style to be passed to it. Change 3467558 by Max.Chen Scene Outliner: Generic support to add default columns to a scene outliner. Change 3467565 by Jamie.Dale Removing old screenshot data for test Change 3467589 by Nick.Darnell Editor - Random cleanup. Change 3467596 by Nick.Darnell Progress Bar - Exposing Border Padding to UMG. Change 3467600 by Nick.Darnell Slate - Adjusting the rendering of the splitter, previously it could be off by a pixel or two, which becomes more apparent now with the clipping changes. Change 3467601 by Max.Chen Property Editor: Fix static analysis warning Change 3467662 by Nick.Darnell Automation - Fixing a bug with the screenshot comparison tool not replacing (removing) the old screenshot data. Change 3467674 by Max.Chen Property Editor: Fix static analysis warning Change 3467737 by Max.Chen Sequencer: Added OnMovieSceneBindingsChanged delegate Change 3468053 by tim.gautier QAGame: Updating Editor Smoke Map - Updated landscapes into Stations for testing - Added Foliage Sublevel Change 3468194 by Arciel.Rekman Linux: fix problems communicating with various STL-using libs. - Stop hiding global new/delete signatures. - Disable CEF3 since this change uncovers the problem with libcef.so not built to use bundled libpng. Change 3468678 by Max.Chen Sequencer: Set "Sequencer Actor" tag before setting the actor label so that the outliner refreshes after the actor has the tag. Change 3469314 by tim.gautier QAGame: Added Painted Foliage / Spline section to EditorSmoke map Change 3469377 by Nick.Darnell Slate - Fixing some warnings in a couple of sample games due to the clipping changes. #rnx Change 3469767 by Max.Chen Sequencer: Outliner column and sequencer binding data #jira UE-43470 Change 3469974 by Arciel.Rekman Fix code projects not working in Linux installed build. Change 3470082 by Nick.Darnell Slate - The GetRenderer() call on SlateApplication no longer returns a SharedPtr, rather than convert it to a thread safe ptr, going to just make accessing it a raw ptr return, so it can be safely referenced on the game thread while being used on the slate loading thread. Change 3470174 by Nick.Darnell Slate - Get the last widget in a widget path utility. Change 3470176 by Nick.Darnell UMG - User Widgets now have an easy way to know if they're part of or have been removed from the focused widget path, which is handy for doing effects. Change 3470261 by Nick.Darnell Slate - The GetRenderer() call on SlateApplication no longer returns a SharedPtr, rather than convert it to a thread safe ptr, going to just make accessing it a raw ptr return, so it can be safely referenced on the game thread while being used on the slate loading thread. Change 3470286 by Max.Chen Sequencer: Scene Component's HiddenInGame now goes through the VisibilityTrack and the visibility template. Change 3470366 by Nick.Darnell Slate - We now version focus per user, that way during focus events, we can safely abort focus events and state transitions if someone interrrupts the active focus event with something new. Change 3470649 by Matt.Kuhlenschmidt Fix deprecation warnings Change 3470695 by Matt.Kuhlenschmidt Fixed typo #jira UE-45580 Change 3470721 by Matt.Kuhlenschmidt Fix static analysis Change 3471254 by Michael.Dupuis #jira UE-42952: Keep occlusion result per view Change 3471287 by Nick.Darnell UMG - Render Focus Rule now defaults to never. Change 3471291 by Nick.Darnell Slate - Fixing FSlateRenderer* change fallout. Change 3471299 by Nick.Darnell Slate - Fixing FSlateRenderer* change. Change 3471323 by Nick.Darnell Automation - Fixing automation and Static Analysis warning. Change 3471413 by andrew.porter QAGame: Added test content for anim blending and material parameteres to sequencer smoke level Change 3471649 by Max.Chen Sequencer: Modify the track when adding animation #jira UE-45618 Change 3471659 by Matt.Kuhlenschmidt Added a way to check if a movie is playing from the engine. Prevented viewport redraws for canvas loading screens if a slate based loading movie is playing Change 3471734 by Matt.Kuhlenschmidt Added basic material hookup to USD. Similar to FBX it will find materials based on rules specified by the user in the import settings Change 3472176 by Nick.Darnell UMG - Improving the display of the +Track menu in sequencer for UMG. Renamed it from +Add, which is repetitve to +Track. Additionally, the dropdown now shows the currently selected widgets, as well as a submenu containing all the 'important' widgets, so we no longer populate that list with a ton of irrelevant widgets that are just Buton_1 - N, which is pointless in showing people, they'll never guess which is the right button. Change 3472740 by Max.Chen Sequencer: Add GetThisFrameMetaData accessor Change 3472748 by Max.Chen Sequencer: Added OnBeginScrubbing and OnEndScrubbing event delegates Change 3472753 by Max.Chen Sequencer: Add EMovieSceneDataChangeType parameter to OnMovieSceneDataChanged delegate Change 3472870 by Nick.Darnell Clipping - Fixing the deprecated tip for scissor rect boxes to be correct. Removing it's usage from UT. Change 3473340 by Max.Chen Scene Outliner: Add ability to register additional filters Change 3473348 by Max.Chen Details View: Make ForceRefresh virtual. Added accessors to delegates (ie. GetIsPropertyReadOnlyDelegate) Change 3473441 by Max.Chen Sequencer: Autokey Refactor Part 2. Autokey is now a single toggleable state. Allow Edits Mode has 3 states: Allow All Edits - Allow any edits to occur, some of which may produce tracks/keys or modify default properties. Allow Sequencer Edits Only - All edits will produce either a track or a key. Allow Level Edits Only - Properties in the details panel will be disabled if they have a track. #jira UE-45229 Change 3473670 by Nick.Darnell Modules - The module manager no longer returns sharedptrs to IModuleInterfaces, this was the source of rare hard to track down crashes due to a shared ptr reference leak when GetModule was called on non-main threads. We now store a TUniquePtr internally, and only lease out raw pointers. #rn Change 3473711 by Nick.Darnell Disabling the ensure in the module manager. Change 3473747 by Max.Chen Sequencer: Fix tooltip Change 3474091 by Jamie.Dale Added a warning when cooking a UFontFace that is outered to a UFont asset These cause issues with iterative COTF, and should be split off into their own assets (as the UI has been asking people to do for several versions) Change 3475052 by Yannick.Lange VR Editor: Fix Crash when quitting the editor with VR Mode enabled. VR Editor was being enabled when saving the map on closing the editor. #jira UE-45415 Change 3475054 by Yannick.Lange Fix crash when adding a camera to the world in VR Mode the second time. The slate application did not reset when stop dragging in VR Mode, so the second time when starting to drag a camera out of the UI it would already by in a dragging state. #jira UE-45574 Change 3475263 by Nick.Darnell Fixing some additional cases of IModuleInteface SharedPtr usage. Change 3475268 by Max.Chen Sequencer: Set jumped state when looping playback. This fixes an issue where audio doesn't stop and restart when looped. #jira UE-45654 Change 3475269 by Max.Chen Scene Outliner: Additional filters should only apply to actor browsing mode Change 3475407 by Nick.Darnell Fixing some clipping / module shared ptr changes in the launcher code. Change 3475542 by Max.Chen Sequencer: Update thumbnail and section highlighting to use new clipping behavior. #jira UE-45692 #jira UE-45689 Change 3475743 by Michael.Dupuis #jira UE-45183: When updating phyx region take into account simple collision mip Change 3475949 by Arciel.Rekman Remove PhysX deoptimization (no longer needed). - OR-24947 has been closed three months ago. Change 3476022 by Michael.Dupuis #jira UE-45560: Make sure we're not going out of range Change 3476063 by Michael.Dupuis #jira UE-45562: Do not try to unregister from static mesh if no static mesh is specified for the component Change 3476168 by Michael.Trepka Added handling of directory symlinks to FApplePlatformFile::IterateDirectory #jira UE-43704 Change 3476172 by Nick.Darnell Fixing a Imoduleinterface change. Change 3476183 by Jamie.Dale Exposing GoTo/ScrollTo to single-line editable text for API parity with multi-line editable text Change 3476385 by Arciel.Rekman Linux: handle symlinks when iterating directories. Change 3476522 by Michael.Trepka Solved a problem with Mac FMallocTBB::Malloc() returning nullptr for 0 bytes allocations, which is inconsistent with other platforms. On Mac we always scalable_aligned_malloc, which behaves differently than scalable_malloc, so for 0 bytes requests we allocate sizeof(size_t), which is exactly what scalable_malloc does internally in such case. Change 3476806 by Nick.Darnell UMG - Focus the designer after dropping a widget onto the surface. Change 3476809 by Nick.Darnell Curve Editor - Enable Clipping on the curve editor. Change 3477475 by Nick.Darnell Fixing a module interface shared ptr usage in UT. Change 3477553 by Yannick.Lange VR Editor: Removed AssetEditorPanelID and replaced it with TabManagerPanelID. A panel for AssetEditorPanelID was never created making it impossible to open an asset editor. Change 3477734 by Yannick.Lange VR Editor: Fix Warning: SetRelativeScale3D : Invalid Scale entered (X=inf Y=inf Z=inf). Resetting to 1.f. warning when adding CineCameraActor to World from Modes Panel. Make sure to not divide by zero when there is no boundary scale. #jira UE-44933 Change 3477761 by Jamie.Dale Some improvements to avoid loading the native .locres files twice when we don't need to Change 3477780 by Nick.Darnell PR #3250: Return correct VirtualUserIndex (Contributed by projectgheist) Change 3477786 by Nick.Darnell PR #3650: Changed TestNull to accept const pointers. (Contributed by e-agaubatz) Change 3477795 by Nick.Darnell PR #2844: UE-36936: Don't stretch container for Plugin Image (Contributed by projectgheist) Change 3478092 by Nick.Darnell PR #2341: Optional Middle Mouse Button panning in Graph Editor (Contributed by flipswitchingmonkey) Engine Edit - Made some small changes to the enum type, and some naming. Change 3478450 by Nick.Darnell Fixing some uninitialized variable errors. Change 3479827 by Andrew.Rodham Sequencer: Addressed serialization issues with some struct types Change 3479874 by Jamie.Dale Fixed "NativeGameLanguage" not being used correctly during localization initialization Change 3480012 by Andrew.Rodham Sequencer: Fixed loading tagged properties as native for track identifiers #jira UE-45823 Change 3480337 by Alexis.Matte Fix morph target crash missing some valid index check Change 3480804 by Alexis.Matte Fix crash with ColorGradingMode custom detail #jira UE-45638 Change 3480892 by Andrew.Rodham Sequencer: Ensure that movie scene sequences know about the editor object version #jira UE-45842 Change 3481073 by Nick.Darnell Fix the shader compiler error from main in Slate. Change 3481303 by Nick.Darnell UMG - Fixing a bug with the drag handle not working correctly in HDPI mode. Change 3481308 by Nick.Darnell Slate - Tweaking the IsWidgetCulled logic to consider both the layout and rendering bounds. If we do this, we get a much more desireable outcome for people that want to animate widgets and such and plan to have temporary animations to move the widget offscreen, but want the layout bounds to anchor that widget in the visible frame so that it animates even when normally it would be culled b/c the render transform and therefore the renderbounds moved it completely outside the culling rect. Change 3481629 by Max.Chen Sequencer: Add Level Sequence Actor as an output for CreateLevelSequencePlayer() #jira UE-45785 Change 3481899 by Yannick.Lange VR Editor: Added debug modetoggle command with an event that is broadcasted whenever this happens. Currently this is used to show all the floating UIs of the UI system to debug without HMD using VREd.ForceVRMode. Change 3481984 by Michael.Dupuis #jira UE-45845: always validate if we have a static mesh before trying to access it as user can decide to not assign one and use the tools Change 3482047 by Nick.Darnell Slate - Adding some comments to IsWidgetCulled. Change 3482110 by Nick.Darnell Slate - IsWidgetCulled is no longer static and is now called IsChildWidgetCulled. Change 3482136 by Jamie.Dale The CamelCase break iterator now treats digits around character tokens as part of the identifier Change 3482138 by Michael.Dupuis #jira UE-45854: Properly unregister during undo operation Change 3482150 by Michael.Dupuis #jira UE-45845 : Add missing nullcheck for GetStaticMesh Change 3482153 by Nick.Darnell Slate - IsWidgetCulled is no longer static and is now called IsChildWidgetCulled. Change 3482180 by Nick.Darnell UMG - Widget Components do not need to define a widget class to be rendererd, they can have native slate widgets only. This was a regression from main. Change 3482273 by Nick.Darnell UMG - Tweaking some more things about the widget component box outline. Change 3482308 by Alexis.Matte Fixing morph target smooth group support. Do not call FillSkeletalMeshImportData more then once on FbxNode since this fonction is doing some conversion and change the FbxNode, applying those conversion twice do not return the same faces smooth group. #jira UE-45696 Change 3482327 by Nick.Darnell UMG - More tweaks to the WidgetComponent so both shows the box outline, but works in game and VR editor. Change 3482705 by Andrew.Rodham Resaving assets that contain legacy data to suppress CIS warnings. - If conflicts arise in these assets, please take game-side changes and ignore these. Change 3484245 by Max.Chen Sequencer: Evaluate on end scrub. This fixes a bug where audio doesn't evaluate in a stopped position at the end of scrubbing, causing it to not stop all sounds. This fixes a bug introduced from 3365018 where evaluate on end scrub was removed. #jira UE-45905 Change 3484263 by Max.Chen Sequencer: Fix crash on forcing refresh of details panel on release. #jira UE-45911 Change 3484431 by Andrew.Rodham Resaving assets that contain legacy data to suppress CIS warnings. - If conflicts arise in these assets, please take game-side changes and ignore these. Change 3484474 by Alexis.Matte Fix the morph target animation curve name matching. #jira UE-20294 Change 3484475 by Alexis.Matte When removing a LOD, make sure we remove all morph target data associate to the LOD. Change 3484489 by Nick.Darnell PR #3668: UE-45908: Cache debug line locations when performing a LineTraceMulti (Contributed by projectgheist) #jira UE-45908 Change 3484692 by Nick.Darnell Slate - Reverting a change from a game stream. All Arranged Children don't need to allocated 42 to begin with. Do need to initialize WidgetPaths better. Change 3484703 by Nick.Darnell Player Input - Making the input event loop for players obey EKeys::NUM_TOUCH_KEYS, rather than being set to Touch10, as the maximum touch input amount, to make supporting greater than 10 touches easier. Also making the seeding of keys use EKeys::NUM_TOUCH_KEYS. #jira UE-43213 Change 3484918 by Jamie.Dale Fixed font measuring regression with RTL text RTL applies the character count to the next glyph, so it shouldn't process the end of the loop (this was how the older code used to work). Change 3485718 by Nick.Darnell Editor - Removing Super Search & User Feedback button. Change 3485719 by Nick.Darnell Portal - Removing SuperSearch. Change 3485751 by Matt.Kuhlenschmidt Fix crash accessing platformer game menu if the menu is open during a console based load #jira UE-45950 Change 3486047 by Arciel.Rekman Linux: add OpenEXR implementation (UE-40270). #jira UE-40270 Change 3486467 by Max.Chen Sequencer: Reset max tick rate when destroyed. #jira UE-45956 Change 3486477 by Max.Chen Sequencer: Refresh outliner when column is removed. #jira UE-45891 Change 3486667 by Andrew.Rodham Added missing include Change 3486724 by Andrew.Rodham Sequencer: Fixed curves with no default value, and no keys being evaluated and applied to properties - Also fixed an edge case where a zero (but non-animated) channel could be applied to a final transform Change 3486730 by Alexis.Matte In the Auto-Reimport options, hide the mout point only for the default /Game/ folder #UE-45684 Change 3486749 by Alexis.Matte Make sure the parent window of the monitor directory browse folder is set properly #jira UE-45682 Change 3486805 by Matt.Kuhlenschmidt Additional safety against invalid objects being accessed by slate Change 3486848 by Alexis.Matte Make sure Monitor folder feature support root mount point map folder During auto import, give priority to asset import factory over the scene import factory #jira UE-45691 Change 3486879 by Andrew.Rodham Removing obsolete QA assets Change 3486950 by Nick.Darnell PR #2281: Scrollbar missing features and SScrollbar fixes (Contributed by SNikon) Review - made some adjustments from the original. Change 3486954 by Nick.Darnell Slate - Moving the STableViewBase over to the FOverscroll class, rather than it's own clone. Change 3486967 by Nick.Darnell Slate - Fixing some HDPI calculations for fitting new windows on screen, it was using the unscaled size of the widgets for fitting, when it needed to scale them up. Change 3486970 by Andrew.Rodham Sequencer: Delay mouse capture until drag for sequencer time slider - Fixes context menus not opening as a result of mouse capture being taken on mouse down #jira UE-45937 Change 3486984 by Andrew.Rodham Sequencer: Improved blending type iconography Change 3486996 by Nick.Darnell UMG - Adding a way for games to opt-out of the slow widget path, to completely prevent them from being cooked. UMG - The movie data is no longer cloned for each new instance that inhabits. It now keeps a reference to the now publically accessible movie scene data on the class instead. Change 3487070 by Andrew.Rodham Sequencer: Added graphics for key areas that represent empty space Change 3487195 by Andrew.Rodham Sequencer: Changed evaluation groups to always flush implicitly - Due to the latent nature of blended token types, it's no longer safe to rely solely on execution token order between tracks - This fixes an issue where events set in the PostEvaluation stage were executed before blended token actuation Change 3487322 by Nick.Darnell PR #2457: Add .gitdeps.xml-files for plugins support (Contributed by bozaro) Change 3487363 by Nick.Darnell PR #2481: Fix for packing of a project with users plugins (Contributed by yatagarasu25) Change 3487439 by Nick.Darnell PR #2642: Changed private to protected in SVirtualJoystick.h (Contributed by Skylonxe) Change 3487500 by Arciel.Rekman Removed LinuxNativeDialogs. - No longer used; has been superceded by SlateDialogs since UE 4.8 (2 years ago). Change 3487630 by Lauren.Ridge Don't create Landscape Info Maps for Editor Preview Worlds or thumbnail worlds #jira UE-44885 Change 3487864 by Matt.Kuhlenschmidt Exposed the asset registry to blueprints and script. Works in editor scripts and runtime scripts AssetRegistry is now a UInterface object. Blueprint users can access various asset registry methods using the asset registry interface (via GetAssetRegistry) and various static helpers in the AssetRegistryHelpers object C++ users should still continue to use IAssetRegistry. Change 3487879 by Matt.Kuhlenschmidt Renamed asset tools uobject helper to UAssetToolsHelpers Change 3487926 by Lauren.Ridge Fixing reset to default not showing up for custom widgets #jira UE-44164 Change 3488184 by Matt.Kuhlenschmidt PR #3656: Make References/Referencers List copyable (Contributed by user37337) #jira UE-45763 Change 3488240 by Matt.Kuhlenschmidt Fix compiler issue Change 3488350 by Lauren.Ridge Landscape info map transactional state is based on its world's transactional state #jira UE-44885 #jira UE-46019 Change 3488412 by Matt.Kuhlenschmidt Fix reset to default showing up in two different places for some customizations Change 3488413 by Matt.Kuhlenschmidt Fix slate font customization Change 3488414 by Matt.Kuhlenschmidt Fix slate font customization Change 3488415 by Matt.Kuhlenschmidt Missed file Change 3488565 by Arciel.Rekman Add pretty printers for gdb (UETOOL-1171). - Committing shelf by Cengiz.Terzibas, with some modifications. #jira UETOOL-1171 Change 3489094 by Nick.Darnell Slate - The Slate RHI Renderer now caches the TextureLODGroups so that it can properly lookup the filtering of different texture groups that are set to Default, instead of a particular filter override on a texture. Engine/Rendering - Simplifying some of the setup logic in TextureLODSettings so that code is shared for setting them up properly after loading from a config file. Change 3489095 by Nick.Darnell PR #2699: GameViewportClient - Added a method to allow setting the viewport cur. (Contributed by rfenner) Review - Fixed spacing. Change 3489108 by Matt.Kuhlenschmidt Fix deprecation warning Change 3489120 by Nick.Darnell PR #3478: Fix possible UComboBoxString crash (Contributed by nakosung) Change 3489147 by Andrew.Rodham Sequencer: Adding return value to function to appease static analysis - This function is never compiled, and if it is, it won't compile, but static analysis doesn't know that Change 3489264 by Nick.Darnell Testing - Finishing the thought behind an enum comment. Change 3489265 by Nick.Darnell PR #2750: UE-35164: Button padding (Contributed by projectgheist) Change 3489267 by Nick.Darnell PR #3645: UE-45464: Handle SSlider mouse interaction more accurately (Contributed by projectgheist) Change 3489632 by Arciel.Rekman Correctness changes to MallocPoisonProxy. - Missing forwarding functions added. Incorrect comment removed. - Change by Steve.Robb, doing here so it is in 4.17. Change 3489689 by Arciel.Rekman More MallocPoisonProxy changes I missed in previous CL. Change 3489751 by Matt.Kuhlenschmidt Moved editor performance settings out of per-project settings so they can be shared across projects Change 3489837 by Lauren.Ridge Keyboard shortcut for entering/leaving VR Mode is now Alt+V Change 3491082 by Arciel.Rekman Linux: better fix for the crash due to name collision (UE-46040). - Put classes in Sequencer module into Sequencer namespace instead of SceneOutliner namespace. - Undid change in the SceneOutliner module. #jira UE-46040 Change 3491096 by Arciel.Rekman Fix UAT compilation on the newest mono. Change 3491240 by Max.Chen Sequencer: Disable key button when allow level edits only is on. #jira UE-46060 Change 3491406 by Yannick.Lange Fix editor crashes when opening a project that includes a plugin with more than two custom Volume classes. This issue was caused because registering show volume commands is based on finding volume classes. Finding these classes at multiple times resulted in a mismatch of the returned array of volume classes because modules/plugins were still being loaded. #jira UE-45806 Change 3491559 by Alexis.Matte Make sure we use the good preview mesh when doing a preview #jira UE-45963 Change 3491563 by Alexis.Matte Fix crash with staticmesh editor LodLevel selection Change 3491564 by Nick.Darnell UMG - Fixing an offset with the grab handles in HDPI mode. Change 3491595 by Nick.Darnell Editor - Fixing a clipping artifact in the pin type dropdown in the blueprint editor. Change 3491604 by Nick.Darnell Back out changelist 3489265 Change 3491615 by Arciel.Rekman Added malloc replay proxy (Linux only for now). - Allows to dump malloc callstream (without regard to threads) and replay later to study the behavior of different mallocs and/or repro problems. Change 3491684 by Arciel.Rekman Added FMalloc functions I missed. - Also moved function bodies into the .cpp file, this does not make a difference in performance in this case. Change 3491692 by Matt.Kuhlenschmidt Some minor fixes to the static mesh editor - Fix UV combo button looking non-standard on the toolbar - Fix a few combo buttons in the details panel looking too big. Change 3491702 by Arciel.Rekman Do not compile replay proxy-specific code when not used. Change 3491717 by Michael.Dupuis #jira UE-35083: The component is now the owner of the PerInstanceRenderData instead of the proxy Add an Update path to only update specified instances range Always call BuildTreeIfOutdated so we have a standard code path to make sure static mesh are fully loaded before trying to build the tree Moved the Instance Buffer aysnc to the base class, as it's not related to UHierarchicalInstancedStaticMeshComponent Expose a new property to decide if we require dynamic instance buffer Change 3491758 by Matt.Kuhlenschmidt Fix crash on static mesh editor shutdown Change 3491873 by Cody.Albert Fixed clipping issue in Sequencer curve editor #rnx Change 3491956 by Matt.Kuhlenschmidt Fix crash opening the Previewing sub-menu in the level editor settings menu #jira UE-46095 Change 3492046 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3492076 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3492165 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3492222 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3492274 by Michael.Dupuis #jira UE-46105: Fixed Clang warning Change 3492338 by andrew.porter QAGame: Testing ensure when submitting Change 3492371 by Nick.Darnell UMG - Reverting the animation sharing, cossed GLEO regressions in cooking. Will look for a better solution. Change 3492462 by Matt.Kuhlenschmidt Fix ensure checking in files through perforce Change 3492491 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3492505 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3492517 by Jamie.Dale The package localization ID is no longer used at all at runtime, and is now truly editor-only This should have always been the case, but it was leaked into manifest/archives/PO files in 4.14, and while 4.15 removed it from PO files it was still present in the manifest/archives. This change removes it entirely (unless gathering editor-only data, and even then the PO file will still collapse the entries together for translation), and the deprecated 4.14 export behavior will now produce an error if you attempt to use it. After taking this change you'll need to run a gather, import, and compile of your LocRes files to update your game localization to use the new localization IDs. Change 3492630 by Nick.Darnell UMG - Removing some extra cleanup code that's probably overkill and is causing a crash for uses of "Within" in class meta. #jira UE-46124 Change 3492692 by Matt.Kuhlenschmidt Fix drop shadows inheriting the outline color of the font. The outline should still appear but not have a different outline color from fill color Change 3492714 by Matt.Kuhlenschmidt Added outline with drop shadow to font automation test Change 3492737 by Matt.Kuhlenschmidt Fix linux Change 3492992 by tim.gautier Resaving Ocean Widget Blueprints / Sequences to resolve Legacy Sequence Data warnings #jira UE-46132 Change 3493089 by Jamie.Dale Ensure that the composite font of a font asset is flushed when the font object is GC'd Change 3493322 by Jamie.Dale Fixing null crash #jira UE-45758 Change 3494467 by Andrew.Rodham Fix Xbox warning Change 3494852 by tim.gautier QAGame: Changed streaming method of QA-EditorSmoke-Landscape to Always Loaded Change 3494853 by Nick.Darnell Another attempt at fixing the automation blueprint SA warning. Change 3494896 by Arciel.Rekman Fix possible null pointer access during Vulkan init. - May fix static analysis warnings in UE-46142, although warnings seem to be referring to something else. #jira UE-46142 Change 3494987 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3495010 by Matt.Kuhlenschmidt Adding additional logging to track down html5 issue Change 3495212 by Michael.Dupuis #jira UE-46143: Properly init the InstanceRenderData during the cooking phase (required by fortnite) Change 3495536 by Jamie.Dale Updating UGameEngine to call its Super::PreExit after performing its own teardown This prevents UEngine cleaning up resources that UGameEngine still needs. #jira UE-46159 Change 3495551 by Arciel.Rekman Another attempt to fix analyzer problem (UE-46142). Change 3495794 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3495905 by Matt.Kuhlenschmidt Fix USD crash when importing a meshwith no material [CL 3499771 by Matt Kuhlenschmidt in Main branch]
2017-06-19 20:27:30 -04:00
/** Culling rect of the area */
FSlateRect CullingRect;
/** Color of each tick */
FLinearColor TickColor;
/** Offset in Y where to start the tick */
float TickOffset;
/** Height in of major ticks */
float MajorTickHeight;
/** Start layer for elements */
int32 StartLayer;
/** Draw effects to apply */
Copying //UE4/Dev-Editor to //UE4/Dev-Main (Source: //UE4/Dev-Editor @ 3279756) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3229490 on 2016/12/09 by Cody.Albert Integrated fix to support named changelists in SVN Change 3229574 on 2016/12/09 by Simon.Tourangeau Fix actor mobility getting changed on scene reimport #jira UE-39102 Change 3229692 on 2016/12/09 by Cody.Albert Fixing an XML Parser assert when parsing a root tag that completes on the same line. #jira UE-30393 Change 3230582 on 2016/12/12 by Matt.Kuhlenschmidt PR #3024: Correct the outdated error message instructions for how to fix being unable to launch on an iOS device. (Contributed by CleanCut) Change 3231470 on 2016/12/12 by Matt.Kuhlenschmidt Eliminate editor sounds that play when you PIE, simulate or possess the player. They get in the way of game sounds, are annoying to hear when you are constantly starting and stopping pie, and flush async loading that the game might be doing when they load. Change 3231475 on 2016/12/12 by Alex.Delesky #jira UE-39023 - Using the High Resolution screenshot tool with the "custom depth as mask" option checked should no longer crash the editor or a PIE viewport when the screen percentage is not set to 100. Change 3231476 on 2016/12/12 by Alex.Delesky #jira UE-39380 - Thumbnails for static meshes in the foliage paint mode window should now update to show the correct mesh if the thumbnail pool has been exhausted. This also increases the number of foliage thumbnals that can exist onscreen at once. Change 3231477 on 2016/12/12 by Alex.Delesky #jira none - Extending the IPluginWizardDefinition interface to allow it to return the descriptor type of the plugin. This fixes a merge conflict from Odin where the new plugin wizard was modified to allow for multiple template selection. Change 3231479 on 2016/12/12 by Alex.Delesky #jira UE-39376 - Changing the number of players or changing the dedicated server options in PIE settings should now always persist on editor shutdown. Change 3231480 on 2016/12/12 by Alex.Delesky #jira UE-39417 - A texture will now match to update a dropped in file if the source path differs from that of the dropped in file Change 3231508 on 2016/12/12 by Alex.Delesky Removing todo comment #jira none Change 3231603 on 2016/12/12 by Matt.Kuhlenschmidt Exposed a 0-1 UV set and the scaled pixel size for Box and Border brushes Also added a material function that exposes all of the current UV sets with nice names instead of indexed coordinates Change 3231618 on 2016/12/12 by Alex.Delesky #jira UE-38732 - When editing a spin box with a delta value, committing the value with the Enter key and then clearing the focus from the spin box will no longer change the internal value to match the snapped value. Change 3231638 on 2016/12/12 by Matt.Kuhlenschmidt Add RF_Transactional to the list of default flags for creating or importing new assets. All should be transactional by default Change 3231642 on 2016/12/12 by Matt.Kuhlenschmidt Brighten up the output log by default Change 3231648 on 2016/12/12 by Alex.Delesky #jira UE-38033 - Selecting a Named Slot that's part of a widget in a Widget Switcher will now show that widget instead of the widget at index 0. This also applies to any content set inside the named slot. Change 3231666 on 2016/12/12 by Alex.Delesky #jira UE-38952 - Widgets that have been copied and pasted into the same hierarchy will now retain the same name in the hierarchy. This does not fix widgets that have been previously copied and pasted from other widgets, nor copies of those widgets. Change 3231674 on 2016/12/12 by Alex.Delesky #jira UE-37106 - When using or simulating touch for Widget Components, the hover/clicked state will now be accurately determined rather than showing hover on initial touch. Change 3231745 on 2016/12/12 by Alex.Delesky Back out changelist 3231477 to fix build error C2259 Change 3232417 on 2016/12/13 by Simon.Tourangeau Add the following attributes to the Editor.Usage.FBX.Import EngineAnalytics event - FBX Version - Filename Hash - Import Type #jira UE-37453 Change 3232477 on 2016/12/13 by Michael.Dupuis #jira UE-39675 : There was an issue when the Neutral Value == the Min or Max value, so we simply prevent using the concept of neutral value if min or max == neutral as it mean you only want a log on one side. Change 3232571 on 2016/12/13 by Alex.Delesky Back out changelist 3231745 #jira none - Extending the IPluginWizardDefinition interface to allow it to return the descriptor type of the plugin. This fixes a merge conflict from Odin where the new plugin wizard was modified to allow for multiple template selection. Change 3232675 on 2016/12/13 by Alexis.Matte Fix a crash when reordering material with a fbx containing unused materials, add a fbx automation test to prevent similar issue. #jira UE-39692 Change 3232975 on 2016/12/13 by Alex.Delesky Fix to build error C2259 for the IPluginWizardDefinition API change. Change 3233146 on 2016/12/13 by Michael.Dupuis #jira UE-38766 : Added eye dropper to select flatten height Fixed a rounding errors resulting in not flattening to the specified height Fixed a rounding error resulting in LandscapeDataAccess::GetTexHeight not always returning the appropriate value Change 3233153 on 2016/12/13 by Alexis.Matte We cannot anymore change the instance override materials array topology, the topology is limited by the mesh materials array #jira UE-38827 Change 3234406 on 2016/12/14 by Matt.Kuhlenschmidt Fix window handle and device context being accessed by scene viewports after the underlying window has been destroyed by the OS. This is an invalid state on linux and using some vr devices. #jira UE-7388 Change 3234485 on 2016/12/14 by Michael.Dupuis tentative build fix for Mac Change 3234495 on 2016/12/14 by Matt.Kuhlenschmidt Made a setting to control if PIE enter and exit sounds are played. Off by default Change 3236709 on 2016/12/15 by Simon.Tourangeau Fix camera export rotation offset #jira UE-34692 #jira UE-39740 Change 3236782 on 2016/12/15 by Jamie.Dale Fixed EmitTermExpr failing to use the correct package ID FBPTerminal::Source used to be set to the pin, however when pins were moved away from being UObjects, FBPTerminal::SourcePin was added and FBPTerminal::Source is typically null. Change 3236853 on 2016/12/15 by Alexis.Matte Fix the serialization of the staticmesh property FMeshSectionInfoMap Change 3236890 on 2016/12/15 by Matt.Kuhlenschmidt Remove old define Change 3239328 on 2016/12/18 by Richard.TalbotWatkin Fixed Focus Viewport action in Static Mesh Viewport. Problem was that the conversion to Orbit Camera for storing the camera position was trashing the desired position during cvamera transitions. Orbit camera position is now only stored at the end of a transition. #jira UE-39825 - Key "F" for Focus acts Sporadically in the Static Mesh Editor Viewport Change 3239660 on 2016/12/19 by Alex.Delesky #jira UE-38968, UE-36826 - Components attached to actors can now be directly scaled to negative values using the transform gizmo for that component. Change 3239662 on 2016/12/19 by Alex.Delesky #jira UE-39007 - The data table row editor now contains a Reset to Default control. Change 3239663 on 2016/12/19 by Alex.Delesky #jira UE-39698 - Importing CSV files will now show the name of the file in the import dialog. Change 3240696 on 2016/12/20 by Michael.Dupuis #jira UETOOL-1009: Added paddiing to columns view Added auto resize of column when double clicking on splitter handle in the header Remove right number alignment after discussion with Matt K. Change 3240758 on 2016/12/20 by Michael.Dupuis added missing non abstract implementation Change 3240782 on 2016/12/20 by Michael.Dupuis Added missing documentation for content browser column auto resizing Change 3240817 on 2016/12/20 by Alex.Delesky #jira UE-38940 - Copying a Material-Custom node with a tab character should now correctly render the tab. Change 3240834 on 2016/12/20 by Michael.Dupuis tentative fix for build error Change 3240984 on 2016/12/20 by Michael.Dupuis Removed unnecessary functions Change 3241174 on 2016/12/20 by Matt.Kuhlenschmidt Fix compile errors Change 3241966 on 2016/12/21 by Chris.Wood Fixed Typo and changed execution order in "ComboBoxString" Component [UE-38994] - GitHub 2971 : Fixed Typo and changed execution order in "ComboBoxString" Component PR #2971: Fixed Typo and changed execution order in "ComboBoxString" Component (Contributed by eXifreXi) #github https://github.com/EpicGames/UnrealEngine/pull/2971 Change 3242126 on 2016/12/21 by Alexis.Matte Back out changelist 3236853 We have to back out this change list because the change was implement in the 4.15 release branch and the EditorObjectVersion.h change is now implement in the ReleaseObjectVersion.h. Change 3244492 on 2017/01/02 by Jamie.Dale Improved error message Change 3244545 on 2017/01/02 by Nick.Darnell Navigation - Making it so we don't attempt to load HotReload during shutdown, we only access it if it's still loaded. Change 3244549 on 2017/01/02 by Nick.Darnell Slate - Implementing custom hardware cursor loading across Windows, Mac and Linux and supports loading cursors from PAK files. All platforms support loading PNGs through the FHardwareCursor interface. Some platforms support additional formats, for multiresolution support, but there's a naming convention that can be used on PNGs for the same capability. All of it is documented in the FHardwareCursor header. The platform layer for ICursor, now has support for replacing cursor shapes as an override, and can be reset safely. The FHardwareCursor supports loading cursors from raw pixel buffers as well, the plan is to allow for the option to UTextures to also be used for hardware cursors. Now users through C++ can load and replace the hardware cursors with custom ones of their own, e.g. FSlateApplication::Get().RegisterCursor(EMouseCursor::Default, MakeShareable(new FHardwareCursor(FPaths::GameContentDir() / "Slate/FancyPointer", FIntPoint(0,0)))); The next step is to expose a game friendly layer that supports caching cursors, and letting users change them out by name, without a bunch of destruction of OS resources. Change 3244845 on 2017/01/03 by Jamie.Dale Fixing typo #jira UE-39920 Change 3244903 on 2017/01/03 by Jamie.Dale PR #3044: fix link error when FAssetData::PrintAssetData() is used in project (Contributed by kayama-shift) Change 3245125 on 2017/01/03 by Alexis.Matte Put back the dev-editor version because there was some data create before we back it out Change 3246106 on 2017/01/04 by Chris.Wood Removed broken CrashReportReciever pre-upload phase from CrashReportClient. [UE-40153] - CrashReportClient fails when used in legacy mode with a CrashReportReciever Change 3246251 on 2017/01/04 by Alex.Delesky #jira UE-39869 - Moving an asset before saving it and then hitting Save All from the file menu will no longer save the asset in its original location. Change 3246252 on 2017/01/04 by Alex.Delesky #jira UE-39793 - Fixes an issue with the AutoReimporter where specifying a non-existent mount point (a directory in the content browser) would cause a crash when attempting to auto-import an asset from a monitored directory, as well as ensuring that valid mount points will be able to create new assets from auto-import. The "Map Directory To" field when setting directories to monitor for auto-reimport has also been changed to use the content browser path picker instead of relying on the user to manually enter a mount point. Change 3247620 on 2017/01/05 by Nick.Darnell Automation - Removing an adjustment to the number of shots we take for high res shots. Change 3247621 on 2017/01/05 by Nick.Darnell Automation - Adding a few more rendering tests to the cornell box. Change 3247629 on 2017/01/05 by Nick.Darnell Automation - Improving the comparison row display for screenshots so it's obvious what each image represents. Change 3248811 on 2017/01/05 by Matt.Kuhlenschmidt PR #3091: Removed unnecessary UPackage casts (Contributed by projectgheist) Change 3248860 on 2017/01/06 by Matt.Kuhlenschmidt Made the plugin browser select the "built in" category by default instead of the 2D category. There is no reason for a sub-category to be selected first as it makes searching for plugins globally an extra click because you have to click on the base category first Change 3249264 on 2017/01/06 by Matt.Kuhlenschmidt Fixed automation test warnings #jira UE-40198 Change 3249481 on 2017/01/06 by Michael.Dupuis #jira UE-37875 : Fill empty layers of components on assignation or creation Also fill new component added with the tool from neighbours predominance Change 3249505 on 2017/01/06 by Matt.Kuhlenschmidt PR #3093: Include guard cleanup (Contributed by projectgheist) Change 3249544 on 2017/01/06 by Michael.Dupuis #jira UE-40299: validate if UISettings is valid Change 3250738 on 2017/01/09 by Nick.Darnell UMG - The WIC now checks if the Widget is enabled before it claims that it's over an interactable or keyboard focusable widget. #jira UE-39845 Change 3250865 on 2017/01/09 by Nick.Darnell Slate - Updating EAutoCenter and ESizingRule to use the newer enum class style enums. Change 3250867 on 2017/01/09 by Nick.Darnell Slate - Adding more logging to the hardware cursor code so that it reports more information when it doesn't find an exact match when it comes to cursor size. Change 3250936 on 2017/01/09 by Nick.Darnell Automation - Refactoring the screenshot comparison tool to no longer require one one generated report. Doing screenshot comparions now generates individual reports for each failed comparison so that they can be evaluated in bits, and as changes occur as the user reviews aspects, we can remove the reports. There is now async image loading for the comparison view so that it doesn't hitch. Change 3250937 on 2017/01/09 by Nick.Darnell Automation - Adding another example to the CornellBox test. Change 3250958 on 2017/01/09 by Nick.Darnell Slate - Fixing some other cases where people were referring to ESizingRule::Type. Change 3251162 on 2017/01/09 by Nick.Darnell Slate - Fixing some other cases where people were referring to ESizingRule::Type. Change 3251254 on 2017/01/09 by Matt.Kuhlenschmidt Attempt to fix static analysis warnings Change 3251373 on 2017/01/09 by Nick.Darnell Core - Now writing a log warning instead of ensuring if calling LoadModule wouldn't have been safe to do here, depending on load order. Change 3251525 on 2017/01/09 by Nick.Darnell Automation - Fixing a build issue in ImageComparer. Change 3252321 on 2017/01/10 by Alex.Delesky #jira UE-40164 - Importing multiple files to overwrite existing assets such as sounds will now correctly persist the "Yes to All" / "No to All" dialog selections. Change 3252354 on 2017/01/10 by Nick.Darnell Image Compare - Fixing a potential threading hazard in the image comparer. Change 3252356 on 2017/01/10 by Nick.Darnell Automation - The screenshot metadata now captures the commit/CL that the screenshot was taken at and records it in the metadata. Change 3252601 on 2017/01/10 by Alexis.Matte Fbx automation test, reload feature implementation Change 3252761 on 2017/01/10 by Jamie.Dale Fixing some IWYU errors with PCH disabled Change 3252765 on 2017/01/10 by Jamie.Dale Fixing some static analysis warnings Change 3252793 on 2017/01/10 by Jamie.Dale Fixing FText natvis The text data visualizers have to be defined before the text visualizer Change 3253987 on 2017/01/11 by Matt.Kuhlenschmidt PR #3108: Git Plugin: use asynchronous "MarkForAdd" and "CheckIn" operations for the initial commit (Contributed by SRombauts) Change 3254378 on 2017/01/11 by Matt.Kuhlenschmidt Refactor scene importing to allow for plugins to make scene importers Change 3254679 on 2017/01/11 by Matt.Kuhlenschmidt Fix calling LoadModule in perforce source control off the main thread Change 3256472 on 2017/01/12 by Jamie.Dale Improved error reporting from IncludeTool - The error reporting was using zero-based line indices which was misleading. - The error reporting now includes the offending line to remove ambiguity. Change 3256725 on 2017/01/13 by Jamie.Dale IncludeTool can now parse typedef in Fwd headers Change 3256758 on 2017/01/13 by Jamie.Dale Added support for String Tables String Tables provide a way to centralize your localized text into one (or several) known locations, and then reference the entries within a string table from other assets or code in a robust way that allows for easy re-use of localized text. String Tables can be defined in C++ (using the LOCTABLE family of macros), loaded via CSV file, or created as an asset. They can be referenced in C++ using either the LOCTABLE macro, or the static FText::FromStringTable function. INI files can reference them using the LOCTABLE macro syntax, and FText properties in assets can reference them via the advanced settings combo. Change 3257018 on 2017/01/13 by Alexis.Matte FbxAutomationTest fix the import reload operation, it was calling garbagecollect with no keep flag Change 3257168 on 2017/01/13 by Jamie.Dale Removed code that was writing null into bytecode during save Change 3257344 on 2017/01/13 by Jamie.Dale Backing out changelist 3256725, and excluding my header from the scan instead Change 3257426 on 2017/01/13 by Nick.Darnell Slate - Adding the ability to invert alpha when drawing slate textures. Going to be used in the future for rendering render targets for the scene which have inverted alpha. Change 3257572 on 2017/01/13 by Nick.Darnell Slate - Fixing a build error. Change 3257970 on 2017/01/14 by Jamie.Dale Fixing exclude path Change 3258458 on 2017/01/16 by Matt.Kuhlenschmidt PR #3135: GameViewportClient: FOnCloseRequested is now a multicast delegate (Contributed by Nadrin) Change 3258472 on 2017/01/16 by Matt.Kuhlenschmidt PR #3126: Fix to load editor style assets (Contributed by projectgheist) Change 3258473 on 2017/01/16 by Matt.Kuhlenschmidt PR #3124: Fix wrong result with Image-DrawAsBox with PaperSprite. (Contributed by valval88) Change 3258539 on 2017/01/16 by Nick.Darnell Slate - Pixel Snapping has been moved to the GPU for the RHI rendering policy. Additionally, widgets with a render transform of Scale, Rotation or Sheer, and their children are no longer pixel snapped, this should reduce some of jittering seen by users when animations are applied to widgets. NOTE: This only affects render transforms, any transform in layout space is still subject to pixel snapping. Change 3258607 on 2017/01/16 by Nick.Darnell Fixing the mac build. Change 3258661 on 2017/01/16 by Matt.Kuhlenschmidt Actors with experimental components no longer say "Uses experimental class: Actor" when selecting the actor root in the details panel #jira UE-40535 Change 3258678 on 2017/01/16 by Nick.Darnell Platform - Introducing a way to get the mimetype for a file on Windows. Other platforms don't yet have an implementation outside of returning application/unknown. Change 3258924 on 2017/01/16 by Nick.Darnell Platform - Implementing a fallback for the generic platform http, that can do some basic mimetype lookups. Change 3258929 on 2017/01/16 by Nick.Darnell UMG - Fixing the animation to finish the evaluation before it notifies that the animation completed. Change 3259109 on 2017/01/16 by Nick.Darnell Platform - The GetMimeType function now only takes in FilePath, since some platforms will require that actually resolve to a file on disk in order to determine the true mimetype. Change 3259111 on 2017/01/16 by Alexis.Matte Avoid to move the camera when we re-import in the static mesh editor #jira UE-40613 Change 3259275 on 2017/01/16 by Matt.Kuhlenschmidt Fix crash when a slate window is resized and calls into a scene viewport during loading code when the scene viewport is not in a slate hierarchy and thus has no widget Change 3259300 on 2017/01/16 by Nick.Darnell UMG - Introducing PreConstruct and NativePreConstruct to the base UUserWidget. Users can now visualize non-binding based changes in the designer by evaluating a very limited amount of the blueprint code. In the event your user widget crashes on load, due to calling something unsafe, you can disable evaluation in the editor preferences under Widget Designer. Change 3259306 on 2017/01/16 by Nick.Darnell Games - Removing the Game Specific implementations of PreConstruct. Change 3260182 on 2017/01/17 by Matt.Kuhlenschmidt Fix static analysis Change 3261049 on 2017/01/17 by Nick.Darnell Slate - Putting in some fixes for the non-gpu pixel snapping mode, and disabling gpu snapping while we dig into why it looks weird. Change 3261434 on 2017/01/17 by Nick.Darnell Fixing the mac build. Change 3261435 on 2017/01/17 by Nick.Darnell Slate - Tweaking some aspects of the slate rounding code on the GPU. There's still some precision loss somewhere causing subtle differences in where the snap occurs, that's different from previously. Change 3261460 on 2017/01/17 by Nick.Darnell UMG - Tweaking the defintiions of NativePreConstruct, dropping passing in design time since that is readily available in native code. Change 3261833 on 2017/01/18 by Alexis.Matte Fix all warning for fbx automation tests #jira UE-40208 Change 3261874 on 2017/01/18 by Matt.Kuhlenschmidt PR #3136: Fix Submit to Source Control Window for Git plugin : use CanCheckIn() to filter out unmodified assets files (Contributed by SRombauts) Change 3262000 on 2017/01/18 by Jamie.Dale Updated Slate to allocate widgets using MakeShared This saves one allocation per-widget Change 3262003 on 2017/01/18 by Nick.Darnell UMG - Widget Interaction Components now ignore Visible(false) Widget Components when tracing. #jira UE-40523 Change 3262052 on 2017/01/18 by Alexis.Matte Put back the staticmesh skinxx workflow #jira UE-40782 Change 3262775 on 2017/01/18 by Nick.Darnell Slate - Ditching moving vertex rounding to the GPU, some precision issues could not be overcome. Ended up writing a clean way to implement it on the CPU. Change 3262818 on 2017/01/18 by Alex.Delesky #jira UE-40668 - Editor preferences will now save for data pin styles Change 3263679 on 2017/01/19 by Nick.Darnell Slate - Adding some comments to the Slate Vertex Rounder. Change 3265154 on 2017/01/19 by Nick.Darnell Slate/UMG - Putting in some more time into pixel snapping. I've re-introduced the old constructors, and decided to go with the templated approach, as to not break old code that relied on the FSlateVertex working a certain way. Change 3265478 on 2017/01/20 by Chris.Wood Added config support for hang detection time and switching hang detection on/off in UnrealWatchdog [UE-40838] - Make hang time configurable and increase default in UnrealWatchdog Change 3265600 on 2017/01/20 by Nick.Darnell Slate - Making some const local variables const. Change 3265714 on 2017/01/20 by Alex.Delesky #jira UE-40791 - The ForceFeedback thumbnail's Play and Stop icons will now render correctly, and will only be visible while an effect is playing or when the cursor hovers over the icon. Change 3265865 on 2017/01/20 by Alex.Delesky #jira UE-40511 - The Content Browser file path will now update when inside a folder that is deleted from the Sources Panel. Change 3267989 on 2017/01/23 by Jamie.Dale Exposed String Tables to Blueprints Change 3268018 on 2017/01/23 by Jamie.Dale Small API clean-up for string tables Change 3268455 on 2017/01/23 by Matt.Kuhlenschmidt Fix SaveAs (Which says SaveCurrentAs) not saving the current level and only saving the persistent level and then reloading everything thus causing work to be lost if editing a sub-level #jira UE-40930 Change 3269388 on 2017/01/24 by Chris.Wood Refactored tick timing in UnrealWatchdog to stop bug where it doesn't close. [UE-40839] - UnrealWatchdog running and blocking use of Unreal Game Sync for internal users Standalone tool code only - doesn't touch engine Change 3270205 on 2017/01/24 by Cody.Albert Updated FUnrealEdMisc::OnMessageTokenActivated to properly traverse up the outer hierarchy of an object. Change 3270231 on 2017/01/24 by Cody.Albert Renamed and exposed GetFullScreenAlignment and GetViewportAnchors for consistency with the setters Change 3271734 on 2017/01/25 by Michael.Dupuis #jira UE-38631 Add sorting for landscape target layer, user can now sort alphabetical, material based or custom Added a new vertical box SDragNDropVerticalBox to handle drag & drop of FSlot Fixed SDropTarget to only consider the drop action if it was started by it Added visibility toggle to only show used layers in the currently loaded data Change 3271797 on 2017/01/25 by Jamie.Dale Renamed HasBeenAlreadyMadeSharable to DoesSharedInstanceExist as the old name was nonsense Change 3271813 on 2017/01/25 by Jamie.Dale Fixed bad access of a shared this during widget destruction when a context menu was open Change 3271988 on 2017/01/25 by Nick.Darnell Slate - Removing some old checkbox deprecated code from the 4.3 and 4.6 days. Change 3271992 on 2017/01/25 by Nick.Darnell Blueprints - Making the checked call better to log out more information when dragging and dropping a missing property. Change 3272134 on 2017/01/25 by Jamie.Dale Updated the GatherText commandlet to no longer hold a ConfigFile pointer while it runs This pointer is internal to GConfig, and may be updated (or invalidated) when other config files are loaded (as can happen via game code while gathering text). Change 3272301 on 2017/01/25 by Nick.Darnell Slate - More cleanup from the removal of a old legacy enum that people were still using. Change 3273070 on 2017/01/26 by Chris.Wood Fix CIS errors in landscape code from CL 3271734 Change 3273123 on 2017/01/26 by Chris.Wood Fix crash during init of CRC when running packaged without access to main engine config hierarchy. Change 3273194 on 2017/01/26 by Nick.Darnell Fixing some build warnings. Change 3273242 on 2017/01/26 by Michael.Dupuis #jira UE-39948 : if we detect there is multiple levels in the current persistent when we add a new foliage asset we ask to save the foliage as an asset to permit paiting over multiple levels Change 3273279 on 2017/01/26 by Jamie.Dale String Table INI redirects are now in the "Core.StringTable" section (rather than "/Script/Engine.Engine") Change 3273483 on 2017/01/26 by Alex.Delesky #jira UE-32047 - Made changes to the FixupRedirects commandlet to ensure that files that are marked for delete are moved from the default changelist to the pending changelist and submitted when using Perforce. Also makes a slight change to the ResavePackages commandlet to submit files marked for delete. Change 3273568 on 2017/01/26 by Alex.Delesky Modifying changes made to SPluginWizard to have the plugin loading phase determined by the wizard's definition rather than from the first selected template. #jira none Change 3273855 on 2017/01/26 by Alex.Delesky #jira UE-41117 - Updating the tooltip on the "Allow Paint of all LODs" option for mesh paint mode. Change 3274200 on 2017/01/26 by Alex.Delesky For IPluginWizardDefinition, temporarily adding function bodies to two methods instead of having them be pure virtual methods. Change 3274317 on 2017/01/26 by Jamie.Dale Deleting a seemingly corrupted asset that was accidentially submitted Change 3275072 on 2017/01/27 by Michael.Dupuis #jira UE-38631 tweaks Fix typo error Iterate all components, not only active one Force expand the Target Layers widget Change 3275249 on 2017/01/27 by Alexis.Matte Color grading controls: Keep the vector ratio when changing the master slider #jira UETOOL-1098 Change 3275282 on 2017/01/27 by Alexis.Matte Color grading controls: Cosmetic changes #jira UETOOL-1099 Change 3275292 on 2017/01/27 by Alexis.Matte Make sure the build is called once when we import a staticmesh. #jira UE-40947 Change 3275430 on 2017/01/27 by Alexis.Matte Add some fbx automation tests - Import a mesh with no material - Import corrupted asset with no section in a LOD - Import morph targets - Materials name clash - Max Multimap material ordering Change 3275683 on 2017/01/27 by Michael.Dupuis #jira UE-41215 : when saving an asset do not register the transaction, and make sure that the duplicate wont keep a copy in the transaction buffer as an asset can't be undo Change 3276237 on 2017/01/27 by Jamie.Dale Deleting a seemingly corrupted asset that was accidentially submitted Change 3276266 on 2017/01/27 by Jamie.Dale Fix for accessing a potentially null pointer Change 3277065 on 2017/01/30 by Chris.Wood Move crash report temp files to saved config and cleanup on schedule. [UE-39506] - CrashReportClient ini folders are not cleaned when opening the editor Change 3277236 on 2017/01/30 by Matt.Kuhlenschmidt Fix crash when cancelling SaveCurrentLevelAs #jira UE-41182 Change 3277409 on 2017/01/30 by Jamie.Dale Improved text rendering when the last resort font is missing The last resort font is no longer included in shipping builds, so this change makes some improvements to text rendering when it's missing. - The legacy font cache no longer tries to use the last resort font if it's not available (preventing warnings). - The Slate font renderer no longer tries to use the last resort font if it's not available. - Text shaping will use the last resort character if none of the available fonts can render a given character (likely because the last resort font is missing). - HarfBuzz shaped text now uses the fallback character correctly. Change 3277749 on 2017/01/30 by Nick.Darnell Slate - Moving ESlateDrawEffect & ESlateBatchDrawFlag over to be enum class, found cases where users were improperly assuming the enum order, and so now it won't be possible to just treat an int32 or a bool as the draw effect value. Core - Adding EnumHasAllFlags and EnumHasAnyFlags, templated functions to make it easier to check for the existance of a flag on enum classes. Change 3277805 on 2017/01/30 by Nick.Darnell Rendering - Changing some LoadModuleChecked calls to GetModuleChecked, as these calls are not happening on the main thread and are not safe to make. Change 3277914 on 2017/01/30 by Matt.Kuhlenschmidt Fix Niagara slate style warning on startup Change 3278058 on 2017/01/30 by Matt.Kuhlenschmidt Fixed compile error Change 3278132 on 2017/01/30 by Nick.Darnell Fixed compile error Change 3278133 on 2017/01/30 by Matt.Kuhlenschmidt Fixed compile errors Change 3278186 on 2017/01/30 by Nick.Darnell Fixed compile error Change 3278525 on 2017/01/30 by Nick.Darnell Fixed compile error Change 3278534 on 2017/01/30 by Nick.Darnell Automation - Clearing up several warnings/errors with automation results, trying to get Automation Tests to at least yellow before integration. Change 3278941 on 2017/01/31 by Nick.Darnell Fixing a build warning due to build team refactor. Change 3278949 on 2017/01/31 by Nick.Darnell Fixing incrmenetal build issues. Change 3278953 on 2017/01/31 by Nick.Darnell Fixing some incrmental linux build issues. Change 3278964 on 2017/01/31 by Nick.Darnell FIxing more incremental build issues. Change 3279256 on 2017/01/31 by Michael.Dupuis #jira UE-41319 #jira UE-41315 #jira UE-41316 Instead of getting the Landscape Actor, call GetLandscapeProxy so all case are handled, either proxy or landscape actor Change 3279270 on 2017/01/31 by Chad.Garyet re-updating the automation test pool [CL 3279775 by Matt Kuhlenschmidt in Main branch]
2017-01-31 15:22:49 -05:00
ESlateDrawEffect DrawEffects;
/** Whether or not to only draw major ticks */
bool bOnlyDrawMajorTicks;
/** Whether or not to mirror labels */
bool bMirrorLabels;
};
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3946692) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3801826 by Max.Chen PR #4304: Level Sequence crash fix - Guarded against dereferencing null componen. (Contributed by DSDambuster) Change 3801828 by Max.Chen PR #4302: Movie Scene Visibility Template unitialised variable, causing random . (Contributed by DSDambuster) Change 3801837 by Max.Chen Sequencer: Delay spawning/construction for convert to possessable. This fixes a bug where property values would be lost when converting back and forth from possessable to spawnable. #jira UE-52400 Change 3801841 by Max.Chen Sequencer: Make spacer nodes not selectable. PR #4194: Improvements to Sequencer (Contributed by projectgheist) #jira UE-53117 #jira UE-52139 Change 3804183 by Max.Preussner MediaAssets: Added missing lock in media sound component Change 3805414 by Max.Preussner MediaAssets: Setting valid GUID when initializing media texture resource Change 3819578 by Max.Chen PR #4370: When enabling the "MovieCapture", do not turn off the Stereo-3D display. (Contributed by yehaike) #jira UE-53647 Change 3823414 by Max.Chen Curve Editor: Lock down the first and last keys in the redundant keys removal range so that they're unaffected. #jira UE-53591 Change 3826406 by Max.Chen Sequencer: Move OnStartedPlaying() to within first update in UpdateTimeCursorPosition(). This fixes an issue where setting the hud/player visibility was getting stomped on later. #jira UE-52772 Change 3827044 by Max.Preussner MediaAssets: Added sprite visualization to media sound component #jira UE-53594 Change 3827988 by Max.Preussner MediaPlayerAssets: Fixed Media Texture is not linked to Media Player when created together #jira UE-53532 Change 3828506 by Max.Preussner MediaPlayerEditor: Added attenuation visualizer for media sound components #jira UE-53594 Change 3832590 by andrew.porter EngineTest: Added a keep state check in Property Animation sequencer test Change 3833053 by andrew.porter EngineTest: Adding Hierarchical Bias test Change 3835683 by andrew.porter EngineTest: Adding UMG Animation screenshot test Change 3836076 by Max.Chen Sequencer: Fix audio volume and pitch multiplier deprecation. Change 3836230 by andrew.porter EngineTest: Adding Sequence Bone Position automation test Change 3836347 by Max.Chen Sequencer: Fixes to shot name parsing. When a shot doesn't contain a shot number, assume, [ShotName]_[TakeNumber]. When duplicating a shot, put the new shot in the same path of the original shot, so that the take numbers will increment properly. #jira UE-51868 Change 3836552 by Max.Chen Sequencer: Sub section now has a takes menu Change 3838094 by Max.Chen UMG: Fix template finish not getting called on stop. This fixes a bug where sections aren't restored when finished. #jira UE-52285 Change 3838708 by Max.Chen Sequencer: Add notification when the blend type is changed. #jira UE-54046 Change 3840295 by Max.Chen Sequencer: Fix copy/paste crash for lights #jira UE-54084 Change 3840957 by Mike.Zyracki Added Show Only Keyable and Show Only Animated to the filter list in the property editor. Added IsPropertyAnimated to IDetailKeyframe Interface which already had support for showing properties which are keyable (which is used for the key icon next to the properties.). Could have created another interface but then would have had to mimic the sequencer binding, releasing also, so this seemed best way. One issue still left is that custom built detail items currently don't store associated properties(usually) and so certain properties, in particulalry transforms, won't show up as keyable or animated. Note this also shows up with the keyable icon not showing up next to transform tracks, and other filters like Show Only Modified not working with transforms/customs. Not sure best way to tackle this. #jira UESEQ-328 Change 3841756 by Max.Chen Sequencer: Fix unbound possessable components when pasting spawnables. #jira UE-54104 Change 3843950 by andrew.porter EngineTest: Renaming LevelStreaming tests/content to LevelVisibility Change 3844082 by Mike.Zyracki Missing file for animated filter in property editor. When finding if a track is animated we need to find it but we can't easily induce the MovieTrack class for any particular property. So we don't set a class for it and just search by it's ID and name. #jira UESEQ-328 Change 3846902 by Max.Preussner ImgMedia: Fixed image media player never finished initialization if loading failed #jira UE-54247 Change 3849820 by Mike.Zyracki Reassigning deleted widgets didn't work since the menu extender mechanism needs a valid UObject in order to perform an operation on it. So to fix we replaced GetObjectBindingContextMenuExtender in WidgetBlueprint with new delegate mechanism (OnBuildCustomContextMenuForGuid) that supports FGuid in addition to UObjects which is needed to handle re-binding deleted widgets. Note that the default sequencer hacks this for replacing deleted actors in SequencerObjectBindingNode to check to see if a LevelSequence is active. We could move to this mechanism there also. #jira UE-53163 Change 3852211 by Max.Chen UMG: Indicate name of the property that is not bound. #jira UE-54350 Change 3854120 by Max.Chen Sequencer: Fix sibling folders being allowed to have the same folder name. #jira UE-54363 Change 3854627 by Max.Chen Sequencer: Step to next/previous key should work for all tracks if there aren't any selected. #jira UESEQ-391 Change 3855825 by andrew.porter EngineTest: Adding animation blending automation test Change 3855950 by andrew.porter EngineTest: Adding correct expected valuues to animation blending test Change 3856237 by Matt.Hoffman UESEQ-336 - Sequencer Track Reordering Adds the ability to re-order Master Tracks, Folders and Object Bindings within sequencer hierarchies (including UMG). Adds the ability to do a one-off sorting of the content under the old sorting behavior if the user wants to reset their layout to how it was under legacy behavior. Modifies SequencerTrackNodes, SequencerFolderNodes and SequencerObjectBindingNodes to handle CanDrop/OnDrop for above, below and ontop of. Fixes a Slate Issue that forcibly expanded a TreeviewRow if an item handled OnDrop. Slate will now only forcibly expand the row if the item says the drop happened ontop of the item, and not above or below it like it previously did. Change 3856503 by andrew.porter EngineTest: Adding automation test for using animation blueprint with blend multi node in sequencer Change 3857875 by Max.Chen Sequencer: Assign the sequence id after the template is compiled. #jira UE-54462 Change 3858344 by Max.Chen Sequencer: Prevent Goto and Transform boxes from overlapping by allowing them to be visible at the same time in an autosized horizontal box. Also, added close button to the goto box. PR #4425: Prevent Goto and Transform boxes from overlapping in Sequencer ... (Contributed by projectgheist) #jira UE-54210 Change 3860566 by andrew.porter MediaFrameworkTest: Set the option to index 0 for the audio and video track list by default Change 3860654 by andrew.porter EngineTest: Enabling Camera Cut + FOV test Change 3860981 by andrew.porter EngineTest: Updating skeletal mesh tests with a delay after set playback position Change 3861256 by Max.Chen Sequencer: Add all bindings if none selected. #jira-54440 Change 3862154 by Andrew.Rodham Added TimeManagement module Change 3862424 by andrew.porter EngineTest: Turned on the test Bone Positions with Blend Multi Node Change 3862573 by andrew.porter EngineTest: Adding test to compare bone positions in a sequence that is blending an animation that is using an AnimBP Change 3865117 by Max.Chen Sequencer: Stop auto scroll on mouse release of movement. #jira UE-31212 Change 3865303 by Max.Chen Sequencer: Add drag and drop transactions #jira UE-54662 Change 3865304 by Max.Chen Sequencer: Fix crash when an actor factory is not found. Change 3865361 by Max.Chen Sequencer: Don't change the camera/shot lock button when popping out of a sequence. #jira UE-54665 Change 3865412 by Max.Chen Sequencer: Determine whether a transform track is for a camera by using the spawned object or template #jira UE-54666 Change 3865685 by Max.Chen Sequencer: Clear autoscrub offset when stopping autoscroll #jira UE-31212 Change 3865886 by Max.Chen Sequence Recorder: Log an error if the number of frames changes while recording. This can happen if the skeleton changes while recording. #jira UE-48715 Change 3866925 by Andrew.Porter MediaFrameworkTest: Changing the current PNG test video image sequence to 1024 x 576 Change 3867705 by andrew.porter QAGame: Adding Audio Sort Sequence to dev folder Change 3867890 by andrew.porter QAGame: Adding a sequence for testing a sorting crash to my dev folder Change 3872628 by Max.Chen Movie Scene Capture: Split delay before warmup into split delay before shot warmup so that there's separate controls for when the movie scene capture warmups up vs. shot boundaries. Change 3873131 by Matt.Hoffman UE-54732 - Crash reordering a folder with a track. This was caused by folders being the only type of track to check if someone was putting a parent track into a child track. Object Binding tracks and Tracks now check as well so that you can't use the above/below drop targets to add parents as children. This also fixed a typo in the localization keys. #jira UE-54732 Change 3873301 by Mike.Zyracki Added ability to support continous euler angle changes when changing rotations, in particularly with the rotation gizmo's. To do this we effectively added a form an of 'euler filter'(https://en.wikipedia.org/wiki/Euler_filter) to find the closest euler angle to the current euler angle. Three functions were added to FRotator to make this possible, one to get the euler angle that's has the same rotation as it, one to get the difference between two euler angles via Manhattan distance and a third using the previous two to choose a Rotator value that's closest to it. We then use these functions before calling UComponent::SetRelativeRotation to make sure we use the correct Euler after the Quat conversion. We also no longer limit(bound) the euler angles to -180,180, which is obviously necessary to avoid flips. I also changed how we caluclate yaw and roll when pitch is -90 or 90 to make it the standard approach of zeroing out roll and just setting yaw. Main reasons are the previous implementation had precision issues so things like 180, 90, -180 would show up due to numbers being nearly zero but negative,(this would break any smooth interpolations), and this facilitates having a 'gimbal' rotation mode (like Maya, Blender etc..) if we ever want that also. If needed we could keep the previous implementation but would need to add some FMath::IsNearlyZero checks, with less performance. Note we only do this special filtering when applying delta's to actors or components in the editors, which then call UComponent::SetRelativeRotationExact, which is a new function to foces the RelativeRotation to be equal to the new rotation. This allows us to store un-nomalized Rotators at the cost that the RotationCache may be broken. We didn't change any of the other UComponent functions that set rotations (via Quats or Transforms) so they will still be bounded and unwound. In SetInternalWorldLocationAndRotation we only set the rotation if the rotation has changed, which fixes the rotation getting changed and re-normalized if just translate happens. In TransformTrackEditor, we correclty use the bUndwing flag and in MovieScene3DTransformSection there was an un-needed winding check there, it will be unwound earlier if needed, which happens if Sequence Recording is happening. Max we should talk about what to do about this . Note the euler angle drag via the widget is still bound to 0-360. I think we should just unbound that now since the rotations value are now unbound. This review now includes fixes suggested by Zak. #jira UE-UE-22228 Change 3873483 by Matt.Hoffman Sequencer Tracks can now be inserted above the spacer at the bottom of the tree. #jira UE-54706 Change 3873899 by Max.Chen Sequencer: Add section selection throbbing Change 3873908 by Max.Chen Movie Scene Capture: Added logging per frame Change 3873924 by Matt.Hoffman Adds the ability to store Sequence Recorder setups into profiles that stay with the map and can be re-loaded later. Profiles store the Actor Recordings so the settings for each actor should carry with them. #jira UESEQ-339 Change 3874726 by Matt.Hoffman Disable drag-and-drop targets on spacers that come between rows in Sequencer. This prevents extra drag/drop targets showing up between each row. #jira UE-54706 Change 3874862 by Matt.Hoffman Audio Track no longer gets reordered when adding sub-audio tracks, as sub-tracks are no longer counted towards the sorting order index when normalizing indexes. #jira UE-54727 Change 3875905 by Matt.Hoffman Disable Fade Track UI if a fade track already exists in the sequence. #jira UESEQ-393 Change 3876163 by Max.Chen Sequencer: Swap the camera object to the camera component's owner if it's not the same. #jira UE-54874 Change 3876971 by Andrew.Porter EngineTest: Moved Media Player Seek test to new folder. Also enabled the test with new ground truth image. Change 3877040 by Max.Chen Cine Camera: Split camera properties to two groups, "Camera Options" and "Camera Settings". The cine camera now hides properties in the "Camera Settings" group so that properties like bConstrainAspectRatio (in the "Camera Options" group) can be visible. #jira UE-54192 Change 3877763 by Max.Chen Curve Editor: Fix curve changed on end drag so that only curves that had keys/tangents that were changed receive notification, otherwise all loaded curves were getting notified that they were changed. #jira UE-54951 Change 3878234 by Matt.Hoffman Disable "Drop Below" targets for Sequencer Tree nodes to prevent a confusing UX issue where dropping underneath a Object Binding Node puts it after the object binding node but the UI looks like it's inserting it inside the Object Binding node. #jira UE-54743 Change 3879359 by Mike.Zyracki If a track is inactive we dim it a bit which seems to be the UE4 way to show inactive or disabled state. We changed the active logic so that all subtracks need to be inactive for the track to also be inactive(instead of all active for active). This conforms to how the active state actually works, e.g if you have two sections and only one is active the track is still active above it. #jira UESEQ-388 Change 3879462 by Max.Chen Sequencer: Allow dragging onto a particular row which would move out any overlapping sections to make space for the newly created section. Newly created sections are now selected and throbbed to draw attention to themselves. #jira UE-54664 Change 3879464 by Max.Chen Sequencer: Fixed overlapping ranges being inserted into the evaluation field during compilation - The issue was that track segments that had been combined with adjacent segments (due to them being identical) would potentially cause a subsequently compiled frame to overlap with a range that had already been inserted into the evaluation field. - The insertion code previously asserted that only minor overlaps were catered for (due to fp rounding errors) and assumed that a supplied range could not entirely contain any other range in the field. - The solution is to supply the insertion time along with the range to know exactly where the data should live in the field, and crop the range to the maximum allowable space between adjacent ranges. #jira UE-54922 Change 3879590 by Matt.Hoffman Items that are now added to the Sequencer via the "+Track" menu will be selected after being added. Items can now be added inside of folders instead of just to the root level. #jira UE-27397 Change 3879612 by Mike.Zyracki Display Nodes with no children are always active. #jira UESEQ-388 Change 3879730 by Matt.Hoffman Sequence Recorder's actor recording groups now remove items from the group when removed via the UI. #jira UESEQ-339 Change 3880256 by Mike.Zyracki Fix issue with inactive display with folders and other track nodes. #jira UESEQ-388 Change 3883491 by Max.Chen Fix issue where tick is skipped due to last ticked pose isn't cleared after AnimInstance changes. Copy from Release-4.19 #jira UE-51323 Change 3883603 by Max.Chen Movie Scene Capture: Add option toggle disable screen percentage. By default this is on (no change in current behavior). #jira UE-51898 Change 3885074 by Max.Preussner MediaCompositing: Resetting media texture & freeing resource on section end; removed dead code Change 3887220 by Max.Preussner MediaCompositing: Defaulted media section duration to 1 sec (since we do not know the actual duration in most cases) Change 3887478 by Matt.Hoffman Sequences now show [Inactive] in their title bars when they're disabled. This helps communicate why a sequence isn't being evaluated. #jira UE-51469 Change 3888985 by Max.Chen Movie Scene Capture: Clamp HDR Compression Quality between 0 and 1. #jira UE-55136 Change 3893519 by Max.Chen Sequence Recorder: Clarified tooltip for bRecordNearbySpawnedActors - spawned actors will still be recorded if they match the ActorFilter. #jira UE-55238 Change 3893546 by Max.Chen Sequence Recorder: If a selected actor already has a recording, add a blank recording. #jira UE-55239 Change 3894044 by Max.Preussner MediaCompositing: Added support for seeking into a media section Change 3894310 by andrew.porter MediaFrameworkTest: Adding Img media sources for 1080 and 2160 ravent test content Change 3894426 by Max.Preussner MediaAssets: Letting media textures with AutoClear retain their clear color when player is reset Change 3895717 by Max.Chen Sequencer: Null checks to prevent crash when saving the default state of a spawnable #jira UE-55304 Change 3897388 by Max.Chen Sequencer: Don't update current time to be within the view range when stepping into a sequence. #jira UE-55322 Change 3897452 by Max.Chen Audio: Fix crash when trying to record audio without any active capture devices. Log warning if the number of input channels is not 1 or 2. #jira UE-55223 Change 3897619 by Max.Preussner MediaCompositing: Removed commented out code Change 3898072 by Max.Chen Sequencer: Override the animation asset in the player state if it doesn't match the animation asset that's being evaluated. #jira UE-55328 Change 3898272 by Max.Preussner MediaPlayerEditor: Made slate brush constants static Change 3898704 by Max.Chen Sequencer: Skip if the binding id's sequence can't be found. #jira UE-55337 Change 3899855 by Max.Preussner MediaCompositingEditor: Added cache state visualization to media track Change 3900300 by Max.Preussner MediaCompositingEditor: Added loop indicators to media sections Change 3900694 by Max.Preussner ImfMedia: Looping cache only when player is looping Change 3900892 by Max.Preussner Stats: Added stats category for media framework Change 3900954 by Max.Preussner MediaCompositing: Don't evaluate at the end of media section Change 3901348 by Max.Preussner Core: Replaced TLruCache autos for better readability Change 3901655 by Max.Preussner ImgMedia: Added more perf stats to EXR reader Change 3901972 by Max.Preussner MediaAssets: Added getter for media player in media sound components Change 3902233 by Max.Preussner MediaAssets: Enabling media textures to receive samples right after player is assigned Change 3902238 by Max.Preussner MediaCompositing: Working around init/shutdown idiosyncracies in sequencer Change 3904045 by Max.Chen Sequencer: Fix copy/paste crash. Only process UMovieSceneCopyableBinding and objects that can be spawned by the movie scene spawn register. #jira UE-55314 Change 3905605 by Max.Chen Sequencer: Restrict spawnables from being created if they have a ClassWithin that UMovieScene is not a child of. #jira UE-55429 Change 3906550 by Max.Chen Sequencer: Add media track icon #jira UE-55480 Change 3907101 by Max.Chen Sequence Recorder: Fix bugs related to not recording a level sequence. There were certain assumptions that creating a level sequence meant that sequence recording was in progress. This is not always the case - the recorders can record animation assets and not create a level sequence. Changed the notion of IsRecording() to having at least one actor recording that is recording. Countdown timer, recording displays, etc should function if IsRecording() and not based on whether a level sequence is created. #jira UE-55485 Change 3907247 by Max.Chen Sequence Recorder: Fix crash not removing PrepareToCleanseEditorObject delegate. Repros when opening sequence recorder, closing it, and then opening or creating a level. Change 3910343 by Max.Preussner Core: Added async helper for executing functions on a given thread pool Change 3910346 by Max.Preussner ImgMedia: Added separate thread pools for loading/decoding and deleting image frames Change 3910829 by Max.Preussner Profiler: Increased visible range of profiler graph Change 3910841 by Max.Preussner MediaCompositing: Displaying asset name instead of full media source path in media section Change 3910870 by Max.Preussner ImgMedia: Using deallocation thread pool only in debug builds Change 3919642 by Max.Chen Sequence Recorder: Clarify active tooltip #jira UE-55661 Change 3919660 by Max.Chen Sequencer: Sequence template source signatures are now also compared to catch the case where a sub-sequence asset has been saved but not modified - The following sequence of events exposes this issue: - Create a master sequence with a single shot that spawns a cube - Add this sequence to a level and set it to auto-play - Save everything and restart - Resave just the inner shot asset without opening it - PIE - The inner shot never spawns its cube because its template was wiped on save, but its signature never changed. Since the master sequence previously didn't check the template source signature, it ends up trying to evaluate an empty template. #jira UE-55626 #jira UE-55490 Change 3921825 by Max.Chen Sequencer: "Run Construction Script in Sequencer" is off by default for blueprints but on for Sequencer. This allows the content author to switch it on for specific blueprints and sequencer will be default, run those with construction scripts enabled. Change 3922232 by Max.Chen Sequence Recorder: Reset countdelay on stop. #jira UE-55755 Change 3922306 by Max.Chen Sequence Recorder: Don't automatically mark transforms to be recorded by sequence recorder. Instead, log a warning if the user toggled it off to warn that the resulting animation might not match gameplay. #jira UE-55758 Change 3922912 by Max.Chen Sequence Recorder: Fix refresh next sequence name #jira UE-55757 Change 3927654 by Max.Chen Movie Scene Capture: Added format mapping for the name of the current camera #jira UE-55769 PR #4537 Change 3927658 by Max.Chen Sequencer: Added fbx property mapping for "FocusDistance" to "FocusSettings.ManualFocusDistance" #jira UE-55782 Change 3932022 by Max.Chen Sequencer: Add import animation track section to next available row index. #jira UE-55892 Change 3933919 by Max.Chen Sequencer: Jump to playback start frame and not 0 to start playback for recording. #jira UE-55933 Change 3934307 by Andrew.Rodham Sequencer: Add template signature that is re-generated every time the base template is regenerated, which invalidates evaluation fields This fixes an issue where the same sequence is instantiated multiple times in a sequence. If the source sequence was saved, its template would be wiped, which would invalidate the template ID When an instance tries to evaluate the master template, it would only invalidate a range in the evaluation field that was the hull of any invalid sub sequences overlapping the current time, potentially leaving invalid data in the evaluation field at positions later (or earlier) on in the sequence When the sub template was re-generated, it receives the same SequenceSignature as it had before (because the sequence hasn't actually changed), which causes the stale evaluation field data to fail the IsDirty check (because the sequence is the same as it thought, but the *template* has changed) This has been addressed be adding a signature to templates themselves, and checking both the template signature and sequence signature as a part of the IsDirty check. This ensures that we regenerate if either the template, or the sequence have changed. #jira UE-55934 Change 3936327 by Andrew.Rodham Sequencer: Removed increment when trimming right UMovieSceneSection::TrimSection already explicity assigns an exclusive bound to the time passed in. The new behavior means we can trim a section to the right, and insert another section without changing the time to create adjacent sections. #jira UE-42652 Change 3936328 by Andrew.Rodham Fixed KeyFrameManipulator assignment operators and copy/move constructors - These types are potentially self-referential so cannot use default constructors/assignment Change 3936330 by Andrew.Rodham Converted UMGSequencePlayer to use frames internally #jira UE-54878 Change 3936726 by Max.Chen Sequencer: Set track node as the parent of the key area node. The key area switcher needs the object binding id from the parent object binding node. Without this, the binding to the external value fails. #jira UE-55931 Change 3936775 by Max.Chen Sequencer: Should stop or loop should compare DurationFrames with Current Time from StartTime. The bug is that if you set 30 warmup frames in movie rendering for a range of 0-100, the FrameRange will be starting at -30 and have a duration of 130. Without this fix, the playback will continue until frame 130, rather than 100. #jira UE-55933 Change 3936935 by Matt.Hoffman Easing Curves are now represented in Play Rate resolution instead of internal resolution. #jira UE-55937 Change 3937069 by Matt.Hoffman Users can toggle if the is infinite on each side, limited by which tracks support infinite ranges. #jira UE-55891 Change 3937516 by Max.Preussner ImgMedia: Added support for single-threaded platforms #jira UE-55986 Change 3937826 by Max.Preussner MediaAssets: Disabling media sound components on HTML5 if AudioMixer is not enabled Change 3937997 by Max.Chen Curve Editor: Add Zoom to Fit Curves so that selected curves from Sequencer can be focused on. Tested that undo doesn't re-zoom. #jira UE-55935 Change 3938000 by Max.Chen Sequencer: Stop all sounds before generating audio waveforms. #jira UE-55951 Change 3938376 by Max.Preussner XGEController: Disabled XGE Controller in single-threaded apps to prevent crash Change 3938444 by Max.Preussner Core: Added async support for single-threaded applications Change 3938445 by Max.Preussner Networking: Added support for single-threaded applications in UDP socket sender/receiver Change 3938447 by Max.Preussner Messaging: Added support for single-threaded applications Change 3939432 by Max.Chen Sequence Recorder: Append command list to global level editor actions so that shortcuts are accessible in level editor. #jira UE-55798 Change 3940229 by Andrew.Rodham Added prospective display rate upgrade to UMovieScene::PostLoad - There was previously some very odd behaviour that would assign the fixed frame interval only when a sub sequence was focused in SSequencer. This meant that many sequences could have a frame interval of 0 set in the data. - Under the old method of snap interval display this would have fallen back to getting the display interval from the sequencer settings, but we no longer look at these. - The USequencerSettings properties have been removed and in their place, a prospective data upgrade for sequences that have a fixed frame interval old 0fps that sets the play rate to the previous defaults based off the old USequencerSettings defaults. - This could end up 'changing' the display rate for sequences where the user has changed the snap interval in the settings for a particular sequence editor, but there's not much we can do about that given we don't have access to the USequencerSettings classes in UMovieScene #jira UE-55919 Change 3940277 by Andrew.Rodham Sequencer: Added ability to default frame resolutions and play rates for newly created actor sequences Change 3940378 by Andrew.Rodham Sequencer: Post move import dialog now defaults to the playback framerate of the sequence, and floors to frame numbers Change 3940559 by Andrew.Rodham Reinstated primed or recording sequence color Change 3940642 by Max.Preussner ImagePlate: Removed image plate media playback functionality Change 3940843 by Max.Preussner Core: Made TCircularQueue actually thread-safe; improved code comments Change 3940860 by Max.Chen Sequencer: Changed StructNameToKey to StructPathToKey Previously, keying a PropertyPath of [RenderTransform][Shear][X] would get trimmed to X, which doesn't map to a channel name as considered by Sequencer2dTransformTrackEditor. Instead, trim the resulting property path to [Shear][X] so that track editors can determine the desired struct path and channels to key. #jira UE-52966 Change 3941292 by Mike.Zyracki Fix for trajectories out of range not showing up. 1) If we had no key data we would pop the time, so wouldn't get the section ranges. 2) Calculating of upper bound was wrong, checking against -1 and not key == num of keys when doing algo::lower_bound. 3) No need to do the Bck-- for the bakward iterators since we fixed #2. We start now from the upper bound correctly. 4) If we had no keys (at section start,end) we would incorrectly say we were any key type, so since we draw constant keys as dashed we would do so incorrectly around section end points. #jira UE-55929 Change 3941424 by Max.Chen Curve Editor: Change Zoom to Fit to use TArrayView Change 3941498 by Max.Preussner Core: Added FMath::DivideAndRoundNearest function Change 3942097 by Matt.Hoffman Drop Frame Timecode Support for NTSC rates. Change 3942104 by Matt.Hoffman Sequence Recorder Group is no longer visible inside the World Outliner after using one. #jira 55266 Change 3942107 by Max.Chen Sequencer: Resurrect logic to find or extend an existing section when adding keys. Change 3942330 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942339 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942507 by Andrew.Rodham Sequencer: We no longer pad the time overlap threshold with a small number that is not scaled by the current zoom level - The presence of this pad was causing keys that were far apart to be grouped when zoomed in a long way Change 3942509 by Andrew.Rodham Sequencer: Only pad total view range, rather than section range as well when retrieving keys to render - This stops us from rendering keys that are within the view range, but outside the section range Change 3942512 by Andrew.Rodham Added transactions to some sequencer details customizations Change 3942513 by Andrew.Rodham Sequencer: Reinstated validation checks to UMovieSceneSection::SetStartFrame and SetEndFrame, changed erroneous uses to use SetRange Change 3942560 by Andrew.Rodham Pass by rvalue reference to appease error C2719 on Win32 ('InChannels': formal parameter with requested alignment of 8 won't be aligned) Change 3942697 by Andrew.Rodham Newly Created Level Sequences and Actor Sequences now default to 24000 fps frame resolution (+/- ~24hrs range, supporting all integer rates + 23.976) Change 3942700 by Andrew.Rodham Sequencer: Added legacy out-of-bounds errors for times that are not supported by the current legacy upgrade frame resolution Change 3942989 by Max.Preussner Core: Fixed circular queue count calculation Change 3943538 by Max.Preussner MediaAssets: Reverted workaround for procedural audio log spam in HTML5 (Actor component initialization cannot be skipped if the component is used in a level) Change 3944071 by Max.Preussner QAGame: Fixed Media Texture keeps last frame of Media when PIE ends #jira UE-53360 Change 3944292 by Max.Chen Sequencer: Added extra flags to ensure that asset initialization does not occur on template actor sequences #jira UE-56113 Change 3944364 by Max.Chen Sequencer: Prevent circular shot/master tracks. Tested adding master -> child -> master as drag and drop cinematic shot tracks and sub tracks as well as through the + button. #jira UE-56091 Change 3944422 by Max.Chen Sequence Recorder: Disable transform recording if off. #jira UE-56061 Change 3944745 by Andrew.Rodham Sequencer: Key rendering fixes - Fixed assert that occured when keys happened to reside on some times due to KeyTime + TimeOverlapThreshold - KeyTime being slightly larger TimeOverlapThreshold - Fixed keys sometimes being clipped when zoomed right in due to lack of half-frame offset - Added missing documentation to MovieSceneTimeHelpers.h #jira UE-56107 Change 3945231 by Andrew.Rodham Sequencer: Reconstruct channel proxy on Serialize to catch all cases of undo/redo, PostLoad and duplication #jira UE-56089 Change 3945301 by Andrew.Rodham Sequencer: Added safety checks during initial sequence recording to guard against applying negative or 0-sized sequence ranges #jira UE-56125 Change 3946627 by Max.Preussner Fortnite: Fixed game crashes closing editor while in PIE - Pure virtual function being called #jira UE-56144 [CL 3946896 by Max Chen in Main branch]
2018-03-14 22:09:33 -04:00
void FSequencerTimeSliderController::DrawTicks( FSlateWindowElementList& OutDrawElements, const TRange<double>& ViewRange, const FScrubRangeToScreen& RangeToScreen, FDrawTickArgs& InArgs ) const
{
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3946692) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3801826 by Max.Chen PR #4304: Level Sequence crash fix - Guarded against dereferencing null componen. (Contributed by DSDambuster) Change 3801828 by Max.Chen PR #4302: Movie Scene Visibility Template unitialised variable, causing random . (Contributed by DSDambuster) Change 3801837 by Max.Chen Sequencer: Delay spawning/construction for convert to possessable. This fixes a bug where property values would be lost when converting back and forth from possessable to spawnable. #jira UE-52400 Change 3801841 by Max.Chen Sequencer: Make spacer nodes not selectable. PR #4194: Improvements to Sequencer (Contributed by projectgheist) #jira UE-53117 #jira UE-52139 Change 3804183 by Max.Preussner MediaAssets: Added missing lock in media sound component Change 3805414 by Max.Preussner MediaAssets: Setting valid GUID when initializing media texture resource Change 3819578 by Max.Chen PR #4370: When enabling the "MovieCapture", do not turn off the Stereo-3D display. (Contributed by yehaike) #jira UE-53647 Change 3823414 by Max.Chen Curve Editor: Lock down the first and last keys in the redundant keys removal range so that they're unaffected. #jira UE-53591 Change 3826406 by Max.Chen Sequencer: Move OnStartedPlaying() to within first update in UpdateTimeCursorPosition(). This fixes an issue where setting the hud/player visibility was getting stomped on later. #jira UE-52772 Change 3827044 by Max.Preussner MediaAssets: Added sprite visualization to media sound component #jira UE-53594 Change 3827988 by Max.Preussner MediaPlayerAssets: Fixed Media Texture is not linked to Media Player when created together #jira UE-53532 Change 3828506 by Max.Preussner MediaPlayerEditor: Added attenuation visualizer for media sound components #jira UE-53594 Change 3832590 by andrew.porter EngineTest: Added a keep state check in Property Animation sequencer test Change 3833053 by andrew.porter EngineTest: Adding Hierarchical Bias test Change 3835683 by andrew.porter EngineTest: Adding UMG Animation screenshot test Change 3836076 by Max.Chen Sequencer: Fix audio volume and pitch multiplier deprecation. Change 3836230 by andrew.porter EngineTest: Adding Sequence Bone Position automation test Change 3836347 by Max.Chen Sequencer: Fixes to shot name parsing. When a shot doesn't contain a shot number, assume, [ShotName]_[TakeNumber]. When duplicating a shot, put the new shot in the same path of the original shot, so that the take numbers will increment properly. #jira UE-51868 Change 3836552 by Max.Chen Sequencer: Sub section now has a takes menu Change 3838094 by Max.Chen UMG: Fix template finish not getting called on stop. This fixes a bug where sections aren't restored when finished. #jira UE-52285 Change 3838708 by Max.Chen Sequencer: Add notification when the blend type is changed. #jira UE-54046 Change 3840295 by Max.Chen Sequencer: Fix copy/paste crash for lights #jira UE-54084 Change 3840957 by Mike.Zyracki Added Show Only Keyable and Show Only Animated to the filter list in the property editor. Added IsPropertyAnimated to IDetailKeyframe Interface which already had support for showing properties which are keyable (which is used for the key icon next to the properties.). Could have created another interface but then would have had to mimic the sequencer binding, releasing also, so this seemed best way. One issue still left is that custom built detail items currently don't store associated properties(usually) and so certain properties, in particulalry transforms, won't show up as keyable or animated. Note this also shows up with the keyable icon not showing up next to transform tracks, and other filters like Show Only Modified not working with transforms/customs. Not sure best way to tackle this. #jira UESEQ-328 Change 3841756 by Max.Chen Sequencer: Fix unbound possessable components when pasting spawnables. #jira UE-54104 Change 3843950 by andrew.porter EngineTest: Renaming LevelStreaming tests/content to LevelVisibility Change 3844082 by Mike.Zyracki Missing file for animated filter in property editor. When finding if a track is animated we need to find it but we can't easily induce the MovieTrack class for any particular property. So we don't set a class for it and just search by it's ID and name. #jira UESEQ-328 Change 3846902 by Max.Preussner ImgMedia: Fixed image media player never finished initialization if loading failed #jira UE-54247 Change 3849820 by Mike.Zyracki Reassigning deleted widgets didn't work since the menu extender mechanism needs a valid UObject in order to perform an operation on it. So to fix we replaced GetObjectBindingContextMenuExtender in WidgetBlueprint with new delegate mechanism (OnBuildCustomContextMenuForGuid) that supports FGuid in addition to UObjects which is needed to handle re-binding deleted widgets. Note that the default sequencer hacks this for replacing deleted actors in SequencerObjectBindingNode to check to see if a LevelSequence is active. We could move to this mechanism there also. #jira UE-53163 Change 3852211 by Max.Chen UMG: Indicate name of the property that is not bound. #jira UE-54350 Change 3854120 by Max.Chen Sequencer: Fix sibling folders being allowed to have the same folder name. #jira UE-54363 Change 3854627 by Max.Chen Sequencer: Step to next/previous key should work for all tracks if there aren't any selected. #jira UESEQ-391 Change 3855825 by andrew.porter EngineTest: Adding animation blending automation test Change 3855950 by andrew.porter EngineTest: Adding correct expected valuues to animation blending test Change 3856237 by Matt.Hoffman UESEQ-336 - Sequencer Track Reordering Adds the ability to re-order Master Tracks, Folders and Object Bindings within sequencer hierarchies (including UMG). Adds the ability to do a one-off sorting of the content under the old sorting behavior if the user wants to reset their layout to how it was under legacy behavior. Modifies SequencerTrackNodes, SequencerFolderNodes and SequencerObjectBindingNodes to handle CanDrop/OnDrop for above, below and ontop of. Fixes a Slate Issue that forcibly expanded a TreeviewRow if an item handled OnDrop. Slate will now only forcibly expand the row if the item says the drop happened ontop of the item, and not above or below it like it previously did. Change 3856503 by andrew.porter EngineTest: Adding automation test for using animation blueprint with blend multi node in sequencer Change 3857875 by Max.Chen Sequencer: Assign the sequence id after the template is compiled. #jira UE-54462 Change 3858344 by Max.Chen Sequencer: Prevent Goto and Transform boxes from overlapping by allowing them to be visible at the same time in an autosized horizontal box. Also, added close button to the goto box. PR #4425: Prevent Goto and Transform boxes from overlapping in Sequencer ... (Contributed by projectgheist) #jira UE-54210 Change 3860566 by andrew.porter MediaFrameworkTest: Set the option to index 0 for the audio and video track list by default Change 3860654 by andrew.porter EngineTest: Enabling Camera Cut + FOV test Change 3860981 by andrew.porter EngineTest: Updating skeletal mesh tests with a delay after set playback position Change 3861256 by Max.Chen Sequencer: Add all bindings if none selected. #jira-54440 Change 3862154 by Andrew.Rodham Added TimeManagement module Change 3862424 by andrew.porter EngineTest: Turned on the test Bone Positions with Blend Multi Node Change 3862573 by andrew.porter EngineTest: Adding test to compare bone positions in a sequence that is blending an animation that is using an AnimBP Change 3865117 by Max.Chen Sequencer: Stop auto scroll on mouse release of movement. #jira UE-31212 Change 3865303 by Max.Chen Sequencer: Add drag and drop transactions #jira UE-54662 Change 3865304 by Max.Chen Sequencer: Fix crash when an actor factory is not found. Change 3865361 by Max.Chen Sequencer: Don't change the camera/shot lock button when popping out of a sequence. #jira UE-54665 Change 3865412 by Max.Chen Sequencer: Determine whether a transform track is for a camera by using the spawned object or template #jira UE-54666 Change 3865685 by Max.Chen Sequencer: Clear autoscrub offset when stopping autoscroll #jira UE-31212 Change 3865886 by Max.Chen Sequence Recorder: Log an error if the number of frames changes while recording. This can happen if the skeleton changes while recording. #jira UE-48715 Change 3866925 by Andrew.Porter MediaFrameworkTest: Changing the current PNG test video image sequence to 1024 x 576 Change 3867705 by andrew.porter QAGame: Adding Audio Sort Sequence to dev folder Change 3867890 by andrew.porter QAGame: Adding a sequence for testing a sorting crash to my dev folder Change 3872628 by Max.Chen Movie Scene Capture: Split delay before warmup into split delay before shot warmup so that there's separate controls for when the movie scene capture warmups up vs. shot boundaries. Change 3873131 by Matt.Hoffman UE-54732 - Crash reordering a folder with a track. This was caused by folders being the only type of track to check if someone was putting a parent track into a child track. Object Binding tracks and Tracks now check as well so that you can't use the above/below drop targets to add parents as children. This also fixed a typo in the localization keys. #jira UE-54732 Change 3873301 by Mike.Zyracki Added ability to support continous euler angle changes when changing rotations, in particularly with the rotation gizmo's. To do this we effectively added a form an of 'euler filter'(https://en.wikipedia.org/wiki/Euler_filter) to find the closest euler angle to the current euler angle. Three functions were added to FRotator to make this possible, one to get the euler angle that's has the same rotation as it, one to get the difference between two euler angles via Manhattan distance and a third using the previous two to choose a Rotator value that's closest to it. We then use these functions before calling UComponent::SetRelativeRotation to make sure we use the correct Euler after the Quat conversion. We also no longer limit(bound) the euler angles to -180,180, which is obviously necessary to avoid flips. I also changed how we caluclate yaw and roll when pitch is -90 or 90 to make it the standard approach of zeroing out roll and just setting yaw. Main reasons are the previous implementation had precision issues so things like 180, 90, -180 would show up due to numbers being nearly zero but negative,(this would break any smooth interpolations), and this facilitates having a 'gimbal' rotation mode (like Maya, Blender etc..) if we ever want that also. If needed we could keep the previous implementation but would need to add some FMath::IsNearlyZero checks, with less performance. Note we only do this special filtering when applying delta's to actors or components in the editors, which then call UComponent::SetRelativeRotationExact, which is a new function to foces the RelativeRotation to be equal to the new rotation. This allows us to store un-nomalized Rotators at the cost that the RotationCache may be broken. We didn't change any of the other UComponent functions that set rotations (via Quats or Transforms) so they will still be bounded and unwound. In SetInternalWorldLocationAndRotation we only set the rotation if the rotation has changed, which fixes the rotation getting changed and re-normalized if just translate happens. In TransformTrackEditor, we correclty use the bUndwing flag and in MovieScene3DTransformSection there was an un-needed winding check there, it will be unwound earlier if needed, which happens if Sequence Recording is happening. Max we should talk about what to do about this . Note the euler angle drag via the widget is still bound to 0-360. I think we should just unbound that now since the rotations value are now unbound. This review now includes fixes suggested by Zak. #jira UE-UE-22228 Change 3873483 by Matt.Hoffman Sequencer Tracks can now be inserted above the spacer at the bottom of the tree. #jira UE-54706 Change 3873899 by Max.Chen Sequencer: Add section selection throbbing Change 3873908 by Max.Chen Movie Scene Capture: Added logging per frame Change 3873924 by Matt.Hoffman Adds the ability to store Sequence Recorder setups into profiles that stay with the map and can be re-loaded later. Profiles store the Actor Recordings so the settings for each actor should carry with them. #jira UESEQ-339 Change 3874726 by Matt.Hoffman Disable drag-and-drop targets on spacers that come between rows in Sequencer. This prevents extra drag/drop targets showing up between each row. #jira UE-54706 Change 3874862 by Matt.Hoffman Audio Track no longer gets reordered when adding sub-audio tracks, as sub-tracks are no longer counted towards the sorting order index when normalizing indexes. #jira UE-54727 Change 3875905 by Matt.Hoffman Disable Fade Track UI if a fade track already exists in the sequence. #jira UESEQ-393 Change 3876163 by Max.Chen Sequencer: Swap the camera object to the camera component's owner if it's not the same. #jira UE-54874 Change 3876971 by Andrew.Porter EngineTest: Moved Media Player Seek test to new folder. Also enabled the test with new ground truth image. Change 3877040 by Max.Chen Cine Camera: Split camera properties to two groups, "Camera Options" and "Camera Settings". The cine camera now hides properties in the "Camera Settings" group so that properties like bConstrainAspectRatio (in the "Camera Options" group) can be visible. #jira UE-54192 Change 3877763 by Max.Chen Curve Editor: Fix curve changed on end drag so that only curves that had keys/tangents that were changed receive notification, otherwise all loaded curves were getting notified that they were changed. #jira UE-54951 Change 3878234 by Matt.Hoffman Disable "Drop Below" targets for Sequencer Tree nodes to prevent a confusing UX issue where dropping underneath a Object Binding Node puts it after the object binding node but the UI looks like it's inserting it inside the Object Binding node. #jira UE-54743 Change 3879359 by Mike.Zyracki If a track is inactive we dim it a bit which seems to be the UE4 way to show inactive or disabled state. We changed the active logic so that all subtracks need to be inactive for the track to also be inactive(instead of all active for active). This conforms to how the active state actually works, e.g if you have two sections and only one is active the track is still active above it. #jira UESEQ-388 Change 3879462 by Max.Chen Sequencer: Allow dragging onto a particular row which would move out any overlapping sections to make space for the newly created section. Newly created sections are now selected and throbbed to draw attention to themselves. #jira UE-54664 Change 3879464 by Max.Chen Sequencer: Fixed overlapping ranges being inserted into the evaluation field during compilation - The issue was that track segments that had been combined with adjacent segments (due to them being identical) would potentially cause a subsequently compiled frame to overlap with a range that had already been inserted into the evaluation field. - The insertion code previously asserted that only minor overlaps were catered for (due to fp rounding errors) and assumed that a supplied range could not entirely contain any other range in the field. - The solution is to supply the insertion time along with the range to know exactly where the data should live in the field, and crop the range to the maximum allowable space between adjacent ranges. #jira UE-54922 Change 3879590 by Matt.Hoffman Items that are now added to the Sequencer via the "+Track" menu will be selected after being added. Items can now be added inside of folders instead of just to the root level. #jira UE-27397 Change 3879612 by Mike.Zyracki Display Nodes with no children are always active. #jira UESEQ-388 Change 3879730 by Matt.Hoffman Sequence Recorder's actor recording groups now remove items from the group when removed via the UI. #jira UESEQ-339 Change 3880256 by Mike.Zyracki Fix issue with inactive display with folders and other track nodes. #jira UESEQ-388 Change 3883491 by Max.Chen Fix issue where tick is skipped due to last ticked pose isn't cleared after AnimInstance changes. Copy from Release-4.19 #jira UE-51323 Change 3883603 by Max.Chen Movie Scene Capture: Add option toggle disable screen percentage. By default this is on (no change in current behavior). #jira UE-51898 Change 3885074 by Max.Preussner MediaCompositing: Resetting media texture & freeing resource on section end; removed dead code Change 3887220 by Max.Preussner MediaCompositing: Defaulted media section duration to 1 sec (since we do not know the actual duration in most cases) Change 3887478 by Matt.Hoffman Sequences now show [Inactive] in their title bars when they're disabled. This helps communicate why a sequence isn't being evaluated. #jira UE-51469 Change 3888985 by Max.Chen Movie Scene Capture: Clamp HDR Compression Quality between 0 and 1. #jira UE-55136 Change 3893519 by Max.Chen Sequence Recorder: Clarified tooltip for bRecordNearbySpawnedActors - spawned actors will still be recorded if they match the ActorFilter. #jira UE-55238 Change 3893546 by Max.Chen Sequence Recorder: If a selected actor already has a recording, add a blank recording. #jira UE-55239 Change 3894044 by Max.Preussner MediaCompositing: Added support for seeking into a media section Change 3894310 by andrew.porter MediaFrameworkTest: Adding Img media sources for 1080 and 2160 ravent test content Change 3894426 by Max.Preussner MediaAssets: Letting media textures with AutoClear retain their clear color when player is reset Change 3895717 by Max.Chen Sequencer: Null checks to prevent crash when saving the default state of a spawnable #jira UE-55304 Change 3897388 by Max.Chen Sequencer: Don't update current time to be within the view range when stepping into a sequence. #jira UE-55322 Change 3897452 by Max.Chen Audio: Fix crash when trying to record audio without any active capture devices. Log warning if the number of input channels is not 1 or 2. #jira UE-55223 Change 3897619 by Max.Preussner MediaCompositing: Removed commented out code Change 3898072 by Max.Chen Sequencer: Override the animation asset in the player state if it doesn't match the animation asset that's being evaluated. #jira UE-55328 Change 3898272 by Max.Preussner MediaPlayerEditor: Made slate brush constants static Change 3898704 by Max.Chen Sequencer: Skip if the binding id's sequence can't be found. #jira UE-55337 Change 3899855 by Max.Preussner MediaCompositingEditor: Added cache state visualization to media track Change 3900300 by Max.Preussner MediaCompositingEditor: Added loop indicators to media sections Change 3900694 by Max.Preussner ImfMedia: Looping cache only when player is looping Change 3900892 by Max.Preussner Stats: Added stats category for media framework Change 3900954 by Max.Preussner MediaCompositing: Don't evaluate at the end of media section Change 3901348 by Max.Preussner Core: Replaced TLruCache autos for better readability Change 3901655 by Max.Preussner ImgMedia: Added more perf stats to EXR reader Change 3901972 by Max.Preussner MediaAssets: Added getter for media player in media sound components Change 3902233 by Max.Preussner MediaAssets: Enabling media textures to receive samples right after player is assigned Change 3902238 by Max.Preussner MediaCompositing: Working around init/shutdown idiosyncracies in sequencer Change 3904045 by Max.Chen Sequencer: Fix copy/paste crash. Only process UMovieSceneCopyableBinding and objects that can be spawned by the movie scene spawn register. #jira UE-55314 Change 3905605 by Max.Chen Sequencer: Restrict spawnables from being created if they have a ClassWithin that UMovieScene is not a child of. #jira UE-55429 Change 3906550 by Max.Chen Sequencer: Add media track icon #jira UE-55480 Change 3907101 by Max.Chen Sequence Recorder: Fix bugs related to not recording a level sequence. There were certain assumptions that creating a level sequence meant that sequence recording was in progress. This is not always the case - the recorders can record animation assets and not create a level sequence. Changed the notion of IsRecording() to having at least one actor recording that is recording. Countdown timer, recording displays, etc should function if IsRecording() and not based on whether a level sequence is created. #jira UE-55485 Change 3907247 by Max.Chen Sequence Recorder: Fix crash not removing PrepareToCleanseEditorObject delegate. Repros when opening sequence recorder, closing it, and then opening or creating a level. Change 3910343 by Max.Preussner Core: Added async helper for executing functions on a given thread pool Change 3910346 by Max.Preussner ImgMedia: Added separate thread pools for loading/decoding and deleting image frames Change 3910829 by Max.Preussner Profiler: Increased visible range of profiler graph Change 3910841 by Max.Preussner MediaCompositing: Displaying asset name instead of full media source path in media section Change 3910870 by Max.Preussner ImgMedia: Using deallocation thread pool only in debug builds Change 3919642 by Max.Chen Sequence Recorder: Clarify active tooltip #jira UE-55661 Change 3919660 by Max.Chen Sequencer: Sequence template source signatures are now also compared to catch the case where a sub-sequence asset has been saved but not modified - The following sequence of events exposes this issue: - Create a master sequence with a single shot that spawns a cube - Add this sequence to a level and set it to auto-play - Save everything and restart - Resave just the inner shot asset without opening it - PIE - The inner shot never spawns its cube because its template was wiped on save, but its signature never changed. Since the master sequence previously didn't check the template source signature, it ends up trying to evaluate an empty template. #jira UE-55626 #jira UE-55490 Change 3921825 by Max.Chen Sequencer: "Run Construction Script in Sequencer" is off by default for blueprints but on for Sequencer. This allows the content author to switch it on for specific blueprints and sequencer will be default, run those with construction scripts enabled. Change 3922232 by Max.Chen Sequence Recorder: Reset countdelay on stop. #jira UE-55755 Change 3922306 by Max.Chen Sequence Recorder: Don't automatically mark transforms to be recorded by sequence recorder. Instead, log a warning if the user toggled it off to warn that the resulting animation might not match gameplay. #jira UE-55758 Change 3922912 by Max.Chen Sequence Recorder: Fix refresh next sequence name #jira UE-55757 Change 3927654 by Max.Chen Movie Scene Capture: Added format mapping for the name of the current camera #jira UE-55769 PR #4537 Change 3927658 by Max.Chen Sequencer: Added fbx property mapping for "FocusDistance" to "FocusSettings.ManualFocusDistance" #jira UE-55782 Change 3932022 by Max.Chen Sequencer: Add import animation track section to next available row index. #jira UE-55892 Change 3933919 by Max.Chen Sequencer: Jump to playback start frame and not 0 to start playback for recording. #jira UE-55933 Change 3934307 by Andrew.Rodham Sequencer: Add template signature that is re-generated every time the base template is regenerated, which invalidates evaluation fields This fixes an issue where the same sequence is instantiated multiple times in a sequence. If the source sequence was saved, its template would be wiped, which would invalidate the template ID When an instance tries to evaluate the master template, it would only invalidate a range in the evaluation field that was the hull of any invalid sub sequences overlapping the current time, potentially leaving invalid data in the evaluation field at positions later (or earlier) on in the sequence When the sub template was re-generated, it receives the same SequenceSignature as it had before (because the sequence hasn't actually changed), which causes the stale evaluation field data to fail the IsDirty check (because the sequence is the same as it thought, but the *template* has changed) This has been addressed be adding a signature to templates themselves, and checking both the template signature and sequence signature as a part of the IsDirty check. This ensures that we regenerate if either the template, or the sequence have changed. #jira UE-55934 Change 3936327 by Andrew.Rodham Sequencer: Removed increment when trimming right UMovieSceneSection::TrimSection already explicity assigns an exclusive bound to the time passed in. The new behavior means we can trim a section to the right, and insert another section without changing the time to create adjacent sections. #jira UE-42652 Change 3936328 by Andrew.Rodham Fixed KeyFrameManipulator assignment operators and copy/move constructors - These types are potentially self-referential so cannot use default constructors/assignment Change 3936330 by Andrew.Rodham Converted UMGSequencePlayer to use frames internally #jira UE-54878 Change 3936726 by Max.Chen Sequencer: Set track node as the parent of the key area node. The key area switcher needs the object binding id from the parent object binding node. Without this, the binding to the external value fails. #jira UE-55931 Change 3936775 by Max.Chen Sequencer: Should stop or loop should compare DurationFrames with Current Time from StartTime. The bug is that if you set 30 warmup frames in movie rendering for a range of 0-100, the FrameRange will be starting at -30 and have a duration of 130. Without this fix, the playback will continue until frame 130, rather than 100. #jira UE-55933 Change 3936935 by Matt.Hoffman Easing Curves are now represented in Play Rate resolution instead of internal resolution. #jira UE-55937 Change 3937069 by Matt.Hoffman Users can toggle if the is infinite on each side, limited by which tracks support infinite ranges. #jira UE-55891 Change 3937516 by Max.Preussner ImgMedia: Added support for single-threaded platforms #jira UE-55986 Change 3937826 by Max.Preussner MediaAssets: Disabling media sound components on HTML5 if AudioMixer is not enabled Change 3937997 by Max.Chen Curve Editor: Add Zoom to Fit Curves so that selected curves from Sequencer can be focused on. Tested that undo doesn't re-zoom. #jira UE-55935 Change 3938000 by Max.Chen Sequencer: Stop all sounds before generating audio waveforms. #jira UE-55951 Change 3938376 by Max.Preussner XGEController: Disabled XGE Controller in single-threaded apps to prevent crash Change 3938444 by Max.Preussner Core: Added async support for single-threaded applications Change 3938445 by Max.Preussner Networking: Added support for single-threaded applications in UDP socket sender/receiver Change 3938447 by Max.Preussner Messaging: Added support for single-threaded applications Change 3939432 by Max.Chen Sequence Recorder: Append command list to global level editor actions so that shortcuts are accessible in level editor. #jira UE-55798 Change 3940229 by Andrew.Rodham Added prospective display rate upgrade to UMovieScene::PostLoad - There was previously some very odd behaviour that would assign the fixed frame interval only when a sub sequence was focused in SSequencer. This meant that many sequences could have a frame interval of 0 set in the data. - Under the old method of snap interval display this would have fallen back to getting the display interval from the sequencer settings, but we no longer look at these. - The USequencerSettings properties have been removed and in their place, a prospective data upgrade for sequences that have a fixed frame interval old 0fps that sets the play rate to the previous defaults based off the old USequencerSettings defaults. - This could end up 'changing' the display rate for sequences where the user has changed the snap interval in the settings for a particular sequence editor, but there's not much we can do about that given we don't have access to the USequencerSettings classes in UMovieScene #jira UE-55919 Change 3940277 by Andrew.Rodham Sequencer: Added ability to default frame resolutions and play rates for newly created actor sequences Change 3940378 by Andrew.Rodham Sequencer: Post move import dialog now defaults to the playback framerate of the sequence, and floors to frame numbers Change 3940559 by Andrew.Rodham Reinstated primed or recording sequence color Change 3940642 by Max.Preussner ImagePlate: Removed image plate media playback functionality Change 3940843 by Max.Preussner Core: Made TCircularQueue actually thread-safe; improved code comments Change 3940860 by Max.Chen Sequencer: Changed StructNameToKey to StructPathToKey Previously, keying a PropertyPath of [RenderTransform][Shear][X] would get trimmed to X, which doesn't map to a channel name as considered by Sequencer2dTransformTrackEditor. Instead, trim the resulting property path to [Shear][X] so that track editors can determine the desired struct path and channels to key. #jira UE-52966 Change 3941292 by Mike.Zyracki Fix for trajectories out of range not showing up. 1) If we had no key data we would pop the time, so wouldn't get the section ranges. 2) Calculating of upper bound was wrong, checking against -1 and not key == num of keys when doing algo::lower_bound. 3) No need to do the Bck-- for the bakward iterators since we fixed #2. We start now from the upper bound correctly. 4) If we had no keys (at section start,end) we would incorrectly say we were any key type, so since we draw constant keys as dashed we would do so incorrectly around section end points. #jira UE-55929 Change 3941424 by Max.Chen Curve Editor: Change Zoom to Fit to use TArrayView Change 3941498 by Max.Preussner Core: Added FMath::DivideAndRoundNearest function Change 3942097 by Matt.Hoffman Drop Frame Timecode Support for NTSC rates. Change 3942104 by Matt.Hoffman Sequence Recorder Group is no longer visible inside the World Outliner after using one. #jira 55266 Change 3942107 by Max.Chen Sequencer: Resurrect logic to find or extend an existing section when adding keys. Change 3942330 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942339 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942507 by Andrew.Rodham Sequencer: We no longer pad the time overlap threshold with a small number that is not scaled by the current zoom level - The presence of this pad was causing keys that were far apart to be grouped when zoomed in a long way Change 3942509 by Andrew.Rodham Sequencer: Only pad total view range, rather than section range as well when retrieving keys to render - This stops us from rendering keys that are within the view range, but outside the section range Change 3942512 by Andrew.Rodham Added transactions to some sequencer details customizations Change 3942513 by Andrew.Rodham Sequencer: Reinstated validation checks to UMovieSceneSection::SetStartFrame and SetEndFrame, changed erroneous uses to use SetRange Change 3942560 by Andrew.Rodham Pass by rvalue reference to appease error C2719 on Win32 ('InChannels': formal parameter with requested alignment of 8 won't be aligned) Change 3942697 by Andrew.Rodham Newly Created Level Sequences and Actor Sequences now default to 24000 fps frame resolution (+/- ~24hrs range, supporting all integer rates + 23.976) Change 3942700 by Andrew.Rodham Sequencer: Added legacy out-of-bounds errors for times that are not supported by the current legacy upgrade frame resolution Change 3942989 by Max.Preussner Core: Fixed circular queue count calculation Change 3943538 by Max.Preussner MediaAssets: Reverted workaround for procedural audio log spam in HTML5 (Actor component initialization cannot be skipped if the component is used in a level) Change 3944071 by Max.Preussner QAGame: Fixed Media Texture keeps last frame of Media when PIE ends #jira UE-53360 Change 3944292 by Max.Chen Sequencer: Added extra flags to ensure that asset initialization does not occur on template actor sequences #jira UE-56113 Change 3944364 by Max.Chen Sequencer: Prevent circular shot/master tracks. Tested adding master -> child -> master as drag and drop cinematic shot tracks and sub tracks as well as through the + button. #jira UE-56091 Change 3944422 by Max.Chen Sequence Recorder: Disable transform recording if off. #jira UE-56061 Change 3944745 by Andrew.Rodham Sequencer: Key rendering fixes - Fixed assert that occured when keys happened to reside on some times due to KeyTime + TimeOverlapThreshold - KeyTime being slightly larger TimeOverlapThreshold - Fixed keys sometimes being clipped when zoomed right in due to lack of half-frame offset - Added missing documentation to MovieSceneTimeHelpers.h #jira UE-56107 Change 3945231 by Andrew.Rodham Sequencer: Reconstruct channel proxy on Serialize to catch all cases of undo/redo, PostLoad and duplication #jira UE-56089 Change 3945301 by Andrew.Rodham Sequencer: Added safety checks during initial sequence recording to guard against applying negative or 0-sized sequence ranges #jira UE-56125 Change 3946627 by Max.Preussner Fortnite: Fixed game crashes closing editor while in PIE - Pure virtual function being called #jira UE-56144 [CL 3946896 by Max Chen in Main branch]
2018-03-14 22:09:33 -04:00
TSharedPtr<FSequencer> Sequencer = WeakSequencer.Pin();
if (!Sequencer.IsValid())
Copying //UE4/Orion-Staging to //UE4/Main (Source: //Orion/Dev-General @ 3606378) #lockdown Nick.Penwarden #rb na Change 3604978 on 2017/08/23 by Andrew.Grant Fix for OR-42722 from 4.17 branch #!tests compiled #!rb max.chen Change 3604960 on 2017/08/23 by Andrew.Grant Proper fix for OR-43001, removed hack-around. #!tests compiled #!rb max.chen Change 3604881 on 2017/08/23 by robomerge #!ROBOMERGE-AUTHOR: andrew.grant Changed LostReservation message in tests to info from warning. #!tests compiled #!rb none #!ROBOMERGE-SOURCE: CL 3604871 in //Orion/Release-42.3/... via CL 3604878 via CL 3604880 #!ROBOMERGE-BOT: ORION (Main -> Dev-General) Change 3604566 on 2017/08/23 by robomerge #!ROBOMERGE-AUTHOR: andrew.grant Gauntlet - return -1 for a test if there's a fatal error. Removed network errors failing tests (should be down to test to determine) Made SoakTest better able to detect failed drafts and incomplete matches #!tests ran multiple soaks and SoloAllHeroes #!rb none #!ROBOMERGE-SOURCE: CL 3604560 in //Orion/Release-42.3/... via CL 3604563 via CL 3604565 #!ROBOMERGE-BOT: ORION (Main -> Dev-General) Change 3604181 on 2017/08/23 by David.Ratti Set ULandscapeHeightfieldCollisionComponent to be NetAddressable so that it can be replicated as a movement base without error. OR-42615 #!rb none #!tests pie Change 3603647 on 2017/08/22 by Laurent.Delayen AnimProxy: initialize Actor/Component transforms. #!rb none #!tests lane minion test map Change 3603343 on 2017/08/22 by robomerge #!ROBOMERGE-AUTHOR: don.eubanks Added several more stats to the Card Shop stat panel. + Basic Attack Damage + Max Move Speed + Armor Penetration / Percent + Ability Penetration / Percent Added utility function to AbilitySystemComponent to calculate an ability's value with additional Required/Ignore tags and Target tag container (functionality moved from AttributeView) #!rb matt.schembari #!tests Compile DebugGame Editor Win64 / Shipping Client PS4 / PIE #!ROBOMERGE-SOURCE: CL 3603172 in //Orion/Main/... #!ROBOMERGE-BOT: ORION (Main -> Dev-General) Change 3603121 on 2017/08/22 by Laurent.Delayen Added FAnimationRuntime::LerpPosesPerBone #!rb none #!tests lane minions split body anims. Change 3603010 on 2017/08/22 by Laurent.Delayen Draw box around Actor being debugged by 'ShowDebug' command, to help identify what we're viewing. #!rb none #!tests lane minions Change 3602574 on 2017/08/22 by robomerge #!ROBOMERGE-AUTHOR: andrew.grant Fixed linux warning #!tests compiled #!rb none #!ROBOMERGE-SOURCE: CL 3602571 in //Orion/Release-42.3/... via CL 3602572 #!ROBOMERGE-BOT: ORION (Main -> Dev-General) Change 3602396 on 2017/08/22 by andrew.grant #!CodeReview: andrew.grant, jason.bestimt, jeff.williams Unresolved conflicts. andrew.grant, please merge this change by hand. //ROBOMERGE_ORION_Dev_General/Engine/Source/Programs/AutomationTool/NotForLicensees/Gauntlet/Gauntlet.Automation.csproj -------------------------------------- Updated Gauntlet log parser for new callstack format Added offline and runtime Gauntlet tests to verify error generation and parsing #!tests ran lots of tests locally #!rb codereviewed #!ROBOMERGE-SOURCE: CL 3601948 in //Orion/Release-42.3/... via CL 3601950 #!ROBOMERGE-BOT: ORION (Main -> Dev-General) Change 3602373 on 2017/08/22 by Andrew.Grant Fixed compile error #!tests compiled #!rb none Change 3602321 on 2017/08/22 by robomerge #!ROBOMERGE-AUTHOR: andrew.grant LogAssertFailedMessage - Removed callstack dumping from LogAssertFailedMessage (now in StaticFailDebug) - Moved script dumping inside GIsCritial check StaticFailDebug - Now dumps the callstack if supported for non-ensures. This results in PS4 (and other platforms) now displaying a callstack on a Fatal log. - Removed log flush, was redundant - Removed LowLevelOutputDebugStringf. If a platform needs this it can be done later in its error device OutputMultiLineCallstack - Renamed to FDebug::LogFormattedMessageWithCallstack and exposed in headers (calling locations have been updated to remove their extern declarations) - No longer writes into the buffer to format it (!) - LogName is now the first param. If NAME_None it writes using LowLevelOutputDebugString - While writing out error information all callstack likes are prefixed with [Callstack] Added brief documentation about the order of ops for ensures/asserts/fatal logs #!tests ran lots of tests locally #!rb codereviewed #!ROBOMERGE-SOURCE: CL 3601943 in //Orion/Release-42.3/... via CL 3601944 #!ROBOMERGE-BOT: ORION (Main -> Dev-General) Change 3602316 on 2017/08/22 by robomerge #!ROBOMERGE-AUTHOR: andrew.grant Changed various platform-specific implementations of ProgramCounterToHumanReadableString to return info in a canonical format of address module!func [file:line]. E.g. 0x00416A5F OrionClient.self!FEngineLoop::Tick() [D:\Epic\Orion\Release-Next\Engine\Source\Runtime\Launch\Private\LaunchEngineLoop.cpp:3295] #!tests ran lots of tests locally #!rb codereviewd #!ROBOMERGE-SOURCE: CL 3601940 in //Orion/Release-42.3/... via CL 3601941 #!ROBOMERGE-BOT: ORION (Main -> Dev-General) Change 3602311 on 2017/08/22 by robomerge #!ROBOMERGE-AUTHOR: andrew.grant Sony don't allow exception handling on PS4 so for sometime we've had an issue where crashes have no presence in logs* This change adds postmortem analysis to PS4DevkitUtil. If the OS terminates the process then it process the minidump and writes the cause and the callstack to stdout. As a bonus PS4DevkitUtil can now display cause & callstacks from minidumps via "PS4DevkitUtil postmortem -dump=path\to\crash.orbisdmp" (*if you're lucky the kit may have been setup correctly to submit dumps to crashreporter, it may have actually worked, and you may be able to find it). #!tests run many times on Orion tests #!rb CR #!ROBOMERGE-SOURCE: CL 3601929 in //Orion/Release-42.3/... via CL 3601930 #!ROBOMERGE-BOT: ORION (Main -> Dev-General) Change 3599823 on 2017/08/21 by Jian.Ru Allow MaxCascades cvar be set to 0 (should perobject shadow be forced on?) #!jira UE-48468,OR-42749 #!rb Daniel.Wright #!tests editor Change 3598765 on 2017/08/19 by Andrew.Grant Disable regeneration of missing cubemap data in cooked build. Need some way of handling this, but currently this breaks PS4 anytime someone makes a map change and doesn't build lighting... #!review-3598766 @daniel.lamb #!tests ran PS4 successfully #!rb none Change 3597800 on 2017/08/18 by Laurent.Delayen Added FAnimationRuntime::LerpPoses. Blends two poses together, but first pose is also storing results. To save on copying poses when not necessary. Removed individual use of ZERO_ANIMWEIGHT_THRESH, instead use FAnimWeight functions. FAnimationRuntime weight functions use FAnimWeight for consistency. (IsFullWeight was different). #!rb none #!codereview martin.wilson, lina.halper #!tests minion test lane map Change 3597332 on 2017/08/18 by Laurent.Delayen SkelMeshComponent LOD update only refreshes transforms when rendered. If AnimGraph eval is done, make sure Graph has been updated at least once. Fixes: - Significance Manager setting MinLOD on non recently rendered minions, causing them to refresh bones. - Minions calling eval with graph not updated due to having bUseRefPoseOnInitAnim set. It means it's possible to refresh bones on a graph that has never been updated, causing a crash. #!rb martin.wilson, lina.halper #!codereview martin.wilson, lina.halper #!tests minions test lane map. placing skelmeshes in editor and making sure LOD update works as expected. Change 3597042 on 2017/08/18 by Daniel.Lamb Added onlinesubsystemmcp to the cooksettings blacklist. #!rb Trivial #!test none Change 3596575 on 2017/08/18 by Shaun.Kime Fixing nonunity build issues #!rb none #!tests compiled OrionGame with unity builds disabled Change 3595475 on 2017/08/17 by Andrew.Grant Fixed issue with PS4 asserts not being detected during test shutdown #!tests ran locally #!rb none Change 3595415 on 2017/08/17 by robomerge #!ROBOMERGE-AUTHOR: andrew.grant Added check for network failure to tests #!tests ran locally #!rb none #!ROBOMERGE-SOURCE: CL 3595412 in //Orion/Release-42.3/... via CL 3595414 #!ROBOMERGE-BOT: ORION (Main -> Dev-General) Change 3594725 on 2017/08/17 by Ben.Salem Add "Worst offenders" table and runtime to FX perf reports. #!rb adric.worley #!tests Ran a few FX Perf tests and generated reports. Change 3594195 on 2017/08/17 by Shaun.Kime Integration from Dev-Niagara to Dev-General. Note that this may cause assets to need to be recooked. Please be prepared for longer than normal cook times once syncing past this changelist. #!rb none #!tests preflight'ed change, QA ran multiple soak tests Change 3594177 on 2017/08/17 by Andrew.Grant Fixed issue that was causing exceptions not to be recognized #!tests ran locally #!rb none Change 3594090 on 2017/08/17 by robomerge #!ROBOMERGE-AUTHOR: laurent.delayen Fix for mesh desyncing during online play. https://jira.it.epicgames.net/browse/UE-45947 #!rb none #!tests none [CODEREVIEW] zak.middleton #!ROBOMERGE-SOURCE: CL 3590625 in //Orion/Release-42.3/... via CL 3590626 #!ROBOMERGE-BOT: ORION (Main -> Dev-General) Change 3594022 on 2017/08/17 by Laurent.Delayen SkeletalMeshComponent::InitAnim - Do not call RefreshBoneTransforms without calling TickAnim first. AnimGraph could get in a bad state. - Do not call RefreshBoneTransforms if AnimInstance has not been initialized. - Do not call RefreshBoneTransforms if bUseRefPoseOnInitAnim is set. Which it could if bForceReinit was false. #!rb martin.wilson #!tests minion test lane map. Change 3593972 on 2017/08/17 by Chris.Bunner Duplicating instanced static mesh fixes from Dev-Editor - 3502581, 3570934, 3593597. #!rb None #!tests Editor, -game, PC #!jira UE-48521, OR-42612 Change 3590611 on 2017/08/16 by David.Ratti Spot edigrate CL 3584203 to fix show collision crash in mono 2 #!rb none #!tests compile Change 3590452 on 2017/08/16 by Laurent.Delayen Fix for mesh desyncing during online play. https://jira.it.epicgames.net/browse/UE-45947 #!rb none #!tests none #!codereview zak.middleton Change 3590378 on 2017/08/16 by Laurent.Delayen Integrated CL #!3585145 from Main. >> Fix for https://jira.it.epicgames.net/browse/OR-42337 and https://jira.it.epicgames.net/browse/OR-42338 Don't call UpdateMontageSyncGroup() when doing EMeshComponentUpdateFlag::OnlyTickMontagesWhenNotRendered. Fixed auto ranged iterator. #!rb none #!tests bot match with Twinblast << Change 3590263 on 2017/08/16 by Matt.Kuhlenschmidt Added the ability to remove vertex colors from static meshes from the content browser #!rb none #!tests none #!fyi jordan.walker Change 3590026 on 2017/08/16 by Jurre.deBaare HLOD: When mesh has auto LOD generation disabled it prevents user from dragging meshes to make a cluster #!fix changed the tooltip and error handling for cluster creation, if there is any valid mesh now it will show up as a warning #!jira OR-41584 #!rb none #!test have tested several 'error' meshes which would before prevent the user from creating a cluster, Change 3588580 on 2017/08/15 by Laurent.Delayen Fix for https://jira.it.epicgames.net/browse/OR-42755 #!rb none #!tests bot match Change 3588360 on 2017/08/15 by Charles.Anderson Phat - Fixed up the materials to turn off the Render Before DOF so that we can see what were doing in Phat again. Change 3587983 on 2017/08/15 by robomerge #!ROBOMERGE-AUTHOR: daniel.lamb Fixed up audio issue on the new dawn intro movie #!jira OR-42144 #!rb Max.Preussner #!test Paragon ps4 #!lockdown Andrew.Grant #!ROBOMERGE-SOURCE: CL 3581466 in //Orion/Release-42.1/... via CL 3581468 via CL 3581469 #!ROBOMERGE-BOT: ORION (Main -> Dev-General) Change 3587746 on 2017/08/15 by Daniel.Lamb Build launcher now has option for custom test. Dumps generated buildcooktest commandline to log when using -interactive for reference. #!rb trivial #!test BuildCookTest with and without test options. Change 3587733 on 2017/08/15 by Daniel.Lamb Reenabled binned 2 stats in not shipping. #!rb Andrew.Grant #!test Paragon editor. Change 3587727 on 2017/08/15 by Daniel.Lamb Removed all the checks to help track down Texture GC issue. #!rb Trivial #!test Paragon editor Change 3584487 on 2017/08/14 by Laurent.Delayen https://jira.it.epicgames.net/browse/OR-42754 making sure this is not firing because of false positives. #!rb none #!tests compiles Change 3582074 on 2017/08/11 by Laurent.Delayen TimeStretchCurve system for AnimMontages. Allows adjusting playback time of montages in a non constant way. This optional curve allows the user to determine how animation frames are influenced by play back time scaling, instead of using a constant play rate scaling. For example, with an attack animation, the strike could have zero influence (no play rate), and the recovery time could have 100% influence (most play rated). This system is entirely optional and compatible with current Montage API. You still determine desired play back time via the Play Rate parameter. Based on desired playback time, if there is a curve named 'MontageTimeStretchCurve' then, it will use the curve to determine animation frames to play based on playback time and TimeStretchCurve. Otherwise, if no curve exists, it is done using the constant supplied PlayRate. #!rb martin.wilson #!codereview lina.halper, james.golding #!tests wukong primary attacks Change 3582063 on 2017/08/11 by Brian.Fasten Removing Monolith02_LowTest from automated builds until errors can be cleared #!codereview: daniel.lamb #!rb - none #!tests - none Change 3581229 on 2017/08/10 by Lina.Halper - Back out revision 21 from //Orion/Dev-General/Engine/Source/Runtime/SlateCore/Private/Rendering/DrawElements.cpp - Comment out issue that causes crash in the draw box #!jira: UE-48222 #!code review: Jurre.DeBaare, Nick.Darnell, Daniel.Lamb #!rb: Jurre.DeBaare #!tests: building HLOD as specified in the ticket, and anim blueprint graph Change 3577839 on 2017/08/08 by Daniel.Lamb Revert CL 3576931. To fix crash when generating HLOD in Monolith 2. #!rb Andrew.Grant #!test Rebuild HLOD paragon editor #!fyi Lina.Halper Change 3577684 on 2017/08/08 by Andrew.Grant Removed ensure and merged proper fix for crash from UE4/Main (3572777) #!tests #!rb none Change 3577562 on 2017/08/08 by robomerge #!ROBOMERGE-AUTHOR: laurent.delayen Potential fix for https://jira.it.epicgames.net/browse/OR-42383 Clear NotifyQueue prior to ticking montages. Also dispatch events right away, since ticking ends here, and no rendering is happening. In the event TickPose() is called directly and Component does not get ticked. #!rb lina.halper [CODEREVIEW] lina.halper, martin.wilson #!tests bot match #!ROBOMERGE-SOURCE: CL 3577071 in //Orion/Main/... #!ROBOMERGE-BOT: ORION (Main -> Dev-General) Change 3577358 on 2017/08/08 by Harrison.Moore Updating Colorchecker Change 3576931 on 2017/08/08 by Lina.Halper Fix for missing arrowhead of the transition on state machine graph #!rb: Nick.Darnell #!tests: editor Change 3576847 on 2017/08/08 by Jason.Bestimt #!ORION_DG - OR-42361 - Removing assert that was causing crash report client to break (during shipping builds of Paragon due to directories that didn't exist) #!RB: Guillaume.Abadie #!Tests:none Change 3576794 on 2017/08/08 by Laurent.Delayen Removed call to DebugCanvas->Flush_GameThread(); to fix 'showdebug' commands not rendering anymore. #!rb Matt.Kuhlenschmidt #!codereview Matt.Kuhlenschmidt #!tests Ghost in PIE, showdebug animation works. Change 3576302 on 2017/08/08 by Jurre.deBaare Fix for Materials get switched up while building HLODs in case the section order is different than the material order #!rb none #!tests Rebuild problematic clusters in Monolith2 #!fix materials remapping was done using the section index instead of material index in the hlod path (static mesh merge one was fine) Change 3575221 on 2017/08/07 by robomerge #!ROBOMERGE-AUTHOR: andrew.grant Fix for PS4 shipping #!tests compiled PS4 shipping #!rb none #!ROBOMERGE-SOURCE: CL 3575112 in //Orion/Release-42.1/... via CL 3575114 #!ROBOMERGE-BOT: ORION (Main -> Dev-General) Change 3575165 on 2017/08/07 by andrew.grant #!CodeReview: andrew.grant, jason.bestimt, jeff.williams Unresolved conflicts. andrew.grant, please merge this change by hand. //ROBOMERGE_ORION_Dev_General/Engine/Source/Runtime/PS4/PS4RHI/Private/GnmManager.cpp -------------------------------------- PS4 GPU time now shows correct values instead of vsync time. #!tests Ran on PS4 #!rb Luke.Thatcher #!ROBOMERGE-SOURCE: CL 3574821 in //Orion/Release-42.1/... via CL 3574823 #!ROBOMERGE-BOT: ORION (Main -> Dev-General) Change 3574408 on 2017/08/06 by Ben.Salem Switch nightly solo smoke/fx tests to have -unattended on their commandlines. #!rb none #!tests compiled. Change 3574308 on 2017/08/06 by robomerge #!ROBOMERGE-AUTHOR: andrew.grant Include session time, MVP, and hitches on new health report #!tests ran locally #!rb none #!ROBOMERGE-SOURCE: CL 3574305 in //Orion/Release-42/... via CL 3574306 via CL 3574307 #!ROBOMERGE-BOT: ORION (Main -> Dev-General) Change 3574217 on 2017/08/05 by Jeff.Williams Fixing UAT compile error #!review-3574218 @andrew.grant #!rb na #!tests na Change 3574139 on 2017/08/05 by robomerge #!ROBOMERGE-AUTHOR: andrew.grant [NULL MERGE] Locked net version to 3571982 for future v42 patches #!tests #!rb none #!ROBOMERGE-SOURCE: CL 3574136 in //Orion/Release-42/... via CL 3574137 via CL 3574138 #!ROBOMERGE-BOT: ORION (Main -> Dev-General) Change 3574130 on 2017/08/05 by andrew.grant #!CodeReview: andrew.grant, jason.bestimt, jeff.williams Unresolved conflicts. andrew.grant, please merge this change by hand. //ROBOMERGE_ORION_Dev_General/Engine/Source/Programs/AutomationTool/NotForLicensees/Gauntlet/SelfTest/Gauntlet.SelfTest.LogParserTest.cs -------------------------------------- Non-shipping Gauntlet changes - Log parser cleanup that provides better access to log channel info, errors, warnings, and ensures Updated BaselinePerf test to record number of units travelled. This should highlight tests where a bot gets blocked :( #!tests ran locally on PS4 #!rb none #!ROBOMERGE-SOURCE: CL 3574116 in //Orion/Release-42/... via CL 3574123 via CL 3574124 #!ROBOMERGE-BOT: ORION (Main -> Dev-General) Change 3573197 on 2017/08/04 by andrew.grant #!CodeReview: andrew.grant, jason.bestimt, jeff.williams Unresolved conflicts. andrew.grant, please merge this change by hand. //ROBOMERGE_ORION_Dev_General/Engine/Source/Programs/AutomationTool/NotForLicensees/Gauntlet/Gauntlet.Automation.csproj -------------------------------------- Merging //Orion/Release-42.1 to Dev-ContentUpdate (//Orion/Dev-ContentUpdate) #!tests #!rb none #!ROBOMERGE-SOURCE: CL 3573179 in //Orion/Main/... #!ROBOMERGE-BOT: ORION (Main -> Dev-General) Change 3573079 on 2017/08/04 by Andrew.Grant Removed some code that was preventing Wacom from working #!tests #!rb none Change 3572790 on 2017/08/04 by Jurre.deBaare Moving over fixes from 4.17 stream related to HLOD: "UE-47360 Non Uniform baking of HLOD materials causes texture stretching UE-47031 Generating a HLOD cluster with multiple actors that contain lods will not bake correctly" #!rb none #!tests none Change 3572663 on 2017/08/04 by robomerge #!ROBOMERGE-AUTHOR: andrew.grant Gauntlet - copy elf files to temp dir and launch from there #!tests ran gauntlet #!rb none #!ROBOMERGE-SOURCE: CL 3572657 in //Orion/Release-42/... via CL 3572659 via CL 3572662 #!ROBOMERGE-BOT: ORION (Main -> Dev-General) Change 3572622 on 2017/08/04 by Jurre.deBaare Moving over: "Guard against zero sized boxes being sent to the slate batcher. This was exposed by the clipping changes since zero sized elements would have been previously clipped. #!rb nick.darnell #!jira UE-46919" #!tests none Change 3572428 on 2017/08/04 by Benn.Gallagher Added per-axis inertia and parent dominance settings to physics assets #!rb Thomas.Sarkanen #!tests Shrapnel in editor and -game (seems to be the only character using old inertia scaler for rigid body node) Change 3572142 on 2017/08/04 by robomerge #!ROBOMERGE-AUTHOR: andrew.grant Disabling r.Cache.UpdatePrimsTaskEnabled for PS4 due to lock-ups #!tests none #!rb none #!ROBOMERGE-SOURCE: CL 3572139 in //Orion/Release-42/... via CL 3572140 via CL 3572141 #!ROBOMERGE-BOT: ORION (Main -> Dev-General) Change 3572133 on 2017/08/04 by Andrew.Grant Merging //UE4/Main/Engine/Source/Runtime/SlateCore/Private/Input/HittestGrid.cpp to //Orion/Dev-General/Engine/Source/Runtime/SlateCore/Private/Input/HittestGrid.cpp #!tests #!rb none Change 3572065 on 2017/08/03 by Andrew.Grant Fixed bug in Gauntlet parsing of perf data for tests Added perf-parsing test to SelfTest #!tests ran self test #!rb none #!ROBOMERGE: 42.1 Change 3572033 on 2017/08/03 by Andrew.Grant Merging //UE4/Main @ 3571062 through Orion-Staging #!rb none #!tests Engine QA pass Change 3571262 on 2017/08/03 by Uriel.Doyon StaticMeshComponent and LandscapeComponent now register AO material mask and sky occlusion texture in the texture streamer. Changing the current lighting scenario now triggers an update of the texture streamer. Added an option to the "liststreamingtextures" named UNKOWNREF allowing to inspect texture without references in the texture streamer. #!rb none #!tests played monolith2 on PS4 and loaded the map in the editor. Change 3571247 on 2017/08/03 by robomerge #!ROBOMERGE-AUTHOR: daniel.lamb Integrate Dev-UI -> Release42 Reduced the sensitivity on the slow tick timer warning #!rb Trivial #!test Cooked paragon ps4 #!lockdown Andrew.Grant #!ROBOMERGE-SOURCE: CL 3571239 in //Orion/Release-42/... via CL 3571244 via CL 3571246 #!ROBOMERGE-BOT: ORION (Main -> Dev-General) Change 3570431 on 2017/08/03 by robomerge #!ROBOMERGE-AUTHOR: andrew.grant Removed a change that was inadvertendly included in a larger fix and seems to be having problems on windows server. #!tests ran windows server locally #!rb none #!ROBOMERGE-SOURCE: CL 3570428 in //Orion/Release-42/... via CL 3570429 via CL 3570430 #!ROBOMERGE-BOT: ORION (Main -> Dev-General) Change 3570343 on 2017/08/03 by Jurre.deBaare HLOD: opening a level with HLOD defaults to forcing HLOD on for all clusters #!fix forcing the HLODs to show up in the editor changes the MinDrawDistance of the static mesh component, this was getting saved and not restored during runtime (now does it in PostLoad) #!jira UE-47712 #!rb none #!tests PIE in Editor while having HLOD forced on Change 3570047 on 2017/08/02 by robomerge #!ROBOMERGE-AUTHOR: andrew.grant Fix for ensure leading to deadlock #!jira OR-42071 #!tests compiled, ran ShortSoloGame test #!rb none [QAREVIEW] - this fixes the PC locks in OR-42071 and probably the PS4 too, but please recheck both platforms to be sure. #!ROBOMERGE-SOURCE: CL 3570044 in //Orion/Release-42/... via CL 3570045 via CL 3570046 #!ROBOMERGE-BOT: ORION (Main -> Dev-General) Change 3569932 on 2017/08/02 by robomerge #!ROBOMERGE-AUTHOR: andrew.grant Integration from UE4 - fixed a set of critical bugs that would cause rare crashes in the async IO subsystems. #!rb gil.gribb #!tests ran 10x solo games, ran LoadTest, all PS4 #!jira UE-47483 #!ROBOMERGE-SOURCE: CL 3569929 in //Orion/Release-42/... via CL 3569930 via CL 3569931 #!ROBOMERGE-BOT: ORION (Main -> Dev-General) Change 3569839 on 2017/08/02 by Daniel.Lamb Added the low quality monolith map to the build launcher and cook maps list. #!rb Trivial #!test Compile UAT Change 3569441 on 2017/08/02 by robomerge #!ROBOMERGE-AUTHOR: laurent.delayen Re-enabled OnlyTickMontagesWhenNotRendered animation optimization, after fixing edge case where 'Evaluate' could be called on out of sync cached data. Only update cached data when the graph will be updated, to ensure we don't have mismatching update and evaluate data. #!rb none [CODEREVIEW] martin.wilson, lina.halper #!tests bot match w/ dedicated server. #!ROBOMERGE-SOURCE: CL 3569235 in //Orion/Main/... #!ROBOMERGE-BOT: ORION (Main -> Dev-General) Change 3569397 on 2017/08/02 by robomerge #!ROBOMERGE-AUTHOR: ben.salem Merging using Dev-Gen_->_Release-42.1 Support for skins in perf reporting, also report overall test run time. #!rb various #!tests ran with new shallow test maps. #!ROBOMERGE-SOURCE: CL 3568892 in //Orion/Release-42.1/... via CL 3568967 #!ROBOMERGE-BOT: ORION (Main -> Dev-General) Change 3568639 on 2017/08/02 by Adric.Worley Add individual FTest enumeration to Orion perf tests Moved methods to run FTests to helper for reuse. Effects perf tests now show individual test cases for more granular runs. All perf tests now do map check and draft logic as setup. #!tests ran updated tests in client/server #!rb ben.salem Change 3568616 on 2017/08/02 by Ben.Salem Switch shallow fx tests to report to their own mailing list. #!rb bob.ferreira #!tests recompiled Change 3568607 on 2017/08/02 by Daniel.Lamb Added staticmeshcomponent to the memreportfull command. #!rb Trivial #!test Paragon Change 3568018 on 2017/08/01 by Ben.Salem Add skin and character name to test reports, and also test runtime. #!rb none #!tests ran steel shallow test Change 3567995 on 2017/08/01 by Bob.Ferreira [FXTests] Updating FXTests and ShallowFXTests to call OnComplete() when doing check point validation. [Gauntlet] Changed InnerTestResult to be protected so that inherited test nodes can modify it. #!rb Ben.Salem #!TESTS Ran local automationtool run on a cooked main build. Change 3567912 on 2017/08/01 by robomerge #!ROBOMERGE-AUTHOR: ori.cohen Added support for physical materials in immediate mode #!rb none #!tests none [CODEREVIEW] Benn.Gallagher #!ROBOMERGE-SOURCE: CL 3567865 in //Orion/Release-42/... via CL 3567901 via CL 3567904 #!ROBOMERGE-BOT: ORION (Main -> Dev-General) Change 3567594 on 2017/08/01 by robomerge #!ROBOMERGE-AUTHOR: laurent.delayen Disabling animation optimization until I can fix an edge case. #!rb none #!tests arcade mode #!ROBOMERGE-SOURCE: CL 3567593 in //Orion/Main/... #!ROBOMERGE-BOT: ORION (Main -> Dev-General) Change 3566953 on 2017/08/01 by robomerge #!ROBOMERGE-AUTHOR: laurent.delayen Animation Optimization: Added EMeshComponentUpdateFlag::OnlyTickMontagesWhenNotRendered to only update montages when not rendered, instead of doing a whole pose update. This means on dedicated servers we'll only update montages when needed, and not the AnimGraph, which we have no need for. This is also affects non rendered meshes on clients. #!rb martin.wilson [CODEREVIEW] lina.halper, martin.wilson #!tests ghost and wukong networked doing montage abilities. #!ROBOMERGE-SOURCE: CL 3566950 in //Orion/Main/... #!ROBOMERGE-BOT: ORION (Main -> Dev-General) Change 3564610 on 2017/07/31 by Uriel.Doyon Integrated CL 3543210 : Fixed an issue when computing material scales where the default material ends up being used instead of the required material. Deprecated previous material data as it was causing some waste. Integrated CL 3526859 : Texture mip bias is now reset whenever the streaming budget increases #!rb none #!tests played monolith2 on PS4 Change 3564509 on 2017/07/31 by robomerge #!ROBOMERGE-AUTHOR: laurent.delayen Fixed warning when opening Kwang AnimBP the first time, due to missing virtual bone name. (When Skeleton doesn't have PostLoad() called on it yet - happens only the first time the AnimBP is opened). [CODEREVIEW] jurre.debaare, dwayne.martin, lina.halper, martin.wilson #!rb none #!tests Kwang AnimBP opens without a warning. #!ROBOMERGE-SOURCE: CL 3564506 in //Orion/Release-42/... via CL 3564507 #!ROBOMERGE-BOT: ORION (Main -> Dev-General) [CL 3613306 by Andrew Grant in Main branch]
2017-08-28 15:13:54 -04:00
{
return;
}
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 4044339) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3947021 by Max.Chen Sequencer: Don't preserve root component when copying object properties. A spawnable empty actor, has a root component that is generated by the empty actor factory. If the object template's root component is preserved when copying from the spawnable empty actor, the root component will not be copied over. Therefore, we need to NOT preserve the root component when copying object properties. #jira UE-55825 Change 3947366 by Max.Preussner WmfMedia: Better log output Change 3947367 by Max.Preussner MfMedia: Better detection of compressed format properties on Windows Change 3949102 by Max.Chen Sequencer: Remove SequenceActorTag when converting to possessable. #jira UE-56206 Change 3949207 by andrew.porter EngineTest: Set the screenshot nodes resolution to 1280x720 Change 3949404 by Max.Chen Sequencer: More informative tooltip for "Rerun Construction Scripts" option. It now says "Rerun construction scripts every frame on actors that have 'Rerun Construction Script in Sequencer' enabled in their class settings". Change 3950067 by Matt.Hoffman Renamed UAutomatedLevelSequenceCapture's StartFrame and EndFrame to CustomStartFrame/CustomEndFrame to reflect that it is user-overriden. This will also resolve upgrade issues due to the variable datatype changing. #jira UE-56189 Change 3950193 by JohnHenry.Carawon Updating my latest MovieRendering test content. Change 3950757 by JohnHenry.Carawon More updates to MovieRendering test content Change 3952059 by Max.Chen Resave LevelVisibility_SubLevels to fix data loss conversion warning of OpacityMaskConstant #jira UE-56086 Change 3952283 by Max.Chen Sequencer: Disable dropping level sequence assets as spawnables. #jira UE-56120 Change 3952422 by Max.Chen Sequence Recorder: Add button to record from the current player. #jira UE-55942 Change 3952987 by JohnHenry.Carawon MovieRendering Test Content - Fixing camera bindings and changing the override binding actor Change 3953823 by Mike.Zyracki Fix for Bad FBX Import Tangents not scaled by frame rate. After looking at this again it seems that a set of MovieScene:: overiddes for the channel traits wasn't set correctly, so use the ADL idiom to use MovieScene, which can then call Optimize in the correct namespace. With this we can now correctly use the passed in tolerance. There was also a redundant set of Optimize calls so that it could happen twice so removed them, and needed an extra check in the float channel Optimize. Also since we need to set auto tangents no matter if we optimize we don't set that parameter(though leave it since it's used by context menu key reduction). Finally fixed speed issue with trajectories caused by calculating way too many substeps. Reverted back to a time based step size for consistency. #jira UE-56193 Change 3954317 by Matt.Hoffman Adding a key to the last frame of a section no longer causes a crash. Keys can already be moved to be on the last frame of a section so now you can just add a key there directly. #jira UE-56255 Change 3954326 by Matt.Hoffman Dilating a section that is only infinite on one side no longer causes a crash. #jira UE-56260 Change 3954486 by Max.Chen PR #4580: Exposes IsReversed() from UMovieSceneSequencePlayer (Contributed by alanedwardes) Change 3955238 by Max.Preussner Messaging: Enabled delayed message routing https://github.com/EpicGames/UnrealEngine/pull/4574 #jira UE-56247 Change 3955901 by Max.Preussner MediaFrameworkTest: Added developer test for overriding desired media player plug-in at runtime. Change 3955922 by Andrew.Porter QAGame: Updating movie rendering content in dev folder Change 3956004 by andrew.porter QAGame: Adding MPC track to movie rendering test content Change 3956510 by Max.Chen Sequencer: Fix fbx camera import of static properties so that they are imported before default tracks are created. Otherwise, the default tracks inherit the default properties of the camera, rather than the values from the fbx. #jira UE-56311 Change 3957613 by Max.Preussner MediaUtils: Added code documentation to media player facade Change 3958005 by Max.Preussner MediaUtils: Added method to get number of sinks Change 3958934 by Max.Chen Sequencer: Fix keys getting added and sequence getting erroneously re-evaluated when auto key is off. Only apply defaults if there are no keys. Only modify the movie scene section before creating keys or setting defaults. #jira UE-55903 Change 3959687 by Andrew.Rodham Sequencer: Fixed visibility track external values being inverted #jira UE-56324 Change 3960507 by Max.Preussner Core: Fixed incorrect rounding in FMath::DivideAndRoundNearest Change 3962047 by JohnHenry.Carawon MovieRendering Test Content Changes: - Add Lightmass Importance Volumes to sublevel to fix warnings - Rebuilt Lighting - Add a third sequence for Gamut testing - Resaved the sound master.uasset to fix warning Change 3962211 by Mike.Zyracki Add Frame Numbers to selected animation sections. Added MapTimeToAnimation to MovieSceneSkeletalAnimation so that we could get it from the Skeleton Animation track Editor. Since the thickness of the frame line can change based upon frame rate and zoom we need to calculate it similarly to how the time slider controller does it. Those calculations were private so we had to expose FScrubRangeToScreen and GetScubberPixelRange from the TimeSliderController. Also needed to know if the section itself was selected so added a bIsSelected flag to the section Painter. Also fixed a bug where you couldn't add a section if other sections existed at different times in MovieScenePropertyTrack and could crash due to the check(). #jira UESEQ-395 Change 3962497 by Max.Preussner Core: Added new string formatting argument to FTimespan Change 3963662 by Max.Chen CineCamera: Flip VistaVision width and height. Change 3963731 by Max.Preussner MediaCompositing: Implemented sequence recording support for media track Change 3964195 by Andrew.Rodham Sequencer: Set inverted property correctly for newly created visibility track sections - Also clamp evaluation for key editors to the bounds of the section so we're not displaying values outside of the section bounds when the cursor is not on the bounds #jira UE-56324 #coderevew Max.Chen Change 3964196 by Andrew.Rodham Sequencer: Fixed crash when attempting to render sections that resulted in a negative intersection with the view range Change 3964275 by Andrew.Rodham Sequencer: Fixed MovieScene::ClampToDiscreteRange for infinite range bounds Change 3964364 by Andrew.Rodham Curve Editor: Reduce minimum vertical view range when zooming to fit Change 3965091 by Max.Chen Sequencer Recorder: Refresh next sequence if empty when starting a recording, otherwise, use existing name. #jira UE-56469 Change 3965148 by Max.Chen Sequence Recorder: Move Record to Possessable to "Actor Recording" group Change 3965162 by Max.Chen Sequence Recorder: Always break out of immersive mode when done recording, even when stopping recording during countdown. #jira UE-56407 Change 3965214 by Max.Preussner QAGame: Enabled ImagePlate plug-in Change 3965574 by Max.Preussner SimpleComposure: Reorganized & upgraded content to work with new Media Track #jira UE-56488 Change 3965651 by Max.Preussner MediaCompositing: Ignoring seek-on-open if media not seekable Change 3966075 by Christina.TempelaarL Sequencer: Added Final Cut Pro 7 XML Export functionality #jira UESEQ-358 Change 3966087 by Matt.Hoffman Adding a single key to the Particle Toggle track now makes an infinite range section that is displayed in the UI. #jira UE-56295 Change 3966547 by Andrew.Rodham Sequencer: Fixed rounding errors when drawing the section background on boolean sections - Logic was using time in sectonds which caused rounding errors on evaluation and flickering red/green stripes when dragging keys around #jira UE-56324 Change 3966563 by Andrew.Rodham Curve Editor: Key editor interface improvements - SKeyEditInterface has a few problems - it does not update in real time when editing properties, and does not support multi-edit which makes it unsuitable for use with the curve editor - We now take a different approach for editing keys by gathering a set of proxy UObjects for each key that is currently selected. These objects are added as top level objects to the details panel which means they support multi edit as you'd expect from any other details panel in the editor. - Proxy objects are updated every tick for the curve editor if they implement the ICurveEditorKeyProxy interface, which allows them to refresh their current value. - Ideally, the same mechanisms would be used in the main sequence interface, and we would be generating the proxy classes at runtime based on the key value type, but that work remains a separate task from this initial offering. #jira UE-56165 Change 3966564 by Andrew.Rodham Curve Editor: Expand to frame when adding or moving keys in the curve editor Change 3967051 by andrew.porter MediaFrameworkTest: Set the CameraPlayer_Video texture to auto clear Change 3967141 by Andrew.Rodham Sequencer: Keep track of spawned objects that have been modified and only re-save such object's default spawnable state on destruction - Now that we're taking this approach, I've remove serveral redundant bits of functionality in the spawn register such as making some spawnables read-only, and the PreSave binding for Sequencer. - We now hook into all object pre-saves to make sure we handle the case where the sequences are saved through the content browser or elsewhere. #jira UE-47686 Change 3967170 by Andrew.Rodham Sequencer: Added the ability to possess anim instances as object bindings - This allows full and direct animation of properties on UAnimInstance, and animation blueprints - Object Bindings are made by first possessing a skeletal mesh component, then choosing the + Add button where its anim instance will be listed - Added a new function to UMovieSceneSequence to gather previously cached objects that should now be invalidated. Anim instances will be re-resolved if a new UAnimInstance is assigned to USkeletalMeshComponent::GetAnimInstance. - ObjectBindingIDs for anim instances are just represented by an entry in a set of GUIDs. We only ever resolve such bindings through USkeletalMeshComponent::GetAnimInstance. - Only currently supported on LevelSequences #jira UE-56132 Change 3967195 by Max.Preussner Core: Updated TRangeSet to use TCallTraits Change 3967345 by JohnHenry.Carawon Test Content Changes - first iteration of spacing out the examples in the shots. Change 3967572 by Max.Chen Sequencer: Fix setting PreviousPlayEvalPosition until after we've tested whether it's set. #jira UE-56518 Change 3967750 by Max.Chen Audio: Set duration based on number of input channels, rather than number of channels to serialize. This fixes an issue where audio split into 2 channels is set to a duration that's twice as long. #jira UE-56430 Change 3967836 by Max.Chen Sequencer: Allow for animating array elements within ustruct properties #jira UE-55887 Change 3968506 by Matt.Hoffman Fixed ambiguous conversions for seconds and frames being overriden by ambiguous conversion to Timecode (in frames). Change 3968748 by Max.Chen Sequencer: Make the event properties submenu widget larger. #jira UE-55557 Change 3968862 by Max.Chen Sequencer: Recursive expansion when shift is down #jira UE-52139 #pr 4194 Change 3968863 by Max.Chen Sequencer: Bind rename command to selected track so that F2 shortcut start renaming #jira UE-52139 #pr 4194 Change 3968872 by Max.Chen Sequencer: Rekey the selected key at the current time. #jira UESEQ-396 Change 3968938 by Max.Chen Cine Camera: Add option to toggle the behavior of locking the rail mount to the orientation of the spline. By default, the option is off, no change in behavior. #jira UE-55815 Change 3968958 by Andrew.Rodham Sequencer: Consider vertical position when hittesting keys #jira UE-56256 Change 3969643 by Max.Preussner Core: Rounding timespans created from double values towards nearest ticks Change 3969646 by Max.Preussner MediaUtils: Implemented timeout mechanism for block-on-fetch feature Change 3969776 by Mike.Zyracki Added Skip Anim Notifiers Toggle per what was in Matinee. Investigated the Enable Root Motion toggle as also discussed but it's implementation is directly contained by the animation asset and unlike animation notifies there seems to be no exposure to interactively disable it during a playback tick. Note if we are generating thumbnails we still automtically disable notifies in the editor to avoid annoying noise playback. Note that if Enable Root Motion/Root locked is specified in the animation asset it does correctly effect the Sequencer. #jira UESEQ-399 Change 3969835 by Matt.Hoffman Playback Range and Selection Range use unified logic for adding themselves as potential snap locations which properly handles inclusive/exclusive bounds. This resolves an issue where having an unset selection range caused a potential snap location to be added on frame 0 and 1 (internal resolution) which caused a misalignment when placing objects near frame 0. This also removes the one frame offset on setting Selection Range to bring behavior inline with other ranges. #jira UE-55420 Change 3969885 by Max.Preussner MediaAssets: Don't register media player CDO with media ticker Change 3971129 by Andrew.Rodham Sequencer: Fixed UMovieSceneSequencePlayer::GotToEndAndStop() not taking into account for start time This is a remnant from when the times were always specified in 0-duration space, rather than actual sequence times. Change 3972056 by JohnHenry.Carawon More updates to Test Content. I continued spacing out the examples in the sequence so that they have a consistent number of frames between each example and during the start/end of the example. Also removed the Marcie sublevel. Change 3972066 by Andrew.Porter MediaFrameworkTest: Setting Marcie folder to be never cooked in package settings Change 3972675 by Matt.Hoffman Splitting Subsequence Sections no longer sets an incorrect playback range on the subsequence when the subsequence has a different internal resolution than the owning sequence. #jira UE-55453 Change 3973376 by Max.Preussner ImgMedia: Zero is the only valid video track for image sequences Change 3973489 by Max.Preussner Launch: Build rules cleanup pass - don't use Media, MediaUtils on server apps - don't link against Media (include-only dependency) - don't include from MediaAssets (dynamic load only) Change 3973760 by Max.Preussner MediaUtils: Moved AppMediaTimeSource implementation into its own file; added logging Change 3973765 by Max.Preussner ImgMedia: Disallowing seek beyond media length Change 3973855 by Max.Preussner MediaFrameworkTest: Updated developer test content Change 3973858 by Max.Preussner MediaCompositing: Blocking on media player time instead of media sample time (the former may not be hit in the current frame) Change 3974988 by Max.Chen Sequencer: Fix trim left so that it also sets the start offset for audio and skeletal animation sections. #jira UE-57015 Change 3976101 by Matt.Hoffman Sequencer will now focus the scroll view on newly created items. #jira UE-56492 Change 3976203 by Max.Chen Property Editor: Add DetailsViewArgs for ColumnWidth. Defaults to 0.65f, no change in existing behavior. Change 3976205 by Max.Chen Sequencer: Set better column widths for sequencer. #jira UE-55557 Change 3976206 by Max.Chen Sequencer: Added menu category for import/export Change 3976265 by Matt.Hoffman Tracks within Object Binding Nodes will now sort using the old behavior so that components are added above other track types. #jira UE-56473 Change 3976901 by Max.Chen Sequencer: Add event names to event track section #jira UESEQ-353 Change 3977878 by Max.Preussner Media: Moved media framework ticking stats into Media module Change 3977982 by Max.Chen Sequencer: Add Edit->Reset section length to duration of source (ie. audio, skeletal animation, shot length) Added MovieSceneSection::GetDefaultDuration and MovieScene::HasDefaultDuration #jira UESEQ-392 Change 3977994 by Max.Preussner Media: Fetching and rendering media samples before viewports are rendered (to ensure frame sync for in-level media playback) #jira UE-53975 Change 3978188 by Matt.Hoffman Easing Curves are now clipped by the sequence's PlayRange when testing against an infinite section. This causes blended sequences to finish their blend when the section starts/ends instead of always using 25% of the total section length to determine default blend range. #jira UE-56362 Change 3978676 by Max.Preussner MediaCompositing: Fixed first frame of rendered out media track missing #jira UE-53975 Change 3978684 by Max.Preussner MediaCompositing: Enabled media track frame sync feature #jira UE-53975 Change 3980026 by Matt.Hoffman Keys can be selected on folded out sections (such as an audio track expanded to show volume and pitch) again. #jira UE-57169 Change 3981614 by Max.Preussner MediaUtils: Added missing subtitle sample queue flush Change 3982311 by Max.Preussner MediaCompositing: Added safeguard for zero length media sources Change 3982389 by andrew.porter QAGame: Adding media track test content into FrameAccuracySubscene Change 3983661 by Max.Chen Sequencer: Add level name to spawn a spawnable into. Add sublevel menu option to set the level #jira UESEQ-390 Change 3983712 by Andrew.Rodham Sequencer: Purge legacy blueprint spawnables from LevelSequence packages #tests Ran a preflight for cooking fortnite, ocean and Orion. Only orion shows up this edge case, and will require a re-save of the EndCines level #jira UE-39173 Change 3983787 by Max.Preussner MediaCompositing: Moved compile time switch for block-on-fetch into media player facade Change 3983812 by Andrew.Rodham Sequencer: Exposed default level sequence instance data to blueprints Change 3984373 by Max.Preussner Media: Added API for quering whether player plug-in supports block on fetch Block on fetch allows Sequencer and other systems to block the game thread until a desired video frame has been decoded. Change 3984670 by JohnHenry.Carawon Movie Rendering Test Content progress. Saving the state of the content. There is a bug where things got replaced with particle emitters and I think it was because I tried to copy paste an animation track into a separate skeletal mesh track. Change 3985097 by Max.Chen Sequencer: Rename Reset to AutoSize Change GetAutoSizeDuration to return TOptional<FFrameTime> #jira UESEQ-392 Change 3986043 by Max.Chen Sequencer: Fix crash when attach/path duration is less than 0. #jira UE-57310 Change 3986373 by Max.Chen Sequencer: Add support for deleting tracks and channels which equates to setting the channel mask. #jira UE-52951 Change 3986375 by Max.Chen Sequencer: Add Create Pose Asset to skeletal animation section. This allows animators to blend animations in sequencer and create new pose assets from them. #jira UESEQ-408 Change 3986796 by Andrew.Rodham Sequencer: Fixed stale object references remaining in ULevelSequence::BindingReferences when using convert to spawnable/possessable - We used to convert objects by creating a new binding, then re-assigning its GUID, which meant we didn't have to do any further object fixup, but the code to achieve this was confusing and led to a vulnerability where object references would not be cleaned up correctly due to the newly created possessable essentially being a temporary object that's immediately thrown away. - To address this, there is now a function for porting all the contents of one object binding to another, and handles the correct fixup required for parent/child object bindings for both spawnables and possessables. - Also added codepath to remove any stale object references from the level sequence reference map on PostLoad (this piggy-backs off the PurgeLegacyBlueprints object version which is close close enough to this change to be identical) #tests Verified that existing sequences with stale references get cleaned up on load. Verified that repreatedly converting from spawnable<->possessable cleans up references correctly. Change 3987807 by JohnHenry.Carawon Updates to the MovieRendering Test Content. - Fixed the spawnable actors that were overwritten - Shortend the Lighting example and combined the Intensity and Color tracks - Organized the Sequence and WorldOutliner to group the examples. Change 3988151 by Max.Chen Cine Camera: Enable keying the "Enable Look at Tracking" toggle. Change 3988880 by Max.Chen Sequencer: Support enter to add asset for all sequencer track editors that have asset pickers. #jira UE-57367 Change 3988953 by Max.Chen Sequencer: Make the track color picker focusable so that it will close when you click away or lose focus. #jira UE-57210 Change 3988962 by Max.Chen MovieSceneCapture: Fix EDL export so that it takes into account movie scene frame resolution and desired frame rate. #jira UE-57365 Change 3988964 by Max.Chen Movie Scene Capture: Clarified tooltip for bRelativeFrameNumbers. If you specify custom start/end frames for the recording, they will be relative to the playback range. #jira UE-57308 Change 3989442 by Max.Chen Fix CIS Change 3991548 by Matt.Hoffman Dragging the time slider no longer causes the time slider to ignore snap-to-interval with "Snap to Keys While Scrubbing" when no keys are in range. #jira UE-57417 Change 3991598 by Matt.Hoffman Snap to Key while scrubbing now mirrors the behavior of "jump to next key". When there are no tracks selected it snaps to all keys and when there are tracks selected it snaps to only keys from that track. This also resolves an issue where deleting an object did not remove it from the Sequencer's selection. Undoing a delete already doesn't seem to restore your selection, so removing it from your selection shouldn't change that behavior. #jira UE-57417 Change 3991603 by Max.Chen Sequencer: Disable EditAnywhere for some section properties #jira UE-53530 Change 3992240 by Max.Preussner MediaAssets: Implemented dynamic audio sample rate adjustment based on audio/media clock drift #jira FORT-70638 Change 3992911 by Andrew.Rodham Sequencer: Fixed saving spawnable state using the wrong spawned object - We now track the object binding ID so that we can apply the spawned object to the correct spawnable when the asset is saved #jira UE-57353 Change 3992914 by Max.Chen Movie Scene Capture: Fix compression quality not being set. The compression interface wasn't being found through query interface, so no compression was being set. Reworked finding it through the output pins. Tested running various compression values. #jira-UE-55488 Change 3992919 by Max.Chen Sequencer: Convert to possessable now uses object template instead of copying properties (ie. see LevelSequenceActorSpawner). This fixes MIDs getting lost when converting to spawnable and back to possessable. #jira UE-52400 Change 3993184 by Max.Chen Sequencer: Don't show +Transform/+Path/+Attach track if the actor has the "Mobility" property hidden. Set the Landscape, LandscapeProxy and InstancedFoliage "Mobility" property to be hidden since it is static is not supposed to be dynamically movable. #jira UE-56347 Change 3993238 by Max.Chen Sequencer: Test for hidden mobility in creating keys as well. Refactored to HasHiddenMobility() #jira UE-56347 Change 3993978 by Max.Chen Cine Camera: Enable keying the "Enable Look at Tracking" toggle. #jira UE-57489 Change 3994039 by Max.Chen Landscape: Add Mobility to hidecategories on landscape component #jira UE-56347 Change 3994626 by JohnHenry.Carawon Updated Movie Rendering Test Content. - Fixed the overridden spawnables to their proper object types. Change 3994653 by Christina.TempelaarL Sequencer: Added Final Cut Pro 7 XML Import functionality, improved Export functionality #jira UESEQ-358 Change 3995609 by Max.Chen UMG: Add support for 2d transform mask (translation, rotation, scale, shear) #jira UE-52951 Change 3995778 by JohnHenry.Carawon Movie Rendering Test Content Updates - Adjusted Lights example - Adjusted Camera example - Added Marcie sublevel back in Change 3995942 by JohnHenry.Carawon QAGame: Moving Movie Rendering test content from Developer folder to Sequencer folder Also adjusted level visibility, lights and camera example. Change 3995993 by Christina.TempelaarL Sequencer: FCPXML Export updates - only export sections if in playback range and media exists, warn if media does not exist. Other updates - removed unused methods and variables, fixed message context naming to be more accurate #jira UESEQ-358 Change 3996595 by andrew.porter QAGame: Updating Marcie content in TrackEvaluation level to use Image Plate Change 3996614 by andrew.porter QAGame: Adding color test sequence to the sublevel Change 3996643 by Max.Chen Sequencer: Fix fbx animation export - rotation and scale channels were flipped. #jira UE-57509 #jira UE-57512 #jira UE-57514 Change 3996652 by Max.Preussner Messaging: Fixed delayed messaging using incorrect current time after message router sleep Based on https://github.com/EpicGames/UnrealEngine/pull/4601 Change 3996801 by Max.Chen Sequencer: Fix folder active state for non key area sections. Look at track node sections as well as key areas. #jira UE-57550 Change 3997098 by Matt.Hoffman Cleaned up some remaining ToDo's in STimeRange. Change 3998339 by Max.Preussner Sockets: Added documentation for socket receive functions Change 3998359 by Max.Preussner MediaUtils: Started to implement media recorder helper class Currently only supports BGRA frames in CPU memory. Supporting other formats and buffer types will require conversions on render-thread. I recommend refactoring out the existing conversion code in FMediaTextureResource into a reusable helper class in the MediaUtils module. This should be a good starting point though. Change 3998417 by Matt.Hoffman Keys and Sections can now be moved at the same time inside of Sequencer. Keys can now snap to Sections (and vice versa) instead of just to other Keys. Sections can now be duplicated like keys can. #jira UE-56995 Change 3998427 by JohnHenry.Carawon QAGame: Updating test content for the Movie Rendering feature. - Added an auto activate particle to the beginning of the sequence (it's not part of the sequence at all) - Added an event receiver blueprint to the Events example - Added a particle emitter to both sublevels - Added a camera cut to the end that switches to a separate camera - The camera zoom in, focus and Look At sections are all separate (not overlapping in the sequence) - Added a second actor for the camera Look At - Added a Visibility section for the Actor Hidden In Game track that has possessable and spawnable cube and light Change 3998537 by Max.Chen Sequence Recorder: Restore immersive mode when stopping the sequence even if not in PIE. #jira UE-56407 Change 3999809 by Matt.Hoffman Removed the "Go To" box from Sequencer and instead placed the current time as an always visible control. The previous shortcut (Ctrl + G) now focuses the new widget directly. #jira UESEQ-376 Change 4000543 by Christina.TempelaarL Sequencer: Moving editor-only code from runtime module MovieSceneCapture to editor module MovieSceneTools. Moved EDL and FCP XML exporters as well as Automated Level Scene Capture. #jira UESEQ-358 Change 4000706 by Matt.Hoffman Entering multiple time strings without a number no longer crashes Sequencer. #jira UE-57672 Change 4001051 by andrew.porter MediaFrameworkTest: Fixing up some image sources pointing to the wrong location Change 4001191 by andrew.porter QAGame: Adding some quick EDL/XML test content to dev folder Change 4001243 by Max.Chen Sequencer: Fix import EDL out of range. #jira UE-57665 Change 4001856 by Matt.Hoffman Selecting keys and sections at the same time now also works with animation and audio sections. #jira UE-57716 Change 4002021 by Max.Chen Sequence Recorder: Fix sequence name incrementing. If external recording sets the sequence name, use it. Otherwise, use the recording name from the recording group or the recording settings. #jira UE-57712 Change 4002618 by Max.Chen Viewport: Update the look at location when updating to a locked actor. This fixes an issue so that popping the view out of a locked actor and manipulating the view will not jump to the previous look at location. #jira UE-57725 Change 4002979 by Matt.Hoffman Fixes several edge cases with the end time range that was causing confusion about what the last frame of the sequence was. Dragging the End Frame slider will no longer be off by one tick and jumping to the end via the UI controls now properly respects snapping and stays inside the play range instead of falling outside of it. Overall behavior does not change though and End Frame should be considered an exclusive frame so that frames 0-150 results in a 150 frame long animation (which is frames 0-149). #jira UE-56367 Change 4003185 by Matt.Hoffman Fixed a regression that prevented a section from being dragged upwards past row 0 which normally resulted in all other rows moving down. #jira UE-57717 Change 4003193 by JohnHenry.Carawon QAGame: Updates to test content - Shortened frames between the examples from 95 to 30 - Separated camera setting tracks - Lighting example now switches directly from constant red - green - blue Change 4003369 by Max.Chen Sequence Recorder: Refresh next sequence regardless of internally stored sequence name. #jira UE-55757 Change 4003586 by JohnHenry.Carawon QAGame: Test Content Updates - Level Visibility track now ends to that the levels are not visible when we move to the next example - Shortened camera section, removed Z tranform so that we just move left to right and shortened the overall length Change 4004414 by Max.Chen Movie Scene Capture: Fix regression where rendering with shot handles would only render the first shot. 3972166 addressed an issue where an extra frame would be rendered by finalizing right when the end frame was reached. This was hit on the first shot end frame, so instead, do this only for when the last shot is being rendered. #jira UE-57314 Change 4004765 by Christina.TempelaarL Sequencer: Fixed bugs in FCP XML import/export. - Export: fixed sequence default resolution. - Export: fixed XML files with no shots. - Export: all sections clipped to playback range. - Export: fixed incorrect section start/end times due to precision issues. - Import: fixed incorrectly adding cinematic tracks. - Import: fixed bugs creating new sections. #jira UE-57660 #jira UE-57662 #jira UE-57655 #jira UE-57761 Change 4005119 by Max.Chen Sequencer: Export/import at play rate Change 4005195 by Max.Chen UMG: Finish UMG evaluation on stop. Added object version so that existing UMG assets do not change. #tests - Newly created UMG animation with sections set to restore state now return to their original state. Existing UMG animations with sections set to restore state do not return to their original state. #jira UE-52285 Change 4005377 by Michael.Karambelas QAGame: Moving TM-SequenceRecorder and related content out of my developer folder and into /Content/Sequencer/SequencerRecorder/* Change 4005417 by Michael.Karambelas QAGame: Fixed a BP compiler in the Level Blueprint of TM-SequencerRecorder. Change 4005634 by Michael.Karambelas QAGame: Fix up missing content and broken level sequence in TM-SequenceRecorder after move Change 4006324 by Max.Chen Sequencer: Reset if the focused movie scene is null. This fixes a crash if the user is focused in on a shot and undo takes the user past the point of where the shot was created. #jira UE-57752 #jira UE-47661 Change 4007006 by Max.Chen Sequencer: Fix FindAvailableRowIndex so that it returns the max row index (and not +1) since it doesn't find any conflicting rows. #jira UE-57717 Change 4007907 by Max.Chen Sequencer: Fix crash if there's no animation Change 4007948 by andrew.porter QAGame: added test content to dev folder for Record World Space Change 4008636 by Max.Chen Sequencer: Fix import fbx not setting values properly and creating additional cameras unncessarily. #jira UE-57864 Change 4008759 by Max.Chen Sequencer: Follow up fix for import cameras #jira UE-57864 Change 4009994 by Matt.Hoffman Dragging the left or right handles of the Time Range slider in Sequencer will now zoom your view in on the current center of the screen. This prevents the view from being translating as you tried to zoom in which caused issues at high zoom levels. #jira UESEQ-407 Change 4010169 by Christina.TempelaarL Sequencer: FCP XML fixes. - FCP XML export - no longer clips to playback range - FCP XML and EDL export - fixed missing last frame of some sections after exporting to Premiere. - Automated level capture, EDL export - use RoundToFrame instead of FloorToFrame for computing section start/end frames after frame rate conversion. #jira UE-57802 - partial fix, movie scene capture still needs to render full section rather than clip against playback. Change 4010287 by Mike.Zyracki Add quaternion interpolation option to UMovieScene3DTransformSection. This mimics how Matinee used to work by bascially finding the keys between a time and interpolating the angles as quat's between them. As noted in the code the algorithm needs to handle the case when the x,y,z Rotation keys all aren't at the same time which was not handled by Matinee. Also like Matinee, when in quaternion interoplation mode, we need to not display the function cuves since the interpolated and key values are now all different. (Would like to show them but that's a bigger refactor for perhaps just a one off needed by quaternions). I added a virtual function UMovieSceneSection::ShowCurveForChannel for this since it needs to be dynamic, not on construction of IKeyArea's, and could be useful for other sections. I could though move the method to just UMovieScene3DTransformSection and do a cast instead. Looked into doing a unit test for this but after talking with Andrew P we will work on doign an automated test in EngineQA since that will provide more coverage. Will also add a video the jira. #jira UESEQ-403 Change 4010713 by Mike.Zyracki Added option to key a group of transform channels instead of just the changed channel, or all of them. This is useful for quaternion interpolations where you want rotation keys to be aligned but also useful for other workflows like animating FK Pose to Pose. Change 4010715 by Andrew.Porter MediaFrameworkTest: Setting LogMediaUtils logging from VeryVerbose to Verbose to cut back on the spam Change 4013048 by Max.Chen Sequencer: Fix play/jump status. Update the player status for all position methods (Scrub, Jump, Play). Jump means Stopped. Correctly use PlayTo or JumpTo based on position method. In PlayInternal, JumpTo with the Stopped state (rather than playing state). #jira UE-57844 Change 4013479 by andrew.porter QAGame: Added content in TM-SequenceRecorder to test recording a property on a Cine Camera Component; Press 3 to trigger manual focus distance to increment on a timer Change 4014323 by Max.Chen Sequencer: Fix SetPlaybackPosition so that it jumps or plays based on playback status. #jira UE-57844 Change 4015888 by Max.Chen Sequencer: Fix crash on paste. UMovieSceneSections were gathered from the track node's track. For sub track mode, we want to gather only those sections on that track node row. #jira UE-57951 Change 4015943 by Max.Chen Sequencer: Fix moving shots up when the mouse pos goes outside of the virtual track area. #jira UE-57717 Change 4016293 by Max.Chen Sequencer: Fix relative frame playback end frame calculation so that custom start/end frames remain in the space of the sequence and are not relative. #jira UE-57308 Change 4017075 by Andrew.Rodham Sequencer: Corrected initial evaluation range used when calling UMovieSceneSequencPlayer::Play() Change 4017270 by Christina.TempelaarL Sequencer: FCPXML importer and movie scene capture - Use CeilToFrame when converting section start/end frame times to frame numbers in FCPXML and movie scene capture. - Added support for clip metadata in FCPXML. - Got rid of redundant TokenizedError message class, no longer needed now that FCPXML is in editor directory. - Added log messages currently commented out due to exception, still testing. #UESEQ-358 Change 4018370 by Christina.TempelaarL Sequencer: fixed FCPXML log messages regarding sections with start/end not divisible by display rate. #UESEQ-358 Change 4018378 by Christina.TempelaarL Sequencer: fixed error in previous changelist. #UESEQ-358 Change 4019457 by Max.Chen Sequencer: Show event names only when the event track is selected #jira UE-57897 Change 4022806 by Max.Chen Sequencer: Fix crash on movie scene capture dialog shutdown if movie capture wasn't even started. #jira UE-58106 Change 4022894 by Max.Chen Sequence Recorder: Wrap OpenEditorForAssets after sequence recording within GIsEditor #jira UE-58084 Change 4024487 by Max.Chen Sequencer: Add tooltip for quat interpolation #jira UE-58113 Change 4024562 by Max.Chen Sequencer: Change path/attach track sequence binding id to currently focused sequence id so that bindings can be created in subsequences Change 4027414 by JohnHenry.Carawon QAGame: Checking in content that shows a bug with using particles systems and Delay Before Shot Warm Up. Change 4028990 by Max.Chen Sequencer: Fix evaluate sub sequences in isolation. This check was added with the compile on the fly logic. Not sure why it was necessary but it seems like the sub sequence data needs to be updated in order to evaluate sub sequences in isolation. #jira UE-58184 Change 4029004 by Max.Chen Sequencer: Ensure that old binding references are removed when re-assigning actors in sequencer #jira UE-57898 Change 4030997 by JohnHenry.Carawon QAGame: Fixing name of the master sequence Change 4031785 by Michael.Karambelas QAGame: Added an instance of ThirdPerson Run to TM-SequenceRecorder for Record to Possessable test. Change 4035548 by Andrew.Rodham Sequencer: Changed FMovieSceneEvaluationTemplate::TemplateSignature to be a serial number to address non-deterministic cooking issues - This commit is related to the repro steps found in 3914599 and 3934307, both of which have been verified with this new change. - Copy of 4031684 from //Fortnite/Main/... #jira FORT-84852 Change 4036312 by Max.Chen Sequencer: Fix zoom view range so that it uses the passed in InZoomDelta Change 4036318 by Max.Chen Sequencer: Auto size now returns a range and defaults to the channel proxy range so that keyed regions can also be autosized. Change 4036322 by Max.Chen Forgot missing change Change 4036360 by Max.Chen Sequencer: Fix play rate calculation when skeletal animation section play rate changes. Change 4037163 by Mike.Zyracki Weighted Tangent Implementation Tricky thing is that you need to solve a cubic in order to get the bezier weights for the time part of the curve. See https://www.gamedev.net/forums/topic/474094-help-function-curves-for-animation-interpolation/ Maya provides an implementation in it's dev kit but I didn't use it since it was horribly slow and uses an iterative solution to solve the cubic needed. Instead I use an old algorithm (Cardano's method), to solve the cubic which should be much faster. Though relative simple to code from principles I just went ahead and used a version from Graphics Gems 1. I put this cubic solver directly in MovieSceneFloatChannel.cpp, but will need to move it when we support Rich Curve, maybe to FMath:: (which would probalby require some other functions for solving quartics, etc.. for completeness.). Also note we resolve this on every evaluation but dont' need to if the interval the time is evaluating hasn't had any change in values or tangents. So again when we support FRichCurve we can create a Weighted Evaluating class that can hold the cache. Also with the tangent drags I got rid of the Cardinal position that was used to calculate non-weight tangents from the key point and just quickly getting a direction. With weighted tangents we need to use the delta instead (otherwise when moving multiple they would all get the same weight based upon distance to the cardinal point. ) For mixed tangents types what I'm defaulting to non weighted if the interval doesn't match. May need to do weighted instead, not sure. What's left is just FBX import, for tomorrow. #jira UESEQ-76 Change 4037435 by Mike.Zyracki Fix fo build warnings from weighted tangent submission. #trivial Change 4038091 by Michael.Karambelas QAGame: Updated a Sequence Recorder group in TM-SequenceRecorder that had an actor missing the animation. Change 4038374 by Andrew.Rodham Sequencer: Refined scrubber styling for level sequences and actor sequences - Scrubber now shows a block the width of a dsplay rate frame, plus a line for the actual evaluated time. UMG reverts back to the previous styling (no block) - Keys that are outside of the playback range are now drawn with a subdued effect - Tick labels are no longer drawn when directly underneath the scrubber Change 4038490 by Max.Chen Sequencer: Expose tangent weight values in details panel. Change 4038620 by Andrew.Rodham Sequencer: Advanced time panel polish #jira UESEQ-426 Change 4038677 by Max.Chen Movie Scene Capture: Redirector for MovieSceneTools.AutomatedLevelSequenceCapture #jira UE-58248 Change 4039739 by Max.Chen Sequencer: Media track should only be supported by Level Sequence Change 4040024 by JohnHenry.Carawon QAGame: Fix EventReciever and OverrideBinding example The level sequence was set to none so the fix was to set it back to TrackEvaluation_Master. Change 4040610 by Andrew.Rodham Curve Editor: Moved weighted tangent switchers to a single toggle command (CTRL+W) and added an icon #jira 58383 Change 4040882 by Mike.Zyracki Keep broken when turning on weighted #jira UE-58435 Change 4041089 by andrew.porter QAGame: Sequence for Long Tangents bug Change 4041498 by Mike.Zyracki Turn off weighted when going auto to prevent large tangents. Do it both in UI and when doing AutoSetTangents() to really make sure it doesn't happen. #jira UE-58452 Change 4041752 by andrew.porter MediaFrameworkTest: Adding some better logging for setting rates when not supported. Also ignoring commiting URL when there is no text Change 4041896 by Matt.Hoffman The transform dialog box now transforms selected keys and sections, instead of just keys. #jira UE-58265 [CL 4044405 by Max Chen in Main branch]
2018-05-02 10:10:00 -04:00
FFrameRate TickResolution = GetTickResolution();
FFrameRate DisplayRate = GetDisplayRate();
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3946692) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3801826 by Max.Chen PR #4304: Level Sequence crash fix - Guarded against dereferencing null componen. (Contributed by DSDambuster) Change 3801828 by Max.Chen PR #4302: Movie Scene Visibility Template unitialised variable, causing random . (Contributed by DSDambuster) Change 3801837 by Max.Chen Sequencer: Delay spawning/construction for convert to possessable. This fixes a bug where property values would be lost when converting back and forth from possessable to spawnable. #jira UE-52400 Change 3801841 by Max.Chen Sequencer: Make spacer nodes not selectable. PR #4194: Improvements to Sequencer (Contributed by projectgheist) #jira UE-53117 #jira UE-52139 Change 3804183 by Max.Preussner MediaAssets: Added missing lock in media sound component Change 3805414 by Max.Preussner MediaAssets: Setting valid GUID when initializing media texture resource Change 3819578 by Max.Chen PR #4370: When enabling the "MovieCapture", do not turn off the Stereo-3D display. (Contributed by yehaike) #jira UE-53647 Change 3823414 by Max.Chen Curve Editor: Lock down the first and last keys in the redundant keys removal range so that they're unaffected. #jira UE-53591 Change 3826406 by Max.Chen Sequencer: Move OnStartedPlaying() to within first update in UpdateTimeCursorPosition(). This fixes an issue where setting the hud/player visibility was getting stomped on later. #jira UE-52772 Change 3827044 by Max.Preussner MediaAssets: Added sprite visualization to media sound component #jira UE-53594 Change 3827988 by Max.Preussner MediaPlayerAssets: Fixed Media Texture is not linked to Media Player when created together #jira UE-53532 Change 3828506 by Max.Preussner MediaPlayerEditor: Added attenuation visualizer for media sound components #jira UE-53594 Change 3832590 by andrew.porter EngineTest: Added a keep state check in Property Animation sequencer test Change 3833053 by andrew.porter EngineTest: Adding Hierarchical Bias test Change 3835683 by andrew.porter EngineTest: Adding UMG Animation screenshot test Change 3836076 by Max.Chen Sequencer: Fix audio volume and pitch multiplier deprecation. Change 3836230 by andrew.porter EngineTest: Adding Sequence Bone Position automation test Change 3836347 by Max.Chen Sequencer: Fixes to shot name parsing. When a shot doesn't contain a shot number, assume, [ShotName]_[TakeNumber]. When duplicating a shot, put the new shot in the same path of the original shot, so that the take numbers will increment properly. #jira UE-51868 Change 3836552 by Max.Chen Sequencer: Sub section now has a takes menu Change 3838094 by Max.Chen UMG: Fix template finish not getting called on stop. This fixes a bug where sections aren't restored when finished. #jira UE-52285 Change 3838708 by Max.Chen Sequencer: Add notification when the blend type is changed. #jira UE-54046 Change 3840295 by Max.Chen Sequencer: Fix copy/paste crash for lights #jira UE-54084 Change 3840957 by Mike.Zyracki Added Show Only Keyable and Show Only Animated to the filter list in the property editor. Added IsPropertyAnimated to IDetailKeyframe Interface which already had support for showing properties which are keyable (which is used for the key icon next to the properties.). Could have created another interface but then would have had to mimic the sequencer binding, releasing also, so this seemed best way. One issue still left is that custom built detail items currently don't store associated properties(usually) and so certain properties, in particulalry transforms, won't show up as keyable or animated. Note this also shows up with the keyable icon not showing up next to transform tracks, and other filters like Show Only Modified not working with transforms/customs. Not sure best way to tackle this. #jira UESEQ-328 Change 3841756 by Max.Chen Sequencer: Fix unbound possessable components when pasting spawnables. #jira UE-54104 Change 3843950 by andrew.porter EngineTest: Renaming LevelStreaming tests/content to LevelVisibility Change 3844082 by Mike.Zyracki Missing file for animated filter in property editor. When finding if a track is animated we need to find it but we can't easily induce the MovieTrack class for any particular property. So we don't set a class for it and just search by it's ID and name. #jira UESEQ-328 Change 3846902 by Max.Preussner ImgMedia: Fixed image media player never finished initialization if loading failed #jira UE-54247 Change 3849820 by Mike.Zyracki Reassigning deleted widgets didn't work since the menu extender mechanism needs a valid UObject in order to perform an operation on it. So to fix we replaced GetObjectBindingContextMenuExtender in WidgetBlueprint with new delegate mechanism (OnBuildCustomContextMenuForGuid) that supports FGuid in addition to UObjects which is needed to handle re-binding deleted widgets. Note that the default sequencer hacks this for replacing deleted actors in SequencerObjectBindingNode to check to see if a LevelSequence is active. We could move to this mechanism there also. #jira UE-53163 Change 3852211 by Max.Chen UMG: Indicate name of the property that is not bound. #jira UE-54350 Change 3854120 by Max.Chen Sequencer: Fix sibling folders being allowed to have the same folder name. #jira UE-54363 Change 3854627 by Max.Chen Sequencer: Step to next/previous key should work for all tracks if there aren't any selected. #jira UESEQ-391 Change 3855825 by andrew.porter EngineTest: Adding animation blending automation test Change 3855950 by andrew.porter EngineTest: Adding correct expected valuues to animation blending test Change 3856237 by Matt.Hoffman UESEQ-336 - Sequencer Track Reordering Adds the ability to re-order Master Tracks, Folders and Object Bindings within sequencer hierarchies (including UMG). Adds the ability to do a one-off sorting of the content under the old sorting behavior if the user wants to reset their layout to how it was under legacy behavior. Modifies SequencerTrackNodes, SequencerFolderNodes and SequencerObjectBindingNodes to handle CanDrop/OnDrop for above, below and ontop of. Fixes a Slate Issue that forcibly expanded a TreeviewRow if an item handled OnDrop. Slate will now only forcibly expand the row if the item says the drop happened ontop of the item, and not above or below it like it previously did. Change 3856503 by andrew.porter EngineTest: Adding automation test for using animation blueprint with blend multi node in sequencer Change 3857875 by Max.Chen Sequencer: Assign the sequence id after the template is compiled. #jira UE-54462 Change 3858344 by Max.Chen Sequencer: Prevent Goto and Transform boxes from overlapping by allowing them to be visible at the same time in an autosized horizontal box. Also, added close button to the goto box. PR #4425: Prevent Goto and Transform boxes from overlapping in Sequencer ... (Contributed by projectgheist) #jira UE-54210 Change 3860566 by andrew.porter MediaFrameworkTest: Set the option to index 0 for the audio and video track list by default Change 3860654 by andrew.porter EngineTest: Enabling Camera Cut + FOV test Change 3860981 by andrew.porter EngineTest: Updating skeletal mesh tests with a delay after set playback position Change 3861256 by Max.Chen Sequencer: Add all bindings if none selected. #jira-54440 Change 3862154 by Andrew.Rodham Added TimeManagement module Change 3862424 by andrew.porter EngineTest: Turned on the test Bone Positions with Blend Multi Node Change 3862573 by andrew.porter EngineTest: Adding test to compare bone positions in a sequence that is blending an animation that is using an AnimBP Change 3865117 by Max.Chen Sequencer: Stop auto scroll on mouse release of movement. #jira UE-31212 Change 3865303 by Max.Chen Sequencer: Add drag and drop transactions #jira UE-54662 Change 3865304 by Max.Chen Sequencer: Fix crash when an actor factory is not found. Change 3865361 by Max.Chen Sequencer: Don't change the camera/shot lock button when popping out of a sequence. #jira UE-54665 Change 3865412 by Max.Chen Sequencer: Determine whether a transform track is for a camera by using the spawned object or template #jira UE-54666 Change 3865685 by Max.Chen Sequencer: Clear autoscrub offset when stopping autoscroll #jira UE-31212 Change 3865886 by Max.Chen Sequence Recorder: Log an error if the number of frames changes while recording. This can happen if the skeleton changes while recording. #jira UE-48715 Change 3866925 by Andrew.Porter MediaFrameworkTest: Changing the current PNG test video image sequence to 1024 x 576 Change 3867705 by andrew.porter QAGame: Adding Audio Sort Sequence to dev folder Change 3867890 by andrew.porter QAGame: Adding a sequence for testing a sorting crash to my dev folder Change 3872628 by Max.Chen Movie Scene Capture: Split delay before warmup into split delay before shot warmup so that there's separate controls for when the movie scene capture warmups up vs. shot boundaries. Change 3873131 by Matt.Hoffman UE-54732 - Crash reordering a folder with a track. This was caused by folders being the only type of track to check if someone was putting a parent track into a child track. Object Binding tracks and Tracks now check as well so that you can't use the above/below drop targets to add parents as children. This also fixed a typo in the localization keys. #jira UE-54732 Change 3873301 by Mike.Zyracki Added ability to support continous euler angle changes when changing rotations, in particularly with the rotation gizmo's. To do this we effectively added a form an of 'euler filter'(https://en.wikipedia.org/wiki/Euler_filter) to find the closest euler angle to the current euler angle. Three functions were added to FRotator to make this possible, one to get the euler angle that's has the same rotation as it, one to get the difference between two euler angles via Manhattan distance and a third using the previous two to choose a Rotator value that's closest to it. We then use these functions before calling UComponent::SetRelativeRotation to make sure we use the correct Euler after the Quat conversion. We also no longer limit(bound) the euler angles to -180,180, which is obviously necessary to avoid flips. I also changed how we caluclate yaw and roll when pitch is -90 or 90 to make it the standard approach of zeroing out roll and just setting yaw. Main reasons are the previous implementation had precision issues so things like 180, 90, -180 would show up due to numbers being nearly zero but negative,(this would break any smooth interpolations), and this facilitates having a 'gimbal' rotation mode (like Maya, Blender etc..) if we ever want that also. If needed we could keep the previous implementation but would need to add some FMath::IsNearlyZero checks, with less performance. Note we only do this special filtering when applying delta's to actors or components in the editors, which then call UComponent::SetRelativeRotationExact, which is a new function to foces the RelativeRotation to be equal to the new rotation. This allows us to store un-nomalized Rotators at the cost that the RotationCache may be broken. We didn't change any of the other UComponent functions that set rotations (via Quats or Transforms) so they will still be bounded and unwound. In SetInternalWorldLocationAndRotation we only set the rotation if the rotation has changed, which fixes the rotation getting changed and re-normalized if just translate happens. In TransformTrackEditor, we correclty use the bUndwing flag and in MovieScene3DTransformSection there was an un-needed winding check there, it will be unwound earlier if needed, which happens if Sequence Recording is happening. Max we should talk about what to do about this . Note the euler angle drag via the widget is still bound to 0-360. I think we should just unbound that now since the rotations value are now unbound. This review now includes fixes suggested by Zak. #jira UE-UE-22228 Change 3873483 by Matt.Hoffman Sequencer Tracks can now be inserted above the spacer at the bottom of the tree. #jira UE-54706 Change 3873899 by Max.Chen Sequencer: Add section selection throbbing Change 3873908 by Max.Chen Movie Scene Capture: Added logging per frame Change 3873924 by Matt.Hoffman Adds the ability to store Sequence Recorder setups into profiles that stay with the map and can be re-loaded later. Profiles store the Actor Recordings so the settings for each actor should carry with them. #jira UESEQ-339 Change 3874726 by Matt.Hoffman Disable drag-and-drop targets on spacers that come between rows in Sequencer. This prevents extra drag/drop targets showing up between each row. #jira UE-54706 Change 3874862 by Matt.Hoffman Audio Track no longer gets reordered when adding sub-audio tracks, as sub-tracks are no longer counted towards the sorting order index when normalizing indexes. #jira UE-54727 Change 3875905 by Matt.Hoffman Disable Fade Track UI if a fade track already exists in the sequence. #jira UESEQ-393 Change 3876163 by Max.Chen Sequencer: Swap the camera object to the camera component's owner if it's not the same. #jira UE-54874 Change 3876971 by Andrew.Porter EngineTest: Moved Media Player Seek test to new folder. Also enabled the test with new ground truth image. Change 3877040 by Max.Chen Cine Camera: Split camera properties to two groups, "Camera Options" and "Camera Settings". The cine camera now hides properties in the "Camera Settings" group so that properties like bConstrainAspectRatio (in the "Camera Options" group) can be visible. #jira UE-54192 Change 3877763 by Max.Chen Curve Editor: Fix curve changed on end drag so that only curves that had keys/tangents that were changed receive notification, otherwise all loaded curves were getting notified that they were changed. #jira UE-54951 Change 3878234 by Matt.Hoffman Disable "Drop Below" targets for Sequencer Tree nodes to prevent a confusing UX issue where dropping underneath a Object Binding Node puts it after the object binding node but the UI looks like it's inserting it inside the Object Binding node. #jira UE-54743 Change 3879359 by Mike.Zyracki If a track is inactive we dim it a bit which seems to be the UE4 way to show inactive or disabled state. We changed the active logic so that all subtracks need to be inactive for the track to also be inactive(instead of all active for active). This conforms to how the active state actually works, e.g if you have two sections and only one is active the track is still active above it. #jira UESEQ-388 Change 3879462 by Max.Chen Sequencer: Allow dragging onto a particular row which would move out any overlapping sections to make space for the newly created section. Newly created sections are now selected and throbbed to draw attention to themselves. #jira UE-54664 Change 3879464 by Max.Chen Sequencer: Fixed overlapping ranges being inserted into the evaluation field during compilation - The issue was that track segments that had been combined with adjacent segments (due to them being identical) would potentially cause a subsequently compiled frame to overlap with a range that had already been inserted into the evaluation field. - The insertion code previously asserted that only minor overlaps were catered for (due to fp rounding errors) and assumed that a supplied range could not entirely contain any other range in the field. - The solution is to supply the insertion time along with the range to know exactly where the data should live in the field, and crop the range to the maximum allowable space between adjacent ranges. #jira UE-54922 Change 3879590 by Matt.Hoffman Items that are now added to the Sequencer via the "+Track" menu will be selected after being added. Items can now be added inside of folders instead of just to the root level. #jira UE-27397 Change 3879612 by Mike.Zyracki Display Nodes with no children are always active. #jira UESEQ-388 Change 3879730 by Matt.Hoffman Sequence Recorder's actor recording groups now remove items from the group when removed via the UI. #jira UESEQ-339 Change 3880256 by Mike.Zyracki Fix issue with inactive display with folders and other track nodes. #jira UESEQ-388 Change 3883491 by Max.Chen Fix issue where tick is skipped due to last ticked pose isn't cleared after AnimInstance changes. Copy from Release-4.19 #jira UE-51323 Change 3883603 by Max.Chen Movie Scene Capture: Add option toggle disable screen percentage. By default this is on (no change in current behavior). #jira UE-51898 Change 3885074 by Max.Preussner MediaCompositing: Resetting media texture & freeing resource on section end; removed dead code Change 3887220 by Max.Preussner MediaCompositing: Defaulted media section duration to 1 sec (since we do not know the actual duration in most cases) Change 3887478 by Matt.Hoffman Sequences now show [Inactive] in their title bars when they're disabled. This helps communicate why a sequence isn't being evaluated. #jira UE-51469 Change 3888985 by Max.Chen Movie Scene Capture: Clamp HDR Compression Quality between 0 and 1. #jira UE-55136 Change 3893519 by Max.Chen Sequence Recorder: Clarified tooltip for bRecordNearbySpawnedActors - spawned actors will still be recorded if they match the ActorFilter. #jira UE-55238 Change 3893546 by Max.Chen Sequence Recorder: If a selected actor already has a recording, add a blank recording. #jira UE-55239 Change 3894044 by Max.Preussner MediaCompositing: Added support for seeking into a media section Change 3894310 by andrew.porter MediaFrameworkTest: Adding Img media sources for 1080 and 2160 ravent test content Change 3894426 by Max.Preussner MediaAssets: Letting media textures with AutoClear retain their clear color when player is reset Change 3895717 by Max.Chen Sequencer: Null checks to prevent crash when saving the default state of a spawnable #jira UE-55304 Change 3897388 by Max.Chen Sequencer: Don't update current time to be within the view range when stepping into a sequence. #jira UE-55322 Change 3897452 by Max.Chen Audio: Fix crash when trying to record audio without any active capture devices. Log warning if the number of input channels is not 1 or 2. #jira UE-55223 Change 3897619 by Max.Preussner MediaCompositing: Removed commented out code Change 3898072 by Max.Chen Sequencer: Override the animation asset in the player state if it doesn't match the animation asset that's being evaluated. #jira UE-55328 Change 3898272 by Max.Preussner MediaPlayerEditor: Made slate brush constants static Change 3898704 by Max.Chen Sequencer: Skip if the binding id's sequence can't be found. #jira UE-55337 Change 3899855 by Max.Preussner MediaCompositingEditor: Added cache state visualization to media track Change 3900300 by Max.Preussner MediaCompositingEditor: Added loop indicators to media sections Change 3900694 by Max.Preussner ImfMedia: Looping cache only when player is looping Change 3900892 by Max.Preussner Stats: Added stats category for media framework Change 3900954 by Max.Preussner MediaCompositing: Don't evaluate at the end of media section Change 3901348 by Max.Preussner Core: Replaced TLruCache autos for better readability Change 3901655 by Max.Preussner ImgMedia: Added more perf stats to EXR reader Change 3901972 by Max.Preussner MediaAssets: Added getter for media player in media sound components Change 3902233 by Max.Preussner MediaAssets: Enabling media textures to receive samples right after player is assigned Change 3902238 by Max.Preussner MediaCompositing: Working around init/shutdown idiosyncracies in sequencer Change 3904045 by Max.Chen Sequencer: Fix copy/paste crash. Only process UMovieSceneCopyableBinding and objects that can be spawned by the movie scene spawn register. #jira UE-55314 Change 3905605 by Max.Chen Sequencer: Restrict spawnables from being created if they have a ClassWithin that UMovieScene is not a child of. #jira UE-55429 Change 3906550 by Max.Chen Sequencer: Add media track icon #jira UE-55480 Change 3907101 by Max.Chen Sequence Recorder: Fix bugs related to not recording a level sequence. There were certain assumptions that creating a level sequence meant that sequence recording was in progress. This is not always the case - the recorders can record animation assets and not create a level sequence. Changed the notion of IsRecording() to having at least one actor recording that is recording. Countdown timer, recording displays, etc should function if IsRecording() and not based on whether a level sequence is created. #jira UE-55485 Change 3907247 by Max.Chen Sequence Recorder: Fix crash not removing PrepareToCleanseEditorObject delegate. Repros when opening sequence recorder, closing it, and then opening or creating a level. Change 3910343 by Max.Preussner Core: Added async helper for executing functions on a given thread pool Change 3910346 by Max.Preussner ImgMedia: Added separate thread pools for loading/decoding and deleting image frames Change 3910829 by Max.Preussner Profiler: Increased visible range of profiler graph Change 3910841 by Max.Preussner MediaCompositing: Displaying asset name instead of full media source path in media section Change 3910870 by Max.Preussner ImgMedia: Using deallocation thread pool only in debug builds Change 3919642 by Max.Chen Sequence Recorder: Clarify active tooltip #jira UE-55661 Change 3919660 by Max.Chen Sequencer: Sequence template source signatures are now also compared to catch the case where a sub-sequence asset has been saved but not modified - The following sequence of events exposes this issue: - Create a master sequence with a single shot that spawns a cube - Add this sequence to a level and set it to auto-play - Save everything and restart - Resave just the inner shot asset without opening it - PIE - The inner shot never spawns its cube because its template was wiped on save, but its signature never changed. Since the master sequence previously didn't check the template source signature, it ends up trying to evaluate an empty template. #jira UE-55626 #jira UE-55490 Change 3921825 by Max.Chen Sequencer: "Run Construction Script in Sequencer" is off by default for blueprints but on for Sequencer. This allows the content author to switch it on for specific blueprints and sequencer will be default, run those with construction scripts enabled. Change 3922232 by Max.Chen Sequence Recorder: Reset countdelay on stop. #jira UE-55755 Change 3922306 by Max.Chen Sequence Recorder: Don't automatically mark transforms to be recorded by sequence recorder. Instead, log a warning if the user toggled it off to warn that the resulting animation might not match gameplay. #jira UE-55758 Change 3922912 by Max.Chen Sequence Recorder: Fix refresh next sequence name #jira UE-55757 Change 3927654 by Max.Chen Movie Scene Capture: Added format mapping for the name of the current camera #jira UE-55769 PR #4537 Change 3927658 by Max.Chen Sequencer: Added fbx property mapping for "FocusDistance" to "FocusSettings.ManualFocusDistance" #jira UE-55782 Change 3932022 by Max.Chen Sequencer: Add import animation track section to next available row index. #jira UE-55892 Change 3933919 by Max.Chen Sequencer: Jump to playback start frame and not 0 to start playback for recording. #jira UE-55933 Change 3934307 by Andrew.Rodham Sequencer: Add template signature that is re-generated every time the base template is regenerated, which invalidates evaluation fields This fixes an issue where the same sequence is instantiated multiple times in a sequence. If the source sequence was saved, its template would be wiped, which would invalidate the template ID When an instance tries to evaluate the master template, it would only invalidate a range in the evaluation field that was the hull of any invalid sub sequences overlapping the current time, potentially leaving invalid data in the evaluation field at positions later (or earlier) on in the sequence When the sub template was re-generated, it receives the same SequenceSignature as it had before (because the sequence hasn't actually changed), which causes the stale evaluation field data to fail the IsDirty check (because the sequence is the same as it thought, but the *template* has changed) This has been addressed be adding a signature to templates themselves, and checking both the template signature and sequence signature as a part of the IsDirty check. This ensures that we regenerate if either the template, or the sequence have changed. #jira UE-55934 Change 3936327 by Andrew.Rodham Sequencer: Removed increment when trimming right UMovieSceneSection::TrimSection already explicity assigns an exclusive bound to the time passed in. The new behavior means we can trim a section to the right, and insert another section without changing the time to create adjacent sections. #jira UE-42652 Change 3936328 by Andrew.Rodham Fixed KeyFrameManipulator assignment operators and copy/move constructors - These types are potentially self-referential so cannot use default constructors/assignment Change 3936330 by Andrew.Rodham Converted UMGSequencePlayer to use frames internally #jira UE-54878 Change 3936726 by Max.Chen Sequencer: Set track node as the parent of the key area node. The key area switcher needs the object binding id from the parent object binding node. Without this, the binding to the external value fails. #jira UE-55931 Change 3936775 by Max.Chen Sequencer: Should stop or loop should compare DurationFrames with Current Time from StartTime. The bug is that if you set 30 warmup frames in movie rendering for a range of 0-100, the FrameRange will be starting at -30 and have a duration of 130. Without this fix, the playback will continue until frame 130, rather than 100. #jira UE-55933 Change 3936935 by Matt.Hoffman Easing Curves are now represented in Play Rate resolution instead of internal resolution. #jira UE-55937 Change 3937069 by Matt.Hoffman Users can toggle if the is infinite on each side, limited by which tracks support infinite ranges. #jira UE-55891 Change 3937516 by Max.Preussner ImgMedia: Added support for single-threaded platforms #jira UE-55986 Change 3937826 by Max.Preussner MediaAssets: Disabling media sound components on HTML5 if AudioMixer is not enabled Change 3937997 by Max.Chen Curve Editor: Add Zoom to Fit Curves so that selected curves from Sequencer can be focused on. Tested that undo doesn't re-zoom. #jira UE-55935 Change 3938000 by Max.Chen Sequencer: Stop all sounds before generating audio waveforms. #jira UE-55951 Change 3938376 by Max.Preussner XGEController: Disabled XGE Controller in single-threaded apps to prevent crash Change 3938444 by Max.Preussner Core: Added async support for single-threaded applications Change 3938445 by Max.Preussner Networking: Added support for single-threaded applications in UDP socket sender/receiver Change 3938447 by Max.Preussner Messaging: Added support for single-threaded applications Change 3939432 by Max.Chen Sequence Recorder: Append command list to global level editor actions so that shortcuts are accessible in level editor. #jira UE-55798 Change 3940229 by Andrew.Rodham Added prospective display rate upgrade to UMovieScene::PostLoad - There was previously some very odd behaviour that would assign the fixed frame interval only when a sub sequence was focused in SSequencer. This meant that many sequences could have a frame interval of 0 set in the data. - Under the old method of snap interval display this would have fallen back to getting the display interval from the sequencer settings, but we no longer look at these. - The USequencerSettings properties have been removed and in their place, a prospective data upgrade for sequences that have a fixed frame interval old 0fps that sets the play rate to the previous defaults based off the old USequencerSettings defaults. - This could end up 'changing' the display rate for sequences where the user has changed the snap interval in the settings for a particular sequence editor, but there's not much we can do about that given we don't have access to the USequencerSettings classes in UMovieScene #jira UE-55919 Change 3940277 by Andrew.Rodham Sequencer: Added ability to default frame resolutions and play rates for newly created actor sequences Change 3940378 by Andrew.Rodham Sequencer: Post move import dialog now defaults to the playback framerate of the sequence, and floors to frame numbers Change 3940559 by Andrew.Rodham Reinstated primed or recording sequence color Change 3940642 by Max.Preussner ImagePlate: Removed image plate media playback functionality Change 3940843 by Max.Preussner Core: Made TCircularQueue actually thread-safe; improved code comments Change 3940860 by Max.Chen Sequencer: Changed StructNameToKey to StructPathToKey Previously, keying a PropertyPath of [RenderTransform][Shear][X] would get trimmed to X, which doesn't map to a channel name as considered by Sequencer2dTransformTrackEditor. Instead, trim the resulting property path to [Shear][X] so that track editors can determine the desired struct path and channels to key. #jira UE-52966 Change 3941292 by Mike.Zyracki Fix for trajectories out of range not showing up. 1) If we had no key data we would pop the time, so wouldn't get the section ranges. 2) Calculating of upper bound was wrong, checking against -1 and not key == num of keys when doing algo::lower_bound. 3) No need to do the Bck-- for the bakward iterators since we fixed #2. We start now from the upper bound correctly. 4) If we had no keys (at section start,end) we would incorrectly say we were any key type, so since we draw constant keys as dashed we would do so incorrectly around section end points. #jira UE-55929 Change 3941424 by Max.Chen Curve Editor: Change Zoom to Fit to use TArrayView Change 3941498 by Max.Preussner Core: Added FMath::DivideAndRoundNearest function Change 3942097 by Matt.Hoffman Drop Frame Timecode Support for NTSC rates. Change 3942104 by Matt.Hoffman Sequence Recorder Group is no longer visible inside the World Outliner after using one. #jira 55266 Change 3942107 by Max.Chen Sequencer: Resurrect logic to find or extend an existing section when adding keys. Change 3942330 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942339 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942507 by Andrew.Rodham Sequencer: We no longer pad the time overlap threshold with a small number that is not scaled by the current zoom level - The presence of this pad was causing keys that were far apart to be grouped when zoomed in a long way Change 3942509 by Andrew.Rodham Sequencer: Only pad total view range, rather than section range as well when retrieving keys to render - This stops us from rendering keys that are within the view range, but outside the section range Change 3942512 by Andrew.Rodham Added transactions to some sequencer details customizations Change 3942513 by Andrew.Rodham Sequencer: Reinstated validation checks to UMovieSceneSection::SetStartFrame and SetEndFrame, changed erroneous uses to use SetRange Change 3942560 by Andrew.Rodham Pass by rvalue reference to appease error C2719 on Win32 ('InChannels': formal parameter with requested alignment of 8 won't be aligned) Change 3942697 by Andrew.Rodham Newly Created Level Sequences and Actor Sequences now default to 24000 fps frame resolution (+/- ~24hrs range, supporting all integer rates + 23.976) Change 3942700 by Andrew.Rodham Sequencer: Added legacy out-of-bounds errors for times that are not supported by the current legacy upgrade frame resolution Change 3942989 by Max.Preussner Core: Fixed circular queue count calculation Change 3943538 by Max.Preussner MediaAssets: Reverted workaround for procedural audio log spam in HTML5 (Actor component initialization cannot be skipped if the component is used in a level) Change 3944071 by Max.Preussner QAGame: Fixed Media Texture keeps last frame of Media when PIE ends #jira UE-53360 Change 3944292 by Max.Chen Sequencer: Added extra flags to ensure that asset initialization does not occur on template actor sequences #jira UE-56113 Change 3944364 by Max.Chen Sequencer: Prevent circular shot/master tracks. Tested adding master -> child -> master as drag and drop cinematic shot tracks and sub tracks as well as through the + button. #jira UE-56091 Change 3944422 by Max.Chen Sequence Recorder: Disable transform recording if off. #jira UE-56061 Change 3944745 by Andrew.Rodham Sequencer: Key rendering fixes - Fixed assert that occured when keys happened to reside on some times due to KeyTime + TimeOverlapThreshold - KeyTime being slightly larger TimeOverlapThreshold - Fixed keys sometimes being clipped when zoomed right in due to lack of half-frame offset - Added missing documentation to MovieSceneTimeHelpers.h #jira UE-56107 Change 3945231 by Andrew.Rodham Sequencer: Reconstruct channel proxy on Serialize to catch all cases of undo/redo, PostLoad and duplication #jira UE-56089 Change 3945301 by Andrew.Rodham Sequencer: Added safety checks during initial sequence recording to guard against applying negative or 0-sized sequence ranges #jira UE-56125 Change 3946627 by Max.Preussner Fortnite: Fixed game crashes closing editor while in PIE - Pure virtual function being called #jira UE-56144 [CL 3946896 by Max Chen in Main branch]
2018-03-14 22:09:33 -04:00
FPaintGeometry PaintGeometry = InArgs.AllottedGeometry.ToPaintGeometry();
Copying //UE4/Dev-Editor to //UE4/Dev-Main (Source: //UE4/Dev-Editor @ 3739701) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3358367 by tim.gautier Submitting resaved QAGame assets - Materials, Material Instances, Material Functions and Parameters Change 3624848 by Jamie.Dale Added a composite font for the editor (and Slate core) This is defined in FLegacySlateFontInfoCache::GetDefaultFont and uses our default Roboto fonts (and the culture specific fallback fonts), and is now used as the default font for Slate and the editor. This change removes all the manual TTF/OTF file references from the various Slate styles, as well as updating 200+ hard-coded font references to use the new default font. This fixes various rendering issues with fonts in the editor when using different languages, and clears a big barrier for removing the legacy localized fallback font support. Change 3654993 by Jamie.Dale 'Native' (now called 'FNativeFuncPtr') is now a function pointer that takes a UObject* context, rather than a UObject member function pointer This avoids ambiguity when binding a native function pointer to a type that doesn't match the context pointer, as you could end up getting a function called with an incorrect 'this' pointer Breaking changes: - Native has been renamed to FNativeFuncPtr. - The signature of a native function has changed (use the DECLARE_FUNCTION and DEFINE_FUNCTION macro pair). - Use P_THIS if you were previously using the 'this' pointer in your native function. Change 3699591 by Jamie.Dale Added support for displaying and editing numbers in a culture correct way Numeric input boxes in Slate will now display and accept numbers using the culture correct decimal separators. This is enabled by default, and can be disabled by setting "ShouldUseLocalizedNumericInput" to "False" in XEditorSettings.ini (for the editor), or XGameUserSettings.ini (for a game). #jira UE-4028 Change 3719568 by Jamie.Dale Allow platforms to override the default ICU timezone calculation Change 3622366 by Bradut.Palas #jira UE-46677 Don't allow OnLevelRemovedFromWorld to reset the transaction buffer if we're in PIE mode. Also, remove one undo barrier in case the event was triggered in PIE mode or else we block the user from undoing previous actions. Change 3622378 by Bradut.Palas #jira UE-46590 we have a general bug with detecting the size of the last column, but the clamping prevents it from appearing with the other resize modes. The Content Browser is the only one to use fixed width. The bug is that the size of the last element is incorrectly reported, after we drag back and forth. Fixed by not reading the size real time, but reading it from the SlotInfo structure that is created earlier, which holds the correct value. Change 3622552 by Jamie.Dale Added support for per-culture sub-fonts within a composite font This allows you to do things like create a Japanese specific Han sub-font to override the Han characters used in a CJK font (previously you needed to create a localized font asset to achieve this). Change 3623170 by Jamie.Dale Fixing warning Change 3624846 by Jamie.Dale Composite font cache optimizations - Converted a typically small sized map to a sorted array + binary search. - Converted the already sorted range array to use binary search. - Contiguous ranges using the same typeface are now merged in the cache. Change 3625576 by Cody.Albert We now only set the widget tree to transient instead of passing the flag through StaticDuplicateObject. This was causing instanced subobjects to be flagged with RF_DuplicateTransient, preventing them from properly being duplicated when an array of instanced subobjects was modified. #jira UE-47971 Change 3626057 by Matt.Kuhlenschmidt Expose EUmgSequencePlayMode to blueprints #jira UE-49255 Change 3626556 by Matt.Kuhlenschmidt Fix window size and position adjustment not accounting for primary monitor not being a high DPI monitor when a secondary monitor is. Causes flickering and incorrect window positioning. #jira UE-48922, UE-48957 Change 3627692 by Matt.Kuhlenschmidt PR #3977: Source control submenu menu customization (Contributed by Kryofenix) Change 3628600 by Arciel.Rekman Added AutoCheckout to FAssetRenameManager for commandlet usage. Change 3630561 by Richard.Hinckley Deprecating the version of UFunctionalTestingManager::RunAllFunctionalTests that feature an unused bool parameter, replacing with a new version without that parameter. Change 3630656 by Richard.Hinckley Compile fix. Change 3630964 by Arciel.Rekman Fix CrashReporterClient headless build. Change 3631050 by Matt.Kuhlenschmidt Back out revision 9 from //UE4/Dev-Editor/Engine/Source/Runtime/Slate/Private/Widgets/Layout/SSplitter.cpp Causes major problems with resizing splitters in editor Change 3631140 by Arciel.Rekman OpenAL: update Linux version to 1.18.1 (UETOOL-1253) - Also remove a hack for RPATH and make it use a generic RPATH mechanism. - Bulk of the change from Cengiz.Terzibas #jira UETOOL-1253 Change 3632924 by Jamie.Dale Added support for a catch-all fallback font within composite fonts This allows you to provide broad "font of last resort" behavior on a per-composite font basis, in a way that can also work with different font styles. Change 3633055 by Jamie.Dale Fixed some refresh issues in the font editor Change 3633062 by Jamie.Dale Fixed localization commands being reported as unknown Change 3633906 by Nick.Darnell UMG - You can now store refrences to widgets in the same UserWidget. If you need to create links between widgets this is valuable. Will likely introduce new ways to utilize this in the future, for now just getting it working. Change 3634070 by Arciel.Rekman Display actually used values of material overrides. Change 3634254 by Arciel.Rekman Fix ResavePackages working poorly with projects on other drives (UE-49465). #jira UE-49465 Change 3635985 by Matt.Kuhlenschmidt Fixed typo in function name used by maps PR #3975: Add tooltip to Arrays in Editor (Contributed by projectgheist) Change 3636012 by Matt.Kuhlenschmidt PR #3982: Unhide mouse cursor after using Ansel (Contributed by projectgheist) Change 3636706 by Lauren.Ridge Epic Friday: Save parameters to child or sibling instance functionality Change 3638706 by Jamie.Dale Added an improved Japanese font to the editor This is only used when displaying Japanese text when the editor is set to Japanese, and uses a font with Japanese-style unified Han characters (our default fallback font uses Chinese-style unified Han characters). #jira UE-33268 Change 3639438 by Arciel.Rekman Linux: Repaired ARM server build (UE-49635). - Made Steam* plugins compile. - Disabled OpenEXR as the libs aren't compiled (need to be done separately). (Edigrating CL 3639429 from Release-4.17 to Dev-Editor) Change 3640625 by Matt.Kuhlenschmidt PR #4012: FSlateApplication::ProcessReply use &Reply (Contributed by projectgheist) Change 3640626 by Matt.Kuhlenschmidt PR #4011: Remove space from filename (Contributed by projectgheist) Change 3640697 by Matt.Kuhlenschmidt PR #4010: PNG alpha fix (Contributed by mmdanggg2) Change 3641137 by Jamie.Dale Fixed an issue where a culture specific sub-font could produce incorrect measurements during a culture switch It would fallback to the last resort font for a frame or two while the font cache flushed. This has it update the ranges immediately. Change 3641351 by Jamie.Dale Fixing incorrect weights on the Japanese sub-font Change 3641356 by Jamie.Dale Fixing inconsistent font sizes between CoreStyle and EditorStyle Change 3641710 by Jamie.Dale Fixed pure-virtual function call on UMulticastDelegateProperty Change 3641941 by Lauren.Ridge Adding a Parameter Details tab to the Material Editor so users can change default parameter details Change 3644141 by Jamie.Dale Added an improved Korean font to the editor This is only used when displaying Korean text when the editor is set to Korean Change 3644213 by Arciel.Rekman Fix the side effects of a fix for UE-49465. - Default materials were apparently not being found while building DDC (e.g. making an installed build), now they are and we should not reset loaders on them lest we trigger HasDefaultMaterialsPostLoaded() assert later. #jira UE-49465 Change 3644777 by Jamie.Dale Reverting Korean editor font back to NanumGothic as NanumBarunGothic looked too squished Change 3644879 by tim.gautier QAGame: Optimized assets for Procedural Foliage testing - Added camera bookmarks to Stations in QA-Foliage - Renamed QA-FoliageTypeInst assets to ProcFoliage_Shape - Fixed up redirectors Change 3645109 by Matt.Kuhlenschmidt PR #3990: Git plugin: fix status of renamed, removed, missing, untracked assets (Contributed by SRombauts) Change 3645114 by Matt.Kuhlenschmidt PR #3991: Git Plugin: Fix RunDumpToFile() leaking Process handles (Contributed by SRombauts) Change 3645116 by Matt.Kuhlenschmidt PR #3996: Git Plugin: run an "UpdateStatus" at "Connect" time to populate the Source Control cache (Contributed by SRombauts) Change 3645118 by Matt.Kuhlenschmidt PR #4005: Git Plugin: Expand the size of the Button "Initialize project with Git" (Contributed by SRombauts) Change 3645876 by Arciel.Rekman Linux: fix submenus of context menu not working (UE-47639). - Change by icculus (Ryan Gordon). - QA-ClickHUD seems to be not affected by this change (it is already broken alas). #jira UE-47639 Change 3648088 by Jamie.Dale Fixed some case-sensitivity issues with FText format argument names/pins These were originally case-sensitive, but that was lost somewhere along the way. This change restores their original behavior. #jira UE-47122 Change 3648097 by Jamie.Dale Moved common macOS/iOS localization implementation into FApplePlatformMisc #jira UE-49940 Change 3650858 by Arciel.Rekman UBT: improve CodeLite project generator (UE-49400). - PR #3987 submitted by yaakuro (Cengiz Terzibas). #jira UE-49400 Change 3651231 by Arciel.Rekman Linux: default to SM5 for Vulkan. - Change by Timothee.Bessett. Change 3653627 by Matt.Kuhlenschmidt PR #4020: Source Control Submit Files now interprets Escape key as if the user clicked cancel (Contributed by SRombauts) Change 3653628 by Matt.Kuhlenschmidt PR #4022: Add New C++ Class dialog remember previously selected module. (Contributed by Koderz) Change 3653984 by Jamie.Dale Fixed some redundant string construction Change 3658528 by Joe.Graf UE-45141 - Added CMAKE_CXX_COMPILER and CMAKE_C_COMPILER settings to the generated CMake files Change 3658594 by Jamie.Dale Zipping in UAT now always uses UTF-8 encoding to prevent Unicode issues #jira UE-27263 Change 3659643 by Michael.Trepka Added a call to FCoreDelegates::ApplicationWillTerminateDelegate.Broadcast(); in Mac RequestExit() to match Windows behavior #jira UETOOL-1238 Change 3661908 by Matt.Kuhlenschmidt USD asset importing improvements Change 3664100 by Matt.Kuhlenschmidt Fix static analysis Change 3664107 by Matt.Kuhlenschmidt PR #4051: UE-49448: FPropertyChangedEvent to include TopLevelObjects (Contributed by projectgheist) Change 3664125 by Matt.Kuhlenschmidt PR #4036: Add missing GRAPHEDITOR_API (Contributed by projectgheist) Change 3664340 by Jamie.Dale PR #3648: Prevent GatherTextFromSource from failing the commandlet (Contributed by projectgheist) Change 3664403 by Jamie.Dale PR #3769: Fixes UE-46973 - Drag and Dropping Folders with Names (Contributed by LordNed) Change 3664539 by Jamie.Dale PR #3280: Added EditableText functionality (Contributed by projectgheist) Change 3665433 by Alexis.Matte When we finish importing morph target we must re-initialise the render resources since we now use GPU morph target. #jira UE-50231 Change 3666747 by Cody.Albert Change 3669280 by Jamie.Dale PR #4060: UE-50455: Verify folder is newly created before removing from tree (Contributed by projectgheist) Change 3669718 by Jamie.Dale PR #4061: Clear Content Browser folder search box on escape key (Contributed by projectgheist) Change 3670838 by Alexis.Matte Fix crash when deleting a skeletal mesh LOD and the mouse is over the "reimport" button. #jira UE-50387 Change 3671559 by Matt.Kuhlenschmidt Update SimpleUI automation test ground truth #jira UE-50325 Change 3671587 by Alexis.Matte Fix fbx importer scale not always apply. A cache array was not reset when opening a fbx file. #jira UE-50147 Change 3671730 by Jamie.Dale Added PostInitInstance to UClass to allow class types to perform construction time initialization of their instances Change 3672104 by Michael.Dupuis #jira UE-50427: Update the volume visibility list of the editor viewport when changing the procedural foliage settings Change 3674906 by Alexis.Matte Make sure the export LOD option is taken in consideration when exporting a level or the current level selection #jira UE-50248 Change 3674942 by Matt.Kuhlenschmidt Fix static analysis Change 3675401 by Alexis.Matte -fix export animation, do not truncate the last frame anymore -fix the import animation, there was a display issue in the progress bar. Also a floorToInt sometime truncate the last valid frame. We also have a better way to calculate the time increment we use to sample the fbx curves. #jira UE-48231 Change 3675990 by Alexis.Matte Remove morph target when doing a re-import, so morph will be remove if they do not exist anymore in the fbx. This is to avoid driving random vertex with old morph target. #jira UE-50391 Change 3676169 by Alexis.Matte When we re-import with dialog the option, "Override Full Name" was set to false and save with the option dialog. We now not set it to false, since it was not use during re-import. Change 3676396 by Alexis.Matte Make all LOD 0 name consistent in staticmesh editor #jira UE-49461 Change 3677730 by Cody.Albert Enable locking of Persistent Level in Levels tab #jira UE-50686 Change 3677838 by Jamie.Dale Replaced broken version of Roboto Light Change 3679619 by Alexis.Matte Integrate GitHub pr #4029 to fix import fbx chunk material assignation. #jira UE-50001 Change 3680093 by Alexis.Matte Fix the skeletal mesh so the vertex color is part of the vertex equality like with the static mesh. Change 3680931 by Arciel.Rekman SlateDialogs: show image icon for *.tga (UE-25106). - Also reworked the logic somewhat. #jira UE-25106 Change 3681966 by Yannick.Lange MaterialEditor post-process preview. #jira UE-45307 Change 3682407 by Lauren.Ridge Fixes for material editor compile errors Change 3682628 by Lauren.Ridge Content browser filters for Material Layers, Blends, and their instances Change 3682725 by Lauren.Ridge Adding filter assets and instance assets to Material Layers and Material Layer Blends. Turning Material Layering on by default Change 3682921 by Lauren.Ridge Fix for instance layers not initializing fully Change 3682954 by Lauren.Ridge Creating Material Layer Test Assets Change 3683582 by Alexis.Matte Fix static analysis build Change 3683614 by Matt.Kuhlenschmidt PR #4062: Git Plugin: Fix UE-44637: Deleting an asset is unsuccessful if the asset is marked for add (Contributed by SRombauts) Change 3684130 by Lauren.Ridge Allow visible parameter retrieval to correctly recurse through internally called functions. Previous check was intended to prevent function previews from leaving their graph through unhooked inputs, but unintentionally blocked all function inputs. Change 3686289 by Arciel.Rekman Remove the pessimization (UE-23791). Change 3686455 by Lauren.Ridge Fixes for adding/removing a layer parameter from the parent not updating the child Change 3686829 by Jamie.Dale No longer include trailing whitespace in the justification calculation for soft-wrapped lines #jira UE-50266 Change 3686970 by Lauren.Ridge Making material parameter preview work for functions as well Change 3687077 by Jamie.Dale Fixed crash using FActorDetails with the struct details panel Change 3687152 by Jamie.Dale Fixed the row structure tag not appearing in the Content Browser for Data Table assets The CDO is used to filter these tags, and the CDO was omiting that tag which caused it to be filtered for all Data Tables. #jira UE-48691 Change 3687174 by Lauren.Ridge Fix for material layer sub-parameters showing up in the default material parameters panel Change 3688100 by Lauren.Ridge Fixing static analysis error Change 3688317 by Jamie.Dale Fixed crash using the widget reflector in a cooked game Editor-style isn't available in cooked games. Core-style should be used instead for the widget reflector. Change 3689054 by Jamie.Dale Reference Viewer can now show/copy references lists for nodes with multiple objects, or multiple selected nodes #jira UE-45751 Change 3689513 by Jamie.Dale Fixed justification bug with RTL text caused by CL# 3686829 Also implemented the same alignment fix for visually left-aligned RTL text. #jira UE-50266 Change 3690231 by Lauren.Ridge Added Material Layers Parameters Preview (all editing disabled) panel to the Material Editor Change 3690234 by Lauren.Ridge Adding Material Layers Function Parameter to Static Parameter Compare Change 3690750 by Chris.Bunner Potential nullptr crash. Change 3690751 by Chris.Bunner Fixed logic on overridden vector parameter retrieval for material instances checking a function owned parameter. Change 3691010 by Jamie.Dale Fixed some clipping issues that could occur with right-aligned text FTextBlockLayout::OnPaint was passing an unscaled offset to SetVisibleRegion, and it also wasn't correctly adjusting the offset for RTL text with left-alignment (which becomes a visual right-alignment) #jira UE-46760 Change 3691091 by Jamie.Dale Renamed FTextBlockLayout to FSlateTextBlockLayout to reflect that it's a Slate specific type Change 3691134 by Alexis.Matte Make sure we instance also the collision mesh when exporting a level to fbx file. #jira UE-51066 Change 3691157 by Lauren.Ridge Fix for reset to default not refreshing sub-parameters Change 3691192 by Jamie.Dale Fixed Content Browser selection resetting when changing certain view settings #jira UE-49611 Change 3691204 by Alexis.Matte Remove fbx export file version 2010 compatibility. The 2018 fbx sdk refuse to export earlier then 2011. #jira UE-51023 Change 3692335 by Lauren.Ridge Setting displayed asset to equal filter asset if no instance has been selected Change 3692479 by Jamie.Dale Fixed whitespace Change 3692508 by Alexis.Matte Make sure we warn the user that there is nothing to export when exporting to fbx using "export selected" or "export All" from the file menu. We also prevent the export dialog to show #jira UE-50973 Change 3692639 by Jamie.Dale Translation Editor now shows stale translations as "Untranslated" Change 3692743 by Lauren.Ridge Smaller blend icons, added icon size override to FObjectEntryBox Change 3692830 by Alexis.Matte Fix linux build Change 3692894 by Lauren.Ridge Tooltip on "Parent" in material layers Change 3693141 by Jamie.Dale Removed dead code FastDecimalFormat made this redundant Change 3693580 by Jamie.Dale Added AlwaysSign number formatting option #jira UE-10310 Change 3693784 by Jamie.Dale Fixed assert extracting the number formatting rules for Arabic It uses a character outside the BMP for its plus and minus sign, so we need these to be a string to handle that. #jira UE-10310 Change 3694428 by Arciel.Rekman Linux: make directory watch request a warning so they don't block cooking. - See https://answers.unrealengine.com/questions/715206/cook-error-on-linux.html Change 3694458 by Matt.Kuhlenschmidt Made duplicate keybinding warning non-fatal Change 3694496 by Alexis.Matte fix static analysis build Change 3694515 by Jamie.Dale Added support for culture correct parsing of decimal numbers #jira UE-4028 Change 3694621 by Jamie.Dale Added a variant of FastDecimalFormat::StringToNumber that takes a string length This can be useful if you want to convert a number from within a non-null terminated string #jira UE-4028 Change 3694958 by Jamie.Dale Added a parsed length output to FastDecimalFormat::StringToNumber to allow permissive parsing You can test this rather than the result if you want to attempt to parse a number from a string that may have other data after it. This also fixes the sign-suffix causing the parsing to fail. #jira UE-4028 Change 3695083 by Alexis.Matte Optimisation of the morph target import - We now compute only the normal for the shape the tangent are not necessary - The async tasks are create when there is some available cpu thread to avoid filling the memory - When we re-import the morph target are deleted in bulk avoiding to initialize the morph map for every morphs targets #jira UE-50945 Change 3695122 by Jamie.Dale GetCultureAgnosticFormattingRules no longer returns a copy Change 3695835 by Arciel.Rekman TestPAL: greatly expanded malloc test. Change 3695918 by Arciel.Rekman TestPAL: Added thread priority test. Change 3696589 by Arciel.Rekman TestPAL: tweak thread priorities test (better readability). Change 3697345 by Alexis.Matte Fix reorder of material when importing a LOD with new material #jira UE-51135 Change 3699590 by Jamie.Dale Updated SGraphPinNum to use a numeric editor #jira UE-4028 Change 3699698 by Matt.Kuhlenschmidt Fix crash opening the level viewport context menu if the actor-component selection is out of sync #jira UE-48444 Change 3700158 by Arciel.Rekman Enable packaging for Android Vulkan on Linux (UETOOL-1232). - Change by Cengiz Terzibas Change 3700224 by Arciel.Rekman TestPAL: fixed a memory leak. Change 3700775 by Cody.Albert Don't need to initialize EnvironmentCubeMap twice. Change 3700866 by Michael.Trepka PR #3223: Remove unnecessary reallocation. (Contributed by foollbar) #jira UE-41643 Change 3701132 by Michael.Trepka Copy of CL 3671538 Fixed issues with editor's game mode in high DPI on Mac. #jira UE-49947, UE-51063 Change 3701421 by Michael.Trepka Fixed a crash in FScreenShotManager caused by an attempt to access a deleted FString in async lambda expression Change 3701495 by Alexis.Matte Fix fbx importer "import normals" option when mix with "mikkt" tangent build it was recomputing the normals instead of importing them. #jira UE-UE-51359 Change 3702982 by Jamie.Dale Cleaned up some localization setting names These now have consistent names and avoid double negatives. This also fixes needing to restart the editor when changing the "ShouldUseLocalizedPropertyNames" setting. Change 3703517 by Arciel.Rekman TestPAL: improved thread test. - Changed the counter to a normal variable to reduce possible contentions (threads used to share the counter in an early prototype, hence the usage of an atomic). Change 3704378 by Michael.Trepka Disable Zoom button on Mac if project requests a resizeable window without it. #jira UE-51335 Change 3706316 by Jamie.Dale Fixed the asset search suggestions list closing if you clicked on its scrollbar #jira UE-28885 Change 3706855 by Alexis.Matte Support importing animation that has some keys with negative time #jira UE-51305 Change 3709634 by Matt.Kuhlenschmidt PR #4146: Null access check on ForceLOD in FViewport::HighResScreenshot (Contributed by projectgheist) Change 3711085 by Michael.Trepka Reenabled UBT makefiles on Mac Change 3713049 by Josh.Engebretson The ConfigPropertyEditor now generates a unique runtime UClass. It uses the outer name on the property instead of a unique ID as a unique id would generate a new UClass every time (and these are RF_Standalone). I also removed some static qualifiers for Section and Property names which were incorrect. #jira UE-51319 Change 3713144 by Lauren.Ridge Fixing automated test error #jira UE-50982 Change 3713395 by Alexis.Matte Fix auto import mountpoint #jira UE-51524 Change 3713881 by Michael.Trepka Added -buildscw to Mac Build.sh script to build ShaderCompileWorker in addition to the requested target. Xcode passes it to the script when building non-program targets. #jira UE-31093 Change 3714197 by Michael.Trepka Send IMM key down event to the main window instead of Cocoa key window, as that's what the Slate's active window is. This solves problems with IMM not working in context menu text edit fields. #jira UE-47915 Change 3714911 by Joe.Graf Merge of cmake changes from Dev-Rendering Change 3715973 by Michael.Trepka Disable OS close button on Windows if project settings request that #jira UE-45522 Change 3716390 by Lauren.Ridge The color picker summoned when double-clicking vector3 nodes now has its intended "do not refresh until OK is clicked" behavior. #jira UE-50916 Change 3716529 by Josh.Engebretson Content Browser: Clamp "Assets to Load at Once Before Warning" so it cannot be set below 1 #jira UE-51341 Change 3716885 by Josh.Engebretson Tracking transactions such as a duplication operation can modify a selection which differs from the initial one. Added package state tracking to restore unmodified state when necessary. #jira UE-48572 Change 3716929 by Josh.Engebretson Unshelved from pending changelist '3364093': PR #3420: Exe's icons and properties (Contributed by projectgheist) Change 3716937 by Josh.Engebretson Unshelved from pending changelist '3647428': PR #4026: Fixed memory leaks for pipe writes and added data pipe writes (Contributed by Hemofektik) Change 3717002 by Josh.Engebretson Fix FileReference/string conversion Change 3717355 by Joe.Graf Fixed CMake file generation on Windows including Engine/Source/ThirdParty source Change 3718256 by Arciel.Rekman TestPAL: slight mod to the malloc test. - Touch the allocated memory to check actual resident usage. Change 3718290 by Arciel.Rekman BAFO: place descriptor after the allocation to save some VIRT memory. - We're relying on passing correct "Size" argument to Free() anyway, and this modification makes use of that extra information to save on memory for the descriptor. Change 3718508 by Michael.Trepka Fixed vsnprintf on platforms that use our custom implementation in StandardPlatformString.cpp to ignore length modifier for certain types (floating point, pointer) #jira UE-46148 Change 3718855 by Lauren.Ridge Adding content browser favorite folders. Add or remove folders from the favorite list in the folder's right-click context menu, and hide or show the favorites list in the Content Browser options. Change 3718932 by Cody.Albert Update ActorSequence plugin loading phase to PreDefault #jira UE-51612 Change 3719378 by tim.gautier QAGame: Renamed multiTxt_Justification > UMG_TextJustification. Added additional Text Widgets for testing Change 3719413 by Lauren.Ridge Resubmit of content browser favorites Change 3719803 by Yannick.Lange VREditor: Fix crash with null GEditor #jira UE-50103 Change 3721127 by tim.gautier QAGame: Fixed up a ton of redirectors within /Content and /Content/Materials - Added M_ParamDefaults and MF_ParamDefaults - Moved legacy MeshPaint materials into /Content/Materials/MeshPaint - Renamed ColorPulse assets from MatFunction_ > MF_, moved into /Content/Materials/Functions Change 3721255 by Alexis.Matte Replace skeletal mesh import option "keep overlapping vertex" by 3 float thresholds allowing the user to control the welding thresholds. #jira UE-51363 Change 3721594 by Lauren.Ridge Material Blends now have plane mesh previews in their icons. Change 3722072 by tim.gautier QAGame: Updated MF_ParamDefaults - using red channel as roughness Updated M_ParamDefaults - tweaked Scalar values Change 3722180 by Michael.Trepka Updated Xcode project generator to sort projects in the navigator by name (within folders) and also sort the list of schemes so that their order matches the order of projects in the navigator. #jira UE-25941 Change 3722220 by Michael.Trepka Fixed a problem with Xcode project generator not handling quoted preprocessor definitions correctly #jira UE-40246 Change 3722806 by Lauren.Ridge Fixing non-editor compiles Change 3722914 by Alexis.Matte Fbx importer: Add new attribute type(eSkeleton) for staticmesh socket import. #jira UE-51665 Change 3723446 by Michael.Trepka Copy of CL 3688862 from 4.18 + one more fix for a deadlock related to window resizing when using IME Don't do anything in Mac window's windowWillResize: if we're simply chaning the z order of windows. This way we avoid a rare dead lock when hiding the window. #jira UE-48257 Change 3723505 by Matt.Kuhlenschmidt Fix duplicate actors being created for USD primitives that specify a custom actor class Change 3723555 by Matt.Kuhlenschmidt Fix crash loading the gameplayabilities module #jira UE-51693 Change 3723557 by Matt.Kuhlenschmidt Fixed tooltip on viewport dpi scaling option Change 3723870 by Lauren.Ridge Fixing incorrect reset to default visibility, adding clear behavior to fields Change 3723917 by Arciel.Rekman Linux: fix compilation with glibc 2.26+ (UE-51699). - Fixes compilation on Ubuntu 17.10 among others. (Merging 3723489 from //UE4/Release-4.18/... to //UE4/Dev-Editor/...) Change 3723918 by Arciel.Rekman Linux: do not test for popcnt presence unnecessarily (UE-51677). (Merging 3723904 from //UE4/Release-4.18/... to //UE4/Dev-Editor/...) Change 3724229 by Arciel.Rekman Fix FOutputDeviceStdOutput to use printf() on Unix platforms. Change 3724261 by Arciel.Rekman TestPAL: fix thread priority test (zero the counter). Change 3724978 by Arciel.Rekman Linux: fix priority calculation. - Rlimit values are always positive, so this was completely broken when the RLIMIT_NICE is non-0. Change 3725382 by Matt.Kuhlenschmidt Guard against crashes and add more logging when actor creation fails. Looks like it could be manual garbage collections triggered before conversion is complete so those have been removed #jira UE-47464 Change 3725559 by Matt.Kuhlenschmidt Added a setting to enable/disable high dpi support in editor. This currently only functions in Windows. Moved some files around for better consistency Change 3725640 by Arciel.Rekman Fix Linux thread/process priorities. - Should also speed up SCW on Linux by deprioritizing them less. Change 3726101 by Matt.Kuhlenschmidt Fix logic bug in USD child "kind" type resolving Change 3726244 by Joe.Graf Added an option to generate a minimal set of targets for cmake files Added shader and config files to cmake file generation for searching within IDEs Change 3726506 by Arciel.Rekman Fix compile issue after DPI change. Change 3726549 by Matt.Kuhlenschmidt Remove unnecessary indirection to cached widgets in the hit test grid Change 3726660 by Arciel.Rekman Enable DPI switch on Linux. Change 3726763 by Arciel.Rekman Fix mismatching "noperspective" qualifier (UE-50807). - Pull request #4080 by TTimo. Change 3727080 by Michael.Trepka Added support for editor's EnableHighDPIAwareness setting on Mac Change 3727658 by Matt.Kuhlenschmidt Fix shutdown crash if level editor is still referenced after the object system has been gc'd #jira UE-51630 Change 3728270 by Matt.Kuhlenschmidt Remove propertyeditor dependency from editorstyle Change 3728291 by Arciel.Rekman Linux: fix for a crash on a headless system (UE-51714). - Preliminary change before merging to 4.18. Change 3728293 by Arciel.Rekman Linux: remove unneeded dependency on CEF. - Old workaround should no longer be needed, while this dependency makes UE4 depend on a ton of external libs. Change 3728524 by Michael.Trepka Copy of CL 3725570 Removed Enable Fullscreen option from editor's Window menu on Mac. Windowed fullscreen mode is currently unavailable on Mac in editor mode as supporting it properly would require it to work with multiple spaces and split screen, which we currently don't handle (requested in UE-27240) #jira UE-51709 Change 3728875 by Michael.Trepka Fixed compile error in Mac SlateOpenGLContext.cpp Change 3728880 by Matt.Kuhlenschmidt Guard against invalid worlds in thumbnail renderers Change 3728924 by Michael.Trepka Don't defer MacApplication->CloseWindow() call. This should fix a rare problem with deferred call executing during Slate's PrepassWindowAndChildren call. #jira UE-51711 Change 3729288 by Joe.Graf Added the .idea/misc.xml file generation to speed up CLion indexing Change 3729935 by Michael.Dupuis #jira UE-51722: Hide from UI invalid enum values Change 3730234 by Matt.Kuhlenschmidt Fix "Game Gets Mouse Control" setting no longer functioning and instead the mouse was always captured. #jira UE-51801 Change 3730349 by Michael.Dupuis #jira UE-51324: Clear the UI selection when rebuilding the palette, as we destroyed all items and recreate them, so selection is on invalid item Change 3730438 by Lauren.Ridge Cleaning up material layering UI functions Change 3730723 by Jamie.Dale Fixed FastDecimalFormat::StringToNumber incorrectly reporting that number-like sequences that lacked digits had been parsed as numbers #jira UE-51799 Change 3731008 by Lauren.Ridge Changing Layers and Blends from proxy assets to real assets Change 3731026 by Arciel.Rekman libelf: make elf_end() visible (UE-51843). - This repairs compilation for a case when CUDA is being used. - Also added some missing files for ARM 32-bit. Change 3731081 by Lauren.Ridge New material layer test assets Change 3731186 by Josh.Engebretson Adding camera speed scalar setting and Toolbar UI to increase range on camera speed presets #jira UE-50104 Change 3731188 by Mike.Erwin Improve responsiveness of Open Asset dialog. On large projects, there's a noticeable delay when opening and searching/filtering assets. Stopwatch measurements on my machine (seconds for ~122,000 assets): before with this CL ctrl-P 1.4 0.45 search 1.8 0.55 CollectionManagerModule was the main culprit for search/filter slowness. Open Asset delay was due to filtering out plugin content. We were doing a lot of redundant work for what is essentially a read-only operation. Change 3731682 by Arciel.Rekman UnrealEd: Allow unattended commandlets to rename/save packages. Change 3732305 by Michael.Dupuis #jira UE-48434 : Only register if the foliage type still has a valid mesh Change 3732361 by Matt.Kuhlenschmidt Fix two settings objects being created in the transient package with the same name #jira UE-51891 Change 3732895 by Josh.Engebretson https://jira.it.epicgames.net/browse/UE-51706 If a shared DDC is not being used, present a notification to the licensee with a link on how to setup a shared DDC. Adds DDC notification events for check/put and query for whether a shared DDC is in use. #jira UE-51706 Change 3733025 by Arciel.Rekman UBT: make sure new clang versions are invoked. Change 3733311 by Mike.Erwin Fix Linux compile warning from CL 3731188 It didn't like mixing && and || without parentheses. Reworked logic to do one test at a time, put cheaper tests first to avoid calls to more expensive IsPluginFolder. Change 3733658 by Josh.Engebretson Add a missing #undef LOCTEXT_NAMESPACE Change 3734003 by Arciel.Rekman Fix Windows attempting to use printf %ls and crashing at that (UE-51934). Change 3734039 by Michael.Trepka Fixed a couple of merge issues in Mac ApplicationCore Change 3734052 by Michael.Trepka One more Mac ApplicationCore fix Change 3734244 by Lauren.Ridge Fix for accessing Slate window on render thread Change 3734950 by Josh.Engebretson Fixing clang warning Change 3734978 by Jamie.Dale Relaxed enum property importing to allow valid numeric values to be imported too This was previously made more strict which caused a regression in Data Table importing #jira UE-51848 Change 3734999 by Arciel.Rekman Linux: add LTO support and more. - Adds ability to use link-time opitimization (reusing current target property bAllowLTCG). - Supports using llvm-ar and lld instead of ar/ranlib and ld. - More build information printed (and in a better organized way). - Native scripts updated to install packages with the appropriate tools on supported systems - AutoSDKs updated to require a new toolchain (already checked in). - Required disabling OpenAL due to https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=219089 Change 3735268 by Matt.Kuhlenschmidt Added support for canvas based DPI scaling. -Scene canvas is by default not scaled as this could severely impact any game using a canvas based UI -The debug canvas for stats is always dpi scaled in editor and pie. -Eliminated text scaling workaround now that the entire canvas is properly scaled -Enabled canvas scaling in cascade UI Change 3735329 by Matt.Kuhlenschmidt Fix potential crash if an asset editor has an object deleted out from under it #jira UE-51941 Change 3735502 by Arciel.Rekman Fix compile issue (bShouldUpdateScreenPercentage). Change 3735878 by Jamie.Dale Updated FString::SanitizeFloat to allow you to specify the min number of fractional digits to have in the resultant string This defaults to 1 as that was the old behavior of FString::SanitizeFloat, but can also be set to 0 to prevent adding .0 to whole numbers. Change 3735881 by Jamie.Dale JsonValue no longer stringifies whole numbers as floats Change 3735884 by Jamie.Dale Only allow enums to import integral values Change 3735912 by Josh.Engebretson Improving cook process error/warning handling including asset warning/error content browser links and manual dismiss for cook error notifications #jira UE-48131 Change 3736280 by Matt.Kuhlenschmidt Fix 0 dpi scale for canvases #jira UE-51995 Change 3736298 by Matt.Kuhlenschmidt Force focus of game viewports in vr mode Change 3736374 by Jamie.Dale Fixed some places where input chords were being used without testing that they had a valid key set #jira UE-51799 Change 3738543 by Matt.Kuhlenschmidt Better fix for edit condition crashes #jira UE-51886 Change 3738603 by Lauren.Ridge Copy over of drag and drop non-array onto array fix Change 3739701 by Chris.Babcock Fix crashlytics merge error #jira UE-52064 #ue4 #android [CL 3739980 by Matt Kuhlenschmidt in Main branch]
2017-11-06 18:22:01 -05:00
FSlateFontInfo SmallLayoutFont = FCoreStyle::GetDefaultFontStyle("Regular", 8);
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3946692) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3801826 by Max.Chen PR #4304: Level Sequence crash fix - Guarded against dereferencing null componen. (Contributed by DSDambuster) Change 3801828 by Max.Chen PR #4302: Movie Scene Visibility Template unitialised variable, causing random . (Contributed by DSDambuster) Change 3801837 by Max.Chen Sequencer: Delay spawning/construction for convert to possessable. This fixes a bug where property values would be lost when converting back and forth from possessable to spawnable. #jira UE-52400 Change 3801841 by Max.Chen Sequencer: Make spacer nodes not selectable. PR #4194: Improvements to Sequencer (Contributed by projectgheist) #jira UE-53117 #jira UE-52139 Change 3804183 by Max.Preussner MediaAssets: Added missing lock in media sound component Change 3805414 by Max.Preussner MediaAssets: Setting valid GUID when initializing media texture resource Change 3819578 by Max.Chen PR #4370: When enabling the "MovieCapture", do not turn off the Stereo-3D display. (Contributed by yehaike) #jira UE-53647 Change 3823414 by Max.Chen Curve Editor: Lock down the first and last keys in the redundant keys removal range so that they're unaffected. #jira UE-53591 Change 3826406 by Max.Chen Sequencer: Move OnStartedPlaying() to within first update in UpdateTimeCursorPosition(). This fixes an issue where setting the hud/player visibility was getting stomped on later. #jira UE-52772 Change 3827044 by Max.Preussner MediaAssets: Added sprite visualization to media sound component #jira UE-53594 Change 3827988 by Max.Preussner MediaPlayerAssets: Fixed Media Texture is not linked to Media Player when created together #jira UE-53532 Change 3828506 by Max.Preussner MediaPlayerEditor: Added attenuation visualizer for media sound components #jira UE-53594 Change 3832590 by andrew.porter EngineTest: Added a keep state check in Property Animation sequencer test Change 3833053 by andrew.porter EngineTest: Adding Hierarchical Bias test Change 3835683 by andrew.porter EngineTest: Adding UMG Animation screenshot test Change 3836076 by Max.Chen Sequencer: Fix audio volume and pitch multiplier deprecation. Change 3836230 by andrew.porter EngineTest: Adding Sequence Bone Position automation test Change 3836347 by Max.Chen Sequencer: Fixes to shot name parsing. When a shot doesn't contain a shot number, assume, [ShotName]_[TakeNumber]. When duplicating a shot, put the new shot in the same path of the original shot, so that the take numbers will increment properly. #jira UE-51868 Change 3836552 by Max.Chen Sequencer: Sub section now has a takes menu Change 3838094 by Max.Chen UMG: Fix template finish not getting called on stop. This fixes a bug where sections aren't restored when finished. #jira UE-52285 Change 3838708 by Max.Chen Sequencer: Add notification when the blend type is changed. #jira UE-54046 Change 3840295 by Max.Chen Sequencer: Fix copy/paste crash for lights #jira UE-54084 Change 3840957 by Mike.Zyracki Added Show Only Keyable and Show Only Animated to the filter list in the property editor. Added IsPropertyAnimated to IDetailKeyframe Interface which already had support for showing properties which are keyable (which is used for the key icon next to the properties.). Could have created another interface but then would have had to mimic the sequencer binding, releasing also, so this seemed best way. One issue still left is that custom built detail items currently don't store associated properties(usually) and so certain properties, in particulalry transforms, won't show up as keyable or animated. Note this also shows up with the keyable icon not showing up next to transform tracks, and other filters like Show Only Modified not working with transforms/customs. Not sure best way to tackle this. #jira UESEQ-328 Change 3841756 by Max.Chen Sequencer: Fix unbound possessable components when pasting spawnables. #jira UE-54104 Change 3843950 by andrew.porter EngineTest: Renaming LevelStreaming tests/content to LevelVisibility Change 3844082 by Mike.Zyracki Missing file for animated filter in property editor. When finding if a track is animated we need to find it but we can't easily induce the MovieTrack class for any particular property. So we don't set a class for it and just search by it's ID and name. #jira UESEQ-328 Change 3846902 by Max.Preussner ImgMedia: Fixed image media player never finished initialization if loading failed #jira UE-54247 Change 3849820 by Mike.Zyracki Reassigning deleted widgets didn't work since the menu extender mechanism needs a valid UObject in order to perform an operation on it. So to fix we replaced GetObjectBindingContextMenuExtender in WidgetBlueprint with new delegate mechanism (OnBuildCustomContextMenuForGuid) that supports FGuid in addition to UObjects which is needed to handle re-binding deleted widgets. Note that the default sequencer hacks this for replacing deleted actors in SequencerObjectBindingNode to check to see if a LevelSequence is active. We could move to this mechanism there also. #jira UE-53163 Change 3852211 by Max.Chen UMG: Indicate name of the property that is not bound. #jira UE-54350 Change 3854120 by Max.Chen Sequencer: Fix sibling folders being allowed to have the same folder name. #jira UE-54363 Change 3854627 by Max.Chen Sequencer: Step to next/previous key should work for all tracks if there aren't any selected. #jira UESEQ-391 Change 3855825 by andrew.porter EngineTest: Adding animation blending automation test Change 3855950 by andrew.porter EngineTest: Adding correct expected valuues to animation blending test Change 3856237 by Matt.Hoffman UESEQ-336 - Sequencer Track Reordering Adds the ability to re-order Master Tracks, Folders and Object Bindings within sequencer hierarchies (including UMG). Adds the ability to do a one-off sorting of the content under the old sorting behavior if the user wants to reset their layout to how it was under legacy behavior. Modifies SequencerTrackNodes, SequencerFolderNodes and SequencerObjectBindingNodes to handle CanDrop/OnDrop for above, below and ontop of. Fixes a Slate Issue that forcibly expanded a TreeviewRow if an item handled OnDrop. Slate will now only forcibly expand the row if the item says the drop happened ontop of the item, and not above or below it like it previously did. Change 3856503 by andrew.porter EngineTest: Adding automation test for using animation blueprint with blend multi node in sequencer Change 3857875 by Max.Chen Sequencer: Assign the sequence id after the template is compiled. #jira UE-54462 Change 3858344 by Max.Chen Sequencer: Prevent Goto and Transform boxes from overlapping by allowing them to be visible at the same time in an autosized horizontal box. Also, added close button to the goto box. PR #4425: Prevent Goto and Transform boxes from overlapping in Sequencer ... (Contributed by projectgheist) #jira UE-54210 Change 3860566 by andrew.porter MediaFrameworkTest: Set the option to index 0 for the audio and video track list by default Change 3860654 by andrew.porter EngineTest: Enabling Camera Cut + FOV test Change 3860981 by andrew.porter EngineTest: Updating skeletal mesh tests with a delay after set playback position Change 3861256 by Max.Chen Sequencer: Add all bindings if none selected. #jira-54440 Change 3862154 by Andrew.Rodham Added TimeManagement module Change 3862424 by andrew.porter EngineTest: Turned on the test Bone Positions with Blend Multi Node Change 3862573 by andrew.porter EngineTest: Adding test to compare bone positions in a sequence that is blending an animation that is using an AnimBP Change 3865117 by Max.Chen Sequencer: Stop auto scroll on mouse release of movement. #jira UE-31212 Change 3865303 by Max.Chen Sequencer: Add drag and drop transactions #jira UE-54662 Change 3865304 by Max.Chen Sequencer: Fix crash when an actor factory is not found. Change 3865361 by Max.Chen Sequencer: Don't change the camera/shot lock button when popping out of a sequence. #jira UE-54665 Change 3865412 by Max.Chen Sequencer: Determine whether a transform track is for a camera by using the spawned object or template #jira UE-54666 Change 3865685 by Max.Chen Sequencer: Clear autoscrub offset when stopping autoscroll #jira UE-31212 Change 3865886 by Max.Chen Sequence Recorder: Log an error if the number of frames changes while recording. This can happen if the skeleton changes while recording. #jira UE-48715 Change 3866925 by Andrew.Porter MediaFrameworkTest: Changing the current PNG test video image sequence to 1024 x 576 Change 3867705 by andrew.porter QAGame: Adding Audio Sort Sequence to dev folder Change 3867890 by andrew.porter QAGame: Adding a sequence for testing a sorting crash to my dev folder Change 3872628 by Max.Chen Movie Scene Capture: Split delay before warmup into split delay before shot warmup so that there's separate controls for when the movie scene capture warmups up vs. shot boundaries. Change 3873131 by Matt.Hoffman UE-54732 - Crash reordering a folder with a track. This was caused by folders being the only type of track to check if someone was putting a parent track into a child track. Object Binding tracks and Tracks now check as well so that you can't use the above/below drop targets to add parents as children. This also fixed a typo in the localization keys. #jira UE-54732 Change 3873301 by Mike.Zyracki Added ability to support continous euler angle changes when changing rotations, in particularly with the rotation gizmo's. To do this we effectively added a form an of 'euler filter'(https://en.wikipedia.org/wiki/Euler_filter) to find the closest euler angle to the current euler angle. Three functions were added to FRotator to make this possible, one to get the euler angle that's has the same rotation as it, one to get the difference between two euler angles via Manhattan distance and a third using the previous two to choose a Rotator value that's closest to it. We then use these functions before calling UComponent::SetRelativeRotation to make sure we use the correct Euler after the Quat conversion. We also no longer limit(bound) the euler angles to -180,180, which is obviously necessary to avoid flips. I also changed how we caluclate yaw and roll when pitch is -90 or 90 to make it the standard approach of zeroing out roll and just setting yaw. Main reasons are the previous implementation had precision issues so things like 180, 90, -180 would show up due to numbers being nearly zero but negative,(this would break any smooth interpolations), and this facilitates having a 'gimbal' rotation mode (like Maya, Blender etc..) if we ever want that also. If needed we could keep the previous implementation but would need to add some FMath::IsNearlyZero checks, with less performance. Note we only do this special filtering when applying delta's to actors or components in the editors, which then call UComponent::SetRelativeRotationExact, which is a new function to foces the RelativeRotation to be equal to the new rotation. This allows us to store un-nomalized Rotators at the cost that the RotationCache may be broken. We didn't change any of the other UComponent functions that set rotations (via Quats or Transforms) so they will still be bounded and unwound. In SetInternalWorldLocationAndRotation we only set the rotation if the rotation has changed, which fixes the rotation getting changed and re-normalized if just translate happens. In TransformTrackEditor, we correclty use the bUndwing flag and in MovieScene3DTransformSection there was an un-needed winding check there, it will be unwound earlier if needed, which happens if Sequence Recording is happening. Max we should talk about what to do about this . Note the euler angle drag via the widget is still bound to 0-360. I think we should just unbound that now since the rotations value are now unbound. This review now includes fixes suggested by Zak. #jira UE-UE-22228 Change 3873483 by Matt.Hoffman Sequencer Tracks can now be inserted above the spacer at the bottom of the tree. #jira UE-54706 Change 3873899 by Max.Chen Sequencer: Add section selection throbbing Change 3873908 by Max.Chen Movie Scene Capture: Added logging per frame Change 3873924 by Matt.Hoffman Adds the ability to store Sequence Recorder setups into profiles that stay with the map and can be re-loaded later. Profiles store the Actor Recordings so the settings for each actor should carry with them. #jira UESEQ-339 Change 3874726 by Matt.Hoffman Disable drag-and-drop targets on spacers that come between rows in Sequencer. This prevents extra drag/drop targets showing up between each row. #jira UE-54706 Change 3874862 by Matt.Hoffman Audio Track no longer gets reordered when adding sub-audio tracks, as sub-tracks are no longer counted towards the sorting order index when normalizing indexes. #jira UE-54727 Change 3875905 by Matt.Hoffman Disable Fade Track UI if a fade track already exists in the sequence. #jira UESEQ-393 Change 3876163 by Max.Chen Sequencer: Swap the camera object to the camera component's owner if it's not the same. #jira UE-54874 Change 3876971 by Andrew.Porter EngineTest: Moved Media Player Seek test to new folder. Also enabled the test with new ground truth image. Change 3877040 by Max.Chen Cine Camera: Split camera properties to two groups, "Camera Options" and "Camera Settings". The cine camera now hides properties in the "Camera Settings" group so that properties like bConstrainAspectRatio (in the "Camera Options" group) can be visible. #jira UE-54192 Change 3877763 by Max.Chen Curve Editor: Fix curve changed on end drag so that only curves that had keys/tangents that were changed receive notification, otherwise all loaded curves were getting notified that they were changed. #jira UE-54951 Change 3878234 by Matt.Hoffman Disable "Drop Below" targets for Sequencer Tree nodes to prevent a confusing UX issue where dropping underneath a Object Binding Node puts it after the object binding node but the UI looks like it's inserting it inside the Object Binding node. #jira UE-54743 Change 3879359 by Mike.Zyracki If a track is inactive we dim it a bit which seems to be the UE4 way to show inactive or disabled state. We changed the active logic so that all subtracks need to be inactive for the track to also be inactive(instead of all active for active). This conforms to how the active state actually works, e.g if you have two sections and only one is active the track is still active above it. #jira UESEQ-388 Change 3879462 by Max.Chen Sequencer: Allow dragging onto a particular row which would move out any overlapping sections to make space for the newly created section. Newly created sections are now selected and throbbed to draw attention to themselves. #jira UE-54664 Change 3879464 by Max.Chen Sequencer: Fixed overlapping ranges being inserted into the evaluation field during compilation - The issue was that track segments that had been combined with adjacent segments (due to them being identical) would potentially cause a subsequently compiled frame to overlap with a range that had already been inserted into the evaluation field. - The insertion code previously asserted that only minor overlaps were catered for (due to fp rounding errors) and assumed that a supplied range could not entirely contain any other range in the field. - The solution is to supply the insertion time along with the range to know exactly where the data should live in the field, and crop the range to the maximum allowable space between adjacent ranges. #jira UE-54922 Change 3879590 by Matt.Hoffman Items that are now added to the Sequencer via the "+Track" menu will be selected after being added. Items can now be added inside of folders instead of just to the root level. #jira UE-27397 Change 3879612 by Mike.Zyracki Display Nodes with no children are always active. #jira UESEQ-388 Change 3879730 by Matt.Hoffman Sequence Recorder's actor recording groups now remove items from the group when removed via the UI. #jira UESEQ-339 Change 3880256 by Mike.Zyracki Fix issue with inactive display with folders and other track nodes. #jira UESEQ-388 Change 3883491 by Max.Chen Fix issue where tick is skipped due to last ticked pose isn't cleared after AnimInstance changes. Copy from Release-4.19 #jira UE-51323 Change 3883603 by Max.Chen Movie Scene Capture: Add option toggle disable screen percentage. By default this is on (no change in current behavior). #jira UE-51898 Change 3885074 by Max.Preussner MediaCompositing: Resetting media texture & freeing resource on section end; removed dead code Change 3887220 by Max.Preussner MediaCompositing: Defaulted media section duration to 1 sec (since we do not know the actual duration in most cases) Change 3887478 by Matt.Hoffman Sequences now show [Inactive] in their title bars when they're disabled. This helps communicate why a sequence isn't being evaluated. #jira UE-51469 Change 3888985 by Max.Chen Movie Scene Capture: Clamp HDR Compression Quality between 0 and 1. #jira UE-55136 Change 3893519 by Max.Chen Sequence Recorder: Clarified tooltip for bRecordNearbySpawnedActors - spawned actors will still be recorded if they match the ActorFilter. #jira UE-55238 Change 3893546 by Max.Chen Sequence Recorder: If a selected actor already has a recording, add a blank recording. #jira UE-55239 Change 3894044 by Max.Preussner MediaCompositing: Added support for seeking into a media section Change 3894310 by andrew.porter MediaFrameworkTest: Adding Img media sources for 1080 and 2160 ravent test content Change 3894426 by Max.Preussner MediaAssets: Letting media textures with AutoClear retain their clear color when player is reset Change 3895717 by Max.Chen Sequencer: Null checks to prevent crash when saving the default state of a spawnable #jira UE-55304 Change 3897388 by Max.Chen Sequencer: Don't update current time to be within the view range when stepping into a sequence. #jira UE-55322 Change 3897452 by Max.Chen Audio: Fix crash when trying to record audio without any active capture devices. Log warning if the number of input channels is not 1 or 2. #jira UE-55223 Change 3897619 by Max.Preussner MediaCompositing: Removed commented out code Change 3898072 by Max.Chen Sequencer: Override the animation asset in the player state if it doesn't match the animation asset that's being evaluated. #jira UE-55328 Change 3898272 by Max.Preussner MediaPlayerEditor: Made slate brush constants static Change 3898704 by Max.Chen Sequencer: Skip if the binding id's sequence can't be found. #jira UE-55337 Change 3899855 by Max.Preussner MediaCompositingEditor: Added cache state visualization to media track Change 3900300 by Max.Preussner MediaCompositingEditor: Added loop indicators to media sections Change 3900694 by Max.Preussner ImfMedia: Looping cache only when player is looping Change 3900892 by Max.Preussner Stats: Added stats category for media framework Change 3900954 by Max.Preussner MediaCompositing: Don't evaluate at the end of media section Change 3901348 by Max.Preussner Core: Replaced TLruCache autos for better readability Change 3901655 by Max.Preussner ImgMedia: Added more perf stats to EXR reader Change 3901972 by Max.Preussner MediaAssets: Added getter for media player in media sound components Change 3902233 by Max.Preussner MediaAssets: Enabling media textures to receive samples right after player is assigned Change 3902238 by Max.Preussner MediaCompositing: Working around init/shutdown idiosyncracies in sequencer Change 3904045 by Max.Chen Sequencer: Fix copy/paste crash. Only process UMovieSceneCopyableBinding and objects that can be spawned by the movie scene spawn register. #jira UE-55314 Change 3905605 by Max.Chen Sequencer: Restrict spawnables from being created if they have a ClassWithin that UMovieScene is not a child of. #jira UE-55429 Change 3906550 by Max.Chen Sequencer: Add media track icon #jira UE-55480 Change 3907101 by Max.Chen Sequence Recorder: Fix bugs related to not recording a level sequence. There were certain assumptions that creating a level sequence meant that sequence recording was in progress. This is not always the case - the recorders can record animation assets and not create a level sequence. Changed the notion of IsRecording() to having at least one actor recording that is recording. Countdown timer, recording displays, etc should function if IsRecording() and not based on whether a level sequence is created. #jira UE-55485 Change 3907247 by Max.Chen Sequence Recorder: Fix crash not removing PrepareToCleanseEditorObject delegate. Repros when opening sequence recorder, closing it, and then opening or creating a level. Change 3910343 by Max.Preussner Core: Added async helper for executing functions on a given thread pool Change 3910346 by Max.Preussner ImgMedia: Added separate thread pools for loading/decoding and deleting image frames Change 3910829 by Max.Preussner Profiler: Increased visible range of profiler graph Change 3910841 by Max.Preussner MediaCompositing: Displaying asset name instead of full media source path in media section Change 3910870 by Max.Preussner ImgMedia: Using deallocation thread pool only in debug builds Change 3919642 by Max.Chen Sequence Recorder: Clarify active tooltip #jira UE-55661 Change 3919660 by Max.Chen Sequencer: Sequence template source signatures are now also compared to catch the case where a sub-sequence asset has been saved but not modified - The following sequence of events exposes this issue: - Create a master sequence with a single shot that spawns a cube - Add this sequence to a level and set it to auto-play - Save everything and restart - Resave just the inner shot asset without opening it - PIE - The inner shot never spawns its cube because its template was wiped on save, but its signature never changed. Since the master sequence previously didn't check the template source signature, it ends up trying to evaluate an empty template. #jira UE-55626 #jira UE-55490 Change 3921825 by Max.Chen Sequencer: "Run Construction Script in Sequencer" is off by default for blueprints but on for Sequencer. This allows the content author to switch it on for specific blueprints and sequencer will be default, run those with construction scripts enabled. Change 3922232 by Max.Chen Sequence Recorder: Reset countdelay on stop. #jira UE-55755 Change 3922306 by Max.Chen Sequence Recorder: Don't automatically mark transforms to be recorded by sequence recorder. Instead, log a warning if the user toggled it off to warn that the resulting animation might not match gameplay. #jira UE-55758 Change 3922912 by Max.Chen Sequence Recorder: Fix refresh next sequence name #jira UE-55757 Change 3927654 by Max.Chen Movie Scene Capture: Added format mapping for the name of the current camera #jira UE-55769 PR #4537 Change 3927658 by Max.Chen Sequencer: Added fbx property mapping for "FocusDistance" to "FocusSettings.ManualFocusDistance" #jira UE-55782 Change 3932022 by Max.Chen Sequencer: Add import animation track section to next available row index. #jira UE-55892 Change 3933919 by Max.Chen Sequencer: Jump to playback start frame and not 0 to start playback for recording. #jira UE-55933 Change 3934307 by Andrew.Rodham Sequencer: Add template signature that is re-generated every time the base template is regenerated, which invalidates evaluation fields This fixes an issue where the same sequence is instantiated multiple times in a sequence. If the source sequence was saved, its template would be wiped, which would invalidate the template ID When an instance tries to evaluate the master template, it would only invalidate a range in the evaluation field that was the hull of any invalid sub sequences overlapping the current time, potentially leaving invalid data in the evaluation field at positions later (or earlier) on in the sequence When the sub template was re-generated, it receives the same SequenceSignature as it had before (because the sequence hasn't actually changed), which causes the stale evaluation field data to fail the IsDirty check (because the sequence is the same as it thought, but the *template* has changed) This has been addressed be adding a signature to templates themselves, and checking both the template signature and sequence signature as a part of the IsDirty check. This ensures that we regenerate if either the template, or the sequence have changed. #jira UE-55934 Change 3936327 by Andrew.Rodham Sequencer: Removed increment when trimming right UMovieSceneSection::TrimSection already explicity assigns an exclusive bound to the time passed in. The new behavior means we can trim a section to the right, and insert another section without changing the time to create adjacent sections. #jira UE-42652 Change 3936328 by Andrew.Rodham Fixed KeyFrameManipulator assignment operators and copy/move constructors - These types are potentially self-referential so cannot use default constructors/assignment Change 3936330 by Andrew.Rodham Converted UMGSequencePlayer to use frames internally #jira UE-54878 Change 3936726 by Max.Chen Sequencer: Set track node as the parent of the key area node. The key area switcher needs the object binding id from the parent object binding node. Without this, the binding to the external value fails. #jira UE-55931 Change 3936775 by Max.Chen Sequencer: Should stop or loop should compare DurationFrames with Current Time from StartTime. The bug is that if you set 30 warmup frames in movie rendering for a range of 0-100, the FrameRange will be starting at -30 and have a duration of 130. Without this fix, the playback will continue until frame 130, rather than 100. #jira UE-55933 Change 3936935 by Matt.Hoffman Easing Curves are now represented in Play Rate resolution instead of internal resolution. #jira UE-55937 Change 3937069 by Matt.Hoffman Users can toggle if the is infinite on each side, limited by which tracks support infinite ranges. #jira UE-55891 Change 3937516 by Max.Preussner ImgMedia: Added support for single-threaded platforms #jira UE-55986 Change 3937826 by Max.Preussner MediaAssets: Disabling media sound components on HTML5 if AudioMixer is not enabled Change 3937997 by Max.Chen Curve Editor: Add Zoom to Fit Curves so that selected curves from Sequencer can be focused on. Tested that undo doesn't re-zoom. #jira UE-55935 Change 3938000 by Max.Chen Sequencer: Stop all sounds before generating audio waveforms. #jira UE-55951 Change 3938376 by Max.Preussner XGEController: Disabled XGE Controller in single-threaded apps to prevent crash Change 3938444 by Max.Preussner Core: Added async support for single-threaded applications Change 3938445 by Max.Preussner Networking: Added support for single-threaded applications in UDP socket sender/receiver Change 3938447 by Max.Preussner Messaging: Added support for single-threaded applications Change 3939432 by Max.Chen Sequence Recorder: Append command list to global level editor actions so that shortcuts are accessible in level editor. #jira UE-55798 Change 3940229 by Andrew.Rodham Added prospective display rate upgrade to UMovieScene::PostLoad - There was previously some very odd behaviour that would assign the fixed frame interval only when a sub sequence was focused in SSequencer. This meant that many sequences could have a frame interval of 0 set in the data. - Under the old method of snap interval display this would have fallen back to getting the display interval from the sequencer settings, but we no longer look at these. - The USequencerSettings properties have been removed and in their place, a prospective data upgrade for sequences that have a fixed frame interval old 0fps that sets the play rate to the previous defaults based off the old USequencerSettings defaults. - This could end up 'changing' the display rate for sequences where the user has changed the snap interval in the settings for a particular sequence editor, but there's not much we can do about that given we don't have access to the USequencerSettings classes in UMovieScene #jira UE-55919 Change 3940277 by Andrew.Rodham Sequencer: Added ability to default frame resolutions and play rates for newly created actor sequences Change 3940378 by Andrew.Rodham Sequencer: Post move import dialog now defaults to the playback framerate of the sequence, and floors to frame numbers Change 3940559 by Andrew.Rodham Reinstated primed or recording sequence color Change 3940642 by Max.Preussner ImagePlate: Removed image plate media playback functionality Change 3940843 by Max.Preussner Core: Made TCircularQueue actually thread-safe; improved code comments Change 3940860 by Max.Chen Sequencer: Changed StructNameToKey to StructPathToKey Previously, keying a PropertyPath of [RenderTransform][Shear][X] would get trimmed to X, which doesn't map to a channel name as considered by Sequencer2dTransformTrackEditor. Instead, trim the resulting property path to [Shear][X] so that track editors can determine the desired struct path and channels to key. #jira UE-52966 Change 3941292 by Mike.Zyracki Fix for trajectories out of range not showing up. 1) If we had no key data we would pop the time, so wouldn't get the section ranges. 2) Calculating of upper bound was wrong, checking against -1 and not key == num of keys when doing algo::lower_bound. 3) No need to do the Bck-- for the bakward iterators since we fixed #2. We start now from the upper bound correctly. 4) If we had no keys (at section start,end) we would incorrectly say we were any key type, so since we draw constant keys as dashed we would do so incorrectly around section end points. #jira UE-55929 Change 3941424 by Max.Chen Curve Editor: Change Zoom to Fit to use TArrayView Change 3941498 by Max.Preussner Core: Added FMath::DivideAndRoundNearest function Change 3942097 by Matt.Hoffman Drop Frame Timecode Support for NTSC rates. Change 3942104 by Matt.Hoffman Sequence Recorder Group is no longer visible inside the World Outliner after using one. #jira 55266 Change 3942107 by Max.Chen Sequencer: Resurrect logic to find or extend an existing section when adding keys. Change 3942330 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942339 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942507 by Andrew.Rodham Sequencer: We no longer pad the time overlap threshold with a small number that is not scaled by the current zoom level - The presence of this pad was causing keys that were far apart to be grouped when zoomed in a long way Change 3942509 by Andrew.Rodham Sequencer: Only pad total view range, rather than section range as well when retrieving keys to render - This stops us from rendering keys that are within the view range, but outside the section range Change 3942512 by Andrew.Rodham Added transactions to some sequencer details customizations Change 3942513 by Andrew.Rodham Sequencer: Reinstated validation checks to UMovieSceneSection::SetStartFrame and SetEndFrame, changed erroneous uses to use SetRange Change 3942560 by Andrew.Rodham Pass by rvalue reference to appease error C2719 on Win32 ('InChannels': formal parameter with requested alignment of 8 won't be aligned) Change 3942697 by Andrew.Rodham Newly Created Level Sequences and Actor Sequences now default to 24000 fps frame resolution (+/- ~24hrs range, supporting all integer rates + 23.976) Change 3942700 by Andrew.Rodham Sequencer: Added legacy out-of-bounds errors for times that are not supported by the current legacy upgrade frame resolution Change 3942989 by Max.Preussner Core: Fixed circular queue count calculation Change 3943538 by Max.Preussner MediaAssets: Reverted workaround for procedural audio log spam in HTML5 (Actor component initialization cannot be skipped if the component is used in a level) Change 3944071 by Max.Preussner QAGame: Fixed Media Texture keeps last frame of Media when PIE ends #jira UE-53360 Change 3944292 by Max.Chen Sequencer: Added extra flags to ensure that asset initialization does not occur on template actor sequences #jira UE-56113 Change 3944364 by Max.Chen Sequencer: Prevent circular shot/master tracks. Tested adding master -> child -> master as drag and drop cinematic shot tracks and sub tracks as well as through the + button. #jira UE-56091 Change 3944422 by Max.Chen Sequence Recorder: Disable transform recording if off. #jira UE-56061 Change 3944745 by Andrew.Rodham Sequencer: Key rendering fixes - Fixed assert that occured when keys happened to reside on some times due to KeyTime + TimeOverlapThreshold - KeyTime being slightly larger TimeOverlapThreshold - Fixed keys sometimes being clipped when zoomed right in due to lack of half-frame offset - Added missing documentation to MovieSceneTimeHelpers.h #jira UE-56107 Change 3945231 by Andrew.Rodham Sequencer: Reconstruct channel proxy on Serialize to catch all cases of undo/redo, PostLoad and duplication #jira UE-56089 Change 3945301 by Andrew.Rodham Sequencer: Added safety checks during initial sequence recording to guard against applying negative or 0-sized sequence ranges #jira UE-56125 Change 3946627 by Max.Preussner Fortnite: Fixed game crashes closing editor while in PIE - Pure virtual function being called #jira UE-56144 [CL 3946896 by Max Chen in Main branch]
2018-03-14 22:09:33 -04:00
double MajorGridStep = 0.0;
int32 MinorDivisions = 0;
if (!Sequencer->GetGridMetrics(InArgs.AllottedGeometry.Size.X, ViewRange.GetLowerBoundValue(), ViewRange.GetUpperBoundValue(), MajorGridStep, MinorDivisions))
{
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3946692) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3801826 by Max.Chen PR #4304: Level Sequence crash fix - Guarded against dereferencing null componen. (Contributed by DSDambuster) Change 3801828 by Max.Chen PR #4302: Movie Scene Visibility Template unitialised variable, causing random . (Contributed by DSDambuster) Change 3801837 by Max.Chen Sequencer: Delay spawning/construction for convert to possessable. This fixes a bug where property values would be lost when converting back and forth from possessable to spawnable. #jira UE-52400 Change 3801841 by Max.Chen Sequencer: Make spacer nodes not selectable. PR #4194: Improvements to Sequencer (Contributed by projectgheist) #jira UE-53117 #jira UE-52139 Change 3804183 by Max.Preussner MediaAssets: Added missing lock in media sound component Change 3805414 by Max.Preussner MediaAssets: Setting valid GUID when initializing media texture resource Change 3819578 by Max.Chen PR #4370: When enabling the "MovieCapture", do not turn off the Stereo-3D display. (Contributed by yehaike) #jira UE-53647 Change 3823414 by Max.Chen Curve Editor: Lock down the first and last keys in the redundant keys removal range so that they're unaffected. #jira UE-53591 Change 3826406 by Max.Chen Sequencer: Move OnStartedPlaying() to within first update in UpdateTimeCursorPosition(). This fixes an issue where setting the hud/player visibility was getting stomped on later. #jira UE-52772 Change 3827044 by Max.Preussner MediaAssets: Added sprite visualization to media sound component #jira UE-53594 Change 3827988 by Max.Preussner MediaPlayerAssets: Fixed Media Texture is not linked to Media Player when created together #jira UE-53532 Change 3828506 by Max.Preussner MediaPlayerEditor: Added attenuation visualizer for media sound components #jira UE-53594 Change 3832590 by andrew.porter EngineTest: Added a keep state check in Property Animation sequencer test Change 3833053 by andrew.porter EngineTest: Adding Hierarchical Bias test Change 3835683 by andrew.porter EngineTest: Adding UMG Animation screenshot test Change 3836076 by Max.Chen Sequencer: Fix audio volume and pitch multiplier deprecation. Change 3836230 by andrew.porter EngineTest: Adding Sequence Bone Position automation test Change 3836347 by Max.Chen Sequencer: Fixes to shot name parsing. When a shot doesn't contain a shot number, assume, [ShotName]_[TakeNumber]. When duplicating a shot, put the new shot in the same path of the original shot, so that the take numbers will increment properly. #jira UE-51868 Change 3836552 by Max.Chen Sequencer: Sub section now has a takes menu Change 3838094 by Max.Chen UMG: Fix template finish not getting called on stop. This fixes a bug where sections aren't restored when finished. #jira UE-52285 Change 3838708 by Max.Chen Sequencer: Add notification when the blend type is changed. #jira UE-54046 Change 3840295 by Max.Chen Sequencer: Fix copy/paste crash for lights #jira UE-54084 Change 3840957 by Mike.Zyracki Added Show Only Keyable and Show Only Animated to the filter list in the property editor. Added IsPropertyAnimated to IDetailKeyframe Interface which already had support for showing properties which are keyable (which is used for the key icon next to the properties.). Could have created another interface but then would have had to mimic the sequencer binding, releasing also, so this seemed best way. One issue still left is that custom built detail items currently don't store associated properties(usually) and so certain properties, in particulalry transforms, won't show up as keyable or animated. Note this also shows up with the keyable icon not showing up next to transform tracks, and other filters like Show Only Modified not working with transforms/customs. Not sure best way to tackle this. #jira UESEQ-328 Change 3841756 by Max.Chen Sequencer: Fix unbound possessable components when pasting spawnables. #jira UE-54104 Change 3843950 by andrew.porter EngineTest: Renaming LevelStreaming tests/content to LevelVisibility Change 3844082 by Mike.Zyracki Missing file for animated filter in property editor. When finding if a track is animated we need to find it but we can't easily induce the MovieTrack class for any particular property. So we don't set a class for it and just search by it's ID and name. #jira UESEQ-328 Change 3846902 by Max.Preussner ImgMedia: Fixed image media player never finished initialization if loading failed #jira UE-54247 Change 3849820 by Mike.Zyracki Reassigning deleted widgets didn't work since the menu extender mechanism needs a valid UObject in order to perform an operation on it. So to fix we replaced GetObjectBindingContextMenuExtender in WidgetBlueprint with new delegate mechanism (OnBuildCustomContextMenuForGuid) that supports FGuid in addition to UObjects which is needed to handle re-binding deleted widgets. Note that the default sequencer hacks this for replacing deleted actors in SequencerObjectBindingNode to check to see if a LevelSequence is active. We could move to this mechanism there also. #jira UE-53163 Change 3852211 by Max.Chen UMG: Indicate name of the property that is not bound. #jira UE-54350 Change 3854120 by Max.Chen Sequencer: Fix sibling folders being allowed to have the same folder name. #jira UE-54363 Change 3854627 by Max.Chen Sequencer: Step to next/previous key should work for all tracks if there aren't any selected. #jira UESEQ-391 Change 3855825 by andrew.porter EngineTest: Adding animation blending automation test Change 3855950 by andrew.porter EngineTest: Adding correct expected valuues to animation blending test Change 3856237 by Matt.Hoffman UESEQ-336 - Sequencer Track Reordering Adds the ability to re-order Master Tracks, Folders and Object Bindings within sequencer hierarchies (including UMG). Adds the ability to do a one-off sorting of the content under the old sorting behavior if the user wants to reset their layout to how it was under legacy behavior. Modifies SequencerTrackNodes, SequencerFolderNodes and SequencerObjectBindingNodes to handle CanDrop/OnDrop for above, below and ontop of. Fixes a Slate Issue that forcibly expanded a TreeviewRow if an item handled OnDrop. Slate will now only forcibly expand the row if the item says the drop happened ontop of the item, and not above or below it like it previously did. Change 3856503 by andrew.porter EngineTest: Adding automation test for using animation blueprint with blend multi node in sequencer Change 3857875 by Max.Chen Sequencer: Assign the sequence id after the template is compiled. #jira UE-54462 Change 3858344 by Max.Chen Sequencer: Prevent Goto and Transform boxes from overlapping by allowing them to be visible at the same time in an autosized horizontal box. Also, added close button to the goto box. PR #4425: Prevent Goto and Transform boxes from overlapping in Sequencer ... (Contributed by projectgheist) #jira UE-54210 Change 3860566 by andrew.porter MediaFrameworkTest: Set the option to index 0 for the audio and video track list by default Change 3860654 by andrew.porter EngineTest: Enabling Camera Cut + FOV test Change 3860981 by andrew.porter EngineTest: Updating skeletal mesh tests with a delay after set playback position Change 3861256 by Max.Chen Sequencer: Add all bindings if none selected. #jira-54440 Change 3862154 by Andrew.Rodham Added TimeManagement module Change 3862424 by andrew.porter EngineTest: Turned on the test Bone Positions with Blend Multi Node Change 3862573 by andrew.porter EngineTest: Adding test to compare bone positions in a sequence that is blending an animation that is using an AnimBP Change 3865117 by Max.Chen Sequencer: Stop auto scroll on mouse release of movement. #jira UE-31212 Change 3865303 by Max.Chen Sequencer: Add drag and drop transactions #jira UE-54662 Change 3865304 by Max.Chen Sequencer: Fix crash when an actor factory is not found. Change 3865361 by Max.Chen Sequencer: Don't change the camera/shot lock button when popping out of a sequence. #jira UE-54665 Change 3865412 by Max.Chen Sequencer: Determine whether a transform track is for a camera by using the spawned object or template #jira UE-54666 Change 3865685 by Max.Chen Sequencer: Clear autoscrub offset when stopping autoscroll #jira UE-31212 Change 3865886 by Max.Chen Sequence Recorder: Log an error if the number of frames changes while recording. This can happen if the skeleton changes while recording. #jira UE-48715 Change 3866925 by Andrew.Porter MediaFrameworkTest: Changing the current PNG test video image sequence to 1024 x 576 Change 3867705 by andrew.porter QAGame: Adding Audio Sort Sequence to dev folder Change 3867890 by andrew.porter QAGame: Adding a sequence for testing a sorting crash to my dev folder Change 3872628 by Max.Chen Movie Scene Capture: Split delay before warmup into split delay before shot warmup so that there's separate controls for when the movie scene capture warmups up vs. shot boundaries. Change 3873131 by Matt.Hoffman UE-54732 - Crash reordering a folder with a track. This was caused by folders being the only type of track to check if someone was putting a parent track into a child track. Object Binding tracks and Tracks now check as well so that you can't use the above/below drop targets to add parents as children. This also fixed a typo in the localization keys. #jira UE-54732 Change 3873301 by Mike.Zyracki Added ability to support continous euler angle changes when changing rotations, in particularly with the rotation gizmo's. To do this we effectively added a form an of 'euler filter'(https://en.wikipedia.org/wiki/Euler_filter) to find the closest euler angle to the current euler angle. Three functions were added to FRotator to make this possible, one to get the euler angle that's has the same rotation as it, one to get the difference between two euler angles via Manhattan distance and a third using the previous two to choose a Rotator value that's closest to it. We then use these functions before calling UComponent::SetRelativeRotation to make sure we use the correct Euler after the Quat conversion. We also no longer limit(bound) the euler angles to -180,180, which is obviously necessary to avoid flips. I also changed how we caluclate yaw and roll when pitch is -90 or 90 to make it the standard approach of zeroing out roll and just setting yaw. Main reasons are the previous implementation had precision issues so things like 180, 90, -180 would show up due to numbers being nearly zero but negative,(this would break any smooth interpolations), and this facilitates having a 'gimbal' rotation mode (like Maya, Blender etc..) if we ever want that also. If needed we could keep the previous implementation but would need to add some FMath::IsNearlyZero checks, with less performance. Note we only do this special filtering when applying delta's to actors or components in the editors, which then call UComponent::SetRelativeRotationExact, which is a new function to foces the RelativeRotation to be equal to the new rotation. This allows us to store un-nomalized Rotators at the cost that the RotationCache may be broken. We didn't change any of the other UComponent functions that set rotations (via Quats or Transforms) so they will still be bounded and unwound. In SetInternalWorldLocationAndRotation we only set the rotation if the rotation has changed, which fixes the rotation getting changed and re-normalized if just translate happens. In TransformTrackEditor, we correclty use the bUndwing flag and in MovieScene3DTransformSection there was an un-needed winding check there, it will be unwound earlier if needed, which happens if Sequence Recording is happening. Max we should talk about what to do about this . Note the euler angle drag via the widget is still bound to 0-360. I think we should just unbound that now since the rotations value are now unbound. This review now includes fixes suggested by Zak. #jira UE-UE-22228 Change 3873483 by Matt.Hoffman Sequencer Tracks can now be inserted above the spacer at the bottom of the tree. #jira UE-54706 Change 3873899 by Max.Chen Sequencer: Add section selection throbbing Change 3873908 by Max.Chen Movie Scene Capture: Added logging per frame Change 3873924 by Matt.Hoffman Adds the ability to store Sequence Recorder setups into profiles that stay with the map and can be re-loaded later. Profiles store the Actor Recordings so the settings for each actor should carry with them. #jira UESEQ-339 Change 3874726 by Matt.Hoffman Disable drag-and-drop targets on spacers that come between rows in Sequencer. This prevents extra drag/drop targets showing up between each row. #jira UE-54706 Change 3874862 by Matt.Hoffman Audio Track no longer gets reordered when adding sub-audio tracks, as sub-tracks are no longer counted towards the sorting order index when normalizing indexes. #jira UE-54727 Change 3875905 by Matt.Hoffman Disable Fade Track UI if a fade track already exists in the sequence. #jira UESEQ-393 Change 3876163 by Max.Chen Sequencer: Swap the camera object to the camera component's owner if it's not the same. #jira UE-54874 Change 3876971 by Andrew.Porter EngineTest: Moved Media Player Seek test to new folder. Also enabled the test with new ground truth image. Change 3877040 by Max.Chen Cine Camera: Split camera properties to two groups, "Camera Options" and "Camera Settings". The cine camera now hides properties in the "Camera Settings" group so that properties like bConstrainAspectRatio (in the "Camera Options" group) can be visible. #jira UE-54192 Change 3877763 by Max.Chen Curve Editor: Fix curve changed on end drag so that only curves that had keys/tangents that were changed receive notification, otherwise all loaded curves were getting notified that they were changed. #jira UE-54951 Change 3878234 by Matt.Hoffman Disable "Drop Below" targets for Sequencer Tree nodes to prevent a confusing UX issue where dropping underneath a Object Binding Node puts it after the object binding node but the UI looks like it's inserting it inside the Object Binding node. #jira UE-54743 Change 3879359 by Mike.Zyracki If a track is inactive we dim it a bit which seems to be the UE4 way to show inactive or disabled state. We changed the active logic so that all subtracks need to be inactive for the track to also be inactive(instead of all active for active). This conforms to how the active state actually works, e.g if you have two sections and only one is active the track is still active above it. #jira UESEQ-388 Change 3879462 by Max.Chen Sequencer: Allow dragging onto a particular row which would move out any overlapping sections to make space for the newly created section. Newly created sections are now selected and throbbed to draw attention to themselves. #jira UE-54664 Change 3879464 by Max.Chen Sequencer: Fixed overlapping ranges being inserted into the evaluation field during compilation - The issue was that track segments that had been combined with adjacent segments (due to them being identical) would potentially cause a subsequently compiled frame to overlap with a range that had already been inserted into the evaluation field. - The insertion code previously asserted that only minor overlaps were catered for (due to fp rounding errors) and assumed that a supplied range could not entirely contain any other range in the field. - The solution is to supply the insertion time along with the range to know exactly where the data should live in the field, and crop the range to the maximum allowable space between adjacent ranges. #jira UE-54922 Change 3879590 by Matt.Hoffman Items that are now added to the Sequencer via the "+Track" menu will be selected after being added. Items can now be added inside of folders instead of just to the root level. #jira UE-27397 Change 3879612 by Mike.Zyracki Display Nodes with no children are always active. #jira UESEQ-388 Change 3879730 by Matt.Hoffman Sequence Recorder's actor recording groups now remove items from the group when removed via the UI. #jira UESEQ-339 Change 3880256 by Mike.Zyracki Fix issue with inactive display with folders and other track nodes. #jira UESEQ-388 Change 3883491 by Max.Chen Fix issue where tick is skipped due to last ticked pose isn't cleared after AnimInstance changes. Copy from Release-4.19 #jira UE-51323 Change 3883603 by Max.Chen Movie Scene Capture: Add option toggle disable screen percentage. By default this is on (no change in current behavior). #jira UE-51898 Change 3885074 by Max.Preussner MediaCompositing: Resetting media texture & freeing resource on section end; removed dead code Change 3887220 by Max.Preussner MediaCompositing: Defaulted media section duration to 1 sec (since we do not know the actual duration in most cases) Change 3887478 by Matt.Hoffman Sequences now show [Inactive] in their title bars when they're disabled. This helps communicate why a sequence isn't being evaluated. #jira UE-51469 Change 3888985 by Max.Chen Movie Scene Capture: Clamp HDR Compression Quality between 0 and 1. #jira UE-55136 Change 3893519 by Max.Chen Sequence Recorder: Clarified tooltip for bRecordNearbySpawnedActors - spawned actors will still be recorded if they match the ActorFilter. #jira UE-55238 Change 3893546 by Max.Chen Sequence Recorder: If a selected actor already has a recording, add a blank recording. #jira UE-55239 Change 3894044 by Max.Preussner MediaCompositing: Added support for seeking into a media section Change 3894310 by andrew.porter MediaFrameworkTest: Adding Img media sources for 1080 and 2160 ravent test content Change 3894426 by Max.Preussner MediaAssets: Letting media textures with AutoClear retain their clear color when player is reset Change 3895717 by Max.Chen Sequencer: Null checks to prevent crash when saving the default state of a spawnable #jira UE-55304 Change 3897388 by Max.Chen Sequencer: Don't update current time to be within the view range when stepping into a sequence. #jira UE-55322 Change 3897452 by Max.Chen Audio: Fix crash when trying to record audio without any active capture devices. Log warning if the number of input channels is not 1 or 2. #jira UE-55223 Change 3897619 by Max.Preussner MediaCompositing: Removed commented out code Change 3898072 by Max.Chen Sequencer: Override the animation asset in the player state if it doesn't match the animation asset that's being evaluated. #jira UE-55328 Change 3898272 by Max.Preussner MediaPlayerEditor: Made slate brush constants static Change 3898704 by Max.Chen Sequencer: Skip if the binding id's sequence can't be found. #jira UE-55337 Change 3899855 by Max.Preussner MediaCompositingEditor: Added cache state visualization to media track Change 3900300 by Max.Preussner MediaCompositingEditor: Added loop indicators to media sections Change 3900694 by Max.Preussner ImfMedia: Looping cache only when player is looping Change 3900892 by Max.Preussner Stats: Added stats category for media framework Change 3900954 by Max.Preussner MediaCompositing: Don't evaluate at the end of media section Change 3901348 by Max.Preussner Core: Replaced TLruCache autos for better readability Change 3901655 by Max.Preussner ImgMedia: Added more perf stats to EXR reader Change 3901972 by Max.Preussner MediaAssets: Added getter for media player in media sound components Change 3902233 by Max.Preussner MediaAssets: Enabling media textures to receive samples right after player is assigned Change 3902238 by Max.Preussner MediaCompositing: Working around init/shutdown idiosyncracies in sequencer Change 3904045 by Max.Chen Sequencer: Fix copy/paste crash. Only process UMovieSceneCopyableBinding and objects that can be spawned by the movie scene spawn register. #jira UE-55314 Change 3905605 by Max.Chen Sequencer: Restrict spawnables from being created if they have a ClassWithin that UMovieScene is not a child of. #jira UE-55429 Change 3906550 by Max.Chen Sequencer: Add media track icon #jira UE-55480 Change 3907101 by Max.Chen Sequence Recorder: Fix bugs related to not recording a level sequence. There were certain assumptions that creating a level sequence meant that sequence recording was in progress. This is not always the case - the recorders can record animation assets and not create a level sequence. Changed the notion of IsRecording() to having at least one actor recording that is recording. Countdown timer, recording displays, etc should function if IsRecording() and not based on whether a level sequence is created. #jira UE-55485 Change 3907247 by Max.Chen Sequence Recorder: Fix crash not removing PrepareToCleanseEditorObject delegate. Repros when opening sequence recorder, closing it, and then opening or creating a level. Change 3910343 by Max.Preussner Core: Added async helper for executing functions on a given thread pool Change 3910346 by Max.Preussner ImgMedia: Added separate thread pools for loading/decoding and deleting image frames Change 3910829 by Max.Preussner Profiler: Increased visible range of profiler graph Change 3910841 by Max.Preussner MediaCompositing: Displaying asset name instead of full media source path in media section Change 3910870 by Max.Preussner ImgMedia: Using deallocation thread pool only in debug builds Change 3919642 by Max.Chen Sequence Recorder: Clarify active tooltip #jira UE-55661 Change 3919660 by Max.Chen Sequencer: Sequence template source signatures are now also compared to catch the case where a sub-sequence asset has been saved but not modified - The following sequence of events exposes this issue: - Create a master sequence with a single shot that spawns a cube - Add this sequence to a level and set it to auto-play - Save everything and restart - Resave just the inner shot asset without opening it - PIE - The inner shot never spawns its cube because its template was wiped on save, but its signature never changed. Since the master sequence previously didn't check the template source signature, it ends up trying to evaluate an empty template. #jira UE-55626 #jira UE-55490 Change 3921825 by Max.Chen Sequencer: "Run Construction Script in Sequencer" is off by default for blueprints but on for Sequencer. This allows the content author to switch it on for specific blueprints and sequencer will be default, run those with construction scripts enabled. Change 3922232 by Max.Chen Sequence Recorder: Reset countdelay on stop. #jira UE-55755 Change 3922306 by Max.Chen Sequence Recorder: Don't automatically mark transforms to be recorded by sequence recorder. Instead, log a warning if the user toggled it off to warn that the resulting animation might not match gameplay. #jira UE-55758 Change 3922912 by Max.Chen Sequence Recorder: Fix refresh next sequence name #jira UE-55757 Change 3927654 by Max.Chen Movie Scene Capture: Added format mapping for the name of the current camera #jira UE-55769 PR #4537 Change 3927658 by Max.Chen Sequencer: Added fbx property mapping for "FocusDistance" to "FocusSettings.ManualFocusDistance" #jira UE-55782 Change 3932022 by Max.Chen Sequencer: Add import animation track section to next available row index. #jira UE-55892 Change 3933919 by Max.Chen Sequencer: Jump to playback start frame and not 0 to start playback for recording. #jira UE-55933 Change 3934307 by Andrew.Rodham Sequencer: Add template signature that is re-generated every time the base template is regenerated, which invalidates evaluation fields This fixes an issue where the same sequence is instantiated multiple times in a sequence. If the source sequence was saved, its template would be wiped, which would invalidate the template ID When an instance tries to evaluate the master template, it would only invalidate a range in the evaluation field that was the hull of any invalid sub sequences overlapping the current time, potentially leaving invalid data in the evaluation field at positions later (or earlier) on in the sequence When the sub template was re-generated, it receives the same SequenceSignature as it had before (because the sequence hasn't actually changed), which causes the stale evaluation field data to fail the IsDirty check (because the sequence is the same as it thought, but the *template* has changed) This has been addressed be adding a signature to templates themselves, and checking both the template signature and sequence signature as a part of the IsDirty check. This ensures that we regenerate if either the template, or the sequence have changed. #jira UE-55934 Change 3936327 by Andrew.Rodham Sequencer: Removed increment when trimming right UMovieSceneSection::TrimSection already explicity assigns an exclusive bound to the time passed in. The new behavior means we can trim a section to the right, and insert another section without changing the time to create adjacent sections. #jira UE-42652 Change 3936328 by Andrew.Rodham Fixed KeyFrameManipulator assignment operators and copy/move constructors - These types are potentially self-referential so cannot use default constructors/assignment Change 3936330 by Andrew.Rodham Converted UMGSequencePlayer to use frames internally #jira UE-54878 Change 3936726 by Max.Chen Sequencer: Set track node as the parent of the key area node. The key area switcher needs the object binding id from the parent object binding node. Without this, the binding to the external value fails. #jira UE-55931 Change 3936775 by Max.Chen Sequencer: Should stop or loop should compare DurationFrames with Current Time from StartTime. The bug is that if you set 30 warmup frames in movie rendering for a range of 0-100, the FrameRange will be starting at -30 and have a duration of 130. Without this fix, the playback will continue until frame 130, rather than 100. #jira UE-55933 Change 3936935 by Matt.Hoffman Easing Curves are now represented in Play Rate resolution instead of internal resolution. #jira UE-55937 Change 3937069 by Matt.Hoffman Users can toggle if the is infinite on each side, limited by which tracks support infinite ranges. #jira UE-55891 Change 3937516 by Max.Preussner ImgMedia: Added support for single-threaded platforms #jira UE-55986 Change 3937826 by Max.Preussner MediaAssets: Disabling media sound components on HTML5 if AudioMixer is not enabled Change 3937997 by Max.Chen Curve Editor: Add Zoom to Fit Curves so that selected curves from Sequencer can be focused on. Tested that undo doesn't re-zoom. #jira UE-55935 Change 3938000 by Max.Chen Sequencer: Stop all sounds before generating audio waveforms. #jira UE-55951 Change 3938376 by Max.Preussner XGEController: Disabled XGE Controller in single-threaded apps to prevent crash Change 3938444 by Max.Preussner Core: Added async support for single-threaded applications Change 3938445 by Max.Preussner Networking: Added support for single-threaded applications in UDP socket sender/receiver Change 3938447 by Max.Preussner Messaging: Added support for single-threaded applications Change 3939432 by Max.Chen Sequence Recorder: Append command list to global level editor actions so that shortcuts are accessible in level editor. #jira UE-55798 Change 3940229 by Andrew.Rodham Added prospective display rate upgrade to UMovieScene::PostLoad - There was previously some very odd behaviour that would assign the fixed frame interval only when a sub sequence was focused in SSequencer. This meant that many sequences could have a frame interval of 0 set in the data. - Under the old method of snap interval display this would have fallen back to getting the display interval from the sequencer settings, but we no longer look at these. - The USequencerSettings properties have been removed and in their place, a prospective data upgrade for sequences that have a fixed frame interval old 0fps that sets the play rate to the previous defaults based off the old USequencerSettings defaults. - This could end up 'changing' the display rate for sequences where the user has changed the snap interval in the settings for a particular sequence editor, but there's not much we can do about that given we don't have access to the USequencerSettings classes in UMovieScene #jira UE-55919 Change 3940277 by Andrew.Rodham Sequencer: Added ability to default frame resolutions and play rates for newly created actor sequences Change 3940378 by Andrew.Rodham Sequencer: Post move import dialog now defaults to the playback framerate of the sequence, and floors to frame numbers Change 3940559 by Andrew.Rodham Reinstated primed or recording sequence color Change 3940642 by Max.Preussner ImagePlate: Removed image plate media playback functionality Change 3940843 by Max.Preussner Core: Made TCircularQueue actually thread-safe; improved code comments Change 3940860 by Max.Chen Sequencer: Changed StructNameToKey to StructPathToKey Previously, keying a PropertyPath of [RenderTransform][Shear][X] would get trimmed to X, which doesn't map to a channel name as considered by Sequencer2dTransformTrackEditor. Instead, trim the resulting property path to [Shear][X] so that track editors can determine the desired struct path and channels to key. #jira UE-52966 Change 3941292 by Mike.Zyracki Fix for trajectories out of range not showing up. 1) If we had no key data we would pop the time, so wouldn't get the section ranges. 2) Calculating of upper bound was wrong, checking against -1 and not key == num of keys when doing algo::lower_bound. 3) No need to do the Bck-- for the bakward iterators since we fixed #2. We start now from the upper bound correctly. 4) If we had no keys (at section start,end) we would incorrectly say we were any key type, so since we draw constant keys as dashed we would do so incorrectly around section end points. #jira UE-55929 Change 3941424 by Max.Chen Curve Editor: Change Zoom to Fit to use TArrayView Change 3941498 by Max.Preussner Core: Added FMath::DivideAndRoundNearest function Change 3942097 by Matt.Hoffman Drop Frame Timecode Support for NTSC rates. Change 3942104 by Matt.Hoffman Sequence Recorder Group is no longer visible inside the World Outliner after using one. #jira 55266 Change 3942107 by Max.Chen Sequencer: Resurrect logic to find or extend an existing section when adding keys. Change 3942330 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942339 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942507 by Andrew.Rodham Sequencer: We no longer pad the time overlap threshold with a small number that is not scaled by the current zoom level - The presence of this pad was causing keys that were far apart to be grouped when zoomed in a long way Change 3942509 by Andrew.Rodham Sequencer: Only pad total view range, rather than section range as well when retrieving keys to render - This stops us from rendering keys that are within the view range, but outside the section range Change 3942512 by Andrew.Rodham Added transactions to some sequencer details customizations Change 3942513 by Andrew.Rodham Sequencer: Reinstated validation checks to UMovieSceneSection::SetStartFrame and SetEndFrame, changed erroneous uses to use SetRange Change 3942560 by Andrew.Rodham Pass by rvalue reference to appease error C2719 on Win32 ('InChannels': formal parameter with requested alignment of 8 won't be aligned) Change 3942697 by Andrew.Rodham Newly Created Level Sequences and Actor Sequences now default to 24000 fps frame resolution (+/- ~24hrs range, supporting all integer rates + 23.976) Change 3942700 by Andrew.Rodham Sequencer: Added legacy out-of-bounds errors for times that are not supported by the current legacy upgrade frame resolution Change 3942989 by Max.Preussner Core: Fixed circular queue count calculation Change 3943538 by Max.Preussner MediaAssets: Reverted workaround for procedural audio log spam in HTML5 (Actor component initialization cannot be skipped if the component is used in a level) Change 3944071 by Max.Preussner QAGame: Fixed Media Texture keeps last frame of Media when PIE ends #jira UE-53360 Change 3944292 by Max.Chen Sequencer: Added extra flags to ensure that asset initialization does not occur on template actor sequences #jira UE-56113 Change 3944364 by Max.Chen Sequencer: Prevent circular shot/master tracks. Tested adding master -> child -> master as drag and drop cinematic shot tracks and sub tracks as well as through the + button. #jira UE-56091 Change 3944422 by Max.Chen Sequence Recorder: Disable transform recording if off. #jira UE-56061 Change 3944745 by Andrew.Rodham Sequencer: Key rendering fixes - Fixed assert that occured when keys happened to reside on some times due to KeyTime + TimeOverlapThreshold - KeyTime being slightly larger TimeOverlapThreshold - Fixed keys sometimes being clipped when zoomed right in due to lack of half-frame offset - Added missing documentation to MovieSceneTimeHelpers.h #jira UE-56107 Change 3945231 by Andrew.Rodham Sequencer: Reconstruct channel proxy on Serialize to catch all cases of undo/redo, PostLoad and duplication #jira UE-56089 Change 3945301 by Andrew.Rodham Sequencer: Added safety checks during initial sequence recording to guard against applying negative or 0-sized sequence ranges #jira UE-56125 Change 3946627 by Max.Preussner Fortnite: Fixed game crashes closing editor while in PIE - Pure virtual function being called #jira UE-56144 [CL 3946896 by Max Chen in Main branch]
2018-03-14 22:09:33 -04:00
return;
}
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3946692) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3801826 by Max.Chen PR #4304: Level Sequence crash fix - Guarded against dereferencing null componen. (Contributed by DSDambuster) Change 3801828 by Max.Chen PR #4302: Movie Scene Visibility Template unitialised variable, causing random . (Contributed by DSDambuster) Change 3801837 by Max.Chen Sequencer: Delay spawning/construction for convert to possessable. This fixes a bug where property values would be lost when converting back and forth from possessable to spawnable. #jira UE-52400 Change 3801841 by Max.Chen Sequencer: Make spacer nodes not selectable. PR #4194: Improvements to Sequencer (Contributed by projectgheist) #jira UE-53117 #jira UE-52139 Change 3804183 by Max.Preussner MediaAssets: Added missing lock in media sound component Change 3805414 by Max.Preussner MediaAssets: Setting valid GUID when initializing media texture resource Change 3819578 by Max.Chen PR #4370: When enabling the "MovieCapture", do not turn off the Stereo-3D display. (Contributed by yehaike) #jira UE-53647 Change 3823414 by Max.Chen Curve Editor: Lock down the first and last keys in the redundant keys removal range so that they're unaffected. #jira UE-53591 Change 3826406 by Max.Chen Sequencer: Move OnStartedPlaying() to within first update in UpdateTimeCursorPosition(). This fixes an issue where setting the hud/player visibility was getting stomped on later. #jira UE-52772 Change 3827044 by Max.Preussner MediaAssets: Added sprite visualization to media sound component #jira UE-53594 Change 3827988 by Max.Preussner MediaPlayerAssets: Fixed Media Texture is not linked to Media Player when created together #jira UE-53532 Change 3828506 by Max.Preussner MediaPlayerEditor: Added attenuation visualizer for media sound components #jira UE-53594 Change 3832590 by andrew.porter EngineTest: Added a keep state check in Property Animation sequencer test Change 3833053 by andrew.porter EngineTest: Adding Hierarchical Bias test Change 3835683 by andrew.porter EngineTest: Adding UMG Animation screenshot test Change 3836076 by Max.Chen Sequencer: Fix audio volume and pitch multiplier deprecation. Change 3836230 by andrew.porter EngineTest: Adding Sequence Bone Position automation test Change 3836347 by Max.Chen Sequencer: Fixes to shot name parsing. When a shot doesn't contain a shot number, assume, [ShotName]_[TakeNumber]. When duplicating a shot, put the new shot in the same path of the original shot, so that the take numbers will increment properly. #jira UE-51868 Change 3836552 by Max.Chen Sequencer: Sub section now has a takes menu Change 3838094 by Max.Chen UMG: Fix template finish not getting called on stop. This fixes a bug where sections aren't restored when finished. #jira UE-52285 Change 3838708 by Max.Chen Sequencer: Add notification when the blend type is changed. #jira UE-54046 Change 3840295 by Max.Chen Sequencer: Fix copy/paste crash for lights #jira UE-54084 Change 3840957 by Mike.Zyracki Added Show Only Keyable and Show Only Animated to the filter list in the property editor. Added IsPropertyAnimated to IDetailKeyframe Interface which already had support for showing properties which are keyable (which is used for the key icon next to the properties.). Could have created another interface but then would have had to mimic the sequencer binding, releasing also, so this seemed best way. One issue still left is that custom built detail items currently don't store associated properties(usually) and so certain properties, in particulalry transforms, won't show up as keyable or animated. Note this also shows up with the keyable icon not showing up next to transform tracks, and other filters like Show Only Modified not working with transforms/customs. Not sure best way to tackle this. #jira UESEQ-328 Change 3841756 by Max.Chen Sequencer: Fix unbound possessable components when pasting spawnables. #jira UE-54104 Change 3843950 by andrew.porter EngineTest: Renaming LevelStreaming tests/content to LevelVisibility Change 3844082 by Mike.Zyracki Missing file for animated filter in property editor. When finding if a track is animated we need to find it but we can't easily induce the MovieTrack class for any particular property. So we don't set a class for it and just search by it's ID and name. #jira UESEQ-328 Change 3846902 by Max.Preussner ImgMedia: Fixed image media player never finished initialization if loading failed #jira UE-54247 Change 3849820 by Mike.Zyracki Reassigning deleted widgets didn't work since the menu extender mechanism needs a valid UObject in order to perform an operation on it. So to fix we replaced GetObjectBindingContextMenuExtender in WidgetBlueprint with new delegate mechanism (OnBuildCustomContextMenuForGuid) that supports FGuid in addition to UObjects which is needed to handle re-binding deleted widgets. Note that the default sequencer hacks this for replacing deleted actors in SequencerObjectBindingNode to check to see if a LevelSequence is active. We could move to this mechanism there also. #jira UE-53163 Change 3852211 by Max.Chen UMG: Indicate name of the property that is not bound. #jira UE-54350 Change 3854120 by Max.Chen Sequencer: Fix sibling folders being allowed to have the same folder name. #jira UE-54363 Change 3854627 by Max.Chen Sequencer: Step to next/previous key should work for all tracks if there aren't any selected. #jira UESEQ-391 Change 3855825 by andrew.porter EngineTest: Adding animation blending automation test Change 3855950 by andrew.porter EngineTest: Adding correct expected valuues to animation blending test Change 3856237 by Matt.Hoffman UESEQ-336 - Sequencer Track Reordering Adds the ability to re-order Master Tracks, Folders and Object Bindings within sequencer hierarchies (including UMG). Adds the ability to do a one-off sorting of the content under the old sorting behavior if the user wants to reset their layout to how it was under legacy behavior. Modifies SequencerTrackNodes, SequencerFolderNodes and SequencerObjectBindingNodes to handle CanDrop/OnDrop for above, below and ontop of. Fixes a Slate Issue that forcibly expanded a TreeviewRow if an item handled OnDrop. Slate will now only forcibly expand the row if the item says the drop happened ontop of the item, and not above or below it like it previously did. Change 3856503 by andrew.porter EngineTest: Adding automation test for using animation blueprint with blend multi node in sequencer Change 3857875 by Max.Chen Sequencer: Assign the sequence id after the template is compiled. #jira UE-54462 Change 3858344 by Max.Chen Sequencer: Prevent Goto and Transform boxes from overlapping by allowing them to be visible at the same time in an autosized horizontal box. Also, added close button to the goto box. PR #4425: Prevent Goto and Transform boxes from overlapping in Sequencer ... (Contributed by projectgheist) #jira UE-54210 Change 3860566 by andrew.porter MediaFrameworkTest: Set the option to index 0 for the audio and video track list by default Change 3860654 by andrew.porter EngineTest: Enabling Camera Cut + FOV test Change 3860981 by andrew.porter EngineTest: Updating skeletal mesh tests with a delay after set playback position Change 3861256 by Max.Chen Sequencer: Add all bindings if none selected. #jira-54440 Change 3862154 by Andrew.Rodham Added TimeManagement module Change 3862424 by andrew.porter EngineTest: Turned on the test Bone Positions with Blend Multi Node Change 3862573 by andrew.porter EngineTest: Adding test to compare bone positions in a sequence that is blending an animation that is using an AnimBP Change 3865117 by Max.Chen Sequencer: Stop auto scroll on mouse release of movement. #jira UE-31212 Change 3865303 by Max.Chen Sequencer: Add drag and drop transactions #jira UE-54662 Change 3865304 by Max.Chen Sequencer: Fix crash when an actor factory is not found. Change 3865361 by Max.Chen Sequencer: Don't change the camera/shot lock button when popping out of a sequence. #jira UE-54665 Change 3865412 by Max.Chen Sequencer: Determine whether a transform track is for a camera by using the spawned object or template #jira UE-54666 Change 3865685 by Max.Chen Sequencer: Clear autoscrub offset when stopping autoscroll #jira UE-31212 Change 3865886 by Max.Chen Sequence Recorder: Log an error if the number of frames changes while recording. This can happen if the skeleton changes while recording. #jira UE-48715 Change 3866925 by Andrew.Porter MediaFrameworkTest: Changing the current PNG test video image sequence to 1024 x 576 Change 3867705 by andrew.porter QAGame: Adding Audio Sort Sequence to dev folder Change 3867890 by andrew.porter QAGame: Adding a sequence for testing a sorting crash to my dev folder Change 3872628 by Max.Chen Movie Scene Capture: Split delay before warmup into split delay before shot warmup so that there's separate controls for when the movie scene capture warmups up vs. shot boundaries. Change 3873131 by Matt.Hoffman UE-54732 - Crash reordering a folder with a track. This was caused by folders being the only type of track to check if someone was putting a parent track into a child track. Object Binding tracks and Tracks now check as well so that you can't use the above/below drop targets to add parents as children. This also fixed a typo in the localization keys. #jira UE-54732 Change 3873301 by Mike.Zyracki Added ability to support continous euler angle changes when changing rotations, in particularly with the rotation gizmo's. To do this we effectively added a form an of 'euler filter'(https://en.wikipedia.org/wiki/Euler_filter) to find the closest euler angle to the current euler angle. Three functions were added to FRotator to make this possible, one to get the euler angle that's has the same rotation as it, one to get the difference between two euler angles via Manhattan distance and a third using the previous two to choose a Rotator value that's closest to it. We then use these functions before calling UComponent::SetRelativeRotation to make sure we use the correct Euler after the Quat conversion. We also no longer limit(bound) the euler angles to -180,180, which is obviously necessary to avoid flips. I also changed how we caluclate yaw and roll when pitch is -90 or 90 to make it the standard approach of zeroing out roll and just setting yaw. Main reasons are the previous implementation had precision issues so things like 180, 90, -180 would show up due to numbers being nearly zero but negative,(this would break any smooth interpolations), and this facilitates having a 'gimbal' rotation mode (like Maya, Blender etc..) if we ever want that also. If needed we could keep the previous implementation but would need to add some FMath::IsNearlyZero checks, with less performance. Note we only do this special filtering when applying delta's to actors or components in the editors, which then call UComponent::SetRelativeRotationExact, which is a new function to foces the RelativeRotation to be equal to the new rotation. This allows us to store un-nomalized Rotators at the cost that the RotationCache may be broken. We didn't change any of the other UComponent functions that set rotations (via Quats or Transforms) so they will still be bounded and unwound. In SetInternalWorldLocationAndRotation we only set the rotation if the rotation has changed, which fixes the rotation getting changed and re-normalized if just translate happens. In TransformTrackEditor, we correclty use the bUndwing flag and in MovieScene3DTransformSection there was an un-needed winding check there, it will be unwound earlier if needed, which happens if Sequence Recording is happening. Max we should talk about what to do about this . Note the euler angle drag via the widget is still bound to 0-360. I think we should just unbound that now since the rotations value are now unbound. This review now includes fixes suggested by Zak. #jira UE-UE-22228 Change 3873483 by Matt.Hoffman Sequencer Tracks can now be inserted above the spacer at the bottom of the tree. #jira UE-54706 Change 3873899 by Max.Chen Sequencer: Add section selection throbbing Change 3873908 by Max.Chen Movie Scene Capture: Added logging per frame Change 3873924 by Matt.Hoffman Adds the ability to store Sequence Recorder setups into profiles that stay with the map and can be re-loaded later. Profiles store the Actor Recordings so the settings for each actor should carry with them. #jira UESEQ-339 Change 3874726 by Matt.Hoffman Disable drag-and-drop targets on spacers that come between rows in Sequencer. This prevents extra drag/drop targets showing up between each row. #jira UE-54706 Change 3874862 by Matt.Hoffman Audio Track no longer gets reordered when adding sub-audio tracks, as sub-tracks are no longer counted towards the sorting order index when normalizing indexes. #jira UE-54727 Change 3875905 by Matt.Hoffman Disable Fade Track UI if a fade track already exists in the sequence. #jira UESEQ-393 Change 3876163 by Max.Chen Sequencer: Swap the camera object to the camera component's owner if it's not the same. #jira UE-54874 Change 3876971 by Andrew.Porter EngineTest: Moved Media Player Seek test to new folder. Also enabled the test with new ground truth image. Change 3877040 by Max.Chen Cine Camera: Split camera properties to two groups, "Camera Options" and "Camera Settings". The cine camera now hides properties in the "Camera Settings" group so that properties like bConstrainAspectRatio (in the "Camera Options" group) can be visible. #jira UE-54192 Change 3877763 by Max.Chen Curve Editor: Fix curve changed on end drag so that only curves that had keys/tangents that were changed receive notification, otherwise all loaded curves were getting notified that they were changed. #jira UE-54951 Change 3878234 by Matt.Hoffman Disable "Drop Below" targets for Sequencer Tree nodes to prevent a confusing UX issue where dropping underneath a Object Binding Node puts it after the object binding node but the UI looks like it's inserting it inside the Object Binding node. #jira UE-54743 Change 3879359 by Mike.Zyracki If a track is inactive we dim it a bit which seems to be the UE4 way to show inactive or disabled state. We changed the active logic so that all subtracks need to be inactive for the track to also be inactive(instead of all active for active). This conforms to how the active state actually works, e.g if you have two sections and only one is active the track is still active above it. #jira UESEQ-388 Change 3879462 by Max.Chen Sequencer: Allow dragging onto a particular row which would move out any overlapping sections to make space for the newly created section. Newly created sections are now selected and throbbed to draw attention to themselves. #jira UE-54664 Change 3879464 by Max.Chen Sequencer: Fixed overlapping ranges being inserted into the evaluation field during compilation - The issue was that track segments that had been combined with adjacent segments (due to them being identical) would potentially cause a subsequently compiled frame to overlap with a range that had already been inserted into the evaluation field. - The insertion code previously asserted that only minor overlaps were catered for (due to fp rounding errors) and assumed that a supplied range could not entirely contain any other range in the field. - The solution is to supply the insertion time along with the range to know exactly where the data should live in the field, and crop the range to the maximum allowable space between adjacent ranges. #jira UE-54922 Change 3879590 by Matt.Hoffman Items that are now added to the Sequencer via the "+Track" menu will be selected after being added. Items can now be added inside of folders instead of just to the root level. #jira UE-27397 Change 3879612 by Mike.Zyracki Display Nodes with no children are always active. #jira UESEQ-388 Change 3879730 by Matt.Hoffman Sequence Recorder's actor recording groups now remove items from the group when removed via the UI. #jira UESEQ-339 Change 3880256 by Mike.Zyracki Fix issue with inactive display with folders and other track nodes. #jira UESEQ-388 Change 3883491 by Max.Chen Fix issue where tick is skipped due to last ticked pose isn't cleared after AnimInstance changes. Copy from Release-4.19 #jira UE-51323 Change 3883603 by Max.Chen Movie Scene Capture: Add option toggle disable screen percentage. By default this is on (no change in current behavior). #jira UE-51898 Change 3885074 by Max.Preussner MediaCompositing: Resetting media texture & freeing resource on section end; removed dead code Change 3887220 by Max.Preussner MediaCompositing: Defaulted media section duration to 1 sec (since we do not know the actual duration in most cases) Change 3887478 by Matt.Hoffman Sequences now show [Inactive] in their title bars when they're disabled. This helps communicate why a sequence isn't being evaluated. #jira UE-51469 Change 3888985 by Max.Chen Movie Scene Capture: Clamp HDR Compression Quality between 0 and 1. #jira UE-55136 Change 3893519 by Max.Chen Sequence Recorder: Clarified tooltip for bRecordNearbySpawnedActors - spawned actors will still be recorded if they match the ActorFilter. #jira UE-55238 Change 3893546 by Max.Chen Sequence Recorder: If a selected actor already has a recording, add a blank recording. #jira UE-55239 Change 3894044 by Max.Preussner MediaCompositing: Added support for seeking into a media section Change 3894310 by andrew.porter MediaFrameworkTest: Adding Img media sources for 1080 and 2160 ravent test content Change 3894426 by Max.Preussner MediaAssets: Letting media textures with AutoClear retain their clear color when player is reset Change 3895717 by Max.Chen Sequencer: Null checks to prevent crash when saving the default state of a spawnable #jira UE-55304 Change 3897388 by Max.Chen Sequencer: Don't update current time to be within the view range when stepping into a sequence. #jira UE-55322 Change 3897452 by Max.Chen Audio: Fix crash when trying to record audio without any active capture devices. Log warning if the number of input channels is not 1 or 2. #jira UE-55223 Change 3897619 by Max.Preussner MediaCompositing: Removed commented out code Change 3898072 by Max.Chen Sequencer: Override the animation asset in the player state if it doesn't match the animation asset that's being evaluated. #jira UE-55328 Change 3898272 by Max.Preussner MediaPlayerEditor: Made slate brush constants static Change 3898704 by Max.Chen Sequencer: Skip if the binding id's sequence can't be found. #jira UE-55337 Change 3899855 by Max.Preussner MediaCompositingEditor: Added cache state visualization to media track Change 3900300 by Max.Preussner MediaCompositingEditor: Added loop indicators to media sections Change 3900694 by Max.Preussner ImfMedia: Looping cache only when player is looping Change 3900892 by Max.Preussner Stats: Added stats category for media framework Change 3900954 by Max.Preussner MediaCompositing: Don't evaluate at the end of media section Change 3901348 by Max.Preussner Core: Replaced TLruCache autos for better readability Change 3901655 by Max.Preussner ImgMedia: Added more perf stats to EXR reader Change 3901972 by Max.Preussner MediaAssets: Added getter for media player in media sound components Change 3902233 by Max.Preussner MediaAssets: Enabling media textures to receive samples right after player is assigned Change 3902238 by Max.Preussner MediaCompositing: Working around init/shutdown idiosyncracies in sequencer Change 3904045 by Max.Chen Sequencer: Fix copy/paste crash. Only process UMovieSceneCopyableBinding and objects that can be spawned by the movie scene spawn register. #jira UE-55314 Change 3905605 by Max.Chen Sequencer: Restrict spawnables from being created if they have a ClassWithin that UMovieScene is not a child of. #jira UE-55429 Change 3906550 by Max.Chen Sequencer: Add media track icon #jira UE-55480 Change 3907101 by Max.Chen Sequence Recorder: Fix bugs related to not recording a level sequence. There were certain assumptions that creating a level sequence meant that sequence recording was in progress. This is not always the case - the recorders can record animation assets and not create a level sequence. Changed the notion of IsRecording() to having at least one actor recording that is recording. Countdown timer, recording displays, etc should function if IsRecording() and not based on whether a level sequence is created. #jira UE-55485 Change 3907247 by Max.Chen Sequence Recorder: Fix crash not removing PrepareToCleanseEditorObject delegate. Repros when opening sequence recorder, closing it, and then opening or creating a level. Change 3910343 by Max.Preussner Core: Added async helper for executing functions on a given thread pool Change 3910346 by Max.Preussner ImgMedia: Added separate thread pools for loading/decoding and deleting image frames Change 3910829 by Max.Preussner Profiler: Increased visible range of profiler graph Change 3910841 by Max.Preussner MediaCompositing: Displaying asset name instead of full media source path in media section Change 3910870 by Max.Preussner ImgMedia: Using deallocation thread pool only in debug builds Change 3919642 by Max.Chen Sequence Recorder: Clarify active tooltip #jira UE-55661 Change 3919660 by Max.Chen Sequencer: Sequence template source signatures are now also compared to catch the case where a sub-sequence asset has been saved but not modified - The following sequence of events exposes this issue: - Create a master sequence with a single shot that spawns a cube - Add this sequence to a level and set it to auto-play - Save everything and restart - Resave just the inner shot asset without opening it - PIE - The inner shot never spawns its cube because its template was wiped on save, but its signature never changed. Since the master sequence previously didn't check the template source signature, it ends up trying to evaluate an empty template. #jira UE-55626 #jira UE-55490 Change 3921825 by Max.Chen Sequencer: "Run Construction Script in Sequencer" is off by default for blueprints but on for Sequencer. This allows the content author to switch it on for specific blueprints and sequencer will be default, run those with construction scripts enabled. Change 3922232 by Max.Chen Sequence Recorder: Reset countdelay on stop. #jira UE-55755 Change 3922306 by Max.Chen Sequence Recorder: Don't automatically mark transforms to be recorded by sequence recorder. Instead, log a warning if the user toggled it off to warn that the resulting animation might not match gameplay. #jira UE-55758 Change 3922912 by Max.Chen Sequence Recorder: Fix refresh next sequence name #jira UE-55757 Change 3927654 by Max.Chen Movie Scene Capture: Added format mapping for the name of the current camera #jira UE-55769 PR #4537 Change 3927658 by Max.Chen Sequencer: Added fbx property mapping for "FocusDistance" to "FocusSettings.ManualFocusDistance" #jira UE-55782 Change 3932022 by Max.Chen Sequencer: Add import animation track section to next available row index. #jira UE-55892 Change 3933919 by Max.Chen Sequencer: Jump to playback start frame and not 0 to start playback for recording. #jira UE-55933 Change 3934307 by Andrew.Rodham Sequencer: Add template signature that is re-generated every time the base template is regenerated, which invalidates evaluation fields This fixes an issue where the same sequence is instantiated multiple times in a sequence. If the source sequence was saved, its template would be wiped, which would invalidate the template ID When an instance tries to evaluate the master template, it would only invalidate a range in the evaluation field that was the hull of any invalid sub sequences overlapping the current time, potentially leaving invalid data in the evaluation field at positions later (or earlier) on in the sequence When the sub template was re-generated, it receives the same SequenceSignature as it had before (because the sequence hasn't actually changed), which causes the stale evaluation field data to fail the IsDirty check (because the sequence is the same as it thought, but the *template* has changed) This has been addressed be adding a signature to templates themselves, and checking both the template signature and sequence signature as a part of the IsDirty check. This ensures that we regenerate if either the template, or the sequence have changed. #jira UE-55934 Change 3936327 by Andrew.Rodham Sequencer: Removed increment when trimming right UMovieSceneSection::TrimSection already explicity assigns an exclusive bound to the time passed in. The new behavior means we can trim a section to the right, and insert another section without changing the time to create adjacent sections. #jira UE-42652 Change 3936328 by Andrew.Rodham Fixed KeyFrameManipulator assignment operators and copy/move constructors - These types are potentially self-referential so cannot use default constructors/assignment Change 3936330 by Andrew.Rodham Converted UMGSequencePlayer to use frames internally #jira UE-54878 Change 3936726 by Max.Chen Sequencer: Set track node as the parent of the key area node. The key area switcher needs the object binding id from the parent object binding node. Without this, the binding to the external value fails. #jira UE-55931 Change 3936775 by Max.Chen Sequencer: Should stop or loop should compare DurationFrames with Current Time from StartTime. The bug is that if you set 30 warmup frames in movie rendering for a range of 0-100, the FrameRange will be starting at -30 and have a duration of 130. Without this fix, the playback will continue until frame 130, rather than 100. #jira UE-55933 Change 3936935 by Matt.Hoffman Easing Curves are now represented in Play Rate resolution instead of internal resolution. #jira UE-55937 Change 3937069 by Matt.Hoffman Users can toggle if the is infinite on each side, limited by which tracks support infinite ranges. #jira UE-55891 Change 3937516 by Max.Preussner ImgMedia: Added support for single-threaded platforms #jira UE-55986 Change 3937826 by Max.Preussner MediaAssets: Disabling media sound components on HTML5 if AudioMixer is not enabled Change 3937997 by Max.Chen Curve Editor: Add Zoom to Fit Curves so that selected curves from Sequencer can be focused on. Tested that undo doesn't re-zoom. #jira UE-55935 Change 3938000 by Max.Chen Sequencer: Stop all sounds before generating audio waveforms. #jira UE-55951 Change 3938376 by Max.Preussner XGEController: Disabled XGE Controller in single-threaded apps to prevent crash Change 3938444 by Max.Preussner Core: Added async support for single-threaded applications Change 3938445 by Max.Preussner Networking: Added support for single-threaded applications in UDP socket sender/receiver Change 3938447 by Max.Preussner Messaging: Added support for single-threaded applications Change 3939432 by Max.Chen Sequence Recorder: Append command list to global level editor actions so that shortcuts are accessible in level editor. #jira UE-55798 Change 3940229 by Andrew.Rodham Added prospective display rate upgrade to UMovieScene::PostLoad - There was previously some very odd behaviour that would assign the fixed frame interval only when a sub sequence was focused in SSequencer. This meant that many sequences could have a frame interval of 0 set in the data. - Under the old method of snap interval display this would have fallen back to getting the display interval from the sequencer settings, but we no longer look at these. - The USequencerSettings properties have been removed and in their place, a prospective data upgrade for sequences that have a fixed frame interval old 0fps that sets the play rate to the previous defaults based off the old USequencerSettings defaults. - This could end up 'changing' the display rate for sequences where the user has changed the snap interval in the settings for a particular sequence editor, but there's not much we can do about that given we don't have access to the USequencerSettings classes in UMovieScene #jira UE-55919 Change 3940277 by Andrew.Rodham Sequencer: Added ability to default frame resolutions and play rates for newly created actor sequences Change 3940378 by Andrew.Rodham Sequencer: Post move import dialog now defaults to the playback framerate of the sequence, and floors to frame numbers Change 3940559 by Andrew.Rodham Reinstated primed or recording sequence color Change 3940642 by Max.Preussner ImagePlate: Removed image plate media playback functionality Change 3940843 by Max.Preussner Core: Made TCircularQueue actually thread-safe; improved code comments Change 3940860 by Max.Chen Sequencer: Changed StructNameToKey to StructPathToKey Previously, keying a PropertyPath of [RenderTransform][Shear][X] would get trimmed to X, which doesn't map to a channel name as considered by Sequencer2dTransformTrackEditor. Instead, trim the resulting property path to [Shear][X] so that track editors can determine the desired struct path and channels to key. #jira UE-52966 Change 3941292 by Mike.Zyracki Fix for trajectories out of range not showing up. 1) If we had no key data we would pop the time, so wouldn't get the section ranges. 2) Calculating of upper bound was wrong, checking against -1 and not key == num of keys when doing algo::lower_bound. 3) No need to do the Bck-- for the bakward iterators since we fixed #2. We start now from the upper bound correctly. 4) If we had no keys (at section start,end) we would incorrectly say we were any key type, so since we draw constant keys as dashed we would do so incorrectly around section end points. #jira UE-55929 Change 3941424 by Max.Chen Curve Editor: Change Zoom to Fit to use TArrayView Change 3941498 by Max.Preussner Core: Added FMath::DivideAndRoundNearest function Change 3942097 by Matt.Hoffman Drop Frame Timecode Support for NTSC rates. Change 3942104 by Matt.Hoffman Sequence Recorder Group is no longer visible inside the World Outliner after using one. #jira 55266 Change 3942107 by Max.Chen Sequencer: Resurrect logic to find or extend an existing section when adding keys. Change 3942330 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942339 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942507 by Andrew.Rodham Sequencer: We no longer pad the time overlap threshold with a small number that is not scaled by the current zoom level - The presence of this pad was causing keys that were far apart to be grouped when zoomed in a long way Change 3942509 by Andrew.Rodham Sequencer: Only pad total view range, rather than section range as well when retrieving keys to render - This stops us from rendering keys that are within the view range, but outside the section range Change 3942512 by Andrew.Rodham Added transactions to some sequencer details customizations Change 3942513 by Andrew.Rodham Sequencer: Reinstated validation checks to UMovieSceneSection::SetStartFrame and SetEndFrame, changed erroneous uses to use SetRange Change 3942560 by Andrew.Rodham Pass by rvalue reference to appease error C2719 on Win32 ('InChannels': formal parameter with requested alignment of 8 won't be aligned) Change 3942697 by Andrew.Rodham Newly Created Level Sequences and Actor Sequences now default to 24000 fps frame resolution (+/- ~24hrs range, supporting all integer rates + 23.976) Change 3942700 by Andrew.Rodham Sequencer: Added legacy out-of-bounds errors for times that are not supported by the current legacy upgrade frame resolution Change 3942989 by Max.Preussner Core: Fixed circular queue count calculation Change 3943538 by Max.Preussner MediaAssets: Reverted workaround for procedural audio log spam in HTML5 (Actor component initialization cannot be skipped if the component is used in a level) Change 3944071 by Max.Preussner QAGame: Fixed Media Texture keeps last frame of Media when PIE ends #jira UE-53360 Change 3944292 by Max.Chen Sequencer: Added extra flags to ensure that asset initialization does not occur on template actor sequences #jira UE-56113 Change 3944364 by Max.Chen Sequencer: Prevent circular shot/master tracks. Tested adding master -> child -> master as drag and drop cinematic shot tracks and sub tracks as well as through the + button. #jira UE-56091 Change 3944422 by Max.Chen Sequence Recorder: Disable transform recording if off. #jira UE-56061 Change 3944745 by Andrew.Rodham Sequencer: Key rendering fixes - Fixed assert that occured when keys happened to reside on some times due to KeyTime + TimeOverlapThreshold - KeyTime being slightly larger TimeOverlapThreshold - Fixed keys sometimes being clipped when zoomed right in due to lack of half-frame offset - Added missing documentation to MovieSceneTimeHelpers.h #jira UE-56107 Change 3945231 by Andrew.Rodham Sequencer: Reconstruct channel proxy on Serialize to catch all cases of undo/redo, PostLoad and duplication #jira UE-56089 Change 3945301 by Andrew.Rodham Sequencer: Added safety checks during initial sequence recording to guard against applying negative or 0-sized sequence ranges #jira UE-56125 Change 3946627 by Max.Preussner Fortnite: Fixed game crashes closing editor while in PIE - Pure virtual function being called #jira UE-56144 [CL 3946896 by Max Chen in Main branch]
2018-03-14 22:09:33 -04:00
if (InArgs.bOnlyDrawMajorTicks)
{
MinorDivisions = 0;
}
TArray<FVector2D> LinePoints;
LinePoints.SetNumUninitialized(2);
const bool bAntiAliasLines = false;
const double FirstMajorLine = FMath::FloorToDouble(ViewRange.GetLowerBoundValue() / MajorGridStep) * MajorGridStep;
const double LastMajorLine = FMath::CeilToDouble(ViewRange.GetUpperBoundValue() / MajorGridStep) * MajorGridStep;
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3946692) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3801826 by Max.Chen PR #4304: Level Sequence crash fix - Guarded against dereferencing null componen. (Contributed by DSDambuster) Change 3801828 by Max.Chen PR #4302: Movie Scene Visibility Template unitialised variable, causing random . (Contributed by DSDambuster) Change 3801837 by Max.Chen Sequencer: Delay spawning/construction for convert to possessable. This fixes a bug where property values would be lost when converting back and forth from possessable to spawnable. #jira UE-52400 Change 3801841 by Max.Chen Sequencer: Make spacer nodes not selectable. PR #4194: Improvements to Sequencer (Contributed by projectgheist) #jira UE-53117 #jira UE-52139 Change 3804183 by Max.Preussner MediaAssets: Added missing lock in media sound component Change 3805414 by Max.Preussner MediaAssets: Setting valid GUID when initializing media texture resource Change 3819578 by Max.Chen PR #4370: When enabling the "MovieCapture", do not turn off the Stereo-3D display. (Contributed by yehaike) #jira UE-53647 Change 3823414 by Max.Chen Curve Editor: Lock down the first and last keys in the redundant keys removal range so that they're unaffected. #jira UE-53591 Change 3826406 by Max.Chen Sequencer: Move OnStartedPlaying() to within first update in UpdateTimeCursorPosition(). This fixes an issue where setting the hud/player visibility was getting stomped on later. #jira UE-52772 Change 3827044 by Max.Preussner MediaAssets: Added sprite visualization to media sound component #jira UE-53594 Change 3827988 by Max.Preussner MediaPlayerAssets: Fixed Media Texture is not linked to Media Player when created together #jira UE-53532 Change 3828506 by Max.Preussner MediaPlayerEditor: Added attenuation visualizer for media sound components #jira UE-53594 Change 3832590 by andrew.porter EngineTest: Added a keep state check in Property Animation sequencer test Change 3833053 by andrew.porter EngineTest: Adding Hierarchical Bias test Change 3835683 by andrew.porter EngineTest: Adding UMG Animation screenshot test Change 3836076 by Max.Chen Sequencer: Fix audio volume and pitch multiplier deprecation. Change 3836230 by andrew.porter EngineTest: Adding Sequence Bone Position automation test Change 3836347 by Max.Chen Sequencer: Fixes to shot name parsing. When a shot doesn't contain a shot number, assume, [ShotName]_[TakeNumber]. When duplicating a shot, put the new shot in the same path of the original shot, so that the take numbers will increment properly. #jira UE-51868 Change 3836552 by Max.Chen Sequencer: Sub section now has a takes menu Change 3838094 by Max.Chen UMG: Fix template finish not getting called on stop. This fixes a bug where sections aren't restored when finished. #jira UE-52285 Change 3838708 by Max.Chen Sequencer: Add notification when the blend type is changed. #jira UE-54046 Change 3840295 by Max.Chen Sequencer: Fix copy/paste crash for lights #jira UE-54084 Change 3840957 by Mike.Zyracki Added Show Only Keyable and Show Only Animated to the filter list in the property editor. Added IsPropertyAnimated to IDetailKeyframe Interface which already had support for showing properties which are keyable (which is used for the key icon next to the properties.). Could have created another interface but then would have had to mimic the sequencer binding, releasing also, so this seemed best way. One issue still left is that custom built detail items currently don't store associated properties(usually) and so certain properties, in particulalry transforms, won't show up as keyable or animated. Note this also shows up with the keyable icon not showing up next to transform tracks, and other filters like Show Only Modified not working with transforms/customs. Not sure best way to tackle this. #jira UESEQ-328 Change 3841756 by Max.Chen Sequencer: Fix unbound possessable components when pasting spawnables. #jira UE-54104 Change 3843950 by andrew.porter EngineTest: Renaming LevelStreaming tests/content to LevelVisibility Change 3844082 by Mike.Zyracki Missing file for animated filter in property editor. When finding if a track is animated we need to find it but we can't easily induce the MovieTrack class for any particular property. So we don't set a class for it and just search by it's ID and name. #jira UESEQ-328 Change 3846902 by Max.Preussner ImgMedia: Fixed image media player never finished initialization if loading failed #jira UE-54247 Change 3849820 by Mike.Zyracki Reassigning deleted widgets didn't work since the menu extender mechanism needs a valid UObject in order to perform an operation on it. So to fix we replaced GetObjectBindingContextMenuExtender in WidgetBlueprint with new delegate mechanism (OnBuildCustomContextMenuForGuid) that supports FGuid in addition to UObjects which is needed to handle re-binding deleted widgets. Note that the default sequencer hacks this for replacing deleted actors in SequencerObjectBindingNode to check to see if a LevelSequence is active. We could move to this mechanism there also. #jira UE-53163 Change 3852211 by Max.Chen UMG: Indicate name of the property that is not bound. #jira UE-54350 Change 3854120 by Max.Chen Sequencer: Fix sibling folders being allowed to have the same folder name. #jira UE-54363 Change 3854627 by Max.Chen Sequencer: Step to next/previous key should work for all tracks if there aren't any selected. #jira UESEQ-391 Change 3855825 by andrew.porter EngineTest: Adding animation blending automation test Change 3855950 by andrew.porter EngineTest: Adding correct expected valuues to animation blending test Change 3856237 by Matt.Hoffman UESEQ-336 - Sequencer Track Reordering Adds the ability to re-order Master Tracks, Folders and Object Bindings within sequencer hierarchies (including UMG). Adds the ability to do a one-off sorting of the content under the old sorting behavior if the user wants to reset their layout to how it was under legacy behavior. Modifies SequencerTrackNodes, SequencerFolderNodes and SequencerObjectBindingNodes to handle CanDrop/OnDrop for above, below and ontop of. Fixes a Slate Issue that forcibly expanded a TreeviewRow if an item handled OnDrop. Slate will now only forcibly expand the row if the item says the drop happened ontop of the item, and not above or below it like it previously did. Change 3856503 by andrew.porter EngineTest: Adding automation test for using animation blueprint with blend multi node in sequencer Change 3857875 by Max.Chen Sequencer: Assign the sequence id after the template is compiled. #jira UE-54462 Change 3858344 by Max.Chen Sequencer: Prevent Goto and Transform boxes from overlapping by allowing them to be visible at the same time in an autosized horizontal box. Also, added close button to the goto box. PR #4425: Prevent Goto and Transform boxes from overlapping in Sequencer ... (Contributed by projectgheist) #jira UE-54210 Change 3860566 by andrew.porter MediaFrameworkTest: Set the option to index 0 for the audio and video track list by default Change 3860654 by andrew.porter EngineTest: Enabling Camera Cut + FOV test Change 3860981 by andrew.porter EngineTest: Updating skeletal mesh tests with a delay after set playback position Change 3861256 by Max.Chen Sequencer: Add all bindings if none selected. #jira-54440 Change 3862154 by Andrew.Rodham Added TimeManagement module Change 3862424 by andrew.porter EngineTest: Turned on the test Bone Positions with Blend Multi Node Change 3862573 by andrew.porter EngineTest: Adding test to compare bone positions in a sequence that is blending an animation that is using an AnimBP Change 3865117 by Max.Chen Sequencer: Stop auto scroll on mouse release of movement. #jira UE-31212 Change 3865303 by Max.Chen Sequencer: Add drag and drop transactions #jira UE-54662 Change 3865304 by Max.Chen Sequencer: Fix crash when an actor factory is not found. Change 3865361 by Max.Chen Sequencer: Don't change the camera/shot lock button when popping out of a sequence. #jira UE-54665 Change 3865412 by Max.Chen Sequencer: Determine whether a transform track is for a camera by using the spawned object or template #jira UE-54666 Change 3865685 by Max.Chen Sequencer: Clear autoscrub offset when stopping autoscroll #jira UE-31212 Change 3865886 by Max.Chen Sequence Recorder: Log an error if the number of frames changes while recording. This can happen if the skeleton changes while recording. #jira UE-48715 Change 3866925 by Andrew.Porter MediaFrameworkTest: Changing the current PNG test video image sequence to 1024 x 576 Change 3867705 by andrew.porter QAGame: Adding Audio Sort Sequence to dev folder Change 3867890 by andrew.porter QAGame: Adding a sequence for testing a sorting crash to my dev folder Change 3872628 by Max.Chen Movie Scene Capture: Split delay before warmup into split delay before shot warmup so that there's separate controls for when the movie scene capture warmups up vs. shot boundaries. Change 3873131 by Matt.Hoffman UE-54732 - Crash reordering a folder with a track. This was caused by folders being the only type of track to check if someone was putting a parent track into a child track. Object Binding tracks and Tracks now check as well so that you can't use the above/below drop targets to add parents as children. This also fixed a typo in the localization keys. #jira UE-54732 Change 3873301 by Mike.Zyracki Added ability to support continous euler angle changes when changing rotations, in particularly with the rotation gizmo's. To do this we effectively added a form an of 'euler filter'(https://en.wikipedia.org/wiki/Euler_filter) to find the closest euler angle to the current euler angle. Three functions were added to FRotator to make this possible, one to get the euler angle that's has the same rotation as it, one to get the difference between two euler angles via Manhattan distance and a third using the previous two to choose a Rotator value that's closest to it. We then use these functions before calling UComponent::SetRelativeRotation to make sure we use the correct Euler after the Quat conversion. We also no longer limit(bound) the euler angles to -180,180, which is obviously necessary to avoid flips. I also changed how we caluclate yaw and roll when pitch is -90 or 90 to make it the standard approach of zeroing out roll and just setting yaw. Main reasons are the previous implementation had precision issues so things like 180, 90, -180 would show up due to numbers being nearly zero but negative,(this would break any smooth interpolations), and this facilitates having a 'gimbal' rotation mode (like Maya, Blender etc..) if we ever want that also. If needed we could keep the previous implementation but would need to add some FMath::IsNearlyZero checks, with less performance. Note we only do this special filtering when applying delta's to actors or components in the editors, which then call UComponent::SetRelativeRotationExact, which is a new function to foces the RelativeRotation to be equal to the new rotation. This allows us to store un-nomalized Rotators at the cost that the RotationCache may be broken. We didn't change any of the other UComponent functions that set rotations (via Quats or Transforms) so they will still be bounded and unwound. In SetInternalWorldLocationAndRotation we only set the rotation if the rotation has changed, which fixes the rotation getting changed and re-normalized if just translate happens. In TransformTrackEditor, we correclty use the bUndwing flag and in MovieScene3DTransformSection there was an un-needed winding check there, it will be unwound earlier if needed, which happens if Sequence Recording is happening. Max we should talk about what to do about this . Note the euler angle drag via the widget is still bound to 0-360. I think we should just unbound that now since the rotations value are now unbound. This review now includes fixes suggested by Zak. #jira UE-UE-22228 Change 3873483 by Matt.Hoffman Sequencer Tracks can now be inserted above the spacer at the bottom of the tree. #jira UE-54706 Change 3873899 by Max.Chen Sequencer: Add section selection throbbing Change 3873908 by Max.Chen Movie Scene Capture: Added logging per frame Change 3873924 by Matt.Hoffman Adds the ability to store Sequence Recorder setups into profiles that stay with the map and can be re-loaded later. Profiles store the Actor Recordings so the settings for each actor should carry with them. #jira UESEQ-339 Change 3874726 by Matt.Hoffman Disable drag-and-drop targets on spacers that come between rows in Sequencer. This prevents extra drag/drop targets showing up between each row. #jira UE-54706 Change 3874862 by Matt.Hoffman Audio Track no longer gets reordered when adding sub-audio tracks, as sub-tracks are no longer counted towards the sorting order index when normalizing indexes. #jira UE-54727 Change 3875905 by Matt.Hoffman Disable Fade Track UI if a fade track already exists in the sequence. #jira UESEQ-393 Change 3876163 by Max.Chen Sequencer: Swap the camera object to the camera component's owner if it's not the same. #jira UE-54874 Change 3876971 by Andrew.Porter EngineTest: Moved Media Player Seek test to new folder. Also enabled the test with new ground truth image. Change 3877040 by Max.Chen Cine Camera: Split camera properties to two groups, "Camera Options" and "Camera Settings". The cine camera now hides properties in the "Camera Settings" group so that properties like bConstrainAspectRatio (in the "Camera Options" group) can be visible. #jira UE-54192 Change 3877763 by Max.Chen Curve Editor: Fix curve changed on end drag so that only curves that had keys/tangents that were changed receive notification, otherwise all loaded curves were getting notified that they were changed. #jira UE-54951 Change 3878234 by Matt.Hoffman Disable "Drop Below" targets for Sequencer Tree nodes to prevent a confusing UX issue where dropping underneath a Object Binding Node puts it after the object binding node but the UI looks like it's inserting it inside the Object Binding node. #jira UE-54743 Change 3879359 by Mike.Zyracki If a track is inactive we dim it a bit which seems to be the UE4 way to show inactive or disabled state. We changed the active logic so that all subtracks need to be inactive for the track to also be inactive(instead of all active for active). This conforms to how the active state actually works, e.g if you have two sections and only one is active the track is still active above it. #jira UESEQ-388 Change 3879462 by Max.Chen Sequencer: Allow dragging onto a particular row which would move out any overlapping sections to make space for the newly created section. Newly created sections are now selected and throbbed to draw attention to themselves. #jira UE-54664 Change 3879464 by Max.Chen Sequencer: Fixed overlapping ranges being inserted into the evaluation field during compilation - The issue was that track segments that had been combined with adjacent segments (due to them being identical) would potentially cause a subsequently compiled frame to overlap with a range that had already been inserted into the evaluation field. - The insertion code previously asserted that only minor overlaps were catered for (due to fp rounding errors) and assumed that a supplied range could not entirely contain any other range in the field. - The solution is to supply the insertion time along with the range to know exactly where the data should live in the field, and crop the range to the maximum allowable space between adjacent ranges. #jira UE-54922 Change 3879590 by Matt.Hoffman Items that are now added to the Sequencer via the "+Track" menu will be selected after being added. Items can now be added inside of folders instead of just to the root level. #jira UE-27397 Change 3879612 by Mike.Zyracki Display Nodes with no children are always active. #jira UESEQ-388 Change 3879730 by Matt.Hoffman Sequence Recorder's actor recording groups now remove items from the group when removed via the UI. #jira UESEQ-339 Change 3880256 by Mike.Zyracki Fix issue with inactive display with folders and other track nodes. #jira UESEQ-388 Change 3883491 by Max.Chen Fix issue where tick is skipped due to last ticked pose isn't cleared after AnimInstance changes. Copy from Release-4.19 #jira UE-51323 Change 3883603 by Max.Chen Movie Scene Capture: Add option toggle disable screen percentage. By default this is on (no change in current behavior). #jira UE-51898 Change 3885074 by Max.Preussner MediaCompositing: Resetting media texture & freeing resource on section end; removed dead code Change 3887220 by Max.Preussner MediaCompositing: Defaulted media section duration to 1 sec (since we do not know the actual duration in most cases) Change 3887478 by Matt.Hoffman Sequences now show [Inactive] in their title bars when they're disabled. This helps communicate why a sequence isn't being evaluated. #jira UE-51469 Change 3888985 by Max.Chen Movie Scene Capture: Clamp HDR Compression Quality between 0 and 1. #jira UE-55136 Change 3893519 by Max.Chen Sequence Recorder: Clarified tooltip for bRecordNearbySpawnedActors - spawned actors will still be recorded if they match the ActorFilter. #jira UE-55238 Change 3893546 by Max.Chen Sequence Recorder: If a selected actor already has a recording, add a blank recording. #jira UE-55239 Change 3894044 by Max.Preussner MediaCompositing: Added support for seeking into a media section Change 3894310 by andrew.porter MediaFrameworkTest: Adding Img media sources for 1080 and 2160 ravent test content Change 3894426 by Max.Preussner MediaAssets: Letting media textures with AutoClear retain their clear color when player is reset Change 3895717 by Max.Chen Sequencer: Null checks to prevent crash when saving the default state of a spawnable #jira UE-55304 Change 3897388 by Max.Chen Sequencer: Don't update current time to be within the view range when stepping into a sequence. #jira UE-55322 Change 3897452 by Max.Chen Audio: Fix crash when trying to record audio without any active capture devices. Log warning if the number of input channels is not 1 or 2. #jira UE-55223 Change 3897619 by Max.Preussner MediaCompositing: Removed commented out code Change 3898072 by Max.Chen Sequencer: Override the animation asset in the player state if it doesn't match the animation asset that's being evaluated. #jira UE-55328 Change 3898272 by Max.Preussner MediaPlayerEditor: Made slate brush constants static Change 3898704 by Max.Chen Sequencer: Skip if the binding id's sequence can't be found. #jira UE-55337 Change 3899855 by Max.Preussner MediaCompositingEditor: Added cache state visualization to media track Change 3900300 by Max.Preussner MediaCompositingEditor: Added loop indicators to media sections Change 3900694 by Max.Preussner ImfMedia: Looping cache only when player is looping Change 3900892 by Max.Preussner Stats: Added stats category for media framework Change 3900954 by Max.Preussner MediaCompositing: Don't evaluate at the end of media section Change 3901348 by Max.Preussner Core: Replaced TLruCache autos for better readability Change 3901655 by Max.Preussner ImgMedia: Added more perf stats to EXR reader Change 3901972 by Max.Preussner MediaAssets: Added getter for media player in media sound components Change 3902233 by Max.Preussner MediaAssets: Enabling media textures to receive samples right after player is assigned Change 3902238 by Max.Preussner MediaCompositing: Working around init/shutdown idiosyncracies in sequencer Change 3904045 by Max.Chen Sequencer: Fix copy/paste crash. Only process UMovieSceneCopyableBinding and objects that can be spawned by the movie scene spawn register. #jira UE-55314 Change 3905605 by Max.Chen Sequencer: Restrict spawnables from being created if they have a ClassWithin that UMovieScene is not a child of. #jira UE-55429 Change 3906550 by Max.Chen Sequencer: Add media track icon #jira UE-55480 Change 3907101 by Max.Chen Sequence Recorder: Fix bugs related to not recording a level sequence. There were certain assumptions that creating a level sequence meant that sequence recording was in progress. This is not always the case - the recorders can record animation assets and not create a level sequence. Changed the notion of IsRecording() to having at least one actor recording that is recording. Countdown timer, recording displays, etc should function if IsRecording() and not based on whether a level sequence is created. #jira UE-55485 Change 3907247 by Max.Chen Sequence Recorder: Fix crash not removing PrepareToCleanseEditorObject delegate. Repros when opening sequence recorder, closing it, and then opening or creating a level. Change 3910343 by Max.Preussner Core: Added async helper for executing functions on a given thread pool Change 3910346 by Max.Preussner ImgMedia: Added separate thread pools for loading/decoding and deleting image frames Change 3910829 by Max.Preussner Profiler: Increased visible range of profiler graph Change 3910841 by Max.Preussner MediaCompositing: Displaying asset name instead of full media source path in media section Change 3910870 by Max.Preussner ImgMedia: Using deallocation thread pool only in debug builds Change 3919642 by Max.Chen Sequence Recorder: Clarify active tooltip #jira UE-55661 Change 3919660 by Max.Chen Sequencer: Sequence template source signatures are now also compared to catch the case where a sub-sequence asset has been saved but not modified - The following sequence of events exposes this issue: - Create a master sequence with a single shot that spawns a cube - Add this sequence to a level and set it to auto-play - Save everything and restart - Resave just the inner shot asset without opening it - PIE - The inner shot never spawns its cube because its template was wiped on save, but its signature never changed. Since the master sequence previously didn't check the template source signature, it ends up trying to evaluate an empty template. #jira UE-55626 #jira UE-55490 Change 3921825 by Max.Chen Sequencer: "Run Construction Script in Sequencer" is off by default for blueprints but on for Sequencer. This allows the content author to switch it on for specific blueprints and sequencer will be default, run those with construction scripts enabled. Change 3922232 by Max.Chen Sequence Recorder: Reset countdelay on stop. #jira UE-55755 Change 3922306 by Max.Chen Sequence Recorder: Don't automatically mark transforms to be recorded by sequence recorder. Instead, log a warning if the user toggled it off to warn that the resulting animation might not match gameplay. #jira UE-55758 Change 3922912 by Max.Chen Sequence Recorder: Fix refresh next sequence name #jira UE-55757 Change 3927654 by Max.Chen Movie Scene Capture: Added format mapping for the name of the current camera #jira UE-55769 PR #4537 Change 3927658 by Max.Chen Sequencer: Added fbx property mapping for "FocusDistance" to "FocusSettings.ManualFocusDistance" #jira UE-55782 Change 3932022 by Max.Chen Sequencer: Add import animation track section to next available row index. #jira UE-55892 Change 3933919 by Max.Chen Sequencer: Jump to playback start frame and not 0 to start playback for recording. #jira UE-55933 Change 3934307 by Andrew.Rodham Sequencer: Add template signature that is re-generated every time the base template is regenerated, which invalidates evaluation fields This fixes an issue where the same sequence is instantiated multiple times in a sequence. If the source sequence was saved, its template would be wiped, which would invalidate the template ID When an instance tries to evaluate the master template, it would only invalidate a range in the evaluation field that was the hull of any invalid sub sequences overlapping the current time, potentially leaving invalid data in the evaluation field at positions later (or earlier) on in the sequence When the sub template was re-generated, it receives the same SequenceSignature as it had before (because the sequence hasn't actually changed), which causes the stale evaluation field data to fail the IsDirty check (because the sequence is the same as it thought, but the *template* has changed) This has been addressed be adding a signature to templates themselves, and checking both the template signature and sequence signature as a part of the IsDirty check. This ensures that we regenerate if either the template, or the sequence have changed. #jira UE-55934 Change 3936327 by Andrew.Rodham Sequencer: Removed increment when trimming right UMovieSceneSection::TrimSection already explicity assigns an exclusive bound to the time passed in. The new behavior means we can trim a section to the right, and insert another section without changing the time to create adjacent sections. #jira UE-42652 Change 3936328 by Andrew.Rodham Fixed KeyFrameManipulator assignment operators and copy/move constructors - These types are potentially self-referential so cannot use default constructors/assignment Change 3936330 by Andrew.Rodham Converted UMGSequencePlayer to use frames internally #jira UE-54878 Change 3936726 by Max.Chen Sequencer: Set track node as the parent of the key area node. The key area switcher needs the object binding id from the parent object binding node. Without this, the binding to the external value fails. #jira UE-55931 Change 3936775 by Max.Chen Sequencer: Should stop or loop should compare DurationFrames with Current Time from StartTime. The bug is that if you set 30 warmup frames in movie rendering for a range of 0-100, the FrameRange will be starting at -30 and have a duration of 130. Without this fix, the playback will continue until frame 130, rather than 100. #jira UE-55933 Change 3936935 by Matt.Hoffman Easing Curves are now represented in Play Rate resolution instead of internal resolution. #jira UE-55937 Change 3937069 by Matt.Hoffman Users can toggle if the is infinite on each side, limited by which tracks support infinite ranges. #jira UE-55891 Change 3937516 by Max.Preussner ImgMedia: Added support for single-threaded platforms #jira UE-55986 Change 3937826 by Max.Preussner MediaAssets: Disabling media sound components on HTML5 if AudioMixer is not enabled Change 3937997 by Max.Chen Curve Editor: Add Zoom to Fit Curves so that selected curves from Sequencer can be focused on. Tested that undo doesn't re-zoom. #jira UE-55935 Change 3938000 by Max.Chen Sequencer: Stop all sounds before generating audio waveforms. #jira UE-55951 Change 3938376 by Max.Preussner XGEController: Disabled XGE Controller in single-threaded apps to prevent crash Change 3938444 by Max.Preussner Core: Added async support for single-threaded applications Change 3938445 by Max.Preussner Networking: Added support for single-threaded applications in UDP socket sender/receiver Change 3938447 by Max.Preussner Messaging: Added support for single-threaded applications Change 3939432 by Max.Chen Sequence Recorder: Append command list to global level editor actions so that shortcuts are accessible in level editor. #jira UE-55798 Change 3940229 by Andrew.Rodham Added prospective display rate upgrade to UMovieScene::PostLoad - There was previously some very odd behaviour that would assign the fixed frame interval only when a sub sequence was focused in SSequencer. This meant that many sequences could have a frame interval of 0 set in the data. - Under the old method of snap interval display this would have fallen back to getting the display interval from the sequencer settings, but we no longer look at these. - The USequencerSettings properties have been removed and in their place, a prospective data upgrade for sequences that have a fixed frame interval old 0fps that sets the play rate to the previous defaults based off the old USequencerSettings defaults. - This could end up 'changing' the display rate for sequences where the user has changed the snap interval in the settings for a particular sequence editor, but there's not much we can do about that given we don't have access to the USequencerSettings classes in UMovieScene #jira UE-55919 Change 3940277 by Andrew.Rodham Sequencer: Added ability to default frame resolutions and play rates for newly created actor sequences Change 3940378 by Andrew.Rodham Sequencer: Post move import dialog now defaults to the playback framerate of the sequence, and floors to frame numbers Change 3940559 by Andrew.Rodham Reinstated primed or recording sequence color Change 3940642 by Max.Preussner ImagePlate: Removed image plate media playback functionality Change 3940843 by Max.Preussner Core: Made TCircularQueue actually thread-safe; improved code comments Change 3940860 by Max.Chen Sequencer: Changed StructNameToKey to StructPathToKey Previously, keying a PropertyPath of [RenderTransform][Shear][X] would get trimmed to X, which doesn't map to a channel name as considered by Sequencer2dTransformTrackEditor. Instead, trim the resulting property path to [Shear][X] so that track editors can determine the desired struct path and channels to key. #jira UE-52966 Change 3941292 by Mike.Zyracki Fix for trajectories out of range not showing up. 1) If we had no key data we would pop the time, so wouldn't get the section ranges. 2) Calculating of upper bound was wrong, checking against -1 and not key == num of keys when doing algo::lower_bound. 3) No need to do the Bck-- for the bakward iterators since we fixed #2. We start now from the upper bound correctly. 4) If we had no keys (at section start,end) we would incorrectly say we were any key type, so since we draw constant keys as dashed we would do so incorrectly around section end points. #jira UE-55929 Change 3941424 by Max.Chen Curve Editor: Change Zoom to Fit to use TArrayView Change 3941498 by Max.Preussner Core: Added FMath::DivideAndRoundNearest function Change 3942097 by Matt.Hoffman Drop Frame Timecode Support for NTSC rates. Change 3942104 by Matt.Hoffman Sequence Recorder Group is no longer visible inside the World Outliner after using one. #jira 55266 Change 3942107 by Max.Chen Sequencer: Resurrect logic to find or extend an existing section when adding keys. Change 3942330 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942339 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942507 by Andrew.Rodham Sequencer: We no longer pad the time overlap threshold with a small number that is not scaled by the current zoom level - The presence of this pad was causing keys that were far apart to be grouped when zoomed in a long way Change 3942509 by Andrew.Rodham Sequencer: Only pad total view range, rather than section range as well when retrieving keys to render - This stops us from rendering keys that are within the view range, but outside the section range Change 3942512 by Andrew.Rodham Added transactions to some sequencer details customizations Change 3942513 by Andrew.Rodham Sequencer: Reinstated validation checks to UMovieSceneSection::SetStartFrame and SetEndFrame, changed erroneous uses to use SetRange Change 3942560 by Andrew.Rodham Pass by rvalue reference to appease error C2719 on Win32 ('InChannels': formal parameter with requested alignment of 8 won't be aligned) Change 3942697 by Andrew.Rodham Newly Created Level Sequences and Actor Sequences now default to 24000 fps frame resolution (+/- ~24hrs range, supporting all integer rates + 23.976) Change 3942700 by Andrew.Rodham Sequencer: Added legacy out-of-bounds errors for times that are not supported by the current legacy upgrade frame resolution Change 3942989 by Max.Preussner Core: Fixed circular queue count calculation Change 3943538 by Max.Preussner MediaAssets: Reverted workaround for procedural audio log spam in HTML5 (Actor component initialization cannot be skipped if the component is used in a level) Change 3944071 by Max.Preussner QAGame: Fixed Media Texture keeps last frame of Media when PIE ends #jira UE-53360 Change 3944292 by Max.Chen Sequencer: Added extra flags to ensure that asset initialization does not occur on template actor sequences #jira UE-56113 Change 3944364 by Max.Chen Sequencer: Prevent circular shot/master tracks. Tested adding master -> child -> master as drag and drop cinematic shot tracks and sub tracks as well as through the + button. #jira UE-56091 Change 3944422 by Max.Chen Sequence Recorder: Disable transform recording if off. #jira UE-56061 Change 3944745 by Andrew.Rodham Sequencer: Key rendering fixes - Fixed assert that occured when keys happened to reside on some times due to KeyTime + TimeOverlapThreshold - KeyTime being slightly larger TimeOverlapThreshold - Fixed keys sometimes being clipped when zoomed right in due to lack of half-frame offset - Added missing documentation to MovieSceneTimeHelpers.h #jira UE-56107 Change 3945231 by Andrew.Rodham Sequencer: Reconstruct channel proxy on Serialize to catch all cases of undo/redo, PostLoad and duplication #jira UE-56089 Change 3945301 by Andrew.Rodham Sequencer: Added safety checks during initial sequence recording to guard against applying negative or 0-sized sequence ranges #jira UE-56125 Change 3946627 by Max.Preussner Fortnite: Fixed game crashes closing editor while in PIE - Pure virtual function being called #jira UE-56144 [CL 3946896 by Max Chen in Main branch]
2018-03-14 22:09:33 -04:00
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 4044339) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3947021 by Max.Chen Sequencer: Don't preserve root component when copying object properties. A spawnable empty actor, has a root component that is generated by the empty actor factory. If the object template's root component is preserved when copying from the spawnable empty actor, the root component will not be copied over. Therefore, we need to NOT preserve the root component when copying object properties. #jira UE-55825 Change 3947366 by Max.Preussner WmfMedia: Better log output Change 3947367 by Max.Preussner MfMedia: Better detection of compressed format properties on Windows Change 3949102 by Max.Chen Sequencer: Remove SequenceActorTag when converting to possessable. #jira UE-56206 Change 3949207 by andrew.porter EngineTest: Set the screenshot nodes resolution to 1280x720 Change 3949404 by Max.Chen Sequencer: More informative tooltip for "Rerun Construction Scripts" option. It now says "Rerun construction scripts every frame on actors that have 'Rerun Construction Script in Sequencer' enabled in their class settings". Change 3950067 by Matt.Hoffman Renamed UAutomatedLevelSequenceCapture's StartFrame and EndFrame to CustomStartFrame/CustomEndFrame to reflect that it is user-overriden. This will also resolve upgrade issues due to the variable datatype changing. #jira UE-56189 Change 3950193 by JohnHenry.Carawon Updating my latest MovieRendering test content. Change 3950757 by JohnHenry.Carawon More updates to MovieRendering test content Change 3952059 by Max.Chen Resave LevelVisibility_SubLevels to fix data loss conversion warning of OpacityMaskConstant #jira UE-56086 Change 3952283 by Max.Chen Sequencer: Disable dropping level sequence assets as spawnables. #jira UE-56120 Change 3952422 by Max.Chen Sequence Recorder: Add button to record from the current player. #jira UE-55942 Change 3952987 by JohnHenry.Carawon MovieRendering Test Content - Fixing camera bindings and changing the override binding actor Change 3953823 by Mike.Zyracki Fix for Bad FBX Import Tangents not scaled by frame rate. After looking at this again it seems that a set of MovieScene:: overiddes for the channel traits wasn't set correctly, so use the ADL idiom to use MovieScene, which can then call Optimize in the correct namespace. With this we can now correctly use the passed in tolerance. There was also a redundant set of Optimize calls so that it could happen twice so removed them, and needed an extra check in the float channel Optimize. Also since we need to set auto tangents no matter if we optimize we don't set that parameter(though leave it since it's used by context menu key reduction). Finally fixed speed issue with trajectories caused by calculating way too many substeps. Reverted back to a time based step size for consistency. #jira UE-56193 Change 3954317 by Matt.Hoffman Adding a key to the last frame of a section no longer causes a crash. Keys can already be moved to be on the last frame of a section so now you can just add a key there directly. #jira UE-56255 Change 3954326 by Matt.Hoffman Dilating a section that is only infinite on one side no longer causes a crash. #jira UE-56260 Change 3954486 by Max.Chen PR #4580: Exposes IsReversed() from UMovieSceneSequencePlayer (Contributed by alanedwardes) Change 3955238 by Max.Preussner Messaging: Enabled delayed message routing https://github.com/EpicGames/UnrealEngine/pull/4574 #jira UE-56247 Change 3955901 by Max.Preussner MediaFrameworkTest: Added developer test for overriding desired media player plug-in at runtime. Change 3955922 by Andrew.Porter QAGame: Updating movie rendering content in dev folder Change 3956004 by andrew.porter QAGame: Adding MPC track to movie rendering test content Change 3956510 by Max.Chen Sequencer: Fix fbx camera import of static properties so that they are imported before default tracks are created. Otherwise, the default tracks inherit the default properties of the camera, rather than the values from the fbx. #jira UE-56311 Change 3957613 by Max.Preussner MediaUtils: Added code documentation to media player facade Change 3958005 by Max.Preussner MediaUtils: Added method to get number of sinks Change 3958934 by Max.Chen Sequencer: Fix keys getting added and sequence getting erroneously re-evaluated when auto key is off. Only apply defaults if there are no keys. Only modify the movie scene section before creating keys or setting defaults. #jira UE-55903 Change 3959687 by Andrew.Rodham Sequencer: Fixed visibility track external values being inverted #jira UE-56324 Change 3960507 by Max.Preussner Core: Fixed incorrect rounding in FMath::DivideAndRoundNearest Change 3962047 by JohnHenry.Carawon MovieRendering Test Content Changes: - Add Lightmass Importance Volumes to sublevel to fix warnings - Rebuilt Lighting - Add a third sequence for Gamut testing - Resaved the sound master.uasset to fix warning Change 3962211 by Mike.Zyracki Add Frame Numbers to selected animation sections. Added MapTimeToAnimation to MovieSceneSkeletalAnimation so that we could get it from the Skeleton Animation track Editor. Since the thickness of the frame line can change based upon frame rate and zoom we need to calculate it similarly to how the time slider controller does it. Those calculations were private so we had to expose FScrubRangeToScreen and GetScubberPixelRange from the TimeSliderController. Also needed to know if the section itself was selected so added a bIsSelected flag to the section Painter. Also fixed a bug where you couldn't add a section if other sections existed at different times in MovieScenePropertyTrack and could crash due to the check(). #jira UESEQ-395 Change 3962497 by Max.Preussner Core: Added new string formatting argument to FTimespan Change 3963662 by Max.Chen CineCamera: Flip VistaVision width and height. Change 3963731 by Max.Preussner MediaCompositing: Implemented sequence recording support for media track Change 3964195 by Andrew.Rodham Sequencer: Set inverted property correctly for newly created visibility track sections - Also clamp evaluation for key editors to the bounds of the section so we're not displaying values outside of the section bounds when the cursor is not on the bounds #jira UE-56324 #coderevew Max.Chen Change 3964196 by Andrew.Rodham Sequencer: Fixed crash when attempting to render sections that resulted in a negative intersection with the view range Change 3964275 by Andrew.Rodham Sequencer: Fixed MovieScene::ClampToDiscreteRange for infinite range bounds Change 3964364 by Andrew.Rodham Curve Editor: Reduce minimum vertical view range when zooming to fit Change 3965091 by Max.Chen Sequencer Recorder: Refresh next sequence if empty when starting a recording, otherwise, use existing name. #jira UE-56469 Change 3965148 by Max.Chen Sequence Recorder: Move Record to Possessable to "Actor Recording" group Change 3965162 by Max.Chen Sequence Recorder: Always break out of immersive mode when done recording, even when stopping recording during countdown. #jira UE-56407 Change 3965214 by Max.Preussner QAGame: Enabled ImagePlate plug-in Change 3965574 by Max.Preussner SimpleComposure: Reorganized & upgraded content to work with new Media Track #jira UE-56488 Change 3965651 by Max.Preussner MediaCompositing: Ignoring seek-on-open if media not seekable Change 3966075 by Christina.TempelaarL Sequencer: Added Final Cut Pro 7 XML Export functionality #jira UESEQ-358 Change 3966087 by Matt.Hoffman Adding a single key to the Particle Toggle track now makes an infinite range section that is displayed in the UI. #jira UE-56295 Change 3966547 by Andrew.Rodham Sequencer: Fixed rounding errors when drawing the section background on boolean sections - Logic was using time in sectonds which caused rounding errors on evaluation and flickering red/green stripes when dragging keys around #jira UE-56324 Change 3966563 by Andrew.Rodham Curve Editor: Key editor interface improvements - SKeyEditInterface has a few problems - it does not update in real time when editing properties, and does not support multi-edit which makes it unsuitable for use with the curve editor - We now take a different approach for editing keys by gathering a set of proxy UObjects for each key that is currently selected. These objects are added as top level objects to the details panel which means they support multi edit as you'd expect from any other details panel in the editor. - Proxy objects are updated every tick for the curve editor if they implement the ICurveEditorKeyProxy interface, which allows them to refresh their current value. - Ideally, the same mechanisms would be used in the main sequence interface, and we would be generating the proxy classes at runtime based on the key value type, but that work remains a separate task from this initial offering. #jira UE-56165 Change 3966564 by Andrew.Rodham Curve Editor: Expand to frame when adding or moving keys in the curve editor Change 3967051 by andrew.porter MediaFrameworkTest: Set the CameraPlayer_Video texture to auto clear Change 3967141 by Andrew.Rodham Sequencer: Keep track of spawned objects that have been modified and only re-save such object's default spawnable state on destruction - Now that we're taking this approach, I've remove serveral redundant bits of functionality in the spawn register such as making some spawnables read-only, and the PreSave binding for Sequencer. - We now hook into all object pre-saves to make sure we handle the case where the sequences are saved through the content browser or elsewhere. #jira UE-47686 Change 3967170 by Andrew.Rodham Sequencer: Added the ability to possess anim instances as object bindings - This allows full and direct animation of properties on UAnimInstance, and animation blueprints - Object Bindings are made by first possessing a skeletal mesh component, then choosing the + Add button where its anim instance will be listed - Added a new function to UMovieSceneSequence to gather previously cached objects that should now be invalidated. Anim instances will be re-resolved if a new UAnimInstance is assigned to USkeletalMeshComponent::GetAnimInstance. - ObjectBindingIDs for anim instances are just represented by an entry in a set of GUIDs. We only ever resolve such bindings through USkeletalMeshComponent::GetAnimInstance. - Only currently supported on LevelSequences #jira UE-56132 Change 3967195 by Max.Preussner Core: Updated TRangeSet to use TCallTraits Change 3967345 by JohnHenry.Carawon Test Content Changes - first iteration of spacing out the examples in the shots. Change 3967572 by Max.Chen Sequencer: Fix setting PreviousPlayEvalPosition until after we've tested whether it's set. #jira UE-56518 Change 3967750 by Max.Chen Audio: Set duration based on number of input channels, rather than number of channels to serialize. This fixes an issue where audio split into 2 channels is set to a duration that's twice as long. #jira UE-56430 Change 3967836 by Max.Chen Sequencer: Allow for animating array elements within ustruct properties #jira UE-55887 Change 3968506 by Matt.Hoffman Fixed ambiguous conversions for seconds and frames being overriden by ambiguous conversion to Timecode (in frames). Change 3968748 by Max.Chen Sequencer: Make the event properties submenu widget larger. #jira UE-55557 Change 3968862 by Max.Chen Sequencer: Recursive expansion when shift is down #jira UE-52139 #pr 4194 Change 3968863 by Max.Chen Sequencer: Bind rename command to selected track so that F2 shortcut start renaming #jira UE-52139 #pr 4194 Change 3968872 by Max.Chen Sequencer: Rekey the selected key at the current time. #jira UESEQ-396 Change 3968938 by Max.Chen Cine Camera: Add option to toggle the behavior of locking the rail mount to the orientation of the spline. By default, the option is off, no change in behavior. #jira UE-55815 Change 3968958 by Andrew.Rodham Sequencer: Consider vertical position when hittesting keys #jira UE-56256 Change 3969643 by Max.Preussner Core: Rounding timespans created from double values towards nearest ticks Change 3969646 by Max.Preussner MediaUtils: Implemented timeout mechanism for block-on-fetch feature Change 3969776 by Mike.Zyracki Added Skip Anim Notifiers Toggle per what was in Matinee. Investigated the Enable Root Motion toggle as also discussed but it's implementation is directly contained by the animation asset and unlike animation notifies there seems to be no exposure to interactively disable it during a playback tick. Note if we are generating thumbnails we still automtically disable notifies in the editor to avoid annoying noise playback. Note that if Enable Root Motion/Root locked is specified in the animation asset it does correctly effect the Sequencer. #jira UESEQ-399 Change 3969835 by Matt.Hoffman Playback Range and Selection Range use unified logic for adding themselves as potential snap locations which properly handles inclusive/exclusive bounds. This resolves an issue where having an unset selection range caused a potential snap location to be added on frame 0 and 1 (internal resolution) which caused a misalignment when placing objects near frame 0. This also removes the one frame offset on setting Selection Range to bring behavior inline with other ranges. #jira UE-55420 Change 3969885 by Max.Preussner MediaAssets: Don't register media player CDO with media ticker Change 3971129 by Andrew.Rodham Sequencer: Fixed UMovieSceneSequencePlayer::GotToEndAndStop() not taking into account for start time This is a remnant from when the times were always specified in 0-duration space, rather than actual sequence times. Change 3972056 by JohnHenry.Carawon More updates to Test Content. I continued spacing out the examples in the sequence so that they have a consistent number of frames between each example and during the start/end of the example. Also removed the Marcie sublevel. Change 3972066 by Andrew.Porter MediaFrameworkTest: Setting Marcie folder to be never cooked in package settings Change 3972675 by Matt.Hoffman Splitting Subsequence Sections no longer sets an incorrect playback range on the subsequence when the subsequence has a different internal resolution than the owning sequence. #jira UE-55453 Change 3973376 by Max.Preussner ImgMedia: Zero is the only valid video track for image sequences Change 3973489 by Max.Preussner Launch: Build rules cleanup pass - don't use Media, MediaUtils on server apps - don't link against Media (include-only dependency) - don't include from MediaAssets (dynamic load only) Change 3973760 by Max.Preussner MediaUtils: Moved AppMediaTimeSource implementation into its own file; added logging Change 3973765 by Max.Preussner ImgMedia: Disallowing seek beyond media length Change 3973855 by Max.Preussner MediaFrameworkTest: Updated developer test content Change 3973858 by Max.Preussner MediaCompositing: Blocking on media player time instead of media sample time (the former may not be hit in the current frame) Change 3974988 by Max.Chen Sequencer: Fix trim left so that it also sets the start offset for audio and skeletal animation sections. #jira UE-57015 Change 3976101 by Matt.Hoffman Sequencer will now focus the scroll view on newly created items. #jira UE-56492 Change 3976203 by Max.Chen Property Editor: Add DetailsViewArgs for ColumnWidth. Defaults to 0.65f, no change in existing behavior. Change 3976205 by Max.Chen Sequencer: Set better column widths for sequencer. #jira UE-55557 Change 3976206 by Max.Chen Sequencer: Added menu category for import/export Change 3976265 by Matt.Hoffman Tracks within Object Binding Nodes will now sort using the old behavior so that components are added above other track types. #jira UE-56473 Change 3976901 by Max.Chen Sequencer: Add event names to event track section #jira UESEQ-353 Change 3977878 by Max.Preussner Media: Moved media framework ticking stats into Media module Change 3977982 by Max.Chen Sequencer: Add Edit->Reset section length to duration of source (ie. audio, skeletal animation, shot length) Added MovieSceneSection::GetDefaultDuration and MovieScene::HasDefaultDuration #jira UESEQ-392 Change 3977994 by Max.Preussner Media: Fetching and rendering media samples before viewports are rendered (to ensure frame sync for in-level media playback) #jira UE-53975 Change 3978188 by Matt.Hoffman Easing Curves are now clipped by the sequence's PlayRange when testing against an infinite section. This causes blended sequences to finish their blend when the section starts/ends instead of always using 25% of the total section length to determine default blend range. #jira UE-56362 Change 3978676 by Max.Preussner MediaCompositing: Fixed first frame of rendered out media track missing #jira UE-53975 Change 3978684 by Max.Preussner MediaCompositing: Enabled media track frame sync feature #jira UE-53975 Change 3980026 by Matt.Hoffman Keys can be selected on folded out sections (such as an audio track expanded to show volume and pitch) again. #jira UE-57169 Change 3981614 by Max.Preussner MediaUtils: Added missing subtitle sample queue flush Change 3982311 by Max.Preussner MediaCompositing: Added safeguard for zero length media sources Change 3982389 by andrew.porter QAGame: Adding media track test content into FrameAccuracySubscene Change 3983661 by Max.Chen Sequencer: Add level name to spawn a spawnable into. Add sublevel menu option to set the level #jira UESEQ-390 Change 3983712 by Andrew.Rodham Sequencer: Purge legacy blueprint spawnables from LevelSequence packages #tests Ran a preflight for cooking fortnite, ocean and Orion. Only orion shows up this edge case, and will require a re-save of the EndCines level #jira UE-39173 Change 3983787 by Max.Preussner MediaCompositing: Moved compile time switch for block-on-fetch into media player facade Change 3983812 by Andrew.Rodham Sequencer: Exposed default level sequence instance data to blueprints Change 3984373 by Max.Preussner Media: Added API for quering whether player plug-in supports block on fetch Block on fetch allows Sequencer and other systems to block the game thread until a desired video frame has been decoded. Change 3984670 by JohnHenry.Carawon Movie Rendering Test Content progress. Saving the state of the content. There is a bug where things got replaced with particle emitters and I think it was because I tried to copy paste an animation track into a separate skeletal mesh track. Change 3985097 by Max.Chen Sequencer: Rename Reset to AutoSize Change GetAutoSizeDuration to return TOptional<FFrameTime> #jira UESEQ-392 Change 3986043 by Max.Chen Sequencer: Fix crash when attach/path duration is less than 0. #jira UE-57310 Change 3986373 by Max.Chen Sequencer: Add support for deleting tracks and channels which equates to setting the channel mask. #jira UE-52951 Change 3986375 by Max.Chen Sequencer: Add Create Pose Asset to skeletal animation section. This allows animators to blend animations in sequencer and create new pose assets from them. #jira UESEQ-408 Change 3986796 by Andrew.Rodham Sequencer: Fixed stale object references remaining in ULevelSequence::BindingReferences when using convert to spawnable/possessable - We used to convert objects by creating a new binding, then re-assigning its GUID, which meant we didn't have to do any further object fixup, but the code to achieve this was confusing and led to a vulnerability where object references would not be cleaned up correctly due to the newly created possessable essentially being a temporary object that's immediately thrown away. - To address this, there is now a function for porting all the contents of one object binding to another, and handles the correct fixup required for parent/child object bindings for both spawnables and possessables. - Also added codepath to remove any stale object references from the level sequence reference map on PostLoad (this piggy-backs off the PurgeLegacyBlueprints object version which is close close enough to this change to be identical) #tests Verified that existing sequences with stale references get cleaned up on load. Verified that repreatedly converting from spawnable<->possessable cleans up references correctly. Change 3987807 by JohnHenry.Carawon Updates to the MovieRendering Test Content. - Fixed the spawnable actors that were overwritten - Shortend the Lighting example and combined the Intensity and Color tracks - Organized the Sequence and WorldOutliner to group the examples. Change 3988151 by Max.Chen Cine Camera: Enable keying the "Enable Look at Tracking" toggle. Change 3988880 by Max.Chen Sequencer: Support enter to add asset for all sequencer track editors that have asset pickers. #jira UE-57367 Change 3988953 by Max.Chen Sequencer: Make the track color picker focusable so that it will close when you click away or lose focus. #jira UE-57210 Change 3988962 by Max.Chen MovieSceneCapture: Fix EDL export so that it takes into account movie scene frame resolution and desired frame rate. #jira UE-57365 Change 3988964 by Max.Chen Movie Scene Capture: Clarified tooltip for bRelativeFrameNumbers. If you specify custom start/end frames for the recording, they will be relative to the playback range. #jira UE-57308 Change 3989442 by Max.Chen Fix CIS Change 3991548 by Matt.Hoffman Dragging the time slider no longer causes the time slider to ignore snap-to-interval with "Snap to Keys While Scrubbing" when no keys are in range. #jira UE-57417 Change 3991598 by Matt.Hoffman Snap to Key while scrubbing now mirrors the behavior of "jump to next key". When there are no tracks selected it snaps to all keys and when there are tracks selected it snaps to only keys from that track. This also resolves an issue where deleting an object did not remove it from the Sequencer's selection. Undoing a delete already doesn't seem to restore your selection, so removing it from your selection shouldn't change that behavior. #jira UE-57417 Change 3991603 by Max.Chen Sequencer: Disable EditAnywhere for some section properties #jira UE-53530 Change 3992240 by Max.Preussner MediaAssets: Implemented dynamic audio sample rate adjustment based on audio/media clock drift #jira FORT-70638 Change 3992911 by Andrew.Rodham Sequencer: Fixed saving spawnable state using the wrong spawned object - We now track the object binding ID so that we can apply the spawned object to the correct spawnable when the asset is saved #jira UE-57353 Change 3992914 by Max.Chen Movie Scene Capture: Fix compression quality not being set. The compression interface wasn't being found through query interface, so no compression was being set. Reworked finding it through the output pins. Tested running various compression values. #jira-UE-55488 Change 3992919 by Max.Chen Sequencer: Convert to possessable now uses object template instead of copying properties (ie. see LevelSequenceActorSpawner). This fixes MIDs getting lost when converting to spawnable and back to possessable. #jira UE-52400 Change 3993184 by Max.Chen Sequencer: Don't show +Transform/+Path/+Attach track if the actor has the "Mobility" property hidden. Set the Landscape, LandscapeProxy and InstancedFoliage "Mobility" property to be hidden since it is static is not supposed to be dynamically movable. #jira UE-56347 Change 3993238 by Max.Chen Sequencer: Test for hidden mobility in creating keys as well. Refactored to HasHiddenMobility() #jira UE-56347 Change 3993978 by Max.Chen Cine Camera: Enable keying the "Enable Look at Tracking" toggle. #jira UE-57489 Change 3994039 by Max.Chen Landscape: Add Mobility to hidecategories on landscape component #jira UE-56347 Change 3994626 by JohnHenry.Carawon Updated Movie Rendering Test Content. - Fixed the overridden spawnables to their proper object types. Change 3994653 by Christina.TempelaarL Sequencer: Added Final Cut Pro 7 XML Import functionality, improved Export functionality #jira UESEQ-358 Change 3995609 by Max.Chen UMG: Add support for 2d transform mask (translation, rotation, scale, shear) #jira UE-52951 Change 3995778 by JohnHenry.Carawon Movie Rendering Test Content Updates - Adjusted Lights example - Adjusted Camera example - Added Marcie sublevel back in Change 3995942 by JohnHenry.Carawon QAGame: Moving Movie Rendering test content from Developer folder to Sequencer folder Also adjusted level visibility, lights and camera example. Change 3995993 by Christina.TempelaarL Sequencer: FCPXML Export updates - only export sections if in playback range and media exists, warn if media does not exist. Other updates - removed unused methods and variables, fixed message context naming to be more accurate #jira UESEQ-358 Change 3996595 by andrew.porter QAGame: Updating Marcie content in TrackEvaluation level to use Image Plate Change 3996614 by andrew.porter QAGame: Adding color test sequence to the sublevel Change 3996643 by Max.Chen Sequencer: Fix fbx animation export - rotation and scale channels were flipped. #jira UE-57509 #jira UE-57512 #jira UE-57514 Change 3996652 by Max.Preussner Messaging: Fixed delayed messaging using incorrect current time after message router sleep Based on https://github.com/EpicGames/UnrealEngine/pull/4601 Change 3996801 by Max.Chen Sequencer: Fix folder active state for non key area sections. Look at track node sections as well as key areas. #jira UE-57550 Change 3997098 by Matt.Hoffman Cleaned up some remaining ToDo's in STimeRange. Change 3998339 by Max.Preussner Sockets: Added documentation for socket receive functions Change 3998359 by Max.Preussner MediaUtils: Started to implement media recorder helper class Currently only supports BGRA frames in CPU memory. Supporting other formats and buffer types will require conversions on render-thread. I recommend refactoring out the existing conversion code in FMediaTextureResource into a reusable helper class in the MediaUtils module. This should be a good starting point though. Change 3998417 by Matt.Hoffman Keys and Sections can now be moved at the same time inside of Sequencer. Keys can now snap to Sections (and vice versa) instead of just to other Keys. Sections can now be duplicated like keys can. #jira UE-56995 Change 3998427 by JohnHenry.Carawon QAGame: Updating test content for the Movie Rendering feature. - Added an auto activate particle to the beginning of the sequence (it's not part of the sequence at all) - Added an event receiver blueprint to the Events example - Added a particle emitter to both sublevels - Added a camera cut to the end that switches to a separate camera - The camera zoom in, focus and Look At sections are all separate (not overlapping in the sequence) - Added a second actor for the camera Look At - Added a Visibility section for the Actor Hidden In Game track that has possessable and spawnable cube and light Change 3998537 by Max.Chen Sequence Recorder: Restore immersive mode when stopping the sequence even if not in PIE. #jira UE-56407 Change 3999809 by Matt.Hoffman Removed the "Go To" box from Sequencer and instead placed the current time as an always visible control. The previous shortcut (Ctrl + G) now focuses the new widget directly. #jira UESEQ-376 Change 4000543 by Christina.TempelaarL Sequencer: Moving editor-only code from runtime module MovieSceneCapture to editor module MovieSceneTools. Moved EDL and FCP XML exporters as well as Automated Level Scene Capture. #jira UESEQ-358 Change 4000706 by Matt.Hoffman Entering multiple time strings without a number no longer crashes Sequencer. #jira UE-57672 Change 4001051 by andrew.porter MediaFrameworkTest: Fixing up some image sources pointing to the wrong location Change 4001191 by andrew.porter QAGame: Adding some quick EDL/XML test content to dev folder Change 4001243 by Max.Chen Sequencer: Fix import EDL out of range. #jira UE-57665 Change 4001856 by Matt.Hoffman Selecting keys and sections at the same time now also works with animation and audio sections. #jira UE-57716 Change 4002021 by Max.Chen Sequence Recorder: Fix sequence name incrementing. If external recording sets the sequence name, use it. Otherwise, use the recording name from the recording group or the recording settings. #jira UE-57712 Change 4002618 by Max.Chen Viewport: Update the look at location when updating to a locked actor. This fixes an issue so that popping the view out of a locked actor and manipulating the view will not jump to the previous look at location. #jira UE-57725 Change 4002979 by Matt.Hoffman Fixes several edge cases with the end time range that was causing confusion about what the last frame of the sequence was. Dragging the End Frame slider will no longer be off by one tick and jumping to the end via the UI controls now properly respects snapping and stays inside the play range instead of falling outside of it. Overall behavior does not change though and End Frame should be considered an exclusive frame so that frames 0-150 results in a 150 frame long animation (which is frames 0-149). #jira UE-56367 Change 4003185 by Matt.Hoffman Fixed a regression that prevented a section from being dragged upwards past row 0 which normally resulted in all other rows moving down. #jira UE-57717 Change 4003193 by JohnHenry.Carawon QAGame: Updates to test content - Shortened frames between the examples from 95 to 30 - Separated camera setting tracks - Lighting example now switches directly from constant red - green - blue Change 4003369 by Max.Chen Sequence Recorder: Refresh next sequence regardless of internally stored sequence name. #jira UE-55757 Change 4003586 by JohnHenry.Carawon QAGame: Test Content Updates - Level Visibility track now ends to that the levels are not visible when we move to the next example - Shortened camera section, removed Z tranform so that we just move left to right and shortened the overall length Change 4004414 by Max.Chen Movie Scene Capture: Fix regression where rendering with shot handles would only render the first shot. 3972166 addressed an issue where an extra frame would be rendered by finalizing right when the end frame was reached. This was hit on the first shot end frame, so instead, do this only for when the last shot is being rendered. #jira UE-57314 Change 4004765 by Christina.TempelaarL Sequencer: Fixed bugs in FCP XML import/export. - Export: fixed sequence default resolution. - Export: fixed XML files with no shots. - Export: all sections clipped to playback range. - Export: fixed incorrect section start/end times due to precision issues. - Import: fixed incorrectly adding cinematic tracks. - Import: fixed bugs creating new sections. #jira UE-57660 #jira UE-57662 #jira UE-57655 #jira UE-57761 Change 4005119 by Max.Chen Sequencer: Export/import at play rate Change 4005195 by Max.Chen UMG: Finish UMG evaluation on stop. Added object version so that existing UMG assets do not change. #tests - Newly created UMG animation with sections set to restore state now return to their original state. Existing UMG animations with sections set to restore state do not return to their original state. #jira UE-52285 Change 4005377 by Michael.Karambelas QAGame: Moving TM-SequenceRecorder and related content out of my developer folder and into /Content/Sequencer/SequencerRecorder/* Change 4005417 by Michael.Karambelas QAGame: Fixed a BP compiler in the Level Blueprint of TM-SequencerRecorder. Change 4005634 by Michael.Karambelas QAGame: Fix up missing content and broken level sequence in TM-SequenceRecorder after move Change 4006324 by Max.Chen Sequencer: Reset if the focused movie scene is null. This fixes a crash if the user is focused in on a shot and undo takes the user past the point of where the shot was created. #jira UE-57752 #jira UE-47661 Change 4007006 by Max.Chen Sequencer: Fix FindAvailableRowIndex so that it returns the max row index (and not +1) since it doesn't find any conflicting rows. #jira UE-57717 Change 4007907 by Max.Chen Sequencer: Fix crash if there's no animation Change 4007948 by andrew.porter QAGame: added test content to dev folder for Record World Space Change 4008636 by Max.Chen Sequencer: Fix import fbx not setting values properly and creating additional cameras unncessarily. #jira UE-57864 Change 4008759 by Max.Chen Sequencer: Follow up fix for import cameras #jira UE-57864 Change 4009994 by Matt.Hoffman Dragging the left or right handles of the Time Range slider in Sequencer will now zoom your view in on the current center of the screen. This prevents the view from being translating as you tried to zoom in which caused issues at high zoom levels. #jira UESEQ-407 Change 4010169 by Christina.TempelaarL Sequencer: FCP XML fixes. - FCP XML export - no longer clips to playback range - FCP XML and EDL export - fixed missing last frame of some sections after exporting to Premiere. - Automated level capture, EDL export - use RoundToFrame instead of FloorToFrame for computing section start/end frames after frame rate conversion. #jira UE-57802 - partial fix, movie scene capture still needs to render full section rather than clip against playback. Change 4010287 by Mike.Zyracki Add quaternion interpolation option to UMovieScene3DTransformSection. This mimics how Matinee used to work by bascially finding the keys between a time and interpolating the angles as quat's between them. As noted in the code the algorithm needs to handle the case when the x,y,z Rotation keys all aren't at the same time which was not handled by Matinee. Also like Matinee, when in quaternion interoplation mode, we need to not display the function cuves since the interpolated and key values are now all different. (Would like to show them but that's a bigger refactor for perhaps just a one off needed by quaternions). I added a virtual function UMovieSceneSection::ShowCurveForChannel for this since it needs to be dynamic, not on construction of IKeyArea's, and could be useful for other sections. I could though move the method to just UMovieScene3DTransformSection and do a cast instead. Looked into doing a unit test for this but after talking with Andrew P we will work on doign an automated test in EngineQA since that will provide more coverage. Will also add a video the jira. #jira UESEQ-403 Change 4010713 by Mike.Zyracki Added option to key a group of transform channels instead of just the changed channel, or all of them. This is useful for quaternion interpolations where you want rotation keys to be aligned but also useful for other workflows like animating FK Pose to Pose. Change 4010715 by Andrew.Porter MediaFrameworkTest: Setting LogMediaUtils logging from VeryVerbose to Verbose to cut back on the spam Change 4013048 by Max.Chen Sequencer: Fix play/jump status. Update the player status for all position methods (Scrub, Jump, Play). Jump means Stopped. Correctly use PlayTo or JumpTo based on position method. In PlayInternal, JumpTo with the Stopped state (rather than playing state). #jira UE-57844 Change 4013479 by andrew.porter QAGame: Added content in TM-SequenceRecorder to test recording a property on a Cine Camera Component; Press 3 to trigger manual focus distance to increment on a timer Change 4014323 by Max.Chen Sequencer: Fix SetPlaybackPosition so that it jumps or plays based on playback status. #jira UE-57844 Change 4015888 by Max.Chen Sequencer: Fix crash on paste. UMovieSceneSections were gathered from the track node's track. For sub track mode, we want to gather only those sections on that track node row. #jira UE-57951 Change 4015943 by Max.Chen Sequencer: Fix moving shots up when the mouse pos goes outside of the virtual track area. #jira UE-57717 Change 4016293 by Max.Chen Sequencer: Fix relative frame playback end frame calculation so that custom start/end frames remain in the space of the sequence and are not relative. #jira UE-57308 Change 4017075 by Andrew.Rodham Sequencer: Corrected initial evaluation range used when calling UMovieSceneSequencPlayer::Play() Change 4017270 by Christina.TempelaarL Sequencer: FCPXML importer and movie scene capture - Use CeilToFrame when converting section start/end frame times to frame numbers in FCPXML and movie scene capture. - Added support for clip metadata in FCPXML. - Got rid of redundant TokenizedError message class, no longer needed now that FCPXML is in editor directory. - Added log messages currently commented out due to exception, still testing. #UESEQ-358 Change 4018370 by Christina.TempelaarL Sequencer: fixed FCPXML log messages regarding sections with start/end not divisible by display rate. #UESEQ-358 Change 4018378 by Christina.TempelaarL Sequencer: fixed error in previous changelist. #UESEQ-358 Change 4019457 by Max.Chen Sequencer: Show event names only when the event track is selected #jira UE-57897 Change 4022806 by Max.Chen Sequencer: Fix crash on movie scene capture dialog shutdown if movie capture wasn't even started. #jira UE-58106 Change 4022894 by Max.Chen Sequence Recorder: Wrap OpenEditorForAssets after sequence recording within GIsEditor #jira UE-58084 Change 4024487 by Max.Chen Sequencer: Add tooltip for quat interpolation #jira UE-58113 Change 4024562 by Max.Chen Sequencer: Change path/attach track sequence binding id to currently focused sequence id so that bindings can be created in subsequences Change 4027414 by JohnHenry.Carawon QAGame: Checking in content that shows a bug with using particles systems and Delay Before Shot Warm Up. Change 4028990 by Max.Chen Sequencer: Fix evaluate sub sequences in isolation. This check was added with the compile on the fly logic. Not sure why it was necessary but it seems like the sub sequence data needs to be updated in order to evaluate sub sequences in isolation. #jira UE-58184 Change 4029004 by Max.Chen Sequencer: Ensure that old binding references are removed when re-assigning actors in sequencer #jira UE-57898 Change 4030997 by JohnHenry.Carawon QAGame: Fixing name of the master sequence Change 4031785 by Michael.Karambelas QAGame: Added an instance of ThirdPerson Run to TM-SequenceRecorder for Record to Possessable test. Change 4035548 by Andrew.Rodham Sequencer: Changed FMovieSceneEvaluationTemplate::TemplateSignature to be a serial number to address non-deterministic cooking issues - This commit is related to the repro steps found in 3914599 and 3934307, both of which have been verified with this new change. - Copy of 4031684 from //Fortnite/Main/... #jira FORT-84852 Change 4036312 by Max.Chen Sequencer: Fix zoom view range so that it uses the passed in InZoomDelta Change 4036318 by Max.Chen Sequencer: Auto size now returns a range and defaults to the channel proxy range so that keyed regions can also be autosized. Change 4036322 by Max.Chen Forgot missing change Change 4036360 by Max.Chen Sequencer: Fix play rate calculation when skeletal animation section play rate changes. Change 4037163 by Mike.Zyracki Weighted Tangent Implementation Tricky thing is that you need to solve a cubic in order to get the bezier weights for the time part of the curve. See https://www.gamedev.net/forums/topic/474094-help-function-curves-for-animation-interpolation/ Maya provides an implementation in it's dev kit but I didn't use it since it was horribly slow and uses an iterative solution to solve the cubic needed. Instead I use an old algorithm (Cardano's method), to solve the cubic which should be much faster. Though relative simple to code from principles I just went ahead and used a version from Graphics Gems 1. I put this cubic solver directly in MovieSceneFloatChannel.cpp, but will need to move it when we support Rich Curve, maybe to FMath:: (which would probalby require some other functions for solving quartics, etc.. for completeness.). Also note we resolve this on every evaluation but dont' need to if the interval the time is evaluating hasn't had any change in values or tangents. So again when we support FRichCurve we can create a Weighted Evaluating class that can hold the cache. Also with the tangent drags I got rid of the Cardinal position that was used to calculate non-weight tangents from the key point and just quickly getting a direction. With weighted tangents we need to use the delta instead (otherwise when moving multiple they would all get the same weight based upon distance to the cardinal point. ) For mixed tangents types what I'm defaulting to non weighted if the interval doesn't match. May need to do weighted instead, not sure. What's left is just FBX import, for tomorrow. #jira UESEQ-76 Change 4037435 by Mike.Zyracki Fix fo build warnings from weighted tangent submission. #trivial Change 4038091 by Michael.Karambelas QAGame: Updated a Sequence Recorder group in TM-SequenceRecorder that had an actor missing the animation. Change 4038374 by Andrew.Rodham Sequencer: Refined scrubber styling for level sequences and actor sequences - Scrubber now shows a block the width of a dsplay rate frame, plus a line for the actual evaluated time. UMG reverts back to the previous styling (no block) - Keys that are outside of the playback range are now drawn with a subdued effect - Tick labels are no longer drawn when directly underneath the scrubber Change 4038490 by Max.Chen Sequencer: Expose tangent weight values in details panel. Change 4038620 by Andrew.Rodham Sequencer: Advanced time panel polish #jira UESEQ-426 Change 4038677 by Max.Chen Movie Scene Capture: Redirector for MovieSceneTools.AutomatedLevelSequenceCapture #jira UE-58248 Change 4039739 by Max.Chen Sequencer: Media track should only be supported by Level Sequence Change 4040024 by JohnHenry.Carawon QAGame: Fix EventReciever and OverrideBinding example The level sequence was set to none so the fix was to set it back to TrackEvaluation_Master. Change 4040610 by Andrew.Rodham Curve Editor: Moved weighted tangent switchers to a single toggle command (CTRL+W) and added an icon #jira 58383 Change 4040882 by Mike.Zyracki Keep broken when turning on weighted #jira UE-58435 Change 4041089 by andrew.porter QAGame: Sequence for Long Tangents bug Change 4041498 by Mike.Zyracki Turn off weighted when going auto to prevent large tangents. Do it both in UI and when doing AutoSetTangents() to really make sure it doesn't happen. #jira UE-58452 Change 4041752 by andrew.porter MediaFrameworkTest: Adding some better logging for setting rates when not supported. Also ignoring commiting URL when there is no text Change 4041896 by Matt.Hoffman The transform dialog box now transforms selected keys and sections, instead of just keys. #jira UE-58265 [CL 4044405 by Max Chen in Main branch]
2018-05-02 10:10:00 -04:00
const float FlooredScrubPx = RangeToScreen.InputToLocalX(ConvertFrameTime(TimeSliderArgs.ScrubPosition.Get(), TickResolution, GetDisplayRate()).FloorToFrame() / DisplayRate);
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3946692) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3801826 by Max.Chen PR #4304: Level Sequence crash fix - Guarded against dereferencing null componen. (Contributed by DSDambuster) Change 3801828 by Max.Chen PR #4302: Movie Scene Visibility Template unitialised variable, causing random . (Contributed by DSDambuster) Change 3801837 by Max.Chen Sequencer: Delay spawning/construction for convert to possessable. This fixes a bug where property values would be lost when converting back and forth from possessable to spawnable. #jira UE-52400 Change 3801841 by Max.Chen Sequencer: Make spacer nodes not selectable. PR #4194: Improvements to Sequencer (Contributed by projectgheist) #jira UE-53117 #jira UE-52139 Change 3804183 by Max.Preussner MediaAssets: Added missing lock in media sound component Change 3805414 by Max.Preussner MediaAssets: Setting valid GUID when initializing media texture resource Change 3819578 by Max.Chen PR #4370: When enabling the "MovieCapture", do not turn off the Stereo-3D display. (Contributed by yehaike) #jira UE-53647 Change 3823414 by Max.Chen Curve Editor: Lock down the first and last keys in the redundant keys removal range so that they're unaffected. #jira UE-53591 Change 3826406 by Max.Chen Sequencer: Move OnStartedPlaying() to within first update in UpdateTimeCursorPosition(). This fixes an issue where setting the hud/player visibility was getting stomped on later. #jira UE-52772 Change 3827044 by Max.Preussner MediaAssets: Added sprite visualization to media sound component #jira UE-53594 Change 3827988 by Max.Preussner MediaPlayerAssets: Fixed Media Texture is not linked to Media Player when created together #jira UE-53532 Change 3828506 by Max.Preussner MediaPlayerEditor: Added attenuation visualizer for media sound components #jira UE-53594 Change 3832590 by andrew.porter EngineTest: Added a keep state check in Property Animation sequencer test Change 3833053 by andrew.porter EngineTest: Adding Hierarchical Bias test Change 3835683 by andrew.porter EngineTest: Adding UMG Animation screenshot test Change 3836076 by Max.Chen Sequencer: Fix audio volume and pitch multiplier deprecation. Change 3836230 by andrew.porter EngineTest: Adding Sequence Bone Position automation test Change 3836347 by Max.Chen Sequencer: Fixes to shot name parsing. When a shot doesn't contain a shot number, assume, [ShotName]_[TakeNumber]. When duplicating a shot, put the new shot in the same path of the original shot, so that the take numbers will increment properly. #jira UE-51868 Change 3836552 by Max.Chen Sequencer: Sub section now has a takes menu Change 3838094 by Max.Chen UMG: Fix template finish not getting called on stop. This fixes a bug where sections aren't restored when finished. #jira UE-52285 Change 3838708 by Max.Chen Sequencer: Add notification when the blend type is changed. #jira UE-54046 Change 3840295 by Max.Chen Sequencer: Fix copy/paste crash for lights #jira UE-54084 Change 3840957 by Mike.Zyracki Added Show Only Keyable and Show Only Animated to the filter list in the property editor. Added IsPropertyAnimated to IDetailKeyframe Interface which already had support for showing properties which are keyable (which is used for the key icon next to the properties.). Could have created another interface but then would have had to mimic the sequencer binding, releasing also, so this seemed best way. One issue still left is that custom built detail items currently don't store associated properties(usually) and so certain properties, in particulalry transforms, won't show up as keyable or animated. Note this also shows up with the keyable icon not showing up next to transform tracks, and other filters like Show Only Modified not working with transforms/customs. Not sure best way to tackle this. #jira UESEQ-328 Change 3841756 by Max.Chen Sequencer: Fix unbound possessable components when pasting spawnables. #jira UE-54104 Change 3843950 by andrew.porter EngineTest: Renaming LevelStreaming tests/content to LevelVisibility Change 3844082 by Mike.Zyracki Missing file for animated filter in property editor. When finding if a track is animated we need to find it but we can't easily induce the MovieTrack class for any particular property. So we don't set a class for it and just search by it's ID and name. #jira UESEQ-328 Change 3846902 by Max.Preussner ImgMedia: Fixed image media player never finished initialization if loading failed #jira UE-54247 Change 3849820 by Mike.Zyracki Reassigning deleted widgets didn't work since the menu extender mechanism needs a valid UObject in order to perform an operation on it. So to fix we replaced GetObjectBindingContextMenuExtender in WidgetBlueprint with new delegate mechanism (OnBuildCustomContextMenuForGuid) that supports FGuid in addition to UObjects which is needed to handle re-binding deleted widgets. Note that the default sequencer hacks this for replacing deleted actors in SequencerObjectBindingNode to check to see if a LevelSequence is active. We could move to this mechanism there also. #jira UE-53163 Change 3852211 by Max.Chen UMG: Indicate name of the property that is not bound. #jira UE-54350 Change 3854120 by Max.Chen Sequencer: Fix sibling folders being allowed to have the same folder name. #jira UE-54363 Change 3854627 by Max.Chen Sequencer: Step to next/previous key should work for all tracks if there aren't any selected. #jira UESEQ-391 Change 3855825 by andrew.porter EngineTest: Adding animation blending automation test Change 3855950 by andrew.porter EngineTest: Adding correct expected valuues to animation blending test Change 3856237 by Matt.Hoffman UESEQ-336 - Sequencer Track Reordering Adds the ability to re-order Master Tracks, Folders and Object Bindings within sequencer hierarchies (including UMG). Adds the ability to do a one-off sorting of the content under the old sorting behavior if the user wants to reset their layout to how it was under legacy behavior. Modifies SequencerTrackNodes, SequencerFolderNodes and SequencerObjectBindingNodes to handle CanDrop/OnDrop for above, below and ontop of. Fixes a Slate Issue that forcibly expanded a TreeviewRow if an item handled OnDrop. Slate will now only forcibly expand the row if the item says the drop happened ontop of the item, and not above or below it like it previously did. Change 3856503 by andrew.porter EngineTest: Adding automation test for using animation blueprint with blend multi node in sequencer Change 3857875 by Max.Chen Sequencer: Assign the sequence id after the template is compiled. #jira UE-54462 Change 3858344 by Max.Chen Sequencer: Prevent Goto and Transform boxes from overlapping by allowing them to be visible at the same time in an autosized horizontal box. Also, added close button to the goto box. PR #4425: Prevent Goto and Transform boxes from overlapping in Sequencer ... (Contributed by projectgheist) #jira UE-54210 Change 3860566 by andrew.porter MediaFrameworkTest: Set the option to index 0 for the audio and video track list by default Change 3860654 by andrew.porter EngineTest: Enabling Camera Cut + FOV test Change 3860981 by andrew.porter EngineTest: Updating skeletal mesh tests with a delay after set playback position Change 3861256 by Max.Chen Sequencer: Add all bindings if none selected. #jira-54440 Change 3862154 by Andrew.Rodham Added TimeManagement module Change 3862424 by andrew.porter EngineTest: Turned on the test Bone Positions with Blend Multi Node Change 3862573 by andrew.porter EngineTest: Adding test to compare bone positions in a sequence that is blending an animation that is using an AnimBP Change 3865117 by Max.Chen Sequencer: Stop auto scroll on mouse release of movement. #jira UE-31212 Change 3865303 by Max.Chen Sequencer: Add drag and drop transactions #jira UE-54662 Change 3865304 by Max.Chen Sequencer: Fix crash when an actor factory is not found. Change 3865361 by Max.Chen Sequencer: Don't change the camera/shot lock button when popping out of a sequence. #jira UE-54665 Change 3865412 by Max.Chen Sequencer: Determine whether a transform track is for a camera by using the spawned object or template #jira UE-54666 Change 3865685 by Max.Chen Sequencer: Clear autoscrub offset when stopping autoscroll #jira UE-31212 Change 3865886 by Max.Chen Sequence Recorder: Log an error if the number of frames changes while recording. This can happen if the skeleton changes while recording. #jira UE-48715 Change 3866925 by Andrew.Porter MediaFrameworkTest: Changing the current PNG test video image sequence to 1024 x 576 Change 3867705 by andrew.porter QAGame: Adding Audio Sort Sequence to dev folder Change 3867890 by andrew.porter QAGame: Adding a sequence for testing a sorting crash to my dev folder Change 3872628 by Max.Chen Movie Scene Capture: Split delay before warmup into split delay before shot warmup so that there's separate controls for when the movie scene capture warmups up vs. shot boundaries. Change 3873131 by Matt.Hoffman UE-54732 - Crash reordering a folder with a track. This was caused by folders being the only type of track to check if someone was putting a parent track into a child track. Object Binding tracks and Tracks now check as well so that you can't use the above/below drop targets to add parents as children. This also fixed a typo in the localization keys. #jira UE-54732 Change 3873301 by Mike.Zyracki Added ability to support continous euler angle changes when changing rotations, in particularly with the rotation gizmo's. To do this we effectively added a form an of 'euler filter'(https://en.wikipedia.org/wiki/Euler_filter) to find the closest euler angle to the current euler angle. Three functions were added to FRotator to make this possible, one to get the euler angle that's has the same rotation as it, one to get the difference between two euler angles via Manhattan distance and a third using the previous two to choose a Rotator value that's closest to it. We then use these functions before calling UComponent::SetRelativeRotation to make sure we use the correct Euler after the Quat conversion. We also no longer limit(bound) the euler angles to -180,180, which is obviously necessary to avoid flips. I also changed how we caluclate yaw and roll when pitch is -90 or 90 to make it the standard approach of zeroing out roll and just setting yaw. Main reasons are the previous implementation had precision issues so things like 180, 90, -180 would show up due to numbers being nearly zero but negative,(this would break any smooth interpolations), and this facilitates having a 'gimbal' rotation mode (like Maya, Blender etc..) if we ever want that also. If needed we could keep the previous implementation but would need to add some FMath::IsNearlyZero checks, with less performance. Note we only do this special filtering when applying delta's to actors or components in the editors, which then call UComponent::SetRelativeRotationExact, which is a new function to foces the RelativeRotation to be equal to the new rotation. This allows us to store un-nomalized Rotators at the cost that the RotationCache may be broken. We didn't change any of the other UComponent functions that set rotations (via Quats or Transforms) so they will still be bounded and unwound. In SetInternalWorldLocationAndRotation we only set the rotation if the rotation has changed, which fixes the rotation getting changed and re-normalized if just translate happens. In TransformTrackEditor, we correclty use the bUndwing flag and in MovieScene3DTransformSection there was an un-needed winding check there, it will be unwound earlier if needed, which happens if Sequence Recording is happening. Max we should talk about what to do about this . Note the euler angle drag via the widget is still bound to 0-360. I think we should just unbound that now since the rotations value are now unbound. This review now includes fixes suggested by Zak. #jira UE-UE-22228 Change 3873483 by Matt.Hoffman Sequencer Tracks can now be inserted above the spacer at the bottom of the tree. #jira UE-54706 Change 3873899 by Max.Chen Sequencer: Add section selection throbbing Change 3873908 by Max.Chen Movie Scene Capture: Added logging per frame Change 3873924 by Matt.Hoffman Adds the ability to store Sequence Recorder setups into profiles that stay with the map and can be re-loaded later. Profiles store the Actor Recordings so the settings for each actor should carry with them. #jira UESEQ-339 Change 3874726 by Matt.Hoffman Disable drag-and-drop targets on spacers that come between rows in Sequencer. This prevents extra drag/drop targets showing up between each row. #jira UE-54706 Change 3874862 by Matt.Hoffman Audio Track no longer gets reordered when adding sub-audio tracks, as sub-tracks are no longer counted towards the sorting order index when normalizing indexes. #jira UE-54727 Change 3875905 by Matt.Hoffman Disable Fade Track UI if a fade track already exists in the sequence. #jira UESEQ-393 Change 3876163 by Max.Chen Sequencer: Swap the camera object to the camera component's owner if it's not the same. #jira UE-54874 Change 3876971 by Andrew.Porter EngineTest: Moved Media Player Seek test to new folder. Also enabled the test with new ground truth image. Change 3877040 by Max.Chen Cine Camera: Split camera properties to two groups, "Camera Options" and "Camera Settings". The cine camera now hides properties in the "Camera Settings" group so that properties like bConstrainAspectRatio (in the "Camera Options" group) can be visible. #jira UE-54192 Change 3877763 by Max.Chen Curve Editor: Fix curve changed on end drag so that only curves that had keys/tangents that were changed receive notification, otherwise all loaded curves were getting notified that they were changed. #jira UE-54951 Change 3878234 by Matt.Hoffman Disable "Drop Below" targets for Sequencer Tree nodes to prevent a confusing UX issue where dropping underneath a Object Binding Node puts it after the object binding node but the UI looks like it's inserting it inside the Object Binding node. #jira UE-54743 Change 3879359 by Mike.Zyracki If a track is inactive we dim it a bit which seems to be the UE4 way to show inactive or disabled state. We changed the active logic so that all subtracks need to be inactive for the track to also be inactive(instead of all active for active). This conforms to how the active state actually works, e.g if you have two sections and only one is active the track is still active above it. #jira UESEQ-388 Change 3879462 by Max.Chen Sequencer: Allow dragging onto a particular row which would move out any overlapping sections to make space for the newly created section. Newly created sections are now selected and throbbed to draw attention to themselves. #jira UE-54664 Change 3879464 by Max.Chen Sequencer: Fixed overlapping ranges being inserted into the evaluation field during compilation - The issue was that track segments that had been combined with adjacent segments (due to them being identical) would potentially cause a subsequently compiled frame to overlap with a range that had already been inserted into the evaluation field. - The insertion code previously asserted that only minor overlaps were catered for (due to fp rounding errors) and assumed that a supplied range could not entirely contain any other range in the field. - The solution is to supply the insertion time along with the range to know exactly where the data should live in the field, and crop the range to the maximum allowable space between adjacent ranges. #jira UE-54922 Change 3879590 by Matt.Hoffman Items that are now added to the Sequencer via the "+Track" menu will be selected after being added. Items can now be added inside of folders instead of just to the root level. #jira UE-27397 Change 3879612 by Mike.Zyracki Display Nodes with no children are always active. #jira UESEQ-388 Change 3879730 by Matt.Hoffman Sequence Recorder's actor recording groups now remove items from the group when removed via the UI. #jira UESEQ-339 Change 3880256 by Mike.Zyracki Fix issue with inactive display with folders and other track nodes. #jira UESEQ-388 Change 3883491 by Max.Chen Fix issue where tick is skipped due to last ticked pose isn't cleared after AnimInstance changes. Copy from Release-4.19 #jira UE-51323 Change 3883603 by Max.Chen Movie Scene Capture: Add option toggle disable screen percentage. By default this is on (no change in current behavior). #jira UE-51898 Change 3885074 by Max.Preussner MediaCompositing: Resetting media texture & freeing resource on section end; removed dead code Change 3887220 by Max.Preussner MediaCompositing: Defaulted media section duration to 1 sec (since we do not know the actual duration in most cases) Change 3887478 by Matt.Hoffman Sequences now show [Inactive] in their title bars when they're disabled. This helps communicate why a sequence isn't being evaluated. #jira UE-51469 Change 3888985 by Max.Chen Movie Scene Capture: Clamp HDR Compression Quality between 0 and 1. #jira UE-55136 Change 3893519 by Max.Chen Sequence Recorder: Clarified tooltip for bRecordNearbySpawnedActors - spawned actors will still be recorded if they match the ActorFilter. #jira UE-55238 Change 3893546 by Max.Chen Sequence Recorder: If a selected actor already has a recording, add a blank recording. #jira UE-55239 Change 3894044 by Max.Preussner MediaCompositing: Added support for seeking into a media section Change 3894310 by andrew.porter MediaFrameworkTest: Adding Img media sources for 1080 and 2160 ravent test content Change 3894426 by Max.Preussner MediaAssets: Letting media textures with AutoClear retain their clear color when player is reset Change 3895717 by Max.Chen Sequencer: Null checks to prevent crash when saving the default state of a spawnable #jira UE-55304 Change 3897388 by Max.Chen Sequencer: Don't update current time to be within the view range when stepping into a sequence. #jira UE-55322 Change 3897452 by Max.Chen Audio: Fix crash when trying to record audio without any active capture devices. Log warning if the number of input channels is not 1 or 2. #jira UE-55223 Change 3897619 by Max.Preussner MediaCompositing: Removed commented out code Change 3898072 by Max.Chen Sequencer: Override the animation asset in the player state if it doesn't match the animation asset that's being evaluated. #jira UE-55328 Change 3898272 by Max.Preussner MediaPlayerEditor: Made slate brush constants static Change 3898704 by Max.Chen Sequencer: Skip if the binding id's sequence can't be found. #jira UE-55337 Change 3899855 by Max.Preussner MediaCompositingEditor: Added cache state visualization to media track Change 3900300 by Max.Preussner MediaCompositingEditor: Added loop indicators to media sections Change 3900694 by Max.Preussner ImfMedia: Looping cache only when player is looping Change 3900892 by Max.Preussner Stats: Added stats category for media framework Change 3900954 by Max.Preussner MediaCompositing: Don't evaluate at the end of media section Change 3901348 by Max.Preussner Core: Replaced TLruCache autos for better readability Change 3901655 by Max.Preussner ImgMedia: Added more perf stats to EXR reader Change 3901972 by Max.Preussner MediaAssets: Added getter for media player in media sound components Change 3902233 by Max.Preussner MediaAssets: Enabling media textures to receive samples right after player is assigned Change 3902238 by Max.Preussner MediaCompositing: Working around init/shutdown idiosyncracies in sequencer Change 3904045 by Max.Chen Sequencer: Fix copy/paste crash. Only process UMovieSceneCopyableBinding and objects that can be spawned by the movie scene spawn register. #jira UE-55314 Change 3905605 by Max.Chen Sequencer: Restrict spawnables from being created if they have a ClassWithin that UMovieScene is not a child of. #jira UE-55429 Change 3906550 by Max.Chen Sequencer: Add media track icon #jira UE-55480 Change 3907101 by Max.Chen Sequence Recorder: Fix bugs related to not recording a level sequence. There were certain assumptions that creating a level sequence meant that sequence recording was in progress. This is not always the case - the recorders can record animation assets and not create a level sequence. Changed the notion of IsRecording() to having at least one actor recording that is recording. Countdown timer, recording displays, etc should function if IsRecording() and not based on whether a level sequence is created. #jira UE-55485 Change 3907247 by Max.Chen Sequence Recorder: Fix crash not removing PrepareToCleanseEditorObject delegate. Repros when opening sequence recorder, closing it, and then opening or creating a level. Change 3910343 by Max.Preussner Core: Added async helper for executing functions on a given thread pool Change 3910346 by Max.Preussner ImgMedia: Added separate thread pools for loading/decoding and deleting image frames Change 3910829 by Max.Preussner Profiler: Increased visible range of profiler graph Change 3910841 by Max.Preussner MediaCompositing: Displaying asset name instead of full media source path in media section Change 3910870 by Max.Preussner ImgMedia: Using deallocation thread pool only in debug builds Change 3919642 by Max.Chen Sequence Recorder: Clarify active tooltip #jira UE-55661 Change 3919660 by Max.Chen Sequencer: Sequence template source signatures are now also compared to catch the case where a sub-sequence asset has been saved but not modified - The following sequence of events exposes this issue: - Create a master sequence with a single shot that spawns a cube - Add this sequence to a level and set it to auto-play - Save everything and restart - Resave just the inner shot asset without opening it - PIE - The inner shot never spawns its cube because its template was wiped on save, but its signature never changed. Since the master sequence previously didn't check the template source signature, it ends up trying to evaluate an empty template. #jira UE-55626 #jira UE-55490 Change 3921825 by Max.Chen Sequencer: "Run Construction Script in Sequencer" is off by default for blueprints but on for Sequencer. This allows the content author to switch it on for specific blueprints and sequencer will be default, run those with construction scripts enabled. Change 3922232 by Max.Chen Sequence Recorder: Reset countdelay on stop. #jira UE-55755 Change 3922306 by Max.Chen Sequence Recorder: Don't automatically mark transforms to be recorded by sequence recorder. Instead, log a warning if the user toggled it off to warn that the resulting animation might not match gameplay. #jira UE-55758 Change 3922912 by Max.Chen Sequence Recorder: Fix refresh next sequence name #jira UE-55757 Change 3927654 by Max.Chen Movie Scene Capture: Added format mapping for the name of the current camera #jira UE-55769 PR #4537 Change 3927658 by Max.Chen Sequencer: Added fbx property mapping for "FocusDistance" to "FocusSettings.ManualFocusDistance" #jira UE-55782 Change 3932022 by Max.Chen Sequencer: Add import animation track section to next available row index. #jira UE-55892 Change 3933919 by Max.Chen Sequencer: Jump to playback start frame and not 0 to start playback for recording. #jira UE-55933 Change 3934307 by Andrew.Rodham Sequencer: Add template signature that is re-generated every time the base template is regenerated, which invalidates evaluation fields This fixes an issue where the same sequence is instantiated multiple times in a sequence. If the source sequence was saved, its template would be wiped, which would invalidate the template ID When an instance tries to evaluate the master template, it would only invalidate a range in the evaluation field that was the hull of any invalid sub sequences overlapping the current time, potentially leaving invalid data in the evaluation field at positions later (or earlier) on in the sequence When the sub template was re-generated, it receives the same SequenceSignature as it had before (because the sequence hasn't actually changed), which causes the stale evaluation field data to fail the IsDirty check (because the sequence is the same as it thought, but the *template* has changed) This has been addressed be adding a signature to templates themselves, and checking both the template signature and sequence signature as a part of the IsDirty check. This ensures that we regenerate if either the template, or the sequence have changed. #jira UE-55934 Change 3936327 by Andrew.Rodham Sequencer: Removed increment when trimming right UMovieSceneSection::TrimSection already explicity assigns an exclusive bound to the time passed in. The new behavior means we can trim a section to the right, and insert another section without changing the time to create adjacent sections. #jira UE-42652 Change 3936328 by Andrew.Rodham Fixed KeyFrameManipulator assignment operators and copy/move constructors - These types are potentially self-referential so cannot use default constructors/assignment Change 3936330 by Andrew.Rodham Converted UMGSequencePlayer to use frames internally #jira UE-54878 Change 3936726 by Max.Chen Sequencer: Set track node as the parent of the key area node. The key area switcher needs the object binding id from the parent object binding node. Without this, the binding to the external value fails. #jira UE-55931 Change 3936775 by Max.Chen Sequencer: Should stop or loop should compare DurationFrames with Current Time from StartTime. The bug is that if you set 30 warmup frames in movie rendering for a range of 0-100, the FrameRange will be starting at -30 and have a duration of 130. Without this fix, the playback will continue until frame 130, rather than 100. #jira UE-55933 Change 3936935 by Matt.Hoffman Easing Curves are now represented in Play Rate resolution instead of internal resolution. #jira UE-55937 Change 3937069 by Matt.Hoffman Users can toggle if the is infinite on each side, limited by which tracks support infinite ranges. #jira UE-55891 Change 3937516 by Max.Preussner ImgMedia: Added support for single-threaded platforms #jira UE-55986 Change 3937826 by Max.Preussner MediaAssets: Disabling media sound components on HTML5 if AudioMixer is not enabled Change 3937997 by Max.Chen Curve Editor: Add Zoom to Fit Curves so that selected curves from Sequencer can be focused on. Tested that undo doesn't re-zoom. #jira UE-55935 Change 3938000 by Max.Chen Sequencer: Stop all sounds before generating audio waveforms. #jira UE-55951 Change 3938376 by Max.Preussner XGEController: Disabled XGE Controller in single-threaded apps to prevent crash Change 3938444 by Max.Preussner Core: Added async support for single-threaded applications Change 3938445 by Max.Preussner Networking: Added support for single-threaded applications in UDP socket sender/receiver Change 3938447 by Max.Preussner Messaging: Added support for single-threaded applications Change 3939432 by Max.Chen Sequence Recorder: Append command list to global level editor actions so that shortcuts are accessible in level editor. #jira UE-55798 Change 3940229 by Andrew.Rodham Added prospective display rate upgrade to UMovieScene::PostLoad - There was previously some very odd behaviour that would assign the fixed frame interval only when a sub sequence was focused in SSequencer. This meant that many sequences could have a frame interval of 0 set in the data. - Under the old method of snap interval display this would have fallen back to getting the display interval from the sequencer settings, but we no longer look at these. - The USequencerSettings properties have been removed and in their place, a prospective data upgrade for sequences that have a fixed frame interval old 0fps that sets the play rate to the previous defaults based off the old USequencerSettings defaults. - This could end up 'changing' the display rate for sequences where the user has changed the snap interval in the settings for a particular sequence editor, but there's not much we can do about that given we don't have access to the USequencerSettings classes in UMovieScene #jira UE-55919 Change 3940277 by Andrew.Rodham Sequencer: Added ability to default frame resolutions and play rates for newly created actor sequences Change 3940378 by Andrew.Rodham Sequencer: Post move import dialog now defaults to the playback framerate of the sequence, and floors to frame numbers Change 3940559 by Andrew.Rodham Reinstated primed or recording sequence color Change 3940642 by Max.Preussner ImagePlate: Removed image plate media playback functionality Change 3940843 by Max.Preussner Core: Made TCircularQueue actually thread-safe; improved code comments Change 3940860 by Max.Chen Sequencer: Changed StructNameToKey to StructPathToKey Previously, keying a PropertyPath of [RenderTransform][Shear][X] would get trimmed to X, which doesn't map to a channel name as considered by Sequencer2dTransformTrackEditor. Instead, trim the resulting property path to [Shear][X] so that track editors can determine the desired struct path and channels to key. #jira UE-52966 Change 3941292 by Mike.Zyracki Fix for trajectories out of range not showing up. 1) If we had no key data we would pop the time, so wouldn't get the section ranges. 2) Calculating of upper bound was wrong, checking against -1 and not key == num of keys when doing algo::lower_bound. 3) No need to do the Bck-- for the bakward iterators since we fixed #2. We start now from the upper bound correctly. 4) If we had no keys (at section start,end) we would incorrectly say we were any key type, so since we draw constant keys as dashed we would do so incorrectly around section end points. #jira UE-55929 Change 3941424 by Max.Chen Curve Editor: Change Zoom to Fit to use TArrayView Change 3941498 by Max.Preussner Core: Added FMath::DivideAndRoundNearest function Change 3942097 by Matt.Hoffman Drop Frame Timecode Support for NTSC rates. Change 3942104 by Matt.Hoffman Sequence Recorder Group is no longer visible inside the World Outliner after using one. #jira 55266 Change 3942107 by Max.Chen Sequencer: Resurrect logic to find or extend an existing section when adding keys. Change 3942330 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942339 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942507 by Andrew.Rodham Sequencer: We no longer pad the time overlap threshold with a small number that is not scaled by the current zoom level - The presence of this pad was causing keys that were far apart to be grouped when zoomed in a long way Change 3942509 by Andrew.Rodham Sequencer: Only pad total view range, rather than section range as well when retrieving keys to render - This stops us from rendering keys that are within the view range, but outside the section range Change 3942512 by Andrew.Rodham Added transactions to some sequencer details customizations Change 3942513 by Andrew.Rodham Sequencer: Reinstated validation checks to UMovieSceneSection::SetStartFrame and SetEndFrame, changed erroneous uses to use SetRange Change 3942560 by Andrew.Rodham Pass by rvalue reference to appease error C2719 on Win32 ('InChannels': formal parameter with requested alignment of 8 won't be aligned) Change 3942697 by Andrew.Rodham Newly Created Level Sequences and Actor Sequences now default to 24000 fps frame resolution (+/- ~24hrs range, supporting all integer rates + 23.976) Change 3942700 by Andrew.Rodham Sequencer: Added legacy out-of-bounds errors for times that are not supported by the current legacy upgrade frame resolution Change 3942989 by Max.Preussner Core: Fixed circular queue count calculation Change 3943538 by Max.Preussner MediaAssets: Reverted workaround for procedural audio log spam in HTML5 (Actor component initialization cannot be skipped if the component is used in a level) Change 3944071 by Max.Preussner QAGame: Fixed Media Texture keeps last frame of Media when PIE ends #jira UE-53360 Change 3944292 by Max.Chen Sequencer: Added extra flags to ensure that asset initialization does not occur on template actor sequences #jira UE-56113 Change 3944364 by Max.Chen Sequencer: Prevent circular shot/master tracks. Tested adding master -> child -> master as drag and drop cinematic shot tracks and sub tracks as well as through the + button. #jira UE-56091 Change 3944422 by Max.Chen Sequence Recorder: Disable transform recording if off. #jira UE-56061 Change 3944745 by Andrew.Rodham Sequencer: Key rendering fixes - Fixed assert that occured when keys happened to reside on some times due to KeyTime + TimeOverlapThreshold - KeyTime being slightly larger TimeOverlapThreshold - Fixed keys sometimes being clipped when zoomed right in due to lack of half-frame offset - Added missing documentation to MovieSceneTimeHelpers.h #jira UE-56107 Change 3945231 by Andrew.Rodham Sequencer: Reconstruct channel proxy on Serialize to catch all cases of undo/redo, PostLoad and duplication #jira UE-56089 Change 3945301 by Andrew.Rodham Sequencer: Added safety checks during initial sequence recording to guard against applying negative or 0-sized sequence ranges #jira UE-56125 Change 3946627 by Max.Preussner Fortnite: Fixed game crashes closing editor while in PIE - Pure virtual function being called #jira UE-56144 [CL 3946896 by Max Chen in Main branch]
2018-03-14 22:09:33 -04:00
for (double CurrentMajorLine = FirstMajorLine; CurrentMajorLine < LastMajorLine; CurrentMajorLine += MajorGridStep)
{
float MajorLinePx = RangeToScreen.InputToLocalX( CurrentMajorLine );
LinePoints[0] = FVector2D( MajorLinePx, InArgs.TickOffset );
LinePoints[1] = FVector2D( MajorLinePx, InArgs.TickOffset + InArgs.MajorTickHeight );
// Draw each tick mark
FSlateDrawElement::MakeLines(
OutDrawElements,
InArgs.StartLayer,
PaintGeometry,
LinePoints,
InArgs.DrawEffects,
InArgs.TickColor,
bAntiAliasLines
);
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 4044339) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3947021 by Max.Chen Sequencer: Don't preserve root component when copying object properties. A spawnable empty actor, has a root component that is generated by the empty actor factory. If the object template's root component is preserved when copying from the spawnable empty actor, the root component will not be copied over. Therefore, we need to NOT preserve the root component when copying object properties. #jira UE-55825 Change 3947366 by Max.Preussner WmfMedia: Better log output Change 3947367 by Max.Preussner MfMedia: Better detection of compressed format properties on Windows Change 3949102 by Max.Chen Sequencer: Remove SequenceActorTag when converting to possessable. #jira UE-56206 Change 3949207 by andrew.porter EngineTest: Set the screenshot nodes resolution to 1280x720 Change 3949404 by Max.Chen Sequencer: More informative tooltip for "Rerun Construction Scripts" option. It now says "Rerun construction scripts every frame on actors that have 'Rerun Construction Script in Sequencer' enabled in their class settings". Change 3950067 by Matt.Hoffman Renamed UAutomatedLevelSequenceCapture's StartFrame and EndFrame to CustomStartFrame/CustomEndFrame to reflect that it is user-overriden. This will also resolve upgrade issues due to the variable datatype changing. #jira UE-56189 Change 3950193 by JohnHenry.Carawon Updating my latest MovieRendering test content. Change 3950757 by JohnHenry.Carawon More updates to MovieRendering test content Change 3952059 by Max.Chen Resave LevelVisibility_SubLevels to fix data loss conversion warning of OpacityMaskConstant #jira UE-56086 Change 3952283 by Max.Chen Sequencer: Disable dropping level sequence assets as spawnables. #jira UE-56120 Change 3952422 by Max.Chen Sequence Recorder: Add button to record from the current player. #jira UE-55942 Change 3952987 by JohnHenry.Carawon MovieRendering Test Content - Fixing camera bindings and changing the override binding actor Change 3953823 by Mike.Zyracki Fix for Bad FBX Import Tangents not scaled by frame rate. After looking at this again it seems that a set of MovieScene:: overiddes for the channel traits wasn't set correctly, so use the ADL idiom to use MovieScene, which can then call Optimize in the correct namespace. With this we can now correctly use the passed in tolerance. There was also a redundant set of Optimize calls so that it could happen twice so removed them, and needed an extra check in the float channel Optimize. Also since we need to set auto tangents no matter if we optimize we don't set that parameter(though leave it since it's used by context menu key reduction). Finally fixed speed issue with trajectories caused by calculating way too many substeps. Reverted back to a time based step size for consistency. #jira UE-56193 Change 3954317 by Matt.Hoffman Adding a key to the last frame of a section no longer causes a crash. Keys can already be moved to be on the last frame of a section so now you can just add a key there directly. #jira UE-56255 Change 3954326 by Matt.Hoffman Dilating a section that is only infinite on one side no longer causes a crash. #jira UE-56260 Change 3954486 by Max.Chen PR #4580: Exposes IsReversed() from UMovieSceneSequencePlayer (Contributed by alanedwardes) Change 3955238 by Max.Preussner Messaging: Enabled delayed message routing https://github.com/EpicGames/UnrealEngine/pull/4574 #jira UE-56247 Change 3955901 by Max.Preussner MediaFrameworkTest: Added developer test for overriding desired media player plug-in at runtime. Change 3955922 by Andrew.Porter QAGame: Updating movie rendering content in dev folder Change 3956004 by andrew.porter QAGame: Adding MPC track to movie rendering test content Change 3956510 by Max.Chen Sequencer: Fix fbx camera import of static properties so that they are imported before default tracks are created. Otherwise, the default tracks inherit the default properties of the camera, rather than the values from the fbx. #jira UE-56311 Change 3957613 by Max.Preussner MediaUtils: Added code documentation to media player facade Change 3958005 by Max.Preussner MediaUtils: Added method to get number of sinks Change 3958934 by Max.Chen Sequencer: Fix keys getting added and sequence getting erroneously re-evaluated when auto key is off. Only apply defaults if there are no keys. Only modify the movie scene section before creating keys or setting defaults. #jira UE-55903 Change 3959687 by Andrew.Rodham Sequencer: Fixed visibility track external values being inverted #jira UE-56324 Change 3960507 by Max.Preussner Core: Fixed incorrect rounding in FMath::DivideAndRoundNearest Change 3962047 by JohnHenry.Carawon MovieRendering Test Content Changes: - Add Lightmass Importance Volumes to sublevel to fix warnings - Rebuilt Lighting - Add a third sequence for Gamut testing - Resaved the sound master.uasset to fix warning Change 3962211 by Mike.Zyracki Add Frame Numbers to selected animation sections. Added MapTimeToAnimation to MovieSceneSkeletalAnimation so that we could get it from the Skeleton Animation track Editor. Since the thickness of the frame line can change based upon frame rate and zoom we need to calculate it similarly to how the time slider controller does it. Those calculations were private so we had to expose FScrubRangeToScreen and GetScubberPixelRange from the TimeSliderController. Also needed to know if the section itself was selected so added a bIsSelected flag to the section Painter. Also fixed a bug where you couldn't add a section if other sections existed at different times in MovieScenePropertyTrack and could crash due to the check(). #jira UESEQ-395 Change 3962497 by Max.Preussner Core: Added new string formatting argument to FTimespan Change 3963662 by Max.Chen CineCamera: Flip VistaVision width and height. Change 3963731 by Max.Preussner MediaCompositing: Implemented sequence recording support for media track Change 3964195 by Andrew.Rodham Sequencer: Set inverted property correctly for newly created visibility track sections - Also clamp evaluation for key editors to the bounds of the section so we're not displaying values outside of the section bounds when the cursor is not on the bounds #jira UE-56324 #coderevew Max.Chen Change 3964196 by Andrew.Rodham Sequencer: Fixed crash when attempting to render sections that resulted in a negative intersection with the view range Change 3964275 by Andrew.Rodham Sequencer: Fixed MovieScene::ClampToDiscreteRange for infinite range bounds Change 3964364 by Andrew.Rodham Curve Editor: Reduce minimum vertical view range when zooming to fit Change 3965091 by Max.Chen Sequencer Recorder: Refresh next sequence if empty when starting a recording, otherwise, use existing name. #jira UE-56469 Change 3965148 by Max.Chen Sequence Recorder: Move Record to Possessable to "Actor Recording" group Change 3965162 by Max.Chen Sequence Recorder: Always break out of immersive mode when done recording, even when stopping recording during countdown. #jira UE-56407 Change 3965214 by Max.Preussner QAGame: Enabled ImagePlate plug-in Change 3965574 by Max.Preussner SimpleComposure: Reorganized & upgraded content to work with new Media Track #jira UE-56488 Change 3965651 by Max.Preussner MediaCompositing: Ignoring seek-on-open if media not seekable Change 3966075 by Christina.TempelaarL Sequencer: Added Final Cut Pro 7 XML Export functionality #jira UESEQ-358 Change 3966087 by Matt.Hoffman Adding a single key to the Particle Toggle track now makes an infinite range section that is displayed in the UI. #jira UE-56295 Change 3966547 by Andrew.Rodham Sequencer: Fixed rounding errors when drawing the section background on boolean sections - Logic was using time in sectonds which caused rounding errors on evaluation and flickering red/green stripes when dragging keys around #jira UE-56324 Change 3966563 by Andrew.Rodham Curve Editor: Key editor interface improvements - SKeyEditInterface has a few problems - it does not update in real time when editing properties, and does not support multi-edit which makes it unsuitable for use with the curve editor - We now take a different approach for editing keys by gathering a set of proxy UObjects for each key that is currently selected. These objects are added as top level objects to the details panel which means they support multi edit as you'd expect from any other details panel in the editor. - Proxy objects are updated every tick for the curve editor if they implement the ICurveEditorKeyProxy interface, which allows them to refresh their current value. - Ideally, the same mechanisms would be used in the main sequence interface, and we would be generating the proxy classes at runtime based on the key value type, but that work remains a separate task from this initial offering. #jira UE-56165 Change 3966564 by Andrew.Rodham Curve Editor: Expand to frame when adding or moving keys in the curve editor Change 3967051 by andrew.porter MediaFrameworkTest: Set the CameraPlayer_Video texture to auto clear Change 3967141 by Andrew.Rodham Sequencer: Keep track of spawned objects that have been modified and only re-save such object's default spawnable state on destruction - Now that we're taking this approach, I've remove serveral redundant bits of functionality in the spawn register such as making some spawnables read-only, and the PreSave binding for Sequencer. - We now hook into all object pre-saves to make sure we handle the case where the sequences are saved through the content browser or elsewhere. #jira UE-47686 Change 3967170 by Andrew.Rodham Sequencer: Added the ability to possess anim instances as object bindings - This allows full and direct animation of properties on UAnimInstance, and animation blueprints - Object Bindings are made by first possessing a skeletal mesh component, then choosing the + Add button where its anim instance will be listed - Added a new function to UMovieSceneSequence to gather previously cached objects that should now be invalidated. Anim instances will be re-resolved if a new UAnimInstance is assigned to USkeletalMeshComponent::GetAnimInstance. - ObjectBindingIDs for anim instances are just represented by an entry in a set of GUIDs. We only ever resolve such bindings through USkeletalMeshComponent::GetAnimInstance. - Only currently supported on LevelSequences #jira UE-56132 Change 3967195 by Max.Preussner Core: Updated TRangeSet to use TCallTraits Change 3967345 by JohnHenry.Carawon Test Content Changes - first iteration of spacing out the examples in the shots. Change 3967572 by Max.Chen Sequencer: Fix setting PreviousPlayEvalPosition until after we've tested whether it's set. #jira UE-56518 Change 3967750 by Max.Chen Audio: Set duration based on number of input channels, rather than number of channels to serialize. This fixes an issue where audio split into 2 channels is set to a duration that's twice as long. #jira UE-56430 Change 3967836 by Max.Chen Sequencer: Allow for animating array elements within ustruct properties #jira UE-55887 Change 3968506 by Matt.Hoffman Fixed ambiguous conversions for seconds and frames being overriden by ambiguous conversion to Timecode (in frames). Change 3968748 by Max.Chen Sequencer: Make the event properties submenu widget larger. #jira UE-55557 Change 3968862 by Max.Chen Sequencer: Recursive expansion when shift is down #jira UE-52139 #pr 4194 Change 3968863 by Max.Chen Sequencer: Bind rename command to selected track so that F2 shortcut start renaming #jira UE-52139 #pr 4194 Change 3968872 by Max.Chen Sequencer: Rekey the selected key at the current time. #jira UESEQ-396 Change 3968938 by Max.Chen Cine Camera: Add option to toggle the behavior of locking the rail mount to the orientation of the spline. By default, the option is off, no change in behavior. #jira UE-55815 Change 3968958 by Andrew.Rodham Sequencer: Consider vertical position when hittesting keys #jira UE-56256 Change 3969643 by Max.Preussner Core: Rounding timespans created from double values towards nearest ticks Change 3969646 by Max.Preussner MediaUtils: Implemented timeout mechanism for block-on-fetch feature Change 3969776 by Mike.Zyracki Added Skip Anim Notifiers Toggle per what was in Matinee. Investigated the Enable Root Motion toggle as also discussed but it's implementation is directly contained by the animation asset and unlike animation notifies there seems to be no exposure to interactively disable it during a playback tick. Note if we are generating thumbnails we still automtically disable notifies in the editor to avoid annoying noise playback. Note that if Enable Root Motion/Root locked is specified in the animation asset it does correctly effect the Sequencer. #jira UESEQ-399 Change 3969835 by Matt.Hoffman Playback Range and Selection Range use unified logic for adding themselves as potential snap locations which properly handles inclusive/exclusive bounds. This resolves an issue where having an unset selection range caused a potential snap location to be added on frame 0 and 1 (internal resolution) which caused a misalignment when placing objects near frame 0. This also removes the one frame offset on setting Selection Range to bring behavior inline with other ranges. #jira UE-55420 Change 3969885 by Max.Preussner MediaAssets: Don't register media player CDO with media ticker Change 3971129 by Andrew.Rodham Sequencer: Fixed UMovieSceneSequencePlayer::GotToEndAndStop() not taking into account for start time This is a remnant from when the times were always specified in 0-duration space, rather than actual sequence times. Change 3972056 by JohnHenry.Carawon More updates to Test Content. I continued spacing out the examples in the sequence so that they have a consistent number of frames between each example and during the start/end of the example. Also removed the Marcie sublevel. Change 3972066 by Andrew.Porter MediaFrameworkTest: Setting Marcie folder to be never cooked in package settings Change 3972675 by Matt.Hoffman Splitting Subsequence Sections no longer sets an incorrect playback range on the subsequence when the subsequence has a different internal resolution than the owning sequence. #jira UE-55453 Change 3973376 by Max.Preussner ImgMedia: Zero is the only valid video track for image sequences Change 3973489 by Max.Preussner Launch: Build rules cleanup pass - don't use Media, MediaUtils on server apps - don't link against Media (include-only dependency) - don't include from MediaAssets (dynamic load only) Change 3973760 by Max.Preussner MediaUtils: Moved AppMediaTimeSource implementation into its own file; added logging Change 3973765 by Max.Preussner ImgMedia: Disallowing seek beyond media length Change 3973855 by Max.Preussner MediaFrameworkTest: Updated developer test content Change 3973858 by Max.Preussner MediaCompositing: Blocking on media player time instead of media sample time (the former may not be hit in the current frame) Change 3974988 by Max.Chen Sequencer: Fix trim left so that it also sets the start offset for audio and skeletal animation sections. #jira UE-57015 Change 3976101 by Matt.Hoffman Sequencer will now focus the scroll view on newly created items. #jira UE-56492 Change 3976203 by Max.Chen Property Editor: Add DetailsViewArgs for ColumnWidth. Defaults to 0.65f, no change in existing behavior. Change 3976205 by Max.Chen Sequencer: Set better column widths for sequencer. #jira UE-55557 Change 3976206 by Max.Chen Sequencer: Added menu category for import/export Change 3976265 by Matt.Hoffman Tracks within Object Binding Nodes will now sort using the old behavior so that components are added above other track types. #jira UE-56473 Change 3976901 by Max.Chen Sequencer: Add event names to event track section #jira UESEQ-353 Change 3977878 by Max.Preussner Media: Moved media framework ticking stats into Media module Change 3977982 by Max.Chen Sequencer: Add Edit->Reset section length to duration of source (ie. audio, skeletal animation, shot length) Added MovieSceneSection::GetDefaultDuration and MovieScene::HasDefaultDuration #jira UESEQ-392 Change 3977994 by Max.Preussner Media: Fetching and rendering media samples before viewports are rendered (to ensure frame sync for in-level media playback) #jira UE-53975 Change 3978188 by Matt.Hoffman Easing Curves are now clipped by the sequence's PlayRange when testing against an infinite section. This causes blended sequences to finish their blend when the section starts/ends instead of always using 25% of the total section length to determine default blend range. #jira UE-56362 Change 3978676 by Max.Preussner MediaCompositing: Fixed first frame of rendered out media track missing #jira UE-53975 Change 3978684 by Max.Preussner MediaCompositing: Enabled media track frame sync feature #jira UE-53975 Change 3980026 by Matt.Hoffman Keys can be selected on folded out sections (such as an audio track expanded to show volume and pitch) again. #jira UE-57169 Change 3981614 by Max.Preussner MediaUtils: Added missing subtitle sample queue flush Change 3982311 by Max.Preussner MediaCompositing: Added safeguard for zero length media sources Change 3982389 by andrew.porter QAGame: Adding media track test content into FrameAccuracySubscene Change 3983661 by Max.Chen Sequencer: Add level name to spawn a spawnable into. Add sublevel menu option to set the level #jira UESEQ-390 Change 3983712 by Andrew.Rodham Sequencer: Purge legacy blueprint spawnables from LevelSequence packages #tests Ran a preflight for cooking fortnite, ocean and Orion. Only orion shows up this edge case, and will require a re-save of the EndCines level #jira UE-39173 Change 3983787 by Max.Preussner MediaCompositing: Moved compile time switch for block-on-fetch into media player facade Change 3983812 by Andrew.Rodham Sequencer: Exposed default level sequence instance data to blueprints Change 3984373 by Max.Preussner Media: Added API for quering whether player plug-in supports block on fetch Block on fetch allows Sequencer and other systems to block the game thread until a desired video frame has been decoded. Change 3984670 by JohnHenry.Carawon Movie Rendering Test Content progress. Saving the state of the content. There is a bug where things got replaced with particle emitters and I think it was because I tried to copy paste an animation track into a separate skeletal mesh track. Change 3985097 by Max.Chen Sequencer: Rename Reset to AutoSize Change GetAutoSizeDuration to return TOptional<FFrameTime> #jira UESEQ-392 Change 3986043 by Max.Chen Sequencer: Fix crash when attach/path duration is less than 0. #jira UE-57310 Change 3986373 by Max.Chen Sequencer: Add support for deleting tracks and channels which equates to setting the channel mask. #jira UE-52951 Change 3986375 by Max.Chen Sequencer: Add Create Pose Asset to skeletal animation section. This allows animators to blend animations in sequencer and create new pose assets from them. #jira UESEQ-408 Change 3986796 by Andrew.Rodham Sequencer: Fixed stale object references remaining in ULevelSequence::BindingReferences when using convert to spawnable/possessable - We used to convert objects by creating a new binding, then re-assigning its GUID, which meant we didn't have to do any further object fixup, but the code to achieve this was confusing and led to a vulnerability where object references would not be cleaned up correctly due to the newly created possessable essentially being a temporary object that's immediately thrown away. - To address this, there is now a function for porting all the contents of one object binding to another, and handles the correct fixup required for parent/child object bindings for both spawnables and possessables. - Also added codepath to remove any stale object references from the level sequence reference map on PostLoad (this piggy-backs off the PurgeLegacyBlueprints object version which is close close enough to this change to be identical) #tests Verified that existing sequences with stale references get cleaned up on load. Verified that repreatedly converting from spawnable<->possessable cleans up references correctly. Change 3987807 by JohnHenry.Carawon Updates to the MovieRendering Test Content. - Fixed the spawnable actors that were overwritten - Shortend the Lighting example and combined the Intensity and Color tracks - Organized the Sequence and WorldOutliner to group the examples. Change 3988151 by Max.Chen Cine Camera: Enable keying the "Enable Look at Tracking" toggle. Change 3988880 by Max.Chen Sequencer: Support enter to add asset for all sequencer track editors that have asset pickers. #jira UE-57367 Change 3988953 by Max.Chen Sequencer: Make the track color picker focusable so that it will close when you click away or lose focus. #jira UE-57210 Change 3988962 by Max.Chen MovieSceneCapture: Fix EDL export so that it takes into account movie scene frame resolution and desired frame rate. #jira UE-57365 Change 3988964 by Max.Chen Movie Scene Capture: Clarified tooltip for bRelativeFrameNumbers. If you specify custom start/end frames for the recording, they will be relative to the playback range. #jira UE-57308 Change 3989442 by Max.Chen Fix CIS Change 3991548 by Matt.Hoffman Dragging the time slider no longer causes the time slider to ignore snap-to-interval with "Snap to Keys While Scrubbing" when no keys are in range. #jira UE-57417 Change 3991598 by Matt.Hoffman Snap to Key while scrubbing now mirrors the behavior of "jump to next key". When there are no tracks selected it snaps to all keys and when there are tracks selected it snaps to only keys from that track. This also resolves an issue where deleting an object did not remove it from the Sequencer's selection. Undoing a delete already doesn't seem to restore your selection, so removing it from your selection shouldn't change that behavior. #jira UE-57417 Change 3991603 by Max.Chen Sequencer: Disable EditAnywhere for some section properties #jira UE-53530 Change 3992240 by Max.Preussner MediaAssets: Implemented dynamic audio sample rate adjustment based on audio/media clock drift #jira FORT-70638 Change 3992911 by Andrew.Rodham Sequencer: Fixed saving spawnable state using the wrong spawned object - We now track the object binding ID so that we can apply the spawned object to the correct spawnable when the asset is saved #jira UE-57353 Change 3992914 by Max.Chen Movie Scene Capture: Fix compression quality not being set. The compression interface wasn't being found through query interface, so no compression was being set. Reworked finding it through the output pins. Tested running various compression values. #jira-UE-55488 Change 3992919 by Max.Chen Sequencer: Convert to possessable now uses object template instead of copying properties (ie. see LevelSequenceActorSpawner). This fixes MIDs getting lost when converting to spawnable and back to possessable. #jira UE-52400 Change 3993184 by Max.Chen Sequencer: Don't show +Transform/+Path/+Attach track if the actor has the "Mobility" property hidden. Set the Landscape, LandscapeProxy and InstancedFoliage "Mobility" property to be hidden since it is static is not supposed to be dynamically movable. #jira UE-56347 Change 3993238 by Max.Chen Sequencer: Test for hidden mobility in creating keys as well. Refactored to HasHiddenMobility() #jira UE-56347 Change 3993978 by Max.Chen Cine Camera: Enable keying the "Enable Look at Tracking" toggle. #jira UE-57489 Change 3994039 by Max.Chen Landscape: Add Mobility to hidecategories on landscape component #jira UE-56347 Change 3994626 by JohnHenry.Carawon Updated Movie Rendering Test Content. - Fixed the overridden spawnables to their proper object types. Change 3994653 by Christina.TempelaarL Sequencer: Added Final Cut Pro 7 XML Import functionality, improved Export functionality #jira UESEQ-358 Change 3995609 by Max.Chen UMG: Add support for 2d transform mask (translation, rotation, scale, shear) #jira UE-52951 Change 3995778 by JohnHenry.Carawon Movie Rendering Test Content Updates - Adjusted Lights example - Adjusted Camera example - Added Marcie sublevel back in Change 3995942 by JohnHenry.Carawon QAGame: Moving Movie Rendering test content from Developer folder to Sequencer folder Also adjusted level visibility, lights and camera example. Change 3995993 by Christina.TempelaarL Sequencer: FCPXML Export updates - only export sections if in playback range and media exists, warn if media does not exist. Other updates - removed unused methods and variables, fixed message context naming to be more accurate #jira UESEQ-358 Change 3996595 by andrew.porter QAGame: Updating Marcie content in TrackEvaluation level to use Image Plate Change 3996614 by andrew.porter QAGame: Adding color test sequence to the sublevel Change 3996643 by Max.Chen Sequencer: Fix fbx animation export - rotation and scale channels were flipped. #jira UE-57509 #jira UE-57512 #jira UE-57514 Change 3996652 by Max.Preussner Messaging: Fixed delayed messaging using incorrect current time after message router sleep Based on https://github.com/EpicGames/UnrealEngine/pull/4601 Change 3996801 by Max.Chen Sequencer: Fix folder active state for non key area sections. Look at track node sections as well as key areas. #jira UE-57550 Change 3997098 by Matt.Hoffman Cleaned up some remaining ToDo's in STimeRange. Change 3998339 by Max.Preussner Sockets: Added documentation for socket receive functions Change 3998359 by Max.Preussner MediaUtils: Started to implement media recorder helper class Currently only supports BGRA frames in CPU memory. Supporting other formats and buffer types will require conversions on render-thread. I recommend refactoring out the existing conversion code in FMediaTextureResource into a reusable helper class in the MediaUtils module. This should be a good starting point though. Change 3998417 by Matt.Hoffman Keys and Sections can now be moved at the same time inside of Sequencer. Keys can now snap to Sections (and vice versa) instead of just to other Keys. Sections can now be duplicated like keys can. #jira UE-56995 Change 3998427 by JohnHenry.Carawon QAGame: Updating test content for the Movie Rendering feature. - Added an auto activate particle to the beginning of the sequence (it's not part of the sequence at all) - Added an event receiver blueprint to the Events example - Added a particle emitter to both sublevels - Added a camera cut to the end that switches to a separate camera - The camera zoom in, focus and Look At sections are all separate (not overlapping in the sequence) - Added a second actor for the camera Look At - Added a Visibility section for the Actor Hidden In Game track that has possessable and spawnable cube and light Change 3998537 by Max.Chen Sequence Recorder: Restore immersive mode when stopping the sequence even if not in PIE. #jira UE-56407 Change 3999809 by Matt.Hoffman Removed the "Go To" box from Sequencer and instead placed the current time as an always visible control. The previous shortcut (Ctrl + G) now focuses the new widget directly. #jira UESEQ-376 Change 4000543 by Christina.TempelaarL Sequencer: Moving editor-only code from runtime module MovieSceneCapture to editor module MovieSceneTools. Moved EDL and FCP XML exporters as well as Automated Level Scene Capture. #jira UESEQ-358 Change 4000706 by Matt.Hoffman Entering multiple time strings without a number no longer crashes Sequencer. #jira UE-57672 Change 4001051 by andrew.porter MediaFrameworkTest: Fixing up some image sources pointing to the wrong location Change 4001191 by andrew.porter QAGame: Adding some quick EDL/XML test content to dev folder Change 4001243 by Max.Chen Sequencer: Fix import EDL out of range. #jira UE-57665 Change 4001856 by Matt.Hoffman Selecting keys and sections at the same time now also works with animation and audio sections. #jira UE-57716 Change 4002021 by Max.Chen Sequence Recorder: Fix sequence name incrementing. If external recording sets the sequence name, use it. Otherwise, use the recording name from the recording group or the recording settings. #jira UE-57712 Change 4002618 by Max.Chen Viewport: Update the look at location when updating to a locked actor. This fixes an issue so that popping the view out of a locked actor and manipulating the view will not jump to the previous look at location. #jira UE-57725 Change 4002979 by Matt.Hoffman Fixes several edge cases with the end time range that was causing confusion about what the last frame of the sequence was. Dragging the End Frame slider will no longer be off by one tick and jumping to the end via the UI controls now properly respects snapping and stays inside the play range instead of falling outside of it. Overall behavior does not change though and End Frame should be considered an exclusive frame so that frames 0-150 results in a 150 frame long animation (which is frames 0-149). #jira UE-56367 Change 4003185 by Matt.Hoffman Fixed a regression that prevented a section from being dragged upwards past row 0 which normally resulted in all other rows moving down. #jira UE-57717 Change 4003193 by JohnHenry.Carawon QAGame: Updates to test content - Shortened frames between the examples from 95 to 30 - Separated camera setting tracks - Lighting example now switches directly from constant red - green - blue Change 4003369 by Max.Chen Sequence Recorder: Refresh next sequence regardless of internally stored sequence name. #jira UE-55757 Change 4003586 by JohnHenry.Carawon QAGame: Test Content Updates - Level Visibility track now ends to that the levels are not visible when we move to the next example - Shortened camera section, removed Z tranform so that we just move left to right and shortened the overall length Change 4004414 by Max.Chen Movie Scene Capture: Fix regression where rendering with shot handles would only render the first shot. 3972166 addressed an issue where an extra frame would be rendered by finalizing right when the end frame was reached. This was hit on the first shot end frame, so instead, do this only for when the last shot is being rendered. #jira UE-57314 Change 4004765 by Christina.TempelaarL Sequencer: Fixed bugs in FCP XML import/export. - Export: fixed sequence default resolution. - Export: fixed XML files with no shots. - Export: all sections clipped to playback range. - Export: fixed incorrect section start/end times due to precision issues. - Import: fixed incorrectly adding cinematic tracks. - Import: fixed bugs creating new sections. #jira UE-57660 #jira UE-57662 #jira UE-57655 #jira UE-57761 Change 4005119 by Max.Chen Sequencer: Export/import at play rate Change 4005195 by Max.Chen UMG: Finish UMG evaluation on stop. Added object version so that existing UMG assets do not change. #tests - Newly created UMG animation with sections set to restore state now return to their original state. Existing UMG animations with sections set to restore state do not return to their original state. #jira UE-52285 Change 4005377 by Michael.Karambelas QAGame: Moving TM-SequenceRecorder and related content out of my developer folder and into /Content/Sequencer/SequencerRecorder/* Change 4005417 by Michael.Karambelas QAGame: Fixed a BP compiler in the Level Blueprint of TM-SequencerRecorder. Change 4005634 by Michael.Karambelas QAGame: Fix up missing content and broken level sequence in TM-SequenceRecorder after move Change 4006324 by Max.Chen Sequencer: Reset if the focused movie scene is null. This fixes a crash if the user is focused in on a shot and undo takes the user past the point of where the shot was created. #jira UE-57752 #jira UE-47661 Change 4007006 by Max.Chen Sequencer: Fix FindAvailableRowIndex so that it returns the max row index (and not +1) since it doesn't find any conflicting rows. #jira UE-57717 Change 4007907 by Max.Chen Sequencer: Fix crash if there's no animation Change 4007948 by andrew.porter QAGame: added test content to dev folder for Record World Space Change 4008636 by Max.Chen Sequencer: Fix import fbx not setting values properly and creating additional cameras unncessarily. #jira UE-57864 Change 4008759 by Max.Chen Sequencer: Follow up fix for import cameras #jira UE-57864 Change 4009994 by Matt.Hoffman Dragging the left or right handles of the Time Range slider in Sequencer will now zoom your view in on the current center of the screen. This prevents the view from being translating as you tried to zoom in which caused issues at high zoom levels. #jira UESEQ-407 Change 4010169 by Christina.TempelaarL Sequencer: FCP XML fixes. - FCP XML export - no longer clips to playback range - FCP XML and EDL export - fixed missing last frame of some sections after exporting to Premiere. - Automated level capture, EDL export - use RoundToFrame instead of FloorToFrame for computing section start/end frames after frame rate conversion. #jira UE-57802 - partial fix, movie scene capture still needs to render full section rather than clip against playback. Change 4010287 by Mike.Zyracki Add quaternion interpolation option to UMovieScene3DTransformSection. This mimics how Matinee used to work by bascially finding the keys between a time and interpolating the angles as quat's between them. As noted in the code the algorithm needs to handle the case when the x,y,z Rotation keys all aren't at the same time which was not handled by Matinee. Also like Matinee, when in quaternion interoplation mode, we need to not display the function cuves since the interpolated and key values are now all different. (Would like to show them but that's a bigger refactor for perhaps just a one off needed by quaternions). I added a virtual function UMovieSceneSection::ShowCurveForChannel for this since it needs to be dynamic, not on construction of IKeyArea's, and could be useful for other sections. I could though move the method to just UMovieScene3DTransformSection and do a cast instead. Looked into doing a unit test for this but after talking with Andrew P we will work on doign an automated test in EngineQA since that will provide more coverage. Will also add a video the jira. #jira UESEQ-403 Change 4010713 by Mike.Zyracki Added option to key a group of transform channels instead of just the changed channel, or all of them. This is useful for quaternion interpolations where you want rotation keys to be aligned but also useful for other workflows like animating FK Pose to Pose. Change 4010715 by Andrew.Porter MediaFrameworkTest: Setting LogMediaUtils logging from VeryVerbose to Verbose to cut back on the spam Change 4013048 by Max.Chen Sequencer: Fix play/jump status. Update the player status for all position methods (Scrub, Jump, Play). Jump means Stopped. Correctly use PlayTo or JumpTo based on position method. In PlayInternal, JumpTo with the Stopped state (rather than playing state). #jira UE-57844 Change 4013479 by andrew.porter QAGame: Added content in TM-SequenceRecorder to test recording a property on a Cine Camera Component; Press 3 to trigger manual focus distance to increment on a timer Change 4014323 by Max.Chen Sequencer: Fix SetPlaybackPosition so that it jumps or plays based on playback status. #jira UE-57844 Change 4015888 by Max.Chen Sequencer: Fix crash on paste. UMovieSceneSections were gathered from the track node's track. For sub track mode, we want to gather only those sections on that track node row. #jira UE-57951 Change 4015943 by Max.Chen Sequencer: Fix moving shots up when the mouse pos goes outside of the virtual track area. #jira UE-57717 Change 4016293 by Max.Chen Sequencer: Fix relative frame playback end frame calculation so that custom start/end frames remain in the space of the sequence and are not relative. #jira UE-57308 Change 4017075 by Andrew.Rodham Sequencer: Corrected initial evaluation range used when calling UMovieSceneSequencPlayer::Play() Change 4017270 by Christina.TempelaarL Sequencer: FCPXML importer and movie scene capture - Use CeilToFrame when converting section start/end frame times to frame numbers in FCPXML and movie scene capture. - Added support for clip metadata in FCPXML. - Got rid of redundant TokenizedError message class, no longer needed now that FCPXML is in editor directory. - Added log messages currently commented out due to exception, still testing. #UESEQ-358 Change 4018370 by Christina.TempelaarL Sequencer: fixed FCPXML log messages regarding sections with start/end not divisible by display rate. #UESEQ-358 Change 4018378 by Christina.TempelaarL Sequencer: fixed error in previous changelist. #UESEQ-358 Change 4019457 by Max.Chen Sequencer: Show event names only when the event track is selected #jira UE-57897 Change 4022806 by Max.Chen Sequencer: Fix crash on movie scene capture dialog shutdown if movie capture wasn't even started. #jira UE-58106 Change 4022894 by Max.Chen Sequence Recorder: Wrap OpenEditorForAssets after sequence recording within GIsEditor #jira UE-58084 Change 4024487 by Max.Chen Sequencer: Add tooltip for quat interpolation #jira UE-58113 Change 4024562 by Max.Chen Sequencer: Change path/attach track sequence binding id to currently focused sequence id so that bindings can be created in subsequences Change 4027414 by JohnHenry.Carawon QAGame: Checking in content that shows a bug with using particles systems and Delay Before Shot Warm Up. Change 4028990 by Max.Chen Sequencer: Fix evaluate sub sequences in isolation. This check was added with the compile on the fly logic. Not sure why it was necessary but it seems like the sub sequence data needs to be updated in order to evaluate sub sequences in isolation. #jira UE-58184 Change 4029004 by Max.Chen Sequencer: Ensure that old binding references are removed when re-assigning actors in sequencer #jira UE-57898 Change 4030997 by JohnHenry.Carawon QAGame: Fixing name of the master sequence Change 4031785 by Michael.Karambelas QAGame: Added an instance of ThirdPerson Run to TM-SequenceRecorder for Record to Possessable test. Change 4035548 by Andrew.Rodham Sequencer: Changed FMovieSceneEvaluationTemplate::TemplateSignature to be a serial number to address non-deterministic cooking issues - This commit is related to the repro steps found in 3914599 and 3934307, both of which have been verified with this new change. - Copy of 4031684 from //Fortnite/Main/... #jira FORT-84852 Change 4036312 by Max.Chen Sequencer: Fix zoom view range so that it uses the passed in InZoomDelta Change 4036318 by Max.Chen Sequencer: Auto size now returns a range and defaults to the channel proxy range so that keyed regions can also be autosized. Change 4036322 by Max.Chen Forgot missing change Change 4036360 by Max.Chen Sequencer: Fix play rate calculation when skeletal animation section play rate changes. Change 4037163 by Mike.Zyracki Weighted Tangent Implementation Tricky thing is that you need to solve a cubic in order to get the bezier weights for the time part of the curve. See https://www.gamedev.net/forums/topic/474094-help-function-curves-for-animation-interpolation/ Maya provides an implementation in it's dev kit but I didn't use it since it was horribly slow and uses an iterative solution to solve the cubic needed. Instead I use an old algorithm (Cardano's method), to solve the cubic which should be much faster. Though relative simple to code from principles I just went ahead and used a version from Graphics Gems 1. I put this cubic solver directly in MovieSceneFloatChannel.cpp, but will need to move it when we support Rich Curve, maybe to FMath:: (which would probalby require some other functions for solving quartics, etc.. for completeness.). Also note we resolve this on every evaluation but dont' need to if the interval the time is evaluating hasn't had any change in values or tangents. So again when we support FRichCurve we can create a Weighted Evaluating class that can hold the cache. Also with the tangent drags I got rid of the Cardinal position that was used to calculate non-weight tangents from the key point and just quickly getting a direction. With weighted tangents we need to use the delta instead (otherwise when moving multiple they would all get the same weight based upon distance to the cardinal point. ) For mixed tangents types what I'm defaulting to non weighted if the interval doesn't match. May need to do weighted instead, not sure. What's left is just FBX import, for tomorrow. #jira UESEQ-76 Change 4037435 by Mike.Zyracki Fix fo build warnings from weighted tangent submission. #trivial Change 4038091 by Michael.Karambelas QAGame: Updated a Sequence Recorder group in TM-SequenceRecorder that had an actor missing the animation. Change 4038374 by Andrew.Rodham Sequencer: Refined scrubber styling for level sequences and actor sequences - Scrubber now shows a block the width of a dsplay rate frame, plus a line for the actual evaluated time. UMG reverts back to the previous styling (no block) - Keys that are outside of the playback range are now drawn with a subdued effect - Tick labels are no longer drawn when directly underneath the scrubber Change 4038490 by Max.Chen Sequencer: Expose tangent weight values in details panel. Change 4038620 by Andrew.Rodham Sequencer: Advanced time panel polish #jira UESEQ-426 Change 4038677 by Max.Chen Movie Scene Capture: Redirector for MovieSceneTools.AutomatedLevelSequenceCapture #jira UE-58248 Change 4039739 by Max.Chen Sequencer: Media track should only be supported by Level Sequence Change 4040024 by JohnHenry.Carawon QAGame: Fix EventReciever and OverrideBinding example The level sequence was set to none so the fix was to set it back to TrackEvaluation_Master. Change 4040610 by Andrew.Rodham Curve Editor: Moved weighted tangent switchers to a single toggle command (CTRL+W) and added an icon #jira 58383 Change 4040882 by Mike.Zyracki Keep broken when turning on weighted #jira UE-58435 Change 4041089 by andrew.porter QAGame: Sequence for Long Tangents bug Change 4041498 by Mike.Zyracki Turn off weighted when going auto to prevent large tangents. Do it both in UI and when doing AutoSetTangents() to really make sure it doesn't happen. #jira UE-58452 Change 4041752 by andrew.porter MediaFrameworkTest: Adding some better logging for setting rates when not supported. Also ignoring commiting URL when there is no text Change 4041896 by Matt.Hoffman The transform dialog box now transforms selected keys and sections, instead of just keys. #jira UE-58265 [CL 4044405 by Max Chen in Main branch]
2018-05-02 10:10:00 -04:00
if (!InArgs.bOnlyDrawMajorTicks && !FMath::IsNearlyEqual(MajorLinePx, FlooredScrubPx, 3.f))
{
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 4044339) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3947021 by Max.Chen Sequencer: Don't preserve root component when copying object properties. A spawnable empty actor, has a root component that is generated by the empty actor factory. If the object template's root component is preserved when copying from the spawnable empty actor, the root component will not be copied over. Therefore, we need to NOT preserve the root component when copying object properties. #jira UE-55825 Change 3947366 by Max.Preussner WmfMedia: Better log output Change 3947367 by Max.Preussner MfMedia: Better detection of compressed format properties on Windows Change 3949102 by Max.Chen Sequencer: Remove SequenceActorTag when converting to possessable. #jira UE-56206 Change 3949207 by andrew.porter EngineTest: Set the screenshot nodes resolution to 1280x720 Change 3949404 by Max.Chen Sequencer: More informative tooltip for "Rerun Construction Scripts" option. It now says "Rerun construction scripts every frame on actors that have 'Rerun Construction Script in Sequencer' enabled in their class settings". Change 3950067 by Matt.Hoffman Renamed UAutomatedLevelSequenceCapture's StartFrame and EndFrame to CustomStartFrame/CustomEndFrame to reflect that it is user-overriden. This will also resolve upgrade issues due to the variable datatype changing. #jira UE-56189 Change 3950193 by JohnHenry.Carawon Updating my latest MovieRendering test content. Change 3950757 by JohnHenry.Carawon More updates to MovieRendering test content Change 3952059 by Max.Chen Resave LevelVisibility_SubLevels to fix data loss conversion warning of OpacityMaskConstant #jira UE-56086 Change 3952283 by Max.Chen Sequencer: Disable dropping level sequence assets as spawnables. #jira UE-56120 Change 3952422 by Max.Chen Sequence Recorder: Add button to record from the current player. #jira UE-55942 Change 3952987 by JohnHenry.Carawon MovieRendering Test Content - Fixing camera bindings and changing the override binding actor Change 3953823 by Mike.Zyracki Fix for Bad FBX Import Tangents not scaled by frame rate. After looking at this again it seems that a set of MovieScene:: overiddes for the channel traits wasn't set correctly, so use the ADL idiom to use MovieScene, which can then call Optimize in the correct namespace. With this we can now correctly use the passed in tolerance. There was also a redundant set of Optimize calls so that it could happen twice so removed them, and needed an extra check in the float channel Optimize. Also since we need to set auto tangents no matter if we optimize we don't set that parameter(though leave it since it's used by context menu key reduction). Finally fixed speed issue with trajectories caused by calculating way too many substeps. Reverted back to a time based step size for consistency. #jira UE-56193 Change 3954317 by Matt.Hoffman Adding a key to the last frame of a section no longer causes a crash. Keys can already be moved to be on the last frame of a section so now you can just add a key there directly. #jira UE-56255 Change 3954326 by Matt.Hoffman Dilating a section that is only infinite on one side no longer causes a crash. #jira UE-56260 Change 3954486 by Max.Chen PR #4580: Exposes IsReversed() from UMovieSceneSequencePlayer (Contributed by alanedwardes) Change 3955238 by Max.Preussner Messaging: Enabled delayed message routing https://github.com/EpicGames/UnrealEngine/pull/4574 #jira UE-56247 Change 3955901 by Max.Preussner MediaFrameworkTest: Added developer test for overriding desired media player plug-in at runtime. Change 3955922 by Andrew.Porter QAGame: Updating movie rendering content in dev folder Change 3956004 by andrew.porter QAGame: Adding MPC track to movie rendering test content Change 3956510 by Max.Chen Sequencer: Fix fbx camera import of static properties so that they are imported before default tracks are created. Otherwise, the default tracks inherit the default properties of the camera, rather than the values from the fbx. #jira UE-56311 Change 3957613 by Max.Preussner MediaUtils: Added code documentation to media player facade Change 3958005 by Max.Preussner MediaUtils: Added method to get number of sinks Change 3958934 by Max.Chen Sequencer: Fix keys getting added and sequence getting erroneously re-evaluated when auto key is off. Only apply defaults if there are no keys. Only modify the movie scene section before creating keys or setting defaults. #jira UE-55903 Change 3959687 by Andrew.Rodham Sequencer: Fixed visibility track external values being inverted #jira UE-56324 Change 3960507 by Max.Preussner Core: Fixed incorrect rounding in FMath::DivideAndRoundNearest Change 3962047 by JohnHenry.Carawon MovieRendering Test Content Changes: - Add Lightmass Importance Volumes to sublevel to fix warnings - Rebuilt Lighting - Add a third sequence for Gamut testing - Resaved the sound master.uasset to fix warning Change 3962211 by Mike.Zyracki Add Frame Numbers to selected animation sections. Added MapTimeToAnimation to MovieSceneSkeletalAnimation so that we could get it from the Skeleton Animation track Editor. Since the thickness of the frame line can change based upon frame rate and zoom we need to calculate it similarly to how the time slider controller does it. Those calculations were private so we had to expose FScrubRangeToScreen and GetScubberPixelRange from the TimeSliderController. Also needed to know if the section itself was selected so added a bIsSelected flag to the section Painter. Also fixed a bug where you couldn't add a section if other sections existed at different times in MovieScenePropertyTrack and could crash due to the check(). #jira UESEQ-395 Change 3962497 by Max.Preussner Core: Added new string formatting argument to FTimespan Change 3963662 by Max.Chen CineCamera: Flip VistaVision width and height. Change 3963731 by Max.Preussner MediaCompositing: Implemented sequence recording support for media track Change 3964195 by Andrew.Rodham Sequencer: Set inverted property correctly for newly created visibility track sections - Also clamp evaluation for key editors to the bounds of the section so we're not displaying values outside of the section bounds when the cursor is not on the bounds #jira UE-56324 #coderevew Max.Chen Change 3964196 by Andrew.Rodham Sequencer: Fixed crash when attempting to render sections that resulted in a negative intersection with the view range Change 3964275 by Andrew.Rodham Sequencer: Fixed MovieScene::ClampToDiscreteRange for infinite range bounds Change 3964364 by Andrew.Rodham Curve Editor: Reduce minimum vertical view range when zooming to fit Change 3965091 by Max.Chen Sequencer Recorder: Refresh next sequence if empty when starting a recording, otherwise, use existing name. #jira UE-56469 Change 3965148 by Max.Chen Sequence Recorder: Move Record to Possessable to "Actor Recording" group Change 3965162 by Max.Chen Sequence Recorder: Always break out of immersive mode when done recording, even when stopping recording during countdown. #jira UE-56407 Change 3965214 by Max.Preussner QAGame: Enabled ImagePlate plug-in Change 3965574 by Max.Preussner SimpleComposure: Reorganized & upgraded content to work with new Media Track #jira UE-56488 Change 3965651 by Max.Preussner MediaCompositing: Ignoring seek-on-open if media not seekable Change 3966075 by Christina.TempelaarL Sequencer: Added Final Cut Pro 7 XML Export functionality #jira UESEQ-358 Change 3966087 by Matt.Hoffman Adding a single key to the Particle Toggle track now makes an infinite range section that is displayed in the UI. #jira UE-56295 Change 3966547 by Andrew.Rodham Sequencer: Fixed rounding errors when drawing the section background on boolean sections - Logic was using time in sectonds which caused rounding errors on evaluation and flickering red/green stripes when dragging keys around #jira UE-56324 Change 3966563 by Andrew.Rodham Curve Editor: Key editor interface improvements - SKeyEditInterface has a few problems - it does not update in real time when editing properties, and does not support multi-edit which makes it unsuitable for use with the curve editor - We now take a different approach for editing keys by gathering a set of proxy UObjects for each key that is currently selected. These objects are added as top level objects to the details panel which means they support multi edit as you'd expect from any other details panel in the editor. - Proxy objects are updated every tick for the curve editor if they implement the ICurveEditorKeyProxy interface, which allows them to refresh their current value. - Ideally, the same mechanisms would be used in the main sequence interface, and we would be generating the proxy classes at runtime based on the key value type, but that work remains a separate task from this initial offering. #jira UE-56165 Change 3966564 by Andrew.Rodham Curve Editor: Expand to frame when adding or moving keys in the curve editor Change 3967051 by andrew.porter MediaFrameworkTest: Set the CameraPlayer_Video texture to auto clear Change 3967141 by Andrew.Rodham Sequencer: Keep track of spawned objects that have been modified and only re-save such object's default spawnable state on destruction - Now that we're taking this approach, I've remove serveral redundant bits of functionality in the spawn register such as making some spawnables read-only, and the PreSave binding for Sequencer. - We now hook into all object pre-saves to make sure we handle the case where the sequences are saved through the content browser or elsewhere. #jira UE-47686 Change 3967170 by Andrew.Rodham Sequencer: Added the ability to possess anim instances as object bindings - This allows full and direct animation of properties on UAnimInstance, and animation blueprints - Object Bindings are made by first possessing a skeletal mesh component, then choosing the + Add button where its anim instance will be listed - Added a new function to UMovieSceneSequence to gather previously cached objects that should now be invalidated. Anim instances will be re-resolved if a new UAnimInstance is assigned to USkeletalMeshComponent::GetAnimInstance. - ObjectBindingIDs for anim instances are just represented by an entry in a set of GUIDs. We only ever resolve such bindings through USkeletalMeshComponent::GetAnimInstance. - Only currently supported on LevelSequences #jira UE-56132 Change 3967195 by Max.Preussner Core: Updated TRangeSet to use TCallTraits Change 3967345 by JohnHenry.Carawon Test Content Changes - first iteration of spacing out the examples in the shots. Change 3967572 by Max.Chen Sequencer: Fix setting PreviousPlayEvalPosition until after we've tested whether it's set. #jira UE-56518 Change 3967750 by Max.Chen Audio: Set duration based on number of input channels, rather than number of channels to serialize. This fixes an issue where audio split into 2 channels is set to a duration that's twice as long. #jira UE-56430 Change 3967836 by Max.Chen Sequencer: Allow for animating array elements within ustruct properties #jira UE-55887 Change 3968506 by Matt.Hoffman Fixed ambiguous conversions for seconds and frames being overriden by ambiguous conversion to Timecode (in frames). Change 3968748 by Max.Chen Sequencer: Make the event properties submenu widget larger. #jira UE-55557 Change 3968862 by Max.Chen Sequencer: Recursive expansion when shift is down #jira UE-52139 #pr 4194 Change 3968863 by Max.Chen Sequencer: Bind rename command to selected track so that F2 shortcut start renaming #jira UE-52139 #pr 4194 Change 3968872 by Max.Chen Sequencer: Rekey the selected key at the current time. #jira UESEQ-396 Change 3968938 by Max.Chen Cine Camera: Add option to toggle the behavior of locking the rail mount to the orientation of the spline. By default, the option is off, no change in behavior. #jira UE-55815 Change 3968958 by Andrew.Rodham Sequencer: Consider vertical position when hittesting keys #jira UE-56256 Change 3969643 by Max.Preussner Core: Rounding timespans created from double values towards nearest ticks Change 3969646 by Max.Preussner MediaUtils: Implemented timeout mechanism for block-on-fetch feature Change 3969776 by Mike.Zyracki Added Skip Anim Notifiers Toggle per what was in Matinee. Investigated the Enable Root Motion toggle as also discussed but it's implementation is directly contained by the animation asset and unlike animation notifies there seems to be no exposure to interactively disable it during a playback tick. Note if we are generating thumbnails we still automtically disable notifies in the editor to avoid annoying noise playback. Note that if Enable Root Motion/Root locked is specified in the animation asset it does correctly effect the Sequencer. #jira UESEQ-399 Change 3969835 by Matt.Hoffman Playback Range and Selection Range use unified logic for adding themselves as potential snap locations which properly handles inclusive/exclusive bounds. This resolves an issue where having an unset selection range caused a potential snap location to be added on frame 0 and 1 (internal resolution) which caused a misalignment when placing objects near frame 0. This also removes the one frame offset on setting Selection Range to bring behavior inline with other ranges. #jira UE-55420 Change 3969885 by Max.Preussner MediaAssets: Don't register media player CDO with media ticker Change 3971129 by Andrew.Rodham Sequencer: Fixed UMovieSceneSequencePlayer::GotToEndAndStop() not taking into account for start time This is a remnant from when the times were always specified in 0-duration space, rather than actual sequence times. Change 3972056 by JohnHenry.Carawon More updates to Test Content. I continued spacing out the examples in the sequence so that they have a consistent number of frames between each example and during the start/end of the example. Also removed the Marcie sublevel. Change 3972066 by Andrew.Porter MediaFrameworkTest: Setting Marcie folder to be never cooked in package settings Change 3972675 by Matt.Hoffman Splitting Subsequence Sections no longer sets an incorrect playback range on the subsequence when the subsequence has a different internal resolution than the owning sequence. #jira UE-55453 Change 3973376 by Max.Preussner ImgMedia: Zero is the only valid video track for image sequences Change 3973489 by Max.Preussner Launch: Build rules cleanup pass - don't use Media, MediaUtils on server apps - don't link against Media (include-only dependency) - don't include from MediaAssets (dynamic load only) Change 3973760 by Max.Preussner MediaUtils: Moved AppMediaTimeSource implementation into its own file; added logging Change 3973765 by Max.Preussner ImgMedia: Disallowing seek beyond media length Change 3973855 by Max.Preussner MediaFrameworkTest: Updated developer test content Change 3973858 by Max.Preussner MediaCompositing: Blocking on media player time instead of media sample time (the former may not be hit in the current frame) Change 3974988 by Max.Chen Sequencer: Fix trim left so that it also sets the start offset for audio and skeletal animation sections. #jira UE-57015 Change 3976101 by Matt.Hoffman Sequencer will now focus the scroll view on newly created items. #jira UE-56492 Change 3976203 by Max.Chen Property Editor: Add DetailsViewArgs for ColumnWidth. Defaults to 0.65f, no change in existing behavior. Change 3976205 by Max.Chen Sequencer: Set better column widths for sequencer. #jira UE-55557 Change 3976206 by Max.Chen Sequencer: Added menu category for import/export Change 3976265 by Matt.Hoffman Tracks within Object Binding Nodes will now sort using the old behavior so that components are added above other track types. #jira UE-56473 Change 3976901 by Max.Chen Sequencer: Add event names to event track section #jira UESEQ-353 Change 3977878 by Max.Preussner Media: Moved media framework ticking stats into Media module Change 3977982 by Max.Chen Sequencer: Add Edit->Reset section length to duration of source (ie. audio, skeletal animation, shot length) Added MovieSceneSection::GetDefaultDuration and MovieScene::HasDefaultDuration #jira UESEQ-392 Change 3977994 by Max.Preussner Media: Fetching and rendering media samples before viewports are rendered (to ensure frame sync for in-level media playback) #jira UE-53975 Change 3978188 by Matt.Hoffman Easing Curves are now clipped by the sequence's PlayRange when testing against an infinite section. This causes blended sequences to finish their blend when the section starts/ends instead of always using 25% of the total section length to determine default blend range. #jira UE-56362 Change 3978676 by Max.Preussner MediaCompositing: Fixed first frame of rendered out media track missing #jira UE-53975 Change 3978684 by Max.Preussner MediaCompositing: Enabled media track frame sync feature #jira UE-53975 Change 3980026 by Matt.Hoffman Keys can be selected on folded out sections (such as an audio track expanded to show volume and pitch) again. #jira UE-57169 Change 3981614 by Max.Preussner MediaUtils: Added missing subtitle sample queue flush Change 3982311 by Max.Preussner MediaCompositing: Added safeguard for zero length media sources Change 3982389 by andrew.porter QAGame: Adding media track test content into FrameAccuracySubscene Change 3983661 by Max.Chen Sequencer: Add level name to spawn a spawnable into. Add sublevel menu option to set the level #jira UESEQ-390 Change 3983712 by Andrew.Rodham Sequencer: Purge legacy blueprint spawnables from LevelSequence packages #tests Ran a preflight for cooking fortnite, ocean and Orion. Only orion shows up this edge case, and will require a re-save of the EndCines level #jira UE-39173 Change 3983787 by Max.Preussner MediaCompositing: Moved compile time switch for block-on-fetch into media player facade Change 3983812 by Andrew.Rodham Sequencer: Exposed default level sequence instance data to blueprints Change 3984373 by Max.Preussner Media: Added API for quering whether player plug-in supports block on fetch Block on fetch allows Sequencer and other systems to block the game thread until a desired video frame has been decoded. Change 3984670 by JohnHenry.Carawon Movie Rendering Test Content progress. Saving the state of the content. There is a bug where things got replaced with particle emitters and I think it was because I tried to copy paste an animation track into a separate skeletal mesh track. Change 3985097 by Max.Chen Sequencer: Rename Reset to AutoSize Change GetAutoSizeDuration to return TOptional<FFrameTime> #jira UESEQ-392 Change 3986043 by Max.Chen Sequencer: Fix crash when attach/path duration is less than 0. #jira UE-57310 Change 3986373 by Max.Chen Sequencer: Add support for deleting tracks and channels which equates to setting the channel mask. #jira UE-52951 Change 3986375 by Max.Chen Sequencer: Add Create Pose Asset to skeletal animation section. This allows animators to blend animations in sequencer and create new pose assets from them. #jira UESEQ-408 Change 3986796 by Andrew.Rodham Sequencer: Fixed stale object references remaining in ULevelSequence::BindingReferences when using convert to spawnable/possessable - We used to convert objects by creating a new binding, then re-assigning its GUID, which meant we didn't have to do any further object fixup, but the code to achieve this was confusing and led to a vulnerability where object references would not be cleaned up correctly due to the newly created possessable essentially being a temporary object that's immediately thrown away. - To address this, there is now a function for porting all the contents of one object binding to another, and handles the correct fixup required for parent/child object bindings for both spawnables and possessables. - Also added codepath to remove any stale object references from the level sequence reference map on PostLoad (this piggy-backs off the PurgeLegacyBlueprints object version which is close close enough to this change to be identical) #tests Verified that existing sequences with stale references get cleaned up on load. Verified that repreatedly converting from spawnable<->possessable cleans up references correctly. Change 3987807 by JohnHenry.Carawon Updates to the MovieRendering Test Content. - Fixed the spawnable actors that were overwritten - Shortend the Lighting example and combined the Intensity and Color tracks - Organized the Sequence and WorldOutliner to group the examples. Change 3988151 by Max.Chen Cine Camera: Enable keying the "Enable Look at Tracking" toggle. Change 3988880 by Max.Chen Sequencer: Support enter to add asset for all sequencer track editors that have asset pickers. #jira UE-57367 Change 3988953 by Max.Chen Sequencer: Make the track color picker focusable so that it will close when you click away or lose focus. #jira UE-57210 Change 3988962 by Max.Chen MovieSceneCapture: Fix EDL export so that it takes into account movie scene frame resolution and desired frame rate. #jira UE-57365 Change 3988964 by Max.Chen Movie Scene Capture: Clarified tooltip for bRelativeFrameNumbers. If you specify custom start/end frames for the recording, they will be relative to the playback range. #jira UE-57308 Change 3989442 by Max.Chen Fix CIS Change 3991548 by Matt.Hoffman Dragging the time slider no longer causes the time slider to ignore snap-to-interval with "Snap to Keys While Scrubbing" when no keys are in range. #jira UE-57417 Change 3991598 by Matt.Hoffman Snap to Key while scrubbing now mirrors the behavior of "jump to next key". When there are no tracks selected it snaps to all keys and when there are tracks selected it snaps to only keys from that track. This also resolves an issue where deleting an object did not remove it from the Sequencer's selection. Undoing a delete already doesn't seem to restore your selection, so removing it from your selection shouldn't change that behavior. #jira UE-57417 Change 3991603 by Max.Chen Sequencer: Disable EditAnywhere for some section properties #jira UE-53530 Change 3992240 by Max.Preussner MediaAssets: Implemented dynamic audio sample rate adjustment based on audio/media clock drift #jira FORT-70638 Change 3992911 by Andrew.Rodham Sequencer: Fixed saving spawnable state using the wrong spawned object - We now track the object binding ID so that we can apply the spawned object to the correct spawnable when the asset is saved #jira UE-57353 Change 3992914 by Max.Chen Movie Scene Capture: Fix compression quality not being set. The compression interface wasn't being found through query interface, so no compression was being set. Reworked finding it through the output pins. Tested running various compression values. #jira-UE-55488 Change 3992919 by Max.Chen Sequencer: Convert to possessable now uses object template instead of copying properties (ie. see LevelSequenceActorSpawner). This fixes MIDs getting lost when converting to spawnable and back to possessable. #jira UE-52400 Change 3993184 by Max.Chen Sequencer: Don't show +Transform/+Path/+Attach track if the actor has the "Mobility" property hidden. Set the Landscape, LandscapeProxy and InstancedFoliage "Mobility" property to be hidden since it is static is not supposed to be dynamically movable. #jira UE-56347 Change 3993238 by Max.Chen Sequencer: Test for hidden mobility in creating keys as well. Refactored to HasHiddenMobility() #jira UE-56347 Change 3993978 by Max.Chen Cine Camera: Enable keying the "Enable Look at Tracking" toggle. #jira UE-57489 Change 3994039 by Max.Chen Landscape: Add Mobility to hidecategories on landscape component #jira UE-56347 Change 3994626 by JohnHenry.Carawon Updated Movie Rendering Test Content. - Fixed the overridden spawnables to their proper object types. Change 3994653 by Christina.TempelaarL Sequencer: Added Final Cut Pro 7 XML Import functionality, improved Export functionality #jira UESEQ-358 Change 3995609 by Max.Chen UMG: Add support for 2d transform mask (translation, rotation, scale, shear) #jira UE-52951 Change 3995778 by JohnHenry.Carawon Movie Rendering Test Content Updates - Adjusted Lights example - Adjusted Camera example - Added Marcie sublevel back in Change 3995942 by JohnHenry.Carawon QAGame: Moving Movie Rendering test content from Developer folder to Sequencer folder Also adjusted level visibility, lights and camera example. Change 3995993 by Christina.TempelaarL Sequencer: FCPXML Export updates - only export sections if in playback range and media exists, warn if media does not exist. Other updates - removed unused methods and variables, fixed message context naming to be more accurate #jira UESEQ-358 Change 3996595 by andrew.porter QAGame: Updating Marcie content in TrackEvaluation level to use Image Plate Change 3996614 by andrew.porter QAGame: Adding color test sequence to the sublevel Change 3996643 by Max.Chen Sequencer: Fix fbx animation export - rotation and scale channels were flipped. #jira UE-57509 #jira UE-57512 #jira UE-57514 Change 3996652 by Max.Preussner Messaging: Fixed delayed messaging using incorrect current time after message router sleep Based on https://github.com/EpicGames/UnrealEngine/pull/4601 Change 3996801 by Max.Chen Sequencer: Fix folder active state for non key area sections. Look at track node sections as well as key areas. #jira UE-57550 Change 3997098 by Matt.Hoffman Cleaned up some remaining ToDo's in STimeRange. Change 3998339 by Max.Preussner Sockets: Added documentation for socket receive functions Change 3998359 by Max.Preussner MediaUtils: Started to implement media recorder helper class Currently only supports BGRA frames in CPU memory. Supporting other formats and buffer types will require conversions on render-thread. I recommend refactoring out the existing conversion code in FMediaTextureResource into a reusable helper class in the MediaUtils module. This should be a good starting point though. Change 3998417 by Matt.Hoffman Keys and Sections can now be moved at the same time inside of Sequencer. Keys can now snap to Sections (and vice versa) instead of just to other Keys. Sections can now be duplicated like keys can. #jira UE-56995 Change 3998427 by JohnHenry.Carawon QAGame: Updating test content for the Movie Rendering feature. - Added an auto activate particle to the beginning of the sequence (it's not part of the sequence at all) - Added an event receiver blueprint to the Events example - Added a particle emitter to both sublevels - Added a camera cut to the end that switches to a separate camera - The camera zoom in, focus and Look At sections are all separate (not overlapping in the sequence) - Added a second actor for the camera Look At - Added a Visibility section for the Actor Hidden In Game track that has possessable and spawnable cube and light Change 3998537 by Max.Chen Sequence Recorder: Restore immersive mode when stopping the sequence even if not in PIE. #jira UE-56407 Change 3999809 by Matt.Hoffman Removed the "Go To" box from Sequencer and instead placed the current time as an always visible control. The previous shortcut (Ctrl + G) now focuses the new widget directly. #jira UESEQ-376 Change 4000543 by Christina.TempelaarL Sequencer: Moving editor-only code from runtime module MovieSceneCapture to editor module MovieSceneTools. Moved EDL and FCP XML exporters as well as Automated Level Scene Capture. #jira UESEQ-358 Change 4000706 by Matt.Hoffman Entering multiple time strings without a number no longer crashes Sequencer. #jira UE-57672 Change 4001051 by andrew.porter MediaFrameworkTest: Fixing up some image sources pointing to the wrong location Change 4001191 by andrew.porter QAGame: Adding some quick EDL/XML test content to dev folder Change 4001243 by Max.Chen Sequencer: Fix import EDL out of range. #jira UE-57665 Change 4001856 by Matt.Hoffman Selecting keys and sections at the same time now also works with animation and audio sections. #jira UE-57716 Change 4002021 by Max.Chen Sequence Recorder: Fix sequence name incrementing. If external recording sets the sequence name, use it. Otherwise, use the recording name from the recording group or the recording settings. #jira UE-57712 Change 4002618 by Max.Chen Viewport: Update the look at location when updating to a locked actor. This fixes an issue so that popping the view out of a locked actor and manipulating the view will not jump to the previous look at location. #jira UE-57725 Change 4002979 by Matt.Hoffman Fixes several edge cases with the end time range that was causing confusion about what the last frame of the sequence was. Dragging the End Frame slider will no longer be off by one tick and jumping to the end via the UI controls now properly respects snapping and stays inside the play range instead of falling outside of it. Overall behavior does not change though and End Frame should be considered an exclusive frame so that frames 0-150 results in a 150 frame long animation (which is frames 0-149). #jira UE-56367 Change 4003185 by Matt.Hoffman Fixed a regression that prevented a section from being dragged upwards past row 0 which normally resulted in all other rows moving down. #jira UE-57717 Change 4003193 by JohnHenry.Carawon QAGame: Updates to test content - Shortened frames between the examples from 95 to 30 - Separated camera setting tracks - Lighting example now switches directly from constant red - green - blue Change 4003369 by Max.Chen Sequence Recorder: Refresh next sequence regardless of internally stored sequence name. #jira UE-55757 Change 4003586 by JohnHenry.Carawon QAGame: Test Content Updates - Level Visibility track now ends to that the levels are not visible when we move to the next example - Shortened camera section, removed Z tranform so that we just move left to right and shortened the overall length Change 4004414 by Max.Chen Movie Scene Capture: Fix regression where rendering with shot handles would only render the first shot. 3972166 addressed an issue where an extra frame would be rendered by finalizing right when the end frame was reached. This was hit on the first shot end frame, so instead, do this only for when the last shot is being rendered. #jira UE-57314 Change 4004765 by Christina.TempelaarL Sequencer: Fixed bugs in FCP XML import/export. - Export: fixed sequence default resolution. - Export: fixed XML files with no shots. - Export: all sections clipped to playback range. - Export: fixed incorrect section start/end times due to precision issues. - Import: fixed incorrectly adding cinematic tracks. - Import: fixed bugs creating new sections. #jira UE-57660 #jira UE-57662 #jira UE-57655 #jira UE-57761 Change 4005119 by Max.Chen Sequencer: Export/import at play rate Change 4005195 by Max.Chen UMG: Finish UMG evaluation on stop. Added object version so that existing UMG assets do not change. #tests - Newly created UMG animation with sections set to restore state now return to their original state. Existing UMG animations with sections set to restore state do not return to their original state. #jira UE-52285 Change 4005377 by Michael.Karambelas QAGame: Moving TM-SequenceRecorder and related content out of my developer folder and into /Content/Sequencer/SequencerRecorder/* Change 4005417 by Michael.Karambelas QAGame: Fixed a BP compiler in the Level Blueprint of TM-SequencerRecorder. Change 4005634 by Michael.Karambelas QAGame: Fix up missing content and broken level sequence in TM-SequenceRecorder after move Change 4006324 by Max.Chen Sequencer: Reset if the focused movie scene is null. This fixes a crash if the user is focused in on a shot and undo takes the user past the point of where the shot was created. #jira UE-57752 #jira UE-47661 Change 4007006 by Max.Chen Sequencer: Fix FindAvailableRowIndex so that it returns the max row index (and not +1) since it doesn't find any conflicting rows. #jira UE-57717 Change 4007907 by Max.Chen Sequencer: Fix crash if there's no animation Change 4007948 by andrew.porter QAGame: added test content to dev folder for Record World Space Change 4008636 by Max.Chen Sequencer: Fix import fbx not setting values properly and creating additional cameras unncessarily. #jira UE-57864 Change 4008759 by Max.Chen Sequencer: Follow up fix for import cameras #jira UE-57864 Change 4009994 by Matt.Hoffman Dragging the left or right handles of the Time Range slider in Sequencer will now zoom your view in on the current center of the screen. This prevents the view from being translating as you tried to zoom in which caused issues at high zoom levels. #jira UESEQ-407 Change 4010169 by Christina.TempelaarL Sequencer: FCP XML fixes. - FCP XML export - no longer clips to playback range - FCP XML and EDL export - fixed missing last frame of some sections after exporting to Premiere. - Automated level capture, EDL export - use RoundToFrame instead of FloorToFrame for computing section start/end frames after frame rate conversion. #jira UE-57802 - partial fix, movie scene capture still needs to render full section rather than clip against playback. Change 4010287 by Mike.Zyracki Add quaternion interpolation option to UMovieScene3DTransformSection. This mimics how Matinee used to work by bascially finding the keys between a time and interpolating the angles as quat's between them. As noted in the code the algorithm needs to handle the case when the x,y,z Rotation keys all aren't at the same time which was not handled by Matinee. Also like Matinee, when in quaternion interoplation mode, we need to not display the function cuves since the interpolated and key values are now all different. (Would like to show them but that's a bigger refactor for perhaps just a one off needed by quaternions). I added a virtual function UMovieSceneSection::ShowCurveForChannel for this since it needs to be dynamic, not on construction of IKeyArea's, and could be useful for other sections. I could though move the method to just UMovieScene3DTransformSection and do a cast instead. Looked into doing a unit test for this but after talking with Andrew P we will work on doign an automated test in EngineQA since that will provide more coverage. Will also add a video the jira. #jira UESEQ-403 Change 4010713 by Mike.Zyracki Added option to key a group of transform channels instead of just the changed channel, or all of them. This is useful for quaternion interpolations where you want rotation keys to be aligned but also useful for other workflows like animating FK Pose to Pose. Change 4010715 by Andrew.Porter MediaFrameworkTest: Setting LogMediaUtils logging from VeryVerbose to Verbose to cut back on the spam Change 4013048 by Max.Chen Sequencer: Fix play/jump status. Update the player status for all position methods (Scrub, Jump, Play). Jump means Stopped. Correctly use PlayTo or JumpTo based on position method. In PlayInternal, JumpTo with the Stopped state (rather than playing state). #jira UE-57844 Change 4013479 by andrew.porter QAGame: Added content in TM-SequenceRecorder to test recording a property on a Cine Camera Component; Press 3 to trigger manual focus distance to increment on a timer Change 4014323 by Max.Chen Sequencer: Fix SetPlaybackPosition so that it jumps or plays based on playback status. #jira UE-57844 Change 4015888 by Max.Chen Sequencer: Fix crash on paste. UMovieSceneSections were gathered from the track node's track. For sub track mode, we want to gather only those sections on that track node row. #jira UE-57951 Change 4015943 by Max.Chen Sequencer: Fix moving shots up when the mouse pos goes outside of the virtual track area. #jira UE-57717 Change 4016293 by Max.Chen Sequencer: Fix relative frame playback end frame calculation so that custom start/end frames remain in the space of the sequence and are not relative. #jira UE-57308 Change 4017075 by Andrew.Rodham Sequencer: Corrected initial evaluation range used when calling UMovieSceneSequencPlayer::Play() Change 4017270 by Christina.TempelaarL Sequencer: FCPXML importer and movie scene capture - Use CeilToFrame when converting section start/end frame times to frame numbers in FCPXML and movie scene capture. - Added support for clip metadata in FCPXML. - Got rid of redundant TokenizedError message class, no longer needed now that FCPXML is in editor directory. - Added log messages currently commented out due to exception, still testing. #UESEQ-358 Change 4018370 by Christina.TempelaarL Sequencer: fixed FCPXML log messages regarding sections with start/end not divisible by display rate. #UESEQ-358 Change 4018378 by Christina.TempelaarL Sequencer: fixed error in previous changelist. #UESEQ-358 Change 4019457 by Max.Chen Sequencer: Show event names only when the event track is selected #jira UE-57897 Change 4022806 by Max.Chen Sequencer: Fix crash on movie scene capture dialog shutdown if movie capture wasn't even started. #jira UE-58106 Change 4022894 by Max.Chen Sequence Recorder: Wrap OpenEditorForAssets after sequence recording within GIsEditor #jira UE-58084 Change 4024487 by Max.Chen Sequencer: Add tooltip for quat interpolation #jira UE-58113 Change 4024562 by Max.Chen Sequencer: Change path/attach track sequence binding id to currently focused sequence id so that bindings can be created in subsequences Change 4027414 by JohnHenry.Carawon QAGame: Checking in content that shows a bug with using particles systems and Delay Before Shot Warm Up. Change 4028990 by Max.Chen Sequencer: Fix evaluate sub sequences in isolation. This check was added with the compile on the fly logic. Not sure why it was necessary but it seems like the sub sequence data needs to be updated in order to evaluate sub sequences in isolation. #jira UE-58184 Change 4029004 by Max.Chen Sequencer: Ensure that old binding references are removed when re-assigning actors in sequencer #jira UE-57898 Change 4030997 by JohnHenry.Carawon QAGame: Fixing name of the master sequence Change 4031785 by Michael.Karambelas QAGame: Added an instance of ThirdPerson Run to TM-SequenceRecorder for Record to Possessable test. Change 4035548 by Andrew.Rodham Sequencer: Changed FMovieSceneEvaluationTemplate::TemplateSignature to be a serial number to address non-deterministic cooking issues - This commit is related to the repro steps found in 3914599 and 3934307, both of which have been verified with this new change. - Copy of 4031684 from //Fortnite/Main/... #jira FORT-84852 Change 4036312 by Max.Chen Sequencer: Fix zoom view range so that it uses the passed in InZoomDelta Change 4036318 by Max.Chen Sequencer: Auto size now returns a range and defaults to the channel proxy range so that keyed regions can also be autosized. Change 4036322 by Max.Chen Forgot missing change Change 4036360 by Max.Chen Sequencer: Fix play rate calculation when skeletal animation section play rate changes. Change 4037163 by Mike.Zyracki Weighted Tangent Implementation Tricky thing is that you need to solve a cubic in order to get the bezier weights for the time part of the curve. See https://www.gamedev.net/forums/topic/474094-help-function-curves-for-animation-interpolation/ Maya provides an implementation in it's dev kit but I didn't use it since it was horribly slow and uses an iterative solution to solve the cubic needed. Instead I use an old algorithm (Cardano's method), to solve the cubic which should be much faster. Though relative simple to code from principles I just went ahead and used a version from Graphics Gems 1. I put this cubic solver directly in MovieSceneFloatChannel.cpp, but will need to move it when we support Rich Curve, maybe to FMath:: (which would probalby require some other functions for solving quartics, etc.. for completeness.). Also note we resolve this on every evaluation but dont' need to if the interval the time is evaluating hasn't had any change in values or tangents. So again when we support FRichCurve we can create a Weighted Evaluating class that can hold the cache. Also with the tangent drags I got rid of the Cardinal position that was used to calculate non-weight tangents from the key point and just quickly getting a direction. With weighted tangents we need to use the delta instead (otherwise when moving multiple they would all get the same weight based upon distance to the cardinal point. ) For mixed tangents types what I'm defaulting to non weighted if the interval doesn't match. May need to do weighted instead, not sure. What's left is just FBX import, for tomorrow. #jira UESEQ-76 Change 4037435 by Mike.Zyracki Fix fo build warnings from weighted tangent submission. #trivial Change 4038091 by Michael.Karambelas QAGame: Updated a Sequence Recorder group in TM-SequenceRecorder that had an actor missing the animation. Change 4038374 by Andrew.Rodham Sequencer: Refined scrubber styling for level sequences and actor sequences - Scrubber now shows a block the width of a dsplay rate frame, plus a line for the actual evaluated time. UMG reverts back to the previous styling (no block) - Keys that are outside of the playback range are now drawn with a subdued effect - Tick labels are no longer drawn when directly underneath the scrubber Change 4038490 by Max.Chen Sequencer: Expose tangent weight values in details panel. Change 4038620 by Andrew.Rodham Sequencer: Advanced time panel polish #jira UESEQ-426 Change 4038677 by Max.Chen Movie Scene Capture: Redirector for MovieSceneTools.AutomatedLevelSequenceCapture #jira UE-58248 Change 4039739 by Max.Chen Sequencer: Media track should only be supported by Level Sequence Change 4040024 by JohnHenry.Carawon QAGame: Fix EventReciever and OverrideBinding example The level sequence was set to none so the fix was to set it back to TrackEvaluation_Master. Change 4040610 by Andrew.Rodham Curve Editor: Moved weighted tangent switchers to a single toggle command (CTRL+W) and added an icon #jira 58383 Change 4040882 by Mike.Zyracki Keep broken when turning on weighted #jira UE-58435 Change 4041089 by andrew.porter QAGame: Sequence for Long Tangents bug Change 4041498 by Mike.Zyracki Turn off weighted when going auto to prevent large tangents. Do it both in UI and when doing AutoSetTangents() to really make sure it doesn't happen. #jira UE-58452 Change 4041752 by andrew.porter MediaFrameworkTest: Adding some better logging for setting rates when not supported. Also ignoring commiting URL when there is no text Change 4041896 by Matt.Hoffman The transform dialog box now transforms selected keys and sections, instead of just keys. #jira UE-58265 [CL 4044405 by Max Chen in Main branch]
2018-05-02 10:10:00 -04:00
FString FrameString = TimeSliderArgs.NumericTypeInterface->ToString((CurrentMajorLine * TickResolution).RoundToFrame().Value);
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3946692) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3801826 by Max.Chen PR #4304: Level Sequence crash fix - Guarded against dereferencing null componen. (Contributed by DSDambuster) Change 3801828 by Max.Chen PR #4302: Movie Scene Visibility Template unitialised variable, causing random . (Contributed by DSDambuster) Change 3801837 by Max.Chen Sequencer: Delay spawning/construction for convert to possessable. This fixes a bug where property values would be lost when converting back and forth from possessable to spawnable. #jira UE-52400 Change 3801841 by Max.Chen Sequencer: Make spacer nodes not selectable. PR #4194: Improvements to Sequencer (Contributed by projectgheist) #jira UE-53117 #jira UE-52139 Change 3804183 by Max.Preussner MediaAssets: Added missing lock in media sound component Change 3805414 by Max.Preussner MediaAssets: Setting valid GUID when initializing media texture resource Change 3819578 by Max.Chen PR #4370: When enabling the "MovieCapture", do not turn off the Stereo-3D display. (Contributed by yehaike) #jira UE-53647 Change 3823414 by Max.Chen Curve Editor: Lock down the first and last keys in the redundant keys removal range so that they're unaffected. #jira UE-53591 Change 3826406 by Max.Chen Sequencer: Move OnStartedPlaying() to within first update in UpdateTimeCursorPosition(). This fixes an issue where setting the hud/player visibility was getting stomped on later. #jira UE-52772 Change 3827044 by Max.Preussner MediaAssets: Added sprite visualization to media sound component #jira UE-53594 Change 3827988 by Max.Preussner MediaPlayerAssets: Fixed Media Texture is not linked to Media Player when created together #jira UE-53532 Change 3828506 by Max.Preussner MediaPlayerEditor: Added attenuation visualizer for media sound components #jira UE-53594 Change 3832590 by andrew.porter EngineTest: Added a keep state check in Property Animation sequencer test Change 3833053 by andrew.porter EngineTest: Adding Hierarchical Bias test Change 3835683 by andrew.porter EngineTest: Adding UMG Animation screenshot test Change 3836076 by Max.Chen Sequencer: Fix audio volume and pitch multiplier deprecation. Change 3836230 by andrew.porter EngineTest: Adding Sequence Bone Position automation test Change 3836347 by Max.Chen Sequencer: Fixes to shot name parsing. When a shot doesn't contain a shot number, assume, [ShotName]_[TakeNumber]. When duplicating a shot, put the new shot in the same path of the original shot, so that the take numbers will increment properly. #jira UE-51868 Change 3836552 by Max.Chen Sequencer: Sub section now has a takes menu Change 3838094 by Max.Chen UMG: Fix template finish not getting called on stop. This fixes a bug where sections aren't restored when finished. #jira UE-52285 Change 3838708 by Max.Chen Sequencer: Add notification when the blend type is changed. #jira UE-54046 Change 3840295 by Max.Chen Sequencer: Fix copy/paste crash for lights #jira UE-54084 Change 3840957 by Mike.Zyracki Added Show Only Keyable and Show Only Animated to the filter list in the property editor. Added IsPropertyAnimated to IDetailKeyframe Interface which already had support for showing properties which are keyable (which is used for the key icon next to the properties.). Could have created another interface but then would have had to mimic the sequencer binding, releasing also, so this seemed best way. One issue still left is that custom built detail items currently don't store associated properties(usually) and so certain properties, in particulalry transforms, won't show up as keyable or animated. Note this also shows up with the keyable icon not showing up next to transform tracks, and other filters like Show Only Modified not working with transforms/customs. Not sure best way to tackle this. #jira UESEQ-328 Change 3841756 by Max.Chen Sequencer: Fix unbound possessable components when pasting spawnables. #jira UE-54104 Change 3843950 by andrew.porter EngineTest: Renaming LevelStreaming tests/content to LevelVisibility Change 3844082 by Mike.Zyracki Missing file for animated filter in property editor. When finding if a track is animated we need to find it but we can't easily induce the MovieTrack class for any particular property. So we don't set a class for it and just search by it's ID and name. #jira UESEQ-328 Change 3846902 by Max.Preussner ImgMedia: Fixed image media player never finished initialization if loading failed #jira UE-54247 Change 3849820 by Mike.Zyracki Reassigning deleted widgets didn't work since the menu extender mechanism needs a valid UObject in order to perform an operation on it. So to fix we replaced GetObjectBindingContextMenuExtender in WidgetBlueprint with new delegate mechanism (OnBuildCustomContextMenuForGuid) that supports FGuid in addition to UObjects which is needed to handle re-binding deleted widgets. Note that the default sequencer hacks this for replacing deleted actors in SequencerObjectBindingNode to check to see if a LevelSequence is active. We could move to this mechanism there also. #jira UE-53163 Change 3852211 by Max.Chen UMG: Indicate name of the property that is not bound. #jira UE-54350 Change 3854120 by Max.Chen Sequencer: Fix sibling folders being allowed to have the same folder name. #jira UE-54363 Change 3854627 by Max.Chen Sequencer: Step to next/previous key should work for all tracks if there aren't any selected. #jira UESEQ-391 Change 3855825 by andrew.porter EngineTest: Adding animation blending automation test Change 3855950 by andrew.porter EngineTest: Adding correct expected valuues to animation blending test Change 3856237 by Matt.Hoffman UESEQ-336 - Sequencer Track Reordering Adds the ability to re-order Master Tracks, Folders and Object Bindings within sequencer hierarchies (including UMG). Adds the ability to do a one-off sorting of the content under the old sorting behavior if the user wants to reset their layout to how it was under legacy behavior. Modifies SequencerTrackNodes, SequencerFolderNodes and SequencerObjectBindingNodes to handle CanDrop/OnDrop for above, below and ontop of. Fixes a Slate Issue that forcibly expanded a TreeviewRow if an item handled OnDrop. Slate will now only forcibly expand the row if the item says the drop happened ontop of the item, and not above or below it like it previously did. Change 3856503 by andrew.porter EngineTest: Adding automation test for using animation blueprint with blend multi node in sequencer Change 3857875 by Max.Chen Sequencer: Assign the sequence id after the template is compiled. #jira UE-54462 Change 3858344 by Max.Chen Sequencer: Prevent Goto and Transform boxes from overlapping by allowing them to be visible at the same time in an autosized horizontal box. Also, added close button to the goto box. PR #4425: Prevent Goto and Transform boxes from overlapping in Sequencer ... (Contributed by projectgheist) #jira UE-54210 Change 3860566 by andrew.porter MediaFrameworkTest: Set the option to index 0 for the audio and video track list by default Change 3860654 by andrew.porter EngineTest: Enabling Camera Cut + FOV test Change 3860981 by andrew.porter EngineTest: Updating skeletal mesh tests with a delay after set playback position Change 3861256 by Max.Chen Sequencer: Add all bindings if none selected. #jira-54440 Change 3862154 by Andrew.Rodham Added TimeManagement module Change 3862424 by andrew.porter EngineTest: Turned on the test Bone Positions with Blend Multi Node Change 3862573 by andrew.porter EngineTest: Adding test to compare bone positions in a sequence that is blending an animation that is using an AnimBP Change 3865117 by Max.Chen Sequencer: Stop auto scroll on mouse release of movement. #jira UE-31212 Change 3865303 by Max.Chen Sequencer: Add drag and drop transactions #jira UE-54662 Change 3865304 by Max.Chen Sequencer: Fix crash when an actor factory is not found. Change 3865361 by Max.Chen Sequencer: Don't change the camera/shot lock button when popping out of a sequence. #jira UE-54665 Change 3865412 by Max.Chen Sequencer: Determine whether a transform track is for a camera by using the spawned object or template #jira UE-54666 Change 3865685 by Max.Chen Sequencer: Clear autoscrub offset when stopping autoscroll #jira UE-31212 Change 3865886 by Max.Chen Sequence Recorder: Log an error if the number of frames changes while recording. This can happen if the skeleton changes while recording. #jira UE-48715 Change 3866925 by Andrew.Porter MediaFrameworkTest: Changing the current PNG test video image sequence to 1024 x 576 Change 3867705 by andrew.porter QAGame: Adding Audio Sort Sequence to dev folder Change 3867890 by andrew.porter QAGame: Adding a sequence for testing a sorting crash to my dev folder Change 3872628 by Max.Chen Movie Scene Capture: Split delay before warmup into split delay before shot warmup so that there's separate controls for when the movie scene capture warmups up vs. shot boundaries. Change 3873131 by Matt.Hoffman UE-54732 - Crash reordering a folder with a track. This was caused by folders being the only type of track to check if someone was putting a parent track into a child track. Object Binding tracks and Tracks now check as well so that you can't use the above/below drop targets to add parents as children. This also fixed a typo in the localization keys. #jira UE-54732 Change 3873301 by Mike.Zyracki Added ability to support continous euler angle changes when changing rotations, in particularly with the rotation gizmo's. To do this we effectively added a form an of 'euler filter'(https://en.wikipedia.org/wiki/Euler_filter) to find the closest euler angle to the current euler angle. Three functions were added to FRotator to make this possible, one to get the euler angle that's has the same rotation as it, one to get the difference between two euler angles via Manhattan distance and a third using the previous two to choose a Rotator value that's closest to it. We then use these functions before calling UComponent::SetRelativeRotation to make sure we use the correct Euler after the Quat conversion. We also no longer limit(bound) the euler angles to -180,180, which is obviously necessary to avoid flips. I also changed how we caluclate yaw and roll when pitch is -90 or 90 to make it the standard approach of zeroing out roll and just setting yaw. Main reasons are the previous implementation had precision issues so things like 180, 90, -180 would show up due to numbers being nearly zero but negative,(this would break any smooth interpolations), and this facilitates having a 'gimbal' rotation mode (like Maya, Blender etc..) if we ever want that also. If needed we could keep the previous implementation but would need to add some FMath::IsNearlyZero checks, with less performance. Note we only do this special filtering when applying delta's to actors or components in the editors, which then call UComponent::SetRelativeRotationExact, which is a new function to foces the RelativeRotation to be equal to the new rotation. This allows us to store un-nomalized Rotators at the cost that the RotationCache may be broken. We didn't change any of the other UComponent functions that set rotations (via Quats or Transforms) so they will still be bounded and unwound. In SetInternalWorldLocationAndRotation we only set the rotation if the rotation has changed, which fixes the rotation getting changed and re-normalized if just translate happens. In TransformTrackEditor, we correclty use the bUndwing flag and in MovieScene3DTransformSection there was an un-needed winding check there, it will be unwound earlier if needed, which happens if Sequence Recording is happening. Max we should talk about what to do about this . Note the euler angle drag via the widget is still bound to 0-360. I think we should just unbound that now since the rotations value are now unbound. This review now includes fixes suggested by Zak. #jira UE-UE-22228 Change 3873483 by Matt.Hoffman Sequencer Tracks can now be inserted above the spacer at the bottom of the tree. #jira UE-54706 Change 3873899 by Max.Chen Sequencer: Add section selection throbbing Change 3873908 by Max.Chen Movie Scene Capture: Added logging per frame Change 3873924 by Matt.Hoffman Adds the ability to store Sequence Recorder setups into profiles that stay with the map and can be re-loaded later. Profiles store the Actor Recordings so the settings for each actor should carry with them. #jira UESEQ-339 Change 3874726 by Matt.Hoffman Disable drag-and-drop targets on spacers that come between rows in Sequencer. This prevents extra drag/drop targets showing up between each row. #jira UE-54706 Change 3874862 by Matt.Hoffman Audio Track no longer gets reordered when adding sub-audio tracks, as sub-tracks are no longer counted towards the sorting order index when normalizing indexes. #jira UE-54727 Change 3875905 by Matt.Hoffman Disable Fade Track UI if a fade track already exists in the sequence. #jira UESEQ-393 Change 3876163 by Max.Chen Sequencer: Swap the camera object to the camera component's owner if it's not the same. #jira UE-54874 Change 3876971 by Andrew.Porter EngineTest: Moved Media Player Seek test to new folder. Also enabled the test with new ground truth image. Change 3877040 by Max.Chen Cine Camera: Split camera properties to two groups, "Camera Options" and "Camera Settings". The cine camera now hides properties in the "Camera Settings" group so that properties like bConstrainAspectRatio (in the "Camera Options" group) can be visible. #jira UE-54192 Change 3877763 by Max.Chen Curve Editor: Fix curve changed on end drag so that only curves that had keys/tangents that were changed receive notification, otherwise all loaded curves were getting notified that they were changed. #jira UE-54951 Change 3878234 by Matt.Hoffman Disable "Drop Below" targets for Sequencer Tree nodes to prevent a confusing UX issue where dropping underneath a Object Binding Node puts it after the object binding node but the UI looks like it's inserting it inside the Object Binding node. #jira UE-54743 Change 3879359 by Mike.Zyracki If a track is inactive we dim it a bit which seems to be the UE4 way to show inactive or disabled state. We changed the active logic so that all subtracks need to be inactive for the track to also be inactive(instead of all active for active). This conforms to how the active state actually works, e.g if you have two sections and only one is active the track is still active above it. #jira UESEQ-388 Change 3879462 by Max.Chen Sequencer: Allow dragging onto a particular row which would move out any overlapping sections to make space for the newly created section. Newly created sections are now selected and throbbed to draw attention to themselves. #jira UE-54664 Change 3879464 by Max.Chen Sequencer: Fixed overlapping ranges being inserted into the evaluation field during compilation - The issue was that track segments that had been combined with adjacent segments (due to them being identical) would potentially cause a subsequently compiled frame to overlap with a range that had already been inserted into the evaluation field. - The insertion code previously asserted that only minor overlaps were catered for (due to fp rounding errors) and assumed that a supplied range could not entirely contain any other range in the field. - The solution is to supply the insertion time along with the range to know exactly where the data should live in the field, and crop the range to the maximum allowable space between adjacent ranges. #jira UE-54922 Change 3879590 by Matt.Hoffman Items that are now added to the Sequencer via the "+Track" menu will be selected after being added. Items can now be added inside of folders instead of just to the root level. #jira UE-27397 Change 3879612 by Mike.Zyracki Display Nodes with no children are always active. #jira UESEQ-388 Change 3879730 by Matt.Hoffman Sequence Recorder's actor recording groups now remove items from the group when removed via the UI. #jira UESEQ-339 Change 3880256 by Mike.Zyracki Fix issue with inactive display with folders and other track nodes. #jira UESEQ-388 Change 3883491 by Max.Chen Fix issue where tick is skipped due to last ticked pose isn't cleared after AnimInstance changes. Copy from Release-4.19 #jira UE-51323 Change 3883603 by Max.Chen Movie Scene Capture: Add option toggle disable screen percentage. By default this is on (no change in current behavior). #jira UE-51898 Change 3885074 by Max.Preussner MediaCompositing: Resetting media texture & freeing resource on section end; removed dead code Change 3887220 by Max.Preussner MediaCompositing: Defaulted media section duration to 1 sec (since we do not know the actual duration in most cases) Change 3887478 by Matt.Hoffman Sequences now show [Inactive] in their title bars when they're disabled. This helps communicate why a sequence isn't being evaluated. #jira UE-51469 Change 3888985 by Max.Chen Movie Scene Capture: Clamp HDR Compression Quality between 0 and 1. #jira UE-55136 Change 3893519 by Max.Chen Sequence Recorder: Clarified tooltip for bRecordNearbySpawnedActors - spawned actors will still be recorded if they match the ActorFilter. #jira UE-55238 Change 3893546 by Max.Chen Sequence Recorder: If a selected actor already has a recording, add a blank recording. #jira UE-55239 Change 3894044 by Max.Preussner MediaCompositing: Added support for seeking into a media section Change 3894310 by andrew.porter MediaFrameworkTest: Adding Img media sources for 1080 and 2160 ravent test content Change 3894426 by Max.Preussner MediaAssets: Letting media textures with AutoClear retain their clear color when player is reset Change 3895717 by Max.Chen Sequencer: Null checks to prevent crash when saving the default state of a spawnable #jira UE-55304 Change 3897388 by Max.Chen Sequencer: Don't update current time to be within the view range when stepping into a sequence. #jira UE-55322 Change 3897452 by Max.Chen Audio: Fix crash when trying to record audio without any active capture devices. Log warning if the number of input channels is not 1 or 2. #jira UE-55223 Change 3897619 by Max.Preussner MediaCompositing: Removed commented out code Change 3898072 by Max.Chen Sequencer: Override the animation asset in the player state if it doesn't match the animation asset that's being evaluated. #jira UE-55328 Change 3898272 by Max.Preussner MediaPlayerEditor: Made slate brush constants static Change 3898704 by Max.Chen Sequencer: Skip if the binding id's sequence can't be found. #jira UE-55337 Change 3899855 by Max.Preussner MediaCompositingEditor: Added cache state visualization to media track Change 3900300 by Max.Preussner MediaCompositingEditor: Added loop indicators to media sections Change 3900694 by Max.Preussner ImfMedia: Looping cache only when player is looping Change 3900892 by Max.Preussner Stats: Added stats category for media framework Change 3900954 by Max.Preussner MediaCompositing: Don't evaluate at the end of media section Change 3901348 by Max.Preussner Core: Replaced TLruCache autos for better readability Change 3901655 by Max.Preussner ImgMedia: Added more perf stats to EXR reader Change 3901972 by Max.Preussner MediaAssets: Added getter for media player in media sound components Change 3902233 by Max.Preussner MediaAssets: Enabling media textures to receive samples right after player is assigned Change 3902238 by Max.Preussner MediaCompositing: Working around init/shutdown idiosyncracies in sequencer Change 3904045 by Max.Chen Sequencer: Fix copy/paste crash. Only process UMovieSceneCopyableBinding and objects that can be spawned by the movie scene spawn register. #jira UE-55314 Change 3905605 by Max.Chen Sequencer: Restrict spawnables from being created if they have a ClassWithin that UMovieScene is not a child of. #jira UE-55429 Change 3906550 by Max.Chen Sequencer: Add media track icon #jira UE-55480 Change 3907101 by Max.Chen Sequence Recorder: Fix bugs related to not recording a level sequence. There were certain assumptions that creating a level sequence meant that sequence recording was in progress. This is not always the case - the recorders can record animation assets and not create a level sequence. Changed the notion of IsRecording() to having at least one actor recording that is recording. Countdown timer, recording displays, etc should function if IsRecording() and not based on whether a level sequence is created. #jira UE-55485 Change 3907247 by Max.Chen Sequence Recorder: Fix crash not removing PrepareToCleanseEditorObject delegate. Repros when opening sequence recorder, closing it, and then opening or creating a level. Change 3910343 by Max.Preussner Core: Added async helper for executing functions on a given thread pool Change 3910346 by Max.Preussner ImgMedia: Added separate thread pools for loading/decoding and deleting image frames Change 3910829 by Max.Preussner Profiler: Increased visible range of profiler graph Change 3910841 by Max.Preussner MediaCompositing: Displaying asset name instead of full media source path in media section Change 3910870 by Max.Preussner ImgMedia: Using deallocation thread pool only in debug builds Change 3919642 by Max.Chen Sequence Recorder: Clarify active tooltip #jira UE-55661 Change 3919660 by Max.Chen Sequencer: Sequence template source signatures are now also compared to catch the case where a sub-sequence asset has been saved but not modified - The following sequence of events exposes this issue: - Create a master sequence with a single shot that spawns a cube - Add this sequence to a level and set it to auto-play - Save everything and restart - Resave just the inner shot asset without opening it - PIE - The inner shot never spawns its cube because its template was wiped on save, but its signature never changed. Since the master sequence previously didn't check the template source signature, it ends up trying to evaluate an empty template. #jira UE-55626 #jira UE-55490 Change 3921825 by Max.Chen Sequencer: "Run Construction Script in Sequencer" is off by default for blueprints but on for Sequencer. This allows the content author to switch it on for specific blueprints and sequencer will be default, run those with construction scripts enabled. Change 3922232 by Max.Chen Sequence Recorder: Reset countdelay on stop. #jira UE-55755 Change 3922306 by Max.Chen Sequence Recorder: Don't automatically mark transforms to be recorded by sequence recorder. Instead, log a warning if the user toggled it off to warn that the resulting animation might not match gameplay. #jira UE-55758 Change 3922912 by Max.Chen Sequence Recorder: Fix refresh next sequence name #jira UE-55757 Change 3927654 by Max.Chen Movie Scene Capture: Added format mapping for the name of the current camera #jira UE-55769 PR #4537 Change 3927658 by Max.Chen Sequencer: Added fbx property mapping for "FocusDistance" to "FocusSettings.ManualFocusDistance" #jira UE-55782 Change 3932022 by Max.Chen Sequencer: Add import animation track section to next available row index. #jira UE-55892 Change 3933919 by Max.Chen Sequencer: Jump to playback start frame and not 0 to start playback for recording. #jira UE-55933 Change 3934307 by Andrew.Rodham Sequencer: Add template signature that is re-generated every time the base template is regenerated, which invalidates evaluation fields This fixes an issue where the same sequence is instantiated multiple times in a sequence. If the source sequence was saved, its template would be wiped, which would invalidate the template ID When an instance tries to evaluate the master template, it would only invalidate a range in the evaluation field that was the hull of any invalid sub sequences overlapping the current time, potentially leaving invalid data in the evaluation field at positions later (or earlier) on in the sequence When the sub template was re-generated, it receives the same SequenceSignature as it had before (because the sequence hasn't actually changed), which causes the stale evaluation field data to fail the IsDirty check (because the sequence is the same as it thought, but the *template* has changed) This has been addressed be adding a signature to templates themselves, and checking both the template signature and sequence signature as a part of the IsDirty check. This ensures that we regenerate if either the template, or the sequence have changed. #jira UE-55934 Change 3936327 by Andrew.Rodham Sequencer: Removed increment when trimming right UMovieSceneSection::TrimSection already explicity assigns an exclusive bound to the time passed in. The new behavior means we can trim a section to the right, and insert another section without changing the time to create adjacent sections. #jira UE-42652 Change 3936328 by Andrew.Rodham Fixed KeyFrameManipulator assignment operators and copy/move constructors - These types are potentially self-referential so cannot use default constructors/assignment Change 3936330 by Andrew.Rodham Converted UMGSequencePlayer to use frames internally #jira UE-54878 Change 3936726 by Max.Chen Sequencer: Set track node as the parent of the key area node. The key area switcher needs the object binding id from the parent object binding node. Without this, the binding to the external value fails. #jira UE-55931 Change 3936775 by Max.Chen Sequencer: Should stop or loop should compare DurationFrames with Current Time from StartTime. The bug is that if you set 30 warmup frames in movie rendering for a range of 0-100, the FrameRange will be starting at -30 and have a duration of 130. Without this fix, the playback will continue until frame 130, rather than 100. #jira UE-55933 Change 3936935 by Matt.Hoffman Easing Curves are now represented in Play Rate resolution instead of internal resolution. #jira UE-55937 Change 3937069 by Matt.Hoffman Users can toggle if the is infinite on each side, limited by which tracks support infinite ranges. #jira UE-55891 Change 3937516 by Max.Preussner ImgMedia: Added support for single-threaded platforms #jira UE-55986 Change 3937826 by Max.Preussner MediaAssets: Disabling media sound components on HTML5 if AudioMixer is not enabled Change 3937997 by Max.Chen Curve Editor: Add Zoom to Fit Curves so that selected curves from Sequencer can be focused on. Tested that undo doesn't re-zoom. #jira UE-55935 Change 3938000 by Max.Chen Sequencer: Stop all sounds before generating audio waveforms. #jira UE-55951 Change 3938376 by Max.Preussner XGEController: Disabled XGE Controller in single-threaded apps to prevent crash Change 3938444 by Max.Preussner Core: Added async support for single-threaded applications Change 3938445 by Max.Preussner Networking: Added support for single-threaded applications in UDP socket sender/receiver Change 3938447 by Max.Preussner Messaging: Added support for single-threaded applications Change 3939432 by Max.Chen Sequence Recorder: Append command list to global level editor actions so that shortcuts are accessible in level editor. #jira UE-55798 Change 3940229 by Andrew.Rodham Added prospective display rate upgrade to UMovieScene::PostLoad - There was previously some very odd behaviour that would assign the fixed frame interval only when a sub sequence was focused in SSequencer. This meant that many sequences could have a frame interval of 0 set in the data. - Under the old method of snap interval display this would have fallen back to getting the display interval from the sequencer settings, but we no longer look at these. - The USequencerSettings properties have been removed and in their place, a prospective data upgrade for sequences that have a fixed frame interval old 0fps that sets the play rate to the previous defaults based off the old USequencerSettings defaults. - This could end up 'changing' the display rate for sequences where the user has changed the snap interval in the settings for a particular sequence editor, but there's not much we can do about that given we don't have access to the USequencerSettings classes in UMovieScene #jira UE-55919 Change 3940277 by Andrew.Rodham Sequencer: Added ability to default frame resolutions and play rates for newly created actor sequences Change 3940378 by Andrew.Rodham Sequencer: Post move import dialog now defaults to the playback framerate of the sequence, and floors to frame numbers Change 3940559 by Andrew.Rodham Reinstated primed or recording sequence color Change 3940642 by Max.Preussner ImagePlate: Removed image plate media playback functionality Change 3940843 by Max.Preussner Core: Made TCircularQueue actually thread-safe; improved code comments Change 3940860 by Max.Chen Sequencer: Changed StructNameToKey to StructPathToKey Previously, keying a PropertyPath of [RenderTransform][Shear][X] would get trimmed to X, which doesn't map to a channel name as considered by Sequencer2dTransformTrackEditor. Instead, trim the resulting property path to [Shear][X] so that track editors can determine the desired struct path and channels to key. #jira UE-52966 Change 3941292 by Mike.Zyracki Fix for trajectories out of range not showing up. 1) If we had no key data we would pop the time, so wouldn't get the section ranges. 2) Calculating of upper bound was wrong, checking against -1 and not key == num of keys when doing algo::lower_bound. 3) No need to do the Bck-- for the bakward iterators since we fixed #2. We start now from the upper bound correctly. 4) If we had no keys (at section start,end) we would incorrectly say we were any key type, so since we draw constant keys as dashed we would do so incorrectly around section end points. #jira UE-55929 Change 3941424 by Max.Chen Curve Editor: Change Zoom to Fit to use TArrayView Change 3941498 by Max.Preussner Core: Added FMath::DivideAndRoundNearest function Change 3942097 by Matt.Hoffman Drop Frame Timecode Support for NTSC rates. Change 3942104 by Matt.Hoffman Sequence Recorder Group is no longer visible inside the World Outliner after using one. #jira 55266 Change 3942107 by Max.Chen Sequencer: Resurrect logic to find or extend an existing section when adding keys. Change 3942330 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942339 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942507 by Andrew.Rodham Sequencer: We no longer pad the time overlap threshold with a small number that is not scaled by the current zoom level - The presence of this pad was causing keys that were far apart to be grouped when zoomed in a long way Change 3942509 by Andrew.Rodham Sequencer: Only pad total view range, rather than section range as well when retrieving keys to render - This stops us from rendering keys that are within the view range, but outside the section range Change 3942512 by Andrew.Rodham Added transactions to some sequencer details customizations Change 3942513 by Andrew.Rodham Sequencer: Reinstated validation checks to UMovieSceneSection::SetStartFrame and SetEndFrame, changed erroneous uses to use SetRange Change 3942560 by Andrew.Rodham Pass by rvalue reference to appease error C2719 on Win32 ('InChannels': formal parameter with requested alignment of 8 won't be aligned) Change 3942697 by Andrew.Rodham Newly Created Level Sequences and Actor Sequences now default to 24000 fps frame resolution (+/- ~24hrs range, supporting all integer rates + 23.976) Change 3942700 by Andrew.Rodham Sequencer: Added legacy out-of-bounds errors for times that are not supported by the current legacy upgrade frame resolution Change 3942989 by Max.Preussner Core: Fixed circular queue count calculation Change 3943538 by Max.Preussner MediaAssets: Reverted workaround for procedural audio log spam in HTML5 (Actor component initialization cannot be skipped if the component is used in a level) Change 3944071 by Max.Preussner QAGame: Fixed Media Texture keeps last frame of Media when PIE ends #jira UE-53360 Change 3944292 by Max.Chen Sequencer: Added extra flags to ensure that asset initialization does not occur on template actor sequences #jira UE-56113 Change 3944364 by Max.Chen Sequencer: Prevent circular shot/master tracks. Tested adding master -> child -> master as drag and drop cinematic shot tracks and sub tracks as well as through the + button. #jira UE-56091 Change 3944422 by Max.Chen Sequence Recorder: Disable transform recording if off. #jira UE-56061 Change 3944745 by Andrew.Rodham Sequencer: Key rendering fixes - Fixed assert that occured when keys happened to reside on some times due to KeyTime + TimeOverlapThreshold - KeyTime being slightly larger TimeOverlapThreshold - Fixed keys sometimes being clipped when zoomed right in due to lack of half-frame offset - Added missing documentation to MovieSceneTimeHelpers.h #jira UE-56107 Change 3945231 by Andrew.Rodham Sequencer: Reconstruct channel proxy on Serialize to catch all cases of undo/redo, PostLoad and duplication #jira UE-56089 Change 3945301 by Andrew.Rodham Sequencer: Added safety checks during initial sequence recording to guard against applying negative or 0-sized sequence ranges #jira UE-56125 Change 3946627 by Max.Preussner Fortnite: Fixed game crashes closing editor while in PIE - Pure virtual function being called #jira UE-56144 [CL 3946896 by Max Chen in Main branch]
2018-03-14 22:09:33 -04:00
// Space the text between the tick mark but slightly above
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 4044339) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3947021 by Max.Chen Sequencer: Don't preserve root component when copying object properties. A spawnable empty actor, has a root component that is generated by the empty actor factory. If the object template's root component is preserved when copying from the spawnable empty actor, the root component will not be copied over. Therefore, we need to NOT preserve the root component when copying object properties. #jira UE-55825 Change 3947366 by Max.Preussner WmfMedia: Better log output Change 3947367 by Max.Preussner MfMedia: Better detection of compressed format properties on Windows Change 3949102 by Max.Chen Sequencer: Remove SequenceActorTag when converting to possessable. #jira UE-56206 Change 3949207 by andrew.porter EngineTest: Set the screenshot nodes resolution to 1280x720 Change 3949404 by Max.Chen Sequencer: More informative tooltip for "Rerun Construction Scripts" option. It now says "Rerun construction scripts every frame on actors that have 'Rerun Construction Script in Sequencer' enabled in their class settings". Change 3950067 by Matt.Hoffman Renamed UAutomatedLevelSequenceCapture's StartFrame and EndFrame to CustomStartFrame/CustomEndFrame to reflect that it is user-overriden. This will also resolve upgrade issues due to the variable datatype changing. #jira UE-56189 Change 3950193 by JohnHenry.Carawon Updating my latest MovieRendering test content. Change 3950757 by JohnHenry.Carawon More updates to MovieRendering test content Change 3952059 by Max.Chen Resave LevelVisibility_SubLevels to fix data loss conversion warning of OpacityMaskConstant #jira UE-56086 Change 3952283 by Max.Chen Sequencer: Disable dropping level sequence assets as spawnables. #jira UE-56120 Change 3952422 by Max.Chen Sequence Recorder: Add button to record from the current player. #jira UE-55942 Change 3952987 by JohnHenry.Carawon MovieRendering Test Content - Fixing camera bindings and changing the override binding actor Change 3953823 by Mike.Zyracki Fix for Bad FBX Import Tangents not scaled by frame rate. After looking at this again it seems that a set of MovieScene:: overiddes for the channel traits wasn't set correctly, so use the ADL idiom to use MovieScene, which can then call Optimize in the correct namespace. With this we can now correctly use the passed in tolerance. There was also a redundant set of Optimize calls so that it could happen twice so removed them, and needed an extra check in the float channel Optimize. Also since we need to set auto tangents no matter if we optimize we don't set that parameter(though leave it since it's used by context menu key reduction). Finally fixed speed issue with trajectories caused by calculating way too many substeps. Reverted back to a time based step size for consistency. #jira UE-56193 Change 3954317 by Matt.Hoffman Adding a key to the last frame of a section no longer causes a crash. Keys can already be moved to be on the last frame of a section so now you can just add a key there directly. #jira UE-56255 Change 3954326 by Matt.Hoffman Dilating a section that is only infinite on one side no longer causes a crash. #jira UE-56260 Change 3954486 by Max.Chen PR #4580: Exposes IsReversed() from UMovieSceneSequencePlayer (Contributed by alanedwardes) Change 3955238 by Max.Preussner Messaging: Enabled delayed message routing https://github.com/EpicGames/UnrealEngine/pull/4574 #jira UE-56247 Change 3955901 by Max.Preussner MediaFrameworkTest: Added developer test for overriding desired media player plug-in at runtime. Change 3955922 by Andrew.Porter QAGame: Updating movie rendering content in dev folder Change 3956004 by andrew.porter QAGame: Adding MPC track to movie rendering test content Change 3956510 by Max.Chen Sequencer: Fix fbx camera import of static properties so that they are imported before default tracks are created. Otherwise, the default tracks inherit the default properties of the camera, rather than the values from the fbx. #jira UE-56311 Change 3957613 by Max.Preussner MediaUtils: Added code documentation to media player facade Change 3958005 by Max.Preussner MediaUtils: Added method to get number of sinks Change 3958934 by Max.Chen Sequencer: Fix keys getting added and sequence getting erroneously re-evaluated when auto key is off. Only apply defaults if there are no keys. Only modify the movie scene section before creating keys or setting defaults. #jira UE-55903 Change 3959687 by Andrew.Rodham Sequencer: Fixed visibility track external values being inverted #jira UE-56324 Change 3960507 by Max.Preussner Core: Fixed incorrect rounding in FMath::DivideAndRoundNearest Change 3962047 by JohnHenry.Carawon MovieRendering Test Content Changes: - Add Lightmass Importance Volumes to sublevel to fix warnings - Rebuilt Lighting - Add a third sequence for Gamut testing - Resaved the sound master.uasset to fix warning Change 3962211 by Mike.Zyracki Add Frame Numbers to selected animation sections. Added MapTimeToAnimation to MovieSceneSkeletalAnimation so that we could get it from the Skeleton Animation track Editor. Since the thickness of the frame line can change based upon frame rate and zoom we need to calculate it similarly to how the time slider controller does it. Those calculations were private so we had to expose FScrubRangeToScreen and GetScubberPixelRange from the TimeSliderController. Also needed to know if the section itself was selected so added a bIsSelected flag to the section Painter. Also fixed a bug where you couldn't add a section if other sections existed at different times in MovieScenePropertyTrack and could crash due to the check(). #jira UESEQ-395 Change 3962497 by Max.Preussner Core: Added new string formatting argument to FTimespan Change 3963662 by Max.Chen CineCamera: Flip VistaVision width and height. Change 3963731 by Max.Preussner MediaCompositing: Implemented sequence recording support for media track Change 3964195 by Andrew.Rodham Sequencer: Set inverted property correctly for newly created visibility track sections - Also clamp evaluation for key editors to the bounds of the section so we're not displaying values outside of the section bounds when the cursor is not on the bounds #jira UE-56324 #coderevew Max.Chen Change 3964196 by Andrew.Rodham Sequencer: Fixed crash when attempting to render sections that resulted in a negative intersection with the view range Change 3964275 by Andrew.Rodham Sequencer: Fixed MovieScene::ClampToDiscreteRange for infinite range bounds Change 3964364 by Andrew.Rodham Curve Editor: Reduce minimum vertical view range when zooming to fit Change 3965091 by Max.Chen Sequencer Recorder: Refresh next sequence if empty when starting a recording, otherwise, use existing name. #jira UE-56469 Change 3965148 by Max.Chen Sequence Recorder: Move Record to Possessable to "Actor Recording" group Change 3965162 by Max.Chen Sequence Recorder: Always break out of immersive mode when done recording, even when stopping recording during countdown. #jira UE-56407 Change 3965214 by Max.Preussner QAGame: Enabled ImagePlate plug-in Change 3965574 by Max.Preussner SimpleComposure: Reorganized & upgraded content to work with new Media Track #jira UE-56488 Change 3965651 by Max.Preussner MediaCompositing: Ignoring seek-on-open if media not seekable Change 3966075 by Christina.TempelaarL Sequencer: Added Final Cut Pro 7 XML Export functionality #jira UESEQ-358 Change 3966087 by Matt.Hoffman Adding a single key to the Particle Toggle track now makes an infinite range section that is displayed in the UI. #jira UE-56295 Change 3966547 by Andrew.Rodham Sequencer: Fixed rounding errors when drawing the section background on boolean sections - Logic was using time in sectonds which caused rounding errors on evaluation and flickering red/green stripes when dragging keys around #jira UE-56324 Change 3966563 by Andrew.Rodham Curve Editor: Key editor interface improvements - SKeyEditInterface has a few problems - it does not update in real time when editing properties, and does not support multi-edit which makes it unsuitable for use with the curve editor - We now take a different approach for editing keys by gathering a set of proxy UObjects for each key that is currently selected. These objects are added as top level objects to the details panel which means they support multi edit as you'd expect from any other details panel in the editor. - Proxy objects are updated every tick for the curve editor if they implement the ICurveEditorKeyProxy interface, which allows them to refresh their current value. - Ideally, the same mechanisms would be used in the main sequence interface, and we would be generating the proxy classes at runtime based on the key value type, but that work remains a separate task from this initial offering. #jira UE-56165 Change 3966564 by Andrew.Rodham Curve Editor: Expand to frame when adding or moving keys in the curve editor Change 3967051 by andrew.porter MediaFrameworkTest: Set the CameraPlayer_Video texture to auto clear Change 3967141 by Andrew.Rodham Sequencer: Keep track of spawned objects that have been modified and only re-save such object's default spawnable state on destruction - Now that we're taking this approach, I've remove serveral redundant bits of functionality in the spawn register such as making some spawnables read-only, and the PreSave binding for Sequencer. - We now hook into all object pre-saves to make sure we handle the case where the sequences are saved through the content browser or elsewhere. #jira UE-47686 Change 3967170 by Andrew.Rodham Sequencer: Added the ability to possess anim instances as object bindings - This allows full and direct animation of properties on UAnimInstance, and animation blueprints - Object Bindings are made by first possessing a skeletal mesh component, then choosing the + Add button where its anim instance will be listed - Added a new function to UMovieSceneSequence to gather previously cached objects that should now be invalidated. Anim instances will be re-resolved if a new UAnimInstance is assigned to USkeletalMeshComponent::GetAnimInstance. - ObjectBindingIDs for anim instances are just represented by an entry in a set of GUIDs. We only ever resolve such bindings through USkeletalMeshComponent::GetAnimInstance. - Only currently supported on LevelSequences #jira UE-56132 Change 3967195 by Max.Preussner Core: Updated TRangeSet to use TCallTraits Change 3967345 by JohnHenry.Carawon Test Content Changes - first iteration of spacing out the examples in the shots. Change 3967572 by Max.Chen Sequencer: Fix setting PreviousPlayEvalPosition until after we've tested whether it's set. #jira UE-56518 Change 3967750 by Max.Chen Audio: Set duration based on number of input channels, rather than number of channels to serialize. This fixes an issue where audio split into 2 channels is set to a duration that's twice as long. #jira UE-56430 Change 3967836 by Max.Chen Sequencer: Allow for animating array elements within ustruct properties #jira UE-55887 Change 3968506 by Matt.Hoffman Fixed ambiguous conversions for seconds and frames being overriden by ambiguous conversion to Timecode (in frames). Change 3968748 by Max.Chen Sequencer: Make the event properties submenu widget larger. #jira UE-55557 Change 3968862 by Max.Chen Sequencer: Recursive expansion when shift is down #jira UE-52139 #pr 4194 Change 3968863 by Max.Chen Sequencer: Bind rename command to selected track so that F2 shortcut start renaming #jira UE-52139 #pr 4194 Change 3968872 by Max.Chen Sequencer: Rekey the selected key at the current time. #jira UESEQ-396 Change 3968938 by Max.Chen Cine Camera: Add option to toggle the behavior of locking the rail mount to the orientation of the spline. By default, the option is off, no change in behavior. #jira UE-55815 Change 3968958 by Andrew.Rodham Sequencer: Consider vertical position when hittesting keys #jira UE-56256 Change 3969643 by Max.Preussner Core: Rounding timespans created from double values towards nearest ticks Change 3969646 by Max.Preussner MediaUtils: Implemented timeout mechanism for block-on-fetch feature Change 3969776 by Mike.Zyracki Added Skip Anim Notifiers Toggle per what was in Matinee. Investigated the Enable Root Motion toggle as also discussed but it's implementation is directly contained by the animation asset and unlike animation notifies there seems to be no exposure to interactively disable it during a playback tick. Note if we are generating thumbnails we still automtically disable notifies in the editor to avoid annoying noise playback. Note that if Enable Root Motion/Root locked is specified in the animation asset it does correctly effect the Sequencer. #jira UESEQ-399 Change 3969835 by Matt.Hoffman Playback Range and Selection Range use unified logic for adding themselves as potential snap locations which properly handles inclusive/exclusive bounds. This resolves an issue where having an unset selection range caused a potential snap location to be added on frame 0 and 1 (internal resolution) which caused a misalignment when placing objects near frame 0. This also removes the one frame offset on setting Selection Range to bring behavior inline with other ranges. #jira UE-55420 Change 3969885 by Max.Preussner MediaAssets: Don't register media player CDO with media ticker Change 3971129 by Andrew.Rodham Sequencer: Fixed UMovieSceneSequencePlayer::GotToEndAndStop() not taking into account for start time This is a remnant from when the times were always specified in 0-duration space, rather than actual sequence times. Change 3972056 by JohnHenry.Carawon More updates to Test Content. I continued spacing out the examples in the sequence so that they have a consistent number of frames between each example and during the start/end of the example. Also removed the Marcie sublevel. Change 3972066 by Andrew.Porter MediaFrameworkTest: Setting Marcie folder to be never cooked in package settings Change 3972675 by Matt.Hoffman Splitting Subsequence Sections no longer sets an incorrect playback range on the subsequence when the subsequence has a different internal resolution than the owning sequence. #jira UE-55453 Change 3973376 by Max.Preussner ImgMedia: Zero is the only valid video track for image sequences Change 3973489 by Max.Preussner Launch: Build rules cleanup pass - don't use Media, MediaUtils on server apps - don't link against Media (include-only dependency) - don't include from MediaAssets (dynamic load only) Change 3973760 by Max.Preussner MediaUtils: Moved AppMediaTimeSource implementation into its own file; added logging Change 3973765 by Max.Preussner ImgMedia: Disallowing seek beyond media length Change 3973855 by Max.Preussner MediaFrameworkTest: Updated developer test content Change 3973858 by Max.Preussner MediaCompositing: Blocking on media player time instead of media sample time (the former may not be hit in the current frame) Change 3974988 by Max.Chen Sequencer: Fix trim left so that it also sets the start offset for audio and skeletal animation sections. #jira UE-57015 Change 3976101 by Matt.Hoffman Sequencer will now focus the scroll view on newly created items. #jira UE-56492 Change 3976203 by Max.Chen Property Editor: Add DetailsViewArgs for ColumnWidth. Defaults to 0.65f, no change in existing behavior. Change 3976205 by Max.Chen Sequencer: Set better column widths for sequencer. #jira UE-55557 Change 3976206 by Max.Chen Sequencer: Added menu category for import/export Change 3976265 by Matt.Hoffman Tracks within Object Binding Nodes will now sort using the old behavior so that components are added above other track types. #jira UE-56473 Change 3976901 by Max.Chen Sequencer: Add event names to event track section #jira UESEQ-353 Change 3977878 by Max.Preussner Media: Moved media framework ticking stats into Media module Change 3977982 by Max.Chen Sequencer: Add Edit->Reset section length to duration of source (ie. audio, skeletal animation, shot length) Added MovieSceneSection::GetDefaultDuration and MovieScene::HasDefaultDuration #jira UESEQ-392 Change 3977994 by Max.Preussner Media: Fetching and rendering media samples before viewports are rendered (to ensure frame sync for in-level media playback) #jira UE-53975 Change 3978188 by Matt.Hoffman Easing Curves are now clipped by the sequence's PlayRange when testing against an infinite section. This causes blended sequences to finish their blend when the section starts/ends instead of always using 25% of the total section length to determine default blend range. #jira UE-56362 Change 3978676 by Max.Preussner MediaCompositing: Fixed first frame of rendered out media track missing #jira UE-53975 Change 3978684 by Max.Preussner MediaCompositing: Enabled media track frame sync feature #jira UE-53975 Change 3980026 by Matt.Hoffman Keys can be selected on folded out sections (such as an audio track expanded to show volume and pitch) again. #jira UE-57169 Change 3981614 by Max.Preussner MediaUtils: Added missing subtitle sample queue flush Change 3982311 by Max.Preussner MediaCompositing: Added safeguard for zero length media sources Change 3982389 by andrew.porter QAGame: Adding media track test content into FrameAccuracySubscene Change 3983661 by Max.Chen Sequencer: Add level name to spawn a spawnable into. Add sublevel menu option to set the level #jira UESEQ-390 Change 3983712 by Andrew.Rodham Sequencer: Purge legacy blueprint spawnables from LevelSequence packages #tests Ran a preflight for cooking fortnite, ocean and Orion. Only orion shows up this edge case, and will require a re-save of the EndCines level #jira UE-39173 Change 3983787 by Max.Preussner MediaCompositing: Moved compile time switch for block-on-fetch into media player facade Change 3983812 by Andrew.Rodham Sequencer: Exposed default level sequence instance data to blueprints Change 3984373 by Max.Preussner Media: Added API for quering whether player plug-in supports block on fetch Block on fetch allows Sequencer and other systems to block the game thread until a desired video frame has been decoded. Change 3984670 by JohnHenry.Carawon Movie Rendering Test Content progress. Saving the state of the content. There is a bug where things got replaced with particle emitters and I think it was because I tried to copy paste an animation track into a separate skeletal mesh track. Change 3985097 by Max.Chen Sequencer: Rename Reset to AutoSize Change GetAutoSizeDuration to return TOptional<FFrameTime> #jira UESEQ-392 Change 3986043 by Max.Chen Sequencer: Fix crash when attach/path duration is less than 0. #jira UE-57310 Change 3986373 by Max.Chen Sequencer: Add support for deleting tracks and channels which equates to setting the channel mask. #jira UE-52951 Change 3986375 by Max.Chen Sequencer: Add Create Pose Asset to skeletal animation section. This allows animators to blend animations in sequencer and create new pose assets from them. #jira UESEQ-408 Change 3986796 by Andrew.Rodham Sequencer: Fixed stale object references remaining in ULevelSequence::BindingReferences when using convert to spawnable/possessable - We used to convert objects by creating a new binding, then re-assigning its GUID, which meant we didn't have to do any further object fixup, but the code to achieve this was confusing and led to a vulnerability where object references would not be cleaned up correctly due to the newly created possessable essentially being a temporary object that's immediately thrown away. - To address this, there is now a function for porting all the contents of one object binding to another, and handles the correct fixup required for parent/child object bindings for both spawnables and possessables. - Also added codepath to remove any stale object references from the level sequence reference map on PostLoad (this piggy-backs off the PurgeLegacyBlueprints object version which is close close enough to this change to be identical) #tests Verified that existing sequences with stale references get cleaned up on load. Verified that repreatedly converting from spawnable<->possessable cleans up references correctly. Change 3987807 by JohnHenry.Carawon Updates to the MovieRendering Test Content. - Fixed the spawnable actors that were overwritten - Shortend the Lighting example and combined the Intensity and Color tracks - Organized the Sequence and WorldOutliner to group the examples. Change 3988151 by Max.Chen Cine Camera: Enable keying the "Enable Look at Tracking" toggle. Change 3988880 by Max.Chen Sequencer: Support enter to add asset for all sequencer track editors that have asset pickers. #jira UE-57367 Change 3988953 by Max.Chen Sequencer: Make the track color picker focusable so that it will close when you click away or lose focus. #jira UE-57210 Change 3988962 by Max.Chen MovieSceneCapture: Fix EDL export so that it takes into account movie scene frame resolution and desired frame rate. #jira UE-57365 Change 3988964 by Max.Chen Movie Scene Capture: Clarified tooltip for bRelativeFrameNumbers. If you specify custom start/end frames for the recording, they will be relative to the playback range. #jira UE-57308 Change 3989442 by Max.Chen Fix CIS Change 3991548 by Matt.Hoffman Dragging the time slider no longer causes the time slider to ignore snap-to-interval with "Snap to Keys While Scrubbing" when no keys are in range. #jira UE-57417 Change 3991598 by Matt.Hoffman Snap to Key while scrubbing now mirrors the behavior of "jump to next key". When there are no tracks selected it snaps to all keys and when there are tracks selected it snaps to only keys from that track. This also resolves an issue where deleting an object did not remove it from the Sequencer's selection. Undoing a delete already doesn't seem to restore your selection, so removing it from your selection shouldn't change that behavior. #jira UE-57417 Change 3991603 by Max.Chen Sequencer: Disable EditAnywhere for some section properties #jira UE-53530 Change 3992240 by Max.Preussner MediaAssets: Implemented dynamic audio sample rate adjustment based on audio/media clock drift #jira FORT-70638 Change 3992911 by Andrew.Rodham Sequencer: Fixed saving spawnable state using the wrong spawned object - We now track the object binding ID so that we can apply the spawned object to the correct spawnable when the asset is saved #jira UE-57353 Change 3992914 by Max.Chen Movie Scene Capture: Fix compression quality not being set. The compression interface wasn't being found through query interface, so no compression was being set. Reworked finding it through the output pins. Tested running various compression values. #jira-UE-55488 Change 3992919 by Max.Chen Sequencer: Convert to possessable now uses object template instead of copying properties (ie. see LevelSequenceActorSpawner). This fixes MIDs getting lost when converting to spawnable and back to possessable. #jira UE-52400 Change 3993184 by Max.Chen Sequencer: Don't show +Transform/+Path/+Attach track if the actor has the "Mobility" property hidden. Set the Landscape, LandscapeProxy and InstancedFoliage "Mobility" property to be hidden since it is static is not supposed to be dynamically movable. #jira UE-56347 Change 3993238 by Max.Chen Sequencer: Test for hidden mobility in creating keys as well. Refactored to HasHiddenMobility() #jira UE-56347 Change 3993978 by Max.Chen Cine Camera: Enable keying the "Enable Look at Tracking" toggle. #jira UE-57489 Change 3994039 by Max.Chen Landscape: Add Mobility to hidecategories on landscape component #jira UE-56347 Change 3994626 by JohnHenry.Carawon Updated Movie Rendering Test Content. - Fixed the overridden spawnables to their proper object types. Change 3994653 by Christina.TempelaarL Sequencer: Added Final Cut Pro 7 XML Import functionality, improved Export functionality #jira UESEQ-358 Change 3995609 by Max.Chen UMG: Add support for 2d transform mask (translation, rotation, scale, shear) #jira UE-52951 Change 3995778 by JohnHenry.Carawon Movie Rendering Test Content Updates - Adjusted Lights example - Adjusted Camera example - Added Marcie sublevel back in Change 3995942 by JohnHenry.Carawon QAGame: Moving Movie Rendering test content from Developer folder to Sequencer folder Also adjusted level visibility, lights and camera example. Change 3995993 by Christina.TempelaarL Sequencer: FCPXML Export updates - only export sections if in playback range and media exists, warn if media does not exist. Other updates - removed unused methods and variables, fixed message context naming to be more accurate #jira UESEQ-358 Change 3996595 by andrew.porter QAGame: Updating Marcie content in TrackEvaluation level to use Image Plate Change 3996614 by andrew.porter QAGame: Adding color test sequence to the sublevel Change 3996643 by Max.Chen Sequencer: Fix fbx animation export - rotation and scale channels were flipped. #jira UE-57509 #jira UE-57512 #jira UE-57514 Change 3996652 by Max.Preussner Messaging: Fixed delayed messaging using incorrect current time after message router sleep Based on https://github.com/EpicGames/UnrealEngine/pull/4601 Change 3996801 by Max.Chen Sequencer: Fix folder active state for non key area sections. Look at track node sections as well as key areas. #jira UE-57550 Change 3997098 by Matt.Hoffman Cleaned up some remaining ToDo's in STimeRange. Change 3998339 by Max.Preussner Sockets: Added documentation for socket receive functions Change 3998359 by Max.Preussner MediaUtils: Started to implement media recorder helper class Currently only supports BGRA frames in CPU memory. Supporting other formats and buffer types will require conversions on render-thread. I recommend refactoring out the existing conversion code in FMediaTextureResource into a reusable helper class in the MediaUtils module. This should be a good starting point though. Change 3998417 by Matt.Hoffman Keys and Sections can now be moved at the same time inside of Sequencer. Keys can now snap to Sections (and vice versa) instead of just to other Keys. Sections can now be duplicated like keys can. #jira UE-56995 Change 3998427 by JohnHenry.Carawon QAGame: Updating test content for the Movie Rendering feature. - Added an auto activate particle to the beginning of the sequence (it's not part of the sequence at all) - Added an event receiver blueprint to the Events example - Added a particle emitter to both sublevels - Added a camera cut to the end that switches to a separate camera - The camera zoom in, focus and Look At sections are all separate (not overlapping in the sequence) - Added a second actor for the camera Look At - Added a Visibility section for the Actor Hidden In Game track that has possessable and spawnable cube and light Change 3998537 by Max.Chen Sequence Recorder: Restore immersive mode when stopping the sequence even if not in PIE. #jira UE-56407 Change 3999809 by Matt.Hoffman Removed the "Go To" box from Sequencer and instead placed the current time as an always visible control. The previous shortcut (Ctrl + G) now focuses the new widget directly. #jira UESEQ-376 Change 4000543 by Christina.TempelaarL Sequencer: Moving editor-only code from runtime module MovieSceneCapture to editor module MovieSceneTools. Moved EDL and FCP XML exporters as well as Automated Level Scene Capture. #jira UESEQ-358 Change 4000706 by Matt.Hoffman Entering multiple time strings without a number no longer crashes Sequencer. #jira UE-57672 Change 4001051 by andrew.porter MediaFrameworkTest: Fixing up some image sources pointing to the wrong location Change 4001191 by andrew.porter QAGame: Adding some quick EDL/XML test content to dev folder Change 4001243 by Max.Chen Sequencer: Fix import EDL out of range. #jira UE-57665 Change 4001856 by Matt.Hoffman Selecting keys and sections at the same time now also works with animation and audio sections. #jira UE-57716 Change 4002021 by Max.Chen Sequence Recorder: Fix sequence name incrementing. If external recording sets the sequence name, use it. Otherwise, use the recording name from the recording group or the recording settings. #jira UE-57712 Change 4002618 by Max.Chen Viewport: Update the look at location when updating to a locked actor. This fixes an issue so that popping the view out of a locked actor and manipulating the view will not jump to the previous look at location. #jira UE-57725 Change 4002979 by Matt.Hoffman Fixes several edge cases with the end time range that was causing confusion about what the last frame of the sequence was. Dragging the End Frame slider will no longer be off by one tick and jumping to the end via the UI controls now properly respects snapping and stays inside the play range instead of falling outside of it. Overall behavior does not change though and End Frame should be considered an exclusive frame so that frames 0-150 results in a 150 frame long animation (which is frames 0-149). #jira UE-56367 Change 4003185 by Matt.Hoffman Fixed a regression that prevented a section from being dragged upwards past row 0 which normally resulted in all other rows moving down. #jira UE-57717 Change 4003193 by JohnHenry.Carawon QAGame: Updates to test content - Shortened frames between the examples from 95 to 30 - Separated camera setting tracks - Lighting example now switches directly from constant red - green - blue Change 4003369 by Max.Chen Sequence Recorder: Refresh next sequence regardless of internally stored sequence name. #jira UE-55757 Change 4003586 by JohnHenry.Carawon QAGame: Test Content Updates - Level Visibility track now ends to that the levels are not visible when we move to the next example - Shortened camera section, removed Z tranform so that we just move left to right and shortened the overall length Change 4004414 by Max.Chen Movie Scene Capture: Fix regression where rendering with shot handles would only render the first shot. 3972166 addressed an issue where an extra frame would be rendered by finalizing right when the end frame was reached. This was hit on the first shot end frame, so instead, do this only for when the last shot is being rendered. #jira UE-57314 Change 4004765 by Christina.TempelaarL Sequencer: Fixed bugs in FCP XML import/export. - Export: fixed sequence default resolution. - Export: fixed XML files with no shots. - Export: all sections clipped to playback range. - Export: fixed incorrect section start/end times due to precision issues. - Import: fixed incorrectly adding cinematic tracks. - Import: fixed bugs creating new sections. #jira UE-57660 #jira UE-57662 #jira UE-57655 #jira UE-57761 Change 4005119 by Max.Chen Sequencer: Export/import at play rate Change 4005195 by Max.Chen UMG: Finish UMG evaluation on stop. Added object version so that existing UMG assets do not change. #tests - Newly created UMG animation with sections set to restore state now return to their original state. Existing UMG animations with sections set to restore state do not return to their original state. #jira UE-52285 Change 4005377 by Michael.Karambelas QAGame: Moving TM-SequenceRecorder and related content out of my developer folder and into /Content/Sequencer/SequencerRecorder/* Change 4005417 by Michael.Karambelas QAGame: Fixed a BP compiler in the Level Blueprint of TM-SequencerRecorder. Change 4005634 by Michael.Karambelas QAGame: Fix up missing content and broken level sequence in TM-SequenceRecorder after move Change 4006324 by Max.Chen Sequencer: Reset if the focused movie scene is null. This fixes a crash if the user is focused in on a shot and undo takes the user past the point of where the shot was created. #jira UE-57752 #jira UE-47661 Change 4007006 by Max.Chen Sequencer: Fix FindAvailableRowIndex so that it returns the max row index (and not +1) since it doesn't find any conflicting rows. #jira UE-57717 Change 4007907 by Max.Chen Sequencer: Fix crash if there's no animation Change 4007948 by andrew.porter QAGame: added test content to dev folder for Record World Space Change 4008636 by Max.Chen Sequencer: Fix import fbx not setting values properly and creating additional cameras unncessarily. #jira UE-57864 Change 4008759 by Max.Chen Sequencer: Follow up fix for import cameras #jira UE-57864 Change 4009994 by Matt.Hoffman Dragging the left or right handles of the Time Range slider in Sequencer will now zoom your view in on the current center of the screen. This prevents the view from being translating as you tried to zoom in which caused issues at high zoom levels. #jira UESEQ-407 Change 4010169 by Christina.TempelaarL Sequencer: FCP XML fixes. - FCP XML export - no longer clips to playback range - FCP XML and EDL export - fixed missing last frame of some sections after exporting to Premiere. - Automated level capture, EDL export - use RoundToFrame instead of FloorToFrame for computing section start/end frames after frame rate conversion. #jira UE-57802 - partial fix, movie scene capture still needs to render full section rather than clip against playback. Change 4010287 by Mike.Zyracki Add quaternion interpolation option to UMovieScene3DTransformSection. This mimics how Matinee used to work by bascially finding the keys between a time and interpolating the angles as quat's between them. As noted in the code the algorithm needs to handle the case when the x,y,z Rotation keys all aren't at the same time which was not handled by Matinee. Also like Matinee, when in quaternion interoplation mode, we need to not display the function cuves since the interpolated and key values are now all different. (Would like to show them but that's a bigger refactor for perhaps just a one off needed by quaternions). I added a virtual function UMovieSceneSection::ShowCurveForChannel for this since it needs to be dynamic, not on construction of IKeyArea's, and could be useful for other sections. I could though move the method to just UMovieScene3DTransformSection and do a cast instead. Looked into doing a unit test for this but after talking with Andrew P we will work on doign an automated test in EngineQA since that will provide more coverage. Will also add a video the jira. #jira UESEQ-403 Change 4010713 by Mike.Zyracki Added option to key a group of transform channels instead of just the changed channel, or all of them. This is useful for quaternion interpolations where you want rotation keys to be aligned but also useful for other workflows like animating FK Pose to Pose. Change 4010715 by Andrew.Porter MediaFrameworkTest: Setting LogMediaUtils logging from VeryVerbose to Verbose to cut back on the spam Change 4013048 by Max.Chen Sequencer: Fix play/jump status. Update the player status for all position methods (Scrub, Jump, Play). Jump means Stopped. Correctly use PlayTo or JumpTo based on position method. In PlayInternal, JumpTo with the Stopped state (rather than playing state). #jira UE-57844 Change 4013479 by andrew.porter QAGame: Added content in TM-SequenceRecorder to test recording a property on a Cine Camera Component; Press 3 to trigger manual focus distance to increment on a timer Change 4014323 by Max.Chen Sequencer: Fix SetPlaybackPosition so that it jumps or plays based on playback status. #jira UE-57844 Change 4015888 by Max.Chen Sequencer: Fix crash on paste. UMovieSceneSections were gathered from the track node's track. For sub track mode, we want to gather only those sections on that track node row. #jira UE-57951 Change 4015943 by Max.Chen Sequencer: Fix moving shots up when the mouse pos goes outside of the virtual track area. #jira UE-57717 Change 4016293 by Max.Chen Sequencer: Fix relative frame playback end frame calculation so that custom start/end frames remain in the space of the sequence and are not relative. #jira UE-57308 Change 4017075 by Andrew.Rodham Sequencer: Corrected initial evaluation range used when calling UMovieSceneSequencPlayer::Play() Change 4017270 by Christina.TempelaarL Sequencer: FCPXML importer and movie scene capture - Use CeilToFrame when converting section start/end frame times to frame numbers in FCPXML and movie scene capture. - Added support for clip metadata in FCPXML. - Got rid of redundant TokenizedError message class, no longer needed now that FCPXML is in editor directory. - Added log messages currently commented out due to exception, still testing. #UESEQ-358 Change 4018370 by Christina.TempelaarL Sequencer: fixed FCPXML log messages regarding sections with start/end not divisible by display rate. #UESEQ-358 Change 4018378 by Christina.TempelaarL Sequencer: fixed error in previous changelist. #UESEQ-358 Change 4019457 by Max.Chen Sequencer: Show event names only when the event track is selected #jira UE-57897 Change 4022806 by Max.Chen Sequencer: Fix crash on movie scene capture dialog shutdown if movie capture wasn't even started. #jira UE-58106 Change 4022894 by Max.Chen Sequence Recorder: Wrap OpenEditorForAssets after sequence recording within GIsEditor #jira UE-58084 Change 4024487 by Max.Chen Sequencer: Add tooltip for quat interpolation #jira UE-58113 Change 4024562 by Max.Chen Sequencer: Change path/attach track sequence binding id to currently focused sequence id so that bindings can be created in subsequences Change 4027414 by JohnHenry.Carawon QAGame: Checking in content that shows a bug with using particles systems and Delay Before Shot Warm Up. Change 4028990 by Max.Chen Sequencer: Fix evaluate sub sequences in isolation. This check was added with the compile on the fly logic. Not sure why it was necessary but it seems like the sub sequence data needs to be updated in order to evaluate sub sequences in isolation. #jira UE-58184 Change 4029004 by Max.Chen Sequencer: Ensure that old binding references are removed when re-assigning actors in sequencer #jira UE-57898 Change 4030997 by JohnHenry.Carawon QAGame: Fixing name of the master sequence Change 4031785 by Michael.Karambelas QAGame: Added an instance of ThirdPerson Run to TM-SequenceRecorder for Record to Possessable test. Change 4035548 by Andrew.Rodham Sequencer: Changed FMovieSceneEvaluationTemplate::TemplateSignature to be a serial number to address non-deterministic cooking issues - This commit is related to the repro steps found in 3914599 and 3934307, both of which have been verified with this new change. - Copy of 4031684 from //Fortnite/Main/... #jira FORT-84852 Change 4036312 by Max.Chen Sequencer: Fix zoom view range so that it uses the passed in InZoomDelta Change 4036318 by Max.Chen Sequencer: Auto size now returns a range and defaults to the channel proxy range so that keyed regions can also be autosized. Change 4036322 by Max.Chen Forgot missing change Change 4036360 by Max.Chen Sequencer: Fix play rate calculation when skeletal animation section play rate changes. Change 4037163 by Mike.Zyracki Weighted Tangent Implementation Tricky thing is that you need to solve a cubic in order to get the bezier weights for the time part of the curve. See https://www.gamedev.net/forums/topic/474094-help-function-curves-for-animation-interpolation/ Maya provides an implementation in it's dev kit but I didn't use it since it was horribly slow and uses an iterative solution to solve the cubic needed. Instead I use an old algorithm (Cardano's method), to solve the cubic which should be much faster. Though relative simple to code from principles I just went ahead and used a version from Graphics Gems 1. I put this cubic solver directly in MovieSceneFloatChannel.cpp, but will need to move it when we support Rich Curve, maybe to FMath:: (which would probalby require some other functions for solving quartics, etc.. for completeness.). Also note we resolve this on every evaluation but dont' need to if the interval the time is evaluating hasn't had any change in values or tangents. So again when we support FRichCurve we can create a Weighted Evaluating class that can hold the cache. Also with the tangent drags I got rid of the Cardinal position that was used to calculate non-weight tangents from the key point and just quickly getting a direction. With weighted tangents we need to use the delta instead (otherwise when moving multiple they would all get the same weight based upon distance to the cardinal point. ) For mixed tangents types what I'm defaulting to non weighted if the interval doesn't match. May need to do weighted instead, not sure. What's left is just FBX import, for tomorrow. #jira UESEQ-76 Change 4037435 by Mike.Zyracki Fix fo build warnings from weighted tangent submission. #trivial Change 4038091 by Michael.Karambelas QAGame: Updated a Sequence Recorder group in TM-SequenceRecorder that had an actor missing the animation. Change 4038374 by Andrew.Rodham Sequencer: Refined scrubber styling for level sequences and actor sequences - Scrubber now shows a block the width of a dsplay rate frame, plus a line for the actual evaluated time. UMG reverts back to the previous styling (no block) - Keys that are outside of the playback range are now drawn with a subdued effect - Tick labels are no longer drawn when directly underneath the scrubber Change 4038490 by Max.Chen Sequencer: Expose tangent weight values in details panel. Change 4038620 by Andrew.Rodham Sequencer: Advanced time panel polish #jira UESEQ-426 Change 4038677 by Max.Chen Movie Scene Capture: Redirector for MovieSceneTools.AutomatedLevelSequenceCapture #jira UE-58248 Change 4039739 by Max.Chen Sequencer: Media track should only be supported by Level Sequence Change 4040024 by JohnHenry.Carawon QAGame: Fix EventReciever and OverrideBinding example The level sequence was set to none so the fix was to set it back to TrackEvaluation_Master. Change 4040610 by Andrew.Rodham Curve Editor: Moved weighted tangent switchers to a single toggle command (CTRL+W) and added an icon #jira 58383 Change 4040882 by Mike.Zyracki Keep broken when turning on weighted #jira UE-58435 Change 4041089 by andrew.porter QAGame: Sequence for Long Tangents bug Change 4041498 by Mike.Zyracki Turn off weighted when going auto to prevent large tangents. Do it both in UI and when doing AutoSetTangents() to really make sure it doesn't happen. #jira UE-58452 Change 4041752 by andrew.porter MediaFrameworkTest: Adding some better logging for setting rates when not supported. Also ignoring commiting URL when there is no text Change 4041896 by Matt.Hoffman The transform dialog box now transforms selected keys and sections, instead of just keys. #jira UE-58265 [CL 4044405 by Max Chen in Main branch]
2018-05-02 10:10:00 -04:00
FVector2D TextOffset( MajorLinePx + 5.f, InArgs.bMirrorLabels ? 1.f : FMath::Abs( InArgs.AllottedGeometry.Size.Y - (InArgs.MajorTickHeight+3.f) ) );
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3946692) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3801826 by Max.Chen PR #4304: Level Sequence crash fix - Guarded against dereferencing null componen. (Contributed by DSDambuster) Change 3801828 by Max.Chen PR #4302: Movie Scene Visibility Template unitialised variable, causing random . (Contributed by DSDambuster) Change 3801837 by Max.Chen Sequencer: Delay spawning/construction for convert to possessable. This fixes a bug where property values would be lost when converting back and forth from possessable to spawnable. #jira UE-52400 Change 3801841 by Max.Chen Sequencer: Make spacer nodes not selectable. PR #4194: Improvements to Sequencer (Contributed by projectgheist) #jira UE-53117 #jira UE-52139 Change 3804183 by Max.Preussner MediaAssets: Added missing lock in media sound component Change 3805414 by Max.Preussner MediaAssets: Setting valid GUID when initializing media texture resource Change 3819578 by Max.Chen PR #4370: When enabling the "MovieCapture", do not turn off the Stereo-3D display. (Contributed by yehaike) #jira UE-53647 Change 3823414 by Max.Chen Curve Editor: Lock down the first and last keys in the redundant keys removal range so that they're unaffected. #jira UE-53591 Change 3826406 by Max.Chen Sequencer: Move OnStartedPlaying() to within first update in UpdateTimeCursorPosition(). This fixes an issue where setting the hud/player visibility was getting stomped on later. #jira UE-52772 Change 3827044 by Max.Preussner MediaAssets: Added sprite visualization to media sound component #jira UE-53594 Change 3827988 by Max.Preussner MediaPlayerAssets: Fixed Media Texture is not linked to Media Player when created together #jira UE-53532 Change 3828506 by Max.Preussner MediaPlayerEditor: Added attenuation visualizer for media sound components #jira UE-53594 Change 3832590 by andrew.porter EngineTest: Added a keep state check in Property Animation sequencer test Change 3833053 by andrew.porter EngineTest: Adding Hierarchical Bias test Change 3835683 by andrew.porter EngineTest: Adding UMG Animation screenshot test Change 3836076 by Max.Chen Sequencer: Fix audio volume and pitch multiplier deprecation. Change 3836230 by andrew.porter EngineTest: Adding Sequence Bone Position automation test Change 3836347 by Max.Chen Sequencer: Fixes to shot name parsing. When a shot doesn't contain a shot number, assume, [ShotName]_[TakeNumber]. When duplicating a shot, put the new shot in the same path of the original shot, so that the take numbers will increment properly. #jira UE-51868 Change 3836552 by Max.Chen Sequencer: Sub section now has a takes menu Change 3838094 by Max.Chen UMG: Fix template finish not getting called on stop. This fixes a bug where sections aren't restored when finished. #jira UE-52285 Change 3838708 by Max.Chen Sequencer: Add notification when the blend type is changed. #jira UE-54046 Change 3840295 by Max.Chen Sequencer: Fix copy/paste crash for lights #jira UE-54084 Change 3840957 by Mike.Zyracki Added Show Only Keyable and Show Only Animated to the filter list in the property editor. Added IsPropertyAnimated to IDetailKeyframe Interface which already had support for showing properties which are keyable (which is used for the key icon next to the properties.). Could have created another interface but then would have had to mimic the sequencer binding, releasing also, so this seemed best way. One issue still left is that custom built detail items currently don't store associated properties(usually) and so certain properties, in particulalry transforms, won't show up as keyable or animated. Note this also shows up with the keyable icon not showing up next to transform tracks, and other filters like Show Only Modified not working with transforms/customs. Not sure best way to tackle this. #jira UESEQ-328 Change 3841756 by Max.Chen Sequencer: Fix unbound possessable components when pasting spawnables. #jira UE-54104 Change 3843950 by andrew.porter EngineTest: Renaming LevelStreaming tests/content to LevelVisibility Change 3844082 by Mike.Zyracki Missing file for animated filter in property editor. When finding if a track is animated we need to find it but we can't easily induce the MovieTrack class for any particular property. So we don't set a class for it and just search by it's ID and name. #jira UESEQ-328 Change 3846902 by Max.Preussner ImgMedia: Fixed image media player never finished initialization if loading failed #jira UE-54247 Change 3849820 by Mike.Zyracki Reassigning deleted widgets didn't work since the menu extender mechanism needs a valid UObject in order to perform an operation on it. So to fix we replaced GetObjectBindingContextMenuExtender in WidgetBlueprint with new delegate mechanism (OnBuildCustomContextMenuForGuid) that supports FGuid in addition to UObjects which is needed to handle re-binding deleted widgets. Note that the default sequencer hacks this for replacing deleted actors in SequencerObjectBindingNode to check to see if a LevelSequence is active. We could move to this mechanism there also. #jira UE-53163 Change 3852211 by Max.Chen UMG: Indicate name of the property that is not bound. #jira UE-54350 Change 3854120 by Max.Chen Sequencer: Fix sibling folders being allowed to have the same folder name. #jira UE-54363 Change 3854627 by Max.Chen Sequencer: Step to next/previous key should work for all tracks if there aren't any selected. #jira UESEQ-391 Change 3855825 by andrew.porter EngineTest: Adding animation blending automation test Change 3855950 by andrew.porter EngineTest: Adding correct expected valuues to animation blending test Change 3856237 by Matt.Hoffman UESEQ-336 - Sequencer Track Reordering Adds the ability to re-order Master Tracks, Folders and Object Bindings within sequencer hierarchies (including UMG). Adds the ability to do a one-off sorting of the content under the old sorting behavior if the user wants to reset their layout to how it was under legacy behavior. Modifies SequencerTrackNodes, SequencerFolderNodes and SequencerObjectBindingNodes to handle CanDrop/OnDrop for above, below and ontop of. Fixes a Slate Issue that forcibly expanded a TreeviewRow if an item handled OnDrop. Slate will now only forcibly expand the row if the item says the drop happened ontop of the item, and not above or below it like it previously did. Change 3856503 by andrew.porter EngineTest: Adding automation test for using animation blueprint with blend multi node in sequencer Change 3857875 by Max.Chen Sequencer: Assign the sequence id after the template is compiled. #jira UE-54462 Change 3858344 by Max.Chen Sequencer: Prevent Goto and Transform boxes from overlapping by allowing them to be visible at the same time in an autosized horizontal box. Also, added close button to the goto box. PR #4425: Prevent Goto and Transform boxes from overlapping in Sequencer ... (Contributed by projectgheist) #jira UE-54210 Change 3860566 by andrew.porter MediaFrameworkTest: Set the option to index 0 for the audio and video track list by default Change 3860654 by andrew.porter EngineTest: Enabling Camera Cut + FOV test Change 3860981 by andrew.porter EngineTest: Updating skeletal mesh tests with a delay after set playback position Change 3861256 by Max.Chen Sequencer: Add all bindings if none selected. #jira-54440 Change 3862154 by Andrew.Rodham Added TimeManagement module Change 3862424 by andrew.porter EngineTest: Turned on the test Bone Positions with Blend Multi Node Change 3862573 by andrew.porter EngineTest: Adding test to compare bone positions in a sequence that is blending an animation that is using an AnimBP Change 3865117 by Max.Chen Sequencer: Stop auto scroll on mouse release of movement. #jira UE-31212 Change 3865303 by Max.Chen Sequencer: Add drag and drop transactions #jira UE-54662 Change 3865304 by Max.Chen Sequencer: Fix crash when an actor factory is not found. Change 3865361 by Max.Chen Sequencer: Don't change the camera/shot lock button when popping out of a sequence. #jira UE-54665 Change 3865412 by Max.Chen Sequencer: Determine whether a transform track is for a camera by using the spawned object or template #jira UE-54666 Change 3865685 by Max.Chen Sequencer: Clear autoscrub offset when stopping autoscroll #jira UE-31212 Change 3865886 by Max.Chen Sequence Recorder: Log an error if the number of frames changes while recording. This can happen if the skeleton changes while recording. #jira UE-48715 Change 3866925 by Andrew.Porter MediaFrameworkTest: Changing the current PNG test video image sequence to 1024 x 576 Change 3867705 by andrew.porter QAGame: Adding Audio Sort Sequence to dev folder Change 3867890 by andrew.porter QAGame: Adding a sequence for testing a sorting crash to my dev folder Change 3872628 by Max.Chen Movie Scene Capture: Split delay before warmup into split delay before shot warmup so that there's separate controls for when the movie scene capture warmups up vs. shot boundaries. Change 3873131 by Matt.Hoffman UE-54732 - Crash reordering a folder with a track. This was caused by folders being the only type of track to check if someone was putting a parent track into a child track. Object Binding tracks and Tracks now check as well so that you can't use the above/below drop targets to add parents as children. This also fixed a typo in the localization keys. #jira UE-54732 Change 3873301 by Mike.Zyracki Added ability to support continous euler angle changes when changing rotations, in particularly with the rotation gizmo's. To do this we effectively added a form an of 'euler filter'(https://en.wikipedia.org/wiki/Euler_filter) to find the closest euler angle to the current euler angle. Three functions were added to FRotator to make this possible, one to get the euler angle that's has the same rotation as it, one to get the difference between two euler angles via Manhattan distance and a third using the previous two to choose a Rotator value that's closest to it. We then use these functions before calling UComponent::SetRelativeRotation to make sure we use the correct Euler after the Quat conversion. We also no longer limit(bound) the euler angles to -180,180, which is obviously necessary to avoid flips. I also changed how we caluclate yaw and roll when pitch is -90 or 90 to make it the standard approach of zeroing out roll and just setting yaw. Main reasons are the previous implementation had precision issues so things like 180, 90, -180 would show up due to numbers being nearly zero but negative,(this would break any smooth interpolations), and this facilitates having a 'gimbal' rotation mode (like Maya, Blender etc..) if we ever want that also. If needed we could keep the previous implementation but would need to add some FMath::IsNearlyZero checks, with less performance. Note we only do this special filtering when applying delta's to actors or components in the editors, which then call UComponent::SetRelativeRotationExact, which is a new function to foces the RelativeRotation to be equal to the new rotation. This allows us to store un-nomalized Rotators at the cost that the RotationCache may be broken. We didn't change any of the other UComponent functions that set rotations (via Quats or Transforms) so they will still be bounded and unwound. In SetInternalWorldLocationAndRotation we only set the rotation if the rotation has changed, which fixes the rotation getting changed and re-normalized if just translate happens. In TransformTrackEditor, we correclty use the bUndwing flag and in MovieScene3DTransformSection there was an un-needed winding check there, it will be unwound earlier if needed, which happens if Sequence Recording is happening. Max we should talk about what to do about this . Note the euler angle drag via the widget is still bound to 0-360. I think we should just unbound that now since the rotations value are now unbound. This review now includes fixes suggested by Zak. #jira UE-UE-22228 Change 3873483 by Matt.Hoffman Sequencer Tracks can now be inserted above the spacer at the bottom of the tree. #jira UE-54706 Change 3873899 by Max.Chen Sequencer: Add section selection throbbing Change 3873908 by Max.Chen Movie Scene Capture: Added logging per frame Change 3873924 by Matt.Hoffman Adds the ability to store Sequence Recorder setups into profiles that stay with the map and can be re-loaded later. Profiles store the Actor Recordings so the settings for each actor should carry with them. #jira UESEQ-339 Change 3874726 by Matt.Hoffman Disable drag-and-drop targets on spacers that come between rows in Sequencer. This prevents extra drag/drop targets showing up between each row. #jira UE-54706 Change 3874862 by Matt.Hoffman Audio Track no longer gets reordered when adding sub-audio tracks, as sub-tracks are no longer counted towards the sorting order index when normalizing indexes. #jira UE-54727 Change 3875905 by Matt.Hoffman Disable Fade Track UI if a fade track already exists in the sequence. #jira UESEQ-393 Change 3876163 by Max.Chen Sequencer: Swap the camera object to the camera component's owner if it's not the same. #jira UE-54874 Change 3876971 by Andrew.Porter EngineTest: Moved Media Player Seek test to new folder. Also enabled the test with new ground truth image. Change 3877040 by Max.Chen Cine Camera: Split camera properties to two groups, "Camera Options" and "Camera Settings". The cine camera now hides properties in the "Camera Settings" group so that properties like bConstrainAspectRatio (in the "Camera Options" group) can be visible. #jira UE-54192 Change 3877763 by Max.Chen Curve Editor: Fix curve changed on end drag so that only curves that had keys/tangents that were changed receive notification, otherwise all loaded curves were getting notified that they were changed. #jira UE-54951 Change 3878234 by Matt.Hoffman Disable "Drop Below" targets for Sequencer Tree nodes to prevent a confusing UX issue where dropping underneath a Object Binding Node puts it after the object binding node but the UI looks like it's inserting it inside the Object Binding node. #jira UE-54743 Change 3879359 by Mike.Zyracki If a track is inactive we dim it a bit which seems to be the UE4 way to show inactive or disabled state. We changed the active logic so that all subtracks need to be inactive for the track to also be inactive(instead of all active for active). This conforms to how the active state actually works, e.g if you have two sections and only one is active the track is still active above it. #jira UESEQ-388 Change 3879462 by Max.Chen Sequencer: Allow dragging onto a particular row which would move out any overlapping sections to make space for the newly created section. Newly created sections are now selected and throbbed to draw attention to themselves. #jira UE-54664 Change 3879464 by Max.Chen Sequencer: Fixed overlapping ranges being inserted into the evaluation field during compilation - The issue was that track segments that had been combined with adjacent segments (due to them being identical) would potentially cause a subsequently compiled frame to overlap with a range that had already been inserted into the evaluation field. - The insertion code previously asserted that only minor overlaps were catered for (due to fp rounding errors) and assumed that a supplied range could not entirely contain any other range in the field. - The solution is to supply the insertion time along with the range to know exactly where the data should live in the field, and crop the range to the maximum allowable space between adjacent ranges. #jira UE-54922 Change 3879590 by Matt.Hoffman Items that are now added to the Sequencer via the "+Track" menu will be selected after being added. Items can now be added inside of folders instead of just to the root level. #jira UE-27397 Change 3879612 by Mike.Zyracki Display Nodes with no children are always active. #jira UESEQ-388 Change 3879730 by Matt.Hoffman Sequence Recorder's actor recording groups now remove items from the group when removed via the UI. #jira UESEQ-339 Change 3880256 by Mike.Zyracki Fix issue with inactive display with folders and other track nodes. #jira UESEQ-388 Change 3883491 by Max.Chen Fix issue where tick is skipped due to last ticked pose isn't cleared after AnimInstance changes. Copy from Release-4.19 #jira UE-51323 Change 3883603 by Max.Chen Movie Scene Capture: Add option toggle disable screen percentage. By default this is on (no change in current behavior). #jira UE-51898 Change 3885074 by Max.Preussner MediaCompositing: Resetting media texture & freeing resource on section end; removed dead code Change 3887220 by Max.Preussner MediaCompositing: Defaulted media section duration to 1 sec (since we do not know the actual duration in most cases) Change 3887478 by Matt.Hoffman Sequences now show [Inactive] in their title bars when they're disabled. This helps communicate why a sequence isn't being evaluated. #jira UE-51469 Change 3888985 by Max.Chen Movie Scene Capture: Clamp HDR Compression Quality between 0 and 1. #jira UE-55136 Change 3893519 by Max.Chen Sequence Recorder: Clarified tooltip for bRecordNearbySpawnedActors - spawned actors will still be recorded if they match the ActorFilter. #jira UE-55238 Change 3893546 by Max.Chen Sequence Recorder: If a selected actor already has a recording, add a blank recording. #jira UE-55239 Change 3894044 by Max.Preussner MediaCompositing: Added support for seeking into a media section Change 3894310 by andrew.porter MediaFrameworkTest: Adding Img media sources for 1080 and 2160 ravent test content Change 3894426 by Max.Preussner MediaAssets: Letting media textures with AutoClear retain their clear color when player is reset Change 3895717 by Max.Chen Sequencer: Null checks to prevent crash when saving the default state of a spawnable #jira UE-55304 Change 3897388 by Max.Chen Sequencer: Don't update current time to be within the view range when stepping into a sequence. #jira UE-55322 Change 3897452 by Max.Chen Audio: Fix crash when trying to record audio without any active capture devices. Log warning if the number of input channels is not 1 or 2. #jira UE-55223 Change 3897619 by Max.Preussner MediaCompositing: Removed commented out code Change 3898072 by Max.Chen Sequencer: Override the animation asset in the player state if it doesn't match the animation asset that's being evaluated. #jira UE-55328 Change 3898272 by Max.Preussner MediaPlayerEditor: Made slate brush constants static Change 3898704 by Max.Chen Sequencer: Skip if the binding id's sequence can't be found. #jira UE-55337 Change 3899855 by Max.Preussner MediaCompositingEditor: Added cache state visualization to media track Change 3900300 by Max.Preussner MediaCompositingEditor: Added loop indicators to media sections Change 3900694 by Max.Preussner ImfMedia: Looping cache only when player is looping Change 3900892 by Max.Preussner Stats: Added stats category for media framework Change 3900954 by Max.Preussner MediaCompositing: Don't evaluate at the end of media section Change 3901348 by Max.Preussner Core: Replaced TLruCache autos for better readability Change 3901655 by Max.Preussner ImgMedia: Added more perf stats to EXR reader Change 3901972 by Max.Preussner MediaAssets: Added getter for media player in media sound components Change 3902233 by Max.Preussner MediaAssets: Enabling media textures to receive samples right after player is assigned Change 3902238 by Max.Preussner MediaCompositing: Working around init/shutdown idiosyncracies in sequencer Change 3904045 by Max.Chen Sequencer: Fix copy/paste crash. Only process UMovieSceneCopyableBinding and objects that can be spawned by the movie scene spawn register. #jira UE-55314 Change 3905605 by Max.Chen Sequencer: Restrict spawnables from being created if they have a ClassWithin that UMovieScene is not a child of. #jira UE-55429 Change 3906550 by Max.Chen Sequencer: Add media track icon #jira UE-55480 Change 3907101 by Max.Chen Sequence Recorder: Fix bugs related to not recording a level sequence. There were certain assumptions that creating a level sequence meant that sequence recording was in progress. This is not always the case - the recorders can record animation assets and not create a level sequence. Changed the notion of IsRecording() to having at least one actor recording that is recording. Countdown timer, recording displays, etc should function if IsRecording() and not based on whether a level sequence is created. #jira UE-55485 Change 3907247 by Max.Chen Sequence Recorder: Fix crash not removing PrepareToCleanseEditorObject delegate. Repros when opening sequence recorder, closing it, and then opening or creating a level. Change 3910343 by Max.Preussner Core: Added async helper for executing functions on a given thread pool Change 3910346 by Max.Preussner ImgMedia: Added separate thread pools for loading/decoding and deleting image frames Change 3910829 by Max.Preussner Profiler: Increased visible range of profiler graph Change 3910841 by Max.Preussner MediaCompositing: Displaying asset name instead of full media source path in media section Change 3910870 by Max.Preussner ImgMedia: Using deallocation thread pool only in debug builds Change 3919642 by Max.Chen Sequence Recorder: Clarify active tooltip #jira UE-55661 Change 3919660 by Max.Chen Sequencer: Sequence template source signatures are now also compared to catch the case where a sub-sequence asset has been saved but not modified - The following sequence of events exposes this issue: - Create a master sequence with a single shot that spawns a cube - Add this sequence to a level and set it to auto-play - Save everything and restart - Resave just the inner shot asset without opening it - PIE - The inner shot never spawns its cube because its template was wiped on save, but its signature never changed. Since the master sequence previously didn't check the template source signature, it ends up trying to evaluate an empty template. #jira UE-55626 #jira UE-55490 Change 3921825 by Max.Chen Sequencer: "Run Construction Script in Sequencer" is off by default for blueprints but on for Sequencer. This allows the content author to switch it on for specific blueprints and sequencer will be default, run those with construction scripts enabled. Change 3922232 by Max.Chen Sequence Recorder: Reset countdelay on stop. #jira UE-55755 Change 3922306 by Max.Chen Sequence Recorder: Don't automatically mark transforms to be recorded by sequence recorder. Instead, log a warning if the user toggled it off to warn that the resulting animation might not match gameplay. #jira UE-55758 Change 3922912 by Max.Chen Sequence Recorder: Fix refresh next sequence name #jira UE-55757 Change 3927654 by Max.Chen Movie Scene Capture: Added format mapping for the name of the current camera #jira UE-55769 PR #4537 Change 3927658 by Max.Chen Sequencer: Added fbx property mapping for "FocusDistance" to "FocusSettings.ManualFocusDistance" #jira UE-55782 Change 3932022 by Max.Chen Sequencer: Add import animation track section to next available row index. #jira UE-55892 Change 3933919 by Max.Chen Sequencer: Jump to playback start frame and not 0 to start playback for recording. #jira UE-55933 Change 3934307 by Andrew.Rodham Sequencer: Add template signature that is re-generated every time the base template is regenerated, which invalidates evaluation fields This fixes an issue where the same sequence is instantiated multiple times in a sequence. If the source sequence was saved, its template would be wiped, which would invalidate the template ID When an instance tries to evaluate the master template, it would only invalidate a range in the evaluation field that was the hull of any invalid sub sequences overlapping the current time, potentially leaving invalid data in the evaluation field at positions later (or earlier) on in the sequence When the sub template was re-generated, it receives the same SequenceSignature as it had before (because the sequence hasn't actually changed), which causes the stale evaluation field data to fail the IsDirty check (because the sequence is the same as it thought, but the *template* has changed) This has been addressed be adding a signature to templates themselves, and checking both the template signature and sequence signature as a part of the IsDirty check. This ensures that we regenerate if either the template, or the sequence have changed. #jira UE-55934 Change 3936327 by Andrew.Rodham Sequencer: Removed increment when trimming right UMovieSceneSection::TrimSection already explicity assigns an exclusive bound to the time passed in. The new behavior means we can trim a section to the right, and insert another section without changing the time to create adjacent sections. #jira UE-42652 Change 3936328 by Andrew.Rodham Fixed KeyFrameManipulator assignment operators and copy/move constructors - These types are potentially self-referential so cannot use default constructors/assignment Change 3936330 by Andrew.Rodham Converted UMGSequencePlayer to use frames internally #jira UE-54878 Change 3936726 by Max.Chen Sequencer: Set track node as the parent of the key area node. The key area switcher needs the object binding id from the parent object binding node. Without this, the binding to the external value fails. #jira UE-55931 Change 3936775 by Max.Chen Sequencer: Should stop or loop should compare DurationFrames with Current Time from StartTime. The bug is that if you set 30 warmup frames in movie rendering for a range of 0-100, the FrameRange will be starting at -30 and have a duration of 130. Without this fix, the playback will continue until frame 130, rather than 100. #jira UE-55933 Change 3936935 by Matt.Hoffman Easing Curves are now represented in Play Rate resolution instead of internal resolution. #jira UE-55937 Change 3937069 by Matt.Hoffman Users can toggle if the is infinite on each side, limited by which tracks support infinite ranges. #jira UE-55891 Change 3937516 by Max.Preussner ImgMedia: Added support for single-threaded platforms #jira UE-55986 Change 3937826 by Max.Preussner MediaAssets: Disabling media sound components on HTML5 if AudioMixer is not enabled Change 3937997 by Max.Chen Curve Editor: Add Zoom to Fit Curves so that selected curves from Sequencer can be focused on. Tested that undo doesn't re-zoom. #jira UE-55935 Change 3938000 by Max.Chen Sequencer: Stop all sounds before generating audio waveforms. #jira UE-55951 Change 3938376 by Max.Preussner XGEController: Disabled XGE Controller in single-threaded apps to prevent crash Change 3938444 by Max.Preussner Core: Added async support for single-threaded applications Change 3938445 by Max.Preussner Networking: Added support for single-threaded applications in UDP socket sender/receiver Change 3938447 by Max.Preussner Messaging: Added support for single-threaded applications Change 3939432 by Max.Chen Sequence Recorder: Append command list to global level editor actions so that shortcuts are accessible in level editor. #jira UE-55798 Change 3940229 by Andrew.Rodham Added prospective display rate upgrade to UMovieScene::PostLoad - There was previously some very odd behaviour that would assign the fixed frame interval only when a sub sequence was focused in SSequencer. This meant that many sequences could have a frame interval of 0 set in the data. - Under the old method of snap interval display this would have fallen back to getting the display interval from the sequencer settings, but we no longer look at these. - The USequencerSettings properties have been removed and in their place, a prospective data upgrade for sequences that have a fixed frame interval old 0fps that sets the play rate to the previous defaults based off the old USequencerSettings defaults. - This could end up 'changing' the display rate for sequences where the user has changed the snap interval in the settings for a particular sequence editor, but there's not much we can do about that given we don't have access to the USequencerSettings classes in UMovieScene #jira UE-55919 Change 3940277 by Andrew.Rodham Sequencer: Added ability to default frame resolutions and play rates for newly created actor sequences Change 3940378 by Andrew.Rodham Sequencer: Post move import dialog now defaults to the playback framerate of the sequence, and floors to frame numbers Change 3940559 by Andrew.Rodham Reinstated primed or recording sequence color Change 3940642 by Max.Preussner ImagePlate: Removed image plate media playback functionality Change 3940843 by Max.Preussner Core: Made TCircularQueue actually thread-safe; improved code comments Change 3940860 by Max.Chen Sequencer: Changed StructNameToKey to StructPathToKey Previously, keying a PropertyPath of [RenderTransform][Shear][X] would get trimmed to X, which doesn't map to a channel name as considered by Sequencer2dTransformTrackEditor. Instead, trim the resulting property path to [Shear][X] so that track editors can determine the desired struct path and channels to key. #jira UE-52966 Change 3941292 by Mike.Zyracki Fix for trajectories out of range not showing up. 1) If we had no key data we would pop the time, so wouldn't get the section ranges. 2) Calculating of upper bound was wrong, checking against -1 and not key == num of keys when doing algo::lower_bound. 3) No need to do the Bck-- for the bakward iterators since we fixed #2. We start now from the upper bound correctly. 4) If we had no keys (at section start,end) we would incorrectly say we were any key type, so since we draw constant keys as dashed we would do so incorrectly around section end points. #jira UE-55929 Change 3941424 by Max.Chen Curve Editor: Change Zoom to Fit to use TArrayView Change 3941498 by Max.Preussner Core: Added FMath::DivideAndRoundNearest function Change 3942097 by Matt.Hoffman Drop Frame Timecode Support for NTSC rates. Change 3942104 by Matt.Hoffman Sequence Recorder Group is no longer visible inside the World Outliner after using one. #jira 55266 Change 3942107 by Max.Chen Sequencer: Resurrect logic to find or extend an existing section when adding keys. Change 3942330 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942339 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942507 by Andrew.Rodham Sequencer: We no longer pad the time overlap threshold with a small number that is not scaled by the current zoom level - The presence of this pad was causing keys that were far apart to be grouped when zoomed in a long way Change 3942509 by Andrew.Rodham Sequencer: Only pad total view range, rather than section range as well when retrieving keys to render - This stops us from rendering keys that are within the view range, but outside the section range Change 3942512 by Andrew.Rodham Added transactions to some sequencer details customizations Change 3942513 by Andrew.Rodham Sequencer: Reinstated validation checks to UMovieSceneSection::SetStartFrame and SetEndFrame, changed erroneous uses to use SetRange Change 3942560 by Andrew.Rodham Pass by rvalue reference to appease error C2719 on Win32 ('InChannels': formal parameter with requested alignment of 8 won't be aligned) Change 3942697 by Andrew.Rodham Newly Created Level Sequences and Actor Sequences now default to 24000 fps frame resolution (+/- ~24hrs range, supporting all integer rates + 23.976) Change 3942700 by Andrew.Rodham Sequencer: Added legacy out-of-bounds errors for times that are not supported by the current legacy upgrade frame resolution Change 3942989 by Max.Preussner Core: Fixed circular queue count calculation Change 3943538 by Max.Preussner MediaAssets: Reverted workaround for procedural audio log spam in HTML5 (Actor component initialization cannot be skipped if the component is used in a level) Change 3944071 by Max.Preussner QAGame: Fixed Media Texture keeps last frame of Media when PIE ends #jira UE-53360 Change 3944292 by Max.Chen Sequencer: Added extra flags to ensure that asset initialization does not occur on template actor sequences #jira UE-56113 Change 3944364 by Max.Chen Sequencer: Prevent circular shot/master tracks. Tested adding master -> child -> master as drag and drop cinematic shot tracks and sub tracks as well as through the + button. #jira UE-56091 Change 3944422 by Max.Chen Sequence Recorder: Disable transform recording if off. #jira UE-56061 Change 3944745 by Andrew.Rodham Sequencer: Key rendering fixes - Fixed assert that occured when keys happened to reside on some times due to KeyTime + TimeOverlapThreshold - KeyTime being slightly larger TimeOverlapThreshold - Fixed keys sometimes being clipped when zoomed right in due to lack of half-frame offset - Added missing documentation to MovieSceneTimeHelpers.h #jira UE-56107 Change 3945231 by Andrew.Rodham Sequencer: Reconstruct channel proxy on Serialize to catch all cases of undo/redo, PostLoad and duplication #jira UE-56089 Change 3945301 by Andrew.Rodham Sequencer: Added safety checks during initial sequence recording to guard against applying negative or 0-sized sequence ranges #jira UE-56125 Change 3946627 by Max.Preussner Fortnite: Fixed game crashes closing editor while in PIE - Pure virtual function being called #jira UE-56144 [CL 3946896 by Max Chen in Main branch]
2018-03-14 22:09:33 -04:00
FSlateDrawElement::MakeText(
OutDrawElements,
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3946692) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3801826 by Max.Chen PR #4304: Level Sequence crash fix - Guarded against dereferencing null componen. (Contributed by DSDambuster) Change 3801828 by Max.Chen PR #4302: Movie Scene Visibility Template unitialised variable, causing random . (Contributed by DSDambuster) Change 3801837 by Max.Chen Sequencer: Delay spawning/construction for convert to possessable. This fixes a bug where property values would be lost when converting back and forth from possessable to spawnable. #jira UE-52400 Change 3801841 by Max.Chen Sequencer: Make spacer nodes not selectable. PR #4194: Improvements to Sequencer (Contributed by projectgheist) #jira UE-53117 #jira UE-52139 Change 3804183 by Max.Preussner MediaAssets: Added missing lock in media sound component Change 3805414 by Max.Preussner MediaAssets: Setting valid GUID when initializing media texture resource Change 3819578 by Max.Chen PR #4370: When enabling the "MovieCapture", do not turn off the Stereo-3D display. (Contributed by yehaike) #jira UE-53647 Change 3823414 by Max.Chen Curve Editor: Lock down the first and last keys in the redundant keys removal range so that they're unaffected. #jira UE-53591 Change 3826406 by Max.Chen Sequencer: Move OnStartedPlaying() to within first update in UpdateTimeCursorPosition(). This fixes an issue where setting the hud/player visibility was getting stomped on later. #jira UE-52772 Change 3827044 by Max.Preussner MediaAssets: Added sprite visualization to media sound component #jira UE-53594 Change 3827988 by Max.Preussner MediaPlayerAssets: Fixed Media Texture is not linked to Media Player when created together #jira UE-53532 Change 3828506 by Max.Preussner MediaPlayerEditor: Added attenuation visualizer for media sound components #jira UE-53594 Change 3832590 by andrew.porter EngineTest: Added a keep state check in Property Animation sequencer test Change 3833053 by andrew.porter EngineTest: Adding Hierarchical Bias test Change 3835683 by andrew.porter EngineTest: Adding UMG Animation screenshot test Change 3836076 by Max.Chen Sequencer: Fix audio volume and pitch multiplier deprecation. Change 3836230 by andrew.porter EngineTest: Adding Sequence Bone Position automation test Change 3836347 by Max.Chen Sequencer: Fixes to shot name parsing. When a shot doesn't contain a shot number, assume, [ShotName]_[TakeNumber]. When duplicating a shot, put the new shot in the same path of the original shot, so that the take numbers will increment properly. #jira UE-51868 Change 3836552 by Max.Chen Sequencer: Sub section now has a takes menu Change 3838094 by Max.Chen UMG: Fix template finish not getting called on stop. This fixes a bug where sections aren't restored when finished. #jira UE-52285 Change 3838708 by Max.Chen Sequencer: Add notification when the blend type is changed. #jira UE-54046 Change 3840295 by Max.Chen Sequencer: Fix copy/paste crash for lights #jira UE-54084 Change 3840957 by Mike.Zyracki Added Show Only Keyable and Show Only Animated to the filter list in the property editor. Added IsPropertyAnimated to IDetailKeyframe Interface which already had support for showing properties which are keyable (which is used for the key icon next to the properties.). Could have created another interface but then would have had to mimic the sequencer binding, releasing also, so this seemed best way. One issue still left is that custom built detail items currently don't store associated properties(usually) and so certain properties, in particulalry transforms, won't show up as keyable or animated. Note this also shows up with the keyable icon not showing up next to transform tracks, and other filters like Show Only Modified not working with transforms/customs. Not sure best way to tackle this. #jira UESEQ-328 Change 3841756 by Max.Chen Sequencer: Fix unbound possessable components when pasting spawnables. #jira UE-54104 Change 3843950 by andrew.porter EngineTest: Renaming LevelStreaming tests/content to LevelVisibility Change 3844082 by Mike.Zyracki Missing file for animated filter in property editor. When finding if a track is animated we need to find it but we can't easily induce the MovieTrack class for any particular property. So we don't set a class for it and just search by it's ID and name. #jira UESEQ-328 Change 3846902 by Max.Preussner ImgMedia: Fixed image media player never finished initialization if loading failed #jira UE-54247 Change 3849820 by Mike.Zyracki Reassigning deleted widgets didn't work since the menu extender mechanism needs a valid UObject in order to perform an operation on it. So to fix we replaced GetObjectBindingContextMenuExtender in WidgetBlueprint with new delegate mechanism (OnBuildCustomContextMenuForGuid) that supports FGuid in addition to UObjects which is needed to handle re-binding deleted widgets. Note that the default sequencer hacks this for replacing deleted actors in SequencerObjectBindingNode to check to see if a LevelSequence is active. We could move to this mechanism there also. #jira UE-53163 Change 3852211 by Max.Chen UMG: Indicate name of the property that is not bound. #jira UE-54350 Change 3854120 by Max.Chen Sequencer: Fix sibling folders being allowed to have the same folder name. #jira UE-54363 Change 3854627 by Max.Chen Sequencer: Step to next/previous key should work for all tracks if there aren't any selected. #jira UESEQ-391 Change 3855825 by andrew.porter EngineTest: Adding animation blending automation test Change 3855950 by andrew.porter EngineTest: Adding correct expected valuues to animation blending test Change 3856237 by Matt.Hoffman UESEQ-336 - Sequencer Track Reordering Adds the ability to re-order Master Tracks, Folders and Object Bindings within sequencer hierarchies (including UMG). Adds the ability to do a one-off sorting of the content under the old sorting behavior if the user wants to reset their layout to how it was under legacy behavior. Modifies SequencerTrackNodes, SequencerFolderNodes and SequencerObjectBindingNodes to handle CanDrop/OnDrop for above, below and ontop of. Fixes a Slate Issue that forcibly expanded a TreeviewRow if an item handled OnDrop. Slate will now only forcibly expand the row if the item says the drop happened ontop of the item, and not above or below it like it previously did. Change 3856503 by andrew.porter EngineTest: Adding automation test for using animation blueprint with blend multi node in sequencer Change 3857875 by Max.Chen Sequencer: Assign the sequence id after the template is compiled. #jira UE-54462 Change 3858344 by Max.Chen Sequencer: Prevent Goto and Transform boxes from overlapping by allowing them to be visible at the same time in an autosized horizontal box. Also, added close button to the goto box. PR #4425: Prevent Goto and Transform boxes from overlapping in Sequencer ... (Contributed by projectgheist) #jira UE-54210 Change 3860566 by andrew.porter MediaFrameworkTest: Set the option to index 0 for the audio and video track list by default Change 3860654 by andrew.porter EngineTest: Enabling Camera Cut + FOV test Change 3860981 by andrew.porter EngineTest: Updating skeletal mesh tests with a delay after set playback position Change 3861256 by Max.Chen Sequencer: Add all bindings if none selected. #jira-54440 Change 3862154 by Andrew.Rodham Added TimeManagement module Change 3862424 by andrew.porter EngineTest: Turned on the test Bone Positions with Blend Multi Node Change 3862573 by andrew.porter EngineTest: Adding test to compare bone positions in a sequence that is blending an animation that is using an AnimBP Change 3865117 by Max.Chen Sequencer: Stop auto scroll on mouse release of movement. #jira UE-31212 Change 3865303 by Max.Chen Sequencer: Add drag and drop transactions #jira UE-54662 Change 3865304 by Max.Chen Sequencer: Fix crash when an actor factory is not found. Change 3865361 by Max.Chen Sequencer: Don't change the camera/shot lock button when popping out of a sequence. #jira UE-54665 Change 3865412 by Max.Chen Sequencer: Determine whether a transform track is for a camera by using the spawned object or template #jira UE-54666 Change 3865685 by Max.Chen Sequencer: Clear autoscrub offset when stopping autoscroll #jira UE-31212 Change 3865886 by Max.Chen Sequence Recorder: Log an error if the number of frames changes while recording. This can happen if the skeleton changes while recording. #jira UE-48715 Change 3866925 by Andrew.Porter MediaFrameworkTest: Changing the current PNG test video image sequence to 1024 x 576 Change 3867705 by andrew.porter QAGame: Adding Audio Sort Sequence to dev folder Change 3867890 by andrew.porter QAGame: Adding a sequence for testing a sorting crash to my dev folder Change 3872628 by Max.Chen Movie Scene Capture: Split delay before warmup into split delay before shot warmup so that there's separate controls for when the movie scene capture warmups up vs. shot boundaries. Change 3873131 by Matt.Hoffman UE-54732 - Crash reordering a folder with a track. This was caused by folders being the only type of track to check if someone was putting a parent track into a child track. Object Binding tracks and Tracks now check as well so that you can't use the above/below drop targets to add parents as children. This also fixed a typo in the localization keys. #jira UE-54732 Change 3873301 by Mike.Zyracki Added ability to support continous euler angle changes when changing rotations, in particularly with the rotation gizmo's. To do this we effectively added a form an of 'euler filter'(https://en.wikipedia.org/wiki/Euler_filter) to find the closest euler angle to the current euler angle. Three functions were added to FRotator to make this possible, one to get the euler angle that's has the same rotation as it, one to get the difference between two euler angles via Manhattan distance and a third using the previous two to choose a Rotator value that's closest to it. We then use these functions before calling UComponent::SetRelativeRotation to make sure we use the correct Euler after the Quat conversion. We also no longer limit(bound) the euler angles to -180,180, which is obviously necessary to avoid flips. I also changed how we caluclate yaw and roll when pitch is -90 or 90 to make it the standard approach of zeroing out roll and just setting yaw. Main reasons are the previous implementation had precision issues so things like 180, 90, -180 would show up due to numbers being nearly zero but negative,(this would break any smooth interpolations), and this facilitates having a 'gimbal' rotation mode (like Maya, Blender etc..) if we ever want that also. If needed we could keep the previous implementation but would need to add some FMath::IsNearlyZero checks, with less performance. Note we only do this special filtering when applying delta's to actors or components in the editors, which then call UComponent::SetRelativeRotationExact, which is a new function to foces the RelativeRotation to be equal to the new rotation. This allows us to store un-nomalized Rotators at the cost that the RotationCache may be broken. We didn't change any of the other UComponent functions that set rotations (via Quats or Transforms) so they will still be bounded and unwound. In SetInternalWorldLocationAndRotation we only set the rotation if the rotation has changed, which fixes the rotation getting changed and re-normalized if just translate happens. In TransformTrackEditor, we correclty use the bUndwing flag and in MovieScene3DTransformSection there was an un-needed winding check there, it will be unwound earlier if needed, which happens if Sequence Recording is happening. Max we should talk about what to do about this . Note the euler angle drag via the widget is still bound to 0-360. I think we should just unbound that now since the rotations value are now unbound. This review now includes fixes suggested by Zak. #jira UE-UE-22228 Change 3873483 by Matt.Hoffman Sequencer Tracks can now be inserted above the spacer at the bottom of the tree. #jira UE-54706 Change 3873899 by Max.Chen Sequencer: Add section selection throbbing Change 3873908 by Max.Chen Movie Scene Capture: Added logging per frame Change 3873924 by Matt.Hoffman Adds the ability to store Sequence Recorder setups into profiles that stay with the map and can be re-loaded later. Profiles store the Actor Recordings so the settings for each actor should carry with them. #jira UESEQ-339 Change 3874726 by Matt.Hoffman Disable drag-and-drop targets on spacers that come between rows in Sequencer. This prevents extra drag/drop targets showing up between each row. #jira UE-54706 Change 3874862 by Matt.Hoffman Audio Track no longer gets reordered when adding sub-audio tracks, as sub-tracks are no longer counted towards the sorting order index when normalizing indexes. #jira UE-54727 Change 3875905 by Matt.Hoffman Disable Fade Track UI if a fade track already exists in the sequence. #jira UESEQ-393 Change 3876163 by Max.Chen Sequencer: Swap the camera object to the camera component's owner if it's not the same. #jira UE-54874 Change 3876971 by Andrew.Porter EngineTest: Moved Media Player Seek test to new folder. Also enabled the test with new ground truth image. Change 3877040 by Max.Chen Cine Camera: Split camera properties to two groups, "Camera Options" and "Camera Settings". The cine camera now hides properties in the "Camera Settings" group so that properties like bConstrainAspectRatio (in the "Camera Options" group) can be visible. #jira UE-54192 Change 3877763 by Max.Chen Curve Editor: Fix curve changed on end drag so that only curves that had keys/tangents that were changed receive notification, otherwise all loaded curves were getting notified that they were changed. #jira UE-54951 Change 3878234 by Matt.Hoffman Disable "Drop Below" targets for Sequencer Tree nodes to prevent a confusing UX issue where dropping underneath a Object Binding Node puts it after the object binding node but the UI looks like it's inserting it inside the Object Binding node. #jira UE-54743 Change 3879359 by Mike.Zyracki If a track is inactive we dim it a bit which seems to be the UE4 way to show inactive or disabled state. We changed the active logic so that all subtracks need to be inactive for the track to also be inactive(instead of all active for active). This conforms to how the active state actually works, e.g if you have two sections and only one is active the track is still active above it. #jira UESEQ-388 Change 3879462 by Max.Chen Sequencer: Allow dragging onto a particular row which would move out any overlapping sections to make space for the newly created section. Newly created sections are now selected and throbbed to draw attention to themselves. #jira UE-54664 Change 3879464 by Max.Chen Sequencer: Fixed overlapping ranges being inserted into the evaluation field during compilation - The issue was that track segments that had been combined with adjacent segments (due to them being identical) would potentially cause a subsequently compiled frame to overlap with a range that had already been inserted into the evaluation field. - The insertion code previously asserted that only minor overlaps were catered for (due to fp rounding errors) and assumed that a supplied range could not entirely contain any other range in the field. - The solution is to supply the insertion time along with the range to know exactly where the data should live in the field, and crop the range to the maximum allowable space between adjacent ranges. #jira UE-54922 Change 3879590 by Matt.Hoffman Items that are now added to the Sequencer via the "+Track" menu will be selected after being added. Items can now be added inside of folders instead of just to the root level. #jira UE-27397 Change 3879612 by Mike.Zyracki Display Nodes with no children are always active. #jira UESEQ-388 Change 3879730 by Matt.Hoffman Sequence Recorder's actor recording groups now remove items from the group when removed via the UI. #jira UESEQ-339 Change 3880256 by Mike.Zyracki Fix issue with inactive display with folders and other track nodes. #jira UESEQ-388 Change 3883491 by Max.Chen Fix issue where tick is skipped due to last ticked pose isn't cleared after AnimInstance changes. Copy from Release-4.19 #jira UE-51323 Change 3883603 by Max.Chen Movie Scene Capture: Add option toggle disable screen percentage. By default this is on (no change in current behavior). #jira UE-51898 Change 3885074 by Max.Preussner MediaCompositing: Resetting media texture & freeing resource on section end; removed dead code Change 3887220 by Max.Preussner MediaCompositing: Defaulted media section duration to 1 sec (since we do not know the actual duration in most cases) Change 3887478 by Matt.Hoffman Sequences now show [Inactive] in their title bars when they're disabled. This helps communicate why a sequence isn't being evaluated. #jira UE-51469 Change 3888985 by Max.Chen Movie Scene Capture: Clamp HDR Compression Quality between 0 and 1. #jira UE-55136 Change 3893519 by Max.Chen Sequence Recorder: Clarified tooltip for bRecordNearbySpawnedActors - spawned actors will still be recorded if they match the ActorFilter. #jira UE-55238 Change 3893546 by Max.Chen Sequence Recorder: If a selected actor already has a recording, add a blank recording. #jira UE-55239 Change 3894044 by Max.Preussner MediaCompositing: Added support for seeking into a media section Change 3894310 by andrew.porter MediaFrameworkTest: Adding Img media sources for 1080 and 2160 ravent test content Change 3894426 by Max.Preussner MediaAssets: Letting media textures with AutoClear retain their clear color when player is reset Change 3895717 by Max.Chen Sequencer: Null checks to prevent crash when saving the default state of a spawnable #jira UE-55304 Change 3897388 by Max.Chen Sequencer: Don't update current time to be within the view range when stepping into a sequence. #jira UE-55322 Change 3897452 by Max.Chen Audio: Fix crash when trying to record audio without any active capture devices. Log warning if the number of input channels is not 1 or 2. #jira UE-55223 Change 3897619 by Max.Preussner MediaCompositing: Removed commented out code Change 3898072 by Max.Chen Sequencer: Override the animation asset in the player state if it doesn't match the animation asset that's being evaluated. #jira UE-55328 Change 3898272 by Max.Preussner MediaPlayerEditor: Made slate brush constants static Change 3898704 by Max.Chen Sequencer: Skip if the binding id's sequence can't be found. #jira UE-55337 Change 3899855 by Max.Preussner MediaCompositingEditor: Added cache state visualization to media track Change 3900300 by Max.Preussner MediaCompositingEditor: Added loop indicators to media sections Change 3900694 by Max.Preussner ImfMedia: Looping cache only when player is looping Change 3900892 by Max.Preussner Stats: Added stats category for media framework Change 3900954 by Max.Preussner MediaCompositing: Don't evaluate at the end of media section Change 3901348 by Max.Preussner Core: Replaced TLruCache autos for better readability Change 3901655 by Max.Preussner ImgMedia: Added more perf stats to EXR reader Change 3901972 by Max.Preussner MediaAssets: Added getter for media player in media sound components Change 3902233 by Max.Preussner MediaAssets: Enabling media textures to receive samples right after player is assigned Change 3902238 by Max.Preussner MediaCompositing: Working around init/shutdown idiosyncracies in sequencer Change 3904045 by Max.Chen Sequencer: Fix copy/paste crash. Only process UMovieSceneCopyableBinding and objects that can be spawned by the movie scene spawn register. #jira UE-55314 Change 3905605 by Max.Chen Sequencer: Restrict spawnables from being created if they have a ClassWithin that UMovieScene is not a child of. #jira UE-55429 Change 3906550 by Max.Chen Sequencer: Add media track icon #jira UE-55480 Change 3907101 by Max.Chen Sequence Recorder: Fix bugs related to not recording a level sequence. There were certain assumptions that creating a level sequence meant that sequence recording was in progress. This is not always the case - the recorders can record animation assets and not create a level sequence. Changed the notion of IsRecording() to having at least one actor recording that is recording. Countdown timer, recording displays, etc should function if IsRecording() and not based on whether a level sequence is created. #jira UE-55485 Change 3907247 by Max.Chen Sequence Recorder: Fix crash not removing PrepareToCleanseEditorObject delegate. Repros when opening sequence recorder, closing it, and then opening or creating a level. Change 3910343 by Max.Preussner Core: Added async helper for executing functions on a given thread pool Change 3910346 by Max.Preussner ImgMedia: Added separate thread pools for loading/decoding and deleting image frames Change 3910829 by Max.Preussner Profiler: Increased visible range of profiler graph Change 3910841 by Max.Preussner MediaCompositing: Displaying asset name instead of full media source path in media section Change 3910870 by Max.Preussner ImgMedia: Using deallocation thread pool only in debug builds Change 3919642 by Max.Chen Sequence Recorder: Clarify active tooltip #jira UE-55661 Change 3919660 by Max.Chen Sequencer: Sequence template source signatures are now also compared to catch the case where a sub-sequence asset has been saved but not modified - The following sequence of events exposes this issue: - Create a master sequence with a single shot that spawns a cube - Add this sequence to a level and set it to auto-play - Save everything and restart - Resave just the inner shot asset without opening it - PIE - The inner shot never spawns its cube because its template was wiped on save, but its signature never changed. Since the master sequence previously didn't check the template source signature, it ends up trying to evaluate an empty template. #jira UE-55626 #jira UE-55490 Change 3921825 by Max.Chen Sequencer: "Run Construction Script in Sequencer" is off by default for blueprints but on for Sequencer. This allows the content author to switch it on for specific blueprints and sequencer will be default, run those with construction scripts enabled. Change 3922232 by Max.Chen Sequence Recorder: Reset countdelay on stop. #jira UE-55755 Change 3922306 by Max.Chen Sequence Recorder: Don't automatically mark transforms to be recorded by sequence recorder. Instead, log a warning if the user toggled it off to warn that the resulting animation might not match gameplay. #jira UE-55758 Change 3922912 by Max.Chen Sequence Recorder: Fix refresh next sequence name #jira UE-55757 Change 3927654 by Max.Chen Movie Scene Capture: Added format mapping for the name of the current camera #jira UE-55769 PR #4537 Change 3927658 by Max.Chen Sequencer: Added fbx property mapping for "FocusDistance" to "FocusSettings.ManualFocusDistance" #jira UE-55782 Change 3932022 by Max.Chen Sequencer: Add import animation track section to next available row index. #jira UE-55892 Change 3933919 by Max.Chen Sequencer: Jump to playback start frame and not 0 to start playback for recording. #jira UE-55933 Change 3934307 by Andrew.Rodham Sequencer: Add template signature that is re-generated every time the base template is regenerated, which invalidates evaluation fields This fixes an issue where the same sequence is instantiated multiple times in a sequence. If the source sequence was saved, its template would be wiped, which would invalidate the template ID When an instance tries to evaluate the master template, it would only invalidate a range in the evaluation field that was the hull of any invalid sub sequences overlapping the current time, potentially leaving invalid data in the evaluation field at positions later (or earlier) on in the sequence When the sub template was re-generated, it receives the same SequenceSignature as it had before (because the sequence hasn't actually changed), which causes the stale evaluation field data to fail the IsDirty check (because the sequence is the same as it thought, but the *template* has changed) This has been addressed be adding a signature to templates themselves, and checking both the template signature and sequence signature as a part of the IsDirty check. This ensures that we regenerate if either the template, or the sequence have changed. #jira UE-55934 Change 3936327 by Andrew.Rodham Sequencer: Removed increment when trimming right UMovieSceneSection::TrimSection already explicity assigns an exclusive bound to the time passed in. The new behavior means we can trim a section to the right, and insert another section without changing the time to create adjacent sections. #jira UE-42652 Change 3936328 by Andrew.Rodham Fixed KeyFrameManipulator assignment operators and copy/move constructors - These types are potentially self-referential so cannot use default constructors/assignment Change 3936330 by Andrew.Rodham Converted UMGSequencePlayer to use frames internally #jira UE-54878 Change 3936726 by Max.Chen Sequencer: Set track node as the parent of the key area node. The key area switcher needs the object binding id from the parent object binding node. Without this, the binding to the external value fails. #jira UE-55931 Change 3936775 by Max.Chen Sequencer: Should stop or loop should compare DurationFrames with Current Time from StartTime. The bug is that if you set 30 warmup frames in movie rendering for a range of 0-100, the FrameRange will be starting at -30 and have a duration of 130. Without this fix, the playback will continue until frame 130, rather than 100. #jira UE-55933 Change 3936935 by Matt.Hoffman Easing Curves are now represented in Play Rate resolution instead of internal resolution. #jira UE-55937 Change 3937069 by Matt.Hoffman Users can toggle if the is infinite on each side, limited by which tracks support infinite ranges. #jira UE-55891 Change 3937516 by Max.Preussner ImgMedia: Added support for single-threaded platforms #jira UE-55986 Change 3937826 by Max.Preussner MediaAssets: Disabling media sound components on HTML5 if AudioMixer is not enabled Change 3937997 by Max.Chen Curve Editor: Add Zoom to Fit Curves so that selected curves from Sequencer can be focused on. Tested that undo doesn't re-zoom. #jira UE-55935 Change 3938000 by Max.Chen Sequencer: Stop all sounds before generating audio waveforms. #jira UE-55951 Change 3938376 by Max.Preussner XGEController: Disabled XGE Controller in single-threaded apps to prevent crash Change 3938444 by Max.Preussner Core: Added async support for single-threaded applications Change 3938445 by Max.Preussner Networking: Added support for single-threaded applications in UDP socket sender/receiver Change 3938447 by Max.Preussner Messaging: Added support for single-threaded applications Change 3939432 by Max.Chen Sequence Recorder: Append command list to global level editor actions so that shortcuts are accessible in level editor. #jira UE-55798 Change 3940229 by Andrew.Rodham Added prospective display rate upgrade to UMovieScene::PostLoad - There was previously some very odd behaviour that would assign the fixed frame interval only when a sub sequence was focused in SSequencer. This meant that many sequences could have a frame interval of 0 set in the data. - Under the old method of snap interval display this would have fallen back to getting the display interval from the sequencer settings, but we no longer look at these. - The USequencerSettings properties have been removed and in their place, a prospective data upgrade for sequences that have a fixed frame interval old 0fps that sets the play rate to the previous defaults based off the old USequencerSettings defaults. - This could end up 'changing' the display rate for sequences where the user has changed the snap interval in the settings for a particular sequence editor, but there's not much we can do about that given we don't have access to the USequencerSettings classes in UMovieScene #jira UE-55919 Change 3940277 by Andrew.Rodham Sequencer: Added ability to default frame resolutions and play rates for newly created actor sequences Change 3940378 by Andrew.Rodham Sequencer: Post move import dialog now defaults to the playback framerate of the sequence, and floors to frame numbers Change 3940559 by Andrew.Rodham Reinstated primed or recording sequence color Change 3940642 by Max.Preussner ImagePlate: Removed image plate media playback functionality Change 3940843 by Max.Preussner Core: Made TCircularQueue actually thread-safe; improved code comments Change 3940860 by Max.Chen Sequencer: Changed StructNameToKey to StructPathToKey Previously, keying a PropertyPath of [RenderTransform][Shear][X] would get trimmed to X, which doesn't map to a channel name as considered by Sequencer2dTransformTrackEditor. Instead, trim the resulting property path to [Shear][X] so that track editors can determine the desired struct path and channels to key. #jira UE-52966 Change 3941292 by Mike.Zyracki Fix for trajectories out of range not showing up. 1) If we had no key data we would pop the time, so wouldn't get the section ranges. 2) Calculating of upper bound was wrong, checking against -1 and not key == num of keys when doing algo::lower_bound. 3) No need to do the Bck-- for the bakward iterators since we fixed #2. We start now from the upper bound correctly. 4) If we had no keys (at section start,end) we would incorrectly say we were any key type, so since we draw constant keys as dashed we would do so incorrectly around section end points. #jira UE-55929 Change 3941424 by Max.Chen Curve Editor: Change Zoom to Fit to use TArrayView Change 3941498 by Max.Preussner Core: Added FMath::DivideAndRoundNearest function Change 3942097 by Matt.Hoffman Drop Frame Timecode Support for NTSC rates. Change 3942104 by Matt.Hoffman Sequence Recorder Group is no longer visible inside the World Outliner after using one. #jira 55266 Change 3942107 by Max.Chen Sequencer: Resurrect logic to find or extend an existing section when adding keys. Change 3942330 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942339 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942507 by Andrew.Rodham Sequencer: We no longer pad the time overlap threshold with a small number that is not scaled by the current zoom level - The presence of this pad was causing keys that were far apart to be grouped when zoomed in a long way Change 3942509 by Andrew.Rodham Sequencer: Only pad total view range, rather than section range as well when retrieving keys to render - This stops us from rendering keys that are within the view range, but outside the section range Change 3942512 by Andrew.Rodham Added transactions to some sequencer details customizations Change 3942513 by Andrew.Rodham Sequencer: Reinstated validation checks to UMovieSceneSection::SetStartFrame and SetEndFrame, changed erroneous uses to use SetRange Change 3942560 by Andrew.Rodham Pass by rvalue reference to appease error C2719 on Win32 ('InChannels': formal parameter with requested alignment of 8 won't be aligned) Change 3942697 by Andrew.Rodham Newly Created Level Sequences and Actor Sequences now default to 24000 fps frame resolution (+/- ~24hrs range, supporting all integer rates + 23.976) Change 3942700 by Andrew.Rodham Sequencer: Added legacy out-of-bounds errors for times that are not supported by the current legacy upgrade frame resolution Change 3942989 by Max.Preussner Core: Fixed circular queue count calculation Change 3943538 by Max.Preussner MediaAssets: Reverted workaround for procedural audio log spam in HTML5 (Actor component initialization cannot be skipped if the component is used in a level) Change 3944071 by Max.Preussner QAGame: Fixed Media Texture keeps last frame of Media when PIE ends #jira UE-53360 Change 3944292 by Max.Chen Sequencer: Added extra flags to ensure that asset initialization does not occur on template actor sequences #jira UE-56113 Change 3944364 by Max.Chen Sequencer: Prevent circular shot/master tracks. Tested adding master -> child -> master as drag and drop cinematic shot tracks and sub tracks as well as through the + button. #jira UE-56091 Change 3944422 by Max.Chen Sequence Recorder: Disable transform recording if off. #jira UE-56061 Change 3944745 by Andrew.Rodham Sequencer: Key rendering fixes - Fixed assert that occured when keys happened to reside on some times due to KeyTime + TimeOverlapThreshold - KeyTime being slightly larger TimeOverlapThreshold - Fixed keys sometimes being clipped when zoomed right in due to lack of half-frame offset - Added missing documentation to MovieSceneTimeHelpers.h #jira UE-56107 Change 3945231 by Andrew.Rodham Sequencer: Reconstruct channel proxy on Serialize to catch all cases of undo/redo, PostLoad and duplication #jira UE-56089 Change 3945301 by Andrew.Rodham Sequencer: Added safety checks during initial sequence recording to guard against applying negative or 0-sized sequence ranges #jira UE-56125 Change 3946627 by Max.Preussner Fortnite: Fixed game crashes closing editor while in PIE - Pure virtual function being called #jira UE-56144 [CL 3946896 by Max Chen in Main branch]
2018-03-14 22:09:33 -04:00
InArgs.StartLayer+1,
InArgs.AllottedGeometry.ToPaintGeometry( TextOffset, InArgs.AllottedGeometry.Size ),
FrameString,
SmallLayoutFont,
InArgs.DrawEffects,
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3946692) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3801826 by Max.Chen PR #4304: Level Sequence crash fix - Guarded against dereferencing null componen. (Contributed by DSDambuster) Change 3801828 by Max.Chen PR #4302: Movie Scene Visibility Template unitialised variable, causing random . (Contributed by DSDambuster) Change 3801837 by Max.Chen Sequencer: Delay spawning/construction for convert to possessable. This fixes a bug where property values would be lost when converting back and forth from possessable to spawnable. #jira UE-52400 Change 3801841 by Max.Chen Sequencer: Make spacer nodes not selectable. PR #4194: Improvements to Sequencer (Contributed by projectgheist) #jira UE-53117 #jira UE-52139 Change 3804183 by Max.Preussner MediaAssets: Added missing lock in media sound component Change 3805414 by Max.Preussner MediaAssets: Setting valid GUID when initializing media texture resource Change 3819578 by Max.Chen PR #4370: When enabling the "MovieCapture", do not turn off the Stereo-3D display. (Contributed by yehaike) #jira UE-53647 Change 3823414 by Max.Chen Curve Editor: Lock down the first and last keys in the redundant keys removal range so that they're unaffected. #jira UE-53591 Change 3826406 by Max.Chen Sequencer: Move OnStartedPlaying() to within first update in UpdateTimeCursorPosition(). This fixes an issue where setting the hud/player visibility was getting stomped on later. #jira UE-52772 Change 3827044 by Max.Preussner MediaAssets: Added sprite visualization to media sound component #jira UE-53594 Change 3827988 by Max.Preussner MediaPlayerAssets: Fixed Media Texture is not linked to Media Player when created together #jira UE-53532 Change 3828506 by Max.Preussner MediaPlayerEditor: Added attenuation visualizer for media sound components #jira UE-53594 Change 3832590 by andrew.porter EngineTest: Added a keep state check in Property Animation sequencer test Change 3833053 by andrew.porter EngineTest: Adding Hierarchical Bias test Change 3835683 by andrew.porter EngineTest: Adding UMG Animation screenshot test Change 3836076 by Max.Chen Sequencer: Fix audio volume and pitch multiplier deprecation. Change 3836230 by andrew.porter EngineTest: Adding Sequence Bone Position automation test Change 3836347 by Max.Chen Sequencer: Fixes to shot name parsing. When a shot doesn't contain a shot number, assume, [ShotName]_[TakeNumber]. When duplicating a shot, put the new shot in the same path of the original shot, so that the take numbers will increment properly. #jira UE-51868 Change 3836552 by Max.Chen Sequencer: Sub section now has a takes menu Change 3838094 by Max.Chen UMG: Fix template finish not getting called on stop. This fixes a bug where sections aren't restored when finished. #jira UE-52285 Change 3838708 by Max.Chen Sequencer: Add notification when the blend type is changed. #jira UE-54046 Change 3840295 by Max.Chen Sequencer: Fix copy/paste crash for lights #jira UE-54084 Change 3840957 by Mike.Zyracki Added Show Only Keyable and Show Only Animated to the filter list in the property editor. Added IsPropertyAnimated to IDetailKeyframe Interface which already had support for showing properties which are keyable (which is used for the key icon next to the properties.). Could have created another interface but then would have had to mimic the sequencer binding, releasing also, so this seemed best way. One issue still left is that custom built detail items currently don't store associated properties(usually) and so certain properties, in particulalry transforms, won't show up as keyable or animated. Note this also shows up with the keyable icon not showing up next to transform tracks, and other filters like Show Only Modified not working with transforms/customs. Not sure best way to tackle this. #jira UESEQ-328 Change 3841756 by Max.Chen Sequencer: Fix unbound possessable components when pasting spawnables. #jira UE-54104 Change 3843950 by andrew.porter EngineTest: Renaming LevelStreaming tests/content to LevelVisibility Change 3844082 by Mike.Zyracki Missing file for animated filter in property editor. When finding if a track is animated we need to find it but we can't easily induce the MovieTrack class for any particular property. So we don't set a class for it and just search by it's ID and name. #jira UESEQ-328 Change 3846902 by Max.Preussner ImgMedia: Fixed image media player never finished initialization if loading failed #jira UE-54247 Change 3849820 by Mike.Zyracki Reassigning deleted widgets didn't work since the menu extender mechanism needs a valid UObject in order to perform an operation on it. So to fix we replaced GetObjectBindingContextMenuExtender in WidgetBlueprint with new delegate mechanism (OnBuildCustomContextMenuForGuid) that supports FGuid in addition to UObjects which is needed to handle re-binding deleted widgets. Note that the default sequencer hacks this for replacing deleted actors in SequencerObjectBindingNode to check to see if a LevelSequence is active. We could move to this mechanism there also. #jira UE-53163 Change 3852211 by Max.Chen UMG: Indicate name of the property that is not bound. #jira UE-54350 Change 3854120 by Max.Chen Sequencer: Fix sibling folders being allowed to have the same folder name. #jira UE-54363 Change 3854627 by Max.Chen Sequencer: Step to next/previous key should work for all tracks if there aren't any selected. #jira UESEQ-391 Change 3855825 by andrew.porter EngineTest: Adding animation blending automation test Change 3855950 by andrew.porter EngineTest: Adding correct expected valuues to animation blending test Change 3856237 by Matt.Hoffman UESEQ-336 - Sequencer Track Reordering Adds the ability to re-order Master Tracks, Folders and Object Bindings within sequencer hierarchies (including UMG). Adds the ability to do a one-off sorting of the content under the old sorting behavior if the user wants to reset their layout to how it was under legacy behavior. Modifies SequencerTrackNodes, SequencerFolderNodes and SequencerObjectBindingNodes to handle CanDrop/OnDrop for above, below and ontop of. Fixes a Slate Issue that forcibly expanded a TreeviewRow if an item handled OnDrop. Slate will now only forcibly expand the row if the item says the drop happened ontop of the item, and not above or below it like it previously did. Change 3856503 by andrew.porter EngineTest: Adding automation test for using animation blueprint with blend multi node in sequencer Change 3857875 by Max.Chen Sequencer: Assign the sequence id after the template is compiled. #jira UE-54462 Change 3858344 by Max.Chen Sequencer: Prevent Goto and Transform boxes from overlapping by allowing them to be visible at the same time in an autosized horizontal box. Also, added close button to the goto box. PR #4425: Prevent Goto and Transform boxes from overlapping in Sequencer ... (Contributed by projectgheist) #jira UE-54210 Change 3860566 by andrew.porter MediaFrameworkTest: Set the option to index 0 for the audio and video track list by default Change 3860654 by andrew.porter EngineTest: Enabling Camera Cut + FOV test Change 3860981 by andrew.porter EngineTest: Updating skeletal mesh tests with a delay after set playback position Change 3861256 by Max.Chen Sequencer: Add all bindings if none selected. #jira-54440 Change 3862154 by Andrew.Rodham Added TimeManagement module Change 3862424 by andrew.porter EngineTest: Turned on the test Bone Positions with Blend Multi Node Change 3862573 by andrew.porter EngineTest: Adding test to compare bone positions in a sequence that is blending an animation that is using an AnimBP Change 3865117 by Max.Chen Sequencer: Stop auto scroll on mouse release of movement. #jira UE-31212 Change 3865303 by Max.Chen Sequencer: Add drag and drop transactions #jira UE-54662 Change 3865304 by Max.Chen Sequencer: Fix crash when an actor factory is not found. Change 3865361 by Max.Chen Sequencer: Don't change the camera/shot lock button when popping out of a sequence. #jira UE-54665 Change 3865412 by Max.Chen Sequencer: Determine whether a transform track is for a camera by using the spawned object or template #jira UE-54666 Change 3865685 by Max.Chen Sequencer: Clear autoscrub offset when stopping autoscroll #jira UE-31212 Change 3865886 by Max.Chen Sequence Recorder: Log an error if the number of frames changes while recording. This can happen if the skeleton changes while recording. #jira UE-48715 Change 3866925 by Andrew.Porter MediaFrameworkTest: Changing the current PNG test video image sequence to 1024 x 576 Change 3867705 by andrew.porter QAGame: Adding Audio Sort Sequence to dev folder Change 3867890 by andrew.porter QAGame: Adding a sequence for testing a sorting crash to my dev folder Change 3872628 by Max.Chen Movie Scene Capture: Split delay before warmup into split delay before shot warmup so that there's separate controls for when the movie scene capture warmups up vs. shot boundaries. Change 3873131 by Matt.Hoffman UE-54732 - Crash reordering a folder with a track. This was caused by folders being the only type of track to check if someone was putting a parent track into a child track. Object Binding tracks and Tracks now check as well so that you can't use the above/below drop targets to add parents as children. This also fixed a typo in the localization keys. #jira UE-54732 Change 3873301 by Mike.Zyracki Added ability to support continous euler angle changes when changing rotations, in particularly with the rotation gizmo's. To do this we effectively added a form an of 'euler filter'(https://en.wikipedia.org/wiki/Euler_filter) to find the closest euler angle to the current euler angle. Three functions were added to FRotator to make this possible, one to get the euler angle that's has the same rotation as it, one to get the difference between two euler angles via Manhattan distance and a third using the previous two to choose a Rotator value that's closest to it. We then use these functions before calling UComponent::SetRelativeRotation to make sure we use the correct Euler after the Quat conversion. We also no longer limit(bound) the euler angles to -180,180, which is obviously necessary to avoid flips. I also changed how we caluclate yaw and roll when pitch is -90 or 90 to make it the standard approach of zeroing out roll and just setting yaw. Main reasons are the previous implementation had precision issues so things like 180, 90, -180 would show up due to numbers being nearly zero but negative,(this would break any smooth interpolations), and this facilitates having a 'gimbal' rotation mode (like Maya, Blender etc..) if we ever want that also. If needed we could keep the previous implementation but would need to add some FMath::IsNearlyZero checks, with less performance. Note we only do this special filtering when applying delta's to actors or components in the editors, which then call UComponent::SetRelativeRotationExact, which is a new function to foces the RelativeRotation to be equal to the new rotation. This allows us to store un-nomalized Rotators at the cost that the RotationCache may be broken. We didn't change any of the other UComponent functions that set rotations (via Quats or Transforms) so they will still be bounded and unwound. In SetInternalWorldLocationAndRotation we only set the rotation if the rotation has changed, which fixes the rotation getting changed and re-normalized if just translate happens. In TransformTrackEditor, we correclty use the bUndwing flag and in MovieScene3DTransformSection there was an un-needed winding check there, it will be unwound earlier if needed, which happens if Sequence Recording is happening. Max we should talk about what to do about this . Note the euler angle drag via the widget is still bound to 0-360. I think we should just unbound that now since the rotations value are now unbound. This review now includes fixes suggested by Zak. #jira UE-UE-22228 Change 3873483 by Matt.Hoffman Sequencer Tracks can now be inserted above the spacer at the bottom of the tree. #jira UE-54706 Change 3873899 by Max.Chen Sequencer: Add section selection throbbing Change 3873908 by Max.Chen Movie Scene Capture: Added logging per frame Change 3873924 by Matt.Hoffman Adds the ability to store Sequence Recorder setups into profiles that stay with the map and can be re-loaded later. Profiles store the Actor Recordings so the settings for each actor should carry with them. #jira UESEQ-339 Change 3874726 by Matt.Hoffman Disable drag-and-drop targets on spacers that come between rows in Sequencer. This prevents extra drag/drop targets showing up between each row. #jira UE-54706 Change 3874862 by Matt.Hoffman Audio Track no longer gets reordered when adding sub-audio tracks, as sub-tracks are no longer counted towards the sorting order index when normalizing indexes. #jira UE-54727 Change 3875905 by Matt.Hoffman Disable Fade Track UI if a fade track already exists in the sequence. #jira UESEQ-393 Change 3876163 by Max.Chen Sequencer: Swap the camera object to the camera component's owner if it's not the same. #jira UE-54874 Change 3876971 by Andrew.Porter EngineTest: Moved Media Player Seek test to new folder. Also enabled the test with new ground truth image. Change 3877040 by Max.Chen Cine Camera: Split camera properties to two groups, "Camera Options" and "Camera Settings". The cine camera now hides properties in the "Camera Settings" group so that properties like bConstrainAspectRatio (in the "Camera Options" group) can be visible. #jira UE-54192 Change 3877763 by Max.Chen Curve Editor: Fix curve changed on end drag so that only curves that had keys/tangents that were changed receive notification, otherwise all loaded curves were getting notified that they were changed. #jira UE-54951 Change 3878234 by Matt.Hoffman Disable "Drop Below" targets for Sequencer Tree nodes to prevent a confusing UX issue where dropping underneath a Object Binding Node puts it after the object binding node but the UI looks like it's inserting it inside the Object Binding node. #jira UE-54743 Change 3879359 by Mike.Zyracki If a track is inactive we dim it a bit which seems to be the UE4 way to show inactive or disabled state. We changed the active logic so that all subtracks need to be inactive for the track to also be inactive(instead of all active for active). This conforms to how the active state actually works, e.g if you have two sections and only one is active the track is still active above it. #jira UESEQ-388 Change 3879462 by Max.Chen Sequencer: Allow dragging onto a particular row which would move out any overlapping sections to make space for the newly created section. Newly created sections are now selected and throbbed to draw attention to themselves. #jira UE-54664 Change 3879464 by Max.Chen Sequencer: Fixed overlapping ranges being inserted into the evaluation field during compilation - The issue was that track segments that had been combined with adjacent segments (due to them being identical) would potentially cause a subsequently compiled frame to overlap with a range that had already been inserted into the evaluation field. - The insertion code previously asserted that only minor overlaps were catered for (due to fp rounding errors) and assumed that a supplied range could not entirely contain any other range in the field. - The solution is to supply the insertion time along with the range to know exactly where the data should live in the field, and crop the range to the maximum allowable space between adjacent ranges. #jira UE-54922 Change 3879590 by Matt.Hoffman Items that are now added to the Sequencer via the "+Track" menu will be selected after being added. Items can now be added inside of folders instead of just to the root level. #jira UE-27397 Change 3879612 by Mike.Zyracki Display Nodes with no children are always active. #jira UESEQ-388 Change 3879730 by Matt.Hoffman Sequence Recorder's actor recording groups now remove items from the group when removed via the UI. #jira UESEQ-339 Change 3880256 by Mike.Zyracki Fix issue with inactive display with folders and other track nodes. #jira UESEQ-388 Change 3883491 by Max.Chen Fix issue where tick is skipped due to last ticked pose isn't cleared after AnimInstance changes. Copy from Release-4.19 #jira UE-51323 Change 3883603 by Max.Chen Movie Scene Capture: Add option toggle disable screen percentage. By default this is on (no change in current behavior). #jira UE-51898 Change 3885074 by Max.Preussner MediaCompositing: Resetting media texture & freeing resource on section end; removed dead code Change 3887220 by Max.Preussner MediaCompositing: Defaulted media section duration to 1 sec (since we do not know the actual duration in most cases) Change 3887478 by Matt.Hoffman Sequences now show [Inactive] in their title bars when they're disabled. This helps communicate why a sequence isn't being evaluated. #jira UE-51469 Change 3888985 by Max.Chen Movie Scene Capture: Clamp HDR Compression Quality between 0 and 1. #jira UE-55136 Change 3893519 by Max.Chen Sequence Recorder: Clarified tooltip for bRecordNearbySpawnedActors - spawned actors will still be recorded if they match the ActorFilter. #jira UE-55238 Change 3893546 by Max.Chen Sequence Recorder: If a selected actor already has a recording, add a blank recording. #jira UE-55239 Change 3894044 by Max.Preussner MediaCompositing: Added support for seeking into a media section Change 3894310 by andrew.porter MediaFrameworkTest: Adding Img media sources for 1080 and 2160 ravent test content Change 3894426 by Max.Preussner MediaAssets: Letting media textures with AutoClear retain their clear color when player is reset Change 3895717 by Max.Chen Sequencer: Null checks to prevent crash when saving the default state of a spawnable #jira UE-55304 Change 3897388 by Max.Chen Sequencer: Don't update current time to be within the view range when stepping into a sequence. #jira UE-55322 Change 3897452 by Max.Chen Audio: Fix crash when trying to record audio without any active capture devices. Log warning if the number of input channels is not 1 or 2. #jira UE-55223 Change 3897619 by Max.Preussner MediaCompositing: Removed commented out code Change 3898072 by Max.Chen Sequencer: Override the animation asset in the player state if it doesn't match the animation asset that's being evaluated. #jira UE-55328 Change 3898272 by Max.Preussner MediaPlayerEditor: Made slate brush constants static Change 3898704 by Max.Chen Sequencer: Skip if the binding id's sequence can't be found. #jira UE-55337 Change 3899855 by Max.Preussner MediaCompositingEditor: Added cache state visualization to media track Change 3900300 by Max.Preussner MediaCompositingEditor: Added loop indicators to media sections Change 3900694 by Max.Preussner ImfMedia: Looping cache only when player is looping Change 3900892 by Max.Preussner Stats: Added stats category for media framework Change 3900954 by Max.Preussner MediaCompositing: Don't evaluate at the end of media section Change 3901348 by Max.Preussner Core: Replaced TLruCache autos for better readability Change 3901655 by Max.Preussner ImgMedia: Added more perf stats to EXR reader Change 3901972 by Max.Preussner MediaAssets: Added getter for media player in media sound components Change 3902233 by Max.Preussner MediaAssets: Enabling media textures to receive samples right after player is assigned Change 3902238 by Max.Preussner MediaCompositing: Working around init/shutdown idiosyncracies in sequencer Change 3904045 by Max.Chen Sequencer: Fix copy/paste crash. Only process UMovieSceneCopyableBinding and objects that can be spawned by the movie scene spawn register. #jira UE-55314 Change 3905605 by Max.Chen Sequencer: Restrict spawnables from being created if they have a ClassWithin that UMovieScene is not a child of. #jira UE-55429 Change 3906550 by Max.Chen Sequencer: Add media track icon #jira UE-55480 Change 3907101 by Max.Chen Sequence Recorder: Fix bugs related to not recording a level sequence. There were certain assumptions that creating a level sequence meant that sequence recording was in progress. This is not always the case - the recorders can record animation assets and not create a level sequence. Changed the notion of IsRecording() to having at least one actor recording that is recording. Countdown timer, recording displays, etc should function if IsRecording() and not based on whether a level sequence is created. #jira UE-55485 Change 3907247 by Max.Chen Sequence Recorder: Fix crash not removing PrepareToCleanseEditorObject delegate. Repros when opening sequence recorder, closing it, and then opening or creating a level. Change 3910343 by Max.Preussner Core: Added async helper for executing functions on a given thread pool Change 3910346 by Max.Preussner ImgMedia: Added separate thread pools for loading/decoding and deleting image frames Change 3910829 by Max.Preussner Profiler: Increased visible range of profiler graph Change 3910841 by Max.Preussner MediaCompositing: Displaying asset name instead of full media source path in media section Change 3910870 by Max.Preussner ImgMedia: Using deallocation thread pool only in debug builds Change 3919642 by Max.Chen Sequence Recorder: Clarify active tooltip #jira UE-55661 Change 3919660 by Max.Chen Sequencer: Sequence template source signatures are now also compared to catch the case where a sub-sequence asset has been saved but not modified - The following sequence of events exposes this issue: - Create a master sequence with a single shot that spawns a cube - Add this sequence to a level and set it to auto-play - Save everything and restart - Resave just the inner shot asset without opening it - PIE - The inner shot never spawns its cube because its template was wiped on save, but its signature never changed. Since the master sequence previously didn't check the template source signature, it ends up trying to evaluate an empty template. #jira UE-55626 #jira UE-55490 Change 3921825 by Max.Chen Sequencer: "Run Construction Script in Sequencer" is off by default for blueprints but on for Sequencer. This allows the content author to switch it on for specific blueprints and sequencer will be default, run those with construction scripts enabled. Change 3922232 by Max.Chen Sequence Recorder: Reset countdelay on stop. #jira UE-55755 Change 3922306 by Max.Chen Sequence Recorder: Don't automatically mark transforms to be recorded by sequence recorder. Instead, log a warning if the user toggled it off to warn that the resulting animation might not match gameplay. #jira UE-55758 Change 3922912 by Max.Chen Sequence Recorder: Fix refresh next sequence name #jira UE-55757 Change 3927654 by Max.Chen Movie Scene Capture: Added format mapping for the name of the current camera #jira UE-55769 PR #4537 Change 3927658 by Max.Chen Sequencer: Added fbx property mapping for "FocusDistance" to "FocusSettings.ManualFocusDistance" #jira UE-55782 Change 3932022 by Max.Chen Sequencer: Add import animation track section to next available row index. #jira UE-55892 Change 3933919 by Max.Chen Sequencer: Jump to playback start frame and not 0 to start playback for recording. #jira UE-55933 Change 3934307 by Andrew.Rodham Sequencer: Add template signature that is re-generated every time the base template is regenerated, which invalidates evaluation fields This fixes an issue where the same sequence is instantiated multiple times in a sequence. If the source sequence was saved, its template would be wiped, which would invalidate the template ID When an instance tries to evaluate the master template, it would only invalidate a range in the evaluation field that was the hull of any invalid sub sequences overlapping the current time, potentially leaving invalid data in the evaluation field at positions later (or earlier) on in the sequence When the sub template was re-generated, it receives the same SequenceSignature as it had before (because the sequence hasn't actually changed), which causes the stale evaluation field data to fail the IsDirty check (because the sequence is the same as it thought, but the *template* has changed) This has been addressed be adding a signature to templates themselves, and checking both the template signature and sequence signature as a part of the IsDirty check. This ensures that we regenerate if either the template, or the sequence have changed. #jira UE-55934 Change 3936327 by Andrew.Rodham Sequencer: Removed increment when trimming right UMovieSceneSection::TrimSection already explicity assigns an exclusive bound to the time passed in. The new behavior means we can trim a section to the right, and insert another section without changing the time to create adjacent sections. #jira UE-42652 Change 3936328 by Andrew.Rodham Fixed KeyFrameManipulator assignment operators and copy/move constructors - These types are potentially self-referential so cannot use default constructors/assignment Change 3936330 by Andrew.Rodham Converted UMGSequencePlayer to use frames internally #jira UE-54878 Change 3936726 by Max.Chen Sequencer: Set track node as the parent of the key area node. The key area switcher needs the object binding id from the parent object binding node. Without this, the binding to the external value fails. #jira UE-55931 Change 3936775 by Max.Chen Sequencer: Should stop or loop should compare DurationFrames with Current Time from StartTime. The bug is that if you set 30 warmup frames in movie rendering for a range of 0-100, the FrameRange will be starting at -30 and have a duration of 130. Without this fix, the playback will continue until frame 130, rather than 100. #jira UE-55933 Change 3936935 by Matt.Hoffman Easing Curves are now represented in Play Rate resolution instead of internal resolution. #jira UE-55937 Change 3937069 by Matt.Hoffman Users can toggle if the is infinite on each side, limited by which tracks support infinite ranges. #jira UE-55891 Change 3937516 by Max.Preussner ImgMedia: Added support for single-threaded platforms #jira UE-55986 Change 3937826 by Max.Preussner MediaAssets: Disabling media sound components on HTML5 if AudioMixer is not enabled Change 3937997 by Max.Chen Curve Editor: Add Zoom to Fit Curves so that selected curves from Sequencer can be focused on. Tested that undo doesn't re-zoom. #jira UE-55935 Change 3938000 by Max.Chen Sequencer: Stop all sounds before generating audio waveforms. #jira UE-55951 Change 3938376 by Max.Preussner XGEController: Disabled XGE Controller in single-threaded apps to prevent crash Change 3938444 by Max.Preussner Core: Added async support for single-threaded applications Change 3938445 by Max.Preussner Networking: Added support for single-threaded applications in UDP socket sender/receiver Change 3938447 by Max.Preussner Messaging: Added support for single-threaded applications Change 3939432 by Max.Chen Sequence Recorder: Append command list to global level editor actions so that shortcuts are accessible in level editor. #jira UE-55798 Change 3940229 by Andrew.Rodham Added prospective display rate upgrade to UMovieScene::PostLoad - There was previously some very odd behaviour that would assign the fixed frame interval only when a sub sequence was focused in SSequencer. This meant that many sequences could have a frame interval of 0 set in the data. - Under the old method of snap interval display this would have fallen back to getting the display interval from the sequencer settings, but we no longer look at these. - The USequencerSettings properties have been removed and in their place, a prospective data upgrade for sequences that have a fixed frame interval old 0fps that sets the play rate to the previous defaults based off the old USequencerSettings defaults. - This could end up 'changing' the display rate for sequences where the user has changed the snap interval in the settings for a particular sequence editor, but there's not much we can do about that given we don't have access to the USequencerSettings classes in UMovieScene #jira UE-55919 Change 3940277 by Andrew.Rodham Sequencer: Added ability to default frame resolutions and play rates for newly created actor sequences Change 3940378 by Andrew.Rodham Sequencer: Post move import dialog now defaults to the playback framerate of the sequence, and floors to frame numbers Change 3940559 by Andrew.Rodham Reinstated primed or recording sequence color Change 3940642 by Max.Preussner ImagePlate: Removed image plate media playback functionality Change 3940843 by Max.Preussner Core: Made TCircularQueue actually thread-safe; improved code comments Change 3940860 by Max.Chen Sequencer: Changed StructNameToKey to StructPathToKey Previously, keying a PropertyPath of [RenderTransform][Shear][X] would get trimmed to X, which doesn't map to a channel name as considered by Sequencer2dTransformTrackEditor. Instead, trim the resulting property path to [Shear][X] so that track editors can determine the desired struct path and channels to key. #jira UE-52966 Change 3941292 by Mike.Zyracki Fix for trajectories out of range not showing up. 1) If we had no key data we would pop the time, so wouldn't get the section ranges. 2) Calculating of upper bound was wrong, checking against -1 and not key == num of keys when doing algo::lower_bound. 3) No need to do the Bck-- for the bakward iterators since we fixed #2. We start now from the upper bound correctly. 4) If we had no keys (at section start,end) we would incorrectly say we were any key type, so since we draw constant keys as dashed we would do so incorrectly around section end points. #jira UE-55929 Change 3941424 by Max.Chen Curve Editor: Change Zoom to Fit to use TArrayView Change 3941498 by Max.Preussner Core: Added FMath::DivideAndRoundNearest function Change 3942097 by Matt.Hoffman Drop Frame Timecode Support for NTSC rates. Change 3942104 by Matt.Hoffman Sequence Recorder Group is no longer visible inside the World Outliner after using one. #jira 55266 Change 3942107 by Max.Chen Sequencer: Resurrect logic to find or extend an existing section when adding keys. Change 3942330 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942339 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942507 by Andrew.Rodham Sequencer: We no longer pad the time overlap threshold with a small number that is not scaled by the current zoom level - The presence of this pad was causing keys that were far apart to be grouped when zoomed in a long way Change 3942509 by Andrew.Rodham Sequencer: Only pad total view range, rather than section range as well when retrieving keys to render - This stops us from rendering keys that are within the view range, but outside the section range Change 3942512 by Andrew.Rodham Added transactions to some sequencer details customizations Change 3942513 by Andrew.Rodham Sequencer: Reinstated validation checks to UMovieSceneSection::SetStartFrame and SetEndFrame, changed erroneous uses to use SetRange Change 3942560 by Andrew.Rodham Pass by rvalue reference to appease error C2719 on Win32 ('InChannels': formal parameter with requested alignment of 8 won't be aligned) Change 3942697 by Andrew.Rodham Newly Created Level Sequences and Actor Sequences now default to 24000 fps frame resolution (+/- ~24hrs range, supporting all integer rates + 23.976) Change 3942700 by Andrew.Rodham Sequencer: Added legacy out-of-bounds errors for times that are not supported by the current legacy upgrade frame resolution Change 3942989 by Max.Preussner Core: Fixed circular queue count calculation Change 3943538 by Max.Preussner MediaAssets: Reverted workaround for procedural audio log spam in HTML5 (Actor component initialization cannot be skipped if the component is used in a level) Change 3944071 by Max.Preussner QAGame: Fixed Media Texture keeps last frame of Media when PIE ends #jira UE-53360 Change 3944292 by Max.Chen Sequencer: Added extra flags to ensure that asset initialization does not occur on template actor sequences #jira UE-56113 Change 3944364 by Max.Chen Sequencer: Prevent circular shot/master tracks. Tested adding master -> child -> master as drag and drop cinematic shot tracks and sub tracks as well as through the + button. #jira UE-56091 Change 3944422 by Max.Chen Sequence Recorder: Disable transform recording if off. #jira UE-56061 Change 3944745 by Andrew.Rodham Sequencer: Key rendering fixes - Fixed assert that occured when keys happened to reside on some times due to KeyTime + TimeOverlapThreshold - KeyTime being slightly larger TimeOverlapThreshold - Fixed keys sometimes being clipped when zoomed right in due to lack of half-frame offset - Added missing documentation to MovieSceneTimeHelpers.h #jira UE-56107 Change 3945231 by Andrew.Rodham Sequencer: Reconstruct channel proxy on Serialize to catch all cases of undo/redo, PostLoad and duplication #jira UE-56089 Change 3945301 by Andrew.Rodham Sequencer: Added safety checks during initial sequence recording to guard against applying negative or 0-sized sequence ranges #jira UE-56125 Change 3946627 by Max.Preussner Fortnite: Fixed game crashes closing editor while in PIE - Pure virtual function being called #jira UE-56144 [CL 3946896 by Max Chen in Main branch]
2018-03-14 22:09:33 -04:00
InArgs.TickColor*0.65f
);
}
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3946692) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3801826 by Max.Chen PR #4304: Level Sequence crash fix - Guarded against dereferencing null componen. (Contributed by DSDambuster) Change 3801828 by Max.Chen PR #4302: Movie Scene Visibility Template unitialised variable, causing random . (Contributed by DSDambuster) Change 3801837 by Max.Chen Sequencer: Delay spawning/construction for convert to possessable. This fixes a bug where property values would be lost when converting back and forth from possessable to spawnable. #jira UE-52400 Change 3801841 by Max.Chen Sequencer: Make spacer nodes not selectable. PR #4194: Improvements to Sequencer (Contributed by projectgheist) #jira UE-53117 #jira UE-52139 Change 3804183 by Max.Preussner MediaAssets: Added missing lock in media sound component Change 3805414 by Max.Preussner MediaAssets: Setting valid GUID when initializing media texture resource Change 3819578 by Max.Chen PR #4370: When enabling the "MovieCapture", do not turn off the Stereo-3D display. (Contributed by yehaike) #jira UE-53647 Change 3823414 by Max.Chen Curve Editor: Lock down the first and last keys in the redundant keys removal range so that they're unaffected. #jira UE-53591 Change 3826406 by Max.Chen Sequencer: Move OnStartedPlaying() to within first update in UpdateTimeCursorPosition(). This fixes an issue where setting the hud/player visibility was getting stomped on later. #jira UE-52772 Change 3827044 by Max.Preussner MediaAssets: Added sprite visualization to media sound component #jira UE-53594 Change 3827988 by Max.Preussner MediaPlayerAssets: Fixed Media Texture is not linked to Media Player when created together #jira UE-53532 Change 3828506 by Max.Preussner MediaPlayerEditor: Added attenuation visualizer for media sound components #jira UE-53594 Change 3832590 by andrew.porter EngineTest: Added a keep state check in Property Animation sequencer test Change 3833053 by andrew.porter EngineTest: Adding Hierarchical Bias test Change 3835683 by andrew.porter EngineTest: Adding UMG Animation screenshot test Change 3836076 by Max.Chen Sequencer: Fix audio volume and pitch multiplier deprecation. Change 3836230 by andrew.porter EngineTest: Adding Sequence Bone Position automation test Change 3836347 by Max.Chen Sequencer: Fixes to shot name parsing. When a shot doesn't contain a shot number, assume, [ShotName]_[TakeNumber]. When duplicating a shot, put the new shot in the same path of the original shot, so that the take numbers will increment properly. #jira UE-51868 Change 3836552 by Max.Chen Sequencer: Sub section now has a takes menu Change 3838094 by Max.Chen UMG: Fix template finish not getting called on stop. This fixes a bug where sections aren't restored when finished. #jira UE-52285 Change 3838708 by Max.Chen Sequencer: Add notification when the blend type is changed. #jira UE-54046 Change 3840295 by Max.Chen Sequencer: Fix copy/paste crash for lights #jira UE-54084 Change 3840957 by Mike.Zyracki Added Show Only Keyable and Show Only Animated to the filter list in the property editor. Added IsPropertyAnimated to IDetailKeyframe Interface which already had support for showing properties which are keyable (which is used for the key icon next to the properties.). Could have created another interface but then would have had to mimic the sequencer binding, releasing also, so this seemed best way. One issue still left is that custom built detail items currently don't store associated properties(usually) and so certain properties, in particulalry transforms, won't show up as keyable or animated. Note this also shows up with the keyable icon not showing up next to transform tracks, and other filters like Show Only Modified not working with transforms/customs. Not sure best way to tackle this. #jira UESEQ-328 Change 3841756 by Max.Chen Sequencer: Fix unbound possessable components when pasting spawnables. #jira UE-54104 Change 3843950 by andrew.porter EngineTest: Renaming LevelStreaming tests/content to LevelVisibility Change 3844082 by Mike.Zyracki Missing file for animated filter in property editor. When finding if a track is animated we need to find it but we can't easily induce the MovieTrack class for any particular property. So we don't set a class for it and just search by it's ID and name. #jira UESEQ-328 Change 3846902 by Max.Preussner ImgMedia: Fixed image media player never finished initialization if loading failed #jira UE-54247 Change 3849820 by Mike.Zyracki Reassigning deleted widgets didn't work since the menu extender mechanism needs a valid UObject in order to perform an operation on it. So to fix we replaced GetObjectBindingContextMenuExtender in WidgetBlueprint with new delegate mechanism (OnBuildCustomContextMenuForGuid) that supports FGuid in addition to UObjects which is needed to handle re-binding deleted widgets. Note that the default sequencer hacks this for replacing deleted actors in SequencerObjectBindingNode to check to see if a LevelSequence is active. We could move to this mechanism there also. #jira UE-53163 Change 3852211 by Max.Chen UMG: Indicate name of the property that is not bound. #jira UE-54350 Change 3854120 by Max.Chen Sequencer: Fix sibling folders being allowed to have the same folder name. #jira UE-54363 Change 3854627 by Max.Chen Sequencer: Step to next/previous key should work for all tracks if there aren't any selected. #jira UESEQ-391 Change 3855825 by andrew.porter EngineTest: Adding animation blending automation test Change 3855950 by andrew.porter EngineTest: Adding correct expected valuues to animation blending test Change 3856237 by Matt.Hoffman UESEQ-336 - Sequencer Track Reordering Adds the ability to re-order Master Tracks, Folders and Object Bindings within sequencer hierarchies (including UMG). Adds the ability to do a one-off sorting of the content under the old sorting behavior if the user wants to reset their layout to how it was under legacy behavior. Modifies SequencerTrackNodes, SequencerFolderNodes and SequencerObjectBindingNodes to handle CanDrop/OnDrop for above, below and ontop of. Fixes a Slate Issue that forcibly expanded a TreeviewRow if an item handled OnDrop. Slate will now only forcibly expand the row if the item says the drop happened ontop of the item, and not above or below it like it previously did. Change 3856503 by andrew.porter EngineTest: Adding automation test for using animation blueprint with blend multi node in sequencer Change 3857875 by Max.Chen Sequencer: Assign the sequence id after the template is compiled. #jira UE-54462 Change 3858344 by Max.Chen Sequencer: Prevent Goto and Transform boxes from overlapping by allowing them to be visible at the same time in an autosized horizontal box. Also, added close button to the goto box. PR #4425: Prevent Goto and Transform boxes from overlapping in Sequencer ... (Contributed by projectgheist) #jira UE-54210 Change 3860566 by andrew.porter MediaFrameworkTest: Set the option to index 0 for the audio and video track list by default Change 3860654 by andrew.porter EngineTest: Enabling Camera Cut + FOV test Change 3860981 by andrew.porter EngineTest: Updating skeletal mesh tests with a delay after set playback position Change 3861256 by Max.Chen Sequencer: Add all bindings if none selected. #jira-54440 Change 3862154 by Andrew.Rodham Added TimeManagement module Change 3862424 by andrew.porter EngineTest: Turned on the test Bone Positions with Blend Multi Node Change 3862573 by andrew.porter EngineTest: Adding test to compare bone positions in a sequence that is blending an animation that is using an AnimBP Change 3865117 by Max.Chen Sequencer: Stop auto scroll on mouse release of movement. #jira UE-31212 Change 3865303 by Max.Chen Sequencer: Add drag and drop transactions #jira UE-54662 Change 3865304 by Max.Chen Sequencer: Fix crash when an actor factory is not found. Change 3865361 by Max.Chen Sequencer: Don't change the camera/shot lock button when popping out of a sequence. #jira UE-54665 Change 3865412 by Max.Chen Sequencer: Determine whether a transform track is for a camera by using the spawned object or template #jira UE-54666 Change 3865685 by Max.Chen Sequencer: Clear autoscrub offset when stopping autoscroll #jira UE-31212 Change 3865886 by Max.Chen Sequence Recorder: Log an error if the number of frames changes while recording. This can happen if the skeleton changes while recording. #jira UE-48715 Change 3866925 by Andrew.Porter MediaFrameworkTest: Changing the current PNG test video image sequence to 1024 x 576 Change 3867705 by andrew.porter QAGame: Adding Audio Sort Sequence to dev folder Change 3867890 by andrew.porter QAGame: Adding a sequence for testing a sorting crash to my dev folder Change 3872628 by Max.Chen Movie Scene Capture: Split delay before warmup into split delay before shot warmup so that there's separate controls for when the movie scene capture warmups up vs. shot boundaries. Change 3873131 by Matt.Hoffman UE-54732 - Crash reordering a folder with a track. This was caused by folders being the only type of track to check if someone was putting a parent track into a child track. Object Binding tracks and Tracks now check as well so that you can't use the above/below drop targets to add parents as children. This also fixed a typo in the localization keys. #jira UE-54732 Change 3873301 by Mike.Zyracki Added ability to support continous euler angle changes when changing rotations, in particularly with the rotation gizmo's. To do this we effectively added a form an of 'euler filter'(https://en.wikipedia.org/wiki/Euler_filter) to find the closest euler angle to the current euler angle. Three functions were added to FRotator to make this possible, one to get the euler angle that's has the same rotation as it, one to get the difference between two euler angles via Manhattan distance and a third using the previous two to choose a Rotator value that's closest to it. We then use these functions before calling UComponent::SetRelativeRotation to make sure we use the correct Euler after the Quat conversion. We also no longer limit(bound) the euler angles to -180,180, which is obviously necessary to avoid flips. I also changed how we caluclate yaw and roll when pitch is -90 or 90 to make it the standard approach of zeroing out roll and just setting yaw. Main reasons are the previous implementation had precision issues so things like 180, 90, -180 would show up due to numbers being nearly zero but negative,(this would break any smooth interpolations), and this facilitates having a 'gimbal' rotation mode (like Maya, Blender etc..) if we ever want that also. If needed we could keep the previous implementation but would need to add some FMath::IsNearlyZero checks, with less performance. Note we only do this special filtering when applying delta's to actors or components in the editors, which then call UComponent::SetRelativeRotationExact, which is a new function to foces the RelativeRotation to be equal to the new rotation. This allows us to store un-nomalized Rotators at the cost that the RotationCache may be broken. We didn't change any of the other UComponent functions that set rotations (via Quats or Transforms) so they will still be bounded and unwound. In SetInternalWorldLocationAndRotation we only set the rotation if the rotation has changed, which fixes the rotation getting changed and re-normalized if just translate happens. In TransformTrackEditor, we correclty use the bUndwing flag and in MovieScene3DTransformSection there was an un-needed winding check there, it will be unwound earlier if needed, which happens if Sequence Recording is happening. Max we should talk about what to do about this . Note the euler angle drag via the widget is still bound to 0-360. I think we should just unbound that now since the rotations value are now unbound. This review now includes fixes suggested by Zak. #jira UE-UE-22228 Change 3873483 by Matt.Hoffman Sequencer Tracks can now be inserted above the spacer at the bottom of the tree. #jira UE-54706 Change 3873899 by Max.Chen Sequencer: Add section selection throbbing Change 3873908 by Max.Chen Movie Scene Capture: Added logging per frame Change 3873924 by Matt.Hoffman Adds the ability to store Sequence Recorder setups into profiles that stay with the map and can be re-loaded later. Profiles store the Actor Recordings so the settings for each actor should carry with them. #jira UESEQ-339 Change 3874726 by Matt.Hoffman Disable drag-and-drop targets on spacers that come between rows in Sequencer. This prevents extra drag/drop targets showing up between each row. #jira UE-54706 Change 3874862 by Matt.Hoffman Audio Track no longer gets reordered when adding sub-audio tracks, as sub-tracks are no longer counted towards the sorting order index when normalizing indexes. #jira UE-54727 Change 3875905 by Matt.Hoffman Disable Fade Track UI if a fade track already exists in the sequence. #jira UESEQ-393 Change 3876163 by Max.Chen Sequencer: Swap the camera object to the camera component's owner if it's not the same. #jira UE-54874 Change 3876971 by Andrew.Porter EngineTest: Moved Media Player Seek test to new folder. Also enabled the test with new ground truth image. Change 3877040 by Max.Chen Cine Camera: Split camera properties to two groups, "Camera Options" and "Camera Settings". The cine camera now hides properties in the "Camera Settings" group so that properties like bConstrainAspectRatio (in the "Camera Options" group) can be visible. #jira UE-54192 Change 3877763 by Max.Chen Curve Editor: Fix curve changed on end drag so that only curves that had keys/tangents that were changed receive notification, otherwise all loaded curves were getting notified that they were changed. #jira UE-54951 Change 3878234 by Matt.Hoffman Disable "Drop Below" targets for Sequencer Tree nodes to prevent a confusing UX issue where dropping underneath a Object Binding Node puts it after the object binding node but the UI looks like it's inserting it inside the Object Binding node. #jira UE-54743 Change 3879359 by Mike.Zyracki If a track is inactive we dim it a bit which seems to be the UE4 way to show inactive or disabled state. We changed the active logic so that all subtracks need to be inactive for the track to also be inactive(instead of all active for active). This conforms to how the active state actually works, e.g if you have two sections and only one is active the track is still active above it. #jira UESEQ-388 Change 3879462 by Max.Chen Sequencer: Allow dragging onto a particular row which would move out any overlapping sections to make space for the newly created section. Newly created sections are now selected and throbbed to draw attention to themselves. #jira UE-54664 Change 3879464 by Max.Chen Sequencer: Fixed overlapping ranges being inserted into the evaluation field during compilation - The issue was that track segments that had been combined with adjacent segments (due to them being identical) would potentially cause a subsequently compiled frame to overlap with a range that had already been inserted into the evaluation field. - The insertion code previously asserted that only minor overlaps were catered for (due to fp rounding errors) and assumed that a supplied range could not entirely contain any other range in the field. - The solution is to supply the insertion time along with the range to know exactly where the data should live in the field, and crop the range to the maximum allowable space between adjacent ranges. #jira UE-54922 Change 3879590 by Matt.Hoffman Items that are now added to the Sequencer via the "+Track" menu will be selected after being added. Items can now be added inside of folders instead of just to the root level. #jira UE-27397 Change 3879612 by Mike.Zyracki Display Nodes with no children are always active. #jira UESEQ-388 Change 3879730 by Matt.Hoffman Sequence Recorder's actor recording groups now remove items from the group when removed via the UI. #jira UESEQ-339 Change 3880256 by Mike.Zyracki Fix issue with inactive display with folders and other track nodes. #jira UESEQ-388 Change 3883491 by Max.Chen Fix issue where tick is skipped due to last ticked pose isn't cleared after AnimInstance changes. Copy from Release-4.19 #jira UE-51323 Change 3883603 by Max.Chen Movie Scene Capture: Add option toggle disable screen percentage. By default this is on (no change in current behavior). #jira UE-51898 Change 3885074 by Max.Preussner MediaCompositing: Resetting media texture & freeing resource on section end; removed dead code Change 3887220 by Max.Preussner MediaCompositing: Defaulted media section duration to 1 sec (since we do not know the actual duration in most cases) Change 3887478 by Matt.Hoffman Sequences now show [Inactive] in their title bars when they're disabled. This helps communicate why a sequence isn't being evaluated. #jira UE-51469 Change 3888985 by Max.Chen Movie Scene Capture: Clamp HDR Compression Quality between 0 and 1. #jira UE-55136 Change 3893519 by Max.Chen Sequence Recorder: Clarified tooltip for bRecordNearbySpawnedActors - spawned actors will still be recorded if they match the ActorFilter. #jira UE-55238 Change 3893546 by Max.Chen Sequence Recorder: If a selected actor already has a recording, add a blank recording. #jira UE-55239 Change 3894044 by Max.Preussner MediaCompositing: Added support for seeking into a media section Change 3894310 by andrew.porter MediaFrameworkTest: Adding Img media sources for 1080 and 2160 ravent test content Change 3894426 by Max.Preussner MediaAssets: Letting media textures with AutoClear retain their clear color when player is reset Change 3895717 by Max.Chen Sequencer: Null checks to prevent crash when saving the default state of a spawnable #jira UE-55304 Change 3897388 by Max.Chen Sequencer: Don't update current time to be within the view range when stepping into a sequence. #jira UE-55322 Change 3897452 by Max.Chen Audio: Fix crash when trying to record audio without any active capture devices. Log warning if the number of input channels is not 1 or 2. #jira UE-55223 Change 3897619 by Max.Preussner MediaCompositing: Removed commented out code Change 3898072 by Max.Chen Sequencer: Override the animation asset in the player state if it doesn't match the animation asset that's being evaluated. #jira UE-55328 Change 3898272 by Max.Preussner MediaPlayerEditor: Made slate brush constants static Change 3898704 by Max.Chen Sequencer: Skip if the binding id's sequence can't be found. #jira UE-55337 Change 3899855 by Max.Preussner MediaCompositingEditor: Added cache state visualization to media track Change 3900300 by Max.Preussner MediaCompositingEditor: Added loop indicators to media sections Change 3900694 by Max.Preussner ImfMedia: Looping cache only when player is looping Change 3900892 by Max.Preussner Stats: Added stats category for media framework Change 3900954 by Max.Preussner MediaCompositing: Don't evaluate at the end of media section Change 3901348 by Max.Preussner Core: Replaced TLruCache autos for better readability Change 3901655 by Max.Preussner ImgMedia: Added more perf stats to EXR reader Change 3901972 by Max.Preussner MediaAssets: Added getter for media player in media sound components Change 3902233 by Max.Preussner MediaAssets: Enabling media textures to receive samples right after player is assigned Change 3902238 by Max.Preussner MediaCompositing: Working around init/shutdown idiosyncracies in sequencer Change 3904045 by Max.Chen Sequencer: Fix copy/paste crash. Only process UMovieSceneCopyableBinding and objects that can be spawned by the movie scene spawn register. #jira UE-55314 Change 3905605 by Max.Chen Sequencer: Restrict spawnables from being created if they have a ClassWithin that UMovieScene is not a child of. #jira UE-55429 Change 3906550 by Max.Chen Sequencer: Add media track icon #jira UE-55480 Change 3907101 by Max.Chen Sequence Recorder: Fix bugs related to not recording a level sequence. There were certain assumptions that creating a level sequence meant that sequence recording was in progress. This is not always the case - the recorders can record animation assets and not create a level sequence. Changed the notion of IsRecording() to having at least one actor recording that is recording. Countdown timer, recording displays, etc should function if IsRecording() and not based on whether a level sequence is created. #jira UE-55485 Change 3907247 by Max.Chen Sequence Recorder: Fix crash not removing PrepareToCleanseEditorObject delegate. Repros when opening sequence recorder, closing it, and then opening or creating a level. Change 3910343 by Max.Preussner Core: Added async helper for executing functions on a given thread pool Change 3910346 by Max.Preussner ImgMedia: Added separate thread pools for loading/decoding and deleting image frames Change 3910829 by Max.Preussner Profiler: Increased visible range of profiler graph Change 3910841 by Max.Preussner MediaCompositing: Displaying asset name instead of full media source path in media section Change 3910870 by Max.Preussner ImgMedia: Using deallocation thread pool only in debug builds Change 3919642 by Max.Chen Sequence Recorder: Clarify active tooltip #jira UE-55661 Change 3919660 by Max.Chen Sequencer: Sequence template source signatures are now also compared to catch the case where a sub-sequence asset has been saved but not modified - The following sequence of events exposes this issue: - Create a master sequence with a single shot that spawns a cube - Add this sequence to a level and set it to auto-play - Save everything and restart - Resave just the inner shot asset without opening it - PIE - The inner shot never spawns its cube because its template was wiped on save, but its signature never changed. Since the master sequence previously didn't check the template source signature, it ends up trying to evaluate an empty template. #jira UE-55626 #jira UE-55490 Change 3921825 by Max.Chen Sequencer: "Run Construction Script in Sequencer" is off by default for blueprints but on for Sequencer. This allows the content author to switch it on for specific blueprints and sequencer will be default, run those with construction scripts enabled. Change 3922232 by Max.Chen Sequence Recorder: Reset countdelay on stop. #jira UE-55755 Change 3922306 by Max.Chen Sequence Recorder: Don't automatically mark transforms to be recorded by sequence recorder. Instead, log a warning if the user toggled it off to warn that the resulting animation might not match gameplay. #jira UE-55758 Change 3922912 by Max.Chen Sequence Recorder: Fix refresh next sequence name #jira UE-55757 Change 3927654 by Max.Chen Movie Scene Capture: Added format mapping for the name of the current camera #jira UE-55769 PR #4537 Change 3927658 by Max.Chen Sequencer: Added fbx property mapping for "FocusDistance" to "FocusSettings.ManualFocusDistance" #jira UE-55782 Change 3932022 by Max.Chen Sequencer: Add import animation track section to next available row index. #jira UE-55892 Change 3933919 by Max.Chen Sequencer: Jump to playback start frame and not 0 to start playback for recording. #jira UE-55933 Change 3934307 by Andrew.Rodham Sequencer: Add template signature that is re-generated every time the base template is regenerated, which invalidates evaluation fields This fixes an issue where the same sequence is instantiated multiple times in a sequence. If the source sequence was saved, its template would be wiped, which would invalidate the template ID When an instance tries to evaluate the master template, it would only invalidate a range in the evaluation field that was the hull of any invalid sub sequences overlapping the current time, potentially leaving invalid data in the evaluation field at positions later (or earlier) on in the sequence When the sub template was re-generated, it receives the same SequenceSignature as it had before (because the sequence hasn't actually changed), which causes the stale evaluation field data to fail the IsDirty check (because the sequence is the same as it thought, but the *template* has changed) This has been addressed be adding a signature to templates themselves, and checking both the template signature and sequence signature as a part of the IsDirty check. This ensures that we regenerate if either the template, or the sequence have changed. #jira UE-55934 Change 3936327 by Andrew.Rodham Sequencer: Removed increment when trimming right UMovieSceneSection::TrimSection already explicity assigns an exclusive bound to the time passed in. The new behavior means we can trim a section to the right, and insert another section without changing the time to create adjacent sections. #jira UE-42652 Change 3936328 by Andrew.Rodham Fixed KeyFrameManipulator assignment operators and copy/move constructors - These types are potentially self-referential so cannot use default constructors/assignment Change 3936330 by Andrew.Rodham Converted UMGSequencePlayer to use frames internally #jira UE-54878 Change 3936726 by Max.Chen Sequencer: Set track node as the parent of the key area node. The key area switcher needs the object binding id from the parent object binding node. Without this, the binding to the external value fails. #jira UE-55931 Change 3936775 by Max.Chen Sequencer: Should stop or loop should compare DurationFrames with Current Time from StartTime. The bug is that if you set 30 warmup frames in movie rendering for a range of 0-100, the FrameRange will be starting at -30 and have a duration of 130. Without this fix, the playback will continue until frame 130, rather than 100. #jira UE-55933 Change 3936935 by Matt.Hoffman Easing Curves are now represented in Play Rate resolution instead of internal resolution. #jira UE-55937 Change 3937069 by Matt.Hoffman Users can toggle if the is infinite on each side, limited by which tracks support infinite ranges. #jira UE-55891 Change 3937516 by Max.Preussner ImgMedia: Added support for single-threaded platforms #jira UE-55986 Change 3937826 by Max.Preussner MediaAssets: Disabling media sound components on HTML5 if AudioMixer is not enabled Change 3937997 by Max.Chen Curve Editor: Add Zoom to Fit Curves so that selected curves from Sequencer can be focused on. Tested that undo doesn't re-zoom. #jira UE-55935 Change 3938000 by Max.Chen Sequencer: Stop all sounds before generating audio waveforms. #jira UE-55951 Change 3938376 by Max.Preussner XGEController: Disabled XGE Controller in single-threaded apps to prevent crash Change 3938444 by Max.Preussner Core: Added async support for single-threaded applications Change 3938445 by Max.Preussner Networking: Added support for single-threaded applications in UDP socket sender/receiver Change 3938447 by Max.Preussner Messaging: Added support for single-threaded applications Change 3939432 by Max.Chen Sequence Recorder: Append command list to global level editor actions so that shortcuts are accessible in level editor. #jira UE-55798 Change 3940229 by Andrew.Rodham Added prospective display rate upgrade to UMovieScene::PostLoad - There was previously some very odd behaviour that would assign the fixed frame interval only when a sub sequence was focused in SSequencer. This meant that many sequences could have a frame interval of 0 set in the data. - Under the old method of snap interval display this would have fallen back to getting the display interval from the sequencer settings, but we no longer look at these. - The USequencerSettings properties have been removed and in their place, a prospective data upgrade for sequences that have a fixed frame interval old 0fps that sets the play rate to the previous defaults based off the old USequencerSettings defaults. - This could end up 'changing' the display rate for sequences where the user has changed the snap interval in the settings for a particular sequence editor, but there's not much we can do about that given we don't have access to the USequencerSettings classes in UMovieScene #jira UE-55919 Change 3940277 by Andrew.Rodham Sequencer: Added ability to default frame resolutions and play rates for newly created actor sequences Change 3940378 by Andrew.Rodham Sequencer: Post move import dialog now defaults to the playback framerate of the sequence, and floors to frame numbers Change 3940559 by Andrew.Rodham Reinstated primed or recording sequence color Change 3940642 by Max.Preussner ImagePlate: Removed image plate media playback functionality Change 3940843 by Max.Preussner Core: Made TCircularQueue actually thread-safe; improved code comments Change 3940860 by Max.Chen Sequencer: Changed StructNameToKey to StructPathToKey Previously, keying a PropertyPath of [RenderTransform][Shear][X] would get trimmed to X, which doesn't map to a channel name as considered by Sequencer2dTransformTrackEditor. Instead, trim the resulting property path to [Shear][X] so that track editors can determine the desired struct path and channels to key. #jira UE-52966 Change 3941292 by Mike.Zyracki Fix for trajectories out of range not showing up. 1) If we had no key data we would pop the time, so wouldn't get the section ranges. 2) Calculating of upper bound was wrong, checking against -1 and not key == num of keys when doing algo::lower_bound. 3) No need to do the Bck-- for the bakward iterators since we fixed #2. We start now from the upper bound correctly. 4) If we had no keys (at section start,end) we would incorrectly say we were any key type, so since we draw constant keys as dashed we would do so incorrectly around section end points. #jira UE-55929 Change 3941424 by Max.Chen Curve Editor: Change Zoom to Fit to use TArrayView Change 3941498 by Max.Preussner Core: Added FMath::DivideAndRoundNearest function Change 3942097 by Matt.Hoffman Drop Frame Timecode Support for NTSC rates. Change 3942104 by Matt.Hoffman Sequence Recorder Group is no longer visible inside the World Outliner after using one. #jira 55266 Change 3942107 by Max.Chen Sequencer: Resurrect logic to find or extend an existing section when adding keys. Change 3942330 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942339 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942507 by Andrew.Rodham Sequencer: We no longer pad the time overlap threshold with a small number that is not scaled by the current zoom level - The presence of this pad was causing keys that were far apart to be grouped when zoomed in a long way Change 3942509 by Andrew.Rodham Sequencer: Only pad total view range, rather than section range as well when retrieving keys to render - This stops us from rendering keys that are within the view range, but outside the section range Change 3942512 by Andrew.Rodham Added transactions to some sequencer details customizations Change 3942513 by Andrew.Rodham Sequencer: Reinstated validation checks to UMovieSceneSection::SetStartFrame and SetEndFrame, changed erroneous uses to use SetRange Change 3942560 by Andrew.Rodham Pass by rvalue reference to appease error C2719 on Win32 ('InChannels': formal parameter with requested alignment of 8 won't be aligned) Change 3942697 by Andrew.Rodham Newly Created Level Sequences and Actor Sequences now default to 24000 fps frame resolution (+/- ~24hrs range, supporting all integer rates + 23.976) Change 3942700 by Andrew.Rodham Sequencer: Added legacy out-of-bounds errors for times that are not supported by the current legacy upgrade frame resolution Change 3942989 by Max.Preussner Core: Fixed circular queue count calculation Change 3943538 by Max.Preussner MediaAssets: Reverted workaround for procedural audio log spam in HTML5 (Actor component initialization cannot be skipped if the component is used in a level) Change 3944071 by Max.Preussner QAGame: Fixed Media Texture keeps last frame of Media when PIE ends #jira UE-53360 Change 3944292 by Max.Chen Sequencer: Added extra flags to ensure that asset initialization does not occur on template actor sequences #jira UE-56113 Change 3944364 by Max.Chen Sequencer: Prevent circular shot/master tracks. Tested adding master -> child -> master as drag and drop cinematic shot tracks and sub tracks as well as through the + button. #jira UE-56091 Change 3944422 by Max.Chen Sequence Recorder: Disable transform recording if off. #jira UE-56061 Change 3944745 by Andrew.Rodham Sequencer: Key rendering fixes - Fixed assert that occured when keys happened to reside on some times due to KeyTime + TimeOverlapThreshold - KeyTime being slightly larger TimeOverlapThreshold - Fixed keys sometimes being clipped when zoomed right in due to lack of half-frame offset - Added missing documentation to MovieSceneTimeHelpers.h #jira UE-56107 Change 3945231 by Andrew.Rodham Sequencer: Reconstruct channel proxy on Serialize to catch all cases of undo/redo, PostLoad and duplication #jira UE-56089 Change 3945301 by Andrew.Rodham Sequencer: Added safety checks during initial sequence recording to guard against applying negative or 0-sized sequence ranges #jira UE-56125 Change 3946627 by Max.Preussner Fortnite: Fixed game crashes closing editor while in PIE - Pure virtual function being called #jira UE-56144 [CL 3946896 by Max Chen in Main branch]
2018-03-14 22:09:33 -04:00
for (int32 Step = 1; Step < MinorDivisions; ++Step)
{
// Compute the size of each tick mark. If we are half way between to visible values display a slightly larger tick mark
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3946692) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3801826 by Max.Chen PR #4304: Level Sequence crash fix - Guarded against dereferencing null componen. (Contributed by DSDambuster) Change 3801828 by Max.Chen PR #4302: Movie Scene Visibility Template unitialised variable, causing random . (Contributed by DSDambuster) Change 3801837 by Max.Chen Sequencer: Delay spawning/construction for convert to possessable. This fixes a bug where property values would be lost when converting back and forth from possessable to spawnable. #jira UE-52400 Change 3801841 by Max.Chen Sequencer: Make spacer nodes not selectable. PR #4194: Improvements to Sequencer (Contributed by projectgheist) #jira UE-53117 #jira UE-52139 Change 3804183 by Max.Preussner MediaAssets: Added missing lock in media sound component Change 3805414 by Max.Preussner MediaAssets: Setting valid GUID when initializing media texture resource Change 3819578 by Max.Chen PR #4370: When enabling the "MovieCapture", do not turn off the Stereo-3D display. (Contributed by yehaike) #jira UE-53647 Change 3823414 by Max.Chen Curve Editor: Lock down the first and last keys in the redundant keys removal range so that they're unaffected. #jira UE-53591 Change 3826406 by Max.Chen Sequencer: Move OnStartedPlaying() to within first update in UpdateTimeCursorPosition(). This fixes an issue where setting the hud/player visibility was getting stomped on later. #jira UE-52772 Change 3827044 by Max.Preussner MediaAssets: Added sprite visualization to media sound component #jira UE-53594 Change 3827988 by Max.Preussner MediaPlayerAssets: Fixed Media Texture is not linked to Media Player when created together #jira UE-53532 Change 3828506 by Max.Preussner MediaPlayerEditor: Added attenuation visualizer for media sound components #jira UE-53594 Change 3832590 by andrew.porter EngineTest: Added a keep state check in Property Animation sequencer test Change 3833053 by andrew.porter EngineTest: Adding Hierarchical Bias test Change 3835683 by andrew.porter EngineTest: Adding UMG Animation screenshot test Change 3836076 by Max.Chen Sequencer: Fix audio volume and pitch multiplier deprecation. Change 3836230 by andrew.porter EngineTest: Adding Sequence Bone Position automation test Change 3836347 by Max.Chen Sequencer: Fixes to shot name parsing. When a shot doesn't contain a shot number, assume, [ShotName]_[TakeNumber]. When duplicating a shot, put the new shot in the same path of the original shot, so that the take numbers will increment properly. #jira UE-51868 Change 3836552 by Max.Chen Sequencer: Sub section now has a takes menu Change 3838094 by Max.Chen UMG: Fix template finish not getting called on stop. This fixes a bug where sections aren't restored when finished. #jira UE-52285 Change 3838708 by Max.Chen Sequencer: Add notification when the blend type is changed. #jira UE-54046 Change 3840295 by Max.Chen Sequencer: Fix copy/paste crash for lights #jira UE-54084 Change 3840957 by Mike.Zyracki Added Show Only Keyable and Show Only Animated to the filter list in the property editor. Added IsPropertyAnimated to IDetailKeyframe Interface which already had support for showing properties which are keyable (which is used for the key icon next to the properties.). Could have created another interface but then would have had to mimic the sequencer binding, releasing also, so this seemed best way. One issue still left is that custom built detail items currently don't store associated properties(usually) and so certain properties, in particulalry transforms, won't show up as keyable or animated. Note this also shows up with the keyable icon not showing up next to transform tracks, and other filters like Show Only Modified not working with transforms/customs. Not sure best way to tackle this. #jira UESEQ-328 Change 3841756 by Max.Chen Sequencer: Fix unbound possessable components when pasting spawnables. #jira UE-54104 Change 3843950 by andrew.porter EngineTest: Renaming LevelStreaming tests/content to LevelVisibility Change 3844082 by Mike.Zyracki Missing file for animated filter in property editor. When finding if a track is animated we need to find it but we can't easily induce the MovieTrack class for any particular property. So we don't set a class for it and just search by it's ID and name. #jira UESEQ-328 Change 3846902 by Max.Preussner ImgMedia: Fixed image media player never finished initialization if loading failed #jira UE-54247 Change 3849820 by Mike.Zyracki Reassigning deleted widgets didn't work since the menu extender mechanism needs a valid UObject in order to perform an operation on it. So to fix we replaced GetObjectBindingContextMenuExtender in WidgetBlueprint with new delegate mechanism (OnBuildCustomContextMenuForGuid) that supports FGuid in addition to UObjects which is needed to handle re-binding deleted widgets. Note that the default sequencer hacks this for replacing deleted actors in SequencerObjectBindingNode to check to see if a LevelSequence is active. We could move to this mechanism there also. #jira UE-53163 Change 3852211 by Max.Chen UMG: Indicate name of the property that is not bound. #jira UE-54350 Change 3854120 by Max.Chen Sequencer: Fix sibling folders being allowed to have the same folder name. #jira UE-54363 Change 3854627 by Max.Chen Sequencer: Step to next/previous key should work for all tracks if there aren't any selected. #jira UESEQ-391 Change 3855825 by andrew.porter EngineTest: Adding animation blending automation test Change 3855950 by andrew.porter EngineTest: Adding correct expected valuues to animation blending test Change 3856237 by Matt.Hoffman UESEQ-336 - Sequencer Track Reordering Adds the ability to re-order Master Tracks, Folders and Object Bindings within sequencer hierarchies (including UMG). Adds the ability to do a one-off sorting of the content under the old sorting behavior if the user wants to reset their layout to how it was under legacy behavior. Modifies SequencerTrackNodes, SequencerFolderNodes and SequencerObjectBindingNodes to handle CanDrop/OnDrop for above, below and ontop of. Fixes a Slate Issue that forcibly expanded a TreeviewRow if an item handled OnDrop. Slate will now only forcibly expand the row if the item says the drop happened ontop of the item, and not above or below it like it previously did. Change 3856503 by andrew.porter EngineTest: Adding automation test for using animation blueprint with blend multi node in sequencer Change 3857875 by Max.Chen Sequencer: Assign the sequence id after the template is compiled. #jira UE-54462 Change 3858344 by Max.Chen Sequencer: Prevent Goto and Transform boxes from overlapping by allowing them to be visible at the same time in an autosized horizontal box. Also, added close button to the goto box. PR #4425: Prevent Goto and Transform boxes from overlapping in Sequencer ... (Contributed by projectgheist) #jira UE-54210 Change 3860566 by andrew.porter MediaFrameworkTest: Set the option to index 0 for the audio and video track list by default Change 3860654 by andrew.porter EngineTest: Enabling Camera Cut + FOV test Change 3860981 by andrew.porter EngineTest: Updating skeletal mesh tests with a delay after set playback position Change 3861256 by Max.Chen Sequencer: Add all bindings if none selected. #jira-54440 Change 3862154 by Andrew.Rodham Added TimeManagement module Change 3862424 by andrew.porter EngineTest: Turned on the test Bone Positions with Blend Multi Node Change 3862573 by andrew.porter EngineTest: Adding test to compare bone positions in a sequence that is blending an animation that is using an AnimBP Change 3865117 by Max.Chen Sequencer: Stop auto scroll on mouse release of movement. #jira UE-31212 Change 3865303 by Max.Chen Sequencer: Add drag and drop transactions #jira UE-54662 Change 3865304 by Max.Chen Sequencer: Fix crash when an actor factory is not found. Change 3865361 by Max.Chen Sequencer: Don't change the camera/shot lock button when popping out of a sequence. #jira UE-54665 Change 3865412 by Max.Chen Sequencer: Determine whether a transform track is for a camera by using the spawned object or template #jira UE-54666 Change 3865685 by Max.Chen Sequencer: Clear autoscrub offset when stopping autoscroll #jira UE-31212 Change 3865886 by Max.Chen Sequence Recorder: Log an error if the number of frames changes while recording. This can happen if the skeleton changes while recording. #jira UE-48715 Change 3866925 by Andrew.Porter MediaFrameworkTest: Changing the current PNG test video image sequence to 1024 x 576 Change 3867705 by andrew.porter QAGame: Adding Audio Sort Sequence to dev folder Change 3867890 by andrew.porter QAGame: Adding a sequence for testing a sorting crash to my dev folder Change 3872628 by Max.Chen Movie Scene Capture: Split delay before warmup into split delay before shot warmup so that there's separate controls for when the movie scene capture warmups up vs. shot boundaries. Change 3873131 by Matt.Hoffman UE-54732 - Crash reordering a folder with a track. This was caused by folders being the only type of track to check if someone was putting a parent track into a child track. Object Binding tracks and Tracks now check as well so that you can't use the above/below drop targets to add parents as children. This also fixed a typo in the localization keys. #jira UE-54732 Change 3873301 by Mike.Zyracki Added ability to support continous euler angle changes when changing rotations, in particularly with the rotation gizmo's. To do this we effectively added a form an of 'euler filter'(https://en.wikipedia.org/wiki/Euler_filter) to find the closest euler angle to the current euler angle. Three functions were added to FRotator to make this possible, one to get the euler angle that's has the same rotation as it, one to get the difference between two euler angles via Manhattan distance and a third using the previous two to choose a Rotator value that's closest to it. We then use these functions before calling UComponent::SetRelativeRotation to make sure we use the correct Euler after the Quat conversion. We also no longer limit(bound) the euler angles to -180,180, which is obviously necessary to avoid flips. I also changed how we caluclate yaw and roll when pitch is -90 or 90 to make it the standard approach of zeroing out roll and just setting yaw. Main reasons are the previous implementation had precision issues so things like 180, 90, -180 would show up due to numbers being nearly zero but negative,(this would break any smooth interpolations), and this facilitates having a 'gimbal' rotation mode (like Maya, Blender etc..) if we ever want that also. If needed we could keep the previous implementation but would need to add some FMath::IsNearlyZero checks, with less performance. Note we only do this special filtering when applying delta's to actors or components in the editors, which then call UComponent::SetRelativeRotationExact, which is a new function to foces the RelativeRotation to be equal to the new rotation. This allows us to store un-nomalized Rotators at the cost that the RotationCache may be broken. We didn't change any of the other UComponent functions that set rotations (via Quats or Transforms) so they will still be bounded and unwound. In SetInternalWorldLocationAndRotation we only set the rotation if the rotation has changed, which fixes the rotation getting changed and re-normalized if just translate happens. In TransformTrackEditor, we correclty use the bUndwing flag and in MovieScene3DTransformSection there was an un-needed winding check there, it will be unwound earlier if needed, which happens if Sequence Recording is happening. Max we should talk about what to do about this . Note the euler angle drag via the widget is still bound to 0-360. I think we should just unbound that now since the rotations value are now unbound. This review now includes fixes suggested by Zak. #jira UE-UE-22228 Change 3873483 by Matt.Hoffman Sequencer Tracks can now be inserted above the spacer at the bottom of the tree. #jira UE-54706 Change 3873899 by Max.Chen Sequencer: Add section selection throbbing Change 3873908 by Max.Chen Movie Scene Capture: Added logging per frame Change 3873924 by Matt.Hoffman Adds the ability to store Sequence Recorder setups into profiles that stay with the map and can be re-loaded later. Profiles store the Actor Recordings so the settings for each actor should carry with them. #jira UESEQ-339 Change 3874726 by Matt.Hoffman Disable drag-and-drop targets on spacers that come between rows in Sequencer. This prevents extra drag/drop targets showing up between each row. #jira UE-54706 Change 3874862 by Matt.Hoffman Audio Track no longer gets reordered when adding sub-audio tracks, as sub-tracks are no longer counted towards the sorting order index when normalizing indexes. #jira UE-54727 Change 3875905 by Matt.Hoffman Disable Fade Track UI if a fade track already exists in the sequence. #jira UESEQ-393 Change 3876163 by Max.Chen Sequencer: Swap the camera object to the camera component's owner if it's not the same. #jira UE-54874 Change 3876971 by Andrew.Porter EngineTest: Moved Media Player Seek test to new folder. Also enabled the test with new ground truth image. Change 3877040 by Max.Chen Cine Camera: Split camera properties to two groups, "Camera Options" and "Camera Settings". The cine camera now hides properties in the "Camera Settings" group so that properties like bConstrainAspectRatio (in the "Camera Options" group) can be visible. #jira UE-54192 Change 3877763 by Max.Chen Curve Editor: Fix curve changed on end drag so that only curves that had keys/tangents that were changed receive notification, otherwise all loaded curves were getting notified that they were changed. #jira UE-54951 Change 3878234 by Matt.Hoffman Disable "Drop Below" targets for Sequencer Tree nodes to prevent a confusing UX issue where dropping underneath a Object Binding Node puts it after the object binding node but the UI looks like it's inserting it inside the Object Binding node. #jira UE-54743 Change 3879359 by Mike.Zyracki If a track is inactive we dim it a bit which seems to be the UE4 way to show inactive or disabled state. We changed the active logic so that all subtracks need to be inactive for the track to also be inactive(instead of all active for active). This conforms to how the active state actually works, e.g if you have two sections and only one is active the track is still active above it. #jira UESEQ-388 Change 3879462 by Max.Chen Sequencer: Allow dragging onto a particular row which would move out any overlapping sections to make space for the newly created section. Newly created sections are now selected and throbbed to draw attention to themselves. #jira UE-54664 Change 3879464 by Max.Chen Sequencer: Fixed overlapping ranges being inserted into the evaluation field during compilation - The issue was that track segments that had been combined with adjacent segments (due to them being identical) would potentially cause a subsequently compiled frame to overlap with a range that had already been inserted into the evaluation field. - The insertion code previously asserted that only minor overlaps were catered for (due to fp rounding errors) and assumed that a supplied range could not entirely contain any other range in the field. - The solution is to supply the insertion time along with the range to know exactly where the data should live in the field, and crop the range to the maximum allowable space between adjacent ranges. #jira UE-54922 Change 3879590 by Matt.Hoffman Items that are now added to the Sequencer via the "+Track" menu will be selected after being added. Items can now be added inside of folders instead of just to the root level. #jira UE-27397 Change 3879612 by Mike.Zyracki Display Nodes with no children are always active. #jira UESEQ-388 Change 3879730 by Matt.Hoffman Sequence Recorder's actor recording groups now remove items from the group when removed via the UI. #jira UESEQ-339 Change 3880256 by Mike.Zyracki Fix issue with inactive display with folders and other track nodes. #jira UESEQ-388 Change 3883491 by Max.Chen Fix issue where tick is skipped due to last ticked pose isn't cleared after AnimInstance changes. Copy from Release-4.19 #jira UE-51323 Change 3883603 by Max.Chen Movie Scene Capture: Add option toggle disable screen percentage. By default this is on (no change in current behavior). #jira UE-51898 Change 3885074 by Max.Preussner MediaCompositing: Resetting media texture & freeing resource on section end; removed dead code Change 3887220 by Max.Preussner MediaCompositing: Defaulted media section duration to 1 sec (since we do not know the actual duration in most cases) Change 3887478 by Matt.Hoffman Sequences now show [Inactive] in their title bars when they're disabled. This helps communicate why a sequence isn't being evaluated. #jira UE-51469 Change 3888985 by Max.Chen Movie Scene Capture: Clamp HDR Compression Quality between 0 and 1. #jira UE-55136 Change 3893519 by Max.Chen Sequence Recorder: Clarified tooltip for bRecordNearbySpawnedActors - spawned actors will still be recorded if they match the ActorFilter. #jira UE-55238 Change 3893546 by Max.Chen Sequence Recorder: If a selected actor already has a recording, add a blank recording. #jira UE-55239 Change 3894044 by Max.Preussner MediaCompositing: Added support for seeking into a media section Change 3894310 by andrew.porter MediaFrameworkTest: Adding Img media sources for 1080 and 2160 ravent test content Change 3894426 by Max.Preussner MediaAssets: Letting media textures with AutoClear retain their clear color when player is reset Change 3895717 by Max.Chen Sequencer: Null checks to prevent crash when saving the default state of a spawnable #jira UE-55304 Change 3897388 by Max.Chen Sequencer: Don't update current time to be within the view range when stepping into a sequence. #jira UE-55322 Change 3897452 by Max.Chen Audio: Fix crash when trying to record audio without any active capture devices. Log warning if the number of input channels is not 1 or 2. #jira UE-55223 Change 3897619 by Max.Preussner MediaCompositing: Removed commented out code Change 3898072 by Max.Chen Sequencer: Override the animation asset in the player state if it doesn't match the animation asset that's being evaluated. #jira UE-55328 Change 3898272 by Max.Preussner MediaPlayerEditor: Made slate brush constants static Change 3898704 by Max.Chen Sequencer: Skip if the binding id's sequence can't be found. #jira UE-55337 Change 3899855 by Max.Preussner MediaCompositingEditor: Added cache state visualization to media track Change 3900300 by Max.Preussner MediaCompositingEditor: Added loop indicators to media sections Change 3900694 by Max.Preussner ImfMedia: Looping cache only when player is looping Change 3900892 by Max.Preussner Stats: Added stats category for media framework Change 3900954 by Max.Preussner MediaCompositing: Don't evaluate at the end of media section Change 3901348 by Max.Preussner Core: Replaced TLruCache autos for better readability Change 3901655 by Max.Preussner ImgMedia: Added more perf stats to EXR reader Change 3901972 by Max.Preussner MediaAssets: Added getter for media player in media sound components Change 3902233 by Max.Preussner MediaAssets: Enabling media textures to receive samples right after player is assigned Change 3902238 by Max.Preussner MediaCompositing: Working around init/shutdown idiosyncracies in sequencer Change 3904045 by Max.Chen Sequencer: Fix copy/paste crash. Only process UMovieSceneCopyableBinding and objects that can be spawned by the movie scene spawn register. #jira UE-55314 Change 3905605 by Max.Chen Sequencer: Restrict spawnables from being created if they have a ClassWithin that UMovieScene is not a child of. #jira UE-55429 Change 3906550 by Max.Chen Sequencer: Add media track icon #jira UE-55480 Change 3907101 by Max.Chen Sequence Recorder: Fix bugs related to not recording a level sequence. There were certain assumptions that creating a level sequence meant that sequence recording was in progress. This is not always the case - the recorders can record animation assets and not create a level sequence. Changed the notion of IsRecording() to having at least one actor recording that is recording. Countdown timer, recording displays, etc should function if IsRecording() and not based on whether a level sequence is created. #jira UE-55485 Change 3907247 by Max.Chen Sequence Recorder: Fix crash not removing PrepareToCleanseEditorObject delegate. Repros when opening sequence recorder, closing it, and then opening or creating a level. Change 3910343 by Max.Preussner Core: Added async helper for executing functions on a given thread pool Change 3910346 by Max.Preussner ImgMedia: Added separate thread pools for loading/decoding and deleting image frames Change 3910829 by Max.Preussner Profiler: Increased visible range of profiler graph Change 3910841 by Max.Preussner MediaCompositing: Displaying asset name instead of full media source path in media section Change 3910870 by Max.Preussner ImgMedia: Using deallocation thread pool only in debug builds Change 3919642 by Max.Chen Sequence Recorder: Clarify active tooltip #jira UE-55661 Change 3919660 by Max.Chen Sequencer: Sequence template source signatures are now also compared to catch the case where a sub-sequence asset has been saved but not modified - The following sequence of events exposes this issue: - Create a master sequence with a single shot that spawns a cube - Add this sequence to a level and set it to auto-play - Save everything and restart - Resave just the inner shot asset without opening it - PIE - The inner shot never spawns its cube because its template was wiped on save, but its signature never changed. Since the master sequence previously didn't check the template source signature, it ends up trying to evaluate an empty template. #jira UE-55626 #jira UE-55490 Change 3921825 by Max.Chen Sequencer: "Run Construction Script in Sequencer" is off by default for blueprints but on for Sequencer. This allows the content author to switch it on for specific blueprints and sequencer will be default, run those with construction scripts enabled. Change 3922232 by Max.Chen Sequence Recorder: Reset countdelay on stop. #jira UE-55755 Change 3922306 by Max.Chen Sequence Recorder: Don't automatically mark transforms to be recorded by sequence recorder. Instead, log a warning if the user toggled it off to warn that the resulting animation might not match gameplay. #jira UE-55758 Change 3922912 by Max.Chen Sequence Recorder: Fix refresh next sequence name #jira UE-55757 Change 3927654 by Max.Chen Movie Scene Capture: Added format mapping for the name of the current camera #jira UE-55769 PR #4537 Change 3927658 by Max.Chen Sequencer: Added fbx property mapping for "FocusDistance" to "FocusSettings.ManualFocusDistance" #jira UE-55782 Change 3932022 by Max.Chen Sequencer: Add import animation track section to next available row index. #jira UE-55892 Change 3933919 by Max.Chen Sequencer: Jump to playback start frame and not 0 to start playback for recording. #jira UE-55933 Change 3934307 by Andrew.Rodham Sequencer: Add template signature that is re-generated every time the base template is regenerated, which invalidates evaluation fields This fixes an issue where the same sequence is instantiated multiple times in a sequence. If the source sequence was saved, its template would be wiped, which would invalidate the template ID When an instance tries to evaluate the master template, it would only invalidate a range in the evaluation field that was the hull of any invalid sub sequences overlapping the current time, potentially leaving invalid data in the evaluation field at positions later (or earlier) on in the sequence When the sub template was re-generated, it receives the same SequenceSignature as it had before (because the sequence hasn't actually changed), which causes the stale evaluation field data to fail the IsDirty check (because the sequence is the same as it thought, but the *template* has changed) This has been addressed be adding a signature to templates themselves, and checking both the template signature and sequence signature as a part of the IsDirty check. This ensures that we regenerate if either the template, or the sequence have changed. #jira UE-55934 Change 3936327 by Andrew.Rodham Sequencer: Removed increment when trimming right UMovieSceneSection::TrimSection already explicity assigns an exclusive bound to the time passed in. The new behavior means we can trim a section to the right, and insert another section without changing the time to create adjacent sections. #jira UE-42652 Change 3936328 by Andrew.Rodham Fixed KeyFrameManipulator assignment operators and copy/move constructors - These types are potentially self-referential so cannot use default constructors/assignment Change 3936330 by Andrew.Rodham Converted UMGSequencePlayer to use frames internally #jira UE-54878 Change 3936726 by Max.Chen Sequencer: Set track node as the parent of the key area node. The key area switcher needs the object binding id from the parent object binding node. Without this, the binding to the external value fails. #jira UE-55931 Change 3936775 by Max.Chen Sequencer: Should stop or loop should compare DurationFrames with Current Time from StartTime. The bug is that if you set 30 warmup frames in movie rendering for a range of 0-100, the FrameRange will be starting at -30 and have a duration of 130. Without this fix, the playback will continue until frame 130, rather than 100. #jira UE-55933 Change 3936935 by Matt.Hoffman Easing Curves are now represented in Play Rate resolution instead of internal resolution. #jira UE-55937 Change 3937069 by Matt.Hoffman Users can toggle if the is infinite on each side, limited by which tracks support infinite ranges. #jira UE-55891 Change 3937516 by Max.Preussner ImgMedia: Added support for single-threaded platforms #jira UE-55986 Change 3937826 by Max.Preussner MediaAssets: Disabling media sound components on HTML5 if AudioMixer is not enabled Change 3937997 by Max.Chen Curve Editor: Add Zoom to Fit Curves so that selected curves from Sequencer can be focused on. Tested that undo doesn't re-zoom. #jira UE-55935 Change 3938000 by Max.Chen Sequencer: Stop all sounds before generating audio waveforms. #jira UE-55951 Change 3938376 by Max.Preussner XGEController: Disabled XGE Controller in single-threaded apps to prevent crash Change 3938444 by Max.Preussner Core: Added async support for single-threaded applications Change 3938445 by Max.Preussner Networking: Added support for single-threaded applications in UDP socket sender/receiver Change 3938447 by Max.Preussner Messaging: Added support for single-threaded applications Change 3939432 by Max.Chen Sequence Recorder: Append command list to global level editor actions so that shortcuts are accessible in level editor. #jira UE-55798 Change 3940229 by Andrew.Rodham Added prospective display rate upgrade to UMovieScene::PostLoad - There was previously some very odd behaviour that would assign the fixed frame interval only when a sub sequence was focused in SSequencer. This meant that many sequences could have a frame interval of 0 set in the data. - Under the old method of snap interval display this would have fallen back to getting the display interval from the sequencer settings, but we no longer look at these. - The USequencerSettings properties have been removed and in their place, a prospective data upgrade for sequences that have a fixed frame interval old 0fps that sets the play rate to the previous defaults based off the old USequencerSettings defaults. - This could end up 'changing' the display rate for sequences where the user has changed the snap interval in the settings for a particular sequence editor, but there's not much we can do about that given we don't have access to the USequencerSettings classes in UMovieScene #jira UE-55919 Change 3940277 by Andrew.Rodham Sequencer: Added ability to default frame resolutions and play rates for newly created actor sequences Change 3940378 by Andrew.Rodham Sequencer: Post move import dialog now defaults to the playback framerate of the sequence, and floors to frame numbers Change 3940559 by Andrew.Rodham Reinstated primed or recording sequence color Change 3940642 by Max.Preussner ImagePlate: Removed image plate media playback functionality Change 3940843 by Max.Preussner Core: Made TCircularQueue actually thread-safe; improved code comments Change 3940860 by Max.Chen Sequencer: Changed StructNameToKey to StructPathToKey Previously, keying a PropertyPath of [RenderTransform][Shear][X] would get trimmed to X, which doesn't map to a channel name as considered by Sequencer2dTransformTrackEditor. Instead, trim the resulting property path to [Shear][X] so that track editors can determine the desired struct path and channels to key. #jira UE-52966 Change 3941292 by Mike.Zyracki Fix for trajectories out of range not showing up. 1) If we had no key data we would pop the time, so wouldn't get the section ranges. 2) Calculating of upper bound was wrong, checking against -1 and not key == num of keys when doing algo::lower_bound. 3) No need to do the Bck-- for the bakward iterators since we fixed #2. We start now from the upper bound correctly. 4) If we had no keys (at section start,end) we would incorrectly say we were any key type, so since we draw constant keys as dashed we would do so incorrectly around section end points. #jira UE-55929 Change 3941424 by Max.Chen Curve Editor: Change Zoom to Fit to use TArrayView Change 3941498 by Max.Preussner Core: Added FMath::DivideAndRoundNearest function Change 3942097 by Matt.Hoffman Drop Frame Timecode Support for NTSC rates. Change 3942104 by Matt.Hoffman Sequence Recorder Group is no longer visible inside the World Outliner after using one. #jira 55266 Change 3942107 by Max.Chen Sequencer: Resurrect logic to find or extend an existing section when adding keys. Change 3942330 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942339 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942507 by Andrew.Rodham Sequencer: We no longer pad the time overlap threshold with a small number that is not scaled by the current zoom level - The presence of this pad was causing keys that were far apart to be grouped when zoomed in a long way Change 3942509 by Andrew.Rodham Sequencer: Only pad total view range, rather than section range as well when retrieving keys to render - This stops us from rendering keys that are within the view range, but outside the section range Change 3942512 by Andrew.Rodham Added transactions to some sequencer details customizations Change 3942513 by Andrew.Rodham Sequencer: Reinstated validation checks to UMovieSceneSection::SetStartFrame and SetEndFrame, changed erroneous uses to use SetRange Change 3942560 by Andrew.Rodham Pass by rvalue reference to appease error C2719 on Win32 ('InChannels': formal parameter with requested alignment of 8 won't be aligned) Change 3942697 by Andrew.Rodham Newly Created Level Sequences and Actor Sequences now default to 24000 fps frame resolution (+/- ~24hrs range, supporting all integer rates + 23.976) Change 3942700 by Andrew.Rodham Sequencer: Added legacy out-of-bounds errors for times that are not supported by the current legacy upgrade frame resolution Change 3942989 by Max.Preussner Core: Fixed circular queue count calculation Change 3943538 by Max.Preussner MediaAssets: Reverted workaround for procedural audio log spam in HTML5 (Actor component initialization cannot be skipped if the component is used in a level) Change 3944071 by Max.Preussner QAGame: Fixed Media Texture keeps last frame of Media when PIE ends #jira UE-53360 Change 3944292 by Max.Chen Sequencer: Added extra flags to ensure that asset initialization does not occur on template actor sequences #jira UE-56113 Change 3944364 by Max.Chen Sequencer: Prevent circular shot/master tracks. Tested adding master -> child -> master as drag and drop cinematic shot tracks and sub tracks as well as through the + button. #jira UE-56091 Change 3944422 by Max.Chen Sequence Recorder: Disable transform recording if off. #jira UE-56061 Change 3944745 by Andrew.Rodham Sequencer: Key rendering fixes - Fixed assert that occured when keys happened to reside on some times due to KeyTime + TimeOverlapThreshold - KeyTime being slightly larger TimeOverlapThreshold - Fixed keys sometimes being clipped when zoomed right in due to lack of half-frame offset - Added missing documentation to MovieSceneTimeHelpers.h #jira UE-56107 Change 3945231 by Andrew.Rodham Sequencer: Reconstruct channel proxy on Serialize to catch all cases of undo/redo, PostLoad and duplication #jira UE-56089 Change 3945301 by Andrew.Rodham Sequencer: Added safety checks during initial sequence recording to guard against applying negative or 0-sized sequence ranges #jira UE-56125 Change 3946627 by Max.Preussner Fortnite: Fixed game crashes closing editor while in PIE - Pure virtual function being called #jira UE-56144 [CL 3946896 by Max Chen in Main branch]
2018-03-14 22:09:33 -04:00
const float MinorTickHeight = ( (MinorDivisions % 2 == 0) && (Step % (MinorDivisions/2)) == 0 ) ? 6.0f : 2.0f;
const float MinorLinePx = RangeToScreen.InputToLocalX( CurrentMajorLine + Step*MajorGridStep/MinorDivisions );
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3946692) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3801826 by Max.Chen PR #4304: Level Sequence crash fix - Guarded against dereferencing null componen. (Contributed by DSDambuster) Change 3801828 by Max.Chen PR #4302: Movie Scene Visibility Template unitialised variable, causing random . (Contributed by DSDambuster) Change 3801837 by Max.Chen Sequencer: Delay spawning/construction for convert to possessable. This fixes a bug where property values would be lost when converting back and forth from possessable to spawnable. #jira UE-52400 Change 3801841 by Max.Chen Sequencer: Make spacer nodes not selectable. PR #4194: Improvements to Sequencer (Contributed by projectgheist) #jira UE-53117 #jira UE-52139 Change 3804183 by Max.Preussner MediaAssets: Added missing lock in media sound component Change 3805414 by Max.Preussner MediaAssets: Setting valid GUID when initializing media texture resource Change 3819578 by Max.Chen PR #4370: When enabling the "MovieCapture", do not turn off the Stereo-3D display. (Contributed by yehaike) #jira UE-53647 Change 3823414 by Max.Chen Curve Editor: Lock down the first and last keys in the redundant keys removal range so that they're unaffected. #jira UE-53591 Change 3826406 by Max.Chen Sequencer: Move OnStartedPlaying() to within first update in UpdateTimeCursorPosition(). This fixes an issue where setting the hud/player visibility was getting stomped on later. #jira UE-52772 Change 3827044 by Max.Preussner MediaAssets: Added sprite visualization to media sound component #jira UE-53594 Change 3827988 by Max.Preussner MediaPlayerAssets: Fixed Media Texture is not linked to Media Player when created together #jira UE-53532 Change 3828506 by Max.Preussner MediaPlayerEditor: Added attenuation visualizer for media sound components #jira UE-53594 Change 3832590 by andrew.porter EngineTest: Added a keep state check in Property Animation sequencer test Change 3833053 by andrew.porter EngineTest: Adding Hierarchical Bias test Change 3835683 by andrew.porter EngineTest: Adding UMG Animation screenshot test Change 3836076 by Max.Chen Sequencer: Fix audio volume and pitch multiplier deprecation. Change 3836230 by andrew.porter EngineTest: Adding Sequence Bone Position automation test Change 3836347 by Max.Chen Sequencer: Fixes to shot name parsing. When a shot doesn't contain a shot number, assume, [ShotName]_[TakeNumber]. When duplicating a shot, put the new shot in the same path of the original shot, so that the take numbers will increment properly. #jira UE-51868 Change 3836552 by Max.Chen Sequencer: Sub section now has a takes menu Change 3838094 by Max.Chen UMG: Fix template finish not getting called on stop. This fixes a bug where sections aren't restored when finished. #jira UE-52285 Change 3838708 by Max.Chen Sequencer: Add notification when the blend type is changed. #jira UE-54046 Change 3840295 by Max.Chen Sequencer: Fix copy/paste crash for lights #jira UE-54084 Change 3840957 by Mike.Zyracki Added Show Only Keyable and Show Only Animated to the filter list in the property editor. Added IsPropertyAnimated to IDetailKeyframe Interface which already had support for showing properties which are keyable (which is used for the key icon next to the properties.). Could have created another interface but then would have had to mimic the sequencer binding, releasing also, so this seemed best way. One issue still left is that custom built detail items currently don't store associated properties(usually) and so certain properties, in particulalry transforms, won't show up as keyable or animated. Note this also shows up with the keyable icon not showing up next to transform tracks, and other filters like Show Only Modified not working with transforms/customs. Not sure best way to tackle this. #jira UESEQ-328 Change 3841756 by Max.Chen Sequencer: Fix unbound possessable components when pasting spawnables. #jira UE-54104 Change 3843950 by andrew.porter EngineTest: Renaming LevelStreaming tests/content to LevelVisibility Change 3844082 by Mike.Zyracki Missing file for animated filter in property editor. When finding if a track is animated we need to find it but we can't easily induce the MovieTrack class for any particular property. So we don't set a class for it and just search by it's ID and name. #jira UESEQ-328 Change 3846902 by Max.Preussner ImgMedia: Fixed image media player never finished initialization if loading failed #jira UE-54247 Change 3849820 by Mike.Zyracki Reassigning deleted widgets didn't work since the menu extender mechanism needs a valid UObject in order to perform an operation on it. So to fix we replaced GetObjectBindingContextMenuExtender in WidgetBlueprint with new delegate mechanism (OnBuildCustomContextMenuForGuid) that supports FGuid in addition to UObjects which is needed to handle re-binding deleted widgets. Note that the default sequencer hacks this for replacing deleted actors in SequencerObjectBindingNode to check to see if a LevelSequence is active. We could move to this mechanism there also. #jira UE-53163 Change 3852211 by Max.Chen UMG: Indicate name of the property that is not bound. #jira UE-54350 Change 3854120 by Max.Chen Sequencer: Fix sibling folders being allowed to have the same folder name. #jira UE-54363 Change 3854627 by Max.Chen Sequencer: Step to next/previous key should work for all tracks if there aren't any selected. #jira UESEQ-391 Change 3855825 by andrew.porter EngineTest: Adding animation blending automation test Change 3855950 by andrew.porter EngineTest: Adding correct expected valuues to animation blending test Change 3856237 by Matt.Hoffman UESEQ-336 - Sequencer Track Reordering Adds the ability to re-order Master Tracks, Folders and Object Bindings within sequencer hierarchies (including UMG). Adds the ability to do a one-off sorting of the content under the old sorting behavior if the user wants to reset their layout to how it was under legacy behavior. Modifies SequencerTrackNodes, SequencerFolderNodes and SequencerObjectBindingNodes to handle CanDrop/OnDrop for above, below and ontop of. Fixes a Slate Issue that forcibly expanded a TreeviewRow if an item handled OnDrop. Slate will now only forcibly expand the row if the item says the drop happened ontop of the item, and not above or below it like it previously did. Change 3856503 by andrew.porter EngineTest: Adding automation test for using animation blueprint with blend multi node in sequencer Change 3857875 by Max.Chen Sequencer: Assign the sequence id after the template is compiled. #jira UE-54462 Change 3858344 by Max.Chen Sequencer: Prevent Goto and Transform boxes from overlapping by allowing them to be visible at the same time in an autosized horizontal box. Also, added close button to the goto box. PR #4425: Prevent Goto and Transform boxes from overlapping in Sequencer ... (Contributed by projectgheist) #jira UE-54210 Change 3860566 by andrew.porter MediaFrameworkTest: Set the option to index 0 for the audio and video track list by default Change 3860654 by andrew.porter EngineTest: Enabling Camera Cut + FOV test Change 3860981 by andrew.porter EngineTest: Updating skeletal mesh tests with a delay after set playback position Change 3861256 by Max.Chen Sequencer: Add all bindings if none selected. #jira-54440 Change 3862154 by Andrew.Rodham Added TimeManagement module Change 3862424 by andrew.porter EngineTest: Turned on the test Bone Positions with Blend Multi Node Change 3862573 by andrew.porter EngineTest: Adding test to compare bone positions in a sequence that is blending an animation that is using an AnimBP Change 3865117 by Max.Chen Sequencer: Stop auto scroll on mouse release of movement. #jira UE-31212 Change 3865303 by Max.Chen Sequencer: Add drag and drop transactions #jira UE-54662 Change 3865304 by Max.Chen Sequencer: Fix crash when an actor factory is not found. Change 3865361 by Max.Chen Sequencer: Don't change the camera/shot lock button when popping out of a sequence. #jira UE-54665 Change 3865412 by Max.Chen Sequencer: Determine whether a transform track is for a camera by using the spawned object or template #jira UE-54666 Change 3865685 by Max.Chen Sequencer: Clear autoscrub offset when stopping autoscroll #jira UE-31212 Change 3865886 by Max.Chen Sequence Recorder: Log an error if the number of frames changes while recording. This can happen if the skeleton changes while recording. #jira UE-48715 Change 3866925 by Andrew.Porter MediaFrameworkTest: Changing the current PNG test video image sequence to 1024 x 576 Change 3867705 by andrew.porter QAGame: Adding Audio Sort Sequence to dev folder Change 3867890 by andrew.porter QAGame: Adding a sequence for testing a sorting crash to my dev folder Change 3872628 by Max.Chen Movie Scene Capture: Split delay before warmup into split delay before shot warmup so that there's separate controls for when the movie scene capture warmups up vs. shot boundaries. Change 3873131 by Matt.Hoffman UE-54732 - Crash reordering a folder with a track. This was caused by folders being the only type of track to check if someone was putting a parent track into a child track. Object Binding tracks and Tracks now check as well so that you can't use the above/below drop targets to add parents as children. This also fixed a typo in the localization keys. #jira UE-54732 Change 3873301 by Mike.Zyracki Added ability to support continous euler angle changes when changing rotations, in particularly with the rotation gizmo's. To do this we effectively added a form an of 'euler filter'(https://en.wikipedia.org/wiki/Euler_filter) to find the closest euler angle to the current euler angle. Three functions were added to FRotator to make this possible, one to get the euler angle that's has the same rotation as it, one to get the difference between two euler angles via Manhattan distance and a third using the previous two to choose a Rotator value that's closest to it. We then use these functions before calling UComponent::SetRelativeRotation to make sure we use the correct Euler after the Quat conversion. We also no longer limit(bound) the euler angles to -180,180, which is obviously necessary to avoid flips. I also changed how we caluclate yaw and roll when pitch is -90 or 90 to make it the standard approach of zeroing out roll and just setting yaw. Main reasons are the previous implementation had precision issues so things like 180, 90, -180 would show up due to numbers being nearly zero but negative,(this would break any smooth interpolations), and this facilitates having a 'gimbal' rotation mode (like Maya, Blender etc..) if we ever want that also. If needed we could keep the previous implementation but would need to add some FMath::IsNearlyZero checks, with less performance. Note we only do this special filtering when applying delta's to actors or components in the editors, which then call UComponent::SetRelativeRotationExact, which is a new function to foces the RelativeRotation to be equal to the new rotation. This allows us to store un-nomalized Rotators at the cost that the RotationCache may be broken. We didn't change any of the other UComponent functions that set rotations (via Quats or Transforms) so they will still be bounded and unwound. In SetInternalWorldLocationAndRotation we only set the rotation if the rotation has changed, which fixes the rotation getting changed and re-normalized if just translate happens. In TransformTrackEditor, we correclty use the bUndwing flag and in MovieScene3DTransformSection there was an un-needed winding check there, it will be unwound earlier if needed, which happens if Sequence Recording is happening. Max we should talk about what to do about this . Note the euler angle drag via the widget is still bound to 0-360. I think we should just unbound that now since the rotations value are now unbound. This review now includes fixes suggested by Zak. #jira UE-UE-22228 Change 3873483 by Matt.Hoffman Sequencer Tracks can now be inserted above the spacer at the bottom of the tree. #jira UE-54706 Change 3873899 by Max.Chen Sequencer: Add section selection throbbing Change 3873908 by Max.Chen Movie Scene Capture: Added logging per frame Change 3873924 by Matt.Hoffman Adds the ability to store Sequence Recorder setups into profiles that stay with the map and can be re-loaded later. Profiles store the Actor Recordings so the settings for each actor should carry with them. #jira UESEQ-339 Change 3874726 by Matt.Hoffman Disable drag-and-drop targets on spacers that come between rows in Sequencer. This prevents extra drag/drop targets showing up between each row. #jira UE-54706 Change 3874862 by Matt.Hoffman Audio Track no longer gets reordered when adding sub-audio tracks, as sub-tracks are no longer counted towards the sorting order index when normalizing indexes. #jira UE-54727 Change 3875905 by Matt.Hoffman Disable Fade Track UI if a fade track already exists in the sequence. #jira UESEQ-393 Change 3876163 by Max.Chen Sequencer: Swap the camera object to the camera component's owner if it's not the same. #jira UE-54874 Change 3876971 by Andrew.Porter EngineTest: Moved Media Player Seek test to new folder. Also enabled the test with new ground truth image. Change 3877040 by Max.Chen Cine Camera: Split camera properties to two groups, "Camera Options" and "Camera Settings". The cine camera now hides properties in the "Camera Settings" group so that properties like bConstrainAspectRatio (in the "Camera Options" group) can be visible. #jira UE-54192 Change 3877763 by Max.Chen Curve Editor: Fix curve changed on end drag so that only curves that had keys/tangents that were changed receive notification, otherwise all loaded curves were getting notified that they were changed. #jira UE-54951 Change 3878234 by Matt.Hoffman Disable "Drop Below" targets for Sequencer Tree nodes to prevent a confusing UX issue where dropping underneath a Object Binding Node puts it after the object binding node but the UI looks like it's inserting it inside the Object Binding node. #jira UE-54743 Change 3879359 by Mike.Zyracki If a track is inactive we dim it a bit which seems to be the UE4 way to show inactive or disabled state. We changed the active logic so that all subtracks need to be inactive for the track to also be inactive(instead of all active for active). This conforms to how the active state actually works, e.g if you have two sections and only one is active the track is still active above it. #jira UESEQ-388 Change 3879462 by Max.Chen Sequencer: Allow dragging onto a particular row which would move out any overlapping sections to make space for the newly created section. Newly created sections are now selected and throbbed to draw attention to themselves. #jira UE-54664 Change 3879464 by Max.Chen Sequencer: Fixed overlapping ranges being inserted into the evaluation field during compilation - The issue was that track segments that had been combined with adjacent segments (due to them being identical) would potentially cause a subsequently compiled frame to overlap with a range that had already been inserted into the evaluation field. - The insertion code previously asserted that only minor overlaps were catered for (due to fp rounding errors) and assumed that a supplied range could not entirely contain any other range in the field. - The solution is to supply the insertion time along with the range to know exactly where the data should live in the field, and crop the range to the maximum allowable space between adjacent ranges. #jira UE-54922 Change 3879590 by Matt.Hoffman Items that are now added to the Sequencer via the "+Track" menu will be selected after being added. Items can now be added inside of folders instead of just to the root level. #jira UE-27397 Change 3879612 by Mike.Zyracki Display Nodes with no children are always active. #jira UESEQ-388 Change 3879730 by Matt.Hoffman Sequence Recorder's actor recording groups now remove items from the group when removed via the UI. #jira UESEQ-339 Change 3880256 by Mike.Zyracki Fix issue with inactive display with folders and other track nodes. #jira UESEQ-388 Change 3883491 by Max.Chen Fix issue where tick is skipped due to last ticked pose isn't cleared after AnimInstance changes. Copy from Release-4.19 #jira UE-51323 Change 3883603 by Max.Chen Movie Scene Capture: Add option toggle disable screen percentage. By default this is on (no change in current behavior). #jira UE-51898 Change 3885074 by Max.Preussner MediaCompositing: Resetting media texture & freeing resource on section end; removed dead code Change 3887220 by Max.Preussner MediaCompositing: Defaulted media section duration to 1 sec (since we do not know the actual duration in most cases) Change 3887478 by Matt.Hoffman Sequences now show [Inactive] in their title bars when they're disabled. This helps communicate why a sequence isn't being evaluated. #jira UE-51469 Change 3888985 by Max.Chen Movie Scene Capture: Clamp HDR Compression Quality between 0 and 1. #jira UE-55136 Change 3893519 by Max.Chen Sequence Recorder: Clarified tooltip for bRecordNearbySpawnedActors - spawned actors will still be recorded if they match the ActorFilter. #jira UE-55238 Change 3893546 by Max.Chen Sequence Recorder: If a selected actor already has a recording, add a blank recording. #jira UE-55239 Change 3894044 by Max.Preussner MediaCompositing: Added support for seeking into a media section Change 3894310 by andrew.porter MediaFrameworkTest: Adding Img media sources for 1080 and 2160 ravent test content Change 3894426 by Max.Preussner MediaAssets: Letting media textures with AutoClear retain their clear color when player is reset Change 3895717 by Max.Chen Sequencer: Null checks to prevent crash when saving the default state of a spawnable #jira UE-55304 Change 3897388 by Max.Chen Sequencer: Don't update current time to be within the view range when stepping into a sequence. #jira UE-55322 Change 3897452 by Max.Chen Audio: Fix crash when trying to record audio without any active capture devices. Log warning if the number of input channels is not 1 or 2. #jira UE-55223 Change 3897619 by Max.Preussner MediaCompositing: Removed commented out code Change 3898072 by Max.Chen Sequencer: Override the animation asset in the player state if it doesn't match the animation asset that's being evaluated. #jira UE-55328 Change 3898272 by Max.Preussner MediaPlayerEditor: Made slate brush constants static Change 3898704 by Max.Chen Sequencer: Skip if the binding id's sequence can't be found. #jira UE-55337 Change 3899855 by Max.Preussner MediaCompositingEditor: Added cache state visualization to media track Change 3900300 by Max.Preussner MediaCompositingEditor: Added loop indicators to media sections Change 3900694 by Max.Preussner ImfMedia: Looping cache only when player is looping Change 3900892 by Max.Preussner Stats: Added stats category for media framework Change 3900954 by Max.Preussner MediaCompositing: Don't evaluate at the end of media section Change 3901348 by Max.Preussner Core: Replaced TLruCache autos for better readability Change 3901655 by Max.Preussner ImgMedia: Added more perf stats to EXR reader Change 3901972 by Max.Preussner MediaAssets: Added getter for media player in media sound components Change 3902233 by Max.Preussner MediaAssets: Enabling media textures to receive samples right after player is assigned Change 3902238 by Max.Preussner MediaCompositing: Working around init/shutdown idiosyncracies in sequencer Change 3904045 by Max.Chen Sequencer: Fix copy/paste crash. Only process UMovieSceneCopyableBinding and objects that can be spawned by the movie scene spawn register. #jira UE-55314 Change 3905605 by Max.Chen Sequencer: Restrict spawnables from being created if they have a ClassWithin that UMovieScene is not a child of. #jira UE-55429 Change 3906550 by Max.Chen Sequencer: Add media track icon #jira UE-55480 Change 3907101 by Max.Chen Sequence Recorder: Fix bugs related to not recording a level sequence. There were certain assumptions that creating a level sequence meant that sequence recording was in progress. This is not always the case - the recorders can record animation assets and not create a level sequence. Changed the notion of IsRecording() to having at least one actor recording that is recording. Countdown timer, recording displays, etc should function if IsRecording() and not based on whether a level sequence is created. #jira UE-55485 Change 3907247 by Max.Chen Sequence Recorder: Fix crash not removing PrepareToCleanseEditorObject delegate. Repros when opening sequence recorder, closing it, and then opening or creating a level. Change 3910343 by Max.Preussner Core: Added async helper for executing functions on a given thread pool Change 3910346 by Max.Preussner ImgMedia: Added separate thread pools for loading/decoding and deleting image frames Change 3910829 by Max.Preussner Profiler: Increased visible range of profiler graph Change 3910841 by Max.Preussner MediaCompositing: Displaying asset name instead of full media source path in media section Change 3910870 by Max.Preussner ImgMedia: Using deallocation thread pool only in debug builds Change 3919642 by Max.Chen Sequence Recorder: Clarify active tooltip #jira UE-55661 Change 3919660 by Max.Chen Sequencer: Sequence template source signatures are now also compared to catch the case where a sub-sequence asset has been saved but not modified - The following sequence of events exposes this issue: - Create a master sequence with a single shot that spawns a cube - Add this sequence to a level and set it to auto-play - Save everything and restart - Resave just the inner shot asset without opening it - PIE - The inner shot never spawns its cube because its template was wiped on save, but its signature never changed. Since the master sequence previously didn't check the template source signature, it ends up trying to evaluate an empty template. #jira UE-55626 #jira UE-55490 Change 3921825 by Max.Chen Sequencer: "Run Construction Script in Sequencer" is off by default for blueprints but on for Sequencer. This allows the content author to switch it on for specific blueprints and sequencer will be default, run those with construction scripts enabled. Change 3922232 by Max.Chen Sequence Recorder: Reset countdelay on stop. #jira UE-55755 Change 3922306 by Max.Chen Sequence Recorder: Don't automatically mark transforms to be recorded by sequence recorder. Instead, log a warning if the user toggled it off to warn that the resulting animation might not match gameplay. #jira UE-55758 Change 3922912 by Max.Chen Sequence Recorder: Fix refresh next sequence name #jira UE-55757 Change 3927654 by Max.Chen Movie Scene Capture: Added format mapping for the name of the current camera #jira UE-55769 PR #4537 Change 3927658 by Max.Chen Sequencer: Added fbx property mapping for "FocusDistance" to "FocusSettings.ManualFocusDistance" #jira UE-55782 Change 3932022 by Max.Chen Sequencer: Add import animation track section to next available row index. #jira UE-55892 Change 3933919 by Max.Chen Sequencer: Jump to playback start frame and not 0 to start playback for recording. #jira UE-55933 Change 3934307 by Andrew.Rodham Sequencer: Add template signature that is re-generated every time the base template is regenerated, which invalidates evaluation fields This fixes an issue where the same sequence is instantiated multiple times in a sequence. If the source sequence was saved, its template would be wiped, which would invalidate the template ID When an instance tries to evaluate the master template, it would only invalidate a range in the evaluation field that was the hull of any invalid sub sequences overlapping the current time, potentially leaving invalid data in the evaluation field at positions later (or earlier) on in the sequence When the sub template was re-generated, it receives the same SequenceSignature as it had before (because the sequence hasn't actually changed), which causes the stale evaluation field data to fail the IsDirty check (because the sequence is the same as it thought, but the *template* has changed) This has been addressed be adding a signature to templates themselves, and checking both the template signature and sequence signature as a part of the IsDirty check. This ensures that we regenerate if either the template, or the sequence have changed. #jira UE-55934 Change 3936327 by Andrew.Rodham Sequencer: Removed increment when trimming right UMovieSceneSection::TrimSection already explicity assigns an exclusive bound to the time passed in. The new behavior means we can trim a section to the right, and insert another section without changing the time to create adjacent sections. #jira UE-42652 Change 3936328 by Andrew.Rodham Fixed KeyFrameManipulator assignment operators and copy/move constructors - These types are potentially self-referential so cannot use default constructors/assignment Change 3936330 by Andrew.Rodham Converted UMGSequencePlayer to use frames internally #jira UE-54878 Change 3936726 by Max.Chen Sequencer: Set track node as the parent of the key area node. The key area switcher needs the object binding id from the parent object binding node. Without this, the binding to the external value fails. #jira UE-55931 Change 3936775 by Max.Chen Sequencer: Should stop or loop should compare DurationFrames with Current Time from StartTime. The bug is that if you set 30 warmup frames in movie rendering for a range of 0-100, the FrameRange will be starting at -30 and have a duration of 130. Without this fix, the playback will continue until frame 130, rather than 100. #jira UE-55933 Change 3936935 by Matt.Hoffman Easing Curves are now represented in Play Rate resolution instead of internal resolution. #jira UE-55937 Change 3937069 by Matt.Hoffman Users can toggle if the is infinite on each side, limited by which tracks support infinite ranges. #jira UE-55891 Change 3937516 by Max.Preussner ImgMedia: Added support for single-threaded platforms #jira UE-55986 Change 3937826 by Max.Preussner MediaAssets: Disabling media sound components on HTML5 if AudioMixer is not enabled Change 3937997 by Max.Chen Curve Editor: Add Zoom to Fit Curves so that selected curves from Sequencer can be focused on. Tested that undo doesn't re-zoom. #jira UE-55935 Change 3938000 by Max.Chen Sequencer: Stop all sounds before generating audio waveforms. #jira UE-55951 Change 3938376 by Max.Preussner XGEController: Disabled XGE Controller in single-threaded apps to prevent crash Change 3938444 by Max.Preussner Core: Added async support for single-threaded applications Change 3938445 by Max.Preussner Networking: Added support for single-threaded applications in UDP socket sender/receiver Change 3938447 by Max.Preussner Messaging: Added support for single-threaded applications Change 3939432 by Max.Chen Sequence Recorder: Append command list to global level editor actions so that shortcuts are accessible in level editor. #jira UE-55798 Change 3940229 by Andrew.Rodham Added prospective display rate upgrade to UMovieScene::PostLoad - There was previously some very odd behaviour that would assign the fixed frame interval only when a sub sequence was focused in SSequencer. This meant that many sequences could have a frame interval of 0 set in the data. - Under the old method of snap interval display this would have fallen back to getting the display interval from the sequencer settings, but we no longer look at these. - The USequencerSettings properties have been removed and in their place, a prospective data upgrade for sequences that have a fixed frame interval old 0fps that sets the play rate to the previous defaults based off the old USequencerSettings defaults. - This could end up 'changing' the display rate for sequences where the user has changed the snap interval in the settings for a particular sequence editor, but there's not much we can do about that given we don't have access to the USequencerSettings classes in UMovieScene #jira UE-55919 Change 3940277 by Andrew.Rodham Sequencer: Added ability to default frame resolutions and play rates for newly created actor sequences Change 3940378 by Andrew.Rodham Sequencer: Post move import dialog now defaults to the playback framerate of the sequence, and floors to frame numbers Change 3940559 by Andrew.Rodham Reinstated primed or recording sequence color Change 3940642 by Max.Preussner ImagePlate: Removed image plate media playback functionality Change 3940843 by Max.Preussner Core: Made TCircularQueue actually thread-safe; improved code comments Change 3940860 by Max.Chen Sequencer: Changed StructNameToKey to StructPathToKey Previously, keying a PropertyPath of [RenderTransform][Shear][X] would get trimmed to X, which doesn't map to a channel name as considered by Sequencer2dTransformTrackEditor. Instead, trim the resulting property path to [Shear][X] so that track editors can determine the desired struct path and channels to key. #jira UE-52966 Change 3941292 by Mike.Zyracki Fix for trajectories out of range not showing up. 1) If we had no key data we would pop the time, so wouldn't get the section ranges. 2) Calculating of upper bound was wrong, checking against -1 and not key == num of keys when doing algo::lower_bound. 3) No need to do the Bck-- for the bakward iterators since we fixed #2. We start now from the upper bound correctly. 4) If we had no keys (at section start,end) we would incorrectly say we were any key type, so since we draw constant keys as dashed we would do so incorrectly around section end points. #jira UE-55929 Change 3941424 by Max.Chen Curve Editor: Change Zoom to Fit to use TArrayView Change 3941498 by Max.Preussner Core: Added FMath::DivideAndRoundNearest function Change 3942097 by Matt.Hoffman Drop Frame Timecode Support for NTSC rates. Change 3942104 by Matt.Hoffman Sequence Recorder Group is no longer visible inside the World Outliner after using one. #jira 55266 Change 3942107 by Max.Chen Sequencer: Resurrect logic to find or extend an existing section when adding keys. Change 3942330 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942339 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942507 by Andrew.Rodham Sequencer: We no longer pad the time overlap threshold with a small number that is not scaled by the current zoom level - The presence of this pad was causing keys that were far apart to be grouped when zoomed in a long way Change 3942509 by Andrew.Rodham Sequencer: Only pad total view range, rather than section range as well when retrieving keys to render - This stops us from rendering keys that are within the view range, but outside the section range Change 3942512 by Andrew.Rodham Added transactions to some sequencer details customizations Change 3942513 by Andrew.Rodham Sequencer: Reinstated validation checks to UMovieSceneSection::SetStartFrame and SetEndFrame, changed erroneous uses to use SetRange Change 3942560 by Andrew.Rodham Pass by rvalue reference to appease error C2719 on Win32 ('InChannels': formal parameter with requested alignment of 8 won't be aligned) Change 3942697 by Andrew.Rodham Newly Created Level Sequences and Actor Sequences now default to 24000 fps frame resolution (+/- ~24hrs range, supporting all integer rates + 23.976) Change 3942700 by Andrew.Rodham Sequencer: Added legacy out-of-bounds errors for times that are not supported by the current legacy upgrade frame resolution Change 3942989 by Max.Preussner Core: Fixed circular queue count calculation Change 3943538 by Max.Preussner MediaAssets: Reverted workaround for procedural audio log spam in HTML5 (Actor component initialization cannot be skipped if the component is used in a level) Change 3944071 by Max.Preussner QAGame: Fixed Media Texture keeps last frame of Media when PIE ends #jira UE-53360 Change 3944292 by Max.Chen Sequencer: Added extra flags to ensure that asset initialization does not occur on template actor sequences #jira UE-56113 Change 3944364 by Max.Chen Sequencer: Prevent circular shot/master tracks. Tested adding master -> child -> master as drag and drop cinematic shot tracks and sub tracks as well as through the + button. #jira UE-56091 Change 3944422 by Max.Chen Sequence Recorder: Disable transform recording if off. #jira UE-56061 Change 3944745 by Andrew.Rodham Sequencer: Key rendering fixes - Fixed assert that occured when keys happened to reside on some times due to KeyTime + TimeOverlapThreshold - KeyTime being slightly larger TimeOverlapThreshold - Fixed keys sometimes being clipped when zoomed right in due to lack of half-frame offset - Added missing documentation to MovieSceneTimeHelpers.h #jira UE-56107 Change 3945231 by Andrew.Rodham Sequencer: Reconstruct channel proxy on Serialize to catch all cases of undo/redo, PostLoad and duplication #jira UE-56089 Change 3945301 by Andrew.Rodham Sequencer: Added safety checks during initial sequence recording to guard against applying negative or 0-sized sequence ranges #jira UE-56125 Change 3946627 by Max.Preussner Fortnite: Fixed game crashes closing editor while in PIE - Pure virtual function being called #jira UE-56144 [CL 3946896 by Max Chen in Main branch]
2018-03-14 22:09:33 -04:00
LinePoints[0] = FVector2D(MinorLinePx, InArgs.bMirrorLabels ? 0.0f : FMath::Abs( InArgs.AllottedGeometry.Size.Y - MinorTickHeight ) );
LinePoints[1] = FVector2D(MinorLinePx, LinePoints[0].Y + MinorTickHeight);
// Draw each sub mark
FSlateDrawElement::MakeLines(
OutDrawElements,
InArgs.StartLayer,
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3946692) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3801826 by Max.Chen PR #4304: Level Sequence crash fix - Guarded against dereferencing null componen. (Contributed by DSDambuster) Change 3801828 by Max.Chen PR #4302: Movie Scene Visibility Template unitialised variable, causing random . (Contributed by DSDambuster) Change 3801837 by Max.Chen Sequencer: Delay spawning/construction for convert to possessable. This fixes a bug where property values would be lost when converting back and forth from possessable to spawnable. #jira UE-52400 Change 3801841 by Max.Chen Sequencer: Make spacer nodes not selectable. PR #4194: Improvements to Sequencer (Contributed by projectgheist) #jira UE-53117 #jira UE-52139 Change 3804183 by Max.Preussner MediaAssets: Added missing lock in media sound component Change 3805414 by Max.Preussner MediaAssets: Setting valid GUID when initializing media texture resource Change 3819578 by Max.Chen PR #4370: When enabling the "MovieCapture", do not turn off the Stereo-3D display. (Contributed by yehaike) #jira UE-53647 Change 3823414 by Max.Chen Curve Editor: Lock down the first and last keys in the redundant keys removal range so that they're unaffected. #jira UE-53591 Change 3826406 by Max.Chen Sequencer: Move OnStartedPlaying() to within first update in UpdateTimeCursorPosition(). This fixes an issue where setting the hud/player visibility was getting stomped on later. #jira UE-52772 Change 3827044 by Max.Preussner MediaAssets: Added sprite visualization to media sound component #jira UE-53594 Change 3827988 by Max.Preussner MediaPlayerAssets: Fixed Media Texture is not linked to Media Player when created together #jira UE-53532 Change 3828506 by Max.Preussner MediaPlayerEditor: Added attenuation visualizer for media sound components #jira UE-53594 Change 3832590 by andrew.porter EngineTest: Added a keep state check in Property Animation sequencer test Change 3833053 by andrew.porter EngineTest: Adding Hierarchical Bias test Change 3835683 by andrew.porter EngineTest: Adding UMG Animation screenshot test Change 3836076 by Max.Chen Sequencer: Fix audio volume and pitch multiplier deprecation. Change 3836230 by andrew.porter EngineTest: Adding Sequence Bone Position automation test Change 3836347 by Max.Chen Sequencer: Fixes to shot name parsing. When a shot doesn't contain a shot number, assume, [ShotName]_[TakeNumber]. When duplicating a shot, put the new shot in the same path of the original shot, so that the take numbers will increment properly. #jira UE-51868 Change 3836552 by Max.Chen Sequencer: Sub section now has a takes menu Change 3838094 by Max.Chen UMG: Fix template finish not getting called on stop. This fixes a bug where sections aren't restored when finished. #jira UE-52285 Change 3838708 by Max.Chen Sequencer: Add notification when the blend type is changed. #jira UE-54046 Change 3840295 by Max.Chen Sequencer: Fix copy/paste crash for lights #jira UE-54084 Change 3840957 by Mike.Zyracki Added Show Only Keyable and Show Only Animated to the filter list in the property editor. Added IsPropertyAnimated to IDetailKeyframe Interface which already had support for showing properties which are keyable (which is used for the key icon next to the properties.). Could have created another interface but then would have had to mimic the sequencer binding, releasing also, so this seemed best way. One issue still left is that custom built detail items currently don't store associated properties(usually) and so certain properties, in particulalry transforms, won't show up as keyable or animated. Note this also shows up with the keyable icon not showing up next to transform tracks, and other filters like Show Only Modified not working with transforms/customs. Not sure best way to tackle this. #jira UESEQ-328 Change 3841756 by Max.Chen Sequencer: Fix unbound possessable components when pasting spawnables. #jira UE-54104 Change 3843950 by andrew.porter EngineTest: Renaming LevelStreaming tests/content to LevelVisibility Change 3844082 by Mike.Zyracki Missing file for animated filter in property editor. When finding if a track is animated we need to find it but we can't easily induce the MovieTrack class for any particular property. So we don't set a class for it and just search by it's ID and name. #jira UESEQ-328 Change 3846902 by Max.Preussner ImgMedia: Fixed image media player never finished initialization if loading failed #jira UE-54247 Change 3849820 by Mike.Zyracki Reassigning deleted widgets didn't work since the menu extender mechanism needs a valid UObject in order to perform an operation on it. So to fix we replaced GetObjectBindingContextMenuExtender in WidgetBlueprint with new delegate mechanism (OnBuildCustomContextMenuForGuid) that supports FGuid in addition to UObjects which is needed to handle re-binding deleted widgets. Note that the default sequencer hacks this for replacing deleted actors in SequencerObjectBindingNode to check to see if a LevelSequence is active. We could move to this mechanism there also. #jira UE-53163 Change 3852211 by Max.Chen UMG: Indicate name of the property that is not bound. #jira UE-54350 Change 3854120 by Max.Chen Sequencer: Fix sibling folders being allowed to have the same folder name. #jira UE-54363 Change 3854627 by Max.Chen Sequencer: Step to next/previous key should work for all tracks if there aren't any selected. #jira UESEQ-391 Change 3855825 by andrew.porter EngineTest: Adding animation blending automation test Change 3855950 by andrew.porter EngineTest: Adding correct expected valuues to animation blending test Change 3856237 by Matt.Hoffman UESEQ-336 - Sequencer Track Reordering Adds the ability to re-order Master Tracks, Folders and Object Bindings within sequencer hierarchies (including UMG). Adds the ability to do a one-off sorting of the content under the old sorting behavior if the user wants to reset their layout to how it was under legacy behavior. Modifies SequencerTrackNodes, SequencerFolderNodes and SequencerObjectBindingNodes to handle CanDrop/OnDrop for above, below and ontop of. Fixes a Slate Issue that forcibly expanded a TreeviewRow if an item handled OnDrop. Slate will now only forcibly expand the row if the item says the drop happened ontop of the item, and not above or below it like it previously did. Change 3856503 by andrew.porter EngineTest: Adding automation test for using animation blueprint with blend multi node in sequencer Change 3857875 by Max.Chen Sequencer: Assign the sequence id after the template is compiled. #jira UE-54462 Change 3858344 by Max.Chen Sequencer: Prevent Goto and Transform boxes from overlapping by allowing them to be visible at the same time in an autosized horizontal box. Also, added close button to the goto box. PR #4425: Prevent Goto and Transform boxes from overlapping in Sequencer ... (Contributed by projectgheist) #jira UE-54210 Change 3860566 by andrew.porter MediaFrameworkTest: Set the option to index 0 for the audio and video track list by default Change 3860654 by andrew.porter EngineTest: Enabling Camera Cut + FOV test Change 3860981 by andrew.porter EngineTest: Updating skeletal mesh tests with a delay after set playback position Change 3861256 by Max.Chen Sequencer: Add all bindings if none selected. #jira-54440 Change 3862154 by Andrew.Rodham Added TimeManagement module Change 3862424 by andrew.porter EngineTest: Turned on the test Bone Positions with Blend Multi Node Change 3862573 by andrew.porter EngineTest: Adding test to compare bone positions in a sequence that is blending an animation that is using an AnimBP Change 3865117 by Max.Chen Sequencer: Stop auto scroll on mouse release of movement. #jira UE-31212 Change 3865303 by Max.Chen Sequencer: Add drag and drop transactions #jira UE-54662 Change 3865304 by Max.Chen Sequencer: Fix crash when an actor factory is not found. Change 3865361 by Max.Chen Sequencer: Don't change the camera/shot lock button when popping out of a sequence. #jira UE-54665 Change 3865412 by Max.Chen Sequencer: Determine whether a transform track is for a camera by using the spawned object or template #jira UE-54666 Change 3865685 by Max.Chen Sequencer: Clear autoscrub offset when stopping autoscroll #jira UE-31212 Change 3865886 by Max.Chen Sequence Recorder: Log an error if the number of frames changes while recording. This can happen if the skeleton changes while recording. #jira UE-48715 Change 3866925 by Andrew.Porter MediaFrameworkTest: Changing the current PNG test video image sequence to 1024 x 576 Change 3867705 by andrew.porter QAGame: Adding Audio Sort Sequence to dev folder Change 3867890 by andrew.porter QAGame: Adding a sequence for testing a sorting crash to my dev folder Change 3872628 by Max.Chen Movie Scene Capture: Split delay before warmup into split delay before shot warmup so that there's separate controls for when the movie scene capture warmups up vs. shot boundaries. Change 3873131 by Matt.Hoffman UE-54732 - Crash reordering a folder with a track. This was caused by folders being the only type of track to check if someone was putting a parent track into a child track. Object Binding tracks and Tracks now check as well so that you can't use the above/below drop targets to add parents as children. This also fixed a typo in the localization keys. #jira UE-54732 Change 3873301 by Mike.Zyracki Added ability to support continous euler angle changes when changing rotations, in particularly with the rotation gizmo's. To do this we effectively added a form an of 'euler filter'(https://en.wikipedia.org/wiki/Euler_filter) to find the closest euler angle to the current euler angle. Three functions were added to FRotator to make this possible, one to get the euler angle that's has the same rotation as it, one to get the difference between two euler angles via Manhattan distance and a third using the previous two to choose a Rotator value that's closest to it. We then use these functions before calling UComponent::SetRelativeRotation to make sure we use the correct Euler after the Quat conversion. We also no longer limit(bound) the euler angles to -180,180, which is obviously necessary to avoid flips. I also changed how we caluclate yaw and roll when pitch is -90 or 90 to make it the standard approach of zeroing out roll and just setting yaw. Main reasons are the previous implementation had precision issues so things like 180, 90, -180 would show up due to numbers being nearly zero but negative,(this would break any smooth interpolations), and this facilitates having a 'gimbal' rotation mode (like Maya, Blender etc..) if we ever want that also. If needed we could keep the previous implementation but would need to add some FMath::IsNearlyZero checks, with less performance. Note we only do this special filtering when applying delta's to actors or components in the editors, which then call UComponent::SetRelativeRotationExact, which is a new function to foces the RelativeRotation to be equal to the new rotation. This allows us to store un-nomalized Rotators at the cost that the RotationCache may be broken. We didn't change any of the other UComponent functions that set rotations (via Quats or Transforms) so they will still be bounded and unwound. In SetInternalWorldLocationAndRotation we only set the rotation if the rotation has changed, which fixes the rotation getting changed and re-normalized if just translate happens. In TransformTrackEditor, we correclty use the bUndwing flag and in MovieScene3DTransformSection there was an un-needed winding check there, it will be unwound earlier if needed, which happens if Sequence Recording is happening. Max we should talk about what to do about this . Note the euler angle drag via the widget is still bound to 0-360. I think we should just unbound that now since the rotations value are now unbound. This review now includes fixes suggested by Zak. #jira UE-UE-22228 Change 3873483 by Matt.Hoffman Sequencer Tracks can now be inserted above the spacer at the bottom of the tree. #jira UE-54706 Change 3873899 by Max.Chen Sequencer: Add section selection throbbing Change 3873908 by Max.Chen Movie Scene Capture: Added logging per frame Change 3873924 by Matt.Hoffman Adds the ability to store Sequence Recorder setups into profiles that stay with the map and can be re-loaded later. Profiles store the Actor Recordings so the settings for each actor should carry with them. #jira UESEQ-339 Change 3874726 by Matt.Hoffman Disable drag-and-drop targets on spacers that come between rows in Sequencer. This prevents extra drag/drop targets showing up between each row. #jira UE-54706 Change 3874862 by Matt.Hoffman Audio Track no longer gets reordered when adding sub-audio tracks, as sub-tracks are no longer counted towards the sorting order index when normalizing indexes. #jira UE-54727 Change 3875905 by Matt.Hoffman Disable Fade Track UI if a fade track already exists in the sequence. #jira UESEQ-393 Change 3876163 by Max.Chen Sequencer: Swap the camera object to the camera component's owner if it's not the same. #jira UE-54874 Change 3876971 by Andrew.Porter EngineTest: Moved Media Player Seek test to new folder. Also enabled the test with new ground truth image. Change 3877040 by Max.Chen Cine Camera: Split camera properties to two groups, "Camera Options" and "Camera Settings". The cine camera now hides properties in the "Camera Settings" group so that properties like bConstrainAspectRatio (in the "Camera Options" group) can be visible. #jira UE-54192 Change 3877763 by Max.Chen Curve Editor: Fix curve changed on end drag so that only curves that had keys/tangents that were changed receive notification, otherwise all loaded curves were getting notified that they were changed. #jira UE-54951 Change 3878234 by Matt.Hoffman Disable "Drop Below" targets for Sequencer Tree nodes to prevent a confusing UX issue where dropping underneath a Object Binding Node puts it after the object binding node but the UI looks like it's inserting it inside the Object Binding node. #jira UE-54743 Change 3879359 by Mike.Zyracki If a track is inactive we dim it a bit which seems to be the UE4 way to show inactive or disabled state. We changed the active logic so that all subtracks need to be inactive for the track to also be inactive(instead of all active for active). This conforms to how the active state actually works, e.g if you have two sections and only one is active the track is still active above it. #jira UESEQ-388 Change 3879462 by Max.Chen Sequencer: Allow dragging onto a particular row which would move out any overlapping sections to make space for the newly created section. Newly created sections are now selected and throbbed to draw attention to themselves. #jira UE-54664 Change 3879464 by Max.Chen Sequencer: Fixed overlapping ranges being inserted into the evaluation field during compilation - The issue was that track segments that had been combined with adjacent segments (due to them being identical) would potentially cause a subsequently compiled frame to overlap with a range that had already been inserted into the evaluation field. - The insertion code previously asserted that only minor overlaps were catered for (due to fp rounding errors) and assumed that a supplied range could not entirely contain any other range in the field. - The solution is to supply the insertion time along with the range to know exactly where the data should live in the field, and crop the range to the maximum allowable space between adjacent ranges. #jira UE-54922 Change 3879590 by Matt.Hoffman Items that are now added to the Sequencer via the "+Track" menu will be selected after being added. Items can now be added inside of folders instead of just to the root level. #jira UE-27397 Change 3879612 by Mike.Zyracki Display Nodes with no children are always active. #jira UESEQ-388 Change 3879730 by Matt.Hoffman Sequence Recorder's actor recording groups now remove items from the group when removed via the UI. #jira UESEQ-339 Change 3880256 by Mike.Zyracki Fix issue with inactive display with folders and other track nodes. #jira UESEQ-388 Change 3883491 by Max.Chen Fix issue where tick is skipped due to last ticked pose isn't cleared after AnimInstance changes. Copy from Release-4.19 #jira UE-51323 Change 3883603 by Max.Chen Movie Scene Capture: Add option toggle disable screen percentage. By default this is on (no change in current behavior). #jira UE-51898 Change 3885074 by Max.Preussner MediaCompositing: Resetting media texture & freeing resource on section end; removed dead code Change 3887220 by Max.Preussner MediaCompositing: Defaulted media section duration to 1 sec (since we do not know the actual duration in most cases) Change 3887478 by Matt.Hoffman Sequences now show [Inactive] in their title bars when they're disabled. This helps communicate why a sequence isn't being evaluated. #jira UE-51469 Change 3888985 by Max.Chen Movie Scene Capture: Clamp HDR Compression Quality between 0 and 1. #jira UE-55136 Change 3893519 by Max.Chen Sequence Recorder: Clarified tooltip for bRecordNearbySpawnedActors - spawned actors will still be recorded if they match the ActorFilter. #jira UE-55238 Change 3893546 by Max.Chen Sequence Recorder: If a selected actor already has a recording, add a blank recording. #jira UE-55239 Change 3894044 by Max.Preussner MediaCompositing: Added support for seeking into a media section Change 3894310 by andrew.porter MediaFrameworkTest: Adding Img media sources for 1080 and 2160 ravent test content Change 3894426 by Max.Preussner MediaAssets: Letting media textures with AutoClear retain their clear color when player is reset Change 3895717 by Max.Chen Sequencer: Null checks to prevent crash when saving the default state of a spawnable #jira UE-55304 Change 3897388 by Max.Chen Sequencer: Don't update current time to be within the view range when stepping into a sequence. #jira UE-55322 Change 3897452 by Max.Chen Audio: Fix crash when trying to record audio without any active capture devices. Log warning if the number of input channels is not 1 or 2. #jira UE-55223 Change 3897619 by Max.Preussner MediaCompositing: Removed commented out code Change 3898072 by Max.Chen Sequencer: Override the animation asset in the player state if it doesn't match the animation asset that's being evaluated. #jira UE-55328 Change 3898272 by Max.Preussner MediaPlayerEditor: Made slate brush constants static Change 3898704 by Max.Chen Sequencer: Skip if the binding id's sequence can't be found. #jira UE-55337 Change 3899855 by Max.Preussner MediaCompositingEditor: Added cache state visualization to media track Change 3900300 by Max.Preussner MediaCompositingEditor: Added loop indicators to media sections Change 3900694 by Max.Preussner ImfMedia: Looping cache only when player is looping Change 3900892 by Max.Preussner Stats: Added stats category for media framework Change 3900954 by Max.Preussner MediaCompositing: Don't evaluate at the end of media section Change 3901348 by Max.Preussner Core: Replaced TLruCache autos for better readability Change 3901655 by Max.Preussner ImgMedia: Added more perf stats to EXR reader Change 3901972 by Max.Preussner MediaAssets: Added getter for media player in media sound components Change 3902233 by Max.Preussner MediaAssets: Enabling media textures to receive samples right after player is assigned Change 3902238 by Max.Preussner MediaCompositing: Working around init/shutdown idiosyncracies in sequencer Change 3904045 by Max.Chen Sequencer: Fix copy/paste crash. Only process UMovieSceneCopyableBinding and objects that can be spawned by the movie scene spawn register. #jira UE-55314 Change 3905605 by Max.Chen Sequencer: Restrict spawnables from being created if they have a ClassWithin that UMovieScene is not a child of. #jira UE-55429 Change 3906550 by Max.Chen Sequencer: Add media track icon #jira UE-55480 Change 3907101 by Max.Chen Sequence Recorder: Fix bugs related to not recording a level sequence. There were certain assumptions that creating a level sequence meant that sequence recording was in progress. This is not always the case - the recorders can record animation assets and not create a level sequence. Changed the notion of IsRecording() to having at least one actor recording that is recording. Countdown timer, recording displays, etc should function if IsRecording() and not based on whether a level sequence is created. #jira UE-55485 Change 3907247 by Max.Chen Sequence Recorder: Fix crash not removing PrepareToCleanseEditorObject delegate. Repros when opening sequence recorder, closing it, and then opening or creating a level. Change 3910343 by Max.Preussner Core: Added async helper for executing functions on a given thread pool Change 3910346 by Max.Preussner ImgMedia: Added separate thread pools for loading/decoding and deleting image frames Change 3910829 by Max.Preussner Profiler: Increased visible range of profiler graph Change 3910841 by Max.Preussner MediaCompositing: Displaying asset name instead of full media source path in media section Change 3910870 by Max.Preussner ImgMedia: Using deallocation thread pool only in debug builds Change 3919642 by Max.Chen Sequence Recorder: Clarify active tooltip #jira UE-55661 Change 3919660 by Max.Chen Sequencer: Sequence template source signatures are now also compared to catch the case where a sub-sequence asset has been saved but not modified - The following sequence of events exposes this issue: - Create a master sequence with a single shot that spawns a cube - Add this sequence to a level and set it to auto-play - Save everything and restart - Resave just the inner shot asset without opening it - PIE - The inner shot never spawns its cube because its template was wiped on save, but its signature never changed. Since the master sequence previously didn't check the template source signature, it ends up trying to evaluate an empty template. #jira UE-55626 #jira UE-55490 Change 3921825 by Max.Chen Sequencer: "Run Construction Script in Sequencer" is off by default for blueprints but on for Sequencer. This allows the content author to switch it on for specific blueprints and sequencer will be default, run those with construction scripts enabled. Change 3922232 by Max.Chen Sequence Recorder: Reset countdelay on stop. #jira UE-55755 Change 3922306 by Max.Chen Sequence Recorder: Don't automatically mark transforms to be recorded by sequence recorder. Instead, log a warning if the user toggled it off to warn that the resulting animation might not match gameplay. #jira UE-55758 Change 3922912 by Max.Chen Sequence Recorder: Fix refresh next sequence name #jira UE-55757 Change 3927654 by Max.Chen Movie Scene Capture: Added format mapping for the name of the current camera #jira UE-55769 PR #4537 Change 3927658 by Max.Chen Sequencer: Added fbx property mapping for "FocusDistance" to "FocusSettings.ManualFocusDistance" #jira UE-55782 Change 3932022 by Max.Chen Sequencer: Add import animation track section to next available row index. #jira UE-55892 Change 3933919 by Max.Chen Sequencer: Jump to playback start frame and not 0 to start playback for recording. #jira UE-55933 Change 3934307 by Andrew.Rodham Sequencer: Add template signature that is re-generated every time the base template is regenerated, which invalidates evaluation fields This fixes an issue where the same sequence is instantiated multiple times in a sequence. If the source sequence was saved, its template would be wiped, which would invalidate the template ID When an instance tries to evaluate the master template, it would only invalidate a range in the evaluation field that was the hull of any invalid sub sequences overlapping the current time, potentially leaving invalid data in the evaluation field at positions later (or earlier) on in the sequence When the sub template was re-generated, it receives the same SequenceSignature as it had before (because the sequence hasn't actually changed), which causes the stale evaluation field data to fail the IsDirty check (because the sequence is the same as it thought, but the *template* has changed) This has been addressed be adding a signature to templates themselves, and checking both the template signature and sequence signature as a part of the IsDirty check. This ensures that we regenerate if either the template, or the sequence have changed. #jira UE-55934 Change 3936327 by Andrew.Rodham Sequencer: Removed increment when trimming right UMovieSceneSection::TrimSection already explicity assigns an exclusive bound to the time passed in. The new behavior means we can trim a section to the right, and insert another section without changing the time to create adjacent sections. #jira UE-42652 Change 3936328 by Andrew.Rodham Fixed KeyFrameManipulator assignment operators and copy/move constructors - These types are potentially self-referential so cannot use default constructors/assignment Change 3936330 by Andrew.Rodham Converted UMGSequencePlayer to use frames internally #jira UE-54878 Change 3936726 by Max.Chen Sequencer: Set track node as the parent of the key area node. The key area switcher needs the object binding id from the parent object binding node. Without this, the binding to the external value fails. #jira UE-55931 Change 3936775 by Max.Chen Sequencer: Should stop or loop should compare DurationFrames with Current Time from StartTime. The bug is that if you set 30 warmup frames in movie rendering for a range of 0-100, the FrameRange will be starting at -30 and have a duration of 130. Without this fix, the playback will continue until frame 130, rather than 100. #jira UE-55933 Change 3936935 by Matt.Hoffman Easing Curves are now represented in Play Rate resolution instead of internal resolution. #jira UE-55937 Change 3937069 by Matt.Hoffman Users can toggle if the is infinite on each side, limited by which tracks support infinite ranges. #jira UE-55891 Change 3937516 by Max.Preussner ImgMedia: Added support for single-threaded platforms #jira UE-55986 Change 3937826 by Max.Preussner MediaAssets: Disabling media sound components on HTML5 if AudioMixer is not enabled Change 3937997 by Max.Chen Curve Editor: Add Zoom to Fit Curves so that selected curves from Sequencer can be focused on. Tested that undo doesn't re-zoom. #jira UE-55935 Change 3938000 by Max.Chen Sequencer: Stop all sounds before generating audio waveforms. #jira UE-55951 Change 3938376 by Max.Preussner XGEController: Disabled XGE Controller in single-threaded apps to prevent crash Change 3938444 by Max.Preussner Core: Added async support for single-threaded applications Change 3938445 by Max.Preussner Networking: Added support for single-threaded applications in UDP socket sender/receiver Change 3938447 by Max.Preussner Messaging: Added support for single-threaded applications Change 3939432 by Max.Chen Sequence Recorder: Append command list to global level editor actions so that shortcuts are accessible in level editor. #jira UE-55798 Change 3940229 by Andrew.Rodham Added prospective display rate upgrade to UMovieScene::PostLoad - There was previously some very odd behaviour that would assign the fixed frame interval only when a sub sequence was focused in SSequencer. This meant that many sequences could have a frame interval of 0 set in the data. - Under the old method of snap interval display this would have fallen back to getting the display interval from the sequencer settings, but we no longer look at these. - The USequencerSettings properties have been removed and in their place, a prospective data upgrade for sequences that have a fixed frame interval old 0fps that sets the play rate to the previous defaults based off the old USequencerSettings defaults. - This could end up 'changing' the display rate for sequences where the user has changed the snap interval in the settings for a particular sequence editor, but there's not much we can do about that given we don't have access to the USequencerSettings classes in UMovieScene #jira UE-55919 Change 3940277 by Andrew.Rodham Sequencer: Added ability to default frame resolutions and play rates for newly created actor sequences Change 3940378 by Andrew.Rodham Sequencer: Post move import dialog now defaults to the playback framerate of the sequence, and floors to frame numbers Change 3940559 by Andrew.Rodham Reinstated primed or recording sequence color Change 3940642 by Max.Preussner ImagePlate: Removed image plate media playback functionality Change 3940843 by Max.Preussner Core: Made TCircularQueue actually thread-safe; improved code comments Change 3940860 by Max.Chen Sequencer: Changed StructNameToKey to StructPathToKey Previously, keying a PropertyPath of [RenderTransform][Shear][X] would get trimmed to X, which doesn't map to a channel name as considered by Sequencer2dTransformTrackEditor. Instead, trim the resulting property path to [Shear][X] so that track editors can determine the desired struct path and channels to key. #jira UE-52966 Change 3941292 by Mike.Zyracki Fix for trajectories out of range not showing up. 1) If we had no key data we would pop the time, so wouldn't get the section ranges. 2) Calculating of upper bound was wrong, checking against -1 and not key == num of keys when doing algo::lower_bound. 3) No need to do the Bck-- for the bakward iterators since we fixed #2. We start now from the upper bound correctly. 4) If we had no keys (at section start,end) we would incorrectly say we were any key type, so since we draw constant keys as dashed we would do so incorrectly around section end points. #jira UE-55929 Change 3941424 by Max.Chen Curve Editor: Change Zoom to Fit to use TArrayView Change 3941498 by Max.Preussner Core: Added FMath::DivideAndRoundNearest function Change 3942097 by Matt.Hoffman Drop Frame Timecode Support for NTSC rates. Change 3942104 by Matt.Hoffman Sequence Recorder Group is no longer visible inside the World Outliner after using one. #jira 55266 Change 3942107 by Max.Chen Sequencer: Resurrect logic to find or extend an existing section when adding keys. Change 3942330 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942339 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942507 by Andrew.Rodham Sequencer: We no longer pad the time overlap threshold with a small number that is not scaled by the current zoom level - The presence of this pad was causing keys that were far apart to be grouped when zoomed in a long way Change 3942509 by Andrew.Rodham Sequencer: Only pad total view range, rather than section range as well when retrieving keys to render - This stops us from rendering keys that are within the view range, but outside the section range Change 3942512 by Andrew.Rodham Added transactions to some sequencer details customizations Change 3942513 by Andrew.Rodham Sequencer: Reinstated validation checks to UMovieSceneSection::SetStartFrame and SetEndFrame, changed erroneous uses to use SetRange Change 3942560 by Andrew.Rodham Pass by rvalue reference to appease error C2719 on Win32 ('InChannels': formal parameter with requested alignment of 8 won't be aligned) Change 3942697 by Andrew.Rodham Newly Created Level Sequences and Actor Sequences now default to 24000 fps frame resolution (+/- ~24hrs range, supporting all integer rates + 23.976) Change 3942700 by Andrew.Rodham Sequencer: Added legacy out-of-bounds errors for times that are not supported by the current legacy upgrade frame resolution Change 3942989 by Max.Preussner Core: Fixed circular queue count calculation Change 3943538 by Max.Preussner MediaAssets: Reverted workaround for procedural audio log spam in HTML5 (Actor component initialization cannot be skipped if the component is used in a level) Change 3944071 by Max.Preussner QAGame: Fixed Media Texture keeps last frame of Media when PIE ends #jira UE-53360 Change 3944292 by Max.Chen Sequencer: Added extra flags to ensure that asset initialization does not occur on template actor sequences #jira UE-56113 Change 3944364 by Max.Chen Sequencer: Prevent circular shot/master tracks. Tested adding master -> child -> master as drag and drop cinematic shot tracks and sub tracks as well as through the + button. #jira UE-56091 Change 3944422 by Max.Chen Sequence Recorder: Disable transform recording if off. #jira UE-56061 Change 3944745 by Andrew.Rodham Sequencer: Key rendering fixes - Fixed assert that occured when keys happened to reside on some times due to KeyTime + TimeOverlapThreshold - KeyTime being slightly larger TimeOverlapThreshold - Fixed keys sometimes being clipped when zoomed right in due to lack of half-frame offset - Added missing documentation to MovieSceneTimeHelpers.h #jira UE-56107 Change 3945231 by Andrew.Rodham Sequencer: Reconstruct channel proxy on Serialize to catch all cases of undo/redo, PostLoad and duplication #jira UE-56089 Change 3945301 by Andrew.Rodham Sequencer: Added safety checks during initial sequence recording to guard against applying negative or 0-sized sequence ranges #jira UE-56125 Change 3946627 by Max.Preussner Fortnite: Fixed game crashes closing editor while in PIE - Pure virtual function being called #jira UE-56144 [CL 3946896 by Max Chen in Main branch]
2018-03-14 22:09:33 -04:00
PaintGeometry,
LinePoints,
InArgs.DrawEffects,
InArgs.TickColor,
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3946692) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3801826 by Max.Chen PR #4304: Level Sequence crash fix - Guarded against dereferencing null componen. (Contributed by DSDambuster) Change 3801828 by Max.Chen PR #4302: Movie Scene Visibility Template unitialised variable, causing random . (Contributed by DSDambuster) Change 3801837 by Max.Chen Sequencer: Delay spawning/construction for convert to possessable. This fixes a bug where property values would be lost when converting back and forth from possessable to spawnable. #jira UE-52400 Change 3801841 by Max.Chen Sequencer: Make spacer nodes not selectable. PR #4194: Improvements to Sequencer (Contributed by projectgheist) #jira UE-53117 #jira UE-52139 Change 3804183 by Max.Preussner MediaAssets: Added missing lock in media sound component Change 3805414 by Max.Preussner MediaAssets: Setting valid GUID when initializing media texture resource Change 3819578 by Max.Chen PR #4370: When enabling the "MovieCapture", do not turn off the Stereo-3D display. (Contributed by yehaike) #jira UE-53647 Change 3823414 by Max.Chen Curve Editor: Lock down the first and last keys in the redundant keys removal range so that they're unaffected. #jira UE-53591 Change 3826406 by Max.Chen Sequencer: Move OnStartedPlaying() to within first update in UpdateTimeCursorPosition(). This fixes an issue where setting the hud/player visibility was getting stomped on later. #jira UE-52772 Change 3827044 by Max.Preussner MediaAssets: Added sprite visualization to media sound component #jira UE-53594 Change 3827988 by Max.Preussner MediaPlayerAssets: Fixed Media Texture is not linked to Media Player when created together #jira UE-53532 Change 3828506 by Max.Preussner MediaPlayerEditor: Added attenuation visualizer for media sound components #jira UE-53594 Change 3832590 by andrew.porter EngineTest: Added a keep state check in Property Animation sequencer test Change 3833053 by andrew.porter EngineTest: Adding Hierarchical Bias test Change 3835683 by andrew.porter EngineTest: Adding UMG Animation screenshot test Change 3836076 by Max.Chen Sequencer: Fix audio volume and pitch multiplier deprecation. Change 3836230 by andrew.porter EngineTest: Adding Sequence Bone Position automation test Change 3836347 by Max.Chen Sequencer: Fixes to shot name parsing. When a shot doesn't contain a shot number, assume, [ShotName]_[TakeNumber]. When duplicating a shot, put the new shot in the same path of the original shot, so that the take numbers will increment properly. #jira UE-51868 Change 3836552 by Max.Chen Sequencer: Sub section now has a takes menu Change 3838094 by Max.Chen UMG: Fix template finish not getting called on stop. This fixes a bug where sections aren't restored when finished. #jira UE-52285 Change 3838708 by Max.Chen Sequencer: Add notification when the blend type is changed. #jira UE-54046 Change 3840295 by Max.Chen Sequencer: Fix copy/paste crash for lights #jira UE-54084 Change 3840957 by Mike.Zyracki Added Show Only Keyable and Show Only Animated to the filter list in the property editor. Added IsPropertyAnimated to IDetailKeyframe Interface which already had support for showing properties which are keyable (which is used for the key icon next to the properties.). Could have created another interface but then would have had to mimic the sequencer binding, releasing also, so this seemed best way. One issue still left is that custom built detail items currently don't store associated properties(usually) and so certain properties, in particulalry transforms, won't show up as keyable or animated. Note this also shows up with the keyable icon not showing up next to transform tracks, and other filters like Show Only Modified not working with transforms/customs. Not sure best way to tackle this. #jira UESEQ-328 Change 3841756 by Max.Chen Sequencer: Fix unbound possessable components when pasting spawnables. #jira UE-54104 Change 3843950 by andrew.porter EngineTest: Renaming LevelStreaming tests/content to LevelVisibility Change 3844082 by Mike.Zyracki Missing file for animated filter in property editor. When finding if a track is animated we need to find it but we can't easily induce the MovieTrack class for any particular property. So we don't set a class for it and just search by it's ID and name. #jira UESEQ-328 Change 3846902 by Max.Preussner ImgMedia: Fixed image media player never finished initialization if loading failed #jira UE-54247 Change 3849820 by Mike.Zyracki Reassigning deleted widgets didn't work since the menu extender mechanism needs a valid UObject in order to perform an operation on it. So to fix we replaced GetObjectBindingContextMenuExtender in WidgetBlueprint with new delegate mechanism (OnBuildCustomContextMenuForGuid) that supports FGuid in addition to UObjects which is needed to handle re-binding deleted widgets. Note that the default sequencer hacks this for replacing deleted actors in SequencerObjectBindingNode to check to see if a LevelSequence is active. We could move to this mechanism there also. #jira UE-53163 Change 3852211 by Max.Chen UMG: Indicate name of the property that is not bound. #jira UE-54350 Change 3854120 by Max.Chen Sequencer: Fix sibling folders being allowed to have the same folder name. #jira UE-54363 Change 3854627 by Max.Chen Sequencer: Step to next/previous key should work for all tracks if there aren't any selected. #jira UESEQ-391 Change 3855825 by andrew.porter EngineTest: Adding animation blending automation test Change 3855950 by andrew.porter EngineTest: Adding correct expected valuues to animation blending test Change 3856237 by Matt.Hoffman UESEQ-336 - Sequencer Track Reordering Adds the ability to re-order Master Tracks, Folders and Object Bindings within sequencer hierarchies (including UMG). Adds the ability to do a one-off sorting of the content under the old sorting behavior if the user wants to reset their layout to how it was under legacy behavior. Modifies SequencerTrackNodes, SequencerFolderNodes and SequencerObjectBindingNodes to handle CanDrop/OnDrop for above, below and ontop of. Fixes a Slate Issue that forcibly expanded a TreeviewRow if an item handled OnDrop. Slate will now only forcibly expand the row if the item says the drop happened ontop of the item, and not above or below it like it previously did. Change 3856503 by andrew.porter EngineTest: Adding automation test for using animation blueprint with blend multi node in sequencer Change 3857875 by Max.Chen Sequencer: Assign the sequence id after the template is compiled. #jira UE-54462 Change 3858344 by Max.Chen Sequencer: Prevent Goto and Transform boxes from overlapping by allowing them to be visible at the same time in an autosized horizontal box. Also, added close button to the goto box. PR #4425: Prevent Goto and Transform boxes from overlapping in Sequencer ... (Contributed by projectgheist) #jira UE-54210 Change 3860566 by andrew.porter MediaFrameworkTest: Set the option to index 0 for the audio and video track list by default Change 3860654 by andrew.porter EngineTest: Enabling Camera Cut + FOV test Change 3860981 by andrew.porter EngineTest: Updating skeletal mesh tests with a delay after set playback position Change 3861256 by Max.Chen Sequencer: Add all bindings if none selected. #jira-54440 Change 3862154 by Andrew.Rodham Added TimeManagement module Change 3862424 by andrew.porter EngineTest: Turned on the test Bone Positions with Blend Multi Node Change 3862573 by andrew.porter EngineTest: Adding test to compare bone positions in a sequence that is blending an animation that is using an AnimBP Change 3865117 by Max.Chen Sequencer: Stop auto scroll on mouse release of movement. #jira UE-31212 Change 3865303 by Max.Chen Sequencer: Add drag and drop transactions #jira UE-54662 Change 3865304 by Max.Chen Sequencer: Fix crash when an actor factory is not found. Change 3865361 by Max.Chen Sequencer: Don't change the camera/shot lock button when popping out of a sequence. #jira UE-54665 Change 3865412 by Max.Chen Sequencer: Determine whether a transform track is for a camera by using the spawned object or template #jira UE-54666 Change 3865685 by Max.Chen Sequencer: Clear autoscrub offset when stopping autoscroll #jira UE-31212 Change 3865886 by Max.Chen Sequence Recorder: Log an error if the number of frames changes while recording. This can happen if the skeleton changes while recording. #jira UE-48715 Change 3866925 by Andrew.Porter MediaFrameworkTest: Changing the current PNG test video image sequence to 1024 x 576 Change 3867705 by andrew.porter QAGame: Adding Audio Sort Sequence to dev folder Change 3867890 by andrew.porter QAGame: Adding a sequence for testing a sorting crash to my dev folder Change 3872628 by Max.Chen Movie Scene Capture: Split delay before warmup into split delay before shot warmup so that there's separate controls for when the movie scene capture warmups up vs. shot boundaries. Change 3873131 by Matt.Hoffman UE-54732 - Crash reordering a folder with a track. This was caused by folders being the only type of track to check if someone was putting a parent track into a child track. Object Binding tracks and Tracks now check as well so that you can't use the above/below drop targets to add parents as children. This also fixed a typo in the localization keys. #jira UE-54732 Change 3873301 by Mike.Zyracki Added ability to support continous euler angle changes when changing rotations, in particularly with the rotation gizmo's. To do this we effectively added a form an of 'euler filter'(https://en.wikipedia.org/wiki/Euler_filter) to find the closest euler angle to the current euler angle. Three functions were added to FRotator to make this possible, one to get the euler angle that's has the same rotation as it, one to get the difference between two euler angles via Manhattan distance and a third using the previous two to choose a Rotator value that's closest to it. We then use these functions before calling UComponent::SetRelativeRotation to make sure we use the correct Euler after the Quat conversion. We also no longer limit(bound) the euler angles to -180,180, which is obviously necessary to avoid flips. I also changed how we caluclate yaw and roll when pitch is -90 or 90 to make it the standard approach of zeroing out roll and just setting yaw. Main reasons are the previous implementation had precision issues so things like 180, 90, -180 would show up due to numbers being nearly zero but negative,(this would break any smooth interpolations), and this facilitates having a 'gimbal' rotation mode (like Maya, Blender etc..) if we ever want that also. If needed we could keep the previous implementation but would need to add some FMath::IsNearlyZero checks, with less performance. Note we only do this special filtering when applying delta's to actors or components in the editors, which then call UComponent::SetRelativeRotationExact, which is a new function to foces the RelativeRotation to be equal to the new rotation. This allows us to store un-nomalized Rotators at the cost that the RotationCache may be broken. We didn't change any of the other UComponent functions that set rotations (via Quats or Transforms) so they will still be bounded and unwound. In SetInternalWorldLocationAndRotation we only set the rotation if the rotation has changed, which fixes the rotation getting changed and re-normalized if just translate happens. In TransformTrackEditor, we correclty use the bUndwing flag and in MovieScene3DTransformSection there was an un-needed winding check there, it will be unwound earlier if needed, which happens if Sequence Recording is happening. Max we should talk about what to do about this . Note the euler angle drag via the widget is still bound to 0-360. I think we should just unbound that now since the rotations value are now unbound. This review now includes fixes suggested by Zak. #jira UE-UE-22228 Change 3873483 by Matt.Hoffman Sequencer Tracks can now be inserted above the spacer at the bottom of the tree. #jira UE-54706 Change 3873899 by Max.Chen Sequencer: Add section selection throbbing Change 3873908 by Max.Chen Movie Scene Capture: Added logging per frame Change 3873924 by Matt.Hoffman Adds the ability to store Sequence Recorder setups into profiles that stay with the map and can be re-loaded later. Profiles store the Actor Recordings so the settings for each actor should carry with them. #jira UESEQ-339 Change 3874726 by Matt.Hoffman Disable drag-and-drop targets on spacers that come between rows in Sequencer. This prevents extra drag/drop targets showing up between each row. #jira UE-54706 Change 3874862 by Matt.Hoffman Audio Track no longer gets reordered when adding sub-audio tracks, as sub-tracks are no longer counted towards the sorting order index when normalizing indexes. #jira UE-54727 Change 3875905 by Matt.Hoffman Disable Fade Track UI if a fade track already exists in the sequence. #jira UESEQ-393 Change 3876163 by Max.Chen Sequencer: Swap the camera object to the camera component's owner if it's not the same. #jira UE-54874 Change 3876971 by Andrew.Porter EngineTest: Moved Media Player Seek test to new folder. Also enabled the test with new ground truth image. Change 3877040 by Max.Chen Cine Camera: Split camera properties to two groups, "Camera Options" and "Camera Settings". The cine camera now hides properties in the "Camera Settings" group so that properties like bConstrainAspectRatio (in the "Camera Options" group) can be visible. #jira UE-54192 Change 3877763 by Max.Chen Curve Editor: Fix curve changed on end drag so that only curves that had keys/tangents that were changed receive notification, otherwise all loaded curves were getting notified that they were changed. #jira UE-54951 Change 3878234 by Matt.Hoffman Disable "Drop Below" targets for Sequencer Tree nodes to prevent a confusing UX issue where dropping underneath a Object Binding Node puts it after the object binding node but the UI looks like it's inserting it inside the Object Binding node. #jira UE-54743 Change 3879359 by Mike.Zyracki If a track is inactive we dim it a bit which seems to be the UE4 way to show inactive or disabled state. We changed the active logic so that all subtracks need to be inactive for the track to also be inactive(instead of all active for active). This conforms to how the active state actually works, e.g if you have two sections and only one is active the track is still active above it. #jira UESEQ-388 Change 3879462 by Max.Chen Sequencer: Allow dragging onto a particular row which would move out any overlapping sections to make space for the newly created section. Newly created sections are now selected and throbbed to draw attention to themselves. #jira UE-54664 Change 3879464 by Max.Chen Sequencer: Fixed overlapping ranges being inserted into the evaluation field during compilation - The issue was that track segments that had been combined with adjacent segments (due to them being identical) would potentially cause a subsequently compiled frame to overlap with a range that had already been inserted into the evaluation field. - The insertion code previously asserted that only minor overlaps were catered for (due to fp rounding errors) and assumed that a supplied range could not entirely contain any other range in the field. - The solution is to supply the insertion time along with the range to know exactly where the data should live in the field, and crop the range to the maximum allowable space between adjacent ranges. #jira UE-54922 Change 3879590 by Matt.Hoffman Items that are now added to the Sequencer via the "+Track" menu will be selected after being added. Items can now be added inside of folders instead of just to the root level. #jira UE-27397 Change 3879612 by Mike.Zyracki Display Nodes with no children are always active. #jira UESEQ-388 Change 3879730 by Matt.Hoffman Sequence Recorder's actor recording groups now remove items from the group when removed via the UI. #jira UESEQ-339 Change 3880256 by Mike.Zyracki Fix issue with inactive display with folders and other track nodes. #jira UESEQ-388 Change 3883491 by Max.Chen Fix issue where tick is skipped due to last ticked pose isn't cleared after AnimInstance changes. Copy from Release-4.19 #jira UE-51323 Change 3883603 by Max.Chen Movie Scene Capture: Add option toggle disable screen percentage. By default this is on (no change in current behavior). #jira UE-51898 Change 3885074 by Max.Preussner MediaCompositing: Resetting media texture & freeing resource on section end; removed dead code Change 3887220 by Max.Preussner MediaCompositing: Defaulted media section duration to 1 sec (since we do not know the actual duration in most cases) Change 3887478 by Matt.Hoffman Sequences now show [Inactive] in their title bars when they're disabled. This helps communicate why a sequence isn't being evaluated. #jira UE-51469 Change 3888985 by Max.Chen Movie Scene Capture: Clamp HDR Compression Quality between 0 and 1. #jira UE-55136 Change 3893519 by Max.Chen Sequence Recorder: Clarified tooltip for bRecordNearbySpawnedActors - spawned actors will still be recorded if they match the ActorFilter. #jira UE-55238 Change 3893546 by Max.Chen Sequence Recorder: If a selected actor already has a recording, add a blank recording. #jira UE-55239 Change 3894044 by Max.Preussner MediaCompositing: Added support for seeking into a media section Change 3894310 by andrew.porter MediaFrameworkTest: Adding Img media sources for 1080 and 2160 ravent test content Change 3894426 by Max.Preussner MediaAssets: Letting media textures with AutoClear retain their clear color when player is reset Change 3895717 by Max.Chen Sequencer: Null checks to prevent crash when saving the default state of a spawnable #jira UE-55304 Change 3897388 by Max.Chen Sequencer: Don't update current time to be within the view range when stepping into a sequence. #jira UE-55322 Change 3897452 by Max.Chen Audio: Fix crash when trying to record audio without any active capture devices. Log warning if the number of input channels is not 1 or 2. #jira UE-55223 Change 3897619 by Max.Preussner MediaCompositing: Removed commented out code Change 3898072 by Max.Chen Sequencer: Override the animation asset in the player state if it doesn't match the animation asset that's being evaluated. #jira UE-55328 Change 3898272 by Max.Preussner MediaPlayerEditor: Made slate brush constants static Change 3898704 by Max.Chen Sequencer: Skip if the binding id's sequence can't be found. #jira UE-55337 Change 3899855 by Max.Preussner MediaCompositingEditor: Added cache state visualization to media track Change 3900300 by Max.Preussner MediaCompositingEditor: Added loop indicators to media sections Change 3900694 by Max.Preussner ImfMedia: Looping cache only when player is looping Change 3900892 by Max.Preussner Stats: Added stats category for media framework Change 3900954 by Max.Preussner MediaCompositing: Don't evaluate at the end of media section Change 3901348 by Max.Preussner Core: Replaced TLruCache autos for better readability Change 3901655 by Max.Preussner ImgMedia: Added more perf stats to EXR reader Change 3901972 by Max.Preussner MediaAssets: Added getter for media player in media sound components Change 3902233 by Max.Preussner MediaAssets: Enabling media textures to receive samples right after player is assigned Change 3902238 by Max.Preussner MediaCompositing: Working around init/shutdown idiosyncracies in sequencer Change 3904045 by Max.Chen Sequencer: Fix copy/paste crash. Only process UMovieSceneCopyableBinding and objects that can be spawned by the movie scene spawn register. #jira UE-55314 Change 3905605 by Max.Chen Sequencer: Restrict spawnables from being created if they have a ClassWithin that UMovieScene is not a child of. #jira UE-55429 Change 3906550 by Max.Chen Sequencer: Add media track icon #jira UE-55480 Change 3907101 by Max.Chen Sequence Recorder: Fix bugs related to not recording a level sequence. There were certain assumptions that creating a level sequence meant that sequence recording was in progress. This is not always the case - the recorders can record animation assets and not create a level sequence. Changed the notion of IsRecording() to having at least one actor recording that is recording. Countdown timer, recording displays, etc should function if IsRecording() and not based on whether a level sequence is created. #jira UE-55485 Change 3907247 by Max.Chen Sequence Recorder: Fix crash not removing PrepareToCleanseEditorObject delegate. Repros when opening sequence recorder, closing it, and then opening or creating a level. Change 3910343 by Max.Preussner Core: Added async helper for executing functions on a given thread pool Change 3910346 by Max.Preussner ImgMedia: Added separate thread pools for loading/decoding and deleting image frames Change 3910829 by Max.Preussner Profiler: Increased visible range of profiler graph Change 3910841 by Max.Preussner MediaCompositing: Displaying asset name instead of full media source path in media section Change 3910870 by Max.Preussner ImgMedia: Using deallocation thread pool only in debug builds Change 3919642 by Max.Chen Sequence Recorder: Clarify active tooltip #jira UE-55661 Change 3919660 by Max.Chen Sequencer: Sequence template source signatures are now also compared to catch the case where a sub-sequence asset has been saved but not modified - The following sequence of events exposes this issue: - Create a master sequence with a single shot that spawns a cube - Add this sequence to a level and set it to auto-play - Save everything and restart - Resave just the inner shot asset without opening it - PIE - The inner shot never spawns its cube because its template was wiped on save, but its signature never changed. Since the master sequence previously didn't check the template source signature, it ends up trying to evaluate an empty template. #jira UE-55626 #jira UE-55490 Change 3921825 by Max.Chen Sequencer: "Run Construction Script in Sequencer" is off by default for blueprints but on for Sequencer. This allows the content author to switch it on for specific blueprints and sequencer will be default, run those with construction scripts enabled. Change 3922232 by Max.Chen Sequence Recorder: Reset countdelay on stop. #jira UE-55755 Change 3922306 by Max.Chen Sequence Recorder: Don't automatically mark transforms to be recorded by sequence recorder. Instead, log a warning if the user toggled it off to warn that the resulting animation might not match gameplay. #jira UE-55758 Change 3922912 by Max.Chen Sequence Recorder: Fix refresh next sequence name #jira UE-55757 Change 3927654 by Max.Chen Movie Scene Capture: Added format mapping for the name of the current camera #jira UE-55769 PR #4537 Change 3927658 by Max.Chen Sequencer: Added fbx property mapping for "FocusDistance" to "FocusSettings.ManualFocusDistance" #jira UE-55782 Change 3932022 by Max.Chen Sequencer: Add import animation track section to next available row index. #jira UE-55892 Change 3933919 by Max.Chen Sequencer: Jump to playback start frame and not 0 to start playback for recording. #jira UE-55933 Change 3934307 by Andrew.Rodham Sequencer: Add template signature that is re-generated every time the base template is regenerated, which invalidates evaluation fields This fixes an issue where the same sequence is instantiated multiple times in a sequence. If the source sequence was saved, its template would be wiped, which would invalidate the template ID When an instance tries to evaluate the master template, it would only invalidate a range in the evaluation field that was the hull of any invalid sub sequences overlapping the current time, potentially leaving invalid data in the evaluation field at positions later (or earlier) on in the sequence When the sub template was re-generated, it receives the same SequenceSignature as it had before (because the sequence hasn't actually changed), which causes the stale evaluation field data to fail the IsDirty check (because the sequence is the same as it thought, but the *template* has changed) This has been addressed be adding a signature to templates themselves, and checking both the template signature and sequence signature as a part of the IsDirty check. This ensures that we regenerate if either the template, or the sequence have changed. #jira UE-55934 Change 3936327 by Andrew.Rodham Sequencer: Removed increment when trimming right UMovieSceneSection::TrimSection already explicity assigns an exclusive bound to the time passed in. The new behavior means we can trim a section to the right, and insert another section without changing the time to create adjacent sections. #jira UE-42652 Change 3936328 by Andrew.Rodham Fixed KeyFrameManipulator assignment operators and copy/move constructors - These types are potentially self-referential so cannot use default constructors/assignment Change 3936330 by Andrew.Rodham Converted UMGSequencePlayer to use frames internally #jira UE-54878 Change 3936726 by Max.Chen Sequencer: Set track node as the parent of the key area node. The key area switcher needs the object binding id from the parent object binding node. Without this, the binding to the external value fails. #jira UE-55931 Change 3936775 by Max.Chen Sequencer: Should stop or loop should compare DurationFrames with Current Time from StartTime. The bug is that if you set 30 warmup frames in movie rendering for a range of 0-100, the FrameRange will be starting at -30 and have a duration of 130. Without this fix, the playback will continue until frame 130, rather than 100. #jira UE-55933 Change 3936935 by Matt.Hoffman Easing Curves are now represented in Play Rate resolution instead of internal resolution. #jira UE-55937 Change 3937069 by Matt.Hoffman Users can toggle if the is infinite on each side, limited by which tracks support infinite ranges. #jira UE-55891 Change 3937516 by Max.Preussner ImgMedia: Added support for single-threaded platforms #jira UE-55986 Change 3937826 by Max.Preussner MediaAssets: Disabling media sound components on HTML5 if AudioMixer is not enabled Change 3937997 by Max.Chen Curve Editor: Add Zoom to Fit Curves so that selected curves from Sequencer can be focused on. Tested that undo doesn't re-zoom. #jira UE-55935 Change 3938000 by Max.Chen Sequencer: Stop all sounds before generating audio waveforms. #jira UE-55951 Change 3938376 by Max.Preussner XGEController: Disabled XGE Controller in single-threaded apps to prevent crash Change 3938444 by Max.Preussner Core: Added async support for single-threaded applications Change 3938445 by Max.Preussner Networking: Added support for single-threaded applications in UDP socket sender/receiver Change 3938447 by Max.Preussner Messaging: Added support for single-threaded applications Change 3939432 by Max.Chen Sequence Recorder: Append command list to global level editor actions so that shortcuts are accessible in level editor. #jira UE-55798 Change 3940229 by Andrew.Rodham Added prospective display rate upgrade to UMovieScene::PostLoad - There was previously some very odd behaviour that would assign the fixed frame interval only when a sub sequence was focused in SSequencer. This meant that many sequences could have a frame interval of 0 set in the data. - Under the old method of snap interval display this would have fallen back to getting the display interval from the sequencer settings, but we no longer look at these. - The USequencerSettings properties have been removed and in their place, a prospective data upgrade for sequences that have a fixed frame interval old 0fps that sets the play rate to the previous defaults based off the old USequencerSettings defaults. - This could end up 'changing' the display rate for sequences where the user has changed the snap interval in the settings for a particular sequence editor, but there's not much we can do about that given we don't have access to the USequencerSettings classes in UMovieScene #jira UE-55919 Change 3940277 by Andrew.Rodham Sequencer: Added ability to default frame resolutions and play rates for newly created actor sequences Change 3940378 by Andrew.Rodham Sequencer: Post move import dialog now defaults to the playback framerate of the sequence, and floors to frame numbers Change 3940559 by Andrew.Rodham Reinstated primed or recording sequence color Change 3940642 by Max.Preussner ImagePlate: Removed image plate media playback functionality Change 3940843 by Max.Preussner Core: Made TCircularQueue actually thread-safe; improved code comments Change 3940860 by Max.Chen Sequencer: Changed StructNameToKey to StructPathToKey Previously, keying a PropertyPath of [RenderTransform][Shear][X] would get trimmed to X, which doesn't map to a channel name as considered by Sequencer2dTransformTrackEditor. Instead, trim the resulting property path to [Shear][X] so that track editors can determine the desired struct path and channels to key. #jira UE-52966 Change 3941292 by Mike.Zyracki Fix for trajectories out of range not showing up. 1) If we had no key data we would pop the time, so wouldn't get the section ranges. 2) Calculating of upper bound was wrong, checking against -1 and not key == num of keys when doing algo::lower_bound. 3) No need to do the Bck-- for the bakward iterators since we fixed #2. We start now from the upper bound correctly. 4) If we had no keys (at section start,end) we would incorrectly say we were any key type, so since we draw constant keys as dashed we would do so incorrectly around section end points. #jira UE-55929 Change 3941424 by Max.Chen Curve Editor: Change Zoom to Fit to use TArrayView Change 3941498 by Max.Preussner Core: Added FMath::DivideAndRoundNearest function Change 3942097 by Matt.Hoffman Drop Frame Timecode Support for NTSC rates. Change 3942104 by Matt.Hoffman Sequence Recorder Group is no longer visible inside the World Outliner after using one. #jira 55266 Change 3942107 by Max.Chen Sequencer: Resurrect logic to find or extend an existing section when adding keys. Change 3942330 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942339 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942507 by Andrew.Rodham Sequencer: We no longer pad the time overlap threshold with a small number that is not scaled by the current zoom level - The presence of this pad was causing keys that were far apart to be grouped when zoomed in a long way Change 3942509 by Andrew.Rodham Sequencer: Only pad total view range, rather than section range as well when retrieving keys to render - This stops us from rendering keys that are within the view range, but outside the section range Change 3942512 by Andrew.Rodham Added transactions to some sequencer details customizations Change 3942513 by Andrew.Rodham Sequencer: Reinstated validation checks to UMovieSceneSection::SetStartFrame and SetEndFrame, changed erroneous uses to use SetRange Change 3942560 by Andrew.Rodham Pass by rvalue reference to appease error C2719 on Win32 ('InChannels': formal parameter with requested alignment of 8 won't be aligned) Change 3942697 by Andrew.Rodham Newly Created Level Sequences and Actor Sequences now default to 24000 fps frame resolution (+/- ~24hrs range, supporting all integer rates + 23.976) Change 3942700 by Andrew.Rodham Sequencer: Added legacy out-of-bounds errors for times that are not supported by the current legacy upgrade frame resolution Change 3942989 by Max.Preussner Core: Fixed circular queue count calculation Change 3943538 by Max.Preussner MediaAssets: Reverted workaround for procedural audio log spam in HTML5 (Actor component initialization cannot be skipped if the component is used in a level) Change 3944071 by Max.Preussner QAGame: Fixed Media Texture keeps last frame of Media when PIE ends #jira UE-53360 Change 3944292 by Max.Chen Sequencer: Added extra flags to ensure that asset initialization does not occur on template actor sequences #jira UE-56113 Change 3944364 by Max.Chen Sequencer: Prevent circular shot/master tracks. Tested adding master -> child -> master as drag and drop cinematic shot tracks and sub tracks as well as through the + button. #jira UE-56091 Change 3944422 by Max.Chen Sequence Recorder: Disable transform recording if off. #jira UE-56061 Change 3944745 by Andrew.Rodham Sequencer: Key rendering fixes - Fixed assert that occured when keys happened to reside on some times due to KeyTime + TimeOverlapThreshold - KeyTime being slightly larger TimeOverlapThreshold - Fixed keys sometimes being clipped when zoomed right in due to lack of half-frame offset - Added missing documentation to MovieSceneTimeHelpers.h #jira UE-56107 Change 3945231 by Andrew.Rodham Sequencer: Reconstruct channel proxy on Serialize to catch all cases of undo/redo, PostLoad and duplication #jira UE-56089 Change 3945301 by Andrew.Rodham Sequencer: Added safety checks during initial sequence recording to guard against applying negative or 0-sized sequence ranges #jira UE-56125 Change 3946627 by Max.Preussner Fortnite: Fixed game crashes closing editor while in PIE - Pure virtual function being called #jira UE-56144 [CL 3946896 by Max Chen in Main branch]
2018-03-14 22:09:33 -04:00
bAntiAliasLines
);
}
}
}
int32 FSequencerTimeSliderController::DrawMarkedFrames( const FGeometry& AllottedGeometry, const FScrubRangeToScreen& RangeToScreen, FSlateWindowElementList& OutDrawElements, int32 LayerId, const ESlateDrawEffect& DrawEffects, bool bDrawLabels ) const
{
const TArray<FMovieSceneMarkedFrame> & MarkedFrames = TimeSliderArgs.MarkedFrames.Get();
const TArray<FMovieSceneMarkedFrame> & GlobalMarkedFrames = TimeSliderArgs.GlobalMarkedFrames.Get();
if (MarkedFrames.Num() < 1 && GlobalMarkedFrames.Num() < 1)
{
return LayerId;
}
const TSharedRef< FSlateFontMeasure > FontMeasureService = FSlateApplication::Get().GetRenderer()->GetFontMeasureService();
FSlateFontInfo SmallLayoutFont = FCoreStyle::GetDefaultFontStyle("Regular", 10);
FQualifiedFrameTime ScrubPosition = FQualifiedFrameTime(TimeSliderArgs.ScrubPosition.Get(), GetTickResolution());
FScrubberMetrics ScrubMetrics = GetScrubPixelMetrics(ScrubPosition, RangeToScreen);
auto DrawFrameMarkers = ([=](const TArray<FMovieSceneMarkedFrame> & InMarkedFrames, FSlateWindowElementList& DrawElements, bool bFade) {
for (const FMovieSceneMarkedFrame& MarkedFrame : InMarkedFrames)
{
double Seconds = MarkedFrame.FrameNumber / GetTickResolution();
FLinearColor DrawColor = bFade ? MarkedFrame.Color.Desaturate(0.25f) : MarkedFrame.Color;
const float LinePos = RangeToScreen.InputToLocalX(Seconds);
TArray<FVector2D> LinePoints;
LinePoints.AddUninitialized(2);
LinePoints[0] = FVector2D(LinePos, 0.0f);
LinePoints[1] = FVector2D(LinePos, FMath::FloorToFloat(AllottedGeometry.Size.Y));
FSlateDrawElement::MakeLines(
DrawElements,
LayerId + 1,
AllottedGeometry.ToPaintGeometry(),
LinePoints,
DrawEffects,
DrawColor,
false
);
FString LabelString = MarkedFrame.Label;
if (bDrawLabels && !LabelString.IsEmpty())
{
// Draw the label next to the marked frame line
FVector2D TextSize = FontMeasureService->Measure(LabelString, SmallLayoutFont);
// Flip the text position if getting near the end of the view range
static const float TextOffsetPx = 2.f;
bool bDrawLeft = (AllottedGeometry.Size.X - LinePos) < (TextSize.X + 14.f) - TextOffsetPx;
float TextPosition = bDrawLeft ? LinePos - TextSize.X - TextOffsetPx : LinePos + TextOffsetPx;
FSlateDrawElement::MakeText(
DrawElements,
LayerId + 1,
AllottedGeometry.ToPaintGeometry(FVector2D(TextPosition, 0.f), TextSize),
LabelString,
SmallLayoutFont,
DrawEffects,
DrawColor
);
}
}
});
DrawFrameMarkers(GlobalMarkedFrames, OutDrawElements, true);
DrawFrameMarkers(MarkedFrames, OutDrawElements, false);
return LayerId + 1;
}
int32 FSequencerTimeSliderController::DrawVerticalFrames(const FGeometry& AllottedGeometry, const FScrubRangeToScreen& RangeToScreen, FSlateWindowElementList& OutDrawElements, int32 LayerId, const ESlateDrawEffect& DrawEffects) const
{
TSet<FFrameNumber> VerticalFrames = TimeSliderArgs.VerticalFrames.Get();
if (VerticalFrames.Num() < 1)
{
return LayerId;
}
for (FFrameNumber TickFrame : VerticalFrames)
{
double Seconds = TickFrame / GetTickResolution();
const float LinePos = RangeToScreen.InputToLocalX(Seconds);
TArray<FVector2D> LinePoints;
LinePoints.AddUninitialized(2);
LinePoints[0] = FVector2D(LinePos, 0.0f);
LinePoints[1] = FVector2D(LinePos, FMath::FloorToFloat(AllottedGeometry.Size.Y));
FSlateDrawElement::MakeLines(
OutDrawElements,
LayerId + 1,
AllottedGeometry.ToPaintGeometry(),
LinePoints,
DrawEffects,
FLinearColor(0.7f, 0.7f, 0.f, 0.4f),
false
);
}
return LayerId + 1;
}
Copying //UE4/Dev-Editor to //UE4/Dev-Main (Source: //UE4/Dev-Editor @ 3497164) #lockdown Nick.Penwarden #rb none ===================================== MAJOR FEATURES + CHANGES ===================================== Change 3433074 by Matt.Kuhlenschmidt Fix crash when clicking on certian tutorial blueprints. #jira UE-44593 Change 3433075 by Matt.Kuhlenschmidt Remove hittest grid log spam. The underlying problem causing this has been fixed Change 3433077 by Matt.Kuhlenschmidt Fix lighting becoming unbuilt when mesh painting #jira UE-44837 Change 3433081 by Matt.Kuhlenschmidt PR #3553: Crashfix for static array properties (Contributed by Pierdek) Change 3433104 by Alexis.Matte Make sure re-import skeletal mesh follow the import morph option #jira UE-42846 Change 3434825 by Matt.Kuhlenschmidt Fix crash when GC happens while the vr editor radial menu is open. Change 3434831 by Matt.Kuhlenschmidt Added missing file Change 3434868 by Shaun.Kime If you have a reroute node between a Material Function texture input and its usage, the parent material will fail to resolve the reroute node. #jira ue-44670 Change 3434998 by Alexis.Matte Meshes editors material/section panel are now fully transactional - Staticmesh editor: section material slot, section cast shadow, section collision, material slot instance, material slot name - Skeletal mesh editor: material slot instance, material slot name Also fix some transaction description #jira UE-44462 Change 3435195 by Jamie.Dale Fixed incorrect handling of some LTR scripts that require shaping These scripts need to go through HarfBuzz, and this also fixes a case where HarfBuzz wasn't applying font scale correctly. #jira UE-44767 Change 3435199 by Jamie.Dale Fixed some crashes/artifacts with bidirectional text It was possible for a line to compute an incorrect range, which could cause crashes or other highlighting issues. The highlighting logic has also been updated as the old code didn't handle all bidirectional cases correctly. Change 3435200 by Jamie.Dale Fixed a grapheme cluster metrics issue in the font editor viewport The viewport also now respects the default shaping method CVar. Change 3435771 by Alexis.Matte Fix degenerated bounds calculation for skeletalmesh when the skeleton is remove from a re-import (PhysicAsset API change, adding 1 function) #jira UE-44609 Change 3436856 by Jamie.Dale Added some missing Unicode block ranges Change 3436914 by Jamie.Dale Adding some missing combining character ranges to the text shaper Change 3436923 by Alexis.Matte PR #3463: Get bounds for all triangles, not just the first one. WedgeIndex was . (Contributed by DaveC79) #jira UE-43764 Change 3436948 by Jamie.Dale Updated the Portal to use the predefined Unicode block ranges Change 3436961 by Max.Chen Sequencer: Show camera shake/anim track menus even if there aren't any assets. Change 3437244 by Max.Chen Sequencer: Clear locked cameras when releasing Sequencer. #jira UE-44967 Change 3437515 by Arciel.Rekman UBT: improvements for LocalExecutor. - Larger number of parallel jobs on 16GB+ machines. - Use WaitForExit() instead of polling. - Tested on Linux and Mac. Change 3437629 by Matt.Kuhlenschmidt Improve asset import data display in static and skeletal meshes Change 3438047 by Arciel.Rekman Fix overlapping ranges being passed to memcpy(). Change 3438822 by Yannick.Lange ViewportInteraction: Move gizmo handle files to make them private. Change 3438906 by Matt.Kuhlenschmidt PR #3556: Git Plugin: fix new option "init Git LFS" that make assets read-only (master/UE4.17) (Contributed by SRombauts) Change 3438907 by Matt.Kuhlenschmidt PR #3565: add -quality option to buildlighing commandlet (Contributed by kayama-shift) Change 3438908 by Matt.Kuhlenschmidt PR #3558: UE-44862: Always update SColorPicker color on OK button (Contributed by projectgheist) Change 3439393 by Matt.Kuhlenschmidt Force highest LOD for highres screenshots Change 3439819 by Matt.Kuhlenschmidt Turned FAssetData into a struct for some upcoming script exposure of FAssetData Change 3439949 by Arciel.Rekman Fixed selection logic for the UE4_LINUX_USE_LIBCXX environment variable. - Allows disabling libc++ by setting the variable to 0. - Pull request #3576 contributed by jared-improbable. Change 3441078 by Jamie.Dale The culture/language/locale console commands are now available in all build configs Change 3441109 by Jamie.Dale Text containing surrogate pairs now runs through HarfBuzz when shaping in Auto mode This is needed as the kerning-only shaping code assumes that everything is within the BMP Change 3441275 by Matt.Kuhlenschmidt Disable spinning on location and scale. These dont work because we have no notion of infinite spinning Change 3442748 by Yannick.Lange ViewportInteraction: Remove unused console variables. Change 3442775 by James.Golding Add support for editing MaterialFunctions to MaterialEditingLibrary Pull Material recompile/update code into UMaterialEditingLibrary::RecompileMaterial Pull MaterialFunction update code into UMaterialEditingLibrary::UpdateMaterialFunction util Move RebuildMaterialInstanceEditors to UMaterialEditingLibrary Added test content for Material/MaterialFunction editing Add needed BlueprintReadWrite to expressions (constants, function input/output) Expose UMaterialExpressionMaterialFunctionCall::SetMaterialFunction to BP, rename old func (which takes old function) to SetMaterialFunctionEx, also expose GetInputNameWithType Change 3442779 by James.Golding Fix header order Change 3442817 by Yannick.Lange ViewportInteraction: Add can execute checks for level editor commands. Change 3443038 by Michael.Dupuis #jira UE-43377: When you select a foliage actor we will move all instance contained in it to the new level as we can't move a foliage actor Only permit moving foliage instance if there is some selected Change 3443855 by Michael.Dupuis #jira UE-44885: Unregister from PerModuleDataObjects when the object is destroyed Change 3446096 by Max.Chen Sequencer: Add OnFinished() event when a level sequence completes playback #jira UE-45173 Change 3446097 by Max.Chen Sequencer: Evaluate one last time before the sequence is torn down and reset #jira UE-45174 Change 3446242 by Jamie.Dale Fixed caret not appearing in empty text layouts Caret selections have no range, and therefore have no width Change 3446361 by Matt.Kuhlenschmidt Fix WITH_EDITOR only functions causing generated code compile errors when the all functions on the class are WITH_EDITOR Change 3446457 by Alexis.Matte Polish the speed tree import dialog #jira UE-44963 Change 3446946 by Michael.Trepka Modified FWindowsWindow::GetRestoredDimensions to return correct window position for normal windows for which GetWindowPlacement returns position in workspace coordinates #jira UE-37934 Change 3447543 by Arciel.Rekman Reduce VMAs on Linux. - Trades off increased address space (VIRT in terms of ps/htop) for smaller number of distinct mappings (VMAs, virtual memory areas). This decreases possibility to run into vm.max_map_count limit on Linux. - Tested on Linux and Mac. Change 3448468 by Arciel.Rekman Fix race condition during creation of GMalloc. - On Mac GMalloc can be created on two different thread that are racing with each other - app's main thread and a system thread. Change 3449012 by Max.Chen Sequencer: Add time to transform, color and vector key structs so that key times are editable from the key editors. #jira UE-45089 Change 3449018 by Max.Chen Sequencer: Add OnCameraCut event that fires when there is a camera cut. #jira UE-45137 Change 3449195 by Max.Chen Sequencer: Add setting for limit scrubbing to playback range. #jira UE-43502 Change 3449198 by Max.Chen Sequencer: Reorder hierarchical bias so that group priority takes precedence. Change 3449217 by Max.Chen Sequencer: Add setting to activate realtime viewports when in sequencer. Change 3449219 by Max.Chen Sequencer: Focus on search boxes when opened. Change 3449238 by Max.Chen Sequencer: Assign actor should replace the actor itself after it has updated all the components. Also, replace components be fullname rather than by class. Change 3449239 by Max.Chen Sequencer: Fix offsets when moving multiple sections. Dragging should be clamped to the bounds that any of the selected sections hits against the unselected sections. Change 3449241 by Max.Chen Sequencer: Restore section selection after full tree rebuild. Change 3449279 by Max.Chen Sequencer: Set movie scene capture frames only when not using custom frames. This allows the user entered frame numbers to persist in config, rather than overwriting them when doing a "Render Shot" Change 3449280 by Max.Chen Sequencer: Spawn in the persistent level. Otherwise, they get spawned into whatever sublevel is current. #jira UE-44552 Change 3449294 by Max.Chen Sequencer: Null check for sequencer ed mode crash. Change 3449297 by Max.Chen Sequencer: Fix delay in sliding values. Mark changed when sliding values. Mark refresh immediately when committing values since OnValueChanged will be called and needs to have the correct value that was refreshed immediately. #jira UE-42866 Change 3449542 by Max.Chen Sequencer: Fix scrubber hit testing so that the time scrubber is really favored over the playback ranges. #jira UE-44569 Change 3451507 by Matt.Kuhlenschmidt Fix extra slate uv coords not functioning on ES2 Change 3451510 by Matt.Kuhlenschmidt PR #3595: Fixed wrong colour for level status (Contributed by ronve) Change 3451529 by Alexis.Matte fbx scene importer: Make sure we set INVALID_UNIQUE_ID to node that has no attribute. #jira UE-34410 Change 3451611 by Yannick.Lange ViewportInteraction: Dragging gizmo without second pass for snapped calculations. Change 3452134 by Jamie.Dale Fixed constant font cache flushing if a widget had no font set Change 3452239 by Jamie.Dale Fixed constant font measure flushing if a widget had no font set Change 3452243 by Jamie.Dale Removed deprecated code for creating fonts from bulk data Change 3452277 by Jamie.Dale The concept of "stale" composite fonts is now editor-only Change 3452358 by Alexis.Matte Fbx scene importer: Do not remove existing attribute reference from the blueprint if the reimport of the associate mesh attribute is not tick. #jira UE-45232 Change 3452678 by Max.Chen Sequencer: Fix crash on export if there's no shot data. Change 3453057 by Matt.Kuhlenschmidt Exposed asset exporting to script Change 3453782 by Andrew.Rodham Sequencer: Fixed deterministic cooking issues with movie scene data - Movie scene signatures are now initialized in PostInitProperties - A warning is now presented when attempting to cook old data that was never serialized with a signature. - Removed redundant legacy data upgrade logic that could dirty level sequences on load. #jira UE-44912 Change 3453788 by Yannick.Lange ViewportInteraction: Custom scene proxy for gizmo handles. Change 3453938 by Max.Chen Sequencer: Hotkeys (shift , and shift .) to step to next/previous shot #jira UE-45119 Change 3454058 by Michael.Dupuis Fixed StaticAnalysis Change 3454077 by Max.Chen Sequencer: Fix not saving the pre-animated track value when creating a track/key. On pre object change, broadcast property change so that a track or key can be created. That track/key needs to be evaluated immediately so that the pre-animated state can be saved properly. This is done now with RefreshAllImmediately and is only called when a track has been created. Also, added a return value for OnKeyProperty, so that it's known what changed in particular (ie. track created, track modified, etc) Also, fixed transform keying so that if a transform track already exists for the object or the scene component, the existing track is used. #jira UE-45130 Change 3454108 by Nick.Darnell UMG - Fixing the WIC to properly record cursor delta so that scrollbars work. Change 3454109 by Jamie.Dale Cache the text layout source info in non-shipping builds so you can inspect it in the debugger Change 3454202 by Matt.Kuhlenschmidt Fix bogus error message about the number of usable texture coordinates on ES2 when compiling a UI domain material Change 3454390 by Yannick.Lange Fix creating a plugin in a C++ project opens a second instance of Visual Studio. Use SourceCodeAccessor to open solution when necessary. #jira UE-45035 Change 3454564 by Matt.Kuhlenschmidt #rnx Fix deprecation warnings Change 3455471 by Yannick.Lange ViewportInteraction: Fix entering and exiting VR Mode disables gizmo in desktop editor viewport. #jira UE-44965 Change 3456183 by Max.Chen Sequencer: Auto key, auto track refactor. Auto key - create a key when the property changes and there's an existing track. Auto track - create a track when the property changes. This is only exposed in the level sequence editor. All - create a key and a track when the property changes. This is only exposed in VR Editor. None - do nothing. #jira UE-43469 Change 3456349 by Andrew.Rodham Sequencer: Only perform legacy signature checks on instances, and only where signatures match the CDO Change 3456678 by Alexis.Matte Allow to add null level instance override material via the advance material array. But still limit the override material number to the mesh material number. #jira UE-45306 Change 3456945 by Max.Chen UMG: Add restore state to 2d transform section. #jira UE-45372 Change 3457196 by Arciel.Rekman Linux: serialize allocations from the memory pool. Change 3458434 by Max.Chen Sequencer: Remove obsolete set tick prerequites functions. Change 3458671 by James.Golding Added MIC editing support to MaterialEditingLibrary Fix static analysis warning Change 3458888 by Matt.Kuhlenschmidt PR #3615: More detailed log messages for debugging warnings/errors (Contributed by projectgheist) Change 3458893 by Matt.Kuhlenschmidt PR #3583: UE-44960: Delta value wasn't being used (Contributed by projectgheist) Change 3458895 by Matt.Kuhlenschmidt Fix typo Change 3458902 by Matt.Kuhlenschmidt PR #3607: Improved InputKeySelector functionality (Contributed by projectgheist) Change 3458917 by Matt.Kuhlenschmidt Fix crash with invalid object properties in the class picker #jira UE-39000 Change 3458939 by Matt.Kuhlenschmidt Fix compile error Change 3458984 by andrew.porter QAGame: Initial check in of sequencer smoke test map Change 3459510 by Matt.Kuhlenschmidt Fixed ensure when deleting a map that contains build data which also happens to be the currently loaded map. #jira UE-45052 Change 3460985 by Max.Chen Sequencer: Snap play time to keys now allows scrubbing between keys and snaps to key times within a certain screenspace tolerance. #jira UE-45090 Change 3461698 by Arciel.Rekman Avoid using ARRAY_COUNT in Vulkan. - Sometimes those arrays can have no extensions whatsoever, and it is illegal to declare a 0 element C array. Change 3462053 by Max.Chen Sequencer: Show sequencer spawnables in the world outliner and add the icon overlay for spawnables. #jira UE-43470 Change 3462139 by Max.Chen Property Editor: Add objects to FPropertyAndParent Change 3462202 by Arciel.Rekman Fix FSocket::Recv() blocking with Peek when there's no data. Change 3462253 by Nick.Darnell Slate - New Clipping System Clipping is now a stateful choice made during composition of the slate hierarchy. Previously every widget got to respect or modify the clipping rect on an as needed basis. The problem was that clipping was only allowed in the layout space of the widget, and it wasn't possible to properly clip elements with render transforms. The new system permits all kinds of transforms on any widget, and they will all be clipped correctly. It tries to use Scissor Rects as they are much cheaper, but will switch over to stenciling if need be to represent a complicated masking structure with several rotated clipping rects all needed to be combined together. Here are the new clipping states a widget can have, almost all widgets are set to No. Only change it from No if your widget actually needs to clip, generally speaking most widgets don't need to clip. /** * This widget does not clip children, it and all children inherit the clipping area of the last widget that clipped. */ Inherit, /** * This widget clips content the bounds of this widget. It intersects those bounds with any previous clipping area. */ ClipToBounds, /** * This widget clips to its bounds. It does NOT intersect with any existing clipping geometry, it pushes a new clipping * state. Effectively allowing it to render outside the bounds of hierarchy that does clip. * * NOTE: This will NOT allow you ignore the clipping zone that is set to [Yes - Always]. */ ClipToBoundsWithoutIntersecting UMETA(DisplayName = "Yes - Without Intersecting (Advanced)"), /** * This widget clips to its bounds. It intersects those bounds with any previous clipping area. * * NOTE: This clipping area can NOT be ignored, it will always clip children. Useful for hard barriers * in the UI where you never want animations or other effects to break this region. */ ClipToBoundsAlways UMETA(DisplayName = "Yes - Always (Advanced)"), /** * This widget clips to its bounds when it's Desired Size is larger than the allocated geometry * the widget is given. If that occurs, it behaves like [Yes]. * * NOTE: This mode was primarily added for Text, which is often placed into containers that eventually * are resized to not be able to support the length of the text. So rather than needing to tag every * container that could contain text with [Yes], which would result in almost no batching, this mode * was added to dynamically adjust the clipping if needed. The reason not every panel is set to OnDemand, * is because not every panel returns a Desired Size that matches what it plans to render at. */ OnDemand UMETA(DisplayName = "On Demand (Advanced)") - Large API Change - All FSlateDrawElement::Make_____ calls have been deprecated that involved passing in a clipping rect. You no longer should are passed a Clipping rect via OnPaint. You are still passed a rect, but this rect represents a Culling Rect, which is valuable if you need to just out right not paint things the user can't possibly see. If you were previously trying to determine if you should cull widgets, by doing something like this, if ( FSlateRect::DoRectanglesIntersect(MyClippingRect, CurWidget.Geometry.GetRenderBoundingRect()) ) That's no longer a good option since there are ways for widgets to ignore the culling bounds. You should convert anything like above to the one below, if (!SWidget::IsWidgetCulled(MyCullingRect, CurWidget)) To assist in debugging efforts, there are several new debugging console flags in Slate, Slate.ShowClipping 1 - Controls whether we should render a clipping zone outline. Yellow = Axis Scissor Rect Clipping (cheap). Red = Stencil Clipping (expensive). Slate.DebugCulling 1 - Disables pushing clipping or stencil rects to the GPU, but continues to intersect culling rects, so that you can tell if a widget is properly culling children it can't possibly draw. Slate.ShowTextDebugging 1 - Show debugging painting for text rendering. I've added a new Experimental Feathering Option, it adds AA geometry around the outside of Box and Image brushes. Slate.Feathering 1 If you're using RenderDoc or something similar, you can now enable render events for slate, so that you can better grok how we're batching and changing states for each UI render pass. Slate.EnableDrawEvents 1 #jira UE-4659 #rn Change 3462714 by Nick.Darnell Fixing a few more compiler issues with the clipping changes. Change 3462726 by Max.Chen Switch OnEditStructChildContentsChanged to use FObjectWriter instead of FMemoryWriter which supports serializeing UObjects. This fixes a crash when adding actor array elements to a user defined event struct. #jira UE-45431 Change 3462801 by Nick.Darnell Adding a UMG dependency to EngineTestBuild. Change 3462914 by Max.Chen Sequencer: Fix regression where spawnables aren't getting saved. Caused by 3407138 #jira UE-30007 #jira UE-39003 Change 3462946 by Nick.Darnell Automation - Tweaking the UI automation tests converting them over to use the new UI Screenshot automation test. Automation - Adding a blur widget test. Change 3462987 by Matt.Kuhlenschmidt Back out changelist 3458893 Change 3464774 by Matt.Kuhlenschmidt PR #3629: Bugfix: Missing small icon in Project Launcher profile editor (Contributed by aarmbruster) Change 3464785 by Nick.Darnell Fixing some clipping stuff in the editor. Change 3464830 by andrew.porter QAGame: Second pass on sequencer smoke test map Change 3464902 by Nick.Darnell Loading - Adding some additional checks to the the loading code to ensure we're on the main thread. Additionally adding a fix from UDN that prevents deadlocks in the rare case a user hits Alt+Tab in a fullscreen game while in a hard loading screen. Change 3464988 by Max.Chen Sequencer: Add attenuation settings for attached audio components. #jira UE-33080 Change 3465024 by Nick.Darnell MoviePlayer - Impoving the playback mode displaynames. Change 3465074 by Arciel.Rekman Fix shadowing issues of GraphicsPSOInit. Change 3465097 by Matt.Kuhlenschmidt Some refactoring of the details panel Exposed new methods of adding a struct on scope to a details panel and have it work properly with customizations. The scruct on scope has a "fake" ustructproperty that allows the details panel to show the whole struct not just an individual property. Refactored the API for adding rows to details panels to make it more consistent\ AddChildCustomBuilder->AddCustomBuilder AddChildGroup->AddGroup AddChildContent->AddCustomRow AddChildPropert->AddProperty AddChildStructure->AddExternalStructureProperty AddStructure->AddAllExternalStructureProperties AddExternalProperty->AddExternalObjectProperty or AddExternalStructureProperty Change 3465186 by Max.Chen Sequencer: Save the BindingID in the pre animated token producer so that it can be destroyed properly. This fixes a bug where the default state of a spawnable isn't saved. #jira UE-43780 Change 3465315 by Matt.Kuhlenschmidt Fix Fortnite and Orion details panel customization warnings Change 3465424 by Nick.Darnell Automation - Moving the step for setting the link to the automation reports to be set before we start the engine. Change 3465488 by Nick.Darnell Automation - Forcing textures to load before taking screenshot, so that the scene gets another opportunity to render before we render with Slate. This should fix the Blur UI Test. Change 3466277 by Arciel.Rekman Linux: fix window drift when dragging (UE-40380). - Change by Cengiz Terzibas. Change 3466370 by Nick.Darnell UMG - Fixing the colors for the resize handle in the designer. Change 3466372 by Nick.Darnell UMG - Fixing the ruler ticks sometimes not being drawn. Change 3466374 by Nick.Darnell UMG - Fixing the designer showing multiple options for sequencer. Change 3466377 by Nick.Darnell UMG - Cleaning up some clipping bits. Change 3467025 by Andrew.Rodham Re-saving assets that contain legacy (<4.15) movie scene data to remove deterministic cook warning. If conflicts arise during merging of these assets, please ignore the changes made in dev-editor, and accept game-side changes. (CIS step 62283298, jobId 7773146) (CIS step 62283297, jobId 7773146) Change 3467099 by Max.Chen Fix GetObjectPropertyClass ensure logic. This was returning UObject::StaticClass when valid. Change 3467172 by Max.Chen Sequencer: Evaluation optimizations. Also, fixes subsequences not getting expired, leaving dangling spawnables. #jira UE-43690 Change 3467192 by Matt.Kuhlenschmidt Fix transactions getting stuck in the color grading controls. This prevents PIE from working properly and causes shutdown crashes #jira UE-45527 Change 3467251 by Yannick.Lange ViewportInteraction: Fix scale and rotation snap while dragging with two lasers. #jira UE-43489 Change 3467331 by Matt.Kuhlenschmidt Fix D3D shader compiler hard coding shader path and not giving proper warnings when it cannot find the shaders Change 3467335 by Matt.Kuhlenschmidt Remove DarkStyle attribute from SNumericEntryBox and allow a spin box style to be passed to it. Change 3467558 by Max.Chen Scene Outliner: Generic support to add default columns to a scene outliner. Change 3467565 by Jamie.Dale Removing old screenshot data for test Change 3467589 by Nick.Darnell Editor - Random cleanup. Change 3467596 by Nick.Darnell Progress Bar - Exposing Border Padding to UMG. Change 3467600 by Nick.Darnell Slate - Adjusting the rendering of the splitter, previously it could be off by a pixel or two, which becomes more apparent now with the clipping changes. Change 3467601 by Max.Chen Property Editor: Fix static analysis warning Change 3467662 by Nick.Darnell Automation - Fixing a bug with the screenshot comparison tool not replacing (removing) the old screenshot data. Change 3467674 by Max.Chen Property Editor: Fix static analysis warning Change 3467737 by Max.Chen Sequencer: Added OnMovieSceneBindingsChanged delegate Change 3468053 by tim.gautier QAGame: Updating Editor Smoke Map - Updated landscapes into Stations for testing - Added Foliage Sublevel Change 3468194 by Arciel.Rekman Linux: fix problems communicating with various STL-using libs. - Stop hiding global new/delete signatures. - Disable CEF3 since this change uncovers the problem with libcef.so not built to use bundled libpng. Change 3468678 by Max.Chen Sequencer: Set "Sequencer Actor" tag before setting the actor label so that the outliner refreshes after the actor has the tag. Change 3469314 by tim.gautier QAGame: Added Painted Foliage / Spline section to EditorSmoke map Change 3469377 by Nick.Darnell Slate - Fixing some warnings in a couple of sample games due to the clipping changes. #rnx Change 3469767 by Max.Chen Sequencer: Outliner column and sequencer binding data #jira UE-43470 Change 3469974 by Arciel.Rekman Fix code projects not working in Linux installed build. Change 3470082 by Nick.Darnell Slate - The GetRenderer() call on SlateApplication no longer returns a SharedPtr, rather than convert it to a thread safe ptr, going to just make accessing it a raw ptr return, so it can be safely referenced on the game thread while being used on the slate loading thread. Change 3470174 by Nick.Darnell Slate - Get the last widget in a widget path utility. Change 3470176 by Nick.Darnell UMG - User Widgets now have an easy way to know if they're part of or have been removed from the focused widget path, which is handy for doing effects. Change 3470261 by Nick.Darnell Slate - The GetRenderer() call on SlateApplication no longer returns a SharedPtr, rather than convert it to a thread safe ptr, going to just make accessing it a raw ptr return, so it can be safely referenced on the game thread while being used on the slate loading thread. Change 3470286 by Max.Chen Sequencer: Scene Component's HiddenInGame now goes through the VisibilityTrack and the visibility template. Change 3470366 by Nick.Darnell Slate - We now version focus per user, that way during focus events, we can safely abort focus events and state transitions if someone interrrupts the active focus event with something new. Change 3470649 by Matt.Kuhlenschmidt Fix deprecation warnings Change 3470695 by Matt.Kuhlenschmidt Fixed typo #jira UE-45580 Change 3470721 by Matt.Kuhlenschmidt Fix static analysis Change 3471254 by Michael.Dupuis #jira UE-42952: Keep occlusion result per view Change 3471287 by Nick.Darnell UMG - Render Focus Rule now defaults to never. Change 3471291 by Nick.Darnell Slate - Fixing FSlateRenderer* change fallout. Change 3471299 by Nick.Darnell Slate - Fixing FSlateRenderer* change. Change 3471323 by Nick.Darnell Automation - Fixing automation and Static Analysis warning. Change 3471413 by andrew.porter QAGame: Added test content for anim blending and material parameteres to sequencer smoke level Change 3471649 by Max.Chen Sequencer: Modify the track when adding animation #jira UE-45618 Change 3471659 by Matt.Kuhlenschmidt Added a way to check if a movie is playing from the engine. Prevented viewport redraws for canvas loading screens if a slate based loading movie is playing Change 3471734 by Matt.Kuhlenschmidt Added basic material hookup to USD. Similar to FBX it will find materials based on rules specified by the user in the import settings Change 3472176 by Nick.Darnell UMG - Improving the display of the +Track menu in sequencer for UMG. Renamed it from +Add, which is repetitve to +Track. Additionally, the dropdown now shows the currently selected widgets, as well as a submenu containing all the 'important' widgets, so we no longer populate that list with a ton of irrelevant widgets that are just Buton_1 - N, which is pointless in showing people, they'll never guess which is the right button. Change 3472740 by Max.Chen Sequencer: Add GetThisFrameMetaData accessor Change 3472748 by Max.Chen Sequencer: Added OnBeginScrubbing and OnEndScrubbing event delegates Change 3472753 by Max.Chen Sequencer: Add EMovieSceneDataChangeType parameter to OnMovieSceneDataChanged delegate Change 3472870 by Nick.Darnell Clipping - Fixing the deprecated tip for scissor rect boxes to be correct. Removing it's usage from UT. Change 3473340 by Max.Chen Scene Outliner: Add ability to register additional filters Change 3473348 by Max.Chen Details View: Make ForceRefresh virtual. Added accessors to delegates (ie. GetIsPropertyReadOnlyDelegate) Change 3473441 by Max.Chen Sequencer: Autokey Refactor Part 2. Autokey is now a single toggleable state. Allow Edits Mode has 3 states: Allow All Edits - Allow any edits to occur, some of which may produce tracks/keys or modify default properties. Allow Sequencer Edits Only - All edits will produce either a track or a key. Allow Level Edits Only - Properties in the details panel will be disabled if they have a track. #jira UE-45229 Change 3473670 by Nick.Darnell Modules - The module manager no longer returns sharedptrs to IModuleInterfaces, this was the source of rare hard to track down crashes due to a shared ptr reference leak when GetModule was called on non-main threads. We now store a TUniquePtr internally, and only lease out raw pointers. #rn Change 3473711 by Nick.Darnell Disabling the ensure in the module manager. Change 3473747 by Max.Chen Sequencer: Fix tooltip Change 3474091 by Jamie.Dale Added a warning when cooking a UFontFace that is outered to a UFont asset These cause issues with iterative COTF, and should be split off into their own assets (as the UI has been asking people to do for several versions) Change 3475052 by Yannick.Lange VR Editor: Fix Crash when quitting the editor with VR Mode enabled. VR Editor was being enabled when saving the map on closing the editor. #jira UE-45415 Change 3475054 by Yannick.Lange Fix crash when adding a camera to the world in VR Mode the second time. The slate application did not reset when stop dragging in VR Mode, so the second time when starting to drag a camera out of the UI it would already by in a dragging state. #jira UE-45574 Change 3475263 by Nick.Darnell Fixing some additional cases of IModuleInteface SharedPtr usage. Change 3475268 by Max.Chen Sequencer: Set jumped state when looping playback. This fixes an issue where audio doesn't stop and restart when looped. #jira UE-45654 Change 3475269 by Max.Chen Scene Outliner: Additional filters should only apply to actor browsing mode Change 3475407 by Nick.Darnell Fixing some clipping / module shared ptr changes in the launcher code. Change 3475542 by Max.Chen Sequencer: Update thumbnail and section highlighting to use new clipping behavior. #jira UE-45692 #jira UE-45689 Change 3475743 by Michael.Dupuis #jira UE-45183: When updating phyx region take into account simple collision mip Change 3475949 by Arciel.Rekman Remove PhysX deoptimization (no longer needed). - OR-24947 has been closed three months ago. Change 3476022 by Michael.Dupuis #jira UE-45560: Make sure we're not going out of range Change 3476063 by Michael.Dupuis #jira UE-45562: Do not try to unregister from static mesh if no static mesh is specified for the component Change 3476168 by Michael.Trepka Added handling of directory symlinks to FApplePlatformFile::IterateDirectory #jira UE-43704 Change 3476172 by Nick.Darnell Fixing a Imoduleinterface change. Change 3476183 by Jamie.Dale Exposing GoTo/ScrollTo to single-line editable text for API parity with multi-line editable text Change 3476385 by Arciel.Rekman Linux: handle symlinks when iterating directories. Change 3476522 by Michael.Trepka Solved a problem with Mac FMallocTBB::Malloc() returning nullptr for 0 bytes allocations, which is inconsistent with other platforms. On Mac we always scalable_aligned_malloc, which behaves differently than scalable_malloc, so for 0 bytes requests we allocate sizeof(size_t), which is exactly what scalable_malloc does internally in such case. Change 3476806 by Nick.Darnell UMG - Focus the designer after dropping a widget onto the surface. Change 3476809 by Nick.Darnell Curve Editor - Enable Clipping on the curve editor. Change 3477475 by Nick.Darnell Fixing a module interface shared ptr usage in UT. Change 3477553 by Yannick.Lange VR Editor: Removed AssetEditorPanelID and replaced it with TabManagerPanelID. A panel for AssetEditorPanelID was never created making it impossible to open an asset editor. Change 3477734 by Yannick.Lange VR Editor: Fix Warning: SetRelativeScale3D : Invalid Scale entered (X=inf Y=inf Z=inf). Resetting to 1.f. warning when adding CineCameraActor to World from Modes Panel. Make sure to not divide by zero when there is no boundary scale. #jira UE-44933 Change 3477761 by Jamie.Dale Some improvements to avoid loading the native .locres files twice when we don't need to Change 3477780 by Nick.Darnell PR #3250: Return correct VirtualUserIndex (Contributed by projectgheist) Change 3477786 by Nick.Darnell PR #3650: Changed TestNull to accept const pointers. (Contributed by e-agaubatz) Change 3477795 by Nick.Darnell PR #2844: UE-36936: Don't stretch container for Plugin Image (Contributed by projectgheist) Change 3478092 by Nick.Darnell PR #2341: Optional Middle Mouse Button panning in Graph Editor (Contributed by flipswitchingmonkey) Engine Edit - Made some small changes to the enum type, and some naming. Change 3478450 by Nick.Darnell Fixing some uninitialized variable errors. Change 3479827 by Andrew.Rodham Sequencer: Addressed serialization issues with some struct types Change 3479874 by Jamie.Dale Fixed "NativeGameLanguage" not being used correctly during localization initialization Change 3480012 by Andrew.Rodham Sequencer: Fixed loading tagged properties as native for track identifiers #jira UE-45823 Change 3480337 by Alexis.Matte Fix morph target crash missing some valid index check Change 3480804 by Alexis.Matte Fix crash with ColorGradingMode custom detail #jira UE-45638 Change 3480892 by Andrew.Rodham Sequencer: Ensure that movie scene sequences know about the editor object version #jira UE-45842 Change 3481073 by Nick.Darnell Fix the shader compiler error from main in Slate. Change 3481303 by Nick.Darnell UMG - Fixing a bug with the drag handle not working correctly in HDPI mode. Change 3481308 by Nick.Darnell Slate - Tweaking the IsWidgetCulled logic to consider both the layout and rendering bounds. If we do this, we get a much more desireable outcome for people that want to animate widgets and such and plan to have temporary animations to move the widget offscreen, but want the layout bounds to anchor that widget in the visible frame so that it animates even when normally it would be culled b/c the render transform and therefore the renderbounds moved it completely outside the culling rect. Change 3481629 by Max.Chen Sequencer: Add Level Sequence Actor as an output for CreateLevelSequencePlayer() #jira UE-45785 Change 3481899 by Yannick.Lange VR Editor: Added debug modetoggle command with an event that is broadcasted whenever this happens. Currently this is used to show all the floating UIs of the UI system to debug without HMD using VREd.ForceVRMode. Change 3481984 by Michael.Dupuis #jira UE-45845: always validate if we have a static mesh before trying to access it as user can decide to not assign one and use the tools Change 3482047 by Nick.Darnell Slate - Adding some comments to IsWidgetCulled. Change 3482110 by Nick.Darnell Slate - IsWidgetCulled is no longer static and is now called IsChildWidgetCulled. Change 3482136 by Jamie.Dale The CamelCase break iterator now treats digits around character tokens as part of the identifier Change 3482138 by Michael.Dupuis #jira UE-45854: Properly unregister during undo operation Change 3482150 by Michael.Dupuis #jira UE-45845 : Add missing nullcheck for GetStaticMesh Change 3482153 by Nick.Darnell Slate - IsWidgetCulled is no longer static and is now called IsChildWidgetCulled. Change 3482180 by Nick.Darnell UMG - Widget Components do not need to define a widget class to be rendererd, they can have native slate widgets only. This was a regression from main. Change 3482273 by Nick.Darnell UMG - Tweaking some more things about the widget component box outline. Change 3482308 by Alexis.Matte Fixing morph target smooth group support. Do not call FillSkeletalMeshImportData more then once on FbxNode since this fonction is doing some conversion and change the FbxNode, applying those conversion twice do not return the same faces smooth group. #jira UE-45696 Change 3482327 by Nick.Darnell UMG - More tweaks to the WidgetComponent so both shows the box outline, but works in game and VR editor. Change 3482705 by Andrew.Rodham Resaving assets that contain legacy data to suppress CIS warnings. - If conflicts arise in these assets, please take game-side changes and ignore these. Change 3484245 by Max.Chen Sequencer: Evaluate on end scrub. This fixes a bug where audio doesn't evaluate in a stopped position at the end of scrubbing, causing it to not stop all sounds. This fixes a bug introduced from 3365018 where evaluate on end scrub was removed. #jira UE-45905 Change 3484263 by Max.Chen Sequencer: Fix crash on forcing refresh of details panel on release. #jira UE-45911 Change 3484431 by Andrew.Rodham Resaving assets that contain legacy data to suppress CIS warnings. - If conflicts arise in these assets, please take game-side changes and ignore these. Change 3484474 by Alexis.Matte Fix the morph target animation curve name matching. #jira UE-20294 Change 3484475 by Alexis.Matte When removing a LOD, make sure we remove all morph target data associate to the LOD. Change 3484489 by Nick.Darnell PR #3668: UE-45908: Cache debug line locations when performing a LineTraceMulti (Contributed by projectgheist) #jira UE-45908 Change 3484692 by Nick.Darnell Slate - Reverting a change from a game stream. All Arranged Children don't need to allocated 42 to begin with. Do need to initialize WidgetPaths better. Change 3484703 by Nick.Darnell Player Input - Making the input event loop for players obey EKeys::NUM_TOUCH_KEYS, rather than being set to Touch10, as the maximum touch input amount, to make supporting greater than 10 touches easier. Also making the seeding of keys use EKeys::NUM_TOUCH_KEYS. #jira UE-43213 Change 3484918 by Jamie.Dale Fixed font measuring regression with RTL text RTL applies the character count to the next glyph, so it shouldn't process the end of the loop (this was how the older code used to work). Change 3485718 by Nick.Darnell Editor - Removing Super Search & User Feedback button. Change 3485719 by Nick.Darnell Portal - Removing SuperSearch. Change 3485751 by Matt.Kuhlenschmidt Fix crash accessing platformer game menu if the menu is open during a console based load #jira UE-45950 Change 3486047 by Arciel.Rekman Linux: add OpenEXR implementation (UE-40270). #jira UE-40270 Change 3486467 by Max.Chen Sequencer: Reset max tick rate when destroyed. #jira UE-45956 Change 3486477 by Max.Chen Sequencer: Refresh outliner when column is removed. #jira UE-45891 Change 3486667 by Andrew.Rodham Added missing include Change 3486724 by Andrew.Rodham Sequencer: Fixed curves with no default value, and no keys being evaluated and applied to properties - Also fixed an edge case where a zero (but non-animated) channel could be applied to a final transform Change 3486730 by Alexis.Matte In the Auto-Reimport options, hide the mout point only for the default /Game/ folder #UE-45684 Change 3486749 by Alexis.Matte Make sure the parent window of the monitor directory browse folder is set properly #jira UE-45682 Change 3486805 by Matt.Kuhlenschmidt Additional safety against invalid objects being accessed by slate Change 3486848 by Alexis.Matte Make sure Monitor folder feature support root mount point map folder During auto import, give priority to asset import factory over the scene import factory #jira UE-45691 Change 3486879 by Andrew.Rodham Removing obsolete QA assets Change 3486950 by Nick.Darnell PR #2281: Scrollbar missing features and SScrollbar fixes (Contributed by SNikon) Review - made some adjustments from the original. Change 3486954 by Nick.Darnell Slate - Moving the STableViewBase over to the FOverscroll class, rather than it's own clone. Change 3486967 by Nick.Darnell Slate - Fixing some HDPI calculations for fitting new windows on screen, it was using the unscaled size of the widgets for fitting, when it needed to scale them up. Change 3486970 by Andrew.Rodham Sequencer: Delay mouse capture until drag for sequencer time slider - Fixes context menus not opening as a result of mouse capture being taken on mouse down #jira UE-45937 Change 3486984 by Andrew.Rodham Sequencer: Improved blending type iconography Change 3486996 by Nick.Darnell UMG - Adding a way for games to opt-out of the slow widget path, to completely prevent them from being cooked. UMG - The movie data is no longer cloned for each new instance that inhabits. It now keeps a reference to the now publically accessible movie scene data on the class instead. Change 3487070 by Andrew.Rodham Sequencer: Added graphics for key areas that represent empty space Change 3487195 by Andrew.Rodham Sequencer: Changed evaluation groups to always flush implicitly - Due to the latent nature of blended token types, it's no longer safe to rely solely on execution token order between tracks - This fixes an issue where events set in the PostEvaluation stage were executed before blended token actuation Change 3487322 by Nick.Darnell PR #2457: Add .gitdeps.xml-files for plugins support (Contributed by bozaro) Change 3487363 by Nick.Darnell PR #2481: Fix for packing of a project with users plugins (Contributed by yatagarasu25) Change 3487439 by Nick.Darnell PR #2642: Changed private to protected in SVirtualJoystick.h (Contributed by Skylonxe) Change 3487500 by Arciel.Rekman Removed LinuxNativeDialogs. - No longer used; has been superceded by SlateDialogs since UE 4.8 (2 years ago). Change 3487630 by Lauren.Ridge Don't create Landscape Info Maps for Editor Preview Worlds or thumbnail worlds #jira UE-44885 Change 3487864 by Matt.Kuhlenschmidt Exposed the asset registry to blueprints and script. Works in editor scripts and runtime scripts AssetRegistry is now a UInterface object. Blueprint users can access various asset registry methods using the asset registry interface (via GetAssetRegistry) and various static helpers in the AssetRegistryHelpers object C++ users should still continue to use IAssetRegistry. Change 3487879 by Matt.Kuhlenschmidt Renamed asset tools uobject helper to UAssetToolsHelpers Change 3487926 by Lauren.Ridge Fixing reset to default not showing up for custom widgets #jira UE-44164 Change 3488184 by Matt.Kuhlenschmidt PR #3656: Make References/Referencers List copyable (Contributed by user37337) #jira UE-45763 Change 3488240 by Matt.Kuhlenschmidt Fix compiler issue Change 3488350 by Lauren.Ridge Landscape info map transactional state is based on its world's transactional state #jira UE-44885 #jira UE-46019 Change 3488412 by Matt.Kuhlenschmidt Fix reset to default showing up in two different places for some customizations Change 3488413 by Matt.Kuhlenschmidt Fix slate font customization Change 3488414 by Matt.Kuhlenschmidt Fix slate font customization Change 3488415 by Matt.Kuhlenschmidt Missed file Change 3488565 by Arciel.Rekman Add pretty printers for gdb (UETOOL-1171). - Committing shelf by Cengiz.Terzibas, with some modifications. #jira UETOOL-1171 Change 3489094 by Nick.Darnell Slate - The Slate RHI Renderer now caches the TextureLODGroups so that it can properly lookup the filtering of different texture groups that are set to Default, instead of a particular filter override on a texture. Engine/Rendering - Simplifying some of the setup logic in TextureLODSettings so that code is shared for setting them up properly after loading from a config file. Change 3489095 by Nick.Darnell PR #2699: GameViewportClient - Added a method to allow setting the viewport cur. (Contributed by rfenner) Review - Fixed spacing. Change 3489108 by Matt.Kuhlenschmidt Fix deprecation warning Change 3489120 by Nick.Darnell PR #3478: Fix possible UComboBoxString crash (Contributed by nakosung) Change 3489147 by Andrew.Rodham Sequencer: Adding return value to function to appease static analysis - This function is never compiled, and if it is, it won't compile, but static analysis doesn't know that Change 3489264 by Nick.Darnell Testing - Finishing the thought behind an enum comment. Change 3489265 by Nick.Darnell PR #2750: UE-35164: Button padding (Contributed by projectgheist) Change 3489267 by Nick.Darnell PR #3645: UE-45464: Handle SSlider mouse interaction more accurately (Contributed by projectgheist) Change 3489632 by Arciel.Rekman Correctness changes to MallocPoisonProxy. - Missing forwarding functions added. Incorrect comment removed. - Change by Steve.Robb, doing here so it is in 4.17. Change 3489689 by Arciel.Rekman More MallocPoisonProxy changes I missed in previous CL. Change 3489751 by Matt.Kuhlenschmidt Moved editor performance settings out of per-project settings so they can be shared across projects Change 3489837 by Lauren.Ridge Keyboard shortcut for entering/leaving VR Mode is now Alt+V Change 3491082 by Arciel.Rekman Linux: better fix for the crash due to name collision (UE-46040). - Put classes in Sequencer module into Sequencer namespace instead of SceneOutliner namespace. - Undid change in the SceneOutliner module. #jira UE-46040 Change 3491096 by Arciel.Rekman Fix UAT compilation on the newest mono. Change 3491240 by Max.Chen Sequencer: Disable key button when allow level edits only is on. #jira UE-46060 Change 3491406 by Yannick.Lange Fix editor crashes when opening a project that includes a plugin with more than two custom Volume classes. This issue was caused because registering show volume commands is based on finding volume classes. Finding these classes at multiple times resulted in a mismatch of the returned array of volume classes because modules/plugins were still being loaded. #jira UE-45806 Change 3491559 by Alexis.Matte Make sure we use the good preview mesh when doing a preview #jira UE-45963 Change 3491563 by Alexis.Matte Fix crash with staticmesh editor LodLevel selection Change 3491564 by Nick.Darnell UMG - Fixing an offset with the grab handles in HDPI mode. Change 3491595 by Nick.Darnell Editor - Fixing a clipping artifact in the pin type dropdown in the blueprint editor. Change 3491604 by Nick.Darnell Back out changelist 3489265 Change 3491615 by Arciel.Rekman Added malloc replay proxy (Linux only for now). - Allows to dump malloc callstream (without regard to threads) and replay later to study the behavior of different mallocs and/or repro problems. Change 3491684 by Arciel.Rekman Added FMalloc functions I missed. - Also moved function bodies into the .cpp file, this does not make a difference in performance in this case. Change 3491692 by Matt.Kuhlenschmidt Some minor fixes to the static mesh editor - Fix UV combo button looking non-standard on the toolbar - Fix a few combo buttons in the details panel looking too big. Change 3491702 by Arciel.Rekman Do not compile replay proxy-specific code when not used. Change 3491717 by Michael.Dupuis #jira UE-35083: The component is now the owner of the PerInstanceRenderData instead of the proxy Add an Update path to only update specified instances range Always call BuildTreeIfOutdated so we have a standard code path to make sure static mesh are fully loaded before trying to build the tree Moved the Instance Buffer aysnc to the base class, as it's not related to UHierarchicalInstancedStaticMeshComponent Expose a new property to decide if we require dynamic instance buffer Change 3491758 by Matt.Kuhlenschmidt Fix crash on static mesh editor shutdown Change 3491873 by Cody.Albert Fixed clipping issue in Sequencer curve editor #rnx Change 3491956 by Matt.Kuhlenschmidt Fix crash opening the Previewing sub-menu in the level editor settings menu #jira UE-46095 Change 3492046 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3492076 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3492165 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3492222 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3492274 by Michael.Dupuis #jira UE-46105: Fixed Clang warning Change 3492338 by andrew.porter QAGame: Testing ensure when submitting Change 3492371 by Nick.Darnell UMG - Reverting the animation sharing, cossed GLEO regressions in cooking. Will look for a better solution. Change 3492462 by Matt.Kuhlenschmidt Fix ensure checking in files through perforce Change 3492491 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3492505 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3492517 by Jamie.Dale The package localization ID is no longer used at all at runtime, and is now truly editor-only This should have always been the case, but it was leaked into manifest/archives/PO files in 4.14, and while 4.15 removed it from PO files it was still present in the manifest/archives. This change removes it entirely (unless gathering editor-only data, and even then the PO file will still collapse the entries together for translation), and the deprecated 4.14 export behavior will now produce an error if you attempt to use it. After taking this change you'll need to run a gather, import, and compile of your LocRes files to update your game localization to use the new localization IDs. Change 3492630 by Nick.Darnell UMG - Removing some extra cleanup code that's probably overkill and is causing a crash for uses of "Within" in class meta. #jira UE-46124 Change 3492692 by Matt.Kuhlenschmidt Fix drop shadows inheriting the outline color of the font. The outline should still appear but not have a different outline color from fill color Change 3492714 by Matt.Kuhlenschmidt Added outline with drop shadow to font automation test Change 3492737 by Matt.Kuhlenschmidt Fix linux Change 3492992 by tim.gautier Resaving Ocean Widget Blueprints / Sequences to resolve Legacy Sequence Data warnings #jira UE-46132 Change 3493089 by Jamie.Dale Ensure that the composite font of a font asset is flushed when the font object is GC'd Change 3493322 by Jamie.Dale Fixing null crash #jira UE-45758 Change 3494467 by Andrew.Rodham Fix Xbox warning Change 3494852 by tim.gautier QAGame: Changed streaming method of QA-EditorSmoke-Landscape to Always Loaded Change 3494853 by Nick.Darnell Another attempt at fixing the automation blueprint SA warning. Change 3494896 by Arciel.Rekman Fix possible null pointer access during Vulkan init. - May fix static analysis warnings in UE-46142, although warnings seem to be referring to something else. #jira UE-46142 Change 3494987 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3495010 by Matt.Kuhlenschmidt Adding additional logging to track down html5 issue Change 3495212 by Michael.Dupuis #jira UE-46143: Properly init the InstanceRenderData during the cooking phase (required by fortnite) Change 3495536 by Jamie.Dale Updating UGameEngine to call its Super::PreExit after performing its own teardown This prevents UEngine cleaning up resources that UGameEngine still needs. #jira UE-46159 Change 3495551 by Arciel.Rekman Another attempt to fix analyzer problem (UE-46142). Change 3495794 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3495905 by Matt.Kuhlenschmidt Fix USD crash when importing a meshwith no material [CL 3499771 by Matt Kuhlenschmidt in Main branch]
2017-06-19 20:27:30 -04:00
int32 FSequencerTimeSliderController::OnPaintTimeSlider( bool bMirrorLabels, const FGeometry& AllottedGeometry, const FSlateRect& MyCullingRect, FSlateWindowElementList& OutDrawElements, int32 LayerId, const FWidgetStyle& InWidgetStyle, bool bParentEnabled ) const
{
TSharedPtr<FSequencer> Sequencer = WeakSequencer.Pin();
if (!Sequencer.IsValid())
{
return LayerId;
}
const bool bEnabled = bParentEnabled;
Copying //UE4/Dev-Editor to //UE4/Dev-Main (Source: //UE4/Dev-Editor @ 3279756) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3229490 on 2016/12/09 by Cody.Albert Integrated fix to support named changelists in SVN Change 3229574 on 2016/12/09 by Simon.Tourangeau Fix actor mobility getting changed on scene reimport #jira UE-39102 Change 3229692 on 2016/12/09 by Cody.Albert Fixing an XML Parser assert when parsing a root tag that completes on the same line. #jira UE-30393 Change 3230582 on 2016/12/12 by Matt.Kuhlenschmidt PR #3024: Correct the outdated error message instructions for how to fix being unable to launch on an iOS device. (Contributed by CleanCut) Change 3231470 on 2016/12/12 by Matt.Kuhlenschmidt Eliminate editor sounds that play when you PIE, simulate or possess the player. They get in the way of game sounds, are annoying to hear when you are constantly starting and stopping pie, and flush async loading that the game might be doing when they load. Change 3231475 on 2016/12/12 by Alex.Delesky #jira UE-39023 - Using the High Resolution screenshot tool with the "custom depth as mask" option checked should no longer crash the editor or a PIE viewport when the screen percentage is not set to 100. Change 3231476 on 2016/12/12 by Alex.Delesky #jira UE-39380 - Thumbnails for static meshes in the foliage paint mode window should now update to show the correct mesh if the thumbnail pool has been exhausted. This also increases the number of foliage thumbnals that can exist onscreen at once. Change 3231477 on 2016/12/12 by Alex.Delesky #jira none - Extending the IPluginWizardDefinition interface to allow it to return the descriptor type of the plugin. This fixes a merge conflict from Odin where the new plugin wizard was modified to allow for multiple template selection. Change 3231479 on 2016/12/12 by Alex.Delesky #jira UE-39376 - Changing the number of players or changing the dedicated server options in PIE settings should now always persist on editor shutdown. Change 3231480 on 2016/12/12 by Alex.Delesky #jira UE-39417 - A texture will now match to update a dropped in file if the source path differs from that of the dropped in file Change 3231508 on 2016/12/12 by Alex.Delesky Removing todo comment #jira none Change 3231603 on 2016/12/12 by Matt.Kuhlenschmidt Exposed a 0-1 UV set and the scaled pixel size for Box and Border brushes Also added a material function that exposes all of the current UV sets with nice names instead of indexed coordinates Change 3231618 on 2016/12/12 by Alex.Delesky #jira UE-38732 - When editing a spin box with a delta value, committing the value with the Enter key and then clearing the focus from the spin box will no longer change the internal value to match the snapped value. Change 3231638 on 2016/12/12 by Matt.Kuhlenschmidt Add RF_Transactional to the list of default flags for creating or importing new assets. All should be transactional by default Change 3231642 on 2016/12/12 by Matt.Kuhlenschmidt Brighten up the output log by default Change 3231648 on 2016/12/12 by Alex.Delesky #jira UE-38033 - Selecting a Named Slot that's part of a widget in a Widget Switcher will now show that widget instead of the widget at index 0. This also applies to any content set inside the named slot. Change 3231666 on 2016/12/12 by Alex.Delesky #jira UE-38952 - Widgets that have been copied and pasted into the same hierarchy will now retain the same name in the hierarchy. This does not fix widgets that have been previously copied and pasted from other widgets, nor copies of those widgets. Change 3231674 on 2016/12/12 by Alex.Delesky #jira UE-37106 - When using or simulating touch for Widget Components, the hover/clicked state will now be accurately determined rather than showing hover on initial touch. Change 3231745 on 2016/12/12 by Alex.Delesky Back out changelist 3231477 to fix build error C2259 Change 3232417 on 2016/12/13 by Simon.Tourangeau Add the following attributes to the Editor.Usage.FBX.Import EngineAnalytics event - FBX Version - Filename Hash - Import Type #jira UE-37453 Change 3232477 on 2016/12/13 by Michael.Dupuis #jira UE-39675 : There was an issue when the Neutral Value == the Min or Max value, so we simply prevent using the concept of neutral value if min or max == neutral as it mean you only want a log on one side. Change 3232571 on 2016/12/13 by Alex.Delesky Back out changelist 3231745 #jira none - Extending the IPluginWizardDefinition interface to allow it to return the descriptor type of the plugin. This fixes a merge conflict from Odin where the new plugin wizard was modified to allow for multiple template selection. Change 3232675 on 2016/12/13 by Alexis.Matte Fix a crash when reordering material with a fbx containing unused materials, add a fbx automation test to prevent similar issue. #jira UE-39692 Change 3232975 on 2016/12/13 by Alex.Delesky Fix to build error C2259 for the IPluginWizardDefinition API change. Change 3233146 on 2016/12/13 by Michael.Dupuis #jira UE-38766 : Added eye dropper to select flatten height Fixed a rounding errors resulting in not flattening to the specified height Fixed a rounding error resulting in LandscapeDataAccess::GetTexHeight not always returning the appropriate value Change 3233153 on 2016/12/13 by Alexis.Matte We cannot anymore change the instance override materials array topology, the topology is limited by the mesh materials array #jira UE-38827 Change 3234406 on 2016/12/14 by Matt.Kuhlenschmidt Fix window handle and device context being accessed by scene viewports after the underlying window has been destroyed by the OS. This is an invalid state on linux and using some vr devices. #jira UE-7388 Change 3234485 on 2016/12/14 by Michael.Dupuis tentative build fix for Mac Change 3234495 on 2016/12/14 by Matt.Kuhlenschmidt Made a setting to control if PIE enter and exit sounds are played. Off by default Change 3236709 on 2016/12/15 by Simon.Tourangeau Fix camera export rotation offset #jira UE-34692 #jira UE-39740 Change 3236782 on 2016/12/15 by Jamie.Dale Fixed EmitTermExpr failing to use the correct package ID FBPTerminal::Source used to be set to the pin, however when pins were moved away from being UObjects, FBPTerminal::SourcePin was added and FBPTerminal::Source is typically null. Change 3236853 on 2016/12/15 by Alexis.Matte Fix the serialization of the staticmesh property FMeshSectionInfoMap Change 3236890 on 2016/12/15 by Matt.Kuhlenschmidt Remove old define Change 3239328 on 2016/12/18 by Richard.TalbotWatkin Fixed Focus Viewport action in Static Mesh Viewport. Problem was that the conversion to Orbit Camera for storing the camera position was trashing the desired position during cvamera transitions. Orbit camera position is now only stored at the end of a transition. #jira UE-39825 - Key "F" for Focus acts Sporadically in the Static Mesh Editor Viewport Change 3239660 on 2016/12/19 by Alex.Delesky #jira UE-38968, UE-36826 - Components attached to actors can now be directly scaled to negative values using the transform gizmo for that component. Change 3239662 on 2016/12/19 by Alex.Delesky #jira UE-39007 - The data table row editor now contains a Reset to Default control. Change 3239663 on 2016/12/19 by Alex.Delesky #jira UE-39698 - Importing CSV files will now show the name of the file in the import dialog. Change 3240696 on 2016/12/20 by Michael.Dupuis #jira UETOOL-1009: Added paddiing to columns view Added auto resize of column when double clicking on splitter handle in the header Remove right number alignment after discussion with Matt K. Change 3240758 on 2016/12/20 by Michael.Dupuis added missing non abstract implementation Change 3240782 on 2016/12/20 by Michael.Dupuis Added missing documentation for content browser column auto resizing Change 3240817 on 2016/12/20 by Alex.Delesky #jira UE-38940 - Copying a Material-Custom node with a tab character should now correctly render the tab. Change 3240834 on 2016/12/20 by Michael.Dupuis tentative fix for build error Change 3240984 on 2016/12/20 by Michael.Dupuis Removed unnecessary functions Change 3241174 on 2016/12/20 by Matt.Kuhlenschmidt Fix compile errors Change 3241966 on 2016/12/21 by Chris.Wood Fixed Typo and changed execution order in "ComboBoxString" Component [UE-38994] - GitHub 2971 : Fixed Typo and changed execution order in "ComboBoxString" Component PR #2971: Fixed Typo and changed execution order in "ComboBoxString" Component (Contributed by eXifreXi) #github https://github.com/EpicGames/UnrealEngine/pull/2971 Change 3242126 on 2016/12/21 by Alexis.Matte Back out changelist 3236853 We have to back out this change list because the change was implement in the 4.15 release branch and the EditorObjectVersion.h change is now implement in the ReleaseObjectVersion.h. Change 3244492 on 2017/01/02 by Jamie.Dale Improved error message Change 3244545 on 2017/01/02 by Nick.Darnell Navigation - Making it so we don't attempt to load HotReload during shutdown, we only access it if it's still loaded. Change 3244549 on 2017/01/02 by Nick.Darnell Slate - Implementing custom hardware cursor loading across Windows, Mac and Linux and supports loading cursors from PAK files. All platforms support loading PNGs through the FHardwareCursor interface. Some platforms support additional formats, for multiresolution support, but there's a naming convention that can be used on PNGs for the same capability. All of it is documented in the FHardwareCursor header. The platform layer for ICursor, now has support for replacing cursor shapes as an override, and can be reset safely. The FHardwareCursor supports loading cursors from raw pixel buffers as well, the plan is to allow for the option to UTextures to also be used for hardware cursors. Now users through C++ can load and replace the hardware cursors with custom ones of their own, e.g. FSlateApplication::Get().RegisterCursor(EMouseCursor::Default, MakeShareable(new FHardwareCursor(FPaths::GameContentDir() / "Slate/FancyPointer", FIntPoint(0,0)))); The next step is to expose a game friendly layer that supports caching cursors, and letting users change them out by name, without a bunch of destruction of OS resources. Change 3244845 on 2017/01/03 by Jamie.Dale Fixing typo #jira UE-39920 Change 3244903 on 2017/01/03 by Jamie.Dale PR #3044: fix link error when FAssetData::PrintAssetData() is used in project (Contributed by kayama-shift) Change 3245125 on 2017/01/03 by Alexis.Matte Put back the dev-editor version because there was some data create before we back it out Change 3246106 on 2017/01/04 by Chris.Wood Removed broken CrashReportReciever pre-upload phase from CrashReportClient. [UE-40153] - CrashReportClient fails when used in legacy mode with a CrashReportReciever Change 3246251 on 2017/01/04 by Alex.Delesky #jira UE-39869 - Moving an asset before saving it and then hitting Save All from the file menu will no longer save the asset in its original location. Change 3246252 on 2017/01/04 by Alex.Delesky #jira UE-39793 - Fixes an issue with the AutoReimporter where specifying a non-existent mount point (a directory in the content browser) would cause a crash when attempting to auto-import an asset from a monitored directory, as well as ensuring that valid mount points will be able to create new assets from auto-import. The "Map Directory To" field when setting directories to monitor for auto-reimport has also been changed to use the content browser path picker instead of relying on the user to manually enter a mount point. Change 3247620 on 2017/01/05 by Nick.Darnell Automation - Removing an adjustment to the number of shots we take for high res shots. Change 3247621 on 2017/01/05 by Nick.Darnell Automation - Adding a few more rendering tests to the cornell box. Change 3247629 on 2017/01/05 by Nick.Darnell Automation - Improving the comparison row display for screenshots so it's obvious what each image represents. Change 3248811 on 2017/01/05 by Matt.Kuhlenschmidt PR #3091: Removed unnecessary UPackage casts (Contributed by projectgheist) Change 3248860 on 2017/01/06 by Matt.Kuhlenschmidt Made the plugin browser select the "built in" category by default instead of the 2D category. There is no reason for a sub-category to be selected first as it makes searching for plugins globally an extra click because you have to click on the base category first Change 3249264 on 2017/01/06 by Matt.Kuhlenschmidt Fixed automation test warnings #jira UE-40198 Change 3249481 on 2017/01/06 by Michael.Dupuis #jira UE-37875 : Fill empty layers of components on assignation or creation Also fill new component added with the tool from neighbours predominance Change 3249505 on 2017/01/06 by Matt.Kuhlenschmidt PR #3093: Include guard cleanup (Contributed by projectgheist) Change 3249544 on 2017/01/06 by Michael.Dupuis #jira UE-40299: validate if UISettings is valid Change 3250738 on 2017/01/09 by Nick.Darnell UMG - The WIC now checks if the Widget is enabled before it claims that it's over an interactable or keyboard focusable widget. #jira UE-39845 Change 3250865 on 2017/01/09 by Nick.Darnell Slate - Updating EAutoCenter and ESizingRule to use the newer enum class style enums. Change 3250867 on 2017/01/09 by Nick.Darnell Slate - Adding more logging to the hardware cursor code so that it reports more information when it doesn't find an exact match when it comes to cursor size. Change 3250936 on 2017/01/09 by Nick.Darnell Automation - Refactoring the screenshot comparison tool to no longer require one one generated report. Doing screenshot comparions now generates individual reports for each failed comparison so that they can be evaluated in bits, and as changes occur as the user reviews aspects, we can remove the reports. There is now async image loading for the comparison view so that it doesn't hitch. Change 3250937 on 2017/01/09 by Nick.Darnell Automation - Adding another example to the CornellBox test. Change 3250958 on 2017/01/09 by Nick.Darnell Slate - Fixing some other cases where people were referring to ESizingRule::Type. Change 3251162 on 2017/01/09 by Nick.Darnell Slate - Fixing some other cases where people were referring to ESizingRule::Type. Change 3251254 on 2017/01/09 by Matt.Kuhlenschmidt Attempt to fix static analysis warnings Change 3251373 on 2017/01/09 by Nick.Darnell Core - Now writing a log warning instead of ensuring if calling LoadModule wouldn't have been safe to do here, depending on load order. Change 3251525 on 2017/01/09 by Nick.Darnell Automation - Fixing a build issue in ImageComparer. Change 3252321 on 2017/01/10 by Alex.Delesky #jira UE-40164 - Importing multiple files to overwrite existing assets such as sounds will now correctly persist the "Yes to All" / "No to All" dialog selections. Change 3252354 on 2017/01/10 by Nick.Darnell Image Compare - Fixing a potential threading hazard in the image comparer. Change 3252356 on 2017/01/10 by Nick.Darnell Automation - The screenshot metadata now captures the commit/CL that the screenshot was taken at and records it in the metadata. Change 3252601 on 2017/01/10 by Alexis.Matte Fbx automation test, reload feature implementation Change 3252761 on 2017/01/10 by Jamie.Dale Fixing some IWYU errors with PCH disabled Change 3252765 on 2017/01/10 by Jamie.Dale Fixing some static analysis warnings Change 3252793 on 2017/01/10 by Jamie.Dale Fixing FText natvis The text data visualizers have to be defined before the text visualizer Change 3253987 on 2017/01/11 by Matt.Kuhlenschmidt PR #3108: Git Plugin: use asynchronous "MarkForAdd" and "CheckIn" operations for the initial commit (Contributed by SRombauts) Change 3254378 on 2017/01/11 by Matt.Kuhlenschmidt Refactor scene importing to allow for plugins to make scene importers Change 3254679 on 2017/01/11 by Matt.Kuhlenschmidt Fix calling LoadModule in perforce source control off the main thread Change 3256472 on 2017/01/12 by Jamie.Dale Improved error reporting from IncludeTool - The error reporting was using zero-based line indices which was misleading. - The error reporting now includes the offending line to remove ambiguity. Change 3256725 on 2017/01/13 by Jamie.Dale IncludeTool can now parse typedef in Fwd headers Change 3256758 on 2017/01/13 by Jamie.Dale Added support for String Tables String Tables provide a way to centralize your localized text into one (or several) known locations, and then reference the entries within a string table from other assets or code in a robust way that allows for easy re-use of localized text. String Tables can be defined in C++ (using the LOCTABLE family of macros), loaded via CSV file, or created as an asset. They can be referenced in C++ using either the LOCTABLE macro, or the static FText::FromStringTable function. INI files can reference them using the LOCTABLE macro syntax, and FText properties in assets can reference them via the advanced settings combo. Change 3257018 on 2017/01/13 by Alexis.Matte FbxAutomationTest fix the import reload operation, it was calling garbagecollect with no keep flag Change 3257168 on 2017/01/13 by Jamie.Dale Removed code that was writing null into bytecode during save Change 3257344 on 2017/01/13 by Jamie.Dale Backing out changelist 3256725, and excluding my header from the scan instead Change 3257426 on 2017/01/13 by Nick.Darnell Slate - Adding the ability to invert alpha when drawing slate textures. Going to be used in the future for rendering render targets for the scene which have inverted alpha. Change 3257572 on 2017/01/13 by Nick.Darnell Slate - Fixing a build error. Change 3257970 on 2017/01/14 by Jamie.Dale Fixing exclude path Change 3258458 on 2017/01/16 by Matt.Kuhlenschmidt PR #3135: GameViewportClient: FOnCloseRequested is now a multicast delegate (Contributed by Nadrin) Change 3258472 on 2017/01/16 by Matt.Kuhlenschmidt PR #3126: Fix to load editor style assets (Contributed by projectgheist) Change 3258473 on 2017/01/16 by Matt.Kuhlenschmidt PR #3124: Fix wrong result with Image-DrawAsBox with PaperSprite. (Contributed by valval88) Change 3258539 on 2017/01/16 by Nick.Darnell Slate - Pixel Snapping has been moved to the GPU for the RHI rendering policy. Additionally, widgets with a render transform of Scale, Rotation or Sheer, and their children are no longer pixel snapped, this should reduce some of jittering seen by users when animations are applied to widgets. NOTE: This only affects render transforms, any transform in layout space is still subject to pixel snapping. Change 3258607 on 2017/01/16 by Nick.Darnell Fixing the mac build. Change 3258661 on 2017/01/16 by Matt.Kuhlenschmidt Actors with experimental components no longer say "Uses experimental class: Actor" when selecting the actor root in the details panel #jira UE-40535 Change 3258678 on 2017/01/16 by Nick.Darnell Platform - Introducing a way to get the mimetype for a file on Windows. Other platforms don't yet have an implementation outside of returning application/unknown. Change 3258924 on 2017/01/16 by Nick.Darnell Platform - Implementing a fallback for the generic platform http, that can do some basic mimetype lookups. Change 3258929 on 2017/01/16 by Nick.Darnell UMG - Fixing the animation to finish the evaluation before it notifies that the animation completed. Change 3259109 on 2017/01/16 by Nick.Darnell Platform - The GetMimeType function now only takes in FilePath, since some platforms will require that actually resolve to a file on disk in order to determine the true mimetype. Change 3259111 on 2017/01/16 by Alexis.Matte Avoid to move the camera when we re-import in the static mesh editor #jira UE-40613 Change 3259275 on 2017/01/16 by Matt.Kuhlenschmidt Fix crash when a slate window is resized and calls into a scene viewport during loading code when the scene viewport is not in a slate hierarchy and thus has no widget Change 3259300 on 2017/01/16 by Nick.Darnell UMG - Introducing PreConstruct and NativePreConstruct to the base UUserWidget. Users can now visualize non-binding based changes in the designer by evaluating a very limited amount of the blueprint code. In the event your user widget crashes on load, due to calling something unsafe, you can disable evaluation in the editor preferences under Widget Designer. Change 3259306 on 2017/01/16 by Nick.Darnell Games - Removing the Game Specific implementations of PreConstruct. Change 3260182 on 2017/01/17 by Matt.Kuhlenschmidt Fix static analysis Change 3261049 on 2017/01/17 by Nick.Darnell Slate - Putting in some fixes for the non-gpu pixel snapping mode, and disabling gpu snapping while we dig into why it looks weird. Change 3261434 on 2017/01/17 by Nick.Darnell Fixing the mac build. Change 3261435 on 2017/01/17 by Nick.Darnell Slate - Tweaking some aspects of the slate rounding code on the GPU. There's still some precision loss somewhere causing subtle differences in where the snap occurs, that's different from previously. Change 3261460 on 2017/01/17 by Nick.Darnell UMG - Tweaking the defintiions of NativePreConstruct, dropping passing in design time since that is readily available in native code. Change 3261833 on 2017/01/18 by Alexis.Matte Fix all warning for fbx automation tests #jira UE-40208 Change 3261874 on 2017/01/18 by Matt.Kuhlenschmidt PR #3136: Fix Submit to Source Control Window for Git plugin : use CanCheckIn() to filter out unmodified assets files (Contributed by SRombauts) Change 3262000 on 2017/01/18 by Jamie.Dale Updated Slate to allocate widgets using MakeShared This saves one allocation per-widget Change 3262003 on 2017/01/18 by Nick.Darnell UMG - Widget Interaction Components now ignore Visible(false) Widget Components when tracing. #jira UE-40523 Change 3262052 on 2017/01/18 by Alexis.Matte Put back the staticmesh skinxx workflow #jira UE-40782 Change 3262775 on 2017/01/18 by Nick.Darnell Slate - Ditching moving vertex rounding to the GPU, some precision issues could not be overcome. Ended up writing a clean way to implement it on the CPU. Change 3262818 on 2017/01/18 by Alex.Delesky #jira UE-40668 - Editor preferences will now save for data pin styles Change 3263679 on 2017/01/19 by Nick.Darnell Slate - Adding some comments to the Slate Vertex Rounder. Change 3265154 on 2017/01/19 by Nick.Darnell Slate/UMG - Putting in some more time into pixel snapping. I've re-introduced the old constructors, and decided to go with the templated approach, as to not break old code that relied on the FSlateVertex working a certain way. Change 3265478 on 2017/01/20 by Chris.Wood Added config support for hang detection time and switching hang detection on/off in UnrealWatchdog [UE-40838] - Make hang time configurable and increase default in UnrealWatchdog Change 3265600 on 2017/01/20 by Nick.Darnell Slate - Making some const local variables const. Change 3265714 on 2017/01/20 by Alex.Delesky #jira UE-40791 - The ForceFeedback thumbnail's Play and Stop icons will now render correctly, and will only be visible while an effect is playing or when the cursor hovers over the icon. Change 3265865 on 2017/01/20 by Alex.Delesky #jira UE-40511 - The Content Browser file path will now update when inside a folder that is deleted from the Sources Panel. Change 3267989 on 2017/01/23 by Jamie.Dale Exposed String Tables to Blueprints Change 3268018 on 2017/01/23 by Jamie.Dale Small API clean-up for string tables Change 3268455 on 2017/01/23 by Matt.Kuhlenschmidt Fix SaveAs (Which says SaveCurrentAs) not saving the current level and only saving the persistent level and then reloading everything thus causing work to be lost if editing a sub-level #jira UE-40930 Change 3269388 on 2017/01/24 by Chris.Wood Refactored tick timing in UnrealWatchdog to stop bug where it doesn't close. [UE-40839] - UnrealWatchdog running and blocking use of Unreal Game Sync for internal users Standalone tool code only - doesn't touch engine Change 3270205 on 2017/01/24 by Cody.Albert Updated FUnrealEdMisc::OnMessageTokenActivated to properly traverse up the outer hierarchy of an object. Change 3270231 on 2017/01/24 by Cody.Albert Renamed and exposed GetFullScreenAlignment and GetViewportAnchors for consistency with the setters Change 3271734 on 2017/01/25 by Michael.Dupuis #jira UE-38631 Add sorting for landscape target layer, user can now sort alphabetical, material based or custom Added a new vertical box SDragNDropVerticalBox to handle drag & drop of FSlot Fixed SDropTarget to only consider the drop action if it was started by it Added visibility toggle to only show used layers in the currently loaded data Change 3271797 on 2017/01/25 by Jamie.Dale Renamed HasBeenAlreadyMadeSharable to DoesSharedInstanceExist as the old name was nonsense Change 3271813 on 2017/01/25 by Jamie.Dale Fixed bad access of a shared this during widget destruction when a context menu was open Change 3271988 on 2017/01/25 by Nick.Darnell Slate - Removing some old checkbox deprecated code from the 4.3 and 4.6 days. Change 3271992 on 2017/01/25 by Nick.Darnell Blueprints - Making the checked call better to log out more information when dragging and dropping a missing property. Change 3272134 on 2017/01/25 by Jamie.Dale Updated the GatherText commandlet to no longer hold a ConfigFile pointer while it runs This pointer is internal to GConfig, and may be updated (or invalidated) when other config files are loaded (as can happen via game code while gathering text). Change 3272301 on 2017/01/25 by Nick.Darnell Slate - More cleanup from the removal of a old legacy enum that people were still using. Change 3273070 on 2017/01/26 by Chris.Wood Fix CIS errors in landscape code from CL 3271734 Change 3273123 on 2017/01/26 by Chris.Wood Fix crash during init of CRC when running packaged without access to main engine config hierarchy. Change 3273194 on 2017/01/26 by Nick.Darnell Fixing some build warnings. Change 3273242 on 2017/01/26 by Michael.Dupuis #jira UE-39948 : if we detect there is multiple levels in the current persistent when we add a new foliage asset we ask to save the foliage as an asset to permit paiting over multiple levels Change 3273279 on 2017/01/26 by Jamie.Dale String Table INI redirects are now in the "Core.StringTable" section (rather than "/Script/Engine.Engine") Change 3273483 on 2017/01/26 by Alex.Delesky #jira UE-32047 - Made changes to the FixupRedirects commandlet to ensure that files that are marked for delete are moved from the default changelist to the pending changelist and submitted when using Perforce. Also makes a slight change to the ResavePackages commandlet to submit files marked for delete. Change 3273568 on 2017/01/26 by Alex.Delesky Modifying changes made to SPluginWizard to have the plugin loading phase determined by the wizard's definition rather than from the first selected template. #jira none Change 3273855 on 2017/01/26 by Alex.Delesky #jira UE-41117 - Updating the tooltip on the "Allow Paint of all LODs" option for mesh paint mode. Change 3274200 on 2017/01/26 by Alex.Delesky For IPluginWizardDefinition, temporarily adding function bodies to two methods instead of having them be pure virtual methods. Change 3274317 on 2017/01/26 by Jamie.Dale Deleting a seemingly corrupted asset that was accidentially submitted Change 3275072 on 2017/01/27 by Michael.Dupuis #jira UE-38631 tweaks Fix typo error Iterate all components, not only active one Force expand the Target Layers widget Change 3275249 on 2017/01/27 by Alexis.Matte Color grading controls: Keep the vector ratio when changing the master slider #jira UETOOL-1098 Change 3275282 on 2017/01/27 by Alexis.Matte Color grading controls: Cosmetic changes #jira UETOOL-1099 Change 3275292 on 2017/01/27 by Alexis.Matte Make sure the build is called once when we import a staticmesh. #jira UE-40947 Change 3275430 on 2017/01/27 by Alexis.Matte Add some fbx automation tests - Import a mesh with no material - Import corrupted asset with no section in a LOD - Import morph targets - Materials name clash - Max Multimap material ordering Change 3275683 on 2017/01/27 by Michael.Dupuis #jira UE-41215 : when saving an asset do not register the transaction, and make sure that the duplicate wont keep a copy in the transaction buffer as an asset can't be undo Change 3276237 on 2017/01/27 by Jamie.Dale Deleting a seemingly corrupted asset that was accidentially submitted Change 3276266 on 2017/01/27 by Jamie.Dale Fix for accessing a potentially null pointer Change 3277065 on 2017/01/30 by Chris.Wood Move crash report temp files to saved config and cleanup on schedule. [UE-39506] - CrashReportClient ini folders are not cleaned when opening the editor Change 3277236 on 2017/01/30 by Matt.Kuhlenschmidt Fix crash when cancelling SaveCurrentLevelAs #jira UE-41182 Change 3277409 on 2017/01/30 by Jamie.Dale Improved text rendering when the last resort font is missing The last resort font is no longer included in shipping builds, so this change makes some improvements to text rendering when it's missing. - The legacy font cache no longer tries to use the last resort font if it's not available (preventing warnings). - The Slate font renderer no longer tries to use the last resort font if it's not available. - Text shaping will use the last resort character if none of the available fonts can render a given character (likely because the last resort font is missing). - HarfBuzz shaped text now uses the fallback character correctly. Change 3277749 on 2017/01/30 by Nick.Darnell Slate - Moving ESlateDrawEffect & ESlateBatchDrawFlag over to be enum class, found cases where users were improperly assuming the enum order, and so now it won't be possible to just treat an int32 or a bool as the draw effect value. Core - Adding EnumHasAllFlags and EnumHasAnyFlags, templated functions to make it easier to check for the existance of a flag on enum classes. Change 3277805 on 2017/01/30 by Nick.Darnell Rendering - Changing some LoadModuleChecked calls to GetModuleChecked, as these calls are not happening on the main thread and are not safe to make. Change 3277914 on 2017/01/30 by Matt.Kuhlenschmidt Fix Niagara slate style warning on startup Change 3278058 on 2017/01/30 by Matt.Kuhlenschmidt Fixed compile error Change 3278132 on 2017/01/30 by Nick.Darnell Fixed compile error Change 3278133 on 2017/01/30 by Matt.Kuhlenschmidt Fixed compile errors Change 3278186 on 2017/01/30 by Nick.Darnell Fixed compile error Change 3278525 on 2017/01/30 by Nick.Darnell Fixed compile error Change 3278534 on 2017/01/30 by Nick.Darnell Automation - Clearing up several warnings/errors with automation results, trying to get Automation Tests to at least yellow before integration. Change 3278941 on 2017/01/31 by Nick.Darnell Fixing a build warning due to build team refactor. Change 3278949 on 2017/01/31 by Nick.Darnell Fixing incrmenetal build issues. Change 3278953 on 2017/01/31 by Nick.Darnell Fixing some incrmental linux build issues. Change 3278964 on 2017/01/31 by Nick.Darnell FIxing more incremental build issues. Change 3279256 on 2017/01/31 by Michael.Dupuis #jira UE-41319 #jira UE-41315 #jira UE-41316 Instead of getting the Landscape Actor, call GetLandscapeProxy so all case are handled, either proxy or landscape actor Change 3279270 on 2017/01/31 by Chad.Garyet re-updating the automation test pool [CL 3279775 by Matt Kuhlenschmidt in Main branch]
2017-01-31 15:22:49 -05:00
const ESlateDrawEffect DrawEffects = bEnabled ? ESlateDrawEffect::None : ESlateDrawEffect::DisabledEffect;
TRange<double> LocalViewRange = GetViewRange();
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3946692) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3801826 by Max.Chen PR #4304: Level Sequence crash fix - Guarded against dereferencing null componen. (Contributed by DSDambuster) Change 3801828 by Max.Chen PR #4302: Movie Scene Visibility Template unitialised variable, causing random . (Contributed by DSDambuster) Change 3801837 by Max.Chen Sequencer: Delay spawning/construction for convert to possessable. This fixes a bug where property values would be lost when converting back and forth from possessable to spawnable. #jira UE-52400 Change 3801841 by Max.Chen Sequencer: Make spacer nodes not selectable. PR #4194: Improvements to Sequencer (Contributed by projectgheist) #jira UE-53117 #jira UE-52139 Change 3804183 by Max.Preussner MediaAssets: Added missing lock in media sound component Change 3805414 by Max.Preussner MediaAssets: Setting valid GUID when initializing media texture resource Change 3819578 by Max.Chen PR #4370: When enabling the "MovieCapture", do not turn off the Stereo-3D display. (Contributed by yehaike) #jira UE-53647 Change 3823414 by Max.Chen Curve Editor: Lock down the first and last keys in the redundant keys removal range so that they're unaffected. #jira UE-53591 Change 3826406 by Max.Chen Sequencer: Move OnStartedPlaying() to within first update in UpdateTimeCursorPosition(). This fixes an issue where setting the hud/player visibility was getting stomped on later. #jira UE-52772 Change 3827044 by Max.Preussner MediaAssets: Added sprite visualization to media sound component #jira UE-53594 Change 3827988 by Max.Preussner MediaPlayerAssets: Fixed Media Texture is not linked to Media Player when created together #jira UE-53532 Change 3828506 by Max.Preussner MediaPlayerEditor: Added attenuation visualizer for media sound components #jira UE-53594 Change 3832590 by andrew.porter EngineTest: Added a keep state check in Property Animation sequencer test Change 3833053 by andrew.porter EngineTest: Adding Hierarchical Bias test Change 3835683 by andrew.porter EngineTest: Adding UMG Animation screenshot test Change 3836076 by Max.Chen Sequencer: Fix audio volume and pitch multiplier deprecation. Change 3836230 by andrew.porter EngineTest: Adding Sequence Bone Position automation test Change 3836347 by Max.Chen Sequencer: Fixes to shot name parsing. When a shot doesn't contain a shot number, assume, [ShotName]_[TakeNumber]. When duplicating a shot, put the new shot in the same path of the original shot, so that the take numbers will increment properly. #jira UE-51868 Change 3836552 by Max.Chen Sequencer: Sub section now has a takes menu Change 3838094 by Max.Chen UMG: Fix template finish not getting called on stop. This fixes a bug where sections aren't restored when finished. #jira UE-52285 Change 3838708 by Max.Chen Sequencer: Add notification when the blend type is changed. #jira UE-54046 Change 3840295 by Max.Chen Sequencer: Fix copy/paste crash for lights #jira UE-54084 Change 3840957 by Mike.Zyracki Added Show Only Keyable and Show Only Animated to the filter list in the property editor. Added IsPropertyAnimated to IDetailKeyframe Interface which already had support for showing properties which are keyable (which is used for the key icon next to the properties.). Could have created another interface but then would have had to mimic the sequencer binding, releasing also, so this seemed best way. One issue still left is that custom built detail items currently don't store associated properties(usually) and so certain properties, in particulalry transforms, won't show up as keyable or animated. Note this also shows up with the keyable icon not showing up next to transform tracks, and other filters like Show Only Modified not working with transforms/customs. Not sure best way to tackle this. #jira UESEQ-328 Change 3841756 by Max.Chen Sequencer: Fix unbound possessable components when pasting spawnables. #jira UE-54104 Change 3843950 by andrew.porter EngineTest: Renaming LevelStreaming tests/content to LevelVisibility Change 3844082 by Mike.Zyracki Missing file for animated filter in property editor. When finding if a track is animated we need to find it but we can't easily induce the MovieTrack class for any particular property. So we don't set a class for it and just search by it's ID and name. #jira UESEQ-328 Change 3846902 by Max.Preussner ImgMedia: Fixed image media player never finished initialization if loading failed #jira UE-54247 Change 3849820 by Mike.Zyracki Reassigning deleted widgets didn't work since the menu extender mechanism needs a valid UObject in order to perform an operation on it. So to fix we replaced GetObjectBindingContextMenuExtender in WidgetBlueprint with new delegate mechanism (OnBuildCustomContextMenuForGuid) that supports FGuid in addition to UObjects which is needed to handle re-binding deleted widgets. Note that the default sequencer hacks this for replacing deleted actors in SequencerObjectBindingNode to check to see if a LevelSequence is active. We could move to this mechanism there also. #jira UE-53163 Change 3852211 by Max.Chen UMG: Indicate name of the property that is not bound. #jira UE-54350 Change 3854120 by Max.Chen Sequencer: Fix sibling folders being allowed to have the same folder name. #jira UE-54363 Change 3854627 by Max.Chen Sequencer: Step to next/previous key should work for all tracks if there aren't any selected. #jira UESEQ-391 Change 3855825 by andrew.porter EngineTest: Adding animation blending automation test Change 3855950 by andrew.porter EngineTest: Adding correct expected valuues to animation blending test Change 3856237 by Matt.Hoffman UESEQ-336 - Sequencer Track Reordering Adds the ability to re-order Master Tracks, Folders and Object Bindings within sequencer hierarchies (including UMG). Adds the ability to do a one-off sorting of the content under the old sorting behavior if the user wants to reset their layout to how it was under legacy behavior. Modifies SequencerTrackNodes, SequencerFolderNodes and SequencerObjectBindingNodes to handle CanDrop/OnDrop for above, below and ontop of. Fixes a Slate Issue that forcibly expanded a TreeviewRow if an item handled OnDrop. Slate will now only forcibly expand the row if the item says the drop happened ontop of the item, and not above or below it like it previously did. Change 3856503 by andrew.porter EngineTest: Adding automation test for using animation blueprint with blend multi node in sequencer Change 3857875 by Max.Chen Sequencer: Assign the sequence id after the template is compiled. #jira UE-54462 Change 3858344 by Max.Chen Sequencer: Prevent Goto and Transform boxes from overlapping by allowing them to be visible at the same time in an autosized horizontal box. Also, added close button to the goto box. PR #4425: Prevent Goto and Transform boxes from overlapping in Sequencer ... (Contributed by projectgheist) #jira UE-54210 Change 3860566 by andrew.porter MediaFrameworkTest: Set the option to index 0 for the audio and video track list by default Change 3860654 by andrew.porter EngineTest: Enabling Camera Cut + FOV test Change 3860981 by andrew.porter EngineTest: Updating skeletal mesh tests with a delay after set playback position Change 3861256 by Max.Chen Sequencer: Add all bindings if none selected. #jira-54440 Change 3862154 by Andrew.Rodham Added TimeManagement module Change 3862424 by andrew.porter EngineTest: Turned on the test Bone Positions with Blend Multi Node Change 3862573 by andrew.porter EngineTest: Adding test to compare bone positions in a sequence that is blending an animation that is using an AnimBP Change 3865117 by Max.Chen Sequencer: Stop auto scroll on mouse release of movement. #jira UE-31212 Change 3865303 by Max.Chen Sequencer: Add drag and drop transactions #jira UE-54662 Change 3865304 by Max.Chen Sequencer: Fix crash when an actor factory is not found. Change 3865361 by Max.Chen Sequencer: Don't change the camera/shot lock button when popping out of a sequence. #jira UE-54665 Change 3865412 by Max.Chen Sequencer: Determine whether a transform track is for a camera by using the spawned object or template #jira UE-54666 Change 3865685 by Max.Chen Sequencer: Clear autoscrub offset when stopping autoscroll #jira UE-31212 Change 3865886 by Max.Chen Sequence Recorder: Log an error if the number of frames changes while recording. This can happen if the skeleton changes while recording. #jira UE-48715 Change 3866925 by Andrew.Porter MediaFrameworkTest: Changing the current PNG test video image sequence to 1024 x 576 Change 3867705 by andrew.porter QAGame: Adding Audio Sort Sequence to dev folder Change 3867890 by andrew.porter QAGame: Adding a sequence for testing a sorting crash to my dev folder Change 3872628 by Max.Chen Movie Scene Capture: Split delay before warmup into split delay before shot warmup so that there's separate controls for when the movie scene capture warmups up vs. shot boundaries. Change 3873131 by Matt.Hoffman UE-54732 - Crash reordering a folder with a track. This was caused by folders being the only type of track to check if someone was putting a parent track into a child track. Object Binding tracks and Tracks now check as well so that you can't use the above/below drop targets to add parents as children. This also fixed a typo in the localization keys. #jira UE-54732 Change 3873301 by Mike.Zyracki Added ability to support continous euler angle changes when changing rotations, in particularly with the rotation gizmo's. To do this we effectively added a form an of 'euler filter'(https://en.wikipedia.org/wiki/Euler_filter) to find the closest euler angle to the current euler angle. Three functions were added to FRotator to make this possible, one to get the euler angle that's has the same rotation as it, one to get the difference between two euler angles via Manhattan distance and a third using the previous two to choose a Rotator value that's closest to it. We then use these functions before calling UComponent::SetRelativeRotation to make sure we use the correct Euler after the Quat conversion. We also no longer limit(bound) the euler angles to -180,180, which is obviously necessary to avoid flips. I also changed how we caluclate yaw and roll when pitch is -90 or 90 to make it the standard approach of zeroing out roll and just setting yaw. Main reasons are the previous implementation had precision issues so things like 180, 90, -180 would show up due to numbers being nearly zero but negative,(this would break any smooth interpolations), and this facilitates having a 'gimbal' rotation mode (like Maya, Blender etc..) if we ever want that also. If needed we could keep the previous implementation but would need to add some FMath::IsNearlyZero checks, with less performance. Note we only do this special filtering when applying delta's to actors or components in the editors, which then call UComponent::SetRelativeRotationExact, which is a new function to foces the RelativeRotation to be equal to the new rotation. This allows us to store un-nomalized Rotators at the cost that the RotationCache may be broken. We didn't change any of the other UComponent functions that set rotations (via Quats or Transforms) so they will still be bounded and unwound. In SetInternalWorldLocationAndRotation we only set the rotation if the rotation has changed, which fixes the rotation getting changed and re-normalized if just translate happens. In TransformTrackEditor, we correclty use the bUndwing flag and in MovieScene3DTransformSection there was an un-needed winding check there, it will be unwound earlier if needed, which happens if Sequence Recording is happening. Max we should talk about what to do about this . Note the euler angle drag via the widget is still bound to 0-360. I think we should just unbound that now since the rotations value are now unbound. This review now includes fixes suggested by Zak. #jira UE-UE-22228 Change 3873483 by Matt.Hoffman Sequencer Tracks can now be inserted above the spacer at the bottom of the tree. #jira UE-54706 Change 3873899 by Max.Chen Sequencer: Add section selection throbbing Change 3873908 by Max.Chen Movie Scene Capture: Added logging per frame Change 3873924 by Matt.Hoffman Adds the ability to store Sequence Recorder setups into profiles that stay with the map and can be re-loaded later. Profiles store the Actor Recordings so the settings for each actor should carry with them. #jira UESEQ-339 Change 3874726 by Matt.Hoffman Disable drag-and-drop targets on spacers that come between rows in Sequencer. This prevents extra drag/drop targets showing up between each row. #jira UE-54706 Change 3874862 by Matt.Hoffman Audio Track no longer gets reordered when adding sub-audio tracks, as sub-tracks are no longer counted towards the sorting order index when normalizing indexes. #jira UE-54727 Change 3875905 by Matt.Hoffman Disable Fade Track UI if a fade track already exists in the sequence. #jira UESEQ-393 Change 3876163 by Max.Chen Sequencer: Swap the camera object to the camera component's owner if it's not the same. #jira UE-54874 Change 3876971 by Andrew.Porter EngineTest: Moved Media Player Seek test to new folder. Also enabled the test with new ground truth image. Change 3877040 by Max.Chen Cine Camera: Split camera properties to two groups, "Camera Options" and "Camera Settings". The cine camera now hides properties in the "Camera Settings" group so that properties like bConstrainAspectRatio (in the "Camera Options" group) can be visible. #jira UE-54192 Change 3877763 by Max.Chen Curve Editor: Fix curve changed on end drag so that only curves that had keys/tangents that were changed receive notification, otherwise all loaded curves were getting notified that they were changed. #jira UE-54951 Change 3878234 by Matt.Hoffman Disable "Drop Below" targets for Sequencer Tree nodes to prevent a confusing UX issue where dropping underneath a Object Binding Node puts it after the object binding node but the UI looks like it's inserting it inside the Object Binding node. #jira UE-54743 Change 3879359 by Mike.Zyracki If a track is inactive we dim it a bit which seems to be the UE4 way to show inactive or disabled state. We changed the active logic so that all subtracks need to be inactive for the track to also be inactive(instead of all active for active). This conforms to how the active state actually works, e.g if you have two sections and only one is active the track is still active above it. #jira UESEQ-388 Change 3879462 by Max.Chen Sequencer: Allow dragging onto a particular row which would move out any overlapping sections to make space for the newly created section. Newly created sections are now selected and throbbed to draw attention to themselves. #jira UE-54664 Change 3879464 by Max.Chen Sequencer: Fixed overlapping ranges being inserted into the evaluation field during compilation - The issue was that track segments that had been combined with adjacent segments (due to them being identical) would potentially cause a subsequently compiled frame to overlap with a range that had already been inserted into the evaluation field. - The insertion code previously asserted that only minor overlaps were catered for (due to fp rounding errors) and assumed that a supplied range could not entirely contain any other range in the field. - The solution is to supply the insertion time along with the range to know exactly where the data should live in the field, and crop the range to the maximum allowable space between adjacent ranges. #jira UE-54922 Change 3879590 by Matt.Hoffman Items that are now added to the Sequencer via the "+Track" menu will be selected after being added. Items can now be added inside of folders instead of just to the root level. #jira UE-27397 Change 3879612 by Mike.Zyracki Display Nodes with no children are always active. #jira UESEQ-388 Change 3879730 by Matt.Hoffman Sequence Recorder's actor recording groups now remove items from the group when removed via the UI. #jira UESEQ-339 Change 3880256 by Mike.Zyracki Fix issue with inactive display with folders and other track nodes. #jira UESEQ-388 Change 3883491 by Max.Chen Fix issue where tick is skipped due to last ticked pose isn't cleared after AnimInstance changes. Copy from Release-4.19 #jira UE-51323 Change 3883603 by Max.Chen Movie Scene Capture: Add option toggle disable screen percentage. By default this is on (no change in current behavior). #jira UE-51898 Change 3885074 by Max.Preussner MediaCompositing: Resetting media texture & freeing resource on section end; removed dead code Change 3887220 by Max.Preussner MediaCompositing: Defaulted media section duration to 1 sec (since we do not know the actual duration in most cases) Change 3887478 by Matt.Hoffman Sequences now show [Inactive] in their title bars when they're disabled. This helps communicate why a sequence isn't being evaluated. #jira UE-51469 Change 3888985 by Max.Chen Movie Scene Capture: Clamp HDR Compression Quality between 0 and 1. #jira UE-55136 Change 3893519 by Max.Chen Sequence Recorder: Clarified tooltip for bRecordNearbySpawnedActors - spawned actors will still be recorded if they match the ActorFilter. #jira UE-55238 Change 3893546 by Max.Chen Sequence Recorder: If a selected actor already has a recording, add a blank recording. #jira UE-55239 Change 3894044 by Max.Preussner MediaCompositing: Added support for seeking into a media section Change 3894310 by andrew.porter MediaFrameworkTest: Adding Img media sources for 1080 and 2160 ravent test content Change 3894426 by Max.Preussner MediaAssets: Letting media textures with AutoClear retain their clear color when player is reset Change 3895717 by Max.Chen Sequencer: Null checks to prevent crash when saving the default state of a spawnable #jira UE-55304 Change 3897388 by Max.Chen Sequencer: Don't update current time to be within the view range when stepping into a sequence. #jira UE-55322 Change 3897452 by Max.Chen Audio: Fix crash when trying to record audio without any active capture devices. Log warning if the number of input channels is not 1 or 2. #jira UE-55223 Change 3897619 by Max.Preussner MediaCompositing: Removed commented out code Change 3898072 by Max.Chen Sequencer: Override the animation asset in the player state if it doesn't match the animation asset that's being evaluated. #jira UE-55328 Change 3898272 by Max.Preussner MediaPlayerEditor: Made slate brush constants static Change 3898704 by Max.Chen Sequencer: Skip if the binding id's sequence can't be found. #jira UE-55337 Change 3899855 by Max.Preussner MediaCompositingEditor: Added cache state visualization to media track Change 3900300 by Max.Preussner MediaCompositingEditor: Added loop indicators to media sections Change 3900694 by Max.Preussner ImfMedia: Looping cache only when player is looping Change 3900892 by Max.Preussner Stats: Added stats category for media framework Change 3900954 by Max.Preussner MediaCompositing: Don't evaluate at the end of media section Change 3901348 by Max.Preussner Core: Replaced TLruCache autos for better readability Change 3901655 by Max.Preussner ImgMedia: Added more perf stats to EXR reader Change 3901972 by Max.Preussner MediaAssets: Added getter for media player in media sound components Change 3902233 by Max.Preussner MediaAssets: Enabling media textures to receive samples right after player is assigned Change 3902238 by Max.Preussner MediaCompositing: Working around init/shutdown idiosyncracies in sequencer Change 3904045 by Max.Chen Sequencer: Fix copy/paste crash. Only process UMovieSceneCopyableBinding and objects that can be spawned by the movie scene spawn register. #jira UE-55314 Change 3905605 by Max.Chen Sequencer: Restrict spawnables from being created if they have a ClassWithin that UMovieScene is not a child of. #jira UE-55429 Change 3906550 by Max.Chen Sequencer: Add media track icon #jira UE-55480 Change 3907101 by Max.Chen Sequence Recorder: Fix bugs related to not recording a level sequence. There were certain assumptions that creating a level sequence meant that sequence recording was in progress. This is not always the case - the recorders can record animation assets and not create a level sequence. Changed the notion of IsRecording() to having at least one actor recording that is recording. Countdown timer, recording displays, etc should function if IsRecording() and not based on whether a level sequence is created. #jira UE-55485 Change 3907247 by Max.Chen Sequence Recorder: Fix crash not removing PrepareToCleanseEditorObject delegate. Repros when opening sequence recorder, closing it, and then opening or creating a level. Change 3910343 by Max.Preussner Core: Added async helper for executing functions on a given thread pool Change 3910346 by Max.Preussner ImgMedia: Added separate thread pools for loading/decoding and deleting image frames Change 3910829 by Max.Preussner Profiler: Increased visible range of profiler graph Change 3910841 by Max.Preussner MediaCompositing: Displaying asset name instead of full media source path in media section Change 3910870 by Max.Preussner ImgMedia: Using deallocation thread pool only in debug builds Change 3919642 by Max.Chen Sequence Recorder: Clarify active tooltip #jira UE-55661 Change 3919660 by Max.Chen Sequencer: Sequence template source signatures are now also compared to catch the case where a sub-sequence asset has been saved but not modified - The following sequence of events exposes this issue: - Create a master sequence with a single shot that spawns a cube - Add this sequence to a level and set it to auto-play - Save everything and restart - Resave just the inner shot asset without opening it - PIE - The inner shot never spawns its cube because its template was wiped on save, but its signature never changed. Since the master sequence previously didn't check the template source signature, it ends up trying to evaluate an empty template. #jira UE-55626 #jira UE-55490 Change 3921825 by Max.Chen Sequencer: "Run Construction Script in Sequencer" is off by default for blueprints but on for Sequencer. This allows the content author to switch it on for specific blueprints and sequencer will be default, run those with construction scripts enabled. Change 3922232 by Max.Chen Sequence Recorder: Reset countdelay on stop. #jira UE-55755 Change 3922306 by Max.Chen Sequence Recorder: Don't automatically mark transforms to be recorded by sequence recorder. Instead, log a warning if the user toggled it off to warn that the resulting animation might not match gameplay. #jira UE-55758 Change 3922912 by Max.Chen Sequence Recorder: Fix refresh next sequence name #jira UE-55757 Change 3927654 by Max.Chen Movie Scene Capture: Added format mapping for the name of the current camera #jira UE-55769 PR #4537 Change 3927658 by Max.Chen Sequencer: Added fbx property mapping for "FocusDistance" to "FocusSettings.ManualFocusDistance" #jira UE-55782 Change 3932022 by Max.Chen Sequencer: Add import animation track section to next available row index. #jira UE-55892 Change 3933919 by Max.Chen Sequencer: Jump to playback start frame and not 0 to start playback for recording. #jira UE-55933 Change 3934307 by Andrew.Rodham Sequencer: Add template signature that is re-generated every time the base template is regenerated, which invalidates evaluation fields This fixes an issue where the same sequence is instantiated multiple times in a sequence. If the source sequence was saved, its template would be wiped, which would invalidate the template ID When an instance tries to evaluate the master template, it would only invalidate a range in the evaluation field that was the hull of any invalid sub sequences overlapping the current time, potentially leaving invalid data in the evaluation field at positions later (or earlier) on in the sequence When the sub template was re-generated, it receives the same SequenceSignature as it had before (because the sequence hasn't actually changed), which causes the stale evaluation field data to fail the IsDirty check (because the sequence is the same as it thought, but the *template* has changed) This has been addressed be adding a signature to templates themselves, and checking both the template signature and sequence signature as a part of the IsDirty check. This ensures that we regenerate if either the template, or the sequence have changed. #jira UE-55934 Change 3936327 by Andrew.Rodham Sequencer: Removed increment when trimming right UMovieSceneSection::TrimSection already explicity assigns an exclusive bound to the time passed in. The new behavior means we can trim a section to the right, and insert another section without changing the time to create adjacent sections. #jira UE-42652 Change 3936328 by Andrew.Rodham Fixed KeyFrameManipulator assignment operators and copy/move constructors - These types are potentially self-referential so cannot use default constructors/assignment Change 3936330 by Andrew.Rodham Converted UMGSequencePlayer to use frames internally #jira UE-54878 Change 3936726 by Max.Chen Sequencer: Set track node as the parent of the key area node. The key area switcher needs the object binding id from the parent object binding node. Without this, the binding to the external value fails. #jira UE-55931 Change 3936775 by Max.Chen Sequencer: Should stop or loop should compare DurationFrames with Current Time from StartTime. The bug is that if you set 30 warmup frames in movie rendering for a range of 0-100, the FrameRange will be starting at -30 and have a duration of 130. Without this fix, the playback will continue until frame 130, rather than 100. #jira UE-55933 Change 3936935 by Matt.Hoffman Easing Curves are now represented in Play Rate resolution instead of internal resolution. #jira UE-55937 Change 3937069 by Matt.Hoffman Users can toggle if the is infinite on each side, limited by which tracks support infinite ranges. #jira UE-55891 Change 3937516 by Max.Preussner ImgMedia: Added support for single-threaded platforms #jira UE-55986 Change 3937826 by Max.Preussner MediaAssets: Disabling media sound components on HTML5 if AudioMixer is not enabled Change 3937997 by Max.Chen Curve Editor: Add Zoom to Fit Curves so that selected curves from Sequencer can be focused on. Tested that undo doesn't re-zoom. #jira UE-55935 Change 3938000 by Max.Chen Sequencer: Stop all sounds before generating audio waveforms. #jira UE-55951 Change 3938376 by Max.Preussner XGEController: Disabled XGE Controller in single-threaded apps to prevent crash Change 3938444 by Max.Preussner Core: Added async support for single-threaded applications Change 3938445 by Max.Preussner Networking: Added support for single-threaded applications in UDP socket sender/receiver Change 3938447 by Max.Preussner Messaging: Added support for single-threaded applications Change 3939432 by Max.Chen Sequence Recorder: Append command list to global level editor actions so that shortcuts are accessible in level editor. #jira UE-55798 Change 3940229 by Andrew.Rodham Added prospective display rate upgrade to UMovieScene::PostLoad - There was previously some very odd behaviour that would assign the fixed frame interval only when a sub sequence was focused in SSequencer. This meant that many sequences could have a frame interval of 0 set in the data. - Under the old method of snap interval display this would have fallen back to getting the display interval from the sequencer settings, but we no longer look at these. - The USequencerSettings properties have been removed and in their place, a prospective data upgrade for sequences that have a fixed frame interval old 0fps that sets the play rate to the previous defaults based off the old USequencerSettings defaults. - This could end up 'changing' the display rate for sequences where the user has changed the snap interval in the settings for a particular sequence editor, but there's not much we can do about that given we don't have access to the USequencerSettings classes in UMovieScene #jira UE-55919 Change 3940277 by Andrew.Rodham Sequencer: Added ability to default frame resolutions and play rates for newly created actor sequences Change 3940378 by Andrew.Rodham Sequencer: Post move import dialog now defaults to the playback framerate of the sequence, and floors to frame numbers Change 3940559 by Andrew.Rodham Reinstated primed or recording sequence color Change 3940642 by Max.Preussner ImagePlate: Removed image plate media playback functionality Change 3940843 by Max.Preussner Core: Made TCircularQueue actually thread-safe; improved code comments Change 3940860 by Max.Chen Sequencer: Changed StructNameToKey to StructPathToKey Previously, keying a PropertyPath of [RenderTransform][Shear][X] would get trimmed to X, which doesn't map to a channel name as considered by Sequencer2dTransformTrackEditor. Instead, trim the resulting property path to [Shear][X] so that track editors can determine the desired struct path and channels to key. #jira UE-52966 Change 3941292 by Mike.Zyracki Fix for trajectories out of range not showing up. 1) If we had no key data we would pop the time, so wouldn't get the section ranges. 2) Calculating of upper bound was wrong, checking against -1 and not key == num of keys when doing algo::lower_bound. 3) No need to do the Bck-- for the bakward iterators since we fixed #2. We start now from the upper bound correctly. 4) If we had no keys (at section start,end) we would incorrectly say we were any key type, so since we draw constant keys as dashed we would do so incorrectly around section end points. #jira UE-55929 Change 3941424 by Max.Chen Curve Editor: Change Zoom to Fit to use TArrayView Change 3941498 by Max.Preussner Core: Added FMath::DivideAndRoundNearest function Change 3942097 by Matt.Hoffman Drop Frame Timecode Support for NTSC rates. Change 3942104 by Matt.Hoffman Sequence Recorder Group is no longer visible inside the World Outliner after using one. #jira 55266 Change 3942107 by Max.Chen Sequencer: Resurrect logic to find or extend an existing section when adding keys. Change 3942330 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942339 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942507 by Andrew.Rodham Sequencer: We no longer pad the time overlap threshold with a small number that is not scaled by the current zoom level - The presence of this pad was causing keys that were far apart to be grouped when zoomed in a long way Change 3942509 by Andrew.Rodham Sequencer: Only pad total view range, rather than section range as well when retrieving keys to render - This stops us from rendering keys that are within the view range, but outside the section range Change 3942512 by Andrew.Rodham Added transactions to some sequencer details customizations Change 3942513 by Andrew.Rodham Sequencer: Reinstated validation checks to UMovieSceneSection::SetStartFrame and SetEndFrame, changed erroneous uses to use SetRange Change 3942560 by Andrew.Rodham Pass by rvalue reference to appease error C2719 on Win32 ('InChannels': formal parameter with requested alignment of 8 won't be aligned) Change 3942697 by Andrew.Rodham Newly Created Level Sequences and Actor Sequences now default to 24000 fps frame resolution (+/- ~24hrs range, supporting all integer rates + 23.976) Change 3942700 by Andrew.Rodham Sequencer: Added legacy out-of-bounds errors for times that are not supported by the current legacy upgrade frame resolution Change 3942989 by Max.Preussner Core: Fixed circular queue count calculation Change 3943538 by Max.Preussner MediaAssets: Reverted workaround for procedural audio log spam in HTML5 (Actor component initialization cannot be skipped if the component is used in a level) Change 3944071 by Max.Preussner QAGame: Fixed Media Texture keeps last frame of Media when PIE ends #jira UE-53360 Change 3944292 by Max.Chen Sequencer: Added extra flags to ensure that asset initialization does not occur on template actor sequences #jira UE-56113 Change 3944364 by Max.Chen Sequencer: Prevent circular shot/master tracks. Tested adding master -> child -> master as drag and drop cinematic shot tracks and sub tracks as well as through the + button. #jira UE-56091 Change 3944422 by Max.Chen Sequence Recorder: Disable transform recording if off. #jira UE-56061 Change 3944745 by Andrew.Rodham Sequencer: Key rendering fixes - Fixed assert that occured when keys happened to reside on some times due to KeyTime + TimeOverlapThreshold - KeyTime being slightly larger TimeOverlapThreshold - Fixed keys sometimes being clipped when zoomed right in due to lack of half-frame offset - Added missing documentation to MovieSceneTimeHelpers.h #jira UE-56107 Change 3945231 by Andrew.Rodham Sequencer: Reconstruct channel proxy on Serialize to catch all cases of undo/redo, PostLoad and duplication #jira UE-56089 Change 3945301 by Andrew.Rodham Sequencer: Added safety checks during initial sequence recording to guard against applying negative or 0-sized sequence ranges #jira UE-56125 Change 3946627 by Max.Preussner Fortnite: Fixed game crashes closing editor while in PIE - Pure virtual function being called #jira UE-56144 [CL 3946896 by Max Chen in Main branch]
2018-03-14 22:09:33 -04:00
const float LocalViewRangeMin = LocalViewRange.GetLowerBoundValue();
const float LocalViewRangeMax = LocalViewRange.GetUpperBoundValue();
const float LocalSequenceLength = LocalViewRangeMax-LocalViewRangeMin;
FVector2D Scale = FVector2D(1.0f,1.0f);
if ( LocalSequenceLength > 0)
{
FScrubRangeToScreen RangeToScreen( LocalViewRange, AllottedGeometry.Size );
Copying //UE4/Dev-Sequencer to //UE4/Main ========================== MAJOR FEATURES + CHANGES ========================== Change 2875025 on 2016/02/20 by Andrew.Rodham Sequencer: Cinematic viewport improvements - Added optional letterbox overlay (defaults to 2.35:1) - Added ability to change safe frame colors - Added selected tracks' keys to the transport range - Added buttons for jumping between selected tracks' keyframes on the transport controls - Removed black padding around the viewport where possible - Added ability to specify whether a combo button/menu anchor should close when its parent receives focus - Separated logic of FGroupedKeyArea into FSequencerKeyCollection, so it can be used independently - Added playback range to the viewport frame numbers - All frame numbers are now spin boxes #jira UE-26429 Change 2875026 on 2016/02/20 by Thomas.Sarkanen Added console commands for recording sequences Changed plugin to a developer plugin so we can load it when the editor is in -game mode. Added Exec commands. Added some more logging to help diagnose problems when using commands. Added loading/saving of config for recorder settings (stored in Editor.ini). Also disabled controls in recorder window when recording. Added auto-saving of assets when in non-editor modes. Moved animation settings from UnrealEd to Engine module. Change 2875036 on 2016/02/20 by Max.Chen Sequencer: Call RedrawAllViewports instead of RedrawLevelEditingViewports. In particular, this fixes some update issues when editing values in the key editors. #jira UE-26960 Change 2875046 on 2016/02/20 by Max.Preussner Sequencer: Fix so that clicking on UMG Animations doesn't dirty the scene. #jira UE-26249 Change 2875047 on 2016/02/20 by Max.Chen Sequencer: Add option to toggle display of channel colors/lines. View->Channel Colors Change 2877138 on 2016/02/23 by Max.Chen Sequencer: Select corresponding track node when selecting key or section. Removed active/inactive selection since it was only being used in deletion and the rules for deletion are now dependent upon what is selected - delete keys and sections before deleting outliner nodes. Change 2877143 on 2016/02/23 by Thomas.Sarkanen Added new math function: WindRelativeAnglesDegrees Given two angles in degrees, 'wind' the angle in Angle1 so that it avoids >180 degree flips. Good for winding rotations previously expressed as quaternions into a euler-angle representation. Change 2877147 on 2016/02/23 by Thomas.Sarkanen Added the ability to import sequencer transforms from the root node of an animation sequence Intended for use after re-importing animations from DCC tools. Available in the right-click menu for transform tracks. Also added FindTrackBinding to UMovieScene so track bindings can be recovered from tracks. Change 2877163 on 2016/02/23 by Max.Chen Sequencer: Add option to create keyframe sections as infinite. Sequencer defaults to true, UMG defaults to false. Change 2877165 on 2016/02/23 by Max.Preussner Sequencer: Drawing vertical position lines when dragging keys Change 2878748 on 2016/02/23 by Max.Chen Curve Editor: Switch curve type to user when flatting or straightening tangents. #jira UE-27277 Change 2878799 on 2016/02/23 by Frank.Fella Sequencer - Add folders support to the outliner. Change 2880769 on 2016/02/24 by Andrew.Rodham Sequencer: Added ability to override runtime spawnable ownership in sequencer - This is exposed as an option on spawnables "Keep Alive Outside Playback Range (In Sequencer)" - Enabling this will stop spawnables from being destroyed when scrubbing outside of the playback range #jira UE-27205 Change 2880770 on 2016/02/24 by Thomas.Sarkanen Sequencer: Added countdown and recording indicator display when recording Also fixed extra popups added post-PIE when animation recordings auto shutdown. Change 2880782 on 2016/02/24 by Max.Chen Sequencer: Snapping now also uses the current time as a possible snap time. #jira UE-26306 Change 2880793 on 2016/02/24 by Max.Chen Sequencer: Add +Animation to Animation track so that it's consistent with all other tracks that have a + button. Change 2880812 on 2016/02/24 by Max.Chen Sequencer: Fix adjusting the leading edge of a shot section so that it cuts into the shot rather than adjusts the start time. #jira UE-26306 Change 2881624 on 2016/02/25 by Andrew.Rodham Changing shader version GUID to fix corrupt shaders in ddc Change 2882408 on 2016/02/25 by Thomas.Sarkanen Asset/actors stored in TLazyObjectPtrs can now reference game content from engine This is a legitimate use case as lazy object ptrs are designed to reference assets/actors cross-domain. Change 2882409 on 2016/02/25 by Thomas.Sarkanen [CL 2899785 by Max Chen in Main branch]
2016-03-08 16:55:04 -05:00
// draw tick marks
const float MajorTickHeight = 9.0f;
FDrawTickArgs Args;
Copying //UE4/Dev-Sequencer to //UE4/Main ========================== MAJOR FEATURES + CHANGES ========================== Change 2875025 on 2016/02/20 by Andrew.Rodham Sequencer: Cinematic viewport improvements - Added optional letterbox overlay (defaults to 2.35:1) - Added ability to change safe frame colors - Added selected tracks' keys to the transport range - Added buttons for jumping between selected tracks' keyframes on the transport controls - Removed black padding around the viewport where possible - Added ability to specify whether a combo button/menu anchor should close when its parent receives focus - Separated logic of FGroupedKeyArea into FSequencerKeyCollection, so it can be used independently - Added playback range to the viewport frame numbers - All frame numbers are now spin boxes #jira UE-26429 Change 2875026 on 2016/02/20 by Thomas.Sarkanen Added console commands for recording sequences Changed plugin to a developer plugin so we can load it when the editor is in -game mode. Added Exec commands. Added some more logging to help diagnose problems when using commands. Added loading/saving of config for recorder settings (stored in Editor.ini). Also disabled controls in recorder window when recording. Added auto-saving of assets when in non-editor modes. Moved animation settings from UnrealEd to Engine module. Change 2875036 on 2016/02/20 by Max.Chen Sequencer: Call RedrawAllViewports instead of RedrawLevelEditingViewports. In particular, this fixes some update issues when editing values in the key editors. #jira UE-26960 Change 2875046 on 2016/02/20 by Max.Preussner Sequencer: Fix so that clicking on UMG Animations doesn't dirty the scene. #jira UE-26249 Change 2875047 on 2016/02/20 by Max.Chen Sequencer: Add option to toggle display of channel colors/lines. View->Channel Colors Change 2877138 on 2016/02/23 by Max.Chen Sequencer: Select corresponding track node when selecting key or section. Removed active/inactive selection since it was only being used in deletion and the rules for deletion are now dependent upon what is selected - delete keys and sections before deleting outliner nodes. Change 2877143 on 2016/02/23 by Thomas.Sarkanen Added new math function: WindRelativeAnglesDegrees Given two angles in degrees, 'wind' the angle in Angle1 so that it avoids >180 degree flips. Good for winding rotations previously expressed as quaternions into a euler-angle representation. Change 2877147 on 2016/02/23 by Thomas.Sarkanen Added the ability to import sequencer transforms from the root node of an animation sequence Intended for use after re-importing animations from DCC tools. Available in the right-click menu for transform tracks. Also added FindTrackBinding to UMovieScene so track bindings can be recovered from tracks. Change 2877163 on 2016/02/23 by Max.Chen Sequencer: Add option to create keyframe sections as infinite. Sequencer defaults to true, UMG defaults to false. Change 2877165 on 2016/02/23 by Max.Preussner Sequencer: Drawing vertical position lines when dragging keys Change 2878748 on 2016/02/23 by Max.Chen Curve Editor: Switch curve type to user when flatting or straightening tangents. #jira UE-27277 Change 2878799 on 2016/02/23 by Frank.Fella Sequencer - Add folders support to the outliner. Change 2880769 on 2016/02/24 by Andrew.Rodham Sequencer: Added ability to override runtime spawnable ownership in sequencer - This is exposed as an option on spawnables "Keep Alive Outside Playback Range (In Sequencer)" - Enabling this will stop spawnables from being destroyed when scrubbing outside of the playback range #jira UE-27205 Change 2880770 on 2016/02/24 by Thomas.Sarkanen Sequencer: Added countdown and recording indicator display when recording Also fixed extra popups added post-PIE when animation recordings auto shutdown. Change 2880782 on 2016/02/24 by Max.Chen Sequencer: Snapping now also uses the current time as a possible snap time. #jira UE-26306 Change 2880793 on 2016/02/24 by Max.Chen Sequencer: Add +Animation to Animation track so that it's consistent with all other tracks that have a + button. Change 2880812 on 2016/02/24 by Max.Chen Sequencer: Fix adjusting the leading edge of a shot section so that it cuts into the shot rather than adjusts the start time. #jira UE-26306 Change 2881624 on 2016/02/25 by Andrew.Rodham Changing shader version GUID to fix corrupt shaders in ddc Change 2882408 on 2016/02/25 by Thomas.Sarkanen Asset/actors stored in TLazyObjectPtrs can now reference game content from engine This is a legitimate use case as lazy object ptrs are designed to reference assets/actors cross-domain. Change 2882409 on 2016/02/25 by Thomas.Sarkanen [CL 2899785 by Max Chen in Main branch]
2016-03-08 16:55:04 -05:00
{
Args.AllottedGeometry = AllottedGeometry;
Args.bMirrorLabels = bMirrorLabels;
Args.bOnlyDrawMajorTicks = false;
Args.TickColor = FLinearColor::White;
Copying //UE4/Dev-Editor to //UE4/Dev-Main (Source: //UE4/Dev-Editor @ 3497164) #lockdown Nick.Penwarden #rb none ===================================== MAJOR FEATURES + CHANGES ===================================== Change 3433074 by Matt.Kuhlenschmidt Fix crash when clicking on certian tutorial blueprints. #jira UE-44593 Change 3433075 by Matt.Kuhlenschmidt Remove hittest grid log spam. The underlying problem causing this has been fixed Change 3433077 by Matt.Kuhlenschmidt Fix lighting becoming unbuilt when mesh painting #jira UE-44837 Change 3433081 by Matt.Kuhlenschmidt PR #3553: Crashfix for static array properties (Contributed by Pierdek) Change 3433104 by Alexis.Matte Make sure re-import skeletal mesh follow the import morph option #jira UE-42846 Change 3434825 by Matt.Kuhlenschmidt Fix crash when GC happens while the vr editor radial menu is open. Change 3434831 by Matt.Kuhlenschmidt Added missing file Change 3434868 by Shaun.Kime If you have a reroute node between a Material Function texture input and its usage, the parent material will fail to resolve the reroute node. #jira ue-44670 Change 3434998 by Alexis.Matte Meshes editors material/section panel are now fully transactional - Staticmesh editor: section material slot, section cast shadow, section collision, material slot instance, material slot name - Skeletal mesh editor: material slot instance, material slot name Also fix some transaction description #jira UE-44462 Change 3435195 by Jamie.Dale Fixed incorrect handling of some LTR scripts that require shaping These scripts need to go through HarfBuzz, and this also fixes a case where HarfBuzz wasn't applying font scale correctly. #jira UE-44767 Change 3435199 by Jamie.Dale Fixed some crashes/artifacts with bidirectional text It was possible for a line to compute an incorrect range, which could cause crashes or other highlighting issues. The highlighting logic has also been updated as the old code didn't handle all bidirectional cases correctly. Change 3435200 by Jamie.Dale Fixed a grapheme cluster metrics issue in the font editor viewport The viewport also now respects the default shaping method CVar. Change 3435771 by Alexis.Matte Fix degenerated bounds calculation for skeletalmesh when the skeleton is remove from a re-import (PhysicAsset API change, adding 1 function) #jira UE-44609 Change 3436856 by Jamie.Dale Added some missing Unicode block ranges Change 3436914 by Jamie.Dale Adding some missing combining character ranges to the text shaper Change 3436923 by Alexis.Matte PR #3463: Get bounds for all triangles, not just the first one. WedgeIndex was . (Contributed by DaveC79) #jira UE-43764 Change 3436948 by Jamie.Dale Updated the Portal to use the predefined Unicode block ranges Change 3436961 by Max.Chen Sequencer: Show camera shake/anim track menus even if there aren't any assets. Change 3437244 by Max.Chen Sequencer: Clear locked cameras when releasing Sequencer. #jira UE-44967 Change 3437515 by Arciel.Rekman UBT: improvements for LocalExecutor. - Larger number of parallel jobs on 16GB+ machines. - Use WaitForExit() instead of polling. - Tested on Linux and Mac. Change 3437629 by Matt.Kuhlenschmidt Improve asset import data display in static and skeletal meshes Change 3438047 by Arciel.Rekman Fix overlapping ranges being passed to memcpy(). Change 3438822 by Yannick.Lange ViewportInteraction: Move gizmo handle files to make them private. Change 3438906 by Matt.Kuhlenschmidt PR #3556: Git Plugin: fix new option "init Git LFS" that make assets read-only (master/UE4.17) (Contributed by SRombauts) Change 3438907 by Matt.Kuhlenschmidt PR #3565: add -quality option to buildlighing commandlet (Contributed by kayama-shift) Change 3438908 by Matt.Kuhlenschmidt PR #3558: UE-44862: Always update SColorPicker color on OK button (Contributed by projectgheist) Change 3439393 by Matt.Kuhlenschmidt Force highest LOD for highres screenshots Change 3439819 by Matt.Kuhlenschmidt Turned FAssetData into a struct for some upcoming script exposure of FAssetData Change 3439949 by Arciel.Rekman Fixed selection logic for the UE4_LINUX_USE_LIBCXX environment variable. - Allows disabling libc++ by setting the variable to 0. - Pull request #3576 contributed by jared-improbable. Change 3441078 by Jamie.Dale The culture/language/locale console commands are now available in all build configs Change 3441109 by Jamie.Dale Text containing surrogate pairs now runs through HarfBuzz when shaping in Auto mode This is needed as the kerning-only shaping code assumes that everything is within the BMP Change 3441275 by Matt.Kuhlenschmidt Disable spinning on location and scale. These dont work because we have no notion of infinite spinning Change 3442748 by Yannick.Lange ViewportInteraction: Remove unused console variables. Change 3442775 by James.Golding Add support for editing MaterialFunctions to MaterialEditingLibrary Pull Material recompile/update code into UMaterialEditingLibrary::RecompileMaterial Pull MaterialFunction update code into UMaterialEditingLibrary::UpdateMaterialFunction util Move RebuildMaterialInstanceEditors to UMaterialEditingLibrary Added test content for Material/MaterialFunction editing Add needed BlueprintReadWrite to expressions (constants, function input/output) Expose UMaterialExpressionMaterialFunctionCall::SetMaterialFunction to BP, rename old func (which takes old function) to SetMaterialFunctionEx, also expose GetInputNameWithType Change 3442779 by James.Golding Fix header order Change 3442817 by Yannick.Lange ViewportInteraction: Add can execute checks for level editor commands. Change 3443038 by Michael.Dupuis #jira UE-43377: When you select a foliage actor we will move all instance contained in it to the new level as we can't move a foliage actor Only permit moving foliage instance if there is some selected Change 3443855 by Michael.Dupuis #jira UE-44885: Unregister from PerModuleDataObjects when the object is destroyed Change 3446096 by Max.Chen Sequencer: Add OnFinished() event when a level sequence completes playback #jira UE-45173 Change 3446097 by Max.Chen Sequencer: Evaluate one last time before the sequence is torn down and reset #jira UE-45174 Change 3446242 by Jamie.Dale Fixed caret not appearing in empty text layouts Caret selections have no range, and therefore have no width Change 3446361 by Matt.Kuhlenschmidt Fix WITH_EDITOR only functions causing generated code compile errors when the all functions on the class are WITH_EDITOR Change 3446457 by Alexis.Matte Polish the speed tree import dialog #jira UE-44963 Change 3446946 by Michael.Trepka Modified FWindowsWindow::GetRestoredDimensions to return correct window position for normal windows for which GetWindowPlacement returns position in workspace coordinates #jira UE-37934 Change 3447543 by Arciel.Rekman Reduce VMAs on Linux. - Trades off increased address space (VIRT in terms of ps/htop) for smaller number of distinct mappings (VMAs, virtual memory areas). This decreases possibility to run into vm.max_map_count limit on Linux. - Tested on Linux and Mac. Change 3448468 by Arciel.Rekman Fix race condition during creation of GMalloc. - On Mac GMalloc can be created on two different thread that are racing with each other - app's main thread and a system thread. Change 3449012 by Max.Chen Sequencer: Add time to transform, color and vector key structs so that key times are editable from the key editors. #jira UE-45089 Change 3449018 by Max.Chen Sequencer: Add OnCameraCut event that fires when there is a camera cut. #jira UE-45137 Change 3449195 by Max.Chen Sequencer: Add setting for limit scrubbing to playback range. #jira UE-43502 Change 3449198 by Max.Chen Sequencer: Reorder hierarchical bias so that group priority takes precedence. Change 3449217 by Max.Chen Sequencer: Add setting to activate realtime viewports when in sequencer. Change 3449219 by Max.Chen Sequencer: Focus on search boxes when opened. Change 3449238 by Max.Chen Sequencer: Assign actor should replace the actor itself after it has updated all the components. Also, replace components be fullname rather than by class. Change 3449239 by Max.Chen Sequencer: Fix offsets when moving multiple sections. Dragging should be clamped to the bounds that any of the selected sections hits against the unselected sections. Change 3449241 by Max.Chen Sequencer: Restore section selection after full tree rebuild. Change 3449279 by Max.Chen Sequencer: Set movie scene capture frames only when not using custom frames. This allows the user entered frame numbers to persist in config, rather than overwriting them when doing a "Render Shot" Change 3449280 by Max.Chen Sequencer: Spawn in the persistent level. Otherwise, they get spawned into whatever sublevel is current. #jira UE-44552 Change 3449294 by Max.Chen Sequencer: Null check for sequencer ed mode crash. Change 3449297 by Max.Chen Sequencer: Fix delay in sliding values. Mark changed when sliding values. Mark refresh immediately when committing values since OnValueChanged will be called and needs to have the correct value that was refreshed immediately. #jira UE-42866 Change 3449542 by Max.Chen Sequencer: Fix scrubber hit testing so that the time scrubber is really favored over the playback ranges. #jira UE-44569 Change 3451507 by Matt.Kuhlenschmidt Fix extra slate uv coords not functioning on ES2 Change 3451510 by Matt.Kuhlenschmidt PR #3595: Fixed wrong colour for level status (Contributed by ronve) Change 3451529 by Alexis.Matte fbx scene importer: Make sure we set INVALID_UNIQUE_ID to node that has no attribute. #jira UE-34410 Change 3451611 by Yannick.Lange ViewportInteraction: Dragging gizmo without second pass for snapped calculations. Change 3452134 by Jamie.Dale Fixed constant font cache flushing if a widget had no font set Change 3452239 by Jamie.Dale Fixed constant font measure flushing if a widget had no font set Change 3452243 by Jamie.Dale Removed deprecated code for creating fonts from bulk data Change 3452277 by Jamie.Dale The concept of "stale" composite fonts is now editor-only Change 3452358 by Alexis.Matte Fbx scene importer: Do not remove existing attribute reference from the blueprint if the reimport of the associate mesh attribute is not tick. #jira UE-45232 Change 3452678 by Max.Chen Sequencer: Fix crash on export if there's no shot data. Change 3453057 by Matt.Kuhlenschmidt Exposed asset exporting to script Change 3453782 by Andrew.Rodham Sequencer: Fixed deterministic cooking issues with movie scene data - Movie scene signatures are now initialized in PostInitProperties - A warning is now presented when attempting to cook old data that was never serialized with a signature. - Removed redundant legacy data upgrade logic that could dirty level sequences on load. #jira UE-44912 Change 3453788 by Yannick.Lange ViewportInteraction: Custom scene proxy for gizmo handles. Change 3453938 by Max.Chen Sequencer: Hotkeys (shift , and shift .) to step to next/previous shot #jira UE-45119 Change 3454058 by Michael.Dupuis Fixed StaticAnalysis Change 3454077 by Max.Chen Sequencer: Fix not saving the pre-animated track value when creating a track/key. On pre object change, broadcast property change so that a track or key can be created. That track/key needs to be evaluated immediately so that the pre-animated state can be saved properly. This is done now with RefreshAllImmediately and is only called when a track has been created. Also, added a return value for OnKeyProperty, so that it's known what changed in particular (ie. track created, track modified, etc) Also, fixed transform keying so that if a transform track already exists for the object or the scene component, the existing track is used. #jira UE-45130 Change 3454108 by Nick.Darnell UMG - Fixing the WIC to properly record cursor delta so that scrollbars work. Change 3454109 by Jamie.Dale Cache the text layout source info in non-shipping builds so you can inspect it in the debugger Change 3454202 by Matt.Kuhlenschmidt Fix bogus error message about the number of usable texture coordinates on ES2 when compiling a UI domain material Change 3454390 by Yannick.Lange Fix creating a plugin in a C++ project opens a second instance of Visual Studio. Use SourceCodeAccessor to open solution when necessary. #jira UE-45035 Change 3454564 by Matt.Kuhlenschmidt #rnx Fix deprecation warnings Change 3455471 by Yannick.Lange ViewportInteraction: Fix entering and exiting VR Mode disables gizmo in desktop editor viewport. #jira UE-44965 Change 3456183 by Max.Chen Sequencer: Auto key, auto track refactor. Auto key - create a key when the property changes and there's an existing track. Auto track - create a track when the property changes. This is only exposed in the level sequence editor. All - create a key and a track when the property changes. This is only exposed in VR Editor. None - do nothing. #jira UE-43469 Change 3456349 by Andrew.Rodham Sequencer: Only perform legacy signature checks on instances, and only where signatures match the CDO Change 3456678 by Alexis.Matte Allow to add null level instance override material via the advance material array. But still limit the override material number to the mesh material number. #jira UE-45306 Change 3456945 by Max.Chen UMG: Add restore state to 2d transform section. #jira UE-45372 Change 3457196 by Arciel.Rekman Linux: serialize allocations from the memory pool. Change 3458434 by Max.Chen Sequencer: Remove obsolete set tick prerequites functions. Change 3458671 by James.Golding Added MIC editing support to MaterialEditingLibrary Fix static analysis warning Change 3458888 by Matt.Kuhlenschmidt PR #3615: More detailed log messages for debugging warnings/errors (Contributed by projectgheist) Change 3458893 by Matt.Kuhlenschmidt PR #3583: UE-44960: Delta value wasn't being used (Contributed by projectgheist) Change 3458895 by Matt.Kuhlenschmidt Fix typo Change 3458902 by Matt.Kuhlenschmidt PR #3607: Improved InputKeySelector functionality (Contributed by projectgheist) Change 3458917 by Matt.Kuhlenschmidt Fix crash with invalid object properties in the class picker #jira UE-39000 Change 3458939 by Matt.Kuhlenschmidt Fix compile error Change 3458984 by andrew.porter QAGame: Initial check in of sequencer smoke test map Change 3459510 by Matt.Kuhlenschmidt Fixed ensure when deleting a map that contains build data which also happens to be the currently loaded map. #jira UE-45052 Change 3460985 by Max.Chen Sequencer: Snap play time to keys now allows scrubbing between keys and snaps to key times within a certain screenspace tolerance. #jira UE-45090 Change 3461698 by Arciel.Rekman Avoid using ARRAY_COUNT in Vulkan. - Sometimes those arrays can have no extensions whatsoever, and it is illegal to declare a 0 element C array. Change 3462053 by Max.Chen Sequencer: Show sequencer spawnables in the world outliner and add the icon overlay for spawnables. #jira UE-43470 Change 3462139 by Max.Chen Property Editor: Add objects to FPropertyAndParent Change 3462202 by Arciel.Rekman Fix FSocket::Recv() blocking with Peek when there's no data. Change 3462253 by Nick.Darnell Slate - New Clipping System Clipping is now a stateful choice made during composition of the slate hierarchy. Previously every widget got to respect or modify the clipping rect on an as needed basis. The problem was that clipping was only allowed in the layout space of the widget, and it wasn't possible to properly clip elements with render transforms. The new system permits all kinds of transforms on any widget, and they will all be clipped correctly. It tries to use Scissor Rects as they are much cheaper, but will switch over to stenciling if need be to represent a complicated masking structure with several rotated clipping rects all needed to be combined together. Here are the new clipping states a widget can have, almost all widgets are set to No. Only change it from No if your widget actually needs to clip, generally speaking most widgets don't need to clip. /** * This widget does not clip children, it and all children inherit the clipping area of the last widget that clipped. */ Inherit, /** * This widget clips content the bounds of this widget. It intersects those bounds with any previous clipping area. */ ClipToBounds, /** * This widget clips to its bounds. It does NOT intersect with any existing clipping geometry, it pushes a new clipping * state. Effectively allowing it to render outside the bounds of hierarchy that does clip. * * NOTE: This will NOT allow you ignore the clipping zone that is set to [Yes - Always]. */ ClipToBoundsWithoutIntersecting UMETA(DisplayName = "Yes - Without Intersecting (Advanced)"), /** * This widget clips to its bounds. It intersects those bounds with any previous clipping area. * * NOTE: This clipping area can NOT be ignored, it will always clip children. Useful for hard barriers * in the UI where you never want animations or other effects to break this region. */ ClipToBoundsAlways UMETA(DisplayName = "Yes - Always (Advanced)"), /** * This widget clips to its bounds when it's Desired Size is larger than the allocated geometry * the widget is given. If that occurs, it behaves like [Yes]. * * NOTE: This mode was primarily added for Text, which is often placed into containers that eventually * are resized to not be able to support the length of the text. So rather than needing to tag every * container that could contain text with [Yes], which would result in almost no batching, this mode * was added to dynamically adjust the clipping if needed. The reason not every panel is set to OnDemand, * is because not every panel returns a Desired Size that matches what it plans to render at. */ OnDemand UMETA(DisplayName = "On Demand (Advanced)") - Large API Change - All FSlateDrawElement::Make_____ calls have been deprecated that involved passing in a clipping rect. You no longer should are passed a Clipping rect via OnPaint. You are still passed a rect, but this rect represents a Culling Rect, which is valuable if you need to just out right not paint things the user can't possibly see. If you were previously trying to determine if you should cull widgets, by doing something like this, if ( FSlateRect::DoRectanglesIntersect(MyClippingRect, CurWidget.Geometry.GetRenderBoundingRect()) ) That's no longer a good option since there are ways for widgets to ignore the culling bounds. You should convert anything like above to the one below, if (!SWidget::IsWidgetCulled(MyCullingRect, CurWidget)) To assist in debugging efforts, there are several new debugging console flags in Slate, Slate.ShowClipping 1 - Controls whether we should render a clipping zone outline. Yellow = Axis Scissor Rect Clipping (cheap). Red = Stencil Clipping (expensive). Slate.DebugCulling 1 - Disables pushing clipping or stencil rects to the GPU, but continues to intersect culling rects, so that you can tell if a widget is properly culling children it can't possibly draw. Slate.ShowTextDebugging 1 - Show debugging painting for text rendering. I've added a new Experimental Feathering Option, it adds AA geometry around the outside of Box and Image brushes. Slate.Feathering 1 If you're using RenderDoc or something similar, you can now enable render events for slate, so that you can better grok how we're batching and changing states for each UI render pass. Slate.EnableDrawEvents 1 #jira UE-4659 #rn Change 3462714 by Nick.Darnell Fixing a few more compiler issues with the clipping changes. Change 3462726 by Max.Chen Switch OnEditStructChildContentsChanged to use FObjectWriter instead of FMemoryWriter which supports serializeing UObjects. This fixes a crash when adding actor array elements to a user defined event struct. #jira UE-45431 Change 3462801 by Nick.Darnell Adding a UMG dependency to EngineTestBuild. Change 3462914 by Max.Chen Sequencer: Fix regression where spawnables aren't getting saved. Caused by 3407138 #jira UE-30007 #jira UE-39003 Change 3462946 by Nick.Darnell Automation - Tweaking the UI automation tests converting them over to use the new UI Screenshot automation test. Automation - Adding a blur widget test. Change 3462987 by Matt.Kuhlenschmidt Back out changelist 3458893 Change 3464774 by Matt.Kuhlenschmidt PR #3629: Bugfix: Missing small icon in Project Launcher profile editor (Contributed by aarmbruster) Change 3464785 by Nick.Darnell Fixing some clipping stuff in the editor. Change 3464830 by andrew.porter QAGame: Second pass on sequencer smoke test map Change 3464902 by Nick.Darnell Loading - Adding some additional checks to the the loading code to ensure we're on the main thread. Additionally adding a fix from UDN that prevents deadlocks in the rare case a user hits Alt+Tab in a fullscreen game while in a hard loading screen. Change 3464988 by Max.Chen Sequencer: Add attenuation settings for attached audio components. #jira UE-33080 Change 3465024 by Nick.Darnell MoviePlayer - Impoving the playback mode displaynames. Change 3465074 by Arciel.Rekman Fix shadowing issues of GraphicsPSOInit. Change 3465097 by Matt.Kuhlenschmidt Some refactoring of the details panel Exposed new methods of adding a struct on scope to a details panel and have it work properly with customizations. The scruct on scope has a "fake" ustructproperty that allows the details panel to show the whole struct not just an individual property. Refactored the API for adding rows to details panels to make it more consistent\ AddChildCustomBuilder->AddCustomBuilder AddChildGroup->AddGroup AddChildContent->AddCustomRow AddChildPropert->AddProperty AddChildStructure->AddExternalStructureProperty AddStructure->AddAllExternalStructureProperties AddExternalProperty->AddExternalObjectProperty or AddExternalStructureProperty Change 3465186 by Max.Chen Sequencer: Save the BindingID in the pre animated token producer so that it can be destroyed properly. This fixes a bug where the default state of a spawnable isn't saved. #jira UE-43780 Change 3465315 by Matt.Kuhlenschmidt Fix Fortnite and Orion details panel customization warnings Change 3465424 by Nick.Darnell Automation - Moving the step for setting the link to the automation reports to be set before we start the engine. Change 3465488 by Nick.Darnell Automation - Forcing textures to load before taking screenshot, so that the scene gets another opportunity to render before we render with Slate. This should fix the Blur UI Test. Change 3466277 by Arciel.Rekman Linux: fix window drift when dragging (UE-40380). - Change by Cengiz Terzibas. Change 3466370 by Nick.Darnell UMG - Fixing the colors for the resize handle in the designer. Change 3466372 by Nick.Darnell UMG - Fixing the ruler ticks sometimes not being drawn. Change 3466374 by Nick.Darnell UMG - Fixing the designer showing multiple options for sequencer. Change 3466377 by Nick.Darnell UMG - Cleaning up some clipping bits. Change 3467025 by Andrew.Rodham Re-saving assets that contain legacy (<4.15) movie scene data to remove deterministic cook warning. If conflicts arise during merging of these assets, please ignore the changes made in dev-editor, and accept game-side changes. (CIS step 62283298, jobId 7773146) (CIS step 62283297, jobId 7773146) Change 3467099 by Max.Chen Fix GetObjectPropertyClass ensure logic. This was returning UObject::StaticClass when valid. Change 3467172 by Max.Chen Sequencer: Evaluation optimizations. Also, fixes subsequences not getting expired, leaving dangling spawnables. #jira UE-43690 Change 3467192 by Matt.Kuhlenschmidt Fix transactions getting stuck in the color grading controls. This prevents PIE from working properly and causes shutdown crashes #jira UE-45527 Change 3467251 by Yannick.Lange ViewportInteraction: Fix scale and rotation snap while dragging with two lasers. #jira UE-43489 Change 3467331 by Matt.Kuhlenschmidt Fix D3D shader compiler hard coding shader path and not giving proper warnings when it cannot find the shaders Change 3467335 by Matt.Kuhlenschmidt Remove DarkStyle attribute from SNumericEntryBox and allow a spin box style to be passed to it. Change 3467558 by Max.Chen Scene Outliner: Generic support to add default columns to a scene outliner. Change 3467565 by Jamie.Dale Removing old screenshot data for test Change 3467589 by Nick.Darnell Editor - Random cleanup. Change 3467596 by Nick.Darnell Progress Bar - Exposing Border Padding to UMG. Change 3467600 by Nick.Darnell Slate - Adjusting the rendering of the splitter, previously it could be off by a pixel or two, which becomes more apparent now with the clipping changes. Change 3467601 by Max.Chen Property Editor: Fix static analysis warning Change 3467662 by Nick.Darnell Automation - Fixing a bug with the screenshot comparison tool not replacing (removing) the old screenshot data. Change 3467674 by Max.Chen Property Editor: Fix static analysis warning Change 3467737 by Max.Chen Sequencer: Added OnMovieSceneBindingsChanged delegate Change 3468053 by tim.gautier QAGame: Updating Editor Smoke Map - Updated landscapes into Stations for testing - Added Foliage Sublevel Change 3468194 by Arciel.Rekman Linux: fix problems communicating with various STL-using libs. - Stop hiding global new/delete signatures. - Disable CEF3 since this change uncovers the problem with libcef.so not built to use bundled libpng. Change 3468678 by Max.Chen Sequencer: Set "Sequencer Actor" tag before setting the actor label so that the outliner refreshes after the actor has the tag. Change 3469314 by tim.gautier QAGame: Added Painted Foliage / Spline section to EditorSmoke map Change 3469377 by Nick.Darnell Slate - Fixing some warnings in a couple of sample games due to the clipping changes. #rnx Change 3469767 by Max.Chen Sequencer: Outliner column and sequencer binding data #jira UE-43470 Change 3469974 by Arciel.Rekman Fix code projects not working in Linux installed build. Change 3470082 by Nick.Darnell Slate - The GetRenderer() call on SlateApplication no longer returns a SharedPtr, rather than convert it to a thread safe ptr, going to just make accessing it a raw ptr return, so it can be safely referenced on the game thread while being used on the slate loading thread. Change 3470174 by Nick.Darnell Slate - Get the last widget in a widget path utility. Change 3470176 by Nick.Darnell UMG - User Widgets now have an easy way to know if they're part of or have been removed from the focused widget path, which is handy for doing effects. Change 3470261 by Nick.Darnell Slate - The GetRenderer() call on SlateApplication no longer returns a SharedPtr, rather than convert it to a thread safe ptr, going to just make accessing it a raw ptr return, so it can be safely referenced on the game thread while being used on the slate loading thread. Change 3470286 by Max.Chen Sequencer: Scene Component's HiddenInGame now goes through the VisibilityTrack and the visibility template. Change 3470366 by Nick.Darnell Slate - We now version focus per user, that way during focus events, we can safely abort focus events and state transitions if someone interrrupts the active focus event with something new. Change 3470649 by Matt.Kuhlenschmidt Fix deprecation warnings Change 3470695 by Matt.Kuhlenschmidt Fixed typo #jira UE-45580 Change 3470721 by Matt.Kuhlenschmidt Fix static analysis Change 3471254 by Michael.Dupuis #jira UE-42952: Keep occlusion result per view Change 3471287 by Nick.Darnell UMG - Render Focus Rule now defaults to never. Change 3471291 by Nick.Darnell Slate - Fixing FSlateRenderer* change fallout. Change 3471299 by Nick.Darnell Slate - Fixing FSlateRenderer* change. Change 3471323 by Nick.Darnell Automation - Fixing automation and Static Analysis warning. Change 3471413 by andrew.porter QAGame: Added test content for anim blending and material parameteres to sequencer smoke level Change 3471649 by Max.Chen Sequencer: Modify the track when adding animation #jira UE-45618 Change 3471659 by Matt.Kuhlenschmidt Added a way to check if a movie is playing from the engine. Prevented viewport redraws for canvas loading screens if a slate based loading movie is playing Change 3471734 by Matt.Kuhlenschmidt Added basic material hookup to USD. Similar to FBX it will find materials based on rules specified by the user in the import settings Change 3472176 by Nick.Darnell UMG - Improving the display of the +Track menu in sequencer for UMG. Renamed it from +Add, which is repetitve to +Track. Additionally, the dropdown now shows the currently selected widgets, as well as a submenu containing all the 'important' widgets, so we no longer populate that list with a ton of irrelevant widgets that are just Buton_1 - N, which is pointless in showing people, they'll never guess which is the right button. Change 3472740 by Max.Chen Sequencer: Add GetThisFrameMetaData accessor Change 3472748 by Max.Chen Sequencer: Added OnBeginScrubbing and OnEndScrubbing event delegates Change 3472753 by Max.Chen Sequencer: Add EMovieSceneDataChangeType parameter to OnMovieSceneDataChanged delegate Change 3472870 by Nick.Darnell Clipping - Fixing the deprecated tip for scissor rect boxes to be correct. Removing it's usage from UT. Change 3473340 by Max.Chen Scene Outliner: Add ability to register additional filters Change 3473348 by Max.Chen Details View: Make ForceRefresh virtual. Added accessors to delegates (ie. GetIsPropertyReadOnlyDelegate) Change 3473441 by Max.Chen Sequencer: Autokey Refactor Part 2. Autokey is now a single toggleable state. Allow Edits Mode has 3 states: Allow All Edits - Allow any edits to occur, some of which may produce tracks/keys or modify default properties. Allow Sequencer Edits Only - All edits will produce either a track or a key. Allow Level Edits Only - Properties in the details panel will be disabled if they have a track. #jira UE-45229 Change 3473670 by Nick.Darnell Modules - The module manager no longer returns sharedptrs to IModuleInterfaces, this was the source of rare hard to track down crashes due to a shared ptr reference leak when GetModule was called on non-main threads. We now store a TUniquePtr internally, and only lease out raw pointers. #rn Change 3473711 by Nick.Darnell Disabling the ensure in the module manager. Change 3473747 by Max.Chen Sequencer: Fix tooltip Change 3474091 by Jamie.Dale Added a warning when cooking a UFontFace that is outered to a UFont asset These cause issues with iterative COTF, and should be split off into their own assets (as the UI has been asking people to do for several versions) Change 3475052 by Yannick.Lange VR Editor: Fix Crash when quitting the editor with VR Mode enabled. VR Editor was being enabled when saving the map on closing the editor. #jira UE-45415 Change 3475054 by Yannick.Lange Fix crash when adding a camera to the world in VR Mode the second time. The slate application did not reset when stop dragging in VR Mode, so the second time when starting to drag a camera out of the UI it would already by in a dragging state. #jira UE-45574 Change 3475263 by Nick.Darnell Fixing some additional cases of IModuleInteface SharedPtr usage. Change 3475268 by Max.Chen Sequencer: Set jumped state when looping playback. This fixes an issue where audio doesn't stop and restart when looped. #jira UE-45654 Change 3475269 by Max.Chen Scene Outliner: Additional filters should only apply to actor browsing mode Change 3475407 by Nick.Darnell Fixing some clipping / module shared ptr changes in the launcher code. Change 3475542 by Max.Chen Sequencer: Update thumbnail and section highlighting to use new clipping behavior. #jira UE-45692 #jira UE-45689 Change 3475743 by Michael.Dupuis #jira UE-45183: When updating phyx region take into account simple collision mip Change 3475949 by Arciel.Rekman Remove PhysX deoptimization (no longer needed). - OR-24947 has been closed three months ago. Change 3476022 by Michael.Dupuis #jira UE-45560: Make sure we're not going out of range Change 3476063 by Michael.Dupuis #jira UE-45562: Do not try to unregister from static mesh if no static mesh is specified for the component Change 3476168 by Michael.Trepka Added handling of directory symlinks to FApplePlatformFile::IterateDirectory #jira UE-43704 Change 3476172 by Nick.Darnell Fixing a Imoduleinterface change. Change 3476183 by Jamie.Dale Exposing GoTo/ScrollTo to single-line editable text for API parity with multi-line editable text Change 3476385 by Arciel.Rekman Linux: handle symlinks when iterating directories. Change 3476522 by Michael.Trepka Solved a problem with Mac FMallocTBB::Malloc() returning nullptr for 0 bytes allocations, which is inconsistent with other platforms. On Mac we always scalable_aligned_malloc, which behaves differently than scalable_malloc, so for 0 bytes requests we allocate sizeof(size_t), which is exactly what scalable_malloc does internally in such case. Change 3476806 by Nick.Darnell UMG - Focus the designer after dropping a widget onto the surface. Change 3476809 by Nick.Darnell Curve Editor - Enable Clipping on the curve editor. Change 3477475 by Nick.Darnell Fixing a module interface shared ptr usage in UT. Change 3477553 by Yannick.Lange VR Editor: Removed AssetEditorPanelID and replaced it with TabManagerPanelID. A panel for AssetEditorPanelID was never created making it impossible to open an asset editor. Change 3477734 by Yannick.Lange VR Editor: Fix Warning: SetRelativeScale3D : Invalid Scale entered (X=inf Y=inf Z=inf). Resetting to 1.f. warning when adding CineCameraActor to World from Modes Panel. Make sure to not divide by zero when there is no boundary scale. #jira UE-44933 Change 3477761 by Jamie.Dale Some improvements to avoid loading the native .locres files twice when we don't need to Change 3477780 by Nick.Darnell PR #3250: Return correct VirtualUserIndex (Contributed by projectgheist) Change 3477786 by Nick.Darnell PR #3650: Changed TestNull to accept const pointers. (Contributed by e-agaubatz) Change 3477795 by Nick.Darnell PR #2844: UE-36936: Don't stretch container for Plugin Image (Contributed by projectgheist) Change 3478092 by Nick.Darnell PR #2341: Optional Middle Mouse Button panning in Graph Editor (Contributed by flipswitchingmonkey) Engine Edit - Made some small changes to the enum type, and some naming. Change 3478450 by Nick.Darnell Fixing some uninitialized variable errors. Change 3479827 by Andrew.Rodham Sequencer: Addressed serialization issues with some struct types Change 3479874 by Jamie.Dale Fixed "NativeGameLanguage" not being used correctly during localization initialization Change 3480012 by Andrew.Rodham Sequencer: Fixed loading tagged properties as native for track identifiers #jira UE-45823 Change 3480337 by Alexis.Matte Fix morph target crash missing some valid index check Change 3480804 by Alexis.Matte Fix crash with ColorGradingMode custom detail #jira UE-45638 Change 3480892 by Andrew.Rodham Sequencer: Ensure that movie scene sequences know about the editor object version #jira UE-45842 Change 3481073 by Nick.Darnell Fix the shader compiler error from main in Slate. Change 3481303 by Nick.Darnell UMG - Fixing a bug with the drag handle not working correctly in HDPI mode. Change 3481308 by Nick.Darnell Slate - Tweaking the IsWidgetCulled logic to consider both the layout and rendering bounds. If we do this, we get a much more desireable outcome for people that want to animate widgets and such and plan to have temporary animations to move the widget offscreen, but want the layout bounds to anchor that widget in the visible frame so that it animates even when normally it would be culled b/c the render transform and therefore the renderbounds moved it completely outside the culling rect. Change 3481629 by Max.Chen Sequencer: Add Level Sequence Actor as an output for CreateLevelSequencePlayer() #jira UE-45785 Change 3481899 by Yannick.Lange VR Editor: Added debug modetoggle command with an event that is broadcasted whenever this happens. Currently this is used to show all the floating UIs of the UI system to debug without HMD using VREd.ForceVRMode. Change 3481984 by Michael.Dupuis #jira UE-45845: always validate if we have a static mesh before trying to access it as user can decide to not assign one and use the tools Change 3482047 by Nick.Darnell Slate - Adding some comments to IsWidgetCulled. Change 3482110 by Nick.Darnell Slate - IsWidgetCulled is no longer static and is now called IsChildWidgetCulled. Change 3482136 by Jamie.Dale The CamelCase break iterator now treats digits around character tokens as part of the identifier Change 3482138 by Michael.Dupuis #jira UE-45854: Properly unregister during undo operation Change 3482150 by Michael.Dupuis #jira UE-45845 : Add missing nullcheck for GetStaticMesh Change 3482153 by Nick.Darnell Slate - IsWidgetCulled is no longer static and is now called IsChildWidgetCulled. Change 3482180 by Nick.Darnell UMG - Widget Components do not need to define a widget class to be rendererd, they can have native slate widgets only. This was a regression from main. Change 3482273 by Nick.Darnell UMG - Tweaking some more things about the widget component box outline. Change 3482308 by Alexis.Matte Fixing morph target smooth group support. Do not call FillSkeletalMeshImportData more then once on FbxNode since this fonction is doing some conversion and change the FbxNode, applying those conversion twice do not return the same faces smooth group. #jira UE-45696 Change 3482327 by Nick.Darnell UMG - More tweaks to the WidgetComponent so both shows the box outline, but works in game and VR editor. Change 3482705 by Andrew.Rodham Resaving assets that contain legacy data to suppress CIS warnings. - If conflicts arise in these assets, please take game-side changes and ignore these. Change 3484245 by Max.Chen Sequencer: Evaluate on end scrub. This fixes a bug where audio doesn't evaluate in a stopped position at the end of scrubbing, causing it to not stop all sounds. This fixes a bug introduced from 3365018 where evaluate on end scrub was removed. #jira UE-45905 Change 3484263 by Max.Chen Sequencer: Fix crash on forcing refresh of details panel on release. #jira UE-45911 Change 3484431 by Andrew.Rodham Resaving assets that contain legacy data to suppress CIS warnings. - If conflicts arise in these assets, please take game-side changes and ignore these. Change 3484474 by Alexis.Matte Fix the morph target animation curve name matching. #jira UE-20294 Change 3484475 by Alexis.Matte When removing a LOD, make sure we remove all morph target data associate to the LOD. Change 3484489 by Nick.Darnell PR #3668: UE-45908: Cache debug line locations when performing a LineTraceMulti (Contributed by projectgheist) #jira UE-45908 Change 3484692 by Nick.Darnell Slate - Reverting a change from a game stream. All Arranged Children don't need to allocated 42 to begin with. Do need to initialize WidgetPaths better. Change 3484703 by Nick.Darnell Player Input - Making the input event loop for players obey EKeys::NUM_TOUCH_KEYS, rather than being set to Touch10, as the maximum touch input amount, to make supporting greater than 10 touches easier. Also making the seeding of keys use EKeys::NUM_TOUCH_KEYS. #jira UE-43213 Change 3484918 by Jamie.Dale Fixed font measuring regression with RTL text RTL applies the character count to the next glyph, so it shouldn't process the end of the loop (this was how the older code used to work). Change 3485718 by Nick.Darnell Editor - Removing Super Search & User Feedback button. Change 3485719 by Nick.Darnell Portal - Removing SuperSearch. Change 3485751 by Matt.Kuhlenschmidt Fix crash accessing platformer game menu if the menu is open during a console based load #jira UE-45950 Change 3486047 by Arciel.Rekman Linux: add OpenEXR implementation (UE-40270). #jira UE-40270 Change 3486467 by Max.Chen Sequencer: Reset max tick rate when destroyed. #jira UE-45956 Change 3486477 by Max.Chen Sequencer: Refresh outliner when column is removed. #jira UE-45891 Change 3486667 by Andrew.Rodham Added missing include Change 3486724 by Andrew.Rodham Sequencer: Fixed curves with no default value, and no keys being evaluated and applied to properties - Also fixed an edge case where a zero (but non-animated) channel could be applied to a final transform Change 3486730 by Alexis.Matte In the Auto-Reimport options, hide the mout point only for the default /Game/ folder #UE-45684 Change 3486749 by Alexis.Matte Make sure the parent window of the monitor directory browse folder is set properly #jira UE-45682 Change 3486805 by Matt.Kuhlenschmidt Additional safety against invalid objects being accessed by slate Change 3486848 by Alexis.Matte Make sure Monitor folder feature support root mount point map folder During auto import, give priority to asset import factory over the scene import factory #jira UE-45691 Change 3486879 by Andrew.Rodham Removing obsolete QA assets Change 3486950 by Nick.Darnell PR #2281: Scrollbar missing features and SScrollbar fixes (Contributed by SNikon) Review - made some adjustments from the original. Change 3486954 by Nick.Darnell Slate - Moving the STableViewBase over to the FOverscroll class, rather than it's own clone. Change 3486967 by Nick.Darnell Slate - Fixing some HDPI calculations for fitting new windows on screen, it was using the unscaled size of the widgets for fitting, when it needed to scale them up. Change 3486970 by Andrew.Rodham Sequencer: Delay mouse capture until drag for sequencer time slider - Fixes context menus not opening as a result of mouse capture being taken on mouse down #jira UE-45937 Change 3486984 by Andrew.Rodham Sequencer: Improved blending type iconography Change 3486996 by Nick.Darnell UMG - Adding a way for games to opt-out of the slow widget path, to completely prevent them from being cooked. UMG - The movie data is no longer cloned for each new instance that inhabits. It now keeps a reference to the now publically accessible movie scene data on the class instead. Change 3487070 by Andrew.Rodham Sequencer: Added graphics for key areas that represent empty space Change 3487195 by Andrew.Rodham Sequencer: Changed evaluation groups to always flush implicitly - Due to the latent nature of blended token types, it's no longer safe to rely solely on execution token order between tracks - This fixes an issue where events set in the PostEvaluation stage were executed before blended token actuation Change 3487322 by Nick.Darnell PR #2457: Add .gitdeps.xml-files for plugins support (Contributed by bozaro) Change 3487363 by Nick.Darnell PR #2481: Fix for packing of a project with users plugins (Contributed by yatagarasu25) Change 3487439 by Nick.Darnell PR #2642: Changed private to protected in SVirtualJoystick.h (Contributed by Skylonxe) Change 3487500 by Arciel.Rekman Removed LinuxNativeDialogs. - No longer used; has been superceded by SlateDialogs since UE 4.8 (2 years ago). Change 3487630 by Lauren.Ridge Don't create Landscape Info Maps for Editor Preview Worlds or thumbnail worlds #jira UE-44885 Change 3487864 by Matt.Kuhlenschmidt Exposed the asset registry to blueprints and script. Works in editor scripts and runtime scripts AssetRegistry is now a UInterface object. Blueprint users can access various asset registry methods using the asset registry interface (via GetAssetRegistry) and various static helpers in the AssetRegistryHelpers object C++ users should still continue to use IAssetRegistry. Change 3487879 by Matt.Kuhlenschmidt Renamed asset tools uobject helper to UAssetToolsHelpers Change 3487926 by Lauren.Ridge Fixing reset to default not showing up for custom widgets #jira UE-44164 Change 3488184 by Matt.Kuhlenschmidt PR #3656: Make References/Referencers List copyable (Contributed by user37337) #jira UE-45763 Change 3488240 by Matt.Kuhlenschmidt Fix compiler issue Change 3488350 by Lauren.Ridge Landscape info map transactional state is based on its world's transactional state #jira UE-44885 #jira UE-46019 Change 3488412 by Matt.Kuhlenschmidt Fix reset to default showing up in two different places for some customizations Change 3488413 by Matt.Kuhlenschmidt Fix slate font customization Change 3488414 by Matt.Kuhlenschmidt Fix slate font customization Change 3488415 by Matt.Kuhlenschmidt Missed file Change 3488565 by Arciel.Rekman Add pretty printers for gdb (UETOOL-1171). - Committing shelf by Cengiz.Terzibas, with some modifications. #jira UETOOL-1171 Change 3489094 by Nick.Darnell Slate - The Slate RHI Renderer now caches the TextureLODGroups so that it can properly lookup the filtering of different texture groups that are set to Default, instead of a particular filter override on a texture. Engine/Rendering - Simplifying some of the setup logic in TextureLODSettings so that code is shared for setting them up properly after loading from a config file. Change 3489095 by Nick.Darnell PR #2699: GameViewportClient - Added a method to allow setting the viewport cur. (Contributed by rfenner) Review - Fixed spacing. Change 3489108 by Matt.Kuhlenschmidt Fix deprecation warning Change 3489120 by Nick.Darnell PR #3478: Fix possible UComboBoxString crash (Contributed by nakosung) Change 3489147 by Andrew.Rodham Sequencer: Adding return value to function to appease static analysis - This function is never compiled, and if it is, it won't compile, but static analysis doesn't know that Change 3489264 by Nick.Darnell Testing - Finishing the thought behind an enum comment. Change 3489265 by Nick.Darnell PR #2750: UE-35164: Button padding (Contributed by projectgheist) Change 3489267 by Nick.Darnell PR #3645: UE-45464: Handle SSlider mouse interaction more accurately (Contributed by projectgheist) Change 3489632 by Arciel.Rekman Correctness changes to MallocPoisonProxy. - Missing forwarding functions added. Incorrect comment removed. - Change by Steve.Robb, doing here so it is in 4.17. Change 3489689 by Arciel.Rekman More MallocPoisonProxy changes I missed in previous CL. Change 3489751 by Matt.Kuhlenschmidt Moved editor performance settings out of per-project settings so they can be shared across projects Change 3489837 by Lauren.Ridge Keyboard shortcut for entering/leaving VR Mode is now Alt+V Change 3491082 by Arciel.Rekman Linux: better fix for the crash due to name collision (UE-46040). - Put classes in Sequencer module into Sequencer namespace instead of SceneOutliner namespace. - Undid change in the SceneOutliner module. #jira UE-46040 Change 3491096 by Arciel.Rekman Fix UAT compilation on the newest mono. Change 3491240 by Max.Chen Sequencer: Disable key button when allow level edits only is on. #jira UE-46060 Change 3491406 by Yannick.Lange Fix editor crashes when opening a project that includes a plugin with more than two custom Volume classes. This issue was caused because registering show volume commands is based on finding volume classes. Finding these classes at multiple times resulted in a mismatch of the returned array of volume classes because modules/plugins were still being loaded. #jira UE-45806 Change 3491559 by Alexis.Matte Make sure we use the good preview mesh when doing a preview #jira UE-45963 Change 3491563 by Alexis.Matte Fix crash with staticmesh editor LodLevel selection Change 3491564 by Nick.Darnell UMG - Fixing an offset with the grab handles in HDPI mode. Change 3491595 by Nick.Darnell Editor - Fixing a clipping artifact in the pin type dropdown in the blueprint editor. Change 3491604 by Nick.Darnell Back out changelist 3489265 Change 3491615 by Arciel.Rekman Added malloc replay proxy (Linux only for now). - Allows to dump malloc callstream (without regard to threads) and replay later to study the behavior of different mallocs and/or repro problems. Change 3491684 by Arciel.Rekman Added FMalloc functions I missed. - Also moved function bodies into the .cpp file, this does not make a difference in performance in this case. Change 3491692 by Matt.Kuhlenschmidt Some minor fixes to the static mesh editor - Fix UV combo button looking non-standard on the toolbar - Fix a few combo buttons in the details panel looking too big. Change 3491702 by Arciel.Rekman Do not compile replay proxy-specific code when not used. Change 3491717 by Michael.Dupuis #jira UE-35083: The component is now the owner of the PerInstanceRenderData instead of the proxy Add an Update path to only update specified instances range Always call BuildTreeIfOutdated so we have a standard code path to make sure static mesh are fully loaded before trying to build the tree Moved the Instance Buffer aysnc to the base class, as it's not related to UHierarchicalInstancedStaticMeshComponent Expose a new property to decide if we require dynamic instance buffer Change 3491758 by Matt.Kuhlenschmidt Fix crash on static mesh editor shutdown Change 3491873 by Cody.Albert Fixed clipping issue in Sequencer curve editor #rnx Change 3491956 by Matt.Kuhlenschmidt Fix crash opening the Previewing sub-menu in the level editor settings menu #jira UE-46095 Change 3492046 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3492076 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3492165 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3492222 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3492274 by Michael.Dupuis #jira UE-46105: Fixed Clang warning Change 3492338 by andrew.porter QAGame: Testing ensure when submitting Change 3492371 by Nick.Darnell UMG - Reverting the animation sharing, cossed GLEO regressions in cooking. Will look for a better solution. Change 3492462 by Matt.Kuhlenschmidt Fix ensure checking in files through perforce Change 3492491 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3492505 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3492517 by Jamie.Dale The package localization ID is no longer used at all at runtime, and is now truly editor-only This should have always been the case, but it was leaked into manifest/archives/PO files in 4.14, and while 4.15 removed it from PO files it was still present in the manifest/archives. This change removes it entirely (unless gathering editor-only data, and even then the PO file will still collapse the entries together for translation), and the deprecated 4.14 export behavior will now produce an error if you attempt to use it. After taking this change you'll need to run a gather, import, and compile of your LocRes files to update your game localization to use the new localization IDs. Change 3492630 by Nick.Darnell UMG - Removing some extra cleanup code that's probably overkill and is causing a crash for uses of "Within" in class meta. #jira UE-46124 Change 3492692 by Matt.Kuhlenschmidt Fix drop shadows inheriting the outline color of the font. The outline should still appear but not have a different outline color from fill color Change 3492714 by Matt.Kuhlenschmidt Added outline with drop shadow to font automation test Change 3492737 by Matt.Kuhlenschmidt Fix linux Change 3492992 by tim.gautier Resaving Ocean Widget Blueprints / Sequences to resolve Legacy Sequence Data warnings #jira UE-46132 Change 3493089 by Jamie.Dale Ensure that the composite font of a font asset is flushed when the font object is GC'd Change 3493322 by Jamie.Dale Fixing null crash #jira UE-45758 Change 3494467 by Andrew.Rodham Fix Xbox warning Change 3494852 by tim.gautier QAGame: Changed streaming method of QA-EditorSmoke-Landscape to Always Loaded Change 3494853 by Nick.Darnell Another attempt at fixing the automation blueprint SA warning. Change 3494896 by Arciel.Rekman Fix possible null pointer access during Vulkan init. - May fix static analysis warnings in UE-46142, although warnings seem to be referring to something else. #jira UE-46142 Change 3494987 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3495010 by Matt.Kuhlenschmidt Adding additional logging to track down html5 issue Change 3495212 by Michael.Dupuis #jira UE-46143: Properly init the InstanceRenderData during the cooking phase (required by fortnite) Change 3495536 by Jamie.Dale Updating UGameEngine to call its Super::PreExit after performing its own teardown This prevents UEngine cleaning up resources that UGameEngine still needs. #jira UE-46159 Change 3495551 by Arciel.Rekman Another attempt to fix analyzer problem (UE-46142). Change 3495794 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3495905 by Matt.Kuhlenschmidt Fix USD crash when importing a meshwith no material [CL 3499771 by Matt Kuhlenschmidt in Main branch]
2017-06-19 20:27:30 -04:00
Args.CullingRect = MyCullingRect;
Copying //UE4/Dev-Sequencer to //UE4/Main ========================== MAJOR FEATURES + CHANGES ========================== Change 2875025 on 2016/02/20 by Andrew.Rodham Sequencer: Cinematic viewport improvements - Added optional letterbox overlay (defaults to 2.35:1) - Added ability to change safe frame colors - Added selected tracks' keys to the transport range - Added buttons for jumping between selected tracks' keyframes on the transport controls - Removed black padding around the viewport where possible - Added ability to specify whether a combo button/menu anchor should close when its parent receives focus - Separated logic of FGroupedKeyArea into FSequencerKeyCollection, so it can be used independently - Added playback range to the viewport frame numbers - All frame numbers are now spin boxes #jira UE-26429 Change 2875026 on 2016/02/20 by Thomas.Sarkanen Added console commands for recording sequences Changed plugin to a developer plugin so we can load it when the editor is in -game mode. Added Exec commands. Added some more logging to help diagnose problems when using commands. Added loading/saving of config for recorder settings (stored in Editor.ini). Also disabled controls in recorder window when recording. Added auto-saving of assets when in non-editor modes. Moved animation settings from UnrealEd to Engine module. Change 2875036 on 2016/02/20 by Max.Chen Sequencer: Call RedrawAllViewports instead of RedrawLevelEditingViewports. In particular, this fixes some update issues when editing values in the key editors. #jira UE-26960 Change 2875046 on 2016/02/20 by Max.Preussner Sequencer: Fix so that clicking on UMG Animations doesn't dirty the scene. #jira UE-26249 Change 2875047 on 2016/02/20 by Max.Chen Sequencer: Add option to toggle display of channel colors/lines. View->Channel Colors Change 2877138 on 2016/02/23 by Max.Chen Sequencer: Select corresponding track node when selecting key or section. Removed active/inactive selection since it was only being used in deletion and the rules for deletion are now dependent upon what is selected - delete keys and sections before deleting outliner nodes. Change 2877143 on 2016/02/23 by Thomas.Sarkanen Added new math function: WindRelativeAnglesDegrees Given two angles in degrees, 'wind' the angle in Angle1 so that it avoids >180 degree flips. Good for winding rotations previously expressed as quaternions into a euler-angle representation. Change 2877147 on 2016/02/23 by Thomas.Sarkanen Added the ability to import sequencer transforms from the root node of an animation sequence Intended for use after re-importing animations from DCC tools. Available in the right-click menu for transform tracks. Also added FindTrackBinding to UMovieScene so track bindings can be recovered from tracks. Change 2877163 on 2016/02/23 by Max.Chen Sequencer: Add option to create keyframe sections as infinite. Sequencer defaults to true, UMG defaults to false. Change 2877165 on 2016/02/23 by Max.Preussner Sequencer: Drawing vertical position lines when dragging keys Change 2878748 on 2016/02/23 by Max.Chen Curve Editor: Switch curve type to user when flatting or straightening tangents. #jira UE-27277 Change 2878799 on 2016/02/23 by Frank.Fella Sequencer - Add folders support to the outliner. Change 2880769 on 2016/02/24 by Andrew.Rodham Sequencer: Added ability to override runtime spawnable ownership in sequencer - This is exposed as an option on spawnables "Keep Alive Outside Playback Range (In Sequencer)" - Enabling this will stop spawnables from being destroyed when scrubbing outside of the playback range #jira UE-27205 Change 2880770 on 2016/02/24 by Thomas.Sarkanen Sequencer: Added countdown and recording indicator display when recording Also fixed extra popups added post-PIE when animation recordings auto shutdown. Change 2880782 on 2016/02/24 by Max.Chen Sequencer: Snapping now also uses the current time as a possible snap time. #jira UE-26306 Change 2880793 on 2016/02/24 by Max.Chen Sequencer: Add +Animation to Animation track so that it's consistent with all other tracks that have a + button. Change 2880812 on 2016/02/24 by Max.Chen Sequencer: Fix adjusting the leading edge of a shot section so that it cuts into the shot rather than adjusts the start time. #jira UE-26306 Change 2881624 on 2016/02/25 by Andrew.Rodham Changing shader version GUID to fix corrupt shaders in ddc Change 2882408 on 2016/02/25 by Thomas.Sarkanen Asset/actors stored in TLazyObjectPtrs can now reference game content from engine This is a legitimate use case as lazy object ptrs are designed to reference assets/actors cross-domain. Change 2882409 on 2016/02/25 by Thomas.Sarkanen [CL 2899785 by Max Chen in Main branch]
2016-03-08 16:55:04 -05:00
Args.DrawEffects = DrawEffects;
Args.StartLayer = LayerId;
Args.TickOffset = bMirrorLabels ? 0.0f : FMath::Abs( AllottedGeometry.Size.Y - MajorTickHeight );
Args.MajorTickHeight = MajorTickHeight;
}
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3946692) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3801826 by Max.Chen PR #4304: Level Sequence crash fix - Guarded against dereferencing null componen. (Contributed by DSDambuster) Change 3801828 by Max.Chen PR #4302: Movie Scene Visibility Template unitialised variable, causing random . (Contributed by DSDambuster) Change 3801837 by Max.Chen Sequencer: Delay spawning/construction for convert to possessable. This fixes a bug where property values would be lost when converting back and forth from possessable to spawnable. #jira UE-52400 Change 3801841 by Max.Chen Sequencer: Make spacer nodes not selectable. PR #4194: Improvements to Sequencer (Contributed by projectgheist) #jira UE-53117 #jira UE-52139 Change 3804183 by Max.Preussner MediaAssets: Added missing lock in media sound component Change 3805414 by Max.Preussner MediaAssets: Setting valid GUID when initializing media texture resource Change 3819578 by Max.Chen PR #4370: When enabling the "MovieCapture", do not turn off the Stereo-3D display. (Contributed by yehaike) #jira UE-53647 Change 3823414 by Max.Chen Curve Editor: Lock down the first and last keys in the redundant keys removal range so that they're unaffected. #jira UE-53591 Change 3826406 by Max.Chen Sequencer: Move OnStartedPlaying() to within first update in UpdateTimeCursorPosition(). This fixes an issue where setting the hud/player visibility was getting stomped on later. #jira UE-52772 Change 3827044 by Max.Preussner MediaAssets: Added sprite visualization to media sound component #jira UE-53594 Change 3827988 by Max.Preussner MediaPlayerAssets: Fixed Media Texture is not linked to Media Player when created together #jira UE-53532 Change 3828506 by Max.Preussner MediaPlayerEditor: Added attenuation visualizer for media sound components #jira UE-53594 Change 3832590 by andrew.porter EngineTest: Added a keep state check in Property Animation sequencer test Change 3833053 by andrew.porter EngineTest: Adding Hierarchical Bias test Change 3835683 by andrew.porter EngineTest: Adding UMG Animation screenshot test Change 3836076 by Max.Chen Sequencer: Fix audio volume and pitch multiplier deprecation. Change 3836230 by andrew.porter EngineTest: Adding Sequence Bone Position automation test Change 3836347 by Max.Chen Sequencer: Fixes to shot name parsing. When a shot doesn't contain a shot number, assume, [ShotName]_[TakeNumber]. When duplicating a shot, put the new shot in the same path of the original shot, so that the take numbers will increment properly. #jira UE-51868 Change 3836552 by Max.Chen Sequencer: Sub section now has a takes menu Change 3838094 by Max.Chen UMG: Fix template finish not getting called on stop. This fixes a bug where sections aren't restored when finished. #jira UE-52285 Change 3838708 by Max.Chen Sequencer: Add notification when the blend type is changed. #jira UE-54046 Change 3840295 by Max.Chen Sequencer: Fix copy/paste crash for lights #jira UE-54084 Change 3840957 by Mike.Zyracki Added Show Only Keyable and Show Only Animated to the filter list in the property editor. Added IsPropertyAnimated to IDetailKeyframe Interface which already had support for showing properties which are keyable (which is used for the key icon next to the properties.). Could have created another interface but then would have had to mimic the sequencer binding, releasing also, so this seemed best way. One issue still left is that custom built detail items currently don't store associated properties(usually) and so certain properties, in particulalry transforms, won't show up as keyable or animated. Note this also shows up with the keyable icon not showing up next to transform tracks, and other filters like Show Only Modified not working with transforms/customs. Not sure best way to tackle this. #jira UESEQ-328 Change 3841756 by Max.Chen Sequencer: Fix unbound possessable components when pasting spawnables. #jira UE-54104 Change 3843950 by andrew.porter EngineTest: Renaming LevelStreaming tests/content to LevelVisibility Change 3844082 by Mike.Zyracki Missing file for animated filter in property editor. When finding if a track is animated we need to find it but we can't easily induce the MovieTrack class for any particular property. So we don't set a class for it and just search by it's ID and name. #jira UESEQ-328 Change 3846902 by Max.Preussner ImgMedia: Fixed image media player never finished initialization if loading failed #jira UE-54247 Change 3849820 by Mike.Zyracki Reassigning deleted widgets didn't work since the menu extender mechanism needs a valid UObject in order to perform an operation on it. So to fix we replaced GetObjectBindingContextMenuExtender in WidgetBlueprint with new delegate mechanism (OnBuildCustomContextMenuForGuid) that supports FGuid in addition to UObjects which is needed to handle re-binding deleted widgets. Note that the default sequencer hacks this for replacing deleted actors in SequencerObjectBindingNode to check to see if a LevelSequence is active. We could move to this mechanism there also. #jira UE-53163 Change 3852211 by Max.Chen UMG: Indicate name of the property that is not bound. #jira UE-54350 Change 3854120 by Max.Chen Sequencer: Fix sibling folders being allowed to have the same folder name. #jira UE-54363 Change 3854627 by Max.Chen Sequencer: Step to next/previous key should work for all tracks if there aren't any selected. #jira UESEQ-391 Change 3855825 by andrew.porter EngineTest: Adding animation blending automation test Change 3855950 by andrew.porter EngineTest: Adding correct expected valuues to animation blending test Change 3856237 by Matt.Hoffman UESEQ-336 - Sequencer Track Reordering Adds the ability to re-order Master Tracks, Folders and Object Bindings within sequencer hierarchies (including UMG). Adds the ability to do a one-off sorting of the content under the old sorting behavior if the user wants to reset their layout to how it was under legacy behavior. Modifies SequencerTrackNodes, SequencerFolderNodes and SequencerObjectBindingNodes to handle CanDrop/OnDrop for above, below and ontop of. Fixes a Slate Issue that forcibly expanded a TreeviewRow if an item handled OnDrop. Slate will now only forcibly expand the row if the item says the drop happened ontop of the item, and not above or below it like it previously did. Change 3856503 by andrew.porter EngineTest: Adding automation test for using animation blueprint with blend multi node in sequencer Change 3857875 by Max.Chen Sequencer: Assign the sequence id after the template is compiled. #jira UE-54462 Change 3858344 by Max.Chen Sequencer: Prevent Goto and Transform boxes from overlapping by allowing them to be visible at the same time in an autosized horizontal box. Also, added close button to the goto box. PR #4425: Prevent Goto and Transform boxes from overlapping in Sequencer ... (Contributed by projectgheist) #jira UE-54210 Change 3860566 by andrew.porter MediaFrameworkTest: Set the option to index 0 for the audio and video track list by default Change 3860654 by andrew.porter EngineTest: Enabling Camera Cut + FOV test Change 3860981 by andrew.porter EngineTest: Updating skeletal mesh tests with a delay after set playback position Change 3861256 by Max.Chen Sequencer: Add all bindings if none selected. #jira-54440 Change 3862154 by Andrew.Rodham Added TimeManagement module Change 3862424 by andrew.porter EngineTest: Turned on the test Bone Positions with Blend Multi Node Change 3862573 by andrew.porter EngineTest: Adding test to compare bone positions in a sequence that is blending an animation that is using an AnimBP Change 3865117 by Max.Chen Sequencer: Stop auto scroll on mouse release of movement. #jira UE-31212 Change 3865303 by Max.Chen Sequencer: Add drag and drop transactions #jira UE-54662 Change 3865304 by Max.Chen Sequencer: Fix crash when an actor factory is not found. Change 3865361 by Max.Chen Sequencer: Don't change the camera/shot lock button when popping out of a sequence. #jira UE-54665 Change 3865412 by Max.Chen Sequencer: Determine whether a transform track is for a camera by using the spawned object or template #jira UE-54666 Change 3865685 by Max.Chen Sequencer: Clear autoscrub offset when stopping autoscroll #jira UE-31212 Change 3865886 by Max.Chen Sequence Recorder: Log an error if the number of frames changes while recording. This can happen if the skeleton changes while recording. #jira UE-48715 Change 3866925 by Andrew.Porter MediaFrameworkTest: Changing the current PNG test video image sequence to 1024 x 576 Change 3867705 by andrew.porter QAGame: Adding Audio Sort Sequence to dev folder Change 3867890 by andrew.porter QAGame: Adding a sequence for testing a sorting crash to my dev folder Change 3872628 by Max.Chen Movie Scene Capture: Split delay before warmup into split delay before shot warmup so that there's separate controls for when the movie scene capture warmups up vs. shot boundaries. Change 3873131 by Matt.Hoffman UE-54732 - Crash reordering a folder with a track. This was caused by folders being the only type of track to check if someone was putting a parent track into a child track. Object Binding tracks and Tracks now check as well so that you can't use the above/below drop targets to add parents as children. This also fixed a typo in the localization keys. #jira UE-54732 Change 3873301 by Mike.Zyracki Added ability to support continous euler angle changes when changing rotations, in particularly with the rotation gizmo's. To do this we effectively added a form an of 'euler filter'(https://en.wikipedia.org/wiki/Euler_filter) to find the closest euler angle to the current euler angle. Three functions were added to FRotator to make this possible, one to get the euler angle that's has the same rotation as it, one to get the difference between two euler angles via Manhattan distance and a third using the previous two to choose a Rotator value that's closest to it. We then use these functions before calling UComponent::SetRelativeRotation to make sure we use the correct Euler after the Quat conversion. We also no longer limit(bound) the euler angles to -180,180, which is obviously necessary to avoid flips. I also changed how we caluclate yaw and roll when pitch is -90 or 90 to make it the standard approach of zeroing out roll and just setting yaw. Main reasons are the previous implementation had precision issues so things like 180, 90, -180 would show up due to numbers being nearly zero but negative,(this would break any smooth interpolations), and this facilitates having a 'gimbal' rotation mode (like Maya, Blender etc..) if we ever want that also. If needed we could keep the previous implementation but would need to add some FMath::IsNearlyZero checks, with less performance. Note we only do this special filtering when applying delta's to actors or components in the editors, which then call UComponent::SetRelativeRotationExact, which is a new function to foces the RelativeRotation to be equal to the new rotation. This allows us to store un-nomalized Rotators at the cost that the RotationCache may be broken. We didn't change any of the other UComponent functions that set rotations (via Quats or Transforms) so they will still be bounded and unwound. In SetInternalWorldLocationAndRotation we only set the rotation if the rotation has changed, which fixes the rotation getting changed and re-normalized if just translate happens. In TransformTrackEditor, we correclty use the bUndwing flag and in MovieScene3DTransformSection there was an un-needed winding check there, it will be unwound earlier if needed, which happens if Sequence Recording is happening. Max we should talk about what to do about this . Note the euler angle drag via the widget is still bound to 0-360. I think we should just unbound that now since the rotations value are now unbound. This review now includes fixes suggested by Zak. #jira UE-UE-22228 Change 3873483 by Matt.Hoffman Sequencer Tracks can now be inserted above the spacer at the bottom of the tree. #jira UE-54706 Change 3873899 by Max.Chen Sequencer: Add section selection throbbing Change 3873908 by Max.Chen Movie Scene Capture: Added logging per frame Change 3873924 by Matt.Hoffman Adds the ability to store Sequence Recorder setups into profiles that stay with the map and can be re-loaded later. Profiles store the Actor Recordings so the settings for each actor should carry with them. #jira UESEQ-339 Change 3874726 by Matt.Hoffman Disable drag-and-drop targets on spacers that come between rows in Sequencer. This prevents extra drag/drop targets showing up between each row. #jira UE-54706 Change 3874862 by Matt.Hoffman Audio Track no longer gets reordered when adding sub-audio tracks, as sub-tracks are no longer counted towards the sorting order index when normalizing indexes. #jira UE-54727 Change 3875905 by Matt.Hoffman Disable Fade Track UI if a fade track already exists in the sequence. #jira UESEQ-393 Change 3876163 by Max.Chen Sequencer: Swap the camera object to the camera component's owner if it's not the same. #jira UE-54874 Change 3876971 by Andrew.Porter EngineTest: Moved Media Player Seek test to new folder. Also enabled the test with new ground truth image. Change 3877040 by Max.Chen Cine Camera: Split camera properties to two groups, "Camera Options" and "Camera Settings". The cine camera now hides properties in the "Camera Settings" group so that properties like bConstrainAspectRatio (in the "Camera Options" group) can be visible. #jira UE-54192 Change 3877763 by Max.Chen Curve Editor: Fix curve changed on end drag so that only curves that had keys/tangents that were changed receive notification, otherwise all loaded curves were getting notified that they were changed. #jira UE-54951 Change 3878234 by Matt.Hoffman Disable "Drop Below" targets for Sequencer Tree nodes to prevent a confusing UX issue where dropping underneath a Object Binding Node puts it after the object binding node but the UI looks like it's inserting it inside the Object Binding node. #jira UE-54743 Change 3879359 by Mike.Zyracki If a track is inactive we dim it a bit which seems to be the UE4 way to show inactive or disabled state. We changed the active logic so that all subtracks need to be inactive for the track to also be inactive(instead of all active for active). This conforms to how the active state actually works, e.g if you have two sections and only one is active the track is still active above it. #jira UESEQ-388 Change 3879462 by Max.Chen Sequencer: Allow dragging onto a particular row which would move out any overlapping sections to make space for the newly created section. Newly created sections are now selected and throbbed to draw attention to themselves. #jira UE-54664 Change 3879464 by Max.Chen Sequencer: Fixed overlapping ranges being inserted into the evaluation field during compilation - The issue was that track segments that had been combined with adjacent segments (due to them being identical) would potentially cause a subsequently compiled frame to overlap with a range that had already been inserted into the evaluation field. - The insertion code previously asserted that only minor overlaps were catered for (due to fp rounding errors) and assumed that a supplied range could not entirely contain any other range in the field. - The solution is to supply the insertion time along with the range to know exactly where the data should live in the field, and crop the range to the maximum allowable space between adjacent ranges. #jira UE-54922 Change 3879590 by Matt.Hoffman Items that are now added to the Sequencer via the "+Track" menu will be selected after being added. Items can now be added inside of folders instead of just to the root level. #jira UE-27397 Change 3879612 by Mike.Zyracki Display Nodes with no children are always active. #jira UESEQ-388 Change 3879730 by Matt.Hoffman Sequence Recorder's actor recording groups now remove items from the group when removed via the UI. #jira UESEQ-339 Change 3880256 by Mike.Zyracki Fix issue with inactive display with folders and other track nodes. #jira UESEQ-388 Change 3883491 by Max.Chen Fix issue where tick is skipped due to last ticked pose isn't cleared after AnimInstance changes. Copy from Release-4.19 #jira UE-51323 Change 3883603 by Max.Chen Movie Scene Capture: Add option toggle disable screen percentage. By default this is on (no change in current behavior). #jira UE-51898 Change 3885074 by Max.Preussner MediaCompositing: Resetting media texture & freeing resource on section end; removed dead code Change 3887220 by Max.Preussner MediaCompositing: Defaulted media section duration to 1 sec (since we do not know the actual duration in most cases) Change 3887478 by Matt.Hoffman Sequences now show [Inactive] in their title bars when they're disabled. This helps communicate why a sequence isn't being evaluated. #jira UE-51469 Change 3888985 by Max.Chen Movie Scene Capture: Clamp HDR Compression Quality between 0 and 1. #jira UE-55136 Change 3893519 by Max.Chen Sequence Recorder: Clarified tooltip for bRecordNearbySpawnedActors - spawned actors will still be recorded if they match the ActorFilter. #jira UE-55238 Change 3893546 by Max.Chen Sequence Recorder: If a selected actor already has a recording, add a blank recording. #jira UE-55239 Change 3894044 by Max.Preussner MediaCompositing: Added support for seeking into a media section Change 3894310 by andrew.porter MediaFrameworkTest: Adding Img media sources for 1080 and 2160 ravent test content Change 3894426 by Max.Preussner MediaAssets: Letting media textures with AutoClear retain their clear color when player is reset Change 3895717 by Max.Chen Sequencer: Null checks to prevent crash when saving the default state of a spawnable #jira UE-55304 Change 3897388 by Max.Chen Sequencer: Don't update current time to be within the view range when stepping into a sequence. #jira UE-55322 Change 3897452 by Max.Chen Audio: Fix crash when trying to record audio without any active capture devices. Log warning if the number of input channels is not 1 or 2. #jira UE-55223 Change 3897619 by Max.Preussner MediaCompositing: Removed commented out code Change 3898072 by Max.Chen Sequencer: Override the animation asset in the player state if it doesn't match the animation asset that's being evaluated. #jira UE-55328 Change 3898272 by Max.Preussner MediaPlayerEditor: Made slate brush constants static Change 3898704 by Max.Chen Sequencer: Skip if the binding id's sequence can't be found. #jira UE-55337 Change 3899855 by Max.Preussner MediaCompositingEditor: Added cache state visualization to media track Change 3900300 by Max.Preussner MediaCompositingEditor: Added loop indicators to media sections Change 3900694 by Max.Preussner ImfMedia: Looping cache only when player is looping Change 3900892 by Max.Preussner Stats: Added stats category for media framework Change 3900954 by Max.Preussner MediaCompositing: Don't evaluate at the end of media section Change 3901348 by Max.Preussner Core: Replaced TLruCache autos for better readability Change 3901655 by Max.Preussner ImgMedia: Added more perf stats to EXR reader Change 3901972 by Max.Preussner MediaAssets: Added getter for media player in media sound components Change 3902233 by Max.Preussner MediaAssets: Enabling media textures to receive samples right after player is assigned Change 3902238 by Max.Preussner MediaCompositing: Working around init/shutdown idiosyncracies in sequencer Change 3904045 by Max.Chen Sequencer: Fix copy/paste crash. Only process UMovieSceneCopyableBinding and objects that can be spawned by the movie scene spawn register. #jira UE-55314 Change 3905605 by Max.Chen Sequencer: Restrict spawnables from being created if they have a ClassWithin that UMovieScene is not a child of. #jira UE-55429 Change 3906550 by Max.Chen Sequencer: Add media track icon #jira UE-55480 Change 3907101 by Max.Chen Sequence Recorder: Fix bugs related to not recording a level sequence. There were certain assumptions that creating a level sequence meant that sequence recording was in progress. This is not always the case - the recorders can record animation assets and not create a level sequence. Changed the notion of IsRecording() to having at least one actor recording that is recording. Countdown timer, recording displays, etc should function if IsRecording() and not based on whether a level sequence is created. #jira UE-55485 Change 3907247 by Max.Chen Sequence Recorder: Fix crash not removing PrepareToCleanseEditorObject delegate. Repros when opening sequence recorder, closing it, and then opening or creating a level. Change 3910343 by Max.Preussner Core: Added async helper for executing functions on a given thread pool Change 3910346 by Max.Preussner ImgMedia: Added separate thread pools for loading/decoding and deleting image frames Change 3910829 by Max.Preussner Profiler: Increased visible range of profiler graph Change 3910841 by Max.Preussner MediaCompositing: Displaying asset name instead of full media source path in media section Change 3910870 by Max.Preussner ImgMedia: Using deallocation thread pool only in debug builds Change 3919642 by Max.Chen Sequence Recorder: Clarify active tooltip #jira UE-55661 Change 3919660 by Max.Chen Sequencer: Sequence template source signatures are now also compared to catch the case where a sub-sequence asset has been saved but not modified - The following sequence of events exposes this issue: - Create a master sequence with a single shot that spawns a cube - Add this sequence to a level and set it to auto-play - Save everything and restart - Resave just the inner shot asset without opening it - PIE - The inner shot never spawns its cube because its template was wiped on save, but its signature never changed. Since the master sequence previously didn't check the template source signature, it ends up trying to evaluate an empty template. #jira UE-55626 #jira UE-55490 Change 3921825 by Max.Chen Sequencer: "Run Construction Script in Sequencer" is off by default for blueprints but on for Sequencer. This allows the content author to switch it on for specific blueprints and sequencer will be default, run those with construction scripts enabled. Change 3922232 by Max.Chen Sequence Recorder: Reset countdelay on stop. #jira UE-55755 Change 3922306 by Max.Chen Sequence Recorder: Don't automatically mark transforms to be recorded by sequence recorder. Instead, log a warning if the user toggled it off to warn that the resulting animation might not match gameplay. #jira UE-55758 Change 3922912 by Max.Chen Sequence Recorder: Fix refresh next sequence name #jira UE-55757 Change 3927654 by Max.Chen Movie Scene Capture: Added format mapping for the name of the current camera #jira UE-55769 PR #4537 Change 3927658 by Max.Chen Sequencer: Added fbx property mapping for "FocusDistance" to "FocusSettings.ManualFocusDistance" #jira UE-55782 Change 3932022 by Max.Chen Sequencer: Add import animation track section to next available row index. #jira UE-55892 Change 3933919 by Max.Chen Sequencer: Jump to playback start frame and not 0 to start playback for recording. #jira UE-55933 Change 3934307 by Andrew.Rodham Sequencer: Add template signature that is re-generated every time the base template is regenerated, which invalidates evaluation fields This fixes an issue where the same sequence is instantiated multiple times in a sequence. If the source sequence was saved, its template would be wiped, which would invalidate the template ID When an instance tries to evaluate the master template, it would only invalidate a range in the evaluation field that was the hull of any invalid sub sequences overlapping the current time, potentially leaving invalid data in the evaluation field at positions later (or earlier) on in the sequence When the sub template was re-generated, it receives the same SequenceSignature as it had before (because the sequence hasn't actually changed), which causes the stale evaluation field data to fail the IsDirty check (because the sequence is the same as it thought, but the *template* has changed) This has been addressed be adding a signature to templates themselves, and checking both the template signature and sequence signature as a part of the IsDirty check. This ensures that we regenerate if either the template, or the sequence have changed. #jira UE-55934 Change 3936327 by Andrew.Rodham Sequencer: Removed increment when trimming right UMovieSceneSection::TrimSection already explicity assigns an exclusive bound to the time passed in. The new behavior means we can trim a section to the right, and insert another section without changing the time to create adjacent sections. #jira UE-42652 Change 3936328 by Andrew.Rodham Fixed KeyFrameManipulator assignment operators and copy/move constructors - These types are potentially self-referential so cannot use default constructors/assignment Change 3936330 by Andrew.Rodham Converted UMGSequencePlayer to use frames internally #jira UE-54878 Change 3936726 by Max.Chen Sequencer: Set track node as the parent of the key area node. The key area switcher needs the object binding id from the parent object binding node. Without this, the binding to the external value fails. #jira UE-55931 Change 3936775 by Max.Chen Sequencer: Should stop or loop should compare DurationFrames with Current Time from StartTime. The bug is that if you set 30 warmup frames in movie rendering for a range of 0-100, the FrameRange will be starting at -30 and have a duration of 130. Without this fix, the playback will continue until frame 130, rather than 100. #jira UE-55933 Change 3936935 by Matt.Hoffman Easing Curves are now represented in Play Rate resolution instead of internal resolution. #jira UE-55937 Change 3937069 by Matt.Hoffman Users can toggle if the is infinite on each side, limited by which tracks support infinite ranges. #jira UE-55891 Change 3937516 by Max.Preussner ImgMedia: Added support for single-threaded platforms #jira UE-55986 Change 3937826 by Max.Preussner MediaAssets: Disabling media sound components on HTML5 if AudioMixer is not enabled Change 3937997 by Max.Chen Curve Editor: Add Zoom to Fit Curves so that selected curves from Sequencer can be focused on. Tested that undo doesn't re-zoom. #jira UE-55935 Change 3938000 by Max.Chen Sequencer: Stop all sounds before generating audio waveforms. #jira UE-55951 Change 3938376 by Max.Preussner XGEController: Disabled XGE Controller in single-threaded apps to prevent crash Change 3938444 by Max.Preussner Core: Added async support for single-threaded applications Change 3938445 by Max.Preussner Networking: Added support for single-threaded applications in UDP socket sender/receiver Change 3938447 by Max.Preussner Messaging: Added support for single-threaded applications Change 3939432 by Max.Chen Sequence Recorder: Append command list to global level editor actions so that shortcuts are accessible in level editor. #jira UE-55798 Change 3940229 by Andrew.Rodham Added prospective display rate upgrade to UMovieScene::PostLoad - There was previously some very odd behaviour that would assign the fixed frame interval only when a sub sequence was focused in SSequencer. This meant that many sequences could have a frame interval of 0 set in the data. - Under the old method of snap interval display this would have fallen back to getting the display interval from the sequencer settings, but we no longer look at these. - The USequencerSettings properties have been removed and in their place, a prospective data upgrade for sequences that have a fixed frame interval old 0fps that sets the play rate to the previous defaults based off the old USequencerSettings defaults. - This could end up 'changing' the display rate for sequences where the user has changed the snap interval in the settings for a particular sequence editor, but there's not much we can do about that given we don't have access to the USequencerSettings classes in UMovieScene #jira UE-55919 Change 3940277 by Andrew.Rodham Sequencer: Added ability to default frame resolutions and play rates for newly created actor sequences Change 3940378 by Andrew.Rodham Sequencer: Post move import dialog now defaults to the playback framerate of the sequence, and floors to frame numbers Change 3940559 by Andrew.Rodham Reinstated primed or recording sequence color Change 3940642 by Max.Preussner ImagePlate: Removed image plate media playback functionality Change 3940843 by Max.Preussner Core: Made TCircularQueue actually thread-safe; improved code comments Change 3940860 by Max.Chen Sequencer: Changed StructNameToKey to StructPathToKey Previously, keying a PropertyPath of [RenderTransform][Shear][X] would get trimmed to X, which doesn't map to a channel name as considered by Sequencer2dTransformTrackEditor. Instead, trim the resulting property path to [Shear][X] so that track editors can determine the desired struct path and channels to key. #jira UE-52966 Change 3941292 by Mike.Zyracki Fix for trajectories out of range not showing up. 1) If we had no key data we would pop the time, so wouldn't get the section ranges. 2) Calculating of upper bound was wrong, checking against -1 and not key == num of keys when doing algo::lower_bound. 3) No need to do the Bck-- for the bakward iterators since we fixed #2. We start now from the upper bound correctly. 4) If we had no keys (at section start,end) we would incorrectly say we were any key type, so since we draw constant keys as dashed we would do so incorrectly around section end points. #jira UE-55929 Change 3941424 by Max.Chen Curve Editor: Change Zoom to Fit to use TArrayView Change 3941498 by Max.Preussner Core: Added FMath::DivideAndRoundNearest function Change 3942097 by Matt.Hoffman Drop Frame Timecode Support for NTSC rates. Change 3942104 by Matt.Hoffman Sequence Recorder Group is no longer visible inside the World Outliner after using one. #jira 55266 Change 3942107 by Max.Chen Sequencer: Resurrect logic to find or extend an existing section when adding keys. Change 3942330 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942339 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942507 by Andrew.Rodham Sequencer: We no longer pad the time overlap threshold with a small number that is not scaled by the current zoom level - The presence of this pad was causing keys that were far apart to be grouped when zoomed in a long way Change 3942509 by Andrew.Rodham Sequencer: Only pad total view range, rather than section range as well when retrieving keys to render - This stops us from rendering keys that are within the view range, but outside the section range Change 3942512 by Andrew.Rodham Added transactions to some sequencer details customizations Change 3942513 by Andrew.Rodham Sequencer: Reinstated validation checks to UMovieSceneSection::SetStartFrame and SetEndFrame, changed erroneous uses to use SetRange Change 3942560 by Andrew.Rodham Pass by rvalue reference to appease error C2719 on Win32 ('InChannels': formal parameter with requested alignment of 8 won't be aligned) Change 3942697 by Andrew.Rodham Newly Created Level Sequences and Actor Sequences now default to 24000 fps frame resolution (+/- ~24hrs range, supporting all integer rates + 23.976) Change 3942700 by Andrew.Rodham Sequencer: Added legacy out-of-bounds errors for times that are not supported by the current legacy upgrade frame resolution Change 3942989 by Max.Preussner Core: Fixed circular queue count calculation Change 3943538 by Max.Preussner MediaAssets: Reverted workaround for procedural audio log spam in HTML5 (Actor component initialization cannot be skipped if the component is used in a level) Change 3944071 by Max.Preussner QAGame: Fixed Media Texture keeps last frame of Media when PIE ends #jira UE-53360 Change 3944292 by Max.Chen Sequencer: Added extra flags to ensure that asset initialization does not occur on template actor sequences #jira UE-56113 Change 3944364 by Max.Chen Sequencer: Prevent circular shot/master tracks. Tested adding master -> child -> master as drag and drop cinematic shot tracks and sub tracks as well as through the + button. #jira UE-56091 Change 3944422 by Max.Chen Sequence Recorder: Disable transform recording if off. #jira UE-56061 Change 3944745 by Andrew.Rodham Sequencer: Key rendering fixes - Fixed assert that occured when keys happened to reside on some times due to KeyTime + TimeOverlapThreshold - KeyTime being slightly larger TimeOverlapThreshold - Fixed keys sometimes being clipped when zoomed right in due to lack of half-frame offset - Added missing documentation to MovieSceneTimeHelpers.h #jira UE-56107 Change 3945231 by Andrew.Rodham Sequencer: Reconstruct channel proxy on Serialize to catch all cases of undo/redo, PostLoad and duplication #jira UE-56089 Change 3945301 by Andrew.Rodham Sequencer: Added safety checks during initial sequence recording to guard against applying negative or 0-sized sequence ranges #jira UE-56125 Change 3946627 by Max.Preussner Fortnite: Fixed game crashes closing editor while in PIE - Pure virtual function being called #jira UE-56144 [CL 3946896 by Max Chen in Main branch]
2018-03-14 22:09:33 -04:00
DrawTicks( OutDrawElements, LocalViewRange, RangeToScreen, Args );
Copying //UE4/Dev-Sequencer to //UE4/Main (Source: //UE4/Dev-Sequencer @ 2945541) ========================== MAJOR FEATURES + CHANGES ========================== Change 2837601 on 2016/01/20 by Thomas.Sarkanen Sequencer: Exposed bool, byte, event, fade, float, slomo, and visibility section keys in context menu Change 2840895 on 2016/01/23 by Thomas.Sarkanen Sequencer: Moved key proxy handling from section into key area; added support for grouped keys; exposed color properties in context menu. Change 2901092 on 2016/03/09 by Thomas.Sarkanen Sequencer: Fixed ensure() and crash when exiting PIE & then playing back in editor Made sure that instances that are playing that have active montages can re-connect to a playing montage if it is already active. We dont stop/start preview/non- preview playback when switching modes right now so I've just made the system robust to the switch when playing back animation. Ensured that instances are kept up to date by hooking into EndPlayMapDelegate. This fires slightly later than OnEndPIE, so it allows us to pick up when instances have been deleted from the world. OnEndPIE is fired before the worlds are shutdown so instances can still be bound to valid (but nearly dead) actors at this point. #jira UE-27898 #jira UE-27899 Change 2901159 on 2016/03/09 by Chris.Bunner Allow EXR frames from SaveHighResScreenshot to be uncompressed (r.SaveUncompressedEXRFrames). Change 2903123 on 2016/03/10 by Max.Chen Sequencer: Add snapping for the in/out range. Change 2903126 on 2016/03/10 by Max.Chen Sequencer: Fix split and trim for cinematic shot sections so that the start offset value is set. Change 2903132 on 2016/03/10 by Max.Chen Sequencer: Create camera here and set it as the current camera cut. Change 2903138 on 2016/03/10 by Max.Chen Sequencer: Improve mechanism for adding objects to Sequencer. Hold down shift while dragging from content browser to add as a spawnable. Hold down ctrl while dragging from content browser to add as a possessable. Change 2903143 on 2016/03/10 by Max.Chen Sequencer: Add 4k to movie capture dialog. #jira UE-28147 Change 2903157 on 2016/03/10 by Max.Chen Sequencer: Pop out of locked camera when popping out of the sequence. #jira UE-27662 Change 2908097 on 2016/03/14 by Andrew.Rodham Sequencer: Added default viewport type onto the viewport types menu - The activation command for a given viewport type no longer toggles it if it's already active, it will just do nothing. - Switching back to the default viewport type can be achieved with SHIFT+D Change 2911869 on 2016/03/16 by Max.Preussner Editor: Caching device proxy manager, so the UI doesn't constantly poll for the TargetDeviceServices module Change 2917943 on 2016/03/22 by Thomas.Sarkanen Sequence Recording: Added "Record New Sequence From Current Player" to sub-sequence track menu This option is only available in PIE. When selected it primes a new seciton for recording against the pawn that is currently being controlled by the player. Change 2917946 on 2016/03/22 by Max.Chen Sequencer: Automatically add and attach a cine camera when dropping a crane or rail. Change 2917954 on 2016/03/22 by Thomas.Sarkanen Fix anim dynamics going crazy on time skips Added new API to FAnimNode_Base: NeedsDynamicReset and ResetDynamics. This allows nodes that subscribe to this interface to be reset on teleport/time skips. Call through to ResetDynamics on zero timestep (ie. skips) in the preview path in Sequencer. Change 2917961 on 2016/03/22 by Frank.Fella Sequencer - Sequencer - Update the color track code to match the behavior in matinee, also remove empty light color tracks from the sequence, and add a missing particle parameter track. Change 2917984 on 2016/03/22 by Max.Chen Sequencer: Fix crash on deleting object binding nodes multiple times. Change 2917986 on 2016/03/22 by Max.Chen Sequencer: Fix if adding multiple camera cuts at the same time with the same duration as an existing camera cut. The camera is replaced in this case. Change 2917994 on 2016/03/22 by Jeff.Farris Support for scene depth picker. Used for focus depth sampling in cine cams. Change 2918003 on 2016/03/22 by Max.Chen Sequencer - Fix selection issues related to keying an undo by moving the selection clear on rebuild to after the tree selection state has been cached by path. Change 2920371 on 2016/03/23 by Max.Preussner UnrealEd: Added a file import path that doesn't load the entire file into memory prior to importing UFactory::StaticImport will now call FactoryCreateFile for both text and binary files. The default implementation will load the file into a buffer/string and call FactoryCreateBinary/FactoryCreateText to preserve legacy behavior. New factories may override FactoryCreateFile to perform their own file processing instead. Change 2923359 on 2016/03/25 by Max.Preussner UnrealEd: Refactored out StaticImportObject code into ImportObject Change 2924887 on 2016/03/28 by Jeff.Farris Sequencer: Camera Anim and Camera Shake tracks now support PostProcess changes in the CameraAnim Change 2927283 on 2016/03/30 by Max.Chen Sequencer: Fix crash resetting default in audio track in sequencer. Fix audio track rename when adding another audio. #jira UE-28836, UE-28859 Change 2928290 on 2016/03/30 by Max.Preussner ContentBrowser: Disabling 'Show in Explorer' context menu option for newly created/unsaved asset(s) Change 2928480 on 2016/03/30 by Max.Preussner AssetTools: Added built-in type category for Media assets Change 2928498 on 2016/03/30 by Max.Preussner AssetTools: Sorting asset type categories alphabetically Change 2932326 on 2016/04/04 by Frank.Fella Sequencer - Add "paste from matinee" support for audio tracks, and add volume support to audio sections in sequencer. Change 2933917 on 2016/04/05 by Max.Preussner Core: Added microseconds support to FTimespan Change 2933920 on 2016/04/05 by Max.Preussner Sockets: Simplified socket timeout assignments Change 2935434 on 2016/04/06 by Max.Chen Sequencer: Deselect possessable before converting it to a spawnable and deleting it. Also, make sure the newly converted spawnables are selected. This fixes a bug where the transform gizmo remains after adding a spawnable. Also, consolidate code for adding possessables to sequencer so that the newly added possessable node will be selected in the widget tree. #jira UE-28215 Change 2935590 on 2016/04/06 by Jeff.Farris Made crane rig preview mesh at the tip move as expected and appear in a reasonable place. Change 2936082 on 2016/04/07 by Max.Chen Sequencer: Attach should use default attach component of the actor if it exists. This fixes a bug where trying to attach to a camera crane rig attaches to the proper component. Change 2936118 on 2016/04/07 by Max.Chen Sequencer: Adding crane/rail with shift now adds the crane/rig as a spawnable and the attached cine camera as a spawnable. An attach track is created for the cine camera spawnable. #jira UE-28308 Change 2937226 on 2016/04/07 by Max.Chen Sequencer: Add invalidation when levels are added or removed.This fixes a bug were if you have a level sequence open and then add a sublevel that the level sequence operates on, it correctly updates the actors from the new sub level. #jira UE-27595 Change 2937263 on 2016/04/07 by Frank.Fella Sequencer - Changed the matinee to sequencer conversion tools so that curve keys set to "clamped auto" import as user tangents since we don't support clamped auto in sequencer. Change 2937273 on 2016/04/07 by Max.Chen Sequencer: No longer experimental/betal and now enabled by default. #jira UETOOl-625 Change 2937694 on 2016/04/08 by Max.Chen Curve Editor: Separate out input and output snapping. #jira UE-27209 Change 2937852 on 2016/04/08 by Andrew.Rodham Sequencer: Spawnables no longer use generated classes - Spawnables now store a template actor instance, rather than a generated class - All relevant code has been converted to use this new approach - Spawnable defaults are now harvested directly from any spawned instances when the movie scene is saved, or when the object is de-spawned. We only do this for spawnables *in the currently active sequence instance*. This approach ensures that instance components and other properties persist. - Currently we don't mark the package as dirty when the defaults are changed. This needs to be addressed. - Some fixes have been made to AActor and Actor Iterators to ensure that actors not contained within a level do not crash. - Spawning optimisations to follow Change 2937956 on 2016/04/08 by Max.Preussner Sequencer: Added selection range commands to general toolbar menu Change 2937981 on 2016/04/08 by Max.Preussner Sequencer: Refactored GetKeyHandles to take a time range for filtering keys Change 2938007 on 2016/04/08 by Max.Preussner Sequencer: Implemented selection range key selection Change 2938184 on 2016/04/08 by Max.Chen Sequencer: Find in Content Browser is now in the top level menubar. #jira UE-21598 Change 2938665 on 2016/04/08 by Frank.Fella UMG - Add support for material animation. Change 2939048 on 2016/04/10 by Max.Chen CineCamera: Change current position on rail to normalize position. Change 2939067 on 2016/04/10 by Max.Chen Sequencer: Add paste color from matinee Change 2939587 on 2016/04/11 by Andrew.Rodham Sequencer: Fixes to spawnable rework - Removed commented out code. - Fixed particle system components not disabling auto activate. - Instance Components are now correctly registered on spawn. - Removed ability to set the editable flag on actors in favor of a delegate assigned to SActorDetails to disable property editing on actors spawned from outside of the currently focused sequence. Change 2939666 on 2016/04/11 by Andrew.Rodham Sequencer: Fixed active sequence ID not being set on creation Change 2940663 on 2016/04/12 by Andrew.Rodham Sequencer: Spawnable object templates now always have the RF_ArchetypeObject flag #jira UE-29337, UE-29339 Change 2940742 on 2016/04/12 by Thomas.Sarkanen Improvements to sequence recording API Sequence recording is now more extensible. Moved the majority of recorders into a seperate module. Cleaned up recorder API, removed bRecord that was only really used once. Added factory class as a modular feature that allows users to register and implement their own recorders. Recorders can supply their own settings classes. These are incorporated into the UI via a details customization so they appear to be seamlessly integrated. Exposed components to record as an advanced setting. Users can use this to gate the components and actors that are recorded. #jira UE-28850 - Update sequence recording API for better extensibility Change 2940828 on 2016/04/12 by Max.Chen Level Editor: Clear the camera preview if the level viewport is locked to the same camera. #jira UE-27489 Change 2941090 on 2016/04/12 by Frank.Fella Sequencer - Fix inconsistencies with the level visibility track. + Add an option to update a track instance when it stops playing due to it's parent movie scene being deactivated as a sub-scene. + Reset level visibility state when the section ends, or when it's parent subsection ends. Change 2941427 on 2016/04/12 by Andrew.Rodham Sequencer: Fixes for recorded dynamic components - Dynamic components are now named uniquely within their owner actor, and are no longer re-bound to new object tracks when detached/re-attached - New dynamic components are created every time a new component is detected on an actor, regardless of whether it was once attached before. This affords recording externally managed components from a component pool. - Section recorders for components that are no longer attached to the actor are now disabled correctly. Change 2941760 on 2016/04/12 by Max.Preussner Editor: Setting up correct material expresions when creating material from normal map texture Change 2941819 on 2016/04/13 by Max.Chen Sequencer: Fire named events in all sublevels. #jira UE-28843 Change 2942052 on 2016/04/13 by Andrew.Rodham Sequencer: Fixed not being able to add dynamic material parameter tracks to spawnables when the object is not spawned #jira UE-24287 Change 2942223 on 2016/04/13 by Max.Preussner Editor: Using built-in function to assign sampler format Change 2942833 on 2016/04/13 by Max.Chen Sequencer: More copy matinee helpers. - Make some sections infinite. - Fix FindPossessableObjectId - Expose FindGroupByName Change 2942944 on 2016/04/13 by Max.Chen Sequencer: Fix anim copy so that it doesn't create an animation clip longer than the next clip's start position. Change 2943313 on 2016/04/14 by Max.Chen Sequencer: Initial matinee to level sequence asset converter. Right click on a matinee actor in the level and choose "Convert to Level Sequence" Current supports: - movement tracks - generic property tracks - particle tracks - anim control tracks - event tracks - audio tracks - visibility track - director track (fade, slomo, camera cuts) Possible todos: - Relative scale3D - Option to create spawnables instead of possessables - Create shots per director track camera cut instead of a direct translation to the camera cut track #jira UETOOL-467 Change 2943596 on 2016/04/14 by Andrew.Rodham Editor: Fixed placement mode scrollbar visibility not working for custom content #jira UE-27191 Change 2943651 on 2016/04/14 by Max.Chen Sequencer: Invalidate the audio waveform when the source changes. #jira UE-29394 Change 2943674 on 2016/04/14 by Max.Chen Sequencer: Store/restore playback state when rebuilding. #jira UE-29452 Change 2943993 on 2016/04/14 by Max.Chen Sequencer: Convert slot name from matinee to level sequence. Change 2944156 on 2016/04/14 by Frank.Fella Sequencer - Fix undo when moving items into folders, and when deleting folder. #jira UE-27368 Change 2944227 on 2016/04/14 by Max.Chen Sequencer: Show curves in the curve editor if one of the parent nodes is selected. For example, if Location is selected, show Location.X, Location.Y, and Location.Z Change 2945057 on 2016/04/15 by Andrew.Rodham Editor: Fixed placement mode scrollbar visibility not working for custom content #jira UE-27191 #lockdown nick.penwarden [CL 2945551 by Max Chen in Main branch]
2016-04-15 14:50:58 -04:00
// draw playback & selection range
FPaintPlaybackRangeArgs PlaybackRangeArgs(
bMirrorLabels ? FEditorStyle::GetBrush("Sequencer.Timeline.PlayRange_Bottom_L") : FEditorStyle::GetBrush("Sequencer.Timeline.PlayRange_Top_L"),
bMirrorLabels ? FEditorStyle::GetBrush("Sequencer.Timeline.PlayRange_Bottom_R") : FEditorStyle::GetBrush("Sequencer.Timeline.PlayRange_Top_R"),
6.f
);
Copying //UE4/Dev-Editor to //UE4/Dev-Main (Source: //UE4/Dev-Editor @ 3497164) #lockdown Nick.Penwarden #rb none ===================================== MAJOR FEATURES + CHANGES ===================================== Change 3433074 by Matt.Kuhlenschmidt Fix crash when clicking on certian tutorial blueprints. #jira UE-44593 Change 3433075 by Matt.Kuhlenschmidt Remove hittest grid log spam. The underlying problem causing this has been fixed Change 3433077 by Matt.Kuhlenschmidt Fix lighting becoming unbuilt when mesh painting #jira UE-44837 Change 3433081 by Matt.Kuhlenschmidt PR #3553: Crashfix for static array properties (Contributed by Pierdek) Change 3433104 by Alexis.Matte Make sure re-import skeletal mesh follow the import morph option #jira UE-42846 Change 3434825 by Matt.Kuhlenschmidt Fix crash when GC happens while the vr editor radial menu is open. Change 3434831 by Matt.Kuhlenschmidt Added missing file Change 3434868 by Shaun.Kime If you have a reroute node between a Material Function texture input and its usage, the parent material will fail to resolve the reroute node. #jira ue-44670 Change 3434998 by Alexis.Matte Meshes editors material/section panel are now fully transactional - Staticmesh editor: section material slot, section cast shadow, section collision, material slot instance, material slot name - Skeletal mesh editor: material slot instance, material slot name Also fix some transaction description #jira UE-44462 Change 3435195 by Jamie.Dale Fixed incorrect handling of some LTR scripts that require shaping These scripts need to go through HarfBuzz, and this also fixes a case where HarfBuzz wasn't applying font scale correctly. #jira UE-44767 Change 3435199 by Jamie.Dale Fixed some crashes/artifacts with bidirectional text It was possible for a line to compute an incorrect range, which could cause crashes or other highlighting issues. The highlighting logic has also been updated as the old code didn't handle all bidirectional cases correctly. Change 3435200 by Jamie.Dale Fixed a grapheme cluster metrics issue in the font editor viewport The viewport also now respects the default shaping method CVar. Change 3435771 by Alexis.Matte Fix degenerated bounds calculation for skeletalmesh when the skeleton is remove from a re-import (PhysicAsset API change, adding 1 function) #jira UE-44609 Change 3436856 by Jamie.Dale Added some missing Unicode block ranges Change 3436914 by Jamie.Dale Adding some missing combining character ranges to the text shaper Change 3436923 by Alexis.Matte PR #3463: Get bounds for all triangles, not just the first one. WedgeIndex was . (Contributed by DaveC79) #jira UE-43764 Change 3436948 by Jamie.Dale Updated the Portal to use the predefined Unicode block ranges Change 3436961 by Max.Chen Sequencer: Show camera shake/anim track menus even if there aren't any assets. Change 3437244 by Max.Chen Sequencer: Clear locked cameras when releasing Sequencer. #jira UE-44967 Change 3437515 by Arciel.Rekman UBT: improvements for LocalExecutor. - Larger number of parallel jobs on 16GB+ machines. - Use WaitForExit() instead of polling. - Tested on Linux and Mac. Change 3437629 by Matt.Kuhlenschmidt Improve asset import data display in static and skeletal meshes Change 3438047 by Arciel.Rekman Fix overlapping ranges being passed to memcpy(). Change 3438822 by Yannick.Lange ViewportInteraction: Move gizmo handle files to make them private. Change 3438906 by Matt.Kuhlenschmidt PR #3556: Git Plugin: fix new option "init Git LFS" that make assets read-only (master/UE4.17) (Contributed by SRombauts) Change 3438907 by Matt.Kuhlenschmidt PR #3565: add -quality option to buildlighing commandlet (Contributed by kayama-shift) Change 3438908 by Matt.Kuhlenschmidt PR #3558: UE-44862: Always update SColorPicker color on OK button (Contributed by projectgheist) Change 3439393 by Matt.Kuhlenschmidt Force highest LOD for highres screenshots Change 3439819 by Matt.Kuhlenschmidt Turned FAssetData into a struct for some upcoming script exposure of FAssetData Change 3439949 by Arciel.Rekman Fixed selection logic for the UE4_LINUX_USE_LIBCXX environment variable. - Allows disabling libc++ by setting the variable to 0. - Pull request #3576 contributed by jared-improbable. Change 3441078 by Jamie.Dale The culture/language/locale console commands are now available in all build configs Change 3441109 by Jamie.Dale Text containing surrogate pairs now runs through HarfBuzz when shaping in Auto mode This is needed as the kerning-only shaping code assumes that everything is within the BMP Change 3441275 by Matt.Kuhlenschmidt Disable spinning on location and scale. These dont work because we have no notion of infinite spinning Change 3442748 by Yannick.Lange ViewportInteraction: Remove unused console variables. Change 3442775 by James.Golding Add support for editing MaterialFunctions to MaterialEditingLibrary Pull Material recompile/update code into UMaterialEditingLibrary::RecompileMaterial Pull MaterialFunction update code into UMaterialEditingLibrary::UpdateMaterialFunction util Move RebuildMaterialInstanceEditors to UMaterialEditingLibrary Added test content for Material/MaterialFunction editing Add needed BlueprintReadWrite to expressions (constants, function input/output) Expose UMaterialExpressionMaterialFunctionCall::SetMaterialFunction to BP, rename old func (which takes old function) to SetMaterialFunctionEx, also expose GetInputNameWithType Change 3442779 by James.Golding Fix header order Change 3442817 by Yannick.Lange ViewportInteraction: Add can execute checks for level editor commands. Change 3443038 by Michael.Dupuis #jira UE-43377: When you select a foliage actor we will move all instance contained in it to the new level as we can't move a foliage actor Only permit moving foliage instance if there is some selected Change 3443855 by Michael.Dupuis #jira UE-44885: Unregister from PerModuleDataObjects when the object is destroyed Change 3446096 by Max.Chen Sequencer: Add OnFinished() event when a level sequence completes playback #jira UE-45173 Change 3446097 by Max.Chen Sequencer: Evaluate one last time before the sequence is torn down and reset #jira UE-45174 Change 3446242 by Jamie.Dale Fixed caret not appearing in empty text layouts Caret selections have no range, and therefore have no width Change 3446361 by Matt.Kuhlenschmidt Fix WITH_EDITOR only functions causing generated code compile errors when the all functions on the class are WITH_EDITOR Change 3446457 by Alexis.Matte Polish the speed tree import dialog #jira UE-44963 Change 3446946 by Michael.Trepka Modified FWindowsWindow::GetRestoredDimensions to return correct window position for normal windows for which GetWindowPlacement returns position in workspace coordinates #jira UE-37934 Change 3447543 by Arciel.Rekman Reduce VMAs on Linux. - Trades off increased address space (VIRT in terms of ps/htop) for smaller number of distinct mappings (VMAs, virtual memory areas). This decreases possibility to run into vm.max_map_count limit on Linux. - Tested on Linux and Mac. Change 3448468 by Arciel.Rekman Fix race condition during creation of GMalloc. - On Mac GMalloc can be created on two different thread that are racing with each other - app's main thread and a system thread. Change 3449012 by Max.Chen Sequencer: Add time to transform, color and vector key structs so that key times are editable from the key editors. #jira UE-45089 Change 3449018 by Max.Chen Sequencer: Add OnCameraCut event that fires when there is a camera cut. #jira UE-45137 Change 3449195 by Max.Chen Sequencer: Add setting for limit scrubbing to playback range. #jira UE-43502 Change 3449198 by Max.Chen Sequencer: Reorder hierarchical bias so that group priority takes precedence. Change 3449217 by Max.Chen Sequencer: Add setting to activate realtime viewports when in sequencer. Change 3449219 by Max.Chen Sequencer: Focus on search boxes when opened. Change 3449238 by Max.Chen Sequencer: Assign actor should replace the actor itself after it has updated all the components. Also, replace components be fullname rather than by class. Change 3449239 by Max.Chen Sequencer: Fix offsets when moving multiple sections. Dragging should be clamped to the bounds that any of the selected sections hits against the unselected sections. Change 3449241 by Max.Chen Sequencer: Restore section selection after full tree rebuild. Change 3449279 by Max.Chen Sequencer: Set movie scene capture frames only when not using custom frames. This allows the user entered frame numbers to persist in config, rather than overwriting them when doing a "Render Shot" Change 3449280 by Max.Chen Sequencer: Spawn in the persistent level. Otherwise, they get spawned into whatever sublevel is current. #jira UE-44552 Change 3449294 by Max.Chen Sequencer: Null check for sequencer ed mode crash. Change 3449297 by Max.Chen Sequencer: Fix delay in sliding values. Mark changed when sliding values. Mark refresh immediately when committing values since OnValueChanged will be called and needs to have the correct value that was refreshed immediately. #jira UE-42866 Change 3449542 by Max.Chen Sequencer: Fix scrubber hit testing so that the time scrubber is really favored over the playback ranges. #jira UE-44569 Change 3451507 by Matt.Kuhlenschmidt Fix extra slate uv coords not functioning on ES2 Change 3451510 by Matt.Kuhlenschmidt PR #3595: Fixed wrong colour for level status (Contributed by ronve) Change 3451529 by Alexis.Matte fbx scene importer: Make sure we set INVALID_UNIQUE_ID to node that has no attribute. #jira UE-34410 Change 3451611 by Yannick.Lange ViewportInteraction: Dragging gizmo without second pass for snapped calculations. Change 3452134 by Jamie.Dale Fixed constant font cache flushing if a widget had no font set Change 3452239 by Jamie.Dale Fixed constant font measure flushing if a widget had no font set Change 3452243 by Jamie.Dale Removed deprecated code for creating fonts from bulk data Change 3452277 by Jamie.Dale The concept of "stale" composite fonts is now editor-only Change 3452358 by Alexis.Matte Fbx scene importer: Do not remove existing attribute reference from the blueprint if the reimport of the associate mesh attribute is not tick. #jira UE-45232 Change 3452678 by Max.Chen Sequencer: Fix crash on export if there's no shot data. Change 3453057 by Matt.Kuhlenschmidt Exposed asset exporting to script Change 3453782 by Andrew.Rodham Sequencer: Fixed deterministic cooking issues with movie scene data - Movie scene signatures are now initialized in PostInitProperties - A warning is now presented when attempting to cook old data that was never serialized with a signature. - Removed redundant legacy data upgrade logic that could dirty level sequences on load. #jira UE-44912 Change 3453788 by Yannick.Lange ViewportInteraction: Custom scene proxy for gizmo handles. Change 3453938 by Max.Chen Sequencer: Hotkeys (shift , and shift .) to step to next/previous shot #jira UE-45119 Change 3454058 by Michael.Dupuis Fixed StaticAnalysis Change 3454077 by Max.Chen Sequencer: Fix not saving the pre-animated track value when creating a track/key. On pre object change, broadcast property change so that a track or key can be created. That track/key needs to be evaluated immediately so that the pre-animated state can be saved properly. This is done now with RefreshAllImmediately and is only called when a track has been created. Also, added a return value for OnKeyProperty, so that it's known what changed in particular (ie. track created, track modified, etc) Also, fixed transform keying so that if a transform track already exists for the object or the scene component, the existing track is used. #jira UE-45130 Change 3454108 by Nick.Darnell UMG - Fixing the WIC to properly record cursor delta so that scrollbars work. Change 3454109 by Jamie.Dale Cache the text layout source info in non-shipping builds so you can inspect it in the debugger Change 3454202 by Matt.Kuhlenschmidt Fix bogus error message about the number of usable texture coordinates on ES2 when compiling a UI domain material Change 3454390 by Yannick.Lange Fix creating a plugin in a C++ project opens a second instance of Visual Studio. Use SourceCodeAccessor to open solution when necessary. #jira UE-45035 Change 3454564 by Matt.Kuhlenschmidt #rnx Fix deprecation warnings Change 3455471 by Yannick.Lange ViewportInteraction: Fix entering and exiting VR Mode disables gizmo in desktop editor viewport. #jira UE-44965 Change 3456183 by Max.Chen Sequencer: Auto key, auto track refactor. Auto key - create a key when the property changes and there's an existing track. Auto track - create a track when the property changes. This is only exposed in the level sequence editor. All - create a key and a track when the property changes. This is only exposed in VR Editor. None - do nothing. #jira UE-43469 Change 3456349 by Andrew.Rodham Sequencer: Only perform legacy signature checks on instances, and only where signatures match the CDO Change 3456678 by Alexis.Matte Allow to add null level instance override material via the advance material array. But still limit the override material number to the mesh material number. #jira UE-45306 Change 3456945 by Max.Chen UMG: Add restore state to 2d transform section. #jira UE-45372 Change 3457196 by Arciel.Rekman Linux: serialize allocations from the memory pool. Change 3458434 by Max.Chen Sequencer: Remove obsolete set tick prerequites functions. Change 3458671 by James.Golding Added MIC editing support to MaterialEditingLibrary Fix static analysis warning Change 3458888 by Matt.Kuhlenschmidt PR #3615: More detailed log messages for debugging warnings/errors (Contributed by projectgheist) Change 3458893 by Matt.Kuhlenschmidt PR #3583: UE-44960: Delta value wasn't being used (Contributed by projectgheist) Change 3458895 by Matt.Kuhlenschmidt Fix typo Change 3458902 by Matt.Kuhlenschmidt PR #3607: Improved InputKeySelector functionality (Contributed by projectgheist) Change 3458917 by Matt.Kuhlenschmidt Fix crash with invalid object properties in the class picker #jira UE-39000 Change 3458939 by Matt.Kuhlenschmidt Fix compile error Change 3458984 by andrew.porter QAGame: Initial check in of sequencer smoke test map Change 3459510 by Matt.Kuhlenschmidt Fixed ensure when deleting a map that contains build data which also happens to be the currently loaded map. #jira UE-45052 Change 3460985 by Max.Chen Sequencer: Snap play time to keys now allows scrubbing between keys and snaps to key times within a certain screenspace tolerance. #jira UE-45090 Change 3461698 by Arciel.Rekman Avoid using ARRAY_COUNT in Vulkan. - Sometimes those arrays can have no extensions whatsoever, and it is illegal to declare a 0 element C array. Change 3462053 by Max.Chen Sequencer: Show sequencer spawnables in the world outliner and add the icon overlay for spawnables. #jira UE-43470 Change 3462139 by Max.Chen Property Editor: Add objects to FPropertyAndParent Change 3462202 by Arciel.Rekman Fix FSocket::Recv() blocking with Peek when there's no data. Change 3462253 by Nick.Darnell Slate - New Clipping System Clipping is now a stateful choice made during composition of the slate hierarchy. Previously every widget got to respect or modify the clipping rect on an as needed basis. The problem was that clipping was only allowed in the layout space of the widget, and it wasn't possible to properly clip elements with render transforms. The new system permits all kinds of transforms on any widget, and they will all be clipped correctly. It tries to use Scissor Rects as they are much cheaper, but will switch over to stenciling if need be to represent a complicated masking structure with several rotated clipping rects all needed to be combined together. Here are the new clipping states a widget can have, almost all widgets are set to No. Only change it from No if your widget actually needs to clip, generally speaking most widgets don't need to clip. /** * This widget does not clip children, it and all children inherit the clipping area of the last widget that clipped. */ Inherit, /** * This widget clips content the bounds of this widget. It intersects those bounds with any previous clipping area. */ ClipToBounds, /** * This widget clips to its bounds. It does NOT intersect with any existing clipping geometry, it pushes a new clipping * state. Effectively allowing it to render outside the bounds of hierarchy that does clip. * * NOTE: This will NOT allow you ignore the clipping zone that is set to [Yes - Always]. */ ClipToBoundsWithoutIntersecting UMETA(DisplayName = "Yes - Without Intersecting (Advanced)"), /** * This widget clips to its bounds. It intersects those bounds with any previous clipping area. * * NOTE: This clipping area can NOT be ignored, it will always clip children. Useful for hard barriers * in the UI where you never want animations or other effects to break this region. */ ClipToBoundsAlways UMETA(DisplayName = "Yes - Always (Advanced)"), /** * This widget clips to its bounds when it's Desired Size is larger than the allocated geometry * the widget is given. If that occurs, it behaves like [Yes]. * * NOTE: This mode was primarily added for Text, which is often placed into containers that eventually * are resized to not be able to support the length of the text. So rather than needing to tag every * container that could contain text with [Yes], which would result in almost no batching, this mode * was added to dynamically adjust the clipping if needed. The reason not every panel is set to OnDemand, * is because not every panel returns a Desired Size that matches what it plans to render at. */ OnDemand UMETA(DisplayName = "On Demand (Advanced)") - Large API Change - All FSlateDrawElement::Make_____ calls have been deprecated that involved passing in a clipping rect. You no longer should are passed a Clipping rect via OnPaint. You are still passed a rect, but this rect represents a Culling Rect, which is valuable if you need to just out right not paint things the user can't possibly see. If you were previously trying to determine if you should cull widgets, by doing something like this, if ( FSlateRect::DoRectanglesIntersect(MyClippingRect, CurWidget.Geometry.GetRenderBoundingRect()) ) That's no longer a good option since there are ways for widgets to ignore the culling bounds. You should convert anything like above to the one below, if (!SWidget::IsWidgetCulled(MyCullingRect, CurWidget)) To assist in debugging efforts, there are several new debugging console flags in Slate, Slate.ShowClipping 1 - Controls whether we should render a clipping zone outline. Yellow = Axis Scissor Rect Clipping (cheap). Red = Stencil Clipping (expensive). Slate.DebugCulling 1 - Disables pushing clipping or stencil rects to the GPU, but continues to intersect culling rects, so that you can tell if a widget is properly culling children it can't possibly draw. Slate.ShowTextDebugging 1 - Show debugging painting for text rendering. I've added a new Experimental Feathering Option, it adds AA geometry around the outside of Box and Image brushes. Slate.Feathering 1 If you're using RenderDoc or something similar, you can now enable render events for slate, so that you can better grok how we're batching and changing states for each UI render pass. Slate.EnableDrawEvents 1 #jira UE-4659 #rn Change 3462714 by Nick.Darnell Fixing a few more compiler issues with the clipping changes. Change 3462726 by Max.Chen Switch OnEditStructChildContentsChanged to use FObjectWriter instead of FMemoryWriter which supports serializeing UObjects. This fixes a crash when adding actor array elements to a user defined event struct. #jira UE-45431 Change 3462801 by Nick.Darnell Adding a UMG dependency to EngineTestBuild. Change 3462914 by Max.Chen Sequencer: Fix regression where spawnables aren't getting saved. Caused by 3407138 #jira UE-30007 #jira UE-39003 Change 3462946 by Nick.Darnell Automation - Tweaking the UI automation tests converting them over to use the new UI Screenshot automation test. Automation - Adding a blur widget test. Change 3462987 by Matt.Kuhlenschmidt Back out changelist 3458893 Change 3464774 by Matt.Kuhlenschmidt PR #3629: Bugfix: Missing small icon in Project Launcher profile editor (Contributed by aarmbruster) Change 3464785 by Nick.Darnell Fixing some clipping stuff in the editor. Change 3464830 by andrew.porter QAGame: Second pass on sequencer smoke test map Change 3464902 by Nick.Darnell Loading - Adding some additional checks to the the loading code to ensure we're on the main thread. Additionally adding a fix from UDN that prevents deadlocks in the rare case a user hits Alt+Tab in a fullscreen game while in a hard loading screen. Change 3464988 by Max.Chen Sequencer: Add attenuation settings for attached audio components. #jira UE-33080 Change 3465024 by Nick.Darnell MoviePlayer - Impoving the playback mode displaynames. Change 3465074 by Arciel.Rekman Fix shadowing issues of GraphicsPSOInit. Change 3465097 by Matt.Kuhlenschmidt Some refactoring of the details panel Exposed new methods of adding a struct on scope to a details panel and have it work properly with customizations. The scruct on scope has a "fake" ustructproperty that allows the details panel to show the whole struct not just an individual property. Refactored the API for adding rows to details panels to make it more consistent\ AddChildCustomBuilder->AddCustomBuilder AddChildGroup->AddGroup AddChildContent->AddCustomRow AddChildPropert->AddProperty AddChildStructure->AddExternalStructureProperty AddStructure->AddAllExternalStructureProperties AddExternalProperty->AddExternalObjectProperty or AddExternalStructureProperty Change 3465186 by Max.Chen Sequencer: Save the BindingID in the pre animated token producer so that it can be destroyed properly. This fixes a bug where the default state of a spawnable isn't saved. #jira UE-43780 Change 3465315 by Matt.Kuhlenschmidt Fix Fortnite and Orion details panel customization warnings Change 3465424 by Nick.Darnell Automation - Moving the step for setting the link to the automation reports to be set before we start the engine. Change 3465488 by Nick.Darnell Automation - Forcing textures to load before taking screenshot, so that the scene gets another opportunity to render before we render with Slate. This should fix the Blur UI Test. Change 3466277 by Arciel.Rekman Linux: fix window drift when dragging (UE-40380). - Change by Cengiz Terzibas. Change 3466370 by Nick.Darnell UMG - Fixing the colors for the resize handle in the designer. Change 3466372 by Nick.Darnell UMG - Fixing the ruler ticks sometimes not being drawn. Change 3466374 by Nick.Darnell UMG - Fixing the designer showing multiple options for sequencer. Change 3466377 by Nick.Darnell UMG - Cleaning up some clipping bits. Change 3467025 by Andrew.Rodham Re-saving assets that contain legacy (<4.15) movie scene data to remove deterministic cook warning. If conflicts arise during merging of these assets, please ignore the changes made in dev-editor, and accept game-side changes. (CIS step 62283298, jobId 7773146) (CIS step 62283297, jobId 7773146) Change 3467099 by Max.Chen Fix GetObjectPropertyClass ensure logic. This was returning UObject::StaticClass when valid. Change 3467172 by Max.Chen Sequencer: Evaluation optimizations. Also, fixes subsequences not getting expired, leaving dangling spawnables. #jira UE-43690 Change 3467192 by Matt.Kuhlenschmidt Fix transactions getting stuck in the color grading controls. This prevents PIE from working properly and causes shutdown crashes #jira UE-45527 Change 3467251 by Yannick.Lange ViewportInteraction: Fix scale and rotation snap while dragging with two lasers. #jira UE-43489 Change 3467331 by Matt.Kuhlenschmidt Fix D3D shader compiler hard coding shader path and not giving proper warnings when it cannot find the shaders Change 3467335 by Matt.Kuhlenschmidt Remove DarkStyle attribute from SNumericEntryBox and allow a spin box style to be passed to it. Change 3467558 by Max.Chen Scene Outliner: Generic support to add default columns to a scene outliner. Change 3467565 by Jamie.Dale Removing old screenshot data for test Change 3467589 by Nick.Darnell Editor - Random cleanup. Change 3467596 by Nick.Darnell Progress Bar - Exposing Border Padding to UMG. Change 3467600 by Nick.Darnell Slate - Adjusting the rendering of the splitter, previously it could be off by a pixel or two, which becomes more apparent now with the clipping changes. Change 3467601 by Max.Chen Property Editor: Fix static analysis warning Change 3467662 by Nick.Darnell Automation - Fixing a bug with the screenshot comparison tool not replacing (removing) the old screenshot data. Change 3467674 by Max.Chen Property Editor: Fix static analysis warning Change 3467737 by Max.Chen Sequencer: Added OnMovieSceneBindingsChanged delegate Change 3468053 by tim.gautier QAGame: Updating Editor Smoke Map - Updated landscapes into Stations for testing - Added Foliage Sublevel Change 3468194 by Arciel.Rekman Linux: fix problems communicating with various STL-using libs. - Stop hiding global new/delete signatures. - Disable CEF3 since this change uncovers the problem with libcef.so not built to use bundled libpng. Change 3468678 by Max.Chen Sequencer: Set "Sequencer Actor" tag before setting the actor label so that the outliner refreshes after the actor has the tag. Change 3469314 by tim.gautier QAGame: Added Painted Foliage / Spline section to EditorSmoke map Change 3469377 by Nick.Darnell Slate - Fixing some warnings in a couple of sample games due to the clipping changes. #rnx Change 3469767 by Max.Chen Sequencer: Outliner column and sequencer binding data #jira UE-43470 Change 3469974 by Arciel.Rekman Fix code projects not working in Linux installed build. Change 3470082 by Nick.Darnell Slate - The GetRenderer() call on SlateApplication no longer returns a SharedPtr, rather than convert it to a thread safe ptr, going to just make accessing it a raw ptr return, so it can be safely referenced on the game thread while being used on the slate loading thread. Change 3470174 by Nick.Darnell Slate - Get the last widget in a widget path utility. Change 3470176 by Nick.Darnell UMG - User Widgets now have an easy way to know if they're part of or have been removed from the focused widget path, which is handy for doing effects. Change 3470261 by Nick.Darnell Slate - The GetRenderer() call on SlateApplication no longer returns a SharedPtr, rather than convert it to a thread safe ptr, going to just make accessing it a raw ptr return, so it can be safely referenced on the game thread while being used on the slate loading thread. Change 3470286 by Max.Chen Sequencer: Scene Component's HiddenInGame now goes through the VisibilityTrack and the visibility template. Change 3470366 by Nick.Darnell Slate - We now version focus per user, that way during focus events, we can safely abort focus events and state transitions if someone interrrupts the active focus event with something new. Change 3470649 by Matt.Kuhlenschmidt Fix deprecation warnings Change 3470695 by Matt.Kuhlenschmidt Fixed typo #jira UE-45580 Change 3470721 by Matt.Kuhlenschmidt Fix static analysis Change 3471254 by Michael.Dupuis #jira UE-42952: Keep occlusion result per view Change 3471287 by Nick.Darnell UMG - Render Focus Rule now defaults to never. Change 3471291 by Nick.Darnell Slate - Fixing FSlateRenderer* change fallout. Change 3471299 by Nick.Darnell Slate - Fixing FSlateRenderer* change. Change 3471323 by Nick.Darnell Automation - Fixing automation and Static Analysis warning. Change 3471413 by andrew.porter QAGame: Added test content for anim blending and material parameteres to sequencer smoke level Change 3471649 by Max.Chen Sequencer: Modify the track when adding animation #jira UE-45618 Change 3471659 by Matt.Kuhlenschmidt Added a way to check if a movie is playing from the engine. Prevented viewport redraws for canvas loading screens if a slate based loading movie is playing Change 3471734 by Matt.Kuhlenschmidt Added basic material hookup to USD. Similar to FBX it will find materials based on rules specified by the user in the import settings Change 3472176 by Nick.Darnell UMG - Improving the display of the +Track menu in sequencer for UMG. Renamed it from +Add, which is repetitve to +Track. Additionally, the dropdown now shows the currently selected widgets, as well as a submenu containing all the 'important' widgets, so we no longer populate that list with a ton of irrelevant widgets that are just Buton_1 - N, which is pointless in showing people, they'll never guess which is the right button. Change 3472740 by Max.Chen Sequencer: Add GetThisFrameMetaData accessor Change 3472748 by Max.Chen Sequencer: Added OnBeginScrubbing and OnEndScrubbing event delegates Change 3472753 by Max.Chen Sequencer: Add EMovieSceneDataChangeType parameter to OnMovieSceneDataChanged delegate Change 3472870 by Nick.Darnell Clipping - Fixing the deprecated tip for scissor rect boxes to be correct. Removing it's usage from UT. Change 3473340 by Max.Chen Scene Outliner: Add ability to register additional filters Change 3473348 by Max.Chen Details View: Make ForceRefresh virtual. Added accessors to delegates (ie. GetIsPropertyReadOnlyDelegate) Change 3473441 by Max.Chen Sequencer: Autokey Refactor Part 2. Autokey is now a single toggleable state. Allow Edits Mode has 3 states: Allow All Edits - Allow any edits to occur, some of which may produce tracks/keys or modify default properties. Allow Sequencer Edits Only - All edits will produce either a track or a key. Allow Level Edits Only - Properties in the details panel will be disabled if they have a track. #jira UE-45229 Change 3473670 by Nick.Darnell Modules - The module manager no longer returns sharedptrs to IModuleInterfaces, this was the source of rare hard to track down crashes due to a shared ptr reference leak when GetModule was called on non-main threads. We now store a TUniquePtr internally, and only lease out raw pointers. #rn Change 3473711 by Nick.Darnell Disabling the ensure in the module manager. Change 3473747 by Max.Chen Sequencer: Fix tooltip Change 3474091 by Jamie.Dale Added a warning when cooking a UFontFace that is outered to a UFont asset These cause issues with iterative COTF, and should be split off into their own assets (as the UI has been asking people to do for several versions) Change 3475052 by Yannick.Lange VR Editor: Fix Crash when quitting the editor with VR Mode enabled. VR Editor was being enabled when saving the map on closing the editor. #jira UE-45415 Change 3475054 by Yannick.Lange Fix crash when adding a camera to the world in VR Mode the second time. The slate application did not reset when stop dragging in VR Mode, so the second time when starting to drag a camera out of the UI it would already by in a dragging state. #jira UE-45574 Change 3475263 by Nick.Darnell Fixing some additional cases of IModuleInteface SharedPtr usage. Change 3475268 by Max.Chen Sequencer: Set jumped state when looping playback. This fixes an issue where audio doesn't stop and restart when looped. #jira UE-45654 Change 3475269 by Max.Chen Scene Outliner: Additional filters should only apply to actor browsing mode Change 3475407 by Nick.Darnell Fixing some clipping / module shared ptr changes in the launcher code. Change 3475542 by Max.Chen Sequencer: Update thumbnail and section highlighting to use new clipping behavior. #jira UE-45692 #jira UE-45689 Change 3475743 by Michael.Dupuis #jira UE-45183: When updating phyx region take into account simple collision mip Change 3475949 by Arciel.Rekman Remove PhysX deoptimization (no longer needed). - OR-24947 has been closed three months ago. Change 3476022 by Michael.Dupuis #jira UE-45560: Make sure we're not going out of range Change 3476063 by Michael.Dupuis #jira UE-45562: Do not try to unregister from static mesh if no static mesh is specified for the component Change 3476168 by Michael.Trepka Added handling of directory symlinks to FApplePlatformFile::IterateDirectory #jira UE-43704 Change 3476172 by Nick.Darnell Fixing a Imoduleinterface change. Change 3476183 by Jamie.Dale Exposing GoTo/ScrollTo to single-line editable text for API parity with multi-line editable text Change 3476385 by Arciel.Rekman Linux: handle symlinks when iterating directories. Change 3476522 by Michael.Trepka Solved a problem with Mac FMallocTBB::Malloc() returning nullptr for 0 bytes allocations, which is inconsistent with other platforms. On Mac we always scalable_aligned_malloc, which behaves differently than scalable_malloc, so for 0 bytes requests we allocate sizeof(size_t), which is exactly what scalable_malloc does internally in such case. Change 3476806 by Nick.Darnell UMG - Focus the designer after dropping a widget onto the surface. Change 3476809 by Nick.Darnell Curve Editor - Enable Clipping on the curve editor. Change 3477475 by Nick.Darnell Fixing a module interface shared ptr usage in UT. Change 3477553 by Yannick.Lange VR Editor: Removed AssetEditorPanelID and replaced it with TabManagerPanelID. A panel for AssetEditorPanelID was never created making it impossible to open an asset editor. Change 3477734 by Yannick.Lange VR Editor: Fix Warning: SetRelativeScale3D : Invalid Scale entered (X=inf Y=inf Z=inf). Resetting to 1.f. warning when adding CineCameraActor to World from Modes Panel. Make sure to not divide by zero when there is no boundary scale. #jira UE-44933 Change 3477761 by Jamie.Dale Some improvements to avoid loading the native .locres files twice when we don't need to Change 3477780 by Nick.Darnell PR #3250: Return correct VirtualUserIndex (Contributed by projectgheist) Change 3477786 by Nick.Darnell PR #3650: Changed TestNull to accept const pointers. (Contributed by e-agaubatz) Change 3477795 by Nick.Darnell PR #2844: UE-36936: Don't stretch container for Plugin Image (Contributed by projectgheist) Change 3478092 by Nick.Darnell PR #2341: Optional Middle Mouse Button panning in Graph Editor (Contributed by flipswitchingmonkey) Engine Edit - Made some small changes to the enum type, and some naming. Change 3478450 by Nick.Darnell Fixing some uninitialized variable errors. Change 3479827 by Andrew.Rodham Sequencer: Addressed serialization issues with some struct types Change 3479874 by Jamie.Dale Fixed "NativeGameLanguage" not being used correctly during localization initialization Change 3480012 by Andrew.Rodham Sequencer: Fixed loading tagged properties as native for track identifiers #jira UE-45823 Change 3480337 by Alexis.Matte Fix morph target crash missing some valid index check Change 3480804 by Alexis.Matte Fix crash with ColorGradingMode custom detail #jira UE-45638 Change 3480892 by Andrew.Rodham Sequencer: Ensure that movie scene sequences know about the editor object version #jira UE-45842 Change 3481073 by Nick.Darnell Fix the shader compiler error from main in Slate. Change 3481303 by Nick.Darnell UMG - Fixing a bug with the drag handle not working correctly in HDPI mode. Change 3481308 by Nick.Darnell Slate - Tweaking the IsWidgetCulled logic to consider both the layout and rendering bounds. If we do this, we get a much more desireable outcome for people that want to animate widgets and such and plan to have temporary animations to move the widget offscreen, but want the layout bounds to anchor that widget in the visible frame so that it animates even when normally it would be culled b/c the render transform and therefore the renderbounds moved it completely outside the culling rect. Change 3481629 by Max.Chen Sequencer: Add Level Sequence Actor as an output for CreateLevelSequencePlayer() #jira UE-45785 Change 3481899 by Yannick.Lange VR Editor: Added debug modetoggle command with an event that is broadcasted whenever this happens. Currently this is used to show all the floating UIs of the UI system to debug without HMD using VREd.ForceVRMode. Change 3481984 by Michael.Dupuis #jira UE-45845: always validate if we have a static mesh before trying to access it as user can decide to not assign one and use the tools Change 3482047 by Nick.Darnell Slate - Adding some comments to IsWidgetCulled. Change 3482110 by Nick.Darnell Slate - IsWidgetCulled is no longer static and is now called IsChildWidgetCulled. Change 3482136 by Jamie.Dale The CamelCase break iterator now treats digits around character tokens as part of the identifier Change 3482138 by Michael.Dupuis #jira UE-45854: Properly unregister during undo operation Change 3482150 by Michael.Dupuis #jira UE-45845 : Add missing nullcheck for GetStaticMesh Change 3482153 by Nick.Darnell Slate - IsWidgetCulled is no longer static and is now called IsChildWidgetCulled. Change 3482180 by Nick.Darnell UMG - Widget Components do not need to define a widget class to be rendererd, they can have native slate widgets only. This was a regression from main. Change 3482273 by Nick.Darnell UMG - Tweaking some more things about the widget component box outline. Change 3482308 by Alexis.Matte Fixing morph target smooth group support. Do not call FillSkeletalMeshImportData more then once on FbxNode since this fonction is doing some conversion and change the FbxNode, applying those conversion twice do not return the same faces smooth group. #jira UE-45696 Change 3482327 by Nick.Darnell UMG - More tweaks to the WidgetComponent so both shows the box outline, but works in game and VR editor. Change 3482705 by Andrew.Rodham Resaving assets that contain legacy data to suppress CIS warnings. - If conflicts arise in these assets, please take game-side changes and ignore these. Change 3484245 by Max.Chen Sequencer: Evaluate on end scrub. This fixes a bug where audio doesn't evaluate in a stopped position at the end of scrubbing, causing it to not stop all sounds. This fixes a bug introduced from 3365018 where evaluate on end scrub was removed. #jira UE-45905 Change 3484263 by Max.Chen Sequencer: Fix crash on forcing refresh of details panel on release. #jira UE-45911 Change 3484431 by Andrew.Rodham Resaving assets that contain legacy data to suppress CIS warnings. - If conflicts arise in these assets, please take game-side changes and ignore these. Change 3484474 by Alexis.Matte Fix the morph target animation curve name matching. #jira UE-20294 Change 3484475 by Alexis.Matte When removing a LOD, make sure we remove all morph target data associate to the LOD. Change 3484489 by Nick.Darnell PR #3668: UE-45908: Cache debug line locations when performing a LineTraceMulti (Contributed by projectgheist) #jira UE-45908 Change 3484692 by Nick.Darnell Slate - Reverting a change from a game stream. All Arranged Children don't need to allocated 42 to begin with. Do need to initialize WidgetPaths better. Change 3484703 by Nick.Darnell Player Input - Making the input event loop for players obey EKeys::NUM_TOUCH_KEYS, rather than being set to Touch10, as the maximum touch input amount, to make supporting greater than 10 touches easier. Also making the seeding of keys use EKeys::NUM_TOUCH_KEYS. #jira UE-43213 Change 3484918 by Jamie.Dale Fixed font measuring regression with RTL text RTL applies the character count to the next glyph, so it shouldn't process the end of the loop (this was how the older code used to work). Change 3485718 by Nick.Darnell Editor - Removing Super Search & User Feedback button. Change 3485719 by Nick.Darnell Portal - Removing SuperSearch. Change 3485751 by Matt.Kuhlenschmidt Fix crash accessing platformer game menu if the menu is open during a console based load #jira UE-45950 Change 3486047 by Arciel.Rekman Linux: add OpenEXR implementation (UE-40270). #jira UE-40270 Change 3486467 by Max.Chen Sequencer: Reset max tick rate when destroyed. #jira UE-45956 Change 3486477 by Max.Chen Sequencer: Refresh outliner when column is removed. #jira UE-45891 Change 3486667 by Andrew.Rodham Added missing include Change 3486724 by Andrew.Rodham Sequencer: Fixed curves with no default value, and no keys being evaluated and applied to properties - Also fixed an edge case where a zero (but non-animated) channel could be applied to a final transform Change 3486730 by Alexis.Matte In the Auto-Reimport options, hide the mout point only for the default /Game/ folder #UE-45684 Change 3486749 by Alexis.Matte Make sure the parent window of the monitor directory browse folder is set properly #jira UE-45682 Change 3486805 by Matt.Kuhlenschmidt Additional safety against invalid objects being accessed by slate Change 3486848 by Alexis.Matte Make sure Monitor folder feature support root mount point map folder During auto import, give priority to asset import factory over the scene import factory #jira UE-45691 Change 3486879 by Andrew.Rodham Removing obsolete QA assets Change 3486950 by Nick.Darnell PR #2281: Scrollbar missing features and SScrollbar fixes (Contributed by SNikon) Review - made some adjustments from the original. Change 3486954 by Nick.Darnell Slate - Moving the STableViewBase over to the FOverscroll class, rather than it's own clone. Change 3486967 by Nick.Darnell Slate - Fixing some HDPI calculations for fitting new windows on screen, it was using the unscaled size of the widgets for fitting, when it needed to scale them up. Change 3486970 by Andrew.Rodham Sequencer: Delay mouse capture until drag for sequencer time slider - Fixes context menus not opening as a result of mouse capture being taken on mouse down #jira UE-45937 Change 3486984 by Andrew.Rodham Sequencer: Improved blending type iconography Change 3486996 by Nick.Darnell UMG - Adding a way for games to opt-out of the slow widget path, to completely prevent them from being cooked. UMG - The movie data is no longer cloned for each new instance that inhabits. It now keeps a reference to the now publically accessible movie scene data on the class instead. Change 3487070 by Andrew.Rodham Sequencer: Added graphics for key areas that represent empty space Change 3487195 by Andrew.Rodham Sequencer: Changed evaluation groups to always flush implicitly - Due to the latent nature of blended token types, it's no longer safe to rely solely on execution token order between tracks - This fixes an issue where events set in the PostEvaluation stage were executed before blended token actuation Change 3487322 by Nick.Darnell PR #2457: Add .gitdeps.xml-files for plugins support (Contributed by bozaro) Change 3487363 by Nick.Darnell PR #2481: Fix for packing of a project with users plugins (Contributed by yatagarasu25) Change 3487439 by Nick.Darnell PR #2642: Changed private to protected in SVirtualJoystick.h (Contributed by Skylonxe) Change 3487500 by Arciel.Rekman Removed LinuxNativeDialogs. - No longer used; has been superceded by SlateDialogs since UE 4.8 (2 years ago). Change 3487630 by Lauren.Ridge Don't create Landscape Info Maps for Editor Preview Worlds or thumbnail worlds #jira UE-44885 Change 3487864 by Matt.Kuhlenschmidt Exposed the asset registry to blueprints and script. Works in editor scripts and runtime scripts AssetRegistry is now a UInterface object. Blueprint users can access various asset registry methods using the asset registry interface (via GetAssetRegistry) and various static helpers in the AssetRegistryHelpers object C++ users should still continue to use IAssetRegistry. Change 3487879 by Matt.Kuhlenschmidt Renamed asset tools uobject helper to UAssetToolsHelpers Change 3487926 by Lauren.Ridge Fixing reset to default not showing up for custom widgets #jira UE-44164 Change 3488184 by Matt.Kuhlenschmidt PR #3656: Make References/Referencers List copyable (Contributed by user37337) #jira UE-45763 Change 3488240 by Matt.Kuhlenschmidt Fix compiler issue Change 3488350 by Lauren.Ridge Landscape info map transactional state is based on its world's transactional state #jira UE-44885 #jira UE-46019 Change 3488412 by Matt.Kuhlenschmidt Fix reset to default showing up in two different places for some customizations Change 3488413 by Matt.Kuhlenschmidt Fix slate font customization Change 3488414 by Matt.Kuhlenschmidt Fix slate font customization Change 3488415 by Matt.Kuhlenschmidt Missed file Change 3488565 by Arciel.Rekman Add pretty printers for gdb (UETOOL-1171). - Committing shelf by Cengiz.Terzibas, with some modifications. #jira UETOOL-1171 Change 3489094 by Nick.Darnell Slate - The Slate RHI Renderer now caches the TextureLODGroups so that it can properly lookup the filtering of different texture groups that are set to Default, instead of a particular filter override on a texture. Engine/Rendering - Simplifying some of the setup logic in TextureLODSettings so that code is shared for setting them up properly after loading from a config file. Change 3489095 by Nick.Darnell PR #2699: GameViewportClient - Added a method to allow setting the viewport cur. (Contributed by rfenner) Review - Fixed spacing. Change 3489108 by Matt.Kuhlenschmidt Fix deprecation warning Change 3489120 by Nick.Darnell PR #3478: Fix possible UComboBoxString crash (Contributed by nakosung) Change 3489147 by Andrew.Rodham Sequencer: Adding return value to function to appease static analysis - This function is never compiled, and if it is, it won't compile, but static analysis doesn't know that Change 3489264 by Nick.Darnell Testing - Finishing the thought behind an enum comment. Change 3489265 by Nick.Darnell PR #2750: UE-35164: Button padding (Contributed by projectgheist) Change 3489267 by Nick.Darnell PR #3645: UE-45464: Handle SSlider mouse interaction more accurately (Contributed by projectgheist) Change 3489632 by Arciel.Rekman Correctness changes to MallocPoisonProxy. - Missing forwarding functions added. Incorrect comment removed. - Change by Steve.Robb, doing here so it is in 4.17. Change 3489689 by Arciel.Rekman More MallocPoisonProxy changes I missed in previous CL. Change 3489751 by Matt.Kuhlenschmidt Moved editor performance settings out of per-project settings so they can be shared across projects Change 3489837 by Lauren.Ridge Keyboard shortcut for entering/leaving VR Mode is now Alt+V Change 3491082 by Arciel.Rekman Linux: better fix for the crash due to name collision (UE-46040). - Put classes in Sequencer module into Sequencer namespace instead of SceneOutliner namespace. - Undid change in the SceneOutliner module. #jira UE-46040 Change 3491096 by Arciel.Rekman Fix UAT compilation on the newest mono. Change 3491240 by Max.Chen Sequencer: Disable key button when allow level edits only is on. #jira UE-46060 Change 3491406 by Yannick.Lange Fix editor crashes when opening a project that includes a plugin with more than two custom Volume classes. This issue was caused because registering show volume commands is based on finding volume classes. Finding these classes at multiple times resulted in a mismatch of the returned array of volume classes because modules/plugins were still being loaded. #jira UE-45806 Change 3491559 by Alexis.Matte Make sure we use the good preview mesh when doing a preview #jira UE-45963 Change 3491563 by Alexis.Matte Fix crash with staticmesh editor LodLevel selection Change 3491564 by Nick.Darnell UMG - Fixing an offset with the grab handles in HDPI mode. Change 3491595 by Nick.Darnell Editor - Fixing a clipping artifact in the pin type dropdown in the blueprint editor. Change 3491604 by Nick.Darnell Back out changelist 3489265 Change 3491615 by Arciel.Rekman Added malloc replay proxy (Linux only for now). - Allows to dump malloc callstream (without regard to threads) and replay later to study the behavior of different mallocs and/or repro problems. Change 3491684 by Arciel.Rekman Added FMalloc functions I missed. - Also moved function bodies into the .cpp file, this does not make a difference in performance in this case. Change 3491692 by Matt.Kuhlenschmidt Some minor fixes to the static mesh editor - Fix UV combo button looking non-standard on the toolbar - Fix a few combo buttons in the details panel looking too big. Change 3491702 by Arciel.Rekman Do not compile replay proxy-specific code when not used. Change 3491717 by Michael.Dupuis #jira UE-35083: The component is now the owner of the PerInstanceRenderData instead of the proxy Add an Update path to only update specified instances range Always call BuildTreeIfOutdated so we have a standard code path to make sure static mesh are fully loaded before trying to build the tree Moved the Instance Buffer aysnc to the base class, as it's not related to UHierarchicalInstancedStaticMeshComponent Expose a new property to decide if we require dynamic instance buffer Change 3491758 by Matt.Kuhlenschmidt Fix crash on static mesh editor shutdown Change 3491873 by Cody.Albert Fixed clipping issue in Sequencer curve editor #rnx Change 3491956 by Matt.Kuhlenschmidt Fix crash opening the Previewing sub-menu in the level editor settings menu #jira UE-46095 Change 3492046 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3492076 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3492165 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3492222 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3492274 by Michael.Dupuis #jira UE-46105: Fixed Clang warning Change 3492338 by andrew.porter QAGame: Testing ensure when submitting Change 3492371 by Nick.Darnell UMG - Reverting the animation sharing, cossed GLEO regressions in cooking. Will look for a better solution. Change 3492462 by Matt.Kuhlenschmidt Fix ensure checking in files through perforce Change 3492491 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3492505 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3492517 by Jamie.Dale The package localization ID is no longer used at all at runtime, and is now truly editor-only This should have always been the case, but it was leaked into manifest/archives/PO files in 4.14, and while 4.15 removed it from PO files it was still present in the manifest/archives. This change removes it entirely (unless gathering editor-only data, and even then the PO file will still collapse the entries together for translation), and the deprecated 4.14 export behavior will now produce an error if you attempt to use it. After taking this change you'll need to run a gather, import, and compile of your LocRes files to update your game localization to use the new localization IDs. Change 3492630 by Nick.Darnell UMG - Removing some extra cleanup code that's probably overkill and is causing a crash for uses of "Within" in class meta. #jira UE-46124 Change 3492692 by Matt.Kuhlenschmidt Fix drop shadows inheriting the outline color of the font. The outline should still appear but not have a different outline color from fill color Change 3492714 by Matt.Kuhlenschmidt Added outline with drop shadow to font automation test Change 3492737 by Matt.Kuhlenschmidt Fix linux Change 3492992 by tim.gautier Resaving Ocean Widget Blueprints / Sequences to resolve Legacy Sequence Data warnings #jira UE-46132 Change 3493089 by Jamie.Dale Ensure that the composite font of a font asset is flushed when the font object is GC'd Change 3493322 by Jamie.Dale Fixing null crash #jira UE-45758 Change 3494467 by Andrew.Rodham Fix Xbox warning Change 3494852 by tim.gautier QAGame: Changed streaming method of QA-EditorSmoke-Landscape to Always Loaded Change 3494853 by Nick.Darnell Another attempt at fixing the automation blueprint SA warning. Change 3494896 by Arciel.Rekman Fix possible null pointer access during Vulkan init. - May fix static analysis warnings in UE-46142, although warnings seem to be referring to something else. #jira UE-46142 Change 3494987 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3495010 by Matt.Kuhlenschmidt Adding additional logging to track down html5 issue Change 3495212 by Michael.Dupuis #jira UE-46143: Properly init the InstanceRenderData during the cooking phase (required by fortnite) Change 3495536 by Jamie.Dale Updating UGameEngine to call its Super::PreExit after performing its own teardown This prevents UEngine cleaning up resources that UGameEngine still needs. #jira UE-46159 Change 3495551 by Arciel.Rekman Another attempt to fix analyzer problem (UE-46142). Change 3495794 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3495905 by Matt.Kuhlenschmidt Fix USD crash when importing a meshwith no material [CL 3499771 by Matt Kuhlenschmidt in Main branch]
2017-06-19 20:27:30 -04:00
LayerId = DrawPlaybackRange(AllottedGeometry, MyCullingRect, OutDrawElements, LayerId, RangeToScreen, PlaybackRangeArgs);
LayerId = DrawSubSequenceRange(AllottedGeometry, MyCullingRect, OutDrawElements, LayerId, RangeToScreen, PlaybackRangeArgs);
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3178529) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3149443 on 2016/10/03 by Max.Preussner MediaAssets: Better parameter names for MediaPlayer BP functions Change 3149756 on 2016/10/03 by Max.Chen Sequence Recorder: Set some settings to be clamped at 0 (sequence length, recording delay, audio gain, audio input buffer size, nearby actor recording proximity) #jira UE-35233 Change 3149795 on 2016/10/03 by Max.Chen Curve Editor: Set tangent to user when flattening or straightening tangents only when the tangent mode is auto and the interp mode is cubic. #jira UE-36734 Change 3150378 on 2016/10/04 by Max.Preussner PS4Media: Made video buffer sizes for file and HLS sources configurable (UE-36807) #jira UE-36807 Change 3151414 on 2016/10/05 by Max.Chen Sequencer: Fix case where restoring the last view target was getting skipped. It should always restore if the camera object and the unlock if camera actor object is null. #jira UE-35285 Change 3152038 on 2016/10/05 by Max.Preussner UdpMessaging: Code & documentation modernization pass Change 3152471 on 2016/10/05 by Max.Chen Cine Camera: Don't enable/disable actor ticking based soley on actor tracking since actor ticking is needed for other purposes. Instead, always enable actor ticking and only update actor tracking on tick if necessary. This fixes a bug where the cine camera actor won't tick if you hook in event tick. #jira UE-36625 Change 3152692 on 2016/10/05 by Max.Preussner Messaging: API code & documentation modernization pass Mostly removed shared pointer/ref typedefs as they prevent forward declarations and increase include complexity. Change 3153824 on 2016/10/06 by Max.Preussner Messaging: Renamed IConnectionBasedMessagingModule to ITcpMessagingModule and moved it into TcpMessaging I recommend that we refactor this API. The dependency should be reversed, i.e. instead of AndroidDeviceDiscovery depending on the TcpMessaging plug-in module, the Engine should provide a central registry that device discovery modules can notify, and that message transport plug-ins can register with and listen to OnConnectionAdded/Removed events etc. That way it supports an arbitrary number of transport plug-ins, and the Engine is not coupled to any of them. This functionality is not necessarily related to messaging, and the Messaging API is transport agnostic anyway. I'll think about this some more. Change 3153826 on 2016/10/06 by Max.Preussner Messaging: Removed remaining typedefs in IMessageTracer to enable forward declaration and reduce include dependencies Change 3153857 on 2016/10/06 by Max.Chen Sequencer: Set snap time to dragged key on by default. Change 3153980 on 2016/10/06 by Max.Preussner SessionServices: Removed typedefs; code and documentation modernization pass Change 3154313 on 2016/10/06 by Max.Chen Sequencer: Set the paste keys time to the current time, rather than the mouse time. Change 3154332 on 2016/10/06 by Max.Chen Sequencer: Remove click to rename shot functionality in the shot thumbnail. Added rename shot to the shot context menu. Change 3154377 on 2016/10/07 by Max.Chen Sequencer: Add ability to step to beginning and ends of sections/shots using the hotkeys: , and . Change 3154788 on 2016/10/07 by Max.Chen Sequencer: Fix offsets that created when moving multiple sections. The offsets were being created because section bounds were being generated for all sections except for the current section. Instead, they should be computed for all sections except for any that aren't being moved. #jira UE-29152 Change 3159274 on 2016/10/11 by Max.Preussner Core: Documentation fixes Change 3159275 on 2016/10/11 by Max.Preussner UdpMessaging: Added missing header Change 3160746 on 2016/10/12 by Max.Preussner MediaAssets: Added BP functions to query width, height, and aspect ratio of UMediaTexture instances #jira UE-37241 Change 3160975 on 2016/10/12 by Max.Preussner PS4Media: Better logging for SetRate failures Change 3160995 on 2016/10/12 by Max.Preussner MediaPlayerEditor: Fixed Media player selection is ignored if media specifies player overrides (UE-37248) #jira UE-37248 Change 3161066 on 2016/10/12 by Max.Preussner PS4Media: Enforcing minimum 8 byte alignment for media allocations Change 3161069 on 2016/10/12 by Max.Preussner PS4Media: Fixed log spam when setting play rate to current rate Change 3162567 on 2016/10/13 by Max.Preussner PS4Media: Made track switching code more readable Change 3163447 on 2016/10/14 by Max.Preussner PS4Media: Fixed array out of bounds assertions Change 3163772 on 2016/10/14 by Max.Preussner MfMedia: Fixed a number of timing related issues Change 3163980 on 2016/10/15 by Max.Chen Sequencer: Remove folder name numeric padding so that the naming convention is similar to creating objects in the level. Change 3164581 on 2016/10/17 by Andrew.Rodham Sequencer: Ensure global pre-animated state is restored in reverse order Change 3164582 on 2016/10/17 by Andrew.Rodham Sequencer: Ensure pre animated state is restored for all actor components before saving default state Change 3164583 on 2016/10/17 by Andrew.Rodham Sequencer: Re-enabled support for pre and post roll Change 3165464 on 2016/10/17 by Max.Chen Sequencer: Default number frame handles to 0 so that there's no change in behavior when rendering out a master sequence of shots. Handle frames need to enabled explicitly by the user. Copy from Release-4.14 #jira UE-37416 Change 3165483 on 2016/10/17 by Max.Chen Sequencer: Enable restore state for attach section completion Change 3165771 on 2016/10/18 by Andrew.Rodham Sequencer: Force evaluate when rendering thumbnails #jira UE-37321 Change 3166057 on 2016/10/18 by Andrew.Rodham Sequencer: Only set defaults for tracks that have no keys, and where the requested default has changed #jira UE-37285 Change 3166218 on 2016/10/18 by Max.Preussner MediaPlayerEditor: Failure opening media, even though it opened successfully (UE-37470) #jira UE-37470 Change 3166247 on 2016/10/18 by Max.Preussner WmfMedia: Showing progress bar while media is being resolved Change 3166289 on 2016/10/18 by Max.Preussner MfMedia: Showing progress bar while media is being resolved Change 3166993 on 2016/10/18 by Max.Preussner MfMedia: Fixed info string not reset on media close. Change 3166999 on 2016/10/19 by Max.Preussner Media: Fixed NV12 and NV21 support Change 3167008 on 2016/10/19 by Max.Preussner Media: Removed vertical NV12 alignment Change 3167029 on 2016/10/19 by Max.Preussner WmfMedia: Temp fix for RGB32 encoded AVIs rendering upside-down and too bright (UE-37505) #jira UE-37505 Change 3168593 on 2016/10/19 by Max.Chen Sequencer: Change paste at time to local time, so that the paste happens in the local time of the sequence rather than the global time if pasting in a shot level sequence. Change 3168626 on 2016/10/19 by Max.Chen Sequencer: Clamp to view bounds should snap to frame if frame snapping is on. Change 3168627 on 2016/10/19 by Max.Chen Sequencer: Initialize working and view range to be 10% larger than playback range. Change 3168760 on 2016/10/20 by Max.Preussner Media: Revamped media texture buffer management to support padded frames Added support for Windows bitmap buffers. Fixed a number of format, conversion and/or looping issues in WmfMedia and MfMedia. Not all shaders have been updated yet. Change 3169640 on 2016/10/20 by Max.Chen Sequencer: Add current camera to FLevelSequencePlayerSnapshot. Adjust DefaultBurnIn to include a few more parameters like focal length and focus distance. #jira UE-37407 Change 3170677 on 2016/10/21 by Max.Chen Movie Scene Capture: Add toggle to override engine scalability settings to cinematic scalability. #jira UE-36560 Change 3170710 on 2016/10/21 by Max.Preussner Media: Optimized handling of RGB input Change 3170712 on 2016/10/21 by Max.Preussner Media: Fixed NV21 conversion shader scaling Change 3170923 on 2016/10/21 by Max.Preussner UBT: Copied XboxOne project generator fix from Fortnite CL# 3170868 Change 3171494 on 2016/10/23 by Max.Chen Sequencer: Fix fbx export from master sequence not finding bound objects. #jira UE-35752 Change 3171506 on 2016/10/23 by Max.Chen Sequencer: Draw where in and out points of the shot section are, just like subsequences do. Change to only draw the green starting line if StartOffset is negative. #jira UE-35473 Change 3171743 on 2016/10/24 by Andrew.Rodham Editor: Added support for detail customizations on root structs - Also added the ability to add external struct data onto a detail category builder, and property type customization. Change 3171752 on 2016/10/24 by Andrew.Rodham Sequencer: Fixed spawnable ownership - Spawnables are no longer destroyed when the cursor leaves the master playback range. - Spawnable ownership now operates as it previously did before the evaluation rework. - bIgnoreOwnershipInEditor has been removed since its existence was a work around for when we didn't evaluate sub sequences from the master sequence. - FMovieSceneSequenceID is now a struct so that it can be used in array properties - Meta data now exists for each segment of an evaluation field. Currently this only includes the sub sequence IDs that exist at that time, but it may be expanded to include all evaluation entities (tracks + sections) in future so we don't have to calculate that at runtime. Change 3171756 on 2016/10/24 by Andrew.Rodham Sequencer: Added ability to trigger events with parameters - It's now possible to supply an event payload on event track keys which are to be passed to a given event. The structure must match the signature of the event, or a warning will be emitted. - Added a templated TGenericKeyArea, TKeyFrameManipulator and TCurveInterface that allow to generic manipulation of keyframe section data. In time we will port the other key areas over to this representation. - This new architecture affords the common manipulation of time-based keyframes in a value-agnostic manner. Change 3172935 on 2016/10/24 by Max.Preussner MediaPlayerEditor: Fixed MediaPlayer asset not being dirtied when creating media sound wave or texture for it Change 3173947 on 2016/10/25 by Max.Preussner SlateRemote: Disabled plug-in, but enabled server by default Change 3174510 on 2016/10/26 by Max.Chen Sequencer: Fix slomo track crash #jira UE-37802 Change 3174698 on 2016/10/26 by Andrew.Rodham UMG: Fixed objects bound to a panel slot animating their slot's content instead of the slot itself #jira UE-37775 Change 3174780 on 2016/10/26 by Max.Preussner MediaAssets: Accepting decoder defined buffer dimensions for RGB buffers Change 3174789 on 2016/10/26 by Max.Preussner MediaPlayerEditor: Showing desired player name instead of current player name if no media loaded Change 3174817 on 2016/10/26 by Max.Preussner WmfMedia: Added support for Motion JPEG (MJPG) Change 3174825 on 2016/10/26 by Max.Preussner WmfMedia: Added support for non-RGB32 uncompressed formats Change 3174834 on 2016/10/26 by Max.Preussner MediaPlayerAssets: Allow pausing while buffering media Change 3174886 on 2016/10/26 by Andrew.Rodham Core: Fixed range test that was testing incorrect behavior Change 3174889 on 2016/10/26 by Andrew.Rodham Sequencer: Fixed AssignActor behavior - Also ensure that cached object state is invalidated when playback context changes #jira UE-37798 Change 3174905 on 2016/10/26 by Andrew.Rodham Sequencer: Changed assert when failing to create an audio component to a log message - Audio no longer plays when GEngine->UseSound() is false #jira UE-37772 Change 3174980 on 2016/10/26 by Andrew.Rodham Sequencer: Remove warning when event endpoint could not be found for a given context #jira UE-37824 Change 3175001 on 2016/10/26 by Andrew.Rodham Sequencer: Evaluate sequence with EMovieScenePlaybackStatus::Jumping on Pause. - Also protect Pause() against reentrancy when being called from an event Change 3175012 on 2016/10/26 by Max.Chen Sequence Recorder: Fixes an empty working and view range after recording. On StopRecording() update playback range after nullifying the current sequence so that the playback range isn't empty. Added SetViewRange and SetWorkingRange. #jira UE-34191 Change 3177760 on 2016/10/28 by Max.Chen Sequence Recorder: Don't update the current sequence name if it's already set. This fixes a bug where if you pass in a sequence name to record to, it gets reset to the name in the sequence recorder settings. #jira UE-37808 Change 3178529 on 2016/10/28 by Max.Chen Matinee to Level Sequence: Added interface to extend the matinee to level sequence converter #jira UE-37328 #2864 [CL 3178562 by Max Chen in Main branch]
2016-10-28 15:04:38 -04:00
PlaybackRangeArgs.SolidFillOpacity = 0.05f;
Copying //UE4/Dev-Editor to //UE4/Dev-Main (Source: //UE4/Dev-Editor @ 3497164) #lockdown Nick.Penwarden #rb none ===================================== MAJOR FEATURES + CHANGES ===================================== Change 3433074 by Matt.Kuhlenschmidt Fix crash when clicking on certian tutorial blueprints. #jira UE-44593 Change 3433075 by Matt.Kuhlenschmidt Remove hittest grid log spam. The underlying problem causing this has been fixed Change 3433077 by Matt.Kuhlenschmidt Fix lighting becoming unbuilt when mesh painting #jira UE-44837 Change 3433081 by Matt.Kuhlenschmidt PR #3553: Crashfix for static array properties (Contributed by Pierdek) Change 3433104 by Alexis.Matte Make sure re-import skeletal mesh follow the import morph option #jira UE-42846 Change 3434825 by Matt.Kuhlenschmidt Fix crash when GC happens while the vr editor radial menu is open. Change 3434831 by Matt.Kuhlenschmidt Added missing file Change 3434868 by Shaun.Kime If you have a reroute node between a Material Function texture input and its usage, the parent material will fail to resolve the reroute node. #jira ue-44670 Change 3434998 by Alexis.Matte Meshes editors material/section panel are now fully transactional - Staticmesh editor: section material slot, section cast shadow, section collision, material slot instance, material slot name - Skeletal mesh editor: material slot instance, material slot name Also fix some transaction description #jira UE-44462 Change 3435195 by Jamie.Dale Fixed incorrect handling of some LTR scripts that require shaping These scripts need to go through HarfBuzz, and this also fixes a case where HarfBuzz wasn't applying font scale correctly. #jira UE-44767 Change 3435199 by Jamie.Dale Fixed some crashes/artifacts with bidirectional text It was possible for a line to compute an incorrect range, which could cause crashes or other highlighting issues. The highlighting logic has also been updated as the old code didn't handle all bidirectional cases correctly. Change 3435200 by Jamie.Dale Fixed a grapheme cluster metrics issue in the font editor viewport The viewport also now respects the default shaping method CVar. Change 3435771 by Alexis.Matte Fix degenerated bounds calculation for skeletalmesh when the skeleton is remove from a re-import (PhysicAsset API change, adding 1 function) #jira UE-44609 Change 3436856 by Jamie.Dale Added some missing Unicode block ranges Change 3436914 by Jamie.Dale Adding some missing combining character ranges to the text shaper Change 3436923 by Alexis.Matte PR #3463: Get bounds for all triangles, not just the first one. WedgeIndex was . (Contributed by DaveC79) #jira UE-43764 Change 3436948 by Jamie.Dale Updated the Portal to use the predefined Unicode block ranges Change 3436961 by Max.Chen Sequencer: Show camera shake/anim track menus even if there aren't any assets. Change 3437244 by Max.Chen Sequencer: Clear locked cameras when releasing Sequencer. #jira UE-44967 Change 3437515 by Arciel.Rekman UBT: improvements for LocalExecutor. - Larger number of parallel jobs on 16GB+ machines. - Use WaitForExit() instead of polling. - Tested on Linux and Mac. Change 3437629 by Matt.Kuhlenschmidt Improve asset import data display in static and skeletal meshes Change 3438047 by Arciel.Rekman Fix overlapping ranges being passed to memcpy(). Change 3438822 by Yannick.Lange ViewportInteraction: Move gizmo handle files to make them private. Change 3438906 by Matt.Kuhlenschmidt PR #3556: Git Plugin: fix new option "init Git LFS" that make assets read-only (master/UE4.17) (Contributed by SRombauts) Change 3438907 by Matt.Kuhlenschmidt PR #3565: add -quality option to buildlighing commandlet (Contributed by kayama-shift) Change 3438908 by Matt.Kuhlenschmidt PR #3558: UE-44862: Always update SColorPicker color on OK button (Contributed by projectgheist) Change 3439393 by Matt.Kuhlenschmidt Force highest LOD for highres screenshots Change 3439819 by Matt.Kuhlenschmidt Turned FAssetData into a struct for some upcoming script exposure of FAssetData Change 3439949 by Arciel.Rekman Fixed selection logic for the UE4_LINUX_USE_LIBCXX environment variable. - Allows disabling libc++ by setting the variable to 0. - Pull request #3576 contributed by jared-improbable. Change 3441078 by Jamie.Dale The culture/language/locale console commands are now available in all build configs Change 3441109 by Jamie.Dale Text containing surrogate pairs now runs through HarfBuzz when shaping in Auto mode This is needed as the kerning-only shaping code assumes that everything is within the BMP Change 3441275 by Matt.Kuhlenschmidt Disable spinning on location and scale. These dont work because we have no notion of infinite spinning Change 3442748 by Yannick.Lange ViewportInteraction: Remove unused console variables. Change 3442775 by James.Golding Add support for editing MaterialFunctions to MaterialEditingLibrary Pull Material recompile/update code into UMaterialEditingLibrary::RecompileMaterial Pull MaterialFunction update code into UMaterialEditingLibrary::UpdateMaterialFunction util Move RebuildMaterialInstanceEditors to UMaterialEditingLibrary Added test content for Material/MaterialFunction editing Add needed BlueprintReadWrite to expressions (constants, function input/output) Expose UMaterialExpressionMaterialFunctionCall::SetMaterialFunction to BP, rename old func (which takes old function) to SetMaterialFunctionEx, also expose GetInputNameWithType Change 3442779 by James.Golding Fix header order Change 3442817 by Yannick.Lange ViewportInteraction: Add can execute checks for level editor commands. Change 3443038 by Michael.Dupuis #jira UE-43377: When you select a foliage actor we will move all instance contained in it to the new level as we can't move a foliage actor Only permit moving foliage instance if there is some selected Change 3443855 by Michael.Dupuis #jira UE-44885: Unregister from PerModuleDataObjects when the object is destroyed Change 3446096 by Max.Chen Sequencer: Add OnFinished() event when a level sequence completes playback #jira UE-45173 Change 3446097 by Max.Chen Sequencer: Evaluate one last time before the sequence is torn down and reset #jira UE-45174 Change 3446242 by Jamie.Dale Fixed caret not appearing in empty text layouts Caret selections have no range, and therefore have no width Change 3446361 by Matt.Kuhlenschmidt Fix WITH_EDITOR only functions causing generated code compile errors when the all functions on the class are WITH_EDITOR Change 3446457 by Alexis.Matte Polish the speed tree import dialog #jira UE-44963 Change 3446946 by Michael.Trepka Modified FWindowsWindow::GetRestoredDimensions to return correct window position for normal windows for which GetWindowPlacement returns position in workspace coordinates #jira UE-37934 Change 3447543 by Arciel.Rekman Reduce VMAs on Linux. - Trades off increased address space (VIRT in terms of ps/htop) for smaller number of distinct mappings (VMAs, virtual memory areas). This decreases possibility to run into vm.max_map_count limit on Linux. - Tested on Linux and Mac. Change 3448468 by Arciel.Rekman Fix race condition during creation of GMalloc. - On Mac GMalloc can be created on two different thread that are racing with each other - app's main thread and a system thread. Change 3449012 by Max.Chen Sequencer: Add time to transform, color and vector key structs so that key times are editable from the key editors. #jira UE-45089 Change 3449018 by Max.Chen Sequencer: Add OnCameraCut event that fires when there is a camera cut. #jira UE-45137 Change 3449195 by Max.Chen Sequencer: Add setting for limit scrubbing to playback range. #jira UE-43502 Change 3449198 by Max.Chen Sequencer: Reorder hierarchical bias so that group priority takes precedence. Change 3449217 by Max.Chen Sequencer: Add setting to activate realtime viewports when in sequencer. Change 3449219 by Max.Chen Sequencer: Focus on search boxes when opened. Change 3449238 by Max.Chen Sequencer: Assign actor should replace the actor itself after it has updated all the components. Also, replace components be fullname rather than by class. Change 3449239 by Max.Chen Sequencer: Fix offsets when moving multiple sections. Dragging should be clamped to the bounds that any of the selected sections hits against the unselected sections. Change 3449241 by Max.Chen Sequencer: Restore section selection after full tree rebuild. Change 3449279 by Max.Chen Sequencer: Set movie scene capture frames only when not using custom frames. This allows the user entered frame numbers to persist in config, rather than overwriting them when doing a "Render Shot" Change 3449280 by Max.Chen Sequencer: Spawn in the persistent level. Otherwise, they get spawned into whatever sublevel is current. #jira UE-44552 Change 3449294 by Max.Chen Sequencer: Null check for sequencer ed mode crash. Change 3449297 by Max.Chen Sequencer: Fix delay in sliding values. Mark changed when sliding values. Mark refresh immediately when committing values since OnValueChanged will be called and needs to have the correct value that was refreshed immediately. #jira UE-42866 Change 3449542 by Max.Chen Sequencer: Fix scrubber hit testing so that the time scrubber is really favored over the playback ranges. #jira UE-44569 Change 3451507 by Matt.Kuhlenschmidt Fix extra slate uv coords not functioning on ES2 Change 3451510 by Matt.Kuhlenschmidt PR #3595: Fixed wrong colour for level status (Contributed by ronve) Change 3451529 by Alexis.Matte fbx scene importer: Make sure we set INVALID_UNIQUE_ID to node that has no attribute. #jira UE-34410 Change 3451611 by Yannick.Lange ViewportInteraction: Dragging gizmo without second pass for snapped calculations. Change 3452134 by Jamie.Dale Fixed constant font cache flushing if a widget had no font set Change 3452239 by Jamie.Dale Fixed constant font measure flushing if a widget had no font set Change 3452243 by Jamie.Dale Removed deprecated code for creating fonts from bulk data Change 3452277 by Jamie.Dale The concept of "stale" composite fonts is now editor-only Change 3452358 by Alexis.Matte Fbx scene importer: Do not remove existing attribute reference from the blueprint if the reimport of the associate mesh attribute is not tick. #jira UE-45232 Change 3452678 by Max.Chen Sequencer: Fix crash on export if there's no shot data. Change 3453057 by Matt.Kuhlenschmidt Exposed asset exporting to script Change 3453782 by Andrew.Rodham Sequencer: Fixed deterministic cooking issues with movie scene data - Movie scene signatures are now initialized in PostInitProperties - A warning is now presented when attempting to cook old data that was never serialized with a signature. - Removed redundant legacy data upgrade logic that could dirty level sequences on load. #jira UE-44912 Change 3453788 by Yannick.Lange ViewportInteraction: Custom scene proxy for gizmo handles. Change 3453938 by Max.Chen Sequencer: Hotkeys (shift , and shift .) to step to next/previous shot #jira UE-45119 Change 3454058 by Michael.Dupuis Fixed StaticAnalysis Change 3454077 by Max.Chen Sequencer: Fix not saving the pre-animated track value when creating a track/key. On pre object change, broadcast property change so that a track or key can be created. That track/key needs to be evaluated immediately so that the pre-animated state can be saved properly. This is done now with RefreshAllImmediately and is only called when a track has been created. Also, added a return value for OnKeyProperty, so that it's known what changed in particular (ie. track created, track modified, etc) Also, fixed transform keying so that if a transform track already exists for the object or the scene component, the existing track is used. #jira UE-45130 Change 3454108 by Nick.Darnell UMG - Fixing the WIC to properly record cursor delta so that scrollbars work. Change 3454109 by Jamie.Dale Cache the text layout source info in non-shipping builds so you can inspect it in the debugger Change 3454202 by Matt.Kuhlenschmidt Fix bogus error message about the number of usable texture coordinates on ES2 when compiling a UI domain material Change 3454390 by Yannick.Lange Fix creating a plugin in a C++ project opens a second instance of Visual Studio. Use SourceCodeAccessor to open solution when necessary. #jira UE-45035 Change 3454564 by Matt.Kuhlenschmidt #rnx Fix deprecation warnings Change 3455471 by Yannick.Lange ViewportInteraction: Fix entering and exiting VR Mode disables gizmo in desktop editor viewport. #jira UE-44965 Change 3456183 by Max.Chen Sequencer: Auto key, auto track refactor. Auto key - create a key when the property changes and there's an existing track. Auto track - create a track when the property changes. This is only exposed in the level sequence editor. All - create a key and a track when the property changes. This is only exposed in VR Editor. None - do nothing. #jira UE-43469 Change 3456349 by Andrew.Rodham Sequencer: Only perform legacy signature checks on instances, and only where signatures match the CDO Change 3456678 by Alexis.Matte Allow to add null level instance override material via the advance material array. But still limit the override material number to the mesh material number. #jira UE-45306 Change 3456945 by Max.Chen UMG: Add restore state to 2d transform section. #jira UE-45372 Change 3457196 by Arciel.Rekman Linux: serialize allocations from the memory pool. Change 3458434 by Max.Chen Sequencer: Remove obsolete set tick prerequites functions. Change 3458671 by James.Golding Added MIC editing support to MaterialEditingLibrary Fix static analysis warning Change 3458888 by Matt.Kuhlenschmidt PR #3615: More detailed log messages for debugging warnings/errors (Contributed by projectgheist) Change 3458893 by Matt.Kuhlenschmidt PR #3583: UE-44960: Delta value wasn't being used (Contributed by projectgheist) Change 3458895 by Matt.Kuhlenschmidt Fix typo Change 3458902 by Matt.Kuhlenschmidt PR #3607: Improved InputKeySelector functionality (Contributed by projectgheist) Change 3458917 by Matt.Kuhlenschmidt Fix crash with invalid object properties in the class picker #jira UE-39000 Change 3458939 by Matt.Kuhlenschmidt Fix compile error Change 3458984 by andrew.porter QAGame: Initial check in of sequencer smoke test map Change 3459510 by Matt.Kuhlenschmidt Fixed ensure when deleting a map that contains build data which also happens to be the currently loaded map. #jira UE-45052 Change 3460985 by Max.Chen Sequencer: Snap play time to keys now allows scrubbing between keys and snaps to key times within a certain screenspace tolerance. #jira UE-45090 Change 3461698 by Arciel.Rekman Avoid using ARRAY_COUNT in Vulkan. - Sometimes those arrays can have no extensions whatsoever, and it is illegal to declare a 0 element C array. Change 3462053 by Max.Chen Sequencer: Show sequencer spawnables in the world outliner and add the icon overlay for spawnables. #jira UE-43470 Change 3462139 by Max.Chen Property Editor: Add objects to FPropertyAndParent Change 3462202 by Arciel.Rekman Fix FSocket::Recv() blocking with Peek when there's no data. Change 3462253 by Nick.Darnell Slate - New Clipping System Clipping is now a stateful choice made during composition of the slate hierarchy. Previously every widget got to respect or modify the clipping rect on an as needed basis. The problem was that clipping was only allowed in the layout space of the widget, and it wasn't possible to properly clip elements with render transforms. The new system permits all kinds of transforms on any widget, and they will all be clipped correctly. It tries to use Scissor Rects as they are much cheaper, but will switch over to stenciling if need be to represent a complicated masking structure with several rotated clipping rects all needed to be combined together. Here are the new clipping states a widget can have, almost all widgets are set to No. Only change it from No if your widget actually needs to clip, generally speaking most widgets don't need to clip. /** * This widget does not clip children, it and all children inherit the clipping area of the last widget that clipped. */ Inherit, /** * This widget clips content the bounds of this widget. It intersects those bounds with any previous clipping area. */ ClipToBounds, /** * This widget clips to its bounds. It does NOT intersect with any existing clipping geometry, it pushes a new clipping * state. Effectively allowing it to render outside the bounds of hierarchy that does clip. * * NOTE: This will NOT allow you ignore the clipping zone that is set to [Yes - Always]. */ ClipToBoundsWithoutIntersecting UMETA(DisplayName = "Yes - Without Intersecting (Advanced)"), /** * This widget clips to its bounds. It intersects those bounds with any previous clipping area. * * NOTE: This clipping area can NOT be ignored, it will always clip children. Useful for hard barriers * in the UI where you never want animations or other effects to break this region. */ ClipToBoundsAlways UMETA(DisplayName = "Yes - Always (Advanced)"), /** * This widget clips to its bounds when it's Desired Size is larger than the allocated geometry * the widget is given. If that occurs, it behaves like [Yes]. * * NOTE: This mode was primarily added for Text, which is often placed into containers that eventually * are resized to not be able to support the length of the text. So rather than needing to tag every * container that could contain text with [Yes], which would result in almost no batching, this mode * was added to dynamically adjust the clipping if needed. The reason not every panel is set to OnDemand, * is because not every panel returns a Desired Size that matches what it plans to render at. */ OnDemand UMETA(DisplayName = "On Demand (Advanced)") - Large API Change - All FSlateDrawElement::Make_____ calls have been deprecated that involved passing in a clipping rect. You no longer should are passed a Clipping rect via OnPaint. You are still passed a rect, but this rect represents a Culling Rect, which is valuable if you need to just out right not paint things the user can't possibly see. If you were previously trying to determine if you should cull widgets, by doing something like this, if ( FSlateRect::DoRectanglesIntersect(MyClippingRect, CurWidget.Geometry.GetRenderBoundingRect()) ) That's no longer a good option since there are ways for widgets to ignore the culling bounds. You should convert anything like above to the one below, if (!SWidget::IsWidgetCulled(MyCullingRect, CurWidget)) To assist in debugging efforts, there are several new debugging console flags in Slate, Slate.ShowClipping 1 - Controls whether we should render a clipping zone outline. Yellow = Axis Scissor Rect Clipping (cheap). Red = Stencil Clipping (expensive). Slate.DebugCulling 1 - Disables pushing clipping or stencil rects to the GPU, but continues to intersect culling rects, so that you can tell if a widget is properly culling children it can't possibly draw. Slate.ShowTextDebugging 1 - Show debugging painting for text rendering. I've added a new Experimental Feathering Option, it adds AA geometry around the outside of Box and Image brushes. Slate.Feathering 1 If you're using RenderDoc or something similar, you can now enable render events for slate, so that you can better grok how we're batching and changing states for each UI render pass. Slate.EnableDrawEvents 1 #jira UE-4659 #rn Change 3462714 by Nick.Darnell Fixing a few more compiler issues with the clipping changes. Change 3462726 by Max.Chen Switch OnEditStructChildContentsChanged to use FObjectWriter instead of FMemoryWriter which supports serializeing UObjects. This fixes a crash when adding actor array elements to a user defined event struct. #jira UE-45431 Change 3462801 by Nick.Darnell Adding a UMG dependency to EngineTestBuild. Change 3462914 by Max.Chen Sequencer: Fix regression where spawnables aren't getting saved. Caused by 3407138 #jira UE-30007 #jira UE-39003 Change 3462946 by Nick.Darnell Automation - Tweaking the UI automation tests converting them over to use the new UI Screenshot automation test. Automation - Adding a blur widget test. Change 3462987 by Matt.Kuhlenschmidt Back out changelist 3458893 Change 3464774 by Matt.Kuhlenschmidt PR #3629: Bugfix: Missing small icon in Project Launcher profile editor (Contributed by aarmbruster) Change 3464785 by Nick.Darnell Fixing some clipping stuff in the editor. Change 3464830 by andrew.porter QAGame: Second pass on sequencer smoke test map Change 3464902 by Nick.Darnell Loading - Adding some additional checks to the the loading code to ensure we're on the main thread. Additionally adding a fix from UDN that prevents deadlocks in the rare case a user hits Alt+Tab in a fullscreen game while in a hard loading screen. Change 3464988 by Max.Chen Sequencer: Add attenuation settings for attached audio components. #jira UE-33080 Change 3465024 by Nick.Darnell MoviePlayer - Impoving the playback mode displaynames. Change 3465074 by Arciel.Rekman Fix shadowing issues of GraphicsPSOInit. Change 3465097 by Matt.Kuhlenschmidt Some refactoring of the details panel Exposed new methods of adding a struct on scope to a details panel and have it work properly with customizations. The scruct on scope has a "fake" ustructproperty that allows the details panel to show the whole struct not just an individual property. Refactored the API for adding rows to details panels to make it more consistent\ AddChildCustomBuilder->AddCustomBuilder AddChildGroup->AddGroup AddChildContent->AddCustomRow AddChildPropert->AddProperty AddChildStructure->AddExternalStructureProperty AddStructure->AddAllExternalStructureProperties AddExternalProperty->AddExternalObjectProperty or AddExternalStructureProperty Change 3465186 by Max.Chen Sequencer: Save the BindingID in the pre animated token producer so that it can be destroyed properly. This fixes a bug where the default state of a spawnable isn't saved. #jira UE-43780 Change 3465315 by Matt.Kuhlenschmidt Fix Fortnite and Orion details panel customization warnings Change 3465424 by Nick.Darnell Automation - Moving the step for setting the link to the automation reports to be set before we start the engine. Change 3465488 by Nick.Darnell Automation - Forcing textures to load before taking screenshot, so that the scene gets another opportunity to render before we render with Slate. This should fix the Blur UI Test. Change 3466277 by Arciel.Rekman Linux: fix window drift when dragging (UE-40380). - Change by Cengiz Terzibas. Change 3466370 by Nick.Darnell UMG - Fixing the colors for the resize handle in the designer. Change 3466372 by Nick.Darnell UMG - Fixing the ruler ticks sometimes not being drawn. Change 3466374 by Nick.Darnell UMG - Fixing the designer showing multiple options for sequencer. Change 3466377 by Nick.Darnell UMG - Cleaning up some clipping bits. Change 3467025 by Andrew.Rodham Re-saving assets that contain legacy (<4.15) movie scene data to remove deterministic cook warning. If conflicts arise during merging of these assets, please ignore the changes made in dev-editor, and accept game-side changes. (CIS step 62283298, jobId 7773146) (CIS step 62283297, jobId 7773146) Change 3467099 by Max.Chen Fix GetObjectPropertyClass ensure logic. This was returning UObject::StaticClass when valid. Change 3467172 by Max.Chen Sequencer: Evaluation optimizations. Also, fixes subsequences not getting expired, leaving dangling spawnables. #jira UE-43690 Change 3467192 by Matt.Kuhlenschmidt Fix transactions getting stuck in the color grading controls. This prevents PIE from working properly and causes shutdown crashes #jira UE-45527 Change 3467251 by Yannick.Lange ViewportInteraction: Fix scale and rotation snap while dragging with two lasers. #jira UE-43489 Change 3467331 by Matt.Kuhlenschmidt Fix D3D shader compiler hard coding shader path and not giving proper warnings when it cannot find the shaders Change 3467335 by Matt.Kuhlenschmidt Remove DarkStyle attribute from SNumericEntryBox and allow a spin box style to be passed to it. Change 3467558 by Max.Chen Scene Outliner: Generic support to add default columns to a scene outliner. Change 3467565 by Jamie.Dale Removing old screenshot data for test Change 3467589 by Nick.Darnell Editor - Random cleanup. Change 3467596 by Nick.Darnell Progress Bar - Exposing Border Padding to UMG. Change 3467600 by Nick.Darnell Slate - Adjusting the rendering of the splitter, previously it could be off by a pixel or two, which becomes more apparent now with the clipping changes. Change 3467601 by Max.Chen Property Editor: Fix static analysis warning Change 3467662 by Nick.Darnell Automation - Fixing a bug with the screenshot comparison tool not replacing (removing) the old screenshot data. Change 3467674 by Max.Chen Property Editor: Fix static analysis warning Change 3467737 by Max.Chen Sequencer: Added OnMovieSceneBindingsChanged delegate Change 3468053 by tim.gautier QAGame: Updating Editor Smoke Map - Updated landscapes into Stations for testing - Added Foliage Sublevel Change 3468194 by Arciel.Rekman Linux: fix problems communicating with various STL-using libs. - Stop hiding global new/delete signatures. - Disable CEF3 since this change uncovers the problem with libcef.so not built to use bundled libpng. Change 3468678 by Max.Chen Sequencer: Set "Sequencer Actor" tag before setting the actor label so that the outliner refreshes after the actor has the tag. Change 3469314 by tim.gautier QAGame: Added Painted Foliage / Spline section to EditorSmoke map Change 3469377 by Nick.Darnell Slate - Fixing some warnings in a couple of sample games due to the clipping changes. #rnx Change 3469767 by Max.Chen Sequencer: Outliner column and sequencer binding data #jira UE-43470 Change 3469974 by Arciel.Rekman Fix code projects not working in Linux installed build. Change 3470082 by Nick.Darnell Slate - The GetRenderer() call on SlateApplication no longer returns a SharedPtr, rather than convert it to a thread safe ptr, going to just make accessing it a raw ptr return, so it can be safely referenced on the game thread while being used on the slate loading thread. Change 3470174 by Nick.Darnell Slate - Get the last widget in a widget path utility. Change 3470176 by Nick.Darnell UMG - User Widgets now have an easy way to know if they're part of or have been removed from the focused widget path, which is handy for doing effects. Change 3470261 by Nick.Darnell Slate - The GetRenderer() call on SlateApplication no longer returns a SharedPtr, rather than convert it to a thread safe ptr, going to just make accessing it a raw ptr return, so it can be safely referenced on the game thread while being used on the slate loading thread. Change 3470286 by Max.Chen Sequencer: Scene Component's HiddenInGame now goes through the VisibilityTrack and the visibility template. Change 3470366 by Nick.Darnell Slate - We now version focus per user, that way during focus events, we can safely abort focus events and state transitions if someone interrrupts the active focus event with something new. Change 3470649 by Matt.Kuhlenschmidt Fix deprecation warnings Change 3470695 by Matt.Kuhlenschmidt Fixed typo #jira UE-45580 Change 3470721 by Matt.Kuhlenschmidt Fix static analysis Change 3471254 by Michael.Dupuis #jira UE-42952: Keep occlusion result per view Change 3471287 by Nick.Darnell UMG - Render Focus Rule now defaults to never. Change 3471291 by Nick.Darnell Slate - Fixing FSlateRenderer* change fallout. Change 3471299 by Nick.Darnell Slate - Fixing FSlateRenderer* change. Change 3471323 by Nick.Darnell Automation - Fixing automation and Static Analysis warning. Change 3471413 by andrew.porter QAGame: Added test content for anim blending and material parameteres to sequencer smoke level Change 3471649 by Max.Chen Sequencer: Modify the track when adding animation #jira UE-45618 Change 3471659 by Matt.Kuhlenschmidt Added a way to check if a movie is playing from the engine. Prevented viewport redraws for canvas loading screens if a slate based loading movie is playing Change 3471734 by Matt.Kuhlenschmidt Added basic material hookup to USD. Similar to FBX it will find materials based on rules specified by the user in the import settings Change 3472176 by Nick.Darnell UMG - Improving the display of the +Track menu in sequencer for UMG. Renamed it from +Add, which is repetitve to +Track. Additionally, the dropdown now shows the currently selected widgets, as well as a submenu containing all the 'important' widgets, so we no longer populate that list with a ton of irrelevant widgets that are just Buton_1 - N, which is pointless in showing people, they'll never guess which is the right button. Change 3472740 by Max.Chen Sequencer: Add GetThisFrameMetaData accessor Change 3472748 by Max.Chen Sequencer: Added OnBeginScrubbing and OnEndScrubbing event delegates Change 3472753 by Max.Chen Sequencer: Add EMovieSceneDataChangeType parameter to OnMovieSceneDataChanged delegate Change 3472870 by Nick.Darnell Clipping - Fixing the deprecated tip for scissor rect boxes to be correct. Removing it's usage from UT. Change 3473340 by Max.Chen Scene Outliner: Add ability to register additional filters Change 3473348 by Max.Chen Details View: Make ForceRefresh virtual. Added accessors to delegates (ie. GetIsPropertyReadOnlyDelegate) Change 3473441 by Max.Chen Sequencer: Autokey Refactor Part 2. Autokey is now a single toggleable state. Allow Edits Mode has 3 states: Allow All Edits - Allow any edits to occur, some of which may produce tracks/keys or modify default properties. Allow Sequencer Edits Only - All edits will produce either a track or a key. Allow Level Edits Only - Properties in the details panel will be disabled if they have a track. #jira UE-45229 Change 3473670 by Nick.Darnell Modules - The module manager no longer returns sharedptrs to IModuleInterfaces, this was the source of rare hard to track down crashes due to a shared ptr reference leak when GetModule was called on non-main threads. We now store a TUniquePtr internally, and only lease out raw pointers. #rn Change 3473711 by Nick.Darnell Disabling the ensure in the module manager. Change 3473747 by Max.Chen Sequencer: Fix tooltip Change 3474091 by Jamie.Dale Added a warning when cooking a UFontFace that is outered to a UFont asset These cause issues with iterative COTF, and should be split off into their own assets (as the UI has been asking people to do for several versions) Change 3475052 by Yannick.Lange VR Editor: Fix Crash when quitting the editor with VR Mode enabled. VR Editor was being enabled when saving the map on closing the editor. #jira UE-45415 Change 3475054 by Yannick.Lange Fix crash when adding a camera to the world in VR Mode the second time. The slate application did not reset when stop dragging in VR Mode, so the second time when starting to drag a camera out of the UI it would already by in a dragging state. #jira UE-45574 Change 3475263 by Nick.Darnell Fixing some additional cases of IModuleInteface SharedPtr usage. Change 3475268 by Max.Chen Sequencer: Set jumped state when looping playback. This fixes an issue where audio doesn't stop and restart when looped. #jira UE-45654 Change 3475269 by Max.Chen Scene Outliner: Additional filters should only apply to actor browsing mode Change 3475407 by Nick.Darnell Fixing some clipping / module shared ptr changes in the launcher code. Change 3475542 by Max.Chen Sequencer: Update thumbnail and section highlighting to use new clipping behavior. #jira UE-45692 #jira UE-45689 Change 3475743 by Michael.Dupuis #jira UE-45183: When updating phyx region take into account simple collision mip Change 3475949 by Arciel.Rekman Remove PhysX deoptimization (no longer needed). - OR-24947 has been closed three months ago. Change 3476022 by Michael.Dupuis #jira UE-45560: Make sure we're not going out of range Change 3476063 by Michael.Dupuis #jira UE-45562: Do not try to unregister from static mesh if no static mesh is specified for the component Change 3476168 by Michael.Trepka Added handling of directory symlinks to FApplePlatformFile::IterateDirectory #jira UE-43704 Change 3476172 by Nick.Darnell Fixing a Imoduleinterface change. Change 3476183 by Jamie.Dale Exposing GoTo/ScrollTo to single-line editable text for API parity with multi-line editable text Change 3476385 by Arciel.Rekman Linux: handle symlinks when iterating directories. Change 3476522 by Michael.Trepka Solved a problem with Mac FMallocTBB::Malloc() returning nullptr for 0 bytes allocations, which is inconsistent with other platforms. On Mac we always scalable_aligned_malloc, which behaves differently than scalable_malloc, so for 0 bytes requests we allocate sizeof(size_t), which is exactly what scalable_malloc does internally in such case. Change 3476806 by Nick.Darnell UMG - Focus the designer after dropping a widget onto the surface. Change 3476809 by Nick.Darnell Curve Editor - Enable Clipping on the curve editor. Change 3477475 by Nick.Darnell Fixing a module interface shared ptr usage in UT. Change 3477553 by Yannick.Lange VR Editor: Removed AssetEditorPanelID and replaced it with TabManagerPanelID. A panel for AssetEditorPanelID was never created making it impossible to open an asset editor. Change 3477734 by Yannick.Lange VR Editor: Fix Warning: SetRelativeScale3D : Invalid Scale entered (X=inf Y=inf Z=inf). Resetting to 1.f. warning when adding CineCameraActor to World from Modes Panel. Make sure to not divide by zero when there is no boundary scale. #jira UE-44933 Change 3477761 by Jamie.Dale Some improvements to avoid loading the native .locres files twice when we don't need to Change 3477780 by Nick.Darnell PR #3250: Return correct VirtualUserIndex (Contributed by projectgheist) Change 3477786 by Nick.Darnell PR #3650: Changed TestNull to accept const pointers. (Contributed by e-agaubatz) Change 3477795 by Nick.Darnell PR #2844: UE-36936: Don't stretch container for Plugin Image (Contributed by projectgheist) Change 3478092 by Nick.Darnell PR #2341: Optional Middle Mouse Button panning in Graph Editor (Contributed by flipswitchingmonkey) Engine Edit - Made some small changes to the enum type, and some naming. Change 3478450 by Nick.Darnell Fixing some uninitialized variable errors. Change 3479827 by Andrew.Rodham Sequencer: Addressed serialization issues with some struct types Change 3479874 by Jamie.Dale Fixed "NativeGameLanguage" not being used correctly during localization initialization Change 3480012 by Andrew.Rodham Sequencer: Fixed loading tagged properties as native for track identifiers #jira UE-45823 Change 3480337 by Alexis.Matte Fix morph target crash missing some valid index check Change 3480804 by Alexis.Matte Fix crash with ColorGradingMode custom detail #jira UE-45638 Change 3480892 by Andrew.Rodham Sequencer: Ensure that movie scene sequences know about the editor object version #jira UE-45842 Change 3481073 by Nick.Darnell Fix the shader compiler error from main in Slate. Change 3481303 by Nick.Darnell UMG - Fixing a bug with the drag handle not working correctly in HDPI mode. Change 3481308 by Nick.Darnell Slate - Tweaking the IsWidgetCulled logic to consider both the layout and rendering bounds. If we do this, we get a much more desireable outcome for people that want to animate widgets and such and plan to have temporary animations to move the widget offscreen, but want the layout bounds to anchor that widget in the visible frame so that it animates even when normally it would be culled b/c the render transform and therefore the renderbounds moved it completely outside the culling rect. Change 3481629 by Max.Chen Sequencer: Add Level Sequence Actor as an output for CreateLevelSequencePlayer() #jira UE-45785 Change 3481899 by Yannick.Lange VR Editor: Added debug modetoggle command with an event that is broadcasted whenever this happens. Currently this is used to show all the floating UIs of the UI system to debug without HMD using VREd.ForceVRMode. Change 3481984 by Michael.Dupuis #jira UE-45845: always validate if we have a static mesh before trying to access it as user can decide to not assign one and use the tools Change 3482047 by Nick.Darnell Slate - Adding some comments to IsWidgetCulled. Change 3482110 by Nick.Darnell Slate - IsWidgetCulled is no longer static and is now called IsChildWidgetCulled. Change 3482136 by Jamie.Dale The CamelCase break iterator now treats digits around character tokens as part of the identifier Change 3482138 by Michael.Dupuis #jira UE-45854: Properly unregister during undo operation Change 3482150 by Michael.Dupuis #jira UE-45845 : Add missing nullcheck for GetStaticMesh Change 3482153 by Nick.Darnell Slate - IsWidgetCulled is no longer static and is now called IsChildWidgetCulled. Change 3482180 by Nick.Darnell UMG - Widget Components do not need to define a widget class to be rendererd, they can have native slate widgets only. This was a regression from main. Change 3482273 by Nick.Darnell UMG - Tweaking some more things about the widget component box outline. Change 3482308 by Alexis.Matte Fixing morph target smooth group support. Do not call FillSkeletalMeshImportData more then once on FbxNode since this fonction is doing some conversion and change the FbxNode, applying those conversion twice do not return the same faces smooth group. #jira UE-45696 Change 3482327 by Nick.Darnell UMG - More tweaks to the WidgetComponent so both shows the box outline, but works in game and VR editor. Change 3482705 by Andrew.Rodham Resaving assets that contain legacy data to suppress CIS warnings. - If conflicts arise in these assets, please take game-side changes and ignore these. Change 3484245 by Max.Chen Sequencer: Evaluate on end scrub. This fixes a bug where audio doesn't evaluate in a stopped position at the end of scrubbing, causing it to not stop all sounds. This fixes a bug introduced from 3365018 where evaluate on end scrub was removed. #jira UE-45905 Change 3484263 by Max.Chen Sequencer: Fix crash on forcing refresh of details panel on release. #jira UE-45911 Change 3484431 by Andrew.Rodham Resaving assets that contain legacy data to suppress CIS warnings. - If conflicts arise in these assets, please take game-side changes and ignore these. Change 3484474 by Alexis.Matte Fix the morph target animation curve name matching. #jira UE-20294 Change 3484475 by Alexis.Matte When removing a LOD, make sure we remove all morph target data associate to the LOD. Change 3484489 by Nick.Darnell PR #3668: UE-45908: Cache debug line locations when performing a LineTraceMulti (Contributed by projectgheist) #jira UE-45908 Change 3484692 by Nick.Darnell Slate - Reverting a change from a game stream. All Arranged Children don't need to allocated 42 to begin with. Do need to initialize WidgetPaths better. Change 3484703 by Nick.Darnell Player Input - Making the input event loop for players obey EKeys::NUM_TOUCH_KEYS, rather than being set to Touch10, as the maximum touch input amount, to make supporting greater than 10 touches easier. Also making the seeding of keys use EKeys::NUM_TOUCH_KEYS. #jira UE-43213 Change 3484918 by Jamie.Dale Fixed font measuring regression with RTL text RTL applies the character count to the next glyph, so it shouldn't process the end of the loop (this was how the older code used to work). Change 3485718 by Nick.Darnell Editor - Removing Super Search & User Feedback button. Change 3485719 by Nick.Darnell Portal - Removing SuperSearch. Change 3485751 by Matt.Kuhlenschmidt Fix crash accessing platformer game menu if the menu is open during a console based load #jira UE-45950 Change 3486047 by Arciel.Rekman Linux: add OpenEXR implementation (UE-40270). #jira UE-40270 Change 3486467 by Max.Chen Sequencer: Reset max tick rate when destroyed. #jira UE-45956 Change 3486477 by Max.Chen Sequencer: Refresh outliner when column is removed. #jira UE-45891 Change 3486667 by Andrew.Rodham Added missing include Change 3486724 by Andrew.Rodham Sequencer: Fixed curves with no default value, and no keys being evaluated and applied to properties - Also fixed an edge case where a zero (but non-animated) channel could be applied to a final transform Change 3486730 by Alexis.Matte In the Auto-Reimport options, hide the mout point only for the default /Game/ folder #UE-45684 Change 3486749 by Alexis.Matte Make sure the parent window of the monitor directory browse folder is set properly #jira UE-45682 Change 3486805 by Matt.Kuhlenschmidt Additional safety against invalid objects being accessed by slate Change 3486848 by Alexis.Matte Make sure Monitor folder feature support root mount point map folder During auto import, give priority to asset import factory over the scene import factory #jira UE-45691 Change 3486879 by Andrew.Rodham Removing obsolete QA assets Change 3486950 by Nick.Darnell PR #2281: Scrollbar missing features and SScrollbar fixes (Contributed by SNikon) Review - made some adjustments from the original. Change 3486954 by Nick.Darnell Slate - Moving the STableViewBase over to the FOverscroll class, rather than it's own clone. Change 3486967 by Nick.Darnell Slate - Fixing some HDPI calculations for fitting new windows on screen, it was using the unscaled size of the widgets for fitting, when it needed to scale them up. Change 3486970 by Andrew.Rodham Sequencer: Delay mouse capture until drag for sequencer time slider - Fixes context menus not opening as a result of mouse capture being taken on mouse down #jira UE-45937 Change 3486984 by Andrew.Rodham Sequencer: Improved blending type iconography Change 3486996 by Nick.Darnell UMG - Adding a way for games to opt-out of the slow widget path, to completely prevent them from being cooked. UMG - The movie data is no longer cloned for each new instance that inhabits. It now keeps a reference to the now publically accessible movie scene data on the class instead. Change 3487070 by Andrew.Rodham Sequencer: Added graphics for key areas that represent empty space Change 3487195 by Andrew.Rodham Sequencer: Changed evaluation groups to always flush implicitly - Due to the latent nature of blended token types, it's no longer safe to rely solely on execution token order between tracks - This fixes an issue where events set in the PostEvaluation stage were executed before blended token actuation Change 3487322 by Nick.Darnell PR #2457: Add .gitdeps.xml-files for plugins support (Contributed by bozaro) Change 3487363 by Nick.Darnell PR #2481: Fix for packing of a project with users plugins (Contributed by yatagarasu25) Change 3487439 by Nick.Darnell PR #2642: Changed private to protected in SVirtualJoystick.h (Contributed by Skylonxe) Change 3487500 by Arciel.Rekman Removed LinuxNativeDialogs. - No longer used; has been superceded by SlateDialogs since UE 4.8 (2 years ago). Change 3487630 by Lauren.Ridge Don't create Landscape Info Maps for Editor Preview Worlds or thumbnail worlds #jira UE-44885 Change 3487864 by Matt.Kuhlenschmidt Exposed the asset registry to blueprints and script. Works in editor scripts and runtime scripts AssetRegistry is now a UInterface object. Blueprint users can access various asset registry methods using the asset registry interface (via GetAssetRegistry) and various static helpers in the AssetRegistryHelpers object C++ users should still continue to use IAssetRegistry. Change 3487879 by Matt.Kuhlenschmidt Renamed asset tools uobject helper to UAssetToolsHelpers Change 3487926 by Lauren.Ridge Fixing reset to default not showing up for custom widgets #jira UE-44164 Change 3488184 by Matt.Kuhlenschmidt PR #3656: Make References/Referencers List copyable (Contributed by user37337) #jira UE-45763 Change 3488240 by Matt.Kuhlenschmidt Fix compiler issue Change 3488350 by Lauren.Ridge Landscape info map transactional state is based on its world's transactional state #jira UE-44885 #jira UE-46019 Change 3488412 by Matt.Kuhlenschmidt Fix reset to default showing up in two different places for some customizations Change 3488413 by Matt.Kuhlenschmidt Fix slate font customization Change 3488414 by Matt.Kuhlenschmidt Fix slate font customization Change 3488415 by Matt.Kuhlenschmidt Missed file Change 3488565 by Arciel.Rekman Add pretty printers for gdb (UETOOL-1171). - Committing shelf by Cengiz.Terzibas, with some modifications. #jira UETOOL-1171 Change 3489094 by Nick.Darnell Slate - The Slate RHI Renderer now caches the TextureLODGroups so that it can properly lookup the filtering of different texture groups that are set to Default, instead of a particular filter override on a texture. Engine/Rendering - Simplifying some of the setup logic in TextureLODSettings so that code is shared for setting them up properly after loading from a config file. Change 3489095 by Nick.Darnell PR #2699: GameViewportClient - Added a method to allow setting the viewport cur. (Contributed by rfenner) Review - Fixed spacing. Change 3489108 by Matt.Kuhlenschmidt Fix deprecation warning Change 3489120 by Nick.Darnell PR #3478: Fix possible UComboBoxString crash (Contributed by nakosung) Change 3489147 by Andrew.Rodham Sequencer: Adding return value to function to appease static analysis - This function is never compiled, and if it is, it won't compile, but static analysis doesn't know that Change 3489264 by Nick.Darnell Testing - Finishing the thought behind an enum comment. Change 3489265 by Nick.Darnell PR #2750: UE-35164: Button padding (Contributed by projectgheist) Change 3489267 by Nick.Darnell PR #3645: UE-45464: Handle SSlider mouse interaction more accurately (Contributed by projectgheist) Change 3489632 by Arciel.Rekman Correctness changes to MallocPoisonProxy. - Missing forwarding functions added. Incorrect comment removed. - Change by Steve.Robb, doing here so it is in 4.17. Change 3489689 by Arciel.Rekman More MallocPoisonProxy changes I missed in previous CL. Change 3489751 by Matt.Kuhlenschmidt Moved editor performance settings out of per-project settings so they can be shared across projects Change 3489837 by Lauren.Ridge Keyboard shortcut for entering/leaving VR Mode is now Alt+V Change 3491082 by Arciel.Rekman Linux: better fix for the crash due to name collision (UE-46040). - Put classes in Sequencer module into Sequencer namespace instead of SceneOutliner namespace. - Undid change in the SceneOutliner module. #jira UE-46040 Change 3491096 by Arciel.Rekman Fix UAT compilation on the newest mono. Change 3491240 by Max.Chen Sequencer: Disable key button when allow level edits only is on. #jira UE-46060 Change 3491406 by Yannick.Lange Fix editor crashes when opening a project that includes a plugin with more than two custom Volume classes. This issue was caused because registering show volume commands is based on finding volume classes. Finding these classes at multiple times resulted in a mismatch of the returned array of volume classes because modules/plugins were still being loaded. #jira UE-45806 Change 3491559 by Alexis.Matte Make sure we use the good preview mesh when doing a preview #jira UE-45963 Change 3491563 by Alexis.Matte Fix crash with staticmesh editor LodLevel selection Change 3491564 by Nick.Darnell UMG - Fixing an offset with the grab handles in HDPI mode. Change 3491595 by Nick.Darnell Editor - Fixing a clipping artifact in the pin type dropdown in the blueprint editor. Change 3491604 by Nick.Darnell Back out changelist 3489265 Change 3491615 by Arciel.Rekman Added malloc replay proxy (Linux only for now). - Allows to dump malloc callstream (without regard to threads) and replay later to study the behavior of different mallocs and/or repro problems. Change 3491684 by Arciel.Rekman Added FMalloc functions I missed. - Also moved function bodies into the .cpp file, this does not make a difference in performance in this case. Change 3491692 by Matt.Kuhlenschmidt Some minor fixes to the static mesh editor - Fix UV combo button looking non-standard on the toolbar - Fix a few combo buttons in the details panel looking too big. Change 3491702 by Arciel.Rekman Do not compile replay proxy-specific code when not used. Change 3491717 by Michael.Dupuis #jira UE-35083: The component is now the owner of the PerInstanceRenderData instead of the proxy Add an Update path to only update specified instances range Always call BuildTreeIfOutdated so we have a standard code path to make sure static mesh are fully loaded before trying to build the tree Moved the Instance Buffer aysnc to the base class, as it's not related to UHierarchicalInstancedStaticMeshComponent Expose a new property to decide if we require dynamic instance buffer Change 3491758 by Matt.Kuhlenschmidt Fix crash on static mesh editor shutdown Change 3491873 by Cody.Albert Fixed clipping issue in Sequencer curve editor #rnx Change 3491956 by Matt.Kuhlenschmidt Fix crash opening the Previewing sub-menu in the level editor settings menu #jira UE-46095 Change 3492046 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3492076 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3492165 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3492222 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3492274 by Michael.Dupuis #jira UE-46105: Fixed Clang warning Change 3492338 by andrew.porter QAGame: Testing ensure when submitting Change 3492371 by Nick.Darnell UMG - Reverting the animation sharing, cossed GLEO regressions in cooking. Will look for a better solution. Change 3492462 by Matt.Kuhlenschmidt Fix ensure checking in files through perforce Change 3492491 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3492505 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3492517 by Jamie.Dale The package localization ID is no longer used at all at runtime, and is now truly editor-only This should have always been the case, but it was leaked into manifest/archives/PO files in 4.14, and while 4.15 removed it from PO files it was still present in the manifest/archives. This change removes it entirely (unless gathering editor-only data, and even then the PO file will still collapse the entries together for translation), and the deprecated 4.14 export behavior will now produce an error if you attempt to use it. After taking this change you'll need to run a gather, import, and compile of your LocRes files to update your game localization to use the new localization IDs. Change 3492630 by Nick.Darnell UMG - Removing some extra cleanup code that's probably overkill and is causing a crash for uses of "Within" in class meta. #jira UE-46124 Change 3492692 by Matt.Kuhlenschmidt Fix drop shadows inheriting the outline color of the font. The outline should still appear but not have a different outline color from fill color Change 3492714 by Matt.Kuhlenschmidt Added outline with drop shadow to font automation test Change 3492737 by Matt.Kuhlenschmidt Fix linux Change 3492992 by tim.gautier Resaving Ocean Widget Blueprints / Sequences to resolve Legacy Sequence Data warnings #jira UE-46132 Change 3493089 by Jamie.Dale Ensure that the composite font of a font asset is flushed when the font object is GC'd Change 3493322 by Jamie.Dale Fixing null crash #jira UE-45758 Change 3494467 by Andrew.Rodham Fix Xbox warning Change 3494852 by tim.gautier QAGame: Changed streaming method of QA-EditorSmoke-Landscape to Always Loaded Change 3494853 by Nick.Darnell Another attempt at fixing the automation blueprint SA warning. Change 3494896 by Arciel.Rekman Fix possible null pointer access during Vulkan init. - May fix static analysis warnings in UE-46142, although warnings seem to be referring to something else. #jira UE-46142 Change 3494987 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3495010 by Matt.Kuhlenschmidt Adding additional logging to track down html5 issue Change 3495212 by Michael.Dupuis #jira UE-46143: Properly init the InstanceRenderData during the cooking phase (required by fortnite) Change 3495536 by Jamie.Dale Updating UGameEngine to call its Super::PreExit after performing its own teardown This prevents UEngine cleaning up resources that UGameEngine still needs. #jira UE-46159 Change 3495551 by Arciel.Rekman Another attempt to fix analyzer problem (UE-46142). Change 3495794 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3495905 by Matt.Kuhlenschmidt Fix USD crash when importing a meshwith no material [CL 3499771 by Matt Kuhlenschmidt in Main branch]
2017-06-19 20:27:30 -04:00
LayerId = DrawSelectionRange(AllottedGeometry, MyCullingRect, OutDrawElements, LayerId, RangeToScreen, PlaybackRangeArgs);
Copying //UE4/Dev-Sequencer to //UE4/Main ========================== MAJOR FEATURES + CHANGES ========================== Change 2875025 on 2016/02/20 by Andrew.Rodham Sequencer: Cinematic viewport improvements - Added optional letterbox overlay (defaults to 2.35:1) - Added ability to change safe frame colors - Added selected tracks' keys to the transport range - Added buttons for jumping between selected tracks' keyframes on the transport controls - Removed black padding around the viewport where possible - Added ability to specify whether a combo button/menu anchor should close when its parent receives focus - Separated logic of FGroupedKeyArea into FSequencerKeyCollection, so it can be used independently - Added playback range to the viewport frame numbers - All frame numbers are now spin boxes #jira UE-26429 Change 2875026 on 2016/02/20 by Thomas.Sarkanen Added console commands for recording sequences Changed plugin to a developer plugin so we can load it when the editor is in -game mode. Added Exec commands. Added some more logging to help diagnose problems when using commands. Added loading/saving of config for recorder settings (stored in Editor.ini). Also disabled controls in recorder window when recording. Added auto-saving of assets when in non-editor modes. Moved animation settings from UnrealEd to Engine module. Change 2875036 on 2016/02/20 by Max.Chen Sequencer: Call RedrawAllViewports instead of RedrawLevelEditingViewports. In particular, this fixes some update issues when editing values in the key editors. #jira UE-26960 Change 2875046 on 2016/02/20 by Max.Preussner Sequencer: Fix so that clicking on UMG Animations doesn't dirty the scene. #jira UE-26249 Change 2875047 on 2016/02/20 by Max.Chen Sequencer: Add option to toggle display of channel colors/lines. View->Channel Colors Change 2877138 on 2016/02/23 by Max.Chen Sequencer: Select corresponding track node when selecting key or section. Removed active/inactive selection since it was only being used in deletion and the rules for deletion are now dependent upon what is selected - delete keys and sections before deleting outliner nodes. Change 2877143 on 2016/02/23 by Thomas.Sarkanen Added new math function: WindRelativeAnglesDegrees Given two angles in degrees, 'wind' the angle in Angle1 so that it avoids >180 degree flips. Good for winding rotations previously expressed as quaternions into a euler-angle representation. Change 2877147 on 2016/02/23 by Thomas.Sarkanen Added the ability to import sequencer transforms from the root node of an animation sequence Intended for use after re-importing animations from DCC tools. Available in the right-click menu for transform tracks. Also added FindTrackBinding to UMovieScene so track bindings can be recovered from tracks. Change 2877163 on 2016/02/23 by Max.Chen Sequencer: Add option to create keyframe sections as infinite. Sequencer defaults to true, UMG defaults to false. Change 2877165 on 2016/02/23 by Max.Preussner Sequencer: Drawing vertical position lines when dragging keys Change 2878748 on 2016/02/23 by Max.Chen Curve Editor: Switch curve type to user when flatting or straightening tangents. #jira UE-27277 Change 2878799 on 2016/02/23 by Frank.Fella Sequencer - Add folders support to the outliner. Change 2880769 on 2016/02/24 by Andrew.Rodham Sequencer: Added ability to override runtime spawnable ownership in sequencer - This is exposed as an option on spawnables "Keep Alive Outside Playback Range (In Sequencer)" - Enabling this will stop spawnables from being destroyed when scrubbing outside of the playback range #jira UE-27205 Change 2880770 on 2016/02/24 by Thomas.Sarkanen Sequencer: Added countdown and recording indicator display when recording Also fixed extra popups added post-PIE when animation recordings auto shutdown. Change 2880782 on 2016/02/24 by Max.Chen Sequencer: Snapping now also uses the current time as a possible snap time. #jira UE-26306 Change 2880793 on 2016/02/24 by Max.Chen Sequencer: Add +Animation to Animation track so that it's consistent with all other tracks that have a + button. Change 2880812 on 2016/02/24 by Max.Chen Sequencer: Fix adjusting the leading edge of a shot section so that it cuts into the shot rather than adjusts the start time. #jira UE-26306 Change 2881624 on 2016/02/25 by Andrew.Rodham Changing shader version GUID to fix corrupt shaders in ddc Change 2882408 on 2016/02/25 by Thomas.Sarkanen Asset/actors stored in TLazyObjectPtrs can now reference game content from engine This is a legitimate use case as lazy object ptrs are designed to reference assets/actors cross-domain. Change 2882409 on 2016/02/25 by Thomas.Sarkanen [CL 2899785 by Max Chen in Main branch]
2016-03-08 16:55:04 -05:00
// Draw the scrub handle
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 4044339) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3947021 by Max.Chen Sequencer: Don't preserve root component when copying object properties. A spawnable empty actor, has a root component that is generated by the empty actor factory. If the object template's root component is preserved when copying from the spawnable empty actor, the root component will not be copied over. Therefore, we need to NOT preserve the root component when copying object properties. #jira UE-55825 Change 3947366 by Max.Preussner WmfMedia: Better log output Change 3947367 by Max.Preussner MfMedia: Better detection of compressed format properties on Windows Change 3949102 by Max.Chen Sequencer: Remove SequenceActorTag when converting to possessable. #jira UE-56206 Change 3949207 by andrew.porter EngineTest: Set the screenshot nodes resolution to 1280x720 Change 3949404 by Max.Chen Sequencer: More informative tooltip for "Rerun Construction Scripts" option. It now says "Rerun construction scripts every frame on actors that have 'Rerun Construction Script in Sequencer' enabled in their class settings". Change 3950067 by Matt.Hoffman Renamed UAutomatedLevelSequenceCapture's StartFrame and EndFrame to CustomStartFrame/CustomEndFrame to reflect that it is user-overriden. This will also resolve upgrade issues due to the variable datatype changing. #jira UE-56189 Change 3950193 by JohnHenry.Carawon Updating my latest MovieRendering test content. Change 3950757 by JohnHenry.Carawon More updates to MovieRendering test content Change 3952059 by Max.Chen Resave LevelVisibility_SubLevels to fix data loss conversion warning of OpacityMaskConstant #jira UE-56086 Change 3952283 by Max.Chen Sequencer: Disable dropping level sequence assets as spawnables. #jira UE-56120 Change 3952422 by Max.Chen Sequence Recorder: Add button to record from the current player. #jira UE-55942 Change 3952987 by JohnHenry.Carawon MovieRendering Test Content - Fixing camera bindings and changing the override binding actor Change 3953823 by Mike.Zyracki Fix for Bad FBX Import Tangents not scaled by frame rate. After looking at this again it seems that a set of MovieScene:: overiddes for the channel traits wasn't set correctly, so use the ADL idiom to use MovieScene, which can then call Optimize in the correct namespace. With this we can now correctly use the passed in tolerance. There was also a redundant set of Optimize calls so that it could happen twice so removed them, and needed an extra check in the float channel Optimize. Also since we need to set auto tangents no matter if we optimize we don't set that parameter(though leave it since it's used by context menu key reduction). Finally fixed speed issue with trajectories caused by calculating way too many substeps. Reverted back to a time based step size for consistency. #jira UE-56193 Change 3954317 by Matt.Hoffman Adding a key to the last frame of a section no longer causes a crash. Keys can already be moved to be on the last frame of a section so now you can just add a key there directly. #jira UE-56255 Change 3954326 by Matt.Hoffman Dilating a section that is only infinite on one side no longer causes a crash. #jira UE-56260 Change 3954486 by Max.Chen PR #4580: Exposes IsReversed() from UMovieSceneSequencePlayer (Contributed by alanedwardes) Change 3955238 by Max.Preussner Messaging: Enabled delayed message routing https://github.com/EpicGames/UnrealEngine/pull/4574 #jira UE-56247 Change 3955901 by Max.Preussner MediaFrameworkTest: Added developer test for overriding desired media player plug-in at runtime. Change 3955922 by Andrew.Porter QAGame: Updating movie rendering content in dev folder Change 3956004 by andrew.porter QAGame: Adding MPC track to movie rendering test content Change 3956510 by Max.Chen Sequencer: Fix fbx camera import of static properties so that they are imported before default tracks are created. Otherwise, the default tracks inherit the default properties of the camera, rather than the values from the fbx. #jira UE-56311 Change 3957613 by Max.Preussner MediaUtils: Added code documentation to media player facade Change 3958005 by Max.Preussner MediaUtils: Added method to get number of sinks Change 3958934 by Max.Chen Sequencer: Fix keys getting added and sequence getting erroneously re-evaluated when auto key is off. Only apply defaults if there are no keys. Only modify the movie scene section before creating keys or setting defaults. #jira UE-55903 Change 3959687 by Andrew.Rodham Sequencer: Fixed visibility track external values being inverted #jira UE-56324 Change 3960507 by Max.Preussner Core: Fixed incorrect rounding in FMath::DivideAndRoundNearest Change 3962047 by JohnHenry.Carawon MovieRendering Test Content Changes: - Add Lightmass Importance Volumes to sublevel to fix warnings - Rebuilt Lighting - Add a third sequence for Gamut testing - Resaved the sound master.uasset to fix warning Change 3962211 by Mike.Zyracki Add Frame Numbers to selected animation sections. Added MapTimeToAnimation to MovieSceneSkeletalAnimation so that we could get it from the Skeleton Animation track Editor. Since the thickness of the frame line can change based upon frame rate and zoom we need to calculate it similarly to how the time slider controller does it. Those calculations were private so we had to expose FScrubRangeToScreen and GetScubberPixelRange from the TimeSliderController. Also needed to know if the section itself was selected so added a bIsSelected flag to the section Painter. Also fixed a bug where you couldn't add a section if other sections existed at different times in MovieScenePropertyTrack and could crash due to the check(). #jira UESEQ-395 Change 3962497 by Max.Preussner Core: Added new string formatting argument to FTimespan Change 3963662 by Max.Chen CineCamera: Flip VistaVision width and height. Change 3963731 by Max.Preussner MediaCompositing: Implemented sequence recording support for media track Change 3964195 by Andrew.Rodham Sequencer: Set inverted property correctly for newly created visibility track sections - Also clamp evaluation for key editors to the bounds of the section so we're not displaying values outside of the section bounds when the cursor is not on the bounds #jira UE-56324 #coderevew Max.Chen Change 3964196 by Andrew.Rodham Sequencer: Fixed crash when attempting to render sections that resulted in a negative intersection with the view range Change 3964275 by Andrew.Rodham Sequencer: Fixed MovieScene::ClampToDiscreteRange for infinite range bounds Change 3964364 by Andrew.Rodham Curve Editor: Reduce minimum vertical view range when zooming to fit Change 3965091 by Max.Chen Sequencer Recorder: Refresh next sequence if empty when starting a recording, otherwise, use existing name. #jira UE-56469 Change 3965148 by Max.Chen Sequence Recorder: Move Record to Possessable to "Actor Recording" group Change 3965162 by Max.Chen Sequence Recorder: Always break out of immersive mode when done recording, even when stopping recording during countdown. #jira UE-56407 Change 3965214 by Max.Preussner QAGame: Enabled ImagePlate plug-in Change 3965574 by Max.Preussner SimpleComposure: Reorganized & upgraded content to work with new Media Track #jira UE-56488 Change 3965651 by Max.Preussner MediaCompositing: Ignoring seek-on-open if media not seekable Change 3966075 by Christina.TempelaarL Sequencer: Added Final Cut Pro 7 XML Export functionality #jira UESEQ-358 Change 3966087 by Matt.Hoffman Adding a single key to the Particle Toggle track now makes an infinite range section that is displayed in the UI. #jira UE-56295 Change 3966547 by Andrew.Rodham Sequencer: Fixed rounding errors when drawing the section background on boolean sections - Logic was using time in sectonds which caused rounding errors on evaluation and flickering red/green stripes when dragging keys around #jira UE-56324 Change 3966563 by Andrew.Rodham Curve Editor: Key editor interface improvements - SKeyEditInterface has a few problems - it does not update in real time when editing properties, and does not support multi-edit which makes it unsuitable for use with the curve editor - We now take a different approach for editing keys by gathering a set of proxy UObjects for each key that is currently selected. These objects are added as top level objects to the details panel which means they support multi edit as you'd expect from any other details panel in the editor. - Proxy objects are updated every tick for the curve editor if they implement the ICurveEditorKeyProxy interface, which allows them to refresh their current value. - Ideally, the same mechanisms would be used in the main sequence interface, and we would be generating the proxy classes at runtime based on the key value type, but that work remains a separate task from this initial offering. #jira UE-56165 Change 3966564 by Andrew.Rodham Curve Editor: Expand to frame when adding or moving keys in the curve editor Change 3967051 by andrew.porter MediaFrameworkTest: Set the CameraPlayer_Video texture to auto clear Change 3967141 by Andrew.Rodham Sequencer: Keep track of spawned objects that have been modified and only re-save such object's default spawnable state on destruction - Now that we're taking this approach, I've remove serveral redundant bits of functionality in the spawn register such as making some spawnables read-only, and the PreSave binding for Sequencer. - We now hook into all object pre-saves to make sure we handle the case where the sequences are saved through the content browser or elsewhere. #jira UE-47686 Change 3967170 by Andrew.Rodham Sequencer: Added the ability to possess anim instances as object bindings - This allows full and direct animation of properties on UAnimInstance, and animation blueprints - Object Bindings are made by first possessing a skeletal mesh component, then choosing the + Add button where its anim instance will be listed - Added a new function to UMovieSceneSequence to gather previously cached objects that should now be invalidated. Anim instances will be re-resolved if a new UAnimInstance is assigned to USkeletalMeshComponent::GetAnimInstance. - ObjectBindingIDs for anim instances are just represented by an entry in a set of GUIDs. We only ever resolve such bindings through USkeletalMeshComponent::GetAnimInstance. - Only currently supported on LevelSequences #jira UE-56132 Change 3967195 by Max.Preussner Core: Updated TRangeSet to use TCallTraits Change 3967345 by JohnHenry.Carawon Test Content Changes - first iteration of spacing out the examples in the shots. Change 3967572 by Max.Chen Sequencer: Fix setting PreviousPlayEvalPosition until after we've tested whether it's set. #jira UE-56518 Change 3967750 by Max.Chen Audio: Set duration based on number of input channels, rather than number of channels to serialize. This fixes an issue where audio split into 2 channels is set to a duration that's twice as long. #jira UE-56430 Change 3967836 by Max.Chen Sequencer: Allow for animating array elements within ustruct properties #jira UE-55887 Change 3968506 by Matt.Hoffman Fixed ambiguous conversions for seconds and frames being overriden by ambiguous conversion to Timecode (in frames). Change 3968748 by Max.Chen Sequencer: Make the event properties submenu widget larger. #jira UE-55557 Change 3968862 by Max.Chen Sequencer: Recursive expansion when shift is down #jira UE-52139 #pr 4194 Change 3968863 by Max.Chen Sequencer: Bind rename command to selected track so that F2 shortcut start renaming #jira UE-52139 #pr 4194 Change 3968872 by Max.Chen Sequencer: Rekey the selected key at the current time. #jira UESEQ-396 Change 3968938 by Max.Chen Cine Camera: Add option to toggle the behavior of locking the rail mount to the orientation of the spline. By default, the option is off, no change in behavior. #jira UE-55815 Change 3968958 by Andrew.Rodham Sequencer: Consider vertical position when hittesting keys #jira UE-56256 Change 3969643 by Max.Preussner Core: Rounding timespans created from double values towards nearest ticks Change 3969646 by Max.Preussner MediaUtils: Implemented timeout mechanism for block-on-fetch feature Change 3969776 by Mike.Zyracki Added Skip Anim Notifiers Toggle per what was in Matinee. Investigated the Enable Root Motion toggle as also discussed but it's implementation is directly contained by the animation asset and unlike animation notifies there seems to be no exposure to interactively disable it during a playback tick. Note if we are generating thumbnails we still automtically disable notifies in the editor to avoid annoying noise playback. Note that if Enable Root Motion/Root locked is specified in the animation asset it does correctly effect the Sequencer. #jira UESEQ-399 Change 3969835 by Matt.Hoffman Playback Range and Selection Range use unified logic for adding themselves as potential snap locations which properly handles inclusive/exclusive bounds. This resolves an issue where having an unset selection range caused a potential snap location to be added on frame 0 and 1 (internal resolution) which caused a misalignment when placing objects near frame 0. This also removes the one frame offset on setting Selection Range to bring behavior inline with other ranges. #jira UE-55420 Change 3969885 by Max.Preussner MediaAssets: Don't register media player CDO with media ticker Change 3971129 by Andrew.Rodham Sequencer: Fixed UMovieSceneSequencePlayer::GotToEndAndStop() not taking into account for start time This is a remnant from when the times were always specified in 0-duration space, rather than actual sequence times. Change 3972056 by JohnHenry.Carawon More updates to Test Content. I continued spacing out the examples in the sequence so that they have a consistent number of frames between each example and during the start/end of the example. Also removed the Marcie sublevel. Change 3972066 by Andrew.Porter MediaFrameworkTest: Setting Marcie folder to be never cooked in package settings Change 3972675 by Matt.Hoffman Splitting Subsequence Sections no longer sets an incorrect playback range on the subsequence when the subsequence has a different internal resolution than the owning sequence. #jira UE-55453 Change 3973376 by Max.Preussner ImgMedia: Zero is the only valid video track for image sequences Change 3973489 by Max.Preussner Launch: Build rules cleanup pass - don't use Media, MediaUtils on server apps - don't link against Media (include-only dependency) - don't include from MediaAssets (dynamic load only) Change 3973760 by Max.Preussner MediaUtils: Moved AppMediaTimeSource implementation into its own file; added logging Change 3973765 by Max.Preussner ImgMedia: Disallowing seek beyond media length Change 3973855 by Max.Preussner MediaFrameworkTest: Updated developer test content Change 3973858 by Max.Preussner MediaCompositing: Blocking on media player time instead of media sample time (the former may not be hit in the current frame) Change 3974988 by Max.Chen Sequencer: Fix trim left so that it also sets the start offset for audio and skeletal animation sections. #jira UE-57015 Change 3976101 by Matt.Hoffman Sequencer will now focus the scroll view on newly created items. #jira UE-56492 Change 3976203 by Max.Chen Property Editor: Add DetailsViewArgs for ColumnWidth. Defaults to 0.65f, no change in existing behavior. Change 3976205 by Max.Chen Sequencer: Set better column widths for sequencer. #jira UE-55557 Change 3976206 by Max.Chen Sequencer: Added menu category for import/export Change 3976265 by Matt.Hoffman Tracks within Object Binding Nodes will now sort using the old behavior so that components are added above other track types. #jira UE-56473 Change 3976901 by Max.Chen Sequencer: Add event names to event track section #jira UESEQ-353 Change 3977878 by Max.Preussner Media: Moved media framework ticking stats into Media module Change 3977982 by Max.Chen Sequencer: Add Edit->Reset section length to duration of source (ie. audio, skeletal animation, shot length) Added MovieSceneSection::GetDefaultDuration and MovieScene::HasDefaultDuration #jira UESEQ-392 Change 3977994 by Max.Preussner Media: Fetching and rendering media samples before viewports are rendered (to ensure frame sync for in-level media playback) #jira UE-53975 Change 3978188 by Matt.Hoffman Easing Curves are now clipped by the sequence's PlayRange when testing against an infinite section. This causes blended sequences to finish their blend when the section starts/ends instead of always using 25% of the total section length to determine default blend range. #jira UE-56362 Change 3978676 by Max.Preussner MediaCompositing: Fixed first frame of rendered out media track missing #jira UE-53975 Change 3978684 by Max.Preussner MediaCompositing: Enabled media track frame sync feature #jira UE-53975 Change 3980026 by Matt.Hoffman Keys can be selected on folded out sections (such as an audio track expanded to show volume and pitch) again. #jira UE-57169 Change 3981614 by Max.Preussner MediaUtils: Added missing subtitle sample queue flush Change 3982311 by Max.Preussner MediaCompositing: Added safeguard for zero length media sources Change 3982389 by andrew.porter QAGame: Adding media track test content into FrameAccuracySubscene Change 3983661 by Max.Chen Sequencer: Add level name to spawn a spawnable into. Add sublevel menu option to set the level #jira UESEQ-390 Change 3983712 by Andrew.Rodham Sequencer: Purge legacy blueprint spawnables from LevelSequence packages #tests Ran a preflight for cooking fortnite, ocean and Orion. Only orion shows up this edge case, and will require a re-save of the EndCines level #jira UE-39173 Change 3983787 by Max.Preussner MediaCompositing: Moved compile time switch for block-on-fetch into media player facade Change 3983812 by Andrew.Rodham Sequencer: Exposed default level sequence instance data to blueprints Change 3984373 by Max.Preussner Media: Added API for quering whether player plug-in supports block on fetch Block on fetch allows Sequencer and other systems to block the game thread until a desired video frame has been decoded. Change 3984670 by JohnHenry.Carawon Movie Rendering Test Content progress. Saving the state of the content. There is a bug where things got replaced with particle emitters and I think it was because I tried to copy paste an animation track into a separate skeletal mesh track. Change 3985097 by Max.Chen Sequencer: Rename Reset to AutoSize Change GetAutoSizeDuration to return TOptional<FFrameTime> #jira UESEQ-392 Change 3986043 by Max.Chen Sequencer: Fix crash when attach/path duration is less than 0. #jira UE-57310 Change 3986373 by Max.Chen Sequencer: Add support for deleting tracks and channels which equates to setting the channel mask. #jira UE-52951 Change 3986375 by Max.Chen Sequencer: Add Create Pose Asset to skeletal animation section. This allows animators to blend animations in sequencer and create new pose assets from them. #jira UESEQ-408 Change 3986796 by Andrew.Rodham Sequencer: Fixed stale object references remaining in ULevelSequence::BindingReferences when using convert to spawnable/possessable - We used to convert objects by creating a new binding, then re-assigning its GUID, which meant we didn't have to do any further object fixup, but the code to achieve this was confusing and led to a vulnerability where object references would not be cleaned up correctly due to the newly created possessable essentially being a temporary object that's immediately thrown away. - To address this, there is now a function for porting all the contents of one object binding to another, and handles the correct fixup required for parent/child object bindings for both spawnables and possessables. - Also added codepath to remove any stale object references from the level sequence reference map on PostLoad (this piggy-backs off the PurgeLegacyBlueprints object version which is close close enough to this change to be identical) #tests Verified that existing sequences with stale references get cleaned up on load. Verified that repreatedly converting from spawnable<->possessable cleans up references correctly. Change 3987807 by JohnHenry.Carawon Updates to the MovieRendering Test Content. - Fixed the spawnable actors that were overwritten - Shortend the Lighting example and combined the Intensity and Color tracks - Organized the Sequence and WorldOutliner to group the examples. Change 3988151 by Max.Chen Cine Camera: Enable keying the "Enable Look at Tracking" toggle. Change 3988880 by Max.Chen Sequencer: Support enter to add asset for all sequencer track editors that have asset pickers. #jira UE-57367 Change 3988953 by Max.Chen Sequencer: Make the track color picker focusable so that it will close when you click away or lose focus. #jira UE-57210 Change 3988962 by Max.Chen MovieSceneCapture: Fix EDL export so that it takes into account movie scene frame resolution and desired frame rate. #jira UE-57365 Change 3988964 by Max.Chen Movie Scene Capture: Clarified tooltip for bRelativeFrameNumbers. If you specify custom start/end frames for the recording, they will be relative to the playback range. #jira UE-57308 Change 3989442 by Max.Chen Fix CIS Change 3991548 by Matt.Hoffman Dragging the time slider no longer causes the time slider to ignore snap-to-interval with "Snap to Keys While Scrubbing" when no keys are in range. #jira UE-57417 Change 3991598 by Matt.Hoffman Snap to Key while scrubbing now mirrors the behavior of "jump to next key". When there are no tracks selected it snaps to all keys and when there are tracks selected it snaps to only keys from that track. This also resolves an issue where deleting an object did not remove it from the Sequencer's selection. Undoing a delete already doesn't seem to restore your selection, so removing it from your selection shouldn't change that behavior. #jira UE-57417 Change 3991603 by Max.Chen Sequencer: Disable EditAnywhere for some section properties #jira UE-53530 Change 3992240 by Max.Preussner MediaAssets: Implemented dynamic audio sample rate adjustment based on audio/media clock drift #jira FORT-70638 Change 3992911 by Andrew.Rodham Sequencer: Fixed saving spawnable state using the wrong spawned object - We now track the object binding ID so that we can apply the spawned object to the correct spawnable when the asset is saved #jira UE-57353 Change 3992914 by Max.Chen Movie Scene Capture: Fix compression quality not being set. The compression interface wasn't being found through query interface, so no compression was being set. Reworked finding it through the output pins. Tested running various compression values. #jira-UE-55488 Change 3992919 by Max.Chen Sequencer: Convert to possessable now uses object template instead of copying properties (ie. see LevelSequenceActorSpawner). This fixes MIDs getting lost when converting to spawnable and back to possessable. #jira UE-52400 Change 3993184 by Max.Chen Sequencer: Don't show +Transform/+Path/+Attach track if the actor has the "Mobility" property hidden. Set the Landscape, LandscapeProxy and InstancedFoliage "Mobility" property to be hidden since it is static is not supposed to be dynamically movable. #jira UE-56347 Change 3993238 by Max.Chen Sequencer: Test for hidden mobility in creating keys as well. Refactored to HasHiddenMobility() #jira UE-56347 Change 3993978 by Max.Chen Cine Camera: Enable keying the "Enable Look at Tracking" toggle. #jira UE-57489 Change 3994039 by Max.Chen Landscape: Add Mobility to hidecategories on landscape component #jira UE-56347 Change 3994626 by JohnHenry.Carawon Updated Movie Rendering Test Content. - Fixed the overridden spawnables to their proper object types. Change 3994653 by Christina.TempelaarL Sequencer: Added Final Cut Pro 7 XML Import functionality, improved Export functionality #jira UESEQ-358 Change 3995609 by Max.Chen UMG: Add support for 2d transform mask (translation, rotation, scale, shear) #jira UE-52951 Change 3995778 by JohnHenry.Carawon Movie Rendering Test Content Updates - Adjusted Lights example - Adjusted Camera example - Added Marcie sublevel back in Change 3995942 by JohnHenry.Carawon QAGame: Moving Movie Rendering test content from Developer folder to Sequencer folder Also adjusted level visibility, lights and camera example. Change 3995993 by Christina.TempelaarL Sequencer: FCPXML Export updates - only export sections if in playback range and media exists, warn if media does not exist. Other updates - removed unused methods and variables, fixed message context naming to be more accurate #jira UESEQ-358 Change 3996595 by andrew.porter QAGame: Updating Marcie content in TrackEvaluation level to use Image Plate Change 3996614 by andrew.porter QAGame: Adding color test sequence to the sublevel Change 3996643 by Max.Chen Sequencer: Fix fbx animation export - rotation and scale channels were flipped. #jira UE-57509 #jira UE-57512 #jira UE-57514 Change 3996652 by Max.Preussner Messaging: Fixed delayed messaging using incorrect current time after message router sleep Based on https://github.com/EpicGames/UnrealEngine/pull/4601 Change 3996801 by Max.Chen Sequencer: Fix folder active state for non key area sections. Look at track node sections as well as key areas. #jira UE-57550 Change 3997098 by Matt.Hoffman Cleaned up some remaining ToDo's in STimeRange. Change 3998339 by Max.Preussner Sockets: Added documentation for socket receive functions Change 3998359 by Max.Preussner MediaUtils: Started to implement media recorder helper class Currently only supports BGRA frames in CPU memory. Supporting other formats and buffer types will require conversions on render-thread. I recommend refactoring out the existing conversion code in FMediaTextureResource into a reusable helper class in the MediaUtils module. This should be a good starting point though. Change 3998417 by Matt.Hoffman Keys and Sections can now be moved at the same time inside of Sequencer. Keys can now snap to Sections (and vice versa) instead of just to other Keys. Sections can now be duplicated like keys can. #jira UE-56995 Change 3998427 by JohnHenry.Carawon QAGame: Updating test content for the Movie Rendering feature. - Added an auto activate particle to the beginning of the sequence (it's not part of the sequence at all) - Added an event receiver blueprint to the Events example - Added a particle emitter to both sublevels - Added a camera cut to the end that switches to a separate camera - The camera zoom in, focus and Look At sections are all separate (not overlapping in the sequence) - Added a second actor for the camera Look At - Added a Visibility section for the Actor Hidden In Game track that has possessable and spawnable cube and light Change 3998537 by Max.Chen Sequence Recorder: Restore immersive mode when stopping the sequence even if not in PIE. #jira UE-56407 Change 3999809 by Matt.Hoffman Removed the "Go To" box from Sequencer and instead placed the current time as an always visible control. The previous shortcut (Ctrl + G) now focuses the new widget directly. #jira UESEQ-376 Change 4000543 by Christina.TempelaarL Sequencer: Moving editor-only code from runtime module MovieSceneCapture to editor module MovieSceneTools. Moved EDL and FCP XML exporters as well as Automated Level Scene Capture. #jira UESEQ-358 Change 4000706 by Matt.Hoffman Entering multiple time strings without a number no longer crashes Sequencer. #jira UE-57672 Change 4001051 by andrew.porter MediaFrameworkTest: Fixing up some image sources pointing to the wrong location Change 4001191 by andrew.porter QAGame: Adding some quick EDL/XML test content to dev folder Change 4001243 by Max.Chen Sequencer: Fix import EDL out of range. #jira UE-57665 Change 4001856 by Matt.Hoffman Selecting keys and sections at the same time now also works with animation and audio sections. #jira UE-57716 Change 4002021 by Max.Chen Sequence Recorder: Fix sequence name incrementing. If external recording sets the sequence name, use it. Otherwise, use the recording name from the recording group or the recording settings. #jira UE-57712 Change 4002618 by Max.Chen Viewport: Update the look at location when updating to a locked actor. This fixes an issue so that popping the view out of a locked actor and manipulating the view will not jump to the previous look at location. #jira UE-57725 Change 4002979 by Matt.Hoffman Fixes several edge cases with the end time range that was causing confusion about what the last frame of the sequence was. Dragging the End Frame slider will no longer be off by one tick and jumping to the end via the UI controls now properly respects snapping and stays inside the play range instead of falling outside of it. Overall behavior does not change though and End Frame should be considered an exclusive frame so that frames 0-150 results in a 150 frame long animation (which is frames 0-149). #jira UE-56367 Change 4003185 by Matt.Hoffman Fixed a regression that prevented a section from being dragged upwards past row 0 which normally resulted in all other rows moving down. #jira UE-57717 Change 4003193 by JohnHenry.Carawon QAGame: Updates to test content - Shortened frames between the examples from 95 to 30 - Separated camera setting tracks - Lighting example now switches directly from constant red - green - blue Change 4003369 by Max.Chen Sequence Recorder: Refresh next sequence regardless of internally stored sequence name. #jira UE-55757 Change 4003586 by JohnHenry.Carawon QAGame: Test Content Updates - Level Visibility track now ends to that the levels are not visible when we move to the next example - Shortened camera section, removed Z tranform so that we just move left to right and shortened the overall length Change 4004414 by Max.Chen Movie Scene Capture: Fix regression where rendering with shot handles would only render the first shot. 3972166 addressed an issue where an extra frame would be rendered by finalizing right when the end frame was reached. This was hit on the first shot end frame, so instead, do this only for when the last shot is being rendered. #jira UE-57314 Change 4004765 by Christina.TempelaarL Sequencer: Fixed bugs in FCP XML import/export. - Export: fixed sequence default resolution. - Export: fixed XML files with no shots. - Export: all sections clipped to playback range. - Export: fixed incorrect section start/end times due to precision issues. - Import: fixed incorrectly adding cinematic tracks. - Import: fixed bugs creating new sections. #jira UE-57660 #jira UE-57662 #jira UE-57655 #jira UE-57761 Change 4005119 by Max.Chen Sequencer: Export/import at play rate Change 4005195 by Max.Chen UMG: Finish UMG evaluation on stop. Added object version so that existing UMG assets do not change. #tests - Newly created UMG animation with sections set to restore state now return to their original state. Existing UMG animations with sections set to restore state do not return to their original state. #jira UE-52285 Change 4005377 by Michael.Karambelas QAGame: Moving TM-SequenceRecorder and related content out of my developer folder and into /Content/Sequencer/SequencerRecorder/* Change 4005417 by Michael.Karambelas QAGame: Fixed a BP compiler in the Level Blueprint of TM-SequencerRecorder. Change 4005634 by Michael.Karambelas QAGame: Fix up missing content and broken level sequence in TM-SequenceRecorder after move Change 4006324 by Max.Chen Sequencer: Reset if the focused movie scene is null. This fixes a crash if the user is focused in on a shot and undo takes the user past the point of where the shot was created. #jira UE-57752 #jira UE-47661 Change 4007006 by Max.Chen Sequencer: Fix FindAvailableRowIndex so that it returns the max row index (and not +1) since it doesn't find any conflicting rows. #jira UE-57717 Change 4007907 by Max.Chen Sequencer: Fix crash if there's no animation Change 4007948 by andrew.porter QAGame: added test content to dev folder for Record World Space Change 4008636 by Max.Chen Sequencer: Fix import fbx not setting values properly and creating additional cameras unncessarily. #jira UE-57864 Change 4008759 by Max.Chen Sequencer: Follow up fix for import cameras #jira UE-57864 Change 4009994 by Matt.Hoffman Dragging the left or right handles of the Time Range slider in Sequencer will now zoom your view in on the current center of the screen. This prevents the view from being translating as you tried to zoom in which caused issues at high zoom levels. #jira UESEQ-407 Change 4010169 by Christina.TempelaarL Sequencer: FCP XML fixes. - FCP XML export - no longer clips to playback range - FCP XML and EDL export - fixed missing last frame of some sections after exporting to Premiere. - Automated level capture, EDL export - use RoundToFrame instead of FloorToFrame for computing section start/end frames after frame rate conversion. #jira UE-57802 - partial fix, movie scene capture still needs to render full section rather than clip against playback. Change 4010287 by Mike.Zyracki Add quaternion interpolation option to UMovieScene3DTransformSection. This mimics how Matinee used to work by bascially finding the keys between a time and interpolating the angles as quat's between them. As noted in the code the algorithm needs to handle the case when the x,y,z Rotation keys all aren't at the same time which was not handled by Matinee. Also like Matinee, when in quaternion interoplation mode, we need to not display the function cuves since the interpolated and key values are now all different. (Would like to show them but that's a bigger refactor for perhaps just a one off needed by quaternions). I added a virtual function UMovieSceneSection::ShowCurveForChannel for this since it needs to be dynamic, not on construction of IKeyArea's, and could be useful for other sections. I could though move the method to just UMovieScene3DTransformSection and do a cast instead. Looked into doing a unit test for this but after talking with Andrew P we will work on doign an automated test in EngineQA since that will provide more coverage. Will also add a video the jira. #jira UESEQ-403 Change 4010713 by Mike.Zyracki Added option to key a group of transform channels instead of just the changed channel, or all of them. This is useful for quaternion interpolations where you want rotation keys to be aligned but also useful for other workflows like animating FK Pose to Pose. Change 4010715 by Andrew.Porter MediaFrameworkTest: Setting LogMediaUtils logging from VeryVerbose to Verbose to cut back on the spam Change 4013048 by Max.Chen Sequencer: Fix play/jump status. Update the player status for all position methods (Scrub, Jump, Play). Jump means Stopped. Correctly use PlayTo or JumpTo based on position method. In PlayInternal, JumpTo with the Stopped state (rather than playing state). #jira UE-57844 Change 4013479 by andrew.porter QAGame: Added content in TM-SequenceRecorder to test recording a property on a Cine Camera Component; Press 3 to trigger manual focus distance to increment on a timer Change 4014323 by Max.Chen Sequencer: Fix SetPlaybackPosition so that it jumps or plays based on playback status. #jira UE-57844 Change 4015888 by Max.Chen Sequencer: Fix crash on paste. UMovieSceneSections were gathered from the track node's track. For sub track mode, we want to gather only those sections on that track node row. #jira UE-57951 Change 4015943 by Max.Chen Sequencer: Fix moving shots up when the mouse pos goes outside of the virtual track area. #jira UE-57717 Change 4016293 by Max.Chen Sequencer: Fix relative frame playback end frame calculation so that custom start/end frames remain in the space of the sequence and are not relative. #jira UE-57308 Change 4017075 by Andrew.Rodham Sequencer: Corrected initial evaluation range used when calling UMovieSceneSequencPlayer::Play() Change 4017270 by Christina.TempelaarL Sequencer: FCPXML importer and movie scene capture - Use CeilToFrame when converting section start/end frame times to frame numbers in FCPXML and movie scene capture. - Added support for clip metadata in FCPXML. - Got rid of redundant TokenizedError message class, no longer needed now that FCPXML is in editor directory. - Added log messages currently commented out due to exception, still testing. #UESEQ-358 Change 4018370 by Christina.TempelaarL Sequencer: fixed FCPXML log messages regarding sections with start/end not divisible by display rate. #UESEQ-358 Change 4018378 by Christina.TempelaarL Sequencer: fixed error in previous changelist. #UESEQ-358 Change 4019457 by Max.Chen Sequencer: Show event names only when the event track is selected #jira UE-57897 Change 4022806 by Max.Chen Sequencer: Fix crash on movie scene capture dialog shutdown if movie capture wasn't even started. #jira UE-58106 Change 4022894 by Max.Chen Sequence Recorder: Wrap OpenEditorForAssets after sequence recording within GIsEditor #jira UE-58084 Change 4024487 by Max.Chen Sequencer: Add tooltip for quat interpolation #jira UE-58113 Change 4024562 by Max.Chen Sequencer: Change path/attach track sequence binding id to currently focused sequence id so that bindings can be created in subsequences Change 4027414 by JohnHenry.Carawon QAGame: Checking in content that shows a bug with using particles systems and Delay Before Shot Warm Up. Change 4028990 by Max.Chen Sequencer: Fix evaluate sub sequences in isolation. This check was added with the compile on the fly logic. Not sure why it was necessary but it seems like the sub sequence data needs to be updated in order to evaluate sub sequences in isolation. #jira UE-58184 Change 4029004 by Max.Chen Sequencer: Ensure that old binding references are removed when re-assigning actors in sequencer #jira UE-57898 Change 4030997 by JohnHenry.Carawon QAGame: Fixing name of the master sequence Change 4031785 by Michael.Karambelas QAGame: Added an instance of ThirdPerson Run to TM-SequenceRecorder for Record to Possessable test. Change 4035548 by Andrew.Rodham Sequencer: Changed FMovieSceneEvaluationTemplate::TemplateSignature to be a serial number to address non-deterministic cooking issues - This commit is related to the repro steps found in 3914599 and 3934307, both of which have been verified with this new change. - Copy of 4031684 from //Fortnite/Main/... #jira FORT-84852 Change 4036312 by Max.Chen Sequencer: Fix zoom view range so that it uses the passed in InZoomDelta Change 4036318 by Max.Chen Sequencer: Auto size now returns a range and defaults to the channel proxy range so that keyed regions can also be autosized. Change 4036322 by Max.Chen Forgot missing change Change 4036360 by Max.Chen Sequencer: Fix play rate calculation when skeletal animation section play rate changes. Change 4037163 by Mike.Zyracki Weighted Tangent Implementation Tricky thing is that you need to solve a cubic in order to get the bezier weights for the time part of the curve. See https://www.gamedev.net/forums/topic/474094-help-function-curves-for-animation-interpolation/ Maya provides an implementation in it's dev kit but I didn't use it since it was horribly slow and uses an iterative solution to solve the cubic needed. Instead I use an old algorithm (Cardano's method), to solve the cubic which should be much faster. Though relative simple to code from principles I just went ahead and used a version from Graphics Gems 1. I put this cubic solver directly in MovieSceneFloatChannel.cpp, but will need to move it when we support Rich Curve, maybe to FMath:: (which would probalby require some other functions for solving quartics, etc.. for completeness.). Also note we resolve this on every evaluation but dont' need to if the interval the time is evaluating hasn't had any change in values or tangents. So again when we support FRichCurve we can create a Weighted Evaluating class that can hold the cache. Also with the tangent drags I got rid of the Cardinal position that was used to calculate non-weight tangents from the key point and just quickly getting a direction. With weighted tangents we need to use the delta instead (otherwise when moving multiple they would all get the same weight based upon distance to the cardinal point. ) For mixed tangents types what I'm defaulting to non weighted if the interval doesn't match. May need to do weighted instead, not sure. What's left is just FBX import, for tomorrow. #jira UESEQ-76 Change 4037435 by Mike.Zyracki Fix fo build warnings from weighted tangent submission. #trivial Change 4038091 by Michael.Karambelas QAGame: Updated a Sequence Recorder group in TM-SequenceRecorder that had an actor missing the animation. Change 4038374 by Andrew.Rodham Sequencer: Refined scrubber styling for level sequences and actor sequences - Scrubber now shows a block the width of a dsplay rate frame, plus a line for the actual evaluated time. UMG reverts back to the previous styling (no block) - Keys that are outside of the playback range are now drawn with a subdued effect - Tick labels are no longer drawn when directly underneath the scrubber Change 4038490 by Max.Chen Sequencer: Expose tangent weight values in details panel. Change 4038620 by Andrew.Rodham Sequencer: Advanced time panel polish #jira UESEQ-426 Change 4038677 by Max.Chen Movie Scene Capture: Redirector for MovieSceneTools.AutomatedLevelSequenceCapture #jira UE-58248 Change 4039739 by Max.Chen Sequencer: Media track should only be supported by Level Sequence Change 4040024 by JohnHenry.Carawon QAGame: Fix EventReciever and OverrideBinding example The level sequence was set to none so the fix was to set it back to TrackEvaluation_Master. Change 4040610 by Andrew.Rodham Curve Editor: Moved weighted tangent switchers to a single toggle command (CTRL+W) and added an icon #jira 58383 Change 4040882 by Mike.Zyracki Keep broken when turning on weighted #jira UE-58435 Change 4041089 by andrew.porter QAGame: Sequence for Long Tangents bug Change 4041498 by Mike.Zyracki Turn off weighted when going auto to prevent large tangents. Do it both in UI and when doing AutoSetTangents() to really make sure it doesn't happen. #jira UE-58452 Change 4041752 by andrew.porter MediaFrameworkTest: Adding some better logging for setting rates when not supported. Also ignoring commiting URL when there is no text Change 4041896 by Matt.Hoffman The transform dialog box now transforms selected keys and sections, instead of just keys. #jira UE-58265 [CL 4044405 by Max Chen in Main branch]
2018-05-02 10:10:00 -04:00
FQualifiedFrameTime ScrubPosition = FQualifiedFrameTime(TimeSliderArgs.ScrubPosition.Get(), GetTickResolution());
FScrubberMetrics ScrubMetrics = GetScrubPixelMetrics(ScrubPosition, RangeToScreen);
const float HandleStart = ScrubMetrics.HandleRangePx.GetLowerBoundValue();
const float HandleEnd = ScrubMetrics.HandleRangePx.GetUpperBoundValue();
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3946692) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3801826 by Max.Chen PR #4304: Level Sequence crash fix - Guarded against dereferencing null componen. (Contributed by DSDambuster) Change 3801828 by Max.Chen PR #4302: Movie Scene Visibility Template unitialised variable, causing random . (Contributed by DSDambuster) Change 3801837 by Max.Chen Sequencer: Delay spawning/construction for convert to possessable. This fixes a bug where property values would be lost when converting back and forth from possessable to spawnable. #jira UE-52400 Change 3801841 by Max.Chen Sequencer: Make spacer nodes not selectable. PR #4194: Improvements to Sequencer (Contributed by projectgheist) #jira UE-53117 #jira UE-52139 Change 3804183 by Max.Preussner MediaAssets: Added missing lock in media sound component Change 3805414 by Max.Preussner MediaAssets: Setting valid GUID when initializing media texture resource Change 3819578 by Max.Chen PR #4370: When enabling the "MovieCapture", do not turn off the Stereo-3D display. (Contributed by yehaike) #jira UE-53647 Change 3823414 by Max.Chen Curve Editor: Lock down the first and last keys in the redundant keys removal range so that they're unaffected. #jira UE-53591 Change 3826406 by Max.Chen Sequencer: Move OnStartedPlaying() to within first update in UpdateTimeCursorPosition(). This fixes an issue where setting the hud/player visibility was getting stomped on later. #jira UE-52772 Change 3827044 by Max.Preussner MediaAssets: Added sprite visualization to media sound component #jira UE-53594 Change 3827988 by Max.Preussner MediaPlayerAssets: Fixed Media Texture is not linked to Media Player when created together #jira UE-53532 Change 3828506 by Max.Preussner MediaPlayerEditor: Added attenuation visualizer for media sound components #jira UE-53594 Change 3832590 by andrew.porter EngineTest: Added a keep state check in Property Animation sequencer test Change 3833053 by andrew.porter EngineTest: Adding Hierarchical Bias test Change 3835683 by andrew.porter EngineTest: Adding UMG Animation screenshot test Change 3836076 by Max.Chen Sequencer: Fix audio volume and pitch multiplier deprecation. Change 3836230 by andrew.porter EngineTest: Adding Sequence Bone Position automation test Change 3836347 by Max.Chen Sequencer: Fixes to shot name parsing. When a shot doesn't contain a shot number, assume, [ShotName]_[TakeNumber]. When duplicating a shot, put the new shot in the same path of the original shot, so that the take numbers will increment properly. #jira UE-51868 Change 3836552 by Max.Chen Sequencer: Sub section now has a takes menu Change 3838094 by Max.Chen UMG: Fix template finish not getting called on stop. This fixes a bug where sections aren't restored when finished. #jira UE-52285 Change 3838708 by Max.Chen Sequencer: Add notification when the blend type is changed. #jira UE-54046 Change 3840295 by Max.Chen Sequencer: Fix copy/paste crash for lights #jira UE-54084 Change 3840957 by Mike.Zyracki Added Show Only Keyable and Show Only Animated to the filter list in the property editor. Added IsPropertyAnimated to IDetailKeyframe Interface which already had support for showing properties which are keyable (which is used for the key icon next to the properties.). Could have created another interface but then would have had to mimic the sequencer binding, releasing also, so this seemed best way. One issue still left is that custom built detail items currently don't store associated properties(usually) and so certain properties, in particulalry transforms, won't show up as keyable or animated. Note this also shows up with the keyable icon not showing up next to transform tracks, and other filters like Show Only Modified not working with transforms/customs. Not sure best way to tackle this. #jira UESEQ-328 Change 3841756 by Max.Chen Sequencer: Fix unbound possessable components when pasting spawnables. #jira UE-54104 Change 3843950 by andrew.porter EngineTest: Renaming LevelStreaming tests/content to LevelVisibility Change 3844082 by Mike.Zyracki Missing file for animated filter in property editor. When finding if a track is animated we need to find it but we can't easily induce the MovieTrack class for any particular property. So we don't set a class for it and just search by it's ID and name. #jira UESEQ-328 Change 3846902 by Max.Preussner ImgMedia: Fixed image media player never finished initialization if loading failed #jira UE-54247 Change 3849820 by Mike.Zyracki Reassigning deleted widgets didn't work since the menu extender mechanism needs a valid UObject in order to perform an operation on it. So to fix we replaced GetObjectBindingContextMenuExtender in WidgetBlueprint with new delegate mechanism (OnBuildCustomContextMenuForGuid) that supports FGuid in addition to UObjects which is needed to handle re-binding deleted widgets. Note that the default sequencer hacks this for replacing deleted actors in SequencerObjectBindingNode to check to see if a LevelSequence is active. We could move to this mechanism there also. #jira UE-53163 Change 3852211 by Max.Chen UMG: Indicate name of the property that is not bound. #jira UE-54350 Change 3854120 by Max.Chen Sequencer: Fix sibling folders being allowed to have the same folder name. #jira UE-54363 Change 3854627 by Max.Chen Sequencer: Step to next/previous key should work for all tracks if there aren't any selected. #jira UESEQ-391 Change 3855825 by andrew.porter EngineTest: Adding animation blending automation test Change 3855950 by andrew.porter EngineTest: Adding correct expected valuues to animation blending test Change 3856237 by Matt.Hoffman UESEQ-336 - Sequencer Track Reordering Adds the ability to re-order Master Tracks, Folders and Object Bindings within sequencer hierarchies (including UMG). Adds the ability to do a one-off sorting of the content under the old sorting behavior if the user wants to reset their layout to how it was under legacy behavior. Modifies SequencerTrackNodes, SequencerFolderNodes and SequencerObjectBindingNodes to handle CanDrop/OnDrop for above, below and ontop of. Fixes a Slate Issue that forcibly expanded a TreeviewRow if an item handled OnDrop. Slate will now only forcibly expand the row if the item says the drop happened ontop of the item, and not above or below it like it previously did. Change 3856503 by andrew.porter EngineTest: Adding automation test for using animation blueprint with blend multi node in sequencer Change 3857875 by Max.Chen Sequencer: Assign the sequence id after the template is compiled. #jira UE-54462 Change 3858344 by Max.Chen Sequencer: Prevent Goto and Transform boxes from overlapping by allowing them to be visible at the same time in an autosized horizontal box. Also, added close button to the goto box. PR #4425: Prevent Goto and Transform boxes from overlapping in Sequencer ... (Contributed by projectgheist) #jira UE-54210 Change 3860566 by andrew.porter MediaFrameworkTest: Set the option to index 0 for the audio and video track list by default Change 3860654 by andrew.porter EngineTest: Enabling Camera Cut + FOV test Change 3860981 by andrew.porter EngineTest: Updating skeletal mesh tests with a delay after set playback position Change 3861256 by Max.Chen Sequencer: Add all bindings if none selected. #jira-54440 Change 3862154 by Andrew.Rodham Added TimeManagement module Change 3862424 by andrew.porter EngineTest: Turned on the test Bone Positions with Blend Multi Node Change 3862573 by andrew.porter EngineTest: Adding test to compare bone positions in a sequence that is blending an animation that is using an AnimBP Change 3865117 by Max.Chen Sequencer: Stop auto scroll on mouse release of movement. #jira UE-31212 Change 3865303 by Max.Chen Sequencer: Add drag and drop transactions #jira UE-54662 Change 3865304 by Max.Chen Sequencer: Fix crash when an actor factory is not found. Change 3865361 by Max.Chen Sequencer: Don't change the camera/shot lock button when popping out of a sequence. #jira UE-54665 Change 3865412 by Max.Chen Sequencer: Determine whether a transform track is for a camera by using the spawned object or template #jira UE-54666 Change 3865685 by Max.Chen Sequencer: Clear autoscrub offset when stopping autoscroll #jira UE-31212 Change 3865886 by Max.Chen Sequence Recorder: Log an error if the number of frames changes while recording. This can happen if the skeleton changes while recording. #jira UE-48715 Change 3866925 by Andrew.Porter MediaFrameworkTest: Changing the current PNG test video image sequence to 1024 x 576 Change 3867705 by andrew.porter QAGame: Adding Audio Sort Sequence to dev folder Change 3867890 by andrew.porter QAGame: Adding a sequence for testing a sorting crash to my dev folder Change 3872628 by Max.Chen Movie Scene Capture: Split delay before warmup into split delay before shot warmup so that there's separate controls for when the movie scene capture warmups up vs. shot boundaries. Change 3873131 by Matt.Hoffman UE-54732 - Crash reordering a folder with a track. This was caused by folders being the only type of track to check if someone was putting a parent track into a child track. Object Binding tracks and Tracks now check as well so that you can't use the above/below drop targets to add parents as children. This also fixed a typo in the localization keys. #jira UE-54732 Change 3873301 by Mike.Zyracki Added ability to support continous euler angle changes when changing rotations, in particularly with the rotation gizmo's. To do this we effectively added a form an of 'euler filter'(https://en.wikipedia.org/wiki/Euler_filter) to find the closest euler angle to the current euler angle. Three functions were added to FRotator to make this possible, one to get the euler angle that's has the same rotation as it, one to get the difference between two euler angles via Manhattan distance and a third using the previous two to choose a Rotator value that's closest to it. We then use these functions before calling UComponent::SetRelativeRotation to make sure we use the correct Euler after the Quat conversion. We also no longer limit(bound) the euler angles to -180,180, which is obviously necessary to avoid flips. I also changed how we caluclate yaw and roll when pitch is -90 or 90 to make it the standard approach of zeroing out roll and just setting yaw. Main reasons are the previous implementation had precision issues so things like 180, 90, -180 would show up due to numbers being nearly zero but negative,(this would break any smooth interpolations), and this facilitates having a 'gimbal' rotation mode (like Maya, Blender etc..) if we ever want that also. If needed we could keep the previous implementation but would need to add some FMath::IsNearlyZero checks, with less performance. Note we only do this special filtering when applying delta's to actors or components in the editors, which then call UComponent::SetRelativeRotationExact, which is a new function to foces the RelativeRotation to be equal to the new rotation. This allows us to store un-nomalized Rotators at the cost that the RotationCache may be broken. We didn't change any of the other UComponent functions that set rotations (via Quats or Transforms) so they will still be bounded and unwound. In SetInternalWorldLocationAndRotation we only set the rotation if the rotation has changed, which fixes the rotation getting changed and re-normalized if just translate happens. In TransformTrackEditor, we correclty use the bUndwing flag and in MovieScene3DTransformSection there was an un-needed winding check there, it will be unwound earlier if needed, which happens if Sequence Recording is happening. Max we should talk about what to do about this . Note the euler angle drag via the widget is still bound to 0-360. I think we should just unbound that now since the rotations value are now unbound. This review now includes fixes suggested by Zak. #jira UE-UE-22228 Change 3873483 by Matt.Hoffman Sequencer Tracks can now be inserted above the spacer at the bottom of the tree. #jira UE-54706 Change 3873899 by Max.Chen Sequencer: Add section selection throbbing Change 3873908 by Max.Chen Movie Scene Capture: Added logging per frame Change 3873924 by Matt.Hoffman Adds the ability to store Sequence Recorder setups into profiles that stay with the map and can be re-loaded later. Profiles store the Actor Recordings so the settings for each actor should carry with them. #jira UESEQ-339 Change 3874726 by Matt.Hoffman Disable drag-and-drop targets on spacers that come between rows in Sequencer. This prevents extra drag/drop targets showing up between each row. #jira UE-54706 Change 3874862 by Matt.Hoffman Audio Track no longer gets reordered when adding sub-audio tracks, as sub-tracks are no longer counted towards the sorting order index when normalizing indexes. #jira UE-54727 Change 3875905 by Matt.Hoffman Disable Fade Track UI if a fade track already exists in the sequence. #jira UESEQ-393 Change 3876163 by Max.Chen Sequencer: Swap the camera object to the camera component's owner if it's not the same. #jira UE-54874 Change 3876971 by Andrew.Porter EngineTest: Moved Media Player Seek test to new folder. Also enabled the test with new ground truth image. Change 3877040 by Max.Chen Cine Camera: Split camera properties to two groups, "Camera Options" and "Camera Settings". The cine camera now hides properties in the "Camera Settings" group so that properties like bConstrainAspectRatio (in the "Camera Options" group) can be visible. #jira UE-54192 Change 3877763 by Max.Chen Curve Editor: Fix curve changed on end drag so that only curves that had keys/tangents that were changed receive notification, otherwise all loaded curves were getting notified that they were changed. #jira UE-54951 Change 3878234 by Matt.Hoffman Disable "Drop Below" targets for Sequencer Tree nodes to prevent a confusing UX issue where dropping underneath a Object Binding Node puts it after the object binding node but the UI looks like it's inserting it inside the Object Binding node. #jira UE-54743 Change 3879359 by Mike.Zyracki If a track is inactive we dim it a bit which seems to be the UE4 way to show inactive or disabled state. We changed the active logic so that all subtracks need to be inactive for the track to also be inactive(instead of all active for active). This conforms to how the active state actually works, e.g if you have two sections and only one is active the track is still active above it. #jira UESEQ-388 Change 3879462 by Max.Chen Sequencer: Allow dragging onto a particular row which would move out any overlapping sections to make space for the newly created section. Newly created sections are now selected and throbbed to draw attention to themselves. #jira UE-54664 Change 3879464 by Max.Chen Sequencer: Fixed overlapping ranges being inserted into the evaluation field during compilation - The issue was that track segments that had been combined with adjacent segments (due to them being identical) would potentially cause a subsequently compiled frame to overlap with a range that had already been inserted into the evaluation field. - The insertion code previously asserted that only minor overlaps were catered for (due to fp rounding errors) and assumed that a supplied range could not entirely contain any other range in the field. - The solution is to supply the insertion time along with the range to know exactly where the data should live in the field, and crop the range to the maximum allowable space between adjacent ranges. #jira UE-54922 Change 3879590 by Matt.Hoffman Items that are now added to the Sequencer via the "+Track" menu will be selected after being added. Items can now be added inside of folders instead of just to the root level. #jira UE-27397 Change 3879612 by Mike.Zyracki Display Nodes with no children are always active. #jira UESEQ-388 Change 3879730 by Matt.Hoffman Sequence Recorder's actor recording groups now remove items from the group when removed via the UI. #jira UESEQ-339 Change 3880256 by Mike.Zyracki Fix issue with inactive display with folders and other track nodes. #jira UESEQ-388 Change 3883491 by Max.Chen Fix issue where tick is skipped due to last ticked pose isn't cleared after AnimInstance changes. Copy from Release-4.19 #jira UE-51323 Change 3883603 by Max.Chen Movie Scene Capture: Add option toggle disable screen percentage. By default this is on (no change in current behavior). #jira UE-51898 Change 3885074 by Max.Preussner MediaCompositing: Resetting media texture & freeing resource on section end; removed dead code Change 3887220 by Max.Preussner MediaCompositing: Defaulted media section duration to 1 sec (since we do not know the actual duration in most cases) Change 3887478 by Matt.Hoffman Sequences now show [Inactive] in their title bars when they're disabled. This helps communicate why a sequence isn't being evaluated. #jira UE-51469 Change 3888985 by Max.Chen Movie Scene Capture: Clamp HDR Compression Quality between 0 and 1. #jira UE-55136 Change 3893519 by Max.Chen Sequence Recorder: Clarified tooltip for bRecordNearbySpawnedActors - spawned actors will still be recorded if they match the ActorFilter. #jira UE-55238 Change 3893546 by Max.Chen Sequence Recorder: If a selected actor already has a recording, add a blank recording. #jira UE-55239 Change 3894044 by Max.Preussner MediaCompositing: Added support for seeking into a media section Change 3894310 by andrew.porter MediaFrameworkTest: Adding Img media sources for 1080 and 2160 ravent test content Change 3894426 by Max.Preussner MediaAssets: Letting media textures with AutoClear retain their clear color when player is reset Change 3895717 by Max.Chen Sequencer: Null checks to prevent crash when saving the default state of a spawnable #jira UE-55304 Change 3897388 by Max.Chen Sequencer: Don't update current time to be within the view range when stepping into a sequence. #jira UE-55322 Change 3897452 by Max.Chen Audio: Fix crash when trying to record audio without any active capture devices. Log warning if the number of input channels is not 1 or 2. #jira UE-55223 Change 3897619 by Max.Preussner MediaCompositing: Removed commented out code Change 3898072 by Max.Chen Sequencer: Override the animation asset in the player state if it doesn't match the animation asset that's being evaluated. #jira UE-55328 Change 3898272 by Max.Preussner MediaPlayerEditor: Made slate brush constants static Change 3898704 by Max.Chen Sequencer: Skip if the binding id's sequence can't be found. #jira UE-55337 Change 3899855 by Max.Preussner MediaCompositingEditor: Added cache state visualization to media track Change 3900300 by Max.Preussner MediaCompositingEditor: Added loop indicators to media sections Change 3900694 by Max.Preussner ImfMedia: Looping cache only when player is looping Change 3900892 by Max.Preussner Stats: Added stats category for media framework Change 3900954 by Max.Preussner MediaCompositing: Don't evaluate at the end of media section Change 3901348 by Max.Preussner Core: Replaced TLruCache autos for better readability Change 3901655 by Max.Preussner ImgMedia: Added more perf stats to EXR reader Change 3901972 by Max.Preussner MediaAssets: Added getter for media player in media sound components Change 3902233 by Max.Preussner MediaAssets: Enabling media textures to receive samples right after player is assigned Change 3902238 by Max.Preussner MediaCompositing: Working around init/shutdown idiosyncracies in sequencer Change 3904045 by Max.Chen Sequencer: Fix copy/paste crash. Only process UMovieSceneCopyableBinding and objects that can be spawned by the movie scene spawn register. #jira UE-55314 Change 3905605 by Max.Chen Sequencer: Restrict spawnables from being created if they have a ClassWithin that UMovieScene is not a child of. #jira UE-55429 Change 3906550 by Max.Chen Sequencer: Add media track icon #jira UE-55480 Change 3907101 by Max.Chen Sequence Recorder: Fix bugs related to not recording a level sequence. There were certain assumptions that creating a level sequence meant that sequence recording was in progress. This is not always the case - the recorders can record animation assets and not create a level sequence. Changed the notion of IsRecording() to having at least one actor recording that is recording. Countdown timer, recording displays, etc should function if IsRecording() and not based on whether a level sequence is created. #jira UE-55485 Change 3907247 by Max.Chen Sequence Recorder: Fix crash not removing PrepareToCleanseEditorObject delegate. Repros when opening sequence recorder, closing it, and then opening or creating a level. Change 3910343 by Max.Preussner Core: Added async helper for executing functions on a given thread pool Change 3910346 by Max.Preussner ImgMedia: Added separate thread pools for loading/decoding and deleting image frames Change 3910829 by Max.Preussner Profiler: Increased visible range of profiler graph Change 3910841 by Max.Preussner MediaCompositing: Displaying asset name instead of full media source path in media section Change 3910870 by Max.Preussner ImgMedia: Using deallocation thread pool only in debug builds Change 3919642 by Max.Chen Sequence Recorder: Clarify active tooltip #jira UE-55661 Change 3919660 by Max.Chen Sequencer: Sequence template source signatures are now also compared to catch the case where a sub-sequence asset has been saved but not modified - The following sequence of events exposes this issue: - Create a master sequence with a single shot that spawns a cube - Add this sequence to a level and set it to auto-play - Save everything and restart - Resave just the inner shot asset without opening it - PIE - The inner shot never spawns its cube because its template was wiped on save, but its signature never changed. Since the master sequence previously didn't check the template source signature, it ends up trying to evaluate an empty template. #jira UE-55626 #jira UE-55490 Change 3921825 by Max.Chen Sequencer: "Run Construction Script in Sequencer" is off by default for blueprints but on for Sequencer. This allows the content author to switch it on for specific blueprints and sequencer will be default, run those with construction scripts enabled. Change 3922232 by Max.Chen Sequence Recorder: Reset countdelay on stop. #jira UE-55755 Change 3922306 by Max.Chen Sequence Recorder: Don't automatically mark transforms to be recorded by sequence recorder. Instead, log a warning if the user toggled it off to warn that the resulting animation might not match gameplay. #jira UE-55758 Change 3922912 by Max.Chen Sequence Recorder: Fix refresh next sequence name #jira UE-55757 Change 3927654 by Max.Chen Movie Scene Capture: Added format mapping for the name of the current camera #jira UE-55769 PR #4537 Change 3927658 by Max.Chen Sequencer: Added fbx property mapping for "FocusDistance" to "FocusSettings.ManualFocusDistance" #jira UE-55782 Change 3932022 by Max.Chen Sequencer: Add import animation track section to next available row index. #jira UE-55892 Change 3933919 by Max.Chen Sequencer: Jump to playback start frame and not 0 to start playback for recording. #jira UE-55933 Change 3934307 by Andrew.Rodham Sequencer: Add template signature that is re-generated every time the base template is regenerated, which invalidates evaluation fields This fixes an issue where the same sequence is instantiated multiple times in a sequence. If the source sequence was saved, its template would be wiped, which would invalidate the template ID When an instance tries to evaluate the master template, it would only invalidate a range in the evaluation field that was the hull of any invalid sub sequences overlapping the current time, potentially leaving invalid data in the evaluation field at positions later (or earlier) on in the sequence When the sub template was re-generated, it receives the same SequenceSignature as it had before (because the sequence hasn't actually changed), which causes the stale evaluation field data to fail the IsDirty check (because the sequence is the same as it thought, but the *template* has changed) This has been addressed be adding a signature to templates themselves, and checking both the template signature and sequence signature as a part of the IsDirty check. This ensures that we regenerate if either the template, or the sequence have changed. #jira UE-55934 Change 3936327 by Andrew.Rodham Sequencer: Removed increment when trimming right UMovieSceneSection::TrimSection already explicity assigns an exclusive bound to the time passed in. The new behavior means we can trim a section to the right, and insert another section without changing the time to create adjacent sections. #jira UE-42652 Change 3936328 by Andrew.Rodham Fixed KeyFrameManipulator assignment operators and copy/move constructors - These types are potentially self-referential so cannot use default constructors/assignment Change 3936330 by Andrew.Rodham Converted UMGSequencePlayer to use frames internally #jira UE-54878 Change 3936726 by Max.Chen Sequencer: Set track node as the parent of the key area node. The key area switcher needs the object binding id from the parent object binding node. Without this, the binding to the external value fails. #jira UE-55931 Change 3936775 by Max.Chen Sequencer: Should stop or loop should compare DurationFrames with Current Time from StartTime. The bug is that if you set 30 warmup frames in movie rendering for a range of 0-100, the FrameRange will be starting at -30 and have a duration of 130. Without this fix, the playback will continue until frame 130, rather than 100. #jira UE-55933 Change 3936935 by Matt.Hoffman Easing Curves are now represented in Play Rate resolution instead of internal resolution. #jira UE-55937 Change 3937069 by Matt.Hoffman Users can toggle if the is infinite on each side, limited by which tracks support infinite ranges. #jira UE-55891 Change 3937516 by Max.Preussner ImgMedia: Added support for single-threaded platforms #jira UE-55986 Change 3937826 by Max.Preussner MediaAssets: Disabling media sound components on HTML5 if AudioMixer is not enabled Change 3937997 by Max.Chen Curve Editor: Add Zoom to Fit Curves so that selected curves from Sequencer can be focused on. Tested that undo doesn't re-zoom. #jira UE-55935 Change 3938000 by Max.Chen Sequencer: Stop all sounds before generating audio waveforms. #jira UE-55951 Change 3938376 by Max.Preussner XGEController: Disabled XGE Controller in single-threaded apps to prevent crash Change 3938444 by Max.Preussner Core: Added async support for single-threaded applications Change 3938445 by Max.Preussner Networking: Added support for single-threaded applications in UDP socket sender/receiver Change 3938447 by Max.Preussner Messaging: Added support for single-threaded applications Change 3939432 by Max.Chen Sequence Recorder: Append command list to global level editor actions so that shortcuts are accessible in level editor. #jira UE-55798 Change 3940229 by Andrew.Rodham Added prospective display rate upgrade to UMovieScene::PostLoad - There was previously some very odd behaviour that would assign the fixed frame interval only when a sub sequence was focused in SSequencer. This meant that many sequences could have a frame interval of 0 set in the data. - Under the old method of snap interval display this would have fallen back to getting the display interval from the sequencer settings, but we no longer look at these. - The USequencerSettings properties have been removed and in their place, a prospective data upgrade for sequences that have a fixed frame interval old 0fps that sets the play rate to the previous defaults based off the old USequencerSettings defaults. - This could end up 'changing' the display rate for sequences where the user has changed the snap interval in the settings for a particular sequence editor, but there's not much we can do about that given we don't have access to the USequencerSettings classes in UMovieScene #jira UE-55919 Change 3940277 by Andrew.Rodham Sequencer: Added ability to default frame resolutions and play rates for newly created actor sequences Change 3940378 by Andrew.Rodham Sequencer: Post move import dialog now defaults to the playback framerate of the sequence, and floors to frame numbers Change 3940559 by Andrew.Rodham Reinstated primed or recording sequence color Change 3940642 by Max.Preussner ImagePlate: Removed image plate media playback functionality Change 3940843 by Max.Preussner Core: Made TCircularQueue actually thread-safe; improved code comments Change 3940860 by Max.Chen Sequencer: Changed StructNameToKey to StructPathToKey Previously, keying a PropertyPath of [RenderTransform][Shear][X] would get trimmed to X, which doesn't map to a channel name as considered by Sequencer2dTransformTrackEditor. Instead, trim the resulting property path to [Shear][X] so that track editors can determine the desired struct path and channels to key. #jira UE-52966 Change 3941292 by Mike.Zyracki Fix for trajectories out of range not showing up. 1) If we had no key data we would pop the time, so wouldn't get the section ranges. 2) Calculating of upper bound was wrong, checking against -1 and not key == num of keys when doing algo::lower_bound. 3) No need to do the Bck-- for the bakward iterators since we fixed #2. We start now from the upper bound correctly. 4) If we had no keys (at section start,end) we would incorrectly say we were any key type, so since we draw constant keys as dashed we would do so incorrectly around section end points. #jira UE-55929 Change 3941424 by Max.Chen Curve Editor: Change Zoom to Fit to use TArrayView Change 3941498 by Max.Preussner Core: Added FMath::DivideAndRoundNearest function Change 3942097 by Matt.Hoffman Drop Frame Timecode Support for NTSC rates. Change 3942104 by Matt.Hoffman Sequence Recorder Group is no longer visible inside the World Outliner after using one. #jira 55266 Change 3942107 by Max.Chen Sequencer: Resurrect logic to find or extend an existing section when adding keys. Change 3942330 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942339 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942507 by Andrew.Rodham Sequencer: We no longer pad the time overlap threshold with a small number that is not scaled by the current zoom level - The presence of this pad was causing keys that were far apart to be grouped when zoomed in a long way Change 3942509 by Andrew.Rodham Sequencer: Only pad total view range, rather than section range as well when retrieving keys to render - This stops us from rendering keys that are within the view range, but outside the section range Change 3942512 by Andrew.Rodham Added transactions to some sequencer details customizations Change 3942513 by Andrew.Rodham Sequencer: Reinstated validation checks to UMovieSceneSection::SetStartFrame and SetEndFrame, changed erroneous uses to use SetRange Change 3942560 by Andrew.Rodham Pass by rvalue reference to appease error C2719 on Win32 ('InChannels': formal parameter with requested alignment of 8 won't be aligned) Change 3942697 by Andrew.Rodham Newly Created Level Sequences and Actor Sequences now default to 24000 fps frame resolution (+/- ~24hrs range, supporting all integer rates + 23.976) Change 3942700 by Andrew.Rodham Sequencer: Added legacy out-of-bounds errors for times that are not supported by the current legacy upgrade frame resolution Change 3942989 by Max.Preussner Core: Fixed circular queue count calculation Change 3943538 by Max.Preussner MediaAssets: Reverted workaround for procedural audio log spam in HTML5 (Actor component initialization cannot be skipped if the component is used in a level) Change 3944071 by Max.Preussner QAGame: Fixed Media Texture keeps last frame of Media when PIE ends #jira UE-53360 Change 3944292 by Max.Chen Sequencer: Added extra flags to ensure that asset initialization does not occur on template actor sequences #jira UE-56113 Change 3944364 by Max.Chen Sequencer: Prevent circular shot/master tracks. Tested adding master -> child -> master as drag and drop cinematic shot tracks and sub tracks as well as through the + button. #jira UE-56091 Change 3944422 by Max.Chen Sequence Recorder: Disable transform recording if off. #jira UE-56061 Change 3944745 by Andrew.Rodham Sequencer: Key rendering fixes - Fixed assert that occured when keys happened to reside on some times due to KeyTime + TimeOverlapThreshold - KeyTime being slightly larger TimeOverlapThreshold - Fixed keys sometimes being clipped when zoomed right in due to lack of half-frame offset - Added missing documentation to MovieSceneTimeHelpers.h #jira UE-56107 Change 3945231 by Andrew.Rodham Sequencer: Reconstruct channel proxy on Serialize to catch all cases of undo/redo, PostLoad and duplication #jira UE-56089 Change 3945301 by Andrew.Rodham Sequencer: Added safety checks during initial sequence recording to guard against applying negative or 0-sized sequence ranges #jira UE-56125 Change 3946627 by Max.Preussner Fortnite: Fixed game crashes closing editor while in PIE - Pure virtual function being called #jira UE-56144 [CL 3946896 by Max Chen in Main branch]
2018-03-14 22:09:33 -04:00
const int32 ArrowLayer = LayerId + 2;
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3946692) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3801826 by Max.Chen PR #4304: Level Sequence crash fix - Guarded against dereferencing null componen. (Contributed by DSDambuster) Change 3801828 by Max.Chen PR #4302: Movie Scene Visibility Template unitialised variable, causing random . (Contributed by DSDambuster) Change 3801837 by Max.Chen Sequencer: Delay spawning/construction for convert to possessable. This fixes a bug where property values would be lost when converting back and forth from possessable to spawnable. #jira UE-52400 Change 3801841 by Max.Chen Sequencer: Make spacer nodes not selectable. PR #4194: Improvements to Sequencer (Contributed by projectgheist) #jira UE-53117 #jira UE-52139 Change 3804183 by Max.Preussner MediaAssets: Added missing lock in media sound component Change 3805414 by Max.Preussner MediaAssets: Setting valid GUID when initializing media texture resource Change 3819578 by Max.Chen PR #4370: When enabling the "MovieCapture", do not turn off the Stereo-3D display. (Contributed by yehaike) #jira UE-53647 Change 3823414 by Max.Chen Curve Editor: Lock down the first and last keys in the redundant keys removal range so that they're unaffected. #jira UE-53591 Change 3826406 by Max.Chen Sequencer: Move OnStartedPlaying() to within first update in UpdateTimeCursorPosition(). This fixes an issue where setting the hud/player visibility was getting stomped on later. #jira UE-52772 Change 3827044 by Max.Preussner MediaAssets: Added sprite visualization to media sound component #jira UE-53594 Change 3827988 by Max.Preussner MediaPlayerAssets: Fixed Media Texture is not linked to Media Player when created together #jira UE-53532 Change 3828506 by Max.Preussner MediaPlayerEditor: Added attenuation visualizer for media sound components #jira UE-53594 Change 3832590 by andrew.porter EngineTest: Added a keep state check in Property Animation sequencer test Change 3833053 by andrew.porter EngineTest: Adding Hierarchical Bias test Change 3835683 by andrew.porter EngineTest: Adding UMG Animation screenshot test Change 3836076 by Max.Chen Sequencer: Fix audio volume and pitch multiplier deprecation. Change 3836230 by andrew.porter EngineTest: Adding Sequence Bone Position automation test Change 3836347 by Max.Chen Sequencer: Fixes to shot name parsing. When a shot doesn't contain a shot number, assume, [ShotName]_[TakeNumber]. When duplicating a shot, put the new shot in the same path of the original shot, so that the take numbers will increment properly. #jira UE-51868 Change 3836552 by Max.Chen Sequencer: Sub section now has a takes menu Change 3838094 by Max.Chen UMG: Fix template finish not getting called on stop. This fixes a bug where sections aren't restored when finished. #jira UE-52285 Change 3838708 by Max.Chen Sequencer: Add notification when the blend type is changed. #jira UE-54046 Change 3840295 by Max.Chen Sequencer: Fix copy/paste crash for lights #jira UE-54084 Change 3840957 by Mike.Zyracki Added Show Only Keyable and Show Only Animated to the filter list in the property editor. Added IsPropertyAnimated to IDetailKeyframe Interface which already had support for showing properties which are keyable (which is used for the key icon next to the properties.). Could have created another interface but then would have had to mimic the sequencer binding, releasing also, so this seemed best way. One issue still left is that custom built detail items currently don't store associated properties(usually) and so certain properties, in particulalry transforms, won't show up as keyable or animated. Note this also shows up with the keyable icon not showing up next to transform tracks, and other filters like Show Only Modified not working with transforms/customs. Not sure best way to tackle this. #jira UESEQ-328 Change 3841756 by Max.Chen Sequencer: Fix unbound possessable components when pasting spawnables. #jira UE-54104 Change 3843950 by andrew.porter EngineTest: Renaming LevelStreaming tests/content to LevelVisibility Change 3844082 by Mike.Zyracki Missing file for animated filter in property editor. When finding if a track is animated we need to find it but we can't easily induce the MovieTrack class for any particular property. So we don't set a class for it and just search by it's ID and name. #jira UESEQ-328 Change 3846902 by Max.Preussner ImgMedia: Fixed image media player never finished initialization if loading failed #jira UE-54247 Change 3849820 by Mike.Zyracki Reassigning deleted widgets didn't work since the menu extender mechanism needs a valid UObject in order to perform an operation on it. So to fix we replaced GetObjectBindingContextMenuExtender in WidgetBlueprint with new delegate mechanism (OnBuildCustomContextMenuForGuid) that supports FGuid in addition to UObjects which is needed to handle re-binding deleted widgets. Note that the default sequencer hacks this for replacing deleted actors in SequencerObjectBindingNode to check to see if a LevelSequence is active. We could move to this mechanism there also. #jira UE-53163 Change 3852211 by Max.Chen UMG: Indicate name of the property that is not bound. #jira UE-54350 Change 3854120 by Max.Chen Sequencer: Fix sibling folders being allowed to have the same folder name. #jira UE-54363 Change 3854627 by Max.Chen Sequencer: Step to next/previous key should work for all tracks if there aren't any selected. #jira UESEQ-391 Change 3855825 by andrew.porter EngineTest: Adding animation blending automation test Change 3855950 by andrew.porter EngineTest: Adding correct expected valuues to animation blending test Change 3856237 by Matt.Hoffman UESEQ-336 - Sequencer Track Reordering Adds the ability to re-order Master Tracks, Folders and Object Bindings within sequencer hierarchies (including UMG). Adds the ability to do a one-off sorting of the content under the old sorting behavior if the user wants to reset their layout to how it was under legacy behavior. Modifies SequencerTrackNodes, SequencerFolderNodes and SequencerObjectBindingNodes to handle CanDrop/OnDrop for above, below and ontop of. Fixes a Slate Issue that forcibly expanded a TreeviewRow if an item handled OnDrop. Slate will now only forcibly expand the row if the item says the drop happened ontop of the item, and not above or below it like it previously did. Change 3856503 by andrew.porter EngineTest: Adding automation test for using animation blueprint with blend multi node in sequencer Change 3857875 by Max.Chen Sequencer: Assign the sequence id after the template is compiled. #jira UE-54462 Change 3858344 by Max.Chen Sequencer: Prevent Goto and Transform boxes from overlapping by allowing them to be visible at the same time in an autosized horizontal box. Also, added close button to the goto box. PR #4425: Prevent Goto and Transform boxes from overlapping in Sequencer ... (Contributed by projectgheist) #jira UE-54210 Change 3860566 by andrew.porter MediaFrameworkTest: Set the option to index 0 for the audio and video track list by default Change 3860654 by andrew.porter EngineTest: Enabling Camera Cut + FOV test Change 3860981 by andrew.porter EngineTest: Updating skeletal mesh tests with a delay after set playback position Change 3861256 by Max.Chen Sequencer: Add all bindings if none selected. #jira-54440 Change 3862154 by Andrew.Rodham Added TimeManagement module Change 3862424 by andrew.porter EngineTest: Turned on the test Bone Positions with Blend Multi Node Change 3862573 by andrew.porter EngineTest: Adding test to compare bone positions in a sequence that is blending an animation that is using an AnimBP Change 3865117 by Max.Chen Sequencer: Stop auto scroll on mouse release of movement. #jira UE-31212 Change 3865303 by Max.Chen Sequencer: Add drag and drop transactions #jira UE-54662 Change 3865304 by Max.Chen Sequencer: Fix crash when an actor factory is not found. Change 3865361 by Max.Chen Sequencer: Don't change the camera/shot lock button when popping out of a sequence. #jira UE-54665 Change 3865412 by Max.Chen Sequencer: Determine whether a transform track is for a camera by using the spawned object or template #jira UE-54666 Change 3865685 by Max.Chen Sequencer: Clear autoscrub offset when stopping autoscroll #jira UE-31212 Change 3865886 by Max.Chen Sequence Recorder: Log an error if the number of frames changes while recording. This can happen if the skeleton changes while recording. #jira UE-48715 Change 3866925 by Andrew.Porter MediaFrameworkTest: Changing the current PNG test video image sequence to 1024 x 576 Change 3867705 by andrew.porter QAGame: Adding Audio Sort Sequence to dev folder Change 3867890 by andrew.porter QAGame: Adding a sequence for testing a sorting crash to my dev folder Change 3872628 by Max.Chen Movie Scene Capture: Split delay before warmup into split delay before shot warmup so that there's separate controls for when the movie scene capture warmups up vs. shot boundaries. Change 3873131 by Matt.Hoffman UE-54732 - Crash reordering a folder with a track. This was caused by folders being the only type of track to check if someone was putting a parent track into a child track. Object Binding tracks and Tracks now check as well so that you can't use the above/below drop targets to add parents as children. This also fixed a typo in the localization keys. #jira UE-54732 Change 3873301 by Mike.Zyracki Added ability to support continous euler angle changes when changing rotations, in particularly with the rotation gizmo's. To do this we effectively added a form an of 'euler filter'(https://en.wikipedia.org/wiki/Euler_filter) to find the closest euler angle to the current euler angle. Three functions were added to FRotator to make this possible, one to get the euler angle that's has the same rotation as it, one to get the difference between two euler angles via Manhattan distance and a third using the previous two to choose a Rotator value that's closest to it. We then use these functions before calling UComponent::SetRelativeRotation to make sure we use the correct Euler after the Quat conversion. We also no longer limit(bound) the euler angles to -180,180, which is obviously necessary to avoid flips. I also changed how we caluclate yaw and roll when pitch is -90 or 90 to make it the standard approach of zeroing out roll and just setting yaw. Main reasons are the previous implementation had precision issues so things like 180, 90, -180 would show up due to numbers being nearly zero but negative,(this would break any smooth interpolations), and this facilitates having a 'gimbal' rotation mode (like Maya, Blender etc..) if we ever want that also. If needed we could keep the previous implementation but would need to add some FMath::IsNearlyZero checks, with less performance. Note we only do this special filtering when applying delta's to actors or components in the editors, which then call UComponent::SetRelativeRotationExact, which is a new function to foces the RelativeRotation to be equal to the new rotation. This allows us to store un-nomalized Rotators at the cost that the RotationCache may be broken. We didn't change any of the other UComponent functions that set rotations (via Quats or Transforms) so they will still be bounded and unwound. In SetInternalWorldLocationAndRotation we only set the rotation if the rotation has changed, which fixes the rotation getting changed and re-normalized if just translate happens. In TransformTrackEditor, we correclty use the bUndwing flag and in MovieScene3DTransformSection there was an un-needed winding check there, it will be unwound earlier if needed, which happens if Sequence Recording is happening. Max we should talk about what to do about this . Note the euler angle drag via the widget is still bound to 0-360. I think we should just unbound that now since the rotations value are now unbound. This review now includes fixes suggested by Zak. #jira UE-UE-22228 Change 3873483 by Matt.Hoffman Sequencer Tracks can now be inserted above the spacer at the bottom of the tree. #jira UE-54706 Change 3873899 by Max.Chen Sequencer: Add section selection throbbing Change 3873908 by Max.Chen Movie Scene Capture: Added logging per frame Change 3873924 by Matt.Hoffman Adds the ability to store Sequence Recorder setups into profiles that stay with the map and can be re-loaded later. Profiles store the Actor Recordings so the settings for each actor should carry with them. #jira UESEQ-339 Change 3874726 by Matt.Hoffman Disable drag-and-drop targets on spacers that come between rows in Sequencer. This prevents extra drag/drop targets showing up between each row. #jira UE-54706 Change 3874862 by Matt.Hoffman Audio Track no longer gets reordered when adding sub-audio tracks, as sub-tracks are no longer counted towards the sorting order index when normalizing indexes. #jira UE-54727 Change 3875905 by Matt.Hoffman Disable Fade Track UI if a fade track already exists in the sequence. #jira UESEQ-393 Change 3876163 by Max.Chen Sequencer: Swap the camera object to the camera component's owner if it's not the same. #jira UE-54874 Change 3876971 by Andrew.Porter EngineTest: Moved Media Player Seek test to new folder. Also enabled the test with new ground truth image. Change 3877040 by Max.Chen Cine Camera: Split camera properties to two groups, "Camera Options" and "Camera Settings". The cine camera now hides properties in the "Camera Settings" group so that properties like bConstrainAspectRatio (in the "Camera Options" group) can be visible. #jira UE-54192 Change 3877763 by Max.Chen Curve Editor: Fix curve changed on end drag so that only curves that had keys/tangents that were changed receive notification, otherwise all loaded curves were getting notified that they were changed. #jira UE-54951 Change 3878234 by Matt.Hoffman Disable "Drop Below" targets for Sequencer Tree nodes to prevent a confusing UX issue where dropping underneath a Object Binding Node puts it after the object binding node but the UI looks like it's inserting it inside the Object Binding node. #jira UE-54743 Change 3879359 by Mike.Zyracki If a track is inactive we dim it a bit which seems to be the UE4 way to show inactive or disabled state. We changed the active logic so that all subtracks need to be inactive for the track to also be inactive(instead of all active for active). This conforms to how the active state actually works, e.g if you have two sections and only one is active the track is still active above it. #jira UESEQ-388 Change 3879462 by Max.Chen Sequencer: Allow dragging onto a particular row which would move out any overlapping sections to make space for the newly created section. Newly created sections are now selected and throbbed to draw attention to themselves. #jira UE-54664 Change 3879464 by Max.Chen Sequencer: Fixed overlapping ranges being inserted into the evaluation field during compilation - The issue was that track segments that had been combined with adjacent segments (due to them being identical) would potentially cause a subsequently compiled frame to overlap with a range that had already been inserted into the evaluation field. - The insertion code previously asserted that only minor overlaps were catered for (due to fp rounding errors) and assumed that a supplied range could not entirely contain any other range in the field. - The solution is to supply the insertion time along with the range to know exactly where the data should live in the field, and crop the range to the maximum allowable space between adjacent ranges. #jira UE-54922 Change 3879590 by Matt.Hoffman Items that are now added to the Sequencer via the "+Track" menu will be selected after being added. Items can now be added inside of folders instead of just to the root level. #jira UE-27397 Change 3879612 by Mike.Zyracki Display Nodes with no children are always active. #jira UESEQ-388 Change 3879730 by Matt.Hoffman Sequence Recorder's actor recording groups now remove items from the group when removed via the UI. #jira UESEQ-339 Change 3880256 by Mike.Zyracki Fix issue with inactive display with folders and other track nodes. #jira UESEQ-388 Change 3883491 by Max.Chen Fix issue where tick is skipped due to last ticked pose isn't cleared after AnimInstance changes. Copy from Release-4.19 #jira UE-51323 Change 3883603 by Max.Chen Movie Scene Capture: Add option toggle disable screen percentage. By default this is on (no change in current behavior). #jira UE-51898 Change 3885074 by Max.Preussner MediaCompositing: Resetting media texture & freeing resource on section end; removed dead code Change 3887220 by Max.Preussner MediaCompositing: Defaulted media section duration to 1 sec (since we do not know the actual duration in most cases) Change 3887478 by Matt.Hoffman Sequences now show [Inactive] in their title bars when they're disabled. This helps communicate why a sequence isn't being evaluated. #jira UE-51469 Change 3888985 by Max.Chen Movie Scene Capture: Clamp HDR Compression Quality between 0 and 1. #jira UE-55136 Change 3893519 by Max.Chen Sequence Recorder: Clarified tooltip for bRecordNearbySpawnedActors - spawned actors will still be recorded if they match the ActorFilter. #jira UE-55238 Change 3893546 by Max.Chen Sequence Recorder: If a selected actor already has a recording, add a blank recording. #jira UE-55239 Change 3894044 by Max.Preussner MediaCompositing: Added support for seeking into a media section Change 3894310 by andrew.porter MediaFrameworkTest: Adding Img media sources for 1080 and 2160 ravent test content Change 3894426 by Max.Preussner MediaAssets: Letting media textures with AutoClear retain their clear color when player is reset Change 3895717 by Max.Chen Sequencer: Null checks to prevent crash when saving the default state of a spawnable #jira UE-55304 Change 3897388 by Max.Chen Sequencer: Don't update current time to be within the view range when stepping into a sequence. #jira UE-55322 Change 3897452 by Max.Chen Audio: Fix crash when trying to record audio without any active capture devices. Log warning if the number of input channels is not 1 or 2. #jira UE-55223 Change 3897619 by Max.Preussner MediaCompositing: Removed commented out code Change 3898072 by Max.Chen Sequencer: Override the animation asset in the player state if it doesn't match the animation asset that's being evaluated. #jira UE-55328 Change 3898272 by Max.Preussner MediaPlayerEditor: Made slate brush constants static Change 3898704 by Max.Chen Sequencer: Skip if the binding id's sequence can't be found. #jira UE-55337 Change 3899855 by Max.Preussner MediaCompositingEditor: Added cache state visualization to media track Change 3900300 by Max.Preussner MediaCompositingEditor: Added loop indicators to media sections Change 3900694 by Max.Preussner ImfMedia: Looping cache only when player is looping Change 3900892 by Max.Preussner Stats: Added stats category for media framework Change 3900954 by Max.Preussner MediaCompositing: Don't evaluate at the end of media section Change 3901348 by Max.Preussner Core: Replaced TLruCache autos for better readability Change 3901655 by Max.Preussner ImgMedia: Added more perf stats to EXR reader Change 3901972 by Max.Preussner MediaAssets: Added getter for media player in media sound components Change 3902233 by Max.Preussner MediaAssets: Enabling media textures to receive samples right after player is assigned Change 3902238 by Max.Preussner MediaCompositing: Working around init/shutdown idiosyncracies in sequencer Change 3904045 by Max.Chen Sequencer: Fix copy/paste crash. Only process UMovieSceneCopyableBinding and objects that can be spawned by the movie scene spawn register. #jira UE-55314 Change 3905605 by Max.Chen Sequencer: Restrict spawnables from being created if they have a ClassWithin that UMovieScene is not a child of. #jira UE-55429 Change 3906550 by Max.Chen Sequencer: Add media track icon #jira UE-55480 Change 3907101 by Max.Chen Sequence Recorder: Fix bugs related to not recording a level sequence. There were certain assumptions that creating a level sequence meant that sequence recording was in progress. This is not always the case - the recorders can record animation assets and not create a level sequence. Changed the notion of IsRecording() to having at least one actor recording that is recording. Countdown timer, recording displays, etc should function if IsRecording() and not based on whether a level sequence is created. #jira UE-55485 Change 3907247 by Max.Chen Sequence Recorder: Fix crash not removing PrepareToCleanseEditorObject delegate. Repros when opening sequence recorder, closing it, and then opening or creating a level. Change 3910343 by Max.Preussner Core: Added async helper for executing functions on a given thread pool Change 3910346 by Max.Preussner ImgMedia: Added separate thread pools for loading/decoding and deleting image frames Change 3910829 by Max.Preussner Profiler: Increased visible range of profiler graph Change 3910841 by Max.Preussner MediaCompositing: Displaying asset name instead of full media source path in media section Change 3910870 by Max.Preussner ImgMedia: Using deallocation thread pool only in debug builds Change 3919642 by Max.Chen Sequence Recorder: Clarify active tooltip #jira UE-55661 Change 3919660 by Max.Chen Sequencer: Sequence template source signatures are now also compared to catch the case where a sub-sequence asset has been saved but not modified - The following sequence of events exposes this issue: - Create a master sequence with a single shot that spawns a cube - Add this sequence to a level and set it to auto-play - Save everything and restart - Resave just the inner shot asset without opening it - PIE - The inner shot never spawns its cube because its template was wiped on save, but its signature never changed. Since the master sequence previously didn't check the template source signature, it ends up trying to evaluate an empty template. #jira UE-55626 #jira UE-55490 Change 3921825 by Max.Chen Sequencer: "Run Construction Script in Sequencer" is off by default for blueprints but on for Sequencer. This allows the content author to switch it on for specific blueprints and sequencer will be default, run those with construction scripts enabled. Change 3922232 by Max.Chen Sequence Recorder: Reset countdelay on stop. #jira UE-55755 Change 3922306 by Max.Chen Sequence Recorder: Don't automatically mark transforms to be recorded by sequence recorder. Instead, log a warning if the user toggled it off to warn that the resulting animation might not match gameplay. #jira UE-55758 Change 3922912 by Max.Chen Sequence Recorder: Fix refresh next sequence name #jira UE-55757 Change 3927654 by Max.Chen Movie Scene Capture: Added format mapping for the name of the current camera #jira UE-55769 PR #4537 Change 3927658 by Max.Chen Sequencer: Added fbx property mapping for "FocusDistance" to "FocusSettings.ManualFocusDistance" #jira UE-55782 Change 3932022 by Max.Chen Sequencer: Add import animation track section to next available row index. #jira UE-55892 Change 3933919 by Max.Chen Sequencer: Jump to playback start frame and not 0 to start playback for recording. #jira UE-55933 Change 3934307 by Andrew.Rodham Sequencer: Add template signature that is re-generated every time the base template is regenerated, which invalidates evaluation fields This fixes an issue where the same sequence is instantiated multiple times in a sequence. If the source sequence was saved, its template would be wiped, which would invalidate the template ID When an instance tries to evaluate the master template, it would only invalidate a range in the evaluation field that was the hull of any invalid sub sequences overlapping the current time, potentially leaving invalid data in the evaluation field at positions later (or earlier) on in the sequence When the sub template was re-generated, it receives the same SequenceSignature as it had before (because the sequence hasn't actually changed), which causes the stale evaluation field data to fail the IsDirty check (because the sequence is the same as it thought, but the *template* has changed) This has been addressed be adding a signature to templates themselves, and checking both the template signature and sequence signature as a part of the IsDirty check. This ensures that we regenerate if either the template, or the sequence have changed. #jira UE-55934 Change 3936327 by Andrew.Rodham Sequencer: Removed increment when trimming right UMovieSceneSection::TrimSection already explicity assigns an exclusive bound to the time passed in. The new behavior means we can trim a section to the right, and insert another section without changing the time to create adjacent sections. #jira UE-42652 Change 3936328 by Andrew.Rodham Fixed KeyFrameManipulator assignment operators and copy/move constructors - These types are potentially self-referential so cannot use default constructors/assignment Change 3936330 by Andrew.Rodham Converted UMGSequencePlayer to use frames internally #jira UE-54878 Change 3936726 by Max.Chen Sequencer: Set track node as the parent of the key area node. The key area switcher needs the object binding id from the parent object binding node. Without this, the binding to the external value fails. #jira UE-55931 Change 3936775 by Max.Chen Sequencer: Should stop or loop should compare DurationFrames with Current Time from StartTime. The bug is that if you set 30 warmup frames in movie rendering for a range of 0-100, the FrameRange will be starting at -30 and have a duration of 130. Without this fix, the playback will continue until frame 130, rather than 100. #jira UE-55933 Change 3936935 by Matt.Hoffman Easing Curves are now represented in Play Rate resolution instead of internal resolution. #jira UE-55937 Change 3937069 by Matt.Hoffman Users can toggle if the is infinite on each side, limited by which tracks support infinite ranges. #jira UE-55891 Change 3937516 by Max.Preussner ImgMedia: Added support for single-threaded platforms #jira UE-55986 Change 3937826 by Max.Preussner MediaAssets: Disabling media sound components on HTML5 if AudioMixer is not enabled Change 3937997 by Max.Chen Curve Editor: Add Zoom to Fit Curves so that selected curves from Sequencer can be focused on. Tested that undo doesn't re-zoom. #jira UE-55935 Change 3938000 by Max.Chen Sequencer: Stop all sounds before generating audio waveforms. #jira UE-55951 Change 3938376 by Max.Preussner XGEController: Disabled XGE Controller in single-threaded apps to prevent crash Change 3938444 by Max.Preussner Core: Added async support for single-threaded applications Change 3938445 by Max.Preussner Networking: Added support for single-threaded applications in UDP socket sender/receiver Change 3938447 by Max.Preussner Messaging: Added support for single-threaded applications Change 3939432 by Max.Chen Sequence Recorder: Append command list to global level editor actions so that shortcuts are accessible in level editor. #jira UE-55798 Change 3940229 by Andrew.Rodham Added prospective display rate upgrade to UMovieScene::PostLoad - There was previously some very odd behaviour that would assign the fixed frame interval only when a sub sequence was focused in SSequencer. This meant that many sequences could have a frame interval of 0 set in the data. - Under the old method of snap interval display this would have fallen back to getting the display interval from the sequencer settings, but we no longer look at these. - The USequencerSettings properties have been removed and in their place, a prospective data upgrade for sequences that have a fixed frame interval old 0fps that sets the play rate to the previous defaults based off the old USequencerSettings defaults. - This could end up 'changing' the display rate for sequences where the user has changed the snap interval in the settings for a particular sequence editor, but there's not much we can do about that given we don't have access to the USequencerSettings classes in UMovieScene #jira UE-55919 Change 3940277 by Andrew.Rodham Sequencer: Added ability to default frame resolutions and play rates for newly created actor sequences Change 3940378 by Andrew.Rodham Sequencer: Post move import dialog now defaults to the playback framerate of the sequence, and floors to frame numbers Change 3940559 by Andrew.Rodham Reinstated primed or recording sequence color Change 3940642 by Max.Preussner ImagePlate: Removed image plate media playback functionality Change 3940843 by Max.Preussner Core: Made TCircularQueue actually thread-safe; improved code comments Change 3940860 by Max.Chen Sequencer: Changed StructNameToKey to StructPathToKey Previously, keying a PropertyPath of [RenderTransform][Shear][X] would get trimmed to X, which doesn't map to a channel name as considered by Sequencer2dTransformTrackEditor. Instead, trim the resulting property path to [Shear][X] so that track editors can determine the desired struct path and channels to key. #jira UE-52966 Change 3941292 by Mike.Zyracki Fix for trajectories out of range not showing up. 1) If we had no key data we would pop the time, so wouldn't get the section ranges. 2) Calculating of upper bound was wrong, checking against -1 and not key == num of keys when doing algo::lower_bound. 3) No need to do the Bck-- for the bakward iterators since we fixed #2. We start now from the upper bound correctly. 4) If we had no keys (at section start,end) we would incorrectly say we were any key type, so since we draw constant keys as dashed we would do so incorrectly around section end points. #jira UE-55929 Change 3941424 by Max.Chen Curve Editor: Change Zoom to Fit to use TArrayView Change 3941498 by Max.Preussner Core: Added FMath::DivideAndRoundNearest function Change 3942097 by Matt.Hoffman Drop Frame Timecode Support for NTSC rates. Change 3942104 by Matt.Hoffman Sequence Recorder Group is no longer visible inside the World Outliner after using one. #jira 55266 Change 3942107 by Max.Chen Sequencer: Resurrect logic to find or extend an existing section when adding keys. Change 3942330 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942339 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942507 by Andrew.Rodham Sequencer: We no longer pad the time overlap threshold with a small number that is not scaled by the current zoom level - The presence of this pad was causing keys that were far apart to be grouped when zoomed in a long way Change 3942509 by Andrew.Rodham Sequencer: Only pad total view range, rather than section range as well when retrieving keys to render - This stops us from rendering keys that are within the view range, but outside the section range Change 3942512 by Andrew.Rodham Added transactions to some sequencer details customizations Change 3942513 by Andrew.Rodham Sequencer: Reinstated validation checks to UMovieSceneSection::SetStartFrame and SetEndFrame, changed erroneous uses to use SetRange Change 3942560 by Andrew.Rodham Pass by rvalue reference to appease error C2719 on Win32 ('InChannels': formal parameter with requested alignment of 8 won't be aligned) Change 3942697 by Andrew.Rodham Newly Created Level Sequences and Actor Sequences now default to 24000 fps frame resolution (+/- ~24hrs range, supporting all integer rates + 23.976) Change 3942700 by Andrew.Rodham Sequencer: Added legacy out-of-bounds errors for times that are not supported by the current legacy upgrade frame resolution Change 3942989 by Max.Preussner Core: Fixed circular queue count calculation Change 3943538 by Max.Preussner MediaAssets: Reverted workaround for procedural audio log spam in HTML5 (Actor component initialization cannot be skipped if the component is used in a level) Change 3944071 by Max.Preussner QAGame: Fixed Media Texture keeps last frame of Media when PIE ends #jira UE-53360 Change 3944292 by Max.Chen Sequencer: Added extra flags to ensure that asset initialization does not occur on template actor sequences #jira UE-56113 Change 3944364 by Max.Chen Sequencer: Prevent circular shot/master tracks. Tested adding master -> child -> master as drag and drop cinematic shot tracks and sub tracks as well as through the + button. #jira UE-56091 Change 3944422 by Max.Chen Sequence Recorder: Disable transform recording if off. #jira UE-56061 Change 3944745 by Andrew.Rodham Sequencer: Key rendering fixes - Fixed assert that occured when keys happened to reside on some times due to KeyTime + TimeOverlapThreshold - KeyTime being slightly larger TimeOverlapThreshold - Fixed keys sometimes being clipped when zoomed right in due to lack of half-frame offset - Added missing documentation to MovieSceneTimeHelpers.h #jira UE-56107 Change 3945231 by Andrew.Rodham Sequencer: Reconstruct channel proxy on Serialize to catch all cases of undo/redo, PostLoad and duplication #jira UE-56089 Change 3945301 by Andrew.Rodham Sequencer: Added safety checks during initial sequence recording to guard against applying negative or 0-sized sequence ranges #jira UE-56125 Change 3946627 by Max.Preussner Fortnite: Fixed game crashes closing editor while in PIE - Pure virtual function being called #jira UE-56144 [CL 3946896 by Max Chen in Main branch]
2018-03-14 22:09:33 -04:00
FPaintGeometry MyGeometry = AllottedGeometry.ToPaintGeometry( FVector2D( HandleStart, 0 ), FVector2D( HandleEnd - HandleStart, AllottedGeometry.Size.Y ) );
FLinearColor ScrubColor = InWidgetStyle.GetColorAndOpacityTint();
Copying //UE4/Dev-Sequencer to //UE4/Main ========================== MAJOR FEATURES + CHANGES ========================== Change 2875025 on 2016/02/20 by Andrew.Rodham Sequencer: Cinematic viewport improvements - Added optional letterbox overlay (defaults to 2.35:1) - Added ability to change safe frame colors - Added selected tracks' keys to the transport range - Added buttons for jumping between selected tracks' keyframes on the transport controls - Removed black padding around the viewport where possible - Added ability to specify whether a combo button/menu anchor should close when its parent receives focus - Separated logic of FGroupedKeyArea into FSequencerKeyCollection, so it can be used independently - Added playback range to the viewport frame numbers - All frame numbers are now spin boxes #jira UE-26429 Change 2875026 on 2016/02/20 by Thomas.Sarkanen Added console commands for recording sequences Changed plugin to a developer plugin so we can load it when the editor is in -game mode. Added Exec commands. Added some more logging to help diagnose problems when using commands. Added loading/saving of config for recorder settings (stored in Editor.ini). Also disabled controls in recorder window when recording. Added auto-saving of assets when in non-editor modes. Moved animation settings from UnrealEd to Engine module. Change 2875036 on 2016/02/20 by Max.Chen Sequencer: Call RedrawAllViewports instead of RedrawLevelEditingViewports. In particular, this fixes some update issues when editing values in the key editors. #jira UE-26960 Change 2875046 on 2016/02/20 by Max.Preussner Sequencer: Fix so that clicking on UMG Animations doesn't dirty the scene. #jira UE-26249 Change 2875047 on 2016/02/20 by Max.Chen Sequencer: Add option to toggle display of channel colors/lines. View->Channel Colors Change 2877138 on 2016/02/23 by Max.Chen Sequencer: Select corresponding track node when selecting key or section. Removed active/inactive selection since it was only being used in deletion and the rules for deletion are now dependent upon what is selected - delete keys and sections before deleting outliner nodes. Change 2877143 on 2016/02/23 by Thomas.Sarkanen Added new math function: WindRelativeAnglesDegrees Given two angles in degrees, 'wind' the angle in Angle1 so that it avoids >180 degree flips. Good for winding rotations previously expressed as quaternions into a euler-angle representation. Change 2877147 on 2016/02/23 by Thomas.Sarkanen Added the ability to import sequencer transforms from the root node of an animation sequence Intended for use after re-importing animations from DCC tools. Available in the right-click menu for transform tracks. Also added FindTrackBinding to UMovieScene so track bindings can be recovered from tracks. Change 2877163 on 2016/02/23 by Max.Chen Sequencer: Add option to create keyframe sections as infinite. Sequencer defaults to true, UMG defaults to false. Change 2877165 on 2016/02/23 by Max.Preussner Sequencer: Drawing vertical position lines when dragging keys Change 2878748 on 2016/02/23 by Max.Chen Curve Editor: Switch curve type to user when flatting or straightening tangents. #jira UE-27277 Change 2878799 on 2016/02/23 by Frank.Fella Sequencer - Add folders support to the outliner. Change 2880769 on 2016/02/24 by Andrew.Rodham Sequencer: Added ability to override runtime spawnable ownership in sequencer - This is exposed as an option on spawnables "Keep Alive Outside Playback Range (In Sequencer)" - Enabling this will stop spawnables from being destroyed when scrubbing outside of the playback range #jira UE-27205 Change 2880770 on 2016/02/24 by Thomas.Sarkanen Sequencer: Added countdown and recording indicator display when recording Also fixed extra popups added post-PIE when animation recordings auto shutdown. Change 2880782 on 2016/02/24 by Max.Chen Sequencer: Snapping now also uses the current time as a possible snap time. #jira UE-26306 Change 2880793 on 2016/02/24 by Max.Chen Sequencer: Add +Animation to Animation track so that it's consistent with all other tracks that have a + button. Change 2880812 on 2016/02/24 by Max.Chen Sequencer: Fix adjusting the leading edge of a shot section so that it cuts into the shot rather than adjusts the start time. #jira UE-26306 Change 2881624 on 2016/02/25 by Andrew.Rodham Changing shader version GUID to fix corrupt shaders in ddc Change 2882408 on 2016/02/25 by Thomas.Sarkanen Asset/actors stored in TLazyObjectPtrs can now reference game content from engine This is a legitimate use case as lazy object ptrs are designed to reference assets/actors cross-domain. Change 2882409 on 2016/02/25 by Thomas.Sarkanen [CL 2899785 by Max Chen in Main branch]
2016-03-08 16:55:04 -05:00
{
// @todo Sequencer this color should be specified in the style
ScrubColor.A = ScrubColor.A * 0.75f;
ScrubColor.B *= 0.1f;
ScrubColor.G *= 0.2f;
}
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 4044339) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3947021 by Max.Chen Sequencer: Don't preserve root component when copying object properties. A spawnable empty actor, has a root component that is generated by the empty actor factory. If the object template's root component is preserved when copying from the spawnable empty actor, the root component will not be copied over. Therefore, we need to NOT preserve the root component when copying object properties. #jira UE-55825 Change 3947366 by Max.Preussner WmfMedia: Better log output Change 3947367 by Max.Preussner MfMedia: Better detection of compressed format properties on Windows Change 3949102 by Max.Chen Sequencer: Remove SequenceActorTag when converting to possessable. #jira UE-56206 Change 3949207 by andrew.porter EngineTest: Set the screenshot nodes resolution to 1280x720 Change 3949404 by Max.Chen Sequencer: More informative tooltip for "Rerun Construction Scripts" option. It now says "Rerun construction scripts every frame on actors that have 'Rerun Construction Script in Sequencer' enabled in their class settings". Change 3950067 by Matt.Hoffman Renamed UAutomatedLevelSequenceCapture's StartFrame and EndFrame to CustomStartFrame/CustomEndFrame to reflect that it is user-overriden. This will also resolve upgrade issues due to the variable datatype changing. #jira UE-56189 Change 3950193 by JohnHenry.Carawon Updating my latest MovieRendering test content. Change 3950757 by JohnHenry.Carawon More updates to MovieRendering test content Change 3952059 by Max.Chen Resave LevelVisibility_SubLevels to fix data loss conversion warning of OpacityMaskConstant #jira UE-56086 Change 3952283 by Max.Chen Sequencer: Disable dropping level sequence assets as spawnables. #jira UE-56120 Change 3952422 by Max.Chen Sequence Recorder: Add button to record from the current player. #jira UE-55942 Change 3952987 by JohnHenry.Carawon MovieRendering Test Content - Fixing camera bindings and changing the override binding actor Change 3953823 by Mike.Zyracki Fix for Bad FBX Import Tangents not scaled by frame rate. After looking at this again it seems that a set of MovieScene:: overiddes for the channel traits wasn't set correctly, so use the ADL idiom to use MovieScene, which can then call Optimize in the correct namespace. With this we can now correctly use the passed in tolerance. There was also a redundant set of Optimize calls so that it could happen twice so removed them, and needed an extra check in the float channel Optimize. Also since we need to set auto tangents no matter if we optimize we don't set that parameter(though leave it since it's used by context menu key reduction). Finally fixed speed issue with trajectories caused by calculating way too many substeps. Reverted back to a time based step size for consistency. #jira UE-56193 Change 3954317 by Matt.Hoffman Adding a key to the last frame of a section no longer causes a crash. Keys can already be moved to be on the last frame of a section so now you can just add a key there directly. #jira UE-56255 Change 3954326 by Matt.Hoffman Dilating a section that is only infinite on one side no longer causes a crash. #jira UE-56260 Change 3954486 by Max.Chen PR #4580: Exposes IsReversed() from UMovieSceneSequencePlayer (Contributed by alanedwardes) Change 3955238 by Max.Preussner Messaging: Enabled delayed message routing https://github.com/EpicGames/UnrealEngine/pull/4574 #jira UE-56247 Change 3955901 by Max.Preussner MediaFrameworkTest: Added developer test for overriding desired media player plug-in at runtime. Change 3955922 by Andrew.Porter QAGame: Updating movie rendering content in dev folder Change 3956004 by andrew.porter QAGame: Adding MPC track to movie rendering test content Change 3956510 by Max.Chen Sequencer: Fix fbx camera import of static properties so that they are imported before default tracks are created. Otherwise, the default tracks inherit the default properties of the camera, rather than the values from the fbx. #jira UE-56311 Change 3957613 by Max.Preussner MediaUtils: Added code documentation to media player facade Change 3958005 by Max.Preussner MediaUtils: Added method to get number of sinks Change 3958934 by Max.Chen Sequencer: Fix keys getting added and sequence getting erroneously re-evaluated when auto key is off. Only apply defaults if there are no keys. Only modify the movie scene section before creating keys or setting defaults. #jira UE-55903 Change 3959687 by Andrew.Rodham Sequencer: Fixed visibility track external values being inverted #jira UE-56324 Change 3960507 by Max.Preussner Core: Fixed incorrect rounding in FMath::DivideAndRoundNearest Change 3962047 by JohnHenry.Carawon MovieRendering Test Content Changes: - Add Lightmass Importance Volumes to sublevel to fix warnings - Rebuilt Lighting - Add a third sequence for Gamut testing - Resaved the sound master.uasset to fix warning Change 3962211 by Mike.Zyracki Add Frame Numbers to selected animation sections. Added MapTimeToAnimation to MovieSceneSkeletalAnimation so that we could get it from the Skeleton Animation track Editor. Since the thickness of the frame line can change based upon frame rate and zoom we need to calculate it similarly to how the time slider controller does it. Those calculations were private so we had to expose FScrubRangeToScreen and GetScubberPixelRange from the TimeSliderController. Also needed to know if the section itself was selected so added a bIsSelected flag to the section Painter. Also fixed a bug where you couldn't add a section if other sections existed at different times in MovieScenePropertyTrack and could crash due to the check(). #jira UESEQ-395 Change 3962497 by Max.Preussner Core: Added new string formatting argument to FTimespan Change 3963662 by Max.Chen CineCamera: Flip VistaVision width and height. Change 3963731 by Max.Preussner MediaCompositing: Implemented sequence recording support for media track Change 3964195 by Andrew.Rodham Sequencer: Set inverted property correctly for newly created visibility track sections - Also clamp evaluation for key editors to the bounds of the section so we're not displaying values outside of the section bounds when the cursor is not on the bounds #jira UE-56324 #coderevew Max.Chen Change 3964196 by Andrew.Rodham Sequencer: Fixed crash when attempting to render sections that resulted in a negative intersection with the view range Change 3964275 by Andrew.Rodham Sequencer: Fixed MovieScene::ClampToDiscreteRange for infinite range bounds Change 3964364 by Andrew.Rodham Curve Editor: Reduce minimum vertical view range when zooming to fit Change 3965091 by Max.Chen Sequencer Recorder: Refresh next sequence if empty when starting a recording, otherwise, use existing name. #jira UE-56469 Change 3965148 by Max.Chen Sequence Recorder: Move Record to Possessable to "Actor Recording" group Change 3965162 by Max.Chen Sequence Recorder: Always break out of immersive mode when done recording, even when stopping recording during countdown. #jira UE-56407 Change 3965214 by Max.Preussner QAGame: Enabled ImagePlate plug-in Change 3965574 by Max.Preussner SimpleComposure: Reorganized & upgraded content to work with new Media Track #jira UE-56488 Change 3965651 by Max.Preussner MediaCompositing: Ignoring seek-on-open if media not seekable Change 3966075 by Christina.TempelaarL Sequencer: Added Final Cut Pro 7 XML Export functionality #jira UESEQ-358 Change 3966087 by Matt.Hoffman Adding a single key to the Particle Toggle track now makes an infinite range section that is displayed in the UI. #jira UE-56295 Change 3966547 by Andrew.Rodham Sequencer: Fixed rounding errors when drawing the section background on boolean sections - Logic was using time in sectonds which caused rounding errors on evaluation and flickering red/green stripes when dragging keys around #jira UE-56324 Change 3966563 by Andrew.Rodham Curve Editor: Key editor interface improvements - SKeyEditInterface has a few problems - it does not update in real time when editing properties, and does not support multi-edit which makes it unsuitable for use with the curve editor - We now take a different approach for editing keys by gathering a set of proxy UObjects for each key that is currently selected. These objects are added as top level objects to the details panel which means they support multi edit as you'd expect from any other details panel in the editor. - Proxy objects are updated every tick for the curve editor if they implement the ICurveEditorKeyProxy interface, which allows them to refresh their current value. - Ideally, the same mechanisms would be used in the main sequence interface, and we would be generating the proxy classes at runtime based on the key value type, but that work remains a separate task from this initial offering. #jira UE-56165 Change 3966564 by Andrew.Rodham Curve Editor: Expand to frame when adding or moving keys in the curve editor Change 3967051 by andrew.porter MediaFrameworkTest: Set the CameraPlayer_Video texture to auto clear Change 3967141 by Andrew.Rodham Sequencer: Keep track of spawned objects that have been modified and only re-save such object's default spawnable state on destruction - Now that we're taking this approach, I've remove serveral redundant bits of functionality in the spawn register such as making some spawnables read-only, and the PreSave binding for Sequencer. - We now hook into all object pre-saves to make sure we handle the case where the sequences are saved through the content browser or elsewhere. #jira UE-47686 Change 3967170 by Andrew.Rodham Sequencer: Added the ability to possess anim instances as object bindings - This allows full and direct animation of properties on UAnimInstance, and animation blueprints - Object Bindings are made by first possessing a skeletal mesh component, then choosing the + Add button where its anim instance will be listed - Added a new function to UMovieSceneSequence to gather previously cached objects that should now be invalidated. Anim instances will be re-resolved if a new UAnimInstance is assigned to USkeletalMeshComponent::GetAnimInstance. - ObjectBindingIDs for anim instances are just represented by an entry in a set of GUIDs. We only ever resolve such bindings through USkeletalMeshComponent::GetAnimInstance. - Only currently supported on LevelSequences #jira UE-56132 Change 3967195 by Max.Preussner Core: Updated TRangeSet to use TCallTraits Change 3967345 by JohnHenry.Carawon Test Content Changes - first iteration of spacing out the examples in the shots. Change 3967572 by Max.Chen Sequencer: Fix setting PreviousPlayEvalPosition until after we've tested whether it's set. #jira UE-56518 Change 3967750 by Max.Chen Audio: Set duration based on number of input channels, rather than number of channels to serialize. This fixes an issue where audio split into 2 channels is set to a duration that's twice as long. #jira UE-56430 Change 3967836 by Max.Chen Sequencer: Allow for animating array elements within ustruct properties #jira UE-55887 Change 3968506 by Matt.Hoffman Fixed ambiguous conversions for seconds and frames being overriden by ambiguous conversion to Timecode (in frames). Change 3968748 by Max.Chen Sequencer: Make the event properties submenu widget larger. #jira UE-55557 Change 3968862 by Max.Chen Sequencer: Recursive expansion when shift is down #jira UE-52139 #pr 4194 Change 3968863 by Max.Chen Sequencer: Bind rename command to selected track so that F2 shortcut start renaming #jira UE-52139 #pr 4194 Change 3968872 by Max.Chen Sequencer: Rekey the selected key at the current time. #jira UESEQ-396 Change 3968938 by Max.Chen Cine Camera: Add option to toggle the behavior of locking the rail mount to the orientation of the spline. By default, the option is off, no change in behavior. #jira UE-55815 Change 3968958 by Andrew.Rodham Sequencer: Consider vertical position when hittesting keys #jira UE-56256 Change 3969643 by Max.Preussner Core: Rounding timespans created from double values towards nearest ticks Change 3969646 by Max.Preussner MediaUtils: Implemented timeout mechanism for block-on-fetch feature Change 3969776 by Mike.Zyracki Added Skip Anim Notifiers Toggle per what was in Matinee. Investigated the Enable Root Motion toggle as also discussed but it's implementation is directly contained by the animation asset and unlike animation notifies there seems to be no exposure to interactively disable it during a playback tick. Note if we are generating thumbnails we still automtically disable notifies in the editor to avoid annoying noise playback. Note that if Enable Root Motion/Root locked is specified in the animation asset it does correctly effect the Sequencer. #jira UESEQ-399 Change 3969835 by Matt.Hoffman Playback Range and Selection Range use unified logic for adding themselves as potential snap locations which properly handles inclusive/exclusive bounds. This resolves an issue where having an unset selection range caused a potential snap location to be added on frame 0 and 1 (internal resolution) which caused a misalignment when placing objects near frame 0. This also removes the one frame offset on setting Selection Range to bring behavior inline with other ranges. #jira UE-55420 Change 3969885 by Max.Preussner MediaAssets: Don't register media player CDO with media ticker Change 3971129 by Andrew.Rodham Sequencer: Fixed UMovieSceneSequencePlayer::GotToEndAndStop() not taking into account for start time This is a remnant from when the times were always specified in 0-duration space, rather than actual sequence times. Change 3972056 by JohnHenry.Carawon More updates to Test Content. I continued spacing out the examples in the sequence so that they have a consistent number of frames between each example and during the start/end of the example. Also removed the Marcie sublevel. Change 3972066 by Andrew.Porter MediaFrameworkTest: Setting Marcie folder to be never cooked in package settings Change 3972675 by Matt.Hoffman Splitting Subsequence Sections no longer sets an incorrect playback range on the subsequence when the subsequence has a different internal resolution than the owning sequence. #jira UE-55453 Change 3973376 by Max.Preussner ImgMedia: Zero is the only valid video track for image sequences Change 3973489 by Max.Preussner Launch: Build rules cleanup pass - don't use Media, MediaUtils on server apps - don't link against Media (include-only dependency) - don't include from MediaAssets (dynamic load only) Change 3973760 by Max.Preussner MediaUtils: Moved AppMediaTimeSource implementation into its own file; added logging Change 3973765 by Max.Preussner ImgMedia: Disallowing seek beyond media length Change 3973855 by Max.Preussner MediaFrameworkTest: Updated developer test content Change 3973858 by Max.Preussner MediaCompositing: Blocking on media player time instead of media sample time (the former may not be hit in the current frame) Change 3974988 by Max.Chen Sequencer: Fix trim left so that it also sets the start offset for audio and skeletal animation sections. #jira UE-57015 Change 3976101 by Matt.Hoffman Sequencer will now focus the scroll view on newly created items. #jira UE-56492 Change 3976203 by Max.Chen Property Editor: Add DetailsViewArgs for ColumnWidth. Defaults to 0.65f, no change in existing behavior. Change 3976205 by Max.Chen Sequencer: Set better column widths for sequencer. #jira UE-55557 Change 3976206 by Max.Chen Sequencer: Added menu category for import/export Change 3976265 by Matt.Hoffman Tracks within Object Binding Nodes will now sort using the old behavior so that components are added above other track types. #jira UE-56473 Change 3976901 by Max.Chen Sequencer: Add event names to event track section #jira UESEQ-353 Change 3977878 by Max.Preussner Media: Moved media framework ticking stats into Media module Change 3977982 by Max.Chen Sequencer: Add Edit->Reset section length to duration of source (ie. audio, skeletal animation, shot length) Added MovieSceneSection::GetDefaultDuration and MovieScene::HasDefaultDuration #jira UESEQ-392 Change 3977994 by Max.Preussner Media: Fetching and rendering media samples before viewports are rendered (to ensure frame sync for in-level media playback) #jira UE-53975 Change 3978188 by Matt.Hoffman Easing Curves are now clipped by the sequence's PlayRange when testing against an infinite section. This causes blended sequences to finish their blend when the section starts/ends instead of always using 25% of the total section length to determine default blend range. #jira UE-56362 Change 3978676 by Max.Preussner MediaCompositing: Fixed first frame of rendered out media track missing #jira UE-53975 Change 3978684 by Max.Preussner MediaCompositing: Enabled media track frame sync feature #jira UE-53975 Change 3980026 by Matt.Hoffman Keys can be selected on folded out sections (such as an audio track expanded to show volume and pitch) again. #jira UE-57169 Change 3981614 by Max.Preussner MediaUtils: Added missing subtitle sample queue flush Change 3982311 by Max.Preussner MediaCompositing: Added safeguard for zero length media sources Change 3982389 by andrew.porter QAGame: Adding media track test content into FrameAccuracySubscene Change 3983661 by Max.Chen Sequencer: Add level name to spawn a spawnable into. Add sublevel menu option to set the level #jira UESEQ-390 Change 3983712 by Andrew.Rodham Sequencer: Purge legacy blueprint spawnables from LevelSequence packages #tests Ran a preflight for cooking fortnite, ocean and Orion. Only orion shows up this edge case, and will require a re-save of the EndCines level #jira UE-39173 Change 3983787 by Max.Preussner MediaCompositing: Moved compile time switch for block-on-fetch into media player facade Change 3983812 by Andrew.Rodham Sequencer: Exposed default level sequence instance data to blueprints Change 3984373 by Max.Preussner Media: Added API for quering whether player plug-in supports block on fetch Block on fetch allows Sequencer and other systems to block the game thread until a desired video frame has been decoded. Change 3984670 by JohnHenry.Carawon Movie Rendering Test Content progress. Saving the state of the content. There is a bug where things got replaced with particle emitters and I think it was because I tried to copy paste an animation track into a separate skeletal mesh track. Change 3985097 by Max.Chen Sequencer: Rename Reset to AutoSize Change GetAutoSizeDuration to return TOptional<FFrameTime> #jira UESEQ-392 Change 3986043 by Max.Chen Sequencer: Fix crash when attach/path duration is less than 0. #jira UE-57310 Change 3986373 by Max.Chen Sequencer: Add support for deleting tracks and channels which equates to setting the channel mask. #jira UE-52951 Change 3986375 by Max.Chen Sequencer: Add Create Pose Asset to skeletal animation section. This allows animators to blend animations in sequencer and create new pose assets from them. #jira UESEQ-408 Change 3986796 by Andrew.Rodham Sequencer: Fixed stale object references remaining in ULevelSequence::BindingReferences when using convert to spawnable/possessable - We used to convert objects by creating a new binding, then re-assigning its GUID, which meant we didn't have to do any further object fixup, but the code to achieve this was confusing and led to a vulnerability where object references would not be cleaned up correctly due to the newly created possessable essentially being a temporary object that's immediately thrown away. - To address this, there is now a function for porting all the contents of one object binding to another, and handles the correct fixup required for parent/child object bindings for both spawnables and possessables. - Also added codepath to remove any stale object references from the level sequence reference map on PostLoad (this piggy-backs off the PurgeLegacyBlueprints object version which is close close enough to this change to be identical) #tests Verified that existing sequences with stale references get cleaned up on load. Verified that repreatedly converting from spawnable<->possessable cleans up references correctly. Change 3987807 by JohnHenry.Carawon Updates to the MovieRendering Test Content. - Fixed the spawnable actors that were overwritten - Shortend the Lighting example and combined the Intensity and Color tracks - Organized the Sequence and WorldOutliner to group the examples. Change 3988151 by Max.Chen Cine Camera: Enable keying the "Enable Look at Tracking" toggle. Change 3988880 by Max.Chen Sequencer: Support enter to add asset for all sequencer track editors that have asset pickers. #jira UE-57367 Change 3988953 by Max.Chen Sequencer: Make the track color picker focusable so that it will close when you click away or lose focus. #jira UE-57210 Change 3988962 by Max.Chen MovieSceneCapture: Fix EDL export so that it takes into account movie scene frame resolution and desired frame rate. #jira UE-57365 Change 3988964 by Max.Chen Movie Scene Capture: Clarified tooltip for bRelativeFrameNumbers. If you specify custom start/end frames for the recording, they will be relative to the playback range. #jira UE-57308 Change 3989442 by Max.Chen Fix CIS Change 3991548 by Matt.Hoffman Dragging the time slider no longer causes the time slider to ignore snap-to-interval with "Snap to Keys While Scrubbing" when no keys are in range. #jira UE-57417 Change 3991598 by Matt.Hoffman Snap to Key while scrubbing now mirrors the behavior of "jump to next key". When there are no tracks selected it snaps to all keys and when there are tracks selected it snaps to only keys from that track. This also resolves an issue where deleting an object did not remove it from the Sequencer's selection. Undoing a delete already doesn't seem to restore your selection, so removing it from your selection shouldn't change that behavior. #jira UE-57417 Change 3991603 by Max.Chen Sequencer: Disable EditAnywhere for some section properties #jira UE-53530 Change 3992240 by Max.Preussner MediaAssets: Implemented dynamic audio sample rate adjustment based on audio/media clock drift #jira FORT-70638 Change 3992911 by Andrew.Rodham Sequencer: Fixed saving spawnable state using the wrong spawned object - We now track the object binding ID so that we can apply the spawned object to the correct spawnable when the asset is saved #jira UE-57353 Change 3992914 by Max.Chen Movie Scene Capture: Fix compression quality not being set. The compression interface wasn't being found through query interface, so no compression was being set. Reworked finding it through the output pins. Tested running various compression values. #jira-UE-55488 Change 3992919 by Max.Chen Sequencer: Convert to possessable now uses object template instead of copying properties (ie. see LevelSequenceActorSpawner). This fixes MIDs getting lost when converting to spawnable and back to possessable. #jira UE-52400 Change 3993184 by Max.Chen Sequencer: Don't show +Transform/+Path/+Attach track if the actor has the "Mobility" property hidden. Set the Landscape, LandscapeProxy and InstancedFoliage "Mobility" property to be hidden since it is static is not supposed to be dynamically movable. #jira UE-56347 Change 3993238 by Max.Chen Sequencer: Test for hidden mobility in creating keys as well. Refactored to HasHiddenMobility() #jira UE-56347 Change 3993978 by Max.Chen Cine Camera: Enable keying the "Enable Look at Tracking" toggle. #jira UE-57489 Change 3994039 by Max.Chen Landscape: Add Mobility to hidecategories on landscape component #jira UE-56347 Change 3994626 by JohnHenry.Carawon Updated Movie Rendering Test Content. - Fixed the overridden spawnables to their proper object types. Change 3994653 by Christina.TempelaarL Sequencer: Added Final Cut Pro 7 XML Import functionality, improved Export functionality #jira UESEQ-358 Change 3995609 by Max.Chen UMG: Add support for 2d transform mask (translation, rotation, scale, shear) #jira UE-52951 Change 3995778 by JohnHenry.Carawon Movie Rendering Test Content Updates - Adjusted Lights example - Adjusted Camera example - Added Marcie sublevel back in Change 3995942 by JohnHenry.Carawon QAGame: Moving Movie Rendering test content from Developer folder to Sequencer folder Also adjusted level visibility, lights and camera example. Change 3995993 by Christina.TempelaarL Sequencer: FCPXML Export updates - only export sections if in playback range and media exists, warn if media does not exist. Other updates - removed unused methods and variables, fixed message context naming to be more accurate #jira UESEQ-358 Change 3996595 by andrew.porter QAGame: Updating Marcie content in TrackEvaluation level to use Image Plate Change 3996614 by andrew.porter QAGame: Adding color test sequence to the sublevel Change 3996643 by Max.Chen Sequencer: Fix fbx animation export - rotation and scale channels were flipped. #jira UE-57509 #jira UE-57512 #jira UE-57514 Change 3996652 by Max.Preussner Messaging: Fixed delayed messaging using incorrect current time after message router sleep Based on https://github.com/EpicGames/UnrealEngine/pull/4601 Change 3996801 by Max.Chen Sequencer: Fix folder active state for non key area sections. Look at track node sections as well as key areas. #jira UE-57550 Change 3997098 by Matt.Hoffman Cleaned up some remaining ToDo's in STimeRange. Change 3998339 by Max.Preussner Sockets: Added documentation for socket receive functions Change 3998359 by Max.Preussner MediaUtils: Started to implement media recorder helper class Currently only supports BGRA frames in CPU memory. Supporting other formats and buffer types will require conversions on render-thread. I recommend refactoring out the existing conversion code in FMediaTextureResource into a reusable helper class in the MediaUtils module. This should be a good starting point though. Change 3998417 by Matt.Hoffman Keys and Sections can now be moved at the same time inside of Sequencer. Keys can now snap to Sections (and vice versa) instead of just to other Keys. Sections can now be duplicated like keys can. #jira UE-56995 Change 3998427 by JohnHenry.Carawon QAGame: Updating test content for the Movie Rendering feature. - Added an auto activate particle to the beginning of the sequence (it's not part of the sequence at all) - Added an event receiver blueprint to the Events example - Added a particle emitter to both sublevels - Added a camera cut to the end that switches to a separate camera - The camera zoom in, focus and Look At sections are all separate (not overlapping in the sequence) - Added a second actor for the camera Look At - Added a Visibility section for the Actor Hidden In Game track that has possessable and spawnable cube and light Change 3998537 by Max.Chen Sequence Recorder: Restore immersive mode when stopping the sequence even if not in PIE. #jira UE-56407 Change 3999809 by Matt.Hoffman Removed the "Go To" box from Sequencer and instead placed the current time as an always visible control. The previous shortcut (Ctrl + G) now focuses the new widget directly. #jira UESEQ-376 Change 4000543 by Christina.TempelaarL Sequencer: Moving editor-only code from runtime module MovieSceneCapture to editor module MovieSceneTools. Moved EDL and FCP XML exporters as well as Automated Level Scene Capture. #jira UESEQ-358 Change 4000706 by Matt.Hoffman Entering multiple time strings without a number no longer crashes Sequencer. #jira UE-57672 Change 4001051 by andrew.porter MediaFrameworkTest: Fixing up some image sources pointing to the wrong location Change 4001191 by andrew.porter QAGame: Adding some quick EDL/XML test content to dev folder Change 4001243 by Max.Chen Sequencer: Fix import EDL out of range. #jira UE-57665 Change 4001856 by Matt.Hoffman Selecting keys and sections at the same time now also works with animation and audio sections. #jira UE-57716 Change 4002021 by Max.Chen Sequence Recorder: Fix sequence name incrementing. If external recording sets the sequence name, use it. Otherwise, use the recording name from the recording group or the recording settings. #jira UE-57712 Change 4002618 by Max.Chen Viewport: Update the look at location when updating to a locked actor. This fixes an issue so that popping the view out of a locked actor and manipulating the view will not jump to the previous look at location. #jira UE-57725 Change 4002979 by Matt.Hoffman Fixes several edge cases with the end time range that was causing confusion about what the last frame of the sequence was. Dragging the End Frame slider will no longer be off by one tick and jumping to the end via the UI controls now properly respects snapping and stays inside the play range instead of falling outside of it. Overall behavior does not change though and End Frame should be considered an exclusive frame so that frames 0-150 results in a 150 frame long animation (which is frames 0-149). #jira UE-56367 Change 4003185 by Matt.Hoffman Fixed a regression that prevented a section from being dragged upwards past row 0 which normally resulted in all other rows moving down. #jira UE-57717 Change 4003193 by JohnHenry.Carawon QAGame: Updates to test content - Shortened frames between the examples from 95 to 30 - Separated camera setting tracks - Lighting example now switches directly from constant red - green - blue Change 4003369 by Max.Chen Sequence Recorder: Refresh next sequence regardless of internally stored sequence name. #jira UE-55757 Change 4003586 by JohnHenry.Carawon QAGame: Test Content Updates - Level Visibility track now ends to that the levels are not visible when we move to the next example - Shortened camera section, removed Z tranform so that we just move left to right and shortened the overall length Change 4004414 by Max.Chen Movie Scene Capture: Fix regression where rendering with shot handles would only render the first shot. 3972166 addressed an issue where an extra frame would be rendered by finalizing right when the end frame was reached. This was hit on the first shot end frame, so instead, do this only for when the last shot is being rendered. #jira UE-57314 Change 4004765 by Christina.TempelaarL Sequencer: Fixed bugs in FCP XML import/export. - Export: fixed sequence default resolution. - Export: fixed XML files with no shots. - Export: all sections clipped to playback range. - Export: fixed incorrect section start/end times due to precision issues. - Import: fixed incorrectly adding cinematic tracks. - Import: fixed bugs creating new sections. #jira UE-57660 #jira UE-57662 #jira UE-57655 #jira UE-57761 Change 4005119 by Max.Chen Sequencer: Export/import at play rate Change 4005195 by Max.Chen UMG: Finish UMG evaluation on stop. Added object version so that existing UMG assets do not change. #tests - Newly created UMG animation with sections set to restore state now return to their original state. Existing UMG animations with sections set to restore state do not return to their original state. #jira UE-52285 Change 4005377 by Michael.Karambelas QAGame: Moving TM-SequenceRecorder and related content out of my developer folder and into /Content/Sequencer/SequencerRecorder/* Change 4005417 by Michael.Karambelas QAGame: Fixed a BP compiler in the Level Blueprint of TM-SequencerRecorder. Change 4005634 by Michael.Karambelas QAGame: Fix up missing content and broken level sequence in TM-SequenceRecorder after move Change 4006324 by Max.Chen Sequencer: Reset if the focused movie scene is null. This fixes a crash if the user is focused in on a shot and undo takes the user past the point of where the shot was created. #jira UE-57752 #jira UE-47661 Change 4007006 by Max.Chen Sequencer: Fix FindAvailableRowIndex so that it returns the max row index (and not +1) since it doesn't find any conflicting rows. #jira UE-57717 Change 4007907 by Max.Chen Sequencer: Fix crash if there's no animation Change 4007948 by andrew.porter QAGame: added test content to dev folder for Record World Space Change 4008636 by Max.Chen Sequencer: Fix import fbx not setting values properly and creating additional cameras unncessarily. #jira UE-57864 Change 4008759 by Max.Chen Sequencer: Follow up fix for import cameras #jira UE-57864 Change 4009994 by Matt.Hoffman Dragging the left or right handles of the Time Range slider in Sequencer will now zoom your view in on the current center of the screen. This prevents the view from being translating as you tried to zoom in which caused issues at high zoom levels. #jira UESEQ-407 Change 4010169 by Christina.TempelaarL Sequencer: FCP XML fixes. - FCP XML export - no longer clips to playback range - FCP XML and EDL export - fixed missing last frame of some sections after exporting to Premiere. - Automated level capture, EDL export - use RoundToFrame instead of FloorToFrame for computing section start/end frames after frame rate conversion. #jira UE-57802 - partial fix, movie scene capture still needs to render full section rather than clip against playback. Change 4010287 by Mike.Zyracki Add quaternion interpolation option to UMovieScene3DTransformSection. This mimics how Matinee used to work by bascially finding the keys between a time and interpolating the angles as quat's between them. As noted in the code the algorithm needs to handle the case when the x,y,z Rotation keys all aren't at the same time which was not handled by Matinee. Also like Matinee, when in quaternion interoplation mode, we need to not display the function cuves since the interpolated and key values are now all different. (Would like to show them but that's a bigger refactor for perhaps just a one off needed by quaternions). I added a virtual function UMovieSceneSection::ShowCurveForChannel for this since it needs to be dynamic, not on construction of IKeyArea's, and could be useful for other sections. I could though move the method to just UMovieScene3DTransformSection and do a cast instead. Looked into doing a unit test for this but after talking with Andrew P we will work on doign an automated test in EngineQA since that will provide more coverage. Will also add a video the jira. #jira UESEQ-403 Change 4010713 by Mike.Zyracki Added option to key a group of transform channels instead of just the changed channel, or all of them. This is useful for quaternion interpolations where you want rotation keys to be aligned but also useful for other workflows like animating FK Pose to Pose. Change 4010715 by Andrew.Porter MediaFrameworkTest: Setting LogMediaUtils logging from VeryVerbose to Verbose to cut back on the spam Change 4013048 by Max.Chen Sequencer: Fix play/jump status. Update the player status for all position methods (Scrub, Jump, Play). Jump means Stopped. Correctly use PlayTo or JumpTo based on position method. In PlayInternal, JumpTo with the Stopped state (rather than playing state). #jira UE-57844 Change 4013479 by andrew.porter QAGame: Added content in TM-SequenceRecorder to test recording a property on a Cine Camera Component; Press 3 to trigger manual focus distance to increment on a timer Change 4014323 by Max.Chen Sequencer: Fix SetPlaybackPosition so that it jumps or plays based on playback status. #jira UE-57844 Change 4015888 by Max.Chen Sequencer: Fix crash on paste. UMovieSceneSections were gathered from the track node's track. For sub track mode, we want to gather only those sections on that track node row. #jira UE-57951 Change 4015943 by Max.Chen Sequencer: Fix moving shots up when the mouse pos goes outside of the virtual track area. #jira UE-57717 Change 4016293 by Max.Chen Sequencer: Fix relative frame playback end frame calculation so that custom start/end frames remain in the space of the sequence and are not relative. #jira UE-57308 Change 4017075 by Andrew.Rodham Sequencer: Corrected initial evaluation range used when calling UMovieSceneSequencPlayer::Play() Change 4017270 by Christina.TempelaarL Sequencer: FCPXML importer and movie scene capture - Use CeilToFrame when converting section start/end frame times to frame numbers in FCPXML and movie scene capture. - Added support for clip metadata in FCPXML. - Got rid of redundant TokenizedError message class, no longer needed now that FCPXML is in editor directory. - Added log messages currently commented out due to exception, still testing. #UESEQ-358 Change 4018370 by Christina.TempelaarL Sequencer: fixed FCPXML log messages regarding sections with start/end not divisible by display rate. #UESEQ-358 Change 4018378 by Christina.TempelaarL Sequencer: fixed error in previous changelist. #UESEQ-358 Change 4019457 by Max.Chen Sequencer: Show event names only when the event track is selected #jira UE-57897 Change 4022806 by Max.Chen Sequencer: Fix crash on movie scene capture dialog shutdown if movie capture wasn't even started. #jira UE-58106 Change 4022894 by Max.Chen Sequence Recorder: Wrap OpenEditorForAssets after sequence recording within GIsEditor #jira UE-58084 Change 4024487 by Max.Chen Sequencer: Add tooltip for quat interpolation #jira UE-58113 Change 4024562 by Max.Chen Sequencer: Change path/attach track sequence binding id to currently focused sequence id so that bindings can be created in subsequences Change 4027414 by JohnHenry.Carawon QAGame: Checking in content that shows a bug with using particles systems and Delay Before Shot Warm Up. Change 4028990 by Max.Chen Sequencer: Fix evaluate sub sequences in isolation. This check was added with the compile on the fly logic. Not sure why it was necessary but it seems like the sub sequence data needs to be updated in order to evaluate sub sequences in isolation. #jira UE-58184 Change 4029004 by Max.Chen Sequencer: Ensure that old binding references are removed when re-assigning actors in sequencer #jira UE-57898 Change 4030997 by JohnHenry.Carawon QAGame: Fixing name of the master sequence Change 4031785 by Michael.Karambelas QAGame: Added an instance of ThirdPerson Run to TM-SequenceRecorder for Record to Possessable test. Change 4035548 by Andrew.Rodham Sequencer: Changed FMovieSceneEvaluationTemplate::TemplateSignature to be a serial number to address non-deterministic cooking issues - This commit is related to the repro steps found in 3914599 and 3934307, both of which have been verified with this new change. - Copy of 4031684 from //Fortnite/Main/... #jira FORT-84852 Change 4036312 by Max.Chen Sequencer: Fix zoom view range so that it uses the passed in InZoomDelta Change 4036318 by Max.Chen Sequencer: Auto size now returns a range and defaults to the channel proxy range so that keyed regions can also be autosized. Change 4036322 by Max.Chen Forgot missing change Change 4036360 by Max.Chen Sequencer: Fix play rate calculation when skeletal animation section play rate changes. Change 4037163 by Mike.Zyracki Weighted Tangent Implementation Tricky thing is that you need to solve a cubic in order to get the bezier weights for the time part of the curve. See https://www.gamedev.net/forums/topic/474094-help-function-curves-for-animation-interpolation/ Maya provides an implementation in it's dev kit but I didn't use it since it was horribly slow and uses an iterative solution to solve the cubic needed. Instead I use an old algorithm (Cardano's method), to solve the cubic which should be much faster. Though relative simple to code from principles I just went ahead and used a version from Graphics Gems 1. I put this cubic solver directly in MovieSceneFloatChannel.cpp, but will need to move it when we support Rich Curve, maybe to FMath:: (which would probalby require some other functions for solving quartics, etc.. for completeness.). Also note we resolve this on every evaluation but dont' need to if the interval the time is evaluating hasn't had any change in values or tangents. So again when we support FRichCurve we can create a Weighted Evaluating class that can hold the cache. Also with the tangent drags I got rid of the Cardinal position that was used to calculate non-weight tangents from the key point and just quickly getting a direction. With weighted tangents we need to use the delta instead (otherwise when moving multiple they would all get the same weight based upon distance to the cardinal point. ) For mixed tangents types what I'm defaulting to non weighted if the interval doesn't match. May need to do weighted instead, not sure. What's left is just FBX import, for tomorrow. #jira UESEQ-76 Change 4037435 by Mike.Zyracki Fix fo build warnings from weighted tangent submission. #trivial Change 4038091 by Michael.Karambelas QAGame: Updated a Sequence Recorder group in TM-SequenceRecorder that had an actor missing the animation. Change 4038374 by Andrew.Rodham Sequencer: Refined scrubber styling for level sequences and actor sequences - Scrubber now shows a block the width of a dsplay rate frame, plus a line for the actual evaluated time. UMG reverts back to the previous styling (no block) - Keys that are outside of the playback range are now drawn with a subdued effect - Tick labels are no longer drawn when directly underneath the scrubber Change 4038490 by Max.Chen Sequencer: Expose tangent weight values in details panel. Change 4038620 by Andrew.Rodham Sequencer: Advanced time panel polish #jira UESEQ-426 Change 4038677 by Max.Chen Movie Scene Capture: Redirector for MovieSceneTools.AutomatedLevelSequenceCapture #jira UE-58248 Change 4039739 by Max.Chen Sequencer: Media track should only be supported by Level Sequence Change 4040024 by JohnHenry.Carawon QAGame: Fix EventReciever and OverrideBinding example The level sequence was set to none so the fix was to set it back to TrackEvaluation_Master. Change 4040610 by Andrew.Rodham Curve Editor: Moved weighted tangent switchers to a single toggle command (CTRL+W) and added an icon #jira 58383 Change 4040882 by Mike.Zyracki Keep broken when turning on weighted #jira UE-58435 Change 4041089 by andrew.porter QAGame: Sequence for Long Tangents bug Change 4041498 by Mike.Zyracki Turn off weighted when going auto to prevent large tangents. Do it both in UI and when doing AutoSetTangents() to really make sure it doesn't happen. #jira UE-58452 Change 4041752 by andrew.porter MediaFrameworkTest: Adding some better logging for setting rates when not supported. Also ignoring commiting URL when there is no text Change 4041896 by Matt.Hoffman The transform dialog box now transforms selected keys and sections, instead of just keys. #jira UE-58265 [CL 4044405 by Max Chen in Main branch]
2018-05-02 10:10:00 -04:00
const FSlateBrush* Brush = ScrubMetrics.Style == ESequencerScrubberStyle::Vanilla
? ( bMirrorLabels ? VanillaScrubHandleUpBrush : VanillaScrubHandleDownBrush )
: ( bMirrorLabels ? FrameBlockScrubHandleUpBrush : FrameBlockScrubHandleDownBrush );
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3946692) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3801826 by Max.Chen PR #4304: Level Sequence crash fix - Guarded against dereferencing null componen. (Contributed by DSDambuster) Change 3801828 by Max.Chen PR #4302: Movie Scene Visibility Template unitialised variable, causing random . (Contributed by DSDambuster) Change 3801837 by Max.Chen Sequencer: Delay spawning/construction for convert to possessable. This fixes a bug where property values would be lost when converting back and forth from possessable to spawnable. #jira UE-52400 Change 3801841 by Max.Chen Sequencer: Make spacer nodes not selectable. PR #4194: Improvements to Sequencer (Contributed by projectgheist) #jira UE-53117 #jira UE-52139 Change 3804183 by Max.Preussner MediaAssets: Added missing lock in media sound component Change 3805414 by Max.Preussner MediaAssets: Setting valid GUID when initializing media texture resource Change 3819578 by Max.Chen PR #4370: When enabling the "MovieCapture", do not turn off the Stereo-3D display. (Contributed by yehaike) #jira UE-53647 Change 3823414 by Max.Chen Curve Editor: Lock down the first and last keys in the redundant keys removal range so that they're unaffected. #jira UE-53591 Change 3826406 by Max.Chen Sequencer: Move OnStartedPlaying() to within first update in UpdateTimeCursorPosition(). This fixes an issue where setting the hud/player visibility was getting stomped on later. #jira UE-52772 Change 3827044 by Max.Preussner MediaAssets: Added sprite visualization to media sound component #jira UE-53594 Change 3827988 by Max.Preussner MediaPlayerAssets: Fixed Media Texture is not linked to Media Player when created together #jira UE-53532 Change 3828506 by Max.Preussner MediaPlayerEditor: Added attenuation visualizer for media sound components #jira UE-53594 Change 3832590 by andrew.porter EngineTest: Added a keep state check in Property Animation sequencer test Change 3833053 by andrew.porter EngineTest: Adding Hierarchical Bias test Change 3835683 by andrew.porter EngineTest: Adding UMG Animation screenshot test Change 3836076 by Max.Chen Sequencer: Fix audio volume and pitch multiplier deprecation. Change 3836230 by andrew.porter EngineTest: Adding Sequence Bone Position automation test Change 3836347 by Max.Chen Sequencer: Fixes to shot name parsing. When a shot doesn't contain a shot number, assume, [ShotName]_[TakeNumber]. When duplicating a shot, put the new shot in the same path of the original shot, so that the take numbers will increment properly. #jira UE-51868 Change 3836552 by Max.Chen Sequencer: Sub section now has a takes menu Change 3838094 by Max.Chen UMG: Fix template finish not getting called on stop. This fixes a bug where sections aren't restored when finished. #jira UE-52285 Change 3838708 by Max.Chen Sequencer: Add notification when the blend type is changed. #jira UE-54046 Change 3840295 by Max.Chen Sequencer: Fix copy/paste crash for lights #jira UE-54084 Change 3840957 by Mike.Zyracki Added Show Only Keyable and Show Only Animated to the filter list in the property editor. Added IsPropertyAnimated to IDetailKeyframe Interface which already had support for showing properties which are keyable (which is used for the key icon next to the properties.). Could have created another interface but then would have had to mimic the sequencer binding, releasing also, so this seemed best way. One issue still left is that custom built detail items currently don't store associated properties(usually) and so certain properties, in particulalry transforms, won't show up as keyable or animated. Note this also shows up with the keyable icon not showing up next to transform tracks, and other filters like Show Only Modified not working with transforms/customs. Not sure best way to tackle this. #jira UESEQ-328 Change 3841756 by Max.Chen Sequencer: Fix unbound possessable components when pasting spawnables. #jira UE-54104 Change 3843950 by andrew.porter EngineTest: Renaming LevelStreaming tests/content to LevelVisibility Change 3844082 by Mike.Zyracki Missing file for animated filter in property editor. When finding if a track is animated we need to find it but we can't easily induce the MovieTrack class for any particular property. So we don't set a class for it and just search by it's ID and name. #jira UESEQ-328 Change 3846902 by Max.Preussner ImgMedia: Fixed image media player never finished initialization if loading failed #jira UE-54247 Change 3849820 by Mike.Zyracki Reassigning deleted widgets didn't work since the menu extender mechanism needs a valid UObject in order to perform an operation on it. So to fix we replaced GetObjectBindingContextMenuExtender in WidgetBlueprint with new delegate mechanism (OnBuildCustomContextMenuForGuid) that supports FGuid in addition to UObjects which is needed to handle re-binding deleted widgets. Note that the default sequencer hacks this for replacing deleted actors in SequencerObjectBindingNode to check to see if a LevelSequence is active. We could move to this mechanism there also. #jira UE-53163 Change 3852211 by Max.Chen UMG: Indicate name of the property that is not bound. #jira UE-54350 Change 3854120 by Max.Chen Sequencer: Fix sibling folders being allowed to have the same folder name. #jira UE-54363 Change 3854627 by Max.Chen Sequencer: Step to next/previous key should work for all tracks if there aren't any selected. #jira UESEQ-391 Change 3855825 by andrew.porter EngineTest: Adding animation blending automation test Change 3855950 by andrew.porter EngineTest: Adding correct expected valuues to animation blending test Change 3856237 by Matt.Hoffman UESEQ-336 - Sequencer Track Reordering Adds the ability to re-order Master Tracks, Folders and Object Bindings within sequencer hierarchies (including UMG). Adds the ability to do a one-off sorting of the content under the old sorting behavior if the user wants to reset their layout to how it was under legacy behavior. Modifies SequencerTrackNodes, SequencerFolderNodes and SequencerObjectBindingNodes to handle CanDrop/OnDrop for above, below and ontop of. Fixes a Slate Issue that forcibly expanded a TreeviewRow if an item handled OnDrop. Slate will now only forcibly expand the row if the item says the drop happened ontop of the item, and not above or below it like it previously did. Change 3856503 by andrew.porter EngineTest: Adding automation test for using animation blueprint with blend multi node in sequencer Change 3857875 by Max.Chen Sequencer: Assign the sequence id after the template is compiled. #jira UE-54462 Change 3858344 by Max.Chen Sequencer: Prevent Goto and Transform boxes from overlapping by allowing them to be visible at the same time in an autosized horizontal box. Also, added close button to the goto box. PR #4425: Prevent Goto and Transform boxes from overlapping in Sequencer ... (Contributed by projectgheist) #jira UE-54210 Change 3860566 by andrew.porter MediaFrameworkTest: Set the option to index 0 for the audio and video track list by default Change 3860654 by andrew.porter EngineTest: Enabling Camera Cut + FOV test Change 3860981 by andrew.porter EngineTest: Updating skeletal mesh tests with a delay after set playback position Change 3861256 by Max.Chen Sequencer: Add all bindings if none selected. #jira-54440 Change 3862154 by Andrew.Rodham Added TimeManagement module Change 3862424 by andrew.porter EngineTest: Turned on the test Bone Positions with Blend Multi Node Change 3862573 by andrew.porter EngineTest: Adding test to compare bone positions in a sequence that is blending an animation that is using an AnimBP Change 3865117 by Max.Chen Sequencer: Stop auto scroll on mouse release of movement. #jira UE-31212 Change 3865303 by Max.Chen Sequencer: Add drag and drop transactions #jira UE-54662 Change 3865304 by Max.Chen Sequencer: Fix crash when an actor factory is not found. Change 3865361 by Max.Chen Sequencer: Don't change the camera/shot lock button when popping out of a sequence. #jira UE-54665 Change 3865412 by Max.Chen Sequencer: Determine whether a transform track is for a camera by using the spawned object or template #jira UE-54666 Change 3865685 by Max.Chen Sequencer: Clear autoscrub offset when stopping autoscroll #jira UE-31212 Change 3865886 by Max.Chen Sequence Recorder: Log an error if the number of frames changes while recording. This can happen if the skeleton changes while recording. #jira UE-48715 Change 3866925 by Andrew.Porter MediaFrameworkTest: Changing the current PNG test video image sequence to 1024 x 576 Change 3867705 by andrew.porter QAGame: Adding Audio Sort Sequence to dev folder Change 3867890 by andrew.porter QAGame: Adding a sequence for testing a sorting crash to my dev folder Change 3872628 by Max.Chen Movie Scene Capture: Split delay before warmup into split delay before shot warmup so that there's separate controls for when the movie scene capture warmups up vs. shot boundaries. Change 3873131 by Matt.Hoffman UE-54732 - Crash reordering a folder with a track. This was caused by folders being the only type of track to check if someone was putting a parent track into a child track. Object Binding tracks and Tracks now check as well so that you can't use the above/below drop targets to add parents as children. This also fixed a typo in the localization keys. #jira UE-54732 Change 3873301 by Mike.Zyracki Added ability to support continous euler angle changes when changing rotations, in particularly with the rotation gizmo's. To do this we effectively added a form an of 'euler filter'(https://en.wikipedia.org/wiki/Euler_filter) to find the closest euler angle to the current euler angle. Three functions were added to FRotator to make this possible, one to get the euler angle that's has the same rotation as it, one to get the difference between two euler angles via Manhattan distance and a third using the previous two to choose a Rotator value that's closest to it. We then use these functions before calling UComponent::SetRelativeRotation to make sure we use the correct Euler after the Quat conversion. We also no longer limit(bound) the euler angles to -180,180, which is obviously necessary to avoid flips. I also changed how we caluclate yaw and roll when pitch is -90 or 90 to make it the standard approach of zeroing out roll and just setting yaw. Main reasons are the previous implementation had precision issues so things like 180, 90, -180 would show up due to numbers being nearly zero but negative,(this would break any smooth interpolations), and this facilitates having a 'gimbal' rotation mode (like Maya, Blender etc..) if we ever want that also. If needed we could keep the previous implementation but would need to add some FMath::IsNearlyZero checks, with less performance. Note we only do this special filtering when applying delta's to actors or components in the editors, which then call UComponent::SetRelativeRotationExact, which is a new function to foces the RelativeRotation to be equal to the new rotation. This allows us to store un-nomalized Rotators at the cost that the RotationCache may be broken. We didn't change any of the other UComponent functions that set rotations (via Quats or Transforms) so they will still be bounded and unwound. In SetInternalWorldLocationAndRotation we only set the rotation if the rotation has changed, which fixes the rotation getting changed and re-normalized if just translate happens. In TransformTrackEditor, we correclty use the bUndwing flag and in MovieScene3DTransformSection there was an un-needed winding check there, it will be unwound earlier if needed, which happens if Sequence Recording is happening. Max we should talk about what to do about this . Note the euler angle drag via the widget is still bound to 0-360. I think we should just unbound that now since the rotations value are now unbound. This review now includes fixes suggested by Zak. #jira UE-UE-22228 Change 3873483 by Matt.Hoffman Sequencer Tracks can now be inserted above the spacer at the bottom of the tree. #jira UE-54706 Change 3873899 by Max.Chen Sequencer: Add section selection throbbing Change 3873908 by Max.Chen Movie Scene Capture: Added logging per frame Change 3873924 by Matt.Hoffman Adds the ability to store Sequence Recorder setups into profiles that stay with the map and can be re-loaded later. Profiles store the Actor Recordings so the settings for each actor should carry with them. #jira UESEQ-339 Change 3874726 by Matt.Hoffman Disable drag-and-drop targets on spacers that come between rows in Sequencer. This prevents extra drag/drop targets showing up between each row. #jira UE-54706 Change 3874862 by Matt.Hoffman Audio Track no longer gets reordered when adding sub-audio tracks, as sub-tracks are no longer counted towards the sorting order index when normalizing indexes. #jira UE-54727 Change 3875905 by Matt.Hoffman Disable Fade Track UI if a fade track already exists in the sequence. #jira UESEQ-393 Change 3876163 by Max.Chen Sequencer: Swap the camera object to the camera component's owner if it's not the same. #jira UE-54874 Change 3876971 by Andrew.Porter EngineTest: Moved Media Player Seek test to new folder. Also enabled the test with new ground truth image. Change 3877040 by Max.Chen Cine Camera: Split camera properties to two groups, "Camera Options" and "Camera Settings". The cine camera now hides properties in the "Camera Settings" group so that properties like bConstrainAspectRatio (in the "Camera Options" group) can be visible. #jira UE-54192 Change 3877763 by Max.Chen Curve Editor: Fix curve changed on end drag so that only curves that had keys/tangents that were changed receive notification, otherwise all loaded curves were getting notified that they were changed. #jira UE-54951 Change 3878234 by Matt.Hoffman Disable "Drop Below" targets for Sequencer Tree nodes to prevent a confusing UX issue where dropping underneath a Object Binding Node puts it after the object binding node but the UI looks like it's inserting it inside the Object Binding node. #jira UE-54743 Change 3879359 by Mike.Zyracki If a track is inactive we dim it a bit which seems to be the UE4 way to show inactive or disabled state. We changed the active logic so that all subtracks need to be inactive for the track to also be inactive(instead of all active for active). This conforms to how the active state actually works, e.g if you have two sections and only one is active the track is still active above it. #jira UESEQ-388 Change 3879462 by Max.Chen Sequencer: Allow dragging onto a particular row which would move out any overlapping sections to make space for the newly created section. Newly created sections are now selected and throbbed to draw attention to themselves. #jira UE-54664 Change 3879464 by Max.Chen Sequencer: Fixed overlapping ranges being inserted into the evaluation field during compilation - The issue was that track segments that had been combined with adjacent segments (due to them being identical) would potentially cause a subsequently compiled frame to overlap with a range that had already been inserted into the evaluation field. - The insertion code previously asserted that only minor overlaps were catered for (due to fp rounding errors) and assumed that a supplied range could not entirely contain any other range in the field. - The solution is to supply the insertion time along with the range to know exactly where the data should live in the field, and crop the range to the maximum allowable space between adjacent ranges. #jira UE-54922 Change 3879590 by Matt.Hoffman Items that are now added to the Sequencer via the "+Track" menu will be selected after being added. Items can now be added inside of folders instead of just to the root level. #jira UE-27397 Change 3879612 by Mike.Zyracki Display Nodes with no children are always active. #jira UESEQ-388 Change 3879730 by Matt.Hoffman Sequence Recorder's actor recording groups now remove items from the group when removed via the UI. #jira UESEQ-339 Change 3880256 by Mike.Zyracki Fix issue with inactive display with folders and other track nodes. #jira UESEQ-388 Change 3883491 by Max.Chen Fix issue where tick is skipped due to last ticked pose isn't cleared after AnimInstance changes. Copy from Release-4.19 #jira UE-51323 Change 3883603 by Max.Chen Movie Scene Capture: Add option toggle disable screen percentage. By default this is on (no change in current behavior). #jira UE-51898 Change 3885074 by Max.Preussner MediaCompositing: Resetting media texture & freeing resource on section end; removed dead code Change 3887220 by Max.Preussner MediaCompositing: Defaulted media section duration to 1 sec (since we do not know the actual duration in most cases) Change 3887478 by Matt.Hoffman Sequences now show [Inactive] in their title bars when they're disabled. This helps communicate why a sequence isn't being evaluated. #jira UE-51469 Change 3888985 by Max.Chen Movie Scene Capture: Clamp HDR Compression Quality between 0 and 1. #jira UE-55136 Change 3893519 by Max.Chen Sequence Recorder: Clarified tooltip for bRecordNearbySpawnedActors - spawned actors will still be recorded if they match the ActorFilter. #jira UE-55238 Change 3893546 by Max.Chen Sequence Recorder: If a selected actor already has a recording, add a blank recording. #jira UE-55239 Change 3894044 by Max.Preussner MediaCompositing: Added support for seeking into a media section Change 3894310 by andrew.porter MediaFrameworkTest: Adding Img media sources for 1080 and 2160 ravent test content Change 3894426 by Max.Preussner MediaAssets: Letting media textures with AutoClear retain their clear color when player is reset Change 3895717 by Max.Chen Sequencer: Null checks to prevent crash when saving the default state of a spawnable #jira UE-55304 Change 3897388 by Max.Chen Sequencer: Don't update current time to be within the view range when stepping into a sequence. #jira UE-55322 Change 3897452 by Max.Chen Audio: Fix crash when trying to record audio without any active capture devices. Log warning if the number of input channels is not 1 or 2. #jira UE-55223 Change 3897619 by Max.Preussner MediaCompositing: Removed commented out code Change 3898072 by Max.Chen Sequencer: Override the animation asset in the player state if it doesn't match the animation asset that's being evaluated. #jira UE-55328 Change 3898272 by Max.Preussner MediaPlayerEditor: Made slate brush constants static Change 3898704 by Max.Chen Sequencer: Skip if the binding id's sequence can't be found. #jira UE-55337 Change 3899855 by Max.Preussner MediaCompositingEditor: Added cache state visualization to media track Change 3900300 by Max.Preussner MediaCompositingEditor: Added loop indicators to media sections Change 3900694 by Max.Preussner ImfMedia: Looping cache only when player is looping Change 3900892 by Max.Preussner Stats: Added stats category for media framework Change 3900954 by Max.Preussner MediaCompositing: Don't evaluate at the end of media section Change 3901348 by Max.Preussner Core: Replaced TLruCache autos for better readability Change 3901655 by Max.Preussner ImgMedia: Added more perf stats to EXR reader Change 3901972 by Max.Preussner MediaAssets: Added getter for media player in media sound components Change 3902233 by Max.Preussner MediaAssets: Enabling media textures to receive samples right after player is assigned Change 3902238 by Max.Preussner MediaCompositing: Working around init/shutdown idiosyncracies in sequencer Change 3904045 by Max.Chen Sequencer: Fix copy/paste crash. Only process UMovieSceneCopyableBinding and objects that can be spawned by the movie scene spawn register. #jira UE-55314 Change 3905605 by Max.Chen Sequencer: Restrict spawnables from being created if they have a ClassWithin that UMovieScene is not a child of. #jira UE-55429 Change 3906550 by Max.Chen Sequencer: Add media track icon #jira UE-55480 Change 3907101 by Max.Chen Sequence Recorder: Fix bugs related to not recording a level sequence. There were certain assumptions that creating a level sequence meant that sequence recording was in progress. This is not always the case - the recorders can record animation assets and not create a level sequence. Changed the notion of IsRecording() to having at least one actor recording that is recording. Countdown timer, recording displays, etc should function if IsRecording() and not based on whether a level sequence is created. #jira UE-55485 Change 3907247 by Max.Chen Sequence Recorder: Fix crash not removing PrepareToCleanseEditorObject delegate. Repros when opening sequence recorder, closing it, and then opening or creating a level. Change 3910343 by Max.Preussner Core: Added async helper for executing functions on a given thread pool Change 3910346 by Max.Preussner ImgMedia: Added separate thread pools for loading/decoding and deleting image frames Change 3910829 by Max.Preussner Profiler: Increased visible range of profiler graph Change 3910841 by Max.Preussner MediaCompositing: Displaying asset name instead of full media source path in media section Change 3910870 by Max.Preussner ImgMedia: Using deallocation thread pool only in debug builds Change 3919642 by Max.Chen Sequence Recorder: Clarify active tooltip #jira UE-55661 Change 3919660 by Max.Chen Sequencer: Sequence template source signatures are now also compared to catch the case where a sub-sequence asset has been saved but not modified - The following sequence of events exposes this issue: - Create a master sequence with a single shot that spawns a cube - Add this sequence to a level and set it to auto-play - Save everything and restart - Resave just the inner shot asset without opening it - PIE - The inner shot never spawns its cube because its template was wiped on save, but its signature never changed. Since the master sequence previously didn't check the template source signature, it ends up trying to evaluate an empty template. #jira UE-55626 #jira UE-55490 Change 3921825 by Max.Chen Sequencer: "Run Construction Script in Sequencer" is off by default for blueprints but on for Sequencer. This allows the content author to switch it on for specific blueprints and sequencer will be default, run those with construction scripts enabled. Change 3922232 by Max.Chen Sequence Recorder: Reset countdelay on stop. #jira UE-55755 Change 3922306 by Max.Chen Sequence Recorder: Don't automatically mark transforms to be recorded by sequence recorder. Instead, log a warning if the user toggled it off to warn that the resulting animation might not match gameplay. #jira UE-55758 Change 3922912 by Max.Chen Sequence Recorder: Fix refresh next sequence name #jira UE-55757 Change 3927654 by Max.Chen Movie Scene Capture: Added format mapping for the name of the current camera #jira UE-55769 PR #4537 Change 3927658 by Max.Chen Sequencer: Added fbx property mapping for "FocusDistance" to "FocusSettings.ManualFocusDistance" #jira UE-55782 Change 3932022 by Max.Chen Sequencer: Add import animation track section to next available row index. #jira UE-55892 Change 3933919 by Max.Chen Sequencer: Jump to playback start frame and not 0 to start playback for recording. #jira UE-55933 Change 3934307 by Andrew.Rodham Sequencer: Add template signature that is re-generated every time the base template is regenerated, which invalidates evaluation fields This fixes an issue where the same sequence is instantiated multiple times in a sequence. If the source sequence was saved, its template would be wiped, which would invalidate the template ID When an instance tries to evaluate the master template, it would only invalidate a range in the evaluation field that was the hull of any invalid sub sequences overlapping the current time, potentially leaving invalid data in the evaluation field at positions later (or earlier) on in the sequence When the sub template was re-generated, it receives the same SequenceSignature as it had before (because the sequence hasn't actually changed), which causes the stale evaluation field data to fail the IsDirty check (because the sequence is the same as it thought, but the *template* has changed) This has been addressed be adding a signature to templates themselves, and checking both the template signature and sequence signature as a part of the IsDirty check. This ensures that we regenerate if either the template, or the sequence have changed. #jira UE-55934 Change 3936327 by Andrew.Rodham Sequencer: Removed increment when trimming right UMovieSceneSection::TrimSection already explicity assigns an exclusive bound to the time passed in. The new behavior means we can trim a section to the right, and insert another section without changing the time to create adjacent sections. #jira UE-42652 Change 3936328 by Andrew.Rodham Fixed KeyFrameManipulator assignment operators and copy/move constructors - These types are potentially self-referential so cannot use default constructors/assignment Change 3936330 by Andrew.Rodham Converted UMGSequencePlayer to use frames internally #jira UE-54878 Change 3936726 by Max.Chen Sequencer: Set track node as the parent of the key area node. The key area switcher needs the object binding id from the parent object binding node. Without this, the binding to the external value fails. #jira UE-55931 Change 3936775 by Max.Chen Sequencer: Should stop or loop should compare DurationFrames with Current Time from StartTime. The bug is that if you set 30 warmup frames in movie rendering for a range of 0-100, the FrameRange will be starting at -30 and have a duration of 130. Without this fix, the playback will continue until frame 130, rather than 100. #jira UE-55933 Change 3936935 by Matt.Hoffman Easing Curves are now represented in Play Rate resolution instead of internal resolution. #jira UE-55937 Change 3937069 by Matt.Hoffman Users can toggle if the is infinite on each side, limited by which tracks support infinite ranges. #jira UE-55891 Change 3937516 by Max.Preussner ImgMedia: Added support for single-threaded platforms #jira UE-55986 Change 3937826 by Max.Preussner MediaAssets: Disabling media sound components on HTML5 if AudioMixer is not enabled Change 3937997 by Max.Chen Curve Editor: Add Zoom to Fit Curves so that selected curves from Sequencer can be focused on. Tested that undo doesn't re-zoom. #jira UE-55935 Change 3938000 by Max.Chen Sequencer: Stop all sounds before generating audio waveforms. #jira UE-55951 Change 3938376 by Max.Preussner XGEController: Disabled XGE Controller in single-threaded apps to prevent crash Change 3938444 by Max.Preussner Core: Added async support for single-threaded applications Change 3938445 by Max.Preussner Networking: Added support for single-threaded applications in UDP socket sender/receiver Change 3938447 by Max.Preussner Messaging: Added support for single-threaded applications Change 3939432 by Max.Chen Sequence Recorder: Append command list to global level editor actions so that shortcuts are accessible in level editor. #jira UE-55798 Change 3940229 by Andrew.Rodham Added prospective display rate upgrade to UMovieScene::PostLoad - There was previously some very odd behaviour that would assign the fixed frame interval only when a sub sequence was focused in SSequencer. This meant that many sequences could have a frame interval of 0 set in the data. - Under the old method of snap interval display this would have fallen back to getting the display interval from the sequencer settings, but we no longer look at these. - The USequencerSettings properties have been removed and in their place, a prospective data upgrade for sequences that have a fixed frame interval old 0fps that sets the play rate to the previous defaults based off the old USequencerSettings defaults. - This could end up 'changing' the display rate for sequences where the user has changed the snap interval in the settings for a particular sequence editor, but there's not much we can do about that given we don't have access to the USequencerSettings classes in UMovieScene #jira UE-55919 Change 3940277 by Andrew.Rodham Sequencer: Added ability to default frame resolutions and play rates for newly created actor sequences Change 3940378 by Andrew.Rodham Sequencer: Post move import dialog now defaults to the playback framerate of the sequence, and floors to frame numbers Change 3940559 by Andrew.Rodham Reinstated primed or recording sequence color Change 3940642 by Max.Preussner ImagePlate: Removed image plate media playback functionality Change 3940843 by Max.Preussner Core: Made TCircularQueue actually thread-safe; improved code comments Change 3940860 by Max.Chen Sequencer: Changed StructNameToKey to StructPathToKey Previously, keying a PropertyPath of [RenderTransform][Shear][X] would get trimmed to X, which doesn't map to a channel name as considered by Sequencer2dTransformTrackEditor. Instead, trim the resulting property path to [Shear][X] so that track editors can determine the desired struct path and channels to key. #jira UE-52966 Change 3941292 by Mike.Zyracki Fix for trajectories out of range not showing up. 1) If we had no key data we would pop the time, so wouldn't get the section ranges. 2) Calculating of upper bound was wrong, checking against -1 and not key == num of keys when doing algo::lower_bound. 3) No need to do the Bck-- for the bakward iterators since we fixed #2. We start now from the upper bound correctly. 4) If we had no keys (at section start,end) we would incorrectly say we were any key type, so since we draw constant keys as dashed we would do so incorrectly around section end points. #jira UE-55929 Change 3941424 by Max.Chen Curve Editor: Change Zoom to Fit to use TArrayView Change 3941498 by Max.Preussner Core: Added FMath::DivideAndRoundNearest function Change 3942097 by Matt.Hoffman Drop Frame Timecode Support for NTSC rates. Change 3942104 by Matt.Hoffman Sequence Recorder Group is no longer visible inside the World Outliner after using one. #jira 55266 Change 3942107 by Max.Chen Sequencer: Resurrect logic to find or extend an existing section when adding keys. Change 3942330 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942339 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942507 by Andrew.Rodham Sequencer: We no longer pad the time overlap threshold with a small number that is not scaled by the current zoom level - The presence of this pad was causing keys that were far apart to be grouped when zoomed in a long way Change 3942509 by Andrew.Rodham Sequencer: Only pad total view range, rather than section range as well when retrieving keys to render - This stops us from rendering keys that are within the view range, but outside the section range Change 3942512 by Andrew.Rodham Added transactions to some sequencer details customizations Change 3942513 by Andrew.Rodham Sequencer: Reinstated validation checks to UMovieSceneSection::SetStartFrame and SetEndFrame, changed erroneous uses to use SetRange Change 3942560 by Andrew.Rodham Pass by rvalue reference to appease error C2719 on Win32 ('InChannels': formal parameter with requested alignment of 8 won't be aligned) Change 3942697 by Andrew.Rodham Newly Created Level Sequences and Actor Sequences now default to 24000 fps frame resolution (+/- ~24hrs range, supporting all integer rates + 23.976) Change 3942700 by Andrew.Rodham Sequencer: Added legacy out-of-bounds errors for times that are not supported by the current legacy upgrade frame resolution Change 3942989 by Max.Preussner Core: Fixed circular queue count calculation Change 3943538 by Max.Preussner MediaAssets: Reverted workaround for procedural audio log spam in HTML5 (Actor component initialization cannot be skipped if the component is used in a level) Change 3944071 by Max.Preussner QAGame: Fixed Media Texture keeps last frame of Media when PIE ends #jira UE-53360 Change 3944292 by Max.Chen Sequencer: Added extra flags to ensure that asset initialization does not occur on template actor sequences #jira UE-56113 Change 3944364 by Max.Chen Sequencer: Prevent circular shot/master tracks. Tested adding master -> child -> master as drag and drop cinematic shot tracks and sub tracks as well as through the + button. #jira UE-56091 Change 3944422 by Max.Chen Sequence Recorder: Disable transform recording if off. #jira UE-56061 Change 3944745 by Andrew.Rodham Sequencer: Key rendering fixes - Fixed assert that occured when keys happened to reside on some times due to KeyTime + TimeOverlapThreshold - KeyTime being slightly larger TimeOverlapThreshold - Fixed keys sometimes being clipped when zoomed right in due to lack of half-frame offset - Added missing documentation to MovieSceneTimeHelpers.h #jira UE-56107 Change 3945231 by Andrew.Rodham Sequencer: Reconstruct channel proxy on Serialize to catch all cases of undo/redo, PostLoad and duplication #jira UE-56089 Change 3945301 by Andrew.Rodham Sequencer: Added safety checks during initial sequence recording to guard against applying negative or 0-sized sequence ranges #jira UE-56125 Change 3946627 by Max.Preussner Fortnite: Fixed game crashes closing editor while in PIE - Pure virtual function being called #jira UE-56144 [CL 3946896 by Max Chen in Main branch]
2018-03-14 22:09:33 -04:00
FSlateDrawElement::MakeBox(
OutDrawElements,
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3946692) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3801826 by Max.Chen PR #4304: Level Sequence crash fix - Guarded against dereferencing null componen. (Contributed by DSDambuster) Change 3801828 by Max.Chen PR #4302: Movie Scene Visibility Template unitialised variable, causing random . (Contributed by DSDambuster) Change 3801837 by Max.Chen Sequencer: Delay spawning/construction for convert to possessable. This fixes a bug where property values would be lost when converting back and forth from possessable to spawnable. #jira UE-52400 Change 3801841 by Max.Chen Sequencer: Make spacer nodes not selectable. PR #4194: Improvements to Sequencer (Contributed by projectgheist) #jira UE-53117 #jira UE-52139 Change 3804183 by Max.Preussner MediaAssets: Added missing lock in media sound component Change 3805414 by Max.Preussner MediaAssets: Setting valid GUID when initializing media texture resource Change 3819578 by Max.Chen PR #4370: When enabling the "MovieCapture", do not turn off the Stereo-3D display. (Contributed by yehaike) #jira UE-53647 Change 3823414 by Max.Chen Curve Editor: Lock down the first and last keys in the redundant keys removal range so that they're unaffected. #jira UE-53591 Change 3826406 by Max.Chen Sequencer: Move OnStartedPlaying() to within first update in UpdateTimeCursorPosition(). This fixes an issue where setting the hud/player visibility was getting stomped on later. #jira UE-52772 Change 3827044 by Max.Preussner MediaAssets: Added sprite visualization to media sound component #jira UE-53594 Change 3827988 by Max.Preussner MediaPlayerAssets: Fixed Media Texture is not linked to Media Player when created together #jira UE-53532 Change 3828506 by Max.Preussner MediaPlayerEditor: Added attenuation visualizer for media sound components #jira UE-53594 Change 3832590 by andrew.porter EngineTest: Added a keep state check in Property Animation sequencer test Change 3833053 by andrew.porter EngineTest: Adding Hierarchical Bias test Change 3835683 by andrew.porter EngineTest: Adding UMG Animation screenshot test Change 3836076 by Max.Chen Sequencer: Fix audio volume and pitch multiplier deprecation. Change 3836230 by andrew.porter EngineTest: Adding Sequence Bone Position automation test Change 3836347 by Max.Chen Sequencer: Fixes to shot name parsing. When a shot doesn't contain a shot number, assume, [ShotName]_[TakeNumber]. When duplicating a shot, put the new shot in the same path of the original shot, so that the take numbers will increment properly. #jira UE-51868 Change 3836552 by Max.Chen Sequencer: Sub section now has a takes menu Change 3838094 by Max.Chen UMG: Fix template finish not getting called on stop. This fixes a bug where sections aren't restored when finished. #jira UE-52285 Change 3838708 by Max.Chen Sequencer: Add notification when the blend type is changed. #jira UE-54046 Change 3840295 by Max.Chen Sequencer: Fix copy/paste crash for lights #jira UE-54084 Change 3840957 by Mike.Zyracki Added Show Only Keyable and Show Only Animated to the filter list in the property editor. Added IsPropertyAnimated to IDetailKeyframe Interface which already had support for showing properties which are keyable (which is used for the key icon next to the properties.). Could have created another interface but then would have had to mimic the sequencer binding, releasing also, so this seemed best way. One issue still left is that custom built detail items currently don't store associated properties(usually) and so certain properties, in particulalry transforms, won't show up as keyable or animated. Note this also shows up with the keyable icon not showing up next to transform tracks, and other filters like Show Only Modified not working with transforms/customs. Not sure best way to tackle this. #jira UESEQ-328 Change 3841756 by Max.Chen Sequencer: Fix unbound possessable components when pasting spawnables. #jira UE-54104 Change 3843950 by andrew.porter EngineTest: Renaming LevelStreaming tests/content to LevelVisibility Change 3844082 by Mike.Zyracki Missing file for animated filter in property editor. When finding if a track is animated we need to find it but we can't easily induce the MovieTrack class for any particular property. So we don't set a class for it and just search by it's ID and name. #jira UESEQ-328 Change 3846902 by Max.Preussner ImgMedia: Fixed image media player never finished initialization if loading failed #jira UE-54247 Change 3849820 by Mike.Zyracki Reassigning deleted widgets didn't work since the menu extender mechanism needs a valid UObject in order to perform an operation on it. So to fix we replaced GetObjectBindingContextMenuExtender in WidgetBlueprint with new delegate mechanism (OnBuildCustomContextMenuForGuid) that supports FGuid in addition to UObjects which is needed to handle re-binding deleted widgets. Note that the default sequencer hacks this for replacing deleted actors in SequencerObjectBindingNode to check to see if a LevelSequence is active. We could move to this mechanism there also. #jira UE-53163 Change 3852211 by Max.Chen UMG: Indicate name of the property that is not bound. #jira UE-54350 Change 3854120 by Max.Chen Sequencer: Fix sibling folders being allowed to have the same folder name. #jira UE-54363 Change 3854627 by Max.Chen Sequencer: Step to next/previous key should work for all tracks if there aren't any selected. #jira UESEQ-391 Change 3855825 by andrew.porter EngineTest: Adding animation blending automation test Change 3855950 by andrew.porter EngineTest: Adding correct expected valuues to animation blending test Change 3856237 by Matt.Hoffman UESEQ-336 - Sequencer Track Reordering Adds the ability to re-order Master Tracks, Folders and Object Bindings within sequencer hierarchies (including UMG). Adds the ability to do a one-off sorting of the content under the old sorting behavior if the user wants to reset their layout to how it was under legacy behavior. Modifies SequencerTrackNodes, SequencerFolderNodes and SequencerObjectBindingNodes to handle CanDrop/OnDrop for above, below and ontop of. Fixes a Slate Issue that forcibly expanded a TreeviewRow if an item handled OnDrop. Slate will now only forcibly expand the row if the item says the drop happened ontop of the item, and not above or below it like it previously did. Change 3856503 by andrew.porter EngineTest: Adding automation test for using animation blueprint with blend multi node in sequencer Change 3857875 by Max.Chen Sequencer: Assign the sequence id after the template is compiled. #jira UE-54462 Change 3858344 by Max.Chen Sequencer: Prevent Goto and Transform boxes from overlapping by allowing them to be visible at the same time in an autosized horizontal box. Also, added close button to the goto box. PR #4425: Prevent Goto and Transform boxes from overlapping in Sequencer ... (Contributed by projectgheist) #jira UE-54210 Change 3860566 by andrew.porter MediaFrameworkTest: Set the option to index 0 for the audio and video track list by default Change 3860654 by andrew.porter EngineTest: Enabling Camera Cut + FOV test Change 3860981 by andrew.porter EngineTest: Updating skeletal mesh tests with a delay after set playback position Change 3861256 by Max.Chen Sequencer: Add all bindings if none selected. #jira-54440 Change 3862154 by Andrew.Rodham Added TimeManagement module Change 3862424 by andrew.porter EngineTest: Turned on the test Bone Positions with Blend Multi Node Change 3862573 by andrew.porter EngineTest: Adding test to compare bone positions in a sequence that is blending an animation that is using an AnimBP Change 3865117 by Max.Chen Sequencer: Stop auto scroll on mouse release of movement. #jira UE-31212 Change 3865303 by Max.Chen Sequencer: Add drag and drop transactions #jira UE-54662 Change 3865304 by Max.Chen Sequencer: Fix crash when an actor factory is not found. Change 3865361 by Max.Chen Sequencer: Don't change the camera/shot lock button when popping out of a sequence. #jira UE-54665 Change 3865412 by Max.Chen Sequencer: Determine whether a transform track is for a camera by using the spawned object or template #jira UE-54666 Change 3865685 by Max.Chen Sequencer: Clear autoscrub offset when stopping autoscroll #jira UE-31212 Change 3865886 by Max.Chen Sequence Recorder: Log an error if the number of frames changes while recording. This can happen if the skeleton changes while recording. #jira UE-48715 Change 3866925 by Andrew.Porter MediaFrameworkTest: Changing the current PNG test video image sequence to 1024 x 576 Change 3867705 by andrew.porter QAGame: Adding Audio Sort Sequence to dev folder Change 3867890 by andrew.porter QAGame: Adding a sequence for testing a sorting crash to my dev folder Change 3872628 by Max.Chen Movie Scene Capture: Split delay before warmup into split delay before shot warmup so that there's separate controls for when the movie scene capture warmups up vs. shot boundaries. Change 3873131 by Matt.Hoffman UE-54732 - Crash reordering a folder with a track. This was caused by folders being the only type of track to check if someone was putting a parent track into a child track. Object Binding tracks and Tracks now check as well so that you can't use the above/below drop targets to add parents as children. This also fixed a typo in the localization keys. #jira UE-54732 Change 3873301 by Mike.Zyracki Added ability to support continous euler angle changes when changing rotations, in particularly with the rotation gizmo's. To do this we effectively added a form an of 'euler filter'(https://en.wikipedia.org/wiki/Euler_filter) to find the closest euler angle to the current euler angle. Three functions were added to FRotator to make this possible, one to get the euler angle that's has the same rotation as it, one to get the difference between two euler angles via Manhattan distance and a third using the previous two to choose a Rotator value that's closest to it. We then use these functions before calling UComponent::SetRelativeRotation to make sure we use the correct Euler after the Quat conversion. We also no longer limit(bound) the euler angles to -180,180, which is obviously necessary to avoid flips. I also changed how we caluclate yaw and roll when pitch is -90 or 90 to make it the standard approach of zeroing out roll and just setting yaw. Main reasons are the previous implementation had precision issues so things like 180, 90, -180 would show up due to numbers being nearly zero but negative,(this would break any smooth interpolations), and this facilitates having a 'gimbal' rotation mode (like Maya, Blender etc..) if we ever want that also. If needed we could keep the previous implementation but would need to add some FMath::IsNearlyZero checks, with less performance. Note we only do this special filtering when applying delta's to actors or components in the editors, which then call UComponent::SetRelativeRotationExact, which is a new function to foces the RelativeRotation to be equal to the new rotation. This allows us to store un-nomalized Rotators at the cost that the RotationCache may be broken. We didn't change any of the other UComponent functions that set rotations (via Quats or Transforms) so they will still be bounded and unwound. In SetInternalWorldLocationAndRotation we only set the rotation if the rotation has changed, which fixes the rotation getting changed and re-normalized if just translate happens. In TransformTrackEditor, we correclty use the bUndwing flag and in MovieScene3DTransformSection there was an un-needed winding check there, it will be unwound earlier if needed, which happens if Sequence Recording is happening. Max we should talk about what to do about this . Note the euler angle drag via the widget is still bound to 0-360. I think we should just unbound that now since the rotations value are now unbound. This review now includes fixes suggested by Zak. #jira UE-UE-22228 Change 3873483 by Matt.Hoffman Sequencer Tracks can now be inserted above the spacer at the bottom of the tree. #jira UE-54706 Change 3873899 by Max.Chen Sequencer: Add section selection throbbing Change 3873908 by Max.Chen Movie Scene Capture: Added logging per frame Change 3873924 by Matt.Hoffman Adds the ability to store Sequence Recorder setups into profiles that stay with the map and can be re-loaded later. Profiles store the Actor Recordings so the settings for each actor should carry with them. #jira UESEQ-339 Change 3874726 by Matt.Hoffman Disable drag-and-drop targets on spacers that come between rows in Sequencer. This prevents extra drag/drop targets showing up between each row. #jira UE-54706 Change 3874862 by Matt.Hoffman Audio Track no longer gets reordered when adding sub-audio tracks, as sub-tracks are no longer counted towards the sorting order index when normalizing indexes. #jira UE-54727 Change 3875905 by Matt.Hoffman Disable Fade Track UI if a fade track already exists in the sequence. #jira UESEQ-393 Change 3876163 by Max.Chen Sequencer: Swap the camera object to the camera component's owner if it's not the same. #jira UE-54874 Change 3876971 by Andrew.Porter EngineTest: Moved Media Player Seek test to new folder. Also enabled the test with new ground truth image. Change 3877040 by Max.Chen Cine Camera: Split camera properties to two groups, "Camera Options" and "Camera Settings". The cine camera now hides properties in the "Camera Settings" group so that properties like bConstrainAspectRatio (in the "Camera Options" group) can be visible. #jira UE-54192 Change 3877763 by Max.Chen Curve Editor: Fix curve changed on end drag so that only curves that had keys/tangents that were changed receive notification, otherwise all loaded curves were getting notified that they were changed. #jira UE-54951 Change 3878234 by Matt.Hoffman Disable "Drop Below" targets for Sequencer Tree nodes to prevent a confusing UX issue where dropping underneath a Object Binding Node puts it after the object binding node but the UI looks like it's inserting it inside the Object Binding node. #jira UE-54743 Change 3879359 by Mike.Zyracki If a track is inactive we dim it a bit which seems to be the UE4 way to show inactive or disabled state. We changed the active logic so that all subtracks need to be inactive for the track to also be inactive(instead of all active for active). This conforms to how the active state actually works, e.g if you have two sections and only one is active the track is still active above it. #jira UESEQ-388 Change 3879462 by Max.Chen Sequencer: Allow dragging onto a particular row which would move out any overlapping sections to make space for the newly created section. Newly created sections are now selected and throbbed to draw attention to themselves. #jira UE-54664 Change 3879464 by Max.Chen Sequencer: Fixed overlapping ranges being inserted into the evaluation field during compilation - The issue was that track segments that had been combined with adjacent segments (due to them being identical) would potentially cause a subsequently compiled frame to overlap with a range that had already been inserted into the evaluation field. - The insertion code previously asserted that only minor overlaps were catered for (due to fp rounding errors) and assumed that a supplied range could not entirely contain any other range in the field. - The solution is to supply the insertion time along with the range to know exactly where the data should live in the field, and crop the range to the maximum allowable space between adjacent ranges. #jira UE-54922 Change 3879590 by Matt.Hoffman Items that are now added to the Sequencer via the "+Track" menu will be selected after being added. Items can now be added inside of folders instead of just to the root level. #jira UE-27397 Change 3879612 by Mike.Zyracki Display Nodes with no children are always active. #jira UESEQ-388 Change 3879730 by Matt.Hoffman Sequence Recorder's actor recording groups now remove items from the group when removed via the UI. #jira UESEQ-339 Change 3880256 by Mike.Zyracki Fix issue with inactive display with folders and other track nodes. #jira UESEQ-388 Change 3883491 by Max.Chen Fix issue where tick is skipped due to last ticked pose isn't cleared after AnimInstance changes. Copy from Release-4.19 #jira UE-51323 Change 3883603 by Max.Chen Movie Scene Capture: Add option toggle disable screen percentage. By default this is on (no change in current behavior). #jira UE-51898 Change 3885074 by Max.Preussner MediaCompositing: Resetting media texture & freeing resource on section end; removed dead code Change 3887220 by Max.Preussner MediaCompositing: Defaulted media section duration to 1 sec (since we do not know the actual duration in most cases) Change 3887478 by Matt.Hoffman Sequences now show [Inactive] in their title bars when they're disabled. This helps communicate why a sequence isn't being evaluated. #jira UE-51469 Change 3888985 by Max.Chen Movie Scene Capture: Clamp HDR Compression Quality between 0 and 1. #jira UE-55136 Change 3893519 by Max.Chen Sequence Recorder: Clarified tooltip for bRecordNearbySpawnedActors - spawned actors will still be recorded if they match the ActorFilter. #jira UE-55238 Change 3893546 by Max.Chen Sequence Recorder: If a selected actor already has a recording, add a blank recording. #jira UE-55239 Change 3894044 by Max.Preussner MediaCompositing: Added support for seeking into a media section Change 3894310 by andrew.porter MediaFrameworkTest: Adding Img media sources for 1080 and 2160 ravent test content Change 3894426 by Max.Preussner MediaAssets: Letting media textures with AutoClear retain their clear color when player is reset Change 3895717 by Max.Chen Sequencer: Null checks to prevent crash when saving the default state of a spawnable #jira UE-55304 Change 3897388 by Max.Chen Sequencer: Don't update current time to be within the view range when stepping into a sequence. #jira UE-55322 Change 3897452 by Max.Chen Audio: Fix crash when trying to record audio without any active capture devices. Log warning if the number of input channels is not 1 or 2. #jira UE-55223 Change 3897619 by Max.Preussner MediaCompositing: Removed commented out code Change 3898072 by Max.Chen Sequencer: Override the animation asset in the player state if it doesn't match the animation asset that's being evaluated. #jira UE-55328 Change 3898272 by Max.Preussner MediaPlayerEditor: Made slate brush constants static Change 3898704 by Max.Chen Sequencer: Skip if the binding id's sequence can't be found. #jira UE-55337 Change 3899855 by Max.Preussner MediaCompositingEditor: Added cache state visualization to media track Change 3900300 by Max.Preussner MediaCompositingEditor: Added loop indicators to media sections Change 3900694 by Max.Preussner ImfMedia: Looping cache only when player is looping Change 3900892 by Max.Preussner Stats: Added stats category for media framework Change 3900954 by Max.Preussner MediaCompositing: Don't evaluate at the end of media section Change 3901348 by Max.Preussner Core: Replaced TLruCache autos for better readability Change 3901655 by Max.Preussner ImgMedia: Added more perf stats to EXR reader Change 3901972 by Max.Preussner MediaAssets: Added getter for media player in media sound components Change 3902233 by Max.Preussner MediaAssets: Enabling media textures to receive samples right after player is assigned Change 3902238 by Max.Preussner MediaCompositing: Working around init/shutdown idiosyncracies in sequencer Change 3904045 by Max.Chen Sequencer: Fix copy/paste crash. Only process UMovieSceneCopyableBinding and objects that can be spawned by the movie scene spawn register. #jira UE-55314 Change 3905605 by Max.Chen Sequencer: Restrict spawnables from being created if they have a ClassWithin that UMovieScene is not a child of. #jira UE-55429 Change 3906550 by Max.Chen Sequencer: Add media track icon #jira UE-55480 Change 3907101 by Max.Chen Sequence Recorder: Fix bugs related to not recording a level sequence. There were certain assumptions that creating a level sequence meant that sequence recording was in progress. This is not always the case - the recorders can record animation assets and not create a level sequence. Changed the notion of IsRecording() to having at least one actor recording that is recording. Countdown timer, recording displays, etc should function if IsRecording() and not based on whether a level sequence is created. #jira UE-55485 Change 3907247 by Max.Chen Sequence Recorder: Fix crash not removing PrepareToCleanseEditorObject delegate. Repros when opening sequence recorder, closing it, and then opening or creating a level. Change 3910343 by Max.Preussner Core: Added async helper for executing functions on a given thread pool Change 3910346 by Max.Preussner ImgMedia: Added separate thread pools for loading/decoding and deleting image frames Change 3910829 by Max.Preussner Profiler: Increased visible range of profiler graph Change 3910841 by Max.Preussner MediaCompositing: Displaying asset name instead of full media source path in media section Change 3910870 by Max.Preussner ImgMedia: Using deallocation thread pool only in debug builds Change 3919642 by Max.Chen Sequence Recorder: Clarify active tooltip #jira UE-55661 Change 3919660 by Max.Chen Sequencer: Sequence template source signatures are now also compared to catch the case where a sub-sequence asset has been saved but not modified - The following sequence of events exposes this issue: - Create a master sequence with a single shot that spawns a cube - Add this sequence to a level and set it to auto-play - Save everything and restart - Resave just the inner shot asset without opening it - PIE - The inner shot never spawns its cube because its template was wiped on save, but its signature never changed. Since the master sequence previously didn't check the template source signature, it ends up trying to evaluate an empty template. #jira UE-55626 #jira UE-55490 Change 3921825 by Max.Chen Sequencer: "Run Construction Script in Sequencer" is off by default for blueprints but on for Sequencer. This allows the content author to switch it on for specific blueprints and sequencer will be default, run those with construction scripts enabled. Change 3922232 by Max.Chen Sequence Recorder: Reset countdelay on stop. #jira UE-55755 Change 3922306 by Max.Chen Sequence Recorder: Don't automatically mark transforms to be recorded by sequence recorder. Instead, log a warning if the user toggled it off to warn that the resulting animation might not match gameplay. #jira UE-55758 Change 3922912 by Max.Chen Sequence Recorder: Fix refresh next sequence name #jira UE-55757 Change 3927654 by Max.Chen Movie Scene Capture: Added format mapping for the name of the current camera #jira UE-55769 PR #4537 Change 3927658 by Max.Chen Sequencer: Added fbx property mapping for "FocusDistance" to "FocusSettings.ManualFocusDistance" #jira UE-55782 Change 3932022 by Max.Chen Sequencer: Add import animation track section to next available row index. #jira UE-55892 Change 3933919 by Max.Chen Sequencer: Jump to playback start frame and not 0 to start playback for recording. #jira UE-55933 Change 3934307 by Andrew.Rodham Sequencer: Add template signature that is re-generated every time the base template is regenerated, which invalidates evaluation fields This fixes an issue where the same sequence is instantiated multiple times in a sequence. If the source sequence was saved, its template would be wiped, which would invalidate the template ID When an instance tries to evaluate the master template, it would only invalidate a range in the evaluation field that was the hull of any invalid sub sequences overlapping the current time, potentially leaving invalid data in the evaluation field at positions later (or earlier) on in the sequence When the sub template was re-generated, it receives the same SequenceSignature as it had before (because the sequence hasn't actually changed), which causes the stale evaluation field data to fail the IsDirty check (because the sequence is the same as it thought, but the *template* has changed) This has been addressed be adding a signature to templates themselves, and checking both the template signature and sequence signature as a part of the IsDirty check. This ensures that we regenerate if either the template, or the sequence have changed. #jira UE-55934 Change 3936327 by Andrew.Rodham Sequencer: Removed increment when trimming right UMovieSceneSection::TrimSection already explicity assigns an exclusive bound to the time passed in. The new behavior means we can trim a section to the right, and insert another section without changing the time to create adjacent sections. #jira UE-42652 Change 3936328 by Andrew.Rodham Fixed KeyFrameManipulator assignment operators and copy/move constructors - These types are potentially self-referential so cannot use default constructors/assignment Change 3936330 by Andrew.Rodham Converted UMGSequencePlayer to use frames internally #jira UE-54878 Change 3936726 by Max.Chen Sequencer: Set track node as the parent of the key area node. The key area switcher needs the object binding id from the parent object binding node. Without this, the binding to the external value fails. #jira UE-55931 Change 3936775 by Max.Chen Sequencer: Should stop or loop should compare DurationFrames with Current Time from StartTime. The bug is that if you set 30 warmup frames in movie rendering for a range of 0-100, the FrameRange will be starting at -30 and have a duration of 130. Without this fix, the playback will continue until frame 130, rather than 100. #jira UE-55933 Change 3936935 by Matt.Hoffman Easing Curves are now represented in Play Rate resolution instead of internal resolution. #jira UE-55937 Change 3937069 by Matt.Hoffman Users can toggle if the is infinite on each side, limited by which tracks support infinite ranges. #jira UE-55891 Change 3937516 by Max.Preussner ImgMedia: Added support for single-threaded platforms #jira UE-55986 Change 3937826 by Max.Preussner MediaAssets: Disabling media sound components on HTML5 if AudioMixer is not enabled Change 3937997 by Max.Chen Curve Editor: Add Zoom to Fit Curves so that selected curves from Sequencer can be focused on. Tested that undo doesn't re-zoom. #jira UE-55935 Change 3938000 by Max.Chen Sequencer: Stop all sounds before generating audio waveforms. #jira UE-55951 Change 3938376 by Max.Preussner XGEController: Disabled XGE Controller in single-threaded apps to prevent crash Change 3938444 by Max.Preussner Core: Added async support for single-threaded applications Change 3938445 by Max.Preussner Networking: Added support for single-threaded applications in UDP socket sender/receiver Change 3938447 by Max.Preussner Messaging: Added support for single-threaded applications Change 3939432 by Max.Chen Sequence Recorder: Append command list to global level editor actions so that shortcuts are accessible in level editor. #jira UE-55798 Change 3940229 by Andrew.Rodham Added prospective display rate upgrade to UMovieScene::PostLoad - There was previously some very odd behaviour that would assign the fixed frame interval only when a sub sequence was focused in SSequencer. This meant that many sequences could have a frame interval of 0 set in the data. - Under the old method of snap interval display this would have fallen back to getting the display interval from the sequencer settings, but we no longer look at these. - The USequencerSettings properties have been removed and in their place, a prospective data upgrade for sequences that have a fixed frame interval old 0fps that sets the play rate to the previous defaults based off the old USequencerSettings defaults. - This could end up 'changing' the display rate for sequences where the user has changed the snap interval in the settings for a particular sequence editor, but there's not much we can do about that given we don't have access to the USequencerSettings classes in UMovieScene #jira UE-55919 Change 3940277 by Andrew.Rodham Sequencer: Added ability to default frame resolutions and play rates for newly created actor sequences Change 3940378 by Andrew.Rodham Sequencer: Post move import dialog now defaults to the playback framerate of the sequence, and floors to frame numbers Change 3940559 by Andrew.Rodham Reinstated primed or recording sequence color Change 3940642 by Max.Preussner ImagePlate: Removed image plate media playback functionality Change 3940843 by Max.Preussner Core: Made TCircularQueue actually thread-safe; improved code comments Change 3940860 by Max.Chen Sequencer: Changed StructNameToKey to StructPathToKey Previously, keying a PropertyPath of [RenderTransform][Shear][X] would get trimmed to X, which doesn't map to a channel name as considered by Sequencer2dTransformTrackEditor. Instead, trim the resulting property path to [Shear][X] so that track editors can determine the desired struct path and channels to key. #jira UE-52966 Change 3941292 by Mike.Zyracki Fix for trajectories out of range not showing up. 1) If we had no key data we would pop the time, so wouldn't get the section ranges. 2) Calculating of upper bound was wrong, checking against -1 and not key == num of keys when doing algo::lower_bound. 3) No need to do the Bck-- for the bakward iterators since we fixed #2. We start now from the upper bound correctly. 4) If we had no keys (at section start,end) we would incorrectly say we were any key type, so since we draw constant keys as dashed we would do so incorrectly around section end points. #jira UE-55929 Change 3941424 by Max.Chen Curve Editor: Change Zoom to Fit to use TArrayView Change 3941498 by Max.Preussner Core: Added FMath::DivideAndRoundNearest function Change 3942097 by Matt.Hoffman Drop Frame Timecode Support for NTSC rates. Change 3942104 by Matt.Hoffman Sequence Recorder Group is no longer visible inside the World Outliner after using one. #jira 55266 Change 3942107 by Max.Chen Sequencer: Resurrect logic to find or extend an existing section when adding keys. Change 3942330 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942339 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942507 by Andrew.Rodham Sequencer: We no longer pad the time overlap threshold with a small number that is not scaled by the current zoom level - The presence of this pad was causing keys that were far apart to be grouped when zoomed in a long way Change 3942509 by Andrew.Rodham Sequencer: Only pad total view range, rather than section range as well when retrieving keys to render - This stops us from rendering keys that are within the view range, but outside the section range Change 3942512 by Andrew.Rodham Added transactions to some sequencer details customizations Change 3942513 by Andrew.Rodham Sequencer: Reinstated validation checks to UMovieSceneSection::SetStartFrame and SetEndFrame, changed erroneous uses to use SetRange Change 3942560 by Andrew.Rodham Pass by rvalue reference to appease error C2719 on Win32 ('InChannels': formal parameter with requested alignment of 8 won't be aligned) Change 3942697 by Andrew.Rodham Newly Created Level Sequences and Actor Sequences now default to 24000 fps frame resolution (+/- ~24hrs range, supporting all integer rates + 23.976) Change 3942700 by Andrew.Rodham Sequencer: Added legacy out-of-bounds errors for times that are not supported by the current legacy upgrade frame resolution Change 3942989 by Max.Preussner Core: Fixed circular queue count calculation Change 3943538 by Max.Preussner MediaAssets: Reverted workaround for procedural audio log spam in HTML5 (Actor component initialization cannot be skipped if the component is used in a level) Change 3944071 by Max.Preussner QAGame: Fixed Media Texture keeps last frame of Media when PIE ends #jira UE-53360 Change 3944292 by Max.Chen Sequencer: Added extra flags to ensure that asset initialization does not occur on template actor sequences #jira UE-56113 Change 3944364 by Max.Chen Sequencer: Prevent circular shot/master tracks. Tested adding master -> child -> master as drag and drop cinematic shot tracks and sub tracks as well as through the + button. #jira UE-56091 Change 3944422 by Max.Chen Sequence Recorder: Disable transform recording if off. #jira UE-56061 Change 3944745 by Andrew.Rodham Sequencer: Key rendering fixes - Fixed assert that occured when keys happened to reside on some times due to KeyTime + TimeOverlapThreshold - KeyTime being slightly larger TimeOverlapThreshold - Fixed keys sometimes being clipped when zoomed right in due to lack of half-frame offset - Added missing documentation to MovieSceneTimeHelpers.h #jira UE-56107 Change 3945231 by Andrew.Rodham Sequencer: Reconstruct channel proxy on Serialize to catch all cases of undo/redo, PostLoad and duplication #jira UE-56089 Change 3945301 by Andrew.Rodham Sequencer: Added safety checks during initial sequence recording to guard against applying negative or 0-sized sequence ranges #jira UE-56125 Change 3946627 by Max.Preussner Fortnite: Fixed game crashes closing editor while in PIE - Pure virtual function being called #jira UE-56144 [CL 3946896 by Max Chen in Main branch]
2018-03-14 22:09:33 -04:00
ArrowLayer,
MyGeometry,
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3946692) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3801826 by Max.Chen PR #4304: Level Sequence crash fix - Guarded against dereferencing null componen. (Contributed by DSDambuster) Change 3801828 by Max.Chen PR #4302: Movie Scene Visibility Template unitialised variable, causing random . (Contributed by DSDambuster) Change 3801837 by Max.Chen Sequencer: Delay spawning/construction for convert to possessable. This fixes a bug where property values would be lost when converting back and forth from possessable to spawnable. #jira UE-52400 Change 3801841 by Max.Chen Sequencer: Make spacer nodes not selectable. PR #4194: Improvements to Sequencer (Contributed by projectgheist) #jira UE-53117 #jira UE-52139 Change 3804183 by Max.Preussner MediaAssets: Added missing lock in media sound component Change 3805414 by Max.Preussner MediaAssets: Setting valid GUID when initializing media texture resource Change 3819578 by Max.Chen PR #4370: When enabling the "MovieCapture", do not turn off the Stereo-3D display. (Contributed by yehaike) #jira UE-53647 Change 3823414 by Max.Chen Curve Editor: Lock down the first and last keys in the redundant keys removal range so that they're unaffected. #jira UE-53591 Change 3826406 by Max.Chen Sequencer: Move OnStartedPlaying() to within first update in UpdateTimeCursorPosition(). This fixes an issue where setting the hud/player visibility was getting stomped on later. #jira UE-52772 Change 3827044 by Max.Preussner MediaAssets: Added sprite visualization to media sound component #jira UE-53594 Change 3827988 by Max.Preussner MediaPlayerAssets: Fixed Media Texture is not linked to Media Player when created together #jira UE-53532 Change 3828506 by Max.Preussner MediaPlayerEditor: Added attenuation visualizer for media sound components #jira UE-53594 Change 3832590 by andrew.porter EngineTest: Added a keep state check in Property Animation sequencer test Change 3833053 by andrew.porter EngineTest: Adding Hierarchical Bias test Change 3835683 by andrew.porter EngineTest: Adding UMG Animation screenshot test Change 3836076 by Max.Chen Sequencer: Fix audio volume and pitch multiplier deprecation. Change 3836230 by andrew.porter EngineTest: Adding Sequence Bone Position automation test Change 3836347 by Max.Chen Sequencer: Fixes to shot name parsing. When a shot doesn't contain a shot number, assume, [ShotName]_[TakeNumber]. When duplicating a shot, put the new shot in the same path of the original shot, so that the take numbers will increment properly. #jira UE-51868 Change 3836552 by Max.Chen Sequencer: Sub section now has a takes menu Change 3838094 by Max.Chen UMG: Fix template finish not getting called on stop. This fixes a bug where sections aren't restored when finished. #jira UE-52285 Change 3838708 by Max.Chen Sequencer: Add notification when the blend type is changed. #jira UE-54046 Change 3840295 by Max.Chen Sequencer: Fix copy/paste crash for lights #jira UE-54084 Change 3840957 by Mike.Zyracki Added Show Only Keyable and Show Only Animated to the filter list in the property editor. Added IsPropertyAnimated to IDetailKeyframe Interface which already had support for showing properties which are keyable (which is used for the key icon next to the properties.). Could have created another interface but then would have had to mimic the sequencer binding, releasing also, so this seemed best way. One issue still left is that custom built detail items currently don't store associated properties(usually) and so certain properties, in particulalry transforms, won't show up as keyable or animated. Note this also shows up with the keyable icon not showing up next to transform tracks, and other filters like Show Only Modified not working with transforms/customs. Not sure best way to tackle this. #jira UESEQ-328 Change 3841756 by Max.Chen Sequencer: Fix unbound possessable components when pasting spawnables. #jira UE-54104 Change 3843950 by andrew.porter EngineTest: Renaming LevelStreaming tests/content to LevelVisibility Change 3844082 by Mike.Zyracki Missing file for animated filter in property editor. When finding if a track is animated we need to find it but we can't easily induce the MovieTrack class for any particular property. So we don't set a class for it and just search by it's ID and name. #jira UESEQ-328 Change 3846902 by Max.Preussner ImgMedia: Fixed image media player never finished initialization if loading failed #jira UE-54247 Change 3849820 by Mike.Zyracki Reassigning deleted widgets didn't work since the menu extender mechanism needs a valid UObject in order to perform an operation on it. So to fix we replaced GetObjectBindingContextMenuExtender in WidgetBlueprint with new delegate mechanism (OnBuildCustomContextMenuForGuid) that supports FGuid in addition to UObjects which is needed to handle re-binding deleted widgets. Note that the default sequencer hacks this for replacing deleted actors in SequencerObjectBindingNode to check to see if a LevelSequence is active. We could move to this mechanism there also. #jira UE-53163 Change 3852211 by Max.Chen UMG: Indicate name of the property that is not bound. #jira UE-54350 Change 3854120 by Max.Chen Sequencer: Fix sibling folders being allowed to have the same folder name. #jira UE-54363 Change 3854627 by Max.Chen Sequencer: Step to next/previous key should work for all tracks if there aren't any selected. #jira UESEQ-391 Change 3855825 by andrew.porter EngineTest: Adding animation blending automation test Change 3855950 by andrew.porter EngineTest: Adding correct expected valuues to animation blending test Change 3856237 by Matt.Hoffman UESEQ-336 - Sequencer Track Reordering Adds the ability to re-order Master Tracks, Folders and Object Bindings within sequencer hierarchies (including UMG). Adds the ability to do a one-off sorting of the content under the old sorting behavior if the user wants to reset their layout to how it was under legacy behavior. Modifies SequencerTrackNodes, SequencerFolderNodes and SequencerObjectBindingNodes to handle CanDrop/OnDrop for above, below and ontop of. Fixes a Slate Issue that forcibly expanded a TreeviewRow if an item handled OnDrop. Slate will now only forcibly expand the row if the item says the drop happened ontop of the item, and not above or below it like it previously did. Change 3856503 by andrew.porter EngineTest: Adding automation test for using animation blueprint with blend multi node in sequencer Change 3857875 by Max.Chen Sequencer: Assign the sequence id after the template is compiled. #jira UE-54462 Change 3858344 by Max.Chen Sequencer: Prevent Goto and Transform boxes from overlapping by allowing them to be visible at the same time in an autosized horizontal box. Also, added close button to the goto box. PR #4425: Prevent Goto and Transform boxes from overlapping in Sequencer ... (Contributed by projectgheist) #jira UE-54210 Change 3860566 by andrew.porter MediaFrameworkTest: Set the option to index 0 for the audio and video track list by default Change 3860654 by andrew.porter EngineTest: Enabling Camera Cut + FOV test Change 3860981 by andrew.porter EngineTest: Updating skeletal mesh tests with a delay after set playback position Change 3861256 by Max.Chen Sequencer: Add all bindings if none selected. #jira-54440 Change 3862154 by Andrew.Rodham Added TimeManagement module Change 3862424 by andrew.porter EngineTest: Turned on the test Bone Positions with Blend Multi Node Change 3862573 by andrew.porter EngineTest: Adding test to compare bone positions in a sequence that is blending an animation that is using an AnimBP Change 3865117 by Max.Chen Sequencer: Stop auto scroll on mouse release of movement. #jira UE-31212 Change 3865303 by Max.Chen Sequencer: Add drag and drop transactions #jira UE-54662 Change 3865304 by Max.Chen Sequencer: Fix crash when an actor factory is not found. Change 3865361 by Max.Chen Sequencer: Don't change the camera/shot lock button when popping out of a sequence. #jira UE-54665 Change 3865412 by Max.Chen Sequencer: Determine whether a transform track is for a camera by using the spawned object or template #jira UE-54666 Change 3865685 by Max.Chen Sequencer: Clear autoscrub offset when stopping autoscroll #jira UE-31212 Change 3865886 by Max.Chen Sequence Recorder: Log an error if the number of frames changes while recording. This can happen if the skeleton changes while recording. #jira UE-48715 Change 3866925 by Andrew.Porter MediaFrameworkTest: Changing the current PNG test video image sequence to 1024 x 576 Change 3867705 by andrew.porter QAGame: Adding Audio Sort Sequence to dev folder Change 3867890 by andrew.porter QAGame: Adding a sequence for testing a sorting crash to my dev folder Change 3872628 by Max.Chen Movie Scene Capture: Split delay before warmup into split delay before shot warmup so that there's separate controls for when the movie scene capture warmups up vs. shot boundaries. Change 3873131 by Matt.Hoffman UE-54732 - Crash reordering a folder with a track. This was caused by folders being the only type of track to check if someone was putting a parent track into a child track. Object Binding tracks and Tracks now check as well so that you can't use the above/below drop targets to add parents as children. This also fixed a typo in the localization keys. #jira UE-54732 Change 3873301 by Mike.Zyracki Added ability to support continous euler angle changes when changing rotations, in particularly with the rotation gizmo's. To do this we effectively added a form an of 'euler filter'(https://en.wikipedia.org/wiki/Euler_filter) to find the closest euler angle to the current euler angle. Three functions were added to FRotator to make this possible, one to get the euler angle that's has the same rotation as it, one to get the difference between two euler angles via Manhattan distance and a third using the previous two to choose a Rotator value that's closest to it. We then use these functions before calling UComponent::SetRelativeRotation to make sure we use the correct Euler after the Quat conversion. We also no longer limit(bound) the euler angles to -180,180, which is obviously necessary to avoid flips. I also changed how we caluclate yaw and roll when pitch is -90 or 90 to make it the standard approach of zeroing out roll and just setting yaw. Main reasons are the previous implementation had precision issues so things like 180, 90, -180 would show up due to numbers being nearly zero but negative,(this would break any smooth interpolations), and this facilitates having a 'gimbal' rotation mode (like Maya, Blender etc..) if we ever want that also. If needed we could keep the previous implementation but would need to add some FMath::IsNearlyZero checks, with less performance. Note we only do this special filtering when applying delta's to actors or components in the editors, which then call UComponent::SetRelativeRotationExact, which is a new function to foces the RelativeRotation to be equal to the new rotation. This allows us to store un-nomalized Rotators at the cost that the RotationCache may be broken. We didn't change any of the other UComponent functions that set rotations (via Quats or Transforms) so they will still be bounded and unwound. In SetInternalWorldLocationAndRotation we only set the rotation if the rotation has changed, which fixes the rotation getting changed and re-normalized if just translate happens. In TransformTrackEditor, we correclty use the bUndwing flag and in MovieScene3DTransformSection there was an un-needed winding check there, it will be unwound earlier if needed, which happens if Sequence Recording is happening. Max we should talk about what to do about this . Note the euler angle drag via the widget is still bound to 0-360. I think we should just unbound that now since the rotations value are now unbound. This review now includes fixes suggested by Zak. #jira UE-UE-22228 Change 3873483 by Matt.Hoffman Sequencer Tracks can now be inserted above the spacer at the bottom of the tree. #jira UE-54706 Change 3873899 by Max.Chen Sequencer: Add section selection throbbing Change 3873908 by Max.Chen Movie Scene Capture: Added logging per frame Change 3873924 by Matt.Hoffman Adds the ability to store Sequence Recorder setups into profiles that stay with the map and can be re-loaded later. Profiles store the Actor Recordings so the settings for each actor should carry with them. #jira UESEQ-339 Change 3874726 by Matt.Hoffman Disable drag-and-drop targets on spacers that come between rows in Sequencer. This prevents extra drag/drop targets showing up between each row. #jira UE-54706 Change 3874862 by Matt.Hoffman Audio Track no longer gets reordered when adding sub-audio tracks, as sub-tracks are no longer counted towards the sorting order index when normalizing indexes. #jira UE-54727 Change 3875905 by Matt.Hoffman Disable Fade Track UI if a fade track already exists in the sequence. #jira UESEQ-393 Change 3876163 by Max.Chen Sequencer: Swap the camera object to the camera component's owner if it's not the same. #jira UE-54874 Change 3876971 by Andrew.Porter EngineTest: Moved Media Player Seek test to new folder. Also enabled the test with new ground truth image. Change 3877040 by Max.Chen Cine Camera: Split camera properties to two groups, "Camera Options" and "Camera Settings". The cine camera now hides properties in the "Camera Settings" group so that properties like bConstrainAspectRatio (in the "Camera Options" group) can be visible. #jira UE-54192 Change 3877763 by Max.Chen Curve Editor: Fix curve changed on end drag so that only curves that had keys/tangents that were changed receive notification, otherwise all loaded curves were getting notified that they were changed. #jira UE-54951 Change 3878234 by Matt.Hoffman Disable "Drop Below" targets for Sequencer Tree nodes to prevent a confusing UX issue where dropping underneath a Object Binding Node puts it after the object binding node but the UI looks like it's inserting it inside the Object Binding node. #jira UE-54743 Change 3879359 by Mike.Zyracki If a track is inactive we dim it a bit which seems to be the UE4 way to show inactive or disabled state. We changed the active logic so that all subtracks need to be inactive for the track to also be inactive(instead of all active for active). This conforms to how the active state actually works, e.g if you have two sections and only one is active the track is still active above it. #jira UESEQ-388 Change 3879462 by Max.Chen Sequencer: Allow dragging onto a particular row which would move out any overlapping sections to make space for the newly created section. Newly created sections are now selected and throbbed to draw attention to themselves. #jira UE-54664 Change 3879464 by Max.Chen Sequencer: Fixed overlapping ranges being inserted into the evaluation field during compilation - The issue was that track segments that had been combined with adjacent segments (due to them being identical) would potentially cause a subsequently compiled frame to overlap with a range that had already been inserted into the evaluation field. - The insertion code previously asserted that only minor overlaps were catered for (due to fp rounding errors) and assumed that a supplied range could not entirely contain any other range in the field. - The solution is to supply the insertion time along with the range to know exactly where the data should live in the field, and crop the range to the maximum allowable space between adjacent ranges. #jira UE-54922 Change 3879590 by Matt.Hoffman Items that are now added to the Sequencer via the "+Track" menu will be selected after being added. Items can now be added inside of folders instead of just to the root level. #jira UE-27397 Change 3879612 by Mike.Zyracki Display Nodes with no children are always active. #jira UESEQ-388 Change 3879730 by Matt.Hoffman Sequence Recorder's actor recording groups now remove items from the group when removed via the UI. #jira UESEQ-339 Change 3880256 by Mike.Zyracki Fix issue with inactive display with folders and other track nodes. #jira UESEQ-388 Change 3883491 by Max.Chen Fix issue where tick is skipped due to last ticked pose isn't cleared after AnimInstance changes. Copy from Release-4.19 #jira UE-51323 Change 3883603 by Max.Chen Movie Scene Capture: Add option toggle disable screen percentage. By default this is on (no change in current behavior). #jira UE-51898 Change 3885074 by Max.Preussner MediaCompositing: Resetting media texture & freeing resource on section end; removed dead code Change 3887220 by Max.Preussner MediaCompositing: Defaulted media section duration to 1 sec (since we do not know the actual duration in most cases) Change 3887478 by Matt.Hoffman Sequences now show [Inactive] in their title bars when they're disabled. This helps communicate why a sequence isn't being evaluated. #jira UE-51469 Change 3888985 by Max.Chen Movie Scene Capture: Clamp HDR Compression Quality between 0 and 1. #jira UE-55136 Change 3893519 by Max.Chen Sequence Recorder: Clarified tooltip for bRecordNearbySpawnedActors - spawned actors will still be recorded if they match the ActorFilter. #jira UE-55238 Change 3893546 by Max.Chen Sequence Recorder: If a selected actor already has a recording, add a blank recording. #jira UE-55239 Change 3894044 by Max.Preussner MediaCompositing: Added support for seeking into a media section Change 3894310 by andrew.porter MediaFrameworkTest: Adding Img media sources for 1080 and 2160 ravent test content Change 3894426 by Max.Preussner MediaAssets: Letting media textures with AutoClear retain their clear color when player is reset Change 3895717 by Max.Chen Sequencer: Null checks to prevent crash when saving the default state of a spawnable #jira UE-55304 Change 3897388 by Max.Chen Sequencer: Don't update current time to be within the view range when stepping into a sequence. #jira UE-55322 Change 3897452 by Max.Chen Audio: Fix crash when trying to record audio without any active capture devices. Log warning if the number of input channels is not 1 or 2. #jira UE-55223 Change 3897619 by Max.Preussner MediaCompositing: Removed commented out code Change 3898072 by Max.Chen Sequencer: Override the animation asset in the player state if it doesn't match the animation asset that's being evaluated. #jira UE-55328 Change 3898272 by Max.Preussner MediaPlayerEditor: Made slate brush constants static Change 3898704 by Max.Chen Sequencer: Skip if the binding id's sequence can't be found. #jira UE-55337 Change 3899855 by Max.Preussner MediaCompositingEditor: Added cache state visualization to media track Change 3900300 by Max.Preussner MediaCompositingEditor: Added loop indicators to media sections Change 3900694 by Max.Preussner ImfMedia: Looping cache only when player is looping Change 3900892 by Max.Preussner Stats: Added stats category for media framework Change 3900954 by Max.Preussner MediaCompositing: Don't evaluate at the end of media section Change 3901348 by Max.Preussner Core: Replaced TLruCache autos for better readability Change 3901655 by Max.Preussner ImgMedia: Added more perf stats to EXR reader Change 3901972 by Max.Preussner MediaAssets: Added getter for media player in media sound components Change 3902233 by Max.Preussner MediaAssets: Enabling media textures to receive samples right after player is assigned Change 3902238 by Max.Preussner MediaCompositing: Working around init/shutdown idiosyncracies in sequencer Change 3904045 by Max.Chen Sequencer: Fix copy/paste crash. Only process UMovieSceneCopyableBinding and objects that can be spawned by the movie scene spawn register. #jira UE-55314 Change 3905605 by Max.Chen Sequencer: Restrict spawnables from being created if they have a ClassWithin that UMovieScene is not a child of. #jira UE-55429 Change 3906550 by Max.Chen Sequencer: Add media track icon #jira UE-55480 Change 3907101 by Max.Chen Sequence Recorder: Fix bugs related to not recording a level sequence. There were certain assumptions that creating a level sequence meant that sequence recording was in progress. This is not always the case - the recorders can record animation assets and not create a level sequence. Changed the notion of IsRecording() to having at least one actor recording that is recording. Countdown timer, recording displays, etc should function if IsRecording() and not based on whether a level sequence is created. #jira UE-55485 Change 3907247 by Max.Chen Sequence Recorder: Fix crash not removing PrepareToCleanseEditorObject delegate. Repros when opening sequence recorder, closing it, and then opening or creating a level. Change 3910343 by Max.Preussner Core: Added async helper for executing functions on a given thread pool Change 3910346 by Max.Preussner ImgMedia: Added separate thread pools for loading/decoding and deleting image frames Change 3910829 by Max.Preussner Profiler: Increased visible range of profiler graph Change 3910841 by Max.Preussner MediaCompositing: Displaying asset name instead of full media source path in media section Change 3910870 by Max.Preussner ImgMedia: Using deallocation thread pool only in debug builds Change 3919642 by Max.Chen Sequence Recorder: Clarify active tooltip #jira UE-55661 Change 3919660 by Max.Chen Sequencer: Sequence template source signatures are now also compared to catch the case where a sub-sequence asset has been saved but not modified - The following sequence of events exposes this issue: - Create a master sequence with a single shot that spawns a cube - Add this sequence to a level and set it to auto-play - Save everything and restart - Resave just the inner shot asset without opening it - PIE - The inner shot never spawns its cube because its template was wiped on save, but its signature never changed. Since the master sequence previously didn't check the template source signature, it ends up trying to evaluate an empty template. #jira UE-55626 #jira UE-55490 Change 3921825 by Max.Chen Sequencer: "Run Construction Script in Sequencer" is off by default for blueprints but on for Sequencer. This allows the content author to switch it on for specific blueprints and sequencer will be default, run those with construction scripts enabled. Change 3922232 by Max.Chen Sequence Recorder: Reset countdelay on stop. #jira UE-55755 Change 3922306 by Max.Chen Sequence Recorder: Don't automatically mark transforms to be recorded by sequence recorder. Instead, log a warning if the user toggled it off to warn that the resulting animation might not match gameplay. #jira UE-55758 Change 3922912 by Max.Chen Sequence Recorder: Fix refresh next sequence name #jira UE-55757 Change 3927654 by Max.Chen Movie Scene Capture: Added format mapping for the name of the current camera #jira UE-55769 PR #4537 Change 3927658 by Max.Chen Sequencer: Added fbx property mapping for "FocusDistance" to "FocusSettings.ManualFocusDistance" #jira UE-55782 Change 3932022 by Max.Chen Sequencer: Add import animation track section to next available row index. #jira UE-55892 Change 3933919 by Max.Chen Sequencer: Jump to playback start frame and not 0 to start playback for recording. #jira UE-55933 Change 3934307 by Andrew.Rodham Sequencer: Add template signature that is re-generated every time the base template is regenerated, which invalidates evaluation fields This fixes an issue where the same sequence is instantiated multiple times in a sequence. If the source sequence was saved, its template would be wiped, which would invalidate the template ID When an instance tries to evaluate the master template, it would only invalidate a range in the evaluation field that was the hull of any invalid sub sequences overlapping the current time, potentially leaving invalid data in the evaluation field at positions later (or earlier) on in the sequence When the sub template was re-generated, it receives the same SequenceSignature as it had before (because the sequence hasn't actually changed), which causes the stale evaluation field data to fail the IsDirty check (because the sequence is the same as it thought, but the *template* has changed) This has been addressed be adding a signature to templates themselves, and checking both the template signature and sequence signature as a part of the IsDirty check. This ensures that we regenerate if either the template, or the sequence have changed. #jira UE-55934 Change 3936327 by Andrew.Rodham Sequencer: Removed increment when trimming right UMovieSceneSection::TrimSection already explicity assigns an exclusive bound to the time passed in. The new behavior means we can trim a section to the right, and insert another section without changing the time to create adjacent sections. #jira UE-42652 Change 3936328 by Andrew.Rodham Fixed KeyFrameManipulator assignment operators and copy/move constructors - These types are potentially self-referential so cannot use default constructors/assignment Change 3936330 by Andrew.Rodham Converted UMGSequencePlayer to use frames internally #jira UE-54878 Change 3936726 by Max.Chen Sequencer: Set track node as the parent of the key area node. The key area switcher needs the object binding id from the parent object binding node. Without this, the binding to the external value fails. #jira UE-55931 Change 3936775 by Max.Chen Sequencer: Should stop or loop should compare DurationFrames with Current Time from StartTime. The bug is that if you set 30 warmup frames in movie rendering for a range of 0-100, the FrameRange will be starting at -30 and have a duration of 130. Without this fix, the playback will continue until frame 130, rather than 100. #jira UE-55933 Change 3936935 by Matt.Hoffman Easing Curves are now represented in Play Rate resolution instead of internal resolution. #jira UE-55937 Change 3937069 by Matt.Hoffman Users can toggle if the is infinite on each side, limited by which tracks support infinite ranges. #jira UE-55891 Change 3937516 by Max.Preussner ImgMedia: Added support for single-threaded platforms #jira UE-55986 Change 3937826 by Max.Preussner MediaAssets: Disabling media sound components on HTML5 if AudioMixer is not enabled Change 3937997 by Max.Chen Curve Editor: Add Zoom to Fit Curves so that selected curves from Sequencer can be focused on. Tested that undo doesn't re-zoom. #jira UE-55935 Change 3938000 by Max.Chen Sequencer: Stop all sounds before generating audio waveforms. #jira UE-55951 Change 3938376 by Max.Preussner XGEController: Disabled XGE Controller in single-threaded apps to prevent crash Change 3938444 by Max.Preussner Core: Added async support for single-threaded applications Change 3938445 by Max.Preussner Networking: Added support for single-threaded applications in UDP socket sender/receiver Change 3938447 by Max.Preussner Messaging: Added support for single-threaded applications Change 3939432 by Max.Chen Sequence Recorder: Append command list to global level editor actions so that shortcuts are accessible in level editor. #jira UE-55798 Change 3940229 by Andrew.Rodham Added prospective display rate upgrade to UMovieScene::PostLoad - There was previously some very odd behaviour that would assign the fixed frame interval only when a sub sequence was focused in SSequencer. This meant that many sequences could have a frame interval of 0 set in the data. - Under the old method of snap interval display this would have fallen back to getting the display interval from the sequencer settings, but we no longer look at these. - The USequencerSettings properties have been removed and in their place, a prospective data upgrade for sequences that have a fixed frame interval old 0fps that sets the play rate to the previous defaults based off the old USequencerSettings defaults. - This could end up 'changing' the display rate for sequences where the user has changed the snap interval in the settings for a particular sequence editor, but there's not much we can do about that given we don't have access to the USequencerSettings classes in UMovieScene #jira UE-55919 Change 3940277 by Andrew.Rodham Sequencer: Added ability to default frame resolutions and play rates for newly created actor sequences Change 3940378 by Andrew.Rodham Sequencer: Post move import dialog now defaults to the playback framerate of the sequence, and floors to frame numbers Change 3940559 by Andrew.Rodham Reinstated primed or recording sequence color Change 3940642 by Max.Preussner ImagePlate: Removed image plate media playback functionality Change 3940843 by Max.Preussner Core: Made TCircularQueue actually thread-safe; improved code comments Change 3940860 by Max.Chen Sequencer: Changed StructNameToKey to StructPathToKey Previously, keying a PropertyPath of [RenderTransform][Shear][X] would get trimmed to X, which doesn't map to a channel name as considered by Sequencer2dTransformTrackEditor. Instead, trim the resulting property path to [Shear][X] so that track editors can determine the desired struct path and channels to key. #jira UE-52966 Change 3941292 by Mike.Zyracki Fix for trajectories out of range not showing up. 1) If we had no key data we would pop the time, so wouldn't get the section ranges. 2) Calculating of upper bound was wrong, checking against -1 and not key == num of keys when doing algo::lower_bound. 3) No need to do the Bck-- for the bakward iterators since we fixed #2. We start now from the upper bound correctly. 4) If we had no keys (at section start,end) we would incorrectly say we were any key type, so since we draw constant keys as dashed we would do so incorrectly around section end points. #jira UE-55929 Change 3941424 by Max.Chen Curve Editor: Change Zoom to Fit to use TArrayView Change 3941498 by Max.Preussner Core: Added FMath::DivideAndRoundNearest function Change 3942097 by Matt.Hoffman Drop Frame Timecode Support for NTSC rates. Change 3942104 by Matt.Hoffman Sequence Recorder Group is no longer visible inside the World Outliner after using one. #jira 55266 Change 3942107 by Max.Chen Sequencer: Resurrect logic to find or extend an existing section when adding keys. Change 3942330 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942339 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942507 by Andrew.Rodham Sequencer: We no longer pad the time overlap threshold with a small number that is not scaled by the current zoom level - The presence of this pad was causing keys that were far apart to be grouped when zoomed in a long way Change 3942509 by Andrew.Rodham Sequencer: Only pad total view range, rather than section range as well when retrieving keys to render - This stops us from rendering keys that are within the view range, but outside the section range Change 3942512 by Andrew.Rodham Added transactions to some sequencer details customizations Change 3942513 by Andrew.Rodham Sequencer: Reinstated validation checks to UMovieSceneSection::SetStartFrame and SetEndFrame, changed erroneous uses to use SetRange Change 3942560 by Andrew.Rodham Pass by rvalue reference to appease error C2719 on Win32 ('InChannels': formal parameter with requested alignment of 8 won't be aligned) Change 3942697 by Andrew.Rodham Newly Created Level Sequences and Actor Sequences now default to 24000 fps frame resolution (+/- ~24hrs range, supporting all integer rates + 23.976) Change 3942700 by Andrew.Rodham Sequencer: Added legacy out-of-bounds errors for times that are not supported by the current legacy upgrade frame resolution Change 3942989 by Max.Preussner Core: Fixed circular queue count calculation Change 3943538 by Max.Preussner MediaAssets: Reverted workaround for procedural audio log spam in HTML5 (Actor component initialization cannot be skipped if the component is used in a level) Change 3944071 by Max.Preussner QAGame: Fixed Media Texture keeps last frame of Media when PIE ends #jira UE-53360 Change 3944292 by Max.Chen Sequencer: Added extra flags to ensure that asset initialization does not occur on template actor sequences #jira UE-56113 Change 3944364 by Max.Chen Sequencer: Prevent circular shot/master tracks. Tested adding master -> child -> master as drag and drop cinematic shot tracks and sub tracks as well as through the + button. #jira UE-56091 Change 3944422 by Max.Chen Sequence Recorder: Disable transform recording if off. #jira UE-56061 Change 3944745 by Andrew.Rodham Sequencer: Key rendering fixes - Fixed assert that occured when keys happened to reside on some times due to KeyTime + TimeOverlapThreshold - KeyTime being slightly larger TimeOverlapThreshold - Fixed keys sometimes being clipped when zoomed right in due to lack of half-frame offset - Added missing documentation to MovieSceneTimeHelpers.h #jira UE-56107 Change 3945231 by Andrew.Rodham Sequencer: Reconstruct channel proxy on Serialize to catch all cases of undo/redo, PostLoad and duplication #jira UE-56089 Change 3945301 by Andrew.Rodham Sequencer: Added safety checks during initial sequence recording to guard against applying negative or 0-sized sequence ranges #jira UE-56125 Change 3946627 by Max.Preussner Fortnite: Fixed game crashes closing editor while in PIE - Pure virtual function being called #jira UE-56144 [CL 3946896 by Max Chen in Main branch]
2018-03-14 22:09:33 -04:00
Brush,
DrawEffects,
ScrubColor
Copying //UE4/Dev-Sequencer to //UE4/Main ========================== MAJOR FEATURES + CHANGES ========================== Change 2875025 on 2016/02/20 by Andrew.Rodham Sequencer: Cinematic viewport improvements - Added optional letterbox overlay (defaults to 2.35:1) - Added ability to change safe frame colors - Added selected tracks' keys to the transport range - Added buttons for jumping between selected tracks' keyframes on the transport controls - Removed black padding around the viewport where possible - Added ability to specify whether a combo button/menu anchor should close when its parent receives focus - Separated logic of FGroupedKeyArea into FSequencerKeyCollection, so it can be used independently - Added playback range to the viewport frame numbers - All frame numbers are now spin boxes #jira UE-26429 Change 2875026 on 2016/02/20 by Thomas.Sarkanen Added console commands for recording sequences Changed plugin to a developer plugin so we can load it when the editor is in -game mode. Added Exec commands. Added some more logging to help diagnose problems when using commands. Added loading/saving of config for recorder settings (stored in Editor.ini). Also disabled controls in recorder window when recording. Added auto-saving of assets when in non-editor modes. Moved animation settings from UnrealEd to Engine module. Change 2875036 on 2016/02/20 by Max.Chen Sequencer: Call RedrawAllViewports instead of RedrawLevelEditingViewports. In particular, this fixes some update issues when editing values in the key editors. #jira UE-26960 Change 2875046 on 2016/02/20 by Max.Preussner Sequencer: Fix so that clicking on UMG Animations doesn't dirty the scene. #jira UE-26249 Change 2875047 on 2016/02/20 by Max.Chen Sequencer: Add option to toggle display of channel colors/lines. View->Channel Colors Change 2877138 on 2016/02/23 by Max.Chen Sequencer: Select corresponding track node when selecting key or section. Removed active/inactive selection since it was only being used in deletion and the rules for deletion are now dependent upon what is selected - delete keys and sections before deleting outliner nodes. Change 2877143 on 2016/02/23 by Thomas.Sarkanen Added new math function: WindRelativeAnglesDegrees Given two angles in degrees, 'wind' the angle in Angle1 so that it avoids >180 degree flips. Good for winding rotations previously expressed as quaternions into a euler-angle representation. Change 2877147 on 2016/02/23 by Thomas.Sarkanen Added the ability to import sequencer transforms from the root node of an animation sequence Intended for use after re-importing animations from DCC tools. Available in the right-click menu for transform tracks. Also added FindTrackBinding to UMovieScene so track bindings can be recovered from tracks. Change 2877163 on 2016/02/23 by Max.Chen Sequencer: Add option to create keyframe sections as infinite. Sequencer defaults to true, UMG defaults to false. Change 2877165 on 2016/02/23 by Max.Preussner Sequencer: Drawing vertical position lines when dragging keys Change 2878748 on 2016/02/23 by Max.Chen Curve Editor: Switch curve type to user when flatting or straightening tangents. #jira UE-27277 Change 2878799 on 2016/02/23 by Frank.Fella Sequencer - Add folders support to the outliner. Change 2880769 on 2016/02/24 by Andrew.Rodham Sequencer: Added ability to override runtime spawnable ownership in sequencer - This is exposed as an option on spawnables "Keep Alive Outside Playback Range (In Sequencer)" - Enabling this will stop spawnables from being destroyed when scrubbing outside of the playback range #jira UE-27205 Change 2880770 on 2016/02/24 by Thomas.Sarkanen Sequencer: Added countdown and recording indicator display when recording Also fixed extra popups added post-PIE when animation recordings auto shutdown. Change 2880782 on 2016/02/24 by Max.Chen Sequencer: Snapping now also uses the current time as a possible snap time. #jira UE-26306 Change 2880793 on 2016/02/24 by Max.Chen Sequencer: Add +Animation to Animation track so that it's consistent with all other tracks that have a + button. Change 2880812 on 2016/02/24 by Max.Chen Sequencer: Fix adjusting the leading edge of a shot section so that it cuts into the shot rather than adjusts the start time. #jira UE-26306 Change 2881624 on 2016/02/25 by Andrew.Rodham Changing shader version GUID to fix corrupt shaders in ddc Change 2882408 on 2016/02/25 by Thomas.Sarkanen Asset/actors stored in TLazyObjectPtrs can now reference game content from engine This is a legitimate use case as lazy object ptrs are designed to reference assets/actors cross-domain. Change 2882409 on 2016/02/25 by Thomas.Sarkanen [CL 2899785 by Max Chen in Main branch]
2016-03-08 16:55:04 -05:00
);
LayerId = DrawMarkedFrames(AllottedGeometry, RangeToScreen, OutDrawElements, LayerId, DrawEffects, true);
{
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3946692) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3801826 by Max.Chen PR #4304: Level Sequence crash fix - Guarded against dereferencing null componen. (Contributed by DSDambuster) Change 3801828 by Max.Chen PR #4302: Movie Scene Visibility Template unitialised variable, causing random . (Contributed by DSDambuster) Change 3801837 by Max.Chen Sequencer: Delay spawning/construction for convert to possessable. This fixes a bug where property values would be lost when converting back and forth from possessable to spawnable. #jira UE-52400 Change 3801841 by Max.Chen Sequencer: Make spacer nodes not selectable. PR #4194: Improvements to Sequencer (Contributed by projectgheist) #jira UE-53117 #jira UE-52139 Change 3804183 by Max.Preussner MediaAssets: Added missing lock in media sound component Change 3805414 by Max.Preussner MediaAssets: Setting valid GUID when initializing media texture resource Change 3819578 by Max.Chen PR #4370: When enabling the "MovieCapture", do not turn off the Stereo-3D display. (Contributed by yehaike) #jira UE-53647 Change 3823414 by Max.Chen Curve Editor: Lock down the first and last keys in the redundant keys removal range so that they're unaffected. #jira UE-53591 Change 3826406 by Max.Chen Sequencer: Move OnStartedPlaying() to within first update in UpdateTimeCursorPosition(). This fixes an issue where setting the hud/player visibility was getting stomped on later. #jira UE-52772 Change 3827044 by Max.Preussner MediaAssets: Added sprite visualization to media sound component #jira UE-53594 Change 3827988 by Max.Preussner MediaPlayerAssets: Fixed Media Texture is not linked to Media Player when created together #jira UE-53532 Change 3828506 by Max.Preussner MediaPlayerEditor: Added attenuation visualizer for media sound components #jira UE-53594 Change 3832590 by andrew.porter EngineTest: Added a keep state check in Property Animation sequencer test Change 3833053 by andrew.porter EngineTest: Adding Hierarchical Bias test Change 3835683 by andrew.porter EngineTest: Adding UMG Animation screenshot test Change 3836076 by Max.Chen Sequencer: Fix audio volume and pitch multiplier deprecation. Change 3836230 by andrew.porter EngineTest: Adding Sequence Bone Position automation test Change 3836347 by Max.Chen Sequencer: Fixes to shot name parsing. When a shot doesn't contain a shot number, assume, [ShotName]_[TakeNumber]. When duplicating a shot, put the new shot in the same path of the original shot, so that the take numbers will increment properly. #jira UE-51868 Change 3836552 by Max.Chen Sequencer: Sub section now has a takes menu Change 3838094 by Max.Chen UMG: Fix template finish not getting called on stop. This fixes a bug where sections aren't restored when finished. #jira UE-52285 Change 3838708 by Max.Chen Sequencer: Add notification when the blend type is changed. #jira UE-54046 Change 3840295 by Max.Chen Sequencer: Fix copy/paste crash for lights #jira UE-54084 Change 3840957 by Mike.Zyracki Added Show Only Keyable and Show Only Animated to the filter list in the property editor. Added IsPropertyAnimated to IDetailKeyframe Interface which already had support for showing properties which are keyable (which is used for the key icon next to the properties.). Could have created another interface but then would have had to mimic the sequencer binding, releasing also, so this seemed best way. One issue still left is that custom built detail items currently don't store associated properties(usually) and so certain properties, in particulalry transforms, won't show up as keyable or animated. Note this also shows up with the keyable icon not showing up next to transform tracks, and other filters like Show Only Modified not working with transforms/customs. Not sure best way to tackle this. #jira UESEQ-328 Change 3841756 by Max.Chen Sequencer: Fix unbound possessable components when pasting spawnables. #jira UE-54104 Change 3843950 by andrew.porter EngineTest: Renaming LevelStreaming tests/content to LevelVisibility Change 3844082 by Mike.Zyracki Missing file for animated filter in property editor. When finding if a track is animated we need to find it but we can't easily induce the MovieTrack class for any particular property. So we don't set a class for it and just search by it's ID and name. #jira UESEQ-328 Change 3846902 by Max.Preussner ImgMedia: Fixed image media player never finished initialization if loading failed #jira UE-54247 Change 3849820 by Mike.Zyracki Reassigning deleted widgets didn't work since the menu extender mechanism needs a valid UObject in order to perform an operation on it. So to fix we replaced GetObjectBindingContextMenuExtender in WidgetBlueprint with new delegate mechanism (OnBuildCustomContextMenuForGuid) that supports FGuid in addition to UObjects which is needed to handle re-binding deleted widgets. Note that the default sequencer hacks this for replacing deleted actors in SequencerObjectBindingNode to check to see if a LevelSequence is active. We could move to this mechanism there also. #jira UE-53163 Change 3852211 by Max.Chen UMG: Indicate name of the property that is not bound. #jira UE-54350 Change 3854120 by Max.Chen Sequencer: Fix sibling folders being allowed to have the same folder name. #jira UE-54363 Change 3854627 by Max.Chen Sequencer: Step to next/previous key should work for all tracks if there aren't any selected. #jira UESEQ-391 Change 3855825 by andrew.porter EngineTest: Adding animation blending automation test Change 3855950 by andrew.porter EngineTest: Adding correct expected valuues to animation blending test Change 3856237 by Matt.Hoffman UESEQ-336 - Sequencer Track Reordering Adds the ability to re-order Master Tracks, Folders and Object Bindings within sequencer hierarchies (including UMG). Adds the ability to do a one-off sorting of the content under the old sorting behavior if the user wants to reset their layout to how it was under legacy behavior. Modifies SequencerTrackNodes, SequencerFolderNodes and SequencerObjectBindingNodes to handle CanDrop/OnDrop for above, below and ontop of. Fixes a Slate Issue that forcibly expanded a TreeviewRow if an item handled OnDrop. Slate will now only forcibly expand the row if the item says the drop happened ontop of the item, and not above or below it like it previously did. Change 3856503 by andrew.porter EngineTest: Adding automation test for using animation blueprint with blend multi node in sequencer Change 3857875 by Max.Chen Sequencer: Assign the sequence id after the template is compiled. #jira UE-54462 Change 3858344 by Max.Chen Sequencer: Prevent Goto and Transform boxes from overlapping by allowing them to be visible at the same time in an autosized horizontal box. Also, added close button to the goto box. PR #4425: Prevent Goto and Transform boxes from overlapping in Sequencer ... (Contributed by projectgheist) #jira UE-54210 Change 3860566 by andrew.porter MediaFrameworkTest: Set the option to index 0 for the audio and video track list by default Change 3860654 by andrew.porter EngineTest: Enabling Camera Cut + FOV test Change 3860981 by andrew.porter EngineTest: Updating skeletal mesh tests with a delay after set playback position Change 3861256 by Max.Chen Sequencer: Add all bindings if none selected. #jira-54440 Change 3862154 by Andrew.Rodham Added TimeManagement module Change 3862424 by andrew.porter EngineTest: Turned on the test Bone Positions with Blend Multi Node Change 3862573 by andrew.porter EngineTest: Adding test to compare bone positions in a sequence that is blending an animation that is using an AnimBP Change 3865117 by Max.Chen Sequencer: Stop auto scroll on mouse release of movement. #jira UE-31212 Change 3865303 by Max.Chen Sequencer: Add drag and drop transactions #jira UE-54662 Change 3865304 by Max.Chen Sequencer: Fix crash when an actor factory is not found. Change 3865361 by Max.Chen Sequencer: Don't change the camera/shot lock button when popping out of a sequence. #jira UE-54665 Change 3865412 by Max.Chen Sequencer: Determine whether a transform track is for a camera by using the spawned object or template #jira UE-54666 Change 3865685 by Max.Chen Sequencer: Clear autoscrub offset when stopping autoscroll #jira UE-31212 Change 3865886 by Max.Chen Sequence Recorder: Log an error if the number of frames changes while recording. This can happen if the skeleton changes while recording. #jira UE-48715 Change 3866925 by Andrew.Porter MediaFrameworkTest: Changing the current PNG test video image sequence to 1024 x 576 Change 3867705 by andrew.porter QAGame: Adding Audio Sort Sequence to dev folder Change 3867890 by andrew.porter QAGame: Adding a sequence for testing a sorting crash to my dev folder Change 3872628 by Max.Chen Movie Scene Capture: Split delay before warmup into split delay before shot warmup so that there's separate controls for when the movie scene capture warmups up vs. shot boundaries. Change 3873131 by Matt.Hoffman UE-54732 - Crash reordering a folder with a track. This was caused by folders being the only type of track to check if someone was putting a parent track into a child track. Object Binding tracks and Tracks now check as well so that you can't use the above/below drop targets to add parents as children. This also fixed a typo in the localization keys. #jira UE-54732 Change 3873301 by Mike.Zyracki Added ability to support continous euler angle changes when changing rotations, in particularly with the rotation gizmo's. To do this we effectively added a form an of 'euler filter'(https://en.wikipedia.org/wiki/Euler_filter) to find the closest euler angle to the current euler angle. Three functions were added to FRotator to make this possible, one to get the euler angle that's has the same rotation as it, one to get the difference between two euler angles via Manhattan distance and a third using the previous two to choose a Rotator value that's closest to it. We then use these functions before calling UComponent::SetRelativeRotation to make sure we use the correct Euler after the Quat conversion. We also no longer limit(bound) the euler angles to -180,180, which is obviously necessary to avoid flips. I also changed how we caluclate yaw and roll when pitch is -90 or 90 to make it the standard approach of zeroing out roll and just setting yaw. Main reasons are the previous implementation had precision issues so things like 180, 90, -180 would show up due to numbers being nearly zero but negative,(this would break any smooth interpolations), and this facilitates having a 'gimbal' rotation mode (like Maya, Blender etc..) if we ever want that also. If needed we could keep the previous implementation but would need to add some FMath::IsNearlyZero checks, with less performance. Note we only do this special filtering when applying delta's to actors or components in the editors, which then call UComponent::SetRelativeRotationExact, which is a new function to foces the RelativeRotation to be equal to the new rotation. This allows us to store un-nomalized Rotators at the cost that the RotationCache may be broken. We didn't change any of the other UComponent functions that set rotations (via Quats or Transforms) so they will still be bounded and unwound. In SetInternalWorldLocationAndRotation we only set the rotation if the rotation has changed, which fixes the rotation getting changed and re-normalized if just translate happens. In TransformTrackEditor, we correclty use the bUndwing flag and in MovieScene3DTransformSection there was an un-needed winding check there, it will be unwound earlier if needed, which happens if Sequence Recording is happening. Max we should talk about what to do about this . Note the euler angle drag via the widget is still bound to 0-360. I think we should just unbound that now since the rotations value are now unbound. This review now includes fixes suggested by Zak. #jira UE-UE-22228 Change 3873483 by Matt.Hoffman Sequencer Tracks can now be inserted above the spacer at the bottom of the tree. #jira UE-54706 Change 3873899 by Max.Chen Sequencer: Add section selection throbbing Change 3873908 by Max.Chen Movie Scene Capture: Added logging per frame Change 3873924 by Matt.Hoffman Adds the ability to store Sequence Recorder setups into profiles that stay with the map and can be re-loaded later. Profiles store the Actor Recordings so the settings for each actor should carry with them. #jira UESEQ-339 Change 3874726 by Matt.Hoffman Disable drag-and-drop targets on spacers that come between rows in Sequencer. This prevents extra drag/drop targets showing up between each row. #jira UE-54706 Change 3874862 by Matt.Hoffman Audio Track no longer gets reordered when adding sub-audio tracks, as sub-tracks are no longer counted towards the sorting order index when normalizing indexes. #jira UE-54727 Change 3875905 by Matt.Hoffman Disable Fade Track UI if a fade track already exists in the sequence. #jira UESEQ-393 Change 3876163 by Max.Chen Sequencer: Swap the camera object to the camera component's owner if it's not the same. #jira UE-54874 Change 3876971 by Andrew.Porter EngineTest: Moved Media Player Seek test to new folder. Also enabled the test with new ground truth image. Change 3877040 by Max.Chen Cine Camera: Split camera properties to two groups, "Camera Options" and "Camera Settings". The cine camera now hides properties in the "Camera Settings" group so that properties like bConstrainAspectRatio (in the "Camera Options" group) can be visible. #jira UE-54192 Change 3877763 by Max.Chen Curve Editor: Fix curve changed on end drag so that only curves that had keys/tangents that were changed receive notification, otherwise all loaded curves were getting notified that they were changed. #jira UE-54951 Change 3878234 by Matt.Hoffman Disable "Drop Below" targets for Sequencer Tree nodes to prevent a confusing UX issue where dropping underneath a Object Binding Node puts it after the object binding node but the UI looks like it's inserting it inside the Object Binding node. #jira UE-54743 Change 3879359 by Mike.Zyracki If a track is inactive we dim it a bit which seems to be the UE4 way to show inactive or disabled state. We changed the active logic so that all subtracks need to be inactive for the track to also be inactive(instead of all active for active). This conforms to how the active state actually works, e.g if you have two sections and only one is active the track is still active above it. #jira UESEQ-388 Change 3879462 by Max.Chen Sequencer: Allow dragging onto a particular row which would move out any overlapping sections to make space for the newly created section. Newly created sections are now selected and throbbed to draw attention to themselves. #jira UE-54664 Change 3879464 by Max.Chen Sequencer: Fixed overlapping ranges being inserted into the evaluation field during compilation - The issue was that track segments that had been combined with adjacent segments (due to them being identical) would potentially cause a subsequently compiled frame to overlap with a range that had already been inserted into the evaluation field. - The insertion code previously asserted that only minor overlaps were catered for (due to fp rounding errors) and assumed that a supplied range could not entirely contain any other range in the field. - The solution is to supply the insertion time along with the range to know exactly where the data should live in the field, and crop the range to the maximum allowable space between adjacent ranges. #jira UE-54922 Change 3879590 by Matt.Hoffman Items that are now added to the Sequencer via the "+Track" menu will be selected after being added. Items can now be added inside of folders instead of just to the root level. #jira UE-27397 Change 3879612 by Mike.Zyracki Display Nodes with no children are always active. #jira UESEQ-388 Change 3879730 by Matt.Hoffman Sequence Recorder's actor recording groups now remove items from the group when removed via the UI. #jira UESEQ-339 Change 3880256 by Mike.Zyracki Fix issue with inactive display with folders and other track nodes. #jira UESEQ-388 Change 3883491 by Max.Chen Fix issue where tick is skipped due to last ticked pose isn't cleared after AnimInstance changes. Copy from Release-4.19 #jira UE-51323 Change 3883603 by Max.Chen Movie Scene Capture: Add option toggle disable screen percentage. By default this is on (no change in current behavior). #jira UE-51898 Change 3885074 by Max.Preussner MediaCompositing: Resetting media texture & freeing resource on section end; removed dead code Change 3887220 by Max.Preussner MediaCompositing: Defaulted media section duration to 1 sec (since we do not know the actual duration in most cases) Change 3887478 by Matt.Hoffman Sequences now show [Inactive] in their title bars when they're disabled. This helps communicate why a sequence isn't being evaluated. #jira UE-51469 Change 3888985 by Max.Chen Movie Scene Capture: Clamp HDR Compression Quality between 0 and 1. #jira UE-55136 Change 3893519 by Max.Chen Sequence Recorder: Clarified tooltip for bRecordNearbySpawnedActors - spawned actors will still be recorded if they match the ActorFilter. #jira UE-55238 Change 3893546 by Max.Chen Sequence Recorder: If a selected actor already has a recording, add a blank recording. #jira UE-55239 Change 3894044 by Max.Preussner MediaCompositing: Added support for seeking into a media section Change 3894310 by andrew.porter MediaFrameworkTest: Adding Img media sources for 1080 and 2160 ravent test content Change 3894426 by Max.Preussner MediaAssets: Letting media textures with AutoClear retain their clear color when player is reset Change 3895717 by Max.Chen Sequencer: Null checks to prevent crash when saving the default state of a spawnable #jira UE-55304 Change 3897388 by Max.Chen Sequencer: Don't update current time to be within the view range when stepping into a sequence. #jira UE-55322 Change 3897452 by Max.Chen Audio: Fix crash when trying to record audio without any active capture devices. Log warning if the number of input channels is not 1 or 2. #jira UE-55223 Change 3897619 by Max.Preussner MediaCompositing: Removed commented out code Change 3898072 by Max.Chen Sequencer: Override the animation asset in the player state if it doesn't match the animation asset that's being evaluated. #jira UE-55328 Change 3898272 by Max.Preussner MediaPlayerEditor: Made slate brush constants static Change 3898704 by Max.Chen Sequencer: Skip if the binding id's sequence can't be found. #jira UE-55337 Change 3899855 by Max.Preussner MediaCompositingEditor: Added cache state visualization to media track Change 3900300 by Max.Preussner MediaCompositingEditor: Added loop indicators to media sections Change 3900694 by Max.Preussner ImfMedia: Looping cache only when player is looping Change 3900892 by Max.Preussner Stats: Added stats category for media framework Change 3900954 by Max.Preussner MediaCompositing: Don't evaluate at the end of media section Change 3901348 by Max.Preussner Core: Replaced TLruCache autos for better readability Change 3901655 by Max.Preussner ImgMedia: Added more perf stats to EXR reader Change 3901972 by Max.Preussner MediaAssets: Added getter for media player in media sound components Change 3902233 by Max.Preussner MediaAssets: Enabling media textures to receive samples right after player is assigned Change 3902238 by Max.Preussner MediaCompositing: Working around init/shutdown idiosyncracies in sequencer Change 3904045 by Max.Chen Sequencer: Fix copy/paste crash. Only process UMovieSceneCopyableBinding and objects that can be spawned by the movie scene spawn register. #jira UE-55314 Change 3905605 by Max.Chen Sequencer: Restrict spawnables from being created if they have a ClassWithin that UMovieScene is not a child of. #jira UE-55429 Change 3906550 by Max.Chen Sequencer: Add media track icon #jira UE-55480 Change 3907101 by Max.Chen Sequence Recorder: Fix bugs related to not recording a level sequence. There were certain assumptions that creating a level sequence meant that sequence recording was in progress. This is not always the case - the recorders can record animation assets and not create a level sequence. Changed the notion of IsRecording() to having at least one actor recording that is recording. Countdown timer, recording displays, etc should function if IsRecording() and not based on whether a level sequence is created. #jira UE-55485 Change 3907247 by Max.Chen Sequence Recorder: Fix crash not removing PrepareToCleanseEditorObject delegate. Repros when opening sequence recorder, closing it, and then opening or creating a level. Change 3910343 by Max.Preussner Core: Added async helper for executing functions on a given thread pool Change 3910346 by Max.Preussner ImgMedia: Added separate thread pools for loading/decoding and deleting image frames Change 3910829 by Max.Preussner Profiler: Increased visible range of profiler graph Change 3910841 by Max.Preussner MediaCompositing: Displaying asset name instead of full media source path in media section Change 3910870 by Max.Preussner ImgMedia: Using deallocation thread pool only in debug builds Change 3919642 by Max.Chen Sequence Recorder: Clarify active tooltip #jira UE-55661 Change 3919660 by Max.Chen Sequencer: Sequence template source signatures are now also compared to catch the case where a sub-sequence asset has been saved but not modified - The following sequence of events exposes this issue: - Create a master sequence with a single shot that spawns a cube - Add this sequence to a level and set it to auto-play - Save everything and restart - Resave just the inner shot asset without opening it - PIE - The inner shot never spawns its cube because its template was wiped on save, but its signature never changed. Since the master sequence previously didn't check the template source signature, it ends up trying to evaluate an empty template. #jira UE-55626 #jira UE-55490 Change 3921825 by Max.Chen Sequencer: "Run Construction Script in Sequencer" is off by default for blueprints but on for Sequencer. This allows the content author to switch it on for specific blueprints and sequencer will be default, run those with construction scripts enabled. Change 3922232 by Max.Chen Sequence Recorder: Reset countdelay on stop. #jira UE-55755 Change 3922306 by Max.Chen Sequence Recorder: Don't automatically mark transforms to be recorded by sequence recorder. Instead, log a warning if the user toggled it off to warn that the resulting animation might not match gameplay. #jira UE-55758 Change 3922912 by Max.Chen Sequence Recorder: Fix refresh next sequence name #jira UE-55757 Change 3927654 by Max.Chen Movie Scene Capture: Added format mapping for the name of the current camera #jira UE-55769 PR #4537 Change 3927658 by Max.Chen Sequencer: Added fbx property mapping for "FocusDistance" to "FocusSettings.ManualFocusDistance" #jira UE-55782 Change 3932022 by Max.Chen Sequencer: Add import animation track section to next available row index. #jira UE-55892 Change 3933919 by Max.Chen Sequencer: Jump to playback start frame and not 0 to start playback for recording. #jira UE-55933 Change 3934307 by Andrew.Rodham Sequencer: Add template signature that is re-generated every time the base template is regenerated, which invalidates evaluation fields This fixes an issue where the same sequence is instantiated multiple times in a sequence. If the source sequence was saved, its template would be wiped, which would invalidate the template ID When an instance tries to evaluate the master template, it would only invalidate a range in the evaluation field that was the hull of any invalid sub sequences overlapping the current time, potentially leaving invalid data in the evaluation field at positions later (or earlier) on in the sequence When the sub template was re-generated, it receives the same SequenceSignature as it had before (because the sequence hasn't actually changed), which causes the stale evaluation field data to fail the IsDirty check (because the sequence is the same as it thought, but the *template* has changed) This has been addressed be adding a signature to templates themselves, and checking both the template signature and sequence signature as a part of the IsDirty check. This ensures that we regenerate if either the template, or the sequence have changed. #jira UE-55934 Change 3936327 by Andrew.Rodham Sequencer: Removed increment when trimming right UMovieSceneSection::TrimSection already explicity assigns an exclusive bound to the time passed in. The new behavior means we can trim a section to the right, and insert another section without changing the time to create adjacent sections. #jira UE-42652 Change 3936328 by Andrew.Rodham Fixed KeyFrameManipulator assignment operators and copy/move constructors - These types are potentially self-referential so cannot use default constructors/assignment Change 3936330 by Andrew.Rodham Converted UMGSequencePlayer to use frames internally #jira UE-54878 Change 3936726 by Max.Chen Sequencer: Set track node as the parent of the key area node. The key area switcher needs the object binding id from the parent object binding node. Without this, the binding to the external value fails. #jira UE-55931 Change 3936775 by Max.Chen Sequencer: Should stop or loop should compare DurationFrames with Current Time from StartTime. The bug is that if you set 30 warmup frames in movie rendering for a range of 0-100, the FrameRange will be starting at -30 and have a duration of 130. Without this fix, the playback will continue until frame 130, rather than 100. #jira UE-55933 Change 3936935 by Matt.Hoffman Easing Curves are now represented in Play Rate resolution instead of internal resolution. #jira UE-55937 Change 3937069 by Matt.Hoffman Users can toggle if the is infinite on each side, limited by which tracks support infinite ranges. #jira UE-55891 Change 3937516 by Max.Preussner ImgMedia: Added support for single-threaded platforms #jira UE-55986 Change 3937826 by Max.Preussner MediaAssets: Disabling media sound components on HTML5 if AudioMixer is not enabled Change 3937997 by Max.Chen Curve Editor: Add Zoom to Fit Curves so that selected curves from Sequencer can be focused on. Tested that undo doesn't re-zoom. #jira UE-55935 Change 3938000 by Max.Chen Sequencer: Stop all sounds before generating audio waveforms. #jira UE-55951 Change 3938376 by Max.Preussner XGEController: Disabled XGE Controller in single-threaded apps to prevent crash Change 3938444 by Max.Preussner Core: Added async support for single-threaded applications Change 3938445 by Max.Preussner Networking: Added support for single-threaded applications in UDP socket sender/receiver Change 3938447 by Max.Preussner Messaging: Added support for single-threaded applications Change 3939432 by Max.Chen Sequence Recorder: Append command list to global level editor actions so that shortcuts are accessible in level editor. #jira UE-55798 Change 3940229 by Andrew.Rodham Added prospective display rate upgrade to UMovieScene::PostLoad - There was previously some very odd behaviour that would assign the fixed frame interval only when a sub sequence was focused in SSequencer. This meant that many sequences could have a frame interval of 0 set in the data. - Under the old method of snap interval display this would have fallen back to getting the display interval from the sequencer settings, but we no longer look at these. - The USequencerSettings properties have been removed and in their place, a prospective data upgrade for sequences that have a fixed frame interval old 0fps that sets the play rate to the previous defaults based off the old USequencerSettings defaults. - This could end up 'changing' the display rate for sequences where the user has changed the snap interval in the settings for a particular sequence editor, but there's not much we can do about that given we don't have access to the USequencerSettings classes in UMovieScene #jira UE-55919 Change 3940277 by Andrew.Rodham Sequencer: Added ability to default frame resolutions and play rates for newly created actor sequences Change 3940378 by Andrew.Rodham Sequencer: Post move import dialog now defaults to the playback framerate of the sequence, and floors to frame numbers Change 3940559 by Andrew.Rodham Reinstated primed or recording sequence color Change 3940642 by Max.Preussner ImagePlate: Removed image plate media playback functionality Change 3940843 by Max.Preussner Core: Made TCircularQueue actually thread-safe; improved code comments Change 3940860 by Max.Chen Sequencer: Changed StructNameToKey to StructPathToKey Previously, keying a PropertyPath of [RenderTransform][Shear][X] would get trimmed to X, which doesn't map to a channel name as considered by Sequencer2dTransformTrackEditor. Instead, trim the resulting property path to [Shear][X] so that track editors can determine the desired struct path and channels to key. #jira UE-52966 Change 3941292 by Mike.Zyracki Fix for trajectories out of range not showing up. 1) If we had no key data we would pop the time, so wouldn't get the section ranges. 2) Calculating of upper bound was wrong, checking against -1 and not key == num of keys when doing algo::lower_bound. 3) No need to do the Bck-- for the bakward iterators since we fixed #2. We start now from the upper bound correctly. 4) If we had no keys (at section start,end) we would incorrectly say we were any key type, so since we draw constant keys as dashed we would do so incorrectly around section end points. #jira UE-55929 Change 3941424 by Max.Chen Curve Editor: Change Zoom to Fit to use TArrayView Change 3941498 by Max.Preussner Core: Added FMath::DivideAndRoundNearest function Change 3942097 by Matt.Hoffman Drop Frame Timecode Support for NTSC rates. Change 3942104 by Matt.Hoffman Sequence Recorder Group is no longer visible inside the World Outliner after using one. #jira 55266 Change 3942107 by Max.Chen Sequencer: Resurrect logic to find or extend an existing section when adding keys. Change 3942330 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942339 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942507 by Andrew.Rodham Sequencer: We no longer pad the time overlap threshold with a small number that is not scaled by the current zoom level - The presence of this pad was causing keys that were far apart to be grouped when zoomed in a long way Change 3942509 by Andrew.Rodham Sequencer: Only pad total view range, rather than section range as well when retrieving keys to render - This stops us from rendering keys that are within the view range, but outside the section range Change 3942512 by Andrew.Rodham Added transactions to some sequencer details customizations Change 3942513 by Andrew.Rodham Sequencer: Reinstated validation checks to UMovieSceneSection::SetStartFrame and SetEndFrame, changed erroneous uses to use SetRange Change 3942560 by Andrew.Rodham Pass by rvalue reference to appease error C2719 on Win32 ('InChannels': formal parameter with requested alignment of 8 won't be aligned) Change 3942697 by Andrew.Rodham Newly Created Level Sequences and Actor Sequences now default to 24000 fps frame resolution (+/- ~24hrs range, supporting all integer rates + 23.976) Change 3942700 by Andrew.Rodham Sequencer: Added legacy out-of-bounds errors for times that are not supported by the current legacy upgrade frame resolution Change 3942989 by Max.Preussner Core: Fixed circular queue count calculation Change 3943538 by Max.Preussner MediaAssets: Reverted workaround for procedural audio log spam in HTML5 (Actor component initialization cannot be skipped if the component is used in a level) Change 3944071 by Max.Preussner QAGame: Fixed Media Texture keeps last frame of Media when PIE ends #jira UE-53360 Change 3944292 by Max.Chen Sequencer: Added extra flags to ensure that asset initialization does not occur on template actor sequences #jira UE-56113 Change 3944364 by Max.Chen Sequencer: Prevent circular shot/master tracks. Tested adding master -> child -> master as drag and drop cinematic shot tracks and sub tracks as well as through the + button. #jira UE-56091 Change 3944422 by Max.Chen Sequence Recorder: Disable transform recording if off. #jira UE-56061 Change 3944745 by Andrew.Rodham Sequencer: Key rendering fixes - Fixed assert that occured when keys happened to reside on some times due to KeyTime + TimeOverlapThreshold - KeyTime being slightly larger TimeOverlapThreshold - Fixed keys sometimes being clipped when zoomed right in due to lack of half-frame offset - Added missing documentation to MovieSceneTimeHelpers.h #jira UE-56107 Change 3945231 by Andrew.Rodham Sequencer: Reconstruct channel proxy on Serialize to catch all cases of undo/redo, PostLoad and duplication #jira UE-56089 Change 3945301 by Andrew.Rodham Sequencer: Added safety checks during initial sequence recording to guard against applying negative or 0-sized sequence ranges #jira UE-56125 Change 3946627 by Max.Preussner Fortnite: Fixed game crashes closing editor while in PIE - Pure virtual function being called #jira UE-56144 [CL 3946896 by Max Chen in Main branch]
2018-03-14 22:09:33 -04:00
// Draw the current time next to the scrub handle
FString FrameString;
FLinearColor TextColor = Args.TickColor;
if (TimeSliderArgs.ScrubPositionText.IsSet())
{
FrameString = TimeSliderArgs.ScrubPositionText.Get();
}
else
{
FrameString = TimeSliderArgs.NumericTypeInterface->ToString(TimeSliderArgs.ScrubPosition.Get().GetFrame().Value);
}
Copying //UE4/Dev-Sequencer to //UE4/Main ========================== MAJOR FEATURES + CHANGES ========================== Change 2875025 on 2016/02/20 by Andrew.Rodham Sequencer: Cinematic viewport improvements - Added optional letterbox overlay (defaults to 2.35:1) - Added ability to change safe frame colors - Added selected tracks' keys to the transport range - Added buttons for jumping between selected tracks' keyframes on the transport controls - Removed black padding around the viewport where possible - Added ability to specify whether a combo button/menu anchor should close when its parent receives focus - Separated logic of FGroupedKeyArea into FSequencerKeyCollection, so it can be used independently - Added playback range to the viewport frame numbers - All frame numbers are now spin boxes #jira UE-26429 Change 2875026 on 2016/02/20 by Thomas.Sarkanen Added console commands for recording sequences Changed plugin to a developer plugin so we can load it when the editor is in -game mode. Added Exec commands. Added some more logging to help diagnose problems when using commands. Added loading/saving of config for recorder settings (stored in Editor.ini). Also disabled controls in recorder window when recording. Added auto-saving of assets when in non-editor modes. Moved animation settings from UnrealEd to Engine module. Change 2875036 on 2016/02/20 by Max.Chen Sequencer: Call RedrawAllViewports instead of RedrawLevelEditingViewports. In particular, this fixes some update issues when editing values in the key editors. #jira UE-26960 Change 2875046 on 2016/02/20 by Max.Preussner Sequencer: Fix so that clicking on UMG Animations doesn't dirty the scene. #jira UE-26249 Change 2875047 on 2016/02/20 by Max.Chen Sequencer: Add option to toggle display of channel colors/lines. View->Channel Colors Change 2877138 on 2016/02/23 by Max.Chen Sequencer: Select corresponding track node when selecting key or section. Removed active/inactive selection since it was only being used in deletion and the rules for deletion are now dependent upon what is selected - delete keys and sections before deleting outliner nodes. Change 2877143 on 2016/02/23 by Thomas.Sarkanen Added new math function: WindRelativeAnglesDegrees Given two angles in degrees, 'wind' the angle in Angle1 so that it avoids >180 degree flips. Good for winding rotations previously expressed as quaternions into a euler-angle representation. Change 2877147 on 2016/02/23 by Thomas.Sarkanen Added the ability to import sequencer transforms from the root node of an animation sequence Intended for use after re-importing animations from DCC tools. Available in the right-click menu for transform tracks. Also added FindTrackBinding to UMovieScene so track bindings can be recovered from tracks. Change 2877163 on 2016/02/23 by Max.Chen Sequencer: Add option to create keyframe sections as infinite. Sequencer defaults to true, UMG defaults to false. Change 2877165 on 2016/02/23 by Max.Preussner Sequencer: Drawing vertical position lines when dragging keys Change 2878748 on 2016/02/23 by Max.Chen Curve Editor: Switch curve type to user when flatting or straightening tangents. #jira UE-27277 Change 2878799 on 2016/02/23 by Frank.Fella Sequencer - Add folders support to the outliner. Change 2880769 on 2016/02/24 by Andrew.Rodham Sequencer: Added ability to override runtime spawnable ownership in sequencer - This is exposed as an option on spawnables "Keep Alive Outside Playback Range (In Sequencer)" - Enabling this will stop spawnables from being destroyed when scrubbing outside of the playback range #jira UE-27205 Change 2880770 on 2016/02/24 by Thomas.Sarkanen Sequencer: Added countdown and recording indicator display when recording Also fixed extra popups added post-PIE when animation recordings auto shutdown. Change 2880782 on 2016/02/24 by Max.Chen Sequencer: Snapping now also uses the current time as a possible snap time. #jira UE-26306 Change 2880793 on 2016/02/24 by Max.Chen Sequencer: Add +Animation to Animation track so that it's consistent with all other tracks that have a + button. Change 2880812 on 2016/02/24 by Max.Chen Sequencer: Fix adjusting the leading edge of a shot section so that it cuts into the shot rather than adjusts the start time. #jira UE-26306 Change 2881624 on 2016/02/25 by Andrew.Rodham Changing shader version GUID to fix corrupt shaders in ddc Change 2882408 on 2016/02/25 by Thomas.Sarkanen Asset/actors stored in TLazyObjectPtrs can now reference game content from engine This is a legitimate use case as lazy object ptrs are designed to reference assets/actors cross-domain. Change 2882409 on 2016/02/25 by Thomas.Sarkanen [CL 2899785 by Max Chen in Main branch]
2016-03-08 16:55:04 -05:00
if (TimeSliderArgs.ScrubPositionParent.Get() != MovieSceneSequenceID::Invalid)
{
TextColor = FLinearColor::Yellow;
}
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3946692) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3801826 by Max.Chen PR #4304: Level Sequence crash fix - Guarded against dereferencing null componen. (Contributed by DSDambuster) Change 3801828 by Max.Chen PR #4302: Movie Scene Visibility Template unitialised variable, causing random . (Contributed by DSDambuster) Change 3801837 by Max.Chen Sequencer: Delay spawning/construction for convert to possessable. This fixes a bug where property values would be lost when converting back and forth from possessable to spawnable. #jira UE-52400 Change 3801841 by Max.Chen Sequencer: Make spacer nodes not selectable. PR #4194: Improvements to Sequencer (Contributed by projectgheist) #jira UE-53117 #jira UE-52139 Change 3804183 by Max.Preussner MediaAssets: Added missing lock in media sound component Change 3805414 by Max.Preussner MediaAssets: Setting valid GUID when initializing media texture resource Change 3819578 by Max.Chen PR #4370: When enabling the "MovieCapture", do not turn off the Stereo-3D display. (Contributed by yehaike) #jira UE-53647 Change 3823414 by Max.Chen Curve Editor: Lock down the first and last keys in the redundant keys removal range so that they're unaffected. #jira UE-53591 Change 3826406 by Max.Chen Sequencer: Move OnStartedPlaying() to within first update in UpdateTimeCursorPosition(). This fixes an issue where setting the hud/player visibility was getting stomped on later. #jira UE-52772 Change 3827044 by Max.Preussner MediaAssets: Added sprite visualization to media sound component #jira UE-53594 Change 3827988 by Max.Preussner MediaPlayerAssets: Fixed Media Texture is not linked to Media Player when created together #jira UE-53532 Change 3828506 by Max.Preussner MediaPlayerEditor: Added attenuation visualizer for media sound components #jira UE-53594 Change 3832590 by andrew.porter EngineTest: Added a keep state check in Property Animation sequencer test Change 3833053 by andrew.porter EngineTest: Adding Hierarchical Bias test Change 3835683 by andrew.porter EngineTest: Adding UMG Animation screenshot test Change 3836076 by Max.Chen Sequencer: Fix audio volume and pitch multiplier deprecation. Change 3836230 by andrew.porter EngineTest: Adding Sequence Bone Position automation test Change 3836347 by Max.Chen Sequencer: Fixes to shot name parsing. When a shot doesn't contain a shot number, assume, [ShotName]_[TakeNumber]. When duplicating a shot, put the new shot in the same path of the original shot, so that the take numbers will increment properly. #jira UE-51868 Change 3836552 by Max.Chen Sequencer: Sub section now has a takes menu Change 3838094 by Max.Chen UMG: Fix template finish not getting called on stop. This fixes a bug where sections aren't restored when finished. #jira UE-52285 Change 3838708 by Max.Chen Sequencer: Add notification when the blend type is changed. #jira UE-54046 Change 3840295 by Max.Chen Sequencer: Fix copy/paste crash for lights #jira UE-54084 Change 3840957 by Mike.Zyracki Added Show Only Keyable and Show Only Animated to the filter list in the property editor. Added IsPropertyAnimated to IDetailKeyframe Interface which already had support for showing properties which are keyable (which is used for the key icon next to the properties.). Could have created another interface but then would have had to mimic the sequencer binding, releasing also, so this seemed best way. One issue still left is that custom built detail items currently don't store associated properties(usually) and so certain properties, in particulalry transforms, won't show up as keyable or animated. Note this also shows up with the keyable icon not showing up next to transform tracks, and other filters like Show Only Modified not working with transforms/customs. Not sure best way to tackle this. #jira UESEQ-328 Change 3841756 by Max.Chen Sequencer: Fix unbound possessable components when pasting spawnables. #jira UE-54104 Change 3843950 by andrew.porter EngineTest: Renaming LevelStreaming tests/content to LevelVisibility Change 3844082 by Mike.Zyracki Missing file for animated filter in property editor. When finding if a track is animated we need to find it but we can't easily induce the MovieTrack class for any particular property. So we don't set a class for it and just search by it's ID and name. #jira UESEQ-328 Change 3846902 by Max.Preussner ImgMedia: Fixed image media player never finished initialization if loading failed #jira UE-54247 Change 3849820 by Mike.Zyracki Reassigning deleted widgets didn't work since the menu extender mechanism needs a valid UObject in order to perform an operation on it. So to fix we replaced GetObjectBindingContextMenuExtender in WidgetBlueprint with new delegate mechanism (OnBuildCustomContextMenuForGuid) that supports FGuid in addition to UObjects which is needed to handle re-binding deleted widgets. Note that the default sequencer hacks this for replacing deleted actors in SequencerObjectBindingNode to check to see if a LevelSequence is active. We could move to this mechanism there also. #jira UE-53163 Change 3852211 by Max.Chen UMG: Indicate name of the property that is not bound. #jira UE-54350 Change 3854120 by Max.Chen Sequencer: Fix sibling folders being allowed to have the same folder name. #jira UE-54363 Change 3854627 by Max.Chen Sequencer: Step to next/previous key should work for all tracks if there aren't any selected. #jira UESEQ-391 Change 3855825 by andrew.porter EngineTest: Adding animation blending automation test Change 3855950 by andrew.porter EngineTest: Adding correct expected valuues to animation blending test Change 3856237 by Matt.Hoffman UESEQ-336 - Sequencer Track Reordering Adds the ability to re-order Master Tracks, Folders and Object Bindings within sequencer hierarchies (including UMG). Adds the ability to do a one-off sorting of the content under the old sorting behavior if the user wants to reset their layout to how it was under legacy behavior. Modifies SequencerTrackNodes, SequencerFolderNodes and SequencerObjectBindingNodes to handle CanDrop/OnDrop for above, below and ontop of. Fixes a Slate Issue that forcibly expanded a TreeviewRow if an item handled OnDrop. Slate will now only forcibly expand the row if the item says the drop happened ontop of the item, and not above or below it like it previously did. Change 3856503 by andrew.porter EngineTest: Adding automation test for using animation blueprint with blend multi node in sequencer Change 3857875 by Max.Chen Sequencer: Assign the sequence id after the template is compiled. #jira UE-54462 Change 3858344 by Max.Chen Sequencer: Prevent Goto and Transform boxes from overlapping by allowing them to be visible at the same time in an autosized horizontal box. Also, added close button to the goto box. PR #4425: Prevent Goto and Transform boxes from overlapping in Sequencer ... (Contributed by projectgheist) #jira UE-54210 Change 3860566 by andrew.porter MediaFrameworkTest: Set the option to index 0 for the audio and video track list by default Change 3860654 by andrew.porter EngineTest: Enabling Camera Cut + FOV test Change 3860981 by andrew.porter EngineTest: Updating skeletal mesh tests with a delay after set playback position Change 3861256 by Max.Chen Sequencer: Add all bindings if none selected. #jira-54440 Change 3862154 by Andrew.Rodham Added TimeManagement module Change 3862424 by andrew.porter EngineTest: Turned on the test Bone Positions with Blend Multi Node Change 3862573 by andrew.porter EngineTest: Adding test to compare bone positions in a sequence that is blending an animation that is using an AnimBP Change 3865117 by Max.Chen Sequencer: Stop auto scroll on mouse release of movement. #jira UE-31212 Change 3865303 by Max.Chen Sequencer: Add drag and drop transactions #jira UE-54662 Change 3865304 by Max.Chen Sequencer: Fix crash when an actor factory is not found. Change 3865361 by Max.Chen Sequencer: Don't change the camera/shot lock button when popping out of a sequence. #jira UE-54665 Change 3865412 by Max.Chen Sequencer: Determine whether a transform track is for a camera by using the spawned object or template #jira UE-54666 Change 3865685 by Max.Chen Sequencer: Clear autoscrub offset when stopping autoscroll #jira UE-31212 Change 3865886 by Max.Chen Sequence Recorder: Log an error if the number of frames changes while recording. This can happen if the skeleton changes while recording. #jira UE-48715 Change 3866925 by Andrew.Porter MediaFrameworkTest: Changing the current PNG test video image sequence to 1024 x 576 Change 3867705 by andrew.porter QAGame: Adding Audio Sort Sequence to dev folder Change 3867890 by andrew.porter QAGame: Adding a sequence for testing a sorting crash to my dev folder Change 3872628 by Max.Chen Movie Scene Capture: Split delay before warmup into split delay before shot warmup so that there's separate controls for when the movie scene capture warmups up vs. shot boundaries. Change 3873131 by Matt.Hoffman UE-54732 - Crash reordering a folder with a track. This was caused by folders being the only type of track to check if someone was putting a parent track into a child track. Object Binding tracks and Tracks now check as well so that you can't use the above/below drop targets to add parents as children. This also fixed a typo in the localization keys. #jira UE-54732 Change 3873301 by Mike.Zyracki Added ability to support continous euler angle changes when changing rotations, in particularly with the rotation gizmo's. To do this we effectively added a form an of 'euler filter'(https://en.wikipedia.org/wiki/Euler_filter) to find the closest euler angle to the current euler angle. Three functions were added to FRotator to make this possible, one to get the euler angle that's has the same rotation as it, one to get the difference between two euler angles via Manhattan distance and a third using the previous two to choose a Rotator value that's closest to it. We then use these functions before calling UComponent::SetRelativeRotation to make sure we use the correct Euler after the Quat conversion. We also no longer limit(bound) the euler angles to -180,180, which is obviously necessary to avoid flips. I also changed how we caluclate yaw and roll when pitch is -90 or 90 to make it the standard approach of zeroing out roll and just setting yaw. Main reasons are the previous implementation had precision issues so things like 180, 90, -180 would show up due to numbers being nearly zero but negative,(this would break any smooth interpolations), and this facilitates having a 'gimbal' rotation mode (like Maya, Blender etc..) if we ever want that also. If needed we could keep the previous implementation but would need to add some FMath::IsNearlyZero checks, with less performance. Note we only do this special filtering when applying delta's to actors or components in the editors, which then call UComponent::SetRelativeRotationExact, which is a new function to foces the RelativeRotation to be equal to the new rotation. This allows us to store un-nomalized Rotators at the cost that the RotationCache may be broken. We didn't change any of the other UComponent functions that set rotations (via Quats or Transforms) so they will still be bounded and unwound. In SetInternalWorldLocationAndRotation we only set the rotation if the rotation has changed, which fixes the rotation getting changed and re-normalized if just translate happens. In TransformTrackEditor, we correclty use the bUndwing flag and in MovieScene3DTransformSection there was an un-needed winding check there, it will be unwound earlier if needed, which happens if Sequence Recording is happening. Max we should talk about what to do about this . Note the euler angle drag via the widget is still bound to 0-360. I think we should just unbound that now since the rotations value are now unbound. This review now includes fixes suggested by Zak. #jira UE-UE-22228 Change 3873483 by Matt.Hoffman Sequencer Tracks can now be inserted above the spacer at the bottom of the tree. #jira UE-54706 Change 3873899 by Max.Chen Sequencer: Add section selection throbbing Change 3873908 by Max.Chen Movie Scene Capture: Added logging per frame Change 3873924 by Matt.Hoffman Adds the ability to store Sequence Recorder setups into profiles that stay with the map and can be re-loaded later. Profiles store the Actor Recordings so the settings for each actor should carry with them. #jira UESEQ-339 Change 3874726 by Matt.Hoffman Disable drag-and-drop targets on spacers that come between rows in Sequencer. This prevents extra drag/drop targets showing up between each row. #jira UE-54706 Change 3874862 by Matt.Hoffman Audio Track no longer gets reordered when adding sub-audio tracks, as sub-tracks are no longer counted towards the sorting order index when normalizing indexes. #jira UE-54727 Change 3875905 by Matt.Hoffman Disable Fade Track UI if a fade track already exists in the sequence. #jira UESEQ-393 Change 3876163 by Max.Chen Sequencer: Swap the camera object to the camera component's owner if it's not the same. #jira UE-54874 Change 3876971 by Andrew.Porter EngineTest: Moved Media Player Seek test to new folder. Also enabled the test with new ground truth image. Change 3877040 by Max.Chen Cine Camera: Split camera properties to two groups, "Camera Options" and "Camera Settings". The cine camera now hides properties in the "Camera Settings" group so that properties like bConstrainAspectRatio (in the "Camera Options" group) can be visible. #jira UE-54192 Change 3877763 by Max.Chen Curve Editor: Fix curve changed on end drag so that only curves that had keys/tangents that were changed receive notification, otherwise all loaded curves were getting notified that they were changed. #jira UE-54951 Change 3878234 by Matt.Hoffman Disable "Drop Below" targets for Sequencer Tree nodes to prevent a confusing UX issue where dropping underneath a Object Binding Node puts it after the object binding node but the UI looks like it's inserting it inside the Object Binding node. #jira UE-54743 Change 3879359 by Mike.Zyracki If a track is inactive we dim it a bit which seems to be the UE4 way to show inactive or disabled state. We changed the active logic so that all subtracks need to be inactive for the track to also be inactive(instead of all active for active). This conforms to how the active state actually works, e.g if you have two sections and only one is active the track is still active above it. #jira UESEQ-388 Change 3879462 by Max.Chen Sequencer: Allow dragging onto a particular row which would move out any overlapping sections to make space for the newly created section. Newly created sections are now selected and throbbed to draw attention to themselves. #jira UE-54664 Change 3879464 by Max.Chen Sequencer: Fixed overlapping ranges being inserted into the evaluation field during compilation - The issue was that track segments that had been combined with adjacent segments (due to them being identical) would potentially cause a subsequently compiled frame to overlap with a range that had already been inserted into the evaluation field. - The insertion code previously asserted that only minor overlaps were catered for (due to fp rounding errors) and assumed that a supplied range could not entirely contain any other range in the field. - The solution is to supply the insertion time along with the range to know exactly where the data should live in the field, and crop the range to the maximum allowable space between adjacent ranges. #jira UE-54922 Change 3879590 by Matt.Hoffman Items that are now added to the Sequencer via the "+Track" menu will be selected after being added. Items can now be added inside of folders instead of just to the root level. #jira UE-27397 Change 3879612 by Mike.Zyracki Display Nodes with no children are always active. #jira UESEQ-388 Change 3879730 by Matt.Hoffman Sequence Recorder's actor recording groups now remove items from the group when removed via the UI. #jira UESEQ-339 Change 3880256 by Mike.Zyracki Fix issue with inactive display with folders and other track nodes. #jira UESEQ-388 Change 3883491 by Max.Chen Fix issue where tick is skipped due to last ticked pose isn't cleared after AnimInstance changes. Copy from Release-4.19 #jira UE-51323 Change 3883603 by Max.Chen Movie Scene Capture: Add option toggle disable screen percentage. By default this is on (no change in current behavior). #jira UE-51898 Change 3885074 by Max.Preussner MediaCompositing: Resetting media texture & freeing resource on section end; removed dead code Change 3887220 by Max.Preussner MediaCompositing: Defaulted media section duration to 1 sec (since we do not know the actual duration in most cases) Change 3887478 by Matt.Hoffman Sequences now show [Inactive] in their title bars when they're disabled. This helps communicate why a sequence isn't being evaluated. #jira UE-51469 Change 3888985 by Max.Chen Movie Scene Capture: Clamp HDR Compression Quality between 0 and 1. #jira UE-55136 Change 3893519 by Max.Chen Sequence Recorder: Clarified tooltip for bRecordNearbySpawnedActors - spawned actors will still be recorded if they match the ActorFilter. #jira UE-55238 Change 3893546 by Max.Chen Sequence Recorder: If a selected actor already has a recording, add a blank recording. #jira UE-55239 Change 3894044 by Max.Preussner MediaCompositing: Added support for seeking into a media section Change 3894310 by andrew.porter MediaFrameworkTest: Adding Img media sources for 1080 and 2160 ravent test content Change 3894426 by Max.Preussner MediaAssets: Letting media textures with AutoClear retain their clear color when player is reset Change 3895717 by Max.Chen Sequencer: Null checks to prevent crash when saving the default state of a spawnable #jira UE-55304 Change 3897388 by Max.Chen Sequencer: Don't update current time to be within the view range when stepping into a sequence. #jira UE-55322 Change 3897452 by Max.Chen Audio: Fix crash when trying to record audio without any active capture devices. Log warning if the number of input channels is not 1 or 2. #jira UE-55223 Change 3897619 by Max.Preussner MediaCompositing: Removed commented out code Change 3898072 by Max.Chen Sequencer: Override the animation asset in the player state if it doesn't match the animation asset that's being evaluated. #jira UE-55328 Change 3898272 by Max.Preussner MediaPlayerEditor: Made slate brush constants static Change 3898704 by Max.Chen Sequencer: Skip if the binding id's sequence can't be found. #jira UE-55337 Change 3899855 by Max.Preussner MediaCompositingEditor: Added cache state visualization to media track Change 3900300 by Max.Preussner MediaCompositingEditor: Added loop indicators to media sections Change 3900694 by Max.Preussner ImfMedia: Looping cache only when player is looping Change 3900892 by Max.Preussner Stats: Added stats category for media framework Change 3900954 by Max.Preussner MediaCompositing: Don't evaluate at the end of media section Change 3901348 by Max.Preussner Core: Replaced TLruCache autos for better readability Change 3901655 by Max.Preussner ImgMedia: Added more perf stats to EXR reader Change 3901972 by Max.Preussner MediaAssets: Added getter for media player in media sound components Change 3902233 by Max.Preussner MediaAssets: Enabling media textures to receive samples right after player is assigned Change 3902238 by Max.Preussner MediaCompositing: Working around init/shutdown idiosyncracies in sequencer Change 3904045 by Max.Chen Sequencer: Fix copy/paste crash. Only process UMovieSceneCopyableBinding and objects that can be spawned by the movie scene spawn register. #jira UE-55314 Change 3905605 by Max.Chen Sequencer: Restrict spawnables from being created if they have a ClassWithin that UMovieScene is not a child of. #jira UE-55429 Change 3906550 by Max.Chen Sequencer: Add media track icon #jira UE-55480 Change 3907101 by Max.Chen Sequence Recorder: Fix bugs related to not recording a level sequence. There were certain assumptions that creating a level sequence meant that sequence recording was in progress. This is not always the case - the recorders can record animation assets and not create a level sequence. Changed the notion of IsRecording() to having at least one actor recording that is recording. Countdown timer, recording displays, etc should function if IsRecording() and not based on whether a level sequence is created. #jira UE-55485 Change 3907247 by Max.Chen Sequence Recorder: Fix crash not removing PrepareToCleanseEditorObject delegate. Repros when opening sequence recorder, closing it, and then opening or creating a level. Change 3910343 by Max.Preussner Core: Added async helper for executing functions on a given thread pool Change 3910346 by Max.Preussner ImgMedia: Added separate thread pools for loading/decoding and deleting image frames Change 3910829 by Max.Preussner Profiler: Increased visible range of profiler graph Change 3910841 by Max.Preussner MediaCompositing: Displaying asset name instead of full media source path in media section Change 3910870 by Max.Preussner ImgMedia: Using deallocation thread pool only in debug builds Change 3919642 by Max.Chen Sequence Recorder: Clarify active tooltip #jira UE-55661 Change 3919660 by Max.Chen Sequencer: Sequence template source signatures are now also compared to catch the case where a sub-sequence asset has been saved but not modified - The following sequence of events exposes this issue: - Create a master sequence with a single shot that spawns a cube - Add this sequence to a level and set it to auto-play - Save everything and restart - Resave just the inner shot asset without opening it - PIE - The inner shot never spawns its cube because its template was wiped on save, but its signature never changed. Since the master sequence previously didn't check the template source signature, it ends up trying to evaluate an empty template. #jira UE-55626 #jira UE-55490 Change 3921825 by Max.Chen Sequencer: "Run Construction Script in Sequencer" is off by default for blueprints but on for Sequencer. This allows the content author to switch it on for specific blueprints and sequencer will be default, run those with construction scripts enabled. Change 3922232 by Max.Chen Sequence Recorder: Reset countdelay on stop. #jira UE-55755 Change 3922306 by Max.Chen Sequence Recorder: Don't automatically mark transforms to be recorded by sequence recorder. Instead, log a warning if the user toggled it off to warn that the resulting animation might not match gameplay. #jira UE-55758 Change 3922912 by Max.Chen Sequence Recorder: Fix refresh next sequence name #jira UE-55757 Change 3927654 by Max.Chen Movie Scene Capture: Added format mapping for the name of the current camera #jira UE-55769 PR #4537 Change 3927658 by Max.Chen Sequencer: Added fbx property mapping for "FocusDistance" to "FocusSettings.ManualFocusDistance" #jira UE-55782 Change 3932022 by Max.Chen Sequencer: Add import animation track section to next available row index. #jira UE-55892 Change 3933919 by Max.Chen Sequencer: Jump to playback start frame and not 0 to start playback for recording. #jira UE-55933 Change 3934307 by Andrew.Rodham Sequencer: Add template signature that is re-generated every time the base template is regenerated, which invalidates evaluation fields This fixes an issue where the same sequence is instantiated multiple times in a sequence. If the source sequence was saved, its template would be wiped, which would invalidate the template ID When an instance tries to evaluate the master template, it would only invalidate a range in the evaluation field that was the hull of any invalid sub sequences overlapping the current time, potentially leaving invalid data in the evaluation field at positions later (or earlier) on in the sequence When the sub template was re-generated, it receives the same SequenceSignature as it had before (because the sequence hasn't actually changed), which causes the stale evaluation field data to fail the IsDirty check (because the sequence is the same as it thought, but the *template* has changed) This has been addressed be adding a signature to templates themselves, and checking both the template signature and sequence signature as a part of the IsDirty check. This ensures that we regenerate if either the template, or the sequence have changed. #jira UE-55934 Change 3936327 by Andrew.Rodham Sequencer: Removed increment when trimming right UMovieSceneSection::TrimSection already explicity assigns an exclusive bound to the time passed in. The new behavior means we can trim a section to the right, and insert another section without changing the time to create adjacent sections. #jira UE-42652 Change 3936328 by Andrew.Rodham Fixed KeyFrameManipulator assignment operators and copy/move constructors - These types are potentially self-referential so cannot use default constructors/assignment Change 3936330 by Andrew.Rodham Converted UMGSequencePlayer to use frames internally #jira UE-54878 Change 3936726 by Max.Chen Sequencer: Set track node as the parent of the key area node. The key area switcher needs the object binding id from the parent object binding node. Without this, the binding to the external value fails. #jira UE-55931 Change 3936775 by Max.Chen Sequencer: Should stop or loop should compare DurationFrames with Current Time from StartTime. The bug is that if you set 30 warmup frames in movie rendering for a range of 0-100, the FrameRange will be starting at -30 and have a duration of 130. Without this fix, the playback will continue until frame 130, rather than 100. #jira UE-55933 Change 3936935 by Matt.Hoffman Easing Curves are now represented in Play Rate resolution instead of internal resolution. #jira UE-55937 Change 3937069 by Matt.Hoffman Users can toggle if the is infinite on each side, limited by which tracks support infinite ranges. #jira UE-55891 Change 3937516 by Max.Preussner ImgMedia: Added support for single-threaded platforms #jira UE-55986 Change 3937826 by Max.Preussner MediaAssets: Disabling media sound components on HTML5 if AudioMixer is not enabled Change 3937997 by Max.Chen Curve Editor: Add Zoom to Fit Curves so that selected curves from Sequencer can be focused on. Tested that undo doesn't re-zoom. #jira UE-55935 Change 3938000 by Max.Chen Sequencer: Stop all sounds before generating audio waveforms. #jira UE-55951 Change 3938376 by Max.Preussner XGEController: Disabled XGE Controller in single-threaded apps to prevent crash Change 3938444 by Max.Preussner Core: Added async support for single-threaded applications Change 3938445 by Max.Preussner Networking: Added support for single-threaded applications in UDP socket sender/receiver Change 3938447 by Max.Preussner Messaging: Added support for single-threaded applications Change 3939432 by Max.Chen Sequence Recorder: Append command list to global level editor actions so that shortcuts are accessible in level editor. #jira UE-55798 Change 3940229 by Andrew.Rodham Added prospective display rate upgrade to UMovieScene::PostLoad - There was previously some very odd behaviour that would assign the fixed frame interval only when a sub sequence was focused in SSequencer. This meant that many sequences could have a frame interval of 0 set in the data. - Under the old method of snap interval display this would have fallen back to getting the display interval from the sequencer settings, but we no longer look at these. - The USequencerSettings properties have been removed and in their place, a prospective data upgrade for sequences that have a fixed frame interval old 0fps that sets the play rate to the previous defaults based off the old USequencerSettings defaults. - This could end up 'changing' the display rate for sequences where the user has changed the snap interval in the settings for a particular sequence editor, but there's not much we can do about that given we don't have access to the USequencerSettings classes in UMovieScene #jira UE-55919 Change 3940277 by Andrew.Rodham Sequencer: Added ability to default frame resolutions and play rates for newly created actor sequences Change 3940378 by Andrew.Rodham Sequencer: Post move import dialog now defaults to the playback framerate of the sequence, and floors to frame numbers Change 3940559 by Andrew.Rodham Reinstated primed or recording sequence color Change 3940642 by Max.Preussner ImagePlate: Removed image plate media playback functionality Change 3940843 by Max.Preussner Core: Made TCircularQueue actually thread-safe; improved code comments Change 3940860 by Max.Chen Sequencer: Changed StructNameToKey to StructPathToKey Previously, keying a PropertyPath of [RenderTransform][Shear][X] would get trimmed to X, which doesn't map to a channel name as considered by Sequencer2dTransformTrackEditor. Instead, trim the resulting property path to [Shear][X] so that track editors can determine the desired struct path and channels to key. #jira UE-52966 Change 3941292 by Mike.Zyracki Fix for trajectories out of range not showing up. 1) If we had no key data we would pop the time, so wouldn't get the section ranges. 2) Calculating of upper bound was wrong, checking against -1 and not key == num of keys when doing algo::lower_bound. 3) No need to do the Bck-- for the bakward iterators since we fixed #2. We start now from the upper bound correctly. 4) If we had no keys (at section start,end) we would incorrectly say we were any key type, so since we draw constant keys as dashed we would do so incorrectly around section end points. #jira UE-55929 Change 3941424 by Max.Chen Curve Editor: Change Zoom to Fit to use TArrayView Change 3941498 by Max.Preussner Core: Added FMath::DivideAndRoundNearest function Change 3942097 by Matt.Hoffman Drop Frame Timecode Support for NTSC rates. Change 3942104 by Matt.Hoffman Sequence Recorder Group is no longer visible inside the World Outliner after using one. #jira 55266 Change 3942107 by Max.Chen Sequencer: Resurrect logic to find or extend an existing section when adding keys. Change 3942330 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942339 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942507 by Andrew.Rodham Sequencer: We no longer pad the time overlap threshold with a small number that is not scaled by the current zoom level - The presence of this pad was causing keys that were far apart to be grouped when zoomed in a long way Change 3942509 by Andrew.Rodham Sequencer: Only pad total view range, rather than section range as well when retrieving keys to render - This stops us from rendering keys that are within the view range, but outside the section range Change 3942512 by Andrew.Rodham Added transactions to some sequencer details customizations Change 3942513 by Andrew.Rodham Sequencer: Reinstated validation checks to UMovieSceneSection::SetStartFrame and SetEndFrame, changed erroneous uses to use SetRange Change 3942560 by Andrew.Rodham Pass by rvalue reference to appease error C2719 on Win32 ('InChannels': formal parameter with requested alignment of 8 won't be aligned) Change 3942697 by Andrew.Rodham Newly Created Level Sequences and Actor Sequences now default to 24000 fps frame resolution (+/- ~24hrs range, supporting all integer rates + 23.976) Change 3942700 by Andrew.Rodham Sequencer: Added legacy out-of-bounds errors for times that are not supported by the current legacy upgrade frame resolution Change 3942989 by Max.Preussner Core: Fixed circular queue count calculation Change 3943538 by Max.Preussner MediaAssets: Reverted workaround for procedural audio log spam in HTML5 (Actor component initialization cannot be skipped if the component is used in a level) Change 3944071 by Max.Preussner QAGame: Fixed Media Texture keeps last frame of Media when PIE ends #jira UE-53360 Change 3944292 by Max.Chen Sequencer: Added extra flags to ensure that asset initialization does not occur on template actor sequences #jira UE-56113 Change 3944364 by Max.Chen Sequencer: Prevent circular shot/master tracks. Tested adding master -> child -> master as drag and drop cinematic shot tracks and sub tracks as well as through the + button. #jira UE-56091 Change 3944422 by Max.Chen Sequence Recorder: Disable transform recording if off. #jira UE-56061 Change 3944745 by Andrew.Rodham Sequencer: Key rendering fixes - Fixed assert that occured when keys happened to reside on some times due to KeyTime + TimeOverlapThreshold - KeyTime being slightly larger TimeOverlapThreshold - Fixed keys sometimes being clipped when zoomed right in due to lack of half-frame offset - Added missing documentation to MovieSceneTimeHelpers.h #jira UE-56107 Change 3945231 by Andrew.Rodham Sequencer: Reconstruct channel proxy on Serialize to catch all cases of undo/redo, PostLoad and duplication #jira UE-56089 Change 3945301 by Andrew.Rodham Sequencer: Added safety checks during initial sequence recording to guard against applying negative or 0-sized sequence ranges #jira UE-56125 Change 3946627 by Max.Preussner Fortnite: Fixed game crashes closing editor while in PIE - Pure virtual function being called #jira UE-56144 [CL 3946896 by Max Chen in Main branch]
2018-03-14 22:09:33 -04:00
FSlateFontInfo SmallLayoutFont = FCoreStyle::GetDefaultFontStyle("Regular", 10);
const TSharedRef< FSlateFontMeasure > FontMeasureService = FSlateApplication::Get().GetRenderer()->GetFontMeasureService();
FVector2D TextSize = FontMeasureService->Measure(FrameString, SmallLayoutFont);
// Flip the text position if getting near the end of the view range
static const float TextOffsetPx = 2.f;
bool bDrawLeft = (AllottedGeometry.Size.X - HandleEnd) < (TextSize.X + 14.f) - TextOffsetPx;
float TextPosition = bDrawLeft ? HandleStart - TextSize.X - TextOffsetPx : HandleEnd + TextOffsetPx;
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 4044339) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3947021 by Max.Chen Sequencer: Don't preserve root component when copying object properties. A spawnable empty actor, has a root component that is generated by the empty actor factory. If the object template's root component is preserved when copying from the spawnable empty actor, the root component will not be copied over. Therefore, we need to NOT preserve the root component when copying object properties. #jira UE-55825 Change 3947366 by Max.Preussner WmfMedia: Better log output Change 3947367 by Max.Preussner MfMedia: Better detection of compressed format properties on Windows Change 3949102 by Max.Chen Sequencer: Remove SequenceActorTag when converting to possessable. #jira UE-56206 Change 3949207 by andrew.porter EngineTest: Set the screenshot nodes resolution to 1280x720 Change 3949404 by Max.Chen Sequencer: More informative tooltip for "Rerun Construction Scripts" option. It now says "Rerun construction scripts every frame on actors that have 'Rerun Construction Script in Sequencer' enabled in their class settings". Change 3950067 by Matt.Hoffman Renamed UAutomatedLevelSequenceCapture's StartFrame and EndFrame to CustomStartFrame/CustomEndFrame to reflect that it is user-overriden. This will also resolve upgrade issues due to the variable datatype changing. #jira UE-56189 Change 3950193 by JohnHenry.Carawon Updating my latest MovieRendering test content. Change 3950757 by JohnHenry.Carawon More updates to MovieRendering test content Change 3952059 by Max.Chen Resave LevelVisibility_SubLevels to fix data loss conversion warning of OpacityMaskConstant #jira UE-56086 Change 3952283 by Max.Chen Sequencer: Disable dropping level sequence assets as spawnables. #jira UE-56120 Change 3952422 by Max.Chen Sequence Recorder: Add button to record from the current player. #jira UE-55942 Change 3952987 by JohnHenry.Carawon MovieRendering Test Content - Fixing camera bindings and changing the override binding actor Change 3953823 by Mike.Zyracki Fix for Bad FBX Import Tangents not scaled by frame rate. After looking at this again it seems that a set of MovieScene:: overiddes for the channel traits wasn't set correctly, so use the ADL idiom to use MovieScene, which can then call Optimize in the correct namespace. With this we can now correctly use the passed in tolerance. There was also a redundant set of Optimize calls so that it could happen twice so removed them, and needed an extra check in the float channel Optimize. Also since we need to set auto tangents no matter if we optimize we don't set that parameter(though leave it since it's used by context menu key reduction). Finally fixed speed issue with trajectories caused by calculating way too many substeps. Reverted back to a time based step size for consistency. #jira UE-56193 Change 3954317 by Matt.Hoffman Adding a key to the last frame of a section no longer causes a crash. Keys can already be moved to be on the last frame of a section so now you can just add a key there directly. #jira UE-56255 Change 3954326 by Matt.Hoffman Dilating a section that is only infinite on one side no longer causes a crash. #jira UE-56260 Change 3954486 by Max.Chen PR #4580: Exposes IsReversed() from UMovieSceneSequencePlayer (Contributed by alanedwardes) Change 3955238 by Max.Preussner Messaging: Enabled delayed message routing https://github.com/EpicGames/UnrealEngine/pull/4574 #jira UE-56247 Change 3955901 by Max.Preussner MediaFrameworkTest: Added developer test for overriding desired media player plug-in at runtime. Change 3955922 by Andrew.Porter QAGame: Updating movie rendering content in dev folder Change 3956004 by andrew.porter QAGame: Adding MPC track to movie rendering test content Change 3956510 by Max.Chen Sequencer: Fix fbx camera import of static properties so that they are imported before default tracks are created. Otherwise, the default tracks inherit the default properties of the camera, rather than the values from the fbx. #jira UE-56311 Change 3957613 by Max.Preussner MediaUtils: Added code documentation to media player facade Change 3958005 by Max.Preussner MediaUtils: Added method to get number of sinks Change 3958934 by Max.Chen Sequencer: Fix keys getting added and sequence getting erroneously re-evaluated when auto key is off. Only apply defaults if there are no keys. Only modify the movie scene section before creating keys or setting defaults. #jira UE-55903 Change 3959687 by Andrew.Rodham Sequencer: Fixed visibility track external values being inverted #jira UE-56324 Change 3960507 by Max.Preussner Core: Fixed incorrect rounding in FMath::DivideAndRoundNearest Change 3962047 by JohnHenry.Carawon MovieRendering Test Content Changes: - Add Lightmass Importance Volumes to sublevel to fix warnings - Rebuilt Lighting - Add a third sequence for Gamut testing - Resaved the sound master.uasset to fix warning Change 3962211 by Mike.Zyracki Add Frame Numbers to selected animation sections. Added MapTimeToAnimation to MovieSceneSkeletalAnimation so that we could get it from the Skeleton Animation track Editor. Since the thickness of the frame line can change based upon frame rate and zoom we need to calculate it similarly to how the time slider controller does it. Those calculations were private so we had to expose FScrubRangeToScreen and GetScubberPixelRange from the TimeSliderController. Also needed to know if the section itself was selected so added a bIsSelected flag to the section Painter. Also fixed a bug where you couldn't add a section if other sections existed at different times in MovieScenePropertyTrack and could crash due to the check(). #jira UESEQ-395 Change 3962497 by Max.Preussner Core: Added new string formatting argument to FTimespan Change 3963662 by Max.Chen CineCamera: Flip VistaVision width and height. Change 3963731 by Max.Preussner MediaCompositing: Implemented sequence recording support for media track Change 3964195 by Andrew.Rodham Sequencer: Set inverted property correctly for newly created visibility track sections - Also clamp evaluation for key editors to the bounds of the section so we're not displaying values outside of the section bounds when the cursor is not on the bounds #jira UE-56324 #coderevew Max.Chen Change 3964196 by Andrew.Rodham Sequencer: Fixed crash when attempting to render sections that resulted in a negative intersection with the view range Change 3964275 by Andrew.Rodham Sequencer: Fixed MovieScene::ClampToDiscreteRange for infinite range bounds Change 3964364 by Andrew.Rodham Curve Editor: Reduce minimum vertical view range when zooming to fit Change 3965091 by Max.Chen Sequencer Recorder: Refresh next sequence if empty when starting a recording, otherwise, use existing name. #jira UE-56469 Change 3965148 by Max.Chen Sequence Recorder: Move Record to Possessable to "Actor Recording" group Change 3965162 by Max.Chen Sequence Recorder: Always break out of immersive mode when done recording, even when stopping recording during countdown. #jira UE-56407 Change 3965214 by Max.Preussner QAGame: Enabled ImagePlate plug-in Change 3965574 by Max.Preussner SimpleComposure: Reorganized & upgraded content to work with new Media Track #jira UE-56488 Change 3965651 by Max.Preussner MediaCompositing: Ignoring seek-on-open if media not seekable Change 3966075 by Christina.TempelaarL Sequencer: Added Final Cut Pro 7 XML Export functionality #jira UESEQ-358 Change 3966087 by Matt.Hoffman Adding a single key to the Particle Toggle track now makes an infinite range section that is displayed in the UI. #jira UE-56295 Change 3966547 by Andrew.Rodham Sequencer: Fixed rounding errors when drawing the section background on boolean sections - Logic was using time in sectonds which caused rounding errors on evaluation and flickering red/green stripes when dragging keys around #jira UE-56324 Change 3966563 by Andrew.Rodham Curve Editor: Key editor interface improvements - SKeyEditInterface has a few problems - it does not update in real time when editing properties, and does not support multi-edit which makes it unsuitable for use with the curve editor - We now take a different approach for editing keys by gathering a set of proxy UObjects for each key that is currently selected. These objects are added as top level objects to the details panel which means they support multi edit as you'd expect from any other details panel in the editor. - Proxy objects are updated every tick for the curve editor if they implement the ICurveEditorKeyProxy interface, which allows them to refresh their current value. - Ideally, the same mechanisms would be used in the main sequence interface, and we would be generating the proxy classes at runtime based on the key value type, but that work remains a separate task from this initial offering. #jira UE-56165 Change 3966564 by Andrew.Rodham Curve Editor: Expand to frame when adding or moving keys in the curve editor Change 3967051 by andrew.porter MediaFrameworkTest: Set the CameraPlayer_Video texture to auto clear Change 3967141 by Andrew.Rodham Sequencer: Keep track of spawned objects that have been modified and only re-save such object's default spawnable state on destruction - Now that we're taking this approach, I've remove serveral redundant bits of functionality in the spawn register such as making some spawnables read-only, and the PreSave binding for Sequencer. - We now hook into all object pre-saves to make sure we handle the case where the sequences are saved through the content browser or elsewhere. #jira UE-47686 Change 3967170 by Andrew.Rodham Sequencer: Added the ability to possess anim instances as object bindings - This allows full and direct animation of properties on UAnimInstance, and animation blueprints - Object Bindings are made by first possessing a skeletal mesh component, then choosing the + Add button where its anim instance will be listed - Added a new function to UMovieSceneSequence to gather previously cached objects that should now be invalidated. Anim instances will be re-resolved if a new UAnimInstance is assigned to USkeletalMeshComponent::GetAnimInstance. - ObjectBindingIDs for anim instances are just represented by an entry in a set of GUIDs. We only ever resolve such bindings through USkeletalMeshComponent::GetAnimInstance. - Only currently supported on LevelSequences #jira UE-56132 Change 3967195 by Max.Preussner Core: Updated TRangeSet to use TCallTraits Change 3967345 by JohnHenry.Carawon Test Content Changes - first iteration of spacing out the examples in the shots. Change 3967572 by Max.Chen Sequencer: Fix setting PreviousPlayEvalPosition until after we've tested whether it's set. #jira UE-56518 Change 3967750 by Max.Chen Audio: Set duration based on number of input channels, rather than number of channels to serialize. This fixes an issue where audio split into 2 channels is set to a duration that's twice as long. #jira UE-56430 Change 3967836 by Max.Chen Sequencer: Allow for animating array elements within ustruct properties #jira UE-55887 Change 3968506 by Matt.Hoffman Fixed ambiguous conversions for seconds and frames being overriden by ambiguous conversion to Timecode (in frames). Change 3968748 by Max.Chen Sequencer: Make the event properties submenu widget larger. #jira UE-55557 Change 3968862 by Max.Chen Sequencer: Recursive expansion when shift is down #jira UE-52139 #pr 4194 Change 3968863 by Max.Chen Sequencer: Bind rename command to selected track so that F2 shortcut start renaming #jira UE-52139 #pr 4194 Change 3968872 by Max.Chen Sequencer: Rekey the selected key at the current time. #jira UESEQ-396 Change 3968938 by Max.Chen Cine Camera: Add option to toggle the behavior of locking the rail mount to the orientation of the spline. By default, the option is off, no change in behavior. #jira UE-55815 Change 3968958 by Andrew.Rodham Sequencer: Consider vertical position when hittesting keys #jira UE-56256 Change 3969643 by Max.Preussner Core: Rounding timespans created from double values towards nearest ticks Change 3969646 by Max.Preussner MediaUtils: Implemented timeout mechanism for block-on-fetch feature Change 3969776 by Mike.Zyracki Added Skip Anim Notifiers Toggle per what was in Matinee. Investigated the Enable Root Motion toggle as also discussed but it's implementation is directly contained by the animation asset and unlike animation notifies there seems to be no exposure to interactively disable it during a playback tick. Note if we are generating thumbnails we still automtically disable notifies in the editor to avoid annoying noise playback. Note that if Enable Root Motion/Root locked is specified in the animation asset it does correctly effect the Sequencer. #jira UESEQ-399 Change 3969835 by Matt.Hoffman Playback Range and Selection Range use unified logic for adding themselves as potential snap locations which properly handles inclusive/exclusive bounds. This resolves an issue where having an unset selection range caused a potential snap location to be added on frame 0 and 1 (internal resolution) which caused a misalignment when placing objects near frame 0. This also removes the one frame offset on setting Selection Range to bring behavior inline with other ranges. #jira UE-55420 Change 3969885 by Max.Preussner MediaAssets: Don't register media player CDO with media ticker Change 3971129 by Andrew.Rodham Sequencer: Fixed UMovieSceneSequencePlayer::GotToEndAndStop() not taking into account for start time This is a remnant from when the times were always specified in 0-duration space, rather than actual sequence times. Change 3972056 by JohnHenry.Carawon More updates to Test Content. I continued spacing out the examples in the sequence so that they have a consistent number of frames between each example and during the start/end of the example. Also removed the Marcie sublevel. Change 3972066 by Andrew.Porter MediaFrameworkTest: Setting Marcie folder to be never cooked in package settings Change 3972675 by Matt.Hoffman Splitting Subsequence Sections no longer sets an incorrect playback range on the subsequence when the subsequence has a different internal resolution than the owning sequence. #jira UE-55453 Change 3973376 by Max.Preussner ImgMedia: Zero is the only valid video track for image sequences Change 3973489 by Max.Preussner Launch: Build rules cleanup pass - don't use Media, MediaUtils on server apps - don't link against Media (include-only dependency) - don't include from MediaAssets (dynamic load only) Change 3973760 by Max.Preussner MediaUtils: Moved AppMediaTimeSource implementation into its own file; added logging Change 3973765 by Max.Preussner ImgMedia: Disallowing seek beyond media length Change 3973855 by Max.Preussner MediaFrameworkTest: Updated developer test content Change 3973858 by Max.Preussner MediaCompositing: Blocking on media player time instead of media sample time (the former may not be hit in the current frame) Change 3974988 by Max.Chen Sequencer: Fix trim left so that it also sets the start offset for audio and skeletal animation sections. #jira UE-57015 Change 3976101 by Matt.Hoffman Sequencer will now focus the scroll view on newly created items. #jira UE-56492 Change 3976203 by Max.Chen Property Editor: Add DetailsViewArgs for ColumnWidth. Defaults to 0.65f, no change in existing behavior. Change 3976205 by Max.Chen Sequencer: Set better column widths for sequencer. #jira UE-55557 Change 3976206 by Max.Chen Sequencer: Added menu category for import/export Change 3976265 by Matt.Hoffman Tracks within Object Binding Nodes will now sort using the old behavior so that components are added above other track types. #jira UE-56473 Change 3976901 by Max.Chen Sequencer: Add event names to event track section #jira UESEQ-353 Change 3977878 by Max.Preussner Media: Moved media framework ticking stats into Media module Change 3977982 by Max.Chen Sequencer: Add Edit->Reset section length to duration of source (ie. audio, skeletal animation, shot length) Added MovieSceneSection::GetDefaultDuration and MovieScene::HasDefaultDuration #jira UESEQ-392 Change 3977994 by Max.Preussner Media: Fetching and rendering media samples before viewports are rendered (to ensure frame sync for in-level media playback) #jira UE-53975 Change 3978188 by Matt.Hoffman Easing Curves are now clipped by the sequence's PlayRange when testing against an infinite section. This causes blended sequences to finish their blend when the section starts/ends instead of always using 25% of the total section length to determine default blend range. #jira UE-56362 Change 3978676 by Max.Preussner MediaCompositing: Fixed first frame of rendered out media track missing #jira UE-53975 Change 3978684 by Max.Preussner MediaCompositing: Enabled media track frame sync feature #jira UE-53975 Change 3980026 by Matt.Hoffman Keys can be selected on folded out sections (such as an audio track expanded to show volume and pitch) again. #jira UE-57169 Change 3981614 by Max.Preussner MediaUtils: Added missing subtitle sample queue flush Change 3982311 by Max.Preussner MediaCompositing: Added safeguard for zero length media sources Change 3982389 by andrew.porter QAGame: Adding media track test content into FrameAccuracySubscene Change 3983661 by Max.Chen Sequencer: Add level name to spawn a spawnable into. Add sublevel menu option to set the level #jira UESEQ-390 Change 3983712 by Andrew.Rodham Sequencer: Purge legacy blueprint spawnables from LevelSequence packages #tests Ran a preflight for cooking fortnite, ocean and Orion. Only orion shows up this edge case, and will require a re-save of the EndCines level #jira UE-39173 Change 3983787 by Max.Preussner MediaCompositing: Moved compile time switch for block-on-fetch into media player facade Change 3983812 by Andrew.Rodham Sequencer: Exposed default level sequence instance data to blueprints Change 3984373 by Max.Preussner Media: Added API for quering whether player plug-in supports block on fetch Block on fetch allows Sequencer and other systems to block the game thread until a desired video frame has been decoded. Change 3984670 by JohnHenry.Carawon Movie Rendering Test Content progress. Saving the state of the content. There is a bug where things got replaced with particle emitters and I think it was because I tried to copy paste an animation track into a separate skeletal mesh track. Change 3985097 by Max.Chen Sequencer: Rename Reset to AutoSize Change GetAutoSizeDuration to return TOptional<FFrameTime> #jira UESEQ-392 Change 3986043 by Max.Chen Sequencer: Fix crash when attach/path duration is less than 0. #jira UE-57310 Change 3986373 by Max.Chen Sequencer: Add support for deleting tracks and channels which equates to setting the channel mask. #jira UE-52951 Change 3986375 by Max.Chen Sequencer: Add Create Pose Asset to skeletal animation section. This allows animators to blend animations in sequencer and create new pose assets from them. #jira UESEQ-408 Change 3986796 by Andrew.Rodham Sequencer: Fixed stale object references remaining in ULevelSequence::BindingReferences when using convert to spawnable/possessable - We used to convert objects by creating a new binding, then re-assigning its GUID, which meant we didn't have to do any further object fixup, but the code to achieve this was confusing and led to a vulnerability where object references would not be cleaned up correctly due to the newly created possessable essentially being a temporary object that's immediately thrown away. - To address this, there is now a function for porting all the contents of one object binding to another, and handles the correct fixup required for parent/child object bindings for both spawnables and possessables. - Also added codepath to remove any stale object references from the level sequence reference map on PostLoad (this piggy-backs off the PurgeLegacyBlueprints object version which is close close enough to this change to be identical) #tests Verified that existing sequences with stale references get cleaned up on load. Verified that repreatedly converting from spawnable<->possessable cleans up references correctly. Change 3987807 by JohnHenry.Carawon Updates to the MovieRendering Test Content. - Fixed the spawnable actors that were overwritten - Shortend the Lighting example and combined the Intensity and Color tracks - Organized the Sequence and WorldOutliner to group the examples. Change 3988151 by Max.Chen Cine Camera: Enable keying the "Enable Look at Tracking" toggle. Change 3988880 by Max.Chen Sequencer: Support enter to add asset for all sequencer track editors that have asset pickers. #jira UE-57367 Change 3988953 by Max.Chen Sequencer: Make the track color picker focusable so that it will close when you click away or lose focus. #jira UE-57210 Change 3988962 by Max.Chen MovieSceneCapture: Fix EDL export so that it takes into account movie scene frame resolution and desired frame rate. #jira UE-57365 Change 3988964 by Max.Chen Movie Scene Capture: Clarified tooltip for bRelativeFrameNumbers. If you specify custom start/end frames for the recording, they will be relative to the playback range. #jira UE-57308 Change 3989442 by Max.Chen Fix CIS Change 3991548 by Matt.Hoffman Dragging the time slider no longer causes the time slider to ignore snap-to-interval with "Snap to Keys While Scrubbing" when no keys are in range. #jira UE-57417 Change 3991598 by Matt.Hoffman Snap to Key while scrubbing now mirrors the behavior of "jump to next key". When there are no tracks selected it snaps to all keys and when there are tracks selected it snaps to only keys from that track. This also resolves an issue where deleting an object did not remove it from the Sequencer's selection. Undoing a delete already doesn't seem to restore your selection, so removing it from your selection shouldn't change that behavior. #jira UE-57417 Change 3991603 by Max.Chen Sequencer: Disable EditAnywhere for some section properties #jira UE-53530 Change 3992240 by Max.Preussner MediaAssets: Implemented dynamic audio sample rate adjustment based on audio/media clock drift #jira FORT-70638 Change 3992911 by Andrew.Rodham Sequencer: Fixed saving spawnable state using the wrong spawned object - We now track the object binding ID so that we can apply the spawned object to the correct spawnable when the asset is saved #jira UE-57353 Change 3992914 by Max.Chen Movie Scene Capture: Fix compression quality not being set. The compression interface wasn't being found through query interface, so no compression was being set. Reworked finding it through the output pins. Tested running various compression values. #jira-UE-55488 Change 3992919 by Max.Chen Sequencer: Convert to possessable now uses object template instead of copying properties (ie. see LevelSequenceActorSpawner). This fixes MIDs getting lost when converting to spawnable and back to possessable. #jira UE-52400 Change 3993184 by Max.Chen Sequencer: Don't show +Transform/+Path/+Attach track if the actor has the "Mobility" property hidden. Set the Landscape, LandscapeProxy and InstancedFoliage "Mobility" property to be hidden since it is static is not supposed to be dynamically movable. #jira UE-56347 Change 3993238 by Max.Chen Sequencer: Test for hidden mobility in creating keys as well. Refactored to HasHiddenMobility() #jira UE-56347 Change 3993978 by Max.Chen Cine Camera: Enable keying the "Enable Look at Tracking" toggle. #jira UE-57489 Change 3994039 by Max.Chen Landscape: Add Mobility to hidecategories on landscape component #jira UE-56347 Change 3994626 by JohnHenry.Carawon Updated Movie Rendering Test Content. - Fixed the overridden spawnables to their proper object types. Change 3994653 by Christina.TempelaarL Sequencer: Added Final Cut Pro 7 XML Import functionality, improved Export functionality #jira UESEQ-358 Change 3995609 by Max.Chen UMG: Add support for 2d transform mask (translation, rotation, scale, shear) #jira UE-52951 Change 3995778 by JohnHenry.Carawon Movie Rendering Test Content Updates - Adjusted Lights example - Adjusted Camera example - Added Marcie sublevel back in Change 3995942 by JohnHenry.Carawon QAGame: Moving Movie Rendering test content from Developer folder to Sequencer folder Also adjusted level visibility, lights and camera example. Change 3995993 by Christina.TempelaarL Sequencer: FCPXML Export updates - only export sections if in playback range and media exists, warn if media does not exist. Other updates - removed unused methods and variables, fixed message context naming to be more accurate #jira UESEQ-358 Change 3996595 by andrew.porter QAGame: Updating Marcie content in TrackEvaluation level to use Image Plate Change 3996614 by andrew.porter QAGame: Adding color test sequence to the sublevel Change 3996643 by Max.Chen Sequencer: Fix fbx animation export - rotation and scale channels were flipped. #jira UE-57509 #jira UE-57512 #jira UE-57514 Change 3996652 by Max.Preussner Messaging: Fixed delayed messaging using incorrect current time after message router sleep Based on https://github.com/EpicGames/UnrealEngine/pull/4601 Change 3996801 by Max.Chen Sequencer: Fix folder active state for non key area sections. Look at track node sections as well as key areas. #jira UE-57550 Change 3997098 by Matt.Hoffman Cleaned up some remaining ToDo's in STimeRange. Change 3998339 by Max.Preussner Sockets: Added documentation for socket receive functions Change 3998359 by Max.Preussner MediaUtils: Started to implement media recorder helper class Currently only supports BGRA frames in CPU memory. Supporting other formats and buffer types will require conversions on render-thread. I recommend refactoring out the existing conversion code in FMediaTextureResource into a reusable helper class in the MediaUtils module. This should be a good starting point though. Change 3998417 by Matt.Hoffman Keys and Sections can now be moved at the same time inside of Sequencer. Keys can now snap to Sections (and vice versa) instead of just to other Keys. Sections can now be duplicated like keys can. #jira UE-56995 Change 3998427 by JohnHenry.Carawon QAGame: Updating test content for the Movie Rendering feature. - Added an auto activate particle to the beginning of the sequence (it's not part of the sequence at all) - Added an event receiver blueprint to the Events example - Added a particle emitter to both sublevels - Added a camera cut to the end that switches to a separate camera - The camera zoom in, focus and Look At sections are all separate (not overlapping in the sequence) - Added a second actor for the camera Look At - Added a Visibility section for the Actor Hidden In Game track that has possessable and spawnable cube and light Change 3998537 by Max.Chen Sequence Recorder: Restore immersive mode when stopping the sequence even if not in PIE. #jira UE-56407 Change 3999809 by Matt.Hoffman Removed the "Go To" box from Sequencer and instead placed the current time as an always visible control. The previous shortcut (Ctrl + G) now focuses the new widget directly. #jira UESEQ-376 Change 4000543 by Christina.TempelaarL Sequencer: Moving editor-only code from runtime module MovieSceneCapture to editor module MovieSceneTools. Moved EDL and FCP XML exporters as well as Automated Level Scene Capture. #jira UESEQ-358 Change 4000706 by Matt.Hoffman Entering multiple time strings without a number no longer crashes Sequencer. #jira UE-57672 Change 4001051 by andrew.porter MediaFrameworkTest: Fixing up some image sources pointing to the wrong location Change 4001191 by andrew.porter QAGame: Adding some quick EDL/XML test content to dev folder Change 4001243 by Max.Chen Sequencer: Fix import EDL out of range. #jira UE-57665 Change 4001856 by Matt.Hoffman Selecting keys and sections at the same time now also works with animation and audio sections. #jira UE-57716 Change 4002021 by Max.Chen Sequence Recorder: Fix sequence name incrementing. If external recording sets the sequence name, use it. Otherwise, use the recording name from the recording group or the recording settings. #jira UE-57712 Change 4002618 by Max.Chen Viewport: Update the look at location when updating to a locked actor. This fixes an issue so that popping the view out of a locked actor and manipulating the view will not jump to the previous look at location. #jira UE-57725 Change 4002979 by Matt.Hoffman Fixes several edge cases with the end time range that was causing confusion about what the last frame of the sequence was. Dragging the End Frame slider will no longer be off by one tick and jumping to the end via the UI controls now properly respects snapping and stays inside the play range instead of falling outside of it. Overall behavior does not change though and End Frame should be considered an exclusive frame so that frames 0-150 results in a 150 frame long animation (which is frames 0-149). #jira UE-56367 Change 4003185 by Matt.Hoffman Fixed a regression that prevented a section from being dragged upwards past row 0 which normally resulted in all other rows moving down. #jira UE-57717 Change 4003193 by JohnHenry.Carawon QAGame: Updates to test content - Shortened frames between the examples from 95 to 30 - Separated camera setting tracks - Lighting example now switches directly from constant red - green - blue Change 4003369 by Max.Chen Sequence Recorder: Refresh next sequence regardless of internally stored sequence name. #jira UE-55757 Change 4003586 by JohnHenry.Carawon QAGame: Test Content Updates - Level Visibility track now ends to that the levels are not visible when we move to the next example - Shortened camera section, removed Z tranform so that we just move left to right and shortened the overall length Change 4004414 by Max.Chen Movie Scene Capture: Fix regression where rendering with shot handles would only render the first shot. 3972166 addressed an issue where an extra frame would be rendered by finalizing right when the end frame was reached. This was hit on the first shot end frame, so instead, do this only for when the last shot is being rendered. #jira UE-57314 Change 4004765 by Christina.TempelaarL Sequencer: Fixed bugs in FCP XML import/export. - Export: fixed sequence default resolution. - Export: fixed XML files with no shots. - Export: all sections clipped to playback range. - Export: fixed incorrect section start/end times due to precision issues. - Import: fixed incorrectly adding cinematic tracks. - Import: fixed bugs creating new sections. #jira UE-57660 #jira UE-57662 #jira UE-57655 #jira UE-57761 Change 4005119 by Max.Chen Sequencer: Export/import at play rate Change 4005195 by Max.Chen UMG: Finish UMG evaluation on stop. Added object version so that existing UMG assets do not change. #tests - Newly created UMG animation with sections set to restore state now return to their original state. Existing UMG animations with sections set to restore state do not return to their original state. #jira UE-52285 Change 4005377 by Michael.Karambelas QAGame: Moving TM-SequenceRecorder and related content out of my developer folder and into /Content/Sequencer/SequencerRecorder/* Change 4005417 by Michael.Karambelas QAGame: Fixed a BP compiler in the Level Blueprint of TM-SequencerRecorder. Change 4005634 by Michael.Karambelas QAGame: Fix up missing content and broken level sequence in TM-SequenceRecorder after move Change 4006324 by Max.Chen Sequencer: Reset if the focused movie scene is null. This fixes a crash if the user is focused in on a shot and undo takes the user past the point of where the shot was created. #jira UE-57752 #jira UE-47661 Change 4007006 by Max.Chen Sequencer: Fix FindAvailableRowIndex so that it returns the max row index (and not +1) since it doesn't find any conflicting rows. #jira UE-57717 Change 4007907 by Max.Chen Sequencer: Fix crash if there's no animation Change 4007948 by andrew.porter QAGame: added test content to dev folder for Record World Space Change 4008636 by Max.Chen Sequencer: Fix import fbx not setting values properly and creating additional cameras unncessarily. #jira UE-57864 Change 4008759 by Max.Chen Sequencer: Follow up fix for import cameras #jira UE-57864 Change 4009994 by Matt.Hoffman Dragging the left or right handles of the Time Range slider in Sequencer will now zoom your view in on the current center of the screen. This prevents the view from being translating as you tried to zoom in which caused issues at high zoom levels. #jira UESEQ-407 Change 4010169 by Christina.TempelaarL Sequencer: FCP XML fixes. - FCP XML export - no longer clips to playback range - FCP XML and EDL export - fixed missing last frame of some sections after exporting to Premiere. - Automated level capture, EDL export - use RoundToFrame instead of FloorToFrame for computing section start/end frames after frame rate conversion. #jira UE-57802 - partial fix, movie scene capture still needs to render full section rather than clip against playback. Change 4010287 by Mike.Zyracki Add quaternion interpolation option to UMovieScene3DTransformSection. This mimics how Matinee used to work by bascially finding the keys between a time and interpolating the angles as quat's between them. As noted in the code the algorithm needs to handle the case when the x,y,z Rotation keys all aren't at the same time which was not handled by Matinee. Also like Matinee, when in quaternion interoplation mode, we need to not display the function cuves since the interpolated and key values are now all different. (Would like to show them but that's a bigger refactor for perhaps just a one off needed by quaternions). I added a virtual function UMovieSceneSection::ShowCurveForChannel for this since it needs to be dynamic, not on construction of IKeyArea's, and could be useful for other sections. I could though move the method to just UMovieScene3DTransformSection and do a cast instead. Looked into doing a unit test for this but after talking with Andrew P we will work on doign an automated test in EngineQA since that will provide more coverage. Will also add a video the jira. #jira UESEQ-403 Change 4010713 by Mike.Zyracki Added option to key a group of transform channels instead of just the changed channel, or all of them. This is useful for quaternion interpolations where you want rotation keys to be aligned but also useful for other workflows like animating FK Pose to Pose. Change 4010715 by Andrew.Porter MediaFrameworkTest: Setting LogMediaUtils logging from VeryVerbose to Verbose to cut back on the spam Change 4013048 by Max.Chen Sequencer: Fix play/jump status. Update the player status for all position methods (Scrub, Jump, Play). Jump means Stopped. Correctly use PlayTo or JumpTo based on position method. In PlayInternal, JumpTo with the Stopped state (rather than playing state). #jira UE-57844 Change 4013479 by andrew.porter QAGame: Added content in TM-SequenceRecorder to test recording a property on a Cine Camera Component; Press 3 to trigger manual focus distance to increment on a timer Change 4014323 by Max.Chen Sequencer: Fix SetPlaybackPosition so that it jumps or plays based on playback status. #jira UE-57844 Change 4015888 by Max.Chen Sequencer: Fix crash on paste. UMovieSceneSections were gathered from the track node's track. For sub track mode, we want to gather only those sections on that track node row. #jira UE-57951 Change 4015943 by Max.Chen Sequencer: Fix moving shots up when the mouse pos goes outside of the virtual track area. #jira UE-57717 Change 4016293 by Max.Chen Sequencer: Fix relative frame playback end frame calculation so that custom start/end frames remain in the space of the sequence and are not relative. #jira UE-57308 Change 4017075 by Andrew.Rodham Sequencer: Corrected initial evaluation range used when calling UMovieSceneSequencPlayer::Play() Change 4017270 by Christina.TempelaarL Sequencer: FCPXML importer and movie scene capture - Use CeilToFrame when converting section start/end frame times to frame numbers in FCPXML and movie scene capture. - Added support for clip metadata in FCPXML. - Got rid of redundant TokenizedError message class, no longer needed now that FCPXML is in editor directory. - Added log messages currently commented out due to exception, still testing. #UESEQ-358 Change 4018370 by Christina.TempelaarL Sequencer: fixed FCPXML log messages regarding sections with start/end not divisible by display rate. #UESEQ-358 Change 4018378 by Christina.TempelaarL Sequencer: fixed error in previous changelist. #UESEQ-358 Change 4019457 by Max.Chen Sequencer: Show event names only when the event track is selected #jira UE-57897 Change 4022806 by Max.Chen Sequencer: Fix crash on movie scene capture dialog shutdown if movie capture wasn't even started. #jira UE-58106 Change 4022894 by Max.Chen Sequence Recorder: Wrap OpenEditorForAssets after sequence recording within GIsEditor #jira UE-58084 Change 4024487 by Max.Chen Sequencer: Add tooltip for quat interpolation #jira UE-58113 Change 4024562 by Max.Chen Sequencer: Change path/attach track sequence binding id to currently focused sequence id so that bindings can be created in subsequences Change 4027414 by JohnHenry.Carawon QAGame: Checking in content that shows a bug with using particles systems and Delay Before Shot Warm Up. Change 4028990 by Max.Chen Sequencer: Fix evaluate sub sequences in isolation. This check was added with the compile on the fly logic. Not sure why it was necessary but it seems like the sub sequence data needs to be updated in order to evaluate sub sequences in isolation. #jira UE-58184 Change 4029004 by Max.Chen Sequencer: Ensure that old binding references are removed when re-assigning actors in sequencer #jira UE-57898 Change 4030997 by JohnHenry.Carawon QAGame: Fixing name of the master sequence Change 4031785 by Michael.Karambelas QAGame: Added an instance of ThirdPerson Run to TM-SequenceRecorder for Record to Possessable test. Change 4035548 by Andrew.Rodham Sequencer: Changed FMovieSceneEvaluationTemplate::TemplateSignature to be a serial number to address non-deterministic cooking issues - This commit is related to the repro steps found in 3914599 and 3934307, both of which have been verified with this new change. - Copy of 4031684 from //Fortnite/Main/... #jira FORT-84852 Change 4036312 by Max.Chen Sequencer: Fix zoom view range so that it uses the passed in InZoomDelta Change 4036318 by Max.Chen Sequencer: Auto size now returns a range and defaults to the channel proxy range so that keyed regions can also be autosized. Change 4036322 by Max.Chen Forgot missing change Change 4036360 by Max.Chen Sequencer: Fix play rate calculation when skeletal animation section play rate changes. Change 4037163 by Mike.Zyracki Weighted Tangent Implementation Tricky thing is that you need to solve a cubic in order to get the bezier weights for the time part of the curve. See https://www.gamedev.net/forums/topic/474094-help-function-curves-for-animation-interpolation/ Maya provides an implementation in it's dev kit but I didn't use it since it was horribly slow and uses an iterative solution to solve the cubic needed. Instead I use an old algorithm (Cardano's method), to solve the cubic which should be much faster. Though relative simple to code from principles I just went ahead and used a version from Graphics Gems 1. I put this cubic solver directly in MovieSceneFloatChannel.cpp, but will need to move it when we support Rich Curve, maybe to FMath:: (which would probalby require some other functions for solving quartics, etc.. for completeness.). Also note we resolve this on every evaluation but dont' need to if the interval the time is evaluating hasn't had any change in values or tangents. So again when we support FRichCurve we can create a Weighted Evaluating class that can hold the cache. Also with the tangent drags I got rid of the Cardinal position that was used to calculate non-weight tangents from the key point and just quickly getting a direction. With weighted tangents we need to use the delta instead (otherwise when moving multiple they would all get the same weight based upon distance to the cardinal point. ) For mixed tangents types what I'm defaulting to non weighted if the interval doesn't match. May need to do weighted instead, not sure. What's left is just FBX import, for tomorrow. #jira UESEQ-76 Change 4037435 by Mike.Zyracki Fix fo build warnings from weighted tangent submission. #trivial Change 4038091 by Michael.Karambelas QAGame: Updated a Sequence Recorder group in TM-SequenceRecorder that had an actor missing the animation. Change 4038374 by Andrew.Rodham Sequencer: Refined scrubber styling for level sequences and actor sequences - Scrubber now shows a block the width of a dsplay rate frame, plus a line for the actual evaluated time. UMG reverts back to the previous styling (no block) - Keys that are outside of the playback range are now drawn with a subdued effect - Tick labels are no longer drawn when directly underneath the scrubber Change 4038490 by Max.Chen Sequencer: Expose tangent weight values in details panel. Change 4038620 by Andrew.Rodham Sequencer: Advanced time panel polish #jira UESEQ-426 Change 4038677 by Max.Chen Movie Scene Capture: Redirector for MovieSceneTools.AutomatedLevelSequenceCapture #jira UE-58248 Change 4039739 by Max.Chen Sequencer: Media track should only be supported by Level Sequence Change 4040024 by JohnHenry.Carawon QAGame: Fix EventReciever and OverrideBinding example The level sequence was set to none so the fix was to set it back to TrackEvaluation_Master. Change 4040610 by Andrew.Rodham Curve Editor: Moved weighted tangent switchers to a single toggle command (CTRL+W) and added an icon #jira 58383 Change 4040882 by Mike.Zyracki Keep broken when turning on weighted #jira UE-58435 Change 4041089 by andrew.porter QAGame: Sequence for Long Tangents bug Change 4041498 by Mike.Zyracki Turn off weighted when going auto to prevent large tangents. Do it both in UI and when doing AutoSetTangents() to really make sure it doesn't happen. #jira UE-58452 Change 4041752 by andrew.porter MediaFrameworkTest: Adding some better logging for setting rates when not supported. Also ignoring commiting URL when there is no text Change 4041896 by Matt.Hoffman The transform dialog box now transforms selected keys and sections, instead of just keys. #jira UE-58265 [CL 4044405 by Max Chen in Main branch]
2018-05-02 10:10:00 -04:00
FVector2D TextOffset( TextPosition, Args.bMirrorLabels ? Args.AllottedGeometry.Size.Y - TextSize.Y : 0.f );
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3946692) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3801826 by Max.Chen PR #4304: Level Sequence crash fix - Guarded against dereferencing null componen. (Contributed by DSDambuster) Change 3801828 by Max.Chen PR #4302: Movie Scene Visibility Template unitialised variable, causing random . (Contributed by DSDambuster) Change 3801837 by Max.Chen Sequencer: Delay spawning/construction for convert to possessable. This fixes a bug where property values would be lost when converting back and forth from possessable to spawnable. #jira UE-52400 Change 3801841 by Max.Chen Sequencer: Make spacer nodes not selectable. PR #4194: Improvements to Sequencer (Contributed by projectgheist) #jira UE-53117 #jira UE-52139 Change 3804183 by Max.Preussner MediaAssets: Added missing lock in media sound component Change 3805414 by Max.Preussner MediaAssets: Setting valid GUID when initializing media texture resource Change 3819578 by Max.Chen PR #4370: When enabling the "MovieCapture", do not turn off the Stereo-3D display. (Contributed by yehaike) #jira UE-53647 Change 3823414 by Max.Chen Curve Editor: Lock down the first and last keys in the redundant keys removal range so that they're unaffected. #jira UE-53591 Change 3826406 by Max.Chen Sequencer: Move OnStartedPlaying() to within first update in UpdateTimeCursorPosition(). This fixes an issue where setting the hud/player visibility was getting stomped on later. #jira UE-52772 Change 3827044 by Max.Preussner MediaAssets: Added sprite visualization to media sound component #jira UE-53594 Change 3827988 by Max.Preussner MediaPlayerAssets: Fixed Media Texture is not linked to Media Player when created together #jira UE-53532 Change 3828506 by Max.Preussner MediaPlayerEditor: Added attenuation visualizer for media sound components #jira UE-53594 Change 3832590 by andrew.porter EngineTest: Added a keep state check in Property Animation sequencer test Change 3833053 by andrew.porter EngineTest: Adding Hierarchical Bias test Change 3835683 by andrew.porter EngineTest: Adding UMG Animation screenshot test Change 3836076 by Max.Chen Sequencer: Fix audio volume and pitch multiplier deprecation. Change 3836230 by andrew.porter EngineTest: Adding Sequence Bone Position automation test Change 3836347 by Max.Chen Sequencer: Fixes to shot name parsing. When a shot doesn't contain a shot number, assume, [ShotName]_[TakeNumber]. When duplicating a shot, put the new shot in the same path of the original shot, so that the take numbers will increment properly. #jira UE-51868 Change 3836552 by Max.Chen Sequencer: Sub section now has a takes menu Change 3838094 by Max.Chen UMG: Fix template finish not getting called on stop. This fixes a bug where sections aren't restored when finished. #jira UE-52285 Change 3838708 by Max.Chen Sequencer: Add notification when the blend type is changed. #jira UE-54046 Change 3840295 by Max.Chen Sequencer: Fix copy/paste crash for lights #jira UE-54084 Change 3840957 by Mike.Zyracki Added Show Only Keyable and Show Only Animated to the filter list in the property editor. Added IsPropertyAnimated to IDetailKeyframe Interface which already had support for showing properties which are keyable (which is used for the key icon next to the properties.). Could have created another interface but then would have had to mimic the sequencer binding, releasing also, so this seemed best way. One issue still left is that custom built detail items currently don't store associated properties(usually) and so certain properties, in particulalry transforms, won't show up as keyable or animated. Note this also shows up with the keyable icon not showing up next to transform tracks, and other filters like Show Only Modified not working with transforms/customs. Not sure best way to tackle this. #jira UESEQ-328 Change 3841756 by Max.Chen Sequencer: Fix unbound possessable components when pasting spawnables. #jira UE-54104 Change 3843950 by andrew.porter EngineTest: Renaming LevelStreaming tests/content to LevelVisibility Change 3844082 by Mike.Zyracki Missing file for animated filter in property editor. When finding if a track is animated we need to find it but we can't easily induce the MovieTrack class for any particular property. So we don't set a class for it and just search by it's ID and name. #jira UESEQ-328 Change 3846902 by Max.Preussner ImgMedia: Fixed image media player never finished initialization if loading failed #jira UE-54247 Change 3849820 by Mike.Zyracki Reassigning deleted widgets didn't work since the menu extender mechanism needs a valid UObject in order to perform an operation on it. So to fix we replaced GetObjectBindingContextMenuExtender in WidgetBlueprint with new delegate mechanism (OnBuildCustomContextMenuForGuid) that supports FGuid in addition to UObjects which is needed to handle re-binding deleted widgets. Note that the default sequencer hacks this for replacing deleted actors in SequencerObjectBindingNode to check to see if a LevelSequence is active. We could move to this mechanism there also. #jira UE-53163 Change 3852211 by Max.Chen UMG: Indicate name of the property that is not bound. #jira UE-54350 Change 3854120 by Max.Chen Sequencer: Fix sibling folders being allowed to have the same folder name. #jira UE-54363 Change 3854627 by Max.Chen Sequencer: Step to next/previous key should work for all tracks if there aren't any selected. #jira UESEQ-391 Change 3855825 by andrew.porter EngineTest: Adding animation blending automation test Change 3855950 by andrew.porter EngineTest: Adding correct expected valuues to animation blending test Change 3856237 by Matt.Hoffman UESEQ-336 - Sequencer Track Reordering Adds the ability to re-order Master Tracks, Folders and Object Bindings within sequencer hierarchies (including UMG). Adds the ability to do a one-off sorting of the content under the old sorting behavior if the user wants to reset their layout to how it was under legacy behavior. Modifies SequencerTrackNodes, SequencerFolderNodes and SequencerObjectBindingNodes to handle CanDrop/OnDrop for above, below and ontop of. Fixes a Slate Issue that forcibly expanded a TreeviewRow if an item handled OnDrop. Slate will now only forcibly expand the row if the item says the drop happened ontop of the item, and not above or below it like it previously did. Change 3856503 by andrew.porter EngineTest: Adding automation test for using animation blueprint with blend multi node in sequencer Change 3857875 by Max.Chen Sequencer: Assign the sequence id after the template is compiled. #jira UE-54462 Change 3858344 by Max.Chen Sequencer: Prevent Goto and Transform boxes from overlapping by allowing them to be visible at the same time in an autosized horizontal box. Also, added close button to the goto box. PR #4425: Prevent Goto and Transform boxes from overlapping in Sequencer ... (Contributed by projectgheist) #jira UE-54210 Change 3860566 by andrew.porter MediaFrameworkTest: Set the option to index 0 for the audio and video track list by default Change 3860654 by andrew.porter EngineTest: Enabling Camera Cut + FOV test Change 3860981 by andrew.porter EngineTest: Updating skeletal mesh tests with a delay after set playback position Change 3861256 by Max.Chen Sequencer: Add all bindings if none selected. #jira-54440 Change 3862154 by Andrew.Rodham Added TimeManagement module Change 3862424 by andrew.porter EngineTest: Turned on the test Bone Positions with Blend Multi Node Change 3862573 by andrew.porter EngineTest: Adding test to compare bone positions in a sequence that is blending an animation that is using an AnimBP Change 3865117 by Max.Chen Sequencer: Stop auto scroll on mouse release of movement. #jira UE-31212 Change 3865303 by Max.Chen Sequencer: Add drag and drop transactions #jira UE-54662 Change 3865304 by Max.Chen Sequencer: Fix crash when an actor factory is not found. Change 3865361 by Max.Chen Sequencer: Don't change the camera/shot lock button when popping out of a sequence. #jira UE-54665 Change 3865412 by Max.Chen Sequencer: Determine whether a transform track is for a camera by using the spawned object or template #jira UE-54666 Change 3865685 by Max.Chen Sequencer: Clear autoscrub offset when stopping autoscroll #jira UE-31212 Change 3865886 by Max.Chen Sequence Recorder: Log an error if the number of frames changes while recording. This can happen if the skeleton changes while recording. #jira UE-48715 Change 3866925 by Andrew.Porter MediaFrameworkTest: Changing the current PNG test video image sequence to 1024 x 576 Change 3867705 by andrew.porter QAGame: Adding Audio Sort Sequence to dev folder Change 3867890 by andrew.porter QAGame: Adding a sequence for testing a sorting crash to my dev folder Change 3872628 by Max.Chen Movie Scene Capture: Split delay before warmup into split delay before shot warmup so that there's separate controls for when the movie scene capture warmups up vs. shot boundaries. Change 3873131 by Matt.Hoffman UE-54732 - Crash reordering a folder with a track. This was caused by folders being the only type of track to check if someone was putting a parent track into a child track. Object Binding tracks and Tracks now check as well so that you can't use the above/below drop targets to add parents as children. This also fixed a typo in the localization keys. #jira UE-54732 Change 3873301 by Mike.Zyracki Added ability to support continous euler angle changes when changing rotations, in particularly with the rotation gizmo's. To do this we effectively added a form an of 'euler filter'(https://en.wikipedia.org/wiki/Euler_filter) to find the closest euler angle to the current euler angle. Three functions were added to FRotator to make this possible, one to get the euler angle that's has the same rotation as it, one to get the difference between two euler angles via Manhattan distance and a third using the previous two to choose a Rotator value that's closest to it. We then use these functions before calling UComponent::SetRelativeRotation to make sure we use the correct Euler after the Quat conversion. We also no longer limit(bound) the euler angles to -180,180, which is obviously necessary to avoid flips. I also changed how we caluclate yaw and roll when pitch is -90 or 90 to make it the standard approach of zeroing out roll and just setting yaw. Main reasons are the previous implementation had precision issues so things like 180, 90, -180 would show up due to numbers being nearly zero but negative,(this would break any smooth interpolations), and this facilitates having a 'gimbal' rotation mode (like Maya, Blender etc..) if we ever want that also. If needed we could keep the previous implementation but would need to add some FMath::IsNearlyZero checks, with less performance. Note we only do this special filtering when applying delta's to actors or components in the editors, which then call UComponent::SetRelativeRotationExact, which is a new function to foces the RelativeRotation to be equal to the new rotation. This allows us to store un-nomalized Rotators at the cost that the RotationCache may be broken. We didn't change any of the other UComponent functions that set rotations (via Quats or Transforms) so they will still be bounded and unwound. In SetInternalWorldLocationAndRotation we only set the rotation if the rotation has changed, which fixes the rotation getting changed and re-normalized if just translate happens. In TransformTrackEditor, we correclty use the bUndwing flag and in MovieScene3DTransformSection there was an un-needed winding check there, it will be unwound earlier if needed, which happens if Sequence Recording is happening. Max we should talk about what to do about this . Note the euler angle drag via the widget is still bound to 0-360. I think we should just unbound that now since the rotations value are now unbound. This review now includes fixes suggested by Zak. #jira UE-UE-22228 Change 3873483 by Matt.Hoffman Sequencer Tracks can now be inserted above the spacer at the bottom of the tree. #jira UE-54706 Change 3873899 by Max.Chen Sequencer: Add section selection throbbing Change 3873908 by Max.Chen Movie Scene Capture: Added logging per frame Change 3873924 by Matt.Hoffman Adds the ability to store Sequence Recorder setups into profiles that stay with the map and can be re-loaded later. Profiles store the Actor Recordings so the settings for each actor should carry with them. #jira UESEQ-339 Change 3874726 by Matt.Hoffman Disable drag-and-drop targets on spacers that come between rows in Sequencer. This prevents extra drag/drop targets showing up between each row. #jira UE-54706 Change 3874862 by Matt.Hoffman Audio Track no longer gets reordered when adding sub-audio tracks, as sub-tracks are no longer counted towards the sorting order index when normalizing indexes. #jira UE-54727 Change 3875905 by Matt.Hoffman Disable Fade Track UI if a fade track already exists in the sequence. #jira UESEQ-393 Change 3876163 by Max.Chen Sequencer: Swap the camera object to the camera component's owner if it's not the same. #jira UE-54874 Change 3876971 by Andrew.Porter EngineTest: Moved Media Player Seek test to new folder. Also enabled the test with new ground truth image. Change 3877040 by Max.Chen Cine Camera: Split camera properties to two groups, "Camera Options" and "Camera Settings". The cine camera now hides properties in the "Camera Settings" group so that properties like bConstrainAspectRatio (in the "Camera Options" group) can be visible. #jira UE-54192 Change 3877763 by Max.Chen Curve Editor: Fix curve changed on end drag so that only curves that had keys/tangents that were changed receive notification, otherwise all loaded curves were getting notified that they were changed. #jira UE-54951 Change 3878234 by Matt.Hoffman Disable "Drop Below" targets for Sequencer Tree nodes to prevent a confusing UX issue where dropping underneath a Object Binding Node puts it after the object binding node but the UI looks like it's inserting it inside the Object Binding node. #jira UE-54743 Change 3879359 by Mike.Zyracki If a track is inactive we dim it a bit which seems to be the UE4 way to show inactive or disabled state. We changed the active logic so that all subtracks need to be inactive for the track to also be inactive(instead of all active for active). This conforms to how the active state actually works, e.g if you have two sections and only one is active the track is still active above it. #jira UESEQ-388 Change 3879462 by Max.Chen Sequencer: Allow dragging onto a particular row which would move out any overlapping sections to make space for the newly created section. Newly created sections are now selected and throbbed to draw attention to themselves. #jira UE-54664 Change 3879464 by Max.Chen Sequencer: Fixed overlapping ranges being inserted into the evaluation field during compilation - The issue was that track segments that had been combined with adjacent segments (due to them being identical) would potentially cause a subsequently compiled frame to overlap with a range that had already been inserted into the evaluation field. - The insertion code previously asserted that only minor overlaps were catered for (due to fp rounding errors) and assumed that a supplied range could not entirely contain any other range in the field. - The solution is to supply the insertion time along with the range to know exactly where the data should live in the field, and crop the range to the maximum allowable space between adjacent ranges. #jira UE-54922 Change 3879590 by Matt.Hoffman Items that are now added to the Sequencer via the "+Track" menu will be selected after being added. Items can now be added inside of folders instead of just to the root level. #jira UE-27397 Change 3879612 by Mike.Zyracki Display Nodes with no children are always active. #jira UESEQ-388 Change 3879730 by Matt.Hoffman Sequence Recorder's actor recording groups now remove items from the group when removed via the UI. #jira UESEQ-339 Change 3880256 by Mike.Zyracki Fix issue with inactive display with folders and other track nodes. #jira UESEQ-388 Change 3883491 by Max.Chen Fix issue where tick is skipped due to last ticked pose isn't cleared after AnimInstance changes. Copy from Release-4.19 #jira UE-51323 Change 3883603 by Max.Chen Movie Scene Capture: Add option toggle disable screen percentage. By default this is on (no change in current behavior). #jira UE-51898 Change 3885074 by Max.Preussner MediaCompositing: Resetting media texture & freeing resource on section end; removed dead code Change 3887220 by Max.Preussner MediaCompositing: Defaulted media section duration to 1 sec (since we do not know the actual duration in most cases) Change 3887478 by Matt.Hoffman Sequences now show [Inactive] in their title bars when they're disabled. This helps communicate why a sequence isn't being evaluated. #jira UE-51469 Change 3888985 by Max.Chen Movie Scene Capture: Clamp HDR Compression Quality between 0 and 1. #jira UE-55136 Change 3893519 by Max.Chen Sequence Recorder: Clarified tooltip for bRecordNearbySpawnedActors - spawned actors will still be recorded if they match the ActorFilter. #jira UE-55238 Change 3893546 by Max.Chen Sequence Recorder: If a selected actor already has a recording, add a blank recording. #jira UE-55239 Change 3894044 by Max.Preussner MediaCompositing: Added support for seeking into a media section Change 3894310 by andrew.porter MediaFrameworkTest: Adding Img media sources for 1080 and 2160 ravent test content Change 3894426 by Max.Preussner MediaAssets: Letting media textures with AutoClear retain their clear color when player is reset Change 3895717 by Max.Chen Sequencer: Null checks to prevent crash when saving the default state of a spawnable #jira UE-55304 Change 3897388 by Max.Chen Sequencer: Don't update current time to be within the view range when stepping into a sequence. #jira UE-55322 Change 3897452 by Max.Chen Audio: Fix crash when trying to record audio without any active capture devices. Log warning if the number of input channels is not 1 or 2. #jira UE-55223 Change 3897619 by Max.Preussner MediaCompositing: Removed commented out code Change 3898072 by Max.Chen Sequencer: Override the animation asset in the player state if it doesn't match the animation asset that's being evaluated. #jira UE-55328 Change 3898272 by Max.Preussner MediaPlayerEditor: Made slate brush constants static Change 3898704 by Max.Chen Sequencer: Skip if the binding id's sequence can't be found. #jira UE-55337 Change 3899855 by Max.Preussner MediaCompositingEditor: Added cache state visualization to media track Change 3900300 by Max.Preussner MediaCompositingEditor: Added loop indicators to media sections Change 3900694 by Max.Preussner ImfMedia: Looping cache only when player is looping Change 3900892 by Max.Preussner Stats: Added stats category for media framework Change 3900954 by Max.Preussner MediaCompositing: Don't evaluate at the end of media section Change 3901348 by Max.Preussner Core: Replaced TLruCache autos for better readability Change 3901655 by Max.Preussner ImgMedia: Added more perf stats to EXR reader Change 3901972 by Max.Preussner MediaAssets: Added getter for media player in media sound components Change 3902233 by Max.Preussner MediaAssets: Enabling media textures to receive samples right after player is assigned Change 3902238 by Max.Preussner MediaCompositing: Working around init/shutdown idiosyncracies in sequencer Change 3904045 by Max.Chen Sequencer: Fix copy/paste crash. Only process UMovieSceneCopyableBinding and objects that can be spawned by the movie scene spawn register. #jira UE-55314 Change 3905605 by Max.Chen Sequencer: Restrict spawnables from being created if they have a ClassWithin that UMovieScene is not a child of. #jira UE-55429 Change 3906550 by Max.Chen Sequencer: Add media track icon #jira UE-55480 Change 3907101 by Max.Chen Sequence Recorder: Fix bugs related to not recording a level sequence. There were certain assumptions that creating a level sequence meant that sequence recording was in progress. This is not always the case - the recorders can record animation assets and not create a level sequence. Changed the notion of IsRecording() to having at least one actor recording that is recording. Countdown timer, recording displays, etc should function if IsRecording() and not based on whether a level sequence is created. #jira UE-55485 Change 3907247 by Max.Chen Sequence Recorder: Fix crash not removing PrepareToCleanseEditorObject delegate. Repros when opening sequence recorder, closing it, and then opening or creating a level. Change 3910343 by Max.Preussner Core: Added async helper for executing functions on a given thread pool Change 3910346 by Max.Preussner ImgMedia: Added separate thread pools for loading/decoding and deleting image frames Change 3910829 by Max.Preussner Profiler: Increased visible range of profiler graph Change 3910841 by Max.Preussner MediaCompositing: Displaying asset name instead of full media source path in media section Change 3910870 by Max.Preussner ImgMedia: Using deallocation thread pool only in debug builds Change 3919642 by Max.Chen Sequence Recorder: Clarify active tooltip #jira UE-55661 Change 3919660 by Max.Chen Sequencer: Sequence template source signatures are now also compared to catch the case where a sub-sequence asset has been saved but not modified - The following sequence of events exposes this issue: - Create a master sequence with a single shot that spawns a cube - Add this sequence to a level and set it to auto-play - Save everything and restart - Resave just the inner shot asset without opening it - PIE - The inner shot never spawns its cube because its template was wiped on save, but its signature never changed. Since the master sequence previously didn't check the template source signature, it ends up trying to evaluate an empty template. #jira UE-55626 #jira UE-55490 Change 3921825 by Max.Chen Sequencer: "Run Construction Script in Sequencer" is off by default for blueprints but on for Sequencer. This allows the content author to switch it on for specific blueprints and sequencer will be default, run those with construction scripts enabled. Change 3922232 by Max.Chen Sequence Recorder: Reset countdelay on stop. #jira UE-55755 Change 3922306 by Max.Chen Sequence Recorder: Don't automatically mark transforms to be recorded by sequence recorder. Instead, log a warning if the user toggled it off to warn that the resulting animation might not match gameplay. #jira UE-55758 Change 3922912 by Max.Chen Sequence Recorder: Fix refresh next sequence name #jira UE-55757 Change 3927654 by Max.Chen Movie Scene Capture: Added format mapping for the name of the current camera #jira UE-55769 PR #4537 Change 3927658 by Max.Chen Sequencer: Added fbx property mapping for "FocusDistance" to "FocusSettings.ManualFocusDistance" #jira UE-55782 Change 3932022 by Max.Chen Sequencer: Add import animation track section to next available row index. #jira UE-55892 Change 3933919 by Max.Chen Sequencer: Jump to playback start frame and not 0 to start playback for recording. #jira UE-55933 Change 3934307 by Andrew.Rodham Sequencer: Add template signature that is re-generated every time the base template is regenerated, which invalidates evaluation fields This fixes an issue where the same sequence is instantiated multiple times in a sequence. If the source sequence was saved, its template would be wiped, which would invalidate the template ID When an instance tries to evaluate the master template, it would only invalidate a range in the evaluation field that was the hull of any invalid sub sequences overlapping the current time, potentially leaving invalid data in the evaluation field at positions later (or earlier) on in the sequence When the sub template was re-generated, it receives the same SequenceSignature as it had before (because the sequence hasn't actually changed), which causes the stale evaluation field data to fail the IsDirty check (because the sequence is the same as it thought, but the *template* has changed) This has been addressed be adding a signature to templates themselves, and checking both the template signature and sequence signature as a part of the IsDirty check. This ensures that we regenerate if either the template, or the sequence have changed. #jira UE-55934 Change 3936327 by Andrew.Rodham Sequencer: Removed increment when trimming right UMovieSceneSection::TrimSection already explicity assigns an exclusive bound to the time passed in. The new behavior means we can trim a section to the right, and insert another section without changing the time to create adjacent sections. #jira UE-42652 Change 3936328 by Andrew.Rodham Fixed KeyFrameManipulator assignment operators and copy/move constructors - These types are potentially self-referential so cannot use default constructors/assignment Change 3936330 by Andrew.Rodham Converted UMGSequencePlayer to use frames internally #jira UE-54878 Change 3936726 by Max.Chen Sequencer: Set track node as the parent of the key area node. The key area switcher needs the object binding id from the parent object binding node. Without this, the binding to the external value fails. #jira UE-55931 Change 3936775 by Max.Chen Sequencer: Should stop or loop should compare DurationFrames with Current Time from StartTime. The bug is that if you set 30 warmup frames in movie rendering for a range of 0-100, the FrameRange will be starting at -30 and have a duration of 130. Without this fix, the playback will continue until frame 130, rather than 100. #jira UE-55933 Change 3936935 by Matt.Hoffman Easing Curves are now represented in Play Rate resolution instead of internal resolution. #jira UE-55937 Change 3937069 by Matt.Hoffman Users can toggle if the is infinite on each side, limited by which tracks support infinite ranges. #jira UE-55891 Change 3937516 by Max.Preussner ImgMedia: Added support for single-threaded platforms #jira UE-55986 Change 3937826 by Max.Preussner MediaAssets: Disabling media sound components on HTML5 if AudioMixer is not enabled Change 3937997 by Max.Chen Curve Editor: Add Zoom to Fit Curves so that selected curves from Sequencer can be focused on. Tested that undo doesn't re-zoom. #jira UE-55935 Change 3938000 by Max.Chen Sequencer: Stop all sounds before generating audio waveforms. #jira UE-55951 Change 3938376 by Max.Preussner XGEController: Disabled XGE Controller in single-threaded apps to prevent crash Change 3938444 by Max.Preussner Core: Added async support for single-threaded applications Change 3938445 by Max.Preussner Networking: Added support for single-threaded applications in UDP socket sender/receiver Change 3938447 by Max.Preussner Messaging: Added support for single-threaded applications Change 3939432 by Max.Chen Sequence Recorder: Append command list to global level editor actions so that shortcuts are accessible in level editor. #jira UE-55798 Change 3940229 by Andrew.Rodham Added prospective display rate upgrade to UMovieScene::PostLoad - There was previously some very odd behaviour that would assign the fixed frame interval only when a sub sequence was focused in SSequencer. This meant that many sequences could have a frame interval of 0 set in the data. - Under the old method of snap interval display this would have fallen back to getting the display interval from the sequencer settings, but we no longer look at these. - The USequencerSettings properties have been removed and in their place, a prospective data upgrade for sequences that have a fixed frame interval old 0fps that sets the play rate to the previous defaults based off the old USequencerSettings defaults. - This could end up 'changing' the display rate for sequences where the user has changed the snap interval in the settings for a particular sequence editor, but there's not much we can do about that given we don't have access to the USequencerSettings classes in UMovieScene #jira UE-55919 Change 3940277 by Andrew.Rodham Sequencer: Added ability to default frame resolutions and play rates for newly created actor sequences Change 3940378 by Andrew.Rodham Sequencer: Post move import dialog now defaults to the playback framerate of the sequence, and floors to frame numbers Change 3940559 by Andrew.Rodham Reinstated primed or recording sequence color Change 3940642 by Max.Preussner ImagePlate: Removed image plate media playback functionality Change 3940843 by Max.Preussner Core: Made TCircularQueue actually thread-safe; improved code comments Change 3940860 by Max.Chen Sequencer: Changed StructNameToKey to StructPathToKey Previously, keying a PropertyPath of [RenderTransform][Shear][X] would get trimmed to X, which doesn't map to a channel name as considered by Sequencer2dTransformTrackEditor. Instead, trim the resulting property path to [Shear][X] so that track editors can determine the desired struct path and channels to key. #jira UE-52966 Change 3941292 by Mike.Zyracki Fix for trajectories out of range not showing up. 1) If we had no key data we would pop the time, so wouldn't get the section ranges. 2) Calculating of upper bound was wrong, checking against -1 and not key == num of keys when doing algo::lower_bound. 3) No need to do the Bck-- for the bakward iterators since we fixed #2. We start now from the upper bound correctly. 4) If we had no keys (at section start,end) we would incorrectly say we were any key type, so since we draw constant keys as dashed we would do so incorrectly around section end points. #jira UE-55929 Change 3941424 by Max.Chen Curve Editor: Change Zoom to Fit to use TArrayView Change 3941498 by Max.Preussner Core: Added FMath::DivideAndRoundNearest function Change 3942097 by Matt.Hoffman Drop Frame Timecode Support for NTSC rates. Change 3942104 by Matt.Hoffman Sequence Recorder Group is no longer visible inside the World Outliner after using one. #jira 55266 Change 3942107 by Max.Chen Sequencer: Resurrect logic to find or extend an existing section when adding keys. Change 3942330 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942339 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942507 by Andrew.Rodham Sequencer: We no longer pad the time overlap threshold with a small number that is not scaled by the current zoom level - The presence of this pad was causing keys that were far apart to be grouped when zoomed in a long way Change 3942509 by Andrew.Rodham Sequencer: Only pad total view range, rather than section range as well when retrieving keys to render - This stops us from rendering keys that are within the view range, but outside the section range Change 3942512 by Andrew.Rodham Added transactions to some sequencer details customizations Change 3942513 by Andrew.Rodham Sequencer: Reinstated validation checks to UMovieSceneSection::SetStartFrame and SetEndFrame, changed erroneous uses to use SetRange Change 3942560 by Andrew.Rodham Pass by rvalue reference to appease error C2719 on Win32 ('InChannels': formal parameter with requested alignment of 8 won't be aligned) Change 3942697 by Andrew.Rodham Newly Created Level Sequences and Actor Sequences now default to 24000 fps frame resolution (+/- ~24hrs range, supporting all integer rates + 23.976) Change 3942700 by Andrew.Rodham Sequencer: Added legacy out-of-bounds errors for times that are not supported by the current legacy upgrade frame resolution Change 3942989 by Max.Preussner Core: Fixed circular queue count calculation Change 3943538 by Max.Preussner MediaAssets: Reverted workaround for procedural audio log spam in HTML5 (Actor component initialization cannot be skipped if the component is used in a level) Change 3944071 by Max.Preussner QAGame: Fixed Media Texture keeps last frame of Media when PIE ends #jira UE-53360 Change 3944292 by Max.Chen Sequencer: Added extra flags to ensure that asset initialization does not occur on template actor sequences #jira UE-56113 Change 3944364 by Max.Chen Sequencer: Prevent circular shot/master tracks. Tested adding master -> child -> master as drag and drop cinematic shot tracks and sub tracks as well as through the + button. #jira UE-56091 Change 3944422 by Max.Chen Sequence Recorder: Disable transform recording if off. #jira UE-56061 Change 3944745 by Andrew.Rodham Sequencer: Key rendering fixes - Fixed assert that occured when keys happened to reside on some times due to KeyTime + TimeOverlapThreshold - KeyTime being slightly larger TimeOverlapThreshold - Fixed keys sometimes being clipped when zoomed right in due to lack of half-frame offset - Added missing documentation to MovieSceneTimeHelpers.h #jira UE-56107 Change 3945231 by Andrew.Rodham Sequencer: Reconstruct channel proxy on Serialize to catch all cases of undo/redo, PostLoad and duplication #jira UE-56089 Change 3945301 by Andrew.Rodham Sequencer: Added safety checks during initial sequence recording to guard against applying negative or 0-sized sequence ranges #jira UE-56125 Change 3946627 by Max.Preussner Fortnite: Fixed game crashes closing editor while in PIE - Pure virtual function being called #jira UE-56144 [CL 3946896 by Max Chen in Main branch]
2018-03-14 22:09:33 -04:00
FSlateDrawElement::MakeText(
OutDrawElements,
Args.StartLayer+1,
Args.AllottedGeometry.ToPaintGeometry( TextOffset, TextSize ),
FrameString,
SmallLayoutFont,
Args.DrawEffects,
TextColor
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3946692) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3801826 by Max.Chen PR #4304: Level Sequence crash fix - Guarded against dereferencing null componen. (Contributed by DSDambuster) Change 3801828 by Max.Chen PR #4302: Movie Scene Visibility Template unitialised variable, causing random . (Contributed by DSDambuster) Change 3801837 by Max.Chen Sequencer: Delay spawning/construction for convert to possessable. This fixes a bug where property values would be lost when converting back and forth from possessable to spawnable. #jira UE-52400 Change 3801841 by Max.Chen Sequencer: Make spacer nodes not selectable. PR #4194: Improvements to Sequencer (Contributed by projectgheist) #jira UE-53117 #jira UE-52139 Change 3804183 by Max.Preussner MediaAssets: Added missing lock in media sound component Change 3805414 by Max.Preussner MediaAssets: Setting valid GUID when initializing media texture resource Change 3819578 by Max.Chen PR #4370: When enabling the "MovieCapture", do not turn off the Stereo-3D display. (Contributed by yehaike) #jira UE-53647 Change 3823414 by Max.Chen Curve Editor: Lock down the first and last keys in the redundant keys removal range so that they're unaffected. #jira UE-53591 Change 3826406 by Max.Chen Sequencer: Move OnStartedPlaying() to within first update in UpdateTimeCursorPosition(). This fixes an issue where setting the hud/player visibility was getting stomped on later. #jira UE-52772 Change 3827044 by Max.Preussner MediaAssets: Added sprite visualization to media sound component #jira UE-53594 Change 3827988 by Max.Preussner MediaPlayerAssets: Fixed Media Texture is not linked to Media Player when created together #jira UE-53532 Change 3828506 by Max.Preussner MediaPlayerEditor: Added attenuation visualizer for media sound components #jira UE-53594 Change 3832590 by andrew.porter EngineTest: Added a keep state check in Property Animation sequencer test Change 3833053 by andrew.porter EngineTest: Adding Hierarchical Bias test Change 3835683 by andrew.porter EngineTest: Adding UMG Animation screenshot test Change 3836076 by Max.Chen Sequencer: Fix audio volume and pitch multiplier deprecation. Change 3836230 by andrew.porter EngineTest: Adding Sequence Bone Position automation test Change 3836347 by Max.Chen Sequencer: Fixes to shot name parsing. When a shot doesn't contain a shot number, assume, [ShotName]_[TakeNumber]. When duplicating a shot, put the new shot in the same path of the original shot, so that the take numbers will increment properly. #jira UE-51868 Change 3836552 by Max.Chen Sequencer: Sub section now has a takes menu Change 3838094 by Max.Chen UMG: Fix template finish not getting called on stop. This fixes a bug where sections aren't restored when finished. #jira UE-52285 Change 3838708 by Max.Chen Sequencer: Add notification when the blend type is changed. #jira UE-54046 Change 3840295 by Max.Chen Sequencer: Fix copy/paste crash for lights #jira UE-54084 Change 3840957 by Mike.Zyracki Added Show Only Keyable and Show Only Animated to the filter list in the property editor. Added IsPropertyAnimated to IDetailKeyframe Interface which already had support for showing properties which are keyable (which is used for the key icon next to the properties.). Could have created another interface but then would have had to mimic the sequencer binding, releasing also, so this seemed best way. One issue still left is that custom built detail items currently don't store associated properties(usually) and so certain properties, in particulalry transforms, won't show up as keyable or animated. Note this also shows up with the keyable icon not showing up next to transform tracks, and other filters like Show Only Modified not working with transforms/customs. Not sure best way to tackle this. #jira UESEQ-328 Change 3841756 by Max.Chen Sequencer: Fix unbound possessable components when pasting spawnables. #jira UE-54104 Change 3843950 by andrew.porter EngineTest: Renaming LevelStreaming tests/content to LevelVisibility Change 3844082 by Mike.Zyracki Missing file for animated filter in property editor. When finding if a track is animated we need to find it but we can't easily induce the MovieTrack class for any particular property. So we don't set a class for it and just search by it's ID and name. #jira UESEQ-328 Change 3846902 by Max.Preussner ImgMedia: Fixed image media player never finished initialization if loading failed #jira UE-54247 Change 3849820 by Mike.Zyracki Reassigning deleted widgets didn't work since the menu extender mechanism needs a valid UObject in order to perform an operation on it. So to fix we replaced GetObjectBindingContextMenuExtender in WidgetBlueprint with new delegate mechanism (OnBuildCustomContextMenuForGuid) that supports FGuid in addition to UObjects which is needed to handle re-binding deleted widgets. Note that the default sequencer hacks this for replacing deleted actors in SequencerObjectBindingNode to check to see if a LevelSequence is active. We could move to this mechanism there also. #jira UE-53163 Change 3852211 by Max.Chen UMG: Indicate name of the property that is not bound. #jira UE-54350 Change 3854120 by Max.Chen Sequencer: Fix sibling folders being allowed to have the same folder name. #jira UE-54363 Change 3854627 by Max.Chen Sequencer: Step to next/previous key should work for all tracks if there aren't any selected. #jira UESEQ-391 Change 3855825 by andrew.porter EngineTest: Adding animation blending automation test Change 3855950 by andrew.porter EngineTest: Adding correct expected valuues to animation blending test Change 3856237 by Matt.Hoffman UESEQ-336 - Sequencer Track Reordering Adds the ability to re-order Master Tracks, Folders and Object Bindings within sequencer hierarchies (including UMG). Adds the ability to do a one-off sorting of the content under the old sorting behavior if the user wants to reset their layout to how it was under legacy behavior. Modifies SequencerTrackNodes, SequencerFolderNodes and SequencerObjectBindingNodes to handle CanDrop/OnDrop for above, below and ontop of. Fixes a Slate Issue that forcibly expanded a TreeviewRow if an item handled OnDrop. Slate will now only forcibly expand the row if the item says the drop happened ontop of the item, and not above or below it like it previously did. Change 3856503 by andrew.porter EngineTest: Adding automation test for using animation blueprint with blend multi node in sequencer Change 3857875 by Max.Chen Sequencer: Assign the sequence id after the template is compiled. #jira UE-54462 Change 3858344 by Max.Chen Sequencer: Prevent Goto and Transform boxes from overlapping by allowing them to be visible at the same time in an autosized horizontal box. Also, added close button to the goto box. PR #4425: Prevent Goto and Transform boxes from overlapping in Sequencer ... (Contributed by projectgheist) #jira UE-54210 Change 3860566 by andrew.porter MediaFrameworkTest: Set the option to index 0 for the audio and video track list by default Change 3860654 by andrew.porter EngineTest: Enabling Camera Cut + FOV test Change 3860981 by andrew.porter EngineTest: Updating skeletal mesh tests with a delay after set playback position Change 3861256 by Max.Chen Sequencer: Add all bindings if none selected. #jira-54440 Change 3862154 by Andrew.Rodham Added TimeManagement module Change 3862424 by andrew.porter EngineTest: Turned on the test Bone Positions with Blend Multi Node Change 3862573 by andrew.porter EngineTest: Adding test to compare bone positions in a sequence that is blending an animation that is using an AnimBP Change 3865117 by Max.Chen Sequencer: Stop auto scroll on mouse release of movement. #jira UE-31212 Change 3865303 by Max.Chen Sequencer: Add drag and drop transactions #jira UE-54662 Change 3865304 by Max.Chen Sequencer: Fix crash when an actor factory is not found. Change 3865361 by Max.Chen Sequencer: Don't change the camera/shot lock button when popping out of a sequence. #jira UE-54665 Change 3865412 by Max.Chen Sequencer: Determine whether a transform track is for a camera by using the spawned object or template #jira UE-54666 Change 3865685 by Max.Chen Sequencer: Clear autoscrub offset when stopping autoscroll #jira UE-31212 Change 3865886 by Max.Chen Sequence Recorder: Log an error if the number of frames changes while recording. This can happen if the skeleton changes while recording. #jira UE-48715 Change 3866925 by Andrew.Porter MediaFrameworkTest: Changing the current PNG test video image sequence to 1024 x 576 Change 3867705 by andrew.porter QAGame: Adding Audio Sort Sequence to dev folder Change 3867890 by andrew.porter QAGame: Adding a sequence for testing a sorting crash to my dev folder Change 3872628 by Max.Chen Movie Scene Capture: Split delay before warmup into split delay before shot warmup so that there's separate controls for when the movie scene capture warmups up vs. shot boundaries. Change 3873131 by Matt.Hoffman UE-54732 - Crash reordering a folder with a track. This was caused by folders being the only type of track to check if someone was putting a parent track into a child track. Object Binding tracks and Tracks now check as well so that you can't use the above/below drop targets to add parents as children. This also fixed a typo in the localization keys. #jira UE-54732 Change 3873301 by Mike.Zyracki Added ability to support continous euler angle changes when changing rotations, in particularly with the rotation gizmo's. To do this we effectively added a form an of 'euler filter'(https://en.wikipedia.org/wiki/Euler_filter) to find the closest euler angle to the current euler angle. Three functions were added to FRotator to make this possible, one to get the euler angle that's has the same rotation as it, one to get the difference between two euler angles via Manhattan distance and a third using the previous two to choose a Rotator value that's closest to it. We then use these functions before calling UComponent::SetRelativeRotation to make sure we use the correct Euler after the Quat conversion. We also no longer limit(bound) the euler angles to -180,180, which is obviously necessary to avoid flips. I also changed how we caluclate yaw and roll when pitch is -90 or 90 to make it the standard approach of zeroing out roll and just setting yaw. Main reasons are the previous implementation had precision issues so things like 180, 90, -180 would show up due to numbers being nearly zero but negative,(this would break any smooth interpolations), and this facilitates having a 'gimbal' rotation mode (like Maya, Blender etc..) if we ever want that also. If needed we could keep the previous implementation but would need to add some FMath::IsNearlyZero checks, with less performance. Note we only do this special filtering when applying delta's to actors or components in the editors, which then call UComponent::SetRelativeRotationExact, which is a new function to foces the RelativeRotation to be equal to the new rotation. This allows us to store un-nomalized Rotators at the cost that the RotationCache may be broken. We didn't change any of the other UComponent functions that set rotations (via Quats or Transforms) so they will still be bounded and unwound. In SetInternalWorldLocationAndRotation we only set the rotation if the rotation has changed, which fixes the rotation getting changed and re-normalized if just translate happens. In TransformTrackEditor, we correclty use the bUndwing flag and in MovieScene3DTransformSection there was an un-needed winding check there, it will be unwound earlier if needed, which happens if Sequence Recording is happening. Max we should talk about what to do about this . Note the euler angle drag via the widget is still bound to 0-360. I think we should just unbound that now since the rotations value are now unbound. This review now includes fixes suggested by Zak. #jira UE-UE-22228 Change 3873483 by Matt.Hoffman Sequencer Tracks can now be inserted above the spacer at the bottom of the tree. #jira UE-54706 Change 3873899 by Max.Chen Sequencer: Add section selection throbbing Change 3873908 by Max.Chen Movie Scene Capture: Added logging per frame Change 3873924 by Matt.Hoffman Adds the ability to store Sequence Recorder setups into profiles that stay with the map and can be re-loaded later. Profiles store the Actor Recordings so the settings for each actor should carry with them. #jira UESEQ-339 Change 3874726 by Matt.Hoffman Disable drag-and-drop targets on spacers that come between rows in Sequencer. This prevents extra drag/drop targets showing up between each row. #jira UE-54706 Change 3874862 by Matt.Hoffman Audio Track no longer gets reordered when adding sub-audio tracks, as sub-tracks are no longer counted towards the sorting order index when normalizing indexes. #jira UE-54727 Change 3875905 by Matt.Hoffman Disable Fade Track UI if a fade track already exists in the sequence. #jira UESEQ-393 Change 3876163 by Max.Chen Sequencer: Swap the camera object to the camera component's owner if it's not the same. #jira UE-54874 Change 3876971 by Andrew.Porter EngineTest: Moved Media Player Seek test to new folder. Also enabled the test with new ground truth image. Change 3877040 by Max.Chen Cine Camera: Split camera properties to two groups, "Camera Options" and "Camera Settings". The cine camera now hides properties in the "Camera Settings" group so that properties like bConstrainAspectRatio (in the "Camera Options" group) can be visible. #jira UE-54192 Change 3877763 by Max.Chen Curve Editor: Fix curve changed on end drag so that only curves that had keys/tangents that were changed receive notification, otherwise all loaded curves were getting notified that they were changed. #jira UE-54951 Change 3878234 by Matt.Hoffman Disable "Drop Below" targets for Sequencer Tree nodes to prevent a confusing UX issue where dropping underneath a Object Binding Node puts it after the object binding node but the UI looks like it's inserting it inside the Object Binding node. #jira UE-54743 Change 3879359 by Mike.Zyracki If a track is inactive we dim it a bit which seems to be the UE4 way to show inactive or disabled state. We changed the active logic so that all subtracks need to be inactive for the track to also be inactive(instead of all active for active). This conforms to how the active state actually works, e.g if you have two sections and only one is active the track is still active above it. #jira UESEQ-388 Change 3879462 by Max.Chen Sequencer: Allow dragging onto a particular row which would move out any overlapping sections to make space for the newly created section. Newly created sections are now selected and throbbed to draw attention to themselves. #jira UE-54664 Change 3879464 by Max.Chen Sequencer: Fixed overlapping ranges being inserted into the evaluation field during compilation - The issue was that track segments that had been combined with adjacent segments (due to them being identical) would potentially cause a subsequently compiled frame to overlap with a range that had already been inserted into the evaluation field. - The insertion code previously asserted that only minor overlaps were catered for (due to fp rounding errors) and assumed that a supplied range could not entirely contain any other range in the field. - The solution is to supply the insertion time along with the range to know exactly where the data should live in the field, and crop the range to the maximum allowable space between adjacent ranges. #jira UE-54922 Change 3879590 by Matt.Hoffman Items that are now added to the Sequencer via the "+Track" menu will be selected after being added. Items can now be added inside of folders instead of just to the root level. #jira UE-27397 Change 3879612 by Mike.Zyracki Display Nodes with no children are always active. #jira UESEQ-388 Change 3879730 by Matt.Hoffman Sequence Recorder's actor recording groups now remove items from the group when removed via the UI. #jira UESEQ-339 Change 3880256 by Mike.Zyracki Fix issue with inactive display with folders and other track nodes. #jira UESEQ-388 Change 3883491 by Max.Chen Fix issue where tick is skipped due to last ticked pose isn't cleared after AnimInstance changes. Copy from Release-4.19 #jira UE-51323 Change 3883603 by Max.Chen Movie Scene Capture: Add option toggle disable screen percentage. By default this is on (no change in current behavior). #jira UE-51898 Change 3885074 by Max.Preussner MediaCompositing: Resetting media texture & freeing resource on section end; removed dead code Change 3887220 by Max.Preussner MediaCompositing: Defaulted media section duration to 1 sec (since we do not know the actual duration in most cases) Change 3887478 by Matt.Hoffman Sequences now show [Inactive] in their title bars when they're disabled. This helps communicate why a sequence isn't being evaluated. #jira UE-51469 Change 3888985 by Max.Chen Movie Scene Capture: Clamp HDR Compression Quality between 0 and 1. #jira UE-55136 Change 3893519 by Max.Chen Sequence Recorder: Clarified tooltip for bRecordNearbySpawnedActors - spawned actors will still be recorded if they match the ActorFilter. #jira UE-55238 Change 3893546 by Max.Chen Sequence Recorder: If a selected actor already has a recording, add a blank recording. #jira UE-55239 Change 3894044 by Max.Preussner MediaCompositing: Added support for seeking into a media section Change 3894310 by andrew.porter MediaFrameworkTest: Adding Img media sources for 1080 and 2160 ravent test content Change 3894426 by Max.Preussner MediaAssets: Letting media textures with AutoClear retain their clear color when player is reset Change 3895717 by Max.Chen Sequencer: Null checks to prevent crash when saving the default state of a spawnable #jira UE-55304 Change 3897388 by Max.Chen Sequencer: Don't update current time to be within the view range when stepping into a sequence. #jira UE-55322 Change 3897452 by Max.Chen Audio: Fix crash when trying to record audio without any active capture devices. Log warning if the number of input channels is not 1 or 2. #jira UE-55223 Change 3897619 by Max.Preussner MediaCompositing: Removed commented out code Change 3898072 by Max.Chen Sequencer: Override the animation asset in the player state if it doesn't match the animation asset that's being evaluated. #jira UE-55328 Change 3898272 by Max.Preussner MediaPlayerEditor: Made slate brush constants static Change 3898704 by Max.Chen Sequencer: Skip if the binding id's sequence can't be found. #jira UE-55337 Change 3899855 by Max.Preussner MediaCompositingEditor: Added cache state visualization to media track Change 3900300 by Max.Preussner MediaCompositingEditor: Added loop indicators to media sections Change 3900694 by Max.Preussner ImfMedia: Looping cache only when player is looping Change 3900892 by Max.Preussner Stats: Added stats category for media framework Change 3900954 by Max.Preussner MediaCompositing: Don't evaluate at the end of media section Change 3901348 by Max.Preussner Core: Replaced TLruCache autos for better readability Change 3901655 by Max.Preussner ImgMedia: Added more perf stats to EXR reader Change 3901972 by Max.Preussner MediaAssets: Added getter for media player in media sound components Change 3902233 by Max.Preussner MediaAssets: Enabling media textures to receive samples right after player is assigned Change 3902238 by Max.Preussner MediaCompositing: Working around init/shutdown idiosyncracies in sequencer Change 3904045 by Max.Chen Sequencer: Fix copy/paste crash. Only process UMovieSceneCopyableBinding and objects that can be spawned by the movie scene spawn register. #jira UE-55314 Change 3905605 by Max.Chen Sequencer: Restrict spawnables from being created if they have a ClassWithin that UMovieScene is not a child of. #jira UE-55429 Change 3906550 by Max.Chen Sequencer: Add media track icon #jira UE-55480 Change 3907101 by Max.Chen Sequence Recorder: Fix bugs related to not recording a level sequence. There were certain assumptions that creating a level sequence meant that sequence recording was in progress. This is not always the case - the recorders can record animation assets and not create a level sequence. Changed the notion of IsRecording() to having at least one actor recording that is recording. Countdown timer, recording displays, etc should function if IsRecording() and not based on whether a level sequence is created. #jira UE-55485 Change 3907247 by Max.Chen Sequence Recorder: Fix crash not removing PrepareToCleanseEditorObject delegate. Repros when opening sequence recorder, closing it, and then opening or creating a level. Change 3910343 by Max.Preussner Core: Added async helper for executing functions on a given thread pool Change 3910346 by Max.Preussner ImgMedia: Added separate thread pools for loading/decoding and deleting image frames Change 3910829 by Max.Preussner Profiler: Increased visible range of profiler graph Change 3910841 by Max.Preussner MediaCompositing: Displaying asset name instead of full media source path in media section Change 3910870 by Max.Preussner ImgMedia: Using deallocation thread pool only in debug builds Change 3919642 by Max.Chen Sequence Recorder: Clarify active tooltip #jira UE-55661 Change 3919660 by Max.Chen Sequencer: Sequence template source signatures are now also compared to catch the case where a sub-sequence asset has been saved but not modified - The following sequence of events exposes this issue: - Create a master sequence with a single shot that spawns a cube - Add this sequence to a level and set it to auto-play - Save everything and restart - Resave just the inner shot asset without opening it - PIE - The inner shot never spawns its cube because its template was wiped on save, but its signature never changed. Since the master sequence previously didn't check the template source signature, it ends up trying to evaluate an empty template. #jira UE-55626 #jira UE-55490 Change 3921825 by Max.Chen Sequencer: "Run Construction Script in Sequencer" is off by default for blueprints but on for Sequencer. This allows the content author to switch it on for specific blueprints and sequencer will be default, run those with construction scripts enabled. Change 3922232 by Max.Chen Sequence Recorder: Reset countdelay on stop. #jira UE-55755 Change 3922306 by Max.Chen Sequence Recorder: Don't automatically mark transforms to be recorded by sequence recorder. Instead, log a warning if the user toggled it off to warn that the resulting animation might not match gameplay. #jira UE-55758 Change 3922912 by Max.Chen Sequence Recorder: Fix refresh next sequence name #jira UE-55757 Change 3927654 by Max.Chen Movie Scene Capture: Added format mapping for the name of the current camera #jira UE-55769 PR #4537 Change 3927658 by Max.Chen Sequencer: Added fbx property mapping for "FocusDistance" to "FocusSettings.ManualFocusDistance" #jira UE-55782 Change 3932022 by Max.Chen Sequencer: Add import animation track section to next available row index. #jira UE-55892 Change 3933919 by Max.Chen Sequencer: Jump to playback start frame and not 0 to start playback for recording. #jira UE-55933 Change 3934307 by Andrew.Rodham Sequencer: Add template signature that is re-generated every time the base template is regenerated, which invalidates evaluation fields This fixes an issue where the same sequence is instantiated multiple times in a sequence. If the source sequence was saved, its template would be wiped, which would invalidate the template ID When an instance tries to evaluate the master template, it would only invalidate a range in the evaluation field that was the hull of any invalid sub sequences overlapping the current time, potentially leaving invalid data in the evaluation field at positions later (or earlier) on in the sequence When the sub template was re-generated, it receives the same SequenceSignature as it had before (because the sequence hasn't actually changed), which causes the stale evaluation field data to fail the IsDirty check (because the sequence is the same as it thought, but the *template* has changed) This has been addressed be adding a signature to templates themselves, and checking both the template signature and sequence signature as a part of the IsDirty check. This ensures that we regenerate if either the template, or the sequence have changed. #jira UE-55934 Change 3936327 by Andrew.Rodham Sequencer: Removed increment when trimming right UMovieSceneSection::TrimSection already explicity assigns an exclusive bound to the time passed in. The new behavior means we can trim a section to the right, and insert another section without changing the time to create adjacent sections. #jira UE-42652 Change 3936328 by Andrew.Rodham Fixed KeyFrameManipulator assignment operators and copy/move constructors - These types are potentially self-referential so cannot use default constructors/assignment Change 3936330 by Andrew.Rodham Converted UMGSequencePlayer to use frames internally #jira UE-54878 Change 3936726 by Max.Chen Sequencer: Set track node as the parent of the key area node. The key area switcher needs the object binding id from the parent object binding node. Without this, the binding to the external value fails. #jira UE-55931 Change 3936775 by Max.Chen Sequencer: Should stop or loop should compare DurationFrames with Current Time from StartTime. The bug is that if you set 30 warmup frames in movie rendering for a range of 0-100, the FrameRange will be starting at -30 and have a duration of 130. Without this fix, the playback will continue until frame 130, rather than 100. #jira UE-55933 Change 3936935 by Matt.Hoffman Easing Curves are now represented in Play Rate resolution instead of internal resolution. #jira UE-55937 Change 3937069 by Matt.Hoffman Users can toggle if the is infinite on each side, limited by which tracks support infinite ranges. #jira UE-55891 Change 3937516 by Max.Preussner ImgMedia: Added support for single-threaded platforms #jira UE-55986 Change 3937826 by Max.Preussner MediaAssets: Disabling media sound components on HTML5 if AudioMixer is not enabled Change 3937997 by Max.Chen Curve Editor: Add Zoom to Fit Curves so that selected curves from Sequencer can be focused on. Tested that undo doesn't re-zoom. #jira UE-55935 Change 3938000 by Max.Chen Sequencer: Stop all sounds before generating audio waveforms. #jira UE-55951 Change 3938376 by Max.Preussner XGEController: Disabled XGE Controller in single-threaded apps to prevent crash Change 3938444 by Max.Preussner Core: Added async support for single-threaded applications Change 3938445 by Max.Preussner Networking: Added support for single-threaded applications in UDP socket sender/receiver Change 3938447 by Max.Preussner Messaging: Added support for single-threaded applications Change 3939432 by Max.Chen Sequence Recorder: Append command list to global level editor actions so that shortcuts are accessible in level editor. #jira UE-55798 Change 3940229 by Andrew.Rodham Added prospective display rate upgrade to UMovieScene::PostLoad - There was previously some very odd behaviour that would assign the fixed frame interval only when a sub sequence was focused in SSequencer. This meant that many sequences could have a frame interval of 0 set in the data. - Under the old method of snap interval display this would have fallen back to getting the display interval from the sequencer settings, but we no longer look at these. - The USequencerSettings properties have been removed and in their place, a prospective data upgrade for sequences that have a fixed frame interval old 0fps that sets the play rate to the previous defaults based off the old USequencerSettings defaults. - This could end up 'changing' the display rate for sequences where the user has changed the snap interval in the settings for a particular sequence editor, but there's not much we can do about that given we don't have access to the USequencerSettings classes in UMovieScene #jira UE-55919 Change 3940277 by Andrew.Rodham Sequencer: Added ability to default frame resolutions and play rates for newly created actor sequences Change 3940378 by Andrew.Rodham Sequencer: Post move import dialog now defaults to the playback framerate of the sequence, and floors to frame numbers Change 3940559 by Andrew.Rodham Reinstated primed or recording sequence color Change 3940642 by Max.Preussner ImagePlate: Removed image plate media playback functionality Change 3940843 by Max.Preussner Core: Made TCircularQueue actually thread-safe; improved code comments Change 3940860 by Max.Chen Sequencer: Changed StructNameToKey to StructPathToKey Previously, keying a PropertyPath of [RenderTransform][Shear][X] would get trimmed to X, which doesn't map to a channel name as considered by Sequencer2dTransformTrackEditor. Instead, trim the resulting property path to [Shear][X] so that track editors can determine the desired struct path and channels to key. #jira UE-52966 Change 3941292 by Mike.Zyracki Fix for trajectories out of range not showing up. 1) If we had no key data we would pop the time, so wouldn't get the section ranges. 2) Calculating of upper bound was wrong, checking against -1 and not key == num of keys when doing algo::lower_bound. 3) No need to do the Bck-- for the bakward iterators since we fixed #2. We start now from the upper bound correctly. 4) If we had no keys (at section start,end) we would incorrectly say we were any key type, so since we draw constant keys as dashed we would do so incorrectly around section end points. #jira UE-55929 Change 3941424 by Max.Chen Curve Editor: Change Zoom to Fit to use TArrayView Change 3941498 by Max.Preussner Core: Added FMath::DivideAndRoundNearest function Change 3942097 by Matt.Hoffman Drop Frame Timecode Support for NTSC rates. Change 3942104 by Matt.Hoffman Sequence Recorder Group is no longer visible inside the World Outliner after using one. #jira 55266 Change 3942107 by Max.Chen Sequencer: Resurrect logic to find or extend an existing section when adding keys. Change 3942330 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942339 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942507 by Andrew.Rodham Sequencer: We no longer pad the time overlap threshold with a small number that is not scaled by the current zoom level - The presence of this pad was causing keys that were far apart to be grouped when zoomed in a long way Change 3942509 by Andrew.Rodham Sequencer: Only pad total view range, rather than section range as well when retrieving keys to render - This stops us from rendering keys that are within the view range, but outside the section range Change 3942512 by Andrew.Rodham Added transactions to some sequencer details customizations Change 3942513 by Andrew.Rodham Sequencer: Reinstated validation checks to UMovieSceneSection::SetStartFrame and SetEndFrame, changed erroneous uses to use SetRange Change 3942560 by Andrew.Rodham Pass by rvalue reference to appease error C2719 on Win32 ('InChannels': formal parameter with requested alignment of 8 won't be aligned) Change 3942697 by Andrew.Rodham Newly Created Level Sequences and Actor Sequences now default to 24000 fps frame resolution (+/- ~24hrs range, supporting all integer rates + 23.976) Change 3942700 by Andrew.Rodham Sequencer: Added legacy out-of-bounds errors for times that are not supported by the current legacy upgrade frame resolution Change 3942989 by Max.Preussner Core: Fixed circular queue count calculation Change 3943538 by Max.Preussner MediaAssets: Reverted workaround for procedural audio log spam in HTML5 (Actor component initialization cannot be skipped if the component is used in a level) Change 3944071 by Max.Preussner QAGame: Fixed Media Texture keeps last frame of Media when PIE ends #jira UE-53360 Change 3944292 by Max.Chen Sequencer: Added extra flags to ensure that asset initialization does not occur on template actor sequences #jira UE-56113 Change 3944364 by Max.Chen Sequencer: Prevent circular shot/master tracks. Tested adding master -> child -> master as drag and drop cinematic shot tracks and sub tracks as well as through the + button. #jira UE-56091 Change 3944422 by Max.Chen Sequence Recorder: Disable transform recording if off. #jira UE-56061 Change 3944745 by Andrew.Rodham Sequencer: Key rendering fixes - Fixed assert that occured when keys happened to reside on some times due to KeyTime + TimeOverlapThreshold - KeyTime being slightly larger TimeOverlapThreshold - Fixed keys sometimes being clipped when zoomed right in due to lack of half-frame offset - Added missing documentation to MovieSceneTimeHelpers.h #jira UE-56107 Change 3945231 by Andrew.Rodham Sequencer: Reconstruct channel proxy on Serialize to catch all cases of undo/redo, PostLoad and duplication #jira UE-56089 Change 3945301 by Andrew.Rodham Sequencer: Added safety checks during initial sequence recording to guard against applying negative or 0-sized sequence ranges #jira UE-56125 Change 3946627 by Max.Preussner Fortnite: Fixed game crashes closing editor while in PIE - Pure virtual function being called #jira UE-56144 [CL 3946896 by Max Chen in Main branch]
2018-03-14 22:09:33 -04:00
);
}
if (MouseDragType == DRAG_SETTING_RANGE)
{
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 4044339) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3947021 by Max.Chen Sequencer: Don't preserve root component when copying object properties. A spawnable empty actor, has a root component that is generated by the empty actor factory. If the object template's root component is preserved when copying from the spawnable empty actor, the root component will not be copied over. Therefore, we need to NOT preserve the root component when copying object properties. #jira UE-55825 Change 3947366 by Max.Preussner WmfMedia: Better log output Change 3947367 by Max.Preussner MfMedia: Better detection of compressed format properties on Windows Change 3949102 by Max.Chen Sequencer: Remove SequenceActorTag when converting to possessable. #jira UE-56206 Change 3949207 by andrew.porter EngineTest: Set the screenshot nodes resolution to 1280x720 Change 3949404 by Max.Chen Sequencer: More informative tooltip for "Rerun Construction Scripts" option. It now says "Rerun construction scripts every frame on actors that have 'Rerun Construction Script in Sequencer' enabled in their class settings". Change 3950067 by Matt.Hoffman Renamed UAutomatedLevelSequenceCapture's StartFrame and EndFrame to CustomStartFrame/CustomEndFrame to reflect that it is user-overriden. This will also resolve upgrade issues due to the variable datatype changing. #jira UE-56189 Change 3950193 by JohnHenry.Carawon Updating my latest MovieRendering test content. Change 3950757 by JohnHenry.Carawon More updates to MovieRendering test content Change 3952059 by Max.Chen Resave LevelVisibility_SubLevels to fix data loss conversion warning of OpacityMaskConstant #jira UE-56086 Change 3952283 by Max.Chen Sequencer: Disable dropping level sequence assets as spawnables. #jira UE-56120 Change 3952422 by Max.Chen Sequence Recorder: Add button to record from the current player. #jira UE-55942 Change 3952987 by JohnHenry.Carawon MovieRendering Test Content - Fixing camera bindings and changing the override binding actor Change 3953823 by Mike.Zyracki Fix for Bad FBX Import Tangents not scaled by frame rate. After looking at this again it seems that a set of MovieScene:: overiddes for the channel traits wasn't set correctly, so use the ADL idiom to use MovieScene, which can then call Optimize in the correct namespace. With this we can now correctly use the passed in tolerance. There was also a redundant set of Optimize calls so that it could happen twice so removed them, and needed an extra check in the float channel Optimize. Also since we need to set auto tangents no matter if we optimize we don't set that parameter(though leave it since it's used by context menu key reduction). Finally fixed speed issue with trajectories caused by calculating way too many substeps. Reverted back to a time based step size for consistency. #jira UE-56193 Change 3954317 by Matt.Hoffman Adding a key to the last frame of a section no longer causes a crash. Keys can already be moved to be on the last frame of a section so now you can just add a key there directly. #jira UE-56255 Change 3954326 by Matt.Hoffman Dilating a section that is only infinite on one side no longer causes a crash. #jira UE-56260 Change 3954486 by Max.Chen PR #4580: Exposes IsReversed() from UMovieSceneSequencePlayer (Contributed by alanedwardes) Change 3955238 by Max.Preussner Messaging: Enabled delayed message routing https://github.com/EpicGames/UnrealEngine/pull/4574 #jira UE-56247 Change 3955901 by Max.Preussner MediaFrameworkTest: Added developer test for overriding desired media player plug-in at runtime. Change 3955922 by Andrew.Porter QAGame: Updating movie rendering content in dev folder Change 3956004 by andrew.porter QAGame: Adding MPC track to movie rendering test content Change 3956510 by Max.Chen Sequencer: Fix fbx camera import of static properties so that they are imported before default tracks are created. Otherwise, the default tracks inherit the default properties of the camera, rather than the values from the fbx. #jira UE-56311 Change 3957613 by Max.Preussner MediaUtils: Added code documentation to media player facade Change 3958005 by Max.Preussner MediaUtils: Added method to get number of sinks Change 3958934 by Max.Chen Sequencer: Fix keys getting added and sequence getting erroneously re-evaluated when auto key is off. Only apply defaults if there are no keys. Only modify the movie scene section before creating keys or setting defaults. #jira UE-55903 Change 3959687 by Andrew.Rodham Sequencer: Fixed visibility track external values being inverted #jira UE-56324 Change 3960507 by Max.Preussner Core: Fixed incorrect rounding in FMath::DivideAndRoundNearest Change 3962047 by JohnHenry.Carawon MovieRendering Test Content Changes: - Add Lightmass Importance Volumes to sublevel to fix warnings - Rebuilt Lighting - Add a third sequence for Gamut testing - Resaved the sound master.uasset to fix warning Change 3962211 by Mike.Zyracki Add Frame Numbers to selected animation sections. Added MapTimeToAnimation to MovieSceneSkeletalAnimation so that we could get it from the Skeleton Animation track Editor. Since the thickness of the frame line can change based upon frame rate and zoom we need to calculate it similarly to how the time slider controller does it. Those calculations were private so we had to expose FScrubRangeToScreen and GetScubberPixelRange from the TimeSliderController. Also needed to know if the section itself was selected so added a bIsSelected flag to the section Painter. Also fixed a bug where you couldn't add a section if other sections existed at different times in MovieScenePropertyTrack and could crash due to the check(). #jira UESEQ-395 Change 3962497 by Max.Preussner Core: Added new string formatting argument to FTimespan Change 3963662 by Max.Chen CineCamera: Flip VistaVision width and height. Change 3963731 by Max.Preussner MediaCompositing: Implemented sequence recording support for media track Change 3964195 by Andrew.Rodham Sequencer: Set inverted property correctly for newly created visibility track sections - Also clamp evaluation for key editors to the bounds of the section so we're not displaying values outside of the section bounds when the cursor is not on the bounds #jira UE-56324 #coderevew Max.Chen Change 3964196 by Andrew.Rodham Sequencer: Fixed crash when attempting to render sections that resulted in a negative intersection with the view range Change 3964275 by Andrew.Rodham Sequencer: Fixed MovieScene::ClampToDiscreteRange for infinite range bounds Change 3964364 by Andrew.Rodham Curve Editor: Reduce minimum vertical view range when zooming to fit Change 3965091 by Max.Chen Sequencer Recorder: Refresh next sequence if empty when starting a recording, otherwise, use existing name. #jira UE-56469 Change 3965148 by Max.Chen Sequence Recorder: Move Record to Possessable to "Actor Recording" group Change 3965162 by Max.Chen Sequence Recorder: Always break out of immersive mode when done recording, even when stopping recording during countdown. #jira UE-56407 Change 3965214 by Max.Preussner QAGame: Enabled ImagePlate plug-in Change 3965574 by Max.Preussner SimpleComposure: Reorganized & upgraded content to work with new Media Track #jira UE-56488 Change 3965651 by Max.Preussner MediaCompositing: Ignoring seek-on-open if media not seekable Change 3966075 by Christina.TempelaarL Sequencer: Added Final Cut Pro 7 XML Export functionality #jira UESEQ-358 Change 3966087 by Matt.Hoffman Adding a single key to the Particle Toggle track now makes an infinite range section that is displayed in the UI. #jira UE-56295 Change 3966547 by Andrew.Rodham Sequencer: Fixed rounding errors when drawing the section background on boolean sections - Logic was using time in sectonds which caused rounding errors on evaluation and flickering red/green stripes when dragging keys around #jira UE-56324 Change 3966563 by Andrew.Rodham Curve Editor: Key editor interface improvements - SKeyEditInterface has a few problems - it does not update in real time when editing properties, and does not support multi-edit which makes it unsuitable for use with the curve editor - We now take a different approach for editing keys by gathering a set of proxy UObjects for each key that is currently selected. These objects are added as top level objects to the details panel which means they support multi edit as you'd expect from any other details panel in the editor. - Proxy objects are updated every tick for the curve editor if they implement the ICurveEditorKeyProxy interface, which allows them to refresh their current value. - Ideally, the same mechanisms would be used in the main sequence interface, and we would be generating the proxy classes at runtime based on the key value type, but that work remains a separate task from this initial offering. #jira UE-56165 Change 3966564 by Andrew.Rodham Curve Editor: Expand to frame when adding or moving keys in the curve editor Change 3967051 by andrew.porter MediaFrameworkTest: Set the CameraPlayer_Video texture to auto clear Change 3967141 by Andrew.Rodham Sequencer: Keep track of spawned objects that have been modified and only re-save such object's default spawnable state on destruction - Now that we're taking this approach, I've remove serveral redundant bits of functionality in the spawn register such as making some spawnables read-only, and the PreSave binding for Sequencer. - We now hook into all object pre-saves to make sure we handle the case where the sequences are saved through the content browser or elsewhere. #jira UE-47686 Change 3967170 by Andrew.Rodham Sequencer: Added the ability to possess anim instances as object bindings - This allows full and direct animation of properties on UAnimInstance, and animation blueprints - Object Bindings are made by first possessing a skeletal mesh component, then choosing the + Add button where its anim instance will be listed - Added a new function to UMovieSceneSequence to gather previously cached objects that should now be invalidated. Anim instances will be re-resolved if a new UAnimInstance is assigned to USkeletalMeshComponent::GetAnimInstance. - ObjectBindingIDs for anim instances are just represented by an entry in a set of GUIDs. We only ever resolve such bindings through USkeletalMeshComponent::GetAnimInstance. - Only currently supported on LevelSequences #jira UE-56132 Change 3967195 by Max.Preussner Core: Updated TRangeSet to use TCallTraits Change 3967345 by JohnHenry.Carawon Test Content Changes - first iteration of spacing out the examples in the shots. Change 3967572 by Max.Chen Sequencer: Fix setting PreviousPlayEvalPosition until after we've tested whether it's set. #jira UE-56518 Change 3967750 by Max.Chen Audio: Set duration based on number of input channels, rather than number of channels to serialize. This fixes an issue where audio split into 2 channels is set to a duration that's twice as long. #jira UE-56430 Change 3967836 by Max.Chen Sequencer: Allow for animating array elements within ustruct properties #jira UE-55887 Change 3968506 by Matt.Hoffman Fixed ambiguous conversions for seconds and frames being overriden by ambiguous conversion to Timecode (in frames). Change 3968748 by Max.Chen Sequencer: Make the event properties submenu widget larger. #jira UE-55557 Change 3968862 by Max.Chen Sequencer: Recursive expansion when shift is down #jira UE-52139 #pr 4194 Change 3968863 by Max.Chen Sequencer: Bind rename command to selected track so that F2 shortcut start renaming #jira UE-52139 #pr 4194 Change 3968872 by Max.Chen Sequencer: Rekey the selected key at the current time. #jira UESEQ-396 Change 3968938 by Max.Chen Cine Camera: Add option to toggle the behavior of locking the rail mount to the orientation of the spline. By default, the option is off, no change in behavior. #jira UE-55815 Change 3968958 by Andrew.Rodham Sequencer: Consider vertical position when hittesting keys #jira UE-56256 Change 3969643 by Max.Preussner Core: Rounding timespans created from double values towards nearest ticks Change 3969646 by Max.Preussner MediaUtils: Implemented timeout mechanism for block-on-fetch feature Change 3969776 by Mike.Zyracki Added Skip Anim Notifiers Toggle per what was in Matinee. Investigated the Enable Root Motion toggle as also discussed but it's implementation is directly contained by the animation asset and unlike animation notifies there seems to be no exposure to interactively disable it during a playback tick. Note if we are generating thumbnails we still automtically disable notifies in the editor to avoid annoying noise playback. Note that if Enable Root Motion/Root locked is specified in the animation asset it does correctly effect the Sequencer. #jira UESEQ-399 Change 3969835 by Matt.Hoffman Playback Range and Selection Range use unified logic for adding themselves as potential snap locations which properly handles inclusive/exclusive bounds. This resolves an issue where having an unset selection range caused a potential snap location to be added on frame 0 and 1 (internal resolution) which caused a misalignment when placing objects near frame 0. This also removes the one frame offset on setting Selection Range to bring behavior inline with other ranges. #jira UE-55420 Change 3969885 by Max.Preussner MediaAssets: Don't register media player CDO with media ticker Change 3971129 by Andrew.Rodham Sequencer: Fixed UMovieSceneSequencePlayer::GotToEndAndStop() not taking into account for start time This is a remnant from when the times were always specified in 0-duration space, rather than actual sequence times. Change 3972056 by JohnHenry.Carawon More updates to Test Content. I continued spacing out the examples in the sequence so that they have a consistent number of frames between each example and during the start/end of the example. Also removed the Marcie sublevel. Change 3972066 by Andrew.Porter MediaFrameworkTest: Setting Marcie folder to be never cooked in package settings Change 3972675 by Matt.Hoffman Splitting Subsequence Sections no longer sets an incorrect playback range on the subsequence when the subsequence has a different internal resolution than the owning sequence. #jira UE-55453 Change 3973376 by Max.Preussner ImgMedia: Zero is the only valid video track for image sequences Change 3973489 by Max.Preussner Launch: Build rules cleanup pass - don't use Media, MediaUtils on server apps - don't link against Media (include-only dependency) - don't include from MediaAssets (dynamic load only) Change 3973760 by Max.Preussner MediaUtils: Moved AppMediaTimeSource implementation into its own file; added logging Change 3973765 by Max.Preussner ImgMedia: Disallowing seek beyond media length Change 3973855 by Max.Preussner MediaFrameworkTest: Updated developer test content Change 3973858 by Max.Preussner MediaCompositing: Blocking on media player time instead of media sample time (the former may not be hit in the current frame) Change 3974988 by Max.Chen Sequencer: Fix trim left so that it also sets the start offset for audio and skeletal animation sections. #jira UE-57015 Change 3976101 by Matt.Hoffman Sequencer will now focus the scroll view on newly created items. #jira UE-56492 Change 3976203 by Max.Chen Property Editor: Add DetailsViewArgs for ColumnWidth. Defaults to 0.65f, no change in existing behavior. Change 3976205 by Max.Chen Sequencer: Set better column widths for sequencer. #jira UE-55557 Change 3976206 by Max.Chen Sequencer: Added menu category for import/export Change 3976265 by Matt.Hoffman Tracks within Object Binding Nodes will now sort using the old behavior so that components are added above other track types. #jira UE-56473 Change 3976901 by Max.Chen Sequencer: Add event names to event track section #jira UESEQ-353 Change 3977878 by Max.Preussner Media: Moved media framework ticking stats into Media module Change 3977982 by Max.Chen Sequencer: Add Edit->Reset section length to duration of source (ie. audio, skeletal animation, shot length) Added MovieSceneSection::GetDefaultDuration and MovieScene::HasDefaultDuration #jira UESEQ-392 Change 3977994 by Max.Preussner Media: Fetching and rendering media samples before viewports are rendered (to ensure frame sync for in-level media playback) #jira UE-53975 Change 3978188 by Matt.Hoffman Easing Curves are now clipped by the sequence's PlayRange when testing against an infinite section. This causes blended sequences to finish their blend when the section starts/ends instead of always using 25% of the total section length to determine default blend range. #jira UE-56362 Change 3978676 by Max.Preussner MediaCompositing: Fixed first frame of rendered out media track missing #jira UE-53975 Change 3978684 by Max.Preussner MediaCompositing: Enabled media track frame sync feature #jira UE-53975 Change 3980026 by Matt.Hoffman Keys can be selected on folded out sections (such as an audio track expanded to show volume and pitch) again. #jira UE-57169 Change 3981614 by Max.Preussner MediaUtils: Added missing subtitle sample queue flush Change 3982311 by Max.Preussner MediaCompositing: Added safeguard for zero length media sources Change 3982389 by andrew.porter QAGame: Adding media track test content into FrameAccuracySubscene Change 3983661 by Max.Chen Sequencer: Add level name to spawn a spawnable into. Add sublevel menu option to set the level #jira UESEQ-390 Change 3983712 by Andrew.Rodham Sequencer: Purge legacy blueprint spawnables from LevelSequence packages #tests Ran a preflight for cooking fortnite, ocean and Orion. Only orion shows up this edge case, and will require a re-save of the EndCines level #jira UE-39173 Change 3983787 by Max.Preussner MediaCompositing: Moved compile time switch for block-on-fetch into media player facade Change 3983812 by Andrew.Rodham Sequencer: Exposed default level sequence instance data to blueprints Change 3984373 by Max.Preussner Media: Added API for quering whether player plug-in supports block on fetch Block on fetch allows Sequencer and other systems to block the game thread until a desired video frame has been decoded. Change 3984670 by JohnHenry.Carawon Movie Rendering Test Content progress. Saving the state of the content. There is a bug where things got replaced with particle emitters and I think it was because I tried to copy paste an animation track into a separate skeletal mesh track. Change 3985097 by Max.Chen Sequencer: Rename Reset to AutoSize Change GetAutoSizeDuration to return TOptional<FFrameTime> #jira UESEQ-392 Change 3986043 by Max.Chen Sequencer: Fix crash when attach/path duration is less than 0. #jira UE-57310 Change 3986373 by Max.Chen Sequencer: Add support for deleting tracks and channels which equates to setting the channel mask. #jira UE-52951 Change 3986375 by Max.Chen Sequencer: Add Create Pose Asset to skeletal animation section. This allows animators to blend animations in sequencer and create new pose assets from them. #jira UESEQ-408 Change 3986796 by Andrew.Rodham Sequencer: Fixed stale object references remaining in ULevelSequence::BindingReferences when using convert to spawnable/possessable - We used to convert objects by creating a new binding, then re-assigning its GUID, which meant we didn't have to do any further object fixup, but the code to achieve this was confusing and led to a vulnerability where object references would not be cleaned up correctly due to the newly created possessable essentially being a temporary object that's immediately thrown away. - To address this, there is now a function for porting all the contents of one object binding to another, and handles the correct fixup required for parent/child object bindings for both spawnables and possessables. - Also added codepath to remove any stale object references from the level sequence reference map on PostLoad (this piggy-backs off the PurgeLegacyBlueprints object version which is close close enough to this change to be identical) #tests Verified that existing sequences with stale references get cleaned up on load. Verified that repreatedly converting from spawnable<->possessable cleans up references correctly. Change 3987807 by JohnHenry.Carawon Updates to the MovieRendering Test Content. - Fixed the spawnable actors that were overwritten - Shortend the Lighting example and combined the Intensity and Color tracks - Organized the Sequence and WorldOutliner to group the examples. Change 3988151 by Max.Chen Cine Camera: Enable keying the "Enable Look at Tracking" toggle. Change 3988880 by Max.Chen Sequencer: Support enter to add asset for all sequencer track editors that have asset pickers. #jira UE-57367 Change 3988953 by Max.Chen Sequencer: Make the track color picker focusable so that it will close when you click away or lose focus. #jira UE-57210 Change 3988962 by Max.Chen MovieSceneCapture: Fix EDL export so that it takes into account movie scene frame resolution and desired frame rate. #jira UE-57365 Change 3988964 by Max.Chen Movie Scene Capture: Clarified tooltip for bRelativeFrameNumbers. If you specify custom start/end frames for the recording, they will be relative to the playback range. #jira UE-57308 Change 3989442 by Max.Chen Fix CIS Change 3991548 by Matt.Hoffman Dragging the time slider no longer causes the time slider to ignore snap-to-interval with "Snap to Keys While Scrubbing" when no keys are in range. #jira UE-57417 Change 3991598 by Matt.Hoffman Snap to Key while scrubbing now mirrors the behavior of "jump to next key". When there are no tracks selected it snaps to all keys and when there are tracks selected it snaps to only keys from that track. This also resolves an issue where deleting an object did not remove it from the Sequencer's selection. Undoing a delete already doesn't seem to restore your selection, so removing it from your selection shouldn't change that behavior. #jira UE-57417 Change 3991603 by Max.Chen Sequencer: Disable EditAnywhere for some section properties #jira UE-53530 Change 3992240 by Max.Preussner MediaAssets: Implemented dynamic audio sample rate adjustment based on audio/media clock drift #jira FORT-70638 Change 3992911 by Andrew.Rodham Sequencer: Fixed saving spawnable state using the wrong spawned object - We now track the object binding ID so that we can apply the spawned object to the correct spawnable when the asset is saved #jira UE-57353 Change 3992914 by Max.Chen Movie Scene Capture: Fix compression quality not being set. The compression interface wasn't being found through query interface, so no compression was being set. Reworked finding it through the output pins. Tested running various compression values. #jira-UE-55488 Change 3992919 by Max.Chen Sequencer: Convert to possessable now uses object template instead of copying properties (ie. see LevelSequenceActorSpawner). This fixes MIDs getting lost when converting to spawnable and back to possessable. #jira UE-52400 Change 3993184 by Max.Chen Sequencer: Don't show +Transform/+Path/+Attach track if the actor has the "Mobility" property hidden. Set the Landscape, LandscapeProxy and InstancedFoliage "Mobility" property to be hidden since it is static is not supposed to be dynamically movable. #jira UE-56347 Change 3993238 by Max.Chen Sequencer: Test for hidden mobility in creating keys as well. Refactored to HasHiddenMobility() #jira UE-56347 Change 3993978 by Max.Chen Cine Camera: Enable keying the "Enable Look at Tracking" toggle. #jira UE-57489 Change 3994039 by Max.Chen Landscape: Add Mobility to hidecategories on landscape component #jira UE-56347 Change 3994626 by JohnHenry.Carawon Updated Movie Rendering Test Content. - Fixed the overridden spawnables to their proper object types. Change 3994653 by Christina.TempelaarL Sequencer: Added Final Cut Pro 7 XML Import functionality, improved Export functionality #jira UESEQ-358 Change 3995609 by Max.Chen UMG: Add support for 2d transform mask (translation, rotation, scale, shear) #jira UE-52951 Change 3995778 by JohnHenry.Carawon Movie Rendering Test Content Updates - Adjusted Lights example - Adjusted Camera example - Added Marcie sublevel back in Change 3995942 by JohnHenry.Carawon QAGame: Moving Movie Rendering test content from Developer folder to Sequencer folder Also adjusted level visibility, lights and camera example. Change 3995993 by Christina.TempelaarL Sequencer: FCPXML Export updates - only export sections if in playback range and media exists, warn if media does not exist. Other updates - removed unused methods and variables, fixed message context naming to be more accurate #jira UESEQ-358 Change 3996595 by andrew.porter QAGame: Updating Marcie content in TrackEvaluation level to use Image Plate Change 3996614 by andrew.porter QAGame: Adding color test sequence to the sublevel Change 3996643 by Max.Chen Sequencer: Fix fbx animation export - rotation and scale channels were flipped. #jira UE-57509 #jira UE-57512 #jira UE-57514 Change 3996652 by Max.Preussner Messaging: Fixed delayed messaging using incorrect current time after message router sleep Based on https://github.com/EpicGames/UnrealEngine/pull/4601 Change 3996801 by Max.Chen Sequencer: Fix folder active state for non key area sections. Look at track node sections as well as key areas. #jira UE-57550 Change 3997098 by Matt.Hoffman Cleaned up some remaining ToDo's in STimeRange. Change 3998339 by Max.Preussner Sockets: Added documentation for socket receive functions Change 3998359 by Max.Preussner MediaUtils: Started to implement media recorder helper class Currently only supports BGRA frames in CPU memory. Supporting other formats and buffer types will require conversions on render-thread. I recommend refactoring out the existing conversion code in FMediaTextureResource into a reusable helper class in the MediaUtils module. This should be a good starting point though. Change 3998417 by Matt.Hoffman Keys and Sections can now be moved at the same time inside of Sequencer. Keys can now snap to Sections (and vice versa) instead of just to other Keys. Sections can now be duplicated like keys can. #jira UE-56995 Change 3998427 by JohnHenry.Carawon QAGame: Updating test content for the Movie Rendering feature. - Added an auto activate particle to the beginning of the sequence (it's not part of the sequence at all) - Added an event receiver blueprint to the Events example - Added a particle emitter to both sublevels - Added a camera cut to the end that switches to a separate camera - The camera zoom in, focus and Look At sections are all separate (not overlapping in the sequence) - Added a second actor for the camera Look At - Added a Visibility section for the Actor Hidden In Game track that has possessable and spawnable cube and light Change 3998537 by Max.Chen Sequence Recorder: Restore immersive mode when stopping the sequence even if not in PIE. #jira UE-56407 Change 3999809 by Matt.Hoffman Removed the "Go To" box from Sequencer and instead placed the current time as an always visible control. The previous shortcut (Ctrl + G) now focuses the new widget directly. #jira UESEQ-376 Change 4000543 by Christina.TempelaarL Sequencer: Moving editor-only code from runtime module MovieSceneCapture to editor module MovieSceneTools. Moved EDL and FCP XML exporters as well as Automated Level Scene Capture. #jira UESEQ-358 Change 4000706 by Matt.Hoffman Entering multiple time strings without a number no longer crashes Sequencer. #jira UE-57672 Change 4001051 by andrew.porter MediaFrameworkTest: Fixing up some image sources pointing to the wrong location Change 4001191 by andrew.porter QAGame: Adding some quick EDL/XML test content to dev folder Change 4001243 by Max.Chen Sequencer: Fix import EDL out of range. #jira UE-57665 Change 4001856 by Matt.Hoffman Selecting keys and sections at the same time now also works with animation and audio sections. #jira UE-57716 Change 4002021 by Max.Chen Sequence Recorder: Fix sequence name incrementing. If external recording sets the sequence name, use it. Otherwise, use the recording name from the recording group or the recording settings. #jira UE-57712 Change 4002618 by Max.Chen Viewport: Update the look at location when updating to a locked actor. This fixes an issue so that popping the view out of a locked actor and manipulating the view will not jump to the previous look at location. #jira UE-57725 Change 4002979 by Matt.Hoffman Fixes several edge cases with the end time range that was causing confusion about what the last frame of the sequence was. Dragging the End Frame slider will no longer be off by one tick and jumping to the end via the UI controls now properly respects snapping and stays inside the play range instead of falling outside of it. Overall behavior does not change though and End Frame should be considered an exclusive frame so that frames 0-150 results in a 150 frame long animation (which is frames 0-149). #jira UE-56367 Change 4003185 by Matt.Hoffman Fixed a regression that prevented a section from being dragged upwards past row 0 which normally resulted in all other rows moving down. #jira UE-57717 Change 4003193 by JohnHenry.Carawon QAGame: Updates to test content - Shortened frames between the examples from 95 to 30 - Separated camera setting tracks - Lighting example now switches directly from constant red - green - blue Change 4003369 by Max.Chen Sequence Recorder: Refresh next sequence regardless of internally stored sequence name. #jira UE-55757 Change 4003586 by JohnHenry.Carawon QAGame: Test Content Updates - Level Visibility track now ends to that the levels are not visible when we move to the next example - Shortened camera section, removed Z tranform so that we just move left to right and shortened the overall length Change 4004414 by Max.Chen Movie Scene Capture: Fix regression where rendering with shot handles would only render the first shot. 3972166 addressed an issue where an extra frame would be rendered by finalizing right when the end frame was reached. This was hit on the first shot end frame, so instead, do this only for when the last shot is being rendered. #jira UE-57314 Change 4004765 by Christina.TempelaarL Sequencer: Fixed bugs in FCP XML import/export. - Export: fixed sequence default resolution. - Export: fixed XML files with no shots. - Export: all sections clipped to playback range. - Export: fixed incorrect section start/end times due to precision issues. - Import: fixed incorrectly adding cinematic tracks. - Import: fixed bugs creating new sections. #jira UE-57660 #jira UE-57662 #jira UE-57655 #jira UE-57761 Change 4005119 by Max.Chen Sequencer: Export/import at play rate Change 4005195 by Max.Chen UMG: Finish UMG evaluation on stop. Added object version so that existing UMG assets do not change. #tests - Newly created UMG animation with sections set to restore state now return to their original state. Existing UMG animations with sections set to restore state do not return to their original state. #jira UE-52285 Change 4005377 by Michael.Karambelas QAGame: Moving TM-SequenceRecorder and related content out of my developer folder and into /Content/Sequencer/SequencerRecorder/* Change 4005417 by Michael.Karambelas QAGame: Fixed a BP compiler in the Level Blueprint of TM-SequencerRecorder. Change 4005634 by Michael.Karambelas QAGame: Fix up missing content and broken level sequence in TM-SequenceRecorder after move Change 4006324 by Max.Chen Sequencer: Reset if the focused movie scene is null. This fixes a crash if the user is focused in on a shot and undo takes the user past the point of where the shot was created. #jira UE-57752 #jira UE-47661 Change 4007006 by Max.Chen Sequencer: Fix FindAvailableRowIndex so that it returns the max row index (and not +1) since it doesn't find any conflicting rows. #jira UE-57717 Change 4007907 by Max.Chen Sequencer: Fix crash if there's no animation Change 4007948 by andrew.porter QAGame: added test content to dev folder for Record World Space Change 4008636 by Max.Chen Sequencer: Fix import fbx not setting values properly and creating additional cameras unncessarily. #jira UE-57864 Change 4008759 by Max.Chen Sequencer: Follow up fix for import cameras #jira UE-57864 Change 4009994 by Matt.Hoffman Dragging the left or right handles of the Time Range slider in Sequencer will now zoom your view in on the current center of the screen. This prevents the view from being translating as you tried to zoom in which caused issues at high zoom levels. #jira UESEQ-407 Change 4010169 by Christina.TempelaarL Sequencer: FCP XML fixes. - FCP XML export - no longer clips to playback range - FCP XML and EDL export - fixed missing last frame of some sections after exporting to Premiere. - Automated level capture, EDL export - use RoundToFrame instead of FloorToFrame for computing section start/end frames after frame rate conversion. #jira UE-57802 - partial fix, movie scene capture still needs to render full section rather than clip against playback. Change 4010287 by Mike.Zyracki Add quaternion interpolation option to UMovieScene3DTransformSection. This mimics how Matinee used to work by bascially finding the keys between a time and interpolating the angles as quat's between them. As noted in the code the algorithm needs to handle the case when the x,y,z Rotation keys all aren't at the same time which was not handled by Matinee. Also like Matinee, when in quaternion interoplation mode, we need to not display the function cuves since the interpolated and key values are now all different. (Would like to show them but that's a bigger refactor for perhaps just a one off needed by quaternions). I added a virtual function UMovieSceneSection::ShowCurveForChannel for this since it needs to be dynamic, not on construction of IKeyArea's, and could be useful for other sections. I could though move the method to just UMovieScene3DTransformSection and do a cast instead. Looked into doing a unit test for this but after talking with Andrew P we will work on doign an automated test in EngineQA since that will provide more coverage. Will also add a video the jira. #jira UESEQ-403 Change 4010713 by Mike.Zyracki Added option to key a group of transform channels instead of just the changed channel, or all of them. This is useful for quaternion interpolations where you want rotation keys to be aligned but also useful for other workflows like animating FK Pose to Pose. Change 4010715 by Andrew.Porter MediaFrameworkTest: Setting LogMediaUtils logging from VeryVerbose to Verbose to cut back on the spam Change 4013048 by Max.Chen Sequencer: Fix play/jump status. Update the player status for all position methods (Scrub, Jump, Play). Jump means Stopped. Correctly use PlayTo or JumpTo based on position method. In PlayInternal, JumpTo with the Stopped state (rather than playing state). #jira UE-57844 Change 4013479 by andrew.porter QAGame: Added content in TM-SequenceRecorder to test recording a property on a Cine Camera Component; Press 3 to trigger manual focus distance to increment on a timer Change 4014323 by Max.Chen Sequencer: Fix SetPlaybackPosition so that it jumps or plays based on playback status. #jira UE-57844 Change 4015888 by Max.Chen Sequencer: Fix crash on paste. UMovieSceneSections were gathered from the track node's track. For sub track mode, we want to gather only those sections on that track node row. #jira UE-57951 Change 4015943 by Max.Chen Sequencer: Fix moving shots up when the mouse pos goes outside of the virtual track area. #jira UE-57717 Change 4016293 by Max.Chen Sequencer: Fix relative frame playback end frame calculation so that custom start/end frames remain in the space of the sequence and are not relative. #jira UE-57308 Change 4017075 by Andrew.Rodham Sequencer: Corrected initial evaluation range used when calling UMovieSceneSequencPlayer::Play() Change 4017270 by Christina.TempelaarL Sequencer: FCPXML importer and movie scene capture - Use CeilToFrame when converting section start/end frame times to frame numbers in FCPXML and movie scene capture. - Added support for clip metadata in FCPXML. - Got rid of redundant TokenizedError message class, no longer needed now that FCPXML is in editor directory. - Added log messages currently commented out due to exception, still testing. #UESEQ-358 Change 4018370 by Christina.TempelaarL Sequencer: fixed FCPXML log messages regarding sections with start/end not divisible by display rate. #UESEQ-358 Change 4018378 by Christina.TempelaarL Sequencer: fixed error in previous changelist. #UESEQ-358 Change 4019457 by Max.Chen Sequencer: Show event names only when the event track is selected #jira UE-57897 Change 4022806 by Max.Chen Sequencer: Fix crash on movie scene capture dialog shutdown if movie capture wasn't even started. #jira UE-58106 Change 4022894 by Max.Chen Sequence Recorder: Wrap OpenEditorForAssets after sequence recording within GIsEditor #jira UE-58084 Change 4024487 by Max.Chen Sequencer: Add tooltip for quat interpolation #jira UE-58113 Change 4024562 by Max.Chen Sequencer: Change path/attach track sequence binding id to currently focused sequence id so that bindings can be created in subsequences Change 4027414 by JohnHenry.Carawon QAGame: Checking in content that shows a bug with using particles systems and Delay Before Shot Warm Up. Change 4028990 by Max.Chen Sequencer: Fix evaluate sub sequences in isolation. This check was added with the compile on the fly logic. Not sure why it was necessary but it seems like the sub sequence data needs to be updated in order to evaluate sub sequences in isolation. #jira UE-58184 Change 4029004 by Max.Chen Sequencer: Ensure that old binding references are removed when re-assigning actors in sequencer #jira UE-57898 Change 4030997 by JohnHenry.Carawon QAGame: Fixing name of the master sequence Change 4031785 by Michael.Karambelas QAGame: Added an instance of ThirdPerson Run to TM-SequenceRecorder for Record to Possessable test. Change 4035548 by Andrew.Rodham Sequencer: Changed FMovieSceneEvaluationTemplate::TemplateSignature to be a serial number to address non-deterministic cooking issues - This commit is related to the repro steps found in 3914599 and 3934307, both of which have been verified with this new change. - Copy of 4031684 from //Fortnite/Main/... #jira FORT-84852 Change 4036312 by Max.Chen Sequencer: Fix zoom view range so that it uses the passed in InZoomDelta Change 4036318 by Max.Chen Sequencer: Auto size now returns a range and defaults to the channel proxy range so that keyed regions can also be autosized. Change 4036322 by Max.Chen Forgot missing change Change 4036360 by Max.Chen Sequencer: Fix play rate calculation when skeletal animation section play rate changes. Change 4037163 by Mike.Zyracki Weighted Tangent Implementation Tricky thing is that you need to solve a cubic in order to get the bezier weights for the time part of the curve. See https://www.gamedev.net/forums/topic/474094-help-function-curves-for-animation-interpolation/ Maya provides an implementation in it's dev kit but I didn't use it since it was horribly slow and uses an iterative solution to solve the cubic needed. Instead I use an old algorithm (Cardano's method), to solve the cubic which should be much faster. Though relative simple to code from principles I just went ahead and used a version from Graphics Gems 1. I put this cubic solver directly in MovieSceneFloatChannel.cpp, but will need to move it when we support Rich Curve, maybe to FMath:: (which would probalby require some other functions for solving quartics, etc.. for completeness.). Also note we resolve this on every evaluation but dont' need to if the interval the time is evaluating hasn't had any change in values or tangents. So again when we support FRichCurve we can create a Weighted Evaluating class that can hold the cache. Also with the tangent drags I got rid of the Cardinal position that was used to calculate non-weight tangents from the key point and just quickly getting a direction. With weighted tangents we need to use the delta instead (otherwise when moving multiple they would all get the same weight based upon distance to the cardinal point. ) For mixed tangents types what I'm defaulting to non weighted if the interval doesn't match. May need to do weighted instead, not sure. What's left is just FBX import, for tomorrow. #jira UESEQ-76 Change 4037435 by Mike.Zyracki Fix fo build warnings from weighted tangent submission. #trivial Change 4038091 by Michael.Karambelas QAGame: Updated a Sequence Recorder group in TM-SequenceRecorder that had an actor missing the animation. Change 4038374 by Andrew.Rodham Sequencer: Refined scrubber styling for level sequences and actor sequences - Scrubber now shows a block the width of a dsplay rate frame, plus a line for the actual evaluated time. UMG reverts back to the previous styling (no block) - Keys that are outside of the playback range are now drawn with a subdued effect - Tick labels are no longer drawn when directly underneath the scrubber Change 4038490 by Max.Chen Sequencer: Expose tangent weight values in details panel. Change 4038620 by Andrew.Rodham Sequencer: Advanced time panel polish #jira UESEQ-426 Change 4038677 by Max.Chen Movie Scene Capture: Redirector for MovieSceneTools.AutomatedLevelSequenceCapture #jira UE-58248 Change 4039739 by Max.Chen Sequencer: Media track should only be supported by Level Sequence Change 4040024 by JohnHenry.Carawon QAGame: Fix EventReciever and OverrideBinding example The level sequence was set to none so the fix was to set it back to TrackEvaluation_Master. Change 4040610 by Andrew.Rodham Curve Editor: Moved weighted tangent switchers to a single toggle command (CTRL+W) and added an icon #jira 58383 Change 4040882 by Mike.Zyracki Keep broken when turning on weighted #jira UE-58435 Change 4041089 by andrew.porter QAGame: Sequence for Long Tangents bug Change 4041498 by Mike.Zyracki Turn off weighted when going auto to prevent large tangents. Do it both in UI and when doing AutoSetTangents() to really make sure it doesn't happen. #jira UE-58452 Change 4041752 by andrew.porter MediaFrameworkTest: Adding some better logging for setting rates when not supported. Also ignoring commiting URL when there is no text Change 4041896 by Matt.Hoffman The transform dialog box now transforms selected keys and sections, instead of just keys. #jira UE-58265 [CL 4044405 by Max Chen in Main branch]
2018-05-02 10:10:00 -04:00
FFrameRate Resolution = GetTickResolution();
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3946692) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3801826 by Max.Chen PR #4304: Level Sequence crash fix - Guarded against dereferencing null componen. (Contributed by DSDambuster) Change 3801828 by Max.Chen PR #4302: Movie Scene Visibility Template unitialised variable, causing random . (Contributed by DSDambuster) Change 3801837 by Max.Chen Sequencer: Delay spawning/construction for convert to possessable. This fixes a bug where property values would be lost when converting back and forth from possessable to spawnable. #jira UE-52400 Change 3801841 by Max.Chen Sequencer: Make spacer nodes not selectable. PR #4194: Improvements to Sequencer (Contributed by projectgheist) #jira UE-53117 #jira UE-52139 Change 3804183 by Max.Preussner MediaAssets: Added missing lock in media sound component Change 3805414 by Max.Preussner MediaAssets: Setting valid GUID when initializing media texture resource Change 3819578 by Max.Chen PR #4370: When enabling the "MovieCapture", do not turn off the Stereo-3D display. (Contributed by yehaike) #jira UE-53647 Change 3823414 by Max.Chen Curve Editor: Lock down the first and last keys in the redundant keys removal range so that they're unaffected. #jira UE-53591 Change 3826406 by Max.Chen Sequencer: Move OnStartedPlaying() to within first update in UpdateTimeCursorPosition(). This fixes an issue where setting the hud/player visibility was getting stomped on later. #jira UE-52772 Change 3827044 by Max.Preussner MediaAssets: Added sprite visualization to media sound component #jira UE-53594 Change 3827988 by Max.Preussner MediaPlayerAssets: Fixed Media Texture is not linked to Media Player when created together #jira UE-53532 Change 3828506 by Max.Preussner MediaPlayerEditor: Added attenuation visualizer for media sound components #jira UE-53594 Change 3832590 by andrew.porter EngineTest: Added a keep state check in Property Animation sequencer test Change 3833053 by andrew.porter EngineTest: Adding Hierarchical Bias test Change 3835683 by andrew.porter EngineTest: Adding UMG Animation screenshot test Change 3836076 by Max.Chen Sequencer: Fix audio volume and pitch multiplier deprecation. Change 3836230 by andrew.porter EngineTest: Adding Sequence Bone Position automation test Change 3836347 by Max.Chen Sequencer: Fixes to shot name parsing. When a shot doesn't contain a shot number, assume, [ShotName]_[TakeNumber]. When duplicating a shot, put the new shot in the same path of the original shot, so that the take numbers will increment properly. #jira UE-51868 Change 3836552 by Max.Chen Sequencer: Sub section now has a takes menu Change 3838094 by Max.Chen UMG: Fix template finish not getting called on stop. This fixes a bug where sections aren't restored when finished. #jira UE-52285 Change 3838708 by Max.Chen Sequencer: Add notification when the blend type is changed. #jira UE-54046 Change 3840295 by Max.Chen Sequencer: Fix copy/paste crash for lights #jira UE-54084 Change 3840957 by Mike.Zyracki Added Show Only Keyable and Show Only Animated to the filter list in the property editor. Added IsPropertyAnimated to IDetailKeyframe Interface which already had support for showing properties which are keyable (which is used for the key icon next to the properties.). Could have created another interface but then would have had to mimic the sequencer binding, releasing also, so this seemed best way. One issue still left is that custom built detail items currently don't store associated properties(usually) and so certain properties, in particulalry transforms, won't show up as keyable or animated. Note this also shows up with the keyable icon not showing up next to transform tracks, and other filters like Show Only Modified not working with transforms/customs. Not sure best way to tackle this. #jira UESEQ-328 Change 3841756 by Max.Chen Sequencer: Fix unbound possessable components when pasting spawnables. #jira UE-54104 Change 3843950 by andrew.porter EngineTest: Renaming LevelStreaming tests/content to LevelVisibility Change 3844082 by Mike.Zyracki Missing file for animated filter in property editor. When finding if a track is animated we need to find it but we can't easily induce the MovieTrack class for any particular property. So we don't set a class for it and just search by it's ID and name. #jira UESEQ-328 Change 3846902 by Max.Preussner ImgMedia: Fixed image media player never finished initialization if loading failed #jira UE-54247 Change 3849820 by Mike.Zyracki Reassigning deleted widgets didn't work since the menu extender mechanism needs a valid UObject in order to perform an operation on it. So to fix we replaced GetObjectBindingContextMenuExtender in WidgetBlueprint with new delegate mechanism (OnBuildCustomContextMenuForGuid) that supports FGuid in addition to UObjects which is needed to handle re-binding deleted widgets. Note that the default sequencer hacks this for replacing deleted actors in SequencerObjectBindingNode to check to see if a LevelSequence is active. We could move to this mechanism there also. #jira UE-53163 Change 3852211 by Max.Chen UMG: Indicate name of the property that is not bound. #jira UE-54350 Change 3854120 by Max.Chen Sequencer: Fix sibling folders being allowed to have the same folder name. #jira UE-54363 Change 3854627 by Max.Chen Sequencer: Step to next/previous key should work for all tracks if there aren't any selected. #jira UESEQ-391 Change 3855825 by andrew.porter EngineTest: Adding animation blending automation test Change 3855950 by andrew.porter EngineTest: Adding correct expected valuues to animation blending test Change 3856237 by Matt.Hoffman UESEQ-336 - Sequencer Track Reordering Adds the ability to re-order Master Tracks, Folders and Object Bindings within sequencer hierarchies (including UMG). Adds the ability to do a one-off sorting of the content under the old sorting behavior if the user wants to reset their layout to how it was under legacy behavior. Modifies SequencerTrackNodes, SequencerFolderNodes and SequencerObjectBindingNodes to handle CanDrop/OnDrop for above, below and ontop of. Fixes a Slate Issue that forcibly expanded a TreeviewRow if an item handled OnDrop. Slate will now only forcibly expand the row if the item says the drop happened ontop of the item, and not above or below it like it previously did. Change 3856503 by andrew.porter EngineTest: Adding automation test for using animation blueprint with blend multi node in sequencer Change 3857875 by Max.Chen Sequencer: Assign the sequence id after the template is compiled. #jira UE-54462 Change 3858344 by Max.Chen Sequencer: Prevent Goto and Transform boxes from overlapping by allowing them to be visible at the same time in an autosized horizontal box. Also, added close button to the goto box. PR #4425: Prevent Goto and Transform boxes from overlapping in Sequencer ... (Contributed by projectgheist) #jira UE-54210 Change 3860566 by andrew.porter MediaFrameworkTest: Set the option to index 0 for the audio and video track list by default Change 3860654 by andrew.porter EngineTest: Enabling Camera Cut + FOV test Change 3860981 by andrew.porter EngineTest: Updating skeletal mesh tests with a delay after set playback position Change 3861256 by Max.Chen Sequencer: Add all bindings if none selected. #jira-54440 Change 3862154 by Andrew.Rodham Added TimeManagement module Change 3862424 by andrew.porter EngineTest: Turned on the test Bone Positions with Blend Multi Node Change 3862573 by andrew.porter EngineTest: Adding test to compare bone positions in a sequence that is blending an animation that is using an AnimBP Change 3865117 by Max.Chen Sequencer: Stop auto scroll on mouse release of movement. #jira UE-31212 Change 3865303 by Max.Chen Sequencer: Add drag and drop transactions #jira UE-54662 Change 3865304 by Max.Chen Sequencer: Fix crash when an actor factory is not found. Change 3865361 by Max.Chen Sequencer: Don't change the camera/shot lock button when popping out of a sequence. #jira UE-54665 Change 3865412 by Max.Chen Sequencer: Determine whether a transform track is for a camera by using the spawned object or template #jira UE-54666 Change 3865685 by Max.Chen Sequencer: Clear autoscrub offset when stopping autoscroll #jira UE-31212 Change 3865886 by Max.Chen Sequence Recorder: Log an error if the number of frames changes while recording. This can happen if the skeleton changes while recording. #jira UE-48715 Change 3866925 by Andrew.Porter MediaFrameworkTest: Changing the current PNG test video image sequence to 1024 x 576 Change 3867705 by andrew.porter QAGame: Adding Audio Sort Sequence to dev folder Change 3867890 by andrew.porter QAGame: Adding a sequence for testing a sorting crash to my dev folder Change 3872628 by Max.Chen Movie Scene Capture: Split delay before warmup into split delay before shot warmup so that there's separate controls for when the movie scene capture warmups up vs. shot boundaries. Change 3873131 by Matt.Hoffman UE-54732 - Crash reordering a folder with a track. This was caused by folders being the only type of track to check if someone was putting a parent track into a child track. Object Binding tracks and Tracks now check as well so that you can't use the above/below drop targets to add parents as children. This also fixed a typo in the localization keys. #jira UE-54732 Change 3873301 by Mike.Zyracki Added ability to support continous euler angle changes when changing rotations, in particularly with the rotation gizmo's. To do this we effectively added a form an of 'euler filter'(https://en.wikipedia.org/wiki/Euler_filter) to find the closest euler angle to the current euler angle. Three functions were added to FRotator to make this possible, one to get the euler angle that's has the same rotation as it, one to get the difference between two euler angles via Manhattan distance and a third using the previous two to choose a Rotator value that's closest to it. We then use these functions before calling UComponent::SetRelativeRotation to make sure we use the correct Euler after the Quat conversion. We also no longer limit(bound) the euler angles to -180,180, which is obviously necessary to avoid flips. I also changed how we caluclate yaw and roll when pitch is -90 or 90 to make it the standard approach of zeroing out roll and just setting yaw. Main reasons are the previous implementation had precision issues so things like 180, 90, -180 would show up due to numbers being nearly zero but negative,(this would break any smooth interpolations), and this facilitates having a 'gimbal' rotation mode (like Maya, Blender etc..) if we ever want that also. If needed we could keep the previous implementation but would need to add some FMath::IsNearlyZero checks, with less performance. Note we only do this special filtering when applying delta's to actors or components in the editors, which then call UComponent::SetRelativeRotationExact, which is a new function to foces the RelativeRotation to be equal to the new rotation. This allows us to store un-nomalized Rotators at the cost that the RotationCache may be broken. We didn't change any of the other UComponent functions that set rotations (via Quats or Transforms) so they will still be bounded and unwound. In SetInternalWorldLocationAndRotation we only set the rotation if the rotation has changed, which fixes the rotation getting changed and re-normalized if just translate happens. In TransformTrackEditor, we correclty use the bUndwing flag and in MovieScene3DTransformSection there was an un-needed winding check there, it will be unwound earlier if needed, which happens if Sequence Recording is happening. Max we should talk about what to do about this . Note the euler angle drag via the widget is still bound to 0-360. I think we should just unbound that now since the rotations value are now unbound. This review now includes fixes suggested by Zak. #jira UE-UE-22228 Change 3873483 by Matt.Hoffman Sequencer Tracks can now be inserted above the spacer at the bottom of the tree. #jira UE-54706 Change 3873899 by Max.Chen Sequencer: Add section selection throbbing Change 3873908 by Max.Chen Movie Scene Capture: Added logging per frame Change 3873924 by Matt.Hoffman Adds the ability to store Sequence Recorder setups into profiles that stay with the map and can be re-loaded later. Profiles store the Actor Recordings so the settings for each actor should carry with them. #jira UESEQ-339 Change 3874726 by Matt.Hoffman Disable drag-and-drop targets on spacers that come between rows in Sequencer. This prevents extra drag/drop targets showing up between each row. #jira UE-54706 Change 3874862 by Matt.Hoffman Audio Track no longer gets reordered when adding sub-audio tracks, as sub-tracks are no longer counted towards the sorting order index when normalizing indexes. #jira UE-54727 Change 3875905 by Matt.Hoffman Disable Fade Track UI if a fade track already exists in the sequence. #jira UESEQ-393 Change 3876163 by Max.Chen Sequencer: Swap the camera object to the camera component's owner if it's not the same. #jira UE-54874 Change 3876971 by Andrew.Porter EngineTest: Moved Media Player Seek test to new folder. Also enabled the test with new ground truth image. Change 3877040 by Max.Chen Cine Camera: Split camera properties to two groups, "Camera Options" and "Camera Settings". The cine camera now hides properties in the "Camera Settings" group so that properties like bConstrainAspectRatio (in the "Camera Options" group) can be visible. #jira UE-54192 Change 3877763 by Max.Chen Curve Editor: Fix curve changed on end drag so that only curves that had keys/tangents that were changed receive notification, otherwise all loaded curves were getting notified that they were changed. #jira UE-54951 Change 3878234 by Matt.Hoffman Disable "Drop Below" targets for Sequencer Tree nodes to prevent a confusing UX issue where dropping underneath a Object Binding Node puts it after the object binding node but the UI looks like it's inserting it inside the Object Binding node. #jira UE-54743 Change 3879359 by Mike.Zyracki If a track is inactive we dim it a bit which seems to be the UE4 way to show inactive or disabled state. We changed the active logic so that all subtracks need to be inactive for the track to also be inactive(instead of all active for active). This conforms to how the active state actually works, e.g if you have two sections and only one is active the track is still active above it. #jira UESEQ-388 Change 3879462 by Max.Chen Sequencer: Allow dragging onto a particular row which would move out any overlapping sections to make space for the newly created section. Newly created sections are now selected and throbbed to draw attention to themselves. #jira UE-54664 Change 3879464 by Max.Chen Sequencer: Fixed overlapping ranges being inserted into the evaluation field during compilation - The issue was that track segments that had been combined with adjacent segments (due to them being identical) would potentially cause a subsequently compiled frame to overlap with a range that had already been inserted into the evaluation field. - The insertion code previously asserted that only minor overlaps were catered for (due to fp rounding errors) and assumed that a supplied range could not entirely contain any other range in the field. - The solution is to supply the insertion time along with the range to know exactly where the data should live in the field, and crop the range to the maximum allowable space between adjacent ranges. #jira UE-54922 Change 3879590 by Matt.Hoffman Items that are now added to the Sequencer via the "+Track" menu will be selected after being added. Items can now be added inside of folders instead of just to the root level. #jira UE-27397 Change 3879612 by Mike.Zyracki Display Nodes with no children are always active. #jira UESEQ-388 Change 3879730 by Matt.Hoffman Sequence Recorder's actor recording groups now remove items from the group when removed via the UI. #jira UESEQ-339 Change 3880256 by Mike.Zyracki Fix issue with inactive display with folders and other track nodes. #jira UESEQ-388 Change 3883491 by Max.Chen Fix issue where tick is skipped due to last ticked pose isn't cleared after AnimInstance changes. Copy from Release-4.19 #jira UE-51323 Change 3883603 by Max.Chen Movie Scene Capture: Add option toggle disable screen percentage. By default this is on (no change in current behavior). #jira UE-51898 Change 3885074 by Max.Preussner MediaCompositing: Resetting media texture & freeing resource on section end; removed dead code Change 3887220 by Max.Preussner MediaCompositing: Defaulted media section duration to 1 sec (since we do not know the actual duration in most cases) Change 3887478 by Matt.Hoffman Sequences now show [Inactive] in their title bars when they're disabled. This helps communicate why a sequence isn't being evaluated. #jira UE-51469 Change 3888985 by Max.Chen Movie Scene Capture: Clamp HDR Compression Quality between 0 and 1. #jira UE-55136 Change 3893519 by Max.Chen Sequence Recorder: Clarified tooltip for bRecordNearbySpawnedActors - spawned actors will still be recorded if they match the ActorFilter. #jira UE-55238 Change 3893546 by Max.Chen Sequence Recorder: If a selected actor already has a recording, add a blank recording. #jira UE-55239 Change 3894044 by Max.Preussner MediaCompositing: Added support for seeking into a media section Change 3894310 by andrew.porter MediaFrameworkTest: Adding Img media sources for 1080 and 2160 ravent test content Change 3894426 by Max.Preussner MediaAssets: Letting media textures with AutoClear retain their clear color when player is reset Change 3895717 by Max.Chen Sequencer: Null checks to prevent crash when saving the default state of a spawnable #jira UE-55304 Change 3897388 by Max.Chen Sequencer: Don't update current time to be within the view range when stepping into a sequence. #jira UE-55322 Change 3897452 by Max.Chen Audio: Fix crash when trying to record audio without any active capture devices. Log warning if the number of input channels is not 1 or 2. #jira UE-55223 Change 3897619 by Max.Preussner MediaCompositing: Removed commented out code Change 3898072 by Max.Chen Sequencer: Override the animation asset in the player state if it doesn't match the animation asset that's being evaluated. #jira UE-55328 Change 3898272 by Max.Preussner MediaPlayerEditor: Made slate brush constants static Change 3898704 by Max.Chen Sequencer: Skip if the binding id's sequence can't be found. #jira UE-55337 Change 3899855 by Max.Preussner MediaCompositingEditor: Added cache state visualization to media track Change 3900300 by Max.Preussner MediaCompositingEditor: Added loop indicators to media sections Change 3900694 by Max.Preussner ImfMedia: Looping cache only when player is looping Change 3900892 by Max.Preussner Stats: Added stats category for media framework Change 3900954 by Max.Preussner MediaCompositing: Don't evaluate at the end of media section Change 3901348 by Max.Preussner Core: Replaced TLruCache autos for better readability Change 3901655 by Max.Preussner ImgMedia: Added more perf stats to EXR reader Change 3901972 by Max.Preussner MediaAssets: Added getter for media player in media sound components Change 3902233 by Max.Preussner MediaAssets: Enabling media textures to receive samples right after player is assigned Change 3902238 by Max.Preussner MediaCompositing: Working around init/shutdown idiosyncracies in sequencer Change 3904045 by Max.Chen Sequencer: Fix copy/paste crash. Only process UMovieSceneCopyableBinding and objects that can be spawned by the movie scene spawn register. #jira UE-55314 Change 3905605 by Max.Chen Sequencer: Restrict spawnables from being created if they have a ClassWithin that UMovieScene is not a child of. #jira UE-55429 Change 3906550 by Max.Chen Sequencer: Add media track icon #jira UE-55480 Change 3907101 by Max.Chen Sequence Recorder: Fix bugs related to not recording a level sequence. There were certain assumptions that creating a level sequence meant that sequence recording was in progress. This is not always the case - the recorders can record animation assets and not create a level sequence. Changed the notion of IsRecording() to having at least one actor recording that is recording. Countdown timer, recording displays, etc should function if IsRecording() and not based on whether a level sequence is created. #jira UE-55485 Change 3907247 by Max.Chen Sequence Recorder: Fix crash not removing PrepareToCleanseEditorObject delegate. Repros when opening sequence recorder, closing it, and then opening or creating a level. Change 3910343 by Max.Preussner Core: Added async helper for executing functions on a given thread pool Change 3910346 by Max.Preussner ImgMedia: Added separate thread pools for loading/decoding and deleting image frames Change 3910829 by Max.Preussner Profiler: Increased visible range of profiler graph Change 3910841 by Max.Preussner MediaCompositing: Displaying asset name instead of full media source path in media section Change 3910870 by Max.Preussner ImgMedia: Using deallocation thread pool only in debug builds Change 3919642 by Max.Chen Sequence Recorder: Clarify active tooltip #jira UE-55661 Change 3919660 by Max.Chen Sequencer: Sequence template source signatures are now also compared to catch the case where a sub-sequence asset has been saved but not modified - The following sequence of events exposes this issue: - Create a master sequence with a single shot that spawns a cube - Add this sequence to a level and set it to auto-play - Save everything and restart - Resave just the inner shot asset without opening it - PIE - The inner shot never spawns its cube because its template was wiped on save, but its signature never changed. Since the master sequence previously didn't check the template source signature, it ends up trying to evaluate an empty template. #jira UE-55626 #jira UE-55490 Change 3921825 by Max.Chen Sequencer: "Run Construction Script in Sequencer" is off by default for blueprints but on for Sequencer. This allows the content author to switch it on for specific blueprints and sequencer will be default, run those with construction scripts enabled. Change 3922232 by Max.Chen Sequence Recorder: Reset countdelay on stop. #jira UE-55755 Change 3922306 by Max.Chen Sequence Recorder: Don't automatically mark transforms to be recorded by sequence recorder. Instead, log a warning if the user toggled it off to warn that the resulting animation might not match gameplay. #jira UE-55758 Change 3922912 by Max.Chen Sequence Recorder: Fix refresh next sequence name #jira UE-55757 Change 3927654 by Max.Chen Movie Scene Capture: Added format mapping for the name of the current camera #jira UE-55769 PR #4537 Change 3927658 by Max.Chen Sequencer: Added fbx property mapping for "FocusDistance" to "FocusSettings.ManualFocusDistance" #jira UE-55782 Change 3932022 by Max.Chen Sequencer: Add import animation track section to next available row index. #jira UE-55892 Change 3933919 by Max.Chen Sequencer: Jump to playback start frame and not 0 to start playback for recording. #jira UE-55933 Change 3934307 by Andrew.Rodham Sequencer: Add template signature that is re-generated every time the base template is regenerated, which invalidates evaluation fields This fixes an issue where the same sequence is instantiated multiple times in a sequence. If the source sequence was saved, its template would be wiped, which would invalidate the template ID When an instance tries to evaluate the master template, it would only invalidate a range in the evaluation field that was the hull of any invalid sub sequences overlapping the current time, potentially leaving invalid data in the evaluation field at positions later (or earlier) on in the sequence When the sub template was re-generated, it receives the same SequenceSignature as it had before (because the sequence hasn't actually changed), which causes the stale evaluation field data to fail the IsDirty check (because the sequence is the same as it thought, but the *template* has changed) This has been addressed be adding a signature to templates themselves, and checking both the template signature and sequence signature as a part of the IsDirty check. This ensures that we regenerate if either the template, or the sequence have changed. #jira UE-55934 Change 3936327 by Andrew.Rodham Sequencer: Removed increment when trimming right UMovieSceneSection::TrimSection already explicity assigns an exclusive bound to the time passed in. The new behavior means we can trim a section to the right, and insert another section without changing the time to create adjacent sections. #jira UE-42652 Change 3936328 by Andrew.Rodham Fixed KeyFrameManipulator assignment operators and copy/move constructors - These types are potentially self-referential so cannot use default constructors/assignment Change 3936330 by Andrew.Rodham Converted UMGSequencePlayer to use frames internally #jira UE-54878 Change 3936726 by Max.Chen Sequencer: Set track node as the parent of the key area node. The key area switcher needs the object binding id from the parent object binding node. Without this, the binding to the external value fails. #jira UE-55931 Change 3936775 by Max.Chen Sequencer: Should stop or loop should compare DurationFrames with Current Time from StartTime. The bug is that if you set 30 warmup frames in movie rendering for a range of 0-100, the FrameRange will be starting at -30 and have a duration of 130. Without this fix, the playback will continue until frame 130, rather than 100. #jira UE-55933 Change 3936935 by Matt.Hoffman Easing Curves are now represented in Play Rate resolution instead of internal resolution. #jira UE-55937 Change 3937069 by Matt.Hoffman Users can toggle if the is infinite on each side, limited by which tracks support infinite ranges. #jira UE-55891 Change 3937516 by Max.Preussner ImgMedia: Added support for single-threaded platforms #jira UE-55986 Change 3937826 by Max.Preussner MediaAssets: Disabling media sound components on HTML5 if AudioMixer is not enabled Change 3937997 by Max.Chen Curve Editor: Add Zoom to Fit Curves so that selected curves from Sequencer can be focused on. Tested that undo doesn't re-zoom. #jira UE-55935 Change 3938000 by Max.Chen Sequencer: Stop all sounds before generating audio waveforms. #jira UE-55951 Change 3938376 by Max.Preussner XGEController: Disabled XGE Controller in single-threaded apps to prevent crash Change 3938444 by Max.Preussner Core: Added async support for single-threaded applications Change 3938445 by Max.Preussner Networking: Added support for single-threaded applications in UDP socket sender/receiver Change 3938447 by Max.Preussner Messaging: Added support for single-threaded applications Change 3939432 by Max.Chen Sequence Recorder: Append command list to global level editor actions so that shortcuts are accessible in level editor. #jira UE-55798 Change 3940229 by Andrew.Rodham Added prospective display rate upgrade to UMovieScene::PostLoad - There was previously some very odd behaviour that would assign the fixed frame interval only when a sub sequence was focused in SSequencer. This meant that many sequences could have a frame interval of 0 set in the data. - Under the old method of snap interval display this would have fallen back to getting the display interval from the sequencer settings, but we no longer look at these. - The USequencerSettings properties have been removed and in their place, a prospective data upgrade for sequences that have a fixed frame interval old 0fps that sets the play rate to the previous defaults based off the old USequencerSettings defaults. - This could end up 'changing' the display rate for sequences where the user has changed the snap interval in the settings for a particular sequence editor, but there's not much we can do about that given we don't have access to the USequencerSettings classes in UMovieScene #jira UE-55919 Change 3940277 by Andrew.Rodham Sequencer: Added ability to default frame resolutions and play rates for newly created actor sequences Change 3940378 by Andrew.Rodham Sequencer: Post move import dialog now defaults to the playback framerate of the sequence, and floors to frame numbers Change 3940559 by Andrew.Rodham Reinstated primed or recording sequence color Change 3940642 by Max.Preussner ImagePlate: Removed image plate media playback functionality Change 3940843 by Max.Preussner Core: Made TCircularQueue actually thread-safe; improved code comments Change 3940860 by Max.Chen Sequencer: Changed StructNameToKey to StructPathToKey Previously, keying a PropertyPath of [RenderTransform][Shear][X] would get trimmed to X, which doesn't map to a channel name as considered by Sequencer2dTransformTrackEditor. Instead, trim the resulting property path to [Shear][X] so that track editors can determine the desired struct path and channels to key. #jira UE-52966 Change 3941292 by Mike.Zyracki Fix for trajectories out of range not showing up. 1) If we had no key data we would pop the time, so wouldn't get the section ranges. 2) Calculating of upper bound was wrong, checking against -1 and not key == num of keys when doing algo::lower_bound. 3) No need to do the Bck-- for the bakward iterators since we fixed #2. We start now from the upper bound correctly. 4) If we had no keys (at section start,end) we would incorrectly say we were any key type, so since we draw constant keys as dashed we would do so incorrectly around section end points. #jira UE-55929 Change 3941424 by Max.Chen Curve Editor: Change Zoom to Fit to use TArrayView Change 3941498 by Max.Preussner Core: Added FMath::DivideAndRoundNearest function Change 3942097 by Matt.Hoffman Drop Frame Timecode Support for NTSC rates. Change 3942104 by Matt.Hoffman Sequence Recorder Group is no longer visible inside the World Outliner after using one. #jira 55266 Change 3942107 by Max.Chen Sequencer: Resurrect logic to find or extend an existing section when adding keys. Change 3942330 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942339 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942507 by Andrew.Rodham Sequencer: We no longer pad the time overlap threshold with a small number that is not scaled by the current zoom level - The presence of this pad was causing keys that were far apart to be grouped when zoomed in a long way Change 3942509 by Andrew.Rodham Sequencer: Only pad total view range, rather than section range as well when retrieving keys to render - This stops us from rendering keys that are within the view range, but outside the section range Change 3942512 by Andrew.Rodham Added transactions to some sequencer details customizations Change 3942513 by Andrew.Rodham Sequencer: Reinstated validation checks to UMovieSceneSection::SetStartFrame and SetEndFrame, changed erroneous uses to use SetRange Change 3942560 by Andrew.Rodham Pass by rvalue reference to appease error C2719 on Win32 ('InChannels': formal parameter with requested alignment of 8 won't be aligned) Change 3942697 by Andrew.Rodham Newly Created Level Sequences and Actor Sequences now default to 24000 fps frame resolution (+/- ~24hrs range, supporting all integer rates + 23.976) Change 3942700 by Andrew.Rodham Sequencer: Added legacy out-of-bounds errors for times that are not supported by the current legacy upgrade frame resolution Change 3942989 by Max.Preussner Core: Fixed circular queue count calculation Change 3943538 by Max.Preussner MediaAssets: Reverted workaround for procedural audio log spam in HTML5 (Actor component initialization cannot be skipped if the component is used in a level) Change 3944071 by Max.Preussner QAGame: Fixed Media Texture keeps last frame of Media when PIE ends #jira UE-53360 Change 3944292 by Max.Chen Sequencer: Added extra flags to ensure that asset initialization does not occur on template actor sequences #jira UE-56113 Change 3944364 by Max.Chen Sequencer: Prevent circular shot/master tracks. Tested adding master -> child -> master as drag and drop cinematic shot tracks and sub tracks as well as through the + button. #jira UE-56091 Change 3944422 by Max.Chen Sequence Recorder: Disable transform recording if off. #jira UE-56061 Change 3944745 by Andrew.Rodham Sequencer: Key rendering fixes - Fixed assert that occured when keys happened to reside on some times due to KeyTime + TimeOverlapThreshold - KeyTime being slightly larger TimeOverlapThreshold - Fixed keys sometimes being clipped when zoomed right in due to lack of half-frame offset - Added missing documentation to MovieSceneTimeHelpers.h #jira UE-56107 Change 3945231 by Andrew.Rodham Sequencer: Reconstruct channel proxy on Serialize to catch all cases of undo/redo, PostLoad and duplication #jira UE-56089 Change 3945301 by Andrew.Rodham Sequencer: Added safety checks during initial sequence recording to guard against applying negative or 0-sized sequence ranges #jira UE-56125 Change 3946627 by Max.Preussner Fortnite: Fixed game crashes closing editor while in PIE - Pure virtual function being called #jira UE-56144 [CL 3946896 by Max Chen in Main branch]
2018-03-14 22:09:33 -04:00
FFrameTime MouseDownTime[2];
FScrubRangeToScreen MouseDownRange(GetViewRange(), MouseDownGeometry.Size);
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3946692) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3801826 by Max.Chen PR #4304: Level Sequence crash fix - Guarded against dereferencing null componen. (Contributed by DSDambuster) Change 3801828 by Max.Chen PR #4302: Movie Scene Visibility Template unitialised variable, causing random . (Contributed by DSDambuster) Change 3801837 by Max.Chen Sequencer: Delay spawning/construction for convert to possessable. This fixes a bug where property values would be lost when converting back and forth from possessable to spawnable. #jira UE-52400 Change 3801841 by Max.Chen Sequencer: Make spacer nodes not selectable. PR #4194: Improvements to Sequencer (Contributed by projectgheist) #jira UE-53117 #jira UE-52139 Change 3804183 by Max.Preussner MediaAssets: Added missing lock in media sound component Change 3805414 by Max.Preussner MediaAssets: Setting valid GUID when initializing media texture resource Change 3819578 by Max.Chen PR #4370: When enabling the "MovieCapture", do not turn off the Stereo-3D display. (Contributed by yehaike) #jira UE-53647 Change 3823414 by Max.Chen Curve Editor: Lock down the first and last keys in the redundant keys removal range so that they're unaffected. #jira UE-53591 Change 3826406 by Max.Chen Sequencer: Move OnStartedPlaying() to within first update in UpdateTimeCursorPosition(). This fixes an issue where setting the hud/player visibility was getting stomped on later. #jira UE-52772 Change 3827044 by Max.Preussner MediaAssets: Added sprite visualization to media sound component #jira UE-53594 Change 3827988 by Max.Preussner MediaPlayerAssets: Fixed Media Texture is not linked to Media Player when created together #jira UE-53532 Change 3828506 by Max.Preussner MediaPlayerEditor: Added attenuation visualizer for media sound components #jira UE-53594 Change 3832590 by andrew.porter EngineTest: Added a keep state check in Property Animation sequencer test Change 3833053 by andrew.porter EngineTest: Adding Hierarchical Bias test Change 3835683 by andrew.porter EngineTest: Adding UMG Animation screenshot test Change 3836076 by Max.Chen Sequencer: Fix audio volume and pitch multiplier deprecation. Change 3836230 by andrew.porter EngineTest: Adding Sequence Bone Position automation test Change 3836347 by Max.Chen Sequencer: Fixes to shot name parsing. When a shot doesn't contain a shot number, assume, [ShotName]_[TakeNumber]. When duplicating a shot, put the new shot in the same path of the original shot, so that the take numbers will increment properly. #jira UE-51868 Change 3836552 by Max.Chen Sequencer: Sub section now has a takes menu Change 3838094 by Max.Chen UMG: Fix template finish not getting called on stop. This fixes a bug where sections aren't restored when finished. #jira UE-52285 Change 3838708 by Max.Chen Sequencer: Add notification when the blend type is changed. #jira UE-54046 Change 3840295 by Max.Chen Sequencer: Fix copy/paste crash for lights #jira UE-54084 Change 3840957 by Mike.Zyracki Added Show Only Keyable and Show Only Animated to the filter list in the property editor. Added IsPropertyAnimated to IDetailKeyframe Interface which already had support for showing properties which are keyable (which is used for the key icon next to the properties.). Could have created another interface but then would have had to mimic the sequencer binding, releasing also, so this seemed best way. One issue still left is that custom built detail items currently don't store associated properties(usually) and so certain properties, in particulalry transforms, won't show up as keyable or animated. Note this also shows up with the keyable icon not showing up next to transform tracks, and other filters like Show Only Modified not working with transforms/customs. Not sure best way to tackle this. #jira UESEQ-328 Change 3841756 by Max.Chen Sequencer: Fix unbound possessable components when pasting spawnables. #jira UE-54104 Change 3843950 by andrew.porter EngineTest: Renaming LevelStreaming tests/content to LevelVisibility Change 3844082 by Mike.Zyracki Missing file for animated filter in property editor. When finding if a track is animated we need to find it but we can't easily induce the MovieTrack class for any particular property. So we don't set a class for it and just search by it's ID and name. #jira UESEQ-328 Change 3846902 by Max.Preussner ImgMedia: Fixed image media player never finished initialization if loading failed #jira UE-54247 Change 3849820 by Mike.Zyracki Reassigning deleted widgets didn't work since the menu extender mechanism needs a valid UObject in order to perform an operation on it. So to fix we replaced GetObjectBindingContextMenuExtender in WidgetBlueprint with new delegate mechanism (OnBuildCustomContextMenuForGuid) that supports FGuid in addition to UObjects which is needed to handle re-binding deleted widgets. Note that the default sequencer hacks this for replacing deleted actors in SequencerObjectBindingNode to check to see if a LevelSequence is active. We could move to this mechanism there also. #jira UE-53163 Change 3852211 by Max.Chen UMG: Indicate name of the property that is not bound. #jira UE-54350 Change 3854120 by Max.Chen Sequencer: Fix sibling folders being allowed to have the same folder name. #jira UE-54363 Change 3854627 by Max.Chen Sequencer: Step to next/previous key should work for all tracks if there aren't any selected. #jira UESEQ-391 Change 3855825 by andrew.porter EngineTest: Adding animation blending automation test Change 3855950 by andrew.porter EngineTest: Adding correct expected valuues to animation blending test Change 3856237 by Matt.Hoffman UESEQ-336 - Sequencer Track Reordering Adds the ability to re-order Master Tracks, Folders and Object Bindings within sequencer hierarchies (including UMG). Adds the ability to do a one-off sorting of the content under the old sorting behavior if the user wants to reset their layout to how it was under legacy behavior. Modifies SequencerTrackNodes, SequencerFolderNodes and SequencerObjectBindingNodes to handle CanDrop/OnDrop for above, below and ontop of. Fixes a Slate Issue that forcibly expanded a TreeviewRow if an item handled OnDrop. Slate will now only forcibly expand the row if the item says the drop happened ontop of the item, and not above or below it like it previously did. Change 3856503 by andrew.porter EngineTest: Adding automation test for using animation blueprint with blend multi node in sequencer Change 3857875 by Max.Chen Sequencer: Assign the sequence id after the template is compiled. #jira UE-54462 Change 3858344 by Max.Chen Sequencer: Prevent Goto and Transform boxes from overlapping by allowing them to be visible at the same time in an autosized horizontal box. Also, added close button to the goto box. PR #4425: Prevent Goto and Transform boxes from overlapping in Sequencer ... (Contributed by projectgheist) #jira UE-54210 Change 3860566 by andrew.porter MediaFrameworkTest: Set the option to index 0 for the audio and video track list by default Change 3860654 by andrew.porter EngineTest: Enabling Camera Cut + FOV test Change 3860981 by andrew.porter EngineTest: Updating skeletal mesh tests with a delay after set playback position Change 3861256 by Max.Chen Sequencer: Add all bindings if none selected. #jira-54440 Change 3862154 by Andrew.Rodham Added TimeManagement module Change 3862424 by andrew.porter EngineTest: Turned on the test Bone Positions with Blend Multi Node Change 3862573 by andrew.porter EngineTest: Adding test to compare bone positions in a sequence that is blending an animation that is using an AnimBP Change 3865117 by Max.Chen Sequencer: Stop auto scroll on mouse release of movement. #jira UE-31212 Change 3865303 by Max.Chen Sequencer: Add drag and drop transactions #jira UE-54662 Change 3865304 by Max.Chen Sequencer: Fix crash when an actor factory is not found. Change 3865361 by Max.Chen Sequencer: Don't change the camera/shot lock button when popping out of a sequence. #jira UE-54665 Change 3865412 by Max.Chen Sequencer: Determine whether a transform track is for a camera by using the spawned object or template #jira UE-54666 Change 3865685 by Max.Chen Sequencer: Clear autoscrub offset when stopping autoscroll #jira UE-31212 Change 3865886 by Max.Chen Sequence Recorder: Log an error if the number of frames changes while recording. This can happen if the skeleton changes while recording. #jira UE-48715 Change 3866925 by Andrew.Porter MediaFrameworkTest: Changing the current PNG test video image sequence to 1024 x 576 Change 3867705 by andrew.porter QAGame: Adding Audio Sort Sequence to dev folder Change 3867890 by andrew.porter QAGame: Adding a sequence for testing a sorting crash to my dev folder Change 3872628 by Max.Chen Movie Scene Capture: Split delay before warmup into split delay before shot warmup so that there's separate controls for when the movie scene capture warmups up vs. shot boundaries. Change 3873131 by Matt.Hoffman UE-54732 - Crash reordering a folder with a track. This was caused by folders being the only type of track to check if someone was putting a parent track into a child track. Object Binding tracks and Tracks now check as well so that you can't use the above/below drop targets to add parents as children. This also fixed a typo in the localization keys. #jira UE-54732 Change 3873301 by Mike.Zyracki Added ability to support continous euler angle changes when changing rotations, in particularly with the rotation gizmo's. To do this we effectively added a form an of 'euler filter'(https://en.wikipedia.org/wiki/Euler_filter) to find the closest euler angle to the current euler angle. Three functions were added to FRotator to make this possible, one to get the euler angle that's has the same rotation as it, one to get the difference between two euler angles via Manhattan distance and a third using the previous two to choose a Rotator value that's closest to it. We then use these functions before calling UComponent::SetRelativeRotation to make sure we use the correct Euler after the Quat conversion. We also no longer limit(bound) the euler angles to -180,180, which is obviously necessary to avoid flips. I also changed how we caluclate yaw and roll when pitch is -90 or 90 to make it the standard approach of zeroing out roll and just setting yaw. Main reasons are the previous implementation had precision issues so things like 180, 90, -180 would show up due to numbers being nearly zero but negative,(this would break any smooth interpolations), and this facilitates having a 'gimbal' rotation mode (like Maya, Blender etc..) if we ever want that also. If needed we could keep the previous implementation but would need to add some FMath::IsNearlyZero checks, with less performance. Note we only do this special filtering when applying delta's to actors or components in the editors, which then call UComponent::SetRelativeRotationExact, which is a new function to foces the RelativeRotation to be equal to the new rotation. This allows us to store un-nomalized Rotators at the cost that the RotationCache may be broken. We didn't change any of the other UComponent functions that set rotations (via Quats or Transforms) so they will still be bounded and unwound. In SetInternalWorldLocationAndRotation we only set the rotation if the rotation has changed, which fixes the rotation getting changed and re-normalized if just translate happens. In TransformTrackEditor, we correclty use the bUndwing flag and in MovieScene3DTransformSection there was an un-needed winding check there, it will be unwound earlier if needed, which happens if Sequence Recording is happening. Max we should talk about what to do about this . Note the euler angle drag via the widget is still bound to 0-360. I think we should just unbound that now since the rotations value are now unbound. This review now includes fixes suggested by Zak. #jira UE-UE-22228 Change 3873483 by Matt.Hoffman Sequencer Tracks can now be inserted above the spacer at the bottom of the tree. #jira UE-54706 Change 3873899 by Max.Chen Sequencer: Add section selection throbbing Change 3873908 by Max.Chen Movie Scene Capture: Added logging per frame Change 3873924 by Matt.Hoffman Adds the ability to store Sequence Recorder setups into profiles that stay with the map and can be re-loaded later. Profiles store the Actor Recordings so the settings for each actor should carry with them. #jira UESEQ-339 Change 3874726 by Matt.Hoffman Disable drag-and-drop targets on spacers that come between rows in Sequencer. This prevents extra drag/drop targets showing up between each row. #jira UE-54706 Change 3874862 by Matt.Hoffman Audio Track no longer gets reordered when adding sub-audio tracks, as sub-tracks are no longer counted towards the sorting order index when normalizing indexes. #jira UE-54727 Change 3875905 by Matt.Hoffman Disable Fade Track UI if a fade track already exists in the sequence. #jira UESEQ-393 Change 3876163 by Max.Chen Sequencer: Swap the camera object to the camera component's owner if it's not the same. #jira UE-54874 Change 3876971 by Andrew.Porter EngineTest: Moved Media Player Seek test to new folder. Also enabled the test with new ground truth image. Change 3877040 by Max.Chen Cine Camera: Split camera properties to two groups, "Camera Options" and "Camera Settings". The cine camera now hides properties in the "Camera Settings" group so that properties like bConstrainAspectRatio (in the "Camera Options" group) can be visible. #jira UE-54192 Change 3877763 by Max.Chen Curve Editor: Fix curve changed on end drag so that only curves that had keys/tangents that were changed receive notification, otherwise all loaded curves were getting notified that they were changed. #jira UE-54951 Change 3878234 by Matt.Hoffman Disable "Drop Below" targets for Sequencer Tree nodes to prevent a confusing UX issue where dropping underneath a Object Binding Node puts it after the object binding node but the UI looks like it's inserting it inside the Object Binding node. #jira UE-54743 Change 3879359 by Mike.Zyracki If a track is inactive we dim it a bit which seems to be the UE4 way to show inactive or disabled state. We changed the active logic so that all subtracks need to be inactive for the track to also be inactive(instead of all active for active). This conforms to how the active state actually works, e.g if you have two sections and only one is active the track is still active above it. #jira UESEQ-388 Change 3879462 by Max.Chen Sequencer: Allow dragging onto a particular row which would move out any overlapping sections to make space for the newly created section. Newly created sections are now selected and throbbed to draw attention to themselves. #jira UE-54664 Change 3879464 by Max.Chen Sequencer: Fixed overlapping ranges being inserted into the evaluation field during compilation - The issue was that track segments that had been combined with adjacent segments (due to them being identical) would potentially cause a subsequently compiled frame to overlap with a range that had already been inserted into the evaluation field. - The insertion code previously asserted that only minor overlaps were catered for (due to fp rounding errors) and assumed that a supplied range could not entirely contain any other range in the field. - The solution is to supply the insertion time along with the range to know exactly where the data should live in the field, and crop the range to the maximum allowable space between adjacent ranges. #jira UE-54922 Change 3879590 by Matt.Hoffman Items that are now added to the Sequencer via the "+Track" menu will be selected after being added. Items can now be added inside of folders instead of just to the root level. #jira UE-27397 Change 3879612 by Mike.Zyracki Display Nodes with no children are always active. #jira UESEQ-388 Change 3879730 by Matt.Hoffman Sequence Recorder's actor recording groups now remove items from the group when removed via the UI. #jira UESEQ-339 Change 3880256 by Mike.Zyracki Fix issue with inactive display with folders and other track nodes. #jira UESEQ-388 Change 3883491 by Max.Chen Fix issue where tick is skipped due to last ticked pose isn't cleared after AnimInstance changes. Copy from Release-4.19 #jira UE-51323 Change 3883603 by Max.Chen Movie Scene Capture: Add option toggle disable screen percentage. By default this is on (no change in current behavior). #jira UE-51898 Change 3885074 by Max.Preussner MediaCompositing: Resetting media texture & freeing resource on section end; removed dead code Change 3887220 by Max.Preussner MediaCompositing: Defaulted media section duration to 1 sec (since we do not know the actual duration in most cases) Change 3887478 by Matt.Hoffman Sequences now show [Inactive] in their title bars when they're disabled. This helps communicate why a sequence isn't being evaluated. #jira UE-51469 Change 3888985 by Max.Chen Movie Scene Capture: Clamp HDR Compression Quality between 0 and 1. #jira UE-55136 Change 3893519 by Max.Chen Sequence Recorder: Clarified tooltip for bRecordNearbySpawnedActors - spawned actors will still be recorded if they match the ActorFilter. #jira UE-55238 Change 3893546 by Max.Chen Sequence Recorder: If a selected actor already has a recording, add a blank recording. #jira UE-55239 Change 3894044 by Max.Preussner MediaCompositing: Added support for seeking into a media section Change 3894310 by andrew.porter MediaFrameworkTest: Adding Img media sources for 1080 and 2160 ravent test content Change 3894426 by Max.Preussner MediaAssets: Letting media textures with AutoClear retain their clear color when player is reset Change 3895717 by Max.Chen Sequencer: Null checks to prevent crash when saving the default state of a spawnable #jira UE-55304 Change 3897388 by Max.Chen Sequencer: Don't update current time to be within the view range when stepping into a sequence. #jira UE-55322 Change 3897452 by Max.Chen Audio: Fix crash when trying to record audio without any active capture devices. Log warning if the number of input channels is not 1 or 2. #jira UE-55223 Change 3897619 by Max.Preussner MediaCompositing: Removed commented out code Change 3898072 by Max.Chen Sequencer: Override the animation asset in the player state if it doesn't match the animation asset that's being evaluated. #jira UE-55328 Change 3898272 by Max.Preussner MediaPlayerEditor: Made slate brush constants static Change 3898704 by Max.Chen Sequencer: Skip if the binding id's sequence can't be found. #jira UE-55337 Change 3899855 by Max.Preussner MediaCompositingEditor: Added cache state visualization to media track Change 3900300 by Max.Preussner MediaCompositingEditor: Added loop indicators to media sections Change 3900694 by Max.Preussner ImfMedia: Looping cache only when player is looping Change 3900892 by Max.Preussner Stats: Added stats category for media framework Change 3900954 by Max.Preussner MediaCompositing: Don't evaluate at the end of media section Change 3901348 by Max.Preussner Core: Replaced TLruCache autos for better readability Change 3901655 by Max.Preussner ImgMedia: Added more perf stats to EXR reader Change 3901972 by Max.Preussner MediaAssets: Added getter for media player in media sound components Change 3902233 by Max.Preussner MediaAssets: Enabling media textures to receive samples right after player is assigned Change 3902238 by Max.Preussner MediaCompositing: Working around init/shutdown idiosyncracies in sequencer Change 3904045 by Max.Chen Sequencer: Fix copy/paste crash. Only process UMovieSceneCopyableBinding and objects that can be spawned by the movie scene spawn register. #jira UE-55314 Change 3905605 by Max.Chen Sequencer: Restrict spawnables from being created if they have a ClassWithin that UMovieScene is not a child of. #jira UE-55429 Change 3906550 by Max.Chen Sequencer: Add media track icon #jira UE-55480 Change 3907101 by Max.Chen Sequence Recorder: Fix bugs related to not recording a level sequence. There were certain assumptions that creating a level sequence meant that sequence recording was in progress. This is not always the case - the recorders can record animation assets and not create a level sequence. Changed the notion of IsRecording() to having at least one actor recording that is recording. Countdown timer, recording displays, etc should function if IsRecording() and not based on whether a level sequence is created. #jira UE-55485 Change 3907247 by Max.Chen Sequence Recorder: Fix crash not removing PrepareToCleanseEditorObject delegate. Repros when opening sequence recorder, closing it, and then opening or creating a level. Change 3910343 by Max.Preussner Core: Added async helper for executing functions on a given thread pool Change 3910346 by Max.Preussner ImgMedia: Added separate thread pools for loading/decoding and deleting image frames Change 3910829 by Max.Preussner Profiler: Increased visible range of profiler graph Change 3910841 by Max.Preussner MediaCompositing: Displaying asset name instead of full media source path in media section Change 3910870 by Max.Preussner ImgMedia: Using deallocation thread pool only in debug builds Change 3919642 by Max.Chen Sequence Recorder: Clarify active tooltip #jira UE-55661 Change 3919660 by Max.Chen Sequencer: Sequence template source signatures are now also compared to catch the case where a sub-sequence asset has been saved but not modified - The following sequence of events exposes this issue: - Create a master sequence with a single shot that spawns a cube - Add this sequence to a level and set it to auto-play - Save everything and restart - Resave just the inner shot asset without opening it - PIE - The inner shot never spawns its cube because its template was wiped on save, but its signature never changed. Since the master sequence previously didn't check the template source signature, it ends up trying to evaluate an empty template. #jira UE-55626 #jira UE-55490 Change 3921825 by Max.Chen Sequencer: "Run Construction Script in Sequencer" is off by default for blueprints but on for Sequencer. This allows the content author to switch it on for specific blueprints and sequencer will be default, run those with construction scripts enabled. Change 3922232 by Max.Chen Sequence Recorder: Reset countdelay on stop. #jira UE-55755 Change 3922306 by Max.Chen Sequence Recorder: Don't automatically mark transforms to be recorded by sequence recorder. Instead, log a warning if the user toggled it off to warn that the resulting animation might not match gameplay. #jira UE-55758 Change 3922912 by Max.Chen Sequence Recorder: Fix refresh next sequence name #jira UE-55757 Change 3927654 by Max.Chen Movie Scene Capture: Added format mapping for the name of the current camera #jira UE-55769 PR #4537 Change 3927658 by Max.Chen Sequencer: Added fbx property mapping for "FocusDistance" to "FocusSettings.ManualFocusDistance" #jira UE-55782 Change 3932022 by Max.Chen Sequencer: Add import animation track section to next available row index. #jira UE-55892 Change 3933919 by Max.Chen Sequencer: Jump to playback start frame and not 0 to start playback for recording. #jira UE-55933 Change 3934307 by Andrew.Rodham Sequencer: Add template signature that is re-generated every time the base template is regenerated, which invalidates evaluation fields This fixes an issue where the same sequence is instantiated multiple times in a sequence. If the source sequence was saved, its template would be wiped, which would invalidate the template ID When an instance tries to evaluate the master template, it would only invalidate a range in the evaluation field that was the hull of any invalid sub sequences overlapping the current time, potentially leaving invalid data in the evaluation field at positions later (or earlier) on in the sequence When the sub template was re-generated, it receives the same SequenceSignature as it had before (because the sequence hasn't actually changed), which causes the stale evaluation field data to fail the IsDirty check (because the sequence is the same as it thought, but the *template* has changed) This has been addressed be adding a signature to templates themselves, and checking both the template signature and sequence signature as a part of the IsDirty check. This ensures that we regenerate if either the template, or the sequence have changed. #jira UE-55934 Change 3936327 by Andrew.Rodham Sequencer: Removed increment when trimming right UMovieSceneSection::TrimSection already explicity assigns an exclusive bound to the time passed in. The new behavior means we can trim a section to the right, and insert another section without changing the time to create adjacent sections. #jira UE-42652 Change 3936328 by Andrew.Rodham Fixed KeyFrameManipulator assignment operators and copy/move constructors - These types are potentially self-referential so cannot use default constructors/assignment Change 3936330 by Andrew.Rodham Converted UMGSequencePlayer to use frames internally #jira UE-54878 Change 3936726 by Max.Chen Sequencer: Set track node as the parent of the key area node. The key area switcher needs the object binding id from the parent object binding node. Without this, the binding to the external value fails. #jira UE-55931 Change 3936775 by Max.Chen Sequencer: Should stop or loop should compare DurationFrames with Current Time from StartTime. The bug is that if you set 30 warmup frames in movie rendering for a range of 0-100, the FrameRange will be starting at -30 and have a duration of 130. Without this fix, the playback will continue until frame 130, rather than 100. #jira UE-55933 Change 3936935 by Matt.Hoffman Easing Curves are now represented in Play Rate resolution instead of internal resolution. #jira UE-55937 Change 3937069 by Matt.Hoffman Users can toggle if the is infinite on each side, limited by which tracks support infinite ranges. #jira UE-55891 Change 3937516 by Max.Preussner ImgMedia: Added support for single-threaded platforms #jira UE-55986 Change 3937826 by Max.Preussner MediaAssets: Disabling media sound components on HTML5 if AudioMixer is not enabled Change 3937997 by Max.Chen Curve Editor: Add Zoom to Fit Curves so that selected curves from Sequencer can be focused on. Tested that undo doesn't re-zoom. #jira UE-55935 Change 3938000 by Max.Chen Sequencer: Stop all sounds before generating audio waveforms. #jira UE-55951 Change 3938376 by Max.Preussner XGEController: Disabled XGE Controller in single-threaded apps to prevent crash Change 3938444 by Max.Preussner Core: Added async support for single-threaded applications Change 3938445 by Max.Preussner Networking: Added support for single-threaded applications in UDP socket sender/receiver Change 3938447 by Max.Preussner Messaging: Added support for single-threaded applications Change 3939432 by Max.Chen Sequence Recorder: Append command list to global level editor actions so that shortcuts are accessible in level editor. #jira UE-55798 Change 3940229 by Andrew.Rodham Added prospective display rate upgrade to UMovieScene::PostLoad - There was previously some very odd behaviour that would assign the fixed frame interval only when a sub sequence was focused in SSequencer. This meant that many sequences could have a frame interval of 0 set in the data. - Under the old method of snap interval display this would have fallen back to getting the display interval from the sequencer settings, but we no longer look at these. - The USequencerSettings properties have been removed and in their place, a prospective data upgrade for sequences that have a fixed frame interval old 0fps that sets the play rate to the previous defaults based off the old USequencerSettings defaults. - This could end up 'changing' the display rate for sequences where the user has changed the snap interval in the settings for a particular sequence editor, but there's not much we can do about that given we don't have access to the USequencerSettings classes in UMovieScene #jira UE-55919 Change 3940277 by Andrew.Rodham Sequencer: Added ability to default frame resolutions and play rates for newly created actor sequences Change 3940378 by Andrew.Rodham Sequencer: Post move import dialog now defaults to the playback framerate of the sequence, and floors to frame numbers Change 3940559 by Andrew.Rodham Reinstated primed or recording sequence color Change 3940642 by Max.Preussner ImagePlate: Removed image plate media playback functionality Change 3940843 by Max.Preussner Core: Made TCircularQueue actually thread-safe; improved code comments Change 3940860 by Max.Chen Sequencer: Changed StructNameToKey to StructPathToKey Previously, keying a PropertyPath of [RenderTransform][Shear][X] would get trimmed to X, which doesn't map to a channel name as considered by Sequencer2dTransformTrackEditor. Instead, trim the resulting property path to [Shear][X] so that track editors can determine the desired struct path and channels to key. #jira UE-52966 Change 3941292 by Mike.Zyracki Fix for trajectories out of range not showing up. 1) If we had no key data we would pop the time, so wouldn't get the section ranges. 2) Calculating of upper bound was wrong, checking against -1 and not key == num of keys when doing algo::lower_bound. 3) No need to do the Bck-- for the bakward iterators since we fixed #2. We start now from the upper bound correctly. 4) If we had no keys (at section start,end) we would incorrectly say we were any key type, so since we draw constant keys as dashed we would do so incorrectly around section end points. #jira UE-55929 Change 3941424 by Max.Chen Curve Editor: Change Zoom to Fit to use TArrayView Change 3941498 by Max.Preussner Core: Added FMath::DivideAndRoundNearest function Change 3942097 by Matt.Hoffman Drop Frame Timecode Support for NTSC rates. Change 3942104 by Matt.Hoffman Sequence Recorder Group is no longer visible inside the World Outliner after using one. #jira 55266 Change 3942107 by Max.Chen Sequencer: Resurrect logic to find or extend an existing section when adding keys. Change 3942330 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942339 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942507 by Andrew.Rodham Sequencer: We no longer pad the time overlap threshold with a small number that is not scaled by the current zoom level - The presence of this pad was causing keys that were far apart to be grouped when zoomed in a long way Change 3942509 by Andrew.Rodham Sequencer: Only pad total view range, rather than section range as well when retrieving keys to render - This stops us from rendering keys that are within the view range, but outside the section range Change 3942512 by Andrew.Rodham Added transactions to some sequencer details customizations Change 3942513 by Andrew.Rodham Sequencer: Reinstated validation checks to UMovieSceneSection::SetStartFrame and SetEndFrame, changed erroneous uses to use SetRange Change 3942560 by Andrew.Rodham Pass by rvalue reference to appease error C2719 on Win32 ('InChannels': formal parameter with requested alignment of 8 won't be aligned) Change 3942697 by Andrew.Rodham Newly Created Level Sequences and Actor Sequences now default to 24000 fps frame resolution (+/- ~24hrs range, supporting all integer rates + 23.976) Change 3942700 by Andrew.Rodham Sequencer: Added legacy out-of-bounds errors for times that are not supported by the current legacy upgrade frame resolution Change 3942989 by Max.Preussner Core: Fixed circular queue count calculation Change 3943538 by Max.Preussner MediaAssets: Reverted workaround for procedural audio log spam in HTML5 (Actor component initialization cannot be skipped if the component is used in a level) Change 3944071 by Max.Preussner QAGame: Fixed Media Texture keeps last frame of Media when PIE ends #jira UE-53360 Change 3944292 by Max.Chen Sequencer: Added extra flags to ensure that asset initialization does not occur on template actor sequences #jira UE-56113 Change 3944364 by Max.Chen Sequencer: Prevent circular shot/master tracks. Tested adding master -> child -> master as drag and drop cinematic shot tracks and sub tracks as well as through the + button. #jira UE-56091 Change 3944422 by Max.Chen Sequence Recorder: Disable transform recording if off. #jira UE-56061 Change 3944745 by Andrew.Rodham Sequencer: Key rendering fixes - Fixed assert that occured when keys happened to reside on some times due to KeyTime + TimeOverlapThreshold - KeyTime being slightly larger TimeOverlapThreshold - Fixed keys sometimes being clipped when zoomed right in due to lack of half-frame offset - Added missing documentation to MovieSceneTimeHelpers.h #jira UE-56107 Change 3945231 by Andrew.Rodham Sequencer: Reconstruct channel proxy on Serialize to catch all cases of undo/redo, PostLoad and duplication #jira UE-56089 Change 3945301 by Andrew.Rodham Sequencer: Added safety checks during initial sequence recording to guard against applying negative or 0-sized sequence ranges #jira UE-56125 Change 3946627 by Max.Preussner Fortnite: Fixed game crashes closing editor while in PIE - Pure virtual function being called #jira UE-56144 [CL 3946896 by Max Chen in Main branch]
2018-03-14 22:09:33 -04:00
MouseDownTime[0] = ComputeFrameTimeFromMouse(MouseDownGeometry, MouseDownPosition[0], MouseDownRange);
MouseDownTime[1] = ComputeFrameTimeFromMouse(MouseDownGeometry, MouseDownPosition[1], MouseDownRange);
float MouseStartPosX = RangeToScreen.InputToLocalX(MouseDownTime[0] / Resolution);
float MouseEndPosX = RangeToScreen.InputToLocalX(MouseDownTime[1] / Resolution);
float RangePosX = MouseStartPosX < MouseEndPosX ? MouseStartPosX : MouseEndPosX;
float RangeSizeX = FMath::Abs(MouseStartPosX - MouseEndPosX);
FSlateDrawElement::MakeBox(
OutDrawElements,
LayerId+1,
AllottedGeometry.ToPaintGeometry( FVector2D(RangePosX, 0.f), FVector2D(RangeSizeX, AllottedGeometry.Size.Y) ),
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 4044339) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3947021 by Max.Chen Sequencer: Don't preserve root component when copying object properties. A spawnable empty actor, has a root component that is generated by the empty actor factory. If the object template's root component is preserved when copying from the spawnable empty actor, the root component will not be copied over. Therefore, we need to NOT preserve the root component when copying object properties. #jira UE-55825 Change 3947366 by Max.Preussner WmfMedia: Better log output Change 3947367 by Max.Preussner MfMedia: Better detection of compressed format properties on Windows Change 3949102 by Max.Chen Sequencer: Remove SequenceActorTag when converting to possessable. #jira UE-56206 Change 3949207 by andrew.porter EngineTest: Set the screenshot nodes resolution to 1280x720 Change 3949404 by Max.Chen Sequencer: More informative tooltip for "Rerun Construction Scripts" option. It now says "Rerun construction scripts every frame on actors that have 'Rerun Construction Script in Sequencer' enabled in their class settings". Change 3950067 by Matt.Hoffman Renamed UAutomatedLevelSequenceCapture's StartFrame and EndFrame to CustomStartFrame/CustomEndFrame to reflect that it is user-overriden. This will also resolve upgrade issues due to the variable datatype changing. #jira UE-56189 Change 3950193 by JohnHenry.Carawon Updating my latest MovieRendering test content. Change 3950757 by JohnHenry.Carawon More updates to MovieRendering test content Change 3952059 by Max.Chen Resave LevelVisibility_SubLevels to fix data loss conversion warning of OpacityMaskConstant #jira UE-56086 Change 3952283 by Max.Chen Sequencer: Disable dropping level sequence assets as spawnables. #jira UE-56120 Change 3952422 by Max.Chen Sequence Recorder: Add button to record from the current player. #jira UE-55942 Change 3952987 by JohnHenry.Carawon MovieRendering Test Content - Fixing camera bindings and changing the override binding actor Change 3953823 by Mike.Zyracki Fix for Bad FBX Import Tangents not scaled by frame rate. After looking at this again it seems that a set of MovieScene:: overiddes for the channel traits wasn't set correctly, so use the ADL idiom to use MovieScene, which can then call Optimize in the correct namespace. With this we can now correctly use the passed in tolerance. There was also a redundant set of Optimize calls so that it could happen twice so removed them, and needed an extra check in the float channel Optimize. Also since we need to set auto tangents no matter if we optimize we don't set that parameter(though leave it since it's used by context menu key reduction). Finally fixed speed issue with trajectories caused by calculating way too many substeps. Reverted back to a time based step size for consistency. #jira UE-56193 Change 3954317 by Matt.Hoffman Adding a key to the last frame of a section no longer causes a crash. Keys can already be moved to be on the last frame of a section so now you can just add a key there directly. #jira UE-56255 Change 3954326 by Matt.Hoffman Dilating a section that is only infinite on one side no longer causes a crash. #jira UE-56260 Change 3954486 by Max.Chen PR #4580: Exposes IsReversed() from UMovieSceneSequencePlayer (Contributed by alanedwardes) Change 3955238 by Max.Preussner Messaging: Enabled delayed message routing https://github.com/EpicGames/UnrealEngine/pull/4574 #jira UE-56247 Change 3955901 by Max.Preussner MediaFrameworkTest: Added developer test for overriding desired media player plug-in at runtime. Change 3955922 by Andrew.Porter QAGame: Updating movie rendering content in dev folder Change 3956004 by andrew.porter QAGame: Adding MPC track to movie rendering test content Change 3956510 by Max.Chen Sequencer: Fix fbx camera import of static properties so that they are imported before default tracks are created. Otherwise, the default tracks inherit the default properties of the camera, rather than the values from the fbx. #jira UE-56311 Change 3957613 by Max.Preussner MediaUtils: Added code documentation to media player facade Change 3958005 by Max.Preussner MediaUtils: Added method to get number of sinks Change 3958934 by Max.Chen Sequencer: Fix keys getting added and sequence getting erroneously re-evaluated when auto key is off. Only apply defaults if there are no keys. Only modify the movie scene section before creating keys or setting defaults. #jira UE-55903 Change 3959687 by Andrew.Rodham Sequencer: Fixed visibility track external values being inverted #jira UE-56324 Change 3960507 by Max.Preussner Core: Fixed incorrect rounding in FMath::DivideAndRoundNearest Change 3962047 by JohnHenry.Carawon MovieRendering Test Content Changes: - Add Lightmass Importance Volumes to sublevel to fix warnings - Rebuilt Lighting - Add a third sequence for Gamut testing - Resaved the sound master.uasset to fix warning Change 3962211 by Mike.Zyracki Add Frame Numbers to selected animation sections. Added MapTimeToAnimation to MovieSceneSkeletalAnimation so that we could get it from the Skeleton Animation track Editor. Since the thickness of the frame line can change based upon frame rate and zoom we need to calculate it similarly to how the time slider controller does it. Those calculations were private so we had to expose FScrubRangeToScreen and GetScubberPixelRange from the TimeSliderController. Also needed to know if the section itself was selected so added a bIsSelected flag to the section Painter. Also fixed a bug where you couldn't add a section if other sections existed at different times in MovieScenePropertyTrack and could crash due to the check(). #jira UESEQ-395 Change 3962497 by Max.Preussner Core: Added new string formatting argument to FTimespan Change 3963662 by Max.Chen CineCamera: Flip VistaVision width and height. Change 3963731 by Max.Preussner MediaCompositing: Implemented sequence recording support for media track Change 3964195 by Andrew.Rodham Sequencer: Set inverted property correctly for newly created visibility track sections - Also clamp evaluation for key editors to the bounds of the section so we're not displaying values outside of the section bounds when the cursor is not on the bounds #jira UE-56324 #coderevew Max.Chen Change 3964196 by Andrew.Rodham Sequencer: Fixed crash when attempting to render sections that resulted in a negative intersection with the view range Change 3964275 by Andrew.Rodham Sequencer: Fixed MovieScene::ClampToDiscreteRange for infinite range bounds Change 3964364 by Andrew.Rodham Curve Editor: Reduce minimum vertical view range when zooming to fit Change 3965091 by Max.Chen Sequencer Recorder: Refresh next sequence if empty when starting a recording, otherwise, use existing name. #jira UE-56469 Change 3965148 by Max.Chen Sequence Recorder: Move Record to Possessable to "Actor Recording" group Change 3965162 by Max.Chen Sequence Recorder: Always break out of immersive mode when done recording, even when stopping recording during countdown. #jira UE-56407 Change 3965214 by Max.Preussner QAGame: Enabled ImagePlate plug-in Change 3965574 by Max.Preussner SimpleComposure: Reorganized & upgraded content to work with new Media Track #jira UE-56488 Change 3965651 by Max.Preussner MediaCompositing: Ignoring seek-on-open if media not seekable Change 3966075 by Christina.TempelaarL Sequencer: Added Final Cut Pro 7 XML Export functionality #jira UESEQ-358 Change 3966087 by Matt.Hoffman Adding a single key to the Particle Toggle track now makes an infinite range section that is displayed in the UI. #jira UE-56295 Change 3966547 by Andrew.Rodham Sequencer: Fixed rounding errors when drawing the section background on boolean sections - Logic was using time in sectonds which caused rounding errors on evaluation and flickering red/green stripes when dragging keys around #jira UE-56324 Change 3966563 by Andrew.Rodham Curve Editor: Key editor interface improvements - SKeyEditInterface has a few problems - it does not update in real time when editing properties, and does not support multi-edit which makes it unsuitable for use with the curve editor - We now take a different approach for editing keys by gathering a set of proxy UObjects for each key that is currently selected. These objects are added as top level objects to the details panel which means they support multi edit as you'd expect from any other details panel in the editor. - Proxy objects are updated every tick for the curve editor if they implement the ICurveEditorKeyProxy interface, which allows them to refresh their current value. - Ideally, the same mechanisms would be used in the main sequence interface, and we would be generating the proxy classes at runtime based on the key value type, but that work remains a separate task from this initial offering. #jira UE-56165 Change 3966564 by Andrew.Rodham Curve Editor: Expand to frame when adding or moving keys in the curve editor Change 3967051 by andrew.porter MediaFrameworkTest: Set the CameraPlayer_Video texture to auto clear Change 3967141 by Andrew.Rodham Sequencer: Keep track of spawned objects that have been modified and only re-save such object's default spawnable state on destruction - Now that we're taking this approach, I've remove serveral redundant bits of functionality in the spawn register such as making some spawnables read-only, and the PreSave binding for Sequencer. - We now hook into all object pre-saves to make sure we handle the case where the sequences are saved through the content browser or elsewhere. #jira UE-47686 Change 3967170 by Andrew.Rodham Sequencer: Added the ability to possess anim instances as object bindings - This allows full and direct animation of properties on UAnimInstance, and animation blueprints - Object Bindings are made by first possessing a skeletal mesh component, then choosing the + Add button where its anim instance will be listed - Added a new function to UMovieSceneSequence to gather previously cached objects that should now be invalidated. Anim instances will be re-resolved if a new UAnimInstance is assigned to USkeletalMeshComponent::GetAnimInstance. - ObjectBindingIDs for anim instances are just represented by an entry in a set of GUIDs. We only ever resolve such bindings through USkeletalMeshComponent::GetAnimInstance. - Only currently supported on LevelSequences #jira UE-56132 Change 3967195 by Max.Preussner Core: Updated TRangeSet to use TCallTraits Change 3967345 by JohnHenry.Carawon Test Content Changes - first iteration of spacing out the examples in the shots. Change 3967572 by Max.Chen Sequencer: Fix setting PreviousPlayEvalPosition until after we've tested whether it's set. #jira UE-56518 Change 3967750 by Max.Chen Audio: Set duration based on number of input channels, rather than number of channels to serialize. This fixes an issue where audio split into 2 channels is set to a duration that's twice as long. #jira UE-56430 Change 3967836 by Max.Chen Sequencer: Allow for animating array elements within ustruct properties #jira UE-55887 Change 3968506 by Matt.Hoffman Fixed ambiguous conversions for seconds and frames being overriden by ambiguous conversion to Timecode (in frames). Change 3968748 by Max.Chen Sequencer: Make the event properties submenu widget larger. #jira UE-55557 Change 3968862 by Max.Chen Sequencer: Recursive expansion when shift is down #jira UE-52139 #pr 4194 Change 3968863 by Max.Chen Sequencer: Bind rename command to selected track so that F2 shortcut start renaming #jira UE-52139 #pr 4194 Change 3968872 by Max.Chen Sequencer: Rekey the selected key at the current time. #jira UESEQ-396 Change 3968938 by Max.Chen Cine Camera: Add option to toggle the behavior of locking the rail mount to the orientation of the spline. By default, the option is off, no change in behavior. #jira UE-55815 Change 3968958 by Andrew.Rodham Sequencer: Consider vertical position when hittesting keys #jira UE-56256 Change 3969643 by Max.Preussner Core: Rounding timespans created from double values towards nearest ticks Change 3969646 by Max.Preussner MediaUtils: Implemented timeout mechanism for block-on-fetch feature Change 3969776 by Mike.Zyracki Added Skip Anim Notifiers Toggle per what was in Matinee. Investigated the Enable Root Motion toggle as also discussed but it's implementation is directly contained by the animation asset and unlike animation notifies there seems to be no exposure to interactively disable it during a playback tick. Note if we are generating thumbnails we still automtically disable notifies in the editor to avoid annoying noise playback. Note that if Enable Root Motion/Root locked is specified in the animation asset it does correctly effect the Sequencer. #jira UESEQ-399 Change 3969835 by Matt.Hoffman Playback Range and Selection Range use unified logic for adding themselves as potential snap locations which properly handles inclusive/exclusive bounds. This resolves an issue where having an unset selection range caused a potential snap location to be added on frame 0 and 1 (internal resolution) which caused a misalignment when placing objects near frame 0. This also removes the one frame offset on setting Selection Range to bring behavior inline with other ranges. #jira UE-55420 Change 3969885 by Max.Preussner MediaAssets: Don't register media player CDO with media ticker Change 3971129 by Andrew.Rodham Sequencer: Fixed UMovieSceneSequencePlayer::GotToEndAndStop() not taking into account for start time This is a remnant from when the times were always specified in 0-duration space, rather than actual sequence times. Change 3972056 by JohnHenry.Carawon More updates to Test Content. I continued spacing out the examples in the sequence so that they have a consistent number of frames between each example and during the start/end of the example. Also removed the Marcie sublevel. Change 3972066 by Andrew.Porter MediaFrameworkTest: Setting Marcie folder to be never cooked in package settings Change 3972675 by Matt.Hoffman Splitting Subsequence Sections no longer sets an incorrect playback range on the subsequence when the subsequence has a different internal resolution than the owning sequence. #jira UE-55453 Change 3973376 by Max.Preussner ImgMedia: Zero is the only valid video track for image sequences Change 3973489 by Max.Preussner Launch: Build rules cleanup pass - don't use Media, MediaUtils on server apps - don't link against Media (include-only dependency) - don't include from MediaAssets (dynamic load only) Change 3973760 by Max.Preussner MediaUtils: Moved AppMediaTimeSource implementation into its own file; added logging Change 3973765 by Max.Preussner ImgMedia: Disallowing seek beyond media length Change 3973855 by Max.Preussner MediaFrameworkTest: Updated developer test content Change 3973858 by Max.Preussner MediaCompositing: Blocking on media player time instead of media sample time (the former may not be hit in the current frame) Change 3974988 by Max.Chen Sequencer: Fix trim left so that it also sets the start offset for audio and skeletal animation sections. #jira UE-57015 Change 3976101 by Matt.Hoffman Sequencer will now focus the scroll view on newly created items. #jira UE-56492 Change 3976203 by Max.Chen Property Editor: Add DetailsViewArgs for ColumnWidth. Defaults to 0.65f, no change in existing behavior. Change 3976205 by Max.Chen Sequencer: Set better column widths for sequencer. #jira UE-55557 Change 3976206 by Max.Chen Sequencer: Added menu category for import/export Change 3976265 by Matt.Hoffman Tracks within Object Binding Nodes will now sort using the old behavior so that components are added above other track types. #jira UE-56473 Change 3976901 by Max.Chen Sequencer: Add event names to event track section #jira UESEQ-353 Change 3977878 by Max.Preussner Media: Moved media framework ticking stats into Media module Change 3977982 by Max.Chen Sequencer: Add Edit->Reset section length to duration of source (ie. audio, skeletal animation, shot length) Added MovieSceneSection::GetDefaultDuration and MovieScene::HasDefaultDuration #jira UESEQ-392 Change 3977994 by Max.Preussner Media: Fetching and rendering media samples before viewports are rendered (to ensure frame sync for in-level media playback) #jira UE-53975 Change 3978188 by Matt.Hoffman Easing Curves are now clipped by the sequence's PlayRange when testing against an infinite section. This causes blended sequences to finish their blend when the section starts/ends instead of always using 25% of the total section length to determine default blend range. #jira UE-56362 Change 3978676 by Max.Preussner MediaCompositing: Fixed first frame of rendered out media track missing #jira UE-53975 Change 3978684 by Max.Preussner MediaCompositing: Enabled media track frame sync feature #jira UE-53975 Change 3980026 by Matt.Hoffman Keys can be selected on folded out sections (such as an audio track expanded to show volume and pitch) again. #jira UE-57169 Change 3981614 by Max.Preussner MediaUtils: Added missing subtitle sample queue flush Change 3982311 by Max.Preussner MediaCompositing: Added safeguard for zero length media sources Change 3982389 by andrew.porter QAGame: Adding media track test content into FrameAccuracySubscene Change 3983661 by Max.Chen Sequencer: Add level name to spawn a spawnable into. Add sublevel menu option to set the level #jira UESEQ-390 Change 3983712 by Andrew.Rodham Sequencer: Purge legacy blueprint spawnables from LevelSequence packages #tests Ran a preflight for cooking fortnite, ocean and Orion. Only orion shows up this edge case, and will require a re-save of the EndCines level #jira UE-39173 Change 3983787 by Max.Preussner MediaCompositing: Moved compile time switch for block-on-fetch into media player facade Change 3983812 by Andrew.Rodham Sequencer: Exposed default level sequence instance data to blueprints Change 3984373 by Max.Preussner Media: Added API for quering whether player plug-in supports block on fetch Block on fetch allows Sequencer and other systems to block the game thread until a desired video frame has been decoded. Change 3984670 by JohnHenry.Carawon Movie Rendering Test Content progress. Saving the state of the content. There is a bug where things got replaced with particle emitters and I think it was because I tried to copy paste an animation track into a separate skeletal mesh track. Change 3985097 by Max.Chen Sequencer: Rename Reset to AutoSize Change GetAutoSizeDuration to return TOptional<FFrameTime> #jira UESEQ-392 Change 3986043 by Max.Chen Sequencer: Fix crash when attach/path duration is less than 0. #jira UE-57310 Change 3986373 by Max.Chen Sequencer: Add support for deleting tracks and channels which equates to setting the channel mask. #jira UE-52951 Change 3986375 by Max.Chen Sequencer: Add Create Pose Asset to skeletal animation section. This allows animators to blend animations in sequencer and create new pose assets from them. #jira UESEQ-408 Change 3986796 by Andrew.Rodham Sequencer: Fixed stale object references remaining in ULevelSequence::BindingReferences when using convert to spawnable/possessable - We used to convert objects by creating a new binding, then re-assigning its GUID, which meant we didn't have to do any further object fixup, but the code to achieve this was confusing and led to a vulnerability where object references would not be cleaned up correctly due to the newly created possessable essentially being a temporary object that's immediately thrown away. - To address this, there is now a function for porting all the contents of one object binding to another, and handles the correct fixup required for parent/child object bindings for both spawnables and possessables. - Also added codepath to remove any stale object references from the level sequence reference map on PostLoad (this piggy-backs off the PurgeLegacyBlueprints object version which is close close enough to this change to be identical) #tests Verified that existing sequences with stale references get cleaned up on load. Verified that repreatedly converting from spawnable<->possessable cleans up references correctly. Change 3987807 by JohnHenry.Carawon Updates to the MovieRendering Test Content. - Fixed the spawnable actors that were overwritten - Shortend the Lighting example and combined the Intensity and Color tracks - Organized the Sequence and WorldOutliner to group the examples. Change 3988151 by Max.Chen Cine Camera: Enable keying the "Enable Look at Tracking" toggle. Change 3988880 by Max.Chen Sequencer: Support enter to add asset for all sequencer track editors that have asset pickers. #jira UE-57367 Change 3988953 by Max.Chen Sequencer: Make the track color picker focusable so that it will close when you click away or lose focus. #jira UE-57210 Change 3988962 by Max.Chen MovieSceneCapture: Fix EDL export so that it takes into account movie scene frame resolution and desired frame rate. #jira UE-57365 Change 3988964 by Max.Chen Movie Scene Capture: Clarified tooltip for bRelativeFrameNumbers. If you specify custom start/end frames for the recording, they will be relative to the playback range. #jira UE-57308 Change 3989442 by Max.Chen Fix CIS Change 3991548 by Matt.Hoffman Dragging the time slider no longer causes the time slider to ignore snap-to-interval with "Snap to Keys While Scrubbing" when no keys are in range. #jira UE-57417 Change 3991598 by Matt.Hoffman Snap to Key while scrubbing now mirrors the behavior of "jump to next key". When there are no tracks selected it snaps to all keys and when there are tracks selected it snaps to only keys from that track. This also resolves an issue where deleting an object did not remove it from the Sequencer's selection. Undoing a delete already doesn't seem to restore your selection, so removing it from your selection shouldn't change that behavior. #jira UE-57417 Change 3991603 by Max.Chen Sequencer: Disable EditAnywhere for some section properties #jira UE-53530 Change 3992240 by Max.Preussner MediaAssets: Implemented dynamic audio sample rate adjustment based on audio/media clock drift #jira FORT-70638 Change 3992911 by Andrew.Rodham Sequencer: Fixed saving spawnable state using the wrong spawned object - We now track the object binding ID so that we can apply the spawned object to the correct spawnable when the asset is saved #jira UE-57353 Change 3992914 by Max.Chen Movie Scene Capture: Fix compression quality not being set. The compression interface wasn't being found through query interface, so no compression was being set. Reworked finding it through the output pins. Tested running various compression values. #jira-UE-55488 Change 3992919 by Max.Chen Sequencer: Convert to possessable now uses object template instead of copying properties (ie. see LevelSequenceActorSpawner). This fixes MIDs getting lost when converting to spawnable and back to possessable. #jira UE-52400 Change 3993184 by Max.Chen Sequencer: Don't show +Transform/+Path/+Attach track if the actor has the "Mobility" property hidden. Set the Landscape, LandscapeProxy and InstancedFoliage "Mobility" property to be hidden since it is static is not supposed to be dynamically movable. #jira UE-56347 Change 3993238 by Max.Chen Sequencer: Test for hidden mobility in creating keys as well. Refactored to HasHiddenMobility() #jira UE-56347 Change 3993978 by Max.Chen Cine Camera: Enable keying the "Enable Look at Tracking" toggle. #jira UE-57489 Change 3994039 by Max.Chen Landscape: Add Mobility to hidecategories on landscape component #jira UE-56347 Change 3994626 by JohnHenry.Carawon Updated Movie Rendering Test Content. - Fixed the overridden spawnables to their proper object types. Change 3994653 by Christina.TempelaarL Sequencer: Added Final Cut Pro 7 XML Import functionality, improved Export functionality #jira UESEQ-358 Change 3995609 by Max.Chen UMG: Add support for 2d transform mask (translation, rotation, scale, shear) #jira UE-52951 Change 3995778 by JohnHenry.Carawon Movie Rendering Test Content Updates - Adjusted Lights example - Adjusted Camera example - Added Marcie sublevel back in Change 3995942 by JohnHenry.Carawon QAGame: Moving Movie Rendering test content from Developer folder to Sequencer folder Also adjusted level visibility, lights and camera example. Change 3995993 by Christina.TempelaarL Sequencer: FCPXML Export updates - only export sections if in playback range and media exists, warn if media does not exist. Other updates - removed unused methods and variables, fixed message context naming to be more accurate #jira UESEQ-358 Change 3996595 by andrew.porter QAGame: Updating Marcie content in TrackEvaluation level to use Image Plate Change 3996614 by andrew.porter QAGame: Adding color test sequence to the sublevel Change 3996643 by Max.Chen Sequencer: Fix fbx animation export - rotation and scale channels were flipped. #jira UE-57509 #jira UE-57512 #jira UE-57514 Change 3996652 by Max.Preussner Messaging: Fixed delayed messaging using incorrect current time after message router sleep Based on https://github.com/EpicGames/UnrealEngine/pull/4601 Change 3996801 by Max.Chen Sequencer: Fix folder active state for non key area sections. Look at track node sections as well as key areas. #jira UE-57550 Change 3997098 by Matt.Hoffman Cleaned up some remaining ToDo's in STimeRange. Change 3998339 by Max.Preussner Sockets: Added documentation for socket receive functions Change 3998359 by Max.Preussner MediaUtils: Started to implement media recorder helper class Currently only supports BGRA frames in CPU memory. Supporting other formats and buffer types will require conversions on render-thread. I recommend refactoring out the existing conversion code in FMediaTextureResource into a reusable helper class in the MediaUtils module. This should be a good starting point though. Change 3998417 by Matt.Hoffman Keys and Sections can now be moved at the same time inside of Sequencer. Keys can now snap to Sections (and vice versa) instead of just to other Keys. Sections can now be duplicated like keys can. #jira UE-56995 Change 3998427 by JohnHenry.Carawon QAGame: Updating test content for the Movie Rendering feature. - Added an auto activate particle to the beginning of the sequence (it's not part of the sequence at all) - Added an event receiver blueprint to the Events example - Added a particle emitter to both sublevels - Added a camera cut to the end that switches to a separate camera - The camera zoom in, focus and Look At sections are all separate (not overlapping in the sequence) - Added a second actor for the camera Look At - Added a Visibility section for the Actor Hidden In Game track that has possessable and spawnable cube and light Change 3998537 by Max.Chen Sequence Recorder: Restore immersive mode when stopping the sequence even if not in PIE. #jira UE-56407 Change 3999809 by Matt.Hoffman Removed the "Go To" box from Sequencer and instead placed the current time as an always visible control. The previous shortcut (Ctrl + G) now focuses the new widget directly. #jira UESEQ-376 Change 4000543 by Christina.TempelaarL Sequencer: Moving editor-only code from runtime module MovieSceneCapture to editor module MovieSceneTools. Moved EDL and FCP XML exporters as well as Automated Level Scene Capture. #jira UESEQ-358 Change 4000706 by Matt.Hoffman Entering multiple time strings without a number no longer crashes Sequencer. #jira UE-57672 Change 4001051 by andrew.porter MediaFrameworkTest: Fixing up some image sources pointing to the wrong location Change 4001191 by andrew.porter QAGame: Adding some quick EDL/XML test content to dev folder Change 4001243 by Max.Chen Sequencer: Fix import EDL out of range. #jira UE-57665 Change 4001856 by Matt.Hoffman Selecting keys and sections at the same time now also works with animation and audio sections. #jira UE-57716 Change 4002021 by Max.Chen Sequence Recorder: Fix sequence name incrementing. If external recording sets the sequence name, use it. Otherwise, use the recording name from the recording group or the recording settings. #jira UE-57712 Change 4002618 by Max.Chen Viewport: Update the look at location when updating to a locked actor. This fixes an issue so that popping the view out of a locked actor and manipulating the view will not jump to the previous look at location. #jira UE-57725 Change 4002979 by Matt.Hoffman Fixes several edge cases with the end time range that was causing confusion about what the last frame of the sequence was. Dragging the End Frame slider will no longer be off by one tick and jumping to the end via the UI controls now properly respects snapping and stays inside the play range instead of falling outside of it. Overall behavior does not change though and End Frame should be considered an exclusive frame so that frames 0-150 results in a 150 frame long animation (which is frames 0-149). #jira UE-56367 Change 4003185 by Matt.Hoffman Fixed a regression that prevented a section from being dragged upwards past row 0 which normally resulted in all other rows moving down. #jira UE-57717 Change 4003193 by JohnHenry.Carawon QAGame: Updates to test content - Shortened frames between the examples from 95 to 30 - Separated camera setting tracks - Lighting example now switches directly from constant red - green - blue Change 4003369 by Max.Chen Sequence Recorder: Refresh next sequence regardless of internally stored sequence name. #jira UE-55757 Change 4003586 by JohnHenry.Carawon QAGame: Test Content Updates - Level Visibility track now ends to that the levels are not visible when we move to the next example - Shortened camera section, removed Z tranform so that we just move left to right and shortened the overall length Change 4004414 by Max.Chen Movie Scene Capture: Fix regression where rendering with shot handles would only render the first shot. 3972166 addressed an issue where an extra frame would be rendered by finalizing right when the end frame was reached. This was hit on the first shot end frame, so instead, do this only for when the last shot is being rendered. #jira UE-57314 Change 4004765 by Christina.TempelaarL Sequencer: Fixed bugs in FCP XML import/export. - Export: fixed sequence default resolution. - Export: fixed XML files with no shots. - Export: all sections clipped to playback range. - Export: fixed incorrect section start/end times due to precision issues. - Import: fixed incorrectly adding cinematic tracks. - Import: fixed bugs creating new sections. #jira UE-57660 #jira UE-57662 #jira UE-57655 #jira UE-57761 Change 4005119 by Max.Chen Sequencer: Export/import at play rate Change 4005195 by Max.Chen UMG: Finish UMG evaluation on stop. Added object version so that existing UMG assets do not change. #tests - Newly created UMG animation with sections set to restore state now return to their original state. Existing UMG animations with sections set to restore state do not return to their original state. #jira UE-52285 Change 4005377 by Michael.Karambelas QAGame: Moving TM-SequenceRecorder and related content out of my developer folder and into /Content/Sequencer/SequencerRecorder/* Change 4005417 by Michael.Karambelas QAGame: Fixed a BP compiler in the Level Blueprint of TM-SequencerRecorder. Change 4005634 by Michael.Karambelas QAGame: Fix up missing content and broken level sequence in TM-SequenceRecorder after move Change 4006324 by Max.Chen Sequencer: Reset if the focused movie scene is null. This fixes a crash if the user is focused in on a shot and undo takes the user past the point of where the shot was created. #jira UE-57752 #jira UE-47661 Change 4007006 by Max.Chen Sequencer: Fix FindAvailableRowIndex so that it returns the max row index (and not +1) since it doesn't find any conflicting rows. #jira UE-57717 Change 4007907 by Max.Chen Sequencer: Fix crash if there's no animation Change 4007948 by andrew.porter QAGame: added test content to dev folder for Record World Space Change 4008636 by Max.Chen Sequencer: Fix import fbx not setting values properly and creating additional cameras unncessarily. #jira UE-57864 Change 4008759 by Max.Chen Sequencer: Follow up fix for import cameras #jira UE-57864 Change 4009994 by Matt.Hoffman Dragging the left or right handles of the Time Range slider in Sequencer will now zoom your view in on the current center of the screen. This prevents the view from being translating as you tried to zoom in which caused issues at high zoom levels. #jira UESEQ-407 Change 4010169 by Christina.TempelaarL Sequencer: FCP XML fixes. - FCP XML export - no longer clips to playback range - FCP XML and EDL export - fixed missing last frame of some sections after exporting to Premiere. - Automated level capture, EDL export - use RoundToFrame instead of FloorToFrame for computing section start/end frames after frame rate conversion. #jira UE-57802 - partial fix, movie scene capture still needs to render full section rather than clip against playback. Change 4010287 by Mike.Zyracki Add quaternion interpolation option to UMovieScene3DTransformSection. This mimics how Matinee used to work by bascially finding the keys between a time and interpolating the angles as quat's between them. As noted in the code the algorithm needs to handle the case when the x,y,z Rotation keys all aren't at the same time which was not handled by Matinee. Also like Matinee, when in quaternion interoplation mode, we need to not display the function cuves since the interpolated and key values are now all different. (Would like to show them but that's a bigger refactor for perhaps just a one off needed by quaternions). I added a virtual function UMovieSceneSection::ShowCurveForChannel for this since it needs to be dynamic, not on construction of IKeyArea's, and could be useful for other sections. I could though move the method to just UMovieScene3DTransformSection and do a cast instead. Looked into doing a unit test for this but after talking with Andrew P we will work on doign an automated test in EngineQA since that will provide more coverage. Will also add a video the jira. #jira UESEQ-403 Change 4010713 by Mike.Zyracki Added option to key a group of transform channels instead of just the changed channel, or all of them. This is useful for quaternion interpolations where you want rotation keys to be aligned but also useful for other workflows like animating FK Pose to Pose. Change 4010715 by Andrew.Porter MediaFrameworkTest: Setting LogMediaUtils logging from VeryVerbose to Verbose to cut back on the spam Change 4013048 by Max.Chen Sequencer: Fix play/jump status. Update the player status for all position methods (Scrub, Jump, Play). Jump means Stopped. Correctly use PlayTo or JumpTo based on position method. In PlayInternal, JumpTo with the Stopped state (rather than playing state). #jira UE-57844 Change 4013479 by andrew.porter QAGame: Added content in TM-SequenceRecorder to test recording a property on a Cine Camera Component; Press 3 to trigger manual focus distance to increment on a timer Change 4014323 by Max.Chen Sequencer: Fix SetPlaybackPosition so that it jumps or plays based on playback status. #jira UE-57844 Change 4015888 by Max.Chen Sequencer: Fix crash on paste. UMovieSceneSections were gathered from the track node's track. For sub track mode, we want to gather only those sections on that track node row. #jira UE-57951 Change 4015943 by Max.Chen Sequencer: Fix moving shots up when the mouse pos goes outside of the virtual track area. #jira UE-57717 Change 4016293 by Max.Chen Sequencer: Fix relative frame playback end frame calculation so that custom start/end frames remain in the space of the sequence and are not relative. #jira UE-57308 Change 4017075 by Andrew.Rodham Sequencer: Corrected initial evaluation range used when calling UMovieSceneSequencPlayer::Play() Change 4017270 by Christina.TempelaarL Sequencer: FCPXML importer and movie scene capture - Use CeilToFrame when converting section start/end frame times to frame numbers in FCPXML and movie scene capture. - Added support for clip metadata in FCPXML. - Got rid of redundant TokenizedError message class, no longer needed now that FCPXML is in editor directory. - Added log messages currently commented out due to exception, still testing. #UESEQ-358 Change 4018370 by Christina.TempelaarL Sequencer: fixed FCPXML log messages regarding sections with start/end not divisible by display rate. #UESEQ-358 Change 4018378 by Christina.TempelaarL Sequencer: fixed error in previous changelist. #UESEQ-358 Change 4019457 by Max.Chen Sequencer: Show event names only when the event track is selected #jira UE-57897 Change 4022806 by Max.Chen Sequencer: Fix crash on movie scene capture dialog shutdown if movie capture wasn't even started. #jira UE-58106 Change 4022894 by Max.Chen Sequence Recorder: Wrap OpenEditorForAssets after sequence recording within GIsEditor #jira UE-58084 Change 4024487 by Max.Chen Sequencer: Add tooltip for quat interpolation #jira UE-58113 Change 4024562 by Max.Chen Sequencer: Change path/attach track sequence binding id to currently focused sequence id so that bindings can be created in subsequences Change 4027414 by JohnHenry.Carawon QAGame: Checking in content that shows a bug with using particles systems and Delay Before Shot Warm Up. Change 4028990 by Max.Chen Sequencer: Fix evaluate sub sequences in isolation. This check was added with the compile on the fly logic. Not sure why it was necessary but it seems like the sub sequence data needs to be updated in order to evaluate sub sequences in isolation. #jira UE-58184 Change 4029004 by Max.Chen Sequencer: Ensure that old binding references are removed when re-assigning actors in sequencer #jira UE-57898 Change 4030997 by JohnHenry.Carawon QAGame: Fixing name of the master sequence Change 4031785 by Michael.Karambelas QAGame: Added an instance of ThirdPerson Run to TM-SequenceRecorder for Record to Possessable test. Change 4035548 by Andrew.Rodham Sequencer: Changed FMovieSceneEvaluationTemplate::TemplateSignature to be a serial number to address non-deterministic cooking issues - This commit is related to the repro steps found in 3914599 and 3934307, both of which have been verified with this new change. - Copy of 4031684 from //Fortnite/Main/... #jira FORT-84852 Change 4036312 by Max.Chen Sequencer: Fix zoom view range so that it uses the passed in InZoomDelta Change 4036318 by Max.Chen Sequencer: Auto size now returns a range and defaults to the channel proxy range so that keyed regions can also be autosized. Change 4036322 by Max.Chen Forgot missing change Change 4036360 by Max.Chen Sequencer: Fix play rate calculation when skeletal animation section play rate changes. Change 4037163 by Mike.Zyracki Weighted Tangent Implementation Tricky thing is that you need to solve a cubic in order to get the bezier weights for the time part of the curve. See https://www.gamedev.net/forums/topic/474094-help-function-curves-for-animation-interpolation/ Maya provides an implementation in it's dev kit but I didn't use it since it was horribly slow and uses an iterative solution to solve the cubic needed. Instead I use an old algorithm (Cardano's method), to solve the cubic which should be much faster. Though relative simple to code from principles I just went ahead and used a version from Graphics Gems 1. I put this cubic solver directly in MovieSceneFloatChannel.cpp, but will need to move it when we support Rich Curve, maybe to FMath:: (which would probalby require some other functions for solving quartics, etc.. for completeness.). Also note we resolve this on every evaluation but dont' need to if the interval the time is evaluating hasn't had any change in values or tangents. So again when we support FRichCurve we can create a Weighted Evaluating class that can hold the cache. Also with the tangent drags I got rid of the Cardinal position that was used to calculate non-weight tangents from the key point and just quickly getting a direction. With weighted tangents we need to use the delta instead (otherwise when moving multiple they would all get the same weight based upon distance to the cardinal point. ) For mixed tangents types what I'm defaulting to non weighted if the interval doesn't match. May need to do weighted instead, not sure. What's left is just FBX import, for tomorrow. #jira UESEQ-76 Change 4037435 by Mike.Zyracki Fix fo build warnings from weighted tangent submission. #trivial Change 4038091 by Michael.Karambelas QAGame: Updated a Sequence Recorder group in TM-SequenceRecorder that had an actor missing the animation. Change 4038374 by Andrew.Rodham Sequencer: Refined scrubber styling for level sequences and actor sequences - Scrubber now shows a block the width of a dsplay rate frame, plus a line for the actual evaluated time. UMG reverts back to the previous styling (no block) - Keys that are outside of the playback range are now drawn with a subdued effect - Tick labels are no longer drawn when directly underneath the scrubber Change 4038490 by Max.Chen Sequencer: Expose tangent weight values in details panel. Change 4038620 by Andrew.Rodham Sequencer: Advanced time panel polish #jira UESEQ-426 Change 4038677 by Max.Chen Movie Scene Capture: Redirector for MovieSceneTools.AutomatedLevelSequenceCapture #jira UE-58248 Change 4039739 by Max.Chen Sequencer: Media track should only be supported by Level Sequence Change 4040024 by JohnHenry.Carawon QAGame: Fix EventReciever and OverrideBinding example The level sequence was set to none so the fix was to set it back to TrackEvaluation_Master. Change 4040610 by Andrew.Rodham Curve Editor: Moved weighted tangent switchers to a single toggle command (CTRL+W) and added an icon #jira 58383 Change 4040882 by Mike.Zyracki Keep broken when turning on weighted #jira UE-58435 Change 4041089 by andrew.porter QAGame: Sequence for Long Tangents bug Change 4041498 by Mike.Zyracki Turn off weighted when going auto to prevent large tangents. Do it both in UI and when doing AutoSetTangents() to really make sure it doesn't happen. #jira UE-58452 Change 4041752 by andrew.porter MediaFrameworkTest: Adding some better logging for setting rates when not supported. Also ignoring commiting URL when there is no text Change 4041896 by Matt.Hoffman The transform dialog box now transforms selected keys and sections, instead of just keys. #jira UE-58265 [CL 4044405 by Max Chen in Main branch]
2018-05-02 10:10:00 -04:00
bMirrorLabels ? VanillaScrubHandleDownBrush : VanillaScrubHandleUpBrush,
DrawEffects,
MouseStartPosX < MouseEndPosX ? FLinearColor(0.5f, 0.5f, 0.5f) : FLinearColor(0.25f, 0.3f, 0.3f)
);
}
return ArrowLayer;
}
return LayerId;
}
Copying //UE4/Dev-Sequencer to //UE4/Main ========================== MAJOR FEATURES + CHANGES ========================== Change 2875025 on 2016/02/20 by Andrew.Rodham Sequencer: Cinematic viewport improvements - Added optional letterbox overlay (defaults to 2.35:1) - Added ability to change safe frame colors - Added selected tracks' keys to the transport range - Added buttons for jumping between selected tracks' keyframes on the transport controls - Removed black padding around the viewport where possible - Added ability to specify whether a combo button/menu anchor should close when its parent receives focus - Separated logic of FGroupedKeyArea into FSequencerKeyCollection, so it can be used independently - Added playback range to the viewport frame numbers - All frame numbers are now spin boxes #jira UE-26429 Change 2875026 on 2016/02/20 by Thomas.Sarkanen Added console commands for recording sequences Changed plugin to a developer plugin so we can load it when the editor is in -game mode. Added Exec commands. Added some more logging to help diagnose problems when using commands. Added loading/saving of config for recorder settings (stored in Editor.ini). Also disabled controls in recorder window when recording. Added auto-saving of assets when in non-editor modes. Moved animation settings from UnrealEd to Engine module. Change 2875036 on 2016/02/20 by Max.Chen Sequencer: Call RedrawAllViewports instead of RedrawLevelEditingViewports. In particular, this fixes some update issues when editing values in the key editors. #jira UE-26960 Change 2875046 on 2016/02/20 by Max.Preussner Sequencer: Fix so that clicking on UMG Animations doesn't dirty the scene. #jira UE-26249 Change 2875047 on 2016/02/20 by Max.Chen Sequencer: Add option to toggle display of channel colors/lines. View->Channel Colors Change 2877138 on 2016/02/23 by Max.Chen Sequencer: Select corresponding track node when selecting key or section. Removed active/inactive selection since it was only being used in deletion and the rules for deletion are now dependent upon what is selected - delete keys and sections before deleting outliner nodes. Change 2877143 on 2016/02/23 by Thomas.Sarkanen Added new math function: WindRelativeAnglesDegrees Given two angles in degrees, 'wind' the angle in Angle1 so that it avoids >180 degree flips. Good for winding rotations previously expressed as quaternions into a euler-angle representation. Change 2877147 on 2016/02/23 by Thomas.Sarkanen Added the ability to import sequencer transforms from the root node of an animation sequence Intended for use after re-importing animations from DCC tools. Available in the right-click menu for transform tracks. Also added FindTrackBinding to UMovieScene so track bindings can be recovered from tracks. Change 2877163 on 2016/02/23 by Max.Chen Sequencer: Add option to create keyframe sections as infinite. Sequencer defaults to true, UMG defaults to false. Change 2877165 on 2016/02/23 by Max.Preussner Sequencer: Drawing vertical position lines when dragging keys Change 2878748 on 2016/02/23 by Max.Chen Curve Editor: Switch curve type to user when flatting or straightening tangents. #jira UE-27277 Change 2878799 on 2016/02/23 by Frank.Fella Sequencer - Add folders support to the outliner. Change 2880769 on 2016/02/24 by Andrew.Rodham Sequencer: Added ability to override runtime spawnable ownership in sequencer - This is exposed as an option on spawnables "Keep Alive Outside Playback Range (In Sequencer)" - Enabling this will stop spawnables from being destroyed when scrubbing outside of the playback range #jira UE-27205 Change 2880770 on 2016/02/24 by Thomas.Sarkanen Sequencer: Added countdown and recording indicator display when recording Also fixed extra popups added post-PIE when animation recordings auto shutdown. Change 2880782 on 2016/02/24 by Max.Chen Sequencer: Snapping now also uses the current time as a possible snap time. #jira UE-26306 Change 2880793 on 2016/02/24 by Max.Chen Sequencer: Add +Animation to Animation track so that it's consistent with all other tracks that have a + button. Change 2880812 on 2016/02/24 by Max.Chen Sequencer: Fix adjusting the leading edge of a shot section so that it cuts into the shot rather than adjusts the start time. #jira UE-26306 Change 2881624 on 2016/02/25 by Andrew.Rodham Changing shader version GUID to fix corrupt shaders in ddc Change 2882408 on 2016/02/25 by Thomas.Sarkanen Asset/actors stored in TLazyObjectPtrs can now reference game content from engine This is a legitimate use case as lazy object ptrs are designed to reference assets/actors cross-domain. Change 2882409 on 2016/02/25 by Thomas.Sarkanen [CL 2899785 by Max Chen in Main branch]
2016-03-08 16:55:04 -05:00
Copying //UE4/Dev-Editor to //UE4/Dev-Main (Source: //UE4/Dev-Editor @ 3497164) #lockdown Nick.Penwarden #rb none ===================================== MAJOR FEATURES + CHANGES ===================================== Change 3433074 by Matt.Kuhlenschmidt Fix crash when clicking on certian tutorial blueprints. #jira UE-44593 Change 3433075 by Matt.Kuhlenschmidt Remove hittest grid log spam. The underlying problem causing this has been fixed Change 3433077 by Matt.Kuhlenschmidt Fix lighting becoming unbuilt when mesh painting #jira UE-44837 Change 3433081 by Matt.Kuhlenschmidt PR #3553: Crashfix for static array properties (Contributed by Pierdek) Change 3433104 by Alexis.Matte Make sure re-import skeletal mesh follow the import morph option #jira UE-42846 Change 3434825 by Matt.Kuhlenschmidt Fix crash when GC happens while the vr editor radial menu is open. Change 3434831 by Matt.Kuhlenschmidt Added missing file Change 3434868 by Shaun.Kime If you have a reroute node between a Material Function texture input and its usage, the parent material will fail to resolve the reroute node. #jira ue-44670 Change 3434998 by Alexis.Matte Meshes editors material/section panel are now fully transactional - Staticmesh editor: section material slot, section cast shadow, section collision, material slot instance, material slot name - Skeletal mesh editor: material slot instance, material slot name Also fix some transaction description #jira UE-44462 Change 3435195 by Jamie.Dale Fixed incorrect handling of some LTR scripts that require shaping These scripts need to go through HarfBuzz, and this also fixes a case where HarfBuzz wasn't applying font scale correctly. #jira UE-44767 Change 3435199 by Jamie.Dale Fixed some crashes/artifacts with bidirectional text It was possible for a line to compute an incorrect range, which could cause crashes or other highlighting issues. The highlighting logic has also been updated as the old code didn't handle all bidirectional cases correctly. Change 3435200 by Jamie.Dale Fixed a grapheme cluster metrics issue in the font editor viewport The viewport also now respects the default shaping method CVar. Change 3435771 by Alexis.Matte Fix degenerated bounds calculation for skeletalmesh when the skeleton is remove from a re-import (PhysicAsset API change, adding 1 function) #jira UE-44609 Change 3436856 by Jamie.Dale Added some missing Unicode block ranges Change 3436914 by Jamie.Dale Adding some missing combining character ranges to the text shaper Change 3436923 by Alexis.Matte PR #3463: Get bounds for all triangles, not just the first one. WedgeIndex was . (Contributed by DaveC79) #jira UE-43764 Change 3436948 by Jamie.Dale Updated the Portal to use the predefined Unicode block ranges Change 3436961 by Max.Chen Sequencer: Show camera shake/anim track menus even if there aren't any assets. Change 3437244 by Max.Chen Sequencer: Clear locked cameras when releasing Sequencer. #jira UE-44967 Change 3437515 by Arciel.Rekman UBT: improvements for LocalExecutor. - Larger number of parallel jobs on 16GB+ machines. - Use WaitForExit() instead of polling. - Tested on Linux and Mac. Change 3437629 by Matt.Kuhlenschmidt Improve asset import data display in static and skeletal meshes Change 3438047 by Arciel.Rekman Fix overlapping ranges being passed to memcpy(). Change 3438822 by Yannick.Lange ViewportInteraction: Move gizmo handle files to make them private. Change 3438906 by Matt.Kuhlenschmidt PR #3556: Git Plugin: fix new option "init Git LFS" that make assets read-only (master/UE4.17) (Contributed by SRombauts) Change 3438907 by Matt.Kuhlenschmidt PR #3565: add -quality option to buildlighing commandlet (Contributed by kayama-shift) Change 3438908 by Matt.Kuhlenschmidt PR #3558: UE-44862: Always update SColorPicker color on OK button (Contributed by projectgheist) Change 3439393 by Matt.Kuhlenschmidt Force highest LOD for highres screenshots Change 3439819 by Matt.Kuhlenschmidt Turned FAssetData into a struct for some upcoming script exposure of FAssetData Change 3439949 by Arciel.Rekman Fixed selection logic for the UE4_LINUX_USE_LIBCXX environment variable. - Allows disabling libc++ by setting the variable to 0. - Pull request #3576 contributed by jared-improbable. Change 3441078 by Jamie.Dale The culture/language/locale console commands are now available in all build configs Change 3441109 by Jamie.Dale Text containing surrogate pairs now runs through HarfBuzz when shaping in Auto mode This is needed as the kerning-only shaping code assumes that everything is within the BMP Change 3441275 by Matt.Kuhlenschmidt Disable spinning on location and scale. These dont work because we have no notion of infinite spinning Change 3442748 by Yannick.Lange ViewportInteraction: Remove unused console variables. Change 3442775 by James.Golding Add support for editing MaterialFunctions to MaterialEditingLibrary Pull Material recompile/update code into UMaterialEditingLibrary::RecompileMaterial Pull MaterialFunction update code into UMaterialEditingLibrary::UpdateMaterialFunction util Move RebuildMaterialInstanceEditors to UMaterialEditingLibrary Added test content for Material/MaterialFunction editing Add needed BlueprintReadWrite to expressions (constants, function input/output) Expose UMaterialExpressionMaterialFunctionCall::SetMaterialFunction to BP, rename old func (which takes old function) to SetMaterialFunctionEx, also expose GetInputNameWithType Change 3442779 by James.Golding Fix header order Change 3442817 by Yannick.Lange ViewportInteraction: Add can execute checks for level editor commands. Change 3443038 by Michael.Dupuis #jira UE-43377: When you select a foliage actor we will move all instance contained in it to the new level as we can't move a foliage actor Only permit moving foliage instance if there is some selected Change 3443855 by Michael.Dupuis #jira UE-44885: Unregister from PerModuleDataObjects when the object is destroyed Change 3446096 by Max.Chen Sequencer: Add OnFinished() event when a level sequence completes playback #jira UE-45173 Change 3446097 by Max.Chen Sequencer: Evaluate one last time before the sequence is torn down and reset #jira UE-45174 Change 3446242 by Jamie.Dale Fixed caret not appearing in empty text layouts Caret selections have no range, and therefore have no width Change 3446361 by Matt.Kuhlenschmidt Fix WITH_EDITOR only functions causing generated code compile errors when the all functions on the class are WITH_EDITOR Change 3446457 by Alexis.Matte Polish the speed tree import dialog #jira UE-44963 Change 3446946 by Michael.Trepka Modified FWindowsWindow::GetRestoredDimensions to return correct window position for normal windows for which GetWindowPlacement returns position in workspace coordinates #jira UE-37934 Change 3447543 by Arciel.Rekman Reduce VMAs on Linux. - Trades off increased address space (VIRT in terms of ps/htop) for smaller number of distinct mappings (VMAs, virtual memory areas). This decreases possibility to run into vm.max_map_count limit on Linux. - Tested on Linux and Mac. Change 3448468 by Arciel.Rekman Fix race condition during creation of GMalloc. - On Mac GMalloc can be created on two different thread that are racing with each other - app's main thread and a system thread. Change 3449012 by Max.Chen Sequencer: Add time to transform, color and vector key structs so that key times are editable from the key editors. #jira UE-45089 Change 3449018 by Max.Chen Sequencer: Add OnCameraCut event that fires when there is a camera cut. #jira UE-45137 Change 3449195 by Max.Chen Sequencer: Add setting for limit scrubbing to playback range. #jira UE-43502 Change 3449198 by Max.Chen Sequencer: Reorder hierarchical bias so that group priority takes precedence. Change 3449217 by Max.Chen Sequencer: Add setting to activate realtime viewports when in sequencer. Change 3449219 by Max.Chen Sequencer: Focus on search boxes when opened. Change 3449238 by Max.Chen Sequencer: Assign actor should replace the actor itself after it has updated all the components. Also, replace components be fullname rather than by class. Change 3449239 by Max.Chen Sequencer: Fix offsets when moving multiple sections. Dragging should be clamped to the bounds that any of the selected sections hits against the unselected sections. Change 3449241 by Max.Chen Sequencer: Restore section selection after full tree rebuild. Change 3449279 by Max.Chen Sequencer: Set movie scene capture frames only when not using custom frames. This allows the user entered frame numbers to persist in config, rather than overwriting them when doing a "Render Shot" Change 3449280 by Max.Chen Sequencer: Spawn in the persistent level. Otherwise, they get spawned into whatever sublevel is current. #jira UE-44552 Change 3449294 by Max.Chen Sequencer: Null check for sequencer ed mode crash. Change 3449297 by Max.Chen Sequencer: Fix delay in sliding values. Mark changed when sliding values. Mark refresh immediately when committing values since OnValueChanged will be called and needs to have the correct value that was refreshed immediately. #jira UE-42866 Change 3449542 by Max.Chen Sequencer: Fix scrubber hit testing so that the time scrubber is really favored over the playback ranges. #jira UE-44569 Change 3451507 by Matt.Kuhlenschmidt Fix extra slate uv coords not functioning on ES2 Change 3451510 by Matt.Kuhlenschmidt PR #3595: Fixed wrong colour for level status (Contributed by ronve) Change 3451529 by Alexis.Matte fbx scene importer: Make sure we set INVALID_UNIQUE_ID to node that has no attribute. #jira UE-34410 Change 3451611 by Yannick.Lange ViewportInteraction: Dragging gizmo without second pass for snapped calculations. Change 3452134 by Jamie.Dale Fixed constant font cache flushing if a widget had no font set Change 3452239 by Jamie.Dale Fixed constant font measure flushing if a widget had no font set Change 3452243 by Jamie.Dale Removed deprecated code for creating fonts from bulk data Change 3452277 by Jamie.Dale The concept of "stale" composite fonts is now editor-only Change 3452358 by Alexis.Matte Fbx scene importer: Do not remove existing attribute reference from the blueprint if the reimport of the associate mesh attribute is not tick. #jira UE-45232 Change 3452678 by Max.Chen Sequencer: Fix crash on export if there's no shot data. Change 3453057 by Matt.Kuhlenschmidt Exposed asset exporting to script Change 3453782 by Andrew.Rodham Sequencer: Fixed deterministic cooking issues with movie scene data - Movie scene signatures are now initialized in PostInitProperties - A warning is now presented when attempting to cook old data that was never serialized with a signature. - Removed redundant legacy data upgrade logic that could dirty level sequences on load. #jira UE-44912 Change 3453788 by Yannick.Lange ViewportInteraction: Custom scene proxy for gizmo handles. Change 3453938 by Max.Chen Sequencer: Hotkeys (shift , and shift .) to step to next/previous shot #jira UE-45119 Change 3454058 by Michael.Dupuis Fixed StaticAnalysis Change 3454077 by Max.Chen Sequencer: Fix not saving the pre-animated track value when creating a track/key. On pre object change, broadcast property change so that a track or key can be created. That track/key needs to be evaluated immediately so that the pre-animated state can be saved properly. This is done now with RefreshAllImmediately and is only called when a track has been created. Also, added a return value for OnKeyProperty, so that it's known what changed in particular (ie. track created, track modified, etc) Also, fixed transform keying so that if a transform track already exists for the object or the scene component, the existing track is used. #jira UE-45130 Change 3454108 by Nick.Darnell UMG - Fixing the WIC to properly record cursor delta so that scrollbars work. Change 3454109 by Jamie.Dale Cache the text layout source info in non-shipping builds so you can inspect it in the debugger Change 3454202 by Matt.Kuhlenschmidt Fix bogus error message about the number of usable texture coordinates on ES2 when compiling a UI domain material Change 3454390 by Yannick.Lange Fix creating a plugin in a C++ project opens a second instance of Visual Studio. Use SourceCodeAccessor to open solution when necessary. #jira UE-45035 Change 3454564 by Matt.Kuhlenschmidt #rnx Fix deprecation warnings Change 3455471 by Yannick.Lange ViewportInteraction: Fix entering and exiting VR Mode disables gizmo in desktop editor viewport. #jira UE-44965 Change 3456183 by Max.Chen Sequencer: Auto key, auto track refactor. Auto key - create a key when the property changes and there's an existing track. Auto track - create a track when the property changes. This is only exposed in the level sequence editor. All - create a key and a track when the property changes. This is only exposed in VR Editor. None - do nothing. #jira UE-43469 Change 3456349 by Andrew.Rodham Sequencer: Only perform legacy signature checks on instances, and only where signatures match the CDO Change 3456678 by Alexis.Matte Allow to add null level instance override material via the advance material array. But still limit the override material number to the mesh material number. #jira UE-45306 Change 3456945 by Max.Chen UMG: Add restore state to 2d transform section. #jira UE-45372 Change 3457196 by Arciel.Rekman Linux: serialize allocations from the memory pool. Change 3458434 by Max.Chen Sequencer: Remove obsolete set tick prerequites functions. Change 3458671 by James.Golding Added MIC editing support to MaterialEditingLibrary Fix static analysis warning Change 3458888 by Matt.Kuhlenschmidt PR #3615: More detailed log messages for debugging warnings/errors (Contributed by projectgheist) Change 3458893 by Matt.Kuhlenschmidt PR #3583: UE-44960: Delta value wasn't being used (Contributed by projectgheist) Change 3458895 by Matt.Kuhlenschmidt Fix typo Change 3458902 by Matt.Kuhlenschmidt PR #3607: Improved InputKeySelector functionality (Contributed by projectgheist) Change 3458917 by Matt.Kuhlenschmidt Fix crash with invalid object properties in the class picker #jira UE-39000 Change 3458939 by Matt.Kuhlenschmidt Fix compile error Change 3458984 by andrew.porter QAGame: Initial check in of sequencer smoke test map Change 3459510 by Matt.Kuhlenschmidt Fixed ensure when deleting a map that contains build data which also happens to be the currently loaded map. #jira UE-45052 Change 3460985 by Max.Chen Sequencer: Snap play time to keys now allows scrubbing between keys and snaps to key times within a certain screenspace tolerance. #jira UE-45090 Change 3461698 by Arciel.Rekman Avoid using ARRAY_COUNT in Vulkan. - Sometimes those arrays can have no extensions whatsoever, and it is illegal to declare a 0 element C array. Change 3462053 by Max.Chen Sequencer: Show sequencer spawnables in the world outliner and add the icon overlay for spawnables. #jira UE-43470 Change 3462139 by Max.Chen Property Editor: Add objects to FPropertyAndParent Change 3462202 by Arciel.Rekman Fix FSocket::Recv() blocking with Peek when there's no data. Change 3462253 by Nick.Darnell Slate - New Clipping System Clipping is now a stateful choice made during composition of the slate hierarchy. Previously every widget got to respect or modify the clipping rect on an as needed basis. The problem was that clipping was only allowed in the layout space of the widget, and it wasn't possible to properly clip elements with render transforms. The new system permits all kinds of transforms on any widget, and they will all be clipped correctly. It tries to use Scissor Rects as they are much cheaper, but will switch over to stenciling if need be to represent a complicated masking structure with several rotated clipping rects all needed to be combined together. Here are the new clipping states a widget can have, almost all widgets are set to No. Only change it from No if your widget actually needs to clip, generally speaking most widgets don't need to clip. /** * This widget does not clip children, it and all children inherit the clipping area of the last widget that clipped. */ Inherit, /** * This widget clips content the bounds of this widget. It intersects those bounds with any previous clipping area. */ ClipToBounds, /** * This widget clips to its bounds. It does NOT intersect with any existing clipping geometry, it pushes a new clipping * state. Effectively allowing it to render outside the bounds of hierarchy that does clip. * * NOTE: This will NOT allow you ignore the clipping zone that is set to [Yes - Always]. */ ClipToBoundsWithoutIntersecting UMETA(DisplayName = "Yes - Without Intersecting (Advanced)"), /** * This widget clips to its bounds. It intersects those bounds with any previous clipping area. * * NOTE: This clipping area can NOT be ignored, it will always clip children. Useful for hard barriers * in the UI where you never want animations or other effects to break this region. */ ClipToBoundsAlways UMETA(DisplayName = "Yes - Always (Advanced)"), /** * This widget clips to its bounds when it's Desired Size is larger than the allocated geometry * the widget is given. If that occurs, it behaves like [Yes]. * * NOTE: This mode was primarily added for Text, which is often placed into containers that eventually * are resized to not be able to support the length of the text. So rather than needing to tag every * container that could contain text with [Yes], which would result in almost no batching, this mode * was added to dynamically adjust the clipping if needed. The reason not every panel is set to OnDemand, * is because not every panel returns a Desired Size that matches what it plans to render at. */ OnDemand UMETA(DisplayName = "On Demand (Advanced)") - Large API Change - All FSlateDrawElement::Make_____ calls have been deprecated that involved passing in a clipping rect. You no longer should are passed a Clipping rect via OnPaint. You are still passed a rect, but this rect represents a Culling Rect, which is valuable if you need to just out right not paint things the user can't possibly see. If you were previously trying to determine if you should cull widgets, by doing something like this, if ( FSlateRect::DoRectanglesIntersect(MyClippingRect, CurWidget.Geometry.GetRenderBoundingRect()) ) That's no longer a good option since there are ways for widgets to ignore the culling bounds. You should convert anything like above to the one below, if (!SWidget::IsWidgetCulled(MyCullingRect, CurWidget)) To assist in debugging efforts, there are several new debugging console flags in Slate, Slate.ShowClipping 1 - Controls whether we should render a clipping zone outline. Yellow = Axis Scissor Rect Clipping (cheap). Red = Stencil Clipping (expensive). Slate.DebugCulling 1 - Disables pushing clipping or stencil rects to the GPU, but continues to intersect culling rects, so that you can tell if a widget is properly culling children it can't possibly draw. Slate.ShowTextDebugging 1 - Show debugging painting for text rendering. I've added a new Experimental Feathering Option, it adds AA geometry around the outside of Box and Image brushes. Slate.Feathering 1 If you're using RenderDoc or something similar, you can now enable render events for slate, so that you can better grok how we're batching and changing states for each UI render pass. Slate.EnableDrawEvents 1 #jira UE-4659 #rn Change 3462714 by Nick.Darnell Fixing a few more compiler issues with the clipping changes. Change 3462726 by Max.Chen Switch OnEditStructChildContentsChanged to use FObjectWriter instead of FMemoryWriter which supports serializeing UObjects. This fixes a crash when adding actor array elements to a user defined event struct. #jira UE-45431 Change 3462801 by Nick.Darnell Adding a UMG dependency to EngineTestBuild. Change 3462914 by Max.Chen Sequencer: Fix regression where spawnables aren't getting saved. Caused by 3407138 #jira UE-30007 #jira UE-39003 Change 3462946 by Nick.Darnell Automation - Tweaking the UI automation tests converting them over to use the new UI Screenshot automation test. Automation - Adding a blur widget test. Change 3462987 by Matt.Kuhlenschmidt Back out changelist 3458893 Change 3464774 by Matt.Kuhlenschmidt PR #3629: Bugfix: Missing small icon in Project Launcher profile editor (Contributed by aarmbruster) Change 3464785 by Nick.Darnell Fixing some clipping stuff in the editor. Change 3464830 by andrew.porter QAGame: Second pass on sequencer smoke test map Change 3464902 by Nick.Darnell Loading - Adding some additional checks to the the loading code to ensure we're on the main thread. Additionally adding a fix from UDN that prevents deadlocks in the rare case a user hits Alt+Tab in a fullscreen game while in a hard loading screen. Change 3464988 by Max.Chen Sequencer: Add attenuation settings for attached audio components. #jira UE-33080 Change 3465024 by Nick.Darnell MoviePlayer - Impoving the playback mode displaynames. Change 3465074 by Arciel.Rekman Fix shadowing issues of GraphicsPSOInit. Change 3465097 by Matt.Kuhlenschmidt Some refactoring of the details panel Exposed new methods of adding a struct on scope to a details panel and have it work properly with customizations. The scruct on scope has a "fake" ustructproperty that allows the details panel to show the whole struct not just an individual property. Refactored the API for adding rows to details panels to make it more consistent\ AddChildCustomBuilder->AddCustomBuilder AddChildGroup->AddGroup AddChildContent->AddCustomRow AddChildPropert->AddProperty AddChildStructure->AddExternalStructureProperty AddStructure->AddAllExternalStructureProperties AddExternalProperty->AddExternalObjectProperty or AddExternalStructureProperty Change 3465186 by Max.Chen Sequencer: Save the BindingID in the pre animated token producer so that it can be destroyed properly. This fixes a bug where the default state of a spawnable isn't saved. #jira UE-43780 Change 3465315 by Matt.Kuhlenschmidt Fix Fortnite and Orion details panel customization warnings Change 3465424 by Nick.Darnell Automation - Moving the step for setting the link to the automation reports to be set before we start the engine. Change 3465488 by Nick.Darnell Automation - Forcing textures to load before taking screenshot, so that the scene gets another opportunity to render before we render with Slate. This should fix the Blur UI Test. Change 3466277 by Arciel.Rekman Linux: fix window drift when dragging (UE-40380). - Change by Cengiz Terzibas. Change 3466370 by Nick.Darnell UMG - Fixing the colors for the resize handle in the designer. Change 3466372 by Nick.Darnell UMG - Fixing the ruler ticks sometimes not being drawn. Change 3466374 by Nick.Darnell UMG - Fixing the designer showing multiple options for sequencer. Change 3466377 by Nick.Darnell UMG - Cleaning up some clipping bits. Change 3467025 by Andrew.Rodham Re-saving assets that contain legacy (<4.15) movie scene data to remove deterministic cook warning. If conflicts arise during merging of these assets, please ignore the changes made in dev-editor, and accept game-side changes. (CIS step 62283298, jobId 7773146) (CIS step 62283297, jobId 7773146) Change 3467099 by Max.Chen Fix GetObjectPropertyClass ensure logic. This was returning UObject::StaticClass when valid. Change 3467172 by Max.Chen Sequencer: Evaluation optimizations. Also, fixes subsequences not getting expired, leaving dangling spawnables. #jira UE-43690 Change 3467192 by Matt.Kuhlenschmidt Fix transactions getting stuck in the color grading controls. This prevents PIE from working properly and causes shutdown crashes #jira UE-45527 Change 3467251 by Yannick.Lange ViewportInteraction: Fix scale and rotation snap while dragging with two lasers. #jira UE-43489 Change 3467331 by Matt.Kuhlenschmidt Fix D3D shader compiler hard coding shader path and not giving proper warnings when it cannot find the shaders Change 3467335 by Matt.Kuhlenschmidt Remove DarkStyle attribute from SNumericEntryBox and allow a spin box style to be passed to it. Change 3467558 by Max.Chen Scene Outliner: Generic support to add default columns to a scene outliner. Change 3467565 by Jamie.Dale Removing old screenshot data for test Change 3467589 by Nick.Darnell Editor - Random cleanup. Change 3467596 by Nick.Darnell Progress Bar - Exposing Border Padding to UMG. Change 3467600 by Nick.Darnell Slate - Adjusting the rendering of the splitter, previously it could be off by a pixel or two, which becomes more apparent now with the clipping changes. Change 3467601 by Max.Chen Property Editor: Fix static analysis warning Change 3467662 by Nick.Darnell Automation - Fixing a bug with the screenshot comparison tool not replacing (removing) the old screenshot data. Change 3467674 by Max.Chen Property Editor: Fix static analysis warning Change 3467737 by Max.Chen Sequencer: Added OnMovieSceneBindingsChanged delegate Change 3468053 by tim.gautier QAGame: Updating Editor Smoke Map - Updated landscapes into Stations for testing - Added Foliage Sublevel Change 3468194 by Arciel.Rekman Linux: fix problems communicating with various STL-using libs. - Stop hiding global new/delete signatures. - Disable CEF3 since this change uncovers the problem with libcef.so not built to use bundled libpng. Change 3468678 by Max.Chen Sequencer: Set "Sequencer Actor" tag before setting the actor label so that the outliner refreshes after the actor has the tag. Change 3469314 by tim.gautier QAGame: Added Painted Foliage / Spline section to EditorSmoke map Change 3469377 by Nick.Darnell Slate - Fixing some warnings in a couple of sample games due to the clipping changes. #rnx Change 3469767 by Max.Chen Sequencer: Outliner column and sequencer binding data #jira UE-43470 Change 3469974 by Arciel.Rekman Fix code projects not working in Linux installed build. Change 3470082 by Nick.Darnell Slate - The GetRenderer() call on SlateApplication no longer returns a SharedPtr, rather than convert it to a thread safe ptr, going to just make accessing it a raw ptr return, so it can be safely referenced on the game thread while being used on the slate loading thread. Change 3470174 by Nick.Darnell Slate - Get the last widget in a widget path utility. Change 3470176 by Nick.Darnell UMG - User Widgets now have an easy way to know if they're part of or have been removed from the focused widget path, which is handy for doing effects. Change 3470261 by Nick.Darnell Slate - The GetRenderer() call on SlateApplication no longer returns a SharedPtr, rather than convert it to a thread safe ptr, going to just make accessing it a raw ptr return, so it can be safely referenced on the game thread while being used on the slate loading thread. Change 3470286 by Max.Chen Sequencer: Scene Component's HiddenInGame now goes through the VisibilityTrack and the visibility template. Change 3470366 by Nick.Darnell Slate - We now version focus per user, that way during focus events, we can safely abort focus events and state transitions if someone interrrupts the active focus event with something new. Change 3470649 by Matt.Kuhlenschmidt Fix deprecation warnings Change 3470695 by Matt.Kuhlenschmidt Fixed typo #jira UE-45580 Change 3470721 by Matt.Kuhlenschmidt Fix static analysis Change 3471254 by Michael.Dupuis #jira UE-42952: Keep occlusion result per view Change 3471287 by Nick.Darnell UMG - Render Focus Rule now defaults to never. Change 3471291 by Nick.Darnell Slate - Fixing FSlateRenderer* change fallout. Change 3471299 by Nick.Darnell Slate - Fixing FSlateRenderer* change. Change 3471323 by Nick.Darnell Automation - Fixing automation and Static Analysis warning. Change 3471413 by andrew.porter QAGame: Added test content for anim blending and material parameteres to sequencer smoke level Change 3471649 by Max.Chen Sequencer: Modify the track when adding animation #jira UE-45618 Change 3471659 by Matt.Kuhlenschmidt Added a way to check if a movie is playing from the engine. Prevented viewport redraws for canvas loading screens if a slate based loading movie is playing Change 3471734 by Matt.Kuhlenschmidt Added basic material hookup to USD. Similar to FBX it will find materials based on rules specified by the user in the import settings Change 3472176 by Nick.Darnell UMG - Improving the display of the +Track menu in sequencer for UMG. Renamed it from +Add, which is repetitve to +Track. Additionally, the dropdown now shows the currently selected widgets, as well as a submenu containing all the 'important' widgets, so we no longer populate that list with a ton of irrelevant widgets that are just Buton_1 - N, which is pointless in showing people, they'll never guess which is the right button. Change 3472740 by Max.Chen Sequencer: Add GetThisFrameMetaData accessor Change 3472748 by Max.Chen Sequencer: Added OnBeginScrubbing and OnEndScrubbing event delegates Change 3472753 by Max.Chen Sequencer: Add EMovieSceneDataChangeType parameter to OnMovieSceneDataChanged delegate Change 3472870 by Nick.Darnell Clipping - Fixing the deprecated tip for scissor rect boxes to be correct. Removing it's usage from UT. Change 3473340 by Max.Chen Scene Outliner: Add ability to register additional filters Change 3473348 by Max.Chen Details View: Make ForceRefresh virtual. Added accessors to delegates (ie. GetIsPropertyReadOnlyDelegate) Change 3473441 by Max.Chen Sequencer: Autokey Refactor Part 2. Autokey is now a single toggleable state. Allow Edits Mode has 3 states: Allow All Edits - Allow any edits to occur, some of which may produce tracks/keys or modify default properties. Allow Sequencer Edits Only - All edits will produce either a track or a key. Allow Level Edits Only - Properties in the details panel will be disabled if they have a track. #jira UE-45229 Change 3473670 by Nick.Darnell Modules - The module manager no longer returns sharedptrs to IModuleInterfaces, this was the source of rare hard to track down crashes due to a shared ptr reference leak when GetModule was called on non-main threads. We now store a TUniquePtr internally, and only lease out raw pointers. #rn Change 3473711 by Nick.Darnell Disabling the ensure in the module manager. Change 3473747 by Max.Chen Sequencer: Fix tooltip Change 3474091 by Jamie.Dale Added a warning when cooking a UFontFace that is outered to a UFont asset These cause issues with iterative COTF, and should be split off into their own assets (as the UI has been asking people to do for several versions) Change 3475052 by Yannick.Lange VR Editor: Fix Crash when quitting the editor with VR Mode enabled. VR Editor was being enabled when saving the map on closing the editor. #jira UE-45415 Change 3475054 by Yannick.Lange Fix crash when adding a camera to the world in VR Mode the second time. The slate application did not reset when stop dragging in VR Mode, so the second time when starting to drag a camera out of the UI it would already by in a dragging state. #jira UE-45574 Change 3475263 by Nick.Darnell Fixing some additional cases of IModuleInteface SharedPtr usage. Change 3475268 by Max.Chen Sequencer: Set jumped state when looping playback. This fixes an issue where audio doesn't stop and restart when looped. #jira UE-45654 Change 3475269 by Max.Chen Scene Outliner: Additional filters should only apply to actor browsing mode Change 3475407 by Nick.Darnell Fixing some clipping / module shared ptr changes in the launcher code. Change 3475542 by Max.Chen Sequencer: Update thumbnail and section highlighting to use new clipping behavior. #jira UE-45692 #jira UE-45689 Change 3475743 by Michael.Dupuis #jira UE-45183: When updating phyx region take into account simple collision mip Change 3475949 by Arciel.Rekman Remove PhysX deoptimization (no longer needed). - OR-24947 has been closed three months ago. Change 3476022 by Michael.Dupuis #jira UE-45560: Make sure we're not going out of range Change 3476063 by Michael.Dupuis #jira UE-45562: Do not try to unregister from static mesh if no static mesh is specified for the component Change 3476168 by Michael.Trepka Added handling of directory symlinks to FApplePlatformFile::IterateDirectory #jira UE-43704 Change 3476172 by Nick.Darnell Fixing a Imoduleinterface change. Change 3476183 by Jamie.Dale Exposing GoTo/ScrollTo to single-line editable text for API parity with multi-line editable text Change 3476385 by Arciel.Rekman Linux: handle symlinks when iterating directories. Change 3476522 by Michael.Trepka Solved a problem with Mac FMallocTBB::Malloc() returning nullptr for 0 bytes allocations, which is inconsistent with other platforms. On Mac we always scalable_aligned_malloc, which behaves differently than scalable_malloc, so for 0 bytes requests we allocate sizeof(size_t), which is exactly what scalable_malloc does internally in such case. Change 3476806 by Nick.Darnell UMG - Focus the designer after dropping a widget onto the surface. Change 3476809 by Nick.Darnell Curve Editor - Enable Clipping on the curve editor. Change 3477475 by Nick.Darnell Fixing a module interface shared ptr usage in UT. Change 3477553 by Yannick.Lange VR Editor: Removed AssetEditorPanelID and replaced it with TabManagerPanelID. A panel for AssetEditorPanelID was never created making it impossible to open an asset editor. Change 3477734 by Yannick.Lange VR Editor: Fix Warning: SetRelativeScale3D : Invalid Scale entered (X=inf Y=inf Z=inf). Resetting to 1.f. warning when adding CineCameraActor to World from Modes Panel. Make sure to not divide by zero when there is no boundary scale. #jira UE-44933 Change 3477761 by Jamie.Dale Some improvements to avoid loading the native .locres files twice when we don't need to Change 3477780 by Nick.Darnell PR #3250: Return correct VirtualUserIndex (Contributed by projectgheist) Change 3477786 by Nick.Darnell PR #3650: Changed TestNull to accept const pointers. (Contributed by e-agaubatz) Change 3477795 by Nick.Darnell PR #2844: UE-36936: Don't stretch container for Plugin Image (Contributed by projectgheist) Change 3478092 by Nick.Darnell PR #2341: Optional Middle Mouse Button panning in Graph Editor (Contributed by flipswitchingmonkey) Engine Edit - Made some small changes to the enum type, and some naming. Change 3478450 by Nick.Darnell Fixing some uninitialized variable errors. Change 3479827 by Andrew.Rodham Sequencer: Addressed serialization issues with some struct types Change 3479874 by Jamie.Dale Fixed "NativeGameLanguage" not being used correctly during localization initialization Change 3480012 by Andrew.Rodham Sequencer: Fixed loading tagged properties as native for track identifiers #jira UE-45823 Change 3480337 by Alexis.Matte Fix morph target crash missing some valid index check Change 3480804 by Alexis.Matte Fix crash with ColorGradingMode custom detail #jira UE-45638 Change 3480892 by Andrew.Rodham Sequencer: Ensure that movie scene sequences know about the editor object version #jira UE-45842 Change 3481073 by Nick.Darnell Fix the shader compiler error from main in Slate. Change 3481303 by Nick.Darnell UMG - Fixing a bug with the drag handle not working correctly in HDPI mode. Change 3481308 by Nick.Darnell Slate - Tweaking the IsWidgetCulled logic to consider both the layout and rendering bounds. If we do this, we get a much more desireable outcome for people that want to animate widgets and such and plan to have temporary animations to move the widget offscreen, but want the layout bounds to anchor that widget in the visible frame so that it animates even when normally it would be culled b/c the render transform and therefore the renderbounds moved it completely outside the culling rect. Change 3481629 by Max.Chen Sequencer: Add Level Sequence Actor as an output for CreateLevelSequencePlayer() #jira UE-45785 Change 3481899 by Yannick.Lange VR Editor: Added debug modetoggle command with an event that is broadcasted whenever this happens. Currently this is used to show all the floating UIs of the UI system to debug without HMD using VREd.ForceVRMode. Change 3481984 by Michael.Dupuis #jira UE-45845: always validate if we have a static mesh before trying to access it as user can decide to not assign one and use the tools Change 3482047 by Nick.Darnell Slate - Adding some comments to IsWidgetCulled. Change 3482110 by Nick.Darnell Slate - IsWidgetCulled is no longer static and is now called IsChildWidgetCulled. Change 3482136 by Jamie.Dale The CamelCase break iterator now treats digits around character tokens as part of the identifier Change 3482138 by Michael.Dupuis #jira UE-45854: Properly unregister during undo operation Change 3482150 by Michael.Dupuis #jira UE-45845 : Add missing nullcheck for GetStaticMesh Change 3482153 by Nick.Darnell Slate - IsWidgetCulled is no longer static and is now called IsChildWidgetCulled. Change 3482180 by Nick.Darnell UMG - Widget Components do not need to define a widget class to be rendererd, they can have native slate widgets only. This was a regression from main. Change 3482273 by Nick.Darnell UMG - Tweaking some more things about the widget component box outline. Change 3482308 by Alexis.Matte Fixing morph target smooth group support. Do not call FillSkeletalMeshImportData more then once on FbxNode since this fonction is doing some conversion and change the FbxNode, applying those conversion twice do not return the same faces smooth group. #jira UE-45696 Change 3482327 by Nick.Darnell UMG - More tweaks to the WidgetComponent so both shows the box outline, but works in game and VR editor. Change 3482705 by Andrew.Rodham Resaving assets that contain legacy data to suppress CIS warnings. - If conflicts arise in these assets, please take game-side changes and ignore these. Change 3484245 by Max.Chen Sequencer: Evaluate on end scrub. This fixes a bug where audio doesn't evaluate in a stopped position at the end of scrubbing, causing it to not stop all sounds. This fixes a bug introduced from 3365018 where evaluate on end scrub was removed. #jira UE-45905 Change 3484263 by Max.Chen Sequencer: Fix crash on forcing refresh of details panel on release. #jira UE-45911 Change 3484431 by Andrew.Rodham Resaving assets that contain legacy data to suppress CIS warnings. - If conflicts arise in these assets, please take game-side changes and ignore these. Change 3484474 by Alexis.Matte Fix the morph target animation curve name matching. #jira UE-20294 Change 3484475 by Alexis.Matte When removing a LOD, make sure we remove all morph target data associate to the LOD. Change 3484489 by Nick.Darnell PR #3668: UE-45908: Cache debug line locations when performing a LineTraceMulti (Contributed by projectgheist) #jira UE-45908 Change 3484692 by Nick.Darnell Slate - Reverting a change from a game stream. All Arranged Children don't need to allocated 42 to begin with. Do need to initialize WidgetPaths better. Change 3484703 by Nick.Darnell Player Input - Making the input event loop for players obey EKeys::NUM_TOUCH_KEYS, rather than being set to Touch10, as the maximum touch input amount, to make supporting greater than 10 touches easier. Also making the seeding of keys use EKeys::NUM_TOUCH_KEYS. #jira UE-43213 Change 3484918 by Jamie.Dale Fixed font measuring regression with RTL text RTL applies the character count to the next glyph, so it shouldn't process the end of the loop (this was how the older code used to work). Change 3485718 by Nick.Darnell Editor - Removing Super Search & User Feedback button. Change 3485719 by Nick.Darnell Portal - Removing SuperSearch. Change 3485751 by Matt.Kuhlenschmidt Fix crash accessing platformer game menu if the menu is open during a console based load #jira UE-45950 Change 3486047 by Arciel.Rekman Linux: add OpenEXR implementation (UE-40270). #jira UE-40270 Change 3486467 by Max.Chen Sequencer: Reset max tick rate when destroyed. #jira UE-45956 Change 3486477 by Max.Chen Sequencer: Refresh outliner when column is removed. #jira UE-45891 Change 3486667 by Andrew.Rodham Added missing include Change 3486724 by Andrew.Rodham Sequencer: Fixed curves with no default value, and no keys being evaluated and applied to properties - Also fixed an edge case where a zero (but non-animated) channel could be applied to a final transform Change 3486730 by Alexis.Matte In the Auto-Reimport options, hide the mout point only for the default /Game/ folder #UE-45684 Change 3486749 by Alexis.Matte Make sure the parent window of the monitor directory browse folder is set properly #jira UE-45682 Change 3486805 by Matt.Kuhlenschmidt Additional safety against invalid objects being accessed by slate Change 3486848 by Alexis.Matte Make sure Monitor folder feature support root mount point map folder During auto import, give priority to asset import factory over the scene import factory #jira UE-45691 Change 3486879 by Andrew.Rodham Removing obsolete QA assets Change 3486950 by Nick.Darnell PR #2281: Scrollbar missing features and SScrollbar fixes (Contributed by SNikon) Review - made some adjustments from the original. Change 3486954 by Nick.Darnell Slate - Moving the STableViewBase over to the FOverscroll class, rather than it's own clone. Change 3486967 by Nick.Darnell Slate - Fixing some HDPI calculations for fitting new windows on screen, it was using the unscaled size of the widgets for fitting, when it needed to scale them up. Change 3486970 by Andrew.Rodham Sequencer: Delay mouse capture until drag for sequencer time slider - Fixes context menus not opening as a result of mouse capture being taken on mouse down #jira UE-45937 Change 3486984 by Andrew.Rodham Sequencer: Improved blending type iconography Change 3486996 by Nick.Darnell UMG - Adding a way for games to opt-out of the slow widget path, to completely prevent them from being cooked. UMG - The movie data is no longer cloned for each new instance that inhabits. It now keeps a reference to the now publically accessible movie scene data on the class instead. Change 3487070 by Andrew.Rodham Sequencer: Added graphics for key areas that represent empty space Change 3487195 by Andrew.Rodham Sequencer: Changed evaluation groups to always flush implicitly - Due to the latent nature of blended token types, it's no longer safe to rely solely on execution token order between tracks - This fixes an issue where events set in the PostEvaluation stage were executed before blended token actuation Change 3487322 by Nick.Darnell PR #2457: Add .gitdeps.xml-files for plugins support (Contributed by bozaro) Change 3487363 by Nick.Darnell PR #2481: Fix for packing of a project with users plugins (Contributed by yatagarasu25) Change 3487439 by Nick.Darnell PR #2642: Changed private to protected in SVirtualJoystick.h (Contributed by Skylonxe) Change 3487500 by Arciel.Rekman Removed LinuxNativeDialogs. - No longer used; has been superceded by SlateDialogs since UE 4.8 (2 years ago). Change 3487630 by Lauren.Ridge Don't create Landscape Info Maps for Editor Preview Worlds or thumbnail worlds #jira UE-44885 Change 3487864 by Matt.Kuhlenschmidt Exposed the asset registry to blueprints and script. Works in editor scripts and runtime scripts AssetRegistry is now a UInterface object. Blueprint users can access various asset registry methods using the asset registry interface (via GetAssetRegistry) and various static helpers in the AssetRegistryHelpers object C++ users should still continue to use IAssetRegistry. Change 3487879 by Matt.Kuhlenschmidt Renamed asset tools uobject helper to UAssetToolsHelpers Change 3487926 by Lauren.Ridge Fixing reset to default not showing up for custom widgets #jira UE-44164 Change 3488184 by Matt.Kuhlenschmidt PR #3656: Make References/Referencers List copyable (Contributed by user37337) #jira UE-45763 Change 3488240 by Matt.Kuhlenschmidt Fix compiler issue Change 3488350 by Lauren.Ridge Landscape info map transactional state is based on its world's transactional state #jira UE-44885 #jira UE-46019 Change 3488412 by Matt.Kuhlenschmidt Fix reset to default showing up in two different places for some customizations Change 3488413 by Matt.Kuhlenschmidt Fix slate font customization Change 3488414 by Matt.Kuhlenschmidt Fix slate font customization Change 3488415 by Matt.Kuhlenschmidt Missed file Change 3488565 by Arciel.Rekman Add pretty printers for gdb (UETOOL-1171). - Committing shelf by Cengiz.Terzibas, with some modifications. #jira UETOOL-1171 Change 3489094 by Nick.Darnell Slate - The Slate RHI Renderer now caches the TextureLODGroups so that it can properly lookup the filtering of different texture groups that are set to Default, instead of a particular filter override on a texture. Engine/Rendering - Simplifying some of the setup logic in TextureLODSettings so that code is shared for setting them up properly after loading from a config file. Change 3489095 by Nick.Darnell PR #2699: GameViewportClient - Added a method to allow setting the viewport cur. (Contributed by rfenner) Review - Fixed spacing. Change 3489108 by Matt.Kuhlenschmidt Fix deprecation warning Change 3489120 by Nick.Darnell PR #3478: Fix possible UComboBoxString crash (Contributed by nakosung) Change 3489147 by Andrew.Rodham Sequencer: Adding return value to function to appease static analysis - This function is never compiled, and if it is, it won't compile, but static analysis doesn't know that Change 3489264 by Nick.Darnell Testing - Finishing the thought behind an enum comment. Change 3489265 by Nick.Darnell PR #2750: UE-35164: Button padding (Contributed by projectgheist) Change 3489267 by Nick.Darnell PR #3645: UE-45464: Handle SSlider mouse interaction more accurately (Contributed by projectgheist) Change 3489632 by Arciel.Rekman Correctness changes to MallocPoisonProxy. - Missing forwarding functions added. Incorrect comment removed. - Change by Steve.Robb, doing here so it is in 4.17. Change 3489689 by Arciel.Rekman More MallocPoisonProxy changes I missed in previous CL. Change 3489751 by Matt.Kuhlenschmidt Moved editor performance settings out of per-project settings so they can be shared across projects Change 3489837 by Lauren.Ridge Keyboard shortcut for entering/leaving VR Mode is now Alt+V Change 3491082 by Arciel.Rekman Linux: better fix for the crash due to name collision (UE-46040). - Put classes in Sequencer module into Sequencer namespace instead of SceneOutliner namespace. - Undid change in the SceneOutliner module. #jira UE-46040 Change 3491096 by Arciel.Rekman Fix UAT compilation on the newest mono. Change 3491240 by Max.Chen Sequencer: Disable key button when allow level edits only is on. #jira UE-46060 Change 3491406 by Yannick.Lange Fix editor crashes when opening a project that includes a plugin with more than two custom Volume classes. This issue was caused because registering show volume commands is based on finding volume classes. Finding these classes at multiple times resulted in a mismatch of the returned array of volume classes because modules/plugins were still being loaded. #jira UE-45806 Change 3491559 by Alexis.Matte Make sure we use the good preview mesh when doing a preview #jira UE-45963 Change 3491563 by Alexis.Matte Fix crash with staticmesh editor LodLevel selection Change 3491564 by Nick.Darnell UMG - Fixing an offset with the grab handles in HDPI mode. Change 3491595 by Nick.Darnell Editor - Fixing a clipping artifact in the pin type dropdown in the blueprint editor. Change 3491604 by Nick.Darnell Back out changelist 3489265 Change 3491615 by Arciel.Rekman Added malloc replay proxy (Linux only for now). - Allows to dump malloc callstream (without regard to threads) and replay later to study the behavior of different mallocs and/or repro problems. Change 3491684 by Arciel.Rekman Added FMalloc functions I missed. - Also moved function bodies into the .cpp file, this does not make a difference in performance in this case. Change 3491692 by Matt.Kuhlenschmidt Some minor fixes to the static mesh editor - Fix UV combo button looking non-standard on the toolbar - Fix a few combo buttons in the details panel looking too big. Change 3491702 by Arciel.Rekman Do not compile replay proxy-specific code when not used. Change 3491717 by Michael.Dupuis #jira UE-35083: The component is now the owner of the PerInstanceRenderData instead of the proxy Add an Update path to only update specified instances range Always call BuildTreeIfOutdated so we have a standard code path to make sure static mesh are fully loaded before trying to build the tree Moved the Instance Buffer aysnc to the base class, as it's not related to UHierarchicalInstancedStaticMeshComponent Expose a new property to decide if we require dynamic instance buffer Change 3491758 by Matt.Kuhlenschmidt Fix crash on static mesh editor shutdown Change 3491873 by Cody.Albert Fixed clipping issue in Sequencer curve editor #rnx Change 3491956 by Matt.Kuhlenschmidt Fix crash opening the Previewing sub-menu in the level editor settings menu #jira UE-46095 Change 3492046 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3492076 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3492165 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3492222 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3492274 by Michael.Dupuis #jira UE-46105: Fixed Clang warning Change 3492338 by andrew.porter QAGame: Testing ensure when submitting Change 3492371 by Nick.Darnell UMG - Reverting the animation sharing, cossed GLEO regressions in cooking. Will look for a better solution. Change 3492462 by Matt.Kuhlenschmidt Fix ensure checking in files through perforce Change 3492491 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3492505 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3492517 by Jamie.Dale The package localization ID is no longer used at all at runtime, and is now truly editor-only This should have always been the case, but it was leaked into manifest/archives/PO files in 4.14, and while 4.15 removed it from PO files it was still present in the manifest/archives. This change removes it entirely (unless gathering editor-only data, and even then the PO file will still collapse the entries together for translation), and the deprecated 4.14 export behavior will now produce an error if you attempt to use it. After taking this change you'll need to run a gather, import, and compile of your LocRes files to update your game localization to use the new localization IDs. Change 3492630 by Nick.Darnell UMG - Removing some extra cleanup code that's probably overkill and is causing a crash for uses of "Within" in class meta. #jira UE-46124 Change 3492692 by Matt.Kuhlenschmidt Fix drop shadows inheriting the outline color of the font. The outline should still appear but not have a different outline color from fill color Change 3492714 by Matt.Kuhlenschmidt Added outline with drop shadow to font automation test Change 3492737 by Matt.Kuhlenschmidt Fix linux Change 3492992 by tim.gautier Resaving Ocean Widget Blueprints / Sequences to resolve Legacy Sequence Data warnings #jira UE-46132 Change 3493089 by Jamie.Dale Ensure that the composite font of a font asset is flushed when the font object is GC'd Change 3493322 by Jamie.Dale Fixing null crash #jira UE-45758 Change 3494467 by Andrew.Rodham Fix Xbox warning Change 3494852 by tim.gautier QAGame: Changed streaming method of QA-EditorSmoke-Landscape to Always Loaded Change 3494853 by Nick.Darnell Another attempt at fixing the automation blueprint SA warning. Change 3494896 by Arciel.Rekman Fix possible null pointer access during Vulkan init. - May fix static analysis warnings in UE-46142, although warnings seem to be referring to something else. #jira UE-46142 Change 3494987 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3495010 by Matt.Kuhlenschmidt Adding additional logging to track down html5 issue Change 3495212 by Michael.Dupuis #jira UE-46143: Properly init the InstanceRenderData during the cooking phase (required by fortnite) Change 3495536 by Jamie.Dale Updating UGameEngine to call its Super::PreExit after performing its own teardown This prevents UEngine cleaning up resources that UGameEngine still needs. #jira UE-46159 Change 3495551 by Arciel.Rekman Another attempt to fix analyzer problem (UE-46142). Change 3495794 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3495905 by Matt.Kuhlenschmidt Fix USD crash when importing a meshwith no material [CL 3499771 by Matt Kuhlenschmidt in Main branch]
2017-06-19 20:27:30 -04:00
int32 FSequencerTimeSliderController::DrawSelectionRange(const FGeometry& AllottedGeometry, const FSlateRect& MyCullingRect, FSlateWindowElementList& OutDrawElements, int32 LayerId, const FScrubRangeToScreen& RangeToScreen, const FPaintPlaybackRangeArgs& Args) const
Copying //UE4/Dev-Sequencer to //UE4/Main ========================== MAJOR FEATURES + CHANGES ========================== Change 2875025 on 2016/02/20 by Andrew.Rodham Sequencer: Cinematic viewport improvements - Added optional letterbox overlay (defaults to 2.35:1) - Added ability to change safe frame colors - Added selected tracks' keys to the transport range - Added buttons for jumping between selected tracks' keyframes on the transport controls - Removed black padding around the viewport where possible - Added ability to specify whether a combo button/menu anchor should close when its parent receives focus - Separated logic of FGroupedKeyArea into FSequencerKeyCollection, so it can be used independently - Added playback range to the viewport frame numbers - All frame numbers are now spin boxes #jira UE-26429 Change 2875026 on 2016/02/20 by Thomas.Sarkanen Added console commands for recording sequences Changed plugin to a developer plugin so we can load it when the editor is in -game mode. Added Exec commands. Added some more logging to help diagnose problems when using commands. Added loading/saving of config for recorder settings (stored in Editor.ini). Also disabled controls in recorder window when recording. Added auto-saving of assets when in non-editor modes. Moved animation settings from UnrealEd to Engine module. Change 2875036 on 2016/02/20 by Max.Chen Sequencer: Call RedrawAllViewports instead of RedrawLevelEditingViewports. In particular, this fixes some update issues when editing values in the key editors. #jira UE-26960 Change 2875046 on 2016/02/20 by Max.Preussner Sequencer: Fix so that clicking on UMG Animations doesn't dirty the scene. #jira UE-26249 Change 2875047 on 2016/02/20 by Max.Chen Sequencer: Add option to toggle display of channel colors/lines. View->Channel Colors Change 2877138 on 2016/02/23 by Max.Chen Sequencer: Select corresponding track node when selecting key or section. Removed active/inactive selection since it was only being used in deletion and the rules for deletion are now dependent upon what is selected - delete keys and sections before deleting outliner nodes. Change 2877143 on 2016/02/23 by Thomas.Sarkanen Added new math function: WindRelativeAnglesDegrees Given two angles in degrees, 'wind' the angle in Angle1 so that it avoids >180 degree flips. Good for winding rotations previously expressed as quaternions into a euler-angle representation. Change 2877147 on 2016/02/23 by Thomas.Sarkanen Added the ability to import sequencer transforms from the root node of an animation sequence Intended for use after re-importing animations from DCC tools. Available in the right-click menu for transform tracks. Also added FindTrackBinding to UMovieScene so track bindings can be recovered from tracks. Change 2877163 on 2016/02/23 by Max.Chen Sequencer: Add option to create keyframe sections as infinite. Sequencer defaults to true, UMG defaults to false. Change 2877165 on 2016/02/23 by Max.Preussner Sequencer: Drawing vertical position lines when dragging keys Change 2878748 on 2016/02/23 by Max.Chen Curve Editor: Switch curve type to user when flatting or straightening tangents. #jira UE-27277 Change 2878799 on 2016/02/23 by Frank.Fella Sequencer - Add folders support to the outliner. Change 2880769 on 2016/02/24 by Andrew.Rodham Sequencer: Added ability to override runtime spawnable ownership in sequencer - This is exposed as an option on spawnables "Keep Alive Outside Playback Range (In Sequencer)" - Enabling this will stop spawnables from being destroyed when scrubbing outside of the playback range #jira UE-27205 Change 2880770 on 2016/02/24 by Thomas.Sarkanen Sequencer: Added countdown and recording indicator display when recording Also fixed extra popups added post-PIE when animation recordings auto shutdown. Change 2880782 on 2016/02/24 by Max.Chen Sequencer: Snapping now also uses the current time as a possible snap time. #jira UE-26306 Change 2880793 on 2016/02/24 by Max.Chen Sequencer: Add +Animation to Animation track so that it's consistent with all other tracks that have a + button. Change 2880812 on 2016/02/24 by Max.Chen Sequencer: Fix adjusting the leading edge of a shot section so that it cuts into the shot rather than adjusts the start time. #jira UE-26306 Change 2881624 on 2016/02/25 by Andrew.Rodham Changing shader version GUID to fix corrupt shaders in ddc Change 2882408 on 2016/02/25 by Thomas.Sarkanen Asset/actors stored in TLazyObjectPtrs can now reference game content from engine This is a legitimate use case as lazy object ptrs are designed to reference assets/actors cross-domain. Change 2882409 on 2016/02/25 by Thomas.Sarkanen [CL 2899785 by Max Chen in Main branch]
2016-03-08 16:55:04 -05:00
{
TSharedPtr<FSequencer> Sequencer = WeakSequencer.Pin();
if (!Sequencer.IsValid())
{
return LayerId;
}
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 4044339) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3947021 by Max.Chen Sequencer: Don't preserve root component when copying object properties. A spawnable empty actor, has a root component that is generated by the empty actor factory. If the object template's root component is preserved when copying from the spawnable empty actor, the root component will not be copied over. Therefore, we need to NOT preserve the root component when copying object properties. #jira UE-55825 Change 3947366 by Max.Preussner WmfMedia: Better log output Change 3947367 by Max.Preussner MfMedia: Better detection of compressed format properties on Windows Change 3949102 by Max.Chen Sequencer: Remove SequenceActorTag when converting to possessable. #jira UE-56206 Change 3949207 by andrew.porter EngineTest: Set the screenshot nodes resolution to 1280x720 Change 3949404 by Max.Chen Sequencer: More informative tooltip for "Rerun Construction Scripts" option. It now says "Rerun construction scripts every frame on actors that have 'Rerun Construction Script in Sequencer' enabled in their class settings". Change 3950067 by Matt.Hoffman Renamed UAutomatedLevelSequenceCapture's StartFrame and EndFrame to CustomStartFrame/CustomEndFrame to reflect that it is user-overriden. This will also resolve upgrade issues due to the variable datatype changing. #jira UE-56189 Change 3950193 by JohnHenry.Carawon Updating my latest MovieRendering test content. Change 3950757 by JohnHenry.Carawon More updates to MovieRendering test content Change 3952059 by Max.Chen Resave LevelVisibility_SubLevels to fix data loss conversion warning of OpacityMaskConstant #jira UE-56086 Change 3952283 by Max.Chen Sequencer: Disable dropping level sequence assets as spawnables. #jira UE-56120 Change 3952422 by Max.Chen Sequence Recorder: Add button to record from the current player. #jira UE-55942 Change 3952987 by JohnHenry.Carawon MovieRendering Test Content - Fixing camera bindings and changing the override binding actor Change 3953823 by Mike.Zyracki Fix for Bad FBX Import Tangents not scaled by frame rate. After looking at this again it seems that a set of MovieScene:: overiddes for the channel traits wasn't set correctly, so use the ADL idiom to use MovieScene, which can then call Optimize in the correct namespace. With this we can now correctly use the passed in tolerance. There was also a redundant set of Optimize calls so that it could happen twice so removed them, and needed an extra check in the float channel Optimize. Also since we need to set auto tangents no matter if we optimize we don't set that parameter(though leave it since it's used by context menu key reduction). Finally fixed speed issue with trajectories caused by calculating way too many substeps. Reverted back to a time based step size for consistency. #jira UE-56193 Change 3954317 by Matt.Hoffman Adding a key to the last frame of a section no longer causes a crash. Keys can already be moved to be on the last frame of a section so now you can just add a key there directly. #jira UE-56255 Change 3954326 by Matt.Hoffman Dilating a section that is only infinite on one side no longer causes a crash. #jira UE-56260 Change 3954486 by Max.Chen PR #4580: Exposes IsReversed() from UMovieSceneSequencePlayer (Contributed by alanedwardes) Change 3955238 by Max.Preussner Messaging: Enabled delayed message routing https://github.com/EpicGames/UnrealEngine/pull/4574 #jira UE-56247 Change 3955901 by Max.Preussner MediaFrameworkTest: Added developer test for overriding desired media player plug-in at runtime. Change 3955922 by Andrew.Porter QAGame: Updating movie rendering content in dev folder Change 3956004 by andrew.porter QAGame: Adding MPC track to movie rendering test content Change 3956510 by Max.Chen Sequencer: Fix fbx camera import of static properties so that they are imported before default tracks are created. Otherwise, the default tracks inherit the default properties of the camera, rather than the values from the fbx. #jira UE-56311 Change 3957613 by Max.Preussner MediaUtils: Added code documentation to media player facade Change 3958005 by Max.Preussner MediaUtils: Added method to get number of sinks Change 3958934 by Max.Chen Sequencer: Fix keys getting added and sequence getting erroneously re-evaluated when auto key is off. Only apply defaults if there are no keys. Only modify the movie scene section before creating keys or setting defaults. #jira UE-55903 Change 3959687 by Andrew.Rodham Sequencer: Fixed visibility track external values being inverted #jira UE-56324 Change 3960507 by Max.Preussner Core: Fixed incorrect rounding in FMath::DivideAndRoundNearest Change 3962047 by JohnHenry.Carawon MovieRendering Test Content Changes: - Add Lightmass Importance Volumes to sublevel to fix warnings - Rebuilt Lighting - Add a third sequence for Gamut testing - Resaved the sound master.uasset to fix warning Change 3962211 by Mike.Zyracki Add Frame Numbers to selected animation sections. Added MapTimeToAnimation to MovieSceneSkeletalAnimation so that we could get it from the Skeleton Animation track Editor. Since the thickness of the frame line can change based upon frame rate and zoom we need to calculate it similarly to how the time slider controller does it. Those calculations were private so we had to expose FScrubRangeToScreen and GetScubberPixelRange from the TimeSliderController. Also needed to know if the section itself was selected so added a bIsSelected flag to the section Painter. Also fixed a bug where you couldn't add a section if other sections existed at different times in MovieScenePropertyTrack and could crash due to the check(). #jira UESEQ-395 Change 3962497 by Max.Preussner Core: Added new string formatting argument to FTimespan Change 3963662 by Max.Chen CineCamera: Flip VistaVision width and height. Change 3963731 by Max.Preussner MediaCompositing: Implemented sequence recording support for media track Change 3964195 by Andrew.Rodham Sequencer: Set inverted property correctly for newly created visibility track sections - Also clamp evaluation for key editors to the bounds of the section so we're not displaying values outside of the section bounds when the cursor is not on the bounds #jira UE-56324 #coderevew Max.Chen Change 3964196 by Andrew.Rodham Sequencer: Fixed crash when attempting to render sections that resulted in a negative intersection with the view range Change 3964275 by Andrew.Rodham Sequencer: Fixed MovieScene::ClampToDiscreteRange for infinite range bounds Change 3964364 by Andrew.Rodham Curve Editor: Reduce minimum vertical view range when zooming to fit Change 3965091 by Max.Chen Sequencer Recorder: Refresh next sequence if empty when starting a recording, otherwise, use existing name. #jira UE-56469 Change 3965148 by Max.Chen Sequence Recorder: Move Record to Possessable to "Actor Recording" group Change 3965162 by Max.Chen Sequence Recorder: Always break out of immersive mode when done recording, even when stopping recording during countdown. #jira UE-56407 Change 3965214 by Max.Preussner QAGame: Enabled ImagePlate plug-in Change 3965574 by Max.Preussner SimpleComposure: Reorganized & upgraded content to work with new Media Track #jira UE-56488 Change 3965651 by Max.Preussner MediaCompositing: Ignoring seek-on-open if media not seekable Change 3966075 by Christina.TempelaarL Sequencer: Added Final Cut Pro 7 XML Export functionality #jira UESEQ-358 Change 3966087 by Matt.Hoffman Adding a single key to the Particle Toggle track now makes an infinite range section that is displayed in the UI. #jira UE-56295 Change 3966547 by Andrew.Rodham Sequencer: Fixed rounding errors when drawing the section background on boolean sections - Logic was using time in sectonds which caused rounding errors on evaluation and flickering red/green stripes when dragging keys around #jira UE-56324 Change 3966563 by Andrew.Rodham Curve Editor: Key editor interface improvements - SKeyEditInterface has a few problems - it does not update in real time when editing properties, and does not support multi-edit which makes it unsuitable for use with the curve editor - We now take a different approach for editing keys by gathering a set of proxy UObjects for each key that is currently selected. These objects are added as top level objects to the details panel which means they support multi edit as you'd expect from any other details panel in the editor. - Proxy objects are updated every tick for the curve editor if they implement the ICurveEditorKeyProxy interface, which allows them to refresh their current value. - Ideally, the same mechanisms would be used in the main sequence interface, and we would be generating the proxy classes at runtime based on the key value type, but that work remains a separate task from this initial offering. #jira UE-56165 Change 3966564 by Andrew.Rodham Curve Editor: Expand to frame when adding or moving keys in the curve editor Change 3967051 by andrew.porter MediaFrameworkTest: Set the CameraPlayer_Video texture to auto clear Change 3967141 by Andrew.Rodham Sequencer: Keep track of spawned objects that have been modified and only re-save such object's default spawnable state on destruction - Now that we're taking this approach, I've remove serveral redundant bits of functionality in the spawn register such as making some spawnables read-only, and the PreSave binding for Sequencer. - We now hook into all object pre-saves to make sure we handle the case where the sequences are saved through the content browser or elsewhere. #jira UE-47686 Change 3967170 by Andrew.Rodham Sequencer: Added the ability to possess anim instances as object bindings - This allows full and direct animation of properties on UAnimInstance, and animation blueprints - Object Bindings are made by first possessing a skeletal mesh component, then choosing the + Add button where its anim instance will be listed - Added a new function to UMovieSceneSequence to gather previously cached objects that should now be invalidated. Anim instances will be re-resolved if a new UAnimInstance is assigned to USkeletalMeshComponent::GetAnimInstance. - ObjectBindingIDs for anim instances are just represented by an entry in a set of GUIDs. We only ever resolve such bindings through USkeletalMeshComponent::GetAnimInstance. - Only currently supported on LevelSequences #jira UE-56132 Change 3967195 by Max.Preussner Core: Updated TRangeSet to use TCallTraits Change 3967345 by JohnHenry.Carawon Test Content Changes - first iteration of spacing out the examples in the shots. Change 3967572 by Max.Chen Sequencer: Fix setting PreviousPlayEvalPosition until after we've tested whether it's set. #jira UE-56518 Change 3967750 by Max.Chen Audio: Set duration based on number of input channels, rather than number of channels to serialize. This fixes an issue where audio split into 2 channels is set to a duration that's twice as long. #jira UE-56430 Change 3967836 by Max.Chen Sequencer: Allow for animating array elements within ustruct properties #jira UE-55887 Change 3968506 by Matt.Hoffman Fixed ambiguous conversions for seconds and frames being overriden by ambiguous conversion to Timecode (in frames). Change 3968748 by Max.Chen Sequencer: Make the event properties submenu widget larger. #jira UE-55557 Change 3968862 by Max.Chen Sequencer: Recursive expansion when shift is down #jira UE-52139 #pr 4194 Change 3968863 by Max.Chen Sequencer: Bind rename command to selected track so that F2 shortcut start renaming #jira UE-52139 #pr 4194 Change 3968872 by Max.Chen Sequencer: Rekey the selected key at the current time. #jira UESEQ-396 Change 3968938 by Max.Chen Cine Camera: Add option to toggle the behavior of locking the rail mount to the orientation of the spline. By default, the option is off, no change in behavior. #jira UE-55815 Change 3968958 by Andrew.Rodham Sequencer: Consider vertical position when hittesting keys #jira UE-56256 Change 3969643 by Max.Preussner Core: Rounding timespans created from double values towards nearest ticks Change 3969646 by Max.Preussner MediaUtils: Implemented timeout mechanism for block-on-fetch feature Change 3969776 by Mike.Zyracki Added Skip Anim Notifiers Toggle per what was in Matinee. Investigated the Enable Root Motion toggle as also discussed but it's implementation is directly contained by the animation asset and unlike animation notifies there seems to be no exposure to interactively disable it during a playback tick. Note if we are generating thumbnails we still automtically disable notifies in the editor to avoid annoying noise playback. Note that if Enable Root Motion/Root locked is specified in the animation asset it does correctly effect the Sequencer. #jira UESEQ-399 Change 3969835 by Matt.Hoffman Playback Range and Selection Range use unified logic for adding themselves as potential snap locations which properly handles inclusive/exclusive bounds. This resolves an issue where having an unset selection range caused a potential snap location to be added on frame 0 and 1 (internal resolution) which caused a misalignment when placing objects near frame 0. This also removes the one frame offset on setting Selection Range to bring behavior inline with other ranges. #jira UE-55420 Change 3969885 by Max.Preussner MediaAssets: Don't register media player CDO with media ticker Change 3971129 by Andrew.Rodham Sequencer: Fixed UMovieSceneSequencePlayer::GotToEndAndStop() not taking into account for start time This is a remnant from when the times were always specified in 0-duration space, rather than actual sequence times. Change 3972056 by JohnHenry.Carawon More updates to Test Content. I continued spacing out the examples in the sequence so that they have a consistent number of frames between each example and during the start/end of the example. Also removed the Marcie sublevel. Change 3972066 by Andrew.Porter MediaFrameworkTest: Setting Marcie folder to be never cooked in package settings Change 3972675 by Matt.Hoffman Splitting Subsequence Sections no longer sets an incorrect playback range on the subsequence when the subsequence has a different internal resolution than the owning sequence. #jira UE-55453 Change 3973376 by Max.Preussner ImgMedia: Zero is the only valid video track for image sequences Change 3973489 by Max.Preussner Launch: Build rules cleanup pass - don't use Media, MediaUtils on server apps - don't link against Media (include-only dependency) - don't include from MediaAssets (dynamic load only) Change 3973760 by Max.Preussner MediaUtils: Moved AppMediaTimeSource implementation into its own file; added logging Change 3973765 by Max.Preussner ImgMedia: Disallowing seek beyond media length Change 3973855 by Max.Preussner MediaFrameworkTest: Updated developer test content Change 3973858 by Max.Preussner MediaCompositing: Blocking on media player time instead of media sample time (the former may not be hit in the current frame) Change 3974988 by Max.Chen Sequencer: Fix trim left so that it also sets the start offset for audio and skeletal animation sections. #jira UE-57015 Change 3976101 by Matt.Hoffman Sequencer will now focus the scroll view on newly created items. #jira UE-56492 Change 3976203 by Max.Chen Property Editor: Add DetailsViewArgs for ColumnWidth. Defaults to 0.65f, no change in existing behavior. Change 3976205 by Max.Chen Sequencer: Set better column widths for sequencer. #jira UE-55557 Change 3976206 by Max.Chen Sequencer: Added menu category for import/export Change 3976265 by Matt.Hoffman Tracks within Object Binding Nodes will now sort using the old behavior so that components are added above other track types. #jira UE-56473 Change 3976901 by Max.Chen Sequencer: Add event names to event track section #jira UESEQ-353 Change 3977878 by Max.Preussner Media: Moved media framework ticking stats into Media module Change 3977982 by Max.Chen Sequencer: Add Edit->Reset section length to duration of source (ie. audio, skeletal animation, shot length) Added MovieSceneSection::GetDefaultDuration and MovieScene::HasDefaultDuration #jira UESEQ-392 Change 3977994 by Max.Preussner Media: Fetching and rendering media samples before viewports are rendered (to ensure frame sync for in-level media playback) #jira UE-53975 Change 3978188 by Matt.Hoffman Easing Curves are now clipped by the sequence's PlayRange when testing against an infinite section. This causes blended sequences to finish their blend when the section starts/ends instead of always using 25% of the total section length to determine default blend range. #jira UE-56362 Change 3978676 by Max.Preussner MediaCompositing: Fixed first frame of rendered out media track missing #jira UE-53975 Change 3978684 by Max.Preussner MediaCompositing: Enabled media track frame sync feature #jira UE-53975 Change 3980026 by Matt.Hoffman Keys can be selected on folded out sections (such as an audio track expanded to show volume and pitch) again. #jira UE-57169 Change 3981614 by Max.Preussner MediaUtils: Added missing subtitle sample queue flush Change 3982311 by Max.Preussner MediaCompositing: Added safeguard for zero length media sources Change 3982389 by andrew.porter QAGame: Adding media track test content into FrameAccuracySubscene Change 3983661 by Max.Chen Sequencer: Add level name to spawn a spawnable into. Add sublevel menu option to set the level #jira UESEQ-390 Change 3983712 by Andrew.Rodham Sequencer: Purge legacy blueprint spawnables from LevelSequence packages #tests Ran a preflight for cooking fortnite, ocean and Orion. Only orion shows up this edge case, and will require a re-save of the EndCines level #jira UE-39173 Change 3983787 by Max.Preussner MediaCompositing: Moved compile time switch for block-on-fetch into media player facade Change 3983812 by Andrew.Rodham Sequencer: Exposed default level sequence instance data to blueprints Change 3984373 by Max.Preussner Media: Added API for quering whether player plug-in supports block on fetch Block on fetch allows Sequencer and other systems to block the game thread until a desired video frame has been decoded. Change 3984670 by JohnHenry.Carawon Movie Rendering Test Content progress. Saving the state of the content. There is a bug where things got replaced with particle emitters and I think it was because I tried to copy paste an animation track into a separate skeletal mesh track. Change 3985097 by Max.Chen Sequencer: Rename Reset to AutoSize Change GetAutoSizeDuration to return TOptional<FFrameTime> #jira UESEQ-392 Change 3986043 by Max.Chen Sequencer: Fix crash when attach/path duration is less than 0. #jira UE-57310 Change 3986373 by Max.Chen Sequencer: Add support for deleting tracks and channels which equates to setting the channel mask. #jira UE-52951 Change 3986375 by Max.Chen Sequencer: Add Create Pose Asset to skeletal animation section. This allows animators to blend animations in sequencer and create new pose assets from them. #jira UESEQ-408 Change 3986796 by Andrew.Rodham Sequencer: Fixed stale object references remaining in ULevelSequence::BindingReferences when using convert to spawnable/possessable - We used to convert objects by creating a new binding, then re-assigning its GUID, which meant we didn't have to do any further object fixup, but the code to achieve this was confusing and led to a vulnerability where object references would not be cleaned up correctly due to the newly created possessable essentially being a temporary object that's immediately thrown away. - To address this, there is now a function for porting all the contents of one object binding to another, and handles the correct fixup required for parent/child object bindings for both spawnables and possessables. - Also added codepath to remove any stale object references from the level sequence reference map on PostLoad (this piggy-backs off the PurgeLegacyBlueprints object version which is close close enough to this change to be identical) #tests Verified that existing sequences with stale references get cleaned up on load. Verified that repreatedly converting from spawnable<->possessable cleans up references correctly. Change 3987807 by JohnHenry.Carawon Updates to the MovieRendering Test Content. - Fixed the spawnable actors that were overwritten - Shortend the Lighting example and combined the Intensity and Color tracks - Organized the Sequence and WorldOutliner to group the examples. Change 3988151 by Max.Chen Cine Camera: Enable keying the "Enable Look at Tracking" toggle. Change 3988880 by Max.Chen Sequencer: Support enter to add asset for all sequencer track editors that have asset pickers. #jira UE-57367 Change 3988953 by Max.Chen Sequencer: Make the track color picker focusable so that it will close when you click away or lose focus. #jira UE-57210 Change 3988962 by Max.Chen MovieSceneCapture: Fix EDL export so that it takes into account movie scene frame resolution and desired frame rate. #jira UE-57365 Change 3988964 by Max.Chen Movie Scene Capture: Clarified tooltip for bRelativeFrameNumbers. If you specify custom start/end frames for the recording, they will be relative to the playback range. #jira UE-57308 Change 3989442 by Max.Chen Fix CIS Change 3991548 by Matt.Hoffman Dragging the time slider no longer causes the time slider to ignore snap-to-interval with "Snap to Keys While Scrubbing" when no keys are in range. #jira UE-57417 Change 3991598 by Matt.Hoffman Snap to Key while scrubbing now mirrors the behavior of "jump to next key". When there are no tracks selected it snaps to all keys and when there are tracks selected it snaps to only keys from that track. This also resolves an issue where deleting an object did not remove it from the Sequencer's selection. Undoing a delete already doesn't seem to restore your selection, so removing it from your selection shouldn't change that behavior. #jira UE-57417 Change 3991603 by Max.Chen Sequencer: Disable EditAnywhere for some section properties #jira UE-53530 Change 3992240 by Max.Preussner MediaAssets: Implemented dynamic audio sample rate adjustment based on audio/media clock drift #jira FORT-70638 Change 3992911 by Andrew.Rodham Sequencer: Fixed saving spawnable state using the wrong spawned object - We now track the object binding ID so that we can apply the spawned object to the correct spawnable when the asset is saved #jira UE-57353 Change 3992914 by Max.Chen Movie Scene Capture: Fix compression quality not being set. The compression interface wasn't being found through query interface, so no compression was being set. Reworked finding it through the output pins. Tested running various compression values. #jira-UE-55488 Change 3992919 by Max.Chen Sequencer: Convert to possessable now uses object template instead of copying properties (ie. see LevelSequenceActorSpawner). This fixes MIDs getting lost when converting to spawnable and back to possessable. #jira UE-52400 Change 3993184 by Max.Chen Sequencer: Don't show +Transform/+Path/+Attach track if the actor has the "Mobility" property hidden. Set the Landscape, LandscapeProxy and InstancedFoliage "Mobility" property to be hidden since it is static is not supposed to be dynamically movable. #jira UE-56347 Change 3993238 by Max.Chen Sequencer: Test for hidden mobility in creating keys as well. Refactored to HasHiddenMobility() #jira UE-56347 Change 3993978 by Max.Chen Cine Camera: Enable keying the "Enable Look at Tracking" toggle. #jira UE-57489 Change 3994039 by Max.Chen Landscape: Add Mobility to hidecategories on landscape component #jira UE-56347 Change 3994626 by JohnHenry.Carawon Updated Movie Rendering Test Content. - Fixed the overridden spawnables to their proper object types. Change 3994653 by Christina.TempelaarL Sequencer: Added Final Cut Pro 7 XML Import functionality, improved Export functionality #jira UESEQ-358 Change 3995609 by Max.Chen UMG: Add support for 2d transform mask (translation, rotation, scale, shear) #jira UE-52951 Change 3995778 by JohnHenry.Carawon Movie Rendering Test Content Updates - Adjusted Lights example - Adjusted Camera example - Added Marcie sublevel back in Change 3995942 by JohnHenry.Carawon QAGame: Moving Movie Rendering test content from Developer folder to Sequencer folder Also adjusted level visibility, lights and camera example. Change 3995993 by Christina.TempelaarL Sequencer: FCPXML Export updates - only export sections if in playback range and media exists, warn if media does not exist. Other updates - removed unused methods and variables, fixed message context naming to be more accurate #jira UESEQ-358 Change 3996595 by andrew.porter QAGame: Updating Marcie content in TrackEvaluation level to use Image Plate Change 3996614 by andrew.porter QAGame: Adding color test sequence to the sublevel Change 3996643 by Max.Chen Sequencer: Fix fbx animation export - rotation and scale channels were flipped. #jira UE-57509 #jira UE-57512 #jira UE-57514 Change 3996652 by Max.Preussner Messaging: Fixed delayed messaging using incorrect current time after message router sleep Based on https://github.com/EpicGames/UnrealEngine/pull/4601 Change 3996801 by Max.Chen Sequencer: Fix folder active state for non key area sections. Look at track node sections as well as key areas. #jira UE-57550 Change 3997098 by Matt.Hoffman Cleaned up some remaining ToDo's in STimeRange. Change 3998339 by Max.Preussner Sockets: Added documentation for socket receive functions Change 3998359 by Max.Preussner MediaUtils: Started to implement media recorder helper class Currently only supports BGRA frames in CPU memory. Supporting other formats and buffer types will require conversions on render-thread. I recommend refactoring out the existing conversion code in FMediaTextureResource into a reusable helper class in the MediaUtils module. This should be a good starting point though. Change 3998417 by Matt.Hoffman Keys and Sections can now be moved at the same time inside of Sequencer. Keys can now snap to Sections (and vice versa) instead of just to other Keys. Sections can now be duplicated like keys can. #jira UE-56995 Change 3998427 by JohnHenry.Carawon QAGame: Updating test content for the Movie Rendering feature. - Added an auto activate particle to the beginning of the sequence (it's not part of the sequence at all) - Added an event receiver blueprint to the Events example - Added a particle emitter to both sublevels - Added a camera cut to the end that switches to a separate camera - The camera zoom in, focus and Look At sections are all separate (not overlapping in the sequence) - Added a second actor for the camera Look At - Added a Visibility section for the Actor Hidden In Game track that has possessable and spawnable cube and light Change 3998537 by Max.Chen Sequence Recorder: Restore immersive mode when stopping the sequence even if not in PIE. #jira UE-56407 Change 3999809 by Matt.Hoffman Removed the "Go To" box from Sequencer and instead placed the current time as an always visible control. The previous shortcut (Ctrl + G) now focuses the new widget directly. #jira UESEQ-376 Change 4000543 by Christina.TempelaarL Sequencer: Moving editor-only code from runtime module MovieSceneCapture to editor module MovieSceneTools. Moved EDL and FCP XML exporters as well as Automated Level Scene Capture. #jira UESEQ-358 Change 4000706 by Matt.Hoffman Entering multiple time strings without a number no longer crashes Sequencer. #jira UE-57672 Change 4001051 by andrew.porter MediaFrameworkTest: Fixing up some image sources pointing to the wrong location Change 4001191 by andrew.porter QAGame: Adding some quick EDL/XML test content to dev folder Change 4001243 by Max.Chen Sequencer: Fix import EDL out of range. #jira UE-57665 Change 4001856 by Matt.Hoffman Selecting keys and sections at the same time now also works with animation and audio sections. #jira UE-57716 Change 4002021 by Max.Chen Sequence Recorder: Fix sequence name incrementing. If external recording sets the sequence name, use it. Otherwise, use the recording name from the recording group or the recording settings. #jira UE-57712 Change 4002618 by Max.Chen Viewport: Update the look at location when updating to a locked actor. This fixes an issue so that popping the view out of a locked actor and manipulating the view will not jump to the previous look at location. #jira UE-57725 Change 4002979 by Matt.Hoffman Fixes several edge cases with the end time range that was causing confusion about what the last frame of the sequence was. Dragging the End Frame slider will no longer be off by one tick and jumping to the end via the UI controls now properly respects snapping and stays inside the play range instead of falling outside of it. Overall behavior does not change though and End Frame should be considered an exclusive frame so that frames 0-150 results in a 150 frame long animation (which is frames 0-149). #jira UE-56367 Change 4003185 by Matt.Hoffman Fixed a regression that prevented a section from being dragged upwards past row 0 which normally resulted in all other rows moving down. #jira UE-57717 Change 4003193 by JohnHenry.Carawon QAGame: Updates to test content - Shortened frames between the examples from 95 to 30 - Separated camera setting tracks - Lighting example now switches directly from constant red - green - blue Change 4003369 by Max.Chen Sequence Recorder: Refresh next sequence regardless of internally stored sequence name. #jira UE-55757 Change 4003586 by JohnHenry.Carawon QAGame: Test Content Updates - Level Visibility track now ends to that the levels are not visible when we move to the next example - Shortened camera section, removed Z tranform so that we just move left to right and shortened the overall length Change 4004414 by Max.Chen Movie Scene Capture: Fix regression where rendering with shot handles would only render the first shot. 3972166 addressed an issue where an extra frame would be rendered by finalizing right when the end frame was reached. This was hit on the first shot end frame, so instead, do this only for when the last shot is being rendered. #jira UE-57314 Change 4004765 by Christina.TempelaarL Sequencer: Fixed bugs in FCP XML import/export. - Export: fixed sequence default resolution. - Export: fixed XML files with no shots. - Export: all sections clipped to playback range. - Export: fixed incorrect section start/end times due to precision issues. - Import: fixed incorrectly adding cinematic tracks. - Import: fixed bugs creating new sections. #jira UE-57660 #jira UE-57662 #jira UE-57655 #jira UE-57761 Change 4005119 by Max.Chen Sequencer: Export/import at play rate Change 4005195 by Max.Chen UMG: Finish UMG evaluation on stop. Added object version so that existing UMG assets do not change. #tests - Newly created UMG animation with sections set to restore state now return to their original state. Existing UMG animations with sections set to restore state do not return to their original state. #jira UE-52285 Change 4005377 by Michael.Karambelas QAGame: Moving TM-SequenceRecorder and related content out of my developer folder and into /Content/Sequencer/SequencerRecorder/* Change 4005417 by Michael.Karambelas QAGame: Fixed a BP compiler in the Level Blueprint of TM-SequencerRecorder. Change 4005634 by Michael.Karambelas QAGame: Fix up missing content and broken level sequence in TM-SequenceRecorder after move Change 4006324 by Max.Chen Sequencer: Reset if the focused movie scene is null. This fixes a crash if the user is focused in on a shot and undo takes the user past the point of where the shot was created. #jira UE-57752 #jira UE-47661 Change 4007006 by Max.Chen Sequencer: Fix FindAvailableRowIndex so that it returns the max row index (and not +1) since it doesn't find any conflicting rows. #jira UE-57717 Change 4007907 by Max.Chen Sequencer: Fix crash if there's no animation Change 4007948 by andrew.porter QAGame: added test content to dev folder for Record World Space Change 4008636 by Max.Chen Sequencer: Fix import fbx not setting values properly and creating additional cameras unncessarily. #jira UE-57864 Change 4008759 by Max.Chen Sequencer: Follow up fix for import cameras #jira UE-57864 Change 4009994 by Matt.Hoffman Dragging the left or right handles of the Time Range slider in Sequencer will now zoom your view in on the current center of the screen. This prevents the view from being translating as you tried to zoom in which caused issues at high zoom levels. #jira UESEQ-407 Change 4010169 by Christina.TempelaarL Sequencer: FCP XML fixes. - FCP XML export - no longer clips to playback range - FCP XML and EDL export - fixed missing last frame of some sections after exporting to Premiere. - Automated level capture, EDL export - use RoundToFrame instead of FloorToFrame for computing section start/end frames after frame rate conversion. #jira UE-57802 - partial fix, movie scene capture still needs to render full section rather than clip against playback. Change 4010287 by Mike.Zyracki Add quaternion interpolation option to UMovieScene3DTransformSection. This mimics how Matinee used to work by bascially finding the keys between a time and interpolating the angles as quat's between them. As noted in the code the algorithm needs to handle the case when the x,y,z Rotation keys all aren't at the same time which was not handled by Matinee. Also like Matinee, when in quaternion interoplation mode, we need to not display the function cuves since the interpolated and key values are now all different. (Would like to show them but that's a bigger refactor for perhaps just a one off needed by quaternions). I added a virtual function UMovieSceneSection::ShowCurveForChannel for this since it needs to be dynamic, not on construction of IKeyArea's, and could be useful for other sections. I could though move the method to just UMovieScene3DTransformSection and do a cast instead. Looked into doing a unit test for this but after talking with Andrew P we will work on doign an automated test in EngineQA since that will provide more coverage. Will also add a video the jira. #jira UESEQ-403 Change 4010713 by Mike.Zyracki Added option to key a group of transform channels instead of just the changed channel, or all of them. This is useful for quaternion interpolations where you want rotation keys to be aligned but also useful for other workflows like animating FK Pose to Pose. Change 4010715 by Andrew.Porter MediaFrameworkTest: Setting LogMediaUtils logging from VeryVerbose to Verbose to cut back on the spam Change 4013048 by Max.Chen Sequencer: Fix play/jump status. Update the player status for all position methods (Scrub, Jump, Play). Jump means Stopped. Correctly use PlayTo or JumpTo based on position method. In PlayInternal, JumpTo with the Stopped state (rather than playing state). #jira UE-57844 Change 4013479 by andrew.porter QAGame: Added content in TM-SequenceRecorder to test recording a property on a Cine Camera Component; Press 3 to trigger manual focus distance to increment on a timer Change 4014323 by Max.Chen Sequencer: Fix SetPlaybackPosition so that it jumps or plays based on playback status. #jira UE-57844 Change 4015888 by Max.Chen Sequencer: Fix crash on paste. UMovieSceneSections were gathered from the track node's track. For sub track mode, we want to gather only those sections on that track node row. #jira UE-57951 Change 4015943 by Max.Chen Sequencer: Fix moving shots up when the mouse pos goes outside of the virtual track area. #jira UE-57717 Change 4016293 by Max.Chen Sequencer: Fix relative frame playback end frame calculation so that custom start/end frames remain in the space of the sequence and are not relative. #jira UE-57308 Change 4017075 by Andrew.Rodham Sequencer: Corrected initial evaluation range used when calling UMovieSceneSequencPlayer::Play() Change 4017270 by Christina.TempelaarL Sequencer: FCPXML importer and movie scene capture - Use CeilToFrame when converting section start/end frame times to frame numbers in FCPXML and movie scene capture. - Added support for clip metadata in FCPXML. - Got rid of redundant TokenizedError message class, no longer needed now that FCPXML is in editor directory. - Added log messages currently commented out due to exception, still testing. #UESEQ-358 Change 4018370 by Christina.TempelaarL Sequencer: fixed FCPXML log messages regarding sections with start/end not divisible by display rate. #UESEQ-358 Change 4018378 by Christina.TempelaarL Sequencer: fixed error in previous changelist. #UESEQ-358 Change 4019457 by Max.Chen Sequencer: Show event names only when the event track is selected #jira UE-57897 Change 4022806 by Max.Chen Sequencer: Fix crash on movie scene capture dialog shutdown if movie capture wasn't even started. #jira UE-58106 Change 4022894 by Max.Chen Sequence Recorder: Wrap OpenEditorForAssets after sequence recording within GIsEditor #jira UE-58084 Change 4024487 by Max.Chen Sequencer: Add tooltip for quat interpolation #jira UE-58113 Change 4024562 by Max.Chen Sequencer: Change path/attach track sequence binding id to currently focused sequence id so that bindings can be created in subsequences Change 4027414 by JohnHenry.Carawon QAGame: Checking in content that shows a bug with using particles systems and Delay Before Shot Warm Up. Change 4028990 by Max.Chen Sequencer: Fix evaluate sub sequences in isolation. This check was added with the compile on the fly logic. Not sure why it was necessary but it seems like the sub sequence data needs to be updated in order to evaluate sub sequences in isolation. #jira UE-58184 Change 4029004 by Max.Chen Sequencer: Ensure that old binding references are removed when re-assigning actors in sequencer #jira UE-57898 Change 4030997 by JohnHenry.Carawon QAGame: Fixing name of the master sequence Change 4031785 by Michael.Karambelas QAGame: Added an instance of ThirdPerson Run to TM-SequenceRecorder for Record to Possessable test. Change 4035548 by Andrew.Rodham Sequencer: Changed FMovieSceneEvaluationTemplate::TemplateSignature to be a serial number to address non-deterministic cooking issues - This commit is related to the repro steps found in 3914599 and 3934307, both of which have been verified with this new change. - Copy of 4031684 from //Fortnite/Main/... #jira FORT-84852 Change 4036312 by Max.Chen Sequencer: Fix zoom view range so that it uses the passed in InZoomDelta Change 4036318 by Max.Chen Sequencer: Auto size now returns a range and defaults to the channel proxy range so that keyed regions can also be autosized. Change 4036322 by Max.Chen Forgot missing change Change 4036360 by Max.Chen Sequencer: Fix play rate calculation when skeletal animation section play rate changes. Change 4037163 by Mike.Zyracki Weighted Tangent Implementation Tricky thing is that you need to solve a cubic in order to get the bezier weights for the time part of the curve. See https://www.gamedev.net/forums/topic/474094-help-function-curves-for-animation-interpolation/ Maya provides an implementation in it's dev kit but I didn't use it since it was horribly slow and uses an iterative solution to solve the cubic needed. Instead I use an old algorithm (Cardano's method), to solve the cubic which should be much faster. Though relative simple to code from principles I just went ahead and used a version from Graphics Gems 1. I put this cubic solver directly in MovieSceneFloatChannel.cpp, but will need to move it when we support Rich Curve, maybe to FMath:: (which would probalby require some other functions for solving quartics, etc.. for completeness.). Also note we resolve this on every evaluation but dont' need to if the interval the time is evaluating hasn't had any change in values or tangents. So again when we support FRichCurve we can create a Weighted Evaluating class that can hold the cache. Also with the tangent drags I got rid of the Cardinal position that was used to calculate non-weight tangents from the key point and just quickly getting a direction. With weighted tangents we need to use the delta instead (otherwise when moving multiple they would all get the same weight based upon distance to the cardinal point. ) For mixed tangents types what I'm defaulting to non weighted if the interval doesn't match. May need to do weighted instead, not sure. What's left is just FBX import, for tomorrow. #jira UESEQ-76 Change 4037435 by Mike.Zyracki Fix fo build warnings from weighted tangent submission. #trivial Change 4038091 by Michael.Karambelas QAGame: Updated a Sequence Recorder group in TM-SequenceRecorder that had an actor missing the animation. Change 4038374 by Andrew.Rodham Sequencer: Refined scrubber styling for level sequences and actor sequences - Scrubber now shows a block the width of a dsplay rate frame, plus a line for the actual evaluated time. UMG reverts back to the previous styling (no block) - Keys that are outside of the playback range are now drawn with a subdued effect - Tick labels are no longer drawn when directly underneath the scrubber Change 4038490 by Max.Chen Sequencer: Expose tangent weight values in details panel. Change 4038620 by Andrew.Rodham Sequencer: Advanced time panel polish #jira UESEQ-426 Change 4038677 by Max.Chen Movie Scene Capture: Redirector for MovieSceneTools.AutomatedLevelSequenceCapture #jira UE-58248 Change 4039739 by Max.Chen Sequencer: Media track should only be supported by Level Sequence Change 4040024 by JohnHenry.Carawon QAGame: Fix EventReciever and OverrideBinding example The level sequence was set to none so the fix was to set it back to TrackEvaluation_Master. Change 4040610 by Andrew.Rodham Curve Editor: Moved weighted tangent switchers to a single toggle command (CTRL+W) and added an icon #jira 58383 Change 4040882 by Mike.Zyracki Keep broken when turning on weighted #jira UE-58435 Change 4041089 by andrew.porter QAGame: Sequence for Long Tangents bug Change 4041498 by Mike.Zyracki Turn off weighted when going auto to prevent large tangents. Do it both in UI and when doing AutoSetTangents() to really make sure it doesn't happen. #jira UE-58452 Change 4041752 by andrew.porter MediaFrameworkTest: Adding some better logging for setting rates when not supported. Also ignoring commiting URL when there is no text Change 4041896 by Matt.Hoffman The transform dialog box now transforms selected keys and sections, instead of just keys. #jira UE-58265 [CL 4044405 by Max Chen in Main branch]
2018-05-02 10:10:00 -04:00
TRange<double> SelectionRange = TimeSliderArgs.SelectionRange.Get() / GetTickResolution();
Copying //UE4/Dev-Sequencer to //UE4/Main ========================== MAJOR FEATURES + CHANGES ========================== Change 2875025 on 2016/02/20 by Andrew.Rodham Sequencer: Cinematic viewport improvements - Added optional letterbox overlay (defaults to 2.35:1) - Added ability to change safe frame colors - Added selected tracks' keys to the transport range - Added buttons for jumping between selected tracks' keyframes on the transport controls - Removed black padding around the viewport where possible - Added ability to specify whether a combo button/menu anchor should close when its parent receives focus - Separated logic of FGroupedKeyArea into FSequencerKeyCollection, so it can be used independently - Added playback range to the viewport frame numbers - All frame numbers are now spin boxes #jira UE-26429 Change 2875026 on 2016/02/20 by Thomas.Sarkanen Added console commands for recording sequences Changed plugin to a developer plugin so we can load it when the editor is in -game mode. Added Exec commands. Added some more logging to help diagnose problems when using commands. Added loading/saving of config for recorder settings (stored in Editor.ini). Also disabled controls in recorder window when recording. Added auto-saving of assets when in non-editor modes. Moved animation settings from UnrealEd to Engine module. Change 2875036 on 2016/02/20 by Max.Chen Sequencer: Call RedrawAllViewports instead of RedrawLevelEditingViewports. In particular, this fixes some update issues when editing values in the key editors. #jira UE-26960 Change 2875046 on 2016/02/20 by Max.Preussner Sequencer: Fix so that clicking on UMG Animations doesn't dirty the scene. #jira UE-26249 Change 2875047 on 2016/02/20 by Max.Chen Sequencer: Add option to toggle display of channel colors/lines. View->Channel Colors Change 2877138 on 2016/02/23 by Max.Chen Sequencer: Select corresponding track node when selecting key or section. Removed active/inactive selection since it was only being used in deletion and the rules for deletion are now dependent upon what is selected - delete keys and sections before deleting outliner nodes. Change 2877143 on 2016/02/23 by Thomas.Sarkanen Added new math function: WindRelativeAnglesDegrees Given two angles in degrees, 'wind' the angle in Angle1 so that it avoids >180 degree flips. Good for winding rotations previously expressed as quaternions into a euler-angle representation. Change 2877147 on 2016/02/23 by Thomas.Sarkanen Added the ability to import sequencer transforms from the root node of an animation sequence Intended for use after re-importing animations from DCC tools. Available in the right-click menu for transform tracks. Also added FindTrackBinding to UMovieScene so track bindings can be recovered from tracks. Change 2877163 on 2016/02/23 by Max.Chen Sequencer: Add option to create keyframe sections as infinite. Sequencer defaults to true, UMG defaults to false. Change 2877165 on 2016/02/23 by Max.Preussner Sequencer: Drawing vertical position lines when dragging keys Change 2878748 on 2016/02/23 by Max.Chen Curve Editor: Switch curve type to user when flatting or straightening tangents. #jira UE-27277 Change 2878799 on 2016/02/23 by Frank.Fella Sequencer - Add folders support to the outliner. Change 2880769 on 2016/02/24 by Andrew.Rodham Sequencer: Added ability to override runtime spawnable ownership in sequencer - This is exposed as an option on spawnables "Keep Alive Outside Playback Range (In Sequencer)" - Enabling this will stop spawnables from being destroyed when scrubbing outside of the playback range #jira UE-27205 Change 2880770 on 2016/02/24 by Thomas.Sarkanen Sequencer: Added countdown and recording indicator display when recording Also fixed extra popups added post-PIE when animation recordings auto shutdown. Change 2880782 on 2016/02/24 by Max.Chen Sequencer: Snapping now also uses the current time as a possible snap time. #jira UE-26306 Change 2880793 on 2016/02/24 by Max.Chen Sequencer: Add +Animation to Animation track so that it's consistent with all other tracks that have a + button. Change 2880812 on 2016/02/24 by Max.Chen Sequencer: Fix adjusting the leading edge of a shot section so that it cuts into the shot rather than adjusts the start time. #jira UE-26306 Change 2881624 on 2016/02/25 by Andrew.Rodham Changing shader version GUID to fix corrupt shaders in ddc Change 2882408 on 2016/02/25 by Thomas.Sarkanen Asset/actors stored in TLazyObjectPtrs can now reference game content from engine This is a legitimate use case as lazy object ptrs are designed to reference assets/actors cross-domain. Change 2882409 on 2016/02/25 by Thomas.Sarkanen [CL 2899785 by Max Chen in Main branch]
2016-03-08 16:55:04 -05:00
Copying //UE4/Dev-Sequencer to //UE4/Main (Source: //UE4/Dev-Sequencer @ 2945541) ========================== MAJOR FEATURES + CHANGES ========================== Change 2837601 on 2016/01/20 by Thomas.Sarkanen Sequencer: Exposed bool, byte, event, fade, float, slomo, and visibility section keys in context menu Change 2840895 on 2016/01/23 by Thomas.Sarkanen Sequencer: Moved key proxy handling from section into key area; added support for grouped keys; exposed color properties in context menu. Change 2901092 on 2016/03/09 by Thomas.Sarkanen Sequencer: Fixed ensure() and crash when exiting PIE & then playing back in editor Made sure that instances that are playing that have active montages can re-connect to a playing montage if it is already active. We dont stop/start preview/non- preview playback when switching modes right now so I've just made the system robust to the switch when playing back animation. Ensured that instances are kept up to date by hooking into EndPlayMapDelegate. This fires slightly later than OnEndPIE, so it allows us to pick up when instances have been deleted from the world. OnEndPIE is fired before the worlds are shutdown so instances can still be bound to valid (but nearly dead) actors at this point. #jira UE-27898 #jira UE-27899 Change 2901159 on 2016/03/09 by Chris.Bunner Allow EXR frames from SaveHighResScreenshot to be uncompressed (r.SaveUncompressedEXRFrames). Change 2903123 on 2016/03/10 by Max.Chen Sequencer: Add snapping for the in/out range. Change 2903126 on 2016/03/10 by Max.Chen Sequencer: Fix split and trim for cinematic shot sections so that the start offset value is set. Change 2903132 on 2016/03/10 by Max.Chen Sequencer: Create camera here and set it as the current camera cut. Change 2903138 on 2016/03/10 by Max.Chen Sequencer: Improve mechanism for adding objects to Sequencer. Hold down shift while dragging from content browser to add as a spawnable. Hold down ctrl while dragging from content browser to add as a possessable. Change 2903143 on 2016/03/10 by Max.Chen Sequencer: Add 4k to movie capture dialog. #jira UE-28147 Change 2903157 on 2016/03/10 by Max.Chen Sequencer: Pop out of locked camera when popping out of the sequence. #jira UE-27662 Change 2908097 on 2016/03/14 by Andrew.Rodham Sequencer: Added default viewport type onto the viewport types menu - The activation command for a given viewport type no longer toggles it if it's already active, it will just do nothing. - Switching back to the default viewport type can be achieved with SHIFT+D Change 2911869 on 2016/03/16 by Max.Preussner Editor: Caching device proxy manager, so the UI doesn't constantly poll for the TargetDeviceServices module Change 2917943 on 2016/03/22 by Thomas.Sarkanen Sequence Recording: Added "Record New Sequence From Current Player" to sub-sequence track menu This option is only available in PIE. When selected it primes a new seciton for recording against the pawn that is currently being controlled by the player. Change 2917946 on 2016/03/22 by Max.Chen Sequencer: Automatically add and attach a cine camera when dropping a crane or rail. Change 2917954 on 2016/03/22 by Thomas.Sarkanen Fix anim dynamics going crazy on time skips Added new API to FAnimNode_Base: NeedsDynamicReset and ResetDynamics. This allows nodes that subscribe to this interface to be reset on teleport/time skips. Call through to ResetDynamics on zero timestep (ie. skips) in the preview path in Sequencer. Change 2917961 on 2016/03/22 by Frank.Fella Sequencer - Sequencer - Update the color track code to match the behavior in matinee, also remove empty light color tracks from the sequence, and add a missing particle parameter track. Change 2917984 on 2016/03/22 by Max.Chen Sequencer: Fix crash on deleting object binding nodes multiple times. Change 2917986 on 2016/03/22 by Max.Chen Sequencer: Fix if adding multiple camera cuts at the same time with the same duration as an existing camera cut. The camera is replaced in this case. Change 2917994 on 2016/03/22 by Jeff.Farris Support for scene depth picker. Used for focus depth sampling in cine cams. Change 2918003 on 2016/03/22 by Max.Chen Sequencer - Fix selection issues related to keying an undo by moving the selection clear on rebuild to after the tree selection state has been cached by path. Change 2920371 on 2016/03/23 by Max.Preussner UnrealEd: Added a file import path that doesn't load the entire file into memory prior to importing UFactory::StaticImport will now call FactoryCreateFile for both text and binary files. The default implementation will load the file into a buffer/string and call FactoryCreateBinary/FactoryCreateText to preserve legacy behavior. New factories may override FactoryCreateFile to perform their own file processing instead. Change 2923359 on 2016/03/25 by Max.Preussner UnrealEd: Refactored out StaticImportObject code into ImportObject Change 2924887 on 2016/03/28 by Jeff.Farris Sequencer: Camera Anim and Camera Shake tracks now support PostProcess changes in the CameraAnim Change 2927283 on 2016/03/30 by Max.Chen Sequencer: Fix crash resetting default in audio track in sequencer. Fix audio track rename when adding another audio. #jira UE-28836, UE-28859 Change 2928290 on 2016/03/30 by Max.Preussner ContentBrowser: Disabling 'Show in Explorer' context menu option for newly created/unsaved asset(s) Change 2928480 on 2016/03/30 by Max.Preussner AssetTools: Added built-in type category for Media assets Change 2928498 on 2016/03/30 by Max.Preussner AssetTools: Sorting asset type categories alphabetically Change 2932326 on 2016/04/04 by Frank.Fella Sequencer - Add "paste from matinee" support for audio tracks, and add volume support to audio sections in sequencer. Change 2933917 on 2016/04/05 by Max.Preussner Core: Added microseconds support to FTimespan Change 2933920 on 2016/04/05 by Max.Preussner Sockets: Simplified socket timeout assignments Change 2935434 on 2016/04/06 by Max.Chen Sequencer: Deselect possessable before converting it to a spawnable and deleting it. Also, make sure the newly converted spawnables are selected. This fixes a bug where the transform gizmo remains after adding a spawnable. Also, consolidate code for adding possessables to sequencer so that the newly added possessable node will be selected in the widget tree. #jira UE-28215 Change 2935590 on 2016/04/06 by Jeff.Farris Made crane rig preview mesh at the tip move as expected and appear in a reasonable place. Change 2936082 on 2016/04/07 by Max.Chen Sequencer: Attach should use default attach component of the actor if it exists. This fixes a bug where trying to attach to a camera crane rig attaches to the proper component. Change 2936118 on 2016/04/07 by Max.Chen Sequencer: Adding crane/rail with shift now adds the crane/rig as a spawnable and the attached cine camera as a spawnable. An attach track is created for the cine camera spawnable. #jira UE-28308 Change 2937226 on 2016/04/07 by Max.Chen Sequencer: Add invalidation when levels are added or removed.This fixes a bug were if you have a level sequence open and then add a sublevel that the level sequence operates on, it correctly updates the actors from the new sub level. #jira UE-27595 Change 2937263 on 2016/04/07 by Frank.Fella Sequencer - Changed the matinee to sequencer conversion tools so that curve keys set to "clamped auto" import as user tangents since we don't support clamped auto in sequencer. Change 2937273 on 2016/04/07 by Max.Chen Sequencer: No longer experimental/betal and now enabled by default. #jira UETOOl-625 Change 2937694 on 2016/04/08 by Max.Chen Curve Editor: Separate out input and output snapping. #jira UE-27209 Change 2937852 on 2016/04/08 by Andrew.Rodham Sequencer: Spawnables no longer use generated classes - Spawnables now store a template actor instance, rather than a generated class - All relevant code has been converted to use this new approach - Spawnable defaults are now harvested directly from any spawned instances when the movie scene is saved, or when the object is de-spawned. We only do this for spawnables *in the currently active sequence instance*. This approach ensures that instance components and other properties persist. - Currently we don't mark the package as dirty when the defaults are changed. This needs to be addressed. - Some fixes have been made to AActor and Actor Iterators to ensure that actors not contained within a level do not crash. - Spawning optimisations to follow Change 2937956 on 2016/04/08 by Max.Preussner Sequencer: Added selection range commands to general toolbar menu Change 2937981 on 2016/04/08 by Max.Preussner Sequencer: Refactored GetKeyHandles to take a time range for filtering keys Change 2938007 on 2016/04/08 by Max.Preussner Sequencer: Implemented selection range key selection Change 2938184 on 2016/04/08 by Max.Chen Sequencer: Find in Content Browser is now in the top level menubar. #jira UE-21598 Change 2938665 on 2016/04/08 by Frank.Fella UMG - Add support for material animation. Change 2939048 on 2016/04/10 by Max.Chen CineCamera: Change current position on rail to normalize position. Change 2939067 on 2016/04/10 by Max.Chen Sequencer: Add paste color from matinee Change 2939587 on 2016/04/11 by Andrew.Rodham Sequencer: Fixes to spawnable rework - Removed commented out code. - Fixed particle system components not disabling auto activate. - Instance Components are now correctly registered on spawn. - Removed ability to set the editable flag on actors in favor of a delegate assigned to SActorDetails to disable property editing on actors spawned from outside of the currently focused sequence. Change 2939666 on 2016/04/11 by Andrew.Rodham Sequencer: Fixed active sequence ID not being set on creation Change 2940663 on 2016/04/12 by Andrew.Rodham Sequencer: Spawnable object templates now always have the RF_ArchetypeObject flag #jira UE-29337, UE-29339 Change 2940742 on 2016/04/12 by Thomas.Sarkanen Improvements to sequence recording API Sequence recording is now more extensible. Moved the majority of recorders into a seperate module. Cleaned up recorder API, removed bRecord that was only really used once. Added factory class as a modular feature that allows users to register and implement their own recorders. Recorders can supply their own settings classes. These are incorporated into the UI via a details customization so they appear to be seamlessly integrated. Exposed components to record as an advanced setting. Users can use this to gate the components and actors that are recorded. #jira UE-28850 - Update sequence recording API for better extensibility Change 2940828 on 2016/04/12 by Max.Chen Level Editor: Clear the camera preview if the level viewport is locked to the same camera. #jira UE-27489 Change 2941090 on 2016/04/12 by Frank.Fella Sequencer - Fix inconsistencies with the level visibility track. + Add an option to update a track instance when it stops playing due to it's parent movie scene being deactivated as a sub-scene. + Reset level visibility state when the section ends, or when it's parent subsection ends. Change 2941427 on 2016/04/12 by Andrew.Rodham Sequencer: Fixes for recorded dynamic components - Dynamic components are now named uniquely within their owner actor, and are no longer re-bound to new object tracks when detached/re-attached - New dynamic components are created every time a new component is detected on an actor, regardless of whether it was once attached before. This affords recording externally managed components from a component pool. - Section recorders for components that are no longer attached to the actor are now disabled correctly. Change 2941760 on 2016/04/12 by Max.Preussner Editor: Setting up correct material expresions when creating material from normal map texture Change 2941819 on 2016/04/13 by Max.Chen Sequencer: Fire named events in all sublevels. #jira UE-28843 Change 2942052 on 2016/04/13 by Andrew.Rodham Sequencer: Fixed not being able to add dynamic material parameter tracks to spawnables when the object is not spawned #jira UE-24287 Change 2942223 on 2016/04/13 by Max.Preussner Editor: Using built-in function to assign sampler format Change 2942833 on 2016/04/13 by Max.Chen Sequencer: More copy matinee helpers. - Make some sections infinite. - Fix FindPossessableObjectId - Expose FindGroupByName Change 2942944 on 2016/04/13 by Max.Chen Sequencer: Fix anim copy so that it doesn't create an animation clip longer than the next clip's start position. Change 2943313 on 2016/04/14 by Max.Chen Sequencer: Initial matinee to level sequence asset converter. Right click on a matinee actor in the level and choose "Convert to Level Sequence" Current supports: - movement tracks - generic property tracks - particle tracks - anim control tracks - event tracks - audio tracks - visibility track - director track (fade, slomo, camera cuts) Possible todos: - Relative scale3D - Option to create spawnables instead of possessables - Create shots per director track camera cut instead of a direct translation to the camera cut track #jira UETOOL-467 Change 2943596 on 2016/04/14 by Andrew.Rodham Editor: Fixed placement mode scrollbar visibility not working for custom content #jira UE-27191 Change 2943651 on 2016/04/14 by Max.Chen Sequencer: Invalidate the audio waveform when the source changes. #jira UE-29394 Change 2943674 on 2016/04/14 by Max.Chen Sequencer: Store/restore playback state when rebuilding. #jira UE-29452 Change 2943993 on 2016/04/14 by Max.Chen Sequencer: Convert slot name from matinee to level sequence. Change 2944156 on 2016/04/14 by Frank.Fella Sequencer - Fix undo when moving items into folders, and when deleting folder. #jira UE-27368 Change 2944227 on 2016/04/14 by Max.Chen Sequencer: Show curves in the curve editor if one of the parent nodes is selected. For example, if Location is selected, show Location.X, Location.Y, and Location.Z Change 2945057 on 2016/04/15 by Andrew.Rodham Editor: Fixed placement mode scrollbar visibility not working for custom content #jira UE-27191 #lockdown nick.penwarden [CL 2945551 by Max Chen in Main branch]
2016-04-15 14:50:58 -04:00
if (!SelectionRange.IsEmpty())
Copying //UE4/Dev-Sequencer to //UE4/Main ========================== MAJOR FEATURES + CHANGES ========================== Change 2875025 on 2016/02/20 by Andrew.Rodham Sequencer: Cinematic viewport improvements - Added optional letterbox overlay (defaults to 2.35:1) - Added ability to change safe frame colors - Added selected tracks' keys to the transport range - Added buttons for jumping between selected tracks' keyframes on the transport controls - Removed black padding around the viewport where possible - Added ability to specify whether a combo button/menu anchor should close when its parent receives focus - Separated logic of FGroupedKeyArea into FSequencerKeyCollection, so it can be used independently - Added playback range to the viewport frame numbers - All frame numbers are now spin boxes #jira UE-26429 Change 2875026 on 2016/02/20 by Thomas.Sarkanen Added console commands for recording sequences Changed plugin to a developer plugin so we can load it when the editor is in -game mode. Added Exec commands. Added some more logging to help diagnose problems when using commands. Added loading/saving of config for recorder settings (stored in Editor.ini). Also disabled controls in recorder window when recording. Added auto-saving of assets when in non-editor modes. Moved animation settings from UnrealEd to Engine module. Change 2875036 on 2016/02/20 by Max.Chen Sequencer: Call RedrawAllViewports instead of RedrawLevelEditingViewports. In particular, this fixes some update issues when editing values in the key editors. #jira UE-26960 Change 2875046 on 2016/02/20 by Max.Preussner Sequencer: Fix so that clicking on UMG Animations doesn't dirty the scene. #jira UE-26249 Change 2875047 on 2016/02/20 by Max.Chen Sequencer: Add option to toggle display of channel colors/lines. View->Channel Colors Change 2877138 on 2016/02/23 by Max.Chen Sequencer: Select corresponding track node when selecting key or section. Removed active/inactive selection since it was only being used in deletion and the rules for deletion are now dependent upon what is selected - delete keys and sections before deleting outliner nodes. Change 2877143 on 2016/02/23 by Thomas.Sarkanen Added new math function: WindRelativeAnglesDegrees Given two angles in degrees, 'wind' the angle in Angle1 so that it avoids >180 degree flips. Good for winding rotations previously expressed as quaternions into a euler-angle representation. Change 2877147 on 2016/02/23 by Thomas.Sarkanen Added the ability to import sequencer transforms from the root node of an animation sequence Intended for use after re-importing animations from DCC tools. Available in the right-click menu for transform tracks. Also added FindTrackBinding to UMovieScene so track bindings can be recovered from tracks. Change 2877163 on 2016/02/23 by Max.Chen Sequencer: Add option to create keyframe sections as infinite. Sequencer defaults to true, UMG defaults to false. Change 2877165 on 2016/02/23 by Max.Preussner Sequencer: Drawing vertical position lines when dragging keys Change 2878748 on 2016/02/23 by Max.Chen Curve Editor: Switch curve type to user when flatting or straightening tangents. #jira UE-27277 Change 2878799 on 2016/02/23 by Frank.Fella Sequencer - Add folders support to the outliner. Change 2880769 on 2016/02/24 by Andrew.Rodham Sequencer: Added ability to override runtime spawnable ownership in sequencer - This is exposed as an option on spawnables "Keep Alive Outside Playback Range (In Sequencer)" - Enabling this will stop spawnables from being destroyed when scrubbing outside of the playback range #jira UE-27205 Change 2880770 on 2016/02/24 by Thomas.Sarkanen Sequencer: Added countdown and recording indicator display when recording Also fixed extra popups added post-PIE when animation recordings auto shutdown. Change 2880782 on 2016/02/24 by Max.Chen Sequencer: Snapping now also uses the current time as a possible snap time. #jira UE-26306 Change 2880793 on 2016/02/24 by Max.Chen Sequencer: Add +Animation to Animation track so that it's consistent with all other tracks that have a + button. Change 2880812 on 2016/02/24 by Max.Chen Sequencer: Fix adjusting the leading edge of a shot section so that it cuts into the shot rather than adjusts the start time. #jira UE-26306 Change 2881624 on 2016/02/25 by Andrew.Rodham Changing shader version GUID to fix corrupt shaders in ddc Change 2882408 on 2016/02/25 by Thomas.Sarkanen Asset/actors stored in TLazyObjectPtrs can now reference game content from engine This is a legitimate use case as lazy object ptrs are designed to reference assets/actors cross-domain. Change 2882409 on 2016/02/25 by Thomas.Sarkanen [CL 2899785 by Max Chen in Main branch]
2016-03-08 16:55:04 -05:00
{
const float SelectionRangeL = RangeToScreen.InputToLocalX(SelectionRange.GetLowerBoundValue());
const float SelectionRangeR = RangeToScreen.InputToLocalX(SelectionRange.GetUpperBoundValue()) - 1;
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3178529) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3149443 on 2016/10/03 by Max.Preussner MediaAssets: Better parameter names for MediaPlayer BP functions Change 3149756 on 2016/10/03 by Max.Chen Sequence Recorder: Set some settings to be clamped at 0 (sequence length, recording delay, audio gain, audio input buffer size, nearby actor recording proximity) #jira UE-35233 Change 3149795 on 2016/10/03 by Max.Chen Curve Editor: Set tangent to user when flattening or straightening tangents only when the tangent mode is auto and the interp mode is cubic. #jira UE-36734 Change 3150378 on 2016/10/04 by Max.Preussner PS4Media: Made video buffer sizes for file and HLS sources configurable (UE-36807) #jira UE-36807 Change 3151414 on 2016/10/05 by Max.Chen Sequencer: Fix case where restoring the last view target was getting skipped. It should always restore if the camera object and the unlock if camera actor object is null. #jira UE-35285 Change 3152038 on 2016/10/05 by Max.Preussner UdpMessaging: Code & documentation modernization pass Change 3152471 on 2016/10/05 by Max.Chen Cine Camera: Don't enable/disable actor ticking based soley on actor tracking since actor ticking is needed for other purposes. Instead, always enable actor ticking and only update actor tracking on tick if necessary. This fixes a bug where the cine camera actor won't tick if you hook in event tick. #jira UE-36625 Change 3152692 on 2016/10/05 by Max.Preussner Messaging: API code & documentation modernization pass Mostly removed shared pointer/ref typedefs as they prevent forward declarations and increase include complexity. Change 3153824 on 2016/10/06 by Max.Preussner Messaging: Renamed IConnectionBasedMessagingModule to ITcpMessagingModule and moved it into TcpMessaging I recommend that we refactor this API. The dependency should be reversed, i.e. instead of AndroidDeviceDiscovery depending on the TcpMessaging plug-in module, the Engine should provide a central registry that device discovery modules can notify, and that message transport plug-ins can register with and listen to OnConnectionAdded/Removed events etc. That way it supports an arbitrary number of transport plug-ins, and the Engine is not coupled to any of them. This functionality is not necessarily related to messaging, and the Messaging API is transport agnostic anyway. I'll think about this some more. Change 3153826 on 2016/10/06 by Max.Preussner Messaging: Removed remaining typedefs in IMessageTracer to enable forward declaration and reduce include dependencies Change 3153857 on 2016/10/06 by Max.Chen Sequencer: Set snap time to dragged key on by default. Change 3153980 on 2016/10/06 by Max.Preussner SessionServices: Removed typedefs; code and documentation modernization pass Change 3154313 on 2016/10/06 by Max.Chen Sequencer: Set the paste keys time to the current time, rather than the mouse time. Change 3154332 on 2016/10/06 by Max.Chen Sequencer: Remove click to rename shot functionality in the shot thumbnail. Added rename shot to the shot context menu. Change 3154377 on 2016/10/07 by Max.Chen Sequencer: Add ability to step to beginning and ends of sections/shots using the hotkeys: , and . Change 3154788 on 2016/10/07 by Max.Chen Sequencer: Fix offsets that created when moving multiple sections. The offsets were being created because section bounds were being generated for all sections except for the current section. Instead, they should be computed for all sections except for any that aren't being moved. #jira UE-29152 Change 3159274 on 2016/10/11 by Max.Preussner Core: Documentation fixes Change 3159275 on 2016/10/11 by Max.Preussner UdpMessaging: Added missing header Change 3160746 on 2016/10/12 by Max.Preussner MediaAssets: Added BP functions to query width, height, and aspect ratio of UMediaTexture instances #jira UE-37241 Change 3160975 on 2016/10/12 by Max.Preussner PS4Media: Better logging for SetRate failures Change 3160995 on 2016/10/12 by Max.Preussner MediaPlayerEditor: Fixed Media player selection is ignored if media specifies player overrides (UE-37248) #jira UE-37248 Change 3161066 on 2016/10/12 by Max.Preussner PS4Media: Enforcing minimum 8 byte alignment for media allocations Change 3161069 on 2016/10/12 by Max.Preussner PS4Media: Fixed log spam when setting play rate to current rate Change 3162567 on 2016/10/13 by Max.Preussner PS4Media: Made track switching code more readable Change 3163447 on 2016/10/14 by Max.Preussner PS4Media: Fixed array out of bounds assertions Change 3163772 on 2016/10/14 by Max.Preussner MfMedia: Fixed a number of timing related issues Change 3163980 on 2016/10/15 by Max.Chen Sequencer: Remove folder name numeric padding so that the naming convention is similar to creating objects in the level. Change 3164581 on 2016/10/17 by Andrew.Rodham Sequencer: Ensure global pre-animated state is restored in reverse order Change 3164582 on 2016/10/17 by Andrew.Rodham Sequencer: Ensure pre animated state is restored for all actor components before saving default state Change 3164583 on 2016/10/17 by Andrew.Rodham Sequencer: Re-enabled support for pre and post roll Change 3165464 on 2016/10/17 by Max.Chen Sequencer: Default number frame handles to 0 so that there's no change in behavior when rendering out a master sequence of shots. Handle frames need to enabled explicitly by the user. Copy from Release-4.14 #jira UE-37416 Change 3165483 on 2016/10/17 by Max.Chen Sequencer: Enable restore state for attach section completion Change 3165771 on 2016/10/18 by Andrew.Rodham Sequencer: Force evaluate when rendering thumbnails #jira UE-37321 Change 3166057 on 2016/10/18 by Andrew.Rodham Sequencer: Only set defaults for tracks that have no keys, and where the requested default has changed #jira UE-37285 Change 3166218 on 2016/10/18 by Max.Preussner MediaPlayerEditor: Failure opening media, even though it opened successfully (UE-37470) #jira UE-37470 Change 3166247 on 2016/10/18 by Max.Preussner WmfMedia: Showing progress bar while media is being resolved Change 3166289 on 2016/10/18 by Max.Preussner MfMedia: Showing progress bar while media is being resolved Change 3166993 on 2016/10/18 by Max.Preussner MfMedia: Fixed info string not reset on media close. Change 3166999 on 2016/10/19 by Max.Preussner Media: Fixed NV12 and NV21 support Change 3167008 on 2016/10/19 by Max.Preussner Media: Removed vertical NV12 alignment Change 3167029 on 2016/10/19 by Max.Preussner WmfMedia: Temp fix for RGB32 encoded AVIs rendering upside-down and too bright (UE-37505) #jira UE-37505 Change 3168593 on 2016/10/19 by Max.Chen Sequencer: Change paste at time to local time, so that the paste happens in the local time of the sequence rather than the global time if pasting in a shot level sequence. Change 3168626 on 2016/10/19 by Max.Chen Sequencer: Clamp to view bounds should snap to frame if frame snapping is on. Change 3168627 on 2016/10/19 by Max.Chen Sequencer: Initialize working and view range to be 10% larger than playback range. Change 3168760 on 2016/10/20 by Max.Preussner Media: Revamped media texture buffer management to support padded frames Added support for Windows bitmap buffers. Fixed a number of format, conversion and/or looping issues in WmfMedia and MfMedia. Not all shaders have been updated yet. Change 3169640 on 2016/10/20 by Max.Chen Sequencer: Add current camera to FLevelSequencePlayerSnapshot. Adjust DefaultBurnIn to include a few more parameters like focal length and focus distance. #jira UE-37407 Change 3170677 on 2016/10/21 by Max.Chen Movie Scene Capture: Add toggle to override engine scalability settings to cinematic scalability. #jira UE-36560 Change 3170710 on 2016/10/21 by Max.Preussner Media: Optimized handling of RGB input Change 3170712 on 2016/10/21 by Max.Preussner Media: Fixed NV21 conversion shader scaling Change 3170923 on 2016/10/21 by Max.Preussner UBT: Copied XboxOne project generator fix from Fortnite CL# 3170868 Change 3171494 on 2016/10/23 by Max.Chen Sequencer: Fix fbx export from master sequence not finding bound objects. #jira UE-35752 Change 3171506 on 2016/10/23 by Max.Chen Sequencer: Draw where in and out points of the shot section are, just like subsequences do. Change to only draw the green starting line if StartOffset is negative. #jira UE-35473 Change 3171743 on 2016/10/24 by Andrew.Rodham Editor: Added support for detail customizations on root structs - Also added the ability to add external struct data onto a detail category builder, and property type customization. Change 3171752 on 2016/10/24 by Andrew.Rodham Sequencer: Fixed spawnable ownership - Spawnables are no longer destroyed when the cursor leaves the master playback range. - Spawnable ownership now operates as it previously did before the evaluation rework. - bIgnoreOwnershipInEditor has been removed since its existence was a work around for when we didn't evaluate sub sequences from the master sequence. - FMovieSceneSequenceID is now a struct so that it can be used in array properties - Meta data now exists for each segment of an evaluation field. Currently this only includes the sub sequence IDs that exist at that time, but it may be expanded to include all evaluation entities (tracks + sections) in future so we don't have to calculate that at runtime. Change 3171756 on 2016/10/24 by Andrew.Rodham Sequencer: Added ability to trigger events with parameters - It's now possible to supply an event payload on event track keys which are to be passed to a given event. The structure must match the signature of the event, or a warning will be emitted. - Added a templated TGenericKeyArea, TKeyFrameManipulator and TCurveInterface that allow to generic manipulation of keyframe section data. In time we will port the other key areas over to this representation. - This new architecture affords the common manipulation of time-based keyframes in a value-agnostic manner. Change 3172935 on 2016/10/24 by Max.Preussner MediaPlayerEditor: Fixed MediaPlayer asset not being dirtied when creating media sound wave or texture for it Change 3173947 on 2016/10/25 by Max.Preussner SlateRemote: Disabled plug-in, but enabled server by default Change 3174510 on 2016/10/26 by Max.Chen Sequencer: Fix slomo track crash #jira UE-37802 Change 3174698 on 2016/10/26 by Andrew.Rodham UMG: Fixed objects bound to a panel slot animating their slot's content instead of the slot itself #jira UE-37775 Change 3174780 on 2016/10/26 by Max.Preussner MediaAssets: Accepting decoder defined buffer dimensions for RGB buffers Change 3174789 on 2016/10/26 by Max.Preussner MediaPlayerEditor: Showing desired player name instead of current player name if no media loaded Change 3174817 on 2016/10/26 by Max.Preussner WmfMedia: Added support for Motion JPEG (MJPG) Change 3174825 on 2016/10/26 by Max.Preussner WmfMedia: Added support for non-RGB32 uncompressed formats Change 3174834 on 2016/10/26 by Max.Preussner MediaPlayerAssets: Allow pausing while buffering media Change 3174886 on 2016/10/26 by Andrew.Rodham Core: Fixed range test that was testing incorrect behavior Change 3174889 on 2016/10/26 by Andrew.Rodham Sequencer: Fixed AssignActor behavior - Also ensure that cached object state is invalidated when playback context changes #jira UE-37798 Change 3174905 on 2016/10/26 by Andrew.Rodham Sequencer: Changed assert when failing to create an audio component to a log message - Audio no longer plays when GEngine->UseSound() is false #jira UE-37772 Change 3174980 on 2016/10/26 by Andrew.Rodham Sequencer: Remove warning when event endpoint could not be found for a given context #jira UE-37824 Change 3175001 on 2016/10/26 by Andrew.Rodham Sequencer: Evaluate sequence with EMovieScenePlaybackStatus::Jumping on Pause. - Also protect Pause() against reentrancy when being called from an event Change 3175012 on 2016/10/26 by Max.Chen Sequence Recorder: Fixes an empty working and view range after recording. On StopRecording() update playback range after nullifying the current sequence so that the playback range isn't empty. Added SetViewRange and SetWorkingRange. #jira UE-34191 Change 3177760 on 2016/10/28 by Max.Chen Sequence Recorder: Don't update the current sequence name if it's already set. This fixes a bug where if you pass in a sequence name to record to, it gets reset to the name in the sequence recorder settings. #jira UE-37808 Change 3178529 on 2016/10/28 by Max.Chen Matinee to Level Sequence: Added interface to extend the matinee to level sequence converter #jira UE-37328 #2864 [CL 3178562 by Max Chen in Main branch]
2016-10-28 15:04:38 -04:00
const auto DrawColor = FEditorStyle::GetSlateColor("SelectionColor").GetColor(FWidgetStyle());
Copying //UE4/Dev-Sequencer to //UE4/Main ========================== MAJOR FEATURES + CHANGES ========================== Change 2875025 on 2016/02/20 by Andrew.Rodham Sequencer: Cinematic viewport improvements - Added optional letterbox overlay (defaults to 2.35:1) - Added ability to change safe frame colors - Added selected tracks' keys to the transport range - Added buttons for jumping between selected tracks' keyframes on the transport controls - Removed black padding around the viewport where possible - Added ability to specify whether a combo button/menu anchor should close when its parent receives focus - Separated logic of FGroupedKeyArea into FSequencerKeyCollection, so it can be used independently - Added playback range to the viewport frame numbers - All frame numbers are now spin boxes #jira UE-26429 Change 2875026 on 2016/02/20 by Thomas.Sarkanen Added console commands for recording sequences Changed plugin to a developer plugin so we can load it when the editor is in -game mode. Added Exec commands. Added some more logging to help diagnose problems when using commands. Added loading/saving of config for recorder settings (stored in Editor.ini). Also disabled controls in recorder window when recording. Added auto-saving of assets when in non-editor modes. Moved animation settings from UnrealEd to Engine module. Change 2875036 on 2016/02/20 by Max.Chen Sequencer: Call RedrawAllViewports instead of RedrawLevelEditingViewports. In particular, this fixes some update issues when editing values in the key editors. #jira UE-26960 Change 2875046 on 2016/02/20 by Max.Preussner Sequencer: Fix so that clicking on UMG Animations doesn't dirty the scene. #jira UE-26249 Change 2875047 on 2016/02/20 by Max.Chen Sequencer: Add option to toggle display of channel colors/lines. View->Channel Colors Change 2877138 on 2016/02/23 by Max.Chen Sequencer: Select corresponding track node when selecting key or section. Removed active/inactive selection since it was only being used in deletion and the rules for deletion are now dependent upon what is selected - delete keys and sections before deleting outliner nodes. Change 2877143 on 2016/02/23 by Thomas.Sarkanen Added new math function: WindRelativeAnglesDegrees Given two angles in degrees, 'wind' the angle in Angle1 so that it avoids >180 degree flips. Good for winding rotations previously expressed as quaternions into a euler-angle representation. Change 2877147 on 2016/02/23 by Thomas.Sarkanen Added the ability to import sequencer transforms from the root node of an animation sequence Intended for use after re-importing animations from DCC tools. Available in the right-click menu for transform tracks. Also added FindTrackBinding to UMovieScene so track bindings can be recovered from tracks. Change 2877163 on 2016/02/23 by Max.Chen Sequencer: Add option to create keyframe sections as infinite. Sequencer defaults to true, UMG defaults to false. Change 2877165 on 2016/02/23 by Max.Preussner Sequencer: Drawing vertical position lines when dragging keys Change 2878748 on 2016/02/23 by Max.Chen Curve Editor: Switch curve type to user when flatting or straightening tangents. #jira UE-27277 Change 2878799 on 2016/02/23 by Frank.Fella Sequencer - Add folders support to the outliner. Change 2880769 on 2016/02/24 by Andrew.Rodham Sequencer: Added ability to override runtime spawnable ownership in sequencer - This is exposed as an option on spawnables "Keep Alive Outside Playback Range (In Sequencer)" - Enabling this will stop spawnables from being destroyed when scrubbing outside of the playback range #jira UE-27205 Change 2880770 on 2016/02/24 by Thomas.Sarkanen Sequencer: Added countdown and recording indicator display when recording Also fixed extra popups added post-PIE when animation recordings auto shutdown. Change 2880782 on 2016/02/24 by Max.Chen Sequencer: Snapping now also uses the current time as a possible snap time. #jira UE-26306 Change 2880793 on 2016/02/24 by Max.Chen Sequencer: Add +Animation to Animation track so that it's consistent with all other tracks that have a + button. Change 2880812 on 2016/02/24 by Max.Chen Sequencer: Fix adjusting the leading edge of a shot section so that it cuts into the shot rather than adjusts the start time. #jira UE-26306 Change 2881624 on 2016/02/25 by Andrew.Rodham Changing shader version GUID to fix corrupt shaders in ddc Change 2882408 on 2016/02/25 by Thomas.Sarkanen Asset/actors stored in TLazyObjectPtrs can now reference game content from engine This is a legitimate use case as lazy object ptrs are designed to reference assets/actors cross-domain. Change 2882409 on 2016/02/25 by Thomas.Sarkanen [CL 2899785 by Max Chen in Main branch]
2016-03-08 16:55:04 -05:00
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3178529) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3149443 on 2016/10/03 by Max.Preussner MediaAssets: Better parameter names for MediaPlayer BP functions Change 3149756 on 2016/10/03 by Max.Chen Sequence Recorder: Set some settings to be clamped at 0 (sequence length, recording delay, audio gain, audio input buffer size, nearby actor recording proximity) #jira UE-35233 Change 3149795 on 2016/10/03 by Max.Chen Curve Editor: Set tangent to user when flattening or straightening tangents only when the tangent mode is auto and the interp mode is cubic. #jira UE-36734 Change 3150378 on 2016/10/04 by Max.Preussner PS4Media: Made video buffer sizes for file and HLS sources configurable (UE-36807) #jira UE-36807 Change 3151414 on 2016/10/05 by Max.Chen Sequencer: Fix case where restoring the last view target was getting skipped. It should always restore if the camera object and the unlock if camera actor object is null. #jira UE-35285 Change 3152038 on 2016/10/05 by Max.Preussner UdpMessaging: Code & documentation modernization pass Change 3152471 on 2016/10/05 by Max.Chen Cine Camera: Don't enable/disable actor ticking based soley on actor tracking since actor ticking is needed for other purposes. Instead, always enable actor ticking and only update actor tracking on tick if necessary. This fixes a bug where the cine camera actor won't tick if you hook in event tick. #jira UE-36625 Change 3152692 on 2016/10/05 by Max.Preussner Messaging: API code & documentation modernization pass Mostly removed shared pointer/ref typedefs as they prevent forward declarations and increase include complexity. Change 3153824 on 2016/10/06 by Max.Preussner Messaging: Renamed IConnectionBasedMessagingModule to ITcpMessagingModule and moved it into TcpMessaging I recommend that we refactor this API. The dependency should be reversed, i.e. instead of AndroidDeviceDiscovery depending on the TcpMessaging plug-in module, the Engine should provide a central registry that device discovery modules can notify, and that message transport plug-ins can register with and listen to OnConnectionAdded/Removed events etc. That way it supports an arbitrary number of transport plug-ins, and the Engine is not coupled to any of them. This functionality is not necessarily related to messaging, and the Messaging API is transport agnostic anyway. I'll think about this some more. Change 3153826 on 2016/10/06 by Max.Preussner Messaging: Removed remaining typedefs in IMessageTracer to enable forward declaration and reduce include dependencies Change 3153857 on 2016/10/06 by Max.Chen Sequencer: Set snap time to dragged key on by default. Change 3153980 on 2016/10/06 by Max.Preussner SessionServices: Removed typedefs; code and documentation modernization pass Change 3154313 on 2016/10/06 by Max.Chen Sequencer: Set the paste keys time to the current time, rather than the mouse time. Change 3154332 on 2016/10/06 by Max.Chen Sequencer: Remove click to rename shot functionality in the shot thumbnail. Added rename shot to the shot context menu. Change 3154377 on 2016/10/07 by Max.Chen Sequencer: Add ability to step to beginning and ends of sections/shots using the hotkeys: , and . Change 3154788 on 2016/10/07 by Max.Chen Sequencer: Fix offsets that created when moving multiple sections. The offsets were being created because section bounds were being generated for all sections except for the current section. Instead, they should be computed for all sections except for any that aren't being moved. #jira UE-29152 Change 3159274 on 2016/10/11 by Max.Preussner Core: Documentation fixes Change 3159275 on 2016/10/11 by Max.Preussner UdpMessaging: Added missing header Change 3160746 on 2016/10/12 by Max.Preussner MediaAssets: Added BP functions to query width, height, and aspect ratio of UMediaTexture instances #jira UE-37241 Change 3160975 on 2016/10/12 by Max.Preussner PS4Media: Better logging for SetRate failures Change 3160995 on 2016/10/12 by Max.Preussner MediaPlayerEditor: Fixed Media player selection is ignored if media specifies player overrides (UE-37248) #jira UE-37248 Change 3161066 on 2016/10/12 by Max.Preussner PS4Media: Enforcing minimum 8 byte alignment for media allocations Change 3161069 on 2016/10/12 by Max.Preussner PS4Media: Fixed log spam when setting play rate to current rate Change 3162567 on 2016/10/13 by Max.Preussner PS4Media: Made track switching code more readable Change 3163447 on 2016/10/14 by Max.Preussner PS4Media: Fixed array out of bounds assertions Change 3163772 on 2016/10/14 by Max.Preussner MfMedia: Fixed a number of timing related issues Change 3163980 on 2016/10/15 by Max.Chen Sequencer: Remove folder name numeric padding so that the naming convention is similar to creating objects in the level. Change 3164581 on 2016/10/17 by Andrew.Rodham Sequencer: Ensure global pre-animated state is restored in reverse order Change 3164582 on 2016/10/17 by Andrew.Rodham Sequencer: Ensure pre animated state is restored for all actor components before saving default state Change 3164583 on 2016/10/17 by Andrew.Rodham Sequencer: Re-enabled support for pre and post roll Change 3165464 on 2016/10/17 by Max.Chen Sequencer: Default number frame handles to 0 so that there's no change in behavior when rendering out a master sequence of shots. Handle frames need to enabled explicitly by the user. Copy from Release-4.14 #jira UE-37416 Change 3165483 on 2016/10/17 by Max.Chen Sequencer: Enable restore state for attach section completion Change 3165771 on 2016/10/18 by Andrew.Rodham Sequencer: Force evaluate when rendering thumbnails #jira UE-37321 Change 3166057 on 2016/10/18 by Andrew.Rodham Sequencer: Only set defaults for tracks that have no keys, and where the requested default has changed #jira UE-37285 Change 3166218 on 2016/10/18 by Max.Preussner MediaPlayerEditor: Failure opening media, even though it opened successfully (UE-37470) #jira UE-37470 Change 3166247 on 2016/10/18 by Max.Preussner WmfMedia: Showing progress bar while media is being resolved Change 3166289 on 2016/10/18 by Max.Preussner MfMedia: Showing progress bar while media is being resolved Change 3166993 on 2016/10/18 by Max.Preussner MfMedia: Fixed info string not reset on media close. Change 3166999 on 2016/10/19 by Max.Preussner Media: Fixed NV12 and NV21 support Change 3167008 on 2016/10/19 by Max.Preussner Media: Removed vertical NV12 alignment Change 3167029 on 2016/10/19 by Max.Preussner WmfMedia: Temp fix for RGB32 encoded AVIs rendering upside-down and too bright (UE-37505) #jira UE-37505 Change 3168593 on 2016/10/19 by Max.Chen Sequencer: Change paste at time to local time, so that the paste happens in the local time of the sequence rather than the global time if pasting in a shot level sequence. Change 3168626 on 2016/10/19 by Max.Chen Sequencer: Clamp to view bounds should snap to frame if frame snapping is on. Change 3168627 on 2016/10/19 by Max.Chen Sequencer: Initialize working and view range to be 10% larger than playback range. Change 3168760 on 2016/10/20 by Max.Preussner Media: Revamped media texture buffer management to support padded frames Added support for Windows bitmap buffers. Fixed a number of format, conversion and/or looping issues in WmfMedia and MfMedia. Not all shaders have been updated yet. Change 3169640 on 2016/10/20 by Max.Chen Sequencer: Add current camera to FLevelSequencePlayerSnapshot. Adjust DefaultBurnIn to include a few more parameters like focal length and focus distance. #jira UE-37407 Change 3170677 on 2016/10/21 by Max.Chen Movie Scene Capture: Add toggle to override engine scalability settings to cinematic scalability. #jira UE-36560 Change 3170710 on 2016/10/21 by Max.Preussner Media: Optimized handling of RGB input Change 3170712 on 2016/10/21 by Max.Preussner Media: Fixed NV21 conversion shader scaling Change 3170923 on 2016/10/21 by Max.Preussner UBT: Copied XboxOne project generator fix from Fortnite CL# 3170868 Change 3171494 on 2016/10/23 by Max.Chen Sequencer: Fix fbx export from master sequence not finding bound objects. #jira UE-35752 Change 3171506 on 2016/10/23 by Max.Chen Sequencer: Draw where in and out points of the shot section are, just like subsequences do. Change to only draw the green starting line if StartOffset is negative. #jira UE-35473 Change 3171743 on 2016/10/24 by Andrew.Rodham Editor: Added support for detail customizations on root structs - Also added the ability to add external struct data onto a detail category builder, and property type customization. Change 3171752 on 2016/10/24 by Andrew.Rodham Sequencer: Fixed spawnable ownership - Spawnables are no longer destroyed when the cursor leaves the master playback range. - Spawnable ownership now operates as it previously did before the evaluation rework. - bIgnoreOwnershipInEditor has been removed since its existence was a work around for when we didn't evaluate sub sequences from the master sequence. - FMovieSceneSequenceID is now a struct so that it can be used in array properties - Meta data now exists for each segment of an evaluation field. Currently this only includes the sub sequence IDs that exist at that time, but it may be expanded to include all evaluation entities (tracks + sections) in future so we don't have to calculate that at runtime. Change 3171756 on 2016/10/24 by Andrew.Rodham Sequencer: Added ability to trigger events with parameters - It's now possible to supply an event payload on event track keys which are to be passed to a given event. The structure must match the signature of the event, or a warning will be emitted. - Added a templated TGenericKeyArea, TKeyFrameManipulator and TCurveInterface that allow to generic manipulation of keyframe section data. In time we will port the other key areas over to this representation. - This new architecture affords the common manipulation of time-based keyframes in a value-agnostic manner. Change 3172935 on 2016/10/24 by Max.Preussner MediaPlayerEditor: Fixed MediaPlayer asset not being dirtied when creating media sound wave or texture for it Change 3173947 on 2016/10/25 by Max.Preussner SlateRemote: Disabled plug-in, but enabled server by default Change 3174510 on 2016/10/26 by Max.Chen Sequencer: Fix slomo track crash #jira UE-37802 Change 3174698 on 2016/10/26 by Andrew.Rodham UMG: Fixed objects bound to a panel slot animating their slot's content instead of the slot itself #jira UE-37775 Change 3174780 on 2016/10/26 by Max.Preussner MediaAssets: Accepting decoder defined buffer dimensions for RGB buffers Change 3174789 on 2016/10/26 by Max.Preussner MediaPlayerEditor: Showing desired player name instead of current player name if no media loaded Change 3174817 on 2016/10/26 by Max.Preussner WmfMedia: Added support for Motion JPEG (MJPG) Change 3174825 on 2016/10/26 by Max.Preussner WmfMedia: Added support for non-RGB32 uncompressed formats Change 3174834 on 2016/10/26 by Max.Preussner MediaPlayerAssets: Allow pausing while buffering media Change 3174886 on 2016/10/26 by Andrew.Rodham Core: Fixed range test that was testing incorrect behavior Change 3174889 on 2016/10/26 by Andrew.Rodham Sequencer: Fixed AssignActor behavior - Also ensure that cached object state is invalidated when playback context changes #jira UE-37798 Change 3174905 on 2016/10/26 by Andrew.Rodham Sequencer: Changed assert when failing to create an audio component to a log message - Audio no longer plays when GEngine->UseSound() is false #jira UE-37772 Change 3174980 on 2016/10/26 by Andrew.Rodham Sequencer: Remove warning when event endpoint could not be found for a given context #jira UE-37824 Change 3175001 on 2016/10/26 by Andrew.Rodham Sequencer: Evaluate sequence with EMovieScenePlaybackStatus::Jumping on Pause. - Also protect Pause() against reentrancy when being called from an event Change 3175012 on 2016/10/26 by Max.Chen Sequence Recorder: Fixes an empty working and view range after recording. On StopRecording() update playback range after nullifying the current sequence so that the playback range isn't empty. Added SetViewRange and SetWorkingRange. #jira UE-34191 Change 3177760 on 2016/10/28 by Max.Chen Sequence Recorder: Don't update the current sequence name if it's already set. This fixes a bug where if you pass in a sequence name to record to, it gets reset to the name in the sequence recorder settings. #jira UE-37808 Change 3178529 on 2016/10/28 by Max.Chen Matinee to Level Sequence: Added interface to extend the matinee to level sequence converter #jira UE-37328 #2864 [CL 3178562 by Max Chen in Main branch]
2016-10-28 15:04:38 -04:00
if (Args.SolidFillOpacity > 0.f)
{
FSlateDrawElement::MakeBox(
OutDrawElements,
LayerId + 1,
AllottedGeometry.ToPaintGeometry(FVector2D(SelectionRangeL, 0.f), FVector2D(SelectionRangeR - SelectionRangeL, AllottedGeometry.Size.Y)),
FEditorStyle::GetBrush("WhiteBrush"),
ESlateDrawEffect::None,
DrawColor.CopyWithNewOpacity(Args.SolidFillOpacity)
);
}
Copying //UE4/Dev-Sequencer to //UE4/Main ========================== MAJOR FEATURES + CHANGES ========================== Change 2875025 on 2016/02/20 by Andrew.Rodham Sequencer: Cinematic viewport improvements - Added optional letterbox overlay (defaults to 2.35:1) - Added ability to change safe frame colors - Added selected tracks' keys to the transport range - Added buttons for jumping between selected tracks' keyframes on the transport controls - Removed black padding around the viewport where possible - Added ability to specify whether a combo button/menu anchor should close when its parent receives focus - Separated logic of FGroupedKeyArea into FSequencerKeyCollection, so it can be used independently - Added playback range to the viewport frame numbers - All frame numbers are now spin boxes #jira UE-26429 Change 2875026 on 2016/02/20 by Thomas.Sarkanen Added console commands for recording sequences Changed plugin to a developer plugin so we can load it when the editor is in -game mode. Added Exec commands. Added some more logging to help diagnose problems when using commands. Added loading/saving of config for recorder settings (stored in Editor.ini). Also disabled controls in recorder window when recording. Added auto-saving of assets when in non-editor modes. Moved animation settings from UnrealEd to Engine module. Change 2875036 on 2016/02/20 by Max.Chen Sequencer: Call RedrawAllViewports instead of RedrawLevelEditingViewports. In particular, this fixes some update issues when editing values in the key editors. #jira UE-26960 Change 2875046 on 2016/02/20 by Max.Preussner Sequencer: Fix so that clicking on UMG Animations doesn't dirty the scene. #jira UE-26249 Change 2875047 on 2016/02/20 by Max.Chen Sequencer: Add option to toggle display of channel colors/lines. View->Channel Colors Change 2877138 on 2016/02/23 by Max.Chen Sequencer: Select corresponding track node when selecting key or section. Removed active/inactive selection since it was only being used in deletion and the rules for deletion are now dependent upon what is selected - delete keys and sections before deleting outliner nodes. Change 2877143 on 2016/02/23 by Thomas.Sarkanen Added new math function: WindRelativeAnglesDegrees Given two angles in degrees, 'wind' the angle in Angle1 so that it avoids >180 degree flips. Good for winding rotations previously expressed as quaternions into a euler-angle representation. Change 2877147 on 2016/02/23 by Thomas.Sarkanen Added the ability to import sequencer transforms from the root node of an animation sequence Intended for use after re-importing animations from DCC tools. Available in the right-click menu for transform tracks. Also added FindTrackBinding to UMovieScene so track bindings can be recovered from tracks. Change 2877163 on 2016/02/23 by Max.Chen Sequencer: Add option to create keyframe sections as infinite. Sequencer defaults to true, UMG defaults to false. Change 2877165 on 2016/02/23 by Max.Preussner Sequencer: Drawing vertical position lines when dragging keys Change 2878748 on 2016/02/23 by Max.Chen Curve Editor: Switch curve type to user when flatting or straightening tangents. #jira UE-27277 Change 2878799 on 2016/02/23 by Frank.Fella Sequencer - Add folders support to the outliner. Change 2880769 on 2016/02/24 by Andrew.Rodham Sequencer: Added ability to override runtime spawnable ownership in sequencer - This is exposed as an option on spawnables "Keep Alive Outside Playback Range (In Sequencer)" - Enabling this will stop spawnables from being destroyed when scrubbing outside of the playback range #jira UE-27205 Change 2880770 on 2016/02/24 by Thomas.Sarkanen Sequencer: Added countdown and recording indicator display when recording Also fixed extra popups added post-PIE when animation recordings auto shutdown. Change 2880782 on 2016/02/24 by Max.Chen Sequencer: Snapping now also uses the current time as a possible snap time. #jira UE-26306 Change 2880793 on 2016/02/24 by Max.Chen Sequencer: Add +Animation to Animation track so that it's consistent with all other tracks that have a + button. Change 2880812 on 2016/02/24 by Max.Chen Sequencer: Fix adjusting the leading edge of a shot section so that it cuts into the shot rather than adjusts the start time. #jira UE-26306 Change 2881624 on 2016/02/25 by Andrew.Rodham Changing shader version GUID to fix corrupt shaders in ddc Change 2882408 on 2016/02/25 by Thomas.Sarkanen Asset/actors stored in TLazyObjectPtrs can now reference game content from engine This is a legitimate use case as lazy object ptrs are designed to reference assets/actors cross-domain. Change 2882409 on 2016/02/25 by Thomas.Sarkanen [CL 2899785 by Max Chen in Main branch]
2016-03-08 16:55:04 -05:00
FSlateDrawElement::MakeBox(
OutDrawElements,
LayerId + 1,
Copying //UE4/Dev-Sequencer to //UE4/Main (Source: //UE4/Dev-Sequencer @ 2945541) ========================== MAJOR FEATURES + CHANGES ========================== Change 2837601 on 2016/01/20 by Thomas.Sarkanen Sequencer: Exposed bool, byte, event, fade, float, slomo, and visibility section keys in context menu Change 2840895 on 2016/01/23 by Thomas.Sarkanen Sequencer: Moved key proxy handling from section into key area; added support for grouped keys; exposed color properties in context menu. Change 2901092 on 2016/03/09 by Thomas.Sarkanen Sequencer: Fixed ensure() and crash when exiting PIE & then playing back in editor Made sure that instances that are playing that have active montages can re-connect to a playing montage if it is already active. We dont stop/start preview/non- preview playback when switching modes right now so I've just made the system robust to the switch when playing back animation. Ensured that instances are kept up to date by hooking into EndPlayMapDelegate. This fires slightly later than OnEndPIE, so it allows us to pick up when instances have been deleted from the world. OnEndPIE is fired before the worlds are shutdown so instances can still be bound to valid (but nearly dead) actors at this point. #jira UE-27898 #jira UE-27899 Change 2901159 on 2016/03/09 by Chris.Bunner Allow EXR frames from SaveHighResScreenshot to be uncompressed (r.SaveUncompressedEXRFrames). Change 2903123 on 2016/03/10 by Max.Chen Sequencer: Add snapping for the in/out range. Change 2903126 on 2016/03/10 by Max.Chen Sequencer: Fix split and trim for cinematic shot sections so that the start offset value is set. Change 2903132 on 2016/03/10 by Max.Chen Sequencer: Create camera here and set it as the current camera cut. Change 2903138 on 2016/03/10 by Max.Chen Sequencer: Improve mechanism for adding objects to Sequencer. Hold down shift while dragging from content browser to add as a spawnable. Hold down ctrl while dragging from content browser to add as a possessable. Change 2903143 on 2016/03/10 by Max.Chen Sequencer: Add 4k to movie capture dialog. #jira UE-28147 Change 2903157 on 2016/03/10 by Max.Chen Sequencer: Pop out of locked camera when popping out of the sequence. #jira UE-27662 Change 2908097 on 2016/03/14 by Andrew.Rodham Sequencer: Added default viewport type onto the viewport types menu - The activation command for a given viewport type no longer toggles it if it's already active, it will just do nothing. - Switching back to the default viewport type can be achieved with SHIFT+D Change 2911869 on 2016/03/16 by Max.Preussner Editor: Caching device proxy manager, so the UI doesn't constantly poll for the TargetDeviceServices module Change 2917943 on 2016/03/22 by Thomas.Sarkanen Sequence Recording: Added "Record New Sequence From Current Player" to sub-sequence track menu This option is only available in PIE. When selected it primes a new seciton for recording against the pawn that is currently being controlled by the player. Change 2917946 on 2016/03/22 by Max.Chen Sequencer: Automatically add and attach a cine camera when dropping a crane or rail. Change 2917954 on 2016/03/22 by Thomas.Sarkanen Fix anim dynamics going crazy on time skips Added new API to FAnimNode_Base: NeedsDynamicReset and ResetDynamics. This allows nodes that subscribe to this interface to be reset on teleport/time skips. Call through to ResetDynamics on zero timestep (ie. skips) in the preview path in Sequencer. Change 2917961 on 2016/03/22 by Frank.Fella Sequencer - Sequencer - Update the color track code to match the behavior in matinee, also remove empty light color tracks from the sequence, and add a missing particle parameter track. Change 2917984 on 2016/03/22 by Max.Chen Sequencer: Fix crash on deleting object binding nodes multiple times. Change 2917986 on 2016/03/22 by Max.Chen Sequencer: Fix if adding multiple camera cuts at the same time with the same duration as an existing camera cut. The camera is replaced in this case. Change 2917994 on 2016/03/22 by Jeff.Farris Support for scene depth picker. Used for focus depth sampling in cine cams. Change 2918003 on 2016/03/22 by Max.Chen Sequencer - Fix selection issues related to keying an undo by moving the selection clear on rebuild to after the tree selection state has been cached by path. Change 2920371 on 2016/03/23 by Max.Preussner UnrealEd: Added a file import path that doesn't load the entire file into memory prior to importing UFactory::StaticImport will now call FactoryCreateFile for both text and binary files. The default implementation will load the file into a buffer/string and call FactoryCreateBinary/FactoryCreateText to preserve legacy behavior. New factories may override FactoryCreateFile to perform their own file processing instead. Change 2923359 on 2016/03/25 by Max.Preussner UnrealEd: Refactored out StaticImportObject code into ImportObject Change 2924887 on 2016/03/28 by Jeff.Farris Sequencer: Camera Anim and Camera Shake tracks now support PostProcess changes in the CameraAnim Change 2927283 on 2016/03/30 by Max.Chen Sequencer: Fix crash resetting default in audio track in sequencer. Fix audio track rename when adding another audio. #jira UE-28836, UE-28859 Change 2928290 on 2016/03/30 by Max.Preussner ContentBrowser: Disabling 'Show in Explorer' context menu option for newly created/unsaved asset(s) Change 2928480 on 2016/03/30 by Max.Preussner AssetTools: Added built-in type category for Media assets Change 2928498 on 2016/03/30 by Max.Preussner AssetTools: Sorting asset type categories alphabetically Change 2932326 on 2016/04/04 by Frank.Fella Sequencer - Add "paste from matinee" support for audio tracks, and add volume support to audio sections in sequencer. Change 2933917 on 2016/04/05 by Max.Preussner Core: Added microseconds support to FTimespan Change 2933920 on 2016/04/05 by Max.Preussner Sockets: Simplified socket timeout assignments Change 2935434 on 2016/04/06 by Max.Chen Sequencer: Deselect possessable before converting it to a spawnable and deleting it. Also, make sure the newly converted spawnables are selected. This fixes a bug where the transform gizmo remains after adding a spawnable. Also, consolidate code for adding possessables to sequencer so that the newly added possessable node will be selected in the widget tree. #jira UE-28215 Change 2935590 on 2016/04/06 by Jeff.Farris Made crane rig preview mesh at the tip move as expected and appear in a reasonable place. Change 2936082 on 2016/04/07 by Max.Chen Sequencer: Attach should use default attach component of the actor if it exists. This fixes a bug where trying to attach to a camera crane rig attaches to the proper component. Change 2936118 on 2016/04/07 by Max.Chen Sequencer: Adding crane/rail with shift now adds the crane/rig as a spawnable and the attached cine camera as a spawnable. An attach track is created for the cine camera spawnable. #jira UE-28308 Change 2937226 on 2016/04/07 by Max.Chen Sequencer: Add invalidation when levels are added or removed.This fixes a bug were if you have a level sequence open and then add a sublevel that the level sequence operates on, it correctly updates the actors from the new sub level. #jira UE-27595 Change 2937263 on 2016/04/07 by Frank.Fella Sequencer - Changed the matinee to sequencer conversion tools so that curve keys set to "clamped auto" import as user tangents since we don't support clamped auto in sequencer. Change 2937273 on 2016/04/07 by Max.Chen Sequencer: No longer experimental/betal and now enabled by default. #jira UETOOl-625 Change 2937694 on 2016/04/08 by Max.Chen Curve Editor: Separate out input and output snapping. #jira UE-27209 Change 2937852 on 2016/04/08 by Andrew.Rodham Sequencer: Spawnables no longer use generated classes - Spawnables now store a template actor instance, rather than a generated class - All relevant code has been converted to use this new approach - Spawnable defaults are now harvested directly from any spawned instances when the movie scene is saved, or when the object is de-spawned. We only do this for spawnables *in the currently active sequence instance*. This approach ensures that instance components and other properties persist. - Currently we don't mark the package as dirty when the defaults are changed. This needs to be addressed. - Some fixes have been made to AActor and Actor Iterators to ensure that actors not contained within a level do not crash. - Spawning optimisations to follow Change 2937956 on 2016/04/08 by Max.Preussner Sequencer: Added selection range commands to general toolbar menu Change 2937981 on 2016/04/08 by Max.Preussner Sequencer: Refactored GetKeyHandles to take a time range for filtering keys Change 2938007 on 2016/04/08 by Max.Preussner Sequencer: Implemented selection range key selection Change 2938184 on 2016/04/08 by Max.Chen Sequencer: Find in Content Browser is now in the top level menubar. #jira UE-21598 Change 2938665 on 2016/04/08 by Frank.Fella UMG - Add support for material animation. Change 2939048 on 2016/04/10 by Max.Chen CineCamera: Change current position on rail to normalize position. Change 2939067 on 2016/04/10 by Max.Chen Sequencer: Add paste color from matinee Change 2939587 on 2016/04/11 by Andrew.Rodham Sequencer: Fixes to spawnable rework - Removed commented out code. - Fixed particle system components not disabling auto activate. - Instance Components are now correctly registered on spawn. - Removed ability to set the editable flag on actors in favor of a delegate assigned to SActorDetails to disable property editing on actors spawned from outside of the currently focused sequence. Change 2939666 on 2016/04/11 by Andrew.Rodham Sequencer: Fixed active sequence ID not being set on creation Change 2940663 on 2016/04/12 by Andrew.Rodham Sequencer: Spawnable object templates now always have the RF_ArchetypeObject flag #jira UE-29337, UE-29339 Change 2940742 on 2016/04/12 by Thomas.Sarkanen Improvements to sequence recording API Sequence recording is now more extensible. Moved the majority of recorders into a seperate module. Cleaned up recorder API, removed bRecord that was only really used once. Added factory class as a modular feature that allows users to register and implement their own recorders. Recorders can supply their own settings classes. These are incorporated into the UI via a details customization so they appear to be seamlessly integrated. Exposed components to record as an advanced setting. Users can use this to gate the components and actors that are recorded. #jira UE-28850 - Update sequence recording API for better extensibility Change 2940828 on 2016/04/12 by Max.Chen Level Editor: Clear the camera preview if the level viewport is locked to the same camera. #jira UE-27489 Change 2941090 on 2016/04/12 by Frank.Fella Sequencer - Fix inconsistencies with the level visibility track. + Add an option to update a track instance when it stops playing due to it's parent movie scene being deactivated as a sub-scene. + Reset level visibility state when the section ends, or when it's parent subsection ends. Change 2941427 on 2016/04/12 by Andrew.Rodham Sequencer: Fixes for recorded dynamic components - Dynamic components are now named uniquely within their owner actor, and are no longer re-bound to new object tracks when detached/re-attached - New dynamic components are created every time a new component is detected on an actor, regardless of whether it was once attached before. This affords recording externally managed components from a component pool. - Section recorders for components that are no longer attached to the actor are now disabled correctly. Change 2941760 on 2016/04/12 by Max.Preussner Editor: Setting up correct material expresions when creating material from normal map texture Change 2941819 on 2016/04/13 by Max.Chen Sequencer: Fire named events in all sublevels. #jira UE-28843 Change 2942052 on 2016/04/13 by Andrew.Rodham Sequencer: Fixed not being able to add dynamic material parameter tracks to spawnables when the object is not spawned #jira UE-24287 Change 2942223 on 2016/04/13 by Max.Preussner Editor: Using built-in function to assign sampler format Change 2942833 on 2016/04/13 by Max.Chen Sequencer: More copy matinee helpers. - Make some sections infinite. - Fix FindPossessableObjectId - Expose FindGroupByName Change 2942944 on 2016/04/13 by Max.Chen Sequencer: Fix anim copy so that it doesn't create an animation clip longer than the next clip's start position. Change 2943313 on 2016/04/14 by Max.Chen Sequencer: Initial matinee to level sequence asset converter. Right click on a matinee actor in the level and choose "Convert to Level Sequence" Current supports: - movement tracks - generic property tracks - particle tracks - anim control tracks - event tracks - audio tracks - visibility track - director track (fade, slomo, camera cuts) Possible todos: - Relative scale3D - Option to create spawnables instead of possessables - Create shots per director track camera cut instead of a direct translation to the camera cut track #jira UETOOL-467 Change 2943596 on 2016/04/14 by Andrew.Rodham Editor: Fixed placement mode scrollbar visibility not working for custom content #jira UE-27191 Change 2943651 on 2016/04/14 by Max.Chen Sequencer: Invalidate the audio waveform when the source changes. #jira UE-29394 Change 2943674 on 2016/04/14 by Max.Chen Sequencer: Store/restore playback state when rebuilding. #jira UE-29452 Change 2943993 on 2016/04/14 by Max.Chen Sequencer: Convert slot name from matinee to level sequence. Change 2944156 on 2016/04/14 by Frank.Fella Sequencer - Fix undo when moving items into folders, and when deleting folder. #jira UE-27368 Change 2944227 on 2016/04/14 by Max.Chen Sequencer: Show curves in the curve editor if one of the parent nodes is selected. For example, if Location is selected, show Location.X, Location.Y, and Location.Z Change 2945057 on 2016/04/15 by Andrew.Rodham Editor: Fixed placement mode scrollbar visibility not working for custom content #jira UE-27191 #lockdown nick.penwarden [CL 2945551 by Max Chen in Main branch]
2016-04-15 14:50:58 -04:00
AllottedGeometry.ToPaintGeometry(FVector2D(SelectionRangeL, 0.f), FVector2D(Args.BrushWidth, AllottedGeometry.Size.Y)),
Copying //UE4/Dev-Sequencer to //UE4/Main ========================== MAJOR FEATURES + CHANGES ========================== Change 2875025 on 2016/02/20 by Andrew.Rodham Sequencer: Cinematic viewport improvements - Added optional letterbox overlay (defaults to 2.35:1) - Added ability to change safe frame colors - Added selected tracks' keys to the transport range - Added buttons for jumping between selected tracks' keyframes on the transport controls - Removed black padding around the viewport where possible - Added ability to specify whether a combo button/menu anchor should close when its parent receives focus - Separated logic of FGroupedKeyArea into FSequencerKeyCollection, so it can be used independently - Added playback range to the viewport frame numbers - All frame numbers are now spin boxes #jira UE-26429 Change 2875026 on 2016/02/20 by Thomas.Sarkanen Added console commands for recording sequences Changed plugin to a developer plugin so we can load it when the editor is in -game mode. Added Exec commands. Added some more logging to help diagnose problems when using commands. Added loading/saving of config for recorder settings (stored in Editor.ini). Also disabled controls in recorder window when recording. Added auto-saving of assets when in non-editor modes. Moved animation settings from UnrealEd to Engine module. Change 2875036 on 2016/02/20 by Max.Chen Sequencer: Call RedrawAllViewports instead of RedrawLevelEditingViewports. In particular, this fixes some update issues when editing values in the key editors. #jira UE-26960 Change 2875046 on 2016/02/20 by Max.Preussner Sequencer: Fix so that clicking on UMG Animations doesn't dirty the scene. #jira UE-26249 Change 2875047 on 2016/02/20 by Max.Chen Sequencer: Add option to toggle display of channel colors/lines. View->Channel Colors Change 2877138 on 2016/02/23 by Max.Chen Sequencer: Select corresponding track node when selecting key or section. Removed active/inactive selection since it was only being used in deletion and the rules for deletion are now dependent upon what is selected - delete keys and sections before deleting outliner nodes. Change 2877143 on 2016/02/23 by Thomas.Sarkanen Added new math function: WindRelativeAnglesDegrees Given two angles in degrees, 'wind' the angle in Angle1 so that it avoids >180 degree flips. Good for winding rotations previously expressed as quaternions into a euler-angle representation. Change 2877147 on 2016/02/23 by Thomas.Sarkanen Added the ability to import sequencer transforms from the root node of an animation sequence Intended for use after re-importing animations from DCC tools. Available in the right-click menu for transform tracks. Also added FindTrackBinding to UMovieScene so track bindings can be recovered from tracks. Change 2877163 on 2016/02/23 by Max.Chen Sequencer: Add option to create keyframe sections as infinite. Sequencer defaults to true, UMG defaults to false. Change 2877165 on 2016/02/23 by Max.Preussner Sequencer: Drawing vertical position lines when dragging keys Change 2878748 on 2016/02/23 by Max.Chen Curve Editor: Switch curve type to user when flatting or straightening tangents. #jira UE-27277 Change 2878799 on 2016/02/23 by Frank.Fella Sequencer - Add folders support to the outliner. Change 2880769 on 2016/02/24 by Andrew.Rodham Sequencer: Added ability to override runtime spawnable ownership in sequencer - This is exposed as an option on spawnables "Keep Alive Outside Playback Range (In Sequencer)" - Enabling this will stop spawnables from being destroyed when scrubbing outside of the playback range #jira UE-27205 Change 2880770 on 2016/02/24 by Thomas.Sarkanen Sequencer: Added countdown and recording indicator display when recording Also fixed extra popups added post-PIE when animation recordings auto shutdown. Change 2880782 on 2016/02/24 by Max.Chen Sequencer: Snapping now also uses the current time as a possible snap time. #jira UE-26306 Change 2880793 on 2016/02/24 by Max.Chen Sequencer: Add +Animation to Animation track so that it's consistent with all other tracks that have a + button. Change 2880812 on 2016/02/24 by Max.Chen Sequencer: Fix adjusting the leading edge of a shot section so that it cuts into the shot rather than adjusts the start time. #jira UE-26306 Change 2881624 on 2016/02/25 by Andrew.Rodham Changing shader version GUID to fix corrupt shaders in ddc Change 2882408 on 2016/02/25 by Thomas.Sarkanen Asset/actors stored in TLazyObjectPtrs can now reference game content from engine This is a legitimate use case as lazy object ptrs are designed to reference assets/actors cross-domain. Change 2882409 on 2016/02/25 by Thomas.Sarkanen [CL 2899785 by Max Chen in Main branch]
2016-03-08 16:55:04 -05:00
Args.StartBrush,
ESlateDrawEffect::None,
DrawColor
);
FSlateDrawElement::MakeBox(
OutDrawElements,
LayerId + 1,
Copying //UE4/Dev-Sequencer to //UE4/Main (Source: //UE4/Dev-Sequencer @ 2945541) ========================== MAJOR FEATURES + CHANGES ========================== Change 2837601 on 2016/01/20 by Thomas.Sarkanen Sequencer: Exposed bool, byte, event, fade, float, slomo, and visibility section keys in context menu Change 2840895 on 2016/01/23 by Thomas.Sarkanen Sequencer: Moved key proxy handling from section into key area; added support for grouped keys; exposed color properties in context menu. Change 2901092 on 2016/03/09 by Thomas.Sarkanen Sequencer: Fixed ensure() and crash when exiting PIE & then playing back in editor Made sure that instances that are playing that have active montages can re-connect to a playing montage if it is already active. We dont stop/start preview/non- preview playback when switching modes right now so I've just made the system robust to the switch when playing back animation. Ensured that instances are kept up to date by hooking into EndPlayMapDelegate. This fires slightly later than OnEndPIE, so it allows us to pick up when instances have been deleted from the world. OnEndPIE is fired before the worlds are shutdown so instances can still be bound to valid (but nearly dead) actors at this point. #jira UE-27898 #jira UE-27899 Change 2901159 on 2016/03/09 by Chris.Bunner Allow EXR frames from SaveHighResScreenshot to be uncompressed (r.SaveUncompressedEXRFrames). Change 2903123 on 2016/03/10 by Max.Chen Sequencer: Add snapping for the in/out range. Change 2903126 on 2016/03/10 by Max.Chen Sequencer: Fix split and trim for cinematic shot sections so that the start offset value is set. Change 2903132 on 2016/03/10 by Max.Chen Sequencer: Create camera here and set it as the current camera cut. Change 2903138 on 2016/03/10 by Max.Chen Sequencer: Improve mechanism for adding objects to Sequencer. Hold down shift while dragging from content browser to add as a spawnable. Hold down ctrl while dragging from content browser to add as a possessable. Change 2903143 on 2016/03/10 by Max.Chen Sequencer: Add 4k to movie capture dialog. #jira UE-28147 Change 2903157 on 2016/03/10 by Max.Chen Sequencer: Pop out of locked camera when popping out of the sequence. #jira UE-27662 Change 2908097 on 2016/03/14 by Andrew.Rodham Sequencer: Added default viewport type onto the viewport types menu - The activation command for a given viewport type no longer toggles it if it's already active, it will just do nothing. - Switching back to the default viewport type can be achieved with SHIFT+D Change 2911869 on 2016/03/16 by Max.Preussner Editor: Caching device proxy manager, so the UI doesn't constantly poll for the TargetDeviceServices module Change 2917943 on 2016/03/22 by Thomas.Sarkanen Sequence Recording: Added "Record New Sequence From Current Player" to sub-sequence track menu This option is only available in PIE. When selected it primes a new seciton for recording against the pawn that is currently being controlled by the player. Change 2917946 on 2016/03/22 by Max.Chen Sequencer: Automatically add and attach a cine camera when dropping a crane or rail. Change 2917954 on 2016/03/22 by Thomas.Sarkanen Fix anim dynamics going crazy on time skips Added new API to FAnimNode_Base: NeedsDynamicReset and ResetDynamics. This allows nodes that subscribe to this interface to be reset on teleport/time skips. Call through to ResetDynamics on zero timestep (ie. skips) in the preview path in Sequencer. Change 2917961 on 2016/03/22 by Frank.Fella Sequencer - Sequencer - Update the color track code to match the behavior in matinee, also remove empty light color tracks from the sequence, and add a missing particle parameter track. Change 2917984 on 2016/03/22 by Max.Chen Sequencer: Fix crash on deleting object binding nodes multiple times. Change 2917986 on 2016/03/22 by Max.Chen Sequencer: Fix if adding multiple camera cuts at the same time with the same duration as an existing camera cut. The camera is replaced in this case. Change 2917994 on 2016/03/22 by Jeff.Farris Support for scene depth picker. Used for focus depth sampling in cine cams. Change 2918003 on 2016/03/22 by Max.Chen Sequencer - Fix selection issues related to keying an undo by moving the selection clear on rebuild to after the tree selection state has been cached by path. Change 2920371 on 2016/03/23 by Max.Preussner UnrealEd: Added a file import path that doesn't load the entire file into memory prior to importing UFactory::StaticImport will now call FactoryCreateFile for both text and binary files. The default implementation will load the file into a buffer/string and call FactoryCreateBinary/FactoryCreateText to preserve legacy behavior. New factories may override FactoryCreateFile to perform their own file processing instead. Change 2923359 on 2016/03/25 by Max.Preussner UnrealEd: Refactored out StaticImportObject code into ImportObject Change 2924887 on 2016/03/28 by Jeff.Farris Sequencer: Camera Anim and Camera Shake tracks now support PostProcess changes in the CameraAnim Change 2927283 on 2016/03/30 by Max.Chen Sequencer: Fix crash resetting default in audio track in sequencer. Fix audio track rename when adding another audio. #jira UE-28836, UE-28859 Change 2928290 on 2016/03/30 by Max.Preussner ContentBrowser: Disabling 'Show in Explorer' context menu option for newly created/unsaved asset(s) Change 2928480 on 2016/03/30 by Max.Preussner AssetTools: Added built-in type category for Media assets Change 2928498 on 2016/03/30 by Max.Preussner AssetTools: Sorting asset type categories alphabetically Change 2932326 on 2016/04/04 by Frank.Fella Sequencer - Add "paste from matinee" support for audio tracks, and add volume support to audio sections in sequencer. Change 2933917 on 2016/04/05 by Max.Preussner Core: Added microseconds support to FTimespan Change 2933920 on 2016/04/05 by Max.Preussner Sockets: Simplified socket timeout assignments Change 2935434 on 2016/04/06 by Max.Chen Sequencer: Deselect possessable before converting it to a spawnable and deleting it. Also, make sure the newly converted spawnables are selected. This fixes a bug where the transform gizmo remains after adding a spawnable. Also, consolidate code for adding possessables to sequencer so that the newly added possessable node will be selected in the widget tree. #jira UE-28215 Change 2935590 on 2016/04/06 by Jeff.Farris Made crane rig preview mesh at the tip move as expected and appear in a reasonable place. Change 2936082 on 2016/04/07 by Max.Chen Sequencer: Attach should use default attach component of the actor if it exists. This fixes a bug where trying to attach to a camera crane rig attaches to the proper component. Change 2936118 on 2016/04/07 by Max.Chen Sequencer: Adding crane/rail with shift now adds the crane/rig as a spawnable and the attached cine camera as a spawnable. An attach track is created for the cine camera spawnable. #jira UE-28308 Change 2937226 on 2016/04/07 by Max.Chen Sequencer: Add invalidation when levels are added or removed.This fixes a bug were if you have a level sequence open and then add a sublevel that the level sequence operates on, it correctly updates the actors from the new sub level. #jira UE-27595 Change 2937263 on 2016/04/07 by Frank.Fella Sequencer - Changed the matinee to sequencer conversion tools so that curve keys set to "clamped auto" import as user tangents since we don't support clamped auto in sequencer. Change 2937273 on 2016/04/07 by Max.Chen Sequencer: No longer experimental/betal and now enabled by default. #jira UETOOl-625 Change 2937694 on 2016/04/08 by Max.Chen Curve Editor: Separate out input and output snapping. #jira UE-27209 Change 2937852 on 2016/04/08 by Andrew.Rodham Sequencer: Spawnables no longer use generated classes - Spawnables now store a template actor instance, rather than a generated class - All relevant code has been converted to use this new approach - Spawnable defaults are now harvested directly from any spawned instances when the movie scene is saved, or when the object is de-spawned. We only do this for spawnables *in the currently active sequence instance*. This approach ensures that instance components and other properties persist. - Currently we don't mark the package as dirty when the defaults are changed. This needs to be addressed. - Some fixes have been made to AActor and Actor Iterators to ensure that actors not contained within a level do not crash. - Spawning optimisations to follow Change 2937956 on 2016/04/08 by Max.Preussner Sequencer: Added selection range commands to general toolbar menu Change 2937981 on 2016/04/08 by Max.Preussner Sequencer: Refactored GetKeyHandles to take a time range for filtering keys Change 2938007 on 2016/04/08 by Max.Preussner Sequencer: Implemented selection range key selection Change 2938184 on 2016/04/08 by Max.Chen Sequencer: Find in Content Browser is now in the top level menubar. #jira UE-21598 Change 2938665 on 2016/04/08 by Frank.Fella UMG - Add support for material animation. Change 2939048 on 2016/04/10 by Max.Chen CineCamera: Change current position on rail to normalize position. Change 2939067 on 2016/04/10 by Max.Chen Sequencer: Add paste color from matinee Change 2939587 on 2016/04/11 by Andrew.Rodham Sequencer: Fixes to spawnable rework - Removed commented out code. - Fixed particle system components not disabling auto activate. - Instance Components are now correctly registered on spawn. - Removed ability to set the editable flag on actors in favor of a delegate assigned to SActorDetails to disable property editing on actors spawned from outside of the currently focused sequence. Change 2939666 on 2016/04/11 by Andrew.Rodham Sequencer: Fixed active sequence ID not being set on creation Change 2940663 on 2016/04/12 by Andrew.Rodham Sequencer: Spawnable object templates now always have the RF_ArchetypeObject flag #jira UE-29337, UE-29339 Change 2940742 on 2016/04/12 by Thomas.Sarkanen Improvements to sequence recording API Sequence recording is now more extensible. Moved the majority of recorders into a seperate module. Cleaned up recorder API, removed bRecord that was only really used once. Added factory class as a modular feature that allows users to register and implement their own recorders. Recorders can supply their own settings classes. These are incorporated into the UI via a details customization so they appear to be seamlessly integrated. Exposed components to record as an advanced setting. Users can use this to gate the components and actors that are recorded. #jira UE-28850 - Update sequence recording API for better extensibility Change 2940828 on 2016/04/12 by Max.Chen Level Editor: Clear the camera preview if the level viewport is locked to the same camera. #jira UE-27489 Change 2941090 on 2016/04/12 by Frank.Fella Sequencer - Fix inconsistencies with the level visibility track. + Add an option to update a track instance when it stops playing due to it's parent movie scene being deactivated as a sub-scene. + Reset level visibility state when the section ends, or when it's parent subsection ends. Change 2941427 on 2016/04/12 by Andrew.Rodham Sequencer: Fixes for recorded dynamic components - Dynamic components are now named uniquely within their owner actor, and are no longer re-bound to new object tracks when detached/re-attached - New dynamic components are created every time a new component is detected on an actor, regardless of whether it was once attached before. This affords recording externally managed components from a component pool. - Section recorders for components that are no longer attached to the actor are now disabled correctly. Change 2941760 on 2016/04/12 by Max.Preussner Editor: Setting up correct material expresions when creating material from normal map texture Change 2941819 on 2016/04/13 by Max.Chen Sequencer: Fire named events in all sublevels. #jira UE-28843 Change 2942052 on 2016/04/13 by Andrew.Rodham Sequencer: Fixed not being able to add dynamic material parameter tracks to spawnables when the object is not spawned #jira UE-24287 Change 2942223 on 2016/04/13 by Max.Preussner Editor: Using built-in function to assign sampler format Change 2942833 on 2016/04/13 by Max.Chen Sequencer: More copy matinee helpers. - Make some sections infinite. - Fix FindPossessableObjectId - Expose FindGroupByName Change 2942944 on 2016/04/13 by Max.Chen Sequencer: Fix anim copy so that it doesn't create an animation clip longer than the next clip's start position. Change 2943313 on 2016/04/14 by Max.Chen Sequencer: Initial matinee to level sequence asset converter. Right click on a matinee actor in the level and choose "Convert to Level Sequence" Current supports: - movement tracks - generic property tracks - particle tracks - anim control tracks - event tracks - audio tracks - visibility track - director track (fade, slomo, camera cuts) Possible todos: - Relative scale3D - Option to create spawnables instead of possessables - Create shots per director track camera cut instead of a direct translation to the camera cut track #jira UETOOL-467 Change 2943596 on 2016/04/14 by Andrew.Rodham Editor: Fixed placement mode scrollbar visibility not working for custom content #jira UE-27191 Change 2943651 on 2016/04/14 by Max.Chen Sequencer: Invalidate the audio waveform when the source changes. #jira UE-29394 Change 2943674 on 2016/04/14 by Max.Chen Sequencer: Store/restore playback state when rebuilding. #jira UE-29452 Change 2943993 on 2016/04/14 by Max.Chen Sequencer: Convert slot name from matinee to level sequence. Change 2944156 on 2016/04/14 by Frank.Fella Sequencer - Fix undo when moving items into folders, and when deleting folder. #jira UE-27368 Change 2944227 on 2016/04/14 by Max.Chen Sequencer: Show curves in the curve editor if one of the parent nodes is selected. For example, if Location is selected, show Location.X, Location.Y, and Location.Z Change 2945057 on 2016/04/15 by Andrew.Rodham Editor: Fixed placement mode scrollbar visibility not working for custom content #jira UE-27191 #lockdown nick.penwarden [CL 2945551 by Max Chen in Main branch]
2016-04-15 14:50:58 -04:00
AllottedGeometry.ToPaintGeometry(FVector2D(SelectionRangeR - Args.BrushWidth, 0.f), FVector2D(Args.BrushWidth, AllottedGeometry.Size.Y)),
Copying //UE4/Dev-Sequencer to //UE4/Main ========================== MAJOR FEATURES + CHANGES ========================== Change 2875025 on 2016/02/20 by Andrew.Rodham Sequencer: Cinematic viewport improvements - Added optional letterbox overlay (defaults to 2.35:1) - Added ability to change safe frame colors - Added selected tracks' keys to the transport range - Added buttons for jumping between selected tracks' keyframes on the transport controls - Removed black padding around the viewport where possible - Added ability to specify whether a combo button/menu anchor should close when its parent receives focus - Separated logic of FGroupedKeyArea into FSequencerKeyCollection, so it can be used independently - Added playback range to the viewport frame numbers - All frame numbers are now spin boxes #jira UE-26429 Change 2875026 on 2016/02/20 by Thomas.Sarkanen Added console commands for recording sequences Changed plugin to a developer plugin so we can load it when the editor is in -game mode. Added Exec commands. Added some more logging to help diagnose problems when using commands. Added loading/saving of config for recorder settings (stored in Editor.ini). Also disabled controls in recorder window when recording. Added auto-saving of assets when in non-editor modes. Moved animation settings from UnrealEd to Engine module. Change 2875036 on 2016/02/20 by Max.Chen Sequencer: Call RedrawAllViewports instead of RedrawLevelEditingViewports. In particular, this fixes some update issues when editing values in the key editors. #jira UE-26960 Change 2875046 on 2016/02/20 by Max.Preussner Sequencer: Fix so that clicking on UMG Animations doesn't dirty the scene. #jira UE-26249 Change 2875047 on 2016/02/20 by Max.Chen Sequencer: Add option to toggle display of channel colors/lines. View->Channel Colors Change 2877138 on 2016/02/23 by Max.Chen Sequencer: Select corresponding track node when selecting key or section. Removed active/inactive selection since it was only being used in deletion and the rules for deletion are now dependent upon what is selected - delete keys and sections before deleting outliner nodes. Change 2877143 on 2016/02/23 by Thomas.Sarkanen Added new math function: WindRelativeAnglesDegrees Given two angles in degrees, 'wind' the angle in Angle1 so that it avoids >180 degree flips. Good for winding rotations previously expressed as quaternions into a euler-angle representation. Change 2877147 on 2016/02/23 by Thomas.Sarkanen Added the ability to import sequencer transforms from the root node of an animation sequence Intended for use after re-importing animations from DCC tools. Available in the right-click menu for transform tracks. Also added FindTrackBinding to UMovieScene so track bindings can be recovered from tracks. Change 2877163 on 2016/02/23 by Max.Chen Sequencer: Add option to create keyframe sections as infinite. Sequencer defaults to true, UMG defaults to false. Change 2877165 on 2016/02/23 by Max.Preussner Sequencer: Drawing vertical position lines when dragging keys Change 2878748 on 2016/02/23 by Max.Chen Curve Editor: Switch curve type to user when flatting or straightening tangents. #jira UE-27277 Change 2878799 on 2016/02/23 by Frank.Fella Sequencer - Add folders support to the outliner. Change 2880769 on 2016/02/24 by Andrew.Rodham Sequencer: Added ability to override runtime spawnable ownership in sequencer - This is exposed as an option on spawnables "Keep Alive Outside Playback Range (In Sequencer)" - Enabling this will stop spawnables from being destroyed when scrubbing outside of the playback range #jira UE-27205 Change 2880770 on 2016/02/24 by Thomas.Sarkanen Sequencer: Added countdown and recording indicator display when recording Also fixed extra popups added post-PIE when animation recordings auto shutdown. Change 2880782 on 2016/02/24 by Max.Chen Sequencer: Snapping now also uses the current time as a possible snap time. #jira UE-26306 Change 2880793 on 2016/02/24 by Max.Chen Sequencer: Add +Animation to Animation track so that it's consistent with all other tracks that have a + button. Change 2880812 on 2016/02/24 by Max.Chen Sequencer: Fix adjusting the leading edge of a shot section so that it cuts into the shot rather than adjusts the start time. #jira UE-26306 Change 2881624 on 2016/02/25 by Andrew.Rodham Changing shader version GUID to fix corrupt shaders in ddc Change 2882408 on 2016/02/25 by Thomas.Sarkanen Asset/actors stored in TLazyObjectPtrs can now reference game content from engine This is a legitimate use case as lazy object ptrs are designed to reference assets/actors cross-domain. Change 2882409 on 2016/02/25 by Thomas.Sarkanen [CL 2899785 by Max Chen in Main branch]
2016-03-08 16:55:04 -05:00
Args.EndBrush,
ESlateDrawEffect::None,
DrawColor
);
}
return LayerId + 1;
}
Copying //UE4/Dev-Editor to //UE4/Dev-Main (Source: //UE4/Dev-Editor @ 3497164) #lockdown Nick.Penwarden #rb none ===================================== MAJOR FEATURES + CHANGES ===================================== Change 3433074 by Matt.Kuhlenschmidt Fix crash when clicking on certian tutorial blueprints. #jira UE-44593 Change 3433075 by Matt.Kuhlenschmidt Remove hittest grid log spam. The underlying problem causing this has been fixed Change 3433077 by Matt.Kuhlenschmidt Fix lighting becoming unbuilt when mesh painting #jira UE-44837 Change 3433081 by Matt.Kuhlenschmidt PR #3553: Crashfix for static array properties (Contributed by Pierdek) Change 3433104 by Alexis.Matte Make sure re-import skeletal mesh follow the import morph option #jira UE-42846 Change 3434825 by Matt.Kuhlenschmidt Fix crash when GC happens while the vr editor radial menu is open. Change 3434831 by Matt.Kuhlenschmidt Added missing file Change 3434868 by Shaun.Kime If you have a reroute node between a Material Function texture input and its usage, the parent material will fail to resolve the reroute node. #jira ue-44670 Change 3434998 by Alexis.Matte Meshes editors material/section panel are now fully transactional - Staticmesh editor: section material slot, section cast shadow, section collision, material slot instance, material slot name - Skeletal mesh editor: material slot instance, material slot name Also fix some transaction description #jira UE-44462 Change 3435195 by Jamie.Dale Fixed incorrect handling of some LTR scripts that require shaping These scripts need to go through HarfBuzz, and this also fixes a case where HarfBuzz wasn't applying font scale correctly. #jira UE-44767 Change 3435199 by Jamie.Dale Fixed some crashes/artifacts with bidirectional text It was possible for a line to compute an incorrect range, which could cause crashes or other highlighting issues. The highlighting logic has also been updated as the old code didn't handle all bidirectional cases correctly. Change 3435200 by Jamie.Dale Fixed a grapheme cluster metrics issue in the font editor viewport The viewport also now respects the default shaping method CVar. Change 3435771 by Alexis.Matte Fix degenerated bounds calculation for skeletalmesh when the skeleton is remove from a re-import (PhysicAsset API change, adding 1 function) #jira UE-44609 Change 3436856 by Jamie.Dale Added some missing Unicode block ranges Change 3436914 by Jamie.Dale Adding some missing combining character ranges to the text shaper Change 3436923 by Alexis.Matte PR #3463: Get bounds for all triangles, not just the first one. WedgeIndex was . (Contributed by DaveC79) #jira UE-43764 Change 3436948 by Jamie.Dale Updated the Portal to use the predefined Unicode block ranges Change 3436961 by Max.Chen Sequencer: Show camera shake/anim track menus even if there aren't any assets. Change 3437244 by Max.Chen Sequencer: Clear locked cameras when releasing Sequencer. #jira UE-44967 Change 3437515 by Arciel.Rekman UBT: improvements for LocalExecutor. - Larger number of parallel jobs on 16GB+ machines. - Use WaitForExit() instead of polling. - Tested on Linux and Mac. Change 3437629 by Matt.Kuhlenschmidt Improve asset import data display in static and skeletal meshes Change 3438047 by Arciel.Rekman Fix overlapping ranges being passed to memcpy(). Change 3438822 by Yannick.Lange ViewportInteraction: Move gizmo handle files to make them private. Change 3438906 by Matt.Kuhlenschmidt PR #3556: Git Plugin: fix new option "init Git LFS" that make assets read-only (master/UE4.17) (Contributed by SRombauts) Change 3438907 by Matt.Kuhlenschmidt PR #3565: add -quality option to buildlighing commandlet (Contributed by kayama-shift) Change 3438908 by Matt.Kuhlenschmidt PR #3558: UE-44862: Always update SColorPicker color on OK button (Contributed by projectgheist) Change 3439393 by Matt.Kuhlenschmidt Force highest LOD for highres screenshots Change 3439819 by Matt.Kuhlenschmidt Turned FAssetData into a struct for some upcoming script exposure of FAssetData Change 3439949 by Arciel.Rekman Fixed selection logic for the UE4_LINUX_USE_LIBCXX environment variable. - Allows disabling libc++ by setting the variable to 0. - Pull request #3576 contributed by jared-improbable. Change 3441078 by Jamie.Dale The culture/language/locale console commands are now available in all build configs Change 3441109 by Jamie.Dale Text containing surrogate pairs now runs through HarfBuzz when shaping in Auto mode This is needed as the kerning-only shaping code assumes that everything is within the BMP Change 3441275 by Matt.Kuhlenschmidt Disable spinning on location and scale. These dont work because we have no notion of infinite spinning Change 3442748 by Yannick.Lange ViewportInteraction: Remove unused console variables. Change 3442775 by James.Golding Add support for editing MaterialFunctions to MaterialEditingLibrary Pull Material recompile/update code into UMaterialEditingLibrary::RecompileMaterial Pull MaterialFunction update code into UMaterialEditingLibrary::UpdateMaterialFunction util Move RebuildMaterialInstanceEditors to UMaterialEditingLibrary Added test content for Material/MaterialFunction editing Add needed BlueprintReadWrite to expressions (constants, function input/output) Expose UMaterialExpressionMaterialFunctionCall::SetMaterialFunction to BP, rename old func (which takes old function) to SetMaterialFunctionEx, also expose GetInputNameWithType Change 3442779 by James.Golding Fix header order Change 3442817 by Yannick.Lange ViewportInteraction: Add can execute checks for level editor commands. Change 3443038 by Michael.Dupuis #jira UE-43377: When you select a foliage actor we will move all instance contained in it to the new level as we can't move a foliage actor Only permit moving foliage instance if there is some selected Change 3443855 by Michael.Dupuis #jira UE-44885: Unregister from PerModuleDataObjects when the object is destroyed Change 3446096 by Max.Chen Sequencer: Add OnFinished() event when a level sequence completes playback #jira UE-45173 Change 3446097 by Max.Chen Sequencer: Evaluate one last time before the sequence is torn down and reset #jira UE-45174 Change 3446242 by Jamie.Dale Fixed caret not appearing in empty text layouts Caret selections have no range, and therefore have no width Change 3446361 by Matt.Kuhlenschmidt Fix WITH_EDITOR only functions causing generated code compile errors when the all functions on the class are WITH_EDITOR Change 3446457 by Alexis.Matte Polish the speed tree import dialog #jira UE-44963 Change 3446946 by Michael.Trepka Modified FWindowsWindow::GetRestoredDimensions to return correct window position for normal windows for which GetWindowPlacement returns position in workspace coordinates #jira UE-37934 Change 3447543 by Arciel.Rekman Reduce VMAs on Linux. - Trades off increased address space (VIRT in terms of ps/htop) for smaller number of distinct mappings (VMAs, virtual memory areas). This decreases possibility to run into vm.max_map_count limit on Linux. - Tested on Linux and Mac. Change 3448468 by Arciel.Rekman Fix race condition during creation of GMalloc. - On Mac GMalloc can be created on two different thread that are racing with each other - app's main thread and a system thread. Change 3449012 by Max.Chen Sequencer: Add time to transform, color and vector key structs so that key times are editable from the key editors. #jira UE-45089 Change 3449018 by Max.Chen Sequencer: Add OnCameraCut event that fires when there is a camera cut. #jira UE-45137 Change 3449195 by Max.Chen Sequencer: Add setting for limit scrubbing to playback range. #jira UE-43502 Change 3449198 by Max.Chen Sequencer: Reorder hierarchical bias so that group priority takes precedence. Change 3449217 by Max.Chen Sequencer: Add setting to activate realtime viewports when in sequencer. Change 3449219 by Max.Chen Sequencer: Focus on search boxes when opened. Change 3449238 by Max.Chen Sequencer: Assign actor should replace the actor itself after it has updated all the components. Also, replace components be fullname rather than by class. Change 3449239 by Max.Chen Sequencer: Fix offsets when moving multiple sections. Dragging should be clamped to the bounds that any of the selected sections hits against the unselected sections. Change 3449241 by Max.Chen Sequencer: Restore section selection after full tree rebuild. Change 3449279 by Max.Chen Sequencer: Set movie scene capture frames only when not using custom frames. This allows the user entered frame numbers to persist in config, rather than overwriting them when doing a "Render Shot" Change 3449280 by Max.Chen Sequencer: Spawn in the persistent level. Otherwise, they get spawned into whatever sublevel is current. #jira UE-44552 Change 3449294 by Max.Chen Sequencer: Null check for sequencer ed mode crash. Change 3449297 by Max.Chen Sequencer: Fix delay in sliding values. Mark changed when sliding values. Mark refresh immediately when committing values since OnValueChanged will be called and needs to have the correct value that was refreshed immediately. #jira UE-42866 Change 3449542 by Max.Chen Sequencer: Fix scrubber hit testing so that the time scrubber is really favored over the playback ranges. #jira UE-44569 Change 3451507 by Matt.Kuhlenschmidt Fix extra slate uv coords not functioning on ES2 Change 3451510 by Matt.Kuhlenschmidt PR #3595: Fixed wrong colour for level status (Contributed by ronve) Change 3451529 by Alexis.Matte fbx scene importer: Make sure we set INVALID_UNIQUE_ID to node that has no attribute. #jira UE-34410 Change 3451611 by Yannick.Lange ViewportInteraction: Dragging gizmo without second pass for snapped calculations. Change 3452134 by Jamie.Dale Fixed constant font cache flushing if a widget had no font set Change 3452239 by Jamie.Dale Fixed constant font measure flushing if a widget had no font set Change 3452243 by Jamie.Dale Removed deprecated code for creating fonts from bulk data Change 3452277 by Jamie.Dale The concept of "stale" composite fonts is now editor-only Change 3452358 by Alexis.Matte Fbx scene importer: Do not remove existing attribute reference from the blueprint if the reimport of the associate mesh attribute is not tick. #jira UE-45232 Change 3452678 by Max.Chen Sequencer: Fix crash on export if there's no shot data. Change 3453057 by Matt.Kuhlenschmidt Exposed asset exporting to script Change 3453782 by Andrew.Rodham Sequencer: Fixed deterministic cooking issues with movie scene data - Movie scene signatures are now initialized in PostInitProperties - A warning is now presented when attempting to cook old data that was never serialized with a signature. - Removed redundant legacy data upgrade logic that could dirty level sequences on load. #jira UE-44912 Change 3453788 by Yannick.Lange ViewportInteraction: Custom scene proxy for gizmo handles. Change 3453938 by Max.Chen Sequencer: Hotkeys (shift , and shift .) to step to next/previous shot #jira UE-45119 Change 3454058 by Michael.Dupuis Fixed StaticAnalysis Change 3454077 by Max.Chen Sequencer: Fix not saving the pre-animated track value when creating a track/key. On pre object change, broadcast property change so that a track or key can be created. That track/key needs to be evaluated immediately so that the pre-animated state can be saved properly. This is done now with RefreshAllImmediately and is only called when a track has been created. Also, added a return value for OnKeyProperty, so that it's known what changed in particular (ie. track created, track modified, etc) Also, fixed transform keying so that if a transform track already exists for the object or the scene component, the existing track is used. #jira UE-45130 Change 3454108 by Nick.Darnell UMG - Fixing the WIC to properly record cursor delta so that scrollbars work. Change 3454109 by Jamie.Dale Cache the text layout source info in non-shipping builds so you can inspect it in the debugger Change 3454202 by Matt.Kuhlenschmidt Fix bogus error message about the number of usable texture coordinates on ES2 when compiling a UI domain material Change 3454390 by Yannick.Lange Fix creating a plugin in a C++ project opens a second instance of Visual Studio. Use SourceCodeAccessor to open solution when necessary. #jira UE-45035 Change 3454564 by Matt.Kuhlenschmidt #rnx Fix deprecation warnings Change 3455471 by Yannick.Lange ViewportInteraction: Fix entering and exiting VR Mode disables gizmo in desktop editor viewport. #jira UE-44965 Change 3456183 by Max.Chen Sequencer: Auto key, auto track refactor. Auto key - create a key when the property changes and there's an existing track. Auto track - create a track when the property changes. This is only exposed in the level sequence editor. All - create a key and a track when the property changes. This is only exposed in VR Editor. None - do nothing. #jira UE-43469 Change 3456349 by Andrew.Rodham Sequencer: Only perform legacy signature checks on instances, and only where signatures match the CDO Change 3456678 by Alexis.Matte Allow to add null level instance override material via the advance material array. But still limit the override material number to the mesh material number. #jira UE-45306 Change 3456945 by Max.Chen UMG: Add restore state to 2d transform section. #jira UE-45372 Change 3457196 by Arciel.Rekman Linux: serialize allocations from the memory pool. Change 3458434 by Max.Chen Sequencer: Remove obsolete set tick prerequites functions. Change 3458671 by James.Golding Added MIC editing support to MaterialEditingLibrary Fix static analysis warning Change 3458888 by Matt.Kuhlenschmidt PR #3615: More detailed log messages for debugging warnings/errors (Contributed by projectgheist) Change 3458893 by Matt.Kuhlenschmidt PR #3583: UE-44960: Delta value wasn't being used (Contributed by projectgheist) Change 3458895 by Matt.Kuhlenschmidt Fix typo Change 3458902 by Matt.Kuhlenschmidt PR #3607: Improved InputKeySelector functionality (Contributed by projectgheist) Change 3458917 by Matt.Kuhlenschmidt Fix crash with invalid object properties in the class picker #jira UE-39000 Change 3458939 by Matt.Kuhlenschmidt Fix compile error Change 3458984 by andrew.porter QAGame: Initial check in of sequencer smoke test map Change 3459510 by Matt.Kuhlenschmidt Fixed ensure when deleting a map that contains build data which also happens to be the currently loaded map. #jira UE-45052 Change 3460985 by Max.Chen Sequencer: Snap play time to keys now allows scrubbing between keys and snaps to key times within a certain screenspace tolerance. #jira UE-45090 Change 3461698 by Arciel.Rekman Avoid using ARRAY_COUNT in Vulkan. - Sometimes those arrays can have no extensions whatsoever, and it is illegal to declare a 0 element C array. Change 3462053 by Max.Chen Sequencer: Show sequencer spawnables in the world outliner and add the icon overlay for spawnables. #jira UE-43470 Change 3462139 by Max.Chen Property Editor: Add objects to FPropertyAndParent Change 3462202 by Arciel.Rekman Fix FSocket::Recv() blocking with Peek when there's no data. Change 3462253 by Nick.Darnell Slate - New Clipping System Clipping is now a stateful choice made during composition of the slate hierarchy. Previously every widget got to respect or modify the clipping rect on an as needed basis. The problem was that clipping was only allowed in the layout space of the widget, and it wasn't possible to properly clip elements with render transforms. The new system permits all kinds of transforms on any widget, and they will all be clipped correctly. It tries to use Scissor Rects as they are much cheaper, but will switch over to stenciling if need be to represent a complicated masking structure with several rotated clipping rects all needed to be combined together. Here are the new clipping states a widget can have, almost all widgets are set to No. Only change it from No if your widget actually needs to clip, generally speaking most widgets don't need to clip. /** * This widget does not clip children, it and all children inherit the clipping area of the last widget that clipped. */ Inherit, /** * This widget clips content the bounds of this widget. It intersects those bounds with any previous clipping area. */ ClipToBounds, /** * This widget clips to its bounds. It does NOT intersect with any existing clipping geometry, it pushes a new clipping * state. Effectively allowing it to render outside the bounds of hierarchy that does clip. * * NOTE: This will NOT allow you ignore the clipping zone that is set to [Yes - Always]. */ ClipToBoundsWithoutIntersecting UMETA(DisplayName = "Yes - Without Intersecting (Advanced)"), /** * This widget clips to its bounds. It intersects those bounds with any previous clipping area. * * NOTE: This clipping area can NOT be ignored, it will always clip children. Useful for hard barriers * in the UI where you never want animations or other effects to break this region. */ ClipToBoundsAlways UMETA(DisplayName = "Yes - Always (Advanced)"), /** * This widget clips to its bounds when it's Desired Size is larger than the allocated geometry * the widget is given. If that occurs, it behaves like [Yes]. * * NOTE: This mode was primarily added for Text, which is often placed into containers that eventually * are resized to not be able to support the length of the text. So rather than needing to tag every * container that could contain text with [Yes], which would result in almost no batching, this mode * was added to dynamically adjust the clipping if needed. The reason not every panel is set to OnDemand, * is because not every panel returns a Desired Size that matches what it plans to render at. */ OnDemand UMETA(DisplayName = "On Demand (Advanced)") - Large API Change - All FSlateDrawElement::Make_____ calls have been deprecated that involved passing in a clipping rect. You no longer should are passed a Clipping rect via OnPaint. You are still passed a rect, but this rect represents a Culling Rect, which is valuable if you need to just out right not paint things the user can't possibly see. If you were previously trying to determine if you should cull widgets, by doing something like this, if ( FSlateRect::DoRectanglesIntersect(MyClippingRect, CurWidget.Geometry.GetRenderBoundingRect()) ) That's no longer a good option since there are ways for widgets to ignore the culling bounds. You should convert anything like above to the one below, if (!SWidget::IsWidgetCulled(MyCullingRect, CurWidget)) To assist in debugging efforts, there are several new debugging console flags in Slate, Slate.ShowClipping 1 - Controls whether we should render a clipping zone outline. Yellow = Axis Scissor Rect Clipping (cheap). Red = Stencil Clipping (expensive). Slate.DebugCulling 1 - Disables pushing clipping or stencil rects to the GPU, but continues to intersect culling rects, so that you can tell if a widget is properly culling children it can't possibly draw. Slate.ShowTextDebugging 1 - Show debugging painting for text rendering. I've added a new Experimental Feathering Option, it adds AA geometry around the outside of Box and Image brushes. Slate.Feathering 1 If you're using RenderDoc or something similar, you can now enable render events for slate, so that you can better grok how we're batching and changing states for each UI render pass. Slate.EnableDrawEvents 1 #jira UE-4659 #rn Change 3462714 by Nick.Darnell Fixing a few more compiler issues with the clipping changes. Change 3462726 by Max.Chen Switch OnEditStructChildContentsChanged to use FObjectWriter instead of FMemoryWriter which supports serializeing UObjects. This fixes a crash when adding actor array elements to a user defined event struct. #jira UE-45431 Change 3462801 by Nick.Darnell Adding a UMG dependency to EngineTestBuild. Change 3462914 by Max.Chen Sequencer: Fix regression where spawnables aren't getting saved. Caused by 3407138 #jira UE-30007 #jira UE-39003 Change 3462946 by Nick.Darnell Automation - Tweaking the UI automation tests converting them over to use the new UI Screenshot automation test. Automation - Adding a blur widget test. Change 3462987 by Matt.Kuhlenschmidt Back out changelist 3458893 Change 3464774 by Matt.Kuhlenschmidt PR #3629: Bugfix: Missing small icon in Project Launcher profile editor (Contributed by aarmbruster) Change 3464785 by Nick.Darnell Fixing some clipping stuff in the editor. Change 3464830 by andrew.porter QAGame: Second pass on sequencer smoke test map Change 3464902 by Nick.Darnell Loading - Adding some additional checks to the the loading code to ensure we're on the main thread. Additionally adding a fix from UDN that prevents deadlocks in the rare case a user hits Alt+Tab in a fullscreen game while in a hard loading screen. Change 3464988 by Max.Chen Sequencer: Add attenuation settings for attached audio components. #jira UE-33080 Change 3465024 by Nick.Darnell MoviePlayer - Impoving the playback mode displaynames. Change 3465074 by Arciel.Rekman Fix shadowing issues of GraphicsPSOInit. Change 3465097 by Matt.Kuhlenschmidt Some refactoring of the details panel Exposed new methods of adding a struct on scope to a details panel and have it work properly with customizations. The scruct on scope has a "fake" ustructproperty that allows the details panel to show the whole struct not just an individual property. Refactored the API for adding rows to details panels to make it more consistent\ AddChildCustomBuilder->AddCustomBuilder AddChildGroup->AddGroup AddChildContent->AddCustomRow AddChildPropert->AddProperty AddChildStructure->AddExternalStructureProperty AddStructure->AddAllExternalStructureProperties AddExternalProperty->AddExternalObjectProperty or AddExternalStructureProperty Change 3465186 by Max.Chen Sequencer: Save the BindingID in the pre animated token producer so that it can be destroyed properly. This fixes a bug where the default state of a spawnable isn't saved. #jira UE-43780 Change 3465315 by Matt.Kuhlenschmidt Fix Fortnite and Orion details panel customization warnings Change 3465424 by Nick.Darnell Automation - Moving the step for setting the link to the automation reports to be set before we start the engine. Change 3465488 by Nick.Darnell Automation - Forcing textures to load before taking screenshot, so that the scene gets another opportunity to render before we render with Slate. This should fix the Blur UI Test. Change 3466277 by Arciel.Rekman Linux: fix window drift when dragging (UE-40380). - Change by Cengiz Terzibas. Change 3466370 by Nick.Darnell UMG - Fixing the colors for the resize handle in the designer. Change 3466372 by Nick.Darnell UMG - Fixing the ruler ticks sometimes not being drawn. Change 3466374 by Nick.Darnell UMG - Fixing the designer showing multiple options for sequencer. Change 3466377 by Nick.Darnell UMG - Cleaning up some clipping bits. Change 3467025 by Andrew.Rodham Re-saving assets that contain legacy (<4.15) movie scene data to remove deterministic cook warning. If conflicts arise during merging of these assets, please ignore the changes made in dev-editor, and accept game-side changes. (CIS step 62283298, jobId 7773146) (CIS step 62283297, jobId 7773146) Change 3467099 by Max.Chen Fix GetObjectPropertyClass ensure logic. This was returning UObject::StaticClass when valid. Change 3467172 by Max.Chen Sequencer: Evaluation optimizations. Also, fixes subsequences not getting expired, leaving dangling spawnables. #jira UE-43690 Change 3467192 by Matt.Kuhlenschmidt Fix transactions getting stuck in the color grading controls. This prevents PIE from working properly and causes shutdown crashes #jira UE-45527 Change 3467251 by Yannick.Lange ViewportInteraction: Fix scale and rotation snap while dragging with two lasers. #jira UE-43489 Change 3467331 by Matt.Kuhlenschmidt Fix D3D shader compiler hard coding shader path and not giving proper warnings when it cannot find the shaders Change 3467335 by Matt.Kuhlenschmidt Remove DarkStyle attribute from SNumericEntryBox and allow a spin box style to be passed to it. Change 3467558 by Max.Chen Scene Outliner: Generic support to add default columns to a scene outliner. Change 3467565 by Jamie.Dale Removing old screenshot data for test Change 3467589 by Nick.Darnell Editor - Random cleanup. Change 3467596 by Nick.Darnell Progress Bar - Exposing Border Padding to UMG. Change 3467600 by Nick.Darnell Slate - Adjusting the rendering of the splitter, previously it could be off by a pixel or two, which becomes more apparent now with the clipping changes. Change 3467601 by Max.Chen Property Editor: Fix static analysis warning Change 3467662 by Nick.Darnell Automation - Fixing a bug with the screenshot comparison tool not replacing (removing) the old screenshot data. Change 3467674 by Max.Chen Property Editor: Fix static analysis warning Change 3467737 by Max.Chen Sequencer: Added OnMovieSceneBindingsChanged delegate Change 3468053 by tim.gautier QAGame: Updating Editor Smoke Map - Updated landscapes into Stations for testing - Added Foliage Sublevel Change 3468194 by Arciel.Rekman Linux: fix problems communicating with various STL-using libs. - Stop hiding global new/delete signatures. - Disable CEF3 since this change uncovers the problem with libcef.so not built to use bundled libpng. Change 3468678 by Max.Chen Sequencer: Set "Sequencer Actor" tag before setting the actor label so that the outliner refreshes after the actor has the tag. Change 3469314 by tim.gautier QAGame: Added Painted Foliage / Spline section to EditorSmoke map Change 3469377 by Nick.Darnell Slate - Fixing some warnings in a couple of sample games due to the clipping changes. #rnx Change 3469767 by Max.Chen Sequencer: Outliner column and sequencer binding data #jira UE-43470 Change 3469974 by Arciel.Rekman Fix code projects not working in Linux installed build. Change 3470082 by Nick.Darnell Slate - The GetRenderer() call on SlateApplication no longer returns a SharedPtr, rather than convert it to a thread safe ptr, going to just make accessing it a raw ptr return, so it can be safely referenced on the game thread while being used on the slate loading thread. Change 3470174 by Nick.Darnell Slate - Get the last widget in a widget path utility. Change 3470176 by Nick.Darnell UMG - User Widgets now have an easy way to know if they're part of or have been removed from the focused widget path, which is handy for doing effects. Change 3470261 by Nick.Darnell Slate - The GetRenderer() call on SlateApplication no longer returns a SharedPtr, rather than convert it to a thread safe ptr, going to just make accessing it a raw ptr return, so it can be safely referenced on the game thread while being used on the slate loading thread. Change 3470286 by Max.Chen Sequencer: Scene Component's HiddenInGame now goes through the VisibilityTrack and the visibility template. Change 3470366 by Nick.Darnell Slate - We now version focus per user, that way during focus events, we can safely abort focus events and state transitions if someone interrrupts the active focus event with something new. Change 3470649 by Matt.Kuhlenschmidt Fix deprecation warnings Change 3470695 by Matt.Kuhlenschmidt Fixed typo #jira UE-45580 Change 3470721 by Matt.Kuhlenschmidt Fix static analysis Change 3471254 by Michael.Dupuis #jira UE-42952: Keep occlusion result per view Change 3471287 by Nick.Darnell UMG - Render Focus Rule now defaults to never. Change 3471291 by Nick.Darnell Slate - Fixing FSlateRenderer* change fallout. Change 3471299 by Nick.Darnell Slate - Fixing FSlateRenderer* change. Change 3471323 by Nick.Darnell Automation - Fixing automation and Static Analysis warning. Change 3471413 by andrew.porter QAGame: Added test content for anim blending and material parameteres to sequencer smoke level Change 3471649 by Max.Chen Sequencer: Modify the track when adding animation #jira UE-45618 Change 3471659 by Matt.Kuhlenschmidt Added a way to check if a movie is playing from the engine. Prevented viewport redraws for canvas loading screens if a slate based loading movie is playing Change 3471734 by Matt.Kuhlenschmidt Added basic material hookup to USD. Similar to FBX it will find materials based on rules specified by the user in the import settings Change 3472176 by Nick.Darnell UMG - Improving the display of the +Track menu in sequencer for UMG. Renamed it from +Add, which is repetitve to +Track. Additionally, the dropdown now shows the currently selected widgets, as well as a submenu containing all the 'important' widgets, so we no longer populate that list with a ton of irrelevant widgets that are just Buton_1 - N, which is pointless in showing people, they'll never guess which is the right button. Change 3472740 by Max.Chen Sequencer: Add GetThisFrameMetaData accessor Change 3472748 by Max.Chen Sequencer: Added OnBeginScrubbing and OnEndScrubbing event delegates Change 3472753 by Max.Chen Sequencer: Add EMovieSceneDataChangeType parameter to OnMovieSceneDataChanged delegate Change 3472870 by Nick.Darnell Clipping - Fixing the deprecated tip for scissor rect boxes to be correct. Removing it's usage from UT. Change 3473340 by Max.Chen Scene Outliner: Add ability to register additional filters Change 3473348 by Max.Chen Details View: Make ForceRefresh virtual. Added accessors to delegates (ie. GetIsPropertyReadOnlyDelegate) Change 3473441 by Max.Chen Sequencer: Autokey Refactor Part 2. Autokey is now a single toggleable state. Allow Edits Mode has 3 states: Allow All Edits - Allow any edits to occur, some of which may produce tracks/keys or modify default properties. Allow Sequencer Edits Only - All edits will produce either a track or a key. Allow Level Edits Only - Properties in the details panel will be disabled if they have a track. #jira UE-45229 Change 3473670 by Nick.Darnell Modules - The module manager no longer returns sharedptrs to IModuleInterfaces, this was the source of rare hard to track down crashes due to a shared ptr reference leak when GetModule was called on non-main threads. We now store a TUniquePtr internally, and only lease out raw pointers. #rn Change 3473711 by Nick.Darnell Disabling the ensure in the module manager. Change 3473747 by Max.Chen Sequencer: Fix tooltip Change 3474091 by Jamie.Dale Added a warning when cooking a UFontFace that is outered to a UFont asset These cause issues with iterative COTF, and should be split off into their own assets (as the UI has been asking people to do for several versions) Change 3475052 by Yannick.Lange VR Editor: Fix Crash when quitting the editor with VR Mode enabled. VR Editor was being enabled when saving the map on closing the editor. #jira UE-45415 Change 3475054 by Yannick.Lange Fix crash when adding a camera to the world in VR Mode the second time. The slate application did not reset when stop dragging in VR Mode, so the second time when starting to drag a camera out of the UI it would already by in a dragging state. #jira UE-45574 Change 3475263 by Nick.Darnell Fixing some additional cases of IModuleInteface SharedPtr usage. Change 3475268 by Max.Chen Sequencer: Set jumped state when looping playback. This fixes an issue where audio doesn't stop and restart when looped. #jira UE-45654 Change 3475269 by Max.Chen Scene Outliner: Additional filters should only apply to actor browsing mode Change 3475407 by Nick.Darnell Fixing some clipping / module shared ptr changes in the launcher code. Change 3475542 by Max.Chen Sequencer: Update thumbnail and section highlighting to use new clipping behavior. #jira UE-45692 #jira UE-45689 Change 3475743 by Michael.Dupuis #jira UE-45183: When updating phyx region take into account simple collision mip Change 3475949 by Arciel.Rekman Remove PhysX deoptimization (no longer needed). - OR-24947 has been closed three months ago. Change 3476022 by Michael.Dupuis #jira UE-45560: Make sure we're not going out of range Change 3476063 by Michael.Dupuis #jira UE-45562: Do not try to unregister from static mesh if no static mesh is specified for the component Change 3476168 by Michael.Trepka Added handling of directory symlinks to FApplePlatformFile::IterateDirectory #jira UE-43704 Change 3476172 by Nick.Darnell Fixing a Imoduleinterface change. Change 3476183 by Jamie.Dale Exposing GoTo/ScrollTo to single-line editable text for API parity with multi-line editable text Change 3476385 by Arciel.Rekman Linux: handle symlinks when iterating directories. Change 3476522 by Michael.Trepka Solved a problem with Mac FMallocTBB::Malloc() returning nullptr for 0 bytes allocations, which is inconsistent with other platforms. On Mac we always scalable_aligned_malloc, which behaves differently than scalable_malloc, so for 0 bytes requests we allocate sizeof(size_t), which is exactly what scalable_malloc does internally in such case. Change 3476806 by Nick.Darnell UMG - Focus the designer after dropping a widget onto the surface. Change 3476809 by Nick.Darnell Curve Editor - Enable Clipping on the curve editor. Change 3477475 by Nick.Darnell Fixing a module interface shared ptr usage in UT. Change 3477553 by Yannick.Lange VR Editor: Removed AssetEditorPanelID and replaced it with TabManagerPanelID. A panel for AssetEditorPanelID was never created making it impossible to open an asset editor. Change 3477734 by Yannick.Lange VR Editor: Fix Warning: SetRelativeScale3D : Invalid Scale entered (X=inf Y=inf Z=inf). Resetting to 1.f. warning when adding CineCameraActor to World from Modes Panel. Make sure to not divide by zero when there is no boundary scale. #jira UE-44933 Change 3477761 by Jamie.Dale Some improvements to avoid loading the native .locres files twice when we don't need to Change 3477780 by Nick.Darnell PR #3250: Return correct VirtualUserIndex (Contributed by projectgheist) Change 3477786 by Nick.Darnell PR #3650: Changed TestNull to accept const pointers. (Contributed by e-agaubatz) Change 3477795 by Nick.Darnell PR #2844: UE-36936: Don't stretch container for Plugin Image (Contributed by projectgheist) Change 3478092 by Nick.Darnell PR #2341: Optional Middle Mouse Button panning in Graph Editor (Contributed by flipswitchingmonkey) Engine Edit - Made some small changes to the enum type, and some naming. Change 3478450 by Nick.Darnell Fixing some uninitialized variable errors. Change 3479827 by Andrew.Rodham Sequencer: Addressed serialization issues with some struct types Change 3479874 by Jamie.Dale Fixed "NativeGameLanguage" not being used correctly during localization initialization Change 3480012 by Andrew.Rodham Sequencer: Fixed loading tagged properties as native for track identifiers #jira UE-45823 Change 3480337 by Alexis.Matte Fix morph target crash missing some valid index check Change 3480804 by Alexis.Matte Fix crash with ColorGradingMode custom detail #jira UE-45638 Change 3480892 by Andrew.Rodham Sequencer: Ensure that movie scene sequences know about the editor object version #jira UE-45842 Change 3481073 by Nick.Darnell Fix the shader compiler error from main in Slate. Change 3481303 by Nick.Darnell UMG - Fixing a bug with the drag handle not working correctly in HDPI mode. Change 3481308 by Nick.Darnell Slate - Tweaking the IsWidgetCulled logic to consider both the layout and rendering bounds. If we do this, we get a much more desireable outcome for people that want to animate widgets and such and plan to have temporary animations to move the widget offscreen, but want the layout bounds to anchor that widget in the visible frame so that it animates even when normally it would be culled b/c the render transform and therefore the renderbounds moved it completely outside the culling rect. Change 3481629 by Max.Chen Sequencer: Add Level Sequence Actor as an output for CreateLevelSequencePlayer() #jira UE-45785 Change 3481899 by Yannick.Lange VR Editor: Added debug modetoggle command with an event that is broadcasted whenever this happens. Currently this is used to show all the floating UIs of the UI system to debug without HMD using VREd.ForceVRMode. Change 3481984 by Michael.Dupuis #jira UE-45845: always validate if we have a static mesh before trying to access it as user can decide to not assign one and use the tools Change 3482047 by Nick.Darnell Slate - Adding some comments to IsWidgetCulled. Change 3482110 by Nick.Darnell Slate - IsWidgetCulled is no longer static and is now called IsChildWidgetCulled. Change 3482136 by Jamie.Dale The CamelCase break iterator now treats digits around character tokens as part of the identifier Change 3482138 by Michael.Dupuis #jira UE-45854: Properly unregister during undo operation Change 3482150 by Michael.Dupuis #jira UE-45845 : Add missing nullcheck for GetStaticMesh Change 3482153 by Nick.Darnell Slate - IsWidgetCulled is no longer static and is now called IsChildWidgetCulled. Change 3482180 by Nick.Darnell UMG - Widget Components do not need to define a widget class to be rendererd, they can have native slate widgets only. This was a regression from main. Change 3482273 by Nick.Darnell UMG - Tweaking some more things about the widget component box outline. Change 3482308 by Alexis.Matte Fixing morph target smooth group support. Do not call FillSkeletalMeshImportData more then once on FbxNode since this fonction is doing some conversion and change the FbxNode, applying those conversion twice do not return the same faces smooth group. #jira UE-45696 Change 3482327 by Nick.Darnell UMG - More tweaks to the WidgetComponent so both shows the box outline, but works in game and VR editor. Change 3482705 by Andrew.Rodham Resaving assets that contain legacy data to suppress CIS warnings. - If conflicts arise in these assets, please take game-side changes and ignore these. Change 3484245 by Max.Chen Sequencer: Evaluate on end scrub. This fixes a bug where audio doesn't evaluate in a stopped position at the end of scrubbing, causing it to not stop all sounds. This fixes a bug introduced from 3365018 where evaluate on end scrub was removed. #jira UE-45905 Change 3484263 by Max.Chen Sequencer: Fix crash on forcing refresh of details panel on release. #jira UE-45911 Change 3484431 by Andrew.Rodham Resaving assets that contain legacy data to suppress CIS warnings. - If conflicts arise in these assets, please take game-side changes and ignore these. Change 3484474 by Alexis.Matte Fix the morph target animation curve name matching. #jira UE-20294 Change 3484475 by Alexis.Matte When removing a LOD, make sure we remove all morph target data associate to the LOD. Change 3484489 by Nick.Darnell PR #3668: UE-45908: Cache debug line locations when performing a LineTraceMulti (Contributed by projectgheist) #jira UE-45908 Change 3484692 by Nick.Darnell Slate - Reverting a change from a game stream. All Arranged Children don't need to allocated 42 to begin with. Do need to initialize WidgetPaths better. Change 3484703 by Nick.Darnell Player Input - Making the input event loop for players obey EKeys::NUM_TOUCH_KEYS, rather than being set to Touch10, as the maximum touch input amount, to make supporting greater than 10 touches easier. Also making the seeding of keys use EKeys::NUM_TOUCH_KEYS. #jira UE-43213 Change 3484918 by Jamie.Dale Fixed font measuring regression with RTL text RTL applies the character count to the next glyph, so it shouldn't process the end of the loop (this was how the older code used to work). Change 3485718 by Nick.Darnell Editor - Removing Super Search & User Feedback button. Change 3485719 by Nick.Darnell Portal - Removing SuperSearch. Change 3485751 by Matt.Kuhlenschmidt Fix crash accessing platformer game menu if the menu is open during a console based load #jira UE-45950 Change 3486047 by Arciel.Rekman Linux: add OpenEXR implementation (UE-40270). #jira UE-40270 Change 3486467 by Max.Chen Sequencer: Reset max tick rate when destroyed. #jira UE-45956 Change 3486477 by Max.Chen Sequencer: Refresh outliner when column is removed. #jira UE-45891 Change 3486667 by Andrew.Rodham Added missing include Change 3486724 by Andrew.Rodham Sequencer: Fixed curves with no default value, and no keys being evaluated and applied to properties - Also fixed an edge case where a zero (but non-animated) channel could be applied to a final transform Change 3486730 by Alexis.Matte In the Auto-Reimport options, hide the mout point only for the default /Game/ folder #UE-45684 Change 3486749 by Alexis.Matte Make sure the parent window of the monitor directory browse folder is set properly #jira UE-45682 Change 3486805 by Matt.Kuhlenschmidt Additional safety against invalid objects being accessed by slate Change 3486848 by Alexis.Matte Make sure Monitor folder feature support root mount point map folder During auto import, give priority to asset import factory over the scene import factory #jira UE-45691 Change 3486879 by Andrew.Rodham Removing obsolete QA assets Change 3486950 by Nick.Darnell PR #2281: Scrollbar missing features and SScrollbar fixes (Contributed by SNikon) Review - made some adjustments from the original. Change 3486954 by Nick.Darnell Slate - Moving the STableViewBase over to the FOverscroll class, rather than it's own clone. Change 3486967 by Nick.Darnell Slate - Fixing some HDPI calculations for fitting new windows on screen, it was using the unscaled size of the widgets for fitting, when it needed to scale them up. Change 3486970 by Andrew.Rodham Sequencer: Delay mouse capture until drag for sequencer time slider - Fixes context menus not opening as a result of mouse capture being taken on mouse down #jira UE-45937 Change 3486984 by Andrew.Rodham Sequencer: Improved blending type iconography Change 3486996 by Nick.Darnell UMG - Adding a way for games to opt-out of the slow widget path, to completely prevent them from being cooked. UMG - The movie data is no longer cloned for each new instance that inhabits. It now keeps a reference to the now publically accessible movie scene data on the class instead. Change 3487070 by Andrew.Rodham Sequencer: Added graphics for key areas that represent empty space Change 3487195 by Andrew.Rodham Sequencer: Changed evaluation groups to always flush implicitly - Due to the latent nature of blended token types, it's no longer safe to rely solely on execution token order between tracks - This fixes an issue where events set in the PostEvaluation stage were executed before blended token actuation Change 3487322 by Nick.Darnell PR #2457: Add .gitdeps.xml-files for plugins support (Contributed by bozaro) Change 3487363 by Nick.Darnell PR #2481: Fix for packing of a project with users plugins (Contributed by yatagarasu25) Change 3487439 by Nick.Darnell PR #2642: Changed private to protected in SVirtualJoystick.h (Contributed by Skylonxe) Change 3487500 by Arciel.Rekman Removed LinuxNativeDialogs. - No longer used; has been superceded by SlateDialogs since UE 4.8 (2 years ago). Change 3487630 by Lauren.Ridge Don't create Landscape Info Maps for Editor Preview Worlds or thumbnail worlds #jira UE-44885 Change 3487864 by Matt.Kuhlenschmidt Exposed the asset registry to blueprints and script. Works in editor scripts and runtime scripts AssetRegistry is now a UInterface object. Blueprint users can access various asset registry methods using the asset registry interface (via GetAssetRegistry) and various static helpers in the AssetRegistryHelpers object C++ users should still continue to use IAssetRegistry. Change 3487879 by Matt.Kuhlenschmidt Renamed asset tools uobject helper to UAssetToolsHelpers Change 3487926 by Lauren.Ridge Fixing reset to default not showing up for custom widgets #jira UE-44164 Change 3488184 by Matt.Kuhlenschmidt PR #3656: Make References/Referencers List copyable (Contributed by user37337) #jira UE-45763 Change 3488240 by Matt.Kuhlenschmidt Fix compiler issue Change 3488350 by Lauren.Ridge Landscape info map transactional state is based on its world's transactional state #jira UE-44885 #jira UE-46019 Change 3488412 by Matt.Kuhlenschmidt Fix reset to default showing up in two different places for some customizations Change 3488413 by Matt.Kuhlenschmidt Fix slate font customization Change 3488414 by Matt.Kuhlenschmidt Fix slate font customization Change 3488415 by Matt.Kuhlenschmidt Missed file Change 3488565 by Arciel.Rekman Add pretty printers for gdb (UETOOL-1171). - Committing shelf by Cengiz.Terzibas, with some modifications. #jira UETOOL-1171 Change 3489094 by Nick.Darnell Slate - The Slate RHI Renderer now caches the TextureLODGroups so that it can properly lookup the filtering of different texture groups that are set to Default, instead of a particular filter override on a texture. Engine/Rendering - Simplifying some of the setup logic in TextureLODSettings so that code is shared for setting them up properly after loading from a config file. Change 3489095 by Nick.Darnell PR #2699: GameViewportClient - Added a method to allow setting the viewport cur. (Contributed by rfenner) Review - Fixed spacing. Change 3489108 by Matt.Kuhlenschmidt Fix deprecation warning Change 3489120 by Nick.Darnell PR #3478: Fix possible UComboBoxString crash (Contributed by nakosung) Change 3489147 by Andrew.Rodham Sequencer: Adding return value to function to appease static analysis - This function is never compiled, and if it is, it won't compile, but static analysis doesn't know that Change 3489264 by Nick.Darnell Testing - Finishing the thought behind an enum comment. Change 3489265 by Nick.Darnell PR #2750: UE-35164: Button padding (Contributed by projectgheist) Change 3489267 by Nick.Darnell PR #3645: UE-45464: Handle SSlider mouse interaction more accurately (Contributed by projectgheist) Change 3489632 by Arciel.Rekman Correctness changes to MallocPoisonProxy. - Missing forwarding functions added. Incorrect comment removed. - Change by Steve.Robb, doing here so it is in 4.17. Change 3489689 by Arciel.Rekman More MallocPoisonProxy changes I missed in previous CL. Change 3489751 by Matt.Kuhlenschmidt Moved editor performance settings out of per-project settings so they can be shared across projects Change 3489837 by Lauren.Ridge Keyboard shortcut for entering/leaving VR Mode is now Alt+V Change 3491082 by Arciel.Rekman Linux: better fix for the crash due to name collision (UE-46040). - Put classes in Sequencer module into Sequencer namespace instead of SceneOutliner namespace. - Undid change in the SceneOutliner module. #jira UE-46040 Change 3491096 by Arciel.Rekman Fix UAT compilation on the newest mono. Change 3491240 by Max.Chen Sequencer: Disable key button when allow level edits only is on. #jira UE-46060 Change 3491406 by Yannick.Lange Fix editor crashes when opening a project that includes a plugin with more than two custom Volume classes. This issue was caused because registering show volume commands is based on finding volume classes. Finding these classes at multiple times resulted in a mismatch of the returned array of volume classes because modules/plugins were still being loaded. #jira UE-45806 Change 3491559 by Alexis.Matte Make sure we use the good preview mesh when doing a preview #jira UE-45963 Change 3491563 by Alexis.Matte Fix crash with staticmesh editor LodLevel selection Change 3491564 by Nick.Darnell UMG - Fixing an offset with the grab handles in HDPI mode. Change 3491595 by Nick.Darnell Editor - Fixing a clipping artifact in the pin type dropdown in the blueprint editor. Change 3491604 by Nick.Darnell Back out changelist 3489265 Change 3491615 by Arciel.Rekman Added malloc replay proxy (Linux only for now). - Allows to dump malloc callstream (without regard to threads) and replay later to study the behavior of different mallocs and/or repro problems. Change 3491684 by Arciel.Rekman Added FMalloc functions I missed. - Also moved function bodies into the .cpp file, this does not make a difference in performance in this case. Change 3491692 by Matt.Kuhlenschmidt Some minor fixes to the static mesh editor - Fix UV combo button looking non-standard on the toolbar - Fix a few combo buttons in the details panel looking too big. Change 3491702 by Arciel.Rekman Do not compile replay proxy-specific code when not used. Change 3491717 by Michael.Dupuis #jira UE-35083: The component is now the owner of the PerInstanceRenderData instead of the proxy Add an Update path to only update specified instances range Always call BuildTreeIfOutdated so we have a standard code path to make sure static mesh are fully loaded before trying to build the tree Moved the Instance Buffer aysnc to the base class, as it's not related to UHierarchicalInstancedStaticMeshComponent Expose a new property to decide if we require dynamic instance buffer Change 3491758 by Matt.Kuhlenschmidt Fix crash on static mesh editor shutdown Change 3491873 by Cody.Albert Fixed clipping issue in Sequencer curve editor #rnx Change 3491956 by Matt.Kuhlenschmidt Fix crash opening the Previewing sub-menu in the level editor settings menu #jira UE-46095 Change 3492046 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3492076 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3492165 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3492222 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3492274 by Michael.Dupuis #jira UE-46105: Fixed Clang warning Change 3492338 by andrew.porter QAGame: Testing ensure when submitting Change 3492371 by Nick.Darnell UMG - Reverting the animation sharing, cossed GLEO regressions in cooking. Will look for a better solution. Change 3492462 by Matt.Kuhlenschmidt Fix ensure checking in files through perforce Change 3492491 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3492505 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3492517 by Jamie.Dale The package localization ID is no longer used at all at runtime, and is now truly editor-only This should have always been the case, but it was leaked into manifest/archives/PO files in 4.14, and while 4.15 removed it from PO files it was still present in the manifest/archives. This change removes it entirely (unless gathering editor-only data, and even then the PO file will still collapse the entries together for translation), and the deprecated 4.14 export behavior will now produce an error if you attempt to use it. After taking this change you'll need to run a gather, import, and compile of your LocRes files to update your game localization to use the new localization IDs. Change 3492630 by Nick.Darnell UMG - Removing some extra cleanup code that's probably overkill and is causing a crash for uses of "Within" in class meta. #jira UE-46124 Change 3492692 by Matt.Kuhlenschmidt Fix drop shadows inheriting the outline color of the font. The outline should still appear but not have a different outline color from fill color Change 3492714 by Matt.Kuhlenschmidt Added outline with drop shadow to font automation test Change 3492737 by Matt.Kuhlenschmidt Fix linux Change 3492992 by tim.gautier Resaving Ocean Widget Blueprints / Sequences to resolve Legacy Sequence Data warnings #jira UE-46132 Change 3493089 by Jamie.Dale Ensure that the composite font of a font asset is flushed when the font object is GC'd Change 3493322 by Jamie.Dale Fixing null crash #jira UE-45758 Change 3494467 by Andrew.Rodham Fix Xbox warning Change 3494852 by tim.gautier QAGame: Changed streaming method of QA-EditorSmoke-Landscape to Always Loaded Change 3494853 by Nick.Darnell Another attempt at fixing the automation blueprint SA warning. Change 3494896 by Arciel.Rekman Fix possible null pointer access during Vulkan init. - May fix static analysis warnings in UE-46142, although warnings seem to be referring to something else. #jira UE-46142 Change 3494987 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3495010 by Matt.Kuhlenschmidt Adding additional logging to track down html5 issue Change 3495212 by Michael.Dupuis #jira UE-46143: Properly init the InstanceRenderData during the cooking phase (required by fortnite) Change 3495536 by Jamie.Dale Updating UGameEngine to call its Super::PreExit after performing its own teardown This prevents UEngine cleaning up resources that UGameEngine still needs. #jira UE-46159 Change 3495551 by Arciel.Rekman Another attempt to fix analyzer problem (UE-46142). Change 3495794 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3495905 by Matt.Kuhlenschmidt Fix USD crash when importing a meshwith no material [CL 3499771 by Matt Kuhlenschmidt in Main branch]
2017-06-19 20:27:30 -04:00
int32 FSequencerTimeSliderController::DrawPlaybackRange(const FGeometry& AllottedGeometry, const FSlateRect& MyCullingRect, FSlateWindowElementList& OutDrawElements, int32 LayerId, const FScrubRangeToScreen& RangeToScreen, const FPaintPlaybackRangeArgs& Args) const
{
TSharedPtr<FSequencer> Sequencer = WeakSequencer.Pin();
if (!Sequencer.IsValid())
{
return LayerId;
}
if (!TimeSliderArgs.PlaybackRange.IsSet())
{
return LayerId;
}
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3946692) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3801826 by Max.Chen PR #4304: Level Sequence crash fix - Guarded against dereferencing null componen. (Contributed by DSDambuster) Change 3801828 by Max.Chen PR #4302: Movie Scene Visibility Template unitialised variable, causing random . (Contributed by DSDambuster) Change 3801837 by Max.Chen Sequencer: Delay spawning/construction for convert to possessable. This fixes a bug where property values would be lost when converting back and forth from possessable to spawnable. #jira UE-52400 Change 3801841 by Max.Chen Sequencer: Make spacer nodes not selectable. PR #4194: Improvements to Sequencer (Contributed by projectgheist) #jira UE-53117 #jira UE-52139 Change 3804183 by Max.Preussner MediaAssets: Added missing lock in media sound component Change 3805414 by Max.Preussner MediaAssets: Setting valid GUID when initializing media texture resource Change 3819578 by Max.Chen PR #4370: When enabling the "MovieCapture", do not turn off the Stereo-3D display. (Contributed by yehaike) #jira UE-53647 Change 3823414 by Max.Chen Curve Editor: Lock down the first and last keys in the redundant keys removal range so that they're unaffected. #jira UE-53591 Change 3826406 by Max.Chen Sequencer: Move OnStartedPlaying() to within first update in UpdateTimeCursorPosition(). This fixes an issue where setting the hud/player visibility was getting stomped on later. #jira UE-52772 Change 3827044 by Max.Preussner MediaAssets: Added sprite visualization to media sound component #jira UE-53594 Change 3827988 by Max.Preussner MediaPlayerAssets: Fixed Media Texture is not linked to Media Player when created together #jira UE-53532 Change 3828506 by Max.Preussner MediaPlayerEditor: Added attenuation visualizer for media sound components #jira UE-53594 Change 3832590 by andrew.porter EngineTest: Added a keep state check in Property Animation sequencer test Change 3833053 by andrew.porter EngineTest: Adding Hierarchical Bias test Change 3835683 by andrew.porter EngineTest: Adding UMG Animation screenshot test Change 3836076 by Max.Chen Sequencer: Fix audio volume and pitch multiplier deprecation. Change 3836230 by andrew.porter EngineTest: Adding Sequence Bone Position automation test Change 3836347 by Max.Chen Sequencer: Fixes to shot name parsing. When a shot doesn't contain a shot number, assume, [ShotName]_[TakeNumber]. When duplicating a shot, put the new shot in the same path of the original shot, so that the take numbers will increment properly. #jira UE-51868 Change 3836552 by Max.Chen Sequencer: Sub section now has a takes menu Change 3838094 by Max.Chen UMG: Fix template finish not getting called on stop. This fixes a bug where sections aren't restored when finished. #jira UE-52285 Change 3838708 by Max.Chen Sequencer: Add notification when the blend type is changed. #jira UE-54046 Change 3840295 by Max.Chen Sequencer: Fix copy/paste crash for lights #jira UE-54084 Change 3840957 by Mike.Zyracki Added Show Only Keyable and Show Only Animated to the filter list in the property editor. Added IsPropertyAnimated to IDetailKeyframe Interface which already had support for showing properties which are keyable (which is used for the key icon next to the properties.). Could have created another interface but then would have had to mimic the sequencer binding, releasing also, so this seemed best way. One issue still left is that custom built detail items currently don't store associated properties(usually) and so certain properties, in particulalry transforms, won't show up as keyable or animated. Note this also shows up with the keyable icon not showing up next to transform tracks, and other filters like Show Only Modified not working with transforms/customs. Not sure best way to tackle this. #jira UESEQ-328 Change 3841756 by Max.Chen Sequencer: Fix unbound possessable components when pasting spawnables. #jira UE-54104 Change 3843950 by andrew.porter EngineTest: Renaming LevelStreaming tests/content to LevelVisibility Change 3844082 by Mike.Zyracki Missing file for animated filter in property editor. When finding if a track is animated we need to find it but we can't easily induce the MovieTrack class for any particular property. So we don't set a class for it and just search by it's ID and name. #jira UESEQ-328 Change 3846902 by Max.Preussner ImgMedia: Fixed image media player never finished initialization if loading failed #jira UE-54247 Change 3849820 by Mike.Zyracki Reassigning deleted widgets didn't work since the menu extender mechanism needs a valid UObject in order to perform an operation on it. So to fix we replaced GetObjectBindingContextMenuExtender in WidgetBlueprint with new delegate mechanism (OnBuildCustomContextMenuForGuid) that supports FGuid in addition to UObjects which is needed to handle re-binding deleted widgets. Note that the default sequencer hacks this for replacing deleted actors in SequencerObjectBindingNode to check to see if a LevelSequence is active. We could move to this mechanism there also. #jira UE-53163 Change 3852211 by Max.Chen UMG: Indicate name of the property that is not bound. #jira UE-54350 Change 3854120 by Max.Chen Sequencer: Fix sibling folders being allowed to have the same folder name. #jira UE-54363 Change 3854627 by Max.Chen Sequencer: Step to next/previous key should work for all tracks if there aren't any selected. #jira UESEQ-391 Change 3855825 by andrew.porter EngineTest: Adding animation blending automation test Change 3855950 by andrew.porter EngineTest: Adding correct expected valuues to animation blending test Change 3856237 by Matt.Hoffman UESEQ-336 - Sequencer Track Reordering Adds the ability to re-order Master Tracks, Folders and Object Bindings within sequencer hierarchies (including UMG). Adds the ability to do a one-off sorting of the content under the old sorting behavior if the user wants to reset their layout to how it was under legacy behavior. Modifies SequencerTrackNodes, SequencerFolderNodes and SequencerObjectBindingNodes to handle CanDrop/OnDrop for above, below and ontop of. Fixes a Slate Issue that forcibly expanded a TreeviewRow if an item handled OnDrop. Slate will now only forcibly expand the row if the item says the drop happened ontop of the item, and not above or below it like it previously did. Change 3856503 by andrew.porter EngineTest: Adding automation test for using animation blueprint with blend multi node in sequencer Change 3857875 by Max.Chen Sequencer: Assign the sequence id after the template is compiled. #jira UE-54462 Change 3858344 by Max.Chen Sequencer: Prevent Goto and Transform boxes from overlapping by allowing them to be visible at the same time in an autosized horizontal box. Also, added close button to the goto box. PR #4425: Prevent Goto and Transform boxes from overlapping in Sequencer ... (Contributed by projectgheist) #jira UE-54210 Change 3860566 by andrew.porter MediaFrameworkTest: Set the option to index 0 for the audio and video track list by default Change 3860654 by andrew.porter EngineTest: Enabling Camera Cut + FOV test Change 3860981 by andrew.porter EngineTest: Updating skeletal mesh tests with a delay after set playback position Change 3861256 by Max.Chen Sequencer: Add all bindings if none selected. #jira-54440 Change 3862154 by Andrew.Rodham Added TimeManagement module Change 3862424 by andrew.porter EngineTest: Turned on the test Bone Positions with Blend Multi Node Change 3862573 by andrew.porter EngineTest: Adding test to compare bone positions in a sequence that is blending an animation that is using an AnimBP Change 3865117 by Max.Chen Sequencer: Stop auto scroll on mouse release of movement. #jira UE-31212 Change 3865303 by Max.Chen Sequencer: Add drag and drop transactions #jira UE-54662 Change 3865304 by Max.Chen Sequencer: Fix crash when an actor factory is not found. Change 3865361 by Max.Chen Sequencer: Don't change the camera/shot lock button when popping out of a sequence. #jira UE-54665 Change 3865412 by Max.Chen Sequencer: Determine whether a transform track is for a camera by using the spawned object or template #jira UE-54666 Change 3865685 by Max.Chen Sequencer: Clear autoscrub offset when stopping autoscroll #jira UE-31212 Change 3865886 by Max.Chen Sequence Recorder: Log an error if the number of frames changes while recording. This can happen if the skeleton changes while recording. #jira UE-48715 Change 3866925 by Andrew.Porter MediaFrameworkTest: Changing the current PNG test video image sequence to 1024 x 576 Change 3867705 by andrew.porter QAGame: Adding Audio Sort Sequence to dev folder Change 3867890 by andrew.porter QAGame: Adding a sequence for testing a sorting crash to my dev folder Change 3872628 by Max.Chen Movie Scene Capture: Split delay before warmup into split delay before shot warmup so that there's separate controls for when the movie scene capture warmups up vs. shot boundaries. Change 3873131 by Matt.Hoffman UE-54732 - Crash reordering a folder with a track. This was caused by folders being the only type of track to check if someone was putting a parent track into a child track. Object Binding tracks and Tracks now check as well so that you can't use the above/below drop targets to add parents as children. This also fixed a typo in the localization keys. #jira UE-54732 Change 3873301 by Mike.Zyracki Added ability to support continous euler angle changes when changing rotations, in particularly with the rotation gizmo's. To do this we effectively added a form an of 'euler filter'(https://en.wikipedia.org/wiki/Euler_filter) to find the closest euler angle to the current euler angle. Three functions were added to FRotator to make this possible, one to get the euler angle that's has the same rotation as it, one to get the difference between two euler angles via Manhattan distance and a third using the previous two to choose a Rotator value that's closest to it. We then use these functions before calling UComponent::SetRelativeRotation to make sure we use the correct Euler after the Quat conversion. We also no longer limit(bound) the euler angles to -180,180, which is obviously necessary to avoid flips. I also changed how we caluclate yaw and roll when pitch is -90 or 90 to make it the standard approach of zeroing out roll and just setting yaw. Main reasons are the previous implementation had precision issues so things like 180, 90, -180 would show up due to numbers being nearly zero but negative,(this would break any smooth interpolations), and this facilitates having a 'gimbal' rotation mode (like Maya, Blender etc..) if we ever want that also. If needed we could keep the previous implementation but would need to add some FMath::IsNearlyZero checks, with less performance. Note we only do this special filtering when applying delta's to actors or components in the editors, which then call UComponent::SetRelativeRotationExact, which is a new function to foces the RelativeRotation to be equal to the new rotation. This allows us to store un-nomalized Rotators at the cost that the RotationCache may be broken. We didn't change any of the other UComponent functions that set rotations (via Quats or Transforms) so they will still be bounded and unwound. In SetInternalWorldLocationAndRotation we only set the rotation if the rotation has changed, which fixes the rotation getting changed and re-normalized if just translate happens. In TransformTrackEditor, we correclty use the bUndwing flag and in MovieScene3DTransformSection there was an un-needed winding check there, it will be unwound earlier if needed, which happens if Sequence Recording is happening. Max we should talk about what to do about this . Note the euler angle drag via the widget is still bound to 0-360. I think we should just unbound that now since the rotations value are now unbound. This review now includes fixes suggested by Zak. #jira UE-UE-22228 Change 3873483 by Matt.Hoffman Sequencer Tracks can now be inserted above the spacer at the bottom of the tree. #jira UE-54706 Change 3873899 by Max.Chen Sequencer: Add section selection throbbing Change 3873908 by Max.Chen Movie Scene Capture: Added logging per frame Change 3873924 by Matt.Hoffman Adds the ability to store Sequence Recorder setups into profiles that stay with the map and can be re-loaded later. Profiles store the Actor Recordings so the settings for each actor should carry with them. #jira UESEQ-339 Change 3874726 by Matt.Hoffman Disable drag-and-drop targets on spacers that come between rows in Sequencer. This prevents extra drag/drop targets showing up between each row. #jira UE-54706 Change 3874862 by Matt.Hoffman Audio Track no longer gets reordered when adding sub-audio tracks, as sub-tracks are no longer counted towards the sorting order index when normalizing indexes. #jira UE-54727 Change 3875905 by Matt.Hoffman Disable Fade Track UI if a fade track already exists in the sequence. #jira UESEQ-393 Change 3876163 by Max.Chen Sequencer: Swap the camera object to the camera component's owner if it's not the same. #jira UE-54874 Change 3876971 by Andrew.Porter EngineTest: Moved Media Player Seek test to new folder. Also enabled the test with new ground truth image. Change 3877040 by Max.Chen Cine Camera: Split camera properties to two groups, "Camera Options" and "Camera Settings". The cine camera now hides properties in the "Camera Settings" group so that properties like bConstrainAspectRatio (in the "Camera Options" group) can be visible. #jira UE-54192 Change 3877763 by Max.Chen Curve Editor: Fix curve changed on end drag so that only curves that had keys/tangents that were changed receive notification, otherwise all loaded curves were getting notified that they were changed. #jira UE-54951 Change 3878234 by Matt.Hoffman Disable "Drop Below" targets for Sequencer Tree nodes to prevent a confusing UX issue where dropping underneath a Object Binding Node puts it after the object binding node but the UI looks like it's inserting it inside the Object Binding node. #jira UE-54743 Change 3879359 by Mike.Zyracki If a track is inactive we dim it a bit which seems to be the UE4 way to show inactive or disabled state. We changed the active logic so that all subtracks need to be inactive for the track to also be inactive(instead of all active for active). This conforms to how the active state actually works, e.g if you have two sections and only one is active the track is still active above it. #jira UESEQ-388 Change 3879462 by Max.Chen Sequencer: Allow dragging onto a particular row which would move out any overlapping sections to make space for the newly created section. Newly created sections are now selected and throbbed to draw attention to themselves. #jira UE-54664 Change 3879464 by Max.Chen Sequencer: Fixed overlapping ranges being inserted into the evaluation field during compilation - The issue was that track segments that had been combined with adjacent segments (due to them being identical) would potentially cause a subsequently compiled frame to overlap with a range that had already been inserted into the evaluation field. - The insertion code previously asserted that only minor overlaps were catered for (due to fp rounding errors) and assumed that a supplied range could not entirely contain any other range in the field. - The solution is to supply the insertion time along with the range to know exactly where the data should live in the field, and crop the range to the maximum allowable space between adjacent ranges. #jira UE-54922 Change 3879590 by Matt.Hoffman Items that are now added to the Sequencer via the "+Track" menu will be selected after being added. Items can now be added inside of folders instead of just to the root level. #jira UE-27397 Change 3879612 by Mike.Zyracki Display Nodes with no children are always active. #jira UESEQ-388 Change 3879730 by Matt.Hoffman Sequence Recorder's actor recording groups now remove items from the group when removed via the UI. #jira UESEQ-339 Change 3880256 by Mike.Zyracki Fix issue with inactive display with folders and other track nodes. #jira UESEQ-388 Change 3883491 by Max.Chen Fix issue where tick is skipped due to last ticked pose isn't cleared after AnimInstance changes. Copy from Release-4.19 #jira UE-51323 Change 3883603 by Max.Chen Movie Scene Capture: Add option toggle disable screen percentage. By default this is on (no change in current behavior). #jira UE-51898 Change 3885074 by Max.Preussner MediaCompositing: Resetting media texture & freeing resource on section end; removed dead code Change 3887220 by Max.Preussner MediaCompositing: Defaulted media section duration to 1 sec (since we do not know the actual duration in most cases) Change 3887478 by Matt.Hoffman Sequences now show [Inactive] in their title bars when they're disabled. This helps communicate why a sequence isn't being evaluated. #jira UE-51469 Change 3888985 by Max.Chen Movie Scene Capture: Clamp HDR Compression Quality between 0 and 1. #jira UE-55136 Change 3893519 by Max.Chen Sequence Recorder: Clarified tooltip for bRecordNearbySpawnedActors - spawned actors will still be recorded if they match the ActorFilter. #jira UE-55238 Change 3893546 by Max.Chen Sequence Recorder: If a selected actor already has a recording, add a blank recording. #jira UE-55239 Change 3894044 by Max.Preussner MediaCompositing: Added support for seeking into a media section Change 3894310 by andrew.porter MediaFrameworkTest: Adding Img media sources for 1080 and 2160 ravent test content Change 3894426 by Max.Preussner MediaAssets: Letting media textures with AutoClear retain their clear color when player is reset Change 3895717 by Max.Chen Sequencer: Null checks to prevent crash when saving the default state of a spawnable #jira UE-55304 Change 3897388 by Max.Chen Sequencer: Don't update current time to be within the view range when stepping into a sequence. #jira UE-55322 Change 3897452 by Max.Chen Audio: Fix crash when trying to record audio without any active capture devices. Log warning if the number of input channels is not 1 or 2. #jira UE-55223 Change 3897619 by Max.Preussner MediaCompositing: Removed commented out code Change 3898072 by Max.Chen Sequencer: Override the animation asset in the player state if it doesn't match the animation asset that's being evaluated. #jira UE-55328 Change 3898272 by Max.Preussner MediaPlayerEditor: Made slate brush constants static Change 3898704 by Max.Chen Sequencer: Skip if the binding id's sequence can't be found. #jira UE-55337 Change 3899855 by Max.Preussner MediaCompositingEditor: Added cache state visualization to media track Change 3900300 by Max.Preussner MediaCompositingEditor: Added loop indicators to media sections Change 3900694 by Max.Preussner ImfMedia: Looping cache only when player is looping Change 3900892 by Max.Preussner Stats: Added stats category for media framework Change 3900954 by Max.Preussner MediaCompositing: Don't evaluate at the end of media section Change 3901348 by Max.Preussner Core: Replaced TLruCache autos for better readability Change 3901655 by Max.Preussner ImgMedia: Added more perf stats to EXR reader Change 3901972 by Max.Preussner MediaAssets: Added getter for media player in media sound components Change 3902233 by Max.Preussner MediaAssets: Enabling media textures to receive samples right after player is assigned Change 3902238 by Max.Preussner MediaCompositing: Working around init/shutdown idiosyncracies in sequencer Change 3904045 by Max.Chen Sequencer: Fix copy/paste crash. Only process UMovieSceneCopyableBinding and objects that can be spawned by the movie scene spawn register. #jira UE-55314 Change 3905605 by Max.Chen Sequencer: Restrict spawnables from being created if they have a ClassWithin that UMovieScene is not a child of. #jira UE-55429 Change 3906550 by Max.Chen Sequencer: Add media track icon #jira UE-55480 Change 3907101 by Max.Chen Sequence Recorder: Fix bugs related to not recording a level sequence. There were certain assumptions that creating a level sequence meant that sequence recording was in progress. This is not always the case - the recorders can record animation assets and not create a level sequence. Changed the notion of IsRecording() to having at least one actor recording that is recording. Countdown timer, recording displays, etc should function if IsRecording() and not based on whether a level sequence is created. #jira UE-55485 Change 3907247 by Max.Chen Sequence Recorder: Fix crash not removing PrepareToCleanseEditorObject delegate. Repros when opening sequence recorder, closing it, and then opening or creating a level. Change 3910343 by Max.Preussner Core: Added async helper for executing functions on a given thread pool Change 3910346 by Max.Preussner ImgMedia: Added separate thread pools for loading/decoding and deleting image frames Change 3910829 by Max.Preussner Profiler: Increased visible range of profiler graph Change 3910841 by Max.Preussner MediaCompositing: Displaying asset name instead of full media source path in media section Change 3910870 by Max.Preussner ImgMedia: Using deallocation thread pool only in debug builds Change 3919642 by Max.Chen Sequence Recorder: Clarify active tooltip #jira UE-55661 Change 3919660 by Max.Chen Sequencer: Sequence template source signatures are now also compared to catch the case where a sub-sequence asset has been saved but not modified - The following sequence of events exposes this issue: - Create a master sequence with a single shot that spawns a cube - Add this sequence to a level and set it to auto-play - Save everything and restart - Resave just the inner shot asset without opening it - PIE - The inner shot never spawns its cube because its template was wiped on save, but its signature never changed. Since the master sequence previously didn't check the template source signature, it ends up trying to evaluate an empty template. #jira UE-55626 #jira UE-55490 Change 3921825 by Max.Chen Sequencer: "Run Construction Script in Sequencer" is off by default for blueprints but on for Sequencer. This allows the content author to switch it on for specific blueprints and sequencer will be default, run those with construction scripts enabled. Change 3922232 by Max.Chen Sequence Recorder: Reset countdelay on stop. #jira UE-55755 Change 3922306 by Max.Chen Sequence Recorder: Don't automatically mark transforms to be recorded by sequence recorder. Instead, log a warning if the user toggled it off to warn that the resulting animation might not match gameplay. #jira UE-55758 Change 3922912 by Max.Chen Sequence Recorder: Fix refresh next sequence name #jira UE-55757 Change 3927654 by Max.Chen Movie Scene Capture: Added format mapping for the name of the current camera #jira UE-55769 PR #4537 Change 3927658 by Max.Chen Sequencer: Added fbx property mapping for "FocusDistance" to "FocusSettings.ManualFocusDistance" #jira UE-55782 Change 3932022 by Max.Chen Sequencer: Add import animation track section to next available row index. #jira UE-55892 Change 3933919 by Max.Chen Sequencer: Jump to playback start frame and not 0 to start playback for recording. #jira UE-55933 Change 3934307 by Andrew.Rodham Sequencer: Add template signature that is re-generated every time the base template is regenerated, which invalidates evaluation fields This fixes an issue where the same sequence is instantiated multiple times in a sequence. If the source sequence was saved, its template would be wiped, which would invalidate the template ID When an instance tries to evaluate the master template, it would only invalidate a range in the evaluation field that was the hull of any invalid sub sequences overlapping the current time, potentially leaving invalid data in the evaluation field at positions later (or earlier) on in the sequence When the sub template was re-generated, it receives the same SequenceSignature as it had before (because the sequence hasn't actually changed), which causes the stale evaluation field data to fail the IsDirty check (because the sequence is the same as it thought, but the *template* has changed) This has been addressed be adding a signature to templates themselves, and checking both the template signature and sequence signature as a part of the IsDirty check. This ensures that we regenerate if either the template, or the sequence have changed. #jira UE-55934 Change 3936327 by Andrew.Rodham Sequencer: Removed increment when trimming right UMovieSceneSection::TrimSection already explicity assigns an exclusive bound to the time passed in. The new behavior means we can trim a section to the right, and insert another section without changing the time to create adjacent sections. #jira UE-42652 Change 3936328 by Andrew.Rodham Fixed KeyFrameManipulator assignment operators and copy/move constructors - These types are potentially self-referential so cannot use default constructors/assignment Change 3936330 by Andrew.Rodham Converted UMGSequencePlayer to use frames internally #jira UE-54878 Change 3936726 by Max.Chen Sequencer: Set track node as the parent of the key area node. The key area switcher needs the object binding id from the parent object binding node. Without this, the binding to the external value fails. #jira UE-55931 Change 3936775 by Max.Chen Sequencer: Should stop or loop should compare DurationFrames with Current Time from StartTime. The bug is that if you set 30 warmup frames in movie rendering for a range of 0-100, the FrameRange will be starting at -30 and have a duration of 130. Without this fix, the playback will continue until frame 130, rather than 100. #jira UE-55933 Change 3936935 by Matt.Hoffman Easing Curves are now represented in Play Rate resolution instead of internal resolution. #jira UE-55937 Change 3937069 by Matt.Hoffman Users can toggle if the is infinite on each side, limited by which tracks support infinite ranges. #jira UE-55891 Change 3937516 by Max.Preussner ImgMedia: Added support for single-threaded platforms #jira UE-55986 Change 3937826 by Max.Preussner MediaAssets: Disabling media sound components on HTML5 if AudioMixer is not enabled Change 3937997 by Max.Chen Curve Editor: Add Zoom to Fit Curves so that selected curves from Sequencer can be focused on. Tested that undo doesn't re-zoom. #jira UE-55935 Change 3938000 by Max.Chen Sequencer: Stop all sounds before generating audio waveforms. #jira UE-55951 Change 3938376 by Max.Preussner XGEController: Disabled XGE Controller in single-threaded apps to prevent crash Change 3938444 by Max.Preussner Core: Added async support for single-threaded applications Change 3938445 by Max.Preussner Networking: Added support for single-threaded applications in UDP socket sender/receiver Change 3938447 by Max.Preussner Messaging: Added support for single-threaded applications Change 3939432 by Max.Chen Sequence Recorder: Append command list to global level editor actions so that shortcuts are accessible in level editor. #jira UE-55798 Change 3940229 by Andrew.Rodham Added prospective display rate upgrade to UMovieScene::PostLoad - There was previously some very odd behaviour that would assign the fixed frame interval only when a sub sequence was focused in SSequencer. This meant that many sequences could have a frame interval of 0 set in the data. - Under the old method of snap interval display this would have fallen back to getting the display interval from the sequencer settings, but we no longer look at these. - The USequencerSettings properties have been removed and in their place, a prospective data upgrade for sequences that have a fixed frame interval old 0fps that sets the play rate to the previous defaults based off the old USequencerSettings defaults. - This could end up 'changing' the display rate for sequences where the user has changed the snap interval in the settings for a particular sequence editor, but there's not much we can do about that given we don't have access to the USequencerSettings classes in UMovieScene #jira UE-55919 Change 3940277 by Andrew.Rodham Sequencer: Added ability to default frame resolutions and play rates for newly created actor sequences Change 3940378 by Andrew.Rodham Sequencer: Post move import dialog now defaults to the playback framerate of the sequence, and floors to frame numbers Change 3940559 by Andrew.Rodham Reinstated primed or recording sequence color Change 3940642 by Max.Preussner ImagePlate: Removed image plate media playback functionality Change 3940843 by Max.Preussner Core: Made TCircularQueue actually thread-safe; improved code comments Change 3940860 by Max.Chen Sequencer: Changed StructNameToKey to StructPathToKey Previously, keying a PropertyPath of [RenderTransform][Shear][X] would get trimmed to X, which doesn't map to a channel name as considered by Sequencer2dTransformTrackEditor. Instead, trim the resulting property path to [Shear][X] so that track editors can determine the desired struct path and channels to key. #jira UE-52966 Change 3941292 by Mike.Zyracki Fix for trajectories out of range not showing up. 1) If we had no key data we would pop the time, so wouldn't get the section ranges. 2) Calculating of upper bound was wrong, checking against -1 and not key == num of keys when doing algo::lower_bound. 3) No need to do the Bck-- for the bakward iterators since we fixed #2. We start now from the upper bound correctly. 4) If we had no keys (at section start,end) we would incorrectly say we were any key type, so since we draw constant keys as dashed we would do so incorrectly around section end points. #jira UE-55929 Change 3941424 by Max.Chen Curve Editor: Change Zoom to Fit to use TArrayView Change 3941498 by Max.Preussner Core: Added FMath::DivideAndRoundNearest function Change 3942097 by Matt.Hoffman Drop Frame Timecode Support for NTSC rates. Change 3942104 by Matt.Hoffman Sequence Recorder Group is no longer visible inside the World Outliner after using one. #jira 55266 Change 3942107 by Max.Chen Sequencer: Resurrect logic to find or extend an existing section when adding keys. Change 3942330 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942339 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942507 by Andrew.Rodham Sequencer: We no longer pad the time overlap threshold with a small number that is not scaled by the current zoom level - The presence of this pad was causing keys that were far apart to be grouped when zoomed in a long way Change 3942509 by Andrew.Rodham Sequencer: Only pad total view range, rather than section range as well when retrieving keys to render - This stops us from rendering keys that are within the view range, but outside the section range Change 3942512 by Andrew.Rodham Added transactions to some sequencer details customizations Change 3942513 by Andrew.Rodham Sequencer: Reinstated validation checks to UMovieSceneSection::SetStartFrame and SetEndFrame, changed erroneous uses to use SetRange Change 3942560 by Andrew.Rodham Pass by rvalue reference to appease error C2719 on Win32 ('InChannels': formal parameter with requested alignment of 8 won't be aligned) Change 3942697 by Andrew.Rodham Newly Created Level Sequences and Actor Sequences now default to 24000 fps frame resolution (+/- ~24hrs range, supporting all integer rates + 23.976) Change 3942700 by Andrew.Rodham Sequencer: Added legacy out-of-bounds errors for times that are not supported by the current legacy upgrade frame resolution Change 3942989 by Max.Preussner Core: Fixed circular queue count calculation Change 3943538 by Max.Preussner MediaAssets: Reverted workaround for procedural audio log spam in HTML5 (Actor component initialization cannot be skipped if the component is used in a level) Change 3944071 by Max.Preussner QAGame: Fixed Media Texture keeps last frame of Media when PIE ends #jira UE-53360 Change 3944292 by Max.Chen Sequencer: Added extra flags to ensure that asset initialization does not occur on template actor sequences #jira UE-56113 Change 3944364 by Max.Chen Sequencer: Prevent circular shot/master tracks. Tested adding master -> child -> master as drag and drop cinematic shot tracks and sub tracks as well as through the + button. #jira UE-56091 Change 3944422 by Max.Chen Sequence Recorder: Disable transform recording if off. #jira UE-56061 Change 3944745 by Andrew.Rodham Sequencer: Key rendering fixes - Fixed assert that occured when keys happened to reside on some times due to KeyTime + TimeOverlapThreshold - KeyTime being slightly larger TimeOverlapThreshold - Fixed keys sometimes being clipped when zoomed right in due to lack of half-frame offset - Added missing documentation to MovieSceneTimeHelpers.h #jira UE-56107 Change 3945231 by Andrew.Rodham Sequencer: Reconstruct channel proxy on Serialize to catch all cases of undo/redo, PostLoad and duplication #jira UE-56089 Change 3945301 by Andrew.Rodham Sequencer: Added safety checks during initial sequence recording to guard against applying negative or 0-sized sequence ranges #jira UE-56125 Change 3946627 by Max.Preussner Fortnite: Fixed game crashes closing editor while in PIE - Pure virtual function being called #jira UE-56144 [CL 3946896 by Max Chen in Main branch]
2018-03-14 22:09:33 -04:00
const uint8 OpacityBlend = TimeSliderArgs.SubSequenceRange.Get().IsSet() ? 128 : 255;
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3178529) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3149443 on 2016/10/03 by Max.Preussner MediaAssets: Better parameter names for MediaPlayer BP functions Change 3149756 on 2016/10/03 by Max.Chen Sequence Recorder: Set some settings to be clamped at 0 (sequence length, recording delay, audio gain, audio input buffer size, nearby actor recording proximity) #jira UE-35233 Change 3149795 on 2016/10/03 by Max.Chen Curve Editor: Set tangent to user when flattening or straightening tangents only when the tangent mode is auto and the interp mode is cubic. #jira UE-36734 Change 3150378 on 2016/10/04 by Max.Preussner PS4Media: Made video buffer sizes for file and HLS sources configurable (UE-36807) #jira UE-36807 Change 3151414 on 2016/10/05 by Max.Chen Sequencer: Fix case where restoring the last view target was getting skipped. It should always restore if the camera object and the unlock if camera actor object is null. #jira UE-35285 Change 3152038 on 2016/10/05 by Max.Preussner UdpMessaging: Code & documentation modernization pass Change 3152471 on 2016/10/05 by Max.Chen Cine Camera: Don't enable/disable actor ticking based soley on actor tracking since actor ticking is needed for other purposes. Instead, always enable actor ticking and only update actor tracking on tick if necessary. This fixes a bug where the cine camera actor won't tick if you hook in event tick. #jira UE-36625 Change 3152692 on 2016/10/05 by Max.Preussner Messaging: API code & documentation modernization pass Mostly removed shared pointer/ref typedefs as they prevent forward declarations and increase include complexity. Change 3153824 on 2016/10/06 by Max.Preussner Messaging: Renamed IConnectionBasedMessagingModule to ITcpMessagingModule and moved it into TcpMessaging I recommend that we refactor this API. The dependency should be reversed, i.e. instead of AndroidDeviceDiscovery depending on the TcpMessaging plug-in module, the Engine should provide a central registry that device discovery modules can notify, and that message transport plug-ins can register with and listen to OnConnectionAdded/Removed events etc. That way it supports an arbitrary number of transport plug-ins, and the Engine is not coupled to any of them. This functionality is not necessarily related to messaging, and the Messaging API is transport agnostic anyway. I'll think about this some more. Change 3153826 on 2016/10/06 by Max.Preussner Messaging: Removed remaining typedefs in IMessageTracer to enable forward declaration and reduce include dependencies Change 3153857 on 2016/10/06 by Max.Chen Sequencer: Set snap time to dragged key on by default. Change 3153980 on 2016/10/06 by Max.Preussner SessionServices: Removed typedefs; code and documentation modernization pass Change 3154313 on 2016/10/06 by Max.Chen Sequencer: Set the paste keys time to the current time, rather than the mouse time. Change 3154332 on 2016/10/06 by Max.Chen Sequencer: Remove click to rename shot functionality in the shot thumbnail. Added rename shot to the shot context menu. Change 3154377 on 2016/10/07 by Max.Chen Sequencer: Add ability to step to beginning and ends of sections/shots using the hotkeys: , and . Change 3154788 on 2016/10/07 by Max.Chen Sequencer: Fix offsets that created when moving multiple sections. The offsets were being created because section bounds were being generated for all sections except for the current section. Instead, they should be computed for all sections except for any that aren't being moved. #jira UE-29152 Change 3159274 on 2016/10/11 by Max.Preussner Core: Documentation fixes Change 3159275 on 2016/10/11 by Max.Preussner UdpMessaging: Added missing header Change 3160746 on 2016/10/12 by Max.Preussner MediaAssets: Added BP functions to query width, height, and aspect ratio of UMediaTexture instances #jira UE-37241 Change 3160975 on 2016/10/12 by Max.Preussner PS4Media: Better logging for SetRate failures Change 3160995 on 2016/10/12 by Max.Preussner MediaPlayerEditor: Fixed Media player selection is ignored if media specifies player overrides (UE-37248) #jira UE-37248 Change 3161066 on 2016/10/12 by Max.Preussner PS4Media: Enforcing minimum 8 byte alignment for media allocations Change 3161069 on 2016/10/12 by Max.Preussner PS4Media: Fixed log spam when setting play rate to current rate Change 3162567 on 2016/10/13 by Max.Preussner PS4Media: Made track switching code more readable Change 3163447 on 2016/10/14 by Max.Preussner PS4Media: Fixed array out of bounds assertions Change 3163772 on 2016/10/14 by Max.Preussner MfMedia: Fixed a number of timing related issues Change 3163980 on 2016/10/15 by Max.Chen Sequencer: Remove folder name numeric padding so that the naming convention is similar to creating objects in the level. Change 3164581 on 2016/10/17 by Andrew.Rodham Sequencer: Ensure global pre-animated state is restored in reverse order Change 3164582 on 2016/10/17 by Andrew.Rodham Sequencer: Ensure pre animated state is restored for all actor components before saving default state Change 3164583 on 2016/10/17 by Andrew.Rodham Sequencer: Re-enabled support for pre and post roll Change 3165464 on 2016/10/17 by Max.Chen Sequencer: Default number frame handles to 0 so that there's no change in behavior when rendering out a master sequence of shots. Handle frames need to enabled explicitly by the user. Copy from Release-4.14 #jira UE-37416 Change 3165483 on 2016/10/17 by Max.Chen Sequencer: Enable restore state for attach section completion Change 3165771 on 2016/10/18 by Andrew.Rodham Sequencer: Force evaluate when rendering thumbnails #jira UE-37321 Change 3166057 on 2016/10/18 by Andrew.Rodham Sequencer: Only set defaults for tracks that have no keys, and where the requested default has changed #jira UE-37285 Change 3166218 on 2016/10/18 by Max.Preussner MediaPlayerEditor: Failure opening media, even though it opened successfully (UE-37470) #jira UE-37470 Change 3166247 on 2016/10/18 by Max.Preussner WmfMedia: Showing progress bar while media is being resolved Change 3166289 on 2016/10/18 by Max.Preussner MfMedia: Showing progress bar while media is being resolved Change 3166993 on 2016/10/18 by Max.Preussner MfMedia: Fixed info string not reset on media close. Change 3166999 on 2016/10/19 by Max.Preussner Media: Fixed NV12 and NV21 support Change 3167008 on 2016/10/19 by Max.Preussner Media: Removed vertical NV12 alignment Change 3167029 on 2016/10/19 by Max.Preussner WmfMedia: Temp fix for RGB32 encoded AVIs rendering upside-down and too bright (UE-37505) #jira UE-37505 Change 3168593 on 2016/10/19 by Max.Chen Sequencer: Change paste at time to local time, so that the paste happens in the local time of the sequence rather than the global time if pasting in a shot level sequence. Change 3168626 on 2016/10/19 by Max.Chen Sequencer: Clamp to view bounds should snap to frame if frame snapping is on. Change 3168627 on 2016/10/19 by Max.Chen Sequencer: Initialize working and view range to be 10% larger than playback range. Change 3168760 on 2016/10/20 by Max.Preussner Media: Revamped media texture buffer management to support padded frames Added support for Windows bitmap buffers. Fixed a number of format, conversion and/or looping issues in WmfMedia and MfMedia. Not all shaders have been updated yet. Change 3169640 on 2016/10/20 by Max.Chen Sequencer: Add current camera to FLevelSequencePlayerSnapshot. Adjust DefaultBurnIn to include a few more parameters like focal length and focus distance. #jira UE-37407 Change 3170677 on 2016/10/21 by Max.Chen Movie Scene Capture: Add toggle to override engine scalability settings to cinematic scalability. #jira UE-36560 Change 3170710 on 2016/10/21 by Max.Preussner Media: Optimized handling of RGB input Change 3170712 on 2016/10/21 by Max.Preussner Media: Fixed NV21 conversion shader scaling Change 3170923 on 2016/10/21 by Max.Preussner UBT: Copied XboxOne project generator fix from Fortnite CL# 3170868 Change 3171494 on 2016/10/23 by Max.Chen Sequencer: Fix fbx export from master sequence not finding bound objects. #jira UE-35752 Change 3171506 on 2016/10/23 by Max.Chen Sequencer: Draw where in and out points of the shot section are, just like subsequences do. Change to only draw the green starting line if StartOffset is negative. #jira UE-35473 Change 3171743 on 2016/10/24 by Andrew.Rodham Editor: Added support for detail customizations on root structs - Also added the ability to add external struct data onto a detail category builder, and property type customization. Change 3171752 on 2016/10/24 by Andrew.Rodham Sequencer: Fixed spawnable ownership - Spawnables are no longer destroyed when the cursor leaves the master playback range. - Spawnable ownership now operates as it previously did before the evaluation rework. - bIgnoreOwnershipInEditor has been removed since its existence was a work around for when we didn't evaluate sub sequences from the master sequence. - FMovieSceneSequenceID is now a struct so that it can be used in array properties - Meta data now exists for each segment of an evaluation field. Currently this only includes the sub sequence IDs that exist at that time, but it may be expanded to include all evaluation entities (tracks + sections) in future so we don't have to calculate that at runtime. Change 3171756 on 2016/10/24 by Andrew.Rodham Sequencer: Added ability to trigger events with parameters - It's now possible to supply an event payload on event track keys which are to be passed to a given event. The structure must match the signature of the event, or a warning will be emitted. - Added a templated TGenericKeyArea, TKeyFrameManipulator and TCurveInterface that allow to generic manipulation of keyframe section data. In time we will port the other key areas over to this representation. - This new architecture affords the common manipulation of time-based keyframes in a value-agnostic manner. Change 3172935 on 2016/10/24 by Max.Preussner MediaPlayerEditor: Fixed MediaPlayer asset not being dirtied when creating media sound wave or texture for it Change 3173947 on 2016/10/25 by Max.Preussner SlateRemote: Disabled plug-in, but enabled server by default Change 3174510 on 2016/10/26 by Max.Chen Sequencer: Fix slomo track crash #jira UE-37802 Change 3174698 on 2016/10/26 by Andrew.Rodham UMG: Fixed objects bound to a panel slot animating their slot's content instead of the slot itself #jira UE-37775 Change 3174780 on 2016/10/26 by Max.Preussner MediaAssets: Accepting decoder defined buffer dimensions for RGB buffers Change 3174789 on 2016/10/26 by Max.Preussner MediaPlayerEditor: Showing desired player name instead of current player name if no media loaded Change 3174817 on 2016/10/26 by Max.Preussner WmfMedia: Added support for Motion JPEG (MJPG) Change 3174825 on 2016/10/26 by Max.Preussner WmfMedia: Added support for non-RGB32 uncompressed formats Change 3174834 on 2016/10/26 by Max.Preussner MediaPlayerAssets: Allow pausing while buffering media Change 3174886 on 2016/10/26 by Andrew.Rodham Core: Fixed range test that was testing incorrect behavior Change 3174889 on 2016/10/26 by Andrew.Rodham Sequencer: Fixed AssignActor behavior - Also ensure that cached object state is invalidated when playback context changes #jira UE-37798 Change 3174905 on 2016/10/26 by Andrew.Rodham Sequencer: Changed assert when failing to create an audio component to a log message - Audio no longer plays when GEngine->UseSound() is false #jira UE-37772 Change 3174980 on 2016/10/26 by Andrew.Rodham Sequencer: Remove warning when event endpoint could not be found for a given context #jira UE-37824 Change 3175001 on 2016/10/26 by Andrew.Rodham Sequencer: Evaluate sequence with EMovieScenePlaybackStatus::Jumping on Pause. - Also protect Pause() against reentrancy when being called from an event Change 3175012 on 2016/10/26 by Max.Chen Sequence Recorder: Fixes an empty working and view range after recording. On StopRecording() update playback range after nullifying the current sequence so that the playback range isn't empty. Added SetViewRange and SetWorkingRange. #jira UE-34191 Change 3177760 on 2016/10/28 by Max.Chen Sequence Recorder: Don't update the current sequence name if it's already set. This fixes a bug where if you pass in a sequence name to record to, it gets reset to the name in the sequence recorder settings. #jira UE-37808 Change 3178529 on 2016/10/28 by Max.Chen Matinee to Level Sequence: Added interface to extend the matinee to level sequence converter #jira UE-37328 #2864 [CL 3178562 by Max Chen in Main branch]
2016-10-28 15:04:38 -04:00
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 4044339) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3947021 by Max.Chen Sequencer: Don't preserve root component when copying object properties. A spawnable empty actor, has a root component that is generated by the empty actor factory. If the object template's root component is preserved when copying from the spawnable empty actor, the root component will not be copied over. Therefore, we need to NOT preserve the root component when copying object properties. #jira UE-55825 Change 3947366 by Max.Preussner WmfMedia: Better log output Change 3947367 by Max.Preussner MfMedia: Better detection of compressed format properties on Windows Change 3949102 by Max.Chen Sequencer: Remove SequenceActorTag when converting to possessable. #jira UE-56206 Change 3949207 by andrew.porter EngineTest: Set the screenshot nodes resolution to 1280x720 Change 3949404 by Max.Chen Sequencer: More informative tooltip for "Rerun Construction Scripts" option. It now says "Rerun construction scripts every frame on actors that have 'Rerun Construction Script in Sequencer' enabled in their class settings". Change 3950067 by Matt.Hoffman Renamed UAutomatedLevelSequenceCapture's StartFrame and EndFrame to CustomStartFrame/CustomEndFrame to reflect that it is user-overriden. This will also resolve upgrade issues due to the variable datatype changing. #jira UE-56189 Change 3950193 by JohnHenry.Carawon Updating my latest MovieRendering test content. Change 3950757 by JohnHenry.Carawon More updates to MovieRendering test content Change 3952059 by Max.Chen Resave LevelVisibility_SubLevels to fix data loss conversion warning of OpacityMaskConstant #jira UE-56086 Change 3952283 by Max.Chen Sequencer: Disable dropping level sequence assets as spawnables. #jira UE-56120 Change 3952422 by Max.Chen Sequence Recorder: Add button to record from the current player. #jira UE-55942 Change 3952987 by JohnHenry.Carawon MovieRendering Test Content - Fixing camera bindings and changing the override binding actor Change 3953823 by Mike.Zyracki Fix for Bad FBX Import Tangents not scaled by frame rate. After looking at this again it seems that a set of MovieScene:: overiddes for the channel traits wasn't set correctly, so use the ADL idiom to use MovieScene, which can then call Optimize in the correct namespace. With this we can now correctly use the passed in tolerance. There was also a redundant set of Optimize calls so that it could happen twice so removed them, and needed an extra check in the float channel Optimize. Also since we need to set auto tangents no matter if we optimize we don't set that parameter(though leave it since it's used by context menu key reduction). Finally fixed speed issue with trajectories caused by calculating way too many substeps. Reverted back to a time based step size for consistency. #jira UE-56193 Change 3954317 by Matt.Hoffman Adding a key to the last frame of a section no longer causes a crash. Keys can already be moved to be on the last frame of a section so now you can just add a key there directly. #jira UE-56255 Change 3954326 by Matt.Hoffman Dilating a section that is only infinite on one side no longer causes a crash. #jira UE-56260 Change 3954486 by Max.Chen PR #4580: Exposes IsReversed() from UMovieSceneSequencePlayer (Contributed by alanedwardes) Change 3955238 by Max.Preussner Messaging: Enabled delayed message routing https://github.com/EpicGames/UnrealEngine/pull/4574 #jira UE-56247 Change 3955901 by Max.Preussner MediaFrameworkTest: Added developer test for overriding desired media player plug-in at runtime. Change 3955922 by Andrew.Porter QAGame: Updating movie rendering content in dev folder Change 3956004 by andrew.porter QAGame: Adding MPC track to movie rendering test content Change 3956510 by Max.Chen Sequencer: Fix fbx camera import of static properties so that they are imported before default tracks are created. Otherwise, the default tracks inherit the default properties of the camera, rather than the values from the fbx. #jira UE-56311 Change 3957613 by Max.Preussner MediaUtils: Added code documentation to media player facade Change 3958005 by Max.Preussner MediaUtils: Added method to get number of sinks Change 3958934 by Max.Chen Sequencer: Fix keys getting added and sequence getting erroneously re-evaluated when auto key is off. Only apply defaults if there are no keys. Only modify the movie scene section before creating keys or setting defaults. #jira UE-55903 Change 3959687 by Andrew.Rodham Sequencer: Fixed visibility track external values being inverted #jira UE-56324 Change 3960507 by Max.Preussner Core: Fixed incorrect rounding in FMath::DivideAndRoundNearest Change 3962047 by JohnHenry.Carawon MovieRendering Test Content Changes: - Add Lightmass Importance Volumes to sublevel to fix warnings - Rebuilt Lighting - Add a third sequence for Gamut testing - Resaved the sound master.uasset to fix warning Change 3962211 by Mike.Zyracki Add Frame Numbers to selected animation sections. Added MapTimeToAnimation to MovieSceneSkeletalAnimation so that we could get it from the Skeleton Animation track Editor. Since the thickness of the frame line can change based upon frame rate and zoom we need to calculate it similarly to how the time slider controller does it. Those calculations were private so we had to expose FScrubRangeToScreen and GetScubberPixelRange from the TimeSliderController. Also needed to know if the section itself was selected so added a bIsSelected flag to the section Painter. Also fixed a bug where you couldn't add a section if other sections existed at different times in MovieScenePropertyTrack and could crash due to the check(). #jira UESEQ-395 Change 3962497 by Max.Preussner Core: Added new string formatting argument to FTimespan Change 3963662 by Max.Chen CineCamera: Flip VistaVision width and height. Change 3963731 by Max.Preussner MediaCompositing: Implemented sequence recording support for media track Change 3964195 by Andrew.Rodham Sequencer: Set inverted property correctly for newly created visibility track sections - Also clamp evaluation for key editors to the bounds of the section so we're not displaying values outside of the section bounds when the cursor is not on the bounds #jira UE-56324 #coderevew Max.Chen Change 3964196 by Andrew.Rodham Sequencer: Fixed crash when attempting to render sections that resulted in a negative intersection with the view range Change 3964275 by Andrew.Rodham Sequencer: Fixed MovieScene::ClampToDiscreteRange for infinite range bounds Change 3964364 by Andrew.Rodham Curve Editor: Reduce minimum vertical view range when zooming to fit Change 3965091 by Max.Chen Sequencer Recorder: Refresh next sequence if empty when starting a recording, otherwise, use existing name. #jira UE-56469 Change 3965148 by Max.Chen Sequence Recorder: Move Record to Possessable to "Actor Recording" group Change 3965162 by Max.Chen Sequence Recorder: Always break out of immersive mode when done recording, even when stopping recording during countdown. #jira UE-56407 Change 3965214 by Max.Preussner QAGame: Enabled ImagePlate plug-in Change 3965574 by Max.Preussner SimpleComposure: Reorganized & upgraded content to work with new Media Track #jira UE-56488 Change 3965651 by Max.Preussner MediaCompositing: Ignoring seek-on-open if media not seekable Change 3966075 by Christina.TempelaarL Sequencer: Added Final Cut Pro 7 XML Export functionality #jira UESEQ-358 Change 3966087 by Matt.Hoffman Adding a single key to the Particle Toggle track now makes an infinite range section that is displayed in the UI. #jira UE-56295 Change 3966547 by Andrew.Rodham Sequencer: Fixed rounding errors when drawing the section background on boolean sections - Logic was using time in sectonds which caused rounding errors on evaluation and flickering red/green stripes when dragging keys around #jira UE-56324 Change 3966563 by Andrew.Rodham Curve Editor: Key editor interface improvements - SKeyEditInterface has a few problems - it does not update in real time when editing properties, and does not support multi-edit which makes it unsuitable for use with the curve editor - We now take a different approach for editing keys by gathering a set of proxy UObjects for each key that is currently selected. These objects are added as top level objects to the details panel which means they support multi edit as you'd expect from any other details panel in the editor. - Proxy objects are updated every tick for the curve editor if they implement the ICurveEditorKeyProxy interface, which allows them to refresh their current value. - Ideally, the same mechanisms would be used in the main sequence interface, and we would be generating the proxy classes at runtime based on the key value type, but that work remains a separate task from this initial offering. #jira UE-56165 Change 3966564 by Andrew.Rodham Curve Editor: Expand to frame when adding or moving keys in the curve editor Change 3967051 by andrew.porter MediaFrameworkTest: Set the CameraPlayer_Video texture to auto clear Change 3967141 by Andrew.Rodham Sequencer: Keep track of spawned objects that have been modified and only re-save such object's default spawnable state on destruction - Now that we're taking this approach, I've remove serveral redundant bits of functionality in the spawn register such as making some spawnables read-only, and the PreSave binding for Sequencer. - We now hook into all object pre-saves to make sure we handle the case where the sequences are saved through the content browser or elsewhere. #jira UE-47686 Change 3967170 by Andrew.Rodham Sequencer: Added the ability to possess anim instances as object bindings - This allows full and direct animation of properties on UAnimInstance, and animation blueprints - Object Bindings are made by first possessing a skeletal mesh component, then choosing the + Add button where its anim instance will be listed - Added a new function to UMovieSceneSequence to gather previously cached objects that should now be invalidated. Anim instances will be re-resolved if a new UAnimInstance is assigned to USkeletalMeshComponent::GetAnimInstance. - ObjectBindingIDs for anim instances are just represented by an entry in a set of GUIDs. We only ever resolve such bindings through USkeletalMeshComponent::GetAnimInstance. - Only currently supported on LevelSequences #jira UE-56132 Change 3967195 by Max.Preussner Core: Updated TRangeSet to use TCallTraits Change 3967345 by JohnHenry.Carawon Test Content Changes - first iteration of spacing out the examples in the shots. Change 3967572 by Max.Chen Sequencer: Fix setting PreviousPlayEvalPosition until after we've tested whether it's set. #jira UE-56518 Change 3967750 by Max.Chen Audio: Set duration based on number of input channels, rather than number of channels to serialize. This fixes an issue where audio split into 2 channels is set to a duration that's twice as long. #jira UE-56430 Change 3967836 by Max.Chen Sequencer: Allow for animating array elements within ustruct properties #jira UE-55887 Change 3968506 by Matt.Hoffman Fixed ambiguous conversions for seconds and frames being overriden by ambiguous conversion to Timecode (in frames). Change 3968748 by Max.Chen Sequencer: Make the event properties submenu widget larger. #jira UE-55557 Change 3968862 by Max.Chen Sequencer: Recursive expansion when shift is down #jira UE-52139 #pr 4194 Change 3968863 by Max.Chen Sequencer: Bind rename command to selected track so that F2 shortcut start renaming #jira UE-52139 #pr 4194 Change 3968872 by Max.Chen Sequencer: Rekey the selected key at the current time. #jira UESEQ-396 Change 3968938 by Max.Chen Cine Camera: Add option to toggle the behavior of locking the rail mount to the orientation of the spline. By default, the option is off, no change in behavior. #jira UE-55815 Change 3968958 by Andrew.Rodham Sequencer: Consider vertical position when hittesting keys #jira UE-56256 Change 3969643 by Max.Preussner Core: Rounding timespans created from double values towards nearest ticks Change 3969646 by Max.Preussner MediaUtils: Implemented timeout mechanism for block-on-fetch feature Change 3969776 by Mike.Zyracki Added Skip Anim Notifiers Toggle per what was in Matinee. Investigated the Enable Root Motion toggle as also discussed but it's implementation is directly contained by the animation asset and unlike animation notifies there seems to be no exposure to interactively disable it during a playback tick. Note if we are generating thumbnails we still automtically disable notifies in the editor to avoid annoying noise playback. Note that if Enable Root Motion/Root locked is specified in the animation asset it does correctly effect the Sequencer. #jira UESEQ-399 Change 3969835 by Matt.Hoffman Playback Range and Selection Range use unified logic for adding themselves as potential snap locations which properly handles inclusive/exclusive bounds. This resolves an issue where having an unset selection range caused a potential snap location to be added on frame 0 and 1 (internal resolution) which caused a misalignment when placing objects near frame 0. This also removes the one frame offset on setting Selection Range to bring behavior inline with other ranges. #jira UE-55420 Change 3969885 by Max.Preussner MediaAssets: Don't register media player CDO with media ticker Change 3971129 by Andrew.Rodham Sequencer: Fixed UMovieSceneSequencePlayer::GotToEndAndStop() not taking into account for start time This is a remnant from when the times were always specified in 0-duration space, rather than actual sequence times. Change 3972056 by JohnHenry.Carawon More updates to Test Content. I continued spacing out the examples in the sequence so that they have a consistent number of frames between each example and during the start/end of the example. Also removed the Marcie sublevel. Change 3972066 by Andrew.Porter MediaFrameworkTest: Setting Marcie folder to be never cooked in package settings Change 3972675 by Matt.Hoffman Splitting Subsequence Sections no longer sets an incorrect playback range on the subsequence when the subsequence has a different internal resolution than the owning sequence. #jira UE-55453 Change 3973376 by Max.Preussner ImgMedia: Zero is the only valid video track for image sequences Change 3973489 by Max.Preussner Launch: Build rules cleanup pass - don't use Media, MediaUtils on server apps - don't link against Media (include-only dependency) - don't include from MediaAssets (dynamic load only) Change 3973760 by Max.Preussner MediaUtils: Moved AppMediaTimeSource implementation into its own file; added logging Change 3973765 by Max.Preussner ImgMedia: Disallowing seek beyond media length Change 3973855 by Max.Preussner MediaFrameworkTest: Updated developer test content Change 3973858 by Max.Preussner MediaCompositing: Blocking on media player time instead of media sample time (the former may not be hit in the current frame) Change 3974988 by Max.Chen Sequencer: Fix trim left so that it also sets the start offset for audio and skeletal animation sections. #jira UE-57015 Change 3976101 by Matt.Hoffman Sequencer will now focus the scroll view on newly created items. #jira UE-56492 Change 3976203 by Max.Chen Property Editor: Add DetailsViewArgs for ColumnWidth. Defaults to 0.65f, no change in existing behavior. Change 3976205 by Max.Chen Sequencer: Set better column widths for sequencer. #jira UE-55557 Change 3976206 by Max.Chen Sequencer: Added menu category for import/export Change 3976265 by Matt.Hoffman Tracks within Object Binding Nodes will now sort using the old behavior so that components are added above other track types. #jira UE-56473 Change 3976901 by Max.Chen Sequencer: Add event names to event track section #jira UESEQ-353 Change 3977878 by Max.Preussner Media: Moved media framework ticking stats into Media module Change 3977982 by Max.Chen Sequencer: Add Edit->Reset section length to duration of source (ie. audio, skeletal animation, shot length) Added MovieSceneSection::GetDefaultDuration and MovieScene::HasDefaultDuration #jira UESEQ-392 Change 3977994 by Max.Preussner Media: Fetching and rendering media samples before viewports are rendered (to ensure frame sync for in-level media playback) #jira UE-53975 Change 3978188 by Matt.Hoffman Easing Curves are now clipped by the sequence's PlayRange when testing against an infinite section. This causes blended sequences to finish their blend when the section starts/ends instead of always using 25% of the total section length to determine default blend range. #jira UE-56362 Change 3978676 by Max.Preussner MediaCompositing: Fixed first frame of rendered out media track missing #jira UE-53975 Change 3978684 by Max.Preussner MediaCompositing: Enabled media track frame sync feature #jira UE-53975 Change 3980026 by Matt.Hoffman Keys can be selected on folded out sections (such as an audio track expanded to show volume and pitch) again. #jira UE-57169 Change 3981614 by Max.Preussner MediaUtils: Added missing subtitle sample queue flush Change 3982311 by Max.Preussner MediaCompositing: Added safeguard for zero length media sources Change 3982389 by andrew.porter QAGame: Adding media track test content into FrameAccuracySubscene Change 3983661 by Max.Chen Sequencer: Add level name to spawn a spawnable into. Add sublevel menu option to set the level #jira UESEQ-390 Change 3983712 by Andrew.Rodham Sequencer: Purge legacy blueprint spawnables from LevelSequence packages #tests Ran a preflight for cooking fortnite, ocean and Orion. Only orion shows up this edge case, and will require a re-save of the EndCines level #jira UE-39173 Change 3983787 by Max.Preussner MediaCompositing: Moved compile time switch for block-on-fetch into media player facade Change 3983812 by Andrew.Rodham Sequencer: Exposed default level sequence instance data to blueprints Change 3984373 by Max.Preussner Media: Added API for quering whether player plug-in supports block on fetch Block on fetch allows Sequencer and other systems to block the game thread until a desired video frame has been decoded. Change 3984670 by JohnHenry.Carawon Movie Rendering Test Content progress. Saving the state of the content. There is a bug where things got replaced with particle emitters and I think it was because I tried to copy paste an animation track into a separate skeletal mesh track. Change 3985097 by Max.Chen Sequencer: Rename Reset to AutoSize Change GetAutoSizeDuration to return TOptional<FFrameTime> #jira UESEQ-392 Change 3986043 by Max.Chen Sequencer: Fix crash when attach/path duration is less than 0. #jira UE-57310 Change 3986373 by Max.Chen Sequencer: Add support for deleting tracks and channels which equates to setting the channel mask. #jira UE-52951 Change 3986375 by Max.Chen Sequencer: Add Create Pose Asset to skeletal animation section. This allows animators to blend animations in sequencer and create new pose assets from them. #jira UESEQ-408 Change 3986796 by Andrew.Rodham Sequencer: Fixed stale object references remaining in ULevelSequence::BindingReferences when using convert to spawnable/possessable - We used to convert objects by creating a new binding, then re-assigning its GUID, which meant we didn't have to do any further object fixup, but the code to achieve this was confusing and led to a vulnerability where object references would not be cleaned up correctly due to the newly created possessable essentially being a temporary object that's immediately thrown away. - To address this, there is now a function for porting all the contents of one object binding to another, and handles the correct fixup required for parent/child object bindings for both spawnables and possessables. - Also added codepath to remove any stale object references from the level sequence reference map on PostLoad (this piggy-backs off the PurgeLegacyBlueprints object version which is close close enough to this change to be identical) #tests Verified that existing sequences with stale references get cleaned up on load. Verified that repreatedly converting from spawnable<->possessable cleans up references correctly. Change 3987807 by JohnHenry.Carawon Updates to the MovieRendering Test Content. - Fixed the spawnable actors that were overwritten - Shortend the Lighting example and combined the Intensity and Color tracks - Organized the Sequence and WorldOutliner to group the examples. Change 3988151 by Max.Chen Cine Camera: Enable keying the "Enable Look at Tracking" toggle. Change 3988880 by Max.Chen Sequencer: Support enter to add asset for all sequencer track editors that have asset pickers. #jira UE-57367 Change 3988953 by Max.Chen Sequencer: Make the track color picker focusable so that it will close when you click away or lose focus. #jira UE-57210 Change 3988962 by Max.Chen MovieSceneCapture: Fix EDL export so that it takes into account movie scene frame resolution and desired frame rate. #jira UE-57365 Change 3988964 by Max.Chen Movie Scene Capture: Clarified tooltip for bRelativeFrameNumbers. If you specify custom start/end frames for the recording, they will be relative to the playback range. #jira UE-57308 Change 3989442 by Max.Chen Fix CIS Change 3991548 by Matt.Hoffman Dragging the time slider no longer causes the time slider to ignore snap-to-interval with "Snap to Keys While Scrubbing" when no keys are in range. #jira UE-57417 Change 3991598 by Matt.Hoffman Snap to Key while scrubbing now mirrors the behavior of "jump to next key". When there are no tracks selected it snaps to all keys and when there are tracks selected it snaps to only keys from that track. This also resolves an issue where deleting an object did not remove it from the Sequencer's selection. Undoing a delete already doesn't seem to restore your selection, so removing it from your selection shouldn't change that behavior. #jira UE-57417 Change 3991603 by Max.Chen Sequencer: Disable EditAnywhere for some section properties #jira UE-53530 Change 3992240 by Max.Preussner MediaAssets: Implemented dynamic audio sample rate adjustment based on audio/media clock drift #jira FORT-70638 Change 3992911 by Andrew.Rodham Sequencer: Fixed saving spawnable state using the wrong spawned object - We now track the object binding ID so that we can apply the spawned object to the correct spawnable when the asset is saved #jira UE-57353 Change 3992914 by Max.Chen Movie Scene Capture: Fix compression quality not being set. The compression interface wasn't being found through query interface, so no compression was being set. Reworked finding it through the output pins. Tested running various compression values. #jira-UE-55488 Change 3992919 by Max.Chen Sequencer: Convert to possessable now uses object template instead of copying properties (ie. see LevelSequenceActorSpawner). This fixes MIDs getting lost when converting to spawnable and back to possessable. #jira UE-52400 Change 3993184 by Max.Chen Sequencer: Don't show +Transform/+Path/+Attach track if the actor has the "Mobility" property hidden. Set the Landscape, LandscapeProxy and InstancedFoliage "Mobility" property to be hidden since it is static is not supposed to be dynamically movable. #jira UE-56347 Change 3993238 by Max.Chen Sequencer: Test for hidden mobility in creating keys as well. Refactored to HasHiddenMobility() #jira UE-56347 Change 3993978 by Max.Chen Cine Camera: Enable keying the "Enable Look at Tracking" toggle. #jira UE-57489 Change 3994039 by Max.Chen Landscape: Add Mobility to hidecategories on landscape component #jira UE-56347 Change 3994626 by JohnHenry.Carawon Updated Movie Rendering Test Content. - Fixed the overridden spawnables to their proper object types. Change 3994653 by Christina.TempelaarL Sequencer: Added Final Cut Pro 7 XML Import functionality, improved Export functionality #jira UESEQ-358 Change 3995609 by Max.Chen UMG: Add support for 2d transform mask (translation, rotation, scale, shear) #jira UE-52951 Change 3995778 by JohnHenry.Carawon Movie Rendering Test Content Updates - Adjusted Lights example - Adjusted Camera example - Added Marcie sublevel back in Change 3995942 by JohnHenry.Carawon QAGame: Moving Movie Rendering test content from Developer folder to Sequencer folder Also adjusted level visibility, lights and camera example. Change 3995993 by Christina.TempelaarL Sequencer: FCPXML Export updates - only export sections if in playback range and media exists, warn if media does not exist. Other updates - removed unused methods and variables, fixed message context naming to be more accurate #jira UESEQ-358 Change 3996595 by andrew.porter QAGame: Updating Marcie content in TrackEvaluation level to use Image Plate Change 3996614 by andrew.porter QAGame: Adding color test sequence to the sublevel Change 3996643 by Max.Chen Sequencer: Fix fbx animation export - rotation and scale channels were flipped. #jira UE-57509 #jira UE-57512 #jira UE-57514 Change 3996652 by Max.Preussner Messaging: Fixed delayed messaging using incorrect current time after message router sleep Based on https://github.com/EpicGames/UnrealEngine/pull/4601 Change 3996801 by Max.Chen Sequencer: Fix folder active state for non key area sections. Look at track node sections as well as key areas. #jira UE-57550 Change 3997098 by Matt.Hoffman Cleaned up some remaining ToDo's in STimeRange. Change 3998339 by Max.Preussner Sockets: Added documentation for socket receive functions Change 3998359 by Max.Preussner MediaUtils: Started to implement media recorder helper class Currently only supports BGRA frames in CPU memory. Supporting other formats and buffer types will require conversions on render-thread. I recommend refactoring out the existing conversion code in FMediaTextureResource into a reusable helper class in the MediaUtils module. This should be a good starting point though. Change 3998417 by Matt.Hoffman Keys and Sections can now be moved at the same time inside of Sequencer. Keys can now snap to Sections (and vice versa) instead of just to other Keys. Sections can now be duplicated like keys can. #jira UE-56995 Change 3998427 by JohnHenry.Carawon QAGame: Updating test content for the Movie Rendering feature. - Added an auto activate particle to the beginning of the sequence (it's not part of the sequence at all) - Added an event receiver blueprint to the Events example - Added a particle emitter to both sublevels - Added a camera cut to the end that switches to a separate camera - The camera zoom in, focus and Look At sections are all separate (not overlapping in the sequence) - Added a second actor for the camera Look At - Added a Visibility section for the Actor Hidden In Game track that has possessable and spawnable cube and light Change 3998537 by Max.Chen Sequence Recorder: Restore immersive mode when stopping the sequence even if not in PIE. #jira UE-56407 Change 3999809 by Matt.Hoffman Removed the "Go To" box from Sequencer and instead placed the current time as an always visible control. The previous shortcut (Ctrl + G) now focuses the new widget directly. #jira UESEQ-376 Change 4000543 by Christina.TempelaarL Sequencer: Moving editor-only code from runtime module MovieSceneCapture to editor module MovieSceneTools. Moved EDL and FCP XML exporters as well as Automated Level Scene Capture. #jira UESEQ-358 Change 4000706 by Matt.Hoffman Entering multiple time strings without a number no longer crashes Sequencer. #jira UE-57672 Change 4001051 by andrew.porter MediaFrameworkTest: Fixing up some image sources pointing to the wrong location Change 4001191 by andrew.porter QAGame: Adding some quick EDL/XML test content to dev folder Change 4001243 by Max.Chen Sequencer: Fix import EDL out of range. #jira UE-57665 Change 4001856 by Matt.Hoffman Selecting keys and sections at the same time now also works with animation and audio sections. #jira UE-57716 Change 4002021 by Max.Chen Sequence Recorder: Fix sequence name incrementing. If external recording sets the sequence name, use it. Otherwise, use the recording name from the recording group or the recording settings. #jira UE-57712 Change 4002618 by Max.Chen Viewport: Update the look at location when updating to a locked actor. This fixes an issue so that popping the view out of a locked actor and manipulating the view will not jump to the previous look at location. #jira UE-57725 Change 4002979 by Matt.Hoffman Fixes several edge cases with the end time range that was causing confusion about what the last frame of the sequence was. Dragging the End Frame slider will no longer be off by one tick and jumping to the end via the UI controls now properly respects snapping and stays inside the play range instead of falling outside of it. Overall behavior does not change though and End Frame should be considered an exclusive frame so that frames 0-150 results in a 150 frame long animation (which is frames 0-149). #jira UE-56367 Change 4003185 by Matt.Hoffman Fixed a regression that prevented a section from being dragged upwards past row 0 which normally resulted in all other rows moving down. #jira UE-57717 Change 4003193 by JohnHenry.Carawon QAGame: Updates to test content - Shortened frames between the examples from 95 to 30 - Separated camera setting tracks - Lighting example now switches directly from constant red - green - blue Change 4003369 by Max.Chen Sequence Recorder: Refresh next sequence regardless of internally stored sequence name. #jira UE-55757 Change 4003586 by JohnHenry.Carawon QAGame: Test Content Updates - Level Visibility track now ends to that the levels are not visible when we move to the next example - Shortened camera section, removed Z tranform so that we just move left to right and shortened the overall length Change 4004414 by Max.Chen Movie Scene Capture: Fix regression where rendering with shot handles would only render the first shot. 3972166 addressed an issue where an extra frame would be rendered by finalizing right when the end frame was reached. This was hit on the first shot end frame, so instead, do this only for when the last shot is being rendered. #jira UE-57314 Change 4004765 by Christina.TempelaarL Sequencer: Fixed bugs in FCP XML import/export. - Export: fixed sequence default resolution. - Export: fixed XML files with no shots. - Export: all sections clipped to playback range. - Export: fixed incorrect section start/end times due to precision issues. - Import: fixed incorrectly adding cinematic tracks. - Import: fixed bugs creating new sections. #jira UE-57660 #jira UE-57662 #jira UE-57655 #jira UE-57761 Change 4005119 by Max.Chen Sequencer: Export/import at play rate Change 4005195 by Max.Chen UMG: Finish UMG evaluation on stop. Added object version so that existing UMG assets do not change. #tests - Newly created UMG animation with sections set to restore state now return to their original state. Existing UMG animations with sections set to restore state do not return to their original state. #jira UE-52285 Change 4005377 by Michael.Karambelas QAGame: Moving TM-SequenceRecorder and related content out of my developer folder and into /Content/Sequencer/SequencerRecorder/* Change 4005417 by Michael.Karambelas QAGame: Fixed a BP compiler in the Level Blueprint of TM-SequencerRecorder. Change 4005634 by Michael.Karambelas QAGame: Fix up missing content and broken level sequence in TM-SequenceRecorder after move Change 4006324 by Max.Chen Sequencer: Reset if the focused movie scene is null. This fixes a crash if the user is focused in on a shot and undo takes the user past the point of where the shot was created. #jira UE-57752 #jira UE-47661 Change 4007006 by Max.Chen Sequencer: Fix FindAvailableRowIndex so that it returns the max row index (and not +1) since it doesn't find any conflicting rows. #jira UE-57717 Change 4007907 by Max.Chen Sequencer: Fix crash if there's no animation Change 4007948 by andrew.porter QAGame: added test content to dev folder for Record World Space Change 4008636 by Max.Chen Sequencer: Fix import fbx not setting values properly and creating additional cameras unncessarily. #jira UE-57864 Change 4008759 by Max.Chen Sequencer: Follow up fix for import cameras #jira UE-57864 Change 4009994 by Matt.Hoffman Dragging the left or right handles of the Time Range slider in Sequencer will now zoom your view in on the current center of the screen. This prevents the view from being translating as you tried to zoom in which caused issues at high zoom levels. #jira UESEQ-407 Change 4010169 by Christina.TempelaarL Sequencer: FCP XML fixes. - FCP XML export - no longer clips to playback range - FCP XML and EDL export - fixed missing last frame of some sections after exporting to Premiere. - Automated level capture, EDL export - use RoundToFrame instead of FloorToFrame for computing section start/end frames after frame rate conversion. #jira UE-57802 - partial fix, movie scene capture still needs to render full section rather than clip against playback. Change 4010287 by Mike.Zyracki Add quaternion interpolation option to UMovieScene3DTransformSection. This mimics how Matinee used to work by bascially finding the keys between a time and interpolating the angles as quat's between them. As noted in the code the algorithm needs to handle the case when the x,y,z Rotation keys all aren't at the same time which was not handled by Matinee. Also like Matinee, when in quaternion interoplation mode, we need to not display the function cuves since the interpolated and key values are now all different. (Would like to show them but that's a bigger refactor for perhaps just a one off needed by quaternions). I added a virtual function UMovieSceneSection::ShowCurveForChannel for this since it needs to be dynamic, not on construction of IKeyArea's, and could be useful for other sections. I could though move the method to just UMovieScene3DTransformSection and do a cast instead. Looked into doing a unit test for this but after talking with Andrew P we will work on doign an automated test in EngineQA since that will provide more coverage. Will also add a video the jira. #jira UESEQ-403 Change 4010713 by Mike.Zyracki Added option to key a group of transform channels instead of just the changed channel, or all of them. This is useful for quaternion interpolations where you want rotation keys to be aligned but also useful for other workflows like animating FK Pose to Pose. Change 4010715 by Andrew.Porter MediaFrameworkTest: Setting LogMediaUtils logging from VeryVerbose to Verbose to cut back on the spam Change 4013048 by Max.Chen Sequencer: Fix play/jump status. Update the player status for all position methods (Scrub, Jump, Play). Jump means Stopped. Correctly use PlayTo or JumpTo based on position method. In PlayInternal, JumpTo with the Stopped state (rather than playing state). #jira UE-57844 Change 4013479 by andrew.porter QAGame: Added content in TM-SequenceRecorder to test recording a property on a Cine Camera Component; Press 3 to trigger manual focus distance to increment on a timer Change 4014323 by Max.Chen Sequencer: Fix SetPlaybackPosition so that it jumps or plays based on playback status. #jira UE-57844 Change 4015888 by Max.Chen Sequencer: Fix crash on paste. UMovieSceneSections were gathered from the track node's track. For sub track mode, we want to gather only those sections on that track node row. #jira UE-57951 Change 4015943 by Max.Chen Sequencer: Fix moving shots up when the mouse pos goes outside of the virtual track area. #jira UE-57717 Change 4016293 by Max.Chen Sequencer: Fix relative frame playback end frame calculation so that custom start/end frames remain in the space of the sequence and are not relative. #jira UE-57308 Change 4017075 by Andrew.Rodham Sequencer: Corrected initial evaluation range used when calling UMovieSceneSequencPlayer::Play() Change 4017270 by Christina.TempelaarL Sequencer: FCPXML importer and movie scene capture - Use CeilToFrame when converting section start/end frame times to frame numbers in FCPXML and movie scene capture. - Added support for clip metadata in FCPXML. - Got rid of redundant TokenizedError message class, no longer needed now that FCPXML is in editor directory. - Added log messages currently commented out due to exception, still testing. #UESEQ-358 Change 4018370 by Christina.TempelaarL Sequencer: fixed FCPXML log messages regarding sections with start/end not divisible by display rate. #UESEQ-358 Change 4018378 by Christina.TempelaarL Sequencer: fixed error in previous changelist. #UESEQ-358 Change 4019457 by Max.Chen Sequencer: Show event names only when the event track is selected #jira UE-57897 Change 4022806 by Max.Chen Sequencer: Fix crash on movie scene capture dialog shutdown if movie capture wasn't even started. #jira UE-58106 Change 4022894 by Max.Chen Sequence Recorder: Wrap OpenEditorForAssets after sequence recording within GIsEditor #jira UE-58084 Change 4024487 by Max.Chen Sequencer: Add tooltip for quat interpolation #jira UE-58113 Change 4024562 by Max.Chen Sequencer: Change path/attach track sequence binding id to currently focused sequence id so that bindings can be created in subsequences Change 4027414 by JohnHenry.Carawon QAGame: Checking in content that shows a bug with using particles systems and Delay Before Shot Warm Up. Change 4028990 by Max.Chen Sequencer: Fix evaluate sub sequences in isolation. This check was added with the compile on the fly logic. Not sure why it was necessary but it seems like the sub sequence data needs to be updated in order to evaluate sub sequences in isolation. #jira UE-58184 Change 4029004 by Max.Chen Sequencer: Ensure that old binding references are removed when re-assigning actors in sequencer #jira UE-57898 Change 4030997 by JohnHenry.Carawon QAGame: Fixing name of the master sequence Change 4031785 by Michael.Karambelas QAGame: Added an instance of ThirdPerson Run to TM-SequenceRecorder for Record to Possessable test. Change 4035548 by Andrew.Rodham Sequencer: Changed FMovieSceneEvaluationTemplate::TemplateSignature to be a serial number to address non-deterministic cooking issues - This commit is related to the repro steps found in 3914599 and 3934307, both of which have been verified with this new change. - Copy of 4031684 from //Fortnite/Main/... #jira FORT-84852 Change 4036312 by Max.Chen Sequencer: Fix zoom view range so that it uses the passed in InZoomDelta Change 4036318 by Max.Chen Sequencer: Auto size now returns a range and defaults to the channel proxy range so that keyed regions can also be autosized. Change 4036322 by Max.Chen Forgot missing change Change 4036360 by Max.Chen Sequencer: Fix play rate calculation when skeletal animation section play rate changes. Change 4037163 by Mike.Zyracki Weighted Tangent Implementation Tricky thing is that you need to solve a cubic in order to get the bezier weights for the time part of the curve. See https://www.gamedev.net/forums/topic/474094-help-function-curves-for-animation-interpolation/ Maya provides an implementation in it's dev kit but I didn't use it since it was horribly slow and uses an iterative solution to solve the cubic needed. Instead I use an old algorithm (Cardano's method), to solve the cubic which should be much faster. Though relative simple to code from principles I just went ahead and used a version from Graphics Gems 1. I put this cubic solver directly in MovieSceneFloatChannel.cpp, but will need to move it when we support Rich Curve, maybe to FMath:: (which would probalby require some other functions for solving quartics, etc.. for completeness.). Also note we resolve this on every evaluation but dont' need to if the interval the time is evaluating hasn't had any change in values or tangents. So again when we support FRichCurve we can create a Weighted Evaluating class that can hold the cache. Also with the tangent drags I got rid of the Cardinal position that was used to calculate non-weight tangents from the key point and just quickly getting a direction. With weighted tangents we need to use the delta instead (otherwise when moving multiple they would all get the same weight based upon distance to the cardinal point. ) For mixed tangents types what I'm defaulting to non weighted if the interval doesn't match. May need to do weighted instead, not sure. What's left is just FBX import, for tomorrow. #jira UESEQ-76 Change 4037435 by Mike.Zyracki Fix fo build warnings from weighted tangent submission. #trivial Change 4038091 by Michael.Karambelas QAGame: Updated a Sequence Recorder group in TM-SequenceRecorder that had an actor missing the animation. Change 4038374 by Andrew.Rodham Sequencer: Refined scrubber styling for level sequences and actor sequences - Scrubber now shows a block the width of a dsplay rate frame, plus a line for the actual evaluated time. UMG reverts back to the previous styling (no block) - Keys that are outside of the playback range are now drawn with a subdued effect - Tick labels are no longer drawn when directly underneath the scrubber Change 4038490 by Max.Chen Sequencer: Expose tangent weight values in details panel. Change 4038620 by Andrew.Rodham Sequencer: Advanced time panel polish #jira UESEQ-426 Change 4038677 by Max.Chen Movie Scene Capture: Redirector for MovieSceneTools.AutomatedLevelSequenceCapture #jira UE-58248 Change 4039739 by Max.Chen Sequencer: Media track should only be supported by Level Sequence Change 4040024 by JohnHenry.Carawon QAGame: Fix EventReciever and OverrideBinding example The level sequence was set to none so the fix was to set it back to TrackEvaluation_Master. Change 4040610 by Andrew.Rodham Curve Editor: Moved weighted tangent switchers to a single toggle command (CTRL+W) and added an icon #jira 58383 Change 4040882 by Mike.Zyracki Keep broken when turning on weighted #jira UE-58435 Change 4041089 by andrew.porter QAGame: Sequence for Long Tangents bug Change 4041498 by Mike.Zyracki Turn off weighted when going auto to prevent large tangents. Do it both in UI and when doing AutoSetTangents() to really make sure it doesn't happen. #jira UE-58452 Change 4041752 by andrew.porter MediaFrameworkTest: Adding some better logging for setting rates when not supported. Also ignoring commiting URL when there is no text Change 4041896 by Matt.Hoffman The transform dialog box now transforms selected keys and sections, instead of just keys. #jira UE-58265 [CL 4044405 by Max Chen in Main branch]
2018-05-02 10:10:00 -04:00
TRange<FFrameNumber> PlaybackRange = TimeSliderArgs.PlaybackRange.Get();
FFrameRate TickResolution = GetTickResolution();
const float PlaybackRangeL = RangeToScreen.InputToLocalX(PlaybackRange.GetLowerBoundValue() / TickResolution);
const float PlaybackRangeR = RangeToScreen.InputToLocalX(PlaybackRange.GetUpperBoundValue() / TickResolution) - 1;
FSlateDrawElement::MakeBox(
OutDrawElements,
LayerId+1,
AllottedGeometry.ToPaintGeometry(FVector2D(PlaybackRangeL, 0.f), FVector2D(Args.BrushWidth, AllottedGeometry.Size.Y)),
Args.StartBrush,
ESlateDrawEffect::None,
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3178529) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3149443 on 2016/10/03 by Max.Preussner MediaAssets: Better parameter names for MediaPlayer BP functions Change 3149756 on 2016/10/03 by Max.Chen Sequence Recorder: Set some settings to be clamped at 0 (sequence length, recording delay, audio gain, audio input buffer size, nearby actor recording proximity) #jira UE-35233 Change 3149795 on 2016/10/03 by Max.Chen Curve Editor: Set tangent to user when flattening or straightening tangents only when the tangent mode is auto and the interp mode is cubic. #jira UE-36734 Change 3150378 on 2016/10/04 by Max.Preussner PS4Media: Made video buffer sizes for file and HLS sources configurable (UE-36807) #jira UE-36807 Change 3151414 on 2016/10/05 by Max.Chen Sequencer: Fix case where restoring the last view target was getting skipped. It should always restore if the camera object and the unlock if camera actor object is null. #jira UE-35285 Change 3152038 on 2016/10/05 by Max.Preussner UdpMessaging: Code & documentation modernization pass Change 3152471 on 2016/10/05 by Max.Chen Cine Camera: Don't enable/disable actor ticking based soley on actor tracking since actor ticking is needed for other purposes. Instead, always enable actor ticking and only update actor tracking on tick if necessary. This fixes a bug where the cine camera actor won't tick if you hook in event tick. #jira UE-36625 Change 3152692 on 2016/10/05 by Max.Preussner Messaging: API code & documentation modernization pass Mostly removed shared pointer/ref typedefs as they prevent forward declarations and increase include complexity. Change 3153824 on 2016/10/06 by Max.Preussner Messaging: Renamed IConnectionBasedMessagingModule to ITcpMessagingModule and moved it into TcpMessaging I recommend that we refactor this API. The dependency should be reversed, i.e. instead of AndroidDeviceDiscovery depending on the TcpMessaging plug-in module, the Engine should provide a central registry that device discovery modules can notify, and that message transport plug-ins can register with and listen to OnConnectionAdded/Removed events etc. That way it supports an arbitrary number of transport plug-ins, and the Engine is not coupled to any of them. This functionality is not necessarily related to messaging, and the Messaging API is transport agnostic anyway. I'll think about this some more. Change 3153826 on 2016/10/06 by Max.Preussner Messaging: Removed remaining typedefs in IMessageTracer to enable forward declaration and reduce include dependencies Change 3153857 on 2016/10/06 by Max.Chen Sequencer: Set snap time to dragged key on by default. Change 3153980 on 2016/10/06 by Max.Preussner SessionServices: Removed typedefs; code and documentation modernization pass Change 3154313 on 2016/10/06 by Max.Chen Sequencer: Set the paste keys time to the current time, rather than the mouse time. Change 3154332 on 2016/10/06 by Max.Chen Sequencer: Remove click to rename shot functionality in the shot thumbnail. Added rename shot to the shot context menu. Change 3154377 on 2016/10/07 by Max.Chen Sequencer: Add ability to step to beginning and ends of sections/shots using the hotkeys: , and . Change 3154788 on 2016/10/07 by Max.Chen Sequencer: Fix offsets that created when moving multiple sections. The offsets were being created because section bounds were being generated for all sections except for the current section. Instead, they should be computed for all sections except for any that aren't being moved. #jira UE-29152 Change 3159274 on 2016/10/11 by Max.Preussner Core: Documentation fixes Change 3159275 on 2016/10/11 by Max.Preussner UdpMessaging: Added missing header Change 3160746 on 2016/10/12 by Max.Preussner MediaAssets: Added BP functions to query width, height, and aspect ratio of UMediaTexture instances #jira UE-37241 Change 3160975 on 2016/10/12 by Max.Preussner PS4Media: Better logging for SetRate failures Change 3160995 on 2016/10/12 by Max.Preussner MediaPlayerEditor: Fixed Media player selection is ignored if media specifies player overrides (UE-37248) #jira UE-37248 Change 3161066 on 2016/10/12 by Max.Preussner PS4Media: Enforcing minimum 8 byte alignment for media allocations Change 3161069 on 2016/10/12 by Max.Preussner PS4Media: Fixed log spam when setting play rate to current rate Change 3162567 on 2016/10/13 by Max.Preussner PS4Media: Made track switching code more readable Change 3163447 on 2016/10/14 by Max.Preussner PS4Media: Fixed array out of bounds assertions Change 3163772 on 2016/10/14 by Max.Preussner MfMedia: Fixed a number of timing related issues Change 3163980 on 2016/10/15 by Max.Chen Sequencer: Remove folder name numeric padding so that the naming convention is similar to creating objects in the level. Change 3164581 on 2016/10/17 by Andrew.Rodham Sequencer: Ensure global pre-animated state is restored in reverse order Change 3164582 on 2016/10/17 by Andrew.Rodham Sequencer: Ensure pre animated state is restored for all actor components before saving default state Change 3164583 on 2016/10/17 by Andrew.Rodham Sequencer: Re-enabled support for pre and post roll Change 3165464 on 2016/10/17 by Max.Chen Sequencer: Default number frame handles to 0 so that there's no change in behavior when rendering out a master sequence of shots. Handle frames need to enabled explicitly by the user. Copy from Release-4.14 #jira UE-37416 Change 3165483 on 2016/10/17 by Max.Chen Sequencer: Enable restore state for attach section completion Change 3165771 on 2016/10/18 by Andrew.Rodham Sequencer: Force evaluate when rendering thumbnails #jira UE-37321 Change 3166057 on 2016/10/18 by Andrew.Rodham Sequencer: Only set defaults for tracks that have no keys, and where the requested default has changed #jira UE-37285 Change 3166218 on 2016/10/18 by Max.Preussner MediaPlayerEditor: Failure opening media, even though it opened successfully (UE-37470) #jira UE-37470 Change 3166247 on 2016/10/18 by Max.Preussner WmfMedia: Showing progress bar while media is being resolved Change 3166289 on 2016/10/18 by Max.Preussner MfMedia: Showing progress bar while media is being resolved Change 3166993 on 2016/10/18 by Max.Preussner MfMedia: Fixed info string not reset on media close. Change 3166999 on 2016/10/19 by Max.Preussner Media: Fixed NV12 and NV21 support Change 3167008 on 2016/10/19 by Max.Preussner Media: Removed vertical NV12 alignment Change 3167029 on 2016/10/19 by Max.Preussner WmfMedia: Temp fix for RGB32 encoded AVIs rendering upside-down and too bright (UE-37505) #jira UE-37505 Change 3168593 on 2016/10/19 by Max.Chen Sequencer: Change paste at time to local time, so that the paste happens in the local time of the sequence rather than the global time if pasting in a shot level sequence. Change 3168626 on 2016/10/19 by Max.Chen Sequencer: Clamp to view bounds should snap to frame if frame snapping is on. Change 3168627 on 2016/10/19 by Max.Chen Sequencer: Initialize working and view range to be 10% larger than playback range. Change 3168760 on 2016/10/20 by Max.Preussner Media: Revamped media texture buffer management to support padded frames Added support for Windows bitmap buffers. Fixed a number of format, conversion and/or looping issues in WmfMedia and MfMedia. Not all shaders have been updated yet. Change 3169640 on 2016/10/20 by Max.Chen Sequencer: Add current camera to FLevelSequencePlayerSnapshot. Adjust DefaultBurnIn to include a few more parameters like focal length and focus distance. #jira UE-37407 Change 3170677 on 2016/10/21 by Max.Chen Movie Scene Capture: Add toggle to override engine scalability settings to cinematic scalability. #jira UE-36560 Change 3170710 on 2016/10/21 by Max.Preussner Media: Optimized handling of RGB input Change 3170712 on 2016/10/21 by Max.Preussner Media: Fixed NV21 conversion shader scaling Change 3170923 on 2016/10/21 by Max.Preussner UBT: Copied XboxOne project generator fix from Fortnite CL# 3170868 Change 3171494 on 2016/10/23 by Max.Chen Sequencer: Fix fbx export from master sequence not finding bound objects. #jira UE-35752 Change 3171506 on 2016/10/23 by Max.Chen Sequencer: Draw where in and out points of the shot section are, just like subsequences do. Change to only draw the green starting line if StartOffset is negative. #jira UE-35473 Change 3171743 on 2016/10/24 by Andrew.Rodham Editor: Added support for detail customizations on root structs - Also added the ability to add external struct data onto a detail category builder, and property type customization. Change 3171752 on 2016/10/24 by Andrew.Rodham Sequencer: Fixed spawnable ownership - Spawnables are no longer destroyed when the cursor leaves the master playback range. - Spawnable ownership now operates as it previously did before the evaluation rework. - bIgnoreOwnershipInEditor has been removed since its existence was a work around for when we didn't evaluate sub sequences from the master sequence. - FMovieSceneSequenceID is now a struct so that it can be used in array properties - Meta data now exists for each segment of an evaluation field. Currently this only includes the sub sequence IDs that exist at that time, but it may be expanded to include all evaluation entities (tracks + sections) in future so we don't have to calculate that at runtime. Change 3171756 on 2016/10/24 by Andrew.Rodham Sequencer: Added ability to trigger events with parameters - It's now possible to supply an event payload on event track keys which are to be passed to a given event. The structure must match the signature of the event, or a warning will be emitted. - Added a templated TGenericKeyArea, TKeyFrameManipulator and TCurveInterface that allow to generic manipulation of keyframe section data. In time we will port the other key areas over to this representation. - This new architecture affords the common manipulation of time-based keyframes in a value-agnostic manner. Change 3172935 on 2016/10/24 by Max.Preussner MediaPlayerEditor: Fixed MediaPlayer asset not being dirtied when creating media sound wave or texture for it Change 3173947 on 2016/10/25 by Max.Preussner SlateRemote: Disabled plug-in, but enabled server by default Change 3174510 on 2016/10/26 by Max.Chen Sequencer: Fix slomo track crash #jira UE-37802 Change 3174698 on 2016/10/26 by Andrew.Rodham UMG: Fixed objects bound to a panel slot animating their slot's content instead of the slot itself #jira UE-37775 Change 3174780 on 2016/10/26 by Max.Preussner MediaAssets: Accepting decoder defined buffer dimensions for RGB buffers Change 3174789 on 2016/10/26 by Max.Preussner MediaPlayerEditor: Showing desired player name instead of current player name if no media loaded Change 3174817 on 2016/10/26 by Max.Preussner WmfMedia: Added support for Motion JPEG (MJPG) Change 3174825 on 2016/10/26 by Max.Preussner WmfMedia: Added support for non-RGB32 uncompressed formats Change 3174834 on 2016/10/26 by Max.Preussner MediaPlayerAssets: Allow pausing while buffering media Change 3174886 on 2016/10/26 by Andrew.Rodham Core: Fixed range test that was testing incorrect behavior Change 3174889 on 2016/10/26 by Andrew.Rodham Sequencer: Fixed AssignActor behavior - Also ensure that cached object state is invalidated when playback context changes #jira UE-37798 Change 3174905 on 2016/10/26 by Andrew.Rodham Sequencer: Changed assert when failing to create an audio component to a log message - Audio no longer plays when GEngine->UseSound() is false #jira UE-37772 Change 3174980 on 2016/10/26 by Andrew.Rodham Sequencer: Remove warning when event endpoint could not be found for a given context #jira UE-37824 Change 3175001 on 2016/10/26 by Andrew.Rodham Sequencer: Evaluate sequence with EMovieScenePlaybackStatus::Jumping on Pause. - Also protect Pause() against reentrancy when being called from an event Change 3175012 on 2016/10/26 by Max.Chen Sequence Recorder: Fixes an empty working and view range after recording. On StopRecording() update playback range after nullifying the current sequence so that the playback range isn't empty. Added SetViewRange and SetWorkingRange. #jira UE-34191 Change 3177760 on 2016/10/28 by Max.Chen Sequence Recorder: Don't update the current sequence name if it's already set. This fixes a bug where if you pass in a sequence name to record to, it gets reset to the name in the sequence recorder settings. #jira UE-37808 Change 3178529 on 2016/10/28 by Max.Chen Matinee to Level Sequence: Added interface to extend the matinee to level sequence converter #jira UE-37328 #2864 [CL 3178562 by Max Chen in Main branch]
2016-10-28 15:04:38 -04:00
FColor(32, 128, 32, OpacityBlend) // 120, 75, 50 (HSV)
);
FSlateDrawElement::MakeBox(
OutDrawElements,
LayerId+1,
AllottedGeometry.ToPaintGeometry(FVector2D(PlaybackRangeR - Args.BrushWidth, 0.f), FVector2D(Args.BrushWidth, AllottedGeometry.Size.Y)),
Args.EndBrush,
ESlateDrawEffect::None,
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3178529) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3149443 on 2016/10/03 by Max.Preussner MediaAssets: Better parameter names for MediaPlayer BP functions Change 3149756 on 2016/10/03 by Max.Chen Sequence Recorder: Set some settings to be clamped at 0 (sequence length, recording delay, audio gain, audio input buffer size, nearby actor recording proximity) #jira UE-35233 Change 3149795 on 2016/10/03 by Max.Chen Curve Editor: Set tangent to user when flattening or straightening tangents only when the tangent mode is auto and the interp mode is cubic. #jira UE-36734 Change 3150378 on 2016/10/04 by Max.Preussner PS4Media: Made video buffer sizes for file and HLS sources configurable (UE-36807) #jira UE-36807 Change 3151414 on 2016/10/05 by Max.Chen Sequencer: Fix case where restoring the last view target was getting skipped. It should always restore if the camera object and the unlock if camera actor object is null. #jira UE-35285 Change 3152038 on 2016/10/05 by Max.Preussner UdpMessaging: Code & documentation modernization pass Change 3152471 on 2016/10/05 by Max.Chen Cine Camera: Don't enable/disable actor ticking based soley on actor tracking since actor ticking is needed for other purposes. Instead, always enable actor ticking and only update actor tracking on tick if necessary. This fixes a bug where the cine camera actor won't tick if you hook in event tick. #jira UE-36625 Change 3152692 on 2016/10/05 by Max.Preussner Messaging: API code & documentation modernization pass Mostly removed shared pointer/ref typedefs as they prevent forward declarations and increase include complexity. Change 3153824 on 2016/10/06 by Max.Preussner Messaging: Renamed IConnectionBasedMessagingModule to ITcpMessagingModule and moved it into TcpMessaging I recommend that we refactor this API. The dependency should be reversed, i.e. instead of AndroidDeviceDiscovery depending on the TcpMessaging plug-in module, the Engine should provide a central registry that device discovery modules can notify, and that message transport plug-ins can register with and listen to OnConnectionAdded/Removed events etc. That way it supports an arbitrary number of transport plug-ins, and the Engine is not coupled to any of them. This functionality is not necessarily related to messaging, and the Messaging API is transport agnostic anyway. I'll think about this some more. Change 3153826 on 2016/10/06 by Max.Preussner Messaging: Removed remaining typedefs in IMessageTracer to enable forward declaration and reduce include dependencies Change 3153857 on 2016/10/06 by Max.Chen Sequencer: Set snap time to dragged key on by default. Change 3153980 on 2016/10/06 by Max.Preussner SessionServices: Removed typedefs; code and documentation modernization pass Change 3154313 on 2016/10/06 by Max.Chen Sequencer: Set the paste keys time to the current time, rather than the mouse time. Change 3154332 on 2016/10/06 by Max.Chen Sequencer: Remove click to rename shot functionality in the shot thumbnail. Added rename shot to the shot context menu. Change 3154377 on 2016/10/07 by Max.Chen Sequencer: Add ability to step to beginning and ends of sections/shots using the hotkeys: , and . Change 3154788 on 2016/10/07 by Max.Chen Sequencer: Fix offsets that created when moving multiple sections. The offsets were being created because section bounds were being generated for all sections except for the current section. Instead, they should be computed for all sections except for any that aren't being moved. #jira UE-29152 Change 3159274 on 2016/10/11 by Max.Preussner Core: Documentation fixes Change 3159275 on 2016/10/11 by Max.Preussner UdpMessaging: Added missing header Change 3160746 on 2016/10/12 by Max.Preussner MediaAssets: Added BP functions to query width, height, and aspect ratio of UMediaTexture instances #jira UE-37241 Change 3160975 on 2016/10/12 by Max.Preussner PS4Media: Better logging for SetRate failures Change 3160995 on 2016/10/12 by Max.Preussner MediaPlayerEditor: Fixed Media player selection is ignored if media specifies player overrides (UE-37248) #jira UE-37248 Change 3161066 on 2016/10/12 by Max.Preussner PS4Media: Enforcing minimum 8 byte alignment for media allocations Change 3161069 on 2016/10/12 by Max.Preussner PS4Media: Fixed log spam when setting play rate to current rate Change 3162567 on 2016/10/13 by Max.Preussner PS4Media: Made track switching code more readable Change 3163447 on 2016/10/14 by Max.Preussner PS4Media: Fixed array out of bounds assertions Change 3163772 on 2016/10/14 by Max.Preussner MfMedia: Fixed a number of timing related issues Change 3163980 on 2016/10/15 by Max.Chen Sequencer: Remove folder name numeric padding so that the naming convention is similar to creating objects in the level. Change 3164581 on 2016/10/17 by Andrew.Rodham Sequencer: Ensure global pre-animated state is restored in reverse order Change 3164582 on 2016/10/17 by Andrew.Rodham Sequencer: Ensure pre animated state is restored for all actor components before saving default state Change 3164583 on 2016/10/17 by Andrew.Rodham Sequencer: Re-enabled support for pre and post roll Change 3165464 on 2016/10/17 by Max.Chen Sequencer: Default number frame handles to 0 so that there's no change in behavior when rendering out a master sequence of shots. Handle frames need to enabled explicitly by the user. Copy from Release-4.14 #jira UE-37416 Change 3165483 on 2016/10/17 by Max.Chen Sequencer: Enable restore state for attach section completion Change 3165771 on 2016/10/18 by Andrew.Rodham Sequencer: Force evaluate when rendering thumbnails #jira UE-37321 Change 3166057 on 2016/10/18 by Andrew.Rodham Sequencer: Only set defaults for tracks that have no keys, and where the requested default has changed #jira UE-37285 Change 3166218 on 2016/10/18 by Max.Preussner MediaPlayerEditor: Failure opening media, even though it opened successfully (UE-37470) #jira UE-37470 Change 3166247 on 2016/10/18 by Max.Preussner WmfMedia: Showing progress bar while media is being resolved Change 3166289 on 2016/10/18 by Max.Preussner MfMedia: Showing progress bar while media is being resolved Change 3166993 on 2016/10/18 by Max.Preussner MfMedia: Fixed info string not reset on media close. Change 3166999 on 2016/10/19 by Max.Preussner Media: Fixed NV12 and NV21 support Change 3167008 on 2016/10/19 by Max.Preussner Media: Removed vertical NV12 alignment Change 3167029 on 2016/10/19 by Max.Preussner WmfMedia: Temp fix for RGB32 encoded AVIs rendering upside-down and too bright (UE-37505) #jira UE-37505 Change 3168593 on 2016/10/19 by Max.Chen Sequencer: Change paste at time to local time, so that the paste happens in the local time of the sequence rather than the global time if pasting in a shot level sequence. Change 3168626 on 2016/10/19 by Max.Chen Sequencer: Clamp to view bounds should snap to frame if frame snapping is on. Change 3168627 on 2016/10/19 by Max.Chen Sequencer: Initialize working and view range to be 10% larger than playback range. Change 3168760 on 2016/10/20 by Max.Preussner Media: Revamped media texture buffer management to support padded frames Added support for Windows bitmap buffers. Fixed a number of format, conversion and/or looping issues in WmfMedia and MfMedia. Not all shaders have been updated yet. Change 3169640 on 2016/10/20 by Max.Chen Sequencer: Add current camera to FLevelSequencePlayerSnapshot. Adjust DefaultBurnIn to include a few more parameters like focal length and focus distance. #jira UE-37407 Change 3170677 on 2016/10/21 by Max.Chen Movie Scene Capture: Add toggle to override engine scalability settings to cinematic scalability. #jira UE-36560 Change 3170710 on 2016/10/21 by Max.Preussner Media: Optimized handling of RGB input Change 3170712 on 2016/10/21 by Max.Preussner Media: Fixed NV21 conversion shader scaling Change 3170923 on 2016/10/21 by Max.Preussner UBT: Copied XboxOne project generator fix from Fortnite CL# 3170868 Change 3171494 on 2016/10/23 by Max.Chen Sequencer: Fix fbx export from master sequence not finding bound objects. #jira UE-35752 Change 3171506 on 2016/10/23 by Max.Chen Sequencer: Draw where in and out points of the shot section are, just like subsequences do. Change to only draw the green starting line if StartOffset is negative. #jira UE-35473 Change 3171743 on 2016/10/24 by Andrew.Rodham Editor: Added support for detail customizations on root structs - Also added the ability to add external struct data onto a detail category builder, and property type customization. Change 3171752 on 2016/10/24 by Andrew.Rodham Sequencer: Fixed spawnable ownership - Spawnables are no longer destroyed when the cursor leaves the master playback range. - Spawnable ownership now operates as it previously did before the evaluation rework. - bIgnoreOwnershipInEditor has been removed since its existence was a work around for when we didn't evaluate sub sequences from the master sequence. - FMovieSceneSequenceID is now a struct so that it can be used in array properties - Meta data now exists for each segment of an evaluation field. Currently this only includes the sub sequence IDs that exist at that time, but it may be expanded to include all evaluation entities (tracks + sections) in future so we don't have to calculate that at runtime. Change 3171756 on 2016/10/24 by Andrew.Rodham Sequencer: Added ability to trigger events with parameters - It's now possible to supply an event payload on event track keys which are to be passed to a given event. The structure must match the signature of the event, or a warning will be emitted. - Added a templated TGenericKeyArea, TKeyFrameManipulator and TCurveInterface that allow to generic manipulation of keyframe section data. In time we will port the other key areas over to this representation. - This new architecture affords the common manipulation of time-based keyframes in a value-agnostic manner. Change 3172935 on 2016/10/24 by Max.Preussner MediaPlayerEditor: Fixed MediaPlayer asset not being dirtied when creating media sound wave or texture for it Change 3173947 on 2016/10/25 by Max.Preussner SlateRemote: Disabled plug-in, but enabled server by default Change 3174510 on 2016/10/26 by Max.Chen Sequencer: Fix slomo track crash #jira UE-37802 Change 3174698 on 2016/10/26 by Andrew.Rodham UMG: Fixed objects bound to a panel slot animating their slot's content instead of the slot itself #jira UE-37775 Change 3174780 on 2016/10/26 by Max.Preussner MediaAssets: Accepting decoder defined buffer dimensions for RGB buffers Change 3174789 on 2016/10/26 by Max.Preussner MediaPlayerEditor: Showing desired player name instead of current player name if no media loaded Change 3174817 on 2016/10/26 by Max.Preussner WmfMedia: Added support for Motion JPEG (MJPG) Change 3174825 on 2016/10/26 by Max.Preussner WmfMedia: Added support for non-RGB32 uncompressed formats Change 3174834 on 2016/10/26 by Max.Preussner MediaPlayerAssets: Allow pausing while buffering media Change 3174886 on 2016/10/26 by Andrew.Rodham Core: Fixed range test that was testing incorrect behavior Change 3174889 on 2016/10/26 by Andrew.Rodham Sequencer: Fixed AssignActor behavior - Also ensure that cached object state is invalidated when playback context changes #jira UE-37798 Change 3174905 on 2016/10/26 by Andrew.Rodham Sequencer: Changed assert when failing to create an audio component to a log message - Audio no longer plays when GEngine->UseSound() is false #jira UE-37772 Change 3174980 on 2016/10/26 by Andrew.Rodham Sequencer: Remove warning when event endpoint could not be found for a given context #jira UE-37824 Change 3175001 on 2016/10/26 by Andrew.Rodham Sequencer: Evaluate sequence with EMovieScenePlaybackStatus::Jumping on Pause. - Also protect Pause() against reentrancy when being called from an event Change 3175012 on 2016/10/26 by Max.Chen Sequence Recorder: Fixes an empty working and view range after recording. On StopRecording() update playback range after nullifying the current sequence so that the playback range isn't empty. Added SetViewRange and SetWorkingRange. #jira UE-34191 Change 3177760 on 2016/10/28 by Max.Chen Sequence Recorder: Don't update the current sequence name if it's already set. This fixes a bug where if you pass in a sequence name to record to, it gets reset to the name in the sequence recorder settings. #jira UE-37808 Change 3178529 on 2016/10/28 by Max.Chen Matinee to Level Sequence: Added interface to extend the matinee to level sequence converter #jira UE-37328 #2864 [CL 3178562 by Max Chen in Main branch]
2016-10-28 15:04:38 -04:00
FColor(128, 32, 32, OpacityBlend) // 0, 75, 50 (HSV)
);
// Black tint for excluded regions
FSlateDrawElement::MakeBox(
OutDrawElements,
LayerId+1,
Copying //UE4/Dev-Sequencer to Dev-Main (//UE4/Dev-Main) #lockdown nick.penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2719576 on 2015/10/07 by Chris.Wood Added check for stale BP classes in FKismetCompilerUtilities::IsTypeCompatibleWithProperty() to stop compiler errors during reinstancing. [UE-19795] - UMG Compiler error when adding variable to nested Widget Change 2721474 on 2015/10/08 by Andrew.Rodham Sequencer: Movie render operations now successfully capture UMG UI Change 2724958 on 2015/10/12 by Chris.Wood Added missing resource cleanup code to UMG widgets [UE-21874] - UWIdget classes with missing ReleaseSlateResources() overrides Added ReleaseSlateResources() to ListView, TileView and Slider widgets to reset shared pointers to slate widgets. Change 2733562 on 2015/10/19 by Andrew.Rodham Sequencer: Fixed spawnables not working in sub-sequences - The issue here was that sequence track instance updates had no knowledge of which sub-sequence they were being evaluated within. We now pass the active sequence instance into the relevant track instance functions. - Also addressed some issues to do with save/restore state not getting called correctly on master tracks of sequence instances - Tidied up spawn track editor Change 2735264 on 2015/10/20 by Chris.Wood Improved Engine analytics handling for Editor and games [UE-21892] - Improve how Engine analytics are handled for Editor and games Changes: Added Privacy section to Editor settings Exposed editor analytics flag in Privacy options Added Details Customization to make this type of bool property clearer with extra info and hyperlink Changed AreEditorAnalyticsEnable() to use new flag Prevented analytics init when disabled by user Sending event and shutting down analytics when user opts out Add in-game project setting for anonymous game usage data Renamed and moved bHardwareSurveyEnabled Added message about exposing in-game setting to end users Added anonymous GUID id for in-game analytics Moved end user settings to global config (defaultengine.ini) Placeholder loc text on new options for now, pending legal wording sign-off Change 2735866 on 2015/10/20 by Max.Preussner Async: Added ability to register an optional callback function that is executed when a Future completes Change 2739793 on 2015/10/23 by Andrew.Rodham Sequencer: Refined movie scene capturing to ensure frame accuracies are maintained - Aborting an in-progress capture now gracefully terminates the process (through a remote session command) to ensure it still creates a valid video - Level sequece movie capture will now pick up a corresponding level sequence in the world, and use that to capture with. A new actor will be spawned at runtime with the correct asset, should one not already exist. - Made -nomovie actually work - Refined how active movie captures are managed - Added option to 'stage' a sequence before starting the capture. This feature will set the sequence on its first frame for the preroll, to ensure that PPP effects are allowed time to stabilize Change 2744402 on 2015/10/28 by Max.Preussner Sequencer: Separated track display names from track identifier names; code cleanup Change 2745953 on 2015/10/29 by Max.Chen Sequencer: Attach to socket. Relative attachments. #jira UETOOL-463 Change 2747028 on 2015/10/29 by Max.Preussner Sequencer: Another overhaul of track display name handling; code and documentation cleanup pass. Change 2758888 on 2015/11/09 by Chris.Wood Integrating changes - 4.10 to Dev-Sequencer From 4.10 branch fixes: Added check for debugger present when reporting abnormal termination to analytics. [UE-22844] CL 2750764 Added FSystemWideCriticalSection for desktop platforms. Used by analytics to lock access to editor instances list in the OS. [UE-22844] CL 2753661 Updating wording in privacy settings text. [UE-21892] CL 2753709 Mac and Linux CIS fix [UE-22844] CL 2755381 Change 2761287 on 2015/11/10 by Max.Chen Sequencer: Add null check when updating the UMG preview if the sequencer doesn't exist/has been closed. #jira UE-5206 Change 2764945 on 2015/11/12 by Max.Preussner Core: Templatized TypeContainer implementation to allow for thread-safe objects; updated unit test Also fixes UE-13850 Change 2765036 on 2015/11/12 by Max.Preussner UdpMessaging: Fixed message serialization unit test (UE-22571) #jira: UE-22571 Change 2766149 on 2015/11/13 by Max.Preussner Media: Implemented event that gets triggered when playback reached the end of media Also fixes looping. Change 2768157 on 2015/11/16 by Max.Preussner Media: Added .m4a to supported WMF file extensions Change 2769200 on 2015/11/16 by Max.Chen Editor: Add broadcast messages when snapping objects. #jira UE-22680 Change 2773066 on 2015/11/19 by Chris.Wood Upload crashes from CRC to Data Router [UECORE-249] - Integrate Crash Report Client with the Data Router Upload to Receiver still active as we are running both in parallel for now.
2015-12-11 13:52:32 -05:00
AllottedGeometry.ToPaintGeometry(FVector2D(0.f, 0.f), FVector2D(PlaybackRangeL, AllottedGeometry.Size.Y)),
FEditorStyle::GetBrush("WhiteBrush"),
ESlateDrawEffect::None,
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3178529) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3149443 on 2016/10/03 by Max.Preussner MediaAssets: Better parameter names for MediaPlayer BP functions Change 3149756 on 2016/10/03 by Max.Chen Sequence Recorder: Set some settings to be clamped at 0 (sequence length, recording delay, audio gain, audio input buffer size, nearby actor recording proximity) #jira UE-35233 Change 3149795 on 2016/10/03 by Max.Chen Curve Editor: Set tangent to user when flattening or straightening tangents only when the tangent mode is auto and the interp mode is cubic. #jira UE-36734 Change 3150378 on 2016/10/04 by Max.Preussner PS4Media: Made video buffer sizes for file and HLS sources configurable (UE-36807) #jira UE-36807 Change 3151414 on 2016/10/05 by Max.Chen Sequencer: Fix case where restoring the last view target was getting skipped. It should always restore if the camera object and the unlock if camera actor object is null. #jira UE-35285 Change 3152038 on 2016/10/05 by Max.Preussner UdpMessaging: Code & documentation modernization pass Change 3152471 on 2016/10/05 by Max.Chen Cine Camera: Don't enable/disable actor ticking based soley on actor tracking since actor ticking is needed for other purposes. Instead, always enable actor ticking and only update actor tracking on tick if necessary. This fixes a bug where the cine camera actor won't tick if you hook in event tick. #jira UE-36625 Change 3152692 on 2016/10/05 by Max.Preussner Messaging: API code & documentation modernization pass Mostly removed shared pointer/ref typedefs as they prevent forward declarations and increase include complexity. Change 3153824 on 2016/10/06 by Max.Preussner Messaging: Renamed IConnectionBasedMessagingModule to ITcpMessagingModule and moved it into TcpMessaging I recommend that we refactor this API. The dependency should be reversed, i.e. instead of AndroidDeviceDiscovery depending on the TcpMessaging plug-in module, the Engine should provide a central registry that device discovery modules can notify, and that message transport plug-ins can register with and listen to OnConnectionAdded/Removed events etc. That way it supports an arbitrary number of transport plug-ins, and the Engine is not coupled to any of them. This functionality is not necessarily related to messaging, and the Messaging API is transport agnostic anyway. I'll think about this some more. Change 3153826 on 2016/10/06 by Max.Preussner Messaging: Removed remaining typedefs in IMessageTracer to enable forward declaration and reduce include dependencies Change 3153857 on 2016/10/06 by Max.Chen Sequencer: Set snap time to dragged key on by default. Change 3153980 on 2016/10/06 by Max.Preussner SessionServices: Removed typedefs; code and documentation modernization pass Change 3154313 on 2016/10/06 by Max.Chen Sequencer: Set the paste keys time to the current time, rather than the mouse time. Change 3154332 on 2016/10/06 by Max.Chen Sequencer: Remove click to rename shot functionality in the shot thumbnail. Added rename shot to the shot context menu. Change 3154377 on 2016/10/07 by Max.Chen Sequencer: Add ability to step to beginning and ends of sections/shots using the hotkeys: , and . Change 3154788 on 2016/10/07 by Max.Chen Sequencer: Fix offsets that created when moving multiple sections. The offsets were being created because section bounds were being generated for all sections except for the current section. Instead, they should be computed for all sections except for any that aren't being moved. #jira UE-29152 Change 3159274 on 2016/10/11 by Max.Preussner Core: Documentation fixes Change 3159275 on 2016/10/11 by Max.Preussner UdpMessaging: Added missing header Change 3160746 on 2016/10/12 by Max.Preussner MediaAssets: Added BP functions to query width, height, and aspect ratio of UMediaTexture instances #jira UE-37241 Change 3160975 on 2016/10/12 by Max.Preussner PS4Media: Better logging for SetRate failures Change 3160995 on 2016/10/12 by Max.Preussner MediaPlayerEditor: Fixed Media player selection is ignored if media specifies player overrides (UE-37248) #jira UE-37248 Change 3161066 on 2016/10/12 by Max.Preussner PS4Media: Enforcing minimum 8 byte alignment for media allocations Change 3161069 on 2016/10/12 by Max.Preussner PS4Media: Fixed log spam when setting play rate to current rate Change 3162567 on 2016/10/13 by Max.Preussner PS4Media: Made track switching code more readable Change 3163447 on 2016/10/14 by Max.Preussner PS4Media: Fixed array out of bounds assertions Change 3163772 on 2016/10/14 by Max.Preussner MfMedia: Fixed a number of timing related issues Change 3163980 on 2016/10/15 by Max.Chen Sequencer: Remove folder name numeric padding so that the naming convention is similar to creating objects in the level. Change 3164581 on 2016/10/17 by Andrew.Rodham Sequencer: Ensure global pre-animated state is restored in reverse order Change 3164582 on 2016/10/17 by Andrew.Rodham Sequencer: Ensure pre animated state is restored for all actor components before saving default state Change 3164583 on 2016/10/17 by Andrew.Rodham Sequencer: Re-enabled support for pre and post roll Change 3165464 on 2016/10/17 by Max.Chen Sequencer: Default number frame handles to 0 so that there's no change in behavior when rendering out a master sequence of shots. Handle frames need to enabled explicitly by the user. Copy from Release-4.14 #jira UE-37416 Change 3165483 on 2016/10/17 by Max.Chen Sequencer: Enable restore state for attach section completion Change 3165771 on 2016/10/18 by Andrew.Rodham Sequencer: Force evaluate when rendering thumbnails #jira UE-37321 Change 3166057 on 2016/10/18 by Andrew.Rodham Sequencer: Only set defaults for tracks that have no keys, and where the requested default has changed #jira UE-37285 Change 3166218 on 2016/10/18 by Max.Preussner MediaPlayerEditor: Failure opening media, even though it opened successfully (UE-37470) #jira UE-37470 Change 3166247 on 2016/10/18 by Max.Preussner WmfMedia: Showing progress bar while media is being resolved Change 3166289 on 2016/10/18 by Max.Preussner MfMedia: Showing progress bar while media is being resolved Change 3166993 on 2016/10/18 by Max.Preussner MfMedia: Fixed info string not reset on media close. Change 3166999 on 2016/10/19 by Max.Preussner Media: Fixed NV12 and NV21 support Change 3167008 on 2016/10/19 by Max.Preussner Media: Removed vertical NV12 alignment Change 3167029 on 2016/10/19 by Max.Preussner WmfMedia: Temp fix for RGB32 encoded AVIs rendering upside-down and too bright (UE-37505) #jira UE-37505 Change 3168593 on 2016/10/19 by Max.Chen Sequencer: Change paste at time to local time, so that the paste happens in the local time of the sequence rather than the global time if pasting in a shot level sequence. Change 3168626 on 2016/10/19 by Max.Chen Sequencer: Clamp to view bounds should snap to frame if frame snapping is on. Change 3168627 on 2016/10/19 by Max.Chen Sequencer: Initialize working and view range to be 10% larger than playback range. Change 3168760 on 2016/10/20 by Max.Preussner Media: Revamped media texture buffer management to support padded frames Added support for Windows bitmap buffers. Fixed a number of format, conversion and/or looping issues in WmfMedia and MfMedia. Not all shaders have been updated yet. Change 3169640 on 2016/10/20 by Max.Chen Sequencer: Add current camera to FLevelSequencePlayerSnapshot. Adjust DefaultBurnIn to include a few more parameters like focal length and focus distance. #jira UE-37407 Change 3170677 on 2016/10/21 by Max.Chen Movie Scene Capture: Add toggle to override engine scalability settings to cinematic scalability. #jira UE-36560 Change 3170710 on 2016/10/21 by Max.Preussner Media: Optimized handling of RGB input Change 3170712 on 2016/10/21 by Max.Preussner Media: Fixed NV21 conversion shader scaling Change 3170923 on 2016/10/21 by Max.Preussner UBT: Copied XboxOne project generator fix from Fortnite CL# 3170868 Change 3171494 on 2016/10/23 by Max.Chen Sequencer: Fix fbx export from master sequence not finding bound objects. #jira UE-35752 Change 3171506 on 2016/10/23 by Max.Chen Sequencer: Draw where in and out points of the shot section are, just like subsequences do. Change to only draw the green starting line if StartOffset is negative. #jira UE-35473 Change 3171743 on 2016/10/24 by Andrew.Rodham Editor: Added support for detail customizations on root structs - Also added the ability to add external struct data onto a detail category builder, and property type customization. Change 3171752 on 2016/10/24 by Andrew.Rodham Sequencer: Fixed spawnable ownership - Spawnables are no longer destroyed when the cursor leaves the master playback range. - Spawnable ownership now operates as it previously did before the evaluation rework. - bIgnoreOwnershipInEditor has been removed since its existence was a work around for when we didn't evaluate sub sequences from the master sequence. - FMovieSceneSequenceID is now a struct so that it can be used in array properties - Meta data now exists for each segment of an evaluation field. Currently this only includes the sub sequence IDs that exist at that time, but it may be expanded to include all evaluation entities (tracks + sections) in future so we don't have to calculate that at runtime. Change 3171756 on 2016/10/24 by Andrew.Rodham Sequencer: Added ability to trigger events with parameters - It's now possible to supply an event payload on event track keys which are to be passed to a given event. The structure must match the signature of the event, or a warning will be emitted. - Added a templated TGenericKeyArea, TKeyFrameManipulator and TCurveInterface that allow to generic manipulation of keyframe section data. In time we will port the other key areas over to this representation. - This new architecture affords the common manipulation of time-based keyframes in a value-agnostic manner. Change 3172935 on 2016/10/24 by Max.Preussner MediaPlayerEditor: Fixed MediaPlayer asset not being dirtied when creating media sound wave or texture for it Change 3173947 on 2016/10/25 by Max.Preussner SlateRemote: Disabled plug-in, but enabled server by default Change 3174510 on 2016/10/26 by Max.Chen Sequencer: Fix slomo track crash #jira UE-37802 Change 3174698 on 2016/10/26 by Andrew.Rodham UMG: Fixed objects bound to a panel slot animating their slot's content instead of the slot itself #jira UE-37775 Change 3174780 on 2016/10/26 by Max.Preussner MediaAssets: Accepting decoder defined buffer dimensions for RGB buffers Change 3174789 on 2016/10/26 by Max.Preussner MediaPlayerEditor: Showing desired player name instead of current player name if no media loaded Change 3174817 on 2016/10/26 by Max.Preussner WmfMedia: Added support for Motion JPEG (MJPG) Change 3174825 on 2016/10/26 by Max.Preussner WmfMedia: Added support for non-RGB32 uncompressed formats Change 3174834 on 2016/10/26 by Max.Preussner MediaPlayerAssets: Allow pausing while buffering media Change 3174886 on 2016/10/26 by Andrew.Rodham Core: Fixed range test that was testing incorrect behavior Change 3174889 on 2016/10/26 by Andrew.Rodham Sequencer: Fixed AssignActor behavior - Also ensure that cached object state is invalidated when playback context changes #jira UE-37798 Change 3174905 on 2016/10/26 by Andrew.Rodham Sequencer: Changed assert when failing to create an audio component to a log message - Audio no longer plays when GEngine->UseSound() is false #jira UE-37772 Change 3174980 on 2016/10/26 by Andrew.Rodham Sequencer: Remove warning when event endpoint could not be found for a given context #jira UE-37824 Change 3175001 on 2016/10/26 by Andrew.Rodham Sequencer: Evaluate sequence with EMovieScenePlaybackStatus::Jumping on Pause. - Also protect Pause() against reentrancy when being called from an event Change 3175012 on 2016/10/26 by Max.Chen Sequence Recorder: Fixes an empty working and view range after recording. On StopRecording() update playback range after nullifying the current sequence so that the playback range isn't empty. Added SetViewRange and SetWorkingRange. #jira UE-34191 Change 3177760 on 2016/10/28 by Max.Chen Sequence Recorder: Don't update the current sequence name if it's already set. This fixes a bug where if you pass in a sequence name to record to, it gets reset to the name in the sequence recorder settings. #jira UE-37808 Change 3178529 on 2016/10/28 by Max.Chen Matinee to Level Sequence: Added interface to extend the matinee to level sequence converter #jira UE-37328 #2864 [CL 3178562 by Max Chen in Main branch]
2016-10-28 15:04:38 -04:00
FLinearColor::Black.CopyWithNewOpacity(0.3f * OpacityBlend / 255.f)
);
FSlateDrawElement::MakeBox(
OutDrawElements,
LayerId+1,
AllottedGeometry.ToPaintGeometry(FVector2D(PlaybackRangeR, 0.f), FVector2D(AllottedGeometry.Size.X - PlaybackRangeR, AllottedGeometry.Size.Y)),
FEditorStyle::GetBrush("WhiteBrush"),
ESlateDrawEffect::None,
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3178529) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3149443 on 2016/10/03 by Max.Preussner MediaAssets: Better parameter names for MediaPlayer BP functions Change 3149756 on 2016/10/03 by Max.Chen Sequence Recorder: Set some settings to be clamped at 0 (sequence length, recording delay, audio gain, audio input buffer size, nearby actor recording proximity) #jira UE-35233 Change 3149795 on 2016/10/03 by Max.Chen Curve Editor: Set tangent to user when flattening or straightening tangents only when the tangent mode is auto and the interp mode is cubic. #jira UE-36734 Change 3150378 on 2016/10/04 by Max.Preussner PS4Media: Made video buffer sizes for file and HLS sources configurable (UE-36807) #jira UE-36807 Change 3151414 on 2016/10/05 by Max.Chen Sequencer: Fix case where restoring the last view target was getting skipped. It should always restore if the camera object and the unlock if camera actor object is null. #jira UE-35285 Change 3152038 on 2016/10/05 by Max.Preussner UdpMessaging: Code & documentation modernization pass Change 3152471 on 2016/10/05 by Max.Chen Cine Camera: Don't enable/disable actor ticking based soley on actor tracking since actor ticking is needed for other purposes. Instead, always enable actor ticking and only update actor tracking on tick if necessary. This fixes a bug where the cine camera actor won't tick if you hook in event tick. #jira UE-36625 Change 3152692 on 2016/10/05 by Max.Preussner Messaging: API code & documentation modernization pass Mostly removed shared pointer/ref typedefs as they prevent forward declarations and increase include complexity. Change 3153824 on 2016/10/06 by Max.Preussner Messaging: Renamed IConnectionBasedMessagingModule to ITcpMessagingModule and moved it into TcpMessaging I recommend that we refactor this API. The dependency should be reversed, i.e. instead of AndroidDeviceDiscovery depending on the TcpMessaging plug-in module, the Engine should provide a central registry that device discovery modules can notify, and that message transport plug-ins can register with and listen to OnConnectionAdded/Removed events etc. That way it supports an arbitrary number of transport plug-ins, and the Engine is not coupled to any of them. This functionality is not necessarily related to messaging, and the Messaging API is transport agnostic anyway. I'll think about this some more. Change 3153826 on 2016/10/06 by Max.Preussner Messaging: Removed remaining typedefs in IMessageTracer to enable forward declaration and reduce include dependencies Change 3153857 on 2016/10/06 by Max.Chen Sequencer: Set snap time to dragged key on by default. Change 3153980 on 2016/10/06 by Max.Preussner SessionServices: Removed typedefs; code and documentation modernization pass Change 3154313 on 2016/10/06 by Max.Chen Sequencer: Set the paste keys time to the current time, rather than the mouse time. Change 3154332 on 2016/10/06 by Max.Chen Sequencer: Remove click to rename shot functionality in the shot thumbnail. Added rename shot to the shot context menu. Change 3154377 on 2016/10/07 by Max.Chen Sequencer: Add ability to step to beginning and ends of sections/shots using the hotkeys: , and . Change 3154788 on 2016/10/07 by Max.Chen Sequencer: Fix offsets that created when moving multiple sections. The offsets were being created because section bounds were being generated for all sections except for the current section. Instead, they should be computed for all sections except for any that aren't being moved. #jira UE-29152 Change 3159274 on 2016/10/11 by Max.Preussner Core: Documentation fixes Change 3159275 on 2016/10/11 by Max.Preussner UdpMessaging: Added missing header Change 3160746 on 2016/10/12 by Max.Preussner MediaAssets: Added BP functions to query width, height, and aspect ratio of UMediaTexture instances #jira UE-37241 Change 3160975 on 2016/10/12 by Max.Preussner PS4Media: Better logging for SetRate failures Change 3160995 on 2016/10/12 by Max.Preussner MediaPlayerEditor: Fixed Media player selection is ignored if media specifies player overrides (UE-37248) #jira UE-37248 Change 3161066 on 2016/10/12 by Max.Preussner PS4Media: Enforcing minimum 8 byte alignment for media allocations Change 3161069 on 2016/10/12 by Max.Preussner PS4Media: Fixed log spam when setting play rate to current rate Change 3162567 on 2016/10/13 by Max.Preussner PS4Media: Made track switching code more readable Change 3163447 on 2016/10/14 by Max.Preussner PS4Media: Fixed array out of bounds assertions Change 3163772 on 2016/10/14 by Max.Preussner MfMedia: Fixed a number of timing related issues Change 3163980 on 2016/10/15 by Max.Chen Sequencer: Remove folder name numeric padding so that the naming convention is similar to creating objects in the level. Change 3164581 on 2016/10/17 by Andrew.Rodham Sequencer: Ensure global pre-animated state is restored in reverse order Change 3164582 on 2016/10/17 by Andrew.Rodham Sequencer: Ensure pre animated state is restored for all actor components before saving default state Change 3164583 on 2016/10/17 by Andrew.Rodham Sequencer: Re-enabled support for pre and post roll Change 3165464 on 2016/10/17 by Max.Chen Sequencer: Default number frame handles to 0 so that there's no change in behavior when rendering out a master sequence of shots. Handle frames need to enabled explicitly by the user. Copy from Release-4.14 #jira UE-37416 Change 3165483 on 2016/10/17 by Max.Chen Sequencer: Enable restore state for attach section completion Change 3165771 on 2016/10/18 by Andrew.Rodham Sequencer: Force evaluate when rendering thumbnails #jira UE-37321 Change 3166057 on 2016/10/18 by Andrew.Rodham Sequencer: Only set defaults for tracks that have no keys, and where the requested default has changed #jira UE-37285 Change 3166218 on 2016/10/18 by Max.Preussner MediaPlayerEditor: Failure opening media, even though it opened successfully (UE-37470) #jira UE-37470 Change 3166247 on 2016/10/18 by Max.Preussner WmfMedia: Showing progress bar while media is being resolved Change 3166289 on 2016/10/18 by Max.Preussner MfMedia: Showing progress bar while media is being resolved Change 3166993 on 2016/10/18 by Max.Preussner MfMedia: Fixed info string not reset on media close. Change 3166999 on 2016/10/19 by Max.Preussner Media: Fixed NV12 and NV21 support Change 3167008 on 2016/10/19 by Max.Preussner Media: Removed vertical NV12 alignment Change 3167029 on 2016/10/19 by Max.Preussner WmfMedia: Temp fix for RGB32 encoded AVIs rendering upside-down and too bright (UE-37505) #jira UE-37505 Change 3168593 on 2016/10/19 by Max.Chen Sequencer: Change paste at time to local time, so that the paste happens in the local time of the sequence rather than the global time if pasting in a shot level sequence. Change 3168626 on 2016/10/19 by Max.Chen Sequencer: Clamp to view bounds should snap to frame if frame snapping is on. Change 3168627 on 2016/10/19 by Max.Chen Sequencer: Initialize working and view range to be 10% larger than playback range. Change 3168760 on 2016/10/20 by Max.Preussner Media: Revamped media texture buffer management to support padded frames Added support for Windows bitmap buffers. Fixed a number of format, conversion and/or looping issues in WmfMedia and MfMedia. Not all shaders have been updated yet. Change 3169640 on 2016/10/20 by Max.Chen Sequencer: Add current camera to FLevelSequencePlayerSnapshot. Adjust DefaultBurnIn to include a few more parameters like focal length and focus distance. #jira UE-37407 Change 3170677 on 2016/10/21 by Max.Chen Movie Scene Capture: Add toggle to override engine scalability settings to cinematic scalability. #jira UE-36560 Change 3170710 on 2016/10/21 by Max.Preussner Media: Optimized handling of RGB input Change 3170712 on 2016/10/21 by Max.Preussner Media: Fixed NV21 conversion shader scaling Change 3170923 on 2016/10/21 by Max.Preussner UBT: Copied XboxOne project generator fix from Fortnite CL# 3170868 Change 3171494 on 2016/10/23 by Max.Chen Sequencer: Fix fbx export from master sequence not finding bound objects. #jira UE-35752 Change 3171506 on 2016/10/23 by Max.Chen Sequencer: Draw where in and out points of the shot section are, just like subsequences do. Change to only draw the green starting line if StartOffset is negative. #jira UE-35473 Change 3171743 on 2016/10/24 by Andrew.Rodham Editor: Added support for detail customizations on root structs - Also added the ability to add external struct data onto a detail category builder, and property type customization. Change 3171752 on 2016/10/24 by Andrew.Rodham Sequencer: Fixed spawnable ownership - Spawnables are no longer destroyed when the cursor leaves the master playback range. - Spawnable ownership now operates as it previously did before the evaluation rework. - bIgnoreOwnershipInEditor has been removed since its existence was a work around for when we didn't evaluate sub sequences from the master sequence. - FMovieSceneSequenceID is now a struct so that it can be used in array properties - Meta data now exists for each segment of an evaluation field. Currently this only includes the sub sequence IDs that exist at that time, but it may be expanded to include all evaluation entities (tracks + sections) in future so we don't have to calculate that at runtime. Change 3171756 on 2016/10/24 by Andrew.Rodham Sequencer: Added ability to trigger events with parameters - It's now possible to supply an event payload on event track keys which are to be passed to a given event. The structure must match the signature of the event, or a warning will be emitted. - Added a templated TGenericKeyArea, TKeyFrameManipulator and TCurveInterface that allow to generic manipulation of keyframe section data. In time we will port the other key areas over to this representation. - This new architecture affords the common manipulation of time-based keyframes in a value-agnostic manner. Change 3172935 on 2016/10/24 by Max.Preussner MediaPlayerEditor: Fixed MediaPlayer asset not being dirtied when creating media sound wave or texture for it Change 3173947 on 2016/10/25 by Max.Preussner SlateRemote: Disabled plug-in, but enabled server by default Change 3174510 on 2016/10/26 by Max.Chen Sequencer: Fix slomo track crash #jira UE-37802 Change 3174698 on 2016/10/26 by Andrew.Rodham UMG: Fixed objects bound to a panel slot animating their slot's content instead of the slot itself #jira UE-37775 Change 3174780 on 2016/10/26 by Max.Preussner MediaAssets: Accepting decoder defined buffer dimensions for RGB buffers Change 3174789 on 2016/10/26 by Max.Preussner MediaPlayerEditor: Showing desired player name instead of current player name if no media loaded Change 3174817 on 2016/10/26 by Max.Preussner WmfMedia: Added support for Motion JPEG (MJPG) Change 3174825 on 2016/10/26 by Max.Preussner WmfMedia: Added support for non-RGB32 uncompressed formats Change 3174834 on 2016/10/26 by Max.Preussner MediaPlayerAssets: Allow pausing while buffering media Change 3174886 on 2016/10/26 by Andrew.Rodham Core: Fixed range test that was testing incorrect behavior Change 3174889 on 2016/10/26 by Andrew.Rodham Sequencer: Fixed AssignActor behavior - Also ensure that cached object state is invalidated when playback context changes #jira UE-37798 Change 3174905 on 2016/10/26 by Andrew.Rodham Sequencer: Changed assert when failing to create an audio component to a log message - Audio no longer plays when GEngine->UseSound() is false #jira UE-37772 Change 3174980 on 2016/10/26 by Andrew.Rodham Sequencer: Remove warning when event endpoint could not be found for a given context #jira UE-37824 Change 3175001 on 2016/10/26 by Andrew.Rodham Sequencer: Evaluate sequence with EMovieScenePlaybackStatus::Jumping on Pause. - Also protect Pause() against reentrancy when being called from an event Change 3175012 on 2016/10/26 by Max.Chen Sequence Recorder: Fixes an empty working and view range after recording. On StopRecording() update playback range after nullifying the current sequence so that the playback range isn't empty. Added SetViewRange and SetWorkingRange. #jira UE-34191 Change 3177760 on 2016/10/28 by Max.Chen Sequence Recorder: Don't update the current sequence name if it's already set. This fixes a bug where if you pass in a sequence name to record to, it gets reset to the name in the sequence recorder settings. #jira UE-37808 Change 3178529 on 2016/10/28 by Max.Chen Matinee to Level Sequence: Added interface to extend the matinee to level sequence converter #jira UE-37328 #2864 [CL 3178562 by Max Chen in Main branch]
2016-10-28 15:04:38 -04:00
FLinearColor::Black.CopyWithNewOpacity(0.3f * OpacityBlend / 255.f)
);
return LayerId + 1;
}
Copying //UE4/Dev-Editor to //UE4/Dev-Main (Source: //UE4/Dev-Editor @ 3497164) #lockdown Nick.Penwarden #rb none ===================================== MAJOR FEATURES + CHANGES ===================================== Change 3433074 by Matt.Kuhlenschmidt Fix crash when clicking on certian tutorial blueprints. #jira UE-44593 Change 3433075 by Matt.Kuhlenschmidt Remove hittest grid log spam. The underlying problem causing this has been fixed Change 3433077 by Matt.Kuhlenschmidt Fix lighting becoming unbuilt when mesh painting #jira UE-44837 Change 3433081 by Matt.Kuhlenschmidt PR #3553: Crashfix for static array properties (Contributed by Pierdek) Change 3433104 by Alexis.Matte Make sure re-import skeletal mesh follow the import morph option #jira UE-42846 Change 3434825 by Matt.Kuhlenschmidt Fix crash when GC happens while the vr editor radial menu is open. Change 3434831 by Matt.Kuhlenschmidt Added missing file Change 3434868 by Shaun.Kime If you have a reroute node between a Material Function texture input and its usage, the parent material will fail to resolve the reroute node. #jira ue-44670 Change 3434998 by Alexis.Matte Meshes editors material/section panel are now fully transactional - Staticmesh editor: section material slot, section cast shadow, section collision, material slot instance, material slot name - Skeletal mesh editor: material slot instance, material slot name Also fix some transaction description #jira UE-44462 Change 3435195 by Jamie.Dale Fixed incorrect handling of some LTR scripts that require shaping These scripts need to go through HarfBuzz, and this also fixes a case where HarfBuzz wasn't applying font scale correctly. #jira UE-44767 Change 3435199 by Jamie.Dale Fixed some crashes/artifacts with bidirectional text It was possible for a line to compute an incorrect range, which could cause crashes or other highlighting issues. The highlighting logic has also been updated as the old code didn't handle all bidirectional cases correctly. Change 3435200 by Jamie.Dale Fixed a grapheme cluster metrics issue in the font editor viewport The viewport also now respects the default shaping method CVar. Change 3435771 by Alexis.Matte Fix degenerated bounds calculation for skeletalmesh when the skeleton is remove from a re-import (PhysicAsset API change, adding 1 function) #jira UE-44609 Change 3436856 by Jamie.Dale Added some missing Unicode block ranges Change 3436914 by Jamie.Dale Adding some missing combining character ranges to the text shaper Change 3436923 by Alexis.Matte PR #3463: Get bounds for all triangles, not just the first one. WedgeIndex was . (Contributed by DaveC79) #jira UE-43764 Change 3436948 by Jamie.Dale Updated the Portal to use the predefined Unicode block ranges Change 3436961 by Max.Chen Sequencer: Show camera shake/anim track menus even if there aren't any assets. Change 3437244 by Max.Chen Sequencer: Clear locked cameras when releasing Sequencer. #jira UE-44967 Change 3437515 by Arciel.Rekman UBT: improvements for LocalExecutor. - Larger number of parallel jobs on 16GB+ machines. - Use WaitForExit() instead of polling. - Tested on Linux and Mac. Change 3437629 by Matt.Kuhlenschmidt Improve asset import data display in static and skeletal meshes Change 3438047 by Arciel.Rekman Fix overlapping ranges being passed to memcpy(). Change 3438822 by Yannick.Lange ViewportInteraction: Move gizmo handle files to make them private. Change 3438906 by Matt.Kuhlenschmidt PR #3556: Git Plugin: fix new option "init Git LFS" that make assets read-only (master/UE4.17) (Contributed by SRombauts) Change 3438907 by Matt.Kuhlenschmidt PR #3565: add -quality option to buildlighing commandlet (Contributed by kayama-shift) Change 3438908 by Matt.Kuhlenschmidt PR #3558: UE-44862: Always update SColorPicker color on OK button (Contributed by projectgheist) Change 3439393 by Matt.Kuhlenschmidt Force highest LOD for highres screenshots Change 3439819 by Matt.Kuhlenschmidt Turned FAssetData into a struct for some upcoming script exposure of FAssetData Change 3439949 by Arciel.Rekman Fixed selection logic for the UE4_LINUX_USE_LIBCXX environment variable. - Allows disabling libc++ by setting the variable to 0. - Pull request #3576 contributed by jared-improbable. Change 3441078 by Jamie.Dale The culture/language/locale console commands are now available in all build configs Change 3441109 by Jamie.Dale Text containing surrogate pairs now runs through HarfBuzz when shaping in Auto mode This is needed as the kerning-only shaping code assumes that everything is within the BMP Change 3441275 by Matt.Kuhlenschmidt Disable spinning on location and scale. These dont work because we have no notion of infinite spinning Change 3442748 by Yannick.Lange ViewportInteraction: Remove unused console variables. Change 3442775 by James.Golding Add support for editing MaterialFunctions to MaterialEditingLibrary Pull Material recompile/update code into UMaterialEditingLibrary::RecompileMaterial Pull MaterialFunction update code into UMaterialEditingLibrary::UpdateMaterialFunction util Move RebuildMaterialInstanceEditors to UMaterialEditingLibrary Added test content for Material/MaterialFunction editing Add needed BlueprintReadWrite to expressions (constants, function input/output) Expose UMaterialExpressionMaterialFunctionCall::SetMaterialFunction to BP, rename old func (which takes old function) to SetMaterialFunctionEx, also expose GetInputNameWithType Change 3442779 by James.Golding Fix header order Change 3442817 by Yannick.Lange ViewportInteraction: Add can execute checks for level editor commands. Change 3443038 by Michael.Dupuis #jira UE-43377: When you select a foliage actor we will move all instance contained in it to the new level as we can't move a foliage actor Only permit moving foliage instance if there is some selected Change 3443855 by Michael.Dupuis #jira UE-44885: Unregister from PerModuleDataObjects when the object is destroyed Change 3446096 by Max.Chen Sequencer: Add OnFinished() event when a level sequence completes playback #jira UE-45173 Change 3446097 by Max.Chen Sequencer: Evaluate one last time before the sequence is torn down and reset #jira UE-45174 Change 3446242 by Jamie.Dale Fixed caret not appearing in empty text layouts Caret selections have no range, and therefore have no width Change 3446361 by Matt.Kuhlenschmidt Fix WITH_EDITOR only functions causing generated code compile errors when the all functions on the class are WITH_EDITOR Change 3446457 by Alexis.Matte Polish the speed tree import dialog #jira UE-44963 Change 3446946 by Michael.Trepka Modified FWindowsWindow::GetRestoredDimensions to return correct window position for normal windows for which GetWindowPlacement returns position in workspace coordinates #jira UE-37934 Change 3447543 by Arciel.Rekman Reduce VMAs on Linux. - Trades off increased address space (VIRT in terms of ps/htop) for smaller number of distinct mappings (VMAs, virtual memory areas). This decreases possibility to run into vm.max_map_count limit on Linux. - Tested on Linux and Mac. Change 3448468 by Arciel.Rekman Fix race condition during creation of GMalloc. - On Mac GMalloc can be created on two different thread that are racing with each other - app's main thread and a system thread. Change 3449012 by Max.Chen Sequencer: Add time to transform, color and vector key structs so that key times are editable from the key editors. #jira UE-45089 Change 3449018 by Max.Chen Sequencer: Add OnCameraCut event that fires when there is a camera cut. #jira UE-45137 Change 3449195 by Max.Chen Sequencer: Add setting for limit scrubbing to playback range. #jira UE-43502 Change 3449198 by Max.Chen Sequencer: Reorder hierarchical bias so that group priority takes precedence. Change 3449217 by Max.Chen Sequencer: Add setting to activate realtime viewports when in sequencer. Change 3449219 by Max.Chen Sequencer: Focus on search boxes when opened. Change 3449238 by Max.Chen Sequencer: Assign actor should replace the actor itself after it has updated all the components. Also, replace components be fullname rather than by class. Change 3449239 by Max.Chen Sequencer: Fix offsets when moving multiple sections. Dragging should be clamped to the bounds that any of the selected sections hits against the unselected sections. Change 3449241 by Max.Chen Sequencer: Restore section selection after full tree rebuild. Change 3449279 by Max.Chen Sequencer: Set movie scene capture frames only when not using custom frames. This allows the user entered frame numbers to persist in config, rather than overwriting them when doing a "Render Shot" Change 3449280 by Max.Chen Sequencer: Spawn in the persistent level. Otherwise, they get spawned into whatever sublevel is current. #jira UE-44552 Change 3449294 by Max.Chen Sequencer: Null check for sequencer ed mode crash. Change 3449297 by Max.Chen Sequencer: Fix delay in sliding values. Mark changed when sliding values. Mark refresh immediately when committing values since OnValueChanged will be called and needs to have the correct value that was refreshed immediately. #jira UE-42866 Change 3449542 by Max.Chen Sequencer: Fix scrubber hit testing so that the time scrubber is really favored over the playback ranges. #jira UE-44569 Change 3451507 by Matt.Kuhlenschmidt Fix extra slate uv coords not functioning on ES2 Change 3451510 by Matt.Kuhlenschmidt PR #3595: Fixed wrong colour for level status (Contributed by ronve) Change 3451529 by Alexis.Matte fbx scene importer: Make sure we set INVALID_UNIQUE_ID to node that has no attribute. #jira UE-34410 Change 3451611 by Yannick.Lange ViewportInteraction: Dragging gizmo without second pass for snapped calculations. Change 3452134 by Jamie.Dale Fixed constant font cache flushing if a widget had no font set Change 3452239 by Jamie.Dale Fixed constant font measure flushing if a widget had no font set Change 3452243 by Jamie.Dale Removed deprecated code for creating fonts from bulk data Change 3452277 by Jamie.Dale The concept of "stale" composite fonts is now editor-only Change 3452358 by Alexis.Matte Fbx scene importer: Do not remove existing attribute reference from the blueprint if the reimport of the associate mesh attribute is not tick. #jira UE-45232 Change 3452678 by Max.Chen Sequencer: Fix crash on export if there's no shot data. Change 3453057 by Matt.Kuhlenschmidt Exposed asset exporting to script Change 3453782 by Andrew.Rodham Sequencer: Fixed deterministic cooking issues with movie scene data - Movie scene signatures are now initialized in PostInitProperties - A warning is now presented when attempting to cook old data that was never serialized with a signature. - Removed redundant legacy data upgrade logic that could dirty level sequences on load. #jira UE-44912 Change 3453788 by Yannick.Lange ViewportInteraction: Custom scene proxy for gizmo handles. Change 3453938 by Max.Chen Sequencer: Hotkeys (shift , and shift .) to step to next/previous shot #jira UE-45119 Change 3454058 by Michael.Dupuis Fixed StaticAnalysis Change 3454077 by Max.Chen Sequencer: Fix not saving the pre-animated track value when creating a track/key. On pre object change, broadcast property change so that a track or key can be created. That track/key needs to be evaluated immediately so that the pre-animated state can be saved properly. This is done now with RefreshAllImmediately and is only called when a track has been created. Also, added a return value for OnKeyProperty, so that it's known what changed in particular (ie. track created, track modified, etc) Also, fixed transform keying so that if a transform track already exists for the object or the scene component, the existing track is used. #jira UE-45130 Change 3454108 by Nick.Darnell UMG - Fixing the WIC to properly record cursor delta so that scrollbars work. Change 3454109 by Jamie.Dale Cache the text layout source info in non-shipping builds so you can inspect it in the debugger Change 3454202 by Matt.Kuhlenschmidt Fix bogus error message about the number of usable texture coordinates on ES2 when compiling a UI domain material Change 3454390 by Yannick.Lange Fix creating a plugin in a C++ project opens a second instance of Visual Studio. Use SourceCodeAccessor to open solution when necessary. #jira UE-45035 Change 3454564 by Matt.Kuhlenschmidt #rnx Fix deprecation warnings Change 3455471 by Yannick.Lange ViewportInteraction: Fix entering and exiting VR Mode disables gizmo in desktop editor viewport. #jira UE-44965 Change 3456183 by Max.Chen Sequencer: Auto key, auto track refactor. Auto key - create a key when the property changes and there's an existing track. Auto track - create a track when the property changes. This is only exposed in the level sequence editor. All - create a key and a track when the property changes. This is only exposed in VR Editor. None - do nothing. #jira UE-43469 Change 3456349 by Andrew.Rodham Sequencer: Only perform legacy signature checks on instances, and only where signatures match the CDO Change 3456678 by Alexis.Matte Allow to add null level instance override material via the advance material array. But still limit the override material number to the mesh material number. #jira UE-45306 Change 3456945 by Max.Chen UMG: Add restore state to 2d transform section. #jira UE-45372 Change 3457196 by Arciel.Rekman Linux: serialize allocations from the memory pool. Change 3458434 by Max.Chen Sequencer: Remove obsolete set tick prerequites functions. Change 3458671 by James.Golding Added MIC editing support to MaterialEditingLibrary Fix static analysis warning Change 3458888 by Matt.Kuhlenschmidt PR #3615: More detailed log messages for debugging warnings/errors (Contributed by projectgheist) Change 3458893 by Matt.Kuhlenschmidt PR #3583: UE-44960: Delta value wasn't being used (Contributed by projectgheist) Change 3458895 by Matt.Kuhlenschmidt Fix typo Change 3458902 by Matt.Kuhlenschmidt PR #3607: Improved InputKeySelector functionality (Contributed by projectgheist) Change 3458917 by Matt.Kuhlenschmidt Fix crash with invalid object properties in the class picker #jira UE-39000 Change 3458939 by Matt.Kuhlenschmidt Fix compile error Change 3458984 by andrew.porter QAGame: Initial check in of sequencer smoke test map Change 3459510 by Matt.Kuhlenschmidt Fixed ensure when deleting a map that contains build data which also happens to be the currently loaded map. #jira UE-45052 Change 3460985 by Max.Chen Sequencer: Snap play time to keys now allows scrubbing between keys and snaps to key times within a certain screenspace tolerance. #jira UE-45090 Change 3461698 by Arciel.Rekman Avoid using ARRAY_COUNT in Vulkan. - Sometimes those arrays can have no extensions whatsoever, and it is illegal to declare a 0 element C array. Change 3462053 by Max.Chen Sequencer: Show sequencer spawnables in the world outliner and add the icon overlay for spawnables. #jira UE-43470 Change 3462139 by Max.Chen Property Editor: Add objects to FPropertyAndParent Change 3462202 by Arciel.Rekman Fix FSocket::Recv() blocking with Peek when there's no data. Change 3462253 by Nick.Darnell Slate - New Clipping System Clipping is now a stateful choice made during composition of the slate hierarchy. Previously every widget got to respect or modify the clipping rect on an as needed basis. The problem was that clipping was only allowed in the layout space of the widget, and it wasn't possible to properly clip elements with render transforms. The new system permits all kinds of transforms on any widget, and they will all be clipped correctly. It tries to use Scissor Rects as they are much cheaper, but will switch over to stenciling if need be to represent a complicated masking structure with several rotated clipping rects all needed to be combined together. Here are the new clipping states a widget can have, almost all widgets are set to No. Only change it from No if your widget actually needs to clip, generally speaking most widgets don't need to clip. /** * This widget does not clip children, it and all children inherit the clipping area of the last widget that clipped. */ Inherit, /** * This widget clips content the bounds of this widget. It intersects those bounds with any previous clipping area. */ ClipToBounds, /** * This widget clips to its bounds. It does NOT intersect with any existing clipping geometry, it pushes a new clipping * state. Effectively allowing it to render outside the bounds of hierarchy that does clip. * * NOTE: This will NOT allow you ignore the clipping zone that is set to [Yes - Always]. */ ClipToBoundsWithoutIntersecting UMETA(DisplayName = "Yes - Without Intersecting (Advanced)"), /** * This widget clips to its bounds. It intersects those bounds with any previous clipping area. * * NOTE: This clipping area can NOT be ignored, it will always clip children. Useful for hard barriers * in the UI where you never want animations or other effects to break this region. */ ClipToBoundsAlways UMETA(DisplayName = "Yes - Always (Advanced)"), /** * This widget clips to its bounds when it's Desired Size is larger than the allocated geometry * the widget is given. If that occurs, it behaves like [Yes]. * * NOTE: This mode was primarily added for Text, which is often placed into containers that eventually * are resized to not be able to support the length of the text. So rather than needing to tag every * container that could contain text with [Yes], which would result in almost no batching, this mode * was added to dynamically adjust the clipping if needed. The reason not every panel is set to OnDemand, * is because not every panel returns a Desired Size that matches what it plans to render at. */ OnDemand UMETA(DisplayName = "On Demand (Advanced)") - Large API Change - All FSlateDrawElement::Make_____ calls have been deprecated that involved passing in a clipping rect. You no longer should are passed a Clipping rect via OnPaint. You are still passed a rect, but this rect represents a Culling Rect, which is valuable if you need to just out right not paint things the user can't possibly see. If you were previously trying to determine if you should cull widgets, by doing something like this, if ( FSlateRect::DoRectanglesIntersect(MyClippingRect, CurWidget.Geometry.GetRenderBoundingRect()) ) That's no longer a good option since there are ways for widgets to ignore the culling bounds. You should convert anything like above to the one below, if (!SWidget::IsWidgetCulled(MyCullingRect, CurWidget)) To assist in debugging efforts, there are several new debugging console flags in Slate, Slate.ShowClipping 1 - Controls whether we should render a clipping zone outline. Yellow = Axis Scissor Rect Clipping (cheap). Red = Stencil Clipping (expensive). Slate.DebugCulling 1 - Disables pushing clipping or stencil rects to the GPU, but continues to intersect culling rects, so that you can tell if a widget is properly culling children it can't possibly draw. Slate.ShowTextDebugging 1 - Show debugging painting for text rendering. I've added a new Experimental Feathering Option, it adds AA geometry around the outside of Box and Image brushes. Slate.Feathering 1 If you're using RenderDoc or something similar, you can now enable render events for slate, so that you can better grok how we're batching and changing states for each UI render pass. Slate.EnableDrawEvents 1 #jira UE-4659 #rn Change 3462714 by Nick.Darnell Fixing a few more compiler issues with the clipping changes. Change 3462726 by Max.Chen Switch OnEditStructChildContentsChanged to use FObjectWriter instead of FMemoryWriter which supports serializeing UObjects. This fixes a crash when adding actor array elements to a user defined event struct. #jira UE-45431 Change 3462801 by Nick.Darnell Adding a UMG dependency to EngineTestBuild. Change 3462914 by Max.Chen Sequencer: Fix regression where spawnables aren't getting saved. Caused by 3407138 #jira UE-30007 #jira UE-39003 Change 3462946 by Nick.Darnell Automation - Tweaking the UI automation tests converting them over to use the new UI Screenshot automation test. Automation - Adding a blur widget test. Change 3462987 by Matt.Kuhlenschmidt Back out changelist 3458893 Change 3464774 by Matt.Kuhlenschmidt PR #3629: Bugfix: Missing small icon in Project Launcher profile editor (Contributed by aarmbruster) Change 3464785 by Nick.Darnell Fixing some clipping stuff in the editor. Change 3464830 by andrew.porter QAGame: Second pass on sequencer smoke test map Change 3464902 by Nick.Darnell Loading - Adding some additional checks to the the loading code to ensure we're on the main thread. Additionally adding a fix from UDN that prevents deadlocks in the rare case a user hits Alt+Tab in a fullscreen game while in a hard loading screen. Change 3464988 by Max.Chen Sequencer: Add attenuation settings for attached audio components. #jira UE-33080 Change 3465024 by Nick.Darnell MoviePlayer - Impoving the playback mode displaynames. Change 3465074 by Arciel.Rekman Fix shadowing issues of GraphicsPSOInit. Change 3465097 by Matt.Kuhlenschmidt Some refactoring of the details panel Exposed new methods of adding a struct on scope to a details panel and have it work properly with customizations. The scruct on scope has a "fake" ustructproperty that allows the details panel to show the whole struct not just an individual property. Refactored the API for adding rows to details panels to make it more consistent\ AddChildCustomBuilder->AddCustomBuilder AddChildGroup->AddGroup AddChildContent->AddCustomRow AddChildPropert->AddProperty AddChildStructure->AddExternalStructureProperty AddStructure->AddAllExternalStructureProperties AddExternalProperty->AddExternalObjectProperty or AddExternalStructureProperty Change 3465186 by Max.Chen Sequencer: Save the BindingID in the pre animated token producer so that it can be destroyed properly. This fixes a bug where the default state of a spawnable isn't saved. #jira UE-43780 Change 3465315 by Matt.Kuhlenschmidt Fix Fortnite and Orion details panel customization warnings Change 3465424 by Nick.Darnell Automation - Moving the step for setting the link to the automation reports to be set before we start the engine. Change 3465488 by Nick.Darnell Automation - Forcing textures to load before taking screenshot, so that the scene gets another opportunity to render before we render with Slate. This should fix the Blur UI Test. Change 3466277 by Arciel.Rekman Linux: fix window drift when dragging (UE-40380). - Change by Cengiz Terzibas. Change 3466370 by Nick.Darnell UMG - Fixing the colors for the resize handle in the designer. Change 3466372 by Nick.Darnell UMG - Fixing the ruler ticks sometimes not being drawn. Change 3466374 by Nick.Darnell UMG - Fixing the designer showing multiple options for sequencer. Change 3466377 by Nick.Darnell UMG - Cleaning up some clipping bits. Change 3467025 by Andrew.Rodham Re-saving assets that contain legacy (<4.15) movie scene data to remove deterministic cook warning. If conflicts arise during merging of these assets, please ignore the changes made in dev-editor, and accept game-side changes. (CIS step 62283298, jobId 7773146) (CIS step 62283297, jobId 7773146) Change 3467099 by Max.Chen Fix GetObjectPropertyClass ensure logic. This was returning UObject::StaticClass when valid. Change 3467172 by Max.Chen Sequencer: Evaluation optimizations. Also, fixes subsequences not getting expired, leaving dangling spawnables. #jira UE-43690 Change 3467192 by Matt.Kuhlenschmidt Fix transactions getting stuck in the color grading controls. This prevents PIE from working properly and causes shutdown crashes #jira UE-45527 Change 3467251 by Yannick.Lange ViewportInteraction: Fix scale and rotation snap while dragging with two lasers. #jira UE-43489 Change 3467331 by Matt.Kuhlenschmidt Fix D3D shader compiler hard coding shader path and not giving proper warnings when it cannot find the shaders Change 3467335 by Matt.Kuhlenschmidt Remove DarkStyle attribute from SNumericEntryBox and allow a spin box style to be passed to it. Change 3467558 by Max.Chen Scene Outliner: Generic support to add default columns to a scene outliner. Change 3467565 by Jamie.Dale Removing old screenshot data for test Change 3467589 by Nick.Darnell Editor - Random cleanup. Change 3467596 by Nick.Darnell Progress Bar - Exposing Border Padding to UMG. Change 3467600 by Nick.Darnell Slate - Adjusting the rendering of the splitter, previously it could be off by a pixel or two, which becomes more apparent now with the clipping changes. Change 3467601 by Max.Chen Property Editor: Fix static analysis warning Change 3467662 by Nick.Darnell Automation - Fixing a bug with the screenshot comparison tool not replacing (removing) the old screenshot data. Change 3467674 by Max.Chen Property Editor: Fix static analysis warning Change 3467737 by Max.Chen Sequencer: Added OnMovieSceneBindingsChanged delegate Change 3468053 by tim.gautier QAGame: Updating Editor Smoke Map - Updated landscapes into Stations for testing - Added Foliage Sublevel Change 3468194 by Arciel.Rekman Linux: fix problems communicating with various STL-using libs. - Stop hiding global new/delete signatures. - Disable CEF3 since this change uncovers the problem with libcef.so not built to use bundled libpng. Change 3468678 by Max.Chen Sequencer: Set "Sequencer Actor" tag before setting the actor label so that the outliner refreshes after the actor has the tag. Change 3469314 by tim.gautier QAGame: Added Painted Foliage / Spline section to EditorSmoke map Change 3469377 by Nick.Darnell Slate - Fixing some warnings in a couple of sample games due to the clipping changes. #rnx Change 3469767 by Max.Chen Sequencer: Outliner column and sequencer binding data #jira UE-43470 Change 3469974 by Arciel.Rekman Fix code projects not working in Linux installed build. Change 3470082 by Nick.Darnell Slate - The GetRenderer() call on SlateApplication no longer returns a SharedPtr, rather than convert it to a thread safe ptr, going to just make accessing it a raw ptr return, so it can be safely referenced on the game thread while being used on the slate loading thread. Change 3470174 by Nick.Darnell Slate - Get the last widget in a widget path utility. Change 3470176 by Nick.Darnell UMG - User Widgets now have an easy way to know if they're part of or have been removed from the focused widget path, which is handy for doing effects. Change 3470261 by Nick.Darnell Slate - The GetRenderer() call on SlateApplication no longer returns a SharedPtr, rather than convert it to a thread safe ptr, going to just make accessing it a raw ptr return, so it can be safely referenced on the game thread while being used on the slate loading thread. Change 3470286 by Max.Chen Sequencer: Scene Component's HiddenInGame now goes through the VisibilityTrack and the visibility template. Change 3470366 by Nick.Darnell Slate - We now version focus per user, that way during focus events, we can safely abort focus events and state transitions if someone interrrupts the active focus event with something new. Change 3470649 by Matt.Kuhlenschmidt Fix deprecation warnings Change 3470695 by Matt.Kuhlenschmidt Fixed typo #jira UE-45580 Change 3470721 by Matt.Kuhlenschmidt Fix static analysis Change 3471254 by Michael.Dupuis #jira UE-42952: Keep occlusion result per view Change 3471287 by Nick.Darnell UMG - Render Focus Rule now defaults to never. Change 3471291 by Nick.Darnell Slate - Fixing FSlateRenderer* change fallout. Change 3471299 by Nick.Darnell Slate - Fixing FSlateRenderer* change. Change 3471323 by Nick.Darnell Automation - Fixing automation and Static Analysis warning. Change 3471413 by andrew.porter QAGame: Added test content for anim blending and material parameteres to sequencer smoke level Change 3471649 by Max.Chen Sequencer: Modify the track when adding animation #jira UE-45618 Change 3471659 by Matt.Kuhlenschmidt Added a way to check if a movie is playing from the engine. Prevented viewport redraws for canvas loading screens if a slate based loading movie is playing Change 3471734 by Matt.Kuhlenschmidt Added basic material hookup to USD. Similar to FBX it will find materials based on rules specified by the user in the import settings Change 3472176 by Nick.Darnell UMG - Improving the display of the +Track menu in sequencer for UMG. Renamed it from +Add, which is repetitve to +Track. Additionally, the dropdown now shows the currently selected widgets, as well as a submenu containing all the 'important' widgets, so we no longer populate that list with a ton of irrelevant widgets that are just Buton_1 - N, which is pointless in showing people, they'll never guess which is the right button. Change 3472740 by Max.Chen Sequencer: Add GetThisFrameMetaData accessor Change 3472748 by Max.Chen Sequencer: Added OnBeginScrubbing and OnEndScrubbing event delegates Change 3472753 by Max.Chen Sequencer: Add EMovieSceneDataChangeType parameter to OnMovieSceneDataChanged delegate Change 3472870 by Nick.Darnell Clipping - Fixing the deprecated tip for scissor rect boxes to be correct. Removing it's usage from UT. Change 3473340 by Max.Chen Scene Outliner: Add ability to register additional filters Change 3473348 by Max.Chen Details View: Make ForceRefresh virtual. Added accessors to delegates (ie. GetIsPropertyReadOnlyDelegate) Change 3473441 by Max.Chen Sequencer: Autokey Refactor Part 2. Autokey is now a single toggleable state. Allow Edits Mode has 3 states: Allow All Edits - Allow any edits to occur, some of which may produce tracks/keys or modify default properties. Allow Sequencer Edits Only - All edits will produce either a track or a key. Allow Level Edits Only - Properties in the details panel will be disabled if they have a track. #jira UE-45229 Change 3473670 by Nick.Darnell Modules - The module manager no longer returns sharedptrs to IModuleInterfaces, this was the source of rare hard to track down crashes due to a shared ptr reference leak when GetModule was called on non-main threads. We now store a TUniquePtr internally, and only lease out raw pointers. #rn Change 3473711 by Nick.Darnell Disabling the ensure in the module manager. Change 3473747 by Max.Chen Sequencer: Fix tooltip Change 3474091 by Jamie.Dale Added a warning when cooking a UFontFace that is outered to a UFont asset These cause issues with iterative COTF, and should be split off into their own assets (as the UI has been asking people to do for several versions) Change 3475052 by Yannick.Lange VR Editor: Fix Crash when quitting the editor with VR Mode enabled. VR Editor was being enabled when saving the map on closing the editor. #jira UE-45415 Change 3475054 by Yannick.Lange Fix crash when adding a camera to the world in VR Mode the second time. The slate application did not reset when stop dragging in VR Mode, so the second time when starting to drag a camera out of the UI it would already by in a dragging state. #jira UE-45574 Change 3475263 by Nick.Darnell Fixing some additional cases of IModuleInteface SharedPtr usage. Change 3475268 by Max.Chen Sequencer: Set jumped state when looping playback. This fixes an issue where audio doesn't stop and restart when looped. #jira UE-45654 Change 3475269 by Max.Chen Scene Outliner: Additional filters should only apply to actor browsing mode Change 3475407 by Nick.Darnell Fixing some clipping / module shared ptr changes in the launcher code. Change 3475542 by Max.Chen Sequencer: Update thumbnail and section highlighting to use new clipping behavior. #jira UE-45692 #jira UE-45689 Change 3475743 by Michael.Dupuis #jira UE-45183: When updating phyx region take into account simple collision mip Change 3475949 by Arciel.Rekman Remove PhysX deoptimization (no longer needed). - OR-24947 has been closed three months ago. Change 3476022 by Michael.Dupuis #jira UE-45560: Make sure we're not going out of range Change 3476063 by Michael.Dupuis #jira UE-45562: Do not try to unregister from static mesh if no static mesh is specified for the component Change 3476168 by Michael.Trepka Added handling of directory symlinks to FApplePlatformFile::IterateDirectory #jira UE-43704 Change 3476172 by Nick.Darnell Fixing a Imoduleinterface change. Change 3476183 by Jamie.Dale Exposing GoTo/ScrollTo to single-line editable text for API parity with multi-line editable text Change 3476385 by Arciel.Rekman Linux: handle symlinks when iterating directories. Change 3476522 by Michael.Trepka Solved a problem with Mac FMallocTBB::Malloc() returning nullptr for 0 bytes allocations, which is inconsistent with other platforms. On Mac we always scalable_aligned_malloc, which behaves differently than scalable_malloc, so for 0 bytes requests we allocate sizeof(size_t), which is exactly what scalable_malloc does internally in such case. Change 3476806 by Nick.Darnell UMG - Focus the designer after dropping a widget onto the surface. Change 3476809 by Nick.Darnell Curve Editor - Enable Clipping on the curve editor. Change 3477475 by Nick.Darnell Fixing a module interface shared ptr usage in UT. Change 3477553 by Yannick.Lange VR Editor: Removed AssetEditorPanelID and replaced it with TabManagerPanelID. A panel for AssetEditorPanelID was never created making it impossible to open an asset editor. Change 3477734 by Yannick.Lange VR Editor: Fix Warning: SetRelativeScale3D : Invalid Scale entered (X=inf Y=inf Z=inf). Resetting to 1.f. warning when adding CineCameraActor to World from Modes Panel. Make sure to not divide by zero when there is no boundary scale. #jira UE-44933 Change 3477761 by Jamie.Dale Some improvements to avoid loading the native .locres files twice when we don't need to Change 3477780 by Nick.Darnell PR #3250: Return correct VirtualUserIndex (Contributed by projectgheist) Change 3477786 by Nick.Darnell PR #3650: Changed TestNull to accept const pointers. (Contributed by e-agaubatz) Change 3477795 by Nick.Darnell PR #2844: UE-36936: Don't stretch container for Plugin Image (Contributed by projectgheist) Change 3478092 by Nick.Darnell PR #2341: Optional Middle Mouse Button panning in Graph Editor (Contributed by flipswitchingmonkey) Engine Edit - Made some small changes to the enum type, and some naming. Change 3478450 by Nick.Darnell Fixing some uninitialized variable errors. Change 3479827 by Andrew.Rodham Sequencer: Addressed serialization issues with some struct types Change 3479874 by Jamie.Dale Fixed "NativeGameLanguage" not being used correctly during localization initialization Change 3480012 by Andrew.Rodham Sequencer: Fixed loading tagged properties as native for track identifiers #jira UE-45823 Change 3480337 by Alexis.Matte Fix morph target crash missing some valid index check Change 3480804 by Alexis.Matte Fix crash with ColorGradingMode custom detail #jira UE-45638 Change 3480892 by Andrew.Rodham Sequencer: Ensure that movie scene sequences know about the editor object version #jira UE-45842 Change 3481073 by Nick.Darnell Fix the shader compiler error from main in Slate. Change 3481303 by Nick.Darnell UMG - Fixing a bug with the drag handle not working correctly in HDPI mode. Change 3481308 by Nick.Darnell Slate - Tweaking the IsWidgetCulled logic to consider both the layout and rendering bounds. If we do this, we get a much more desireable outcome for people that want to animate widgets and such and plan to have temporary animations to move the widget offscreen, but want the layout bounds to anchor that widget in the visible frame so that it animates even when normally it would be culled b/c the render transform and therefore the renderbounds moved it completely outside the culling rect. Change 3481629 by Max.Chen Sequencer: Add Level Sequence Actor as an output for CreateLevelSequencePlayer() #jira UE-45785 Change 3481899 by Yannick.Lange VR Editor: Added debug modetoggle command with an event that is broadcasted whenever this happens. Currently this is used to show all the floating UIs of the UI system to debug without HMD using VREd.ForceVRMode. Change 3481984 by Michael.Dupuis #jira UE-45845: always validate if we have a static mesh before trying to access it as user can decide to not assign one and use the tools Change 3482047 by Nick.Darnell Slate - Adding some comments to IsWidgetCulled. Change 3482110 by Nick.Darnell Slate - IsWidgetCulled is no longer static and is now called IsChildWidgetCulled. Change 3482136 by Jamie.Dale The CamelCase break iterator now treats digits around character tokens as part of the identifier Change 3482138 by Michael.Dupuis #jira UE-45854: Properly unregister during undo operation Change 3482150 by Michael.Dupuis #jira UE-45845 : Add missing nullcheck for GetStaticMesh Change 3482153 by Nick.Darnell Slate - IsWidgetCulled is no longer static and is now called IsChildWidgetCulled. Change 3482180 by Nick.Darnell UMG - Widget Components do not need to define a widget class to be rendererd, they can have native slate widgets only. This was a regression from main. Change 3482273 by Nick.Darnell UMG - Tweaking some more things about the widget component box outline. Change 3482308 by Alexis.Matte Fixing morph target smooth group support. Do not call FillSkeletalMeshImportData more then once on FbxNode since this fonction is doing some conversion and change the FbxNode, applying those conversion twice do not return the same faces smooth group. #jira UE-45696 Change 3482327 by Nick.Darnell UMG - More tweaks to the WidgetComponent so both shows the box outline, but works in game and VR editor. Change 3482705 by Andrew.Rodham Resaving assets that contain legacy data to suppress CIS warnings. - If conflicts arise in these assets, please take game-side changes and ignore these. Change 3484245 by Max.Chen Sequencer: Evaluate on end scrub. This fixes a bug where audio doesn't evaluate in a stopped position at the end of scrubbing, causing it to not stop all sounds. This fixes a bug introduced from 3365018 where evaluate on end scrub was removed. #jira UE-45905 Change 3484263 by Max.Chen Sequencer: Fix crash on forcing refresh of details panel on release. #jira UE-45911 Change 3484431 by Andrew.Rodham Resaving assets that contain legacy data to suppress CIS warnings. - If conflicts arise in these assets, please take game-side changes and ignore these. Change 3484474 by Alexis.Matte Fix the morph target animation curve name matching. #jira UE-20294 Change 3484475 by Alexis.Matte When removing a LOD, make sure we remove all morph target data associate to the LOD. Change 3484489 by Nick.Darnell PR #3668: UE-45908: Cache debug line locations when performing a LineTraceMulti (Contributed by projectgheist) #jira UE-45908 Change 3484692 by Nick.Darnell Slate - Reverting a change from a game stream. All Arranged Children don't need to allocated 42 to begin with. Do need to initialize WidgetPaths better. Change 3484703 by Nick.Darnell Player Input - Making the input event loop for players obey EKeys::NUM_TOUCH_KEYS, rather than being set to Touch10, as the maximum touch input amount, to make supporting greater than 10 touches easier. Also making the seeding of keys use EKeys::NUM_TOUCH_KEYS. #jira UE-43213 Change 3484918 by Jamie.Dale Fixed font measuring regression with RTL text RTL applies the character count to the next glyph, so it shouldn't process the end of the loop (this was how the older code used to work). Change 3485718 by Nick.Darnell Editor - Removing Super Search & User Feedback button. Change 3485719 by Nick.Darnell Portal - Removing SuperSearch. Change 3485751 by Matt.Kuhlenschmidt Fix crash accessing platformer game menu if the menu is open during a console based load #jira UE-45950 Change 3486047 by Arciel.Rekman Linux: add OpenEXR implementation (UE-40270). #jira UE-40270 Change 3486467 by Max.Chen Sequencer: Reset max tick rate when destroyed. #jira UE-45956 Change 3486477 by Max.Chen Sequencer: Refresh outliner when column is removed. #jira UE-45891 Change 3486667 by Andrew.Rodham Added missing include Change 3486724 by Andrew.Rodham Sequencer: Fixed curves with no default value, and no keys being evaluated and applied to properties - Also fixed an edge case where a zero (but non-animated) channel could be applied to a final transform Change 3486730 by Alexis.Matte In the Auto-Reimport options, hide the mout point only for the default /Game/ folder #UE-45684 Change 3486749 by Alexis.Matte Make sure the parent window of the monitor directory browse folder is set properly #jira UE-45682 Change 3486805 by Matt.Kuhlenschmidt Additional safety against invalid objects being accessed by slate Change 3486848 by Alexis.Matte Make sure Monitor folder feature support root mount point map folder During auto import, give priority to asset import factory over the scene import factory #jira UE-45691 Change 3486879 by Andrew.Rodham Removing obsolete QA assets Change 3486950 by Nick.Darnell PR #2281: Scrollbar missing features and SScrollbar fixes (Contributed by SNikon) Review - made some adjustments from the original. Change 3486954 by Nick.Darnell Slate - Moving the STableViewBase over to the FOverscroll class, rather than it's own clone. Change 3486967 by Nick.Darnell Slate - Fixing some HDPI calculations for fitting new windows on screen, it was using the unscaled size of the widgets for fitting, when it needed to scale them up. Change 3486970 by Andrew.Rodham Sequencer: Delay mouse capture until drag for sequencer time slider - Fixes context menus not opening as a result of mouse capture being taken on mouse down #jira UE-45937 Change 3486984 by Andrew.Rodham Sequencer: Improved blending type iconography Change 3486996 by Nick.Darnell UMG - Adding a way for games to opt-out of the slow widget path, to completely prevent them from being cooked. UMG - The movie data is no longer cloned for each new instance that inhabits. It now keeps a reference to the now publically accessible movie scene data on the class instead. Change 3487070 by Andrew.Rodham Sequencer: Added graphics for key areas that represent empty space Change 3487195 by Andrew.Rodham Sequencer: Changed evaluation groups to always flush implicitly - Due to the latent nature of blended token types, it's no longer safe to rely solely on execution token order between tracks - This fixes an issue where events set in the PostEvaluation stage were executed before blended token actuation Change 3487322 by Nick.Darnell PR #2457: Add .gitdeps.xml-files for plugins support (Contributed by bozaro) Change 3487363 by Nick.Darnell PR #2481: Fix for packing of a project with users plugins (Contributed by yatagarasu25) Change 3487439 by Nick.Darnell PR #2642: Changed private to protected in SVirtualJoystick.h (Contributed by Skylonxe) Change 3487500 by Arciel.Rekman Removed LinuxNativeDialogs. - No longer used; has been superceded by SlateDialogs since UE 4.8 (2 years ago). Change 3487630 by Lauren.Ridge Don't create Landscape Info Maps for Editor Preview Worlds or thumbnail worlds #jira UE-44885 Change 3487864 by Matt.Kuhlenschmidt Exposed the asset registry to blueprints and script. Works in editor scripts and runtime scripts AssetRegistry is now a UInterface object. Blueprint users can access various asset registry methods using the asset registry interface (via GetAssetRegistry) and various static helpers in the AssetRegistryHelpers object C++ users should still continue to use IAssetRegistry. Change 3487879 by Matt.Kuhlenschmidt Renamed asset tools uobject helper to UAssetToolsHelpers Change 3487926 by Lauren.Ridge Fixing reset to default not showing up for custom widgets #jira UE-44164 Change 3488184 by Matt.Kuhlenschmidt PR #3656: Make References/Referencers List copyable (Contributed by user37337) #jira UE-45763 Change 3488240 by Matt.Kuhlenschmidt Fix compiler issue Change 3488350 by Lauren.Ridge Landscape info map transactional state is based on its world's transactional state #jira UE-44885 #jira UE-46019 Change 3488412 by Matt.Kuhlenschmidt Fix reset to default showing up in two different places for some customizations Change 3488413 by Matt.Kuhlenschmidt Fix slate font customization Change 3488414 by Matt.Kuhlenschmidt Fix slate font customization Change 3488415 by Matt.Kuhlenschmidt Missed file Change 3488565 by Arciel.Rekman Add pretty printers for gdb (UETOOL-1171). - Committing shelf by Cengiz.Terzibas, with some modifications. #jira UETOOL-1171 Change 3489094 by Nick.Darnell Slate - The Slate RHI Renderer now caches the TextureLODGroups so that it can properly lookup the filtering of different texture groups that are set to Default, instead of a particular filter override on a texture. Engine/Rendering - Simplifying some of the setup logic in TextureLODSettings so that code is shared for setting them up properly after loading from a config file. Change 3489095 by Nick.Darnell PR #2699: GameViewportClient - Added a method to allow setting the viewport cur. (Contributed by rfenner) Review - Fixed spacing. Change 3489108 by Matt.Kuhlenschmidt Fix deprecation warning Change 3489120 by Nick.Darnell PR #3478: Fix possible UComboBoxString crash (Contributed by nakosung) Change 3489147 by Andrew.Rodham Sequencer: Adding return value to function to appease static analysis - This function is never compiled, and if it is, it won't compile, but static analysis doesn't know that Change 3489264 by Nick.Darnell Testing - Finishing the thought behind an enum comment. Change 3489265 by Nick.Darnell PR #2750: UE-35164: Button padding (Contributed by projectgheist) Change 3489267 by Nick.Darnell PR #3645: UE-45464: Handle SSlider mouse interaction more accurately (Contributed by projectgheist) Change 3489632 by Arciel.Rekman Correctness changes to MallocPoisonProxy. - Missing forwarding functions added. Incorrect comment removed. - Change by Steve.Robb, doing here so it is in 4.17. Change 3489689 by Arciel.Rekman More MallocPoisonProxy changes I missed in previous CL. Change 3489751 by Matt.Kuhlenschmidt Moved editor performance settings out of per-project settings so they can be shared across projects Change 3489837 by Lauren.Ridge Keyboard shortcut for entering/leaving VR Mode is now Alt+V Change 3491082 by Arciel.Rekman Linux: better fix for the crash due to name collision (UE-46040). - Put classes in Sequencer module into Sequencer namespace instead of SceneOutliner namespace. - Undid change in the SceneOutliner module. #jira UE-46040 Change 3491096 by Arciel.Rekman Fix UAT compilation on the newest mono. Change 3491240 by Max.Chen Sequencer: Disable key button when allow level edits only is on. #jira UE-46060 Change 3491406 by Yannick.Lange Fix editor crashes when opening a project that includes a plugin with more than two custom Volume classes. This issue was caused because registering show volume commands is based on finding volume classes. Finding these classes at multiple times resulted in a mismatch of the returned array of volume classes because modules/plugins were still being loaded. #jira UE-45806 Change 3491559 by Alexis.Matte Make sure we use the good preview mesh when doing a preview #jira UE-45963 Change 3491563 by Alexis.Matte Fix crash with staticmesh editor LodLevel selection Change 3491564 by Nick.Darnell UMG - Fixing an offset with the grab handles in HDPI mode. Change 3491595 by Nick.Darnell Editor - Fixing a clipping artifact in the pin type dropdown in the blueprint editor. Change 3491604 by Nick.Darnell Back out changelist 3489265 Change 3491615 by Arciel.Rekman Added malloc replay proxy (Linux only for now). - Allows to dump malloc callstream (without regard to threads) and replay later to study the behavior of different mallocs and/or repro problems. Change 3491684 by Arciel.Rekman Added FMalloc functions I missed. - Also moved function bodies into the .cpp file, this does not make a difference in performance in this case. Change 3491692 by Matt.Kuhlenschmidt Some minor fixes to the static mesh editor - Fix UV combo button looking non-standard on the toolbar - Fix a few combo buttons in the details panel looking too big. Change 3491702 by Arciel.Rekman Do not compile replay proxy-specific code when not used. Change 3491717 by Michael.Dupuis #jira UE-35083: The component is now the owner of the PerInstanceRenderData instead of the proxy Add an Update path to only update specified instances range Always call BuildTreeIfOutdated so we have a standard code path to make sure static mesh are fully loaded before trying to build the tree Moved the Instance Buffer aysnc to the base class, as it's not related to UHierarchicalInstancedStaticMeshComponent Expose a new property to decide if we require dynamic instance buffer Change 3491758 by Matt.Kuhlenschmidt Fix crash on static mesh editor shutdown Change 3491873 by Cody.Albert Fixed clipping issue in Sequencer curve editor #rnx Change 3491956 by Matt.Kuhlenschmidt Fix crash opening the Previewing sub-menu in the level editor settings menu #jira UE-46095 Change 3492046 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3492076 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3492165 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3492222 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3492274 by Michael.Dupuis #jira UE-46105: Fixed Clang warning Change 3492338 by andrew.porter QAGame: Testing ensure when submitting Change 3492371 by Nick.Darnell UMG - Reverting the animation sharing, cossed GLEO regressions in cooking. Will look for a better solution. Change 3492462 by Matt.Kuhlenschmidt Fix ensure checking in files through perforce Change 3492491 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3492505 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3492517 by Jamie.Dale The package localization ID is no longer used at all at runtime, and is now truly editor-only This should have always been the case, but it was leaked into manifest/archives/PO files in 4.14, and while 4.15 removed it from PO files it was still present in the manifest/archives. This change removes it entirely (unless gathering editor-only data, and even then the PO file will still collapse the entries together for translation), and the deprecated 4.14 export behavior will now produce an error if you attempt to use it. After taking this change you'll need to run a gather, import, and compile of your LocRes files to update your game localization to use the new localization IDs. Change 3492630 by Nick.Darnell UMG - Removing some extra cleanup code that's probably overkill and is causing a crash for uses of "Within" in class meta. #jira UE-46124 Change 3492692 by Matt.Kuhlenschmidt Fix drop shadows inheriting the outline color of the font. The outline should still appear but not have a different outline color from fill color Change 3492714 by Matt.Kuhlenschmidt Added outline with drop shadow to font automation test Change 3492737 by Matt.Kuhlenschmidt Fix linux Change 3492992 by tim.gautier Resaving Ocean Widget Blueprints / Sequences to resolve Legacy Sequence Data warnings #jira UE-46132 Change 3493089 by Jamie.Dale Ensure that the composite font of a font asset is flushed when the font object is GC'd Change 3493322 by Jamie.Dale Fixing null crash #jira UE-45758 Change 3494467 by Andrew.Rodham Fix Xbox warning Change 3494852 by tim.gautier QAGame: Changed streaming method of QA-EditorSmoke-Landscape to Always Loaded Change 3494853 by Nick.Darnell Another attempt at fixing the automation blueprint SA warning. Change 3494896 by Arciel.Rekman Fix possible null pointer access during Vulkan init. - May fix static analysis warnings in UE-46142, although warnings seem to be referring to something else. #jira UE-46142 Change 3494987 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3495010 by Matt.Kuhlenschmidt Adding additional logging to track down html5 issue Change 3495212 by Michael.Dupuis #jira UE-46143: Properly init the InstanceRenderData during the cooking phase (required by fortnite) Change 3495536 by Jamie.Dale Updating UGameEngine to call its Super::PreExit after performing its own teardown This prevents UEngine cleaning up resources that UGameEngine still needs. #jira UE-46159 Change 3495551 by Arciel.Rekman Another attempt to fix analyzer problem (UE-46142). Change 3495794 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3495905 by Matt.Kuhlenschmidt Fix USD crash when importing a meshwith no material [CL 3499771 by Matt Kuhlenschmidt in Main branch]
2017-06-19 20:27:30 -04:00
int32 FSequencerTimeSliderController::DrawSubSequenceRange(const FGeometry& AllottedGeometry, const FSlateRect& MyCullingRect, FSlateWindowElementList& OutDrawElements, int32 LayerId, const FScrubRangeToScreen& RangeToScreen, const FPaintPlaybackRangeArgs& Args) const
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3178529) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3149443 on 2016/10/03 by Max.Preussner MediaAssets: Better parameter names for MediaPlayer BP functions Change 3149756 on 2016/10/03 by Max.Chen Sequence Recorder: Set some settings to be clamped at 0 (sequence length, recording delay, audio gain, audio input buffer size, nearby actor recording proximity) #jira UE-35233 Change 3149795 on 2016/10/03 by Max.Chen Curve Editor: Set tangent to user when flattening or straightening tangents only when the tangent mode is auto and the interp mode is cubic. #jira UE-36734 Change 3150378 on 2016/10/04 by Max.Preussner PS4Media: Made video buffer sizes for file and HLS sources configurable (UE-36807) #jira UE-36807 Change 3151414 on 2016/10/05 by Max.Chen Sequencer: Fix case where restoring the last view target was getting skipped. It should always restore if the camera object and the unlock if camera actor object is null. #jira UE-35285 Change 3152038 on 2016/10/05 by Max.Preussner UdpMessaging: Code & documentation modernization pass Change 3152471 on 2016/10/05 by Max.Chen Cine Camera: Don't enable/disable actor ticking based soley on actor tracking since actor ticking is needed for other purposes. Instead, always enable actor ticking and only update actor tracking on tick if necessary. This fixes a bug where the cine camera actor won't tick if you hook in event tick. #jira UE-36625 Change 3152692 on 2016/10/05 by Max.Preussner Messaging: API code & documentation modernization pass Mostly removed shared pointer/ref typedefs as they prevent forward declarations and increase include complexity. Change 3153824 on 2016/10/06 by Max.Preussner Messaging: Renamed IConnectionBasedMessagingModule to ITcpMessagingModule and moved it into TcpMessaging I recommend that we refactor this API. The dependency should be reversed, i.e. instead of AndroidDeviceDiscovery depending on the TcpMessaging plug-in module, the Engine should provide a central registry that device discovery modules can notify, and that message transport plug-ins can register with and listen to OnConnectionAdded/Removed events etc. That way it supports an arbitrary number of transport plug-ins, and the Engine is not coupled to any of them. This functionality is not necessarily related to messaging, and the Messaging API is transport agnostic anyway. I'll think about this some more. Change 3153826 on 2016/10/06 by Max.Preussner Messaging: Removed remaining typedefs in IMessageTracer to enable forward declaration and reduce include dependencies Change 3153857 on 2016/10/06 by Max.Chen Sequencer: Set snap time to dragged key on by default. Change 3153980 on 2016/10/06 by Max.Preussner SessionServices: Removed typedefs; code and documentation modernization pass Change 3154313 on 2016/10/06 by Max.Chen Sequencer: Set the paste keys time to the current time, rather than the mouse time. Change 3154332 on 2016/10/06 by Max.Chen Sequencer: Remove click to rename shot functionality in the shot thumbnail. Added rename shot to the shot context menu. Change 3154377 on 2016/10/07 by Max.Chen Sequencer: Add ability to step to beginning and ends of sections/shots using the hotkeys: , and . Change 3154788 on 2016/10/07 by Max.Chen Sequencer: Fix offsets that created when moving multiple sections. The offsets were being created because section bounds were being generated for all sections except for the current section. Instead, they should be computed for all sections except for any that aren't being moved. #jira UE-29152 Change 3159274 on 2016/10/11 by Max.Preussner Core: Documentation fixes Change 3159275 on 2016/10/11 by Max.Preussner UdpMessaging: Added missing header Change 3160746 on 2016/10/12 by Max.Preussner MediaAssets: Added BP functions to query width, height, and aspect ratio of UMediaTexture instances #jira UE-37241 Change 3160975 on 2016/10/12 by Max.Preussner PS4Media: Better logging for SetRate failures Change 3160995 on 2016/10/12 by Max.Preussner MediaPlayerEditor: Fixed Media player selection is ignored if media specifies player overrides (UE-37248) #jira UE-37248 Change 3161066 on 2016/10/12 by Max.Preussner PS4Media: Enforcing minimum 8 byte alignment for media allocations Change 3161069 on 2016/10/12 by Max.Preussner PS4Media: Fixed log spam when setting play rate to current rate Change 3162567 on 2016/10/13 by Max.Preussner PS4Media: Made track switching code more readable Change 3163447 on 2016/10/14 by Max.Preussner PS4Media: Fixed array out of bounds assertions Change 3163772 on 2016/10/14 by Max.Preussner MfMedia: Fixed a number of timing related issues Change 3163980 on 2016/10/15 by Max.Chen Sequencer: Remove folder name numeric padding so that the naming convention is similar to creating objects in the level. Change 3164581 on 2016/10/17 by Andrew.Rodham Sequencer: Ensure global pre-animated state is restored in reverse order Change 3164582 on 2016/10/17 by Andrew.Rodham Sequencer: Ensure pre animated state is restored for all actor components before saving default state Change 3164583 on 2016/10/17 by Andrew.Rodham Sequencer: Re-enabled support for pre and post roll Change 3165464 on 2016/10/17 by Max.Chen Sequencer: Default number frame handles to 0 so that there's no change in behavior when rendering out a master sequence of shots. Handle frames need to enabled explicitly by the user. Copy from Release-4.14 #jira UE-37416 Change 3165483 on 2016/10/17 by Max.Chen Sequencer: Enable restore state for attach section completion Change 3165771 on 2016/10/18 by Andrew.Rodham Sequencer: Force evaluate when rendering thumbnails #jira UE-37321 Change 3166057 on 2016/10/18 by Andrew.Rodham Sequencer: Only set defaults for tracks that have no keys, and where the requested default has changed #jira UE-37285 Change 3166218 on 2016/10/18 by Max.Preussner MediaPlayerEditor: Failure opening media, even though it opened successfully (UE-37470) #jira UE-37470 Change 3166247 on 2016/10/18 by Max.Preussner WmfMedia: Showing progress bar while media is being resolved Change 3166289 on 2016/10/18 by Max.Preussner MfMedia: Showing progress bar while media is being resolved Change 3166993 on 2016/10/18 by Max.Preussner MfMedia: Fixed info string not reset on media close. Change 3166999 on 2016/10/19 by Max.Preussner Media: Fixed NV12 and NV21 support Change 3167008 on 2016/10/19 by Max.Preussner Media: Removed vertical NV12 alignment Change 3167029 on 2016/10/19 by Max.Preussner WmfMedia: Temp fix for RGB32 encoded AVIs rendering upside-down and too bright (UE-37505) #jira UE-37505 Change 3168593 on 2016/10/19 by Max.Chen Sequencer: Change paste at time to local time, so that the paste happens in the local time of the sequence rather than the global time if pasting in a shot level sequence. Change 3168626 on 2016/10/19 by Max.Chen Sequencer: Clamp to view bounds should snap to frame if frame snapping is on. Change 3168627 on 2016/10/19 by Max.Chen Sequencer: Initialize working and view range to be 10% larger than playback range. Change 3168760 on 2016/10/20 by Max.Preussner Media: Revamped media texture buffer management to support padded frames Added support for Windows bitmap buffers. Fixed a number of format, conversion and/or looping issues in WmfMedia and MfMedia. Not all shaders have been updated yet. Change 3169640 on 2016/10/20 by Max.Chen Sequencer: Add current camera to FLevelSequencePlayerSnapshot. Adjust DefaultBurnIn to include a few more parameters like focal length and focus distance. #jira UE-37407 Change 3170677 on 2016/10/21 by Max.Chen Movie Scene Capture: Add toggle to override engine scalability settings to cinematic scalability. #jira UE-36560 Change 3170710 on 2016/10/21 by Max.Preussner Media: Optimized handling of RGB input Change 3170712 on 2016/10/21 by Max.Preussner Media: Fixed NV21 conversion shader scaling Change 3170923 on 2016/10/21 by Max.Preussner UBT: Copied XboxOne project generator fix from Fortnite CL# 3170868 Change 3171494 on 2016/10/23 by Max.Chen Sequencer: Fix fbx export from master sequence not finding bound objects. #jira UE-35752 Change 3171506 on 2016/10/23 by Max.Chen Sequencer: Draw where in and out points of the shot section are, just like subsequences do. Change to only draw the green starting line if StartOffset is negative. #jira UE-35473 Change 3171743 on 2016/10/24 by Andrew.Rodham Editor: Added support for detail customizations on root structs - Also added the ability to add external struct data onto a detail category builder, and property type customization. Change 3171752 on 2016/10/24 by Andrew.Rodham Sequencer: Fixed spawnable ownership - Spawnables are no longer destroyed when the cursor leaves the master playback range. - Spawnable ownership now operates as it previously did before the evaluation rework. - bIgnoreOwnershipInEditor has been removed since its existence was a work around for when we didn't evaluate sub sequences from the master sequence. - FMovieSceneSequenceID is now a struct so that it can be used in array properties - Meta data now exists for each segment of an evaluation field. Currently this only includes the sub sequence IDs that exist at that time, but it may be expanded to include all evaluation entities (tracks + sections) in future so we don't have to calculate that at runtime. Change 3171756 on 2016/10/24 by Andrew.Rodham Sequencer: Added ability to trigger events with parameters - It's now possible to supply an event payload on event track keys which are to be passed to a given event. The structure must match the signature of the event, or a warning will be emitted. - Added a templated TGenericKeyArea, TKeyFrameManipulator and TCurveInterface that allow to generic manipulation of keyframe section data. In time we will port the other key areas over to this representation. - This new architecture affords the common manipulation of time-based keyframes in a value-agnostic manner. Change 3172935 on 2016/10/24 by Max.Preussner MediaPlayerEditor: Fixed MediaPlayer asset not being dirtied when creating media sound wave or texture for it Change 3173947 on 2016/10/25 by Max.Preussner SlateRemote: Disabled plug-in, but enabled server by default Change 3174510 on 2016/10/26 by Max.Chen Sequencer: Fix slomo track crash #jira UE-37802 Change 3174698 on 2016/10/26 by Andrew.Rodham UMG: Fixed objects bound to a panel slot animating their slot's content instead of the slot itself #jira UE-37775 Change 3174780 on 2016/10/26 by Max.Preussner MediaAssets: Accepting decoder defined buffer dimensions for RGB buffers Change 3174789 on 2016/10/26 by Max.Preussner MediaPlayerEditor: Showing desired player name instead of current player name if no media loaded Change 3174817 on 2016/10/26 by Max.Preussner WmfMedia: Added support for Motion JPEG (MJPG) Change 3174825 on 2016/10/26 by Max.Preussner WmfMedia: Added support for non-RGB32 uncompressed formats Change 3174834 on 2016/10/26 by Max.Preussner MediaPlayerAssets: Allow pausing while buffering media Change 3174886 on 2016/10/26 by Andrew.Rodham Core: Fixed range test that was testing incorrect behavior Change 3174889 on 2016/10/26 by Andrew.Rodham Sequencer: Fixed AssignActor behavior - Also ensure that cached object state is invalidated when playback context changes #jira UE-37798 Change 3174905 on 2016/10/26 by Andrew.Rodham Sequencer: Changed assert when failing to create an audio component to a log message - Audio no longer plays when GEngine->UseSound() is false #jira UE-37772 Change 3174980 on 2016/10/26 by Andrew.Rodham Sequencer: Remove warning when event endpoint could not be found for a given context #jira UE-37824 Change 3175001 on 2016/10/26 by Andrew.Rodham Sequencer: Evaluate sequence with EMovieScenePlaybackStatus::Jumping on Pause. - Also protect Pause() against reentrancy when being called from an event Change 3175012 on 2016/10/26 by Max.Chen Sequence Recorder: Fixes an empty working and view range after recording. On StopRecording() update playback range after nullifying the current sequence so that the playback range isn't empty. Added SetViewRange and SetWorkingRange. #jira UE-34191 Change 3177760 on 2016/10/28 by Max.Chen Sequence Recorder: Don't update the current sequence name if it's already set. This fixes a bug where if you pass in a sequence name to record to, it gets reset to the name in the sequence recorder settings. #jira UE-37808 Change 3178529 on 2016/10/28 by Max.Chen Matinee to Level Sequence: Added interface to extend the matinee to level sequence converter #jira UE-37328 #2864 [CL 3178562 by Max Chen in Main branch]
2016-10-28 15:04:38 -04:00
{
TSharedPtr<FSequencer> Sequencer = WeakSequencer.Pin();
if (!Sequencer.IsValid())
{
return LayerId;
}
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3946692) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3801826 by Max.Chen PR #4304: Level Sequence crash fix - Guarded against dereferencing null componen. (Contributed by DSDambuster) Change 3801828 by Max.Chen PR #4302: Movie Scene Visibility Template unitialised variable, causing random . (Contributed by DSDambuster) Change 3801837 by Max.Chen Sequencer: Delay spawning/construction for convert to possessable. This fixes a bug where property values would be lost when converting back and forth from possessable to spawnable. #jira UE-52400 Change 3801841 by Max.Chen Sequencer: Make spacer nodes not selectable. PR #4194: Improvements to Sequencer (Contributed by projectgheist) #jira UE-53117 #jira UE-52139 Change 3804183 by Max.Preussner MediaAssets: Added missing lock in media sound component Change 3805414 by Max.Preussner MediaAssets: Setting valid GUID when initializing media texture resource Change 3819578 by Max.Chen PR #4370: When enabling the "MovieCapture", do not turn off the Stereo-3D display. (Contributed by yehaike) #jira UE-53647 Change 3823414 by Max.Chen Curve Editor: Lock down the first and last keys in the redundant keys removal range so that they're unaffected. #jira UE-53591 Change 3826406 by Max.Chen Sequencer: Move OnStartedPlaying() to within first update in UpdateTimeCursorPosition(). This fixes an issue where setting the hud/player visibility was getting stomped on later. #jira UE-52772 Change 3827044 by Max.Preussner MediaAssets: Added sprite visualization to media sound component #jira UE-53594 Change 3827988 by Max.Preussner MediaPlayerAssets: Fixed Media Texture is not linked to Media Player when created together #jira UE-53532 Change 3828506 by Max.Preussner MediaPlayerEditor: Added attenuation visualizer for media sound components #jira UE-53594 Change 3832590 by andrew.porter EngineTest: Added a keep state check in Property Animation sequencer test Change 3833053 by andrew.porter EngineTest: Adding Hierarchical Bias test Change 3835683 by andrew.porter EngineTest: Adding UMG Animation screenshot test Change 3836076 by Max.Chen Sequencer: Fix audio volume and pitch multiplier deprecation. Change 3836230 by andrew.porter EngineTest: Adding Sequence Bone Position automation test Change 3836347 by Max.Chen Sequencer: Fixes to shot name parsing. When a shot doesn't contain a shot number, assume, [ShotName]_[TakeNumber]. When duplicating a shot, put the new shot in the same path of the original shot, so that the take numbers will increment properly. #jira UE-51868 Change 3836552 by Max.Chen Sequencer: Sub section now has a takes menu Change 3838094 by Max.Chen UMG: Fix template finish not getting called on stop. This fixes a bug where sections aren't restored when finished. #jira UE-52285 Change 3838708 by Max.Chen Sequencer: Add notification when the blend type is changed. #jira UE-54046 Change 3840295 by Max.Chen Sequencer: Fix copy/paste crash for lights #jira UE-54084 Change 3840957 by Mike.Zyracki Added Show Only Keyable and Show Only Animated to the filter list in the property editor. Added IsPropertyAnimated to IDetailKeyframe Interface which already had support for showing properties which are keyable (which is used for the key icon next to the properties.). Could have created another interface but then would have had to mimic the sequencer binding, releasing also, so this seemed best way. One issue still left is that custom built detail items currently don't store associated properties(usually) and so certain properties, in particulalry transforms, won't show up as keyable or animated. Note this also shows up with the keyable icon not showing up next to transform tracks, and other filters like Show Only Modified not working with transforms/customs. Not sure best way to tackle this. #jira UESEQ-328 Change 3841756 by Max.Chen Sequencer: Fix unbound possessable components when pasting spawnables. #jira UE-54104 Change 3843950 by andrew.porter EngineTest: Renaming LevelStreaming tests/content to LevelVisibility Change 3844082 by Mike.Zyracki Missing file for animated filter in property editor. When finding if a track is animated we need to find it but we can't easily induce the MovieTrack class for any particular property. So we don't set a class for it and just search by it's ID and name. #jira UESEQ-328 Change 3846902 by Max.Preussner ImgMedia: Fixed image media player never finished initialization if loading failed #jira UE-54247 Change 3849820 by Mike.Zyracki Reassigning deleted widgets didn't work since the menu extender mechanism needs a valid UObject in order to perform an operation on it. So to fix we replaced GetObjectBindingContextMenuExtender in WidgetBlueprint with new delegate mechanism (OnBuildCustomContextMenuForGuid) that supports FGuid in addition to UObjects which is needed to handle re-binding deleted widgets. Note that the default sequencer hacks this for replacing deleted actors in SequencerObjectBindingNode to check to see if a LevelSequence is active. We could move to this mechanism there also. #jira UE-53163 Change 3852211 by Max.Chen UMG: Indicate name of the property that is not bound. #jira UE-54350 Change 3854120 by Max.Chen Sequencer: Fix sibling folders being allowed to have the same folder name. #jira UE-54363 Change 3854627 by Max.Chen Sequencer: Step to next/previous key should work for all tracks if there aren't any selected. #jira UESEQ-391 Change 3855825 by andrew.porter EngineTest: Adding animation blending automation test Change 3855950 by andrew.porter EngineTest: Adding correct expected valuues to animation blending test Change 3856237 by Matt.Hoffman UESEQ-336 - Sequencer Track Reordering Adds the ability to re-order Master Tracks, Folders and Object Bindings within sequencer hierarchies (including UMG). Adds the ability to do a one-off sorting of the content under the old sorting behavior if the user wants to reset their layout to how it was under legacy behavior. Modifies SequencerTrackNodes, SequencerFolderNodes and SequencerObjectBindingNodes to handle CanDrop/OnDrop for above, below and ontop of. Fixes a Slate Issue that forcibly expanded a TreeviewRow if an item handled OnDrop. Slate will now only forcibly expand the row if the item says the drop happened ontop of the item, and not above or below it like it previously did. Change 3856503 by andrew.porter EngineTest: Adding automation test for using animation blueprint with blend multi node in sequencer Change 3857875 by Max.Chen Sequencer: Assign the sequence id after the template is compiled. #jira UE-54462 Change 3858344 by Max.Chen Sequencer: Prevent Goto and Transform boxes from overlapping by allowing them to be visible at the same time in an autosized horizontal box. Also, added close button to the goto box. PR #4425: Prevent Goto and Transform boxes from overlapping in Sequencer ... (Contributed by projectgheist) #jira UE-54210 Change 3860566 by andrew.porter MediaFrameworkTest: Set the option to index 0 for the audio and video track list by default Change 3860654 by andrew.porter EngineTest: Enabling Camera Cut + FOV test Change 3860981 by andrew.porter EngineTest: Updating skeletal mesh tests with a delay after set playback position Change 3861256 by Max.Chen Sequencer: Add all bindings if none selected. #jira-54440 Change 3862154 by Andrew.Rodham Added TimeManagement module Change 3862424 by andrew.porter EngineTest: Turned on the test Bone Positions with Blend Multi Node Change 3862573 by andrew.porter EngineTest: Adding test to compare bone positions in a sequence that is blending an animation that is using an AnimBP Change 3865117 by Max.Chen Sequencer: Stop auto scroll on mouse release of movement. #jira UE-31212 Change 3865303 by Max.Chen Sequencer: Add drag and drop transactions #jira UE-54662 Change 3865304 by Max.Chen Sequencer: Fix crash when an actor factory is not found. Change 3865361 by Max.Chen Sequencer: Don't change the camera/shot lock button when popping out of a sequence. #jira UE-54665 Change 3865412 by Max.Chen Sequencer: Determine whether a transform track is for a camera by using the spawned object or template #jira UE-54666 Change 3865685 by Max.Chen Sequencer: Clear autoscrub offset when stopping autoscroll #jira UE-31212 Change 3865886 by Max.Chen Sequence Recorder: Log an error if the number of frames changes while recording. This can happen if the skeleton changes while recording. #jira UE-48715 Change 3866925 by Andrew.Porter MediaFrameworkTest: Changing the current PNG test video image sequence to 1024 x 576 Change 3867705 by andrew.porter QAGame: Adding Audio Sort Sequence to dev folder Change 3867890 by andrew.porter QAGame: Adding a sequence for testing a sorting crash to my dev folder Change 3872628 by Max.Chen Movie Scene Capture: Split delay before warmup into split delay before shot warmup so that there's separate controls for when the movie scene capture warmups up vs. shot boundaries. Change 3873131 by Matt.Hoffman UE-54732 - Crash reordering a folder with a track. This was caused by folders being the only type of track to check if someone was putting a parent track into a child track. Object Binding tracks and Tracks now check as well so that you can't use the above/below drop targets to add parents as children. This also fixed a typo in the localization keys. #jira UE-54732 Change 3873301 by Mike.Zyracki Added ability to support continous euler angle changes when changing rotations, in particularly with the rotation gizmo's. To do this we effectively added a form an of 'euler filter'(https://en.wikipedia.org/wiki/Euler_filter) to find the closest euler angle to the current euler angle. Three functions were added to FRotator to make this possible, one to get the euler angle that's has the same rotation as it, one to get the difference between two euler angles via Manhattan distance and a third using the previous two to choose a Rotator value that's closest to it. We then use these functions before calling UComponent::SetRelativeRotation to make sure we use the correct Euler after the Quat conversion. We also no longer limit(bound) the euler angles to -180,180, which is obviously necessary to avoid flips. I also changed how we caluclate yaw and roll when pitch is -90 or 90 to make it the standard approach of zeroing out roll and just setting yaw. Main reasons are the previous implementation had precision issues so things like 180, 90, -180 would show up due to numbers being nearly zero but negative,(this would break any smooth interpolations), and this facilitates having a 'gimbal' rotation mode (like Maya, Blender etc..) if we ever want that also. If needed we could keep the previous implementation but would need to add some FMath::IsNearlyZero checks, with less performance. Note we only do this special filtering when applying delta's to actors or components in the editors, which then call UComponent::SetRelativeRotationExact, which is a new function to foces the RelativeRotation to be equal to the new rotation. This allows us to store un-nomalized Rotators at the cost that the RotationCache may be broken. We didn't change any of the other UComponent functions that set rotations (via Quats or Transforms) so they will still be bounded and unwound. In SetInternalWorldLocationAndRotation we only set the rotation if the rotation has changed, which fixes the rotation getting changed and re-normalized if just translate happens. In TransformTrackEditor, we correclty use the bUndwing flag and in MovieScene3DTransformSection there was an un-needed winding check there, it will be unwound earlier if needed, which happens if Sequence Recording is happening. Max we should talk about what to do about this . Note the euler angle drag via the widget is still bound to 0-360. I think we should just unbound that now since the rotations value are now unbound. This review now includes fixes suggested by Zak. #jira UE-UE-22228 Change 3873483 by Matt.Hoffman Sequencer Tracks can now be inserted above the spacer at the bottom of the tree. #jira UE-54706 Change 3873899 by Max.Chen Sequencer: Add section selection throbbing Change 3873908 by Max.Chen Movie Scene Capture: Added logging per frame Change 3873924 by Matt.Hoffman Adds the ability to store Sequence Recorder setups into profiles that stay with the map and can be re-loaded later. Profiles store the Actor Recordings so the settings for each actor should carry with them. #jira UESEQ-339 Change 3874726 by Matt.Hoffman Disable drag-and-drop targets on spacers that come between rows in Sequencer. This prevents extra drag/drop targets showing up between each row. #jira UE-54706 Change 3874862 by Matt.Hoffman Audio Track no longer gets reordered when adding sub-audio tracks, as sub-tracks are no longer counted towards the sorting order index when normalizing indexes. #jira UE-54727 Change 3875905 by Matt.Hoffman Disable Fade Track UI if a fade track already exists in the sequence. #jira UESEQ-393 Change 3876163 by Max.Chen Sequencer: Swap the camera object to the camera component's owner if it's not the same. #jira UE-54874 Change 3876971 by Andrew.Porter EngineTest: Moved Media Player Seek test to new folder. Also enabled the test with new ground truth image. Change 3877040 by Max.Chen Cine Camera: Split camera properties to two groups, "Camera Options" and "Camera Settings". The cine camera now hides properties in the "Camera Settings" group so that properties like bConstrainAspectRatio (in the "Camera Options" group) can be visible. #jira UE-54192 Change 3877763 by Max.Chen Curve Editor: Fix curve changed on end drag so that only curves that had keys/tangents that were changed receive notification, otherwise all loaded curves were getting notified that they were changed. #jira UE-54951 Change 3878234 by Matt.Hoffman Disable "Drop Below" targets for Sequencer Tree nodes to prevent a confusing UX issue where dropping underneath a Object Binding Node puts it after the object binding node but the UI looks like it's inserting it inside the Object Binding node. #jira UE-54743 Change 3879359 by Mike.Zyracki If a track is inactive we dim it a bit which seems to be the UE4 way to show inactive or disabled state. We changed the active logic so that all subtracks need to be inactive for the track to also be inactive(instead of all active for active). This conforms to how the active state actually works, e.g if you have two sections and only one is active the track is still active above it. #jira UESEQ-388 Change 3879462 by Max.Chen Sequencer: Allow dragging onto a particular row which would move out any overlapping sections to make space for the newly created section. Newly created sections are now selected and throbbed to draw attention to themselves. #jira UE-54664 Change 3879464 by Max.Chen Sequencer: Fixed overlapping ranges being inserted into the evaluation field during compilation - The issue was that track segments that had been combined with adjacent segments (due to them being identical) would potentially cause a subsequently compiled frame to overlap with a range that had already been inserted into the evaluation field. - The insertion code previously asserted that only minor overlaps were catered for (due to fp rounding errors) and assumed that a supplied range could not entirely contain any other range in the field. - The solution is to supply the insertion time along with the range to know exactly where the data should live in the field, and crop the range to the maximum allowable space between adjacent ranges. #jira UE-54922 Change 3879590 by Matt.Hoffman Items that are now added to the Sequencer via the "+Track" menu will be selected after being added. Items can now be added inside of folders instead of just to the root level. #jira UE-27397 Change 3879612 by Mike.Zyracki Display Nodes with no children are always active. #jira UESEQ-388 Change 3879730 by Matt.Hoffman Sequence Recorder's actor recording groups now remove items from the group when removed via the UI. #jira UESEQ-339 Change 3880256 by Mike.Zyracki Fix issue with inactive display with folders and other track nodes. #jira UESEQ-388 Change 3883491 by Max.Chen Fix issue where tick is skipped due to last ticked pose isn't cleared after AnimInstance changes. Copy from Release-4.19 #jira UE-51323 Change 3883603 by Max.Chen Movie Scene Capture: Add option toggle disable screen percentage. By default this is on (no change in current behavior). #jira UE-51898 Change 3885074 by Max.Preussner MediaCompositing: Resetting media texture & freeing resource on section end; removed dead code Change 3887220 by Max.Preussner MediaCompositing: Defaulted media section duration to 1 sec (since we do not know the actual duration in most cases) Change 3887478 by Matt.Hoffman Sequences now show [Inactive] in their title bars when they're disabled. This helps communicate why a sequence isn't being evaluated. #jira UE-51469 Change 3888985 by Max.Chen Movie Scene Capture: Clamp HDR Compression Quality between 0 and 1. #jira UE-55136 Change 3893519 by Max.Chen Sequence Recorder: Clarified tooltip for bRecordNearbySpawnedActors - spawned actors will still be recorded if they match the ActorFilter. #jira UE-55238 Change 3893546 by Max.Chen Sequence Recorder: If a selected actor already has a recording, add a blank recording. #jira UE-55239 Change 3894044 by Max.Preussner MediaCompositing: Added support for seeking into a media section Change 3894310 by andrew.porter MediaFrameworkTest: Adding Img media sources for 1080 and 2160 ravent test content Change 3894426 by Max.Preussner MediaAssets: Letting media textures with AutoClear retain their clear color when player is reset Change 3895717 by Max.Chen Sequencer: Null checks to prevent crash when saving the default state of a spawnable #jira UE-55304 Change 3897388 by Max.Chen Sequencer: Don't update current time to be within the view range when stepping into a sequence. #jira UE-55322 Change 3897452 by Max.Chen Audio: Fix crash when trying to record audio without any active capture devices. Log warning if the number of input channels is not 1 or 2. #jira UE-55223 Change 3897619 by Max.Preussner MediaCompositing: Removed commented out code Change 3898072 by Max.Chen Sequencer: Override the animation asset in the player state if it doesn't match the animation asset that's being evaluated. #jira UE-55328 Change 3898272 by Max.Preussner MediaPlayerEditor: Made slate brush constants static Change 3898704 by Max.Chen Sequencer: Skip if the binding id's sequence can't be found. #jira UE-55337 Change 3899855 by Max.Preussner MediaCompositingEditor: Added cache state visualization to media track Change 3900300 by Max.Preussner MediaCompositingEditor: Added loop indicators to media sections Change 3900694 by Max.Preussner ImfMedia: Looping cache only when player is looping Change 3900892 by Max.Preussner Stats: Added stats category for media framework Change 3900954 by Max.Preussner MediaCompositing: Don't evaluate at the end of media section Change 3901348 by Max.Preussner Core: Replaced TLruCache autos for better readability Change 3901655 by Max.Preussner ImgMedia: Added more perf stats to EXR reader Change 3901972 by Max.Preussner MediaAssets: Added getter for media player in media sound components Change 3902233 by Max.Preussner MediaAssets: Enabling media textures to receive samples right after player is assigned Change 3902238 by Max.Preussner MediaCompositing: Working around init/shutdown idiosyncracies in sequencer Change 3904045 by Max.Chen Sequencer: Fix copy/paste crash. Only process UMovieSceneCopyableBinding and objects that can be spawned by the movie scene spawn register. #jira UE-55314 Change 3905605 by Max.Chen Sequencer: Restrict spawnables from being created if they have a ClassWithin that UMovieScene is not a child of. #jira UE-55429 Change 3906550 by Max.Chen Sequencer: Add media track icon #jira UE-55480 Change 3907101 by Max.Chen Sequence Recorder: Fix bugs related to not recording a level sequence. There were certain assumptions that creating a level sequence meant that sequence recording was in progress. This is not always the case - the recorders can record animation assets and not create a level sequence. Changed the notion of IsRecording() to having at least one actor recording that is recording. Countdown timer, recording displays, etc should function if IsRecording() and not based on whether a level sequence is created. #jira UE-55485 Change 3907247 by Max.Chen Sequence Recorder: Fix crash not removing PrepareToCleanseEditorObject delegate. Repros when opening sequence recorder, closing it, and then opening or creating a level. Change 3910343 by Max.Preussner Core: Added async helper for executing functions on a given thread pool Change 3910346 by Max.Preussner ImgMedia: Added separate thread pools for loading/decoding and deleting image frames Change 3910829 by Max.Preussner Profiler: Increased visible range of profiler graph Change 3910841 by Max.Preussner MediaCompositing: Displaying asset name instead of full media source path in media section Change 3910870 by Max.Preussner ImgMedia: Using deallocation thread pool only in debug builds Change 3919642 by Max.Chen Sequence Recorder: Clarify active tooltip #jira UE-55661 Change 3919660 by Max.Chen Sequencer: Sequence template source signatures are now also compared to catch the case where a sub-sequence asset has been saved but not modified - The following sequence of events exposes this issue: - Create a master sequence with a single shot that spawns a cube - Add this sequence to a level and set it to auto-play - Save everything and restart - Resave just the inner shot asset without opening it - PIE - The inner shot never spawns its cube because its template was wiped on save, but its signature never changed. Since the master sequence previously didn't check the template source signature, it ends up trying to evaluate an empty template. #jira UE-55626 #jira UE-55490 Change 3921825 by Max.Chen Sequencer: "Run Construction Script in Sequencer" is off by default for blueprints but on for Sequencer. This allows the content author to switch it on for specific blueprints and sequencer will be default, run those with construction scripts enabled. Change 3922232 by Max.Chen Sequence Recorder: Reset countdelay on stop. #jira UE-55755 Change 3922306 by Max.Chen Sequence Recorder: Don't automatically mark transforms to be recorded by sequence recorder. Instead, log a warning if the user toggled it off to warn that the resulting animation might not match gameplay. #jira UE-55758 Change 3922912 by Max.Chen Sequence Recorder: Fix refresh next sequence name #jira UE-55757 Change 3927654 by Max.Chen Movie Scene Capture: Added format mapping for the name of the current camera #jira UE-55769 PR #4537 Change 3927658 by Max.Chen Sequencer: Added fbx property mapping for "FocusDistance" to "FocusSettings.ManualFocusDistance" #jira UE-55782 Change 3932022 by Max.Chen Sequencer: Add import animation track section to next available row index. #jira UE-55892 Change 3933919 by Max.Chen Sequencer: Jump to playback start frame and not 0 to start playback for recording. #jira UE-55933 Change 3934307 by Andrew.Rodham Sequencer: Add template signature that is re-generated every time the base template is regenerated, which invalidates evaluation fields This fixes an issue where the same sequence is instantiated multiple times in a sequence. If the source sequence was saved, its template would be wiped, which would invalidate the template ID When an instance tries to evaluate the master template, it would only invalidate a range in the evaluation field that was the hull of any invalid sub sequences overlapping the current time, potentially leaving invalid data in the evaluation field at positions later (or earlier) on in the sequence When the sub template was re-generated, it receives the same SequenceSignature as it had before (because the sequence hasn't actually changed), which causes the stale evaluation field data to fail the IsDirty check (because the sequence is the same as it thought, but the *template* has changed) This has been addressed be adding a signature to templates themselves, and checking both the template signature and sequence signature as a part of the IsDirty check. This ensures that we regenerate if either the template, or the sequence have changed. #jira UE-55934 Change 3936327 by Andrew.Rodham Sequencer: Removed increment when trimming right UMovieSceneSection::TrimSection already explicity assigns an exclusive bound to the time passed in. The new behavior means we can trim a section to the right, and insert another section without changing the time to create adjacent sections. #jira UE-42652 Change 3936328 by Andrew.Rodham Fixed KeyFrameManipulator assignment operators and copy/move constructors - These types are potentially self-referential so cannot use default constructors/assignment Change 3936330 by Andrew.Rodham Converted UMGSequencePlayer to use frames internally #jira UE-54878 Change 3936726 by Max.Chen Sequencer: Set track node as the parent of the key area node. The key area switcher needs the object binding id from the parent object binding node. Without this, the binding to the external value fails. #jira UE-55931 Change 3936775 by Max.Chen Sequencer: Should stop or loop should compare DurationFrames with Current Time from StartTime. The bug is that if you set 30 warmup frames in movie rendering for a range of 0-100, the FrameRange will be starting at -30 and have a duration of 130. Without this fix, the playback will continue until frame 130, rather than 100. #jira UE-55933 Change 3936935 by Matt.Hoffman Easing Curves are now represented in Play Rate resolution instead of internal resolution. #jira UE-55937 Change 3937069 by Matt.Hoffman Users can toggle if the is infinite on each side, limited by which tracks support infinite ranges. #jira UE-55891 Change 3937516 by Max.Preussner ImgMedia: Added support for single-threaded platforms #jira UE-55986 Change 3937826 by Max.Preussner MediaAssets: Disabling media sound components on HTML5 if AudioMixer is not enabled Change 3937997 by Max.Chen Curve Editor: Add Zoom to Fit Curves so that selected curves from Sequencer can be focused on. Tested that undo doesn't re-zoom. #jira UE-55935 Change 3938000 by Max.Chen Sequencer: Stop all sounds before generating audio waveforms. #jira UE-55951 Change 3938376 by Max.Preussner XGEController: Disabled XGE Controller in single-threaded apps to prevent crash Change 3938444 by Max.Preussner Core: Added async support for single-threaded applications Change 3938445 by Max.Preussner Networking: Added support for single-threaded applications in UDP socket sender/receiver Change 3938447 by Max.Preussner Messaging: Added support for single-threaded applications Change 3939432 by Max.Chen Sequence Recorder: Append command list to global level editor actions so that shortcuts are accessible in level editor. #jira UE-55798 Change 3940229 by Andrew.Rodham Added prospective display rate upgrade to UMovieScene::PostLoad - There was previously some very odd behaviour that would assign the fixed frame interval only when a sub sequence was focused in SSequencer. This meant that many sequences could have a frame interval of 0 set in the data. - Under the old method of snap interval display this would have fallen back to getting the display interval from the sequencer settings, but we no longer look at these. - The USequencerSettings properties have been removed and in their place, a prospective data upgrade for sequences that have a fixed frame interval old 0fps that sets the play rate to the previous defaults based off the old USequencerSettings defaults. - This could end up 'changing' the display rate for sequences where the user has changed the snap interval in the settings for a particular sequence editor, but there's not much we can do about that given we don't have access to the USequencerSettings classes in UMovieScene #jira UE-55919 Change 3940277 by Andrew.Rodham Sequencer: Added ability to default frame resolutions and play rates for newly created actor sequences Change 3940378 by Andrew.Rodham Sequencer: Post move import dialog now defaults to the playback framerate of the sequence, and floors to frame numbers Change 3940559 by Andrew.Rodham Reinstated primed or recording sequence color Change 3940642 by Max.Preussner ImagePlate: Removed image plate media playback functionality Change 3940843 by Max.Preussner Core: Made TCircularQueue actually thread-safe; improved code comments Change 3940860 by Max.Chen Sequencer: Changed StructNameToKey to StructPathToKey Previously, keying a PropertyPath of [RenderTransform][Shear][X] would get trimmed to X, which doesn't map to a channel name as considered by Sequencer2dTransformTrackEditor. Instead, trim the resulting property path to [Shear][X] so that track editors can determine the desired struct path and channels to key. #jira UE-52966 Change 3941292 by Mike.Zyracki Fix for trajectories out of range not showing up. 1) If we had no key data we would pop the time, so wouldn't get the section ranges. 2) Calculating of upper bound was wrong, checking against -1 and not key == num of keys when doing algo::lower_bound. 3) No need to do the Bck-- for the bakward iterators since we fixed #2. We start now from the upper bound correctly. 4) If we had no keys (at section start,end) we would incorrectly say we were any key type, so since we draw constant keys as dashed we would do so incorrectly around section end points. #jira UE-55929 Change 3941424 by Max.Chen Curve Editor: Change Zoom to Fit to use TArrayView Change 3941498 by Max.Preussner Core: Added FMath::DivideAndRoundNearest function Change 3942097 by Matt.Hoffman Drop Frame Timecode Support for NTSC rates. Change 3942104 by Matt.Hoffman Sequence Recorder Group is no longer visible inside the World Outliner after using one. #jira 55266 Change 3942107 by Max.Chen Sequencer: Resurrect logic to find or extend an existing section when adding keys. Change 3942330 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942339 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942507 by Andrew.Rodham Sequencer: We no longer pad the time overlap threshold with a small number that is not scaled by the current zoom level - The presence of this pad was causing keys that were far apart to be grouped when zoomed in a long way Change 3942509 by Andrew.Rodham Sequencer: Only pad total view range, rather than section range as well when retrieving keys to render - This stops us from rendering keys that are within the view range, but outside the section range Change 3942512 by Andrew.Rodham Added transactions to some sequencer details customizations Change 3942513 by Andrew.Rodham Sequencer: Reinstated validation checks to UMovieSceneSection::SetStartFrame and SetEndFrame, changed erroneous uses to use SetRange Change 3942560 by Andrew.Rodham Pass by rvalue reference to appease error C2719 on Win32 ('InChannels': formal parameter with requested alignment of 8 won't be aligned) Change 3942697 by Andrew.Rodham Newly Created Level Sequences and Actor Sequences now default to 24000 fps frame resolution (+/- ~24hrs range, supporting all integer rates + 23.976) Change 3942700 by Andrew.Rodham Sequencer: Added legacy out-of-bounds errors for times that are not supported by the current legacy upgrade frame resolution Change 3942989 by Max.Preussner Core: Fixed circular queue count calculation Change 3943538 by Max.Preussner MediaAssets: Reverted workaround for procedural audio log spam in HTML5 (Actor component initialization cannot be skipped if the component is used in a level) Change 3944071 by Max.Preussner QAGame: Fixed Media Texture keeps last frame of Media when PIE ends #jira UE-53360 Change 3944292 by Max.Chen Sequencer: Added extra flags to ensure that asset initialization does not occur on template actor sequences #jira UE-56113 Change 3944364 by Max.Chen Sequencer: Prevent circular shot/master tracks. Tested adding master -> child -> master as drag and drop cinematic shot tracks and sub tracks as well as through the + button. #jira UE-56091 Change 3944422 by Max.Chen Sequence Recorder: Disable transform recording if off. #jira UE-56061 Change 3944745 by Andrew.Rodham Sequencer: Key rendering fixes - Fixed assert that occured when keys happened to reside on some times due to KeyTime + TimeOverlapThreshold - KeyTime being slightly larger TimeOverlapThreshold - Fixed keys sometimes being clipped when zoomed right in due to lack of half-frame offset - Added missing documentation to MovieSceneTimeHelpers.h #jira UE-56107 Change 3945231 by Andrew.Rodham Sequencer: Reconstruct channel proxy on Serialize to catch all cases of undo/redo, PostLoad and duplication #jira UE-56089 Change 3945301 by Andrew.Rodham Sequencer: Added safety checks during initial sequence recording to guard against applying negative or 0-sized sequence ranges #jira UE-56125 Change 3946627 by Max.Preussner Fortnite: Fixed game crashes closing editor while in PIE - Pure virtual function being called #jira UE-56144 [CL 3946896 by Max Chen in Main branch]
2018-03-14 22:09:33 -04:00
TOptional<TRange<FFrameNumber>> RangeValue;
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3178529) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3149443 on 2016/10/03 by Max.Preussner MediaAssets: Better parameter names for MediaPlayer BP functions Change 3149756 on 2016/10/03 by Max.Chen Sequence Recorder: Set some settings to be clamped at 0 (sequence length, recording delay, audio gain, audio input buffer size, nearby actor recording proximity) #jira UE-35233 Change 3149795 on 2016/10/03 by Max.Chen Curve Editor: Set tangent to user when flattening or straightening tangents only when the tangent mode is auto and the interp mode is cubic. #jira UE-36734 Change 3150378 on 2016/10/04 by Max.Preussner PS4Media: Made video buffer sizes for file and HLS sources configurable (UE-36807) #jira UE-36807 Change 3151414 on 2016/10/05 by Max.Chen Sequencer: Fix case where restoring the last view target was getting skipped. It should always restore if the camera object and the unlock if camera actor object is null. #jira UE-35285 Change 3152038 on 2016/10/05 by Max.Preussner UdpMessaging: Code & documentation modernization pass Change 3152471 on 2016/10/05 by Max.Chen Cine Camera: Don't enable/disable actor ticking based soley on actor tracking since actor ticking is needed for other purposes. Instead, always enable actor ticking and only update actor tracking on tick if necessary. This fixes a bug where the cine camera actor won't tick if you hook in event tick. #jira UE-36625 Change 3152692 on 2016/10/05 by Max.Preussner Messaging: API code & documentation modernization pass Mostly removed shared pointer/ref typedefs as they prevent forward declarations and increase include complexity. Change 3153824 on 2016/10/06 by Max.Preussner Messaging: Renamed IConnectionBasedMessagingModule to ITcpMessagingModule and moved it into TcpMessaging I recommend that we refactor this API. The dependency should be reversed, i.e. instead of AndroidDeviceDiscovery depending on the TcpMessaging plug-in module, the Engine should provide a central registry that device discovery modules can notify, and that message transport plug-ins can register with and listen to OnConnectionAdded/Removed events etc. That way it supports an arbitrary number of transport plug-ins, and the Engine is not coupled to any of them. This functionality is not necessarily related to messaging, and the Messaging API is transport agnostic anyway. I'll think about this some more. Change 3153826 on 2016/10/06 by Max.Preussner Messaging: Removed remaining typedefs in IMessageTracer to enable forward declaration and reduce include dependencies Change 3153857 on 2016/10/06 by Max.Chen Sequencer: Set snap time to dragged key on by default. Change 3153980 on 2016/10/06 by Max.Preussner SessionServices: Removed typedefs; code and documentation modernization pass Change 3154313 on 2016/10/06 by Max.Chen Sequencer: Set the paste keys time to the current time, rather than the mouse time. Change 3154332 on 2016/10/06 by Max.Chen Sequencer: Remove click to rename shot functionality in the shot thumbnail. Added rename shot to the shot context menu. Change 3154377 on 2016/10/07 by Max.Chen Sequencer: Add ability to step to beginning and ends of sections/shots using the hotkeys: , and . Change 3154788 on 2016/10/07 by Max.Chen Sequencer: Fix offsets that created when moving multiple sections. The offsets were being created because section bounds were being generated for all sections except for the current section. Instead, they should be computed for all sections except for any that aren't being moved. #jira UE-29152 Change 3159274 on 2016/10/11 by Max.Preussner Core: Documentation fixes Change 3159275 on 2016/10/11 by Max.Preussner UdpMessaging: Added missing header Change 3160746 on 2016/10/12 by Max.Preussner MediaAssets: Added BP functions to query width, height, and aspect ratio of UMediaTexture instances #jira UE-37241 Change 3160975 on 2016/10/12 by Max.Preussner PS4Media: Better logging for SetRate failures Change 3160995 on 2016/10/12 by Max.Preussner MediaPlayerEditor: Fixed Media player selection is ignored if media specifies player overrides (UE-37248) #jira UE-37248 Change 3161066 on 2016/10/12 by Max.Preussner PS4Media: Enforcing minimum 8 byte alignment for media allocations Change 3161069 on 2016/10/12 by Max.Preussner PS4Media: Fixed log spam when setting play rate to current rate Change 3162567 on 2016/10/13 by Max.Preussner PS4Media: Made track switching code more readable Change 3163447 on 2016/10/14 by Max.Preussner PS4Media: Fixed array out of bounds assertions Change 3163772 on 2016/10/14 by Max.Preussner MfMedia: Fixed a number of timing related issues Change 3163980 on 2016/10/15 by Max.Chen Sequencer: Remove folder name numeric padding so that the naming convention is similar to creating objects in the level. Change 3164581 on 2016/10/17 by Andrew.Rodham Sequencer: Ensure global pre-animated state is restored in reverse order Change 3164582 on 2016/10/17 by Andrew.Rodham Sequencer: Ensure pre animated state is restored for all actor components before saving default state Change 3164583 on 2016/10/17 by Andrew.Rodham Sequencer: Re-enabled support for pre and post roll Change 3165464 on 2016/10/17 by Max.Chen Sequencer: Default number frame handles to 0 so that there's no change in behavior when rendering out a master sequence of shots. Handle frames need to enabled explicitly by the user. Copy from Release-4.14 #jira UE-37416 Change 3165483 on 2016/10/17 by Max.Chen Sequencer: Enable restore state for attach section completion Change 3165771 on 2016/10/18 by Andrew.Rodham Sequencer: Force evaluate when rendering thumbnails #jira UE-37321 Change 3166057 on 2016/10/18 by Andrew.Rodham Sequencer: Only set defaults for tracks that have no keys, and where the requested default has changed #jira UE-37285 Change 3166218 on 2016/10/18 by Max.Preussner MediaPlayerEditor: Failure opening media, even though it opened successfully (UE-37470) #jira UE-37470 Change 3166247 on 2016/10/18 by Max.Preussner WmfMedia: Showing progress bar while media is being resolved Change 3166289 on 2016/10/18 by Max.Preussner MfMedia: Showing progress bar while media is being resolved Change 3166993 on 2016/10/18 by Max.Preussner MfMedia: Fixed info string not reset on media close. Change 3166999 on 2016/10/19 by Max.Preussner Media: Fixed NV12 and NV21 support Change 3167008 on 2016/10/19 by Max.Preussner Media: Removed vertical NV12 alignment Change 3167029 on 2016/10/19 by Max.Preussner WmfMedia: Temp fix for RGB32 encoded AVIs rendering upside-down and too bright (UE-37505) #jira UE-37505 Change 3168593 on 2016/10/19 by Max.Chen Sequencer: Change paste at time to local time, so that the paste happens in the local time of the sequence rather than the global time if pasting in a shot level sequence. Change 3168626 on 2016/10/19 by Max.Chen Sequencer: Clamp to view bounds should snap to frame if frame snapping is on. Change 3168627 on 2016/10/19 by Max.Chen Sequencer: Initialize working and view range to be 10% larger than playback range. Change 3168760 on 2016/10/20 by Max.Preussner Media: Revamped media texture buffer management to support padded frames Added support for Windows bitmap buffers. Fixed a number of format, conversion and/or looping issues in WmfMedia and MfMedia. Not all shaders have been updated yet. Change 3169640 on 2016/10/20 by Max.Chen Sequencer: Add current camera to FLevelSequencePlayerSnapshot. Adjust DefaultBurnIn to include a few more parameters like focal length and focus distance. #jira UE-37407 Change 3170677 on 2016/10/21 by Max.Chen Movie Scene Capture: Add toggle to override engine scalability settings to cinematic scalability. #jira UE-36560 Change 3170710 on 2016/10/21 by Max.Preussner Media: Optimized handling of RGB input Change 3170712 on 2016/10/21 by Max.Preussner Media: Fixed NV21 conversion shader scaling Change 3170923 on 2016/10/21 by Max.Preussner UBT: Copied XboxOne project generator fix from Fortnite CL# 3170868 Change 3171494 on 2016/10/23 by Max.Chen Sequencer: Fix fbx export from master sequence not finding bound objects. #jira UE-35752 Change 3171506 on 2016/10/23 by Max.Chen Sequencer: Draw where in and out points of the shot section are, just like subsequences do. Change to only draw the green starting line if StartOffset is negative. #jira UE-35473 Change 3171743 on 2016/10/24 by Andrew.Rodham Editor: Added support for detail customizations on root structs - Also added the ability to add external struct data onto a detail category builder, and property type customization. Change 3171752 on 2016/10/24 by Andrew.Rodham Sequencer: Fixed spawnable ownership - Spawnables are no longer destroyed when the cursor leaves the master playback range. - Spawnable ownership now operates as it previously did before the evaluation rework. - bIgnoreOwnershipInEditor has been removed since its existence was a work around for when we didn't evaluate sub sequences from the master sequence. - FMovieSceneSequenceID is now a struct so that it can be used in array properties - Meta data now exists for each segment of an evaluation field. Currently this only includes the sub sequence IDs that exist at that time, but it may be expanded to include all evaluation entities (tracks + sections) in future so we don't have to calculate that at runtime. Change 3171756 on 2016/10/24 by Andrew.Rodham Sequencer: Added ability to trigger events with parameters - It's now possible to supply an event payload on event track keys which are to be passed to a given event. The structure must match the signature of the event, or a warning will be emitted. - Added a templated TGenericKeyArea, TKeyFrameManipulator and TCurveInterface that allow to generic manipulation of keyframe section data. In time we will port the other key areas over to this representation. - This new architecture affords the common manipulation of time-based keyframes in a value-agnostic manner. Change 3172935 on 2016/10/24 by Max.Preussner MediaPlayerEditor: Fixed MediaPlayer asset not being dirtied when creating media sound wave or texture for it Change 3173947 on 2016/10/25 by Max.Preussner SlateRemote: Disabled plug-in, but enabled server by default Change 3174510 on 2016/10/26 by Max.Chen Sequencer: Fix slomo track crash #jira UE-37802 Change 3174698 on 2016/10/26 by Andrew.Rodham UMG: Fixed objects bound to a panel slot animating their slot's content instead of the slot itself #jira UE-37775 Change 3174780 on 2016/10/26 by Max.Preussner MediaAssets: Accepting decoder defined buffer dimensions for RGB buffers Change 3174789 on 2016/10/26 by Max.Preussner MediaPlayerEditor: Showing desired player name instead of current player name if no media loaded Change 3174817 on 2016/10/26 by Max.Preussner WmfMedia: Added support for Motion JPEG (MJPG) Change 3174825 on 2016/10/26 by Max.Preussner WmfMedia: Added support for non-RGB32 uncompressed formats Change 3174834 on 2016/10/26 by Max.Preussner MediaPlayerAssets: Allow pausing while buffering media Change 3174886 on 2016/10/26 by Andrew.Rodham Core: Fixed range test that was testing incorrect behavior Change 3174889 on 2016/10/26 by Andrew.Rodham Sequencer: Fixed AssignActor behavior - Also ensure that cached object state is invalidated when playback context changes #jira UE-37798 Change 3174905 on 2016/10/26 by Andrew.Rodham Sequencer: Changed assert when failing to create an audio component to a log message - Audio no longer plays when GEngine->UseSound() is false #jira UE-37772 Change 3174980 on 2016/10/26 by Andrew.Rodham Sequencer: Remove warning when event endpoint could not be found for a given context #jira UE-37824 Change 3175001 on 2016/10/26 by Andrew.Rodham Sequencer: Evaluate sequence with EMovieScenePlaybackStatus::Jumping on Pause. - Also protect Pause() against reentrancy when being called from an event Change 3175012 on 2016/10/26 by Max.Chen Sequence Recorder: Fixes an empty working and view range after recording. On StopRecording() update playback range after nullifying the current sequence so that the playback range isn't empty. Added SetViewRange and SetWorkingRange. #jira UE-34191 Change 3177760 on 2016/10/28 by Max.Chen Sequence Recorder: Don't update the current sequence name if it's already set. This fixes a bug where if you pass in a sequence name to record to, it gets reset to the name in the sequence recorder settings. #jira UE-37808 Change 3178529 on 2016/10/28 by Max.Chen Matinee to Level Sequence: Added interface to extend the matinee to level sequence converter #jira UE-37328 #2864 [CL 3178562 by Max Chen in Main branch]
2016-10-28 15:04:38 -04:00
RangeValue = TimeSliderArgs.SubSequenceRange.Get(RangeValue);
if (!RangeValue.IsSet() || RangeValue->IsEmpty())
{
return LayerId;
}
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 4044339) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3947021 by Max.Chen Sequencer: Don't preserve root component when copying object properties. A spawnable empty actor, has a root component that is generated by the empty actor factory. If the object template's root component is preserved when copying from the spawnable empty actor, the root component will not be copied over. Therefore, we need to NOT preserve the root component when copying object properties. #jira UE-55825 Change 3947366 by Max.Preussner WmfMedia: Better log output Change 3947367 by Max.Preussner MfMedia: Better detection of compressed format properties on Windows Change 3949102 by Max.Chen Sequencer: Remove SequenceActorTag when converting to possessable. #jira UE-56206 Change 3949207 by andrew.porter EngineTest: Set the screenshot nodes resolution to 1280x720 Change 3949404 by Max.Chen Sequencer: More informative tooltip for "Rerun Construction Scripts" option. It now says "Rerun construction scripts every frame on actors that have 'Rerun Construction Script in Sequencer' enabled in their class settings". Change 3950067 by Matt.Hoffman Renamed UAutomatedLevelSequenceCapture's StartFrame and EndFrame to CustomStartFrame/CustomEndFrame to reflect that it is user-overriden. This will also resolve upgrade issues due to the variable datatype changing. #jira UE-56189 Change 3950193 by JohnHenry.Carawon Updating my latest MovieRendering test content. Change 3950757 by JohnHenry.Carawon More updates to MovieRendering test content Change 3952059 by Max.Chen Resave LevelVisibility_SubLevels to fix data loss conversion warning of OpacityMaskConstant #jira UE-56086 Change 3952283 by Max.Chen Sequencer: Disable dropping level sequence assets as spawnables. #jira UE-56120 Change 3952422 by Max.Chen Sequence Recorder: Add button to record from the current player. #jira UE-55942 Change 3952987 by JohnHenry.Carawon MovieRendering Test Content - Fixing camera bindings and changing the override binding actor Change 3953823 by Mike.Zyracki Fix for Bad FBX Import Tangents not scaled by frame rate. After looking at this again it seems that a set of MovieScene:: overiddes for the channel traits wasn't set correctly, so use the ADL idiom to use MovieScene, which can then call Optimize in the correct namespace. With this we can now correctly use the passed in tolerance. There was also a redundant set of Optimize calls so that it could happen twice so removed them, and needed an extra check in the float channel Optimize. Also since we need to set auto tangents no matter if we optimize we don't set that parameter(though leave it since it's used by context menu key reduction). Finally fixed speed issue with trajectories caused by calculating way too many substeps. Reverted back to a time based step size for consistency. #jira UE-56193 Change 3954317 by Matt.Hoffman Adding a key to the last frame of a section no longer causes a crash. Keys can already be moved to be on the last frame of a section so now you can just add a key there directly. #jira UE-56255 Change 3954326 by Matt.Hoffman Dilating a section that is only infinite on one side no longer causes a crash. #jira UE-56260 Change 3954486 by Max.Chen PR #4580: Exposes IsReversed() from UMovieSceneSequencePlayer (Contributed by alanedwardes) Change 3955238 by Max.Preussner Messaging: Enabled delayed message routing https://github.com/EpicGames/UnrealEngine/pull/4574 #jira UE-56247 Change 3955901 by Max.Preussner MediaFrameworkTest: Added developer test for overriding desired media player plug-in at runtime. Change 3955922 by Andrew.Porter QAGame: Updating movie rendering content in dev folder Change 3956004 by andrew.porter QAGame: Adding MPC track to movie rendering test content Change 3956510 by Max.Chen Sequencer: Fix fbx camera import of static properties so that they are imported before default tracks are created. Otherwise, the default tracks inherit the default properties of the camera, rather than the values from the fbx. #jira UE-56311 Change 3957613 by Max.Preussner MediaUtils: Added code documentation to media player facade Change 3958005 by Max.Preussner MediaUtils: Added method to get number of sinks Change 3958934 by Max.Chen Sequencer: Fix keys getting added and sequence getting erroneously re-evaluated when auto key is off. Only apply defaults if there are no keys. Only modify the movie scene section before creating keys or setting defaults. #jira UE-55903 Change 3959687 by Andrew.Rodham Sequencer: Fixed visibility track external values being inverted #jira UE-56324 Change 3960507 by Max.Preussner Core: Fixed incorrect rounding in FMath::DivideAndRoundNearest Change 3962047 by JohnHenry.Carawon MovieRendering Test Content Changes: - Add Lightmass Importance Volumes to sublevel to fix warnings - Rebuilt Lighting - Add a third sequence for Gamut testing - Resaved the sound master.uasset to fix warning Change 3962211 by Mike.Zyracki Add Frame Numbers to selected animation sections. Added MapTimeToAnimation to MovieSceneSkeletalAnimation so that we could get it from the Skeleton Animation track Editor. Since the thickness of the frame line can change based upon frame rate and zoom we need to calculate it similarly to how the time slider controller does it. Those calculations were private so we had to expose FScrubRangeToScreen and GetScubberPixelRange from the TimeSliderController. Also needed to know if the section itself was selected so added a bIsSelected flag to the section Painter. Also fixed a bug where you couldn't add a section if other sections existed at different times in MovieScenePropertyTrack and could crash due to the check(). #jira UESEQ-395 Change 3962497 by Max.Preussner Core: Added new string formatting argument to FTimespan Change 3963662 by Max.Chen CineCamera: Flip VistaVision width and height. Change 3963731 by Max.Preussner MediaCompositing: Implemented sequence recording support for media track Change 3964195 by Andrew.Rodham Sequencer: Set inverted property correctly for newly created visibility track sections - Also clamp evaluation for key editors to the bounds of the section so we're not displaying values outside of the section bounds when the cursor is not on the bounds #jira UE-56324 #coderevew Max.Chen Change 3964196 by Andrew.Rodham Sequencer: Fixed crash when attempting to render sections that resulted in a negative intersection with the view range Change 3964275 by Andrew.Rodham Sequencer: Fixed MovieScene::ClampToDiscreteRange for infinite range bounds Change 3964364 by Andrew.Rodham Curve Editor: Reduce minimum vertical view range when zooming to fit Change 3965091 by Max.Chen Sequencer Recorder: Refresh next sequence if empty when starting a recording, otherwise, use existing name. #jira UE-56469 Change 3965148 by Max.Chen Sequence Recorder: Move Record to Possessable to "Actor Recording" group Change 3965162 by Max.Chen Sequence Recorder: Always break out of immersive mode when done recording, even when stopping recording during countdown. #jira UE-56407 Change 3965214 by Max.Preussner QAGame: Enabled ImagePlate plug-in Change 3965574 by Max.Preussner SimpleComposure: Reorganized & upgraded content to work with new Media Track #jira UE-56488 Change 3965651 by Max.Preussner MediaCompositing: Ignoring seek-on-open if media not seekable Change 3966075 by Christina.TempelaarL Sequencer: Added Final Cut Pro 7 XML Export functionality #jira UESEQ-358 Change 3966087 by Matt.Hoffman Adding a single key to the Particle Toggle track now makes an infinite range section that is displayed in the UI. #jira UE-56295 Change 3966547 by Andrew.Rodham Sequencer: Fixed rounding errors when drawing the section background on boolean sections - Logic was using time in sectonds which caused rounding errors on evaluation and flickering red/green stripes when dragging keys around #jira UE-56324 Change 3966563 by Andrew.Rodham Curve Editor: Key editor interface improvements - SKeyEditInterface has a few problems - it does not update in real time when editing properties, and does not support multi-edit which makes it unsuitable for use with the curve editor - We now take a different approach for editing keys by gathering a set of proxy UObjects for each key that is currently selected. These objects are added as top level objects to the details panel which means they support multi edit as you'd expect from any other details panel in the editor. - Proxy objects are updated every tick for the curve editor if they implement the ICurveEditorKeyProxy interface, which allows them to refresh their current value. - Ideally, the same mechanisms would be used in the main sequence interface, and we would be generating the proxy classes at runtime based on the key value type, but that work remains a separate task from this initial offering. #jira UE-56165 Change 3966564 by Andrew.Rodham Curve Editor: Expand to frame when adding or moving keys in the curve editor Change 3967051 by andrew.porter MediaFrameworkTest: Set the CameraPlayer_Video texture to auto clear Change 3967141 by Andrew.Rodham Sequencer: Keep track of spawned objects that have been modified and only re-save such object's default spawnable state on destruction - Now that we're taking this approach, I've remove serveral redundant bits of functionality in the spawn register such as making some spawnables read-only, and the PreSave binding for Sequencer. - We now hook into all object pre-saves to make sure we handle the case where the sequences are saved through the content browser or elsewhere. #jira UE-47686 Change 3967170 by Andrew.Rodham Sequencer: Added the ability to possess anim instances as object bindings - This allows full and direct animation of properties on UAnimInstance, and animation blueprints - Object Bindings are made by first possessing a skeletal mesh component, then choosing the + Add button where its anim instance will be listed - Added a new function to UMovieSceneSequence to gather previously cached objects that should now be invalidated. Anim instances will be re-resolved if a new UAnimInstance is assigned to USkeletalMeshComponent::GetAnimInstance. - ObjectBindingIDs for anim instances are just represented by an entry in a set of GUIDs. We only ever resolve such bindings through USkeletalMeshComponent::GetAnimInstance. - Only currently supported on LevelSequences #jira UE-56132 Change 3967195 by Max.Preussner Core: Updated TRangeSet to use TCallTraits Change 3967345 by JohnHenry.Carawon Test Content Changes - first iteration of spacing out the examples in the shots. Change 3967572 by Max.Chen Sequencer: Fix setting PreviousPlayEvalPosition until after we've tested whether it's set. #jira UE-56518 Change 3967750 by Max.Chen Audio: Set duration based on number of input channels, rather than number of channels to serialize. This fixes an issue where audio split into 2 channels is set to a duration that's twice as long. #jira UE-56430 Change 3967836 by Max.Chen Sequencer: Allow for animating array elements within ustruct properties #jira UE-55887 Change 3968506 by Matt.Hoffman Fixed ambiguous conversions for seconds and frames being overriden by ambiguous conversion to Timecode (in frames). Change 3968748 by Max.Chen Sequencer: Make the event properties submenu widget larger. #jira UE-55557 Change 3968862 by Max.Chen Sequencer: Recursive expansion when shift is down #jira UE-52139 #pr 4194 Change 3968863 by Max.Chen Sequencer: Bind rename command to selected track so that F2 shortcut start renaming #jira UE-52139 #pr 4194 Change 3968872 by Max.Chen Sequencer: Rekey the selected key at the current time. #jira UESEQ-396 Change 3968938 by Max.Chen Cine Camera: Add option to toggle the behavior of locking the rail mount to the orientation of the spline. By default, the option is off, no change in behavior. #jira UE-55815 Change 3968958 by Andrew.Rodham Sequencer: Consider vertical position when hittesting keys #jira UE-56256 Change 3969643 by Max.Preussner Core: Rounding timespans created from double values towards nearest ticks Change 3969646 by Max.Preussner MediaUtils: Implemented timeout mechanism for block-on-fetch feature Change 3969776 by Mike.Zyracki Added Skip Anim Notifiers Toggle per what was in Matinee. Investigated the Enable Root Motion toggle as also discussed but it's implementation is directly contained by the animation asset and unlike animation notifies there seems to be no exposure to interactively disable it during a playback tick. Note if we are generating thumbnails we still automtically disable notifies in the editor to avoid annoying noise playback. Note that if Enable Root Motion/Root locked is specified in the animation asset it does correctly effect the Sequencer. #jira UESEQ-399 Change 3969835 by Matt.Hoffman Playback Range and Selection Range use unified logic for adding themselves as potential snap locations which properly handles inclusive/exclusive bounds. This resolves an issue where having an unset selection range caused a potential snap location to be added on frame 0 and 1 (internal resolution) which caused a misalignment when placing objects near frame 0. This also removes the one frame offset on setting Selection Range to bring behavior inline with other ranges. #jira UE-55420 Change 3969885 by Max.Preussner MediaAssets: Don't register media player CDO with media ticker Change 3971129 by Andrew.Rodham Sequencer: Fixed UMovieSceneSequencePlayer::GotToEndAndStop() not taking into account for start time This is a remnant from when the times were always specified in 0-duration space, rather than actual sequence times. Change 3972056 by JohnHenry.Carawon More updates to Test Content. I continued spacing out the examples in the sequence so that they have a consistent number of frames between each example and during the start/end of the example. Also removed the Marcie sublevel. Change 3972066 by Andrew.Porter MediaFrameworkTest: Setting Marcie folder to be never cooked in package settings Change 3972675 by Matt.Hoffman Splitting Subsequence Sections no longer sets an incorrect playback range on the subsequence when the subsequence has a different internal resolution than the owning sequence. #jira UE-55453 Change 3973376 by Max.Preussner ImgMedia: Zero is the only valid video track for image sequences Change 3973489 by Max.Preussner Launch: Build rules cleanup pass - don't use Media, MediaUtils on server apps - don't link against Media (include-only dependency) - don't include from MediaAssets (dynamic load only) Change 3973760 by Max.Preussner MediaUtils: Moved AppMediaTimeSource implementation into its own file; added logging Change 3973765 by Max.Preussner ImgMedia: Disallowing seek beyond media length Change 3973855 by Max.Preussner MediaFrameworkTest: Updated developer test content Change 3973858 by Max.Preussner MediaCompositing: Blocking on media player time instead of media sample time (the former may not be hit in the current frame) Change 3974988 by Max.Chen Sequencer: Fix trim left so that it also sets the start offset for audio and skeletal animation sections. #jira UE-57015 Change 3976101 by Matt.Hoffman Sequencer will now focus the scroll view on newly created items. #jira UE-56492 Change 3976203 by Max.Chen Property Editor: Add DetailsViewArgs for ColumnWidth. Defaults to 0.65f, no change in existing behavior. Change 3976205 by Max.Chen Sequencer: Set better column widths for sequencer. #jira UE-55557 Change 3976206 by Max.Chen Sequencer: Added menu category for import/export Change 3976265 by Matt.Hoffman Tracks within Object Binding Nodes will now sort using the old behavior so that components are added above other track types. #jira UE-56473 Change 3976901 by Max.Chen Sequencer: Add event names to event track section #jira UESEQ-353 Change 3977878 by Max.Preussner Media: Moved media framework ticking stats into Media module Change 3977982 by Max.Chen Sequencer: Add Edit->Reset section length to duration of source (ie. audio, skeletal animation, shot length) Added MovieSceneSection::GetDefaultDuration and MovieScene::HasDefaultDuration #jira UESEQ-392 Change 3977994 by Max.Preussner Media: Fetching and rendering media samples before viewports are rendered (to ensure frame sync for in-level media playback) #jira UE-53975 Change 3978188 by Matt.Hoffman Easing Curves are now clipped by the sequence's PlayRange when testing against an infinite section. This causes blended sequences to finish their blend when the section starts/ends instead of always using 25% of the total section length to determine default blend range. #jira UE-56362 Change 3978676 by Max.Preussner MediaCompositing: Fixed first frame of rendered out media track missing #jira UE-53975 Change 3978684 by Max.Preussner MediaCompositing: Enabled media track frame sync feature #jira UE-53975 Change 3980026 by Matt.Hoffman Keys can be selected on folded out sections (such as an audio track expanded to show volume and pitch) again. #jira UE-57169 Change 3981614 by Max.Preussner MediaUtils: Added missing subtitle sample queue flush Change 3982311 by Max.Preussner MediaCompositing: Added safeguard for zero length media sources Change 3982389 by andrew.porter QAGame: Adding media track test content into FrameAccuracySubscene Change 3983661 by Max.Chen Sequencer: Add level name to spawn a spawnable into. Add sublevel menu option to set the level #jira UESEQ-390 Change 3983712 by Andrew.Rodham Sequencer: Purge legacy blueprint spawnables from LevelSequence packages #tests Ran a preflight for cooking fortnite, ocean and Orion. Only orion shows up this edge case, and will require a re-save of the EndCines level #jira UE-39173 Change 3983787 by Max.Preussner MediaCompositing: Moved compile time switch for block-on-fetch into media player facade Change 3983812 by Andrew.Rodham Sequencer: Exposed default level sequence instance data to blueprints Change 3984373 by Max.Preussner Media: Added API for quering whether player plug-in supports block on fetch Block on fetch allows Sequencer and other systems to block the game thread until a desired video frame has been decoded. Change 3984670 by JohnHenry.Carawon Movie Rendering Test Content progress. Saving the state of the content. There is a bug where things got replaced with particle emitters and I think it was because I tried to copy paste an animation track into a separate skeletal mesh track. Change 3985097 by Max.Chen Sequencer: Rename Reset to AutoSize Change GetAutoSizeDuration to return TOptional<FFrameTime> #jira UESEQ-392 Change 3986043 by Max.Chen Sequencer: Fix crash when attach/path duration is less than 0. #jira UE-57310 Change 3986373 by Max.Chen Sequencer: Add support for deleting tracks and channels which equates to setting the channel mask. #jira UE-52951 Change 3986375 by Max.Chen Sequencer: Add Create Pose Asset to skeletal animation section. This allows animators to blend animations in sequencer and create new pose assets from them. #jira UESEQ-408 Change 3986796 by Andrew.Rodham Sequencer: Fixed stale object references remaining in ULevelSequence::BindingReferences when using convert to spawnable/possessable - We used to convert objects by creating a new binding, then re-assigning its GUID, which meant we didn't have to do any further object fixup, but the code to achieve this was confusing and led to a vulnerability where object references would not be cleaned up correctly due to the newly created possessable essentially being a temporary object that's immediately thrown away. - To address this, there is now a function for porting all the contents of one object binding to another, and handles the correct fixup required for parent/child object bindings for both spawnables and possessables. - Also added codepath to remove any stale object references from the level sequence reference map on PostLoad (this piggy-backs off the PurgeLegacyBlueprints object version which is close close enough to this change to be identical) #tests Verified that existing sequences with stale references get cleaned up on load. Verified that repreatedly converting from spawnable<->possessable cleans up references correctly. Change 3987807 by JohnHenry.Carawon Updates to the MovieRendering Test Content. - Fixed the spawnable actors that were overwritten - Shortend the Lighting example and combined the Intensity and Color tracks - Organized the Sequence and WorldOutliner to group the examples. Change 3988151 by Max.Chen Cine Camera: Enable keying the "Enable Look at Tracking" toggle. Change 3988880 by Max.Chen Sequencer: Support enter to add asset for all sequencer track editors that have asset pickers. #jira UE-57367 Change 3988953 by Max.Chen Sequencer: Make the track color picker focusable so that it will close when you click away or lose focus. #jira UE-57210 Change 3988962 by Max.Chen MovieSceneCapture: Fix EDL export so that it takes into account movie scene frame resolution and desired frame rate. #jira UE-57365 Change 3988964 by Max.Chen Movie Scene Capture: Clarified tooltip for bRelativeFrameNumbers. If you specify custom start/end frames for the recording, they will be relative to the playback range. #jira UE-57308 Change 3989442 by Max.Chen Fix CIS Change 3991548 by Matt.Hoffman Dragging the time slider no longer causes the time slider to ignore snap-to-interval with "Snap to Keys While Scrubbing" when no keys are in range. #jira UE-57417 Change 3991598 by Matt.Hoffman Snap to Key while scrubbing now mirrors the behavior of "jump to next key". When there are no tracks selected it snaps to all keys and when there are tracks selected it snaps to only keys from that track. This also resolves an issue where deleting an object did not remove it from the Sequencer's selection. Undoing a delete already doesn't seem to restore your selection, so removing it from your selection shouldn't change that behavior. #jira UE-57417 Change 3991603 by Max.Chen Sequencer: Disable EditAnywhere for some section properties #jira UE-53530 Change 3992240 by Max.Preussner MediaAssets: Implemented dynamic audio sample rate adjustment based on audio/media clock drift #jira FORT-70638 Change 3992911 by Andrew.Rodham Sequencer: Fixed saving spawnable state using the wrong spawned object - We now track the object binding ID so that we can apply the spawned object to the correct spawnable when the asset is saved #jira UE-57353 Change 3992914 by Max.Chen Movie Scene Capture: Fix compression quality not being set. The compression interface wasn't being found through query interface, so no compression was being set. Reworked finding it through the output pins. Tested running various compression values. #jira-UE-55488 Change 3992919 by Max.Chen Sequencer: Convert to possessable now uses object template instead of copying properties (ie. see LevelSequenceActorSpawner). This fixes MIDs getting lost when converting to spawnable and back to possessable. #jira UE-52400 Change 3993184 by Max.Chen Sequencer: Don't show +Transform/+Path/+Attach track if the actor has the "Mobility" property hidden. Set the Landscape, LandscapeProxy and InstancedFoliage "Mobility" property to be hidden since it is static is not supposed to be dynamically movable. #jira UE-56347 Change 3993238 by Max.Chen Sequencer: Test for hidden mobility in creating keys as well. Refactored to HasHiddenMobility() #jira UE-56347 Change 3993978 by Max.Chen Cine Camera: Enable keying the "Enable Look at Tracking" toggle. #jira UE-57489 Change 3994039 by Max.Chen Landscape: Add Mobility to hidecategories on landscape component #jira UE-56347 Change 3994626 by JohnHenry.Carawon Updated Movie Rendering Test Content. - Fixed the overridden spawnables to their proper object types. Change 3994653 by Christina.TempelaarL Sequencer: Added Final Cut Pro 7 XML Import functionality, improved Export functionality #jira UESEQ-358 Change 3995609 by Max.Chen UMG: Add support for 2d transform mask (translation, rotation, scale, shear) #jira UE-52951 Change 3995778 by JohnHenry.Carawon Movie Rendering Test Content Updates - Adjusted Lights example - Adjusted Camera example - Added Marcie sublevel back in Change 3995942 by JohnHenry.Carawon QAGame: Moving Movie Rendering test content from Developer folder to Sequencer folder Also adjusted level visibility, lights and camera example. Change 3995993 by Christina.TempelaarL Sequencer: FCPXML Export updates - only export sections if in playback range and media exists, warn if media does not exist. Other updates - removed unused methods and variables, fixed message context naming to be more accurate #jira UESEQ-358 Change 3996595 by andrew.porter QAGame: Updating Marcie content in TrackEvaluation level to use Image Plate Change 3996614 by andrew.porter QAGame: Adding color test sequence to the sublevel Change 3996643 by Max.Chen Sequencer: Fix fbx animation export - rotation and scale channels were flipped. #jira UE-57509 #jira UE-57512 #jira UE-57514 Change 3996652 by Max.Preussner Messaging: Fixed delayed messaging using incorrect current time after message router sleep Based on https://github.com/EpicGames/UnrealEngine/pull/4601 Change 3996801 by Max.Chen Sequencer: Fix folder active state for non key area sections. Look at track node sections as well as key areas. #jira UE-57550 Change 3997098 by Matt.Hoffman Cleaned up some remaining ToDo's in STimeRange. Change 3998339 by Max.Preussner Sockets: Added documentation for socket receive functions Change 3998359 by Max.Preussner MediaUtils: Started to implement media recorder helper class Currently only supports BGRA frames in CPU memory. Supporting other formats and buffer types will require conversions on render-thread. I recommend refactoring out the existing conversion code in FMediaTextureResource into a reusable helper class in the MediaUtils module. This should be a good starting point though. Change 3998417 by Matt.Hoffman Keys and Sections can now be moved at the same time inside of Sequencer. Keys can now snap to Sections (and vice versa) instead of just to other Keys. Sections can now be duplicated like keys can. #jira UE-56995 Change 3998427 by JohnHenry.Carawon QAGame: Updating test content for the Movie Rendering feature. - Added an auto activate particle to the beginning of the sequence (it's not part of the sequence at all) - Added an event receiver blueprint to the Events example - Added a particle emitter to both sublevels - Added a camera cut to the end that switches to a separate camera - The camera zoom in, focus and Look At sections are all separate (not overlapping in the sequence) - Added a second actor for the camera Look At - Added a Visibility section for the Actor Hidden In Game track that has possessable and spawnable cube and light Change 3998537 by Max.Chen Sequence Recorder: Restore immersive mode when stopping the sequence even if not in PIE. #jira UE-56407 Change 3999809 by Matt.Hoffman Removed the "Go To" box from Sequencer and instead placed the current time as an always visible control. The previous shortcut (Ctrl + G) now focuses the new widget directly. #jira UESEQ-376 Change 4000543 by Christina.TempelaarL Sequencer: Moving editor-only code from runtime module MovieSceneCapture to editor module MovieSceneTools. Moved EDL and FCP XML exporters as well as Automated Level Scene Capture. #jira UESEQ-358 Change 4000706 by Matt.Hoffman Entering multiple time strings without a number no longer crashes Sequencer. #jira UE-57672 Change 4001051 by andrew.porter MediaFrameworkTest: Fixing up some image sources pointing to the wrong location Change 4001191 by andrew.porter QAGame: Adding some quick EDL/XML test content to dev folder Change 4001243 by Max.Chen Sequencer: Fix import EDL out of range. #jira UE-57665 Change 4001856 by Matt.Hoffman Selecting keys and sections at the same time now also works with animation and audio sections. #jira UE-57716 Change 4002021 by Max.Chen Sequence Recorder: Fix sequence name incrementing. If external recording sets the sequence name, use it. Otherwise, use the recording name from the recording group or the recording settings. #jira UE-57712 Change 4002618 by Max.Chen Viewport: Update the look at location when updating to a locked actor. This fixes an issue so that popping the view out of a locked actor and manipulating the view will not jump to the previous look at location. #jira UE-57725 Change 4002979 by Matt.Hoffman Fixes several edge cases with the end time range that was causing confusion about what the last frame of the sequence was. Dragging the End Frame slider will no longer be off by one tick and jumping to the end via the UI controls now properly respects snapping and stays inside the play range instead of falling outside of it. Overall behavior does not change though and End Frame should be considered an exclusive frame so that frames 0-150 results in a 150 frame long animation (which is frames 0-149). #jira UE-56367 Change 4003185 by Matt.Hoffman Fixed a regression that prevented a section from being dragged upwards past row 0 which normally resulted in all other rows moving down. #jira UE-57717 Change 4003193 by JohnHenry.Carawon QAGame: Updates to test content - Shortened frames between the examples from 95 to 30 - Separated camera setting tracks - Lighting example now switches directly from constant red - green - blue Change 4003369 by Max.Chen Sequence Recorder: Refresh next sequence regardless of internally stored sequence name. #jira UE-55757 Change 4003586 by JohnHenry.Carawon QAGame: Test Content Updates - Level Visibility track now ends to that the levels are not visible when we move to the next example - Shortened camera section, removed Z tranform so that we just move left to right and shortened the overall length Change 4004414 by Max.Chen Movie Scene Capture: Fix regression where rendering with shot handles would only render the first shot. 3972166 addressed an issue where an extra frame would be rendered by finalizing right when the end frame was reached. This was hit on the first shot end frame, so instead, do this only for when the last shot is being rendered. #jira UE-57314 Change 4004765 by Christina.TempelaarL Sequencer: Fixed bugs in FCP XML import/export. - Export: fixed sequence default resolution. - Export: fixed XML files with no shots. - Export: all sections clipped to playback range. - Export: fixed incorrect section start/end times due to precision issues. - Import: fixed incorrectly adding cinematic tracks. - Import: fixed bugs creating new sections. #jira UE-57660 #jira UE-57662 #jira UE-57655 #jira UE-57761 Change 4005119 by Max.Chen Sequencer: Export/import at play rate Change 4005195 by Max.Chen UMG: Finish UMG evaluation on stop. Added object version so that existing UMG assets do not change. #tests - Newly created UMG animation with sections set to restore state now return to their original state. Existing UMG animations with sections set to restore state do not return to their original state. #jira UE-52285 Change 4005377 by Michael.Karambelas QAGame: Moving TM-SequenceRecorder and related content out of my developer folder and into /Content/Sequencer/SequencerRecorder/* Change 4005417 by Michael.Karambelas QAGame: Fixed a BP compiler in the Level Blueprint of TM-SequencerRecorder. Change 4005634 by Michael.Karambelas QAGame: Fix up missing content and broken level sequence in TM-SequenceRecorder after move Change 4006324 by Max.Chen Sequencer: Reset if the focused movie scene is null. This fixes a crash if the user is focused in on a shot and undo takes the user past the point of where the shot was created. #jira UE-57752 #jira UE-47661 Change 4007006 by Max.Chen Sequencer: Fix FindAvailableRowIndex so that it returns the max row index (and not +1) since it doesn't find any conflicting rows. #jira UE-57717 Change 4007907 by Max.Chen Sequencer: Fix crash if there's no animation Change 4007948 by andrew.porter QAGame: added test content to dev folder for Record World Space Change 4008636 by Max.Chen Sequencer: Fix import fbx not setting values properly and creating additional cameras unncessarily. #jira UE-57864 Change 4008759 by Max.Chen Sequencer: Follow up fix for import cameras #jira UE-57864 Change 4009994 by Matt.Hoffman Dragging the left or right handles of the Time Range slider in Sequencer will now zoom your view in on the current center of the screen. This prevents the view from being translating as you tried to zoom in which caused issues at high zoom levels. #jira UESEQ-407 Change 4010169 by Christina.TempelaarL Sequencer: FCP XML fixes. - FCP XML export - no longer clips to playback range - FCP XML and EDL export - fixed missing last frame of some sections after exporting to Premiere. - Automated level capture, EDL export - use RoundToFrame instead of FloorToFrame for computing section start/end frames after frame rate conversion. #jira UE-57802 - partial fix, movie scene capture still needs to render full section rather than clip against playback. Change 4010287 by Mike.Zyracki Add quaternion interpolation option to UMovieScene3DTransformSection. This mimics how Matinee used to work by bascially finding the keys between a time and interpolating the angles as quat's between them. As noted in the code the algorithm needs to handle the case when the x,y,z Rotation keys all aren't at the same time which was not handled by Matinee. Also like Matinee, when in quaternion interoplation mode, we need to not display the function cuves since the interpolated and key values are now all different. (Would like to show them but that's a bigger refactor for perhaps just a one off needed by quaternions). I added a virtual function UMovieSceneSection::ShowCurveForChannel for this since it needs to be dynamic, not on construction of IKeyArea's, and could be useful for other sections. I could though move the method to just UMovieScene3DTransformSection and do a cast instead. Looked into doing a unit test for this but after talking with Andrew P we will work on doign an automated test in EngineQA since that will provide more coverage. Will also add a video the jira. #jira UESEQ-403 Change 4010713 by Mike.Zyracki Added option to key a group of transform channels instead of just the changed channel, or all of them. This is useful for quaternion interpolations where you want rotation keys to be aligned but also useful for other workflows like animating FK Pose to Pose. Change 4010715 by Andrew.Porter MediaFrameworkTest: Setting LogMediaUtils logging from VeryVerbose to Verbose to cut back on the spam Change 4013048 by Max.Chen Sequencer: Fix play/jump status. Update the player status for all position methods (Scrub, Jump, Play). Jump means Stopped. Correctly use PlayTo or JumpTo based on position method. In PlayInternal, JumpTo with the Stopped state (rather than playing state). #jira UE-57844 Change 4013479 by andrew.porter QAGame: Added content in TM-SequenceRecorder to test recording a property on a Cine Camera Component; Press 3 to trigger manual focus distance to increment on a timer Change 4014323 by Max.Chen Sequencer: Fix SetPlaybackPosition so that it jumps or plays based on playback status. #jira UE-57844 Change 4015888 by Max.Chen Sequencer: Fix crash on paste. UMovieSceneSections were gathered from the track node's track. For sub track mode, we want to gather only those sections on that track node row. #jira UE-57951 Change 4015943 by Max.Chen Sequencer: Fix moving shots up when the mouse pos goes outside of the virtual track area. #jira UE-57717 Change 4016293 by Max.Chen Sequencer: Fix relative frame playback end frame calculation so that custom start/end frames remain in the space of the sequence and are not relative. #jira UE-57308 Change 4017075 by Andrew.Rodham Sequencer: Corrected initial evaluation range used when calling UMovieSceneSequencPlayer::Play() Change 4017270 by Christina.TempelaarL Sequencer: FCPXML importer and movie scene capture - Use CeilToFrame when converting section start/end frame times to frame numbers in FCPXML and movie scene capture. - Added support for clip metadata in FCPXML. - Got rid of redundant TokenizedError message class, no longer needed now that FCPXML is in editor directory. - Added log messages currently commented out due to exception, still testing. #UESEQ-358 Change 4018370 by Christina.TempelaarL Sequencer: fixed FCPXML log messages regarding sections with start/end not divisible by display rate. #UESEQ-358 Change 4018378 by Christina.TempelaarL Sequencer: fixed error in previous changelist. #UESEQ-358 Change 4019457 by Max.Chen Sequencer: Show event names only when the event track is selected #jira UE-57897 Change 4022806 by Max.Chen Sequencer: Fix crash on movie scene capture dialog shutdown if movie capture wasn't even started. #jira UE-58106 Change 4022894 by Max.Chen Sequence Recorder: Wrap OpenEditorForAssets after sequence recording within GIsEditor #jira UE-58084 Change 4024487 by Max.Chen Sequencer: Add tooltip for quat interpolation #jira UE-58113 Change 4024562 by Max.Chen Sequencer: Change path/attach track sequence binding id to currently focused sequence id so that bindings can be created in subsequences Change 4027414 by JohnHenry.Carawon QAGame: Checking in content that shows a bug with using particles systems and Delay Before Shot Warm Up. Change 4028990 by Max.Chen Sequencer: Fix evaluate sub sequences in isolation. This check was added with the compile on the fly logic. Not sure why it was necessary but it seems like the sub sequence data needs to be updated in order to evaluate sub sequences in isolation. #jira UE-58184 Change 4029004 by Max.Chen Sequencer: Ensure that old binding references are removed when re-assigning actors in sequencer #jira UE-57898 Change 4030997 by JohnHenry.Carawon QAGame: Fixing name of the master sequence Change 4031785 by Michael.Karambelas QAGame: Added an instance of ThirdPerson Run to TM-SequenceRecorder for Record to Possessable test. Change 4035548 by Andrew.Rodham Sequencer: Changed FMovieSceneEvaluationTemplate::TemplateSignature to be a serial number to address non-deterministic cooking issues - This commit is related to the repro steps found in 3914599 and 3934307, both of which have been verified with this new change. - Copy of 4031684 from //Fortnite/Main/... #jira FORT-84852 Change 4036312 by Max.Chen Sequencer: Fix zoom view range so that it uses the passed in InZoomDelta Change 4036318 by Max.Chen Sequencer: Auto size now returns a range and defaults to the channel proxy range so that keyed regions can also be autosized. Change 4036322 by Max.Chen Forgot missing change Change 4036360 by Max.Chen Sequencer: Fix play rate calculation when skeletal animation section play rate changes. Change 4037163 by Mike.Zyracki Weighted Tangent Implementation Tricky thing is that you need to solve a cubic in order to get the bezier weights for the time part of the curve. See https://www.gamedev.net/forums/topic/474094-help-function-curves-for-animation-interpolation/ Maya provides an implementation in it's dev kit but I didn't use it since it was horribly slow and uses an iterative solution to solve the cubic needed. Instead I use an old algorithm (Cardano's method), to solve the cubic which should be much faster. Though relative simple to code from principles I just went ahead and used a version from Graphics Gems 1. I put this cubic solver directly in MovieSceneFloatChannel.cpp, but will need to move it when we support Rich Curve, maybe to FMath:: (which would probalby require some other functions for solving quartics, etc.. for completeness.). Also note we resolve this on every evaluation but dont' need to if the interval the time is evaluating hasn't had any change in values or tangents. So again when we support FRichCurve we can create a Weighted Evaluating class that can hold the cache. Also with the tangent drags I got rid of the Cardinal position that was used to calculate non-weight tangents from the key point and just quickly getting a direction. With weighted tangents we need to use the delta instead (otherwise when moving multiple they would all get the same weight based upon distance to the cardinal point. ) For mixed tangents types what I'm defaulting to non weighted if the interval doesn't match. May need to do weighted instead, not sure. What's left is just FBX import, for tomorrow. #jira UESEQ-76 Change 4037435 by Mike.Zyracki Fix fo build warnings from weighted tangent submission. #trivial Change 4038091 by Michael.Karambelas QAGame: Updated a Sequence Recorder group in TM-SequenceRecorder that had an actor missing the animation. Change 4038374 by Andrew.Rodham Sequencer: Refined scrubber styling for level sequences and actor sequences - Scrubber now shows a block the width of a dsplay rate frame, plus a line for the actual evaluated time. UMG reverts back to the previous styling (no block) - Keys that are outside of the playback range are now drawn with a subdued effect - Tick labels are no longer drawn when directly underneath the scrubber Change 4038490 by Max.Chen Sequencer: Expose tangent weight values in details panel. Change 4038620 by Andrew.Rodham Sequencer: Advanced time panel polish #jira UESEQ-426 Change 4038677 by Max.Chen Movie Scene Capture: Redirector for MovieSceneTools.AutomatedLevelSequenceCapture #jira UE-58248 Change 4039739 by Max.Chen Sequencer: Media track should only be supported by Level Sequence Change 4040024 by JohnHenry.Carawon QAGame: Fix EventReciever and OverrideBinding example The level sequence was set to none so the fix was to set it back to TrackEvaluation_Master. Change 4040610 by Andrew.Rodham Curve Editor: Moved weighted tangent switchers to a single toggle command (CTRL+W) and added an icon #jira 58383 Change 4040882 by Mike.Zyracki Keep broken when turning on weighted #jira UE-58435 Change 4041089 by andrew.porter QAGame: Sequence for Long Tangents bug Change 4041498 by Mike.Zyracki Turn off weighted when going auto to prevent large tangents. Do it both in UI and when doing AutoSetTangents() to really make sure it doesn't happen. #jira UE-58452 Change 4041752 by andrew.porter MediaFrameworkTest: Adding some better logging for setting rates when not supported. Also ignoring commiting URL when there is no text Change 4041896 by Matt.Hoffman The transform dialog box now transforms selected keys and sections, instead of just keys. #jira UE-58265 [CL 4044405 by Max Chen in Main branch]
2018-05-02 10:10:00 -04:00
const FFrameRate Resolution = GetTickResolution();
const FFrameNumber LowerFrame = RangeValue.GetValue().GetLowerBoundValue();
const FFrameNumber UpperFrame = RangeValue.GetValue().GetUpperBoundValue();
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3946692) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3801826 by Max.Chen PR #4304: Level Sequence crash fix - Guarded against dereferencing null componen. (Contributed by DSDambuster) Change 3801828 by Max.Chen PR #4302: Movie Scene Visibility Template unitialised variable, causing random . (Contributed by DSDambuster) Change 3801837 by Max.Chen Sequencer: Delay spawning/construction for convert to possessable. This fixes a bug where property values would be lost when converting back and forth from possessable to spawnable. #jira UE-52400 Change 3801841 by Max.Chen Sequencer: Make spacer nodes not selectable. PR #4194: Improvements to Sequencer (Contributed by projectgheist) #jira UE-53117 #jira UE-52139 Change 3804183 by Max.Preussner MediaAssets: Added missing lock in media sound component Change 3805414 by Max.Preussner MediaAssets: Setting valid GUID when initializing media texture resource Change 3819578 by Max.Chen PR #4370: When enabling the "MovieCapture", do not turn off the Stereo-3D display. (Contributed by yehaike) #jira UE-53647 Change 3823414 by Max.Chen Curve Editor: Lock down the first and last keys in the redundant keys removal range so that they're unaffected. #jira UE-53591 Change 3826406 by Max.Chen Sequencer: Move OnStartedPlaying() to within first update in UpdateTimeCursorPosition(). This fixes an issue where setting the hud/player visibility was getting stomped on later. #jira UE-52772 Change 3827044 by Max.Preussner MediaAssets: Added sprite visualization to media sound component #jira UE-53594 Change 3827988 by Max.Preussner MediaPlayerAssets: Fixed Media Texture is not linked to Media Player when created together #jira UE-53532 Change 3828506 by Max.Preussner MediaPlayerEditor: Added attenuation visualizer for media sound components #jira UE-53594 Change 3832590 by andrew.porter EngineTest: Added a keep state check in Property Animation sequencer test Change 3833053 by andrew.porter EngineTest: Adding Hierarchical Bias test Change 3835683 by andrew.porter EngineTest: Adding UMG Animation screenshot test Change 3836076 by Max.Chen Sequencer: Fix audio volume and pitch multiplier deprecation. Change 3836230 by andrew.porter EngineTest: Adding Sequence Bone Position automation test Change 3836347 by Max.Chen Sequencer: Fixes to shot name parsing. When a shot doesn't contain a shot number, assume, [ShotName]_[TakeNumber]. When duplicating a shot, put the new shot in the same path of the original shot, so that the take numbers will increment properly. #jira UE-51868 Change 3836552 by Max.Chen Sequencer: Sub section now has a takes menu Change 3838094 by Max.Chen UMG: Fix template finish not getting called on stop. This fixes a bug where sections aren't restored when finished. #jira UE-52285 Change 3838708 by Max.Chen Sequencer: Add notification when the blend type is changed. #jira UE-54046 Change 3840295 by Max.Chen Sequencer: Fix copy/paste crash for lights #jira UE-54084 Change 3840957 by Mike.Zyracki Added Show Only Keyable and Show Only Animated to the filter list in the property editor. Added IsPropertyAnimated to IDetailKeyframe Interface which already had support for showing properties which are keyable (which is used for the key icon next to the properties.). Could have created another interface but then would have had to mimic the sequencer binding, releasing also, so this seemed best way. One issue still left is that custom built detail items currently don't store associated properties(usually) and so certain properties, in particulalry transforms, won't show up as keyable or animated. Note this also shows up with the keyable icon not showing up next to transform tracks, and other filters like Show Only Modified not working with transforms/customs. Not sure best way to tackle this. #jira UESEQ-328 Change 3841756 by Max.Chen Sequencer: Fix unbound possessable components when pasting spawnables. #jira UE-54104 Change 3843950 by andrew.porter EngineTest: Renaming LevelStreaming tests/content to LevelVisibility Change 3844082 by Mike.Zyracki Missing file for animated filter in property editor. When finding if a track is animated we need to find it but we can't easily induce the MovieTrack class for any particular property. So we don't set a class for it and just search by it's ID and name. #jira UESEQ-328 Change 3846902 by Max.Preussner ImgMedia: Fixed image media player never finished initialization if loading failed #jira UE-54247 Change 3849820 by Mike.Zyracki Reassigning deleted widgets didn't work since the menu extender mechanism needs a valid UObject in order to perform an operation on it. So to fix we replaced GetObjectBindingContextMenuExtender in WidgetBlueprint with new delegate mechanism (OnBuildCustomContextMenuForGuid) that supports FGuid in addition to UObjects which is needed to handle re-binding deleted widgets. Note that the default sequencer hacks this for replacing deleted actors in SequencerObjectBindingNode to check to see if a LevelSequence is active. We could move to this mechanism there also. #jira UE-53163 Change 3852211 by Max.Chen UMG: Indicate name of the property that is not bound. #jira UE-54350 Change 3854120 by Max.Chen Sequencer: Fix sibling folders being allowed to have the same folder name. #jira UE-54363 Change 3854627 by Max.Chen Sequencer: Step to next/previous key should work for all tracks if there aren't any selected. #jira UESEQ-391 Change 3855825 by andrew.porter EngineTest: Adding animation blending automation test Change 3855950 by andrew.porter EngineTest: Adding correct expected valuues to animation blending test Change 3856237 by Matt.Hoffman UESEQ-336 - Sequencer Track Reordering Adds the ability to re-order Master Tracks, Folders and Object Bindings within sequencer hierarchies (including UMG). Adds the ability to do a one-off sorting of the content under the old sorting behavior if the user wants to reset their layout to how it was under legacy behavior. Modifies SequencerTrackNodes, SequencerFolderNodes and SequencerObjectBindingNodes to handle CanDrop/OnDrop for above, below and ontop of. Fixes a Slate Issue that forcibly expanded a TreeviewRow if an item handled OnDrop. Slate will now only forcibly expand the row if the item says the drop happened ontop of the item, and not above or below it like it previously did. Change 3856503 by andrew.porter EngineTest: Adding automation test for using animation blueprint with blend multi node in sequencer Change 3857875 by Max.Chen Sequencer: Assign the sequence id after the template is compiled. #jira UE-54462 Change 3858344 by Max.Chen Sequencer: Prevent Goto and Transform boxes from overlapping by allowing them to be visible at the same time in an autosized horizontal box. Also, added close button to the goto box. PR #4425: Prevent Goto and Transform boxes from overlapping in Sequencer ... (Contributed by projectgheist) #jira UE-54210 Change 3860566 by andrew.porter MediaFrameworkTest: Set the option to index 0 for the audio and video track list by default Change 3860654 by andrew.porter EngineTest: Enabling Camera Cut + FOV test Change 3860981 by andrew.porter EngineTest: Updating skeletal mesh tests with a delay after set playback position Change 3861256 by Max.Chen Sequencer: Add all bindings if none selected. #jira-54440 Change 3862154 by Andrew.Rodham Added TimeManagement module Change 3862424 by andrew.porter EngineTest: Turned on the test Bone Positions with Blend Multi Node Change 3862573 by andrew.porter EngineTest: Adding test to compare bone positions in a sequence that is blending an animation that is using an AnimBP Change 3865117 by Max.Chen Sequencer: Stop auto scroll on mouse release of movement. #jira UE-31212 Change 3865303 by Max.Chen Sequencer: Add drag and drop transactions #jira UE-54662 Change 3865304 by Max.Chen Sequencer: Fix crash when an actor factory is not found. Change 3865361 by Max.Chen Sequencer: Don't change the camera/shot lock button when popping out of a sequence. #jira UE-54665 Change 3865412 by Max.Chen Sequencer: Determine whether a transform track is for a camera by using the spawned object or template #jira UE-54666 Change 3865685 by Max.Chen Sequencer: Clear autoscrub offset when stopping autoscroll #jira UE-31212 Change 3865886 by Max.Chen Sequence Recorder: Log an error if the number of frames changes while recording. This can happen if the skeleton changes while recording. #jira UE-48715 Change 3866925 by Andrew.Porter MediaFrameworkTest: Changing the current PNG test video image sequence to 1024 x 576 Change 3867705 by andrew.porter QAGame: Adding Audio Sort Sequence to dev folder Change 3867890 by andrew.porter QAGame: Adding a sequence for testing a sorting crash to my dev folder Change 3872628 by Max.Chen Movie Scene Capture: Split delay before warmup into split delay before shot warmup so that there's separate controls for when the movie scene capture warmups up vs. shot boundaries. Change 3873131 by Matt.Hoffman UE-54732 - Crash reordering a folder with a track. This was caused by folders being the only type of track to check if someone was putting a parent track into a child track. Object Binding tracks and Tracks now check as well so that you can't use the above/below drop targets to add parents as children. This also fixed a typo in the localization keys. #jira UE-54732 Change 3873301 by Mike.Zyracki Added ability to support continous euler angle changes when changing rotations, in particularly with the rotation gizmo's. To do this we effectively added a form an of 'euler filter'(https://en.wikipedia.org/wiki/Euler_filter) to find the closest euler angle to the current euler angle. Three functions were added to FRotator to make this possible, one to get the euler angle that's has the same rotation as it, one to get the difference between two euler angles via Manhattan distance and a third using the previous two to choose a Rotator value that's closest to it. We then use these functions before calling UComponent::SetRelativeRotation to make sure we use the correct Euler after the Quat conversion. We also no longer limit(bound) the euler angles to -180,180, which is obviously necessary to avoid flips. I also changed how we caluclate yaw and roll when pitch is -90 or 90 to make it the standard approach of zeroing out roll and just setting yaw. Main reasons are the previous implementation had precision issues so things like 180, 90, -180 would show up due to numbers being nearly zero but negative,(this would break any smooth interpolations), and this facilitates having a 'gimbal' rotation mode (like Maya, Blender etc..) if we ever want that also. If needed we could keep the previous implementation but would need to add some FMath::IsNearlyZero checks, with less performance. Note we only do this special filtering when applying delta's to actors or components in the editors, which then call UComponent::SetRelativeRotationExact, which is a new function to foces the RelativeRotation to be equal to the new rotation. This allows us to store un-nomalized Rotators at the cost that the RotationCache may be broken. We didn't change any of the other UComponent functions that set rotations (via Quats or Transforms) so they will still be bounded and unwound. In SetInternalWorldLocationAndRotation we only set the rotation if the rotation has changed, which fixes the rotation getting changed and re-normalized if just translate happens. In TransformTrackEditor, we correclty use the bUndwing flag and in MovieScene3DTransformSection there was an un-needed winding check there, it will be unwound earlier if needed, which happens if Sequence Recording is happening. Max we should talk about what to do about this . Note the euler angle drag via the widget is still bound to 0-360. I think we should just unbound that now since the rotations value are now unbound. This review now includes fixes suggested by Zak. #jira UE-UE-22228 Change 3873483 by Matt.Hoffman Sequencer Tracks can now be inserted above the spacer at the bottom of the tree. #jira UE-54706 Change 3873899 by Max.Chen Sequencer: Add section selection throbbing Change 3873908 by Max.Chen Movie Scene Capture: Added logging per frame Change 3873924 by Matt.Hoffman Adds the ability to store Sequence Recorder setups into profiles that stay with the map and can be re-loaded later. Profiles store the Actor Recordings so the settings for each actor should carry with them. #jira UESEQ-339 Change 3874726 by Matt.Hoffman Disable drag-and-drop targets on spacers that come between rows in Sequencer. This prevents extra drag/drop targets showing up between each row. #jira UE-54706 Change 3874862 by Matt.Hoffman Audio Track no longer gets reordered when adding sub-audio tracks, as sub-tracks are no longer counted towards the sorting order index when normalizing indexes. #jira UE-54727 Change 3875905 by Matt.Hoffman Disable Fade Track UI if a fade track already exists in the sequence. #jira UESEQ-393 Change 3876163 by Max.Chen Sequencer: Swap the camera object to the camera component's owner if it's not the same. #jira UE-54874 Change 3876971 by Andrew.Porter EngineTest: Moved Media Player Seek test to new folder. Also enabled the test with new ground truth image. Change 3877040 by Max.Chen Cine Camera: Split camera properties to two groups, "Camera Options" and "Camera Settings". The cine camera now hides properties in the "Camera Settings" group so that properties like bConstrainAspectRatio (in the "Camera Options" group) can be visible. #jira UE-54192 Change 3877763 by Max.Chen Curve Editor: Fix curve changed on end drag so that only curves that had keys/tangents that were changed receive notification, otherwise all loaded curves were getting notified that they were changed. #jira UE-54951 Change 3878234 by Matt.Hoffman Disable "Drop Below" targets for Sequencer Tree nodes to prevent a confusing UX issue where dropping underneath a Object Binding Node puts it after the object binding node but the UI looks like it's inserting it inside the Object Binding node. #jira UE-54743 Change 3879359 by Mike.Zyracki If a track is inactive we dim it a bit which seems to be the UE4 way to show inactive or disabled state. We changed the active logic so that all subtracks need to be inactive for the track to also be inactive(instead of all active for active). This conforms to how the active state actually works, e.g if you have two sections and only one is active the track is still active above it. #jira UESEQ-388 Change 3879462 by Max.Chen Sequencer: Allow dragging onto a particular row which would move out any overlapping sections to make space for the newly created section. Newly created sections are now selected and throbbed to draw attention to themselves. #jira UE-54664 Change 3879464 by Max.Chen Sequencer: Fixed overlapping ranges being inserted into the evaluation field during compilation - The issue was that track segments that had been combined with adjacent segments (due to them being identical) would potentially cause a subsequently compiled frame to overlap with a range that had already been inserted into the evaluation field. - The insertion code previously asserted that only minor overlaps were catered for (due to fp rounding errors) and assumed that a supplied range could not entirely contain any other range in the field. - The solution is to supply the insertion time along with the range to know exactly where the data should live in the field, and crop the range to the maximum allowable space between adjacent ranges. #jira UE-54922 Change 3879590 by Matt.Hoffman Items that are now added to the Sequencer via the "+Track" menu will be selected after being added. Items can now be added inside of folders instead of just to the root level. #jira UE-27397 Change 3879612 by Mike.Zyracki Display Nodes with no children are always active. #jira UESEQ-388 Change 3879730 by Matt.Hoffman Sequence Recorder's actor recording groups now remove items from the group when removed via the UI. #jira UESEQ-339 Change 3880256 by Mike.Zyracki Fix issue with inactive display with folders and other track nodes. #jira UESEQ-388 Change 3883491 by Max.Chen Fix issue where tick is skipped due to last ticked pose isn't cleared after AnimInstance changes. Copy from Release-4.19 #jira UE-51323 Change 3883603 by Max.Chen Movie Scene Capture: Add option toggle disable screen percentage. By default this is on (no change in current behavior). #jira UE-51898 Change 3885074 by Max.Preussner MediaCompositing: Resetting media texture & freeing resource on section end; removed dead code Change 3887220 by Max.Preussner MediaCompositing: Defaulted media section duration to 1 sec (since we do not know the actual duration in most cases) Change 3887478 by Matt.Hoffman Sequences now show [Inactive] in their title bars when they're disabled. This helps communicate why a sequence isn't being evaluated. #jira UE-51469 Change 3888985 by Max.Chen Movie Scene Capture: Clamp HDR Compression Quality between 0 and 1. #jira UE-55136 Change 3893519 by Max.Chen Sequence Recorder: Clarified tooltip for bRecordNearbySpawnedActors - spawned actors will still be recorded if they match the ActorFilter. #jira UE-55238 Change 3893546 by Max.Chen Sequence Recorder: If a selected actor already has a recording, add a blank recording. #jira UE-55239 Change 3894044 by Max.Preussner MediaCompositing: Added support for seeking into a media section Change 3894310 by andrew.porter MediaFrameworkTest: Adding Img media sources for 1080 and 2160 ravent test content Change 3894426 by Max.Preussner MediaAssets: Letting media textures with AutoClear retain their clear color when player is reset Change 3895717 by Max.Chen Sequencer: Null checks to prevent crash when saving the default state of a spawnable #jira UE-55304 Change 3897388 by Max.Chen Sequencer: Don't update current time to be within the view range when stepping into a sequence. #jira UE-55322 Change 3897452 by Max.Chen Audio: Fix crash when trying to record audio without any active capture devices. Log warning if the number of input channels is not 1 or 2. #jira UE-55223 Change 3897619 by Max.Preussner MediaCompositing: Removed commented out code Change 3898072 by Max.Chen Sequencer: Override the animation asset in the player state if it doesn't match the animation asset that's being evaluated. #jira UE-55328 Change 3898272 by Max.Preussner MediaPlayerEditor: Made slate brush constants static Change 3898704 by Max.Chen Sequencer: Skip if the binding id's sequence can't be found. #jira UE-55337 Change 3899855 by Max.Preussner MediaCompositingEditor: Added cache state visualization to media track Change 3900300 by Max.Preussner MediaCompositingEditor: Added loop indicators to media sections Change 3900694 by Max.Preussner ImfMedia: Looping cache only when player is looping Change 3900892 by Max.Preussner Stats: Added stats category for media framework Change 3900954 by Max.Preussner MediaCompositing: Don't evaluate at the end of media section Change 3901348 by Max.Preussner Core: Replaced TLruCache autos for better readability Change 3901655 by Max.Preussner ImgMedia: Added more perf stats to EXR reader Change 3901972 by Max.Preussner MediaAssets: Added getter for media player in media sound components Change 3902233 by Max.Preussner MediaAssets: Enabling media textures to receive samples right after player is assigned Change 3902238 by Max.Preussner MediaCompositing: Working around init/shutdown idiosyncracies in sequencer Change 3904045 by Max.Chen Sequencer: Fix copy/paste crash. Only process UMovieSceneCopyableBinding and objects that can be spawned by the movie scene spawn register. #jira UE-55314 Change 3905605 by Max.Chen Sequencer: Restrict spawnables from being created if they have a ClassWithin that UMovieScene is not a child of. #jira UE-55429 Change 3906550 by Max.Chen Sequencer: Add media track icon #jira UE-55480 Change 3907101 by Max.Chen Sequence Recorder: Fix bugs related to not recording a level sequence. There were certain assumptions that creating a level sequence meant that sequence recording was in progress. This is not always the case - the recorders can record animation assets and not create a level sequence. Changed the notion of IsRecording() to having at least one actor recording that is recording. Countdown timer, recording displays, etc should function if IsRecording() and not based on whether a level sequence is created. #jira UE-55485 Change 3907247 by Max.Chen Sequence Recorder: Fix crash not removing PrepareToCleanseEditorObject delegate. Repros when opening sequence recorder, closing it, and then opening or creating a level. Change 3910343 by Max.Preussner Core: Added async helper for executing functions on a given thread pool Change 3910346 by Max.Preussner ImgMedia: Added separate thread pools for loading/decoding and deleting image frames Change 3910829 by Max.Preussner Profiler: Increased visible range of profiler graph Change 3910841 by Max.Preussner MediaCompositing: Displaying asset name instead of full media source path in media section Change 3910870 by Max.Preussner ImgMedia: Using deallocation thread pool only in debug builds Change 3919642 by Max.Chen Sequence Recorder: Clarify active tooltip #jira UE-55661 Change 3919660 by Max.Chen Sequencer: Sequence template source signatures are now also compared to catch the case where a sub-sequence asset has been saved but not modified - The following sequence of events exposes this issue: - Create a master sequence with a single shot that spawns a cube - Add this sequence to a level and set it to auto-play - Save everything and restart - Resave just the inner shot asset without opening it - PIE - The inner shot never spawns its cube because its template was wiped on save, but its signature never changed. Since the master sequence previously didn't check the template source signature, it ends up trying to evaluate an empty template. #jira UE-55626 #jira UE-55490 Change 3921825 by Max.Chen Sequencer: "Run Construction Script in Sequencer" is off by default for blueprints but on for Sequencer. This allows the content author to switch it on for specific blueprints and sequencer will be default, run those with construction scripts enabled. Change 3922232 by Max.Chen Sequence Recorder: Reset countdelay on stop. #jira UE-55755 Change 3922306 by Max.Chen Sequence Recorder: Don't automatically mark transforms to be recorded by sequence recorder. Instead, log a warning if the user toggled it off to warn that the resulting animation might not match gameplay. #jira UE-55758 Change 3922912 by Max.Chen Sequence Recorder: Fix refresh next sequence name #jira UE-55757 Change 3927654 by Max.Chen Movie Scene Capture: Added format mapping for the name of the current camera #jira UE-55769 PR #4537 Change 3927658 by Max.Chen Sequencer: Added fbx property mapping for "FocusDistance" to "FocusSettings.ManualFocusDistance" #jira UE-55782 Change 3932022 by Max.Chen Sequencer: Add import animation track section to next available row index. #jira UE-55892 Change 3933919 by Max.Chen Sequencer: Jump to playback start frame and not 0 to start playback for recording. #jira UE-55933 Change 3934307 by Andrew.Rodham Sequencer: Add template signature that is re-generated every time the base template is regenerated, which invalidates evaluation fields This fixes an issue where the same sequence is instantiated multiple times in a sequence. If the source sequence was saved, its template would be wiped, which would invalidate the template ID When an instance tries to evaluate the master template, it would only invalidate a range in the evaluation field that was the hull of any invalid sub sequences overlapping the current time, potentially leaving invalid data in the evaluation field at positions later (or earlier) on in the sequence When the sub template was re-generated, it receives the same SequenceSignature as it had before (because the sequence hasn't actually changed), which causes the stale evaluation field data to fail the IsDirty check (because the sequence is the same as it thought, but the *template* has changed) This has been addressed be adding a signature to templates themselves, and checking both the template signature and sequence signature as a part of the IsDirty check. This ensures that we regenerate if either the template, or the sequence have changed. #jira UE-55934 Change 3936327 by Andrew.Rodham Sequencer: Removed increment when trimming right UMovieSceneSection::TrimSection already explicity assigns an exclusive bound to the time passed in. The new behavior means we can trim a section to the right, and insert another section without changing the time to create adjacent sections. #jira UE-42652 Change 3936328 by Andrew.Rodham Fixed KeyFrameManipulator assignment operators and copy/move constructors - These types are potentially self-referential so cannot use default constructors/assignment Change 3936330 by Andrew.Rodham Converted UMGSequencePlayer to use frames internally #jira UE-54878 Change 3936726 by Max.Chen Sequencer: Set track node as the parent of the key area node. The key area switcher needs the object binding id from the parent object binding node. Without this, the binding to the external value fails. #jira UE-55931 Change 3936775 by Max.Chen Sequencer: Should stop or loop should compare DurationFrames with Current Time from StartTime. The bug is that if you set 30 warmup frames in movie rendering for a range of 0-100, the FrameRange will be starting at -30 and have a duration of 130. Without this fix, the playback will continue until frame 130, rather than 100. #jira UE-55933 Change 3936935 by Matt.Hoffman Easing Curves are now represented in Play Rate resolution instead of internal resolution. #jira UE-55937 Change 3937069 by Matt.Hoffman Users can toggle if the is infinite on each side, limited by which tracks support infinite ranges. #jira UE-55891 Change 3937516 by Max.Preussner ImgMedia: Added support for single-threaded platforms #jira UE-55986 Change 3937826 by Max.Preussner MediaAssets: Disabling media sound components on HTML5 if AudioMixer is not enabled Change 3937997 by Max.Chen Curve Editor: Add Zoom to Fit Curves so that selected curves from Sequencer can be focused on. Tested that undo doesn't re-zoom. #jira UE-55935 Change 3938000 by Max.Chen Sequencer: Stop all sounds before generating audio waveforms. #jira UE-55951 Change 3938376 by Max.Preussner XGEController: Disabled XGE Controller in single-threaded apps to prevent crash Change 3938444 by Max.Preussner Core: Added async support for single-threaded applications Change 3938445 by Max.Preussner Networking: Added support for single-threaded applications in UDP socket sender/receiver Change 3938447 by Max.Preussner Messaging: Added support for single-threaded applications Change 3939432 by Max.Chen Sequence Recorder: Append command list to global level editor actions so that shortcuts are accessible in level editor. #jira UE-55798 Change 3940229 by Andrew.Rodham Added prospective display rate upgrade to UMovieScene::PostLoad - There was previously some very odd behaviour that would assign the fixed frame interval only when a sub sequence was focused in SSequencer. This meant that many sequences could have a frame interval of 0 set in the data. - Under the old method of snap interval display this would have fallen back to getting the display interval from the sequencer settings, but we no longer look at these. - The USequencerSettings properties have been removed and in their place, a prospective data upgrade for sequences that have a fixed frame interval old 0fps that sets the play rate to the previous defaults based off the old USequencerSettings defaults. - This could end up 'changing' the display rate for sequences where the user has changed the snap interval in the settings for a particular sequence editor, but there's not much we can do about that given we don't have access to the USequencerSettings classes in UMovieScene #jira UE-55919 Change 3940277 by Andrew.Rodham Sequencer: Added ability to default frame resolutions and play rates for newly created actor sequences Change 3940378 by Andrew.Rodham Sequencer: Post move import dialog now defaults to the playback framerate of the sequence, and floors to frame numbers Change 3940559 by Andrew.Rodham Reinstated primed or recording sequence color Change 3940642 by Max.Preussner ImagePlate: Removed image plate media playback functionality Change 3940843 by Max.Preussner Core: Made TCircularQueue actually thread-safe; improved code comments Change 3940860 by Max.Chen Sequencer: Changed StructNameToKey to StructPathToKey Previously, keying a PropertyPath of [RenderTransform][Shear][X] would get trimmed to X, which doesn't map to a channel name as considered by Sequencer2dTransformTrackEditor. Instead, trim the resulting property path to [Shear][X] so that track editors can determine the desired struct path and channels to key. #jira UE-52966 Change 3941292 by Mike.Zyracki Fix for trajectories out of range not showing up. 1) If we had no key data we would pop the time, so wouldn't get the section ranges. 2) Calculating of upper bound was wrong, checking against -1 and not key == num of keys when doing algo::lower_bound. 3) No need to do the Bck-- for the bakward iterators since we fixed #2. We start now from the upper bound correctly. 4) If we had no keys (at section start,end) we would incorrectly say we were any key type, so since we draw constant keys as dashed we would do so incorrectly around section end points. #jira UE-55929 Change 3941424 by Max.Chen Curve Editor: Change Zoom to Fit to use TArrayView Change 3941498 by Max.Preussner Core: Added FMath::DivideAndRoundNearest function Change 3942097 by Matt.Hoffman Drop Frame Timecode Support for NTSC rates. Change 3942104 by Matt.Hoffman Sequence Recorder Group is no longer visible inside the World Outliner after using one. #jira 55266 Change 3942107 by Max.Chen Sequencer: Resurrect logic to find or extend an existing section when adding keys. Change 3942330 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942339 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942507 by Andrew.Rodham Sequencer: We no longer pad the time overlap threshold with a small number that is not scaled by the current zoom level - The presence of this pad was causing keys that were far apart to be grouped when zoomed in a long way Change 3942509 by Andrew.Rodham Sequencer: Only pad total view range, rather than section range as well when retrieving keys to render - This stops us from rendering keys that are within the view range, but outside the section range Change 3942512 by Andrew.Rodham Added transactions to some sequencer details customizations Change 3942513 by Andrew.Rodham Sequencer: Reinstated validation checks to UMovieSceneSection::SetStartFrame and SetEndFrame, changed erroneous uses to use SetRange Change 3942560 by Andrew.Rodham Pass by rvalue reference to appease error C2719 on Win32 ('InChannels': formal parameter with requested alignment of 8 won't be aligned) Change 3942697 by Andrew.Rodham Newly Created Level Sequences and Actor Sequences now default to 24000 fps frame resolution (+/- ~24hrs range, supporting all integer rates + 23.976) Change 3942700 by Andrew.Rodham Sequencer: Added legacy out-of-bounds errors for times that are not supported by the current legacy upgrade frame resolution Change 3942989 by Max.Preussner Core: Fixed circular queue count calculation Change 3943538 by Max.Preussner MediaAssets: Reverted workaround for procedural audio log spam in HTML5 (Actor component initialization cannot be skipped if the component is used in a level) Change 3944071 by Max.Preussner QAGame: Fixed Media Texture keeps last frame of Media when PIE ends #jira UE-53360 Change 3944292 by Max.Chen Sequencer: Added extra flags to ensure that asset initialization does not occur on template actor sequences #jira UE-56113 Change 3944364 by Max.Chen Sequencer: Prevent circular shot/master tracks. Tested adding master -> child -> master as drag and drop cinematic shot tracks and sub tracks as well as through the + button. #jira UE-56091 Change 3944422 by Max.Chen Sequence Recorder: Disable transform recording if off. #jira UE-56061 Change 3944745 by Andrew.Rodham Sequencer: Key rendering fixes - Fixed assert that occured when keys happened to reside on some times due to KeyTime + TimeOverlapThreshold - KeyTime being slightly larger TimeOverlapThreshold - Fixed keys sometimes being clipped when zoomed right in due to lack of half-frame offset - Added missing documentation to MovieSceneTimeHelpers.h #jira UE-56107 Change 3945231 by Andrew.Rodham Sequencer: Reconstruct channel proxy on Serialize to catch all cases of undo/redo, PostLoad and duplication #jira UE-56089 Change 3945301 by Andrew.Rodham Sequencer: Added safety checks during initial sequence recording to guard against applying negative or 0-sized sequence ranges #jira UE-56125 Change 3946627 by Max.Preussner Fortnite: Fixed game crashes closing editor while in PIE - Pure virtual function being called #jira UE-56144 [CL 3946896 by Max Chen in Main branch]
2018-03-14 22:09:33 -04:00
const float SubSequenceRangeL = RangeToScreen.InputToLocalX(LowerFrame / Resolution) - 1;
const float SubSequenceRangeR = RangeToScreen.InputToLocalX(UpperFrame / Resolution) + 1;
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3178529) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3149443 on 2016/10/03 by Max.Preussner MediaAssets: Better parameter names for MediaPlayer BP functions Change 3149756 on 2016/10/03 by Max.Chen Sequence Recorder: Set some settings to be clamped at 0 (sequence length, recording delay, audio gain, audio input buffer size, nearby actor recording proximity) #jira UE-35233 Change 3149795 on 2016/10/03 by Max.Chen Curve Editor: Set tangent to user when flattening or straightening tangents only when the tangent mode is auto and the interp mode is cubic. #jira UE-36734 Change 3150378 on 2016/10/04 by Max.Preussner PS4Media: Made video buffer sizes for file and HLS sources configurable (UE-36807) #jira UE-36807 Change 3151414 on 2016/10/05 by Max.Chen Sequencer: Fix case where restoring the last view target was getting skipped. It should always restore if the camera object and the unlock if camera actor object is null. #jira UE-35285 Change 3152038 on 2016/10/05 by Max.Preussner UdpMessaging: Code & documentation modernization pass Change 3152471 on 2016/10/05 by Max.Chen Cine Camera: Don't enable/disable actor ticking based soley on actor tracking since actor ticking is needed for other purposes. Instead, always enable actor ticking and only update actor tracking on tick if necessary. This fixes a bug where the cine camera actor won't tick if you hook in event tick. #jira UE-36625 Change 3152692 on 2016/10/05 by Max.Preussner Messaging: API code & documentation modernization pass Mostly removed shared pointer/ref typedefs as they prevent forward declarations and increase include complexity. Change 3153824 on 2016/10/06 by Max.Preussner Messaging: Renamed IConnectionBasedMessagingModule to ITcpMessagingModule and moved it into TcpMessaging I recommend that we refactor this API. The dependency should be reversed, i.e. instead of AndroidDeviceDiscovery depending on the TcpMessaging plug-in module, the Engine should provide a central registry that device discovery modules can notify, and that message transport plug-ins can register with and listen to OnConnectionAdded/Removed events etc. That way it supports an arbitrary number of transport plug-ins, and the Engine is not coupled to any of them. This functionality is not necessarily related to messaging, and the Messaging API is transport agnostic anyway. I'll think about this some more. Change 3153826 on 2016/10/06 by Max.Preussner Messaging: Removed remaining typedefs in IMessageTracer to enable forward declaration and reduce include dependencies Change 3153857 on 2016/10/06 by Max.Chen Sequencer: Set snap time to dragged key on by default. Change 3153980 on 2016/10/06 by Max.Preussner SessionServices: Removed typedefs; code and documentation modernization pass Change 3154313 on 2016/10/06 by Max.Chen Sequencer: Set the paste keys time to the current time, rather than the mouse time. Change 3154332 on 2016/10/06 by Max.Chen Sequencer: Remove click to rename shot functionality in the shot thumbnail. Added rename shot to the shot context menu. Change 3154377 on 2016/10/07 by Max.Chen Sequencer: Add ability to step to beginning and ends of sections/shots using the hotkeys: , and . Change 3154788 on 2016/10/07 by Max.Chen Sequencer: Fix offsets that created when moving multiple sections. The offsets were being created because section bounds were being generated for all sections except for the current section. Instead, they should be computed for all sections except for any that aren't being moved. #jira UE-29152 Change 3159274 on 2016/10/11 by Max.Preussner Core: Documentation fixes Change 3159275 on 2016/10/11 by Max.Preussner UdpMessaging: Added missing header Change 3160746 on 2016/10/12 by Max.Preussner MediaAssets: Added BP functions to query width, height, and aspect ratio of UMediaTexture instances #jira UE-37241 Change 3160975 on 2016/10/12 by Max.Preussner PS4Media: Better logging for SetRate failures Change 3160995 on 2016/10/12 by Max.Preussner MediaPlayerEditor: Fixed Media player selection is ignored if media specifies player overrides (UE-37248) #jira UE-37248 Change 3161066 on 2016/10/12 by Max.Preussner PS4Media: Enforcing minimum 8 byte alignment for media allocations Change 3161069 on 2016/10/12 by Max.Preussner PS4Media: Fixed log spam when setting play rate to current rate Change 3162567 on 2016/10/13 by Max.Preussner PS4Media: Made track switching code more readable Change 3163447 on 2016/10/14 by Max.Preussner PS4Media: Fixed array out of bounds assertions Change 3163772 on 2016/10/14 by Max.Preussner MfMedia: Fixed a number of timing related issues Change 3163980 on 2016/10/15 by Max.Chen Sequencer: Remove folder name numeric padding so that the naming convention is similar to creating objects in the level. Change 3164581 on 2016/10/17 by Andrew.Rodham Sequencer: Ensure global pre-animated state is restored in reverse order Change 3164582 on 2016/10/17 by Andrew.Rodham Sequencer: Ensure pre animated state is restored for all actor components before saving default state Change 3164583 on 2016/10/17 by Andrew.Rodham Sequencer: Re-enabled support for pre and post roll Change 3165464 on 2016/10/17 by Max.Chen Sequencer: Default number frame handles to 0 so that there's no change in behavior when rendering out a master sequence of shots. Handle frames need to enabled explicitly by the user. Copy from Release-4.14 #jira UE-37416 Change 3165483 on 2016/10/17 by Max.Chen Sequencer: Enable restore state for attach section completion Change 3165771 on 2016/10/18 by Andrew.Rodham Sequencer: Force evaluate when rendering thumbnails #jira UE-37321 Change 3166057 on 2016/10/18 by Andrew.Rodham Sequencer: Only set defaults for tracks that have no keys, and where the requested default has changed #jira UE-37285 Change 3166218 on 2016/10/18 by Max.Preussner MediaPlayerEditor: Failure opening media, even though it opened successfully (UE-37470) #jira UE-37470 Change 3166247 on 2016/10/18 by Max.Preussner WmfMedia: Showing progress bar while media is being resolved Change 3166289 on 2016/10/18 by Max.Preussner MfMedia: Showing progress bar while media is being resolved Change 3166993 on 2016/10/18 by Max.Preussner MfMedia: Fixed info string not reset on media close. Change 3166999 on 2016/10/19 by Max.Preussner Media: Fixed NV12 and NV21 support Change 3167008 on 2016/10/19 by Max.Preussner Media: Removed vertical NV12 alignment Change 3167029 on 2016/10/19 by Max.Preussner WmfMedia: Temp fix for RGB32 encoded AVIs rendering upside-down and too bright (UE-37505) #jira UE-37505 Change 3168593 on 2016/10/19 by Max.Chen Sequencer: Change paste at time to local time, so that the paste happens in the local time of the sequence rather than the global time if pasting in a shot level sequence. Change 3168626 on 2016/10/19 by Max.Chen Sequencer: Clamp to view bounds should snap to frame if frame snapping is on. Change 3168627 on 2016/10/19 by Max.Chen Sequencer: Initialize working and view range to be 10% larger than playback range. Change 3168760 on 2016/10/20 by Max.Preussner Media: Revamped media texture buffer management to support padded frames Added support for Windows bitmap buffers. Fixed a number of format, conversion and/or looping issues in WmfMedia and MfMedia. Not all shaders have been updated yet. Change 3169640 on 2016/10/20 by Max.Chen Sequencer: Add current camera to FLevelSequencePlayerSnapshot. Adjust DefaultBurnIn to include a few more parameters like focal length and focus distance. #jira UE-37407 Change 3170677 on 2016/10/21 by Max.Chen Movie Scene Capture: Add toggle to override engine scalability settings to cinematic scalability. #jira UE-36560 Change 3170710 on 2016/10/21 by Max.Preussner Media: Optimized handling of RGB input Change 3170712 on 2016/10/21 by Max.Preussner Media: Fixed NV21 conversion shader scaling Change 3170923 on 2016/10/21 by Max.Preussner UBT: Copied XboxOne project generator fix from Fortnite CL# 3170868 Change 3171494 on 2016/10/23 by Max.Chen Sequencer: Fix fbx export from master sequence not finding bound objects. #jira UE-35752 Change 3171506 on 2016/10/23 by Max.Chen Sequencer: Draw where in and out points of the shot section are, just like subsequences do. Change to only draw the green starting line if StartOffset is negative. #jira UE-35473 Change 3171743 on 2016/10/24 by Andrew.Rodham Editor: Added support for detail customizations on root structs - Also added the ability to add external struct data onto a detail category builder, and property type customization. Change 3171752 on 2016/10/24 by Andrew.Rodham Sequencer: Fixed spawnable ownership - Spawnables are no longer destroyed when the cursor leaves the master playback range. - Spawnable ownership now operates as it previously did before the evaluation rework. - bIgnoreOwnershipInEditor has been removed since its existence was a work around for when we didn't evaluate sub sequences from the master sequence. - FMovieSceneSequenceID is now a struct so that it can be used in array properties - Meta data now exists for each segment of an evaluation field. Currently this only includes the sub sequence IDs that exist at that time, but it may be expanded to include all evaluation entities (tracks + sections) in future so we don't have to calculate that at runtime. Change 3171756 on 2016/10/24 by Andrew.Rodham Sequencer: Added ability to trigger events with parameters - It's now possible to supply an event payload on event track keys which are to be passed to a given event. The structure must match the signature of the event, or a warning will be emitted. - Added a templated TGenericKeyArea, TKeyFrameManipulator and TCurveInterface that allow to generic manipulation of keyframe section data. In time we will port the other key areas over to this representation. - This new architecture affords the common manipulation of time-based keyframes in a value-agnostic manner. Change 3172935 on 2016/10/24 by Max.Preussner MediaPlayerEditor: Fixed MediaPlayer asset not being dirtied when creating media sound wave or texture for it Change 3173947 on 2016/10/25 by Max.Preussner SlateRemote: Disabled plug-in, but enabled server by default Change 3174510 on 2016/10/26 by Max.Chen Sequencer: Fix slomo track crash #jira UE-37802 Change 3174698 on 2016/10/26 by Andrew.Rodham UMG: Fixed objects bound to a panel slot animating their slot's content instead of the slot itself #jira UE-37775 Change 3174780 on 2016/10/26 by Max.Preussner MediaAssets: Accepting decoder defined buffer dimensions for RGB buffers Change 3174789 on 2016/10/26 by Max.Preussner MediaPlayerEditor: Showing desired player name instead of current player name if no media loaded Change 3174817 on 2016/10/26 by Max.Preussner WmfMedia: Added support for Motion JPEG (MJPG) Change 3174825 on 2016/10/26 by Max.Preussner WmfMedia: Added support for non-RGB32 uncompressed formats Change 3174834 on 2016/10/26 by Max.Preussner MediaPlayerAssets: Allow pausing while buffering media Change 3174886 on 2016/10/26 by Andrew.Rodham Core: Fixed range test that was testing incorrect behavior Change 3174889 on 2016/10/26 by Andrew.Rodham Sequencer: Fixed AssignActor behavior - Also ensure that cached object state is invalidated when playback context changes #jira UE-37798 Change 3174905 on 2016/10/26 by Andrew.Rodham Sequencer: Changed assert when failing to create an audio component to a log message - Audio no longer plays when GEngine->UseSound() is false #jira UE-37772 Change 3174980 on 2016/10/26 by Andrew.Rodham Sequencer: Remove warning when event endpoint could not be found for a given context #jira UE-37824 Change 3175001 on 2016/10/26 by Andrew.Rodham Sequencer: Evaluate sequence with EMovieScenePlaybackStatus::Jumping on Pause. - Also protect Pause() against reentrancy when being called from an event Change 3175012 on 2016/10/26 by Max.Chen Sequence Recorder: Fixes an empty working and view range after recording. On StopRecording() update playback range after nullifying the current sequence so that the playback range isn't empty. Added SetViewRange and SetWorkingRange. #jira UE-34191 Change 3177760 on 2016/10/28 by Max.Chen Sequence Recorder: Don't update the current sequence name if it's already set. This fixes a bug where if you pass in a sequence name to record to, it gets reset to the name in the sequence recorder settings. #jira UE-37808 Change 3178529 on 2016/10/28 by Max.Chen Matinee to Level Sequence: Added interface to extend the matinee to level sequence converter #jira UE-37328 #2864 [CL 3178562 by Max Chen in Main branch]
2016-10-28 15:04:38 -04:00
static const FSlateBrush* LineBrushL(FEditorStyle::GetBrush("Sequencer.Timeline.PlayRange_L"));
static const FSlateBrush* LineBrushR(FEditorStyle::GetBrush("Sequencer.Timeline.PlayRange_R"));
FColor GreenTint(32, 128, 32); // 120, 75, 50 (HSV)
FSlateDrawElement::MakeBox(
OutDrawElements,
LayerId+1,
AllottedGeometry.ToPaintGeometry(FVector2D(SubSequenceRangeL, 0.f), FVector2D(Args.BrushWidth, AllottedGeometry.Size.Y)),
LineBrushL,
ESlateDrawEffect::None,
GreenTint
);
FColor RedTint(128, 32, 32); // 0, 75, 50 (HSV)
FSlateDrawElement::MakeBox(
OutDrawElements,
LayerId+1,
AllottedGeometry.ToPaintGeometry(FVector2D(SubSequenceRangeR - Args.BrushWidth, 0.f), FVector2D(Args.BrushWidth, AllottedGeometry.Size.Y)),
LineBrushR,
ESlateDrawEffect::None,
RedTint
);
// Black tint for excluded regions
FSlateDrawElement::MakeBox(
OutDrawElements,
LayerId+1,
AllottedGeometry.ToPaintGeometry(FVector2D(0.f, 0.f), FVector2D(SubSequenceRangeL, AllottedGeometry.Size.Y)),
FEditorStyle::GetBrush("WhiteBrush"),
ESlateDrawEffect::None,
Copying //UE4/Dev-Sequencer to Dev-Main (//UE4/Dev-Main) ========================== MAJOR FEATURES + CHANGES ========================== Change 2800717 on 2015/12/11 by Max.Chen Sequencer: Sort the key times for drawing to fix path trajectory. #jira UE-24331 Change 2803299 on 2015/12/15 by Max.Chen Sequencer: Fix property names so that they're the display names. For example, "DepthOfFieldFStop" now reads as "Aperture F Stop" Change 2804586 on 2015/12/15 by Max.Chen Sequencer: Add zoom in/out with shortcuts underscore and equals. Change 2811823 on 2015/12/23 by Max.Preussner Editor: Added UI action for creating new content browser folders; code cleanup; removed dead code Based on GitHub PR #1809 by artemavrin (https://github.com/EpicGames/UnrealEngine/pull/1809) #github: 1809 Change 2811839 on 2015/12/23 by Max.Preussner StereoPanorama: Code cleanup pass Based on GitHub PR# 1756 by ETayrienHBO (https://github.com/EpicGames/UnrealEngine/pull/1756) Also: - NULL to nullptr - namespaced enums to enum classes - consistent whitespace, line breaks and parentheses #github: 1756 Change 2819172 on 2016/01/07 by Andrew.Rodham Sequencer: Marquee and move modes are now automatically activated based on sequencer hotspot Change 2819176 on 2016/01/07 by Andrew.Rodham Sequencer: Various cosmetic fixes - Added icons to tracks - Removed SAnimationOutlinerTreeNode dependency from FSequencerDisplayNode (to enable future customization of shot/event track etc) - Added spacer nodes between top level display nodes - Various hover states and highlights Change 2819445 on 2016/01/07 by Andrew.Rodham Sequencer: Rendering out a capture from the composition graph now renders at the correct size even if r.ScreenPercentage is not 100. #jira UE-24920 Change 2820747 on 2016/01/08 by Andrew.Rodham Sequencer: Added option to close the editor when capturing starts #jira UE-21932 Change 2827701 on 2016/01/13 by Max.Preussner Media: Updating audio track specs each frame to better support streaming media and variable streams. Change 2828465 on 2016/01/14 by Max.Preussner Media: Better visualization of unknown media durations Change 2828469 on 2016/01/14 by Max.Preussner Media: Checking URL scheme on URLs that didn't pass the file extension filter Change 2834888 on 2016/01/19 by Max.Preussner Core: TQueue modernization pass Change 2834934 on 2016/01/19 by Max.Preussner Core: Implemented TTripleBuffer for triple buffers. Change 2834950 on 2016/01/19 by Max.Preussner Core: Added unit tests for TTripleBuffer dirty flag Change 2835488 on 2016/01/20 by Max.Preussner Core: More descriptive method names, initialization constructor, unit tests for TTripleBuffer Change 2837515 on 2016/01/20 by Max.Chen Sequencer: Command line options for custom passes. Change 2837517 on 2016/01/20 by Max.Chen Sequencer: Fix crash in visibility track instance on PIE. Change 2837518 on 2016/01/20 by Max.Chen Sequencer: Add option to lock to frame rate while playing. #jira UETOOL-475 Change 2837523 on 2016/01/20 by Max.Chen Sequencer: Capture thumbnail on level sequence asset save. Change 2837527 on 2016/01/20 by Max.Chen Sequencer: Added preroll for subsequences. Refactor instance update to combine data in EMovieSceneUpdateData. #jira UE-25380 Change 2837537 on 2016/01/20 by Max.Chen Sequencer: Add sequencer transport controls back into viewports. #jira UE-25460 Change 2837561 on 2016/01/20 by Max.Chen Sequencer: Added ability to convert a possessable to a spawnable - This option is available for any root-level possessable object bindings - It will currently delete the existing possessable (we could make this behaviour optional in future) - There is currently no check to sett if the actor is possessed by subsequent sub-sequences. If this is the case, using a possessable, or externally owned spawnable would be a better bet. Change 2837565 on 2016/01/20 by Max.Chen [CL 2858958 by Max Chen in Main branch]
2016-02-08 13:35:28 -05:00
FLinearColor::Black.CopyWithNewOpacity(0.3f)
);
Copying //UE4/Dev-Sequencer to //UE4/Main ========================== MAJOR FEATURES + CHANGES ========================== Change 2875025 on 2016/02/20 by Andrew.Rodham Sequencer: Cinematic viewport improvements - Added optional letterbox overlay (defaults to 2.35:1) - Added ability to change safe frame colors - Added selected tracks' keys to the transport range - Added buttons for jumping between selected tracks' keyframes on the transport controls - Removed black padding around the viewport where possible - Added ability to specify whether a combo button/menu anchor should close when its parent receives focus - Separated logic of FGroupedKeyArea into FSequencerKeyCollection, so it can be used independently - Added playback range to the viewport frame numbers - All frame numbers are now spin boxes #jira UE-26429 Change 2875026 on 2016/02/20 by Thomas.Sarkanen Added console commands for recording sequences Changed plugin to a developer plugin so we can load it when the editor is in -game mode. Added Exec commands. Added some more logging to help diagnose problems when using commands. Added loading/saving of config for recorder settings (stored in Editor.ini). Also disabled controls in recorder window when recording. Added auto-saving of assets when in non-editor modes. Moved animation settings from UnrealEd to Engine module. Change 2875036 on 2016/02/20 by Max.Chen Sequencer: Call RedrawAllViewports instead of RedrawLevelEditingViewports. In particular, this fixes some update issues when editing values in the key editors. #jira UE-26960 Change 2875046 on 2016/02/20 by Max.Preussner Sequencer: Fix so that clicking on UMG Animations doesn't dirty the scene. #jira UE-26249 Change 2875047 on 2016/02/20 by Max.Chen Sequencer: Add option to toggle display of channel colors/lines. View->Channel Colors Change 2877138 on 2016/02/23 by Max.Chen Sequencer: Select corresponding track node when selecting key or section. Removed active/inactive selection since it was only being used in deletion and the rules for deletion are now dependent upon what is selected - delete keys and sections before deleting outliner nodes. Change 2877143 on 2016/02/23 by Thomas.Sarkanen Added new math function: WindRelativeAnglesDegrees Given two angles in degrees, 'wind' the angle in Angle1 so that it avoids >180 degree flips. Good for winding rotations previously expressed as quaternions into a euler-angle representation. Change 2877147 on 2016/02/23 by Thomas.Sarkanen Added the ability to import sequencer transforms from the root node of an animation sequence Intended for use after re-importing animations from DCC tools. Available in the right-click menu for transform tracks. Also added FindTrackBinding to UMovieScene so track bindings can be recovered from tracks. Change 2877163 on 2016/02/23 by Max.Chen Sequencer: Add option to create keyframe sections as infinite. Sequencer defaults to true, UMG defaults to false. Change 2877165 on 2016/02/23 by Max.Preussner Sequencer: Drawing vertical position lines when dragging keys Change 2878748 on 2016/02/23 by Max.Chen Curve Editor: Switch curve type to user when flatting or straightening tangents. #jira UE-27277 Change 2878799 on 2016/02/23 by Frank.Fella Sequencer - Add folders support to the outliner. Change 2880769 on 2016/02/24 by Andrew.Rodham Sequencer: Added ability to override runtime spawnable ownership in sequencer - This is exposed as an option on spawnables "Keep Alive Outside Playback Range (In Sequencer)" - Enabling this will stop spawnables from being destroyed when scrubbing outside of the playback range #jira UE-27205 Change 2880770 on 2016/02/24 by Thomas.Sarkanen Sequencer: Added countdown and recording indicator display when recording Also fixed extra popups added post-PIE when animation recordings auto shutdown. Change 2880782 on 2016/02/24 by Max.Chen Sequencer: Snapping now also uses the current time as a possible snap time. #jira UE-26306 Change 2880793 on 2016/02/24 by Max.Chen Sequencer: Add +Animation to Animation track so that it's consistent with all other tracks that have a + button. Change 2880812 on 2016/02/24 by Max.Chen Sequencer: Fix adjusting the leading edge of a shot section so that it cuts into the shot rather than adjusts the start time. #jira UE-26306 Change 2881624 on 2016/02/25 by Andrew.Rodham Changing shader version GUID to fix corrupt shaders in ddc Change 2882408 on 2016/02/25 by Thomas.Sarkanen Asset/actors stored in TLazyObjectPtrs can now reference game content from engine This is a legitimate use case as lazy object ptrs are designed to reference assets/actors cross-domain. Change 2882409 on 2016/02/25 by Thomas.Sarkanen [CL 2899785 by Max Chen in Main branch]
2016-03-08 16:55:04 -05:00
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3178529) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3149443 on 2016/10/03 by Max.Preussner MediaAssets: Better parameter names for MediaPlayer BP functions Change 3149756 on 2016/10/03 by Max.Chen Sequence Recorder: Set some settings to be clamped at 0 (sequence length, recording delay, audio gain, audio input buffer size, nearby actor recording proximity) #jira UE-35233 Change 3149795 on 2016/10/03 by Max.Chen Curve Editor: Set tangent to user when flattening or straightening tangents only when the tangent mode is auto and the interp mode is cubic. #jira UE-36734 Change 3150378 on 2016/10/04 by Max.Preussner PS4Media: Made video buffer sizes for file and HLS sources configurable (UE-36807) #jira UE-36807 Change 3151414 on 2016/10/05 by Max.Chen Sequencer: Fix case where restoring the last view target was getting skipped. It should always restore if the camera object and the unlock if camera actor object is null. #jira UE-35285 Change 3152038 on 2016/10/05 by Max.Preussner UdpMessaging: Code & documentation modernization pass Change 3152471 on 2016/10/05 by Max.Chen Cine Camera: Don't enable/disable actor ticking based soley on actor tracking since actor ticking is needed for other purposes. Instead, always enable actor ticking and only update actor tracking on tick if necessary. This fixes a bug where the cine camera actor won't tick if you hook in event tick. #jira UE-36625 Change 3152692 on 2016/10/05 by Max.Preussner Messaging: API code & documentation modernization pass Mostly removed shared pointer/ref typedefs as they prevent forward declarations and increase include complexity. Change 3153824 on 2016/10/06 by Max.Preussner Messaging: Renamed IConnectionBasedMessagingModule to ITcpMessagingModule and moved it into TcpMessaging I recommend that we refactor this API. The dependency should be reversed, i.e. instead of AndroidDeviceDiscovery depending on the TcpMessaging plug-in module, the Engine should provide a central registry that device discovery modules can notify, and that message transport plug-ins can register with and listen to OnConnectionAdded/Removed events etc. That way it supports an arbitrary number of transport plug-ins, and the Engine is not coupled to any of them. This functionality is not necessarily related to messaging, and the Messaging API is transport agnostic anyway. I'll think about this some more. Change 3153826 on 2016/10/06 by Max.Preussner Messaging: Removed remaining typedefs in IMessageTracer to enable forward declaration and reduce include dependencies Change 3153857 on 2016/10/06 by Max.Chen Sequencer: Set snap time to dragged key on by default. Change 3153980 on 2016/10/06 by Max.Preussner SessionServices: Removed typedefs; code and documentation modernization pass Change 3154313 on 2016/10/06 by Max.Chen Sequencer: Set the paste keys time to the current time, rather than the mouse time. Change 3154332 on 2016/10/06 by Max.Chen Sequencer: Remove click to rename shot functionality in the shot thumbnail. Added rename shot to the shot context menu. Change 3154377 on 2016/10/07 by Max.Chen Sequencer: Add ability to step to beginning and ends of sections/shots using the hotkeys: , and . Change 3154788 on 2016/10/07 by Max.Chen Sequencer: Fix offsets that created when moving multiple sections. The offsets were being created because section bounds were being generated for all sections except for the current section. Instead, they should be computed for all sections except for any that aren't being moved. #jira UE-29152 Change 3159274 on 2016/10/11 by Max.Preussner Core: Documentation fixes Change 3159275 on 2016/10/11 by Max.Preussner UdpMessaging: Added missing header Change 3160746 on 2016/10/12 by Max.Preussner MediaAssets: Added BP functions to query width, height, and aspect ratio of UMediaTexture instances #jira UE-37241 Change 3160975 on 2016/10/12 by Max.Preussner PS4Media: Better logging for SetRate failures Change 3160995 on 2016/10/12 by Max.Preussner MediaPlayerEditor: Fixed Media player selection is ignored if media specifies player overrides (UE-37248) #jira UE-37248 Change 3161066 on 2016/10/12 by Max.Preussner PS4Media: Enforcing minimum 8 byte alignment for media allocations Change 3161069 on 2016/10/12 by Max.Preussner PS4Media: Fixed log spam when setting play rate to current rate Change 3162567 on 2016/10/13 by Max.Preussner PS4Media: Made track switching code more readable Change 3163447 on 2016/10/14 by Max.Preussner PS4Media: Fixed array out of bounds assertions Change 3163772 on 2016/10/14 by Max.Preussner MfMedia: Fixed a number of timing related issues Change 3163980 on 2016/10/15 by Max.Chen Sequencer: Remove folder name numeric padding so that the naming convention is similar to creating objects in the level. Change 3164581 on 2016/10/17 by Andrew.Rodham Sequencer: Ensure global pre-animated state is restored in reverse order Change 3164582 on 2016/10/17 by Andrew.Rodham Sequencer: Ensure pre animated state is restored for all actor components before saving default state Change 3164583 on 2016/10/17 by Andrew.Rodham Sequencer: Re-enabled support for pre and post roll Change 3165464 on 2016/10/17 by Max.Chen Sequencer: Default number frame handles to 0 so that there's no change in behavior when rendering out a master sequence of shots. Handle frames need to enabled explicitly by the user. Copy from Release-4.14 #jira UE-37416 Change 3165483 on 2016/10/17 by Max.Chen Sequencer: Enable restore state for attach section completion Change 3165771 on 2016/10/18 by Andrew.Rodham Sequencer: Force evaluate when rendering thumbnails #jira UE-37321 Change 3166057 on 2016/10/18 by Andrew.Rodham Sequencer: Only set defaults for tracks that have no keys, and where the requested default has changed #jira UE-37285 Change 3166218 on 2016/10/18 by Max.Preussner MediaPlayerEditor: Failure opening media, even though it opened successfully (UE-37470) #jira UE-37470 Change 3166247 on 2016/10/18 by Max.Preussner WmfMedia: Showing progress bar while media is being resolved Change 3166289 on 2016/10/18 by Max.Preussner MfMedia: Showing progress bar while media is being resolved Change 3166993 on 2016/10/18 by Max.Preussner MfMedia: Fixed info string not reset on media close. Change 3166999 on 2016/10/19 by Max.Preussner Media: Fixed NV12 and NV21 support Change 3167008 on 2016/10/19 by Max.Preussner Media: Removed vertical NV12 alignment Change 3167029 on 2016/10/19 by Max.Preussner WmfMedia: Temp fix for RGB32 encoded AVIs rendering upside-down and too bright (UE-37505) #jira UE-37505 Change 3168593 on 2016/10/19 by Max.Chen Sequencer: Change paste at time to local time, so that the paste happens in the local time of the sequence rather than the global time if pasting in a shot level sequence. Change 3168626 on 2016/10/19 by Max.Chen Sequencer: Clamp to view bounds should snap to frame if frame snapping is on. Change 3168627 on 2016/10/19 by Max.Chen Sequencer: Initialize working and view range to be 10% larger than playback range. Change 3168760 on 2016/10/20 by Max.Preussner Media: Revamped media texture buffer management to support padded frames Added support for Windows bitmap buffers. Fixed a number of format, conversion and/or looping issues in WmfMedia and MfMedia. Not all shaders have been updated yet. Change 3169640 on 2016/10/20 by Max.Chen Sequencer: Add current camera to FLevelSequencePlayerSnapshot. Adjust DefaultBurnIn to include a few more parameters like focal length and focus distance. #jira UE-37407 Change 3170677 on 2016/10/21 by Max.Chen Movie Scene Capture: Add toggle to override engine scalability settings to cinematic scalability. #jira UE-36560 Change 3170710 on 2016/10/21 by Max.Preussner Media: Optimized handling of RGB input Change 3170712 on 2016/10/21 by Max.Preussner Media: Fixed NV21 conversion shader scaling Change 3170923 on 2016/10/21 by Max.Preussner UBT: Copied XboxOne project generator fix from Fortnite CL# 3170868 Change 3171494 on 2016/10/23 by Max.Chen Sequencer: Fix fbx export from master sequence not finding bound objects. #jira UE-35752 Change 3171506 on 2016/10/23 by Max.Chen Sequencer: Draw where in and out points of the shot section are, just like subsequences do. Change to only draw the green starting line if StartOffset is negative. #jira UE-35473 Change 3171743 on 2016/10/24 by Andrew.Rodham Editor: Added support for detail customizations on root structs - Also added the ability to add external struct data onto a detail category builder, and property type customization. Change 3171752 on 2016/10/24 by Andrew.Rodham Sequencer: Fixed spawnable ownership - Spawnables are no longer destroyed when the cursor leaves the master playback range. - Spawnable ownership now operates as it previously did before the evaluation rework. - bIgnoreOwnershipInEditor has been removed since its existence was a work around for when we didn't evaluate sub sequences from the master sequence. - FMovieSceneSequenceID is now a struct so that it can be used in array properties - Meta data now exists for each segment of an evaluation field. Currently this only includes the sub sequence IDs that exist at that time, but it may be expanded to include all evaluation entities (tracks + sections) in future so we don't have to calculate that at runtime. Change 3171756 on 2016/10/24 by Andrew.Rodham Sequencer: Added ability to trigger events with parameters - It's now possible to supply an event payload on event track keys which are to be passed to a given event. The structure must match the signature of the event, or a warning will be emitted. - Added a templated TGenericKeyArea, TKeyFrameManipulator and TCurveInterface that allow to generic manipulation of keyframe section data. In time we will port the other key areas over to this representation. - This new architecture affords the common manipulation of time-based keyframes in a value-agnostic manner. Change 3172935 on 2016/10/24 by Max.Preussner MediaPlayerEditor: Fixed MediaPlayer asset not being dirtied when creating media sound wave or texture for it Change 3173947 on 2016/10/25 by Max.Preussner SlateRemote: Disabled plug-in, but enabled server by default Change 3174510 on 2016/10/26 by Max.Chen Sequencer: Fix slomo track crash #jira UE-37802 Change 3174698 on 2016/10/26 by Andrew.Rodham UMG: Fixed objects bound to a panel slot animating their slot's content instead of the slot itself #jira UE-37775 Change 3174780 on 2016/10/26 by Max.Preussner MediaAssets: Accepting decoder defined buffer dimensions for RGB buffers Change 3174789 on 2016/10/26 by Max.Preussner MediaPlayerEditor: Showing desired player name instead of current player name if no media loaded Change 3174817 on 2016/10/26 by Max.Preussner WmfMedia: Added support for Motion JPEG (MJPG) Change 3174825 on 2016/10/26 by Max.Preussner WmfMedia: Added support for non-RGB32 uncompressed formats Change 3174834 on 2016/10/26 by Max.Preussner MediaPlayerAssets: Allow pausing while buffering media Change 3174886 on 2016/10/26 by Andrew.Rodham Core: Fixed range test that was testing incorrect behavior Change 3174889 on 2016/10/26 by Andrew.Rodham Sequencer: Fixed AssignActor behavior - Also ensure that cached object state is invalidated when playback context changes #jira UE-37798 Change 3174905 on 2016/10/26 by Andrew.Rodham Sequencer: Changed assert when failing to create an audio component to a log message - Audio no longer plays when GEngine->UseSound() is false #jira UE-37772 Change 3174980 on 2016/10/26 by Andrew.Rodham Sequencer: Remove warning when event endpoint could not be found for a given context #jira UE-37824 Change 3175001 on 2016/10/26 by Andrew.Rodham Sequencer: Evaluate sequence with EMovieScenePlaybackStatus::Jumping on Pause. - Also protect Pause() against reentrancy when being called from an event Change 3175012 on 2016/10/26 by Max.Chen Sequence Recorder: Fixes an empty working and view range after recording. On StopRecording() update playback range after nullifying the current sequence so that the playback range isn't empty. Added SetViewRange and SetWorkingRange. #jira UE-34191 Change 3177760 on 2016/10/28 by Max.Chen Sequence Recorder: Don't update the current sequence name if it's already set. This fixes a bug where if you pass in a sequence name to record to, it gets reset to the name in the sequence recorder settings. #jira UE-37808 Change 3178529 on 2016/10/28 by Max.Chen Matinee to Level Sequence: Added interface to extend the matinee to level sequence converter #jira UE-37328 #2864 [CL 3178562 by Max Chen in Main branch]
2016-10-28 15:04:38 -04:00
FSlateDrawElement::MakeBox(
OutDrawElements,
LayerId+1,
AllottedGeometry.ToPaintGeometry(FVector2D(SubSequenceRangeR, 0.f), FVector2D(AllottedGeometry.Size.X - SubSequenceRangeR, AllottedGeometry.Size.Y)),
FEditorStyle::GetBrush("WhiteBrush"),
ESlateDrawEffect::None,
FLinearColor::Black.CopyWithNewOpacity(0.3f)
);
// Hash applied to the left and right of the sequence bounds
FSlateDrawElement::MakeBox(
OutDrawElements,
LayerId+1,
AllottedGeometry.ToPaintGeometry(FVector2D(SubSequenceRangeL - 16.f, 0.f), FVector2D(16.f, AllottedGeometry.Size.Y)),
FEditorStyle::GetBrush("Sequencer.Timeline.SubSequenceRangeHashL"),
ESlateDrawEffect::None,
GreenTint
);
FSlateDrawElement::MakeBox(
OutDrawElements,
LayerId+1,
AllottedGeometry.ToPaintGeometry(FVector2D(SubSequenceRangeR, 0.f), FVector2D(16.f, AllottedGeometry.Size.Y)),
FEditorStyle::GetBrush("Sequencer.Timeline.SubSequenceRangeHashR"),
ESlateDrawEffect::None,
RedTint
);
return LayerId + 1;
}
FReply FSequencerTimeSliderController::OnMouseButtonDown( SWidget& WidgetOwner, const FGeometry& MyGeometry, const FPointerEvent& MouseEvent )
{
MouseDragType = DRAG_NONE;
DistanceDragged = 0;
MouseDownPlaybackRange = TimeSliderArgs.PlaybackRange.Get();
MouseDownSelectionRange = TimeSliderArgs.SelectionRange.Get();
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3946692) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3801826 by Max.Chen PR #4304: Level Sequence crash fix - Guarded against dereferencing null componen. (Contributed by DSDambuster) Change 3801828 by Max.Chen PR #4302: Movie Scene Visibility Template unitialised variable, causing random . (Contributed by DSDambuster) Change 3801837 by Max.Chen Sequencer: Delay spawning/construction for convert to possessable. This fixes a bug where property values would be lost when converting back and forth from possessable to spawnable. #jira UE-52400 Change 3801841 by Max.Chen Sequencer: Make spacer nodes not selectable. PR #4194: Improvements to Sequencer (Contributed by projectgheist) #jira UE-53117 #jira UE-52139 Change 3804183 by Max.Preussner MediaAssets: Added missing lock in media sound component Change 3805414 by Max.Preussner MediaAssets: Setting valid GUID when initializing media texture resource Change 3819578 by Max.Chen PR #4370: When enabling the "MovieCapture", do not turn off the Stereo-3D display. (Contributed by yehaike) #jira UE-53647 Change 3823414 by Max.Chen Curve Editor: Lock down the first and last keys in the redundant keys removal range so that they're unaffected. #jira UE-53591 Change 3826406 by Max.Chen Sequencer: Move OnStartedPlaying() to within first update in UpdateTimeCursorPosition(). This fixes an issue where setting the hud/player visibility was getting stomped on later. #jira UE-52772 Change 3827044 by Max.Preussner MediaAssets: Added sprite visualization to media sound component #jira UE-53594 Change 3827988 by Max.Preussner MediaPlayerAssets: Fixed Media Texture is not linked to Media Player when created together #jira UE-53532 Change 3828506 by Max.Preussner MediaPlayerEditor: Added attenuation visualizer for media sound components #jira UE-53594 Change 3832590 by andrew.porter EngineTest: Added a keep state check in Property Animation sequencer test Change 3833053 by andrew.porter EngineTest: Adding Hierarchical Bias test Change 3835683 by andrew.porter EngineTest: Adding UMG Animation screenshot test Change 3836076 by Max.Chen Sequencer: Fix audio volume and pitch multiplier deprecation. Change 3836230 by andrew.porter EngineTest: Adding Sequence Bone Position automation test Change 3836347 by Max.Chen Sequencer: Fixes to shot name parsing. When a shot doesn't contain a shot number, assume, [ShotName]_[TakeNumber]. When duplicating a shot, put the new shot in the same path of the original shot, so that the take numbers will increment properly. #jira UE-51868 Change 3836552 by Max.Chen Sequencer: Sub section now has a takes menu Change 3838094 by Max.Chen UMG: Fix template finish not getting called on stop. This fixes a bug where sections aren't restored when finished. #jira UE-52285 Change 3838708 by Max.Chen Sequencer: Add notification when the blend type is changed. #jira UE-54046 Change 3840295 by Max.Chen Sequencer: Fix copy/paste crash for lights #jira UE-54084 Change 3840957 by Mike.Zyracki Added Show Only Keyable and Show Only Animated to the filter list in the property editor. Added IsPropertyAnimated to IDetailKeyframe Interface which already had support for showing properties which are keyable (which is used for the key icon next to the properties.). Could have created another interface but then would have had to mimic the sequencer binding, releasing also, so this seemed best way. One issue still left is that custom built detail items currently don't store associated properties(usually) and so certain properties, in particulalry transforms, won't show up as keyable or animated. Note this also shows up with the keyable icon not showing up next to transform tracks, and other filters like Show Only Modified not working with transforms/customs. Not sure best way to tackle this. #jira UESEQ-328 Change 3841756 by Max.Chen Sequencer: Fix unbound possessable components when pasting spawnables. #jira UE-54104 Change 3843950 by andrew.porter EngineTest: Renaming LevelStreaming tests/content to LevelVisibility Change 3844082 by Mike.Zyracki Missing file for animated filter in property editor. When finding if a track is animated we need to find it but we can't easily induce the MovieTrack class for any particular property. So we don't set a class for it and just search by it's ID and name. #jira UESEQ-328 Change 3846902 by Max.Preussner ImgMedia: Fixed image media player never finished initialization if loading failed #jira UE-54247 Change 3849820 by Mike.Zyracki Reassigning deleted widgets didn't work since the menu extender mechanism needs a valid UObject in order to perform an operation on it. So to fix we replaced GetObjectBindingContextMenuExtender in WidgetBlueprint with new delegate mechanism (OnBuildCustomContextMenuForGuid) that supports FGuid in addition to UObjects which is needed to handle re-binding deleted widgets. Note that the default sequencer hacks this for replacing deleted actors in SequencerObjectBindingNode to check to see if a LevelSequence is active. We could move to this mechanism there also. #jira UE-53163 Change 3852211 by Max.Chen UMG: Indicate name of the property that is not bound. #jira UE-54350 Change 3854120 by Max.Chen Sequencer: Fix sibling folders being allowed to have the same folder name. #jira UE-54363 Change 3854627 by Max.Chen Sequencer: Step to next/previous key should work for all tracks if there aren't any selected. #jira UESEQ-391 Change 3855825 by andrew.porter EngineTest: Adding animation blending automation test Change 3855950 by andrew.porter EngineTest: Adding correct expected valuues to animation blending test Change 3856237 by Matt.Hoffman UESEQ-336 - Sequencer Track Reordering Adds the ability to re-order Master Tracks, Folders and Object Bindings within sequencer hierarchies (including UMG). Adds the ability to do a one-off sorting of the content under the old sorting behavior if the user wants to reset their layout to how it was under legacy behavior. Modifies SequencerTrackNodes, SequencerFolderNodes and SequencerObjectBindingNodes to handle CanDrop/OnDrop for above, below and ontop of. Fixes a Slate Issue that forcibly expanded a TreeviewRow if an item handled OnDrop. Slate will now only forcibly expand the row if the item says the drop happened ontop of the item, and not above or below it like it previously did. Change 3856503 by andrew.porter EngineTest: Adding automation test for using animation blueprint with blend multi node in sequencer Change 3857875 by Max.Chen Sequencer: Assign the sequence id after the template is compiled. #jira UE-54462 Change 3858344 by Max.Chen Sequencer: Prevent Goto and Transform boxes from overlapping by allowing them to be visible at the same time in an autosized horizontal box. Also, added close button to the goto box. PR #4425: Prevent Goto and Transform boxes from overlapping in Sequencer ... (Contributed by projectgheist) #jira UE-54210 Change 3860566 by andrew.porter MediaFrameworkTest: Set the option to index 0 for the audio and video track list by default Change 3860654 by andrew.porter EngineTest: Enabling Camera Cut + FOV test Change 3860981 by andrew.porter EngineTest: Updating skeletal mesh tests with a delay after set playback position Change 3861256 by Max.Chen Sequencer: Add all bindings if none selected. #jira-54440 Change 3862154 by Andrew.Rodham Added TimeManagement module Change 3862424 by andrew.porter EngineTest: Turned on the test Bone Positions with Blend Multi Node Change 3862573 by andrew.porter EngineTest: Adding test to compare bone positions in a sequence that is blending an animation that is using an AnimBP Change 3865117 by Max.Chen Sequencer: Stop auto scroll on mouse release of movement. #jira UE-31212 Change 3865303 by Max.Chen Sequencer: Add drag and drop transactions #jira UE-54662 Change 3865304 by Max.Chen Sequencer: Fix crash when an actor factory is not found. Change 3865361 by Max.Chen Sequencer: Don't change the camera/shot lock button when popping out of a sequence. #jira UE-54665 Change 3865412 by Max.Chen Sequencer: Determine whether a transform track is for a camera by using the spawned object or template #jira UE-54666 Change 3865685 by Max.Chen Sequencer: Clear autoscrub offset when stopping autoscroll #jira UE-31212 Change 3865886 by Max.Chen Sequence Recorder: Log an error if the number of frames changes while recording. This can happen if the skeleton changes while recording. #jira UE-48715 Change 3866925 by Andrew.Porter MediaFrameworkTest: Changing the current PNG test video image sequence to 1024 x 576 Change 3867705 by andrew.porter QAGame: Adding Audio Sort Sequence to dev folder Change 3867890 by andrew.porter QAGame: Adding a sequence for testing a sorting crash to my dev folder Change 3872628 by Max.Chen Movie Scene Capture: Split delay before warmup into split delay before shot warmup so that there's separate controls for when the movie scene capture warmups up vs. shot boundaries. Change 3873131 by Matt.Hoffman UE-54732 - Crash reordering a folder with a track. This was caused by folders being the only type of track to check if someone was putting a parent track into a child track. Object Binding tracks and Tracks now check as well so that you can't use the above/below drop targets to add parents as children. This also fixed a typo in the localization keys. #jira UE-54732 Change 3873301 by Mike.Zyracki Added ability to support continous euler angle changes when changing rotations, in particularly with the rotation gizmo's. To do this we effectively added a form an of 'euler filter'(https://en.wikipedia.org/wiki/Euler_filter) to find the closest euler angle to the current euler angle. Three functions were added to FRotator to make this possible, one to get the euler angle that's has the same rotation as it, one to get the difference between two euler angles via Manhattan distance and a third using the previous two to choose a Rotator value that's closest to it. We then use these functions before calling UComponent::SetRelativeRotation to make sure we use the correct Euler after the Quat conversion. We also no longer limit(bound) the euler angles to -180,180, which is obviously necessary to avoid flips. I also changed how we caluclate yaw and roll when pitch is -90 or 90 to make it the standard approach of zeroing out roll and just setting yaw. Main reasons are the previous implementation had precision issues so things like 180, 90, -180 would show up due to numbers being nearly zero but negative,(this would break any smooth interpolations), and this facilitates having a 'gimbal' rotation mode (like Maya, Blender etc..) if we ever want that also. If needed we could keep the previous implementation but would need to add some FMath::IsNearlyZero checks, with less performance. Note we only do this special filtering when applying delta's to actors or components in the editors, which then call UComponent::SetRelativeRotationExact, which is a new function to foces the RelativeRotation to be equal to the new rotation. This allows us to store un-nomalized Rotators at the cost that the RotationCache may be broken. We didn't change any of the other UComponent functions that set rotations (via Quats or Transforms) so they will still be bounded and unwound. In SetInternalWorldLocationAndRotation we only set the rotation if the rotation has changed, which fixes the rotation getting changed and re-normalized if just translate happens. In TransformTrackEditor, we correclty use the bUndwing flag and in MovieScene3DTransformSection there was an un-needed winding check there, it will be unwound earlier if needed, which happens if Sequence Recording is happening. Max we should talk about what to do about this . Note the euler angle drag via the widget is still bound to 0-360. I think we should just unbound that now since the rotations value are now unbound. This review now includes fixes suggested by Zak. #jira UE-UE-22228 Change 3873483 by Matt.Hoffman Sequencer Tracks can now be inserted above the spacer at the bottom of the tree. #jira UE-54706 Change 3873899 by Max.Chen Sequencer: Add section selection throbbing Change 3873908 by Max.Chen Movie Scene Capture: Added logging per frame Change 3873924 by Matt.Hoffman Adds the ability to store Sequence Recorder setups into profiles that stay with the map and can be re-loaded later. Profiles store the Actor Recordings so the settings for each actor should carry with them. #jira UESEQ-339 Change 3874726 by Matt.Hoffman Disable drag-and-drop targets on spacers that come between rows in Sequencer. This prevents extra drag/drop targets showing up between each row. #jira UE-54706 Change 3874862 by Matt.Hoffman Audio Track no longer gets reordered when adding sub-audio tracks, as sub-tracks are no longer counted towards the sorting order index when normalizing indexes. #jira UE-54727 Change 3875905 by Matt.Hoffman Disable Fade Track UI if a fade track already exists in the sequence. #jira UESEQ-393 Change 3876163 by Max.Chen Sequencer: Swap the camera object to the camera component's owner if it's not the same. #jira UE-54874 Change 3876971 by Andrew.Porter EngineTest: Moved Media Player Seek test to new folder. Also enabled the test with new ground truth image. Change 3877040 by Max.Chen Cine Camera: Split camera properties to two groups, "Camera Options" and "Camera Settings". The cine camera now hides properties in the "Camera Settings" group so that properties like bConstrainAspectRatio (in the "Camera Options" group) can be visible. #jira UE-54192 Change 3877763 by Max.Chen Curve Editor: Fix curve changed on end drag so that only curves that had keys/tangents that were changed receive notification, otherwise all loaded curves were getting notified that they were changed. #jira UE-54951 Change 3878234 by Matt.Hoffman Disable "Drop Below" targets for Sequencer Tree nodes to prevent a confusing UX issue where dropping underneath a Object Binding Node puts it after the object binding node but the UI looks like it's inserting it inside the Object Binding node. #jira UE-54743 Change 3879359 by Mike.Zyracki If a track is inactive we dim it a bit which seems to be the UE4 way to show inactive or disabled state. We changed the active logic so that all subtracks need to be inactive for the track to also be inactive(instead of all active for active). This conforms to how the active state actually works, e.g if you have two sections and only one is active the track is still active above it. #jira UESEQ-388 Change 3879462 by Max.Chen Sequencer: Allow dragging onto a particular row which would move out any overlapping sections to make space for the newly created section. Newly created sections are now selected and throbbed to draw attention to themselves. #jira UE-54664 Change 3879464 by Max.Chen Sequencer: Fixed overlapping ranges being inserted into the evaluation field during compilation - The issue was that track segments that had been combined with adjacent segments (due to them being identical) would potentially cause a subsequently compiled frame to overlap with a range that had already been inserted into the evaluation field. - The insertion code previously asserted that only minor overlaps were catered for (due to fp rounding errors) and assumed that a supplied range could not entirely contain any other range in the field. - The solution is to supply the insertion time along with the range to know exactly where the data should live in the field, and crop the range to the maximum allowable space between adjacent ranges. #jira UE-54922 Change 3879590 by Matt.Hoffman Items that are now added to the Sequencer via the "+Track" menu will be selected after being added. Items can now be added inside of folders instead of just to the root level. #jira UE-27397 Change 3879612 by Mike.Zyracki Display Nodes with no children are always active. #jira UESEQ-388 Change 3879730 by Matt.Hoffman Sequence Recorder's actor recording groups now remove items from the group when removed via the UI. #jira UESEQ-339 Change 3880256 by Mike.Zyracki Fix issue with inactive display with folders and other track nodes. #jira UESEQ-388 Change 3883491 by Max.Chen Fix issue where tick is skipped due to last ticked pose isn't cleared after AnimInstance changes. Copy from Release-4.19 #jira UE-51323 Change 3883603 by Max.Chen Movie Scene Capture: Add option toggle disable screen percentage. By default this is on (no change in current behavior). #jira UE-51898 Change 3885074 by Max.Preussner MediaCompositing: Resetting media texture & freeing resource on section end; removed dead code Change 3887220 by Max.Preussner MediaCompositing: Defaulted media section duration to 1 sec (since we do not know the actual duration in most cases) Change 3887478 by Matt.Hoffman Sequences now show [Inactive] in their title bars when they're disabled. This helps communicate why a sequence isn't being evaluated. #jira UE-51469 Change 3888985 by Max.Chen Movie Scene Capture: Clamp HDR Compression Quality between 0 and 1. #jira UE-55136 Change 3893519 by Max.Chen Sequence Recorder: Clarified tooltip for bRecordNearbySpawnedActors - spawned actors will still be recorded if they match the ActorFilter. #jira UE-55238 Change 3893546 by Max.Chen Sequence Recorder: If a selected actor already has a recording, add a blank recording. #jira UE-55239 Change 3894044 by Max.Preussner MediaCompositing: Added support for seeking into a media section Change 3894310 by andrew.porter MediaFrameworkTest: Adding Img media sources for 1080 and 2160 ravent test content Change 3894426 by Max.Preussner MediaAssets: Letting media textures with AutoClear retain their clear color when player is reset Change 3895717 by Max.Chen Sequencer: Null checks to prevent crash when saving the default state of a spawnable #jira UE-55304 Change 3897388 by Max.Chen Sequencer: Don't update current time to be within the view range when stepping into a sequence. #jira UE-55322 Change 3897452 by Max.Chen Audio: Fix crash when trying to record audio without any active capture devices. Log warning if the number of input channels is not 1 or 2. #jira UE-55223 Change 3897619 by Max.Preussner MediaCompositing: Removed commented out code Change 3898072 by Max.Chen Sequencer: Override the animation asset in the player state if it doesn't match the animation asset that's being evaluated. #jira UE-55328 Change 3898272 by Max.Preussner MediaPlayerEditor: Made slate brush constants static Change 3898704 by Max.Chen Sequencer: Skip if the binding id's sequence can't be found. #jira UE-55337 Change 3899855 by Max.Preussner MediaCompositingEditor: Added cache state visualization to media track Change 3900300 by Max.Preussner MediaCompositingEditor: Added loop indicators to media sections Change 3900694 by Max.Preussner ImfMedia: Looping cache only when player is looping Change 3900892 by Max.Preussner Stats: Added stats category for media framework Change 3900954 by Max.Preussner MediaCompositing: Don't evaluate at the end of media section Change 3901348 by Max.Preussner Core: Replaced TLruCache autos for better readability Change 3901655 by Max.Preussner ImgMedia: Added more perf stats to EXR reader Change 3901972 by Max.Preussner MediaAssets: Added getter for media player in media sound components Change 3902233 by Max.Preussner MediaAssets: Enabling media textures to receive samples right after player is assigned Change 3902238 by Max.Preussner MediaCompositing: Working around init/shutdown idiosyncracies in sequencer Change 3904045 by Max.Chen Sequencer: Fix copy/paste crash. Only process UMovieSceneCopyableBinding and objects that can be spawned by the movie scene spawn register. #jira UE-55314 Change 3905605 by Max.Chen Sequencer: Restrict spawnables from being created if they have a ClassWithin that UMovieScene is not a child of. #jira UE-55429 Change 3906550 by Max.Chen Sequencer: Add media track icon #jira UE-55480 Change 3907101 by Max.Chen Sequence Recorder: Fix bugs related to not recording a level sequence. There were certain assumptions that creating a level sequence meant that sequence recording was in progress. This is not always the case - the recorders can record animation assets and not create a level sequence. Changed the notion of IsRecording() to having at least one actor recording that is recording. Countdown timer, recording displays, etc should function if IsRecording() and not based on whether a level sequence is created. #jira UE-55485 Change 3907247 by Max.Chen Sequence Recorder: Fix crash not removing PrepareToCleanseEditorObject delegate. Repros when opening sequence recorder, closing it, and then opening or creating a level. Change 3910343 by Max.Preussner Core: Added async helper for executing functions on a given thread pool Change 3910346 by Max.Preussner ImgMedia: Added separate thread pools for loading/decoding and deleting image frames Change 3910829 by Max.Preussner Profiler: Increased visible range of profiler graph Change 3910841 by Max.Preussner MediaCompositing: Displaying asset name instead of full media source path in media section Change 3910870 by Max.Preussner ImgMedia: Using deallocation thread pool only in debug builds Change 3919642 by Max.Chen Sequence Recorder: Clarify active tooltip #jira UE-55661 Change 3919660 by Max.Chen Sequencer: Sequence template source signatures are now also compared to catch the case where a sub-sequence asset has been saved but not modified - The following sequence of events exposes this issue: - Create a master sequence with a single shot that spawns a cube - Add this sequence to a level and set it to auto-play - Save everything and restart - Resave just the inner shot asset without opening it - PIE - The inner shot never spawns its cube because its template was wiped on save, but its signature never changed. Since the master sequence previously didn't check the template source signature, it ends up trying to evaluate an empty template. #jira UE-55626 #jira UE-55490 Change 3921825 by Max.Chen Sequencer: "Run Construction Script in Sequencer" is off by default for blueprints but on for Sequencer. This allows the content author to switch it on for specific blueprints and sequencer will be default, run those with construction scripts enabled. Change 3922232 by Max.Chen Sequence Recorder: Reset countdelay on stop. #jira UE-55755 Change 3922306 by Max.Chen Sequence Recorder: Don't automatically mark transforms to be recorded by sequence recorder. Instead, log a warning if the user toggled it off to warn that the resulting animation might not match gameplay. #jira UE-55758 Change 3922912 by Max.Chen Sequence Recorder: Fix refresh next sequence name #jira UE-55757 Change 3927654 by Max.Chen Movie Scene Capture: Added format mapping for the name of the current camera #jira UE-55769 PR #4537 Change 3927658 by Max.Chen Sequencer: Added fbx property mapping for "FocusDistance" to "FocusSettings.ManualFocusDistance" #jira UE-55782 Change 3932022 by Max.Chen Sequencer: Add import animation track section to next available row index. #jira UE-55892 Change 3933919 by Max.Chen Sequencer: Jump to playback start frame and not 0 to start playback for recording. #jira UE-55933 Change 3934307 by Andrew.Rodham Sequencer: Add template signature that is re-generated every time the base template is regenerated, which invalidates evaluation fields This fixes an issue where the same sequence is instantiated multiple times in a sequence. If the source sequence was saved, its template would be wiped, which would invalidate the template ID When an instance tries to evaluate the master template, it would only invalidate a range in the evaluation field that was the hull of any invalid sub sequences overlapping the current time, potentially leaving invalid data in the evaluation field at positions later (or earlier) on in the sequence When the sub template was re-generated, it receives the same SequenceSignature as it had before (because the sequence hasn't actually changed), which causes the stale evaluation field data to fail the IsDirty check (because the sequence is the same as it thought, but the *template* has changed) This has been addressed be adding a signature to templates themselves, and checking both the template signature and sequence signature as a part of the IsDirty check. This ensures that we regenerate if either the template, or the sequence have changed. #jira UE-55934 Change 3936327 by Andrew.Rodham Sequencer: Removed increment when trimming right UMovieSceneSection::TrimSection already explicity assigns an exclusive bound to the time passed in. The new behavior means we can trim a section to the right, and insert another section without changing the time to create adjacent sections. #jira UE-42652 Change 3936328 by Andrew.Rodham Fixed KeyFrameManipulator assignment operators and copy/move constructors - These types are potentially self-referential so cannot use default constructors/assignment Change 3936330 by Andrew.Rodham Converted UMGSequencePlayer to use frames internally #jira UE-54878 Change 3936726 by Max.Chen Sequencer: Set track node as the parent of the key area node. The key area switcher needs the object binding id from the parent object binding node. Without this, the binding to the external value fails. #jira UE-55931 Change 3936775 by Max.Chen Sequencer: Should stop or loop should compare DurationFrames with Current Time from StartTime. The bug is that if you set 30 warmup frames in movie rendering for a range of 0-100, the FrameRange will be starting at -30 and have a duration of 130. Without this fix, the playback will continue until frame 130, rather than 100. #jira UE-55933 Change 3936935 by Matt.Hoffman Easing Curves are now represented in Play Rate resolution instead of internal resolution. #jira UE-55937 Change 3937069 by Matt.Hoffman Users can toggle if the is infinite on each side, limited by which tracks support infinite ranges. #jira UE-55891 Change 3937516 by Max.Preussner ImgMedia: Added support for single-threaded platforms #jira UE-55986 Change 3937826 by Max.Preussner MediaAssets: Disabling media sound components on HTML5 if AudioMixer is not enabled Change 3937997 by Max.Chen Curve Editor: Add Zoom to Fit Curves so that selected curves from Sequencer can be focused on. Tested that undo doesn't re-zoom. #jira UE-55935 Change 3938000 by Max.Chen Sequencer: Stop all sounds before generating audio waveforms. #jira UE-55951 Change 3938376 by Max.Preussner XGEController: Disabled XGE Controller in single-threaded apps to prevent crash Change 3938444 by Max.Preussner Core: Added async support for single-threaded applications Change 3938445 by Max.Preussner Networking: Added support for single-threaded applications in UDP socket sender/receiver Change 3938447 by Max.Preussner Messaging: Added support for single-threaded applications Change 3939432 by Max.Chen Sequence Recorder: Append command list to global level editor actions so that shortcuts are accessible in level editor. #jira UE-55798 Change 3940229 by Andrew.Rodham Added prospective display rate upgrade to UMovieScene::PostLoad - There was previously some very odd behaviour that would assign the fixed frame interval only when a sub sequence was focused in SSequencer. This meant that many sequences could have a frame interval of 0 set in the data. - Under the old method of snap interval display this would have fallen back to getting the display interval from the sequencer settings, but we no longer look at these. - The USequencerSettings properties have been removed and in their place, a prospective data upgrade for sequences that have a fixed frame interval old 0fps that sets the play rate to the previous defaults based off the old USequencerSettings defaults. - This could end up 'changing' the display rate for sequences where the user has changed the snap interval in the settings for a particular sequence editor, but there's not much we can do about that given we don't have access to the USequencerSettings classes in UMovieScene #jira UE-55919 Change 3940277 by Andrew.Rodham Sequencer: Added ability to default frame resolutions and play rates for newly created actor sequences Change 3940378 by Andrew.Rodham Sequencer: Post move import dialog now defaults to the playback framerate of the sequence, and floors to frame numbers Change 3940559 by Andrew.Rodham Reinstated primed or recording sequence color Change 3940642 by Max.Preussner ImagePlate: Removed image plate media playback functionality Change 3940843 by Max.Preussner Core: Made TCircularQueue actually thread-safe; improved code comments Change 3940860 by Max.Chen Sequencer: Changed StructNameToKey to StructPathToKey Previously, keying a PropertyPath of [RenderTransform][Shear][X] would get trimmed to X, which doesn't map to a channel name as considered by Sequencer2dTransformTrackEditor. Instead, trim the resulting property path to [Shear][X] so that track editors can determine the desired struct path and channels to key. #jira UE-52966 Change 3941292 by Mike.Zyracki Fix for trajectories out of range not showing up. 1) If we had no key data we would pop the time, so wouldn't get the section ranges. 2) Calculating of upper bound was wrong, checking against -1 and not key == num of keys when doing algo::lower_bound. 3) No need to do the Bck-- for the bakward iterators since we fixed #2. We start now from the upper bound correctly. 4) If we had no keys (at section start,end) we would incorrectly say we were any key type, so since we draw constant keys as dashed we would do so incorrectly around section end points. #jira UE-55929 Change 3941424 by Max.Chen Curve Editor: Change Zoom to Fit to use TArrayView Change 3941498 by Max.Preussner Core: Added FMath::DivideAndRoundNearest function Change 3942097 by Matt.Hoffman Drop Frame Timecode Support for NTSC rates. Change 3942104 by Matt.Hoffman Sequence Recorder Group is no longer visible inside the World Outliner after using one. #jira 55266 Change 3942107 by Max.Chen Sequencer: Resurrect logic to find or extend an existing section when adding keys. Change 3942330 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942339 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942507 by Andrew.Rodham Sequencer: We no longer pad the time overlap threshold with a small number that is not scaled by the current zoom level - The presence of this pad was causing keys that were far apart to be grouped when zoomed in a long way Change 3942509 by Andrew.Rodham Sequencer: Only pad total view range, rather than section range as well when retrieving keys to render - This stops us from rendering keys that are within the view range, but outside the section range Change 3942512 by Andrew.Rodham Added transactions to some sequencer details customizations Change 3942513 by Andrew.Rodham Sequencer: Reinstated validation checks to UMovieSceneSection::SetStartFrame and SetEndFrame, changed erroneous uses to use SetRange Change 3942560 by Andrew.Rodham Pass by rvalue reference to appease error C2719 on Win32 ('InChannels': formal parameter with requested alignment of 8 won't be aligned) Change 3942697 by Andrew.Rodham Newly Created Level Sequences and Actor Sequences now default to 24000 fps frame resolution (+/- ~24hrs range, supporting all integer rates + 23.976) Change 3942700 by Andrew.Rodham Sequencer: Added legacy out-of-bounds errors for times that are not supported by the current legacy upgrade frame resolution Change 3942989 by Max.Preussner Core: Fixed circular queue count calculation Change 3943538 by Max.Preussner MediaAssets: Reverted workaround for procedural audio log spam in HTML5 (Actor component initialization cannot be skipped if the component is used in a level) Change 3944071 by Max.Preussner QAGame: Fixed Media Texture keeps last frame of Media when PIE ends #jira UE-53360 Change 3944292 by Max.Chen Sequencer: Added extra flags to ensure that asset initialization does not occur on template actor sequences #jira UE-56113 Change 3944364 by Max.Chen Sequencer: Prevent circular shot/master tracks. Tested adding master -> child -> master as drag and drop cinematic shot tracks and sub tracks as well as through the + button. #jira UE-56091 Change 3944422 by Max.Chen Sequence Recorder: Disable transform recording if off. #jira UE-56061 Change 3944745 by Andrew.Rodham Sequencer: Key rendering fixes - Fixed assert that occured when keys happened to reside on some times due to KeyTime + TimeOverlapThreshold - KeyTime being slightly larger TimeOverlapThreshold - Fixed keys sometimes being clipped when zoomed right in due to lack of half-frame offset - Added missing documentation to MovieSceneTimeHelpers.h #jira UE-56107 Change 3945231 by Andrew.Rodham Sequencer: Reconstruct channel proxy on Serialize to catch all cases of undo/redo, PostLoad and duplication #jira UE-56089 Change 3945301 by Andrew.Rodham Sequencer: Added safety checks during initial sequence recording to guard against applying negative or 0-sized sequence ranges #jira UE-56125 Change 3946627 by Max.Preussner Fortnite: Fixed game crashes closing editor while in PIE - Pure virtual function being called #jira UE-56144 [CL 3946896 by Max Chen in Main branch]
2018-03-14 22:09:33 -04:00
MouseDownPosition[0] = MouseDownPosition[1] = MouseEvent.GetScreenSpacePosition();
MouseDownGeometry = MyGeometry;
bMouseDownInRegion = false;
DragMarkIndex = INDEX_NONE;
FVector2D CursorPos = MouseEvent.GetScreenSpacePosition();
FVector2D LocalPos = MouseDownGeometry.AbsoluteToLocal(CursorPos);
if (LocalPos.Y >= 0 && LocalPos.Y < MouseDownGeometry.GetLocalSize().Y)
{
bMouseDownInRegion = true;
}
return FReply::Unhandled();
}
FReply FSequencerTimeSliderController::OnMouseButtonUp( SWidget& WidgetOwner, const FGeometry& MyGeometry, const FPointerEvent& MouseEvent )
{
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3946692) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3801826 by Max.Chen PR #4304: Level Sequence crash fix - Guarded against dereferencing null componen. (Contributed by DSDambuster) Change 3801828 by Max.Chen PR #4302: Movie Scene Visibility Template unitialised variable, causing random . (Contributed by DSDambuster) Change 3801837 by Max.Chen Sequencer: Delay spawning/construction for convert to possessable. This fixes a bug where property values would be lost when converting back and forth from possessable to spawnable. #jira UE-52400 Change 3801841 by Max.Chen Sequencer: Make spacer nodes not selectable. PR #4194: Improvements to Sequencer (Contributed by projectgheist) #jira UE-53117 #jira UE-52139 Change 3804183 by Max.Preussner MediaAssets: Added missing lock in media sound component Change 3805414 by Max.Preussner MediaAssets: Setting valid GUID when initializing media texture resource Change 3819578 by Max.Chen PR #4370: When enabling the "MovieCapture", do not turn off the Stereo-3D display. (Contributed by yehaike) #jira UE-53647 Change 3823414 by Max.Chen Curve Editor: Lock down the first and last keys in the redundant keys removal range so that they're unaffected. #jira UE-53591 Change 3826406 by Max.Chen Sequencer: Move OnStartedPlaying() to within first update in UpdateTimeCursorPosition(). This fixes an issue where setting the hud/player visibility was getting stomped on later. #jira UE-52772 Change 3827044 by Max.Preussner MediaAssets: Added sprite visualization to media sound component #jira UE-53594 Change 3827988 by Max.Preussner MediaPlayerAssets: Fixed Media Texture is not linked to Media Player when created together #jira UE-53532 Change 3828506 by Max.Preussner MediaPlayerEditor: Added attenuation visualizer for media sound components #jira UE-53594 Change 3832590 by andrew.porter EngineTest: Added a keep state check in Property Animation sequencer test Change 3833053 by andrew.porter EngineTest: Adding Hierarchical Bias test Change 3835683 by andrew.porter EngineTest: Adding UMG Animation screenshot test Change 3836076 by Max.Chen Sequencer: Fix audio volume and pitch multiplier deprecation. Change 3836230 by andrew.porter EngineTest: Adding Sequence Bone Position automation test Change 3836347 by Max.Chen Sequencer: Fixes to shot name parsing. When a shot doesn't contain a shot number, assume, [ShotName]_[TakeNumber]. When duplicating a shot, put the new shot in the same path of the original shot, so that the take numbers will increment properly. #jira UE-51868 Change 3836552 by Max.Chen Sequencer: Sub section now has a takes menu Change 3838094 by Max.Chen UMG: Fix template finish not getting called on stop. This fixes a bug where sections aren't restored when finished. #jira UE-52285 Change 3838708 by Max.Chen Sequencer: Add notification when the blend type is changed. #jira UE-54046 Change 3840295 by Max.Chen Sequencer: Fix copy/paste crash for lights #jira UE-54084 Change 3840957 by Mike.Zyracki Added Show Only Keyable and Show Only Animated to the filter list in the property editor. Added IsPropertyAnimated to IDetailKeyframe Interface which already had support for showing properties which are keyable (which is used for the key icon next to the properties.). Could have created another interface but then would have had to mimic the sequencer binding, releasing also, so this seemed best way. One issue still left is that custom built detail items currently don't store associated properties(usually) and so certain properties, in particulalry transforms, won't show up as keyable or animated. Note this also shows up with the keyable icon not showing up next to transform tracks, and other filters like Show Only Modified not working with transforms/customs. Not sure best way to tackle this. #jira UESEQ-328 Change 3841756 by Max.Chen Sequencer: Fix unbound possessable components when pasting spawnables. #jira UE-54104 Change 3843950 by andrew.porter EngineTest: Renaming LevelStreaming tests/content to LevelVisibility Change 3844082 by Mike.Zyracki Missing file for animated filter in property editor. When finding if a track is animated we need to find it but we can't easily induce the MovieTrack class for any particular property. So we don't set a class for it and just search by it's ID and name. #jira UESEQ-328 Change 3846902 by Max.Preussner ImgMedia: Fixed image media player never finished initialization if loading failed #jira UE-54247 Change 3849820 by Mike.Zyracki Reassigning deleted widgets didn't work since the menu extender mechanism needs a valid UObject in order to perform an operation on it. So to fix we replaced GetObjectBindingContextMenuExtender in WidgetBlueprint with new delegate mechanism (OnBuildCustomContextMenuForGuid) that supports FGuid in addition to UObjects which is needed to handle re-binding deleted widgets. Note that the default sequencer hacks this for replacing deleted actors in SequencerObjectBindingNode to check to see if a LevelSequence is active. We could move to this mechanism there also. #jira UE-53163 Change 3852211 by Max.Chen UMG: Indicate name of the property that is not bound. #jira UE-54350 Change 3854120 by Max.Chen Sequencer: Fix sibling folders being allowed to have the same folder name. #jira UE-54363 Change 3854627 by Max.Chen Sequencer: Step to next/previous key should work for all tracks if there aren't any selected. #jira UESEQ-391 Change 3855825 by andrew.porter EngineTest: Adding animation blending automation test Change 3855950 by andrew.porter EngineTest: Adding correct expected valuues to animation blending test Change 3856237 by Matt.Hoffman UESEQ-336 - Sequencer Track Reordering Adds the ability to re-order Master Tracks, Folders and Object Bindings within sequencer hierarchies (including UMG). Adds the ability to do a one-off sorting of the content under the old sorting behavior if the user wants to reset their layout to how it was under legacy behavior. Modifies SequencerTrackNodes, SequencerFolderNodes and SequencerObjectBindingNodes to handle CanDrop/OnDrop for above, below and ontop of. Fixes a Slate Issue that forcibly expanded a TreeviewRow if an item handled OnDrop. Slate will now only forcibly expand the row if the item says the drop happened ontop of the item, and not above or below it like it previously did. Change 3856503 by andrew.porter EngineTest: Adding automation test for using animation blueprint with blend multi node in sequencer Change 3857875 by Max.Chen Sequencer: Assign the sequence id after the template is compiled. #jira UE-54462 Change 3858344 by Max.Chen Sequencer: Prevent Goto and Transform boxes from overlapping by allowing them to be visible at the same time in an autosized horizontal box. Also, added close button to the goto box. PR #4425: Prevent Goto and Transform boxes from overlapping in Sequencer ... (Contributed by projectgheist) #jira UE-54210 Change 3860566 by andrew.porter MediaFrameworkTest: Set the option to index 0 for the audio and video track list by default Change 3860654 by andrew.porter EngineTest: Enabling Camera Cut + FOV test Change 3860981 by andrew.porter EngineTest: Updating skeletal mesh tests with a delay after set playback position Change 3861256 by Max.Chen Sequencer: Add all bindings if none selected. #jira-54440 Change 3862154 by Andrew.Rodham Added TimeManagement module Change 3862424 by andrew.porter EngineTest: Turned on the test Bone Positions with Blend Multi Node Change 3862573 by andrew.porter EngineTest: Adding test to compare bone positions in a sequence that is blending an animation that is using an AnimBP Change 3865117 by Max.Chen Sequencer: Stop auto scroll on mouse release of movement. #jira UE-31212 Change 3865303 by Max.Chen Sequencer: Add drag and drop transactions #jira UE-54662 Change 3865304 by Max.Chen Sequencer: Fix crash when an actor factory is not found. Change 3865361 by Max.Chen Sequencer: Don't change the camera/shot lock button when popping out of a sequence. #jira UE-54665 Change 3865412 by Max.Chen Sequencer: Determine whether a transform track is for a camera by using the spawned object or template #jira UE-54666 Change 3865685 by Max.Chen Sequencer: Clear autoscrub offset when stopping autoscroll #jira UE-31212 Change 3865886 by Max.Chen Sequence Recorder: Log an error if the number of frames changes while recording. This can happen if the skeleton changes while recording. #jira UE-48715 Change 3866925 by Andrew.Porter MediaFrameworkTest: Changing the current PNG test video image sequence to 1024 x 576 Change 3867705 by andrew.porter QAGame: Adding Audio Sort Sequence to dev folder Change 3867890 by andrew.porter QAGame: Adding a sequence for testing a sorting crash to my dev folder Change 3872628 by Max.Chen Movie Scene Capture: Split delay before warmup into split delay before shot warmup so that there's separate controls for when the movie scene capture warmups up vs. shot boundaries. Change 3873131 by Matt.Hoffman UE-54732 - Crash reordering a folder with a track. This was caused by folders being the only type of track to check if someone was putting a parent track into a child track. Object Binding tracks and Tracks now check as well so that you can't use the above/below drop targets to add parents as children. This also fixed a typo in the localization keys. #jira UE-54732 Change 3873301 by Mike.Zyracki Added ability to support continous euler angle changes when changing rotations, in particularly with the rotation gizmo's. To do this we effectively added a form an of 'euler filter'(https://en.wikipedia.org/wiki/Euler_filter) to find the closest euler angle to the current euler angle. Three functions were added to FRotator to make this possible, one to get the euler angle that's has the same rotation as it, one to get the difference between two euler angles via Manhattan distance and a third using the previous two to choose a Rotator value that's closest to it. We then use these functions before calling UComponent::SetRelativeRotation to make sure we use the correct Euler after the Quat conversion. We also no longer limit(bound) the euler angles to -180,180, which is obviously necessary to avoid flips. I also changed how we caluclate yaw and roll when pitch is -90 or 90 to make it the standard approach of zeroing out roll and just setting yaw. Main reasons are the previous implementation had precision issues so things like 180, 90, -180 would show up due to numbers being nearly zero but negative,(this would break any smooth interpolations), and this facilitates having a 'gimbal' rotation mode (like Maya, Blender etc..) if we ever want that also. If needed we could keep the previous implementation but would need to add some FMath::IsNearlyZero checks, with less performance. Note we only do this special filtering when applying delta's to actors or components in the editors, which then call UComponent::SetRelativeRotationExact, which is a new function to foces the RelativeRotation to be equal to the new rotation. This allows us to store un-nomalized Rotators at the cost that the RotationCache may be broken. We didn't change any of the other UComponent functions that set rotations (via Quats or Transforms) so they will still be bounded and unwound. In SetInternalWorldLocationAndRotation we only set the rotation if the rotation has changed, which fixes the rotation getting changed and re-normalized if just translate happens. In TransformTrackEditor, we correclty use the bUndwing flag and in MovieScene3DTransformSection there was an un-needed winding check there, it will be unwound earlier if needed, which happens if Sequence Recording is happening. Max we should talk about what to do about this . Note the euler angle drag via the widget is still bound to 0-360. I think we should just unbound that now since the rotations value are now unbound. This review now includes fixes suggested by Zak. #jira UE-UE-22228 Change 3873483 by Matt.Hoffman Sequencer Tracks can now be inserted above the spacer at the bottom of the tree. #jira UE-54706 Change 3873899 by Max.Chen Sequencer: Add section selection throbbing Change 3873908 by Max.Chen Movie Scene Capture: Added logging per frame Change 3873924 by Matt.Hoffman Adds the ability to store Sequence Recorder setups into profiles that stay with the map and can be re-loaded later. Profiles store the Actor Recordings so the settings for each actor should carry with them. #jira UESEQ-339 Change 3874726 by Matt.Hoffman Disable drag-and-drop targets on spacers that come between rows in Sequencer. This prevents extra drag/drop targets showing up between each row. #jira UE-54706 Change 3874862 by Matt.Hoffman Audio Track no longer gets reordered when adding sub-audio tracks, as sub-tracks are no longer counted towards the sorting order index when normalizing indexes. #jira UE-54727 Change 3875905 by Matt.Hoffman Disable Fade Track UI if a fade track already exists in the sequence. #jira UESEQ-393 Change 3876163 by Max.Chen Sequencer: Swap the camera object to the camera component's owner if it's not the same. #jira UE-54874 Change 3876971 by Andrew.Porter EngineTest: Moved Media Player Seek test to new folder. Also enabled the test with new ground truth image. Change 3877040 by Max.Chen Cine Camera: Split camera properties to two groups, "Camera Options" and "Camera Settings". The cine camera now hides properties in the "Camera Settings" group so that properties like bConstrainAspectRatio (in the "Camera Options" group) can be visible. #jira UE-54192 Change 3877763 by Max.Chen Curve Editor: Fix curve changed on end drag so that only curves that had keys/tangents that were changed receive notification, otherwise all loaded curves were getting notified that they were changed. #jira UE-54951 Change 3878234 by Matt.Hoffman Disable "Drop Below" targets for Sequencer Tree nodes to prevent a confusing UX issue where dropping underneath a Object Binding Node puts it after the object binding node but the UI looks like it's inserting it inside the Object Binding node. #jira UE-54743 Change 3879359 by Mike.Zyracki If a track is inactive we dim it a bit which seems to be the UE4 way to show inactive or disabled state. We changed the active logic so that all subtracks need to be inactive for the track to also be inactive(instead of all active for active). This conforms to how the active state actually works, e.g if you have two sections and only one is active the track is still active above it. #jira UESEQ-388 Change 3879462 by Max.Chen Sequencer: Allow dragging onto a particular row which would move out any overlapping sections to make space for the newly created section. Newly created sections are now selected and throbbed to draw attention to themselves. #jira UE-54664 Change 3879464 by Max.Chen Sequencer: Fixed overlapping ranges being inserted into the evaluation field during compilation - The issue was that track segments that had been combined with adjacent segments (due to them being identical) would potentially cause a subsequently compiled frame to overlap with a range that had already been inserted into the evaluation field. - The insertion code previously asserted that only minor overlaps were catered for (due to fp rounding errors) and assumed that a supplied range could not entirely contain any other range in the field. - The solution is to supply the insertion time along with the range to know exactly where the data should live in the field, and crop the range to the maximum allowable space between adjacent ranges. #jira UE-54922 Change 3879590 by Matt.Hoffman Items that are now added to the Sequencer via the "+Track" menu will be selected after being added. Items can now be added inside of folders instead of just to the root level. #jira UE-27397 Change 3879612 by Mike.Zyracki Display Nodes with no children are always active. #jira UESEQ-388 Change 3879730 by Matt.Hoffman Sequence Recorder's actor recording groups now remove items from the group when removed via the UI. #jira UESEQ-339 Change 3880256 by Mike.Zyracki Fix issue with inactive display with folders and other track nodes. #jira UESEQ-388 Change 3883491 by Max.Chen Fix issue where tick is skipped due to last ticked pose isn't cleared after AnimInstance changes. Copy from Release-4.19 #jira UE-51323 Change 3883603 by Max.Chen Movie Scene Capture: Add option toggle disable screen percentage. By default this is on (no change in current behavior). #jira UE-51898 Change 3885074 by Max.Preussner MediaCompositing: Resetting media texture & freeing resource on section end; removed dead code Change 3887220 by Max.Preussner MediaCompositing: Defaulted media section duration to 1 sec (since we do not know the actual duration in most cases) Change 3887478 by Matt.Hoffman Sequences now show [Inactive] in their title bars when they're disabled. This helps communicate why a sequence isn't being evaluated. #jira UE-51469 Change 3888985 by Max.Chen Movie Scene Capture: Clamp HDR Compression Quality between 0 and 1. #jira UE-55136 Change 3893519 by Max.Chen Sequence Recorder: Clarified tooltip for bRecordNearbySpawnedActors - spawned actors will still be recorded if they match the ActorFilter. #jira UE-55238 Change 3893546 by Max.Chen Sequence Recorder: If a selected actor already has a recording, add a blank recording. #jira UE-55239 Change 3894044 by Max.Preussner MediaCompositing: Added support for seeking into a media section Change 3894310 by andrew.porter MediaFrameworkTest: Adding Img media sources for 1080 and 2160 ravent test content Change 3894426 by Max.Preussner MediaAssets: Letting media textures with AutoClear retain their clear color when player is reset Change 3895717 by Max.Chen Sequencer: Null checks to prevent crash when saving the default state of a spawnable #jira UE-55304 Change 3897388 by Max.Chen Sequencer: Don't update current time to be within the view range when stepping into a sequence. #jira UE-55322 Change 3897452 by Max.Chen Audio: Fix crash when trying to record audio without any active capture devices. Log warning if the number of input channels is not 1 or 2. #jira UE-55223 Change 3897619 by Max.Preussner MediaCompositing: Removed commented out code Change 3898072 by Max.Chen Sequencer: Override the animation asset in the player state if it doesn't match the animation asset that's being evaluated. #jira UE-55328 Change 3898272 by Max.Preussner MediaPlayerEditor: Made slate brush constants static Change 3898704 by Max.Chen Sequencer: Skip if the binding id's sequence can't be found. #jira UE-55337 Change 3899855 by Max.Preussner MediaCompositingEditor: Added cache state visualization to media track Change 3900300 by Max.Preussner MediaCompositingEditor: Added loop indicators to media sections Change 3900694 by Max.Preussner ImfMedia: Looping cache only when player is looping Change 3900892 by Max.Preussner Stats: Added stats category for media framework Change 3900954 by Max.Preussner MediaCompositing: Don't evaluate at the end of media section Change 3901348 by Max.Preussner Core: Replaced TLruCache autos for better readability Change 3901655 by Max.Preussner ImgMedia: Added more perf stats to EXR reader Change 3901972 by Max.Preussner MediaAssets: Added getter for media player in media sound components Change 3902233 by Max.Preussner MediaAssets: Enabling media textures to receive samples right after player is assigned Change 3902238 by Max.Preussner MediaCompositing: Working around init/shutdown idiosyncracies in sequencer Change 3904045 by Max.Chen Sequencer: Fix copy/paste crash. Only process UMovieSceneCopyableBinding and objects that can be spawned by the movie scene spawn register. #jira UE-55314 Change 3905605 by Max.Chen Sequencer: Restrict spawnables from being created if they have a ClassWithin that UMovieScene is not a child of. #jira UE-55429 Change 3906550 by Max.Chen Sequencer: Add media track icon #jira UE-55480 Change 3907101 by Max.Chen Sequence Recorder: Fix bugs related to not recording a level sequence. There were certain assumptions that creating a level sequence meant that sequence recording was in progress. This is not always the case - the recorders can record animation assets and not create a level sequence. Changed the notion of IsRecording() to having at least one actor recording that is recording. Countdown timer, recording displays, etc should function if IsRecording() and not based on whether a level sequence is created. #jira UE-55485 Change 3907247 by Max.Chen Sequence Recorder: Fix crash not removing PrepareToCleanseEditorObject delegate. Repros when opening sequence recorder, closing it, and then opening or creating a level. Change 3910343 by Max.Preussner Core: Added async helper for executing functions on a given thread pool Change 3910346 by Max.Preussner ImgMedia: Added separate thread pools for loading/decoding and deleting image frames Change 3910829 by Max.Preussner Profiler: Increased visible range of profiler graph Change 3910841 by Max.Preussner MediaCompositing: Displaying asset name instead of full media source path in media section Change 3910870 by Max.Preussner ImgMedia: Using deallocation thread pool only in debug builds Change 3919642 by Max.Chen Sequence Recorder: Clarify active tooltip #jira UE-55661 Change 3919660 by Max.Chen Sequencer: Sequence template source signatures are now also compared to catch the case where a sub-sequence asset has been saved but not modified - The following sequence of events exposes this issue: - Create a master sequence with a single shot that spawns a cube - Add this sequence to a level and set it to auto-play - Save everything and restart - Resave just the inner shot asset without opening it - PIE - The inner shot never spawns its cube because its template was wiped on save, but its signature never changed. Since the master sequence previously didn't check the template source signature, it ends up trying to evaluate an empty template. #jira UE-55626 #jira UE-55490 Change 3921825 by Max.Chen Sequencer: "Run Construction Script in Sequencer" is off by default for blueprints but on for Sequencer. This allows the content author to switch it on for specific blueprints and sequencer will be default, run those with construction scripts enabled. Change 3922232 by Max.Chen Sequence Recorder: Reset countdelay on stop. #jira UE-55755 Change 3922306 by Max.Chen Sequence Recorder: Don't automatically mark transforms to be recorded by sequence recorder. Instead, log a warning if the user toggled it off to warn that the resulting animation might not match gameplay. #jira UE-55758 Change 3922912 by Max.Chen Sequence Recorder: Fix refresh next sequence name #jira UE-55757 Change 3927654 by Max.Chen Movie Scene Capture: Added format mapping for the name of the current camera #jira UE-55769 PR #4537 Change 3927658 by Max.Chen Sequencer: Added fbx property mapping for "FocusDistance" to "FocusSettings.ManualFocusDistance" #jira UE-55782 Change 3932022 by Max.Chen Sequencer: Add import animation track section to next available row index. #jira UE-55892 Change 3933919 by Max.Chen Sequencer: Jump to playback start frame and not 0 to start playback for recording. #jira UE-55933 Change 3934307 by Andrew.Rodham Sequencer: Add template signature that is re-generated every time the base template is regenerated, which invalidates evaluation fields This fixes an issue where the same sequence is instantiated multiple times in a sequence. If the source sequence was saved, its template would be wiped, which would invalidate the template ID When an instance tries to evaluate the master template, it would only invalidate a range in the evaluation field that was the hull of any invalid sub sequences overlapping the current time, potentially leaving invalid data in the evaluation field at positions later (or earlier) on in the sequence When the sub template was re-generated, it receives the same SequenceSignature as it had before (because the sequence hasn't actually changed), which causes the stale evaluation field data to fail the IsDirty check (because the sequence is the same as it thought, but the *template* has changed) This has been addressed be adding a signature to templates themselves, and checking both the template signature and sequence signature as a part of the IsDirty check. This ensures that we regenerate if either the template, or the sequence have changed. #jira UE-55934 Change 3936327 by Andrew.Rodham Sequencer: Removed increment when trimming right UMovieSceneSection::TrimSection already explicity assigns an exclusive bound to the time passed in. The new behavior means we can trim a section to the right, and insert another section without changing the time to create adjacent sections. #jira UE-42652 Change 3936328 by Andrew.Rodham Fixed KeyFrameManipulator assignment operators and copy/move constructors - These types are potentially self-referential so cannot use default constructors/assignment Change 3936330 by Andrew.Rodham Converted UMGSequencePlayer to use frames internally #jira UE-54878 Change 3936726 by Max.Chen Sequencer: Set track node as the parent of the key area node. The key area switcher needs the object binding id from the parent object binding node. Without this, the binding to the external value fails. #jira UE-55931 Change 3936775 by Max.Chen Sequencer: Should stop or loop should compare DurationFrames with Current Time from StartTime. The bug is that if you set 30 warmup frames in movie rendering for a range of 0-100, the FrameRange will be starting at -30 and have a duration of 130. Without this fix, the playback will continue until frame 130, rather than 100. #jira UE-55933 Change 3936935 by Matt.Hoffman Easing Curves are now represented in Play Rate resolution instead of internal resolution. #jira UE-55937 Change 3937069 by Matt.Hoffman Users can toggle if the is infinite on each side, limited by which tracks support infinite ranges. #jira UE-55891 Change 3937516 by Max.Preussner ImgMedia: Added support for single-threaded platforms #jira UE-55986 Change 3937826 by Max.Preussner MediaAssets: Disabling media sound components on HTML5 if AudioMixer is not enabled Change 3937997 by Max.Chen Curve Editor: Add Zoom to Fit Curves so that selected curves from Sequencer can be focused on. Tested that undo doesn't re-zoom. #jira UE-55935 Change 3938000 by Max.Chen Sequencer: Stop all sounds before generating audio waveforms. #jira UE-55951 Change 3938376 by Max.Preussner XGEController: Disabled XGE Controller in single-threaded apps to prevent crash Change 3938444 by Max.Preussner Core: Added async support for single-threaded applications Change 3938445 by Max.Preussner Networking: Added support for single-threaded applications in UDP socket sender/receiver Change 3938447 by Max.Preussner Messaging: Added support for single-threaded applications Change 3939432 by Max.Chen Sequence Recorder: Append command list to global level editor actions so that shortcuts are accessible in level editor. #jira UE-55798 Change 3940229 by Andrew.Rodham Added prospective display rate upgrade to UMovieScene::PostLoad - There was previously some very odd behaviour that would assign the fixed frame interval only when a sub sequence was focused in SSequencer. This meant that many sequences could have a frame interval of 0 set in the data. - Under the old method of snap interval display this would have fallen back to getting the display interval from the sequencer settings, but we no longer look at these. - The USequencerSettings properties have been removed and in their place, a prospective data upgrade for sequences that have a fixed frame interval old 0fps that sets the play rate to the previous defaults based off the old USequencerSettings defaults. - This could end up 'changing' the display rate for sequences where the user has changed the snap interval in the settings for a particular sequence editor, but there's not much we can do about that given we don't have access to the USequencerSettings classes in UMovieScene #jira UE-55919 Change 3940277 by Andrew.Rodham Sequencer: Added ability to default frame resolutions and play rates for newly created actor sequences Change 3940378 by Andrew.Rodham Sequencer: Post move import dialog now defaults to the playback framerate of the sequence, and floors to frame numbers Change 3940559 by Andrew.Rodham Reinstated primed or recording sequence color Change 3940642 by Max.Preussner ImagePlate: Removed image plate media playback functionality Change 3940843 by Max.Preussner Core: Made TCircularQueue actually thread-safe; improved code comments Change 3940860 by Max.Chen Sequencer: Changed StructNameToKey to StructPathToKey Previously, keying a PropertyPath of [RenderTransform][Shear][X] would get trimmed to X, which doesn't map to a channel name as considered by Sequencer2dTransformTrackEditor. Instead, trim the resulting property path to [Shear][X] so that track editors can determine the desired struct path and channels to key. #jira UE-52966 Change 3941292 by Mike.Zyracki Fix for trajectories out of range not showing up. 1) If we had no key data we would pop the time, so wouldn't get the section ranges. 2) Calculating of upper bound was wrong, checking against -1 and not key == num of keys when doing algo::lower_bound. 3) No need to do the Bck-- for the bakward iterators since we fixed #2. We start now from the upper bound correctly. 4) If we had no keys (at section start,end) we would incorrectly say we were any key type, so since we draw constant keys as dashed we would do so incorrectly around section end points. #jira UE-55929 Change 3941424 by Max.Chen Curve Editor: Change Zoom to Fit to use TArrayView Change 3941498 by Max.Preussner Core: Added FMath::DivideAndRoundNearest function Change 3942097 by Matt.Hoffman Drop Frame Timecode Support for NTSC rates. Change 3942104 by Matt.Hoffman Sequence Recorder Group is no longer visible inside the World Outliner after using one. #jira 55266 Change 3942107 by Max.Chen Sequencer: Resurrect logic to find or extend an existing section when adding keys. Change 3942330 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942339 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942507 by Andrew.Rodham Sequencer: We no longer pad the time overlap threshold with a small number that is not scaled by the current zoom level - The presence of this pad was causing keys that were far apart to be grouped when zoomed in a long way Change 3942509 by Andrew.Rodham Sequencer: Only pad total view range, rather than section range as well when retrieving keys to render - This stops us from rendering keys that are within the view range, but outside the section range Change 3942512 by Andrew.Rodham Added transactions to some sequencer details customizations Change 3942513 by Andrew.Rodham Sequencer: Reinstated validation checks to UMovieSceneSection::SetStartFrame and SetEndFrame, changed erroneous uses to use SetRange Change 3942560 by Andrew.Rodham Pass by rvalue reference to appease error C2719 on Win32 ('InChannels': formal parameter with requested alignment of 8 won't be aligned) Change 3942697 by Andrew.Rodham Newly Created Level Sequences and Actor Sequences now default to 24000 fps frame resolution (+/- ~24hrs range, supporting all integer rates + 23.976) Change 3942700 by Andrew.Rodham Sequencer: Added legacy out-of-bounds errors for times that are not supported by the current legacy upgrade frame resolution Change 3942989 by Max.Preussner Core: Fixed circular queue count calculation Change 3943538 by Max.Preussner MediaAssets: Reverted workaround for procedural audio log spam in HTML5 (Actor component initialization cannot be skipped if the component is used in a level) Change 3944071 by Max.Preussner QAGame: Fixed Media Texture keeps last frame of Media when PIE ends #jira UE-53360 Change 3944292 by Max.Chen Sequencer: Added extra flags to ensure that asset initialization does not occur on template actor sequences #jira UE-56113 Change 3944364 by Max.Chen Sequencer: Prevent circular shot/master tracks. Tested adding master -> child -> master as drag and drop cinematic shot tracks and sub tracks as well as through the + button. #jira UE-56091 Change 3944422 by Max.Chen Sequence Recorder: Disable transform recording if off. #jira UE-56061 Change 3944745 by Andrew.Rodham Sequencer: Key rendering fixes - Fixed assert that occured when keys happened to reside on some times due to KeyTime + TimeOverlapThreshold - KeyTime being slightly larger TimeOverlapThreshold - Fixed keys sometimes being clipped when zoomed right in due to lack of half-frame offset - Added missing documentation to MovieSceneTimeHelpers.h #jira UE-56107 Change 3945231 by Andrew.Rodham Sequencer: Reconstruct channel proxy on Serialize to catch all cases of undo/redo, PostLoad and duplication #jira UE-56089 Change 3945301 by Andrew.Rodham Sequencer: Added safety checks during initial sequence recording to guard against applying negative or 0-sized sequence ranges #jira UE-56125 Change 3946627 by Max.Preussner Fortnite: Fixed game crashes closing editor while in PIE - Pure virtual function being called #jira UE-56144 [CL 3946896 by Max Chen in Main branch]
2018-03-14 22:09:33 -04:00
bool bHandleLeftMouseButton = MouseEvent.GetEffectingButton() == EKeys::LeftMouseButton && WidgetOwner.HasMouseCapture();
bool bHandleRightMouseButton = MouseEvent.GetEffectingButton() == EKeys::RightMouseButton && WidgetOwner.HasMouseCapture() && TimeSliderArgs.AllowZoom ;
Copying //UE4/Dev-Sequencer to Dev-Main (//UE4/Dev-Main) #lockdown nick.penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2719576 on 2015/10/07 by Chris.Wood Added check for stale BP classes in FKismetCompilerUtilities::IsTypeCompatibleWithProperty() to stop compiler errors during reinstancing. [UE-19795] - UMG Compiler error when adding variable to nested Widget Change 2721474 on 2015/10/08 by Andrew.Rodham Sequencer: Movie render operations now successfully capture UMG UI Change 2724958 on 2015/10/12 by Chris.Wood Added missing resource cleanup code to UMG widgets [UE-21874] - UWIdget classes with missing ReleaseSlateResources() overrides Added ReleaseSlateResources() to ListView, TileView and Slider widgets to reset shared pointers to slate widgets. Change 2733562 on 2015/10/19 by Andrew.Rodham Sequencer: Fixed spawnables not working in sub-sequences - The issue here was that sequence track instance updates had no knowledge of which sub-sequence they were being evaluated within. We now pass the active sequence instance into the relevant track instance functions. - Also addressed some issues to do with save/restore state not getting called correctly on master tracks of sequence instances - Tidied up spawn track editor Change 2735264 on 2015/10/20 by Chris.Wood Improved Engine analytics handling for Editor and games [UE-21892] - Improve how Engine analytics are handled for Editor and games Changes: Added Privacy section to Editor settings Exposed editor analytics flag in Privacy options Added Details Customization to make this type of bool property clearer with extra info and hyperlink Changed AreEditorAnalyticsEnable() to use new flag Prevented analytics init when disabled by user Sending event and shutting down analytics when user opts out Add in-game project setting for anonymous game usage data Renamed and moved bHardwareSurveyEnabled Added message about exposing in-game setting to end users Added anonymous GUID id for in-game analytics Moved end user settings to global config (defaultengine.ini) Placeholder loc text on new options for now, pending legal wording sign-off Change 2735866 on 2015/10/20 by Max.Preussner Async: Added ability to register an optional callback function that is executed when a Future completes Change 2739793 on 2015/10/23 by Andrew.Rodham Sequencer: Refined movie scene capturing to ensure frame accuracies are maintained - Aborting an in-progress capture now gracefully terminates the process (through a remote session command) to ensure it still creates a valid video - Level sequece movie capture will now pick up a corresponding level sequence in the world, and use that to capture with. A new actor will be spawned at runtime with the correct asset, should one not already exist. - Made -nomovie actually work - Refined how active movie captures are managed - Added option to 'stage' a sequence before starting the capture. This feature will set the sequence on its first frame for the preroll, to ensure that PPP effects are allowed time to stabilize Change 2744402 on 2015/10/28 by Max.Preussner Sequencer: Separated track display names from track identifier names; code cleanup Change 2745953 on 2015/10/29 by Max.Chen Sequencer: Attach to socket. Relative attachments. #jira UETOOL-463 Change 2747028 on 2015/10/29 by Max.Preussner Sequencer: Another overhaul of track display name handling; code and documentation cleanup pass. Change 2758888 on 2015/11/09 by Chris.Wood Integrating changes - 4.10 to Dev-Sequencer From 4.10 branch fixes: Added check for debugger present when reporting abnormal termination to analytics. [UE-22844] CL 2750764 Added FSystemWideCriticalSection for desktop platforms. Used by analytics to lock access to editor instances list in the OS. [UE-22844] CL 2753661 Updating wording in privacy settings text. [UE-21892] CL 2753709 Mac and Linux CIS fix [UE-22844] CL 2755381 Change 2761287 on 2015/11/10 by Max.Chen Sequencer: Add null check when updating the UMG preview if the sequencer doesn't exist/has been closed. #jira UE-5206 Change 2764945 on 2015/11/12 by Max.Preussner Core: Templatized TypeContainer implementation to allow for thread-safe objects; updated unit test Also fixes UE-13850 Change 2765036 on 2015/11/12 by Max.Preussner UdpMessaging: Fixed message serialization unit test (UE-22571) #jira: UE-22571 Change 2766149 on 2015/11/13 by Max.Preussner Media: Implemented event that gets triggered when playback reached the end of media Also fixes looping. Change 2768157 on 2015/11/16 by Max.Preussner Media: Added .m4a to supported WMF file extensions Change 2769200 on 2015/11/16 by Max.Chen Editor: Add broadcast messages when snapping objects. #jira UE-22680 Change 2773066 on 2015/11/19 by Chris.Wood Upload crashes from CRC to Data Router [UECORE-249] - Integrate Crash Report Client with the Data Router Upload to Receiver still active as we are running both in parallel for now.
2015-12-11 13:52:32 -05:00
FScrubRangeToScreen RangeToScreen = FScrubRangeToScreen(GetViewRange(), MyGeometry.Size);
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3946692) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3801826 by Max.Chen PR #4304: Level Sequence crash fix - Guarded against dereferencing null componen. (Contributed by DSDambuster) Change 3801828 by Max.Chen PR #4302: Movie Scene Visibility Template unitialised variable, causing random . (Contributed by DSDambuster) Change 3801837 by Max.Chen Sequencer: Delay spawning/construction for convert to possessable. This fixes a bug where property values would be lost when converting back and forth from possessable to spawnable. #jira UE-52400 Change 3801841 by Max.Chen Sequencer: Make spacer nodes not selectable. PR #4194: Improvements to Sequencer (Contributed by projectgheist) #jira UE-53117 #jira UE-52139 Change 3804183 by Max.Preussner MediaAssets: Added missing lock in media sound component Change 3805414 by Max.Preussner MediaAssets: Setting valid GUID when initializing media texture resource Change 3819578 by Max.Chen PR #4370: When enabling the "MovieCapture", do not turn off the Stereo-3D display. (Contributed by yehaike) #jira UE-53647 Change 3823414 by Max.Chen Curve Editor: Lock down the first and last keys in the redundant keys removal range so that they're unaffected. #jira UE-53591 Change 3826406 by Max.Chen Sequencer: Move OnStartedPlaying() to within first update in UpdateTimeCursorPosition(). This fixes an issue where setting the hud/player visibility was getting stomped on later. #jira UE-52772 Change 3827044 by Max.Preussner MediaAssets: Added sprite visualization to media sound component #jira UE-53594 Change 3827988 by Max.Preussner MediaPlayerAssets: Fixed Media Texture is not linked to Media Player when created together #jira UE-53532 Change 3828506 by Max.Preussner MediaPlayerEditor: Added attenuation visualizer for media sound components #jira UE-53594 Change 3832590 by andrew.porter EngineTest: Added a keep state check in Property Animation sequencer test Change 3833053 by andrew.porter EngineTest: Adding Hierarchical Bias test Change 3835683 by andrew.porter EngineTest: Adding UMG Animation screenshot test Change 3836076 by Max.Chen Sequencer: Fix audio volume and pitch multiplier deprecation. Change 3836230 by andrew.porter EngineTest: Adding Sequence Bone Position automation test Change 3836347 by Max.Chen Sequencer: Fixes to shot name parsing. When a shot doesn't contain a shot number, assume, [ShotName]_[TakeNumber]. When duplicating a shot, put the new shot in the same path of the original shot, so that the take numbers will increment properly. #jira UE-51868 Change 3836552 by Max.Chen Sequencer: Sub section now has a takes menu Change 3838094 by Max.Chen UMG: Fix template finish not getting called on stop. This fixes a bug where sections aren't restored when finished. #jira UE-52285 Change 3838708 by Max.Chen Sequencer: Add notification when the blend type is changed. #jira UE-54046 Change 3840295 by Max.Chen Sequencer: Fix copy/paste crash for lights #jira UE-54084 Change 3840957 by Mike.Zyracki Added Show Only Keyable and Show Only Animated to the filter list in the property editor. Added IsPropertyAnimated to IDetailKeyframe Interface which already had support for showing properties which are keyable (which is used for the key icon next to the properties.). Could have created another interface but then would have had to mimic the sequencer binding, releasing also, so this seemed best way. One issue still left is that custom built detail items currently don't store associated properties(usually) and so certain properties, in particulalry transforms, won't show up as keyable or animated. Note this also shows up with the keyable icon not showing up next to transform tracks, and other filters like Show Only Modified not working with transforms/customs. Not sure best way to tackle this. #jira UESEQ-328 Change 3841756 by Max.Chen Sequencer: Fix unbound possessable components when pasting spawnables. #jira UE-54104 Change 3843950 by andrew.porter EngineTest: Renaming LevelStreaming tests/content to LevelVisibility Change 3844082 by Mike.Zyracki Missing file for animated filter in property editor. When finding if a track is animated we need to find it but we can't easily induce the MovieTrack class for any particular property. So we don't set a class for it and just search by it's ID and name. #jira UESEQ-328 Change 3846902 by Max.Preussner ImgMedia: Fixed image media player never finished initialization if loading failed #jira UE-54247 Change 3849820 by Mike.Zyracki Reassigning deleted widgets didn't work since the menu extender mechanism needs a valid UObject in order to perform an operation on it. So to fix we replaced GetObjectBindingContextMenuExtender in WidgetBlueprint with new delegate mechanism (OnBuildCustomContextMenuForGuid) that supports FGuid in addition to UObjects which is needed to handle re-binding deleted widgets. Note that the default sequencer hacks this for replacing deleted actors in SequencerObjectBindingNode to check to see if a LevelSequence is active. We could move to this mechanism there also. #jira UE-53163 Change 3852211 by Max.Chen UMG: Indicate name of the property that is not bound. #jira UE-54350 Change 3854120 by Max.Chen Sequencer: Fix sibling folders being allowed to have the same folder name. #jira UE-54363 Change 3854627 by Max.Chen Sequencer: Step to next/previous key should work for all tracks if there aren't any selected. #jira UESEQ-391 Change 3855825 by andrew.porter EngineTest: Adding animation blending automation test Change 3855950 by andrew.porter EngineTest: Adding correct expected valuues to animation blending test Change 3856237 by Matt.Hoffman UESEQ-336 - Sequencer Track Reordering Adds the ability to re-order Master Tracks, Folders and Object Bindings within sequencer hierarchies (including UMG). Adds the ability to do a one-off sorting of the content under the old sorting behavior if the user wants to reset their layout to how it was under legacy behavior. Modifies SequencerTrackNodes, SequencerFolderNodes and SequencerObjectBindingNodes to handle CanDrop/OnDrop for above, below and ontop of. Fixes a Slate Issue that forcibly expanded a TreeviewRow if an item handled OnDrop. Slate will now only forcibly expand the row if the item says the drop happened ontop of the item, and not above or below it like it previously did. Change 3856503 by andrew.porter EngineTest: Adding automation test for using animation blueprint with blend multi node in sequencer Change 3857875 by Max.Chen Sequencer: Assign the sequence id after the template is compiled. #jira UE-54462 Change 3858344 by Max.Chen Sequencer: Prevent Goto and Transform boxes from overlapping by allowing them to be visible at the same time in an autosized horizontal box. Also, added close button to the goto box. PR #4425: Prevent Goto and Transform boxes from overlapping in Sequencer ... (Contributed by projectgheist) #jira UE-54210 Change 3860566 by andrew.porter MediaFrameworkTest: Set the option to index 0 for the audio and video track list by default Change 3860654 by andrew.porter EngineTest: Enabling Camera Cut + FOV test Change 3860981 by andrew.porter EngineTest: Updating skeletal mesh tests with a delay after set playback position Change 3861256 by Max.Chen Sequencer: Add all bindings if none selected. #jira-54440 Change 3862154 by Andrew.Rodham Added TimeManagement module Change 3862424 by andrew.porter EngineTest: Turned on the test Bone Positions with Blend Multi Node Change 3862573 by andrew.porter EngineTest: Adding test to compare bone positions in a sequence that is blending an animation that is using an AnimBP Change 3865117 by Max.Chen Sequencer: Stop auto scroll on mouse release of movement. #jira UE-31212 Change 3865303 by Max.Chen Sequencer: Add drag and drop transactions #jira UE-54662 Change 3865304 by Max.Chen Sequencer: Fix crash when an actor factory is not found. Change 3865361 by Max.Chen Sequencer: Don't change the camera/shot lock button when popping out of a sequence. #jira UE-54665 Change 3865412 by Max.Chen Sequencer: Determine whether a transform track is for a camera by using the spawned object or template #jira UE-54666 Change 3865685 by Max.Chen Sequencer: Clear autoscrub offset when stopping autoscroll #jira UE-31212 Change 3865886 by Max.Chen Sequence Recorder: Log an error if the number of frames changes while recording. This can happen if the skeleton changes while recording. #jira UE-48715 Change 3866925 by Andrew.Porter MediaFrameworkTest: Changing the current PNG test video image sequence to 1024 x 576 Change 3867705 by andrew.porter QAGame: Adding Audio Sort Sequence to dev folder Change 3867890 by andrew.porter QAGame: Adding a sequence for testing a sorting crash to my dev folder Change 3872628 by Max.Chen Movie Scene Capture: Split delay before warmup into split delay before shot warmup so that there's separate controls for when the movie scene capture warmups up vs. shot boundaries. Change 3873131 by Matt.Hoffman UE-54732 - Crash reordering a folder with a track. This was caused by folders being the only type of track to check if someone was putting a parent track into a child track. Object Binding tracks and Tracks now check as well so that you can't use the above/below drop targets to add parents as children. This also fixed a typo in the localization keys. #jira UE-54732 Change 3873301 by Mike.Zyracki Added ability to support continous euler angle changes when changing rotations, in particularly with the rotation gizmo's. To do this we effectively added a form an of 'euler filter'(https://en.wikipedia.org/wiki/Euler_filter) to find the closest euler angle to the current euler angle. Three functions were added to FRotator to make this possible, one to get the euler angle that's has the same rotation as it, one to get the difference between two euler angles via Manhattan distance and a third using the previous two to choose a Rotator value that's closest to it. We then use these functions before calling UComponent::SetRelativeRotation to make sure we use the correct Euler after the Quat conversion. We also no longer limit(bound) the euler angles to -180,180, which is obviously necessary to avoid flips. I also changed how we caluclate yaw and roll when pitch is -90 or 90 to make it the standard approach of zeroing out roll and just setting yaw. Main reasons are the previous implementation had precision issues so things like 180, 90, -180 would show up due to numbers being nearly zero but negative,(this would break any smooth interpolations), and this facilitates having a 'gimbal' rotation mode (like Maya, Blender etc..) if we ever want that also. If needed we could keep the previous implementation but would need to add some FMath::IsNearlyZero checks, with less performance. Note we only do this special filtering when applying delta's to actors or components in the editors, which then call UComponent::SetRelativeRotationExact, which is a new function to foces the RelativeRotation to be equal to the new rotation. This allows us to store un-nomalized Rotators at the cost that the RotationCache may be broken. We didn't change any of the other UComponent functions that set rotations (via Quats or Transforms) so they will still be bounded and unwound. In SetInternalWorldLocationAndRotation we only set the rotation if the rotation has changed, which fixes the rotation getting changed and re-normalized if just translate happens. In TransformTrackEditor, we correclty use the bUndwing flag and in MovieScene3DTransformSection there was an un-needed winding check there, it will be unwound earlier if needed, which happens if Sequence Recording is happening. Max we should talk about what to do about this . Note the euler angle drag via the widget is still bound to 0-360. I think we should just unbound that now since the rotations value are now unbound. This review now includes fixes suggested by Zak. #jira UE-UE-22228 Change 3873483 by Matt.Hoffman Sequencer Tracks can now be inserted above the spacer at the bottom of the tree. #jira UE-54706 Change 3873899 by Max.Chen Sequencer: Add section selection throbbing Change 3873908 by Max.Chen Movie Scene Capture: Added logging per frame Change 3873924 by Matt.Hoffman Adds the ability to store Sequence Recorder setups into profiles that stay with the map and can be re-loaded later. Profiles store the Actor Recordings so the settings for each actor should carry with them. #jira UESEQ-339 Change 3874726 by Matt.Hoffman Disable drag-and-drop targets on spacers that come between rows in Sequencer. This prevents extra drag/drop targets showing up between each row. #jira UE-54706 Change 3874862 by Matt.Hoffman Audio Track no longer gets reordered when adding sub-audio tracks, as sub-tracks are no longer counted towards the sorting order index when normalizing indexes. #jira UE-54727 Change 3875905 by Matt.Hoffman Disable Fade Track UI if a fade track already exists in the sequence. #jira UESEQ-393 Change 3876163 by Max.Chen Sequencer: Swap the camera object to the camera component's owner if it's not the same. #jira UE-54874 Change 3876971 by Andrew.Porter EngineTest: Moved Media Player Seek test to new folder. Also enabled the test with new ground truth image. Change 3877040 by Max.Chen Cine Camera: Split camera properties to two groups, "Camera Options" and "Camera Settings". The cine camera now hides properties in the "Camera Settings" group so that properties like bConstrainAspectRatio (in the "Camera Options" group) can be visible. #jira UE-54192 Change 3877763 by Max.Chen Curve Editor: Fix curve changed on end drag so that only curves that had keys/tangents that were changed receive notification, otherwise all loaded curves were getting notified that they were changed. #jira UE-54951 Change 3878234 by Matt.Hoffman Disable "Drop Below" targets for Sequencer Tree nodes to prevent a confusing UX issue where dropping underneath a Object Binding Node puts it after the object binding node but the UI looks like it's inserting it inside the Object Binding node. #jira UE-54743 Change 3879359 by Mike.Zyracki If a track is inactive we dim it a bit which seems to be the UE4 way to show inactive or disabled state. We changed the active logic so that all subtracks need to be inactive for the track to also be inactive(instead of all active for active). This conforms to how the active state actually works, e.g if you have two sections and only one is active the track is still active above it. #jira UESEQ-388 Change 3879462 by Max.Chen Sequencer: Allow dragging onto a particular row which would move out any overlapping sections to make space for the newly created section. Newly created sections are now selected and throbbed to draw attention to themselves. #jira UE-54664 Change 3879464 by Max.Chen Sequencer: Fixed overlapping ranges being inserted into the evaluation field during compilation - The issue was that track segments that had been combined with adjacent segments (due to them being identical) would potentially cause a subsequently compiled frame to overlap with a range that had already been inserted into the evaluation field. - The insertion code previously asserted that only minor overlaps were catered for (due to fp rounding errors) and assumed that a supplied range could not entirely contain any other range in the field. - The solution is to supply the insertion time along with the range to know exactly where the data should live in the field, and crop the range to the maximum allowable space between adjacent ranges. #jira UE-54922 Change 3879590 by Matt.Hoffman Items that are now added to the Sequencer via the "+Track" menu will be selected after being added. Items can now be added inside of folders instead of just to the root level. #jira UE-27397 Change 3879612 by Mike.Zyracki Display Nodes with no children are always active. #jira UESEQ-388 Change 3879730 by Matt.Hoffman Sequence Recorder's actor recording groups now remove items from the group when removed via the UI. #jira UESEQ-339 Change 3880256 by Mike.Zyracki Fix issue with inactive display with folders and other track nodes. #jira UESEQ-388 Change 3883491 by Max.Chen Fix issue where tick is skipped due to last ticked pose isn't cleared after AnimInstance changes. Copy from Release-4.19 #jira UE-51323 Change 3883603 by Max.Chen Movie Scene Capture: Add option toggle disable screen percentage. By default this is on (no change in current behavior). #jira UE-51898 Change 3885074 by Max.Preussner MediaCompositing: Resetting media texture & freeing resource on section end; removed dead code Change 3887220 by Max.Preussner MediaCompositing: Defaulted media section duration to 1 sec (since we do not know the actual duration in most cases) Change 3887478 by Matt.Hoffman Sequences now show [Inactive] in their title bars when they're disabled. This helps communicate why a sequence isn't being evaluated. #jira UE-51469 Change 3888985 by Max.Chen Movie Scene Capture: Clamp HDR Compression Quality between 0 and 1. #jira UE-55136 Change 3893519 by Max.Chen Sequence Recorder: Clarified tooltip for bRecordNearbySpawnedActors - spawned actors will still be recorded if they match the ActorFilter. #jira UE-55238 Change 3893546 by Max.Chen Sequence Recorder: If a selected actor already has a recording, add a blank recording. #jira UE-55239 Change 3894044 by Max.Preussner MediaCompositing: Added support for seeking into a media section Change 3894310 by andrew.porter MediaFrameworkTest: Adding Img media sources for 1080 and 2160 ravent test content Change 3894426 by Max.Preussner MediaAssets: Letting media textures with AutoClear retain their clear color when player is reset Change 3895717 by Max.Chen Sequencer: Null checks to prevent crash when saving the default state of a spawnable #jira UE-55304 Change 3897388 by Max.Chen Sequencer: Don't update current time to be within the view range when stepping into a sequence. #jira UE-55322 Change 3897452 by Max.Chen Audio: Fix crash when trying to record audio without any active capture devices. Log warning if the number of input channels is not 1 or 2. #jira UE-55223 Change 3897619 by Max.Preussner MediaCompositing: Removed commented out code Change 3898072 by Max.Chen Sequencer: Override the animation asset in the player state if it doesn't match the animation asset that's being evaluated. #jira UE-55328 Change 3898272 by Max.Preussner MediaPlayerEditor: Made slate brush constants static Change 3898704 by Max.Chen Sequencer: Skip if the binding id's sequence can't be found. #jira UE-55337 Change 3899855 by Max.Preussner MediaCompositingEditor: Added cache state visualization to media track Change 3900300 by Max.Preussner MediaCompositingEditor: Added loop indicators to media sections Change 3900694 by Max.Preussner ImfMedia: Looping cache only when player is looping Change 3900892 by Max.Preussner Stats: Added stats category for media framework Change 3900954 by Max.Preussner MediaCompositing: Don't evaluate at the end of media section Change 3901348 by Max.Preussner Core: Replaced TLruCache autos for better readability Change 3901655 by Max.Preussner ImgMedia: Added more perf stats to EXR reader Change 3901972 by Max.Preussner MediaAssets: Added getter for media player in media sound components Change 3902233 by Max.Preussner MediaAssets: Enabling media textures to receive samples right after player is assigned Change 3902238 by Max.Preussner MediaCompositing: Working around init/shutdown idiosyncracies in sequencer Change 3904045 by Max.Chen Sequencer: Fix copy/paste crash. Only process UMovieSceneCopyableBinding and objects that can be spawned by the movie scene spawn register. #jira UE-55314 Change 3905605 by Max.Chen Sequencer: Restrict spawnables from being created if they have a ClassWithin that UMovieScene is not a child of. #jira UE-55429 Change 3906550 by Max.Chen Sequencer: Add media track icon #jira UE-55480 Change 3907101 by Max.Chen Sequence Recorder: Fix bugs related to not recording a level sequence. There were certain assumptions that creating a level sequence meant that sequence recording was in progress. This is not always the case - the recorders can record animation assets and not create a level sequence. Changed the notion of IsRecording() to having at least one actor recording that is recording. Countdown timer, recording displays, etc should function if IsRecording() and not based on whether a level sequence is created. #jira UE-55485 Change 3907247 by Max.Chen Sequence Recorder: Fix crash not removing PrepareToCleanseEditorObject delegate. Repros when opening sequence recorder, closing it, and then opening or creating a level. Change 3910343 by Max.Preussner Core: Added async helper for executing functions on a given thread pool Change 3910346 by Max.Preussner ImgMedia: Added separate thread pools for loading/decoding and deleting image frames Change 3910829 by Max.Preussner Profiler: Increased visible range of profiler graph Change 3910841 by Max.Preussner MediaCompositing: Displaying asset name instead of full media source path in media section Change 3910870 by Max.Preussner ImgMedia: Using deallocation thread pool only in debug builds Change 3919642 by Max.Chen Sequence Recorder: Clarify active tooltip #jira UE-55661 Change 3919660 by Max.Chen Sequencer: Sequence template source signatures are now also compared to catch the case where a sub-sequence asset has been saved but not modified - The following sequence of events exposes this issue: - Create a master sequence with a single shot that spawns a cube - Add this sequence to a level and set it to auto-play - Save everything and restart - Resave just the inner shot asset without opening it - PIE - The inner shot never spawns its cube because its template was wiped on save, but its signature never changed. Since the master sequence previously didn't check the template source signature, it ends up trying to evaluate an empty template. #jira UE-55626 #jira UE-55490 Change 3921825 by Max.Chen Sequencer: "Run Construction Script in Sequencer" is off by default for blueprints but on for Sequencer. This allows the content author to switch it on for specific blueprints and sequencer will be default, run those with construction scripts enabled. Change 3922232 by Max.Chen Sequence Recorder: Reset countdelay on stop. #jira UE-55755 Change 3922306 by Max.Chen Sequence Recorder: Don't automatically mark transforms to be recorded by sequence recorder. Instead, log a warning if the user toggled it off to warn that the resulting animation might not match gameplay. #jira UE-55758 Change 3922912 by Max.Chen Sequence Recorder: Fix refresh next sequence name #jira UE-55757 Change 3927654 by Max.Chen Movie Scene Capture: Added format mapping for the name of the current camera #jira UE-55769 PR #4537 Change 3927658 by Max.Chen Sequencer: Added fbx property mapping for "FocusDistance" to "FocusSettings.ManualFocusDistance" #jira UE-55782 Change 3932022 by Max.Chen Sequencer: Add import animation track section to next available row index. #jira UE-55892 Change 3933919 by Max.Chen Sequencer: Jump to playback start frame and not 0 to start playback for recording. #jira UE-55933 Change 3934307 by Andrew.Rodham Sequencer: Add template signature that is re-generated every time the base template is regenerated, which invalidates evaluation fields This fixes an issue where the same sequence is instantiated multiple times in a sequence. If the source sequence was saved, its template would be wiped, which would invalidate the template ID When an instance tries to evaluate the master template, it would only invalidate a range in the evaluation field that was the hull of any invalid sub sequences overlapping the current time, potentially leaving invalid data in the evaluation field at positions later (or earlier) on in the sequence When the sub template was re-generated, it receives the same SequenceSignature as it had before (because the sequence hasn't actually changed), which causes the stale evaluation field data to fail the IsDirty check (because the sequence is the same as it thought, but the *template* has changed) This has been addressed be adding a signature to templates themselves, and checking both the template signature and sequence signature as a part of the IsDirty check. This ensures that we regenerate if either the template, or the sequence have changed. #jira UE-55934 Change 3936327 by Andrew.Rodham Sequencer: Removed increment when trimming right UMovieSceneSection::TrimSection already explicity assigns an exclusive bound to the time passed in. The new behavior means we can trim a section to the right, and insert another section without changing the time to create adjacent sections. #jira UE-42652 Change 3936328 by Andrew.Rodham Fixed KeyFrameManipulator assignment operators and copy/move constructors - These types are potentially self-referential so cannot use default constructors/assignment Change 3936330 by Andrew.Rodham Converted UMGSequencePlayer to use frames internally #jira UE-54878 Change 3936726 by Max.Chen Sequencer: Set track node as the parent of the key area node. The key area switcher needs the object binding id from the parent object binding node. Without this, the binding to the external value fails. #jira UE-55931 Change 3936775 by Max.Chen Sequencer: Should stop or loop should compare DurationFrames with Current Time from StartTime. The bug is that if you set 30 warmup frames in movie rendering for a range of 0-100, the FrameRange will be starting at -30 and have a duration of 130. Without this fix, the playback will continue until frame 130, rather than 100. #jira UE-55933 Change 3936935 by Matt.Hoffman Easing Curves are now represented in Play Rate resolution instead of internal resolution. #jira UE-55937 Change 3937069 by Matt.Hoffman Users can toggle if the is infinite on each side, limited by which tracks support infinite ranges. #jira UE-55891 Change 3937516 by Max.Preussner ImgMedia: Added support for single-threaded platforms #jira UE-55986 Change 3937826 by Max.Preussner MediaAssets: Disabling media sound components on HTML5 if AudioMixer is not enabled Change 3937997 by Max.Chen Curve Editor: Add Zoom to Fit Curves so that selected curves from Sequencer can be focused on. Tested that undo doesn't re-zoom. #jira UE-55935 Change 3938000 by Max.Chen Sequencer: Stop all sounds before generating audio waveforms. #jira UE-55951 Change 3938376 by Max.Preussner XGEController: Disabled XGE Controller in single-threaded apps to prevent crash Change 3938444 by Max.Preussner Core: Added async support for single-threaded applications Change 3938445 by Max.Preussner Networking: Added support for single-threaded applications in UDP socket sender/receiver Change 3938447 by Max.Preussner Messaging: Added support for single-threaded applications Change 3939432 by Max.Chen Sequence Recorder: Append command list to global level editor actions so that shortcuts are accessible in level editor. #jira UE-55798 Change 3940229 by Andrew.Rodham Added prospective display rate upgrade to UMovieScene::PostLoad - There was previously some very odd behaviour that would assign the fixed frame interval only when a sub sequence was focused in SSequencer. This meant that many sequences could have a frame interval of 0 set in the data. - Under the old method of snap interval display this would have fallen back to getting the display interval from the sequencer settings, but we no longer look at these. - The USequencerSettings properties have been removed and in their place, a prospective data upgrade for sequences that have a fixed frame interval old 0fps that sets the play rate to the previous defaults based off the old USequencerSettings defaults. - This could end up 'changing' the display rate for sequences where the user has changed the snap interval in the settings for a particular sequence editor, but there's not much we can do about that given we don't have access to the USequencerSettings classes in UMovieScene #jira UE-55919 Change 3940277 by Andrew.Rodham Sequencer: Added ability to default frame resolutions and play rates for newly created actor sequences Change 3940378 by Andrew.Rodham Sequencer: Post move import dialog now defaults to the playback framerate of the sequence, and floors to frame numbers Change 3940559 by Andrew.Rodham Reinstated primed or recording sequence color Change 3940642 by Max.Preussner ImagePlate: Removed image plate media playback functionality Change 3940843 by Max.Preussner Core: Made TCircularQueue actually thread-safe; improved code comments Change 3940860 by Max.Chen Sequencer: Changed StructNameToKey to StructPathToKey Previously, keying a PropertyPath of [RenderTransform][Shear][X] would get trimmed to X, which doesn't map to a channel name as considered by Sequencer2dTransformTrackEditor. Instead, trim the resulting property path to [Shear][X] so that track editors can determine the desired struct path and channels to key. #jira UE-52966 Change 3941292 by Mike.Zyracki Fix for trajectories out of range not showing up. 1) If we had no key data we would pop the time, so wouldn't get the section ranges. 2) Calculating of upper bound was wrong, checking against -1 and not key == num of keys when doing algo::lower_bound. 3) No need to do the Bck-- for the bakward iterators since we fixed #2. We start now from the upper bound correctly. 4) If we had no keys (at section start,end) we would incorrectly say we were any key type, so since we draw constant keys as dashed we would do so incorrectly around section end points. #jira UE-55929 Change 3941424 by Max.Chen Curve Editor: Change Zoom to Fit to use TArrayView Change 3941498 by Max.Preussner Core: Added FMath::DivideAndRoundNearest function Change 3942097 by Matt.Hoffman Drop Frame Timecode Support for NTSC rates. Change 3942104 by Matt.Hoffman Sequence Recorder Group is no longer visible inside the World Outliner after using one. #jira 55266 Change 3942107 by Max.Chen Sequencer: Resurrect logic to find or extend an existing section when adding keys. Change 3942330 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942339 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942507 by Andrew.Rodham Sequencer: We no longer pad the time overlap threshold with a small number that is not scaled by the current zoom level - The presence of this pad was causing keys that were far apart to be grouped when zoomed in a long way Change 3942509 by Andrew.Rodham Sequencer: Only pad total view range, rather than section range as well when retrieving keys to render - This stops us from rendering keys that are within the view range, but outside the section range Change 3942512 by Andrew.Rodham Added transactions to some sequencer details customizations Change 3942513 by Andrew.Rodham Sequencer: Reinstated validation checks to UMovieSceneSection::SetStartFrame and SetEndFrame, changed erroneous uses to use SetRange Change 3942560 by Andrew.Rodham Pass by rvalue reference to appease error C2719 on Win32 ('InChannels': formal parameter with requested alignment of 8 won't be aligned) Change 3942697 by Andrew.Rodham Newly Created Level Sequences and Actor Sequences now default to 24000 fps frame resolution (+/- ~24hrs range, supporting all integer rates + 23.976) Change 3942700 by Andrew.Rodham Sequencer: Added legacy out-of-bounds errors for times that are not supported by the current legacy upgrade frame resolution Change 3942989 by Max.Preussner Core: Fixed circular queue count calculation Change 3943538 by Max.Preussner MediaAssets: Reverted workaround for procedural audio log spam in HTML5 (Actor component initialization cannot be skipped if the component is used in a level) Change 3944071 by Max.Preussner QAGame: Fixed Media Texture keeps last frame of Media when PIE ends #jira UE-53360 Change 3944292 by Max.Chen Sequencer: Added extra flags to ensure that asset initialization does not occur on template actor sequences #jira UE-56113 Change 3944364 by Max.Chen Sequencer: Prevent circular shot/master tracks. Tested adding master -> child -> master as drag and drop cinematic shot tracks and sub tracks as well as through the + button. #jira UE-56091 Change 3944422 by Max.Chen Sequence Recorder: Disable transform recording if off. #jira UE-56061 Change 3944745 by Andrew.Rodham Sequencer: Key rendering fixes - Fixed assert that occured when keys happened to reside on some times due to KeyTime + TimeOverlapThreshold - KeyTime being slightly larger TimeOverlapThreshold - Fixed keys sometimes being clipped when zoomed right in due to lack of half-frame offset - Added missing documentation to MovieSceneTimeHelpers.h #jira UE-56107 Change 3945231 by Andrew.Rodham Sequencer: Reconstruct channel proxy on Serialize to catch all cases of undo/redo, PostLoad and duplication #jira UE-56089 Change 3945301 by Andrew.Rodham Sequencer: Added safety checks during initial sequence recording to guard against applying negative or 0-sized sequence ranges #jira UE-56125 Change 3946627 by Max.Preussner Fortnite: Fixed game crashes closing editor while in PIE - Pure virtual function being called #jira UE-56144 [CL 3946896 by Max Chen in Main branch]
2018-03-14 22:09:33 -04:00
FFrameTime MouseTime = ComputeFrameTimeFromMouse(MyGeometry, MouseEvent.GetScreenSpacePosition(), RangeToScreen);
if ( bHandleRightMouseButton )
{
if (!bPanning)
{
Copying //UE4/Dev-Sequencer to Dev-Main (//UE4/Dev-Main) #lockdown nick.penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2719576 on 2015/10/07 by Chris.Wood Added check for stale BP classes in FKismetCompilerUtilities::IsTypeCompatibleWithProperty() to stop compiler errors during reinstancing. [UE-19795] - UMG Compiler error when adding variable to nested Widget Change 2721474 on 2015/10/08 by Andrew.Rodham Sequencer: Movie render operations now successfully capture UMG UI Change 2724958 on 2015/10/12 by Chris.Wood Added missing resource cleanup code to UMG widgets [UE-21874] - UWIdget classes with missing ReleaseSlateResources() overrides Added ReleaseSlateResources() to ListView, TileView and Slider widgets to reset shared pointers to slate widgets. Change 2733562 on 2015/10/19 by Andrew.Rodham Sequencer: Fixed spawnables not working in sub-sequences - The issue here was that sequence track instance updates had no knowledge of which sub-sequence they were being evaluated within. We now pass the active sequence instance into the relevant track instance functions. - Also addressed some issues to do with save/restore state not getting called correctly on master tracks of sequence instances - Tidied up spawn track editor Change 2735264 on 2015/10/20 by Chris.Wood Improved Engine analytics handling for Editor and games [UE-21892] - Improve how Engine analytics are handled for Editor and games Changes: Added Privacy section to Editor settings Exposed editor analytics flag in Privacy options Added Details Customization to make this type of bool property clearer with extra info and hyperlink Changed AreEditorAnalyticsEnable() to use new flag Prevented analytics init when disabled by user Sending event and shutting down analytics when user opts out Add in-game project setting for anonymous game usage data Renamed and moved bHardwareSurveyEnabled Added message about exposing in-game setting to end users Added anonymous GUID id for in-game analytics Moved end user settings to global config (defaultengine.ini) Placeholder loc text on new options for now, pending legal wording sign-off Change 2735866 on 2015/10/20 by Max.Preussner Async: Added ability to register an optional callback function that is executed when a Future completes Change 2739793 on 2015/10/23 by Andrew.Rodham Sequencer: Refined movie scene capturing to ensure frame accuracies are maintained - Aborting an in-progress capture now gracefully terminates the process (through a remote session command) to ensure it still creates a valid video - Level sequece movie capture will now pick up a corresponding level sequence in the world, and use that to capture with. A new actor will be spawned at runtime with the correct asset, should one not already exist. - Made -nomovie actually work - Refined how active movie captures are managed - Added option to 'stage' a sequence before starting the capture. This feature will set the sequence on its first frame for the preroll, to ensure that PPP effects are allowed time to stabilize Change 2744402 on 2015/10/28 by Max.Preussner Sequencer: Separated track display names from track identifier names; code cleanup Change 2745953 on 2015/10/29 by Max.Chen Sequencer: Attach to socket. Relative attachments. #jira UETOOL-463 Change 2747028 on 2015/10/29 by Max.Preussner Sequencer: Another overhaul of track display name handling; code and documentation cleanup pass. Change 2758888 on 2015/11/09 by Chris.Wood Integrating changes - 4.10 to Dev-Sequencer From 4.10 branch fixes: Added check for debugger present when reporting abnormal termination to analytics. [UE-22844] CL 2750764 Added FSystemWideCriticalSection for desktop platforms. Used by analytics to lock access to editor instances list in the OS. [UE-22844] CL 2753661 Updating wording in privacy settings text. [UE-21892] CL 2753709 Mac and Linux CIS fix [UE-22844] CL 2755381 Change 2761287 on 2015/11/10 by Max.Chen Sequencer: Add null check when updating the UMG preview if the sequencer doesn't exist/has been closed. #jira UE-5206 Change 2764945 on 2015/11/12 by Max.Preussner Core: Templatized TypeContainer implementation to allow for thread-safe objects; updated unit test Also fixes UE-13850 Change 2765036 on 2015/11/12 by Max.Preussner UdpMessaging: Fixed message serialization unit test (UE-22571) #jira: UE-22571 Change 2766149 on 2015/11/13 by Max.Preussner Media: Implemented event that gets triggered when playback reached the end of media Also fixes looping. Change 2768157 on 2015/11/16 by Max.Preussner Media: Added .m4a to supported WMF file extensions Change 2769200 on 2015/11/16 by Max.Chen Editor: Add broadcast messages when snapping objects. #jira UE-22680 Change 2773066 on 2015/11/19 by Chris.Wood Upload crashes from CRC to Data Router [UECORE-249] - Integrate Crash Report Client with the Data Router Upload to Receiver still active as we are running both in parallel for now.
2015-12-11 13:52:32 -05:00
// Open a context menu if allowed
Copying //UE4/Dev-Framework to Dev-Main (//UE4/Dev-Main) @ 2855699 #lockdown Nick.Penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2839897 on 2016/01/22 by Ori.Cohen Allow static mesh editor to specify a default collision profile. #rb Lina.Halper #UE-2836 Change 2840489 on 2016/01/22 by Ori.Cohen Fix collision customization so that it respects const editing property #rb Marc.Audy Change 2840528 on 2016/01/22 by Ori.Cohen Fix compile error and actually get value from attribute Change 2840672 on 2016/01/22 by Zak.Middleton #ue4 - Include data from USkinnedMeshComponent in USkeletalMeshComponent::GetResourceSize(). #rb Michael.Noland Change 2841314 on 2016/01/24 by Marc.Audy Fix depressingly frequent misspellings of 'suppress' Change 2841323 on 2016/01/24 by Marc.Audy Reserve worst case memory for TSet Intersect, Union, and Difference to avoid memory allocations during iteration Ensure that TSet Intersect considers the least number of elements possible Early out from TSet Contains if Other is larger than this Clarify comment on TSet Difference #rb Steve.Robb Change 2841380 on 2016/01/24 by Aaron.McLeran UE-25586 Audio assets not correctly reporting resource memory usage Tested on PC/PS4 and with Editor builds. Memory reporting is working for all cases now. Change 2841385 on 2016/01/24 by Aaron.McLeran UE-21210 Adding subtitle priority to USoundWave Change 2841386 on 2016/01/24 by Marc.Audy Return null for GameNetDriver if World is null instead of crashing Change 2841409 on 2016/01/24 by Aaron.McLeran UE-25514 Removing load for default objects for every sound wave Change 2841858 on 2016/01/25 by Ori.Cohen Make sure that PIE face index results are consistent with runtime #rb Benn.Gallagher Change 2841977 on 2016/01/25 by Ori.Cohen Fix object type customization so that it's only enabled when custom is selected. (Accidently broke this in recent change) Change 2841982 on 2016/01/25 by Marc.Audy Minor optimization by avoiding recreating FNames repeatedly in constructor Change 2842169 on 2016/01/25 by Benn.Gallagher Fixes to animBP compiler and instance to store and double buffer internal machine state weights on the instance. So they can be queried cross-machine without issue. #rb Lina.Halper Change 2842390 on 2016/01/25 by Ori.Cohen Fix in world editing of BodyInstance not working. No longer serializing Scale3D as this is allways initialized in InitBody. No longer overwriting MassInKg and renamed to to MassInKgOverride which better reflects what this variable does. #JIRA UE-25518 #rb Lina.Halper Change 2843579 on 2016/01/26 by Marc.Audy Only update replication when it actually changes Don't check calling SetIsReplicated if the class cannot replicate, instead output an error message Fix spelling in comment #rb Ori.Cohen Change 2843627 on 2016/01/26 by Marc.Audy Add \\ as a default console key for Italian keyboard layouts #jira UE-25198 #rb James.Golding Change 2843628 on 2016/01/26 by Marc.Audy Don't reconstruct FName on each call to GetHitResultAtScreenPosition #rb James.Golding Change 2843671 on 2016/01/26 by Martin.Wilson Fix incorrect bone transforms being pushed to the renderer during SetSkeletalMesh. This presented as motion blur artifacts in editor #rb Thomas.Sarkanen Change 2843768 on 2016/01/26 by Marc.Audy Inline Get Component functions in TriggerBase Change 2844003 on 2016/01/26 by Zak.Middleton #ue4 - Fix FMath::Fmod(X, Y) sometimes returning small negative values for positive X and Y due to float imprecision. Added tests to math tests at startup to check this, and also to better handle results close to Y. Wrap the ensure on Y=0 within a conditional so a breakpoint can be used during debugging (to distinguish between zero and very small input). #codereview Laurent.Delayen Change 2844005 on 2016/01/26 by Zak.Middleton #ue4 - Convert uses of fmod() and fmodf() to use FMath::Fmod() instead. Also see CL 2844003 [CL 2855709 by Marc Audy in Main branch]
2016-02-04 10:55:30 -05:00
if (ContextMenuSuppression == 0 && TimeSliderArgs.PlaybackRange.IsSet())
Copying //UE4/Dev-Sequencer to Dev-Main (//UE4/Dev-Main) #lockdown nick.penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2719576 on 2015/10/07 by Chris.Wood Added check for stale BP classes in FKismetCompilerUtilities::IsTypeCompatibleWithProperty() to stop compiler errors during reinstancing. [UE-19795] - UMG Compiler error when adding variable to nested Widget Change 2721474 on 2015/10/08 by Andrew.Rodham Sequencer: Movie render operations now successfully capture UMG UI Change 2724958 on 2015/10/12 by Chris.Wood Added missing resource cleanup code to UMG widgets [UE-21874] - UWIdget classes with missing ReleaseSlateResources() overrides Added ReleaseSlateResources() to ListView, TileView and Slider widgets to reset shared pointers to slate widgets. Change 2733562 on 2015/10/19 by Andrew.Rodham Sequencer: Fixed spawnables not working in sub-sequences - The issue here was that sequence track instance updates had no knowledge of which sub-sequence they were being evaluated within. We now pass the active sequence instance into the relevant track instance functions. - Also addressed some issues to do with save/restore state not getting called correctly on master tracks of sequence instances - Tidied up spawn track editor Change 2735264 on 2015/10/20 by Chris.Wood Improved Engine analytics handling for Editor and games [UE-21892] - Improve how Engine analytics are handled for Editor and games Changes: Added Privacy section to Editor settings Exposed editor analytics flag in Privacy options Added Details Customization to make this type of bool property clearer with extra info and hyperlink Changed AreEditorAnalyticsEnable() to use new flag Prevented analytics init when disabled by user Sending event and shutting down analytics when user opts out Add in-game project setting for anonymous game usage data Renamed and moved bHardwareSurveyEnabled Added message about exposing in-game setting to end users Added anonymous GUID id for in-game analytics Moved end user settings to global config (defaultengine.ini) Placeholder loc text on new options for now, pending legal wording sign-off Change 2735866 on 2015/10/20 by Max.Preussner Async: Added ability to register an optional callback function that is executed when a Future completes Change 2739793 on 2015/10/23 by Andrew.Rodham Sequencer: Refined movie scene capturing to ensure frame accuracies are maintained - Aborting an in-progress capture now gracefully terminates the process (through a remote session command) to ensure it still creates a valid video - Level sequece movie capture will now pick up a corresponding level sequence in the world, and use that to capture with. A new actor will be spawned at runtime with the correct asset, should one not already exist. - Made -nomovie actually work - Refined how active movie captures are managed - Added option to 'stage' a sequence before starting the capture. This feature will set the sequence on its first frame for the preroll, to ensure that PPP effects are allowed time to stabilize Change 2744402 on 2015/10/28 by Max.Preussner Sequencer: Separated track display names from track identifier names; code cleanup Change 2745953 on 2015/10/29 by Max.Chen Sequencer: Attach to socket. Relative attachments. #jira UETOOL-463 Change 2747028 on 2015/10/29 by Max.Preussner Sequencer: Another overhaul of track display name handling; code and documentation cleanup pass. Change 2758888 on 2015/11/09 by Chris.Wood Integrating changes - 4.10 to Dev-Sequencer From 4.10 branch fixes: Added check for debugger present when reporting abnormal termination to analytics. [UE-22844] CL 2750764 Added FSystemWideCriticalSection for desktop platforms. Used by analytics to lock access to editor instances list in the OS. [UE-22844] CL 2753661 Updating wording in privacy settings text. [UE-21892] CL 2753709 Mac and Linux CIS fix [UE-22844] CL 2755381 Change 2761287 on 2015/11/10 by Max.Chen Sequencer: Add null check when updating the UMG preview if the sequencer doesn't exist/has been closed. #jira UE-5206 Change 2764945 on 2015/11/12 by Max.Preussner Core: Templatized TypeContainer implementation to allow for thread-safe objects; updated unit test Also fixes UE-13850 Change 2765036 on 2015/11/12 by Max.Preussner UdpMessaging: Fixed message serialization unit test (UE-22571) #jira: UE-22571 Change 2766149 on 2015/11/13 by Max.Preussner Media: Implemented event that gets triggered when playback reached the end of media Also fixes looping. Change 2768157 on 2015/11/16 by Max.Preussner Media: Added .m4a to supported WMF file extensions Change 2769200 on 2015/11/16 by Max.Chen Editor: Add broadcast messages when snapping objects. #jira UE-22680 Change 2773066 on 2015/11/19 by Chris.Wood Upload crashes from CRC to Data Router [UECORE-249] - Integrate Crash Report Client with the Data Router Upload to Receiver still active as we are running both in parallel for now.
2015-12-11 13:52:32 -05:00
{
TSharedRef<SWidget> MenuContent = OpenSetPlaybackRangeMenu(MyGeometry, MouseEvent);
Copying //UE4/Dev-Sequencer to Dev-Main (//UE4/Dev-Main) #lockdown nick.penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2719576 on 2015/10/07 by Chris.Wood Added check for stale BP classes in FKismetCompilerUtilities::IsTypeCompatibleWithProperty() to stop compiler errors during reinstancing. [UE-19795] - UMG Compiler error when adding variable to nested Widget Change 2721474 on 2015/10/08 by Andrew.Rodham Sequencer: Movie render operations now successfully capture UMG UI Change 2724958 on 2015/10/12 by Chris.Wood Added missing resource cleanup code to UMG widgets [UE-21874] - UWIdget classes with missing ReleaseSlateResources() overrides Added ReleaseSlateResources() to ListView, TileView and Slider widgets to reset shared pointers to slate widgets. Change 2733562 on 2015/10/19 by Andrew.Rodham Sequencer: Fixed spawnables not working in sub-sequences - The issue here was that sequence track instance updates had no knowledge of which sub-sequence they were being evaluated within. We now pass the active sequence instance into the relevant track instance functions. - Also addressed some issues to do with save/restore state not getting called correctly on master tracks of sequence instances - Tidied up spawn track editor Change 2735264 on 2015/10/20 by Chris.Wood Improved Engine analytics handling for Editor and games [UE-21892] - Improve how Engine analytics are handled for Editor and games Changes: Added Privacy section to Editor settings Exposed editor analytics flag in Privacy options Added Details Customization to make this type of bool property clearer with extra info and hyperlink Changed AreEditorAnalyticsEnable() to use new flag Prevented analytics init when disabled by user Sending event and shutting down analytics when user opts out Add in-game project setting for anonymous game usage data Renamed and moved bHardwareSurveyEnabled Added message about exposing in-game setting to end users Added anonymous GUID id for in-game analytics Moved end user settings to global config (defaultengine.ini) Placeholder loc text on new options for now, pending legal wording sign-off Change 2735866 on 2015/10/20 by Max.Preussner Async: Added ability to register an optional callback function that is executed when a Future completes Change 2739793 on 2015/10/23 by Andrew.Rodham Sequencer: Refined movie scene capturing to ensure frame accuracies are maintained - Aborting an in-progress capture now gracefully terminates the process (through a remote session command) to ensure it still creates a valid video - Level sequece movie capture will now pick up a corresponding level sequence in the world, and use that to capture with. A new actor will be spawned at runtime with the correct asset, should one not already exist. - Made -nomovie actually work - Refined how active movie captures are managed - Added option to 'stage' a sequence before starting the capture. This feature will set the sequence on its first frame for the preroll, to ensure that PPP effects are allowed time to stabilize Change 2744402 on 2015/10/28 by Max.Preussner Sequencer: Separated track display names from track identifier names; code cleanup Change 2745953 on 2015/10/29 by Max.Chen Sequencer: Attach to socket. Relative attachments. #jira UETOOL-463 Change 2747028 on 2015/10/29 by Max.Preussner Sequencer: Another overhaul of track display name handling; code and documentation cleanup pass. Change 2758888 on 2015/11/09 by Chris.Wood Integrating changes - 4.10 to Dev-Sequencer From 4.10 branch fixes: Added check for debugger present when reporting abnormal termination to analytics. [UE-22844] CL 2750764 Added FSystemWideCriticalSection for desktop platforms. Used by analytics to lock access to editor instances list in the OS. [UE-22844] CL 2753661 Updating wording in privacy settings text. [UE-21892] CL 2753709 Mac and Linux CIS fix [UE-22844] CL 2755381 Change 2761287 on 2015/11/10 by Max.Chen Sequencer: Add null check when updating the UMG preview if the sequencer doesn't exist/has been closed. #jira UE-5206 Change 2764945 on 2015/11/12 by Max.Preussner Core: Templatized TypeContainer implementation to allow for thread-safe objects; updated unit test Also fixes UE-13850 Change 2765036 on 2015/11/12 by Max.Preussner UdpMessaging: Fixed message serialization unit test (UE-22571) #jira: UE-22571 Change 2766149 on 2015/11/13 by Max.Preussner Media: Implemented event that gets triggered when playback reached the end of media Also fixes looping. Change 2768157 on 2015/11/16 by Max.Preussner Media: Added .m4a to supported WMF file extensions Change 2769200 on 2015/11/16 by Max.Chen Editor: Add broadcast messages when snapping objects. #jira UE-22680 Change 2773066 on 2015/11/19 by Chris.Wood Upload crashes from CRC to Data Router [UECORE-249] - Integrate Crash Report Client with the Data Router Upload to Receiver still active as we are running both in parallel for now.
2015-12-11 13:52:32 -05:00
FSlateApplication::Get().PushMenu(
WidgetOwner.AsShared(),
MouseEvent.GetEventPath() != nullptr ? *MouseEvent.GetEventPath() : FWidgetPath(),
MenuContent,
MouseEvent.GetScreenSpacePosition(),
FPopupTransitionEffect( FPopupTransitionEffect::ContextMenu )
);
return FReply::Handled().SetUserFocus(MenuContent, EFocusCause::SetDirectly).ReleaseMouseCapture();
}
// return unhandled in case our parent wants to use our right mouse button to open a context menu
Copying //UE4/Fortnite-Staging to //UE4/Dev-Main (Source: //Fortnite/Main/Engine @ 3780923) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3780878 by Nick.Darnell UMG - Providing more information when the compile fails to find a bindable widget. Change 3780855 by Gil.Gribb UE4 - Fixed a linear search in EDL that caused performance problems for very large maps. Saves half the load time in FN-BR. Change 3780803 by Thomas.Sarkanen Dont create animation tasks for skeletal meshes that have no anim instance This avoids some wasted work for non-animated attachments, such as pickaxes #jira FORT-61523 - Don't create anim worker tasks if no AnimBP Change 3780741 by Yenal.Kal #jira FORT-60177 Fixed the bug where the anim branching points (begin and end) may be triggered twice incorrectly. Change 3780663 by Gil.Gribb UE4 - Batching for audio thread commands. Change 3780466 by Ben.Marsh Add error matcher for generic Microsoft errors (eg. 'cl : Command line error D8049 : command line too long to fit in debug record') Change 3779937 by Nick.Darnell UMG - Adding an accessor on UUserWidget to get the owning player state easier, since it's a common operation. Change 3779858 by Sam.Zamani #http use separate "-multihomehttp" instead of "-multihome" for routing http socket #jira FORT-61666 #tests none Change 3779288 by Michael.Trepka Changed FMacConsoleOutputDevice::Serialize to use FString's GetNSString() instead of converting the string using FPlatformString::TCHARToCFString to make it safer in case of garbage text passed in Data #jira FORT-59762 Change 3779062 by Mike.Fricker Merged CL 3731188 and CL 3733311 from //UE4/Dev-Editor. ---- Improve responsiveness of Open Asset dialog. On large projects, there's a noticeable delay when opening and searching/filtering assets. Stopwatch measurements on my machine (seconds for ~122,000 assets): before with this CL ctrl-P 1.4 0.45 search 1.8 0.55 CollectionManagerModule was the main culprit for search/filter slowness. Open Asset delay was due to filtering out plugin content. We were doing a lot of redundant work for what is essentially a read-only operation. Change 3778954 by Nick.Darnell Slate - Making the Horizontal and Vertical analog keys configurable in the navigation config. Tweaking how fast the navigation is with the analog stick, trying to tune the feeling. Change 3778896 by Ben.Marsh Separate FNameEntrySerialized from FNameEntry, rather than deriving from it. It has to be allocated differently, and many fields cannot be shared between the two. #jira Change 3778807 by Ben.Marsh Fix Tencent include paths not registering if workspace directory contains a space. Tencent include paths currently have a trailing backslash, and this is surrounded by quotes if the root directory contains a space. The backslash is interpreted as escaping the trailing double quote. #jira Change 3778686 by Luke.Thatcher Reduced impact of dynamic vertex buffer RHI stall in D3D12 - In most cases we can avoid the stall if the vertex buffer has never been used before. - Only when a buffer has an existing SRV do we need to stall. - Also, delete copy and move constructors of FD3D12ResourceLocation. Moving or copying an instance of this class leads to double free crashes, so this is now a compile error rather than a runtime crash. This saves an average of 2ms frame time in a StW lastperftest replay, with r.screenpercentage 10. #jira FORT-61390 Change 3778679 by Thomas.Sarkanen Fix Linux server crash - dont attempt to run threaded work in a single-threaded environment We dont attempt to run animation update work multi-threaded in the same conditions that we didnt attempt to run animation eval work previously. #jira FORT-61548 Change 3778591 by Ben.Woodhouse Add build config to FPSChart HTML output #jira FORT-56478 Change 3778175 by ben.marsh Remove code to trigger an ensure on Arxan guards. We already send analytics for this, and don't need this legacy path. There is a large number of incoming ensures with this callstack that are clogging up crash reporter. Will remove all the surrounding code in a later update to a development branch. #jira Change 3777750 by Chris.Gagnon - Slate now supports a CustomBoundary Navigation type wich allows a custom handler if the boundary is hit. - This provides the ability to have normal navigation while within the boundary and the custom function only on the boundary. - This differs from Custom which is a full override of the navigation behavior. Change 3777678 by Bob.Tellez #UE4 Fix a bug that was causing fastpath nodes in non-nativized BPs to not be fastpath Change 3776962 by Bob.Tellez #UE4 Fix warning about missing virtual destructor by making a struct final (like other RHICommands) Change 3776656 by Thomas.Sarkanen Fix notifies not getting fired in cases where AlwaysTickPose was set on skeletal mesh components This was causing AIs to get stuck in montage playback in some circumstances #jira FORT-61324, FORT-60558 Change 3776655 by Bob.Tellez #UE4 CIS fix after 3776629 Change 3776650 by Bob.Tellez Counting uplugin and uproject files as code changes so UGS will trigger code builds on checkins containing these files Change 3776649 by Nick.Darnell UMG - Fixing a rare crash when destructing a widget in the designer. It's trying to remove widgets from a half garbage collected panel. Change 3776629 by Bob.Tellez #UE4 Using a more efficient data structure for keeping track of visited nodes when verifying EDL. Change 3776328 by James.Golding Add command line option (-statnamedevents) for enabling named events Change 3776024 by Nick.Darnell Slate - Adding an accessor to SSafeZone to get the amount of padding that will be added, given some scale. Change 3775569 by Gil.Gribb UE4 - Fixed bugs with r.DelaySceneRenderCompletion Change 3775543 by Luke.Thatcher [XBOXONE] [~] Remove stall in D3D12 CreateRHIBuffer - Buffer update is enqueued as a task on the RHI thread instead of stalling the RHI thread for the duration of the update. Change 3775488 by Thomas.Sarkanen Prevented skeletal meshes that are not being ticked due to URO from dispatching tick tasks #jira FORT-61157 - Run anim update on worker, even if not visible Change 3775219 by Bob.Tellez #UE4 Dont SerializeThumbnails when calling savepackage while editoronly data is excluded (cooking). This saves a lot of memory while cooking Change 3774886 by Mike.Fricker Fixed occasional crash when backing out to lobby - Don't force DF data to be updated when the mesh isn't in the world or has no scene interface #jira FORT-60863 Change 3774767 by Ori.Cohen Fix race condition for creating statid in test configs Change 3774682 by Bob.Tellez #UE4 Don't bother clearing cached platform data during shutdown purge since there may be a lot of it and it takes a while to destroy it. Change 3774621 by Bob.Tellez #UE4 Move Tree rebuilding during cook from Serialize to PreSave to avoid building the tree multiple times for a single platform. Also properly clear out CacheMeshExtendedBounds. Change 3774201 by Gil.Gribb UE4 - Fixed rare crash caused by unmounting pak files. Change 3773920 by Gil.Gribb UE4 - Added experimental option r.StartPrepassParallelTranslatesImmediately which allows the parallel translate tasks from the prepass to start before we init shadows. Disabled by default. Change 3773896 by Thomas.Sarkanen Push non-rendered anim updates back onto the worker thread Now when meshes are set to EMeshComponentUpdateFlag::AlwaysTickPose, we optionally kick of a task to perform parallel update only (no evaluation). #jira FORT-61157 - Run anim update on worker, even if not visible Change 3773886 by Gil.Gribb UE4 - Reduced r.RHICmdMinCmdlistForParallelSubmit from 2 to 1. Change 3773882 by Gil.Gribb UE4 - Improved profiler markers when they are used without stats to cover the task graph and some things related to the parallel renderer. Change 3773461 by Gil.Gribb UE4 - Increased the granularity of the ParallelFor blocks for greater load balancing. Change 3773459 by Gil.Gribb UE4 - Adds TLS caches for MallocBinned2 to the Audio thread. Change 3773458 by Gil.Gribb UE4 - Added an experimental option to do the slate render before waiting for the rendering tasks. Change 3773011 by Robert.Manuszewski Header (uasset) and export (uexp) files will now be compared seperately when running cook commandlet with -diffonly to avoid situations where a mismatch in size of the header produces more differences between exports. + Renamed ini setting to ignore header differences from SkipHeaderDiff to IgnoreHeaderDiff Change 3772867 by Thomas.Sarkanen Nativization now correctly generates and builds code for "Client" builds Overall this is a bunch of hacks, but necessary for nativization to work at present. Once the cooker and UAT both have a concept of "Client" targets, this can be implemented properly. Instead of building to a "Client" directory, we build to "Game" for client-only platforms (like PS4, XboxOne) Also we need to add "Client" targets to the whitelist for the nativized assets plugin, as UBT still thinks it is building for "Client" #jira FORT-52823 - Nativizing Player Animation Blueprints Change 3772408 by Robert.Manuszewski Cook commandlet will now report full property name when running a diff against the existing cook (-diffonly) Change 3772359 by Thomas.Sarkanen Improvements to the Cpp backend to allow VC++ to compile nativized code more effectively Added a new scoped helper to wrap areas of the code in PRAGMA_DISABLE_OPTIMIZATION. This helps with functions that are large tables or long lists of initializations. Split anim node initialization up into functions, called from a seperate function dedicated to initializing anim nodes. This splits the 5k+ line constructor into mutiple smaller functions, which the compiler has no problems with. Overall (along with splitting up the anim BP into functions in the asset) this reduces compilation time for the worst-case compilation unit from ~11m 40s to ~2m 32s. #jira FORT-52823 - Nativizing Player Animation Blueprints Change 3771975 by Zak.Middleton Fix character proxies doing up to two floor check when only rotation changes. Add some optional verbose logging to FindFloor() and ComputeFloorDist(). #jira FORT-61134 Change 3771421 by Ori.Cohen Fix CIS Change 3771052 by Robert.Manuszewski Package diff improvements (-diffonly mode for cooker). Exposed max diffs to report to ini and added the ability to suppress header differences reporting as they are usually a result of differences in exports anyway. Change 3771039 by Bob.Tellez #UE4 Allowing use of -FPS in PGO profile builds Change 3770747 by Ori.Cohen Added missing stat named events for anim bp Change 3769616 by Arciel.Rekman UBT: Use response files for compiler when compiling for Linux. - Some command lines are too long when cross-compiling on Windows, which is a problem for non-unity builds (or local changes that result in exclusion of checked out files from the lumped units). Change 3769457 by Gil.Gribb UE4 - Added eviction to r.DoLazyStaticMeshUpdate. It just removes 10 prims a frame in a rolling fashion. Change 3769136 by Michael.Noland Engine: Improve IsServerDelegateForOSS to allow it to use the play world during PIE even if no context was passed in Change 3768736 by Robert.Manuszewski More debug info for ensure in FLinkerSave when a name that has not yet been mapped is being serialized #jira FORT-60943 Change 3768634 by Robert.Manuszewski Small optimization to FEDLCookChecker::Verify function Change 3768603 by Robert.Manuszewski Merging CL #3766740 by Steve.Robb TMultiMap::Append added. Change 3768586 by Ben.Woodhouse csv profiler screen message Change 3768506 by Thomas.Sarkanen Duplicating CL 3764661 from Paragon: Only update Children attached to Sockets in USkeletalMeshComponent::PostBlendPhysics(). Saves ~20% of STAT_UpdateChildTransforms and ~10% of STAT_UpdateLocalToWorldAndOverlaps in 5ofEach_Dusk_vs_Dusk automation test. #jira OR-46341 #tests LaneMinionFXTests, monolith w/ full teams. Change 3768504 by Thomas.Sarkanen Duplicating CL 3758315 from Paragon: Optimized PostAnimEvaluation when URO is skipping a frame with no interpolation. Skip unnecessary work. PreEvaluateAnimation() is now only called if we're about to evaluate anims. PostEvaluateAnimation() is also called only if we have evaluated animations. Therefore PostEvaluateAnimation() has been pulled inside of PostAnimEvaluation() instead of FinalizeTransforms. Added a call to ConditionallyDispatchQueuedAnimEvents() in the event that we're not calling PostBlendPhysics because we have not evaluated or interpolated anims. Added missing call to PostEvaluateAnimation() for PostProcessAnimInstance. #jira OR-46341 #tests minion FX perf map, lane minion test map, monolith match with 2 full teams. Change 3768097 by Bob.Tellez #UE4 Fix non-editor CIS Change 3767957 by Bob.Tellez #UE4 Fix an issue that was causing FullLoadAndSave to fail to cache platform data for textures that were created by landscape on mobile and another issue that caused parallel saving to fail in landscape (when cooking for mobile targets) Change 3767906 by Mike.Fricker Add Blueprint functions to query parameters from MIC - GetScalarParameterValue - GetTextureParameterValue - GetVectorParameterValue MIDs already had these functions, but MICs did not. Change 3767737 by Max.Preussner Engine: Fix for external textures referenced by a material before being associated with a media player never having their uniform expressions recached #author jack.porter #jira FORT-59777 Change 3767735 by Bob.Tellez #UE4 Setting Opened to false in FOutputDeviceFile::TearDown so if the device file gets initialized again it will do the same initialization logic as the first time. #jira FORT-60918 Change 3767244 by Ethan.Geller #jira FORT-60885 Merge in fix for memory leak from 4.18.1. Change 3766567 by Marc.Audy Fix initialization ordering warnings Change 3766443 by Jian.Ru Submit PSO locking fix again as it has passed local tests Change 3766362 by Ori.Cohen Added the ability to get concurrent captures in Test configurations without having to turn full stats on Change 3766277 by Marc.Audy Shrink Skinned and Skeletal Mesh Component, FBodyInstance, and UBodySetup Change 3766275 by Marc.Audy Better pack UTexture* classes Change 3766272 by Thomas.Sarkanen Fixes to enable auto-nativization for animation blueprints For blend profiles in particular, I've added subobject support to the fake import table building for nativized assets: - In FEmitterLocalContext::FindGloballyMappedObject, if we dont find the referenced asset then we traverse the object's outer chain if it is a subobject. We add it to UsedObjectInCurrentClass if we find its outer. - Updated the structure used to build the fake import table to include a specified outer. Beforehand we assumed that all objects referenced by the import table were 'top-level'. - Updated the fake import table building code in FLinkerLoad::CreateDynamicTypeLoader() to use the new specified outer if found. This asserts if it couldnt find the outer in the already-parsed dependencies (as it reverse-iterates). If in the general case thius turns out to be a problem we can move this to a two-pass system. Disabled fast-path optimization when running a native anim BP, as native code is faster! #jira FORT-52823 - Nativizing Player Animation Blueprints #jira FORT-57378 - Perf optimization: animation blueprint improvements Change 3766215 by Marc.Audy Shink FFromatContainer from 88 bytes to 24 by storing in TSortedMap instead of TMap Change 3765664 by Michael.Noland Engine: Add support for sets to FJsonObjectConverter::JsonValueToUProperty Change 3765624 by Marc.Audy Create helper macro in Archive.h for encapsulating needed steps for serializing a bitpacked boolean Change 3765200 by Nick.Darnell Slate - Fixing a memory leak in the invalidation panel. It never cleared out the cached textures and materials it kept alive during retention. Change 3764881 by Wes.Hunt Fix FApp::Get/SetIdleTimeOvershoot. It was overwriting IdleTime, which made FrameTimeWithoutSleep look like FrameTimeWithSleep. #jira FORT-60585 #review-3764882 @arciel.rekman Change 3763872 by Max.Chen Sequencer: Set default completion mode for all sections to project default. Copy from Dev-Sequencer #jira UE-49480 Change 3763871 by Max.Chen Sequencer: Add config for default completion mode for movie scene sequences. The default for level sequences is RestoreState. All others, such as UMG are set to KeepState. Copy from Dev-Sequencer #jira UE-49480 Change 3763810 by Gil.Gribb UE4 - remove some init timing spew in programs (i.e. UHT) Change 3762939 by Robert.Manuszewski Removing all locks from FEDLCookChecker to improve SavePackage performance Change 3762851 by Bob.Tellez Duplicating CL#3740778 from //UE4/Dev-Editor Fixed issue with content browser column sorting #jira UE-49460 Change 3762660 by Bob.Tellez #UE4 Fix a few parallelsave threading problems. Change 3761861 by Marc.Audy Fix archive complaints about bitfield Change 3761802 by Marc.Audy Pack FTimeline, FHitResult, FAnimUpdateRateParameters, FMeshBuildSettings Change 3761299 by Matt.Kuhlenschmidt Fix levels not being lockable/unlockable if they are not checked out #jira FORT-60086 Change 3760422 by Bob.Tellez #UE4 Stop caching or clearing platform data when saving concurrently. This was causing threading problems in materials. Change 3760113 by Jian.Ru Back out changelist 3759715 as it causes a crash on UGS autotest Change 3759761 by Jian.Ru Clean up some debug comments Change 3759715 by Jian.Ru Removing excessive locking when accessing PSO caches. Change 3759285 by Nick.Darnell Editor - Fixing the length of the datatable row dropdown in the editor. Change 3758334 by Alexis.Matte Fix a crash when importing morph target there was a unsync between some buffer depending on the import options #jira UE-52319 Change 3758332 by Ben.Marsh Fix output subfolder being appended twice when generating project files. Causes incorrect command line when launching from Visual Studio. #jira Change 3758215 by Brian.Bekich Make Tint property of FSlateBrush NotReplicated now that it is WITH_EDITORONLY_DATA so that cooked clients can connect to uncooked servers Change 3757702 by Bob.Tellez #UE4 Fix -NoConcurrentSave cook option in FullLoadAndSave Change 3757545 by ben.marsh Suppress Arxan warning about being unable to install a default guard at it's default location. Change 3757452 by Aaron.McLeran #jira FORT-59675 Client Crash in __delayLoadHelper2() Fixing build error on linux. Change 3757389 by Hongyi.Yu Fixed the crash in UEditorEngine::CheckForWorldGCLeaks() when load a level (level A), PIE, load a sublevel of level A and then load another level. #jira FORT-58283 Change 3757229 by Aaron.McLeran #jira FORT-59675 Client Crash in __delayLoadHelper2() Change 3757077 by Max.Preussner MediaAssets: Fix for media texture crashing if media player is generated from GC clustered blueprint #jira FORT-59774 #jira UE-51943 #tests none Change 3756854 by Mike.Fricker Fix "double-delete" crash when using level streaming - Backed out unintentional network checksum change! Change 3756790 by Bob.Tellez #UE4 Fix inconsistency with how FSoftObjectPtr case is managed between FLinkerSave and FArchiveSaveTagImports, which would cause a cook ensure under some circumstances Change 3756639 by Arciel.Rekman Pool memory (only 64KB allocations) on servers (FORT-60342). - Has a fixed cost of 1GB virtual memory usage. #jira FORT-60342 Change 3755995 by Alexis.Matte Fix crash when importing morph target with "built in" tangent option #jira UE-52319 Change 3755896 by Arciel.Rekman Remove unnecessary switch for profiling (part of FORT-58878). - -fno-omit-stack-pointer is only needed when getting callstacks for perf. #jira FORT-58878 Change 3755711 by Mike.Fricker Fix "double-delete" crash when using level streaming - Initialize network GuidCache entries as soon as Guids are registered on the server so that we can fill them out with valid information before the object is destroyed. Fixes issues when a guid is exported for the first time to send a destroy to clients. (from RyanG) Change 3755701 by David.Ratti FObjectReplicator no longer a GCObject since adding/removing from the global GCObject list is too slow. Managing FObjectReplciators's object references at the NetDriver level now. #jira FORT-60317 #review-3755702 @Ryan.Gerleve Change 3754928 by Arciel.Rekman Linux: add LTO support and more. - Adds ability to use link-time opitimization (reusing current target property bAllowLTCG). - Supports using llvm-ar and lld instead of ar/ranlib and ld. - More build information printed (and in a better organized way). - Native scripts updated to install packages with the appropriate tools on supported systems - AutoSDKs updated to require a new toolchain (already checked in). - Required disabling OpenAL due to https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=219089 #jira FORT-58878 Change 3753986 by Ben.Zeigler #jira UE-45505 Fix issue where FCoreUObjectDelegates::OnAssetLoaded was being called from an inner loop inside EndLoad. Maps would register components from that callback, and if those registers started their own loads, those objects would be returned in a partially loaded state. We now defer the asset loaded callback to the very end of the loop so recursive loads work properly Change 3753274 by Ben.Marsh Fix blank lines in errors and warnings being omitted from notification emails. #jira Change 3753175 by Thomas.Sarkanen Fix hang in animation editor menus Sound waves were being loaded by the visibility delegate for the 'play' button overlay. This caused major hangs as the ogg compressed data was built on the fly. Handled the unloaded asset case in the various delegates. Also made the menu larger, as picking a sound wave was all but impossible when you couldnt even see one in the list. #jira UE-52271 - Persona menu option locks up editor Change 3752887 by Nick.Darnell Slate - Adding automatic invalidation to a few more widgets that were found lacking when adding or removing children. Change 3752785 by Marc.Audy Avoid doing any work to evaluate streaming volumes if there are no player controllers using streaming volumes Change 3752185 by Ben.Marsh Reduce cook time regression caused by correcting package names to match case on disk (to fix deterministic cooking problems). Switched to use IPlatformFile::GetFilenameOnDisk(), and improved performance of FWindowsPlatformFile::GetFilenameOnDisk() by using GetFinalPathNameByHandle() instead of recursively searching up the directory tree. #jira Change 3751813 by Ben.Marsh Improve parsing of diagnostics for deterministic cooking test. Now allows multiple lines in the generic EC error/warning matcher if indented more than the first line, and skips over empty lines. #jira Change 3750413 by Ben.Zeigler Fixes for cook save performance regressions. Add GetAllMarks to object and use that to dramatically reduce contention for the object mark annotation. Implement ShouldLoadForServer/Client directly on some core classes to stop it from calling the slow generic one Fix issue where refreshing tags for asset registry would do a very slow array delete/add Improve speed of redirectcollector, there's no need to force-rehash the soft object path list as the remove handles it conditionally Change 3750014 by Lina.Halper - duplicate change from following changelists CL 3669273 - delete all tracks option - allow to opt out on bone track importing - fixed pose preview for fullbody to select weights that has pose from asset. CL 3672170 Remove track support for Animation Blueprint Library This is required for facial pose retargeting Change 3749714 by Brian.Bekich Back out changelist 3748287 #jira FORT-60125 Change 3749377 by Robert.Manuszewski Improved log formatting for reporting deterministic cook issues. #jira FORT-59919 Change 3749360 by Robert.Manuszewski Improved performance of -diffonly mode for cook commandlet for assets with hundreds of thousands of differences. #jira FORT-59919 Change 3748746 by Hongyi.Yu Fixed compiling error in Automation project #jira FORT-59621 Change 3748530 by Mike.Fricker Fixed non-determinism of landscape grass across platforms/compilers This causes bushes to be located in different places depending on what platform you were playing on. 1) Random number reseeds were happening as part of function arguments to FVector(), but function argument evaluation order is unspecified, and behaved differently on Consoles/Mac/Windows. Fixed this bug. 2) Strings used for foliage CRCs could use different character sizes on different platforms. Now we always use ANSI. 3) Strings used for CRCs could have possibly have different case. Now forced lowercase. #jira FORT-60109 Change 3748471 by Zak.Middleton Added stats to NetDriver TickFlush and stats gathering within that function. Change 3748287 by Brian.Bekich Adding net.MaxStringSerializationSize to cap maximum string read from network, default to 4096, used by FNetBitReader Deprecating MAX_STRING_SERIALIZE_SIZE in favor of the cvar FInBunch defaults to prior behavior if cvar is 0 UPackageMap::SerializeName and UPackageMapClient::SerializeNameAsString will always cap at NAME_SIZE Check for path name serialization error before tryng to read checksum #jira FORT-57974 Change 3747980 by Bart.Hawthorne In Oodle, only generate and write dictionaries on Windows, Mac, and Linux Change 3747642 by Gil.Gribb Fix CIS Change 3747635 by Zak.Middleton Avoid string alloc on every ServerMove() call on the server. Change 3747560 by Gil.Gribb UE4 - Fixed XBox and Windows thread priorities. Only 2 though -2 seem usable and some of the old values were being ignored. Change 3747548 by Gil.Gribb UE4 - Changed thread pool to be TPri_SlightlyBelowNormal so that they will not preempt HP task graph tasks. Change 3747544 by Bart.Hawthorne When detecting if Oodle is installed, use the newest version instad of the oldest one. Change 3746440 by Robert.Manuszewski Dterministic cook issues reporting improvements - Huge performance improvements - Added new metric to the summary: NumberOfDifferencesInPackages - Diff stats have their own section now (Package.Diff) - When running with -diffonly there commandlet will not log the Warning/Error summary anymore - Callstacks are no longer logged with instruction addresses - Because callstacks are no longer logged with addresses I can collapse them for structures that otherwise would be split into multiple separate callstacks - Callstacks, Serialized Object and Serialized Property are now indented - Each asset is capped at 5 entries. If there's more differences, they'll be logged as single warning. - Replaced \r\n with \n in the callstack log to make it work better with EC #jira FORT-59919 Change 3746426 by Gil.Gribb UE4 - Tuned dispatch in the deferred renderer. Added r.DoPrepareDistanceFieldSceneAfterRHIFlush and defaulted it to on. Change 3746348 by Mike.Fricker Added new CVars to toggle level streaming behavior - No effective change to engine yet. The defaults values enable the same default behavior. - New CVar: "s.ForceGCAfterLevelStreamedOut" (Whether to force a GC after levels are streamed out to instantly reclaim the memory at the expensive of a hitch.) - New CVar: "s.ContinuouslyIncrementalGCWhileLevelsPendingPurge" (Whether to repeatedly kick off incremental GC when there are levels still waiting to be purged.) - New CVar: "s.AllowLevelRequestsWhileAsyncLoadingInMatch" (Enables level streaming requests while async loading (of anything) while the match is already in progress and no loading screen is up) Change 3746127 by Gil.Gribb UE4 - Slight tweak to more agressively batch occlusion queries. Change 3746111 by Cecil.McRae Change 3745681 by Bob.Tellez #UE4 Prevent attempting to execute a remote process to get the metal shader compiler version if no remove process machine has been configured. (Fixes a warning) Change 3745631 by Matt.Kuhlenschmidt Fix details panel crash after compiling blueprints that have edit conditon properties Change 3744544 by Gil.Gribb UE4 - Downgraded a fatal error to a warning. Example: Found package without a linker, could find SceneComp in /Game/AIDirector/AIDirector_Fortnite, but somehow wasn't finished loading. This is a sort of cook mismatched caused by the fact that all PS4 cooks have server-only data in them. #jira FORT-59879 Change 3744419 by Matt.Kuhlenschmidt Fix opening color picker causing values to change. Was due to conversion between srgb and linear color. Change 3744270 by Ben.Marsh Merging change to include deterministic cooking summary from Dev-Core (CL 3743182). #jira FORT-59919 Change 3743621 by Guillaume.Abadie Fixes subsurface profile fallback to lit shading model when Opacity == 0, introduced by 3447144. #jira UE-51569 Change 3743403 by Gil.Gribb UE4 - Merged lockfree / taskgraph fix from //UE4 (CL 3732262) Change 3743392 by Gil.Gribb Merged IO fixed from //UE4 (CL 3641155) Change 3743376 by Gil.Gribb UE4 - Added r.WarningOnRedundantTransformUpdate to produce warnings on redundant transform updates. Change 3743372 by Gil.Gribb UE4 - Added a stat for distance field verification...which takes a very long time, but does not affect test or shipping config. Change 3743030 by Bob.Tellez #UE4 Revert some code the was accidentally merged to UE4Main #jira UE-52032 Change 3742611 by Josh.Markiewicz #UE4 - fix for crash in destructor probably related to the freeing of memory via default destructors AFTER CefShutdown() has been called #tests crashes before, no crash after (not sure if it was a 100% crash but this seems better regardless) Change 3742187 by Nick.Darnell Slate - Adding a new optional parameter to direct routing for the widgets under the cursor in Slate Application. Essentially ProcessReply occasionally needs to know the widgets under the cursor, the previous implementation, just used the routing path, this results in missing sending mouse leave messages to widgets under the cursor when dragging begins, which often left things with hover effects in bad states. Change 3742053 by Michael.Trepka Copy of CL 3713881 Added -buildscw to Mac Build.sh script to build ShaderCompileWorker in addition to the requested target. Xcode passes it to the script when building non-program targets. #jira UE-31093 Change 3742050 by Michael.Trepka Copy of CL 3711085 Reenabled UBT makefiles on Mac Change 3741924 by Josh.Markiewicz #UE4 - delete EpicSurvey module - working toward engine/plugins/online removal from game branch Change 3741865 by Nick.Darnell UMG - Fixing a High DPI bug that wasn't scaling the offset for DragDrop widgets when using In-Window rendering that games depend on for DragDrop effects. Change 3741442 by Ryan.Gerleve Fix initialization order warnings Change 3741370 by Ryan.Gerleve Back out changelist 3689397. The memcpy in one of the FInBunch constructors is not portable and causes this change to break networking on Android. Change 3740914 by Peter.Knepley Restore player name obsfuscation Change 3740828 by Marc.Audy Dynamically create FKey if the char code is unknown #jira FORT-59735 Change 3740811 by Ben.Marsh UAT: Fix double-spacing of lines output by Utils.RunLocalProcess, and use a non-local function to output them for more readable logs. #jira Change 3740328 by Bob.Tellez #UE4 Fix FullLoadAndSave cook method Change 3740327 by Bob.Tellez #UE4 Minor movie scene cooking improvements Change 3740280 by Bob.Tellez #UE4 Fix shipping config CIS Change 3740232 by Bob.Tellez #UE4 Gave OodleHandlerComponent a short name so it doesnt hit maxpath length issues on build machines. Change 3740209 by Nick.Darnell UMG - Finishing the ability to add a "Custom" method for Navigation. Currently the editor implementation leaves me wanting, but it works for now. You can put the name of a function to call (needs to match a signature that returns a UWidget). Change 3740207 by Nick.Darnell Slate - Navigation attempts when the user claims they are doing custom or explicit, if those methods don't return a valid widget, we don't treat it like the attempt failed and fallback to default navigation methods. Instead we use it as a trigger to indicate that no navigation should occur and treat it like a stop. Change 3740189 by Bob.Tellez #UE4 Fix mouse cursor position being set when hovering over the viewport in windowed mode despite not having focus Change 3740171 by Marc.Audy Fix merge issue causing compile error for AutomationTool Change 3739270 by Ben.Woodhouse Use background task graph affinity on platforms that implement it (e.g. XB1). Saves 8ms on GC spikes and ~0.5ms on the renderthread #jira FORT-56961 Change 3739244 by Ben.Woodhouse -statunit commandline option Change 3738920 by peter.knepley Fix issue where simulated proxies had bad crouch state when re-entering relevancy Change 3738904 by Gil.Gribb UE4 - Moved audio decompression tasks to the background thread pool. Controlled by a cvar AudioThread.UseBackgroundThreadPool, which defaults to 1. Change 3738378 by Ori.Cohen Added better profiling for scene query hitches Change 3736984 by Ben.Woodhouse Dummy merge: Accept main version of windowsrunnablethread.h, so Windows gets the new priorities #jira FORT-56700 Change 3736754 by Zak.Middleton Remove engine hacks of K2_SetActorLocation etc for pending engine merge. Will replace with delegates on transform updates for relevant classes. Change 3736282 by Hongyi.Yu Don't check target file while doing iterative shared prebuild cooking. #jira FORT-58911 Change 3736109 by Michael.Trepka Updated FMallocLeakDetectionProxy to not use a critical section internally on top of thread safety measures performed by FMallocLeakDetection and the underlying FMalloc implementation. The improvements are biggest on Mac, in particular in low framerate situations, as Metal RHI uses malloc heavily on multiple threads, but it's also a nice 10% improvement on a high end PC. #jira FORT-55309 Change 3735765 by Ben.Woodhouse Fix GTSynctype logic when vsync is disabled. This was breaking profiling Change 3734436 by Marcus.Wassmer More reliable Aftermath data. #jira FORT-45518 Change 3734103 by Bob.Tellez #UE4 Exposing GetRefPosePosition on SkinnedMeshComponent to BPs Change 3733985 by Saul.Abreu #jira FORT-58816 "Special case zero-width space in the text shaper to avoid fonts rendering the fallback glyph" - Jamie Dale Needed to workaround an issue with guillemets (weird arrow quotes). Change 3733922 by Brian.Bekich Setting max serialization size in FNetBitReader to prevent runaway string reads from replicated object paths Check for path name serialization error before tryng to read checksum #jira FORT-57974 Change 3733850 by Max.Chen Sequencer: Return unhandled only if not dragged. This fixes a bug where dragging in the track area would sometimes leave the handled state with the time slider controller and not allow you to pop up a menu with the movement tool. #jira FORT-56092 Change 3733299 by Ethan.Geller #jira FORT-58943 Handle corner cases for repeated calls to precache buffers. Change 3732907 by Gil.Gribb UE4 - Removed slow HLOD code from frustum cull loop and set things up at AddPrim time instead. Saves 1-3ms. Change 3732728 by Robert.Manuszewski Fixing a crash when dumping stats with massive callstacks #jira FORT-58901 Change 3732438 by Marc.Audy When a client informs the server that it has loaded a streaming level force a net update on all dormant actors that have at one point replicated data to relevant clients and ensure that the connection's destroyed startup/dormant actors list is properly populated. #jira FORT-56997 Change 3730413 by Lukasz.Furman fixed PlayerName encryption key #jira FORT-59066 Change 3729588 by Bob.Tellez #UE4 Only calling FixupData on load. Fixes crash during parallel saving. Change 3729475 by Marc.Audy Fix missing ; Change 3729444 by Marc.Audy Fix cases where GetWorld() being called multiple times per function Change 3729143 by Hongyi.Yu Added support to extract pak files to mount point. - Extract with "-ExtractToMountPoint" when extracting pak in DiffCookedContent() #jira FORT-58635 Change 3728981 by Nick.Darnell Slate - Fixing a bug with Slate turning on statid tracking even when the slate verbose stats are not being used. Change 3728838 by Zak.Middleton Compile out GetWorld() call in check() in Test and Shipping builds, to avoid skewing profiling. Change 3728604 by Jian.Ru Submit one render command rather than many in FScene::UpdateParameterCollections Change 3728434 by Marc.Audy PostSignificance should always fire when unregistering regardless of whether this is the last object in the tag. Change 3728427 by Gil.Gribb UE4 - reduce stat overhead when not collecting stats. Change 3728197 by Marc.Audy Properly call post significance on initial registration if the post significance type is sequential Change 3726266 by Gil.Gribb UE4 - Force HISMC trees to rebuild during cook. This allow us to change parameters without resaving maps. Change 3724501 by Marc.Audy Fix initialization order Change 3724411 by Ben.Woodhouse Point light shadow rendering optimization - Made per-triangle culling take Z into account. In FortGPUTestbed (with grass shadow casting enabled), GSVerticesOut reduced from 464k to 234k. On xbox one, a pointlight GPU cost reduced from 6.7 to 4.1ms. On PS4, GPU cost went from 2.3 to 1.9ms. #jira FORT-58921 Change 3724367 by Chad.Garyet Downgrading lock warning about still waiting to a message instead of a warning. Change 3723903 by Max.Preussner MediaAssets: Merged workaround for uninitialized media sound waves from 4.17 #jira FORT-57260 Change 3723134 by Lukasz.Furman added deprecation for PlayerState.PlayerName, it should remain accessible only through Get/Set functions to control obfuscation Change 3722955 by Jian.Ru Fix a compilation warning #jira FORT-58749 Change 3722667 by Luke.Thatcher [BUILD] [!] Fix PGO failures on build machines. - The strings "Failed" and "error" are always treated as build failures, even if the build task returns a success code. - Failure to reserve a device should not be fatal. #jira FORT-58001 Change 3722291 by Lukasz.Furman restored public access to PlayerName for now, current code will be going through accessor Change 3721012 by Alicia.Cano chunk title file generation #jira FORT-53605 Change 3720961 by Marcus.Wassmer Fix bad UVDensities on objects causing texture streaming to fail. Better fix will come with the engine merge. #jira FORT-58240 Change 3719318 by Lukasz.Furman replaced old branch name assertions Change 3719047 by Lukasz.Furman added branch name assertion to core headers to avoid duplicating it Change 3718499 by peter.knepley Fix for a crash when calling FSlateApplication::Get().FindPathToWidget in response to a widget destructing. Widget must be invalidated before the reference is cleared or else someone else might assign a shared reference to it during destruction. Change 3716965 by Alicia.Cano No sound was playing for Android. #jira FORT-58302 #android Change 3715746 by Ben.Marsh Hide Arxan warnings about PDB files not being present. #jira Change 3715172 by Bob.Tellez #UE4 FullLoadAndSave now does SavePackage in parallel. Change 3715055 by Bob.Tellez #UE4 Fix to actually use the precached streaming audio DDC data when cooking. Change 3714130 by Bob.Tellez #UE4 Core changes to allow SavePackage to be done concurrently Change 3714099 by Bob.Tellez #UE4 Pull the logic to initialize and uninitialize the physics scene for a world out into separate functions Change 3713145 by Ben.Marsh Disable an Arxan warning in EC. #jira FORT-56926 Change 3712904 by Ben.Woodhouse Fix for gpu profiler crash on pre-maxwell nvidia (or when r.gpuprofiler is set to false) Change 3712693 by Ben.Woodhouse Workaround for PS4 flip thread crash in dev builds. Caused by the flip thread/offset threads being shutdown before being initialized. The high level logic is now robust to that. We should fix the PS4 RHI ideally, but this is simpler for now. #jira FORT-58409 Change 3712544 by Ben.Woodhouse add missing skylight diffuse gpu stat Change 3712515 by Ben.Woodhouse CSV profiler GPU and pre-declared stat support - refactor the GPU profiler so it's no longer dependent on the stats system and can work in Test builds - add support for pre-declared CSV stats, using FNames (these are required for GPU stats) - add DECLARE_GPU_STAT macro which handles STATS and CsvProfiler declarations Note: still a few issues to resolve with GPU stats: these randomly go to 0 at times during a replay on XB1, the GPU total is lower than the stat unit number, and the unaccounted stat is too large due to missing stats Change 3712297 by Mike.Fricker Fixed huge client hitch when applying changes to in-game options - Every component was being re-registered when r.SimpleForwardShading was updated by the scalability system, even if the value hadn't changed. Now, it only re-registers components if the value changes on the fly. (e.g. when turning Shadows off or on PC) #jira FORT-57661 Change 3711501 by Ben.Marsh Fix build failure on Linux. #jira Change 3710962 by David.Ratti Add SCOPE_CYCLE_UOBJECT for SourceObject of GE - this will tell us what weaponw as applying the GE Change 3710602 by Marc.Audy Only create MIDs as a child of the calling object if construction script is running Change 3710421 by Ben.Woodhouse Bring over a couple of XB1 rendering fixes from 4.18 3692692: Integrate XB1 translucent lighting fix 3674543: D3D12 : Fix bug with non-CS version of UpdateTexture3D caused by bad depthstride. This was causing corruption in the indirect lighting cache #jira UE-49416 Change 3710338 by Marc.Audy Fix Json <-> Property converter to handle maps with struct keys Merged from CL# 3521195 #jira UE-46616 Change 3710226 by Bob.Tellez #UE4 Increase TaskGraph stack size in editor builds since. SavePackage uses a deep callstack which exceeds the 384 memory limit Change 3709046 by andrew.grant Added ALLOW_CONSOLE_IN_SHIPPING define that Target.cs files can set to turn on console in shipping builds #jira FORT-57180 Change 3709040 by andrew.grant Fixed issue where this could fail if a messagebox was spawned early during initialization Change 3708830 by Bob.Tellez #UE4 Commandline switches/options are no longer detected when found between quote characters. This causes options from not being incorrectly detected when passed in as a value from another options. i.e. -Option="-log" no longer causes -log to be picked up. This removes the syntax of specifying parameters like "Option=Value", which should now be replaced with -Option="Value" #jira FORT-57833 Change 3708826 by Bob.Tellez #UE4 Removed needless calls to RegisterSerializedShaders in the saving codepath of material serialization. This function is only relevant when loading shaders. Change 3707905 by Ori.Cohen Fix attached skinned mesh never being unhidden due to scale 0 and render tick optimization #jira UE-51485 Change 3706450 by Chris.Bunner Removing illegal material set on decal component in GameplayStatics. Set a related JIRA, this doesn't actually fix the issue but contributes. #jira FORT-51597 Change 3706223 by Marc.Audy Shrink UPackage class size substantially Change 3706221 by Marc.Audy Store CustomVersions in array rather than set Change 3705798 by Bob.Tellez #UE4 ShadowDepthVertexShader.usf fix to fix Mac cook. Change 3705613 by Uriel.Doyon Texture streaming integration from Main. #jira FORT-57376 Change 3705137 by Michael.Trepka Fixed MetalRHI warning when compiling without MALLOC_LEAKDETECTION defined #jira FORT-55309 Change 3704310 by Marcus.Wassmer fix d3ddebug error with shadowcasting pointlights also suppress spammy d3ddebug data about texture debug names #jira FORT-58063 Change 3703477 by Marc.Audy Minor tweak to keep Padding on one cache line. Change 3703449 by Michael.Trepka Don't use parallel RHI execute on Mac if MALLOC_LEAKDETECTION is enabled as this combination affects performance significantly due to mutex locking in FMallocLeakDetectionProxy #jira FORT-55309 Change 3703217 by Marcus.Wassmer Update PS signatures to match VS. Fixes crashes when running witih -d3ddebug which we need to catch real problems #jira FORT-58021 Change 3702926 by Aaron.Eady #JIRA na Engine Code Improvements (that this project doesn't have yet); Added engine code for drawing a debug 2D box. Added engine code that allows for Keyboard Shortcuts to be special characters like backslash \. -- Code -- DrawDebugHelpers: DrawDebugCanvas2DBox() - Added this to allow us to draw debug 2D boxes. RemoteConfigIni: SpecialCharMap - Updated this TCHAR* property to be in the right order so you can use special characters like backslash as keyboard shortcuts. Change 3701976 by Michael.Noland Editor: Rewrote CallInEditor support and promoted it so it can be used on functions in any class, not just blueprints derived from AActor: - CallInEditor used on native UFUNCTION() declarations will now show up without having to make a BP subclass - CallInEditor can now be used as a top-level keyword in the UFUNCTION() declaration (e.g., UFUNCTION(Category=CoolCommands, CallInEditor)) - Now shows each function as a separate button, placed in the category associated with the function - The button strip entry is now searchable by function name or tooltip - Prevented operating on functions that have parameters or return values, which would crash before - Removed the duplicate copies of properties placed in the Blutility section - Added a scoped transaction around CallInEditor execution - Allowed functions to be marked as CallInEditor in addition to custom events (currently we don't allow editing category or tooltip on custom events...) Editor: Moved Experimental/EarlyAccessPreview details customizations up to UObject so it can be used on any class, not just actors/components Edigrating CL# 3374995, 3375121, and 3375308 from Dev-Framework to FN main Change 3700836 by Bob.Tellez Modified commandline parse function, to detect when it is incorrectly parsing a parameter, from within another parameters value (not exhaustive). For example, this commandline only contains the parameter ParamA. It should not be possible to parse ParamB, as it is part of ParamA's value: -ParamA="-ParamB=Value" #jira FORT-57833 Change 3700821 by Bob.Tellez Merging CL#3461205 from //UE4/Dev-Core Fixed parameter parsing so that arguments are not parsed if not preceeded by a whitespace (for example "-Log" was parsed in "TM-Log") #jira UE-33790 Change 3699584 by Chad.Garyet Upping the timeout on symstore to half an hour instead of 15 minutes. Symstore on xbox takes about ~22 minutes and if two builds are going simultaneously it can cause a job to fail due to the timeout being hit. #jira FORT-0 Change 3698692 by Aaron.McLeran #jira FORT-57582 crash in sound mix state code - Removed the assert as it looks like that state is now possible. Change 3698411 by Bob.Tellez #UE4 One last correctness fix for when to not save generated base ini files. #jira FORT-57315 Change 3698390 by Bob.Tellez #UE4 Slightly more accurate logic to prevent writing of base ini files (old logic may have prevented writing of non-base ini files) #JIRA FORT-57315 Change 3698369 by Bob.Tellez #UE4 Ensure that Tcp/Udp messaging plugins are disabled in shipping config Change 3698352 by Bob.Tellez #UE4 Minor additional fix to make sure DISABLE_GENERATED_INI_WHEN_COOKED only affects cooked builds #jira FORT-57315 Change 3698341 by Bob.Tellez #UE4 DISABLE_GENERATED_INI_WHEN_COOKED now properly prevents all base ini file loads from happening from a generated folder. It also prevents writing generated ini files completely. #JIRA FORT-57315 Change 3697553 by Nick.Darnell Slate - When setting the content of an SBox it should always invalidate. Change 3697330 by Bart.Hawthorne APlayerController::ServerShortTimeout_Implementation now only iterates over the active object list instead of uisng an actor iterator, since non-replicated actors wont have a network object info to update. #jira FORT-57099 #tests ran 100 player bot match Change 3695578 by Bob.Tellez #UE4 Fix Win32 Change 3695508 by Eric.Newman Tweaked LogInit logging to clarify when the command line is being filtered * Encountered this red herring when evaluating crash logs #jira FORT-55839 #tests ran shipping & debug client builds, and editor game build Change 3694898 by Michael.Trepka Fixed Vorbis audio not playing on non-Windows platforms due to changes in CL 3668361 #jira FORT-57121 Change 3694655 by David.Ratti Reimplement TweakObjetPtr optimizations with FObjectReplicator as an FGCObject instead of the owning channel being responsible for adding the replciator's ObjectPtr to the reference collection. (There are cases where object replicator ownership is transferred). #JIRA FORT-57298 Change 3694491 by Ben.Woodhouse Change courtesy of Gil: Drop the priority of the texture streamer using a new low-priority thread pool. This saves a 1-2ms in heavy combat in PVE (XB1 Test) #jira FORT-57376 Change 3693609 by Ryan.Gerleve Back out CL 3689050 since it was likely causing a crash. #jira FORT-57298 Change 3693327 by Aaron.McLeran #jira FORT-57416 Fixing PS4 cook. Making sure zero pad bytes stays positive without a check. Change 3693136 by David.Ratti fix clang warning Change 3692703 by Thomas.Sarkanen Fix CIS warning on PS4/Linux Change 3692589 by Thomas.Sarkanen Moved exposed value handler bound function initialization to CDO postload This means that FindPropertyByName and FindFunctionChecked dont incur any overhead when spawning in new anim instances #jira FORT-56968 - Hitch - SkeletalMeshComponent initialization (110ms) #tests PIE PvE, 20-bot BR game on PC/PS4. Change 3692552 by Alex.Delesky Change 3692495 by Bart.Hawthorne Fix build Change 3692488 by Bart.Hawthorne Check for actor relevancy and level initialization when there's no channel first when prioritizing actors for replication. Dormancy checks in this case are useless because ShouldActorGoDormant will always be false, and if IsActorDormant is also true, then the result of skipping the actor is the same. #jira FORT-57104 #tests played 100 player bot match Change 3691819 by Bob.Tellez #UE4 No longer conditionally including SlateDebug fonts in the cook based on configuraiton. When builds are produced that contain more than one configuration it changes what is cooked in unexpected ways so now we just always cook this font. Change 3691805 by Bob.Tellez #UE4 CIS fix Change 3691784 by Bob.Tellez #UE4 Optimization for exiting PIE. Texture streaming managers have an optimization for game worlds but were not using them for PIE worlds Change 3691273 by Aaron.McLeran #jira UE-50650 Fix memory/event leak in USoundWave::AudioDecompressor Fix is to only delete the decompress/pre-cache task in game thread during FinishDestroy and not allow sounds to start playing unless the precache task has finished. Change 3691268 by Aaron.McLeran #jira FORT-56228 LogAudio:Warning: spam causes severe performance drop on the Mac Platform Reducing log level Change 3690547 by Ryan.Gerleve Speculative fix #2 for a server crash/assert. If the timing is right, it's possible for the server to try to re-load a placed-in-map actor that was previously garbage collected. This was happening because CanClientLoadObject was always returning true for these (null) objects, even if the NetGUID corresponded to a map actor that shouldn't be loaded. Also added/improved some logging that will help in case this doesn't fix the issue. #jira FORT-55763 Change 3690451 by Lukasz.Furman changed branch name testing in engine hacks to use case insensitive match Change 3690270 by David.Ratti Cache weak object ptr in FNetworkObjectInfo to avoid reconstructing one every time we need to lookup its actor channel. #jira FORT-57156 Change 3690227 by David.Ratti Added optional TWeakObjectPtr parameter to packagemap functions GetOrAssignNetGUID, SUpportsObject. This allows you to pass in a weak ptr for an object if its already created. If you pass in null, the functions will create them internally. This fixes some common cases where we were converting the same object into weak ptr multiple times in a frame. #jira FORT-57156 Change 3690184 by David.Ratti Cache net connection weakobjectptr when building consider list instead of constructing it again for every actor. #jira FORT-57156 Change 3689805 by Peter.Knepley Make ConditionalInitAxisProperties protected instead of private #jira FORT-56414 Change 3689789 by Marcus.Wassmer Hack workaround for missing shadowdepthps for XB1 until we get a handle on why things are exploding #jira FORT-56792 Change 3689702 by Peter.Knepley Allow games to have a custom MassageAxisInput function #jira FORT-56414 Change 3689687 by Bob.Tellez #UE4 Avoid copying the shaders array to avoid changing refcounts of shaders while serializing Change 3689655 by Peter.Knepley Make SmoothMouse virtual so games can have their own smoothing #jira FORT-56417 Change 3689499 by Bart.Hawthorne Fix Linux CIS warnings Change 3689397 by Bart.Hawthorne Changed FOutBunch and FInBunch uint8 entries to use bitfields instead of bytes which knocked 86% off of our net tick time Change 3689056 by Lukasz.Furman 3rd attempt for branch name checking in engine code hacks Change 3689050 by David.Ratti First pass at removing use of TWeakObjectPtr from core replication classes. This should reduce FWeakObjectPtr::Get usage. Still expecting to see FWeakObjectPtr::operator= come up a lot. Going to tackle this in a second pass which will require some deeper refactors. #jira FORT-57156 Change 3688972 by Bob.Tellez #UE4 Add build target flag to control DISABLE_GENERATED_INI_WHEN_COOKED Change 3688864 by Ryan.Gerleve Fix broken logic to find the "best" replay sample for character movement when we don't find two samples to interpolate between. Now uses the sample closest to the current time. Also added some debug drawing. #jira FORT-56553 Change 3687654 by Bob.Tellez #UE4 Added compile time option to disable reading generated ini files other than GameUserSettings in cooked builds. Change 3686615 by Lukasz.Furman Back out changelist 3686610 Change 3686592 by Matt.Kuhlenschmidt Gave the CL description in the source control submit window more room Change 3686020 by Ben.Marsh Remove debug code that prints to logs while building. #jira FORT-56923 Change 3684414 by Peter.Knepley Back out changelist 3678336 #jira FORT-56512 Change 3683894 by Gil.Gribb UE4 - By default, do not check for illegal calls to MarkPendingKill in the garbage collector in test and shipping configuations. This was slow. Change 3683686 by peter.knepley Raise MTU from 512 to 1024 #jira FORT-56756 Change 3683343 by Rob.Cannaday Fixes insert disk popup #jira FORT-56500 Change 3683156 by Peter.Knepley Network optimizations to reduce alloc/free & memcpy churn saving about 10% of net tick time Change 3682234 by Guillaume.Abadie Cherrypick TAA refactor 3512696 and TAA fix 3668108 #jira FORT-56303 Change 3681494 by Bob.Tellez #UE4 IsLoadedByEditorPropertiesOnly is not working properly so I removed it from FullLoadAndSave Change 3681342 by Bob.Tellez #UE4 Added a FullLoadAndSave option to cooking, which simply loads all content then saves it to avoid the overhead of managing which packages need to be cooked. Large perf improvement for those who cook by the book and can fit the entire game in memory Change 3681014 by Yenal.Kal #jira FORT-56209 #jira FORT-56272 Fixed a bug in the ability system where the ability ended callbacks could cause the ability end to be called again in the same call stack even though the ability is activated only once. This was happening because we were broadcasting the event before we decrement the active count. Change 3680739 by Michael.Trepka Warn about NaN float literal values when translating HLSL to Metal instead of failing, plus added more detailed warning/error messages for NaN and unhandled values #jira FORT-56425 Change 3679237 by Bob.Tellez #UE4 Remove some debug logging Change 3679187 by Bob.Tellez #UE4 Dramatically imrpove speed of writing cookloadorder log file Change 3678926 by Bob.Tellez #UE4 Minor savepackage speed improvements Change 3678336 by Aaron.McLeran #jira UE-50650 Fix memory/event leak in USoundWave::AudioDecompressor Fix is to only delete the decompress/pre-cache task in game thread during FinishDestroy and not allow sounds to start playing unless the precache task has finished. Change 3676998 by Ben.Woodhouse Fix XGE shader compilation so it doesn't crash randomly Change 3676606 by Ori.Cohen Update GC to be 61.1 to avoid heartbeat collision Change 3676447 by Ori.Cohen Fix CIS warning Change 3676286 by Max.Preussner Fixed client Crash UMediaSoundWave::GeneratePCMData (FORT-56107) #jira FORT-56107 Change 3674591 by Ryan.Gerleve Don't filter out PendingKillPending actors from FNetworkObjectList::Find. This was causing actors that get destroyed while dormant on the server to never be destroyed on clients. #jira FORT-55802 Change 3674181 by Michael.Noland Framework: DLL export LogGameplayTags Change 3674138 by Billy.Bramer #jira FORT-56138, FORT-56139 - Duplicate CL 3396590 from //Orion/Main re: ranged-base for iteration ensure from montage changes Change 3672464 by Lukasz.Furman removed recast layers crash tracking code Change 3672153 by Daniel.Lamb Added some debugging code to help track down why shaders are hashing poorly. Change 3671498 by Luke.Thatcher [~] Modify new frame syncing to reduce performance regression seen when the game is running over budget. - Rather than forcing a flip sync after we kick off one frame early, we just continue to kick frames if we time out. This allows the game thread to get ahead when we're over budget. - The game thread will naturally resync with the vsync when we return to being in budget. #jira FORT-55842 Change 3671079 by Ryan.Gerleve Fix an edge case where the PackageMap on the server would try to resolve objects from default NetGUIDs even if their outer has already been garbage collected. This could lead to a completely unrelated object being returned instead of null, leading to asserts and potentially other issues. #jira FORT-55763 Change 3670487 by Zak.Middleton Optimize some low level details of UNetConnection::ClientHasInitializedLevelFor() and UNetDriver::IsLevelInitializedForActor(). Add cached WorldPackage for NetDriver to avoid repeated GetOuterMost() and Casts. Remove rendundant virtual GetWorld() calls, and mark UNetDriver's version "final" to let it optimize away virtual call. Made UNetConnection::ClientVisibleLevelNames a TSet instead of TArray, since it is searched frequently when there are streaming levels present. #jira FORT-55999 Change 3670351 by Zak.Middleton Back out changelist 3669817 (networking optimizations). Would rather have more testing before it goes to Release-Next. Will resub just for main and RP. #jira FORT-55999 Change 3670344 by Josh.Markiewicz #UE4 - more verbose logging for SetExpectedClientLoginMsgType Change 3670323 by Wes.Hunt Fix for dedicated servers not flushing events in a timely manner. #jira FORT-56015 Doh, using GFrameNumber was NOT a good idea on servers... :-/ Change 3669817 by Zak.Middleton Optimize some low level details of UNetConnection::ClientHasInitializedLevelFor() and UNetDriver::IsLevelInitializedForActor(). Add cached WorldPackage for NetDriver to avoid repeated GetOuterMost() and Casts. Remove rendundant virtual GetWorld() calls, and mark UNetDriver's version "final" to let it optimize away virtual call. Made UNetConnection::ClientVisibleLevelNames a TSet instead of TArray, since it is searched frequently when there are streaming levels present. #jira FORT-55999 Change 3668416 by Michael.Noland Core: Changed FString::ParseIntoArray to use Reset instead of Empty on the passed in array, allowing it to be approximately resized #jira FORT-55887 Change 3668411 by Olaf.Piesche Always cache depth collision particle shader #jira FORT-51307 Change 3668361 by Aaron.McLeran #jira FORT-55628 Attempt to bypass crash and log an error if libvorbisdll fails to load. Change 3667892 by Rob.Cannaday libwebsocket libs to handle getprotobyname("TCP") failing the libwebsockets connection #jira FORT-55917 Touch LwsWebSocket.cpp to ensure the module gets built with the new libs Change 3667308 by Uriel.Doyon Postponed the release of IO requests when canceling mip updates to prevent threading issue. #jira FORT-54491 Change 3666835 by Lukasz.Furman fixed overlapping index buffers when static mesh exports both convex and simple collisions for navigation #jira UE-50370 Change 3665374 by Mike.Fricker Fixed server crashing after hotfixes have re-imported curve table data - The hotfix system is capable of replacing the content of a UCurveTable on the fly - If any systems had references to inner curves on that curve table, they would become invalid - This needs to be fixed in 1.6.4 (tonight) and also in 1.7 #jira FORT-55792 Change 3665063 by Daniel.Broder Fixed crash in GameplayTagQueryCustomization when choosing "Save and Close" on GameplayTagQuery after setting a query due to nullptr NotifyHook in CloseWidgetWindow. Added additional if (StructPropertyHandle.IsValid()) wrappers and one check(StructPropertyHandle.IsValid()); the former to be consistent with other code and prevent possible crashes, the latter to at least catch the cause of a possible crash properly without having to change the code more significantly to handle it gracefully. Also changed some if( X ) to if (X) to match coding standards and provide consistency within the file. Michael, I'm Reviewing you on this fix since you brought this change over from Framework. And Marc because you reviewed him on that change. #UE4 #NoReleaseNotes #RNX Change 3664948 by Lukasz.Furman reduced number of allocations in StorePathfindingDebugData, optimized path length calculations to avoid recursion #jira FORT-51111 Change 3664916 by John.Abercrombie Copy CLs 3383318 & 3388506 from //Orion/Main/Engine/Source/Runtime/Engine/... - Been testing with this for a while now - This change makes particle effects show up on the current frame's pose for skel meshes as well Removed my StopAllMontagesByGroupName temp hack CL 3383318 Delay dispatching of AnimEvents (Notifies and Montage Events) until after we receive an updated animation pose (if applicable). This fixes AnimNotifies playing particle effects using a socket location using last frame's pose. Now they use the current frame's pose. CL 3388506 Delay clearing of MontageInstances and triggering 'OnAllMontageInstancesEnded' until all Montage Events have been dispatched. Also fix SkelMeshComponent ticking on dedicated servers when rejoining in progress. #jira FORT-55102 - Server Crash UAnimInstance::StopAllMontagesByGroupName Change 3780616 by Gil.Gribb Fixed and reenabled r.DelaySceneRenderCompletion Change 3778979 by Gil.Gribb UE4 - Improved the performance of grass updates and added the ability to not do all of them every frame. Change 3778200 by Nick.Darnell UMG - Making it possible to cancel delays and all animations on widgets. Useful when destroying a widget and needing to stop any async state. Change 3777612 by Zak.Middleton Perf: Added option to CharacterMovementComponent to skip immediate forward prediction for proxies on the frame they receive a network update (bNetworkSkipProxyPredictionOnNetUpdate). This avoids all forward prediction sweeps and floor checks on those updates. Intermediate frames will interpolate with prediction. This can also be disabled globally with the CVar "p.NetEnableSkipProxyPredictionOnNetUpdate 0". Added NetworkSmoothingDisableProxyPredictionForPawnLOD to force disabling full simulation for LOD >= this value (currently 3, so bottom 75 pawns). This takes precedence over current distance and view angle checks for prediction (mesh interpolation is untouched). Change 3774338 by Ben.Woodhouse Convert the D3D12 PSO caches to use RwScopeLocks. This change is courtesy of a shelf from Gil, plus a couple of minor fixes. Saves up to a millsecond of frame time in CPU-bound scenarios Change 3773462 by Gil.Gribb UE4 - Add particle batching. This is disabled by default but can improve thread scheduling when there are lots of very fast particle systems. Change 3771375 by Hongyi.Yu Fixed the crash where ability components are unregistered and then re-registered, which usually happens in PIE. Change 3771368 by Ben.Zeigler #jira UE-52670 Add project setting bValidateUnloadedSoftActorReferences that is true by default to match current behavior. If you set it to false it will no longer load packages to look for soft actor references when deleting/renaming actors. Change 3771173 by Seth.Weedin Auto manage attachment support for AudioComponent- An opt-in feature that allows AudioComponents to cache their AttachParent/AttachSocket and only attach themselves when playing audio, detaching after playback is completed. Set to false by default. Change 3768811 by Ori.Cohen Change animation scale collision code so that it uses the physics asset. Change 3768148 by Brian.Bekich Fix muting being unable to find remote player controller Change 3768117 by Ori.Cohen Prevent pawn collision from updating during animation Change 3766554 by Gil.Gribb UE4 - Added a new option to add and remove from static draw lists on demand. This is off by default. Change 3766427 by Nick.Darnell Slate - Finally adding Opacity to SWidget. Any widget can now be alpha animated at will, no more need to waste overhead by wrapping things with SBorder or making them userwidgets just to be able to animate a fade. Change 3761682 by nick.darnell Athena - Introducing a way to interrupt the request to scroll and item into view. In cases where you're animating, quickly showing and hiding, with the item widgets unavailable for a few frames, you enter cases where the deferred navigation is resolved after you've canceled showing a dialog stealing focus. Change 3761416 by Ben.Zeigler #jira UE-52287 Prevent cook metadata like DevelopmentAssetRegistry.bin from being packed into a shipping game, by moving it into a Metadata subdirectory and updating deployment scripts to avoid that directory. Right now it doesn't package them at all, we could change it to package them as Debug Non-UFS if desired Change it so the asset audit UI will only load DevelopmentAssetRegistry.bin files, the cooked registry files don't have enough information any more to be useful Remove ability for runtime game to load DevelopmentAssetRegistry.bin, this ended up not being useful Change 3750998 by Ethan.Geller #jira FORT-60191 Allow -audiomixer command line arg to work on all platforms. Change 3749540 by Marc.Audy SignificanceManager now takes viewpoints in as TArrayView instead of const TArray& Change 3748102 by Marc.Audy Allow cheat cvars to work in Test builds by default Can be overriden by defining ALLOW_CHEAT_CVARS_IN_TEST as 0 in Target.cs files Change 3744756 by Bart.Hawthorne Upgrade Oodle to version 2.5.5. Also, iOS, Android, and Switch platforms have been added. The new dictionary has been generated with old and local captures. Change 3741168 by Max.Preussner MediaUtils: Fixed movies not playing properly in Shipping builds Change 3739256 by Jian.Ru Set distance field self-shadow bias without recreating all render states Change 3730756 by Ben.Woodhouse HISM optimization: Gil's change to skip trees with only one level of hierarchy (working around badly tuned content issues) Change vert threshold to 2K. 1-2ms renderthread win without impacting GPU when rendering point lights Change 3724029 by Zak.Middleton Increase allowed time for movement substep duration. Don't want to lower between 2 iterations, as this is not used much in practice other than deflection and movement mode changes, and that will change behavior (lose momentum). This new setting will absorb longer hitches in the common case (moving without collision or falling). Change 3723985 by Marc.Audy SignificanceManager PostSignificanceUpdate functions can now be executed sequentially on the game thread as well as concurrently in the parallel for (old behavior) Change 3722910 by Jian.Ru Amortize shadow cache update caused by resolution change Changed to use view distance vs. view space z when calculating whole scene shadow resolution which is less sensitive to camera rotation Change 3718247 by Yenal.Kal Fixed the bug where the gameplay effect durations can show incorrect values after rejoin or after server time drifting away from the client. Change 3716343 by Jamie.Dale Adding Korean and Turkish to the localization automation Change 3710534 by Uriel.Doyon Texture streaming optimization where a maximum texture resolution for each level streaming data is computed per view. This is used to cull irrelevant levels and reduce the async task number of iterations. The culled size is defined by the new r.Streaming.MinLevelTextureScreenSize. This requires to remove primitives with big UV density from the level data. Those primitives get moved to the dynamic lists. This is controlled by r.Streaming.MaxTextureUVDensity Change 3707207 by David.Ratti Remove look ahead-vectors prediction in FNetViewer. This (requires) a line trace which is not desirable or really accurate anymore. This saves us a line trace per connection per multicast rpc. unify reliable multicast rpc handling: these now do relevancy checks and are not sent to non relevant clients Change 3706272 by Thomas.Sarkanen Added utility/math functions to aid in optimizing anim blueprints Added VectorLengthXY to get the 2D length of a 3D vector. Avoids unecessary conversions. Added polar->cartesian->polar conversion helper functions for expensive frequently-used anim graph functionality. Change 3706159 by David.Ratti PlayerState/ASC replication optimizations from Polge: this puts the net update frequnecy on player state back to 1hz while forcing netupdates on the player state actor when the ability system component needs to update Change 3692891 by David.Ratti Optimizations for UNetConnection::ClientHasInitializedLevelFor: build acceleration map of actor outer's (ULevels) -> Visibility bool. Existing logic stays the same. Change 3691392 by Aaron.McLeran #jira UE-50628 Fix audio trying to sync load bulk data with EDL enabled - Fix log error in BulkData.cpp - Make the first stream chunk be force inline payload in bulk data flags so it loads immediately vs in async IO system - Make audio stream chunks get as close to 256 k chunks as it can, zero-pad rest to be 256 k aligned - Fix up DDC key, serialize AudioDataSize separately from chunk DataSize Change 3682683 by Zak.Middleton Add bOnlyTickMontageOnDedicatedServer variable to AnimInstance, to avoid anim bp updates on dedicated server. Turn on to fix hitching from queued ServerMove() calls, and some free perf during all montages on the server. Change 3678771 by Ori.Cohen Added the ability to turn on stack walk during hitching vs lightweight stats Change 3676363 by Ori.Cohen Added the ability to get callstacks as part of hitch detection Change 3674877 by Keith.Judge Move definition of GFailedToFindParamCollectionBufferQueue to ShaderBaseClasses.cpp so that all targets can successfully compile. Change 3672515 by Bob.Tellez Added code to play wind particle effects Change 3670909 by Zak.Middleton Fixed ForcePositionUpdate() not calling CheckJumpInput(). Added "p.NetForceClientServerMoveLossPercent" cvar to simulate loss of client->server movement RPCs (without hosing the rest of networking). [CL 3791033 by Marc Audy in Main branch]
2017-12-05 21:57:41 -05:00
if (DistanceDragged == 0.f)
{
return FReply::Unhandled().ReleaseMouseCapture();
}
}
bPanning = false;
bMouseDownInRegion = false;
return FReply::Handled().ReleaseMouseCapture();
}
else if ( bHandleLeftMouseButton )
{
Copying //UE4/Dev-Sequencer to //UE4/Main (Source: //UE4/Dev-Sequencer @ 2945541) ========================== MAJOR FEATURES + CHANGES ========================== Change 2837601 on 2016/01/20 by Thomas.Sarkanen Sequencer: Exposed bool, byte, event, fade, float, slomo, and visibility section keys in context menu Change 2840895 on 2016/01/23 by Thomas.Sarkanen Sequencer: Moved key proxy handling from section into key area; added support for grouped keys; exposed color properties in context menu. Change 2901092 on 2016/03/09 by Thomas.Sarkanen Sequencer: Fixed ensure() and crash when exiting PIE & then playing back in editor Made sure that instances that are playing that have active montages can re-connect to a playing montage if it is already active. We dont stop/start preview/non- preview playback when switching modes right now so I've just made the system robust to the switch when playing back animation. Ensured that instances are kept up to date by hooking into EndPlayMapDelegate. This fires slightly later than OnEndPIE, so it allows us to pick up when instances have been deleted from the world. OnEndPIE is fired before the worlds are shutdown so instances can still be bound to valid (but nearly dead) actors at this point. #jira UE-27898 #jira UE-27899 Change 2901159 on 2016/03/09 by Chris.Bunner Allow EXR frames from SaveHighResScreenshot to be uncompressed (r.SaveUncompressedEXRFrames). Change 2903123 on 2016/03/10 by Max.Chen Sequencer: Add snapping for the in/out range. Change 2903126 on 2016/03/10 by Max.Chen Sequencer: Fix split and trim for cinematic shot sections so that the start offset value is set. Change 2903132 on 2016/03/10 by Max.Chen Sequencer: Create camera here and set it as the current camera cut. Change 2903138 on 2016/03/10 by Max.Chen Sequencer: Improve mechanism for adding objects to Sequencer. Hold down shift while dragging from content browser to add as a spawnable. Hold down ctrl while dragging from content browser to add as a possessable. Change 2903143 on 2016/03/10 by Max.Chen Sequencer: Add 4k to movie capture dialog. #jira UE-28147 Change 2903157 on 2016/03/10 by Max.Chen Sequencer: Pop out of locked camera when popping out of the sequence. #jira UE-27662 Change 2908097 on 2016/03/14 by Andrew.Rodham Sequencer: Added default viewport type onto the viewport types menu - The activation command for a given viewport type no longer toggles it if it's already active, it will just do nothing. - Switching back to the default viewport type can be achieved with SHIFT+D Change 2911869 on 2016/03/16 by Max.Preussner Editor: Caching device proxy manager, so the UI doesn't constantly poll for the TargetDeviceServices module Change 2917943 on 2016/03/22 by Thomas.Sarkanen Sequence Recording: Added "Record New Sequence From Current Player" to sub-sequence track menu This option is only available in PIE. When selected it primes a new seciton for recording against the pawn that is currently being controlled by the player. Change 2917946 on 2016/03/22 by Max.Chen Sequencer: Automatically add and attach a cine camera when dropping a crane or rail. Change 2917954 on 2016/03/22 by Thomas.Sarkanen Fix anim dynamics going crazy on time skips Added new API to FAnimNode_Base: NeedsDynamicReset and ResetDynamics. This allows nodes that subscribe to this interface to be reset on teleport/time skips. Call through to ResetDynamics on zero timestep (ie. skips) in the preview path in Sequencer. Change 2917961 on 2016/03/22 by Frank.Fella Sequencer - Sequencer - Update the color track code to match the behavior in matinee, also remove empty light color tracks from the sequence, and add a missing particle parameter track. Change 2917984 on 2016/03/22 by Max.Chen Sequencer: Fix crash on deleting object binding nodes multiple times. Change 2917986 on 2016/03/22 by Max.Chen Sequencer: Fix if adding multiple camera cuts at the same time with the same duration as an existing camera cut. The camera is replaced in this case. Change 2917994 on 2016/03/22 by Jeff.Farris Support for scene depth picker. Used for focus depth sampling in cine cams. Change 2918003 on 2016/03/22 by Max.Chen Sequencer - Fix selection issues related to keying an undo by moving the selection clear on rebuild to after the tree selection state has been cached by path. Change 2920371 on 2016/03/23 by Max.Preussner UnrealEd: Added a file import path that doesn't load the entire file into memory prior to importing UFactory::StaticImport will now call FactoryCreateFile for both text and binary files. The default implementation will load the file into a buffer/string and call FactoryCreateBinary/FactoryCreateText to preserve legacy behavior. New factories may override FactoryCreateFile to perform their own file processing instead. Change 2923359 on 2016/03/25 by Max.Preussner UnrealEd: Refactored out StaticImportObject code into ImportObject Change 2924887 on 2016/03/28 by Jeff.Farris Sequencer: Camera Anim and Camera Shake tracks now support PostProcess changes in the CameraAnim Change 2927283 on 2016/03/30 by Max.Chen Sequencer: Fix crash resetting default in audio track in sequencer. Fix audio track rename when adding another audio. #jira UE-28836, UE-28859 Change 2928290 on 2016/03/30 by Max.Preussner ContentBrowser: Disabling 'Show in Explorer' context menu option for newly created/unsaved asset(s) Change 2928480 on 2016/03/30 by Max.Preussner AssetTools: Added built-in type category for Media assets Change 2928498 on 2016/03/30 by Max.Preussner AssetTools: Sorting asset type categories alphabetically Change 2932326 on 2016/04/04 by Frank.Fella Sequencer - Add "paste from matinee" support for audio tracks, and add volume support to audio sections in sequencer. Change 2933917 on 2016/04/05 by Max.Preussner Core: Added microseconds support to FTimespan Change 2933920 on 2016/04/05 by Max.Preussner Sockets: Simplified socket timeout assignments Change 2935434 on 2016/04/06 by Max.Chen Sequencer: Deselect possessable before converting it to a spawnable and deleting it. Also, make sure the newly converted spawnables are selected. This fixes a bug where the transform gizmo remains after adding a spawnable. Also, consolidate code for adding possessables to sequencer so that the newly added possessable node will be selected in the widget tree. #jira UE-28215 Change 2935590 on 2016/04/06 by Jeff.Farris Made crane rig preview mesh at the tip move as expected and appear in a reasonable place. Change 2936082 on 2016/04/07 by Max.Chen Sequencer: Attach should use default attach component of the actor if it exists. This fixes a bug where trying to attach to a camera crane rig attaches to the proper component. Change 2936118 on 2016/04/07 by Max.Chen Sequencer: Adding crane/rail with shift now adds the crane/rig as a spawnable and the attached cine camera as a spawnable. An attach track is created for the cine camera spawnable. #jira UE-28308 Change 2937226 on 2016/04/07 by Max.Chen Sequencer: Add invalidation when levels are added or removed.This fixes a bug were if you have a level sequence open and then add a sublevel that the level sequence operates on, it correctly updates the actors from the new sub level. #jira UE-27595 Change 2937263 on 2016/04/07 by Frank.Fella Sequencer - Changed the matinee to sequencer conversion tools so that curve keys set to "clamped auto" import as user tangents since we don't support clamped auto in sequencer. Change 2937273 on 2016/04/07 by Max.Chen Sequencer: No longer experimental/betal and now enabled by default. #jira UETOOl-625 Change 2937694 on 2016/04/08 by Max.Chen Curve Editor: Separate out input and output snapping. #jira UE-27209 Change 2937852 on 2016/04/08 by Andrew.Rodham Sequencer: Spawnables no longer use generated classes - Spawnables now store a template actor instance, rather than a generated class - All relevant code has been converted to use this new approach - Spawnable defaults are now harvested directly from any spawned instances when the movie scene is saved, or when the object is de-spawned. We only do this for spawnables *in the currently active sequence instance*. This approach ensures that instance components and other properties persist. - Currently we don't mark the package as dirty when the defaults are changed. This needs to be addressed. - Some fixes have been made to AActor and Actor Iterators to ensure that actors not contained within a level do not crash. - Spawning optimisations to follow Change 2937956 on 2016/04/08 by Max.Preussner Sequencer: Added selection range commands to general toolbar menu Change 2937981 on 2016/04/08 by Max.Preussner Sequencer: Refactored GetKeyHandles to take a time range for filtering keys Change 2938007 on 2016/04/08 by Max.Preussner Sequencer: Implemented selection range key selection Change 2938184 on 2016/04/08 by Max.Chen Sequencer: Find in Content Browser is now in the top level menubar. #jira UE-21598 Change 2938665 on 2016/04/08 by Frank.Fella UMG - Add support for material animation. Change 2939048 on 2016/04/10 by Max.Chen CineCamera: Change current position on rail to normalize position. Change 2939067 on 2016/04/10 by Max.Chen Sequencer: Add paste color from matinee Change 2939587 on 2016/04/11 by Andrew.Rodham Sequencer: Fixes to spawnable rework - Removed commented out code. - Fixed particle system components not disabling auto activate. - Instance Components are now correctly registered on spawn. - Removed ability to set the editable flag on actors in favor of a delegate assigned to SActorDetails to disable property editing on actors spawned from outside of the currently focused sequence. Change 2939666 on 2016/04/11 by Andrew.Rodham Sequencer: Fixed active sequence ID not being set on creation Change 2940663 on 2016/04/12 by Andrew.Rodham Sequencer: Spawnable object templates now always have the RF_ArchetypeObject flag #jira UE-29337, UE-29339 Change 2940742 on 2016/04/12 by Thomas.Sarkanen Improvements to sequence recording API Sequence recording is now more extensible. Moved the majority of recorders into a seperate module. Cleaned up recorder API, removed bRecord that was only really used once. Added factory class as a modular feature that allows users to register and implement their own recorders. Recorders can supply their own settings classes. These are incorporated into the UI via a details customization so they appear to be seamlessly integrated. Exposed components to record as an advanced setting. Users can use this to gate the components and actors that are recorded. #jira UE-28850 - Update sequence recording API for better extensibility Change 2940828 on 2016/04/12 by Max.Chen Level Editor: Clear the camera preview if the level viewport is locked to the same camera. #jira UE-27489 Change 2941090 on 2016/04/12 by Frank.Fella Sequencer - Fix inconsistencies with the level visibility track. + Add an option to update a track instance when it stops playing due to it's parent movie scene being deactivated as a sub-scene. + Reset level visibility state when the section ends, or when it's parent subsection ends. Change 2941427 on 2016/04/12 by Andrew.Rodham Sequencer: Fixes for recorded dynamic components - Dynamic components are now named uniquely within their owner actor, and are no longer re-bound to new object tracks when detached/re-attached - New dynamic components are created every time a new component is detected on an actor, regardless of whether it was once attached before. This affords recording externally managed components from a component pool. - Section recorders for components that are no longer attached to the actor are now disabled correctly. Change 2941760 on 2016/04/12 by Max.Preussner Editor: Setting up correct material expresions when creating material from normal map texture Change 2941819 on 2016/04/13 by Max.Chen Sequencer: Fire named events in all sublevels. #jira UE-28843 Change 2942052 on 2016/04/13 by Andrew.Rodham Sequencer: Fixed not being able to add dynamic material parameter tracks to spawnables when the object is not spawned #jira UE-24287 Change 2942223 on 2016/04/13 by Max.Preussner Editor: Using built-in function to assign sampler format Change 2942833 on 2016/04/13 by Max.Chen Sequencer: More copy matinee helpers. - Make some sections infinite. - Fix FindPossessableObjectId - Expose FindGroupByName Change 2942944 on 2016/04/13 by Max.Chen Sequencer: Fix anim copy so that it doesn't create an animation clip longer than the next clip's start position. Change 2943313 on 2016/04/14 by Max.Chen Sequencer: Initial matinee to level sequence asset converter. Right click on a matinee actor in the level and choose "Convert to Level Sequence" Current supports: - movement tracks - generic property tracks - particle tracks - anim control tracks - event tracks - audio tracks - visibility track - director track (fade, slomo, camera cuts) Possible todos: - Relative scale3D - Option to create spawnables instead of possessables - Create shots per director track camera cut instead of a direct translation to the camera cut track #jira UETOOL-467 Change 2943596 on 2016/04/14 by Andrew.Rodham Editor: Fixed placement mode scrollbar visibility not working for custom content #jira UE-27191 Change 2943651 on 2016/04/14 by Max.Chen Sequencer: Invalidate the audio waveform when the source changes. #jira UE-29394 Change 2943674 on 2016/04/14 by Max.Chen Sequencer: Store/restore playback state when rebuilding. #jira UE-29452 Change 2943993 on 2016/04/14 by Max.Chen Sequencer: Convert slot name from matinee to level sequence. Change 2944156 on 2016/04/14 by Frank.Fella Sequencer - Fix undo when moving items into folders, and when deleting folder. #jira UE-27368 Change 2944227 on 2016/04/14 by Max.Chen Sequencer: Show curves in the curve editor if one of the parent nodes is selected. For example, if Location is selected, show Location.X, Location.Y, and Location.Z Change 2945057 on 2016/04/15 by Andrew.Rodham Editor: Fixed placement mode scrollbar visibility not working for custom content #jira UE-27191 #lockdown nick.penwarden [CL 2945551 by Max Chen in Main branch]
2016-04-15 14:50:58 -04:00
if (MouseDragType == DRAG_PLAYBACK_START)
{
Copying //UE4/Dev-Sequencer to //UE4/Main (Source: //UE4/Dev-Sequencer @ 2945541) ========================== MAJOR FEATURES + CHANGES ========================== Change 2837601 on 2016/01/20 by Thomas.Sarkanen Sequencer: Exposed bool, byte, event, fade, float, slomo, and visibility section keys in context menu Change 2840895 on 2016/01/23 by Thomas.Sarkanen Sequencer: Moved key proxy handling from section into key area; added support for grouped keys; exposed color properties in context menu. Change 2901092 on 2016/03/09 by Thomas.Sarkanen Sequencer: Fixed ensure() and crash when exiting PIE & then playing back in editor Made sure that instances that are playing that have active montages can re-connect to a playing montage if it is already active. We dont stop/start preview/non- preview playback when switching modes right now so I've just made the system robust to the switch when playing back animation. Ensured that instances are kept up to date by hooking into EndPlayMapDelegate. This fires slightly later than OnEndPIE, so it allows us to pick up when instances have been deleted from the world. OnEndPIE is fired before the worlds are shutdown so instances can still be bound to valid (but nearly dead) actors at this point. #jira UE-27898 #jira UE-27899 Change 2901159 on 2016/03/09 by Chris.Bunner Allow EXR frames from SaveHighResScreenshot to be uncompressed (r.SaveUncompressedEXRFrames). Change 2903123 on 2016/03/10 by Max.Chen Sequencer: Add snapping for the in/out range. Change 2903126 on 2016/03/10 by Max.Chen Sequencer: Fix split and trim for cinematic shot sections so that the start offset value is set. Change 2903132 on 2016/03/10 by Max.Chen Sequencer: Create camera here and set it as the current camera cut. Change 2903138 on 2016/03/10 by Max.Chen Sequencer: Improve mechanism for adding objects to Sequencer. Hold down shift while dragging from content browser to add as a spawnable. Hold down ctrl while dragging from content browser to add as a possessable. Change 2903143 on 2016/03/10 by Max.Chen Sequencer: Add 4k to movie capture dialog. #jira UE-28147 Change 2903157 on 2016/03/10 by Max.Chen Sequencer: Pop out of locked camera when popping out of the sequence. #jira UE-27662 Change 2908097 on 2016/03/14 by Andrew.Rodham Sequencer: Added default viewport type onto the viewport types menu - The activation command for a given viewport type no longer toggles it if it's already active, it will just do nothing. - Switching back to the default viewport type can be achieved with SHIFT+D Change 2911869 on 2016/03/16 by Max.Preussner Editor: Caching device proxy manager, so the UI doesn't constantly poll for the TargetDeviceServices module Change 2917943 on 2016/03/22 by Thomas.Sarkanen Sequence Recording: Added "Record New Sequence From Current Player" to sub-sequence track menu This option is only available in PIE. When selected it primes a new seciton for recording against the pawn that is currently being controlled by the player. Change 2917946 on 2016/03/22 by Max.Chen Sequencer: Automatically add and attach a cine camera when dropping a crane or rail. Change 2917954 on 2016/03/22 by Thomas.Sarkanen Fix anim dynamics going crazy on time skips Added new API to FAnimNode_Base: NeedsDynamicReset and ResetDynamics. This allows nodes that subscribe to this interface to be reset on teleport/time skips. Call through to ResetDynamics on zero timestep (ie. skips) in the preview path in Sequencer. Change 2917961 on 2016/03/22 by Frank.Fella Sequencer - Sequencer - Update the color track code to match the behavior in matinee, also remove empty light color tracks from the sequence, and add a missing particle parameter track. Change 2917984 on 2016/03/22 by Max.Chen Sequencer: Fix crash on deleting object binding nodes multiple times. Change 2917986 on 2016/03/22 by Max.Chen Sequencer: Fix if adding multiple camera cuts at the same time with the same duration as an existing camera cut. The camera is replaced in this case. Change 2917994 on 2016/03/22 by Jeff.Farris Support for scene depth picker. Used for focus depth sampling in cine cams. Change 2918003 on 2016/03/22 by Max.Chen Sequencer - Fix selection issues related to keying an undo by moving the selection clear on rebuild to after the tree selection state has been cached by path. Change 2920371 on 2016/03/23 by Max.Preussner UnrealEd: Added a file import path that doesn't load the entire file into memory prior to importing UFactory::StaticImport will now call FactoryCreateFile for both text and binary files. The default implementation will load the file into a buffer/string and call FactoryCreateBinary/FactoryCreateText to preserve legacy behavior. New factories may override FactoryCreateFile to perform their own file processing instead. Change 2923359 on 2016/03/25 by Max.Preussner UnrealEd: Refactored out StaticImportObject code into ImportObject Change 2924887 on 2016/03/28 by Jeff.Farris Sequencer: Camera Anim and Camera Shake tracks now support PostProcess changes in the CameraAnim Change 2927283 on 2016/03/30 by Max.Chen Sequencer: Fix crash resetting default in audio track in sequencer. Fix audio track rename when adding another audio. #jira UE-28836, UE-28859 Change 2928290 on 2016/03/30 by Max.Preussner ContentBrowser: Disabling 'Show in Explorer' context menu option for newly created/unsaved asset(s) Change 2928480 on 2016/03/30 by Max.Preussner AssetTools: Added built-in type category for Media assets Change 2928498 on 2016/03/30 by Max.Preussner AssetTools: Sorting asset type categories alphabetically Change 2932326 on 2016/04/04 by Frank.Fella Sequencer - Add "paste from matinee" support for audio tracks, and add volume support to audio sections in sequencer. Change 2933917 on 2016/04/05 by Max.Preussner Core: Added microseconds support to FTimespan Change 2933920 on 2016/04/05 by Max.Preussner Sockets: Simplified socket timeout assignments Change 2935434 on 2016/04/06 by Max.Chen Sequencer: Deselect possessable before converting it to a spawnable and deleting it. Also, make sure the newly converted spawnables are selected. This fixes a bug where the transform gizmo remains after adding a spawnable. Also, consolidate code for adding possessables to sequencer so that the newly added possessable node will be selected in the widget tree. #jira UE-28215 Change 2935590 on 2016/04/06 by Jeff.Farris Made crane rig preview mesh at the tip move as expected and appear in a reasonable place. Change 2936082 on 2016/04/07 by Max.Chen Sequencer: Attach should use default attach component of the actor if it exists. This fixes a bug where trying to attach to a camera crane rig attaches to the proper component. Change 2936118 on 2016/04/07 by Max.Chen Sequencer: Adding crane/rail with shift now adds the crane/rig as a spawnable and the attached cine camera as a spawnable. An attach track is created for the cine camera spawnable. #jira UE-28308 Change 2937226 on 2016/04/07 by Max.Chen Sequencer: Add invalidation when levels are added or removed.This fixes a bug were if you have a level sequence open and then add a sublevel that the level sequence operates on, it correctly updates the actors from the new sub level. #jira UE-27595 Change 2937263 on 2016/04/07 by Frank.Fella Sequencer - Changed the matinee to sequencer conversion tools so that curve keys set to "clamped auto" import as user tangents since we don't support clamped auto in sequencer. Change 2937273 on 2016/04/07 by Max.Chen Sequencer: No longer experimental/betal and now enabled by default. #jira UETOOl-625 Change 2937694 on 2016/04/08 by Max.Chen Curve Editor: Separate out input and output snapping. #jira UE-27209 Change 2937852 on 2016/04/08 by Andrew.Rodham Sequencer: Spawnables no longer use generated classes - Spawnables now store a template actor instance, rather than a generated class - All relevant code has been converted to use this new approach - Spawnable defaults are now harvested directly from any spawned instances when the movie scene is saved, or when the object is de-spawned. We only do this for spawnables *in the currently active sequence instance*. This approach ensures that instance components and other properties persist. - Currently we don't mark the package as dirty when the defaults are changed. This needs to be addressed. - Some fixes have been made to AActor and Actor Iterators to ensure that actors not contained within a level do not crash. - Spawning optimisations to follow Change 2937956 on 2016/04/08 by Max.Preussner Sequencer: Added selection range commands to general toolbar menu Change 2937981 on 2016/04/08 by Max.Preussner Sequencer: Refactored GetKeyHandles to take a time range for filtering keys Change 2938007 on 2016/04/08 by Max.Preussner Sequencer: Implemented selection range key selection Change 2938184 on 2016/04/08 by Max.Chen Sequencer: Find in Content Browser is now in the top level menubar. #jira UE-21598 Change 2938665 on 2016/04/08 by Frank.Fella UMG - Add support for material animation. Change 2939048 on 2016/04/10 by Max.Chen CineCamera: Change current position on rail to normalize position. Change 2939067 on 2016/04/10 by Max.Chen Sequencer: Add paste color from matinee Change 2939587 on 2016/04/11 by Andrew.Rodham Sequencer: Fixes to spawnable rework - Removed commented out code. - Fixed particle system components not disabling auto activate. - Instance Components are now correctly registered on spawn. - Removed ability to set the editable flag on actors in favor of a delegate assigned to SActorDetails to disable property editing on actors spawned from outside of the currently focused sequence. Change 2939666 on 2016/04/11 by Andrew.Rodham Sequencer: Fixed active sequence ID not being set on creation Change 2940663 on 2016/04/12 by Andrew.Rodham Sequencer: Spawnable object templates now always have the RF_ArchetypeObject flag #jira UE-29337, UE-29339 Change 2940742 on 2016/04/12 by Thomas.Sarkanen Improvements to sequence recording API Sequence recording is now more extensible. Moved the majority of recorders into a seperate module. Cleaned up recorder API, removed bRecord that was only really used once. Added factory class as a modular feature that allows users to register and implement their own recorders. Recorders can supply their own settings classes. These are incorporated into the UI via a details customization so they appear to be seamlessly integrated. Exposed components to record as an advanced setting. Users can use this to gate the components and actors that are recorded. #jira UE-28850 - Update sequence recording API for better extensibility Change 2940828 on 2016/04/12 by Max.Chen Level Editor: Clear the camera preview if the level viewport is locked to the same camera. #jira UE-27489 Change 2941090 on 2016/04/12 by Frank.Fella Sequencer - Fix inconsistencies with the level visibility track. + Add an option to update a track instance when it stops playing due to it's parent movie scene being deactivated as a sub-scene. + Reset level visibility state when the section ends, or when it's parent subsection ends. Change 2941427 on 2016/04/12 by Andrew.Rodham Sequencer: Fixes for recorded dynamic components - Dynamic components are now named uniquely within their owner actor, and are no longer re-bound to new object tracks when detached/re-attached - New dynamic components are created every time a new component is detected on an actor, regardless of whether it was once attached before. This affords recording externally managed components from a component pool. - Section recorders for components that are no longer attached to the actor are now disabled correctly. Change 2941760 on 2016/04/12 by Max.Preussner Editor: Setting up correct material expresions when creating material from normal map texture Change 2941819 on 2016/04/13 by Max.Chen Sequencer: Fire named events in all sublevels. #jira UE-28843 Change 2942052 on 2016/04/13 by Andrew.Rodham Sequencer: Fixed not being able to add dynamic material parameter tracks to spawnables when the object is not spawned #jira UE-24287 Change 2942223 on 2016/04/13 by Max.Preussner Editor: Using built-in function to assign sampler format Change 2942833 on 2016/04/13 by Max.Chen Sequencer: More copy matinee helpers. - Make some sections infinite. - Fix FindPossessableObjectId - Expose FindGroupByName Change 2942944 on 2016/04/13 by Max.Chen Sequencer: Fix anim copy so that it doesn't create an animation clip longer than the next clip's start position. Change 2943313 on 2016/04/14 by Max.Chen Sequencer: Initial matinee to level sequence asset converter. Right click on a matinee actor in the level and choose "Convert to Level Sequence" Current supports: - movement tracks - generic property tracks - particle tracks - anim control tracks - event tracks - audio tracks - visibility track - director track (fade, slomo, camera cuts) Possible todos: - Relative scale3D - Option to create spawnables instead of possessables - Create shots per director track camera cut instead of a direct translation to the camera cut track #jira UETOOL-467 Change 2943596 on 2016/04/14 by Andrew.Rodham Editor: Fixed placement mode scrollbar visibility not working for custom content #jira UE-27191 Change 2943651 on 2016/04/14 by Max.Chen Sequencer: Invalidate the audio waveform when the source changes. #jira UE-29394 Change 2943674 on 2016/04/14 by Max.Chen Sequencer: Store/restore playback state when rebuilding. #jira UE-29452 Change 2943993 on 2016/04/14 by Max.Chen Sequencer: Convert slot name from matinee to level sequence. Change 2944156 on 2016/04/14 by Frank.Fella Sequencer - Fix undo when moving items into folders, and when deleting folder. #jira UE-27368 Change 2944227 on 2016/04/14 by Max.Chen Sequencer: Show curves in the curve editor if one of the parent nodes is selected. For example, if Location is selected, show Location.X, Location.Y, and Location.Z Change 2945057 on 2016/04/15 by Andrew.Rodham Editor: Fixed placement mode scrollbar visibility not working for custom content #jira UE-27191 #lockdown nick.penwarden [CL 2945551 by Max Chen in Main branch]
2016-04-15 14:50:58 -04:00
TimeSliderArgs.OnPlaybackRangeEndDrag.ExecuteIfBound();
}
Copying //UE4/Dev-Sequencer to //UE4/Main (Source: //UE4/Dev-Sequencer @ 2945541) ========================== MAJOR FEATURES + CHANGES ========================== Change 2837601 on 2016/01/20 by Thomas.Sarkanen Sequencer: Exposed bool, byte, event, fade, float, slomo, and visibility section keys in context menu Change 2840895 on 2016/01/23 by Thomas.Sarkanen Sequencer: Moved key proxy handling from section into key area; added support for grouped keys; exposed color properties in context menu. Change 2901092 on 2016/03/09 by Thomas.Sarkanen Sequencer: Fixed ensure() and crash when exiting PIE & then playing back in editor Made sure that instances that are playing that have active montages can re-connect to a playing montage if it is already active. We dont stop/start preview/non- preview playback when switching modes right now so I've just made the system robust to the switch when playing back animation. Ensured that instances are kept up to date by hooking into EndPlayMapDelegate. This fires slightly later than OnEndPIE, so it allows us to pick up when instances have been deleted from the world. OnEndPIE is fired before the worlds are shutdown so instances can still be bound to valid (but nearly dead) actors at this point. #jira UE-27898 #jira UE-27899 Change 2901159 on 2016/03/09 by Chris.Bunner Allow EXR frames from SaveHighResScreenshot to be uncompressed (r.SaveUncompressedEXRFrames). Change 2903123 on 2016/03/10 by Max.Chen Sequencer: Add snapping for the in/out range. Change 2903126 on 2016/03/10 by Max.Chen Sequencer: Fix split and trim for cinematic shot sections so that the start offset value is set. Change 2903132 on 2016/03/10 by Max.Chen Sequencer: Create camera here and set it as the current camera cut. Change 2903138 on 2016/03/10 by Max.Chen Sequencer: Improve mechanism for adding objects to Sequencer. Hold down shift while dragging from content browser to add as a spawnable. Hold down ctrl while dragging from content browser to add as a possessable. Change 2903143 on 2016/03/10 by Max.Chen Sequencer: Add 4k to movie capture dialog. #jira UE-28147 Change 2903157 on 2016/03/10 by Max.Chen Sequencer: Pop out of locked camera when popping out of the sequence. #jira UE-27662 Change 2908097 on 2016/03/14 by Andrew.Rodham Sequencer: Added default viewport type onto the viewport types menu - The activation command for a given viewport type no longer toggles it if it's already active, it will just do nothing. - Switching back to the default viewport type can be achieved with SHIFT+D Change 2911869 on 2016/03/16 by Max.Preussner Editor: Caching device proxy manager, so the UI doesn't constantly poll for the TargetDeviceServices module Change 2917943 on 2016/03/22 by Thomas.Sarkanen Sequence Recording: Added "Record New Sequence From Current Player" to sub-sequence track menu This option is only available in PIE. When selected it primes a new seciton for recording against the pawn that is currently being controlled by the player. Change 2917946 on 2016/03/22 by Max.Chen Sequencer: Automatically add and attach a cine camera when dropping a crane or rail. Change 2917954 on 2016/03/22 by Thomas.Sarkanen Fix anim dynamics going crazy on time skips Added new API to FAnimNode_Base: NeedsDynamicReset and ResetDynamics. This allows nodes that subscribe to this interface to be reset on teleport/time skips. Call through to ResetDynamics on zero timestep (ie. skips) in the preview path in Sequencer. Change 2917961 on 2016/03/22 by Frank.Fella Sequencer - Sequencer - Update the color track code to match the behavior in matinee, also remove empty light color tracks from the sequence, and add a missing particle parameter track. Change 2917984 on 2016/03/22 by Max.Chen Sequencer: Fix crash on deleting object binding nodes multiple times. Change 2917986 on 2016/03/22 by Max.Chen Sequencer: Fix if adding multiple camera cuts at the same time with the same duration as an existing camera cut. The camera is replaced in this case. Change 2917994 on 2016/03/22 by Jeff.Farris Support for scene depth picker. Used for focus depth sampling in cine cams. Change 2918003 on 2016/03/22 by Max.Chen Sequencer - Fix selection issues related to keying an undo by moving the selection clear on rebuild to after the tree selection state has been cached by path. Change 2920371 on 2016/03/23 by Max.Preussner UnrealEd: Added a file import path that doesn't load the entire file into memory prior to importing UFactory::StaticImport will now call FactoryCreateFile for both text and binary files. The default implementation will load the file into a buffer/string and call FactoryCreateBinary/FactoryCreateText to preserve legacy behavior. New factories may override FactoryCreateFile to perform their own file processing instead. Change 2923359 on 2016/03/25 by Max.Preussner UnrealEd: Refactored out StaticImportObject code into ImportObject Change 2924887 on 2016/03/28 by Jeff.Farris Sequencer: Camera Anim and Camera Shake tracks now support PostProcess changes in the CameraAnim Change 2927283 on 2016/03/30 by Max.Chen Sequencer: Fix crash resetting default in audio track in sequencer. Fix audio track rename when adding another audio. #jira UE-28836, UE-28859 Change 2928290 on 2016/03/30 by Max.Preussner ContentBrowser: Disabling 'Show in Explorer' context menu option for newly created/unsaved asset(s) Change 2928480 on 2016/03/30 by Max.Preussner AssetTools: Added built-in type category for Media assets Change 2928498 on 2016/03/30 by Max.Preussner AssetTools: Sorting asset type categories alphabetically Change 2932326 on 2016/04/04 by Frank.Fella Sequencer - Add "paste from matinee" support for audio tracks, and add volume support to audio sections in sequencer. Change 2933917 on 2016/04/05 by Max.Preussner Core: Added microseconds support to FTimespan Change 2933920 on 2016/04/05 by Max.Preussner Sockets: Simplified socket timeout assignments Change 2935434 on 2016/04/06 by Max.Chen Sequencer: Deselect possessable before converting it to a spawnable and deleting it. Also, make sure the newly converted spawnables are selected. This fixes a bug where the transform gizmo remains after adding a spawnable. Also, consolidate code for adding possessables to sequencer so that the newly added possessable node will be selected in the widget tree. #jira UE-28215 Change 2935590 on 2016/04/06 by Jeff.Farris Made crane rig preview mesh at the tip move as expected and appear in a reasonable place. Change 2936082 on 2016/04/07 by Max.Chen Sequencer: Attach should use default attach component of the actor if it exists. This fixes a bug where trying to attach to a camera crane rig attaches to the proper component. Change 2936118 on 2016/04/07 by Max.Chen Sequencer: Adding crane/rail with shift now adds the crane/rig as a spawnable and the attached cine camera as a spawnable. An attach track is created for the cine camera spawnable. #jira UE-28308 Change 2937226 on 2016/04/07 by Max.Chen Sequencer: Add invalidation when levels are added or removed.This fixes a bug were if you have a level sequence open and then add a sublevel that the level sequence operates on, it correctly updates the actors from the new sub level. #jira UE-27595 Change 2937263 on 2016/04/07 by Frank.Fella Sequencer - Changed the matinee to sequencer conversion tools so that curve keys set to "clamped auto" import as user tangents since we don't support clamped auto in sequencer. Change 2937273 on 2016/04/07 by Max.Chen Sequencer: No longer experimental/betal and now enabled by default. #jira UETOOl-625 Change 2937694 on 2016/04/08 by Max.Chen Curve Editor: Separate out input and output snapping. #jira UE-27209 Change 2937852 on 2016/04/08 by Andrew.Rodham Sequencer: Spawnables no longer use generated classes - Spawnables now store a template actor instance, rather than a generated class - All relevant code has been converted to use this new approach - Spawnable defaults are now harvested directly from any spawned instances when the movie scene is saved, or when the object is de-spawned. We only do this for spawnables *in the currently active sequence instance*. This approach ensures that instance components and other properties persist. - Currently we don't mark the package as dirty when the defaults are changed. This needs to be addressed. - Some fixes have been made to AActor and Actor Iterators to ensure that actors not contained within a level do not crash. - Spawning optimisations to follow Change 2937956 on 2016/04/08 by Max.Preussner Sequencer: Added selection range commands to general toolbar menu Change 2937981 on 2016/04/08 by Max.Preussner Sequencer: Refactored GetKeyHandles to take a time range for filtering keys Change 2938007 on 2016/04/08 by Max.Preussner Sequencer: Implemented selection range key selection Change 2938184 on 2016/04/08 by Max.Chen Sequencer: Find in Content Browser is now in the top level menubar. #jira UE-21598 Change 2938665 on 2016/04/08 by Frank.Fella UMG - Add support for material animation. Change 2939048 on 2016/04/10 by Max.Chen CineCamera: Change current position on rail to normalize position. Change 2939067 on 2016/04/10 by Max.Chen Sequencer: Add paste color from matinee Change 2939587 on 2016/04/11 by Andrew.Rodham Sequencer: Fixes to spawnable rework - Removed commented out code. - Fixed particle system components not disabling auto activate. - Instance Components are now correctly registered on spawn. - Removed ability to set the editable flag on actors in favor of a delegate assigned to SActorDetails to disable property editing on actors spawned from outside of the currently focused sequence. Change 2939666 on 2016/04/11 by Andrew.Rodham Sequencer: Fixed active sequence ID not being set on creation Change 2940663 on 2016/04/12 by Andrew.Rodham Sequencer: Spawnable object templates now always have the RF_ArchetypeObject flag #jira UE-29337, UE-29339 Change 2940742 on 2016/04/12 by Thomas.Sarkanen Improvements to sequence recording API Sequence recording is now more extensible. Moved the majority of recorders into a seperate module. Cleaned up recorder API, removed bRecord that was only really used once. Added factory class as a modular feature that allows users to register and implement their own recorders. Recorders can supply their own settings classes. These are incorporated into the UI via a details customization so they appear to be seamlessly integrated. Exposed components to record as an advanced setting. Users can use this to gate the components and actors that are recorded. #jira UE-28850 - Update sequence recording API for better extensibility Change 2940828 on 2016/04/12 by Max.Chen Level Editor: Clear the camera preview if the level viewport is locked to the same camera. #jira UE-27489 Change 2941090 on 2016/04/12 by Frank.Fella Sequencer - Fix inconsistencies with the level visibility track. + Add an option to update a track instance when it stops playing due to it's parent movie scene being deactivated as a sub-scene. + Reset level visibility state when the section ends, or when it's parent subsection ends. Change 2941427 on 2016/04/12 by Andrew.Rodham Sequencer: Fixes for recorded dynamic components - Dynamic components are now named uniquely within their owner actor, and are no longer re-bound to new object tracks when detached/re-attached - New dynamic components are created every time a new component is detected on an actor, regardless of whether it was once attached before. This affords recording externally managed components from a component pool. - Section recorders for components that are no longer attached to the actor are now disabled correctly. Change 2941760 on 2016/04/12 by Max.Preussner Editor: Setting up correct material expresions when creating material from normal map texture Change 2941819 on 2016/04/13 by Max.Chen Sequencer: Fire named events in all sublevels. #jira UE-28843 Change 2942052 on 2016/04/13 by Andrew.Rodham Sequencer: Fixed not being able to add dynamic material parameter tracks to spawnables when the object is not spawned #jira UE-24287 Change 2942223 on 2016/04/13 by Max.Preussner Editor: Using built-in function to assign sampler format Change 2942833 on 2016/04/13 by Max.Chen Sequencer: More copy matinee helpers. - Make some sections infinite. - Fix FindPossessableObjectId - Expose FindGroupByName Change 2942944 on 2016/04/13 by Max.Chen Sequencer: Fix anim copy so that it doesn't create an animation clip longer than the next clip's start position. Change 2943313 on 2016/04/14 by Max.Chen Sequencer: Initial matinee to level sequence asset converter. Right click on a matinee actor in the level and choose "Convert to Level Sequence" Current supports: - movement tracks - generic property tracks - particle tracks - anim control tracks - event tracks - audio tracks - visibility track - director track (fade, slomo, camera cuts) Possible todos: - Relative scale3D - Option to create spawnables instead of possessables - Create shots per director track camera cut instead of a direct translation to the camera cut track #jira UETOOL-467 Change 2943596 on 2016/04/14 by Andrew.Rodham Editor: Fixed placement mode scrollbar visibility not working for custom content #jira UE-27191 Change 2943651 on 2016/04/14 by Max.Chen Sequencer: Invalidate the audio waveform when the source changes. #jira UE-29394 Change 2943674 on 2016/04/14 by Max.Chen Sequencer: Store/restore playback state when rebuilding. #jira UE-29452 Change 2943993 on 2016/04/14 by Max.Chen Sequencer: Convert slot name from matinee to level sequence. Change 2944156 on 2016/04/14 by Frank.Fella Sequencer - Fix undo when moving items into folders, and when deleting folder. #jira UE-27368 Change 2944227 on 2016/04/14 by Max.Chen Sequencer: Show curves in the curve editor if one of the parent nodes is selected. For example, if Location is selected, show Location.X, Location.Y, and Location.Z Change 2945057 on 2016/04/15 by Andrew.Rodham Editor: Fixed placement mode scrollbar visibility not working for custom content #jira UE-27191 #lockdown nick.penwarden [CL 2945551 by Max Chen in Main branch]
2016-04-15 14:50:58 -04:00
else if (MouseDragType == DRAG_PLAYBACK_END)
{
Copying //UE4/Dev-Sequencer to //UE4/Main (Source: //UE4/Dev-Sequencer @ 2945541) ========================== MAJOR FEATURES + CHANGES ========================== Change 2837601 on 2016/01/20 by Thomas.Sarkanen Sequencer: Exposed bool, byte, event, fade, float, slomo, and visibility section keys in context menu Change 2840895 on 2016/01/23 by Thomas.Sarkanen Sequencer: Moved key proxy handling from section into key area; added support for grouped keys; exposed color properties in context menu. Change 2901092 on 2016/03/09 by Thomas.Sarkanen Sequencer: Fixed ensure() and crash when exiting PIE & then playing back in editor Made sure that instances that are playing that have active montages can re-connect to a playing montage if it is already active. We dont stop/start preview/non- preview playback when switching modes right now so I've just made the system robust to the switch when playing back animation. Ensured that instances are kept up to date by hooking into EndPlayMapDelegate. This fires slightly later than OnEndPIE, so it allows us to pick up when instances have been deleted from the world. OnEndPIE is fired before the worlds are shutdown so instances can still be bound to valid (but nearly dead) actors at this point. #jira UE-27898 #jira UE-27899 Change 2901159 on 2016/03/09 by Chris.Bunner Allow EXR frames from SaveHighResScreenshot to be uncompressed (r.SaveUncompressedEXRFrames). Change 2903123 on 2016/03/10 by Max.Chen Sequencer: Add snapping for the in/out range. Change 2903126 on 2016/03/10 by Max.Chen Sequencer: Fix split and trim for cinematic shot sections so that the start offset value is set. Change 2903132 on 2016/03/10 by Max.Chen Sequencer: Create camera here and set it as the current camera cut. Change 2903138 on 2016/03/10 by Max.Chen Sequencer: Improve mechanism for adding objects to Sequencer. Hold down shift while dragging from content browser to add as a spawnable. Hold down ctrl while dragging from content browser to add as a possessable. Change 2903143 on 2016/03/10 by Max.Chen Sequencer: Add 4k to movie capture dialog. #jira UE-28147 Change 2903157 on 2016/03/10 by Max.Chen Sequencer: Pop out of locked camera when popping out of the sequence. #jira UE-27662 Change 2908097 on 2016/03/14 by Andrew.Rodham Sequencer: Added default viewport type onto the viewport types menu - The activation command for a given viewport type no longer toggles it if it's already active, it will just do nothing. - Switching back to the default viewport type can be achieved with SHIFT+D Change 2911869 on 2016/03/16 by Max.Preussner Editor: Caching device proxy manager, so the UI doesn't constantly poll for the TargetDeviceServices module Change 2917943 on 2016/03/22 by Thomas.Sarkanen Sequence Recording: Added "Record New Sequence From Current Player" to sub-sequence track menu This option is only available in PIE. When selected it primes a new seciton for recording against the pawn that is currently being controlled by the player. Change 2917946 on 2016/03/22 by Max.Chen Sequencer: Automatically add and attach a cine camera when dropping a crane or rail. Change 2917954 on 2016/03/22 by Thomas.Sarkanen Fix anim dynamics going crazy on time skips Added new API to FAnimNode_Base: NeedsDynamicReset and ResetDynamics. This allows nodes that subscribe to this interface to be reset on teleport/time skips. Call through to ResetDynamics on zero timestep (ie. skips) in the preview path in Sequencer. Change 2917961 on 2016/03/22 by Frank.Fella Sequencer - Sequencer - Update the color track code to match the behavior in matinee, also remove empty light color tracks from the sequence, and add a missing particle parameter track. Change 2917984 on 2016/03/22 by Max.Chen Sequencer: Fix crash on deleting object binding nodes multiple times. Change 2917986 on 2016/03/22 by Max.Chen Sequencer: Fix if adding multiple camera cuts at the same time with the same duration as an existing camera cut. The camera is replaced in this case. Change 2917994 on 2016/03/22 by Jeff.Farris Support for scene depth picker. Used for focus depth sampling in cine cams. Change 2918003 on 2016/03/22 by Max.Chen Sequencer - Fix selection issues related to keying an undo by moving the selection clear on rebuild to after the tree selection state has been cached by path. Change 2920371 on 2016/03/23 by Max.Preussner UnrealEd: Added a file import path that doesn't load the entire file into memory prior to importing UFactory::StaticImport will now call FactoryCreateFile for both text and binary files. The default implementation will load the file into a buffer/string and call FactoryCreateBinary/FactoryCreateText to preserve legacy behavior. New factories may override FactoryCreateFile to perform their own file processing instead. Change 2923359 on 2016/03/25 by Max.Preussner UnrealEd: Refactored out StaticImportObject code into ImportObject Change 2924887 on 2016/03/28 by Jeff.Farris Sequencer: Camera Anim and Camera Shake tracks now support PostProcess changes in the CameraAnim Change 2927283 on 2016/03/30 by Max.Chen Sequencer: Fix crash resetting default in audio track in sequencer. Fix audio track rename when adding another audio. #jira UE-28836, UE-28859 Change 2928290 on 2016/03/30 by Max.Preussner ContentBrowser: Disabling 'Show in Explorer' context menu option for newly created/unsaved asset(s) Change 2928480 on 2016/03/30 by Max.Preussner AssetTools: Added built-in type category for Media assets Change 2928498 on 2016/03/30 by Max.Preussner AssetTools: Sorting asset type categories alphabetically Change 2932326 on 2016/04/04 by Frank.Fella Sequencer - Add "paste from matinee" support for audio tracks, and add volume support to audio sections in sequencer. Change 2933917 on 2016/04/05 by Max.Preussner Core: Added microseconds support to FTimespan Change 2933920 on 2016/04/05 by Max.Preussner Sockets: Simplified socket timeout assignments Change 2935434 on 2016/04/06 by Max.Chen Sequencer: Deselect possessable before converting it to a spawnable and deleting it. Also, make sure the newly converted spawnables are selected. This fixes a bug where the transform gizmo remains after adding a spawnable. Also, consolidate code for adding possessables to sequencer so that the newly added possessable node will be selected in the widget tree. #jira UE-28215 Change 2935590 on 2016/04/06 by Jeff.Farris Made crane rig preview mesh at the tip move as expected and appear in a reasonable place. Change 2936082 on 2016/04/07 by Max.Chen Sequencer: Attach should use default attach component of the actor if it exists. This fixes a bug where trying to attach to a camera crane rig attaches to the proper component. Change 2936118 on 2016/04/07 by Max.Chen Sequencer: Adding crane/rail with shift now adds the crane/rig as a spawnable and the attached cine camera as a spawnable. An attach track is created for the cine camera spawnable. #jira UE-28308 Change 2937226 on 2016/04/07 by Max.Chen Sequencer: Add invalidation when levels are added or removed.This fixes a bug were if you have a level sequence open and then add a sublevel that the level sequence operates on, it correctly updates the actors from the new sub level. #jira UE-27595 Change 2937263 on 2016/04/07 by Frank.Fella Sequencer - Changed the matinee to sequencer conversion tools so that curve keys set to "clamped auto" import as user tangents since we don't support clamped auto in sequencer. Change 2937273 on 2016/04/07 by Max.Chen Sequencer: No longer experimental/betal and now enabled by default. #jira UETOOl-625 Change 2937694 on 2016/04/08 by Max.Chen Curve Editor: Separate out input and output snapping. #jira UE-27209 Change 2937852 on 2016/04/08 by Andrew.Rodham Sequencer: Spawnables no longer use generated classes - Spawnables now store a template actor instance, rather than a generated class - All relevant code has been converted to use this new approach - Spawnable defaults are now harvested directly from any spawned instances when the movie scene is saved, or when the object is de-spawned. We only do this for spawnables *in the currently active sequence instance*. This approach ensures that instance components and other properties persist. - Currently we don't mark the package as dirty when the defaults are changed. This needs to be addressed. - Some fixes have been made to AActor and Actor Iterators to ensure that actors not contained within a level do not crash. - Spawning optimisations to follow Change 2937956 on 2016/04/08 by Max.Preussner Sequencer: Added selection range commands to general toolbar menu Change 2937981 on 2016/04/08 by Max.Preussner Sequencer: Refactored GetKeyHandles to take a time range for filtering keys Change 2938007 on 2016/04/08 by Max.Preussner Sequencer: Implemented selection range key selection Change 2938184 on 2016/04/08 by Max.Chen Sequencer: Find in Content Browser is now in the top level menubar. #jira UE-21598 Change 2938665 on 2016/04/08 by Frank.Fella UMG - Add support for material animation. Change 2939048 on 2016/04/10 by Max.Chen CineCamera: Change current position on rail to normalize position. Change 2939067 on 2016/04/10 by Max.Chen Sequencer: Add paste color from matinee Change 2939587 on 2016/04/11 by Andrew.Rodham Sequencer: Fixes to spawnable rework - Removed commented out code. - Fixed particle system components not disabling auto activate. - Instance Components are now correctly registered on spawn. - Removed ability to set the editable flag on actors in favor of a delegate assigned to SActorDetails to disable property editing on actors spawned from outside of the currently focused sequence. Change 2939666 on 2016/04/11 by Andrew.Rodham Sequencer: Fixed active sequence ID not being set on creation Change 2940663 on 2016/04/12 by Andrew.Rodham Sequencer: Spawnable object templates now always have the RF_ArchetypeObject flag #jira UE-29337, UE-29339 Change 2940742 on 2016/04/12 by Thomas.Sarkanen Improvements to sequence recording API Sequence recording is now more extensible. Moved the majority of recorders into a seperate module. Cleaned up recorder API, removed bRecord that was only really used once. Added factory class as a modular feature that allows users to register and implement their own recorders. Recorders can supply their own settings classes. These are incorporated into the UI via a details customization so they appear to be seamlessly integrated. Exposed components to record as an advanced setting. Users can use this to gate the components and actors that are recorded. #jira UE-28850 - Update sequence recording API for better extensibility Change 2940828 on 2016/04/12 by Max.Chen Level Editor: Clear the camera preview if the level viewport is locked to the same camera. #jira UE-27489 Change 2941090 on 2016/04/12 by Frank.Fella Sequencer - Fix inconsistencies with the level visibility track. + Add an option to update a track instance when it stops playing due to it's parent movie scene being deactivated as a sub-scene. + Reset level visibility state when the section ends, or when it's parent subsection ends. Change 2941427 on 2016/04/12 by Andrew.Rodham Sequencer: Fixes for recorded dynamic components - Dynamic components are now named uniquely within their owner actor, and are no longer re-bound to new object tracks when detached/re-attached - New dynamic components are created every time a new component is detected on an actor, regardless of whether it was once attached before. This affords recording externally managed components from a component pool. - Section recorders for components that are no longer attached to the actor are now disabled correctly. Change 2941760 on 2016/04/12 by Max.Preussner Editor: Setting up correct material expresions when creating material from normal map texture Change 2941819 on 2016/04/13 by Max.Chen Sequencer: Fire named events in all sublevels. #jira UE-28843 Change 2942052 on 2016/04/13 by Andrew.Rodham Sequencer: Fixed not being able to add dynamic material parameter tracks to spawnables when the object is not spawned #jira UE-24287 Change 2942223 on 2016/04/13 by Max.Preussner Editor: Using built-in function to assign sampler format Change 2942833 on 2016/04/13 by Max.Chen Sequencer: More copy matinee helpers. - Make some sections infinite. - Fix FindPossessableObjectId - Expose FindGroupByName Change 2942944 on 2016/04/13 by Max.Chen Sequencer: Fix anim copy so that it doesn't create an animation clip longer than the next clip's start position. Change 2943313 on 2016/04/14 by Max.Chen Sequencer: Initial matinee to level sequence asset converter. Right click on a matinee actor in the level and choose "Convert to Level Sequence" Current supports: - movement tracks - generic property tracks - particle tracks - anim control tracks - event tracks - audio tracks - visibility track - director track (fade, slomo, camera cuts) Possible todos: - Relative scale3D - Option to create spawnables instead of possessables - Create shots per director track camera cut instead of a direct translation to the camera cut track #jira UETOOL-467 Change 2943596 on 2016/04/14 by Andrew.Rodham Editor: Fixed placement mode scrollbar visibility not working for custom content #jira UE-27191 Change 2943651 on 2016/04/14 by Max.Chen Sequencer: Invalidate the audio waveform when the source changes. #jira UE-29394 Change 2943674 on 2016/04/14 by Max.Chen Sequencer: Store/restore playback state when rebuilding. #jira UE-29452 Change 2943993 on 2016/04/14 by Max.Chen Sequencer: Convert slot name from matinee to level sequence. Change 2944156 on 2016/04/14 by Frank.Fella Sequencer - Fix undo when moving items into folders, and when deleting folder. #jira UE-27368 Change 2944227 on 2016/04/14 by Max.Chen Sequencer: Show curves in the curve editor if one of the parent nodes is selected. For example, if Location is selected, show Location.X, Location.Y, and Location.Z Change 2945057 on 2016/04/15 by Andrew.Rodham Editor: Fixed placement mode scrollbar visibility not working for custom content #jira UE-27191 #lockdown nick.penwarden [CL 2945551 by Max Chen in Main branch]
2016-04-15 14:50:58 -04:00
TimeSliderArgs.OnPlaybackRangeEndDrag.ExecuteIfBound();
}
Copying //UE4/Dev-Sequencer to //UE4/Main (Source: //UE4/Dev-Sequencer @ 2945541) ========================== MAJOR FEATURES + CHANGES ========================== Change 2837601 on 2016/01/20 by Thomas.Sarkanen Sequencer: Exposed bool, byte, event, fade, float, slomo, and visibility section keys in context menu Change 2840895 on 2016/01/23 by Thomas.Sarkanen Sequencer: Moved key proxy handling from section into key area; added support for grouped keys; exposed color properties in context menu. Change 2901092 on 2016/03/09 by Thomas.Sarkanen Sequencer: Fixed ensure() and crash when exiting PIE & then playing back in editor Made sure that instances that are playing that have active montages can re-connect to a playing montage if it is already active. We dont stop/start preview/non- preview playback when switching modes right now so I've just made the system robust to the switch when playing back animation. Ensured that instances are kept up to date by hooking into EndPlayMapDelegate. This fires slightly later than OnEndPIE, so it allows us to pick up when instances have been deleted from the world. OnEndPIE is fired before the worlds are shutdown so instances can still be bound to valid (but nearly dead) actors at this point. #jira UE-27898 #jira UE-27899 Change 2901159 on 2016/03/09 by Chris.Bunner Allow EXR frames from SaveHighResScreenshot to be uncompressed (r.SaveUncompressedEXRFrames). Change 2903123 on 2016/03/10 by Max.Chen Sequencer: Add snapping for the in/out range. Change 2903126 on 2016/03/10 by Max.Chen Sequencer: Fix split and trim for cinematic shot sections so that the start offset value is set. Change 2903132 on 2016/03/10 by Max.Chen Sequencer: Create camera here and set it as the current camera cut. Change 2903138 on 2016/03/10 by Max.Chen Sequencer: Improve mechanism for adding objects to Sequencer. Hold down shift while dragging from content browser to add as a spawnable. Hold down ctrl while dragging from content browser to add as a possessable. Change 2903143 on 2016/03/10 by Max.Chen Sequencer: Add 4k to movie capture dialog. #jira UE-28147 Change 2903157 on 2016/03/10 by Max.Chen Sequencer: Pop out of locked camera when popping out of the sequence. #jira UE-27662 Change 2908097 on 2016/03/14 by Andrew.Rodham Sequencer: Added default viewport type onto the viewport types menu - The activation command for a given viewport type no longer toggles it if it's already active, it will just do nothing. - Switching back to the default viewport type can be achieved with SHIFT+D Change 2911869 on 2016/03/16 by Max.Preussner Editor: Caching device proxy manager, so the UI doesn't constantly poll for the TargetDeviceServices module Change 2917943 on 2016/03/22 by Thomas.Sarkanen Sequence Recording: Added "Record New Sequence From Current Player" to sub-sequence track menu This option is only available in PIE. When selected it primes a new seciton for recording against the pawn that is currently being controlled by the player. Change 2917946 on 2016/03/22 by Max.Chen Sequencer: Automatically add and attach a cine camera when dropping a crane or rail. Change 2917954 on 2016/03/22 by Thomas.Sarkanen Fix anim dynamics going crazy on time skips Added new API to FAnimNode_Base: NeedsDynamicReset and ResetDynamics. This allows nodes that subscribe to this interface to be reset on teleport/time skips. Call through to ResetDynamics on zero timestep (ie. skips) in the preview path in Sequencer. Change 2917961 on 2016/03/22 by Frank.Fella Sequencer - Sequencer - Update the color track code to match the behavior in matinee, also remove empty light color tracks from the sequence, and add a missing particle parameter track. Change 2917984 on 2016/03/22 by Max.Chen Sequencer: Fix crash on deleting object binding nodes multiple times. Change 2917986 on 2016/03/22 by Max.Chen Sequencer: Fix if adding multiple camera cuts at the same time with the same duration as an existing camera cut. The camera is replaced in this case. Change 2917994 on 2016/03/22 by Jeff.Farris Support for scene depth picker. Used for focus depth sampling in cine cams. Change 2918003 on 2016/03/22 by Max.Chen Sequencer - Fix selection issues related to keying an undo by moving the selection clear on rebuild to after the tree selection state has been cached by path. Change 2920371 on 2016/03/23 by Max.Preussner UnrealEd: Added a file import path that doesn't load the entire file into memory prior to importing UFactory::StaticImport will now call FactoryCreateFile for both text and binary files. The default implementation will load the file into a buffer/string and call FactoryCreateBinary/FactoryCreateText to preserve legacy behavior. New factories may override FactoryCreateFile to perform their own file processing instead. Change 2923359 on 2016/03/25 by Max.Preussner UnrealEd: Refactored out StaticImportObject code into ImportObject Change 2924887 on 2016/03/28 by Jeff.Farris Sequencer: Camera Anim and Camera Shake tracks now support PostProcess changes in the CameraAnim Change 2927283 on 2016/03/30 by Max.Chen Sequencer: Fix crash resetting default in audio track in sequencer. Fix audio track rename when adding another audio. #jira UE-28836, UE-28859 Change 2928290 on 2016/03/30 by Max.Preussner ContentBrowser: Disabling 'Show in Explorer' context menu option for newly created/unsaved asset(s) Change 2928480 on 2016/03/30 by Max.Preussner AssetTools: Added built-in type category for Media assets Change 2928498 on 2016/03/30 by Max.Preussner AssetTools: Sorting asset type categories alphabetically Change 2932326 on 2016/04/04 by Frank.Fella Sequencer - Add "paste from matinee" support for audio tracks, and add volume support to audio sections in sequencer. Change 2933917 on 2016/04/05 by Max.Preussner Core: Added microseconds support to FTimespan Change 2933920 on 2016/04/05 by Max.Preussner Sockets: Simplified socket timeout assignments Change 2935434 on 2016/04/06 by Max.Chen Sequencer: Deselect possessable before converting it to a spawnable and deleting it. Also, make sure the newly converted spawnables are selected. This fixes a bug where the transform gizmo remains after adding a spawnable. Also, consolidate code for adding possessables to sequencer so that the newly added possessable node will be selected in the widget tree. #jira UE-28215 Change 2935590 on 2016/04/06 by Jeff.Farris Made crane rig preview mesh at the tip move as expected and appear in a reasonable place. Change 2936082 on 2016/04/07 by Max.Chen Sequencer: Attach should use default attach component of the actor if it exists. This fixes a bug where trying to attach to a camera crane rig attaches to the proper component. Change 2936118 on 2016/04/07 by Max.Chen Sequencer: Adding crane/rail with shift now adds the crane/rig as a spawnable and the attached cine camera as a spawnable. An attach track is created for the cine camera spawnable. #jira UE-28308 Change 2937226 on 2016/04/07 by Max.Chen Sequencer: Add invalidation when levels are added or removed.This fixes a bug were if you have a level sequence open and then add a sublevel that the level sequence operates on, it correctly updates the actors from the new sub level. #jira UE-27595 Change 2937263 on 2016/04/07 by Frank.Fella Sequencer - Changed the matinee to sequencer conversion tools so that curve keys set to "clamped auto" import as user tangents since we don't support clamped auto in sequencer. Change 2937273 on 2016/04/07 by Max.Chen Sequencer: No longer experimental/betal and now enabled by default. #jira UETOOl-625 Change 2937694 on 2016/04/08 by Max.Chen Curve Editor: Separate out input and output snapping. #jira UE-27209 Change 2937852 on 2016/04/08 by Andrew.Rodham Sequencer: Spawnables no longer use generated classes - Spawnables now store a template actor instance, rather than a generated class - All relevant code has been converted to use this new approach - Spawnable defaults are now harvested directly from any spawned instances when the movie scene is saved, or when the object is de-spawned. We only do this for spawnables *in the currently active sequence instance*. This approach ensures that instance components and other properties persist. - Currently we don't mark the package as dirty when the defaults are changed. This needs to be addressed. - Some fixes have been made to AActor and Actor Iterators to ensure that actors not contained within a level do not crash. - Spawning optimisations to follow Change 2937956 on 2016/04/08 by Max.Preussner Sequencer: Added selection range commands to general toolbar menu Change 2937981 on 2016/04/08 by Max.Preussner Sequencer: Refactored GetKeyHandles to take a time range for filtering keys Change 2938007 on 2016/04/08 by Max.Preussner Sequencer: Implemented selection range key selection Change 2938184 on 2016/04/08 by Max.Chen Sequencer: Find in Content Browser is now in the top level menubar. #jira UE-21598 Change 2938665 on 2016/04/08 by Frank.Fella UMG - Add support for material animation. Change 2939048 on 2016/04/10 by Max.Chen CineCamera: Change current position on rail to normalize position. Change 2939067 on 2016/04/10 by Max.Chen Sequencer: Add paste color from matinee Change 2939587 on 2016/04/11 by Andrew.Rodham Sequencer: Fixes to spawnable rework - Removed commented out code. - Fixed particle system components not disabling auto activate. - Instance Components are now correctly registered on spawn. - Removed ability to set the editable flag on actors in favor of a delegate assigned to SActorDetails to disable property editing on actors spawned from outside of the currently focused sequence. Change 2939666 on 2016/04/11 by Andrew.Rodham Sequencer: Fixed active sequence ID not being set on creation Change 2940663 on 2016/04/12 by Andrew.Rodham Sequencer: Spawnable object templates now always have the RF_ArchetypeObject flag #jira UE-29337, UE-29339 Change 2940742 on 2016/04/12 by Thomas.Sarkanen Improvements to sequence recording API Sequence recording is now more extensible. Moved the majority of recorders into a seperate module. Cleaned up recorder API, removed bRecord that was only really used once. Added factory class as a modular feature that allows users to register and implement their own recorders. Recorders can supply their own settings classes. These are incorporated into the UI via a details customization so they appear to be seamlessly integrated. Exposed components to record as an advanced setting. Users can use this to gate the components and actors that are recorded. #jira UE-28850 - Update sequence recording API for better extensibility Change 2940828 on 2016/04/12 by Max.Chen Level Editor: Clear the camera preview if the level viewport is locked to the same camera. #jira UE-27489 Change 2941090 on 2016/04/12 by Frank.Fella Sequencer - Fix inconsistencies with the level visibility track. + Add an option to update a track instance when it stops playing due to it's parent movie scene being deactivated as a sub-scene. + Reset level visibility state when the section ends, or when it's parent subsection ends. Change 2941427 on 2016/04/12 by Andrew.Rodham Sequencer: Fixes for recorded dynamic components - Dynamic components are now named uniquely within their owner actor, and are no longer re-bound to new object tracks when detached/re-attached - New dynamic components are created every time a new component is detected on an actor, regardless of whether it was once attached before. This affords recording externally managed components from a component pool. - Section recorders for components that are no longer attached to the actor are now disabled correctly. Change 2941760 on 2016/04/12 by Max.Preussner Editor: Setting up correct material expresions when creating material from normal map texture Change 2941819 on 2016/04/13 by Max.Chen Sequencer: Fire named events in all sublevels. #jira UE-28843 Change 2942052 on 2016/04/13 by Andrew.Rodham Sequencer: Fixed not being able to add dynamic material parameter tracks to spawnables when the object is not spawned #jira UE-24287 Change 2942223 on 2016/04/13 by Max.Preussner Editor: Using built-in function to assign sampler format Change 2942833 on 2016/04/13 by Max.Chen Sequencer: More copy matinee helpers. - Make some sections infinite. - Fix FindPossessableObjectId - Expose FindGroupByName Change 2942944 on 2016/04/13 by Max.Chen Sequencer: Fix anim copy so that it doesn't create an animation clip longer than the next clip's start position. Change 2943313 on 2016/04/14 by Max.Chen Sequencer: Initial matinee to level sequence asset converter. Right click on a matinee actor in the level and choose "Convert to Level Sequence" Current supports: - movement tracks - generic property tracks - particle tracks - anim control tracks - event tracks - audio tracks - visibility track - director track (fade, slomo, camera cuts) Possible todos: - Relative scale3D - Option to create spawnables instead of possessables - Create shots per director track camera cut instead of a direct translation to the camera cut track #jira UETOOL-467 Change 2943596 on 2016/04/14 by Andrew.Rodham Editor: Fixed placement mode scrollbar visibility not working for custom content #jira UE-27191 Change 2943651 on 2016/04/14 by Max.Chen Sequencer: Invalidate the audio waveform when the source changes. #jira UE-29394 Change 2943674 on 2016/04/14 by Max.Chen Sequencer: Store/restore playback state when rebuilding. #jira UE-29452 Change 2943993 on 2016/04/14 by Max.Chen Sequencer: Convert slot name from matinee to level sequence. Change 2944156 on 2016/04/14 by Frank.Fella Sequencer - Fix undo when moving items into folders, and when deleting folder. #jira UE-27368 Change 2944227 on 2016/04/14 by Max.Chen Sequencer: Show curves in the curve editor if one of the parent nodes is selected. For example, if Location is selected, show Location.X, Location.Y, and Location.Z Change 2945057 on 2016/04/15 by Andrew.Rodham Editor: Fixed placement mode scrollbar visibility not working for custom content #jira UE-27191 #lockdown nick.penwarden [CL 2945551 by Max Chen in Main branch]
2016-04-15 14:50:58 -04:00
else if (MouseDragType == DRAG_SELECTION_START)
Copying //UE4/Dev-Sequencer to //UE4/Main ========================== MAJOR FEATURES + CHANGES ========================== Change 2875025 on 2016/02/20 by Andrew.Rodham Sequencer: Cinematic viewport improvements - Added optional letterbox overlay (defaults to 2.35:1) - Added ability to change safe frame colors - Added selected tracks' keys to the transport range - Added buttons for jumping between selected tracks' keyframes on the transport controls - Removed black padding around the viewport where possible - Added ability to specify whether a combo button/menu anchor should close when its parent receives focus - Separated logic of FGroupedKeyArea into FSequencerKeyCollection, so it can be used independently - Added playback range to the viewport frame numbers - All frame numbers are now spin boxes #jira UE-26429 Change 2875026 on 2016/02/20 by Thomas.Sarkanen Added console commands for recording sequences Changed plugin to a developer plugin so we can load it when the editor is in -game mode. Added Exec commands. Added some more logging to help diagnose problems when using commands. Added loading/saving of config for recorder settings (stored in Editor.ini). Also disabled controls in recorder window when recording. Added auto-saving of assets when in non-editor modes. Moved animation settings from UnrealEd to Engine module. Change 2875036 on 2016/02/20 by Max.Chen Sequencer: Call RedrawAllViewports instead of RedrawLevelEditingViewports. In particular, this fixes some update issues when editing values in the key editors. #jira UE-26960 Change 2875046 on 2016/02/20 by Max.Preussner Sequencer: Fix so that clicking on UMG Animations doesn't dirty the scene. #jira UE-26249 Change 2875047 on 2016/02/20 by Max.Chen Sequencer: Add option to toggle display of channel colors/lines. View->Channel Colors Change 2877138 on 2016/02/23 by Max.Chen Sequencer: Select corresponding track node when selecting key or section. Removed active/inactive selection since it was only being used in deletion and the rules for deletion are now dependent upon what is selected - delete keys and sections before deleting outliner nodes. Change 2877143 on 2016/02/23 by Thomas.Sarkanen Added new math function: WindRelativeAnglesDegrees Given two angles in degrees, 'wind' the angle in Angle1 so that it avoids >180 degree flips. Good for winding rotations previously expressed as quaternions into a euler-angle representation. Change 2877147 on 2016/02/23 by Thomas.Sarkanen Added the ability to import sequencer transforms from the root node of an animation sequence Intended for use after re-importing animations from DCC tools. Available in the right-click menu for transform tracks. Also added FindTrackBinding to UMovieScene so track bindings can be recovered from tracks. Change 2877163 on 2016/02/23 by Max.Chen Sequencer: Add option to create keyframe sections as infinite. Sequencer defaults to true, UMG defaults to false. Change 2877165 on 2016/02/23 by Max.Preussner Sequencer: Drawing vertical position lines when dragging keys Change 2878748 on 2016/02/23 by Max.Chen Curve Editor: Switch curve type to user when flatting or straightening tangents. #jira UE-27277 Change 2878799 on 2016/02/23 by Frank.Fella Sequencer - Add folders support to the outliner. Change 2880769 on 2016/02/24 by Andrew.Rodham Sequencer: Added ability to override runtime spawnable ownership in sequencer - This is exposed as an option on spawnables "Keep Alive Outside Playback Range (In Sequencer)" - Enabling this will stop spawnables from being destroyed when scrubbing outside of the playback range #jira UE-27205 Change 2880770 on 2016/02/24 by Thomas.Sarkanen Sequencer: Added countdown and recording indicator display when recording Also fixed extra popups added post-PIE when animation recordings auto shutdown. Change 2880782 on 2016/02/24 by Max.Chen Sequencer: Snapping now also uses the current time as a possible snap time. #jira UE-26306 Change 2880793 on 2016/02/24 by Max.Chen Sequencer: Add +Animation to Animation track so that it's consistent with all other tracks that have a + button. Change 2880812 on 2016/02/24 by Max.Chen Sequencer: Fix adjusting the leading edge of a shot section so that it cuts into the shot rather than adjusts the start time. #jira UE-26306 Change 2881624 on 2016/02/25 by Andrew.Rodham Changing shader version GUID to fix corrupt shaders in ddc Change 2882408 on 2016/02/25 by Thomas.Sarkanen Asset/actors stored in TLazyObjectPtrs can now reference game content from engine This is a legitimate use case as lazy object ptrs are designed to reference assets/actors cross-domain. Change 2882409 on 2016/02/25 by Thomas.Sarkanen [CL 2899785 by Max Chen in Main branch]
2016-03-08 16:55:04 -05:00
{
Copying //UE4/Dev-Sequencer to //UE4/Main (Source: //UE4/Dev-Sequencer @ 2945541) ========================== MAJOR FEATURES + CHANGES ========================== Change 2837601 on 2016/01/20 by Thomas.Sarkanen Sequencer: Exposed bool, byte, event, fade, float, slomo, and visibility section keys in context menu Change 2840895 on 2016/01/23 by Thomas.Sarkanen Sequencer: Moved key proxy handling from section into key area; added support for grouped keys; exposed color properties in context menu. Change 2901092 on 2016/03/09 by Thomas.Sarkanen Sequencer: Fixed ensure() and crash when exiting PIE & then playing back in editor Made sure that instances that are playing that have active montages can re-connect to a playing montage if it is already active. We dont stop/start preview/non- preview playback when switching modes right now so I've just made the system robust to the switch when playing back animation. Ensured that instances are kept up to date by hooking into EndPlayMapDelegate. This fires slightly later than OnEndPIE, so it allows us to pick up when instances have been deleted from the world. OnEndPIE is fired before the worlds are shutdown so instances can still be bound to valid (but nearly dead) actors at this point. #jira UE-27898 #jira UE-27899 Change 2901159 on 2016/03/09 by Chris.Bunner Allow EXR frames from SaveHighResScreenshot to be uncompressed (r.SaveUncompressedEXRFrames). Change 2903123 on 2016/03/10 by Max.Chen Sequencer: Add snapping for the in/out range. Change 2903126 on 2016/03/10 by Max.Chen Sequencer: Fix split and trim for cinematic shot sections so that the start offset value is set. Change 2903132 on 2016/03/10 by Max.Chen Sequencer: Create camera here and set it as the current camera cut. Change 2903138 on 2016/03/10 by Max.Chen Sequencer: Improve mechanism for adding objects to Sequencer. Hold down shift while dragging from content browser to add as a spawnable. Hold down ctrl while dragging from content browser to add as a possessable. Change 2903143 on 2016/03/10 by Max.Chen Sequencer: Add 4k to movie capture dialog. #jira UE-28147 Change 2903157 on 2016/03/10 by Max.Chen Sequencer: Pop out of locked camera when popping out of the sequence. #jira UE-27662 Change 2908097 on 2016/03/14 by Andrew.Rodham Sequencer: Added default viewport type onto the viewport types menu - The activation command for a given viewport type no longer toggles it if it's already active, it will just do nothing. - Switching back to the default viewport type can be achieved with SHIFT+D Change 2911869 on 2016/03/16 by Max.Preussner Editor: Caching device proxy manager, so the UI doesn't constantly poll for the TargetDeviceServices module Change 2917943 on 2016/03/22 by Thomas.Sarkanen Sequence Recording: Added "Record New Sequence From Current Player" to sub-sequence track menu This option is only available in PIE. When selected it primes a new seciton for recording against the pawn that is currently being controlled by the player. Change 2917946 on 2016/03/22 by Max.Chen Sequencer: Automatically add and attach a cine camera when dropping a crane or rail. Change 2917954 on 2016/03/22 by Thomas.Sarkanen Fix anim dynamics going crazy on time skips Added new API to FAnimNode_Base: NeedsDynamicReset and ResetDynamics. This allows nodes that subscribe to this interface to be reset on teleport/time skips. Call through to ResetDynamics on zero timestep (ie. skips) in the preview path in Sequencer. Change 2917961 on 2016/03/22 by Frank.Fella Sequencer - Sequencer - Update the color track code to match the behavior in matinee, also remove empty light color tracks from the sequence, and add a missing particle parameter track. Change 2917984 on 2016/03/22 by Max.Chen Sequencer: Fix crash on deleting object binding nodes multiple times. Change 2917986 on 2016/03/22 by Max.Chen Sequencer: Fix if adding multiple camera cuts at the same time with the same duration as an existing camera cut. The camera is replaced in this case. Change 2917994 on 2016/03/22 by Jeff.Farris Support for scene depth picker. Used for focus depth sampling in cine cams. Change 2918003 on 2016/03/22 by Max.Chen Sequencer - Fix selection issues related to keying an undo by moving the selection clear on rebuild to after the tree selection state has been cached by path. Change 2920371 on 2016/03/23 by Max.Preussner UnrealEd: Added a file import path that doesn't load the entire file into memory prior to importing UFactory::StaticImport will now call FactoryCreateFile for both text and binary files. The default implementation will load the file into a buffer/string and call FactoryCreateBinary/FactoryCreateText to preserve legacy behavior. New factories may override FactoryCreateFile to perform their own file processing instead. Change 2923359 on 2016/03/25 by Max.Preussner UnrealEd: Refactored out StaticImportObject code into ImportObject Change 2924887 on 2016/03/28 by Jeff.Farris Sequencer: Camera Anim and Camera Shake tracks now support PostProcess changes in the CameraAnim Change 2927283 on 2016/03/30 by Max.Chen Sequencer: Fix crash resetting default in audio track in sequencer. Fix audio track rename when adding another audio. #jira UE-28836, UE-28859 Change 2928290 on 2016/03/30 by Max.Preussner ContentBrowser: Disabling 'Show in Explorer' context menu option for newly created/unsaved asset(s) Change 2928480 on 2016/03/30 by Max.Preussner AssetTools: Added built-in type category for Media assets Change 2928498 on 2016/03/30 by Max.Preussner AssetTools: Sorting asset type categories alphabetically Change 2932326 on 2016/04/04 by Frank.Fella Sequencer - Add "paste from matinee" support for audio tracks, and add volume support to audio sections in sequencer. Change 2933917 on 2016/04/05 by Max.Preussner Core: Added microseconds support to FTimespan Change 2933920 on 2016/04/05 by Max.Preussner Sockets: Simplified socket timeout assignments Change 2935434 on 2016/04/06 by Max.Chen Sequencer: Deselect possessable before converting it to a spawnable and deleting it. Also, make sure the newly converted spawnables are selected. This fixes a bug where the transform gizmo remains after adding a spawnable. Also, consolidate code for adding possessables to sequencer so that the newly added possessable node will be selected in the widget tree. #jira UE-28215 Change 2935590 on 2016/04/06 by Jeff.Farris Made crane rig preview mesh at the tip move as expected and appear in a reasonable place. Change 2936082 on 2016/04/07 by Max.Chen Sequencer: Attach should use default attach component of the actor if it exists. This fixes a bug where trying to attach to a camera crane rig attaches to the proper component. Change 2936118 on 2016/04/07 by Max.Chen Sequencer: Adding crane/rail with shift now adds the crane/rig as a spawnable and the attached cine camera as a spawnable. An attach track is created for the cine camera spawnable. #jira UE-28308 Change 2937226 on 2016/04/07 by Max.Chen Sequencer: Add invalidation when levels are added or removed.This fixes a bug were if you have a level sequence open and then add a sublevel that the level sequence operates on, it correctly updates the actors from the new sub level. #jira UE-27595 Change 2937263 on 2016/04/07 by Frank.Fella Sequencer - Changed the matinee to sequencer conversion tools so that curve keys set to "clamped auto" import as user tangents since we don't support clamped auto in sequencer. Change 2937273 on 2016/04/07 by Max.Chen Sequencer: No longer experimental/betal and now enabled by default. #jira UETOOl-625 Change 2937694 on 2016/04/08 by Max.Chen Curve Editor: Separate out input and output snapping. #jira UE-27209 Change 2937852 on 2016/04/08 by Andrew.Rodham Sequencer: Spawnables no longer use generated classes - Spawnables now store a template actor instance, rather than a generated class - All relevant code has been converted to use this new approach - Spawnable defaults are now harvested directly from any spawned instances when the movie scene is saved, or when the object is de-spawned. We only do this for spawnables *in the currently active sequence instance*. This approach ensures that instance components and other properties persist. - Currently we don't mark the package as dirty when the defaults are changed. This needs to be addressed. - Some fixes have been made to AActor and Actor Iterators to ensure that actors not contained within a level do not crash. - Spawning optimisations to follow Change 2937956 on 2016/04/08 by Max.Preussner Sequencer: Added selection range commands to general toolbar menu Change 2937981 on 2016/04/08 by Max.Preussner Sequencer: Refactored GetKeyHandles to take a time range for filtering keys Change 2938007 on 2016/04/08 by Max.Preussner Sequencer: Implemented selection range key selection Change 2938184 on 2016/04/08 by Max.Chen Sequencer: Find in Content Browser is now in the top level menubar. #jira UE-21598 Change 2938665 on 2016/04/08 by Frank.Fella UMG - Add support for material animation. Change 2939048 on 2016/04/10 by Max.Chen CineCamera: Change current position on rail to normalize position. Change 2939067 on 2016/04/10 by Max.Chen Sequencer: Add paste color from matinee Change 2939587 on 2016/04/11 by Andrew.Rodham Sequencer: Fixes to spawnable rework - Removed commented out code. - Fixed particle system components not disabling auto activate. - Instance Components are now correctly registered on spawn. - Removed ability to set the editable flag on actors in favor of a delegate assigned to SActorDetails to disable property editing on actors spawned from outside of the currently focused sequence. Change 2939666 on 2016/04/11 by Andrew.Rodham Sequencer: Fixed active sequence ID not being set on creation Change 2940663 on 2016/04/12 by Andrew.Rodham Sequencer: Spawnable object templates now always have the RF_ArchetypeObject flag #jira UE-29337, UE-29339 Change 2940742 on 2016/04/12 by Thomas.Sarkanen Improvements to sequence recording API Sequence recording is now more extensible. Moved the majority of recorders into a seperate module. Cleaned up recorder API, removed bRecord that was only really used once. Added factory class as a modular feature that allows users to register and implement their own recorders. Recorders can supply their own settings classes. These are incorporated into the UI via a details customization so they appear to be seamlessly integrated. Exposed components to record as an advanced setting. Users can use this to gate the components and actors that are recorded. #jira UE-28850 - Update sequence recording API for better extensibility Change 2940828 on 2016/04/12 by Max.Chen Level Editor: Clear the camera preview if the level viewport is locked to the same camera. #jira UE-27489 Change 2941090 on 2016/04/12 by Frank.Fella Sequencer - Fix inconsistencies with the level visibility track. + Add an option to update a track instance when it stops playing due to it's parent movie scene being deactivated as a sub-scene. + Reset level visibility state when the section ends, or when it's parent subsection ends. Change 2941427 on 2016/04/12 by Andrew.Rodham Sequencer: Fixes for recorded dynamic components - Dynamic components are now named uniquely within their owner actor, and are no longer re-bound to new object tracks when detached/re-attached - New dynamic components are created every time a new component is detected on an actor, regardless of whether it was once attached before. This affords recording externally managed components from a component pool. - Section recorders for components that are no longer attached to the actor are now disabled correctly. Change 2941760 on 2016/04/12 by Max.Preussner Editor: Setting up correct material expresions when creating material from normal map texture Change 2941819 on 2016/04/13 by Max.Chen Sequencer: Fire named events in all sublevels. #jira UE-28843 Change 2942052 on 2016/04/13 by Andrew.Rodham Sequencer: Fixed not being able to add dynamic material parameter tracks to spawnables when the object is not spawned #jira UE-24287 Change 2942223 on 2016/04/13 by Max.Preussner Editor: Using built-in function to assign sampler format Change 2942833 on 2016/04/13 by Max.Chen Sequencer: More copy matinee helpers. - Make some sections infinite. - Fix FindPossessableObjectId - Expose FindGroupByName Change 2942944 on 2016/04/13 by Max.Chen Sequencer: Fix anim copy so that it doesn't create an animation clip longer than the next clip's start position. Change 2943313 on 2016/04/14 by Max.Chen Sequencer: Initial matinee to level sequence asset converter. Right click on a matinee actor in the level and choose "Convert to Level Sequence" Current supports: - movement tracks - generic property tracks - particle tracks - anim control tracks - event tracks - audio tracks - visibility track - director track (fade, slomo, camera cuts) Possible todos: - Relative scale3D - Option to create spawnables instead of possessables - Create shots per director track camera cut instead of a direct translation to the camera cut track #jira UETOOL-467 Change 2943596 on 2016/04/14 by Andrew.Rodham Editor: Fixed placement mode scrollbar visibility not working for custom content #jira UE-27191 Change 2943651 on 2016/04/14 by Max.Chen Sequencer: Invalidate the audio waveform when the source changes. #jira UE-29394 Change 2943674 on 2016/04/14 by Max.Chen Sequencer: Store/restore playback state when rebuilding. #jira UE-29452 Change 2943993 on 2016/04/14 by Max.Chen Sequencer: Convert slot name from matinee to level sequence. Change 2944156 on 2016/04/14 by Frank.Fella Sequencer - Fix undo when moving items into folders, and when deleting folder. #jira UE-27368 Change 2944227 on 2016/04/14 by Max.Chen Sequencer: Show curves in the curve editor if one of the parent nodes is selected. For example, if Location is selected, show Location.X, Location.Y, and Location.Z Change 2945057 on 2016/04/15 by Andrew.Rodham Editor: Fixed placement mode scrollbar visibility not working for custom content #jira UE-27191 #lockdown nick.penwarden [CL 2945551 by Max Chen in Main branch]
2016-04-15 14:50:58 -04:00
TimeSliderArgs.OnSelectionRangeEndDrag.ExecuteIfBound();
Copying //UE4/Dev-Sequencer to //UE4/Main ========================== MAJOR FEATURES + CHANGES ========================== Change 2875025 on 2016/02/20 by Andrew.Rodham Sequencer: Cinematic viewport improvements - Added optional letterbox overlay (defaults to 2.35:1) - Added ability to change safe frame colors - Added selected tracks' keys to the transport range - Added buttons for jumping between selected tracks' keyframes on the transport controls - Removed black padding around the viewport where possible - Added ability to specify whether a combo button/menu anchor should close when its parent receives focus - Separated logic of FGroupedKeyArea into FSequencerKeyCollection, so it can be used independently - Added playback range to the viewport frame numbers - All frame numbers are now spin boxes #jira UE-26429 Change 2875026 on 2016/02/20 by Thomas.Sarkanen Added console commands for recording sequences Changed plugin to a developer plugin so we can load it when the editor is in -game mode. Added Exec commands. Added some more logging to help diagnose problems when using commands. Added loading/saving of config for recorder settings (stored in Editor.ini). Also disabled controls in recorder window when recording. Added auto-saving of assets when in non-editor modes. Moved animation settings from UnrealEd to Engine module. Change 2875036 on 2016/02/20 by Max.Chen Sequencer: Call RedrawAllViewports instead of RedrawLevelEditingViewports. In particular, this fixes some update issues when editing values in the key editors. #jira UE-26960 Change 2875046 on 2016/02/20 by Max.Preussner Sequencer: Fix so that clicking on UMG Animations doesn't dirty the scene. #jira UE-26249 Change 2875047 on 2016/02/20 by Max.Chen Sequencer: Add option to toggle display of channel colors/lines. View->Channel Colors Change 2877138 on 2016/02/23 by Max.Chen Sequencer: Select corresponding track node when selecting key or section. Removed active/inactive selection since it was only being used in deletion and the rules for deletion are now dependent upon what is selected - delete keys and sections before deleting outliner nodes. Change 2877143 on 2016/02/23 by Thomas.Sarkanen Added new math function: WindRelativeAnglesDegrees Given two angles in degrees, 'wind' the angle in Angle1 so that it avoids >180 degree flips. Good for winding rotations previously expressed as quaternions into a euler-angle representation. Change 2877147 on 2016/02/23 by Thomas.Sarkanen Added the ability to import sequencer transforms from the root node of an animation sequence Intended for use after re-importing animations from DCC tools. Available in the right-click menu for transform tracks. Also added FindTrackBinding to UMovieScene so track bindings can be recovered from tracks. Change 2877163 on 2016/02/23 by Max.Chen Sequencer: Add option to create keyframe sections as infinite. Sequencer defaults to true, UMG defaults to false. Change 2877165 on 2016/02/23 by Max.Preussner Sequencer: Drawing vertical position lines when dragging keys Change 2878748 on 2016/02/23 by Max.Chen Curve Editor: Switch curve type to user when flatting or straightening tangents. #jira UE-27277 Change 2878799 on 2016/02/23 by Frank.Fella Sequencer - Add folders support to the outliner. Change 2880769 on 2016/02/24 by Andrew.Rodham Sequencer: Added ability to override runtime spawnable ownership in sequencer - This is exposed as an option on spawnables "Keep Alive Outside Playback Range (In Sequencer)" - Enabling this will stop spawnables from being destroyed when scrubbing outside of the playback range #jira UE-27205 Change 2880770 on 2016/02/24 by Thomas.Sarkanen Sequencer: Added countdown and recording indicator display when recording Also fixed extra popups added post-PIE when animation recordings auto shutdown. Change 2880782 on 2016/02/24 by Max.Chen Sequencer: Snapping now also uses the current time as a possible snap time. #jira UE-26306 Change 2880793 on 2016/02/24 by Max.Chen Sequencer: Add +Animation to Animation track so that it's consistent with all other tracks that have a + button. Change 2880812 on 2016/02/24 by Max.Chen Sequencer: Fix adjusting the leading edge of a shot section so that it cuts into the shot rather than adjusts the start time. #jira UE-26306 Change 2881624 on 2016/02/25 by Andrew.Rodham Changing shader version GUID to fix corrupt shaders in ddc Change 2882408 on 2016/02/25 by Thomas.Sarkanen Asset/actors stored in TLazyObjectPtrs can now reference game content from engine This is a legitimate use case as lazy object ptrs are designed to reference assets/actors cross-domain. Change 2882409 on 2016/02/25 by Thomas.Sarkanen [CL 2899785 by Max Chen in Main branch]
2016-03-08 16:55:04 -05:00
}
Copying //UE4/Dev-Sequencer to //UE4/Main (Source: //UE4/Dev-Sequencer @ 2945541) ========================== MAJOR FEATURES + CHANGES ========================== Change 2837601 on 2016/01/20 by Thomas.Sarkanen Sequencer: Exposed bool, byte, event, fade, float, slomo, and visibility section keys in context menu Change 2840895 on 2016/01/23 by Thomas.Sarkanen Sequencer: Moved key proxy handling from section into key area; added support for grouped keys; exposed color properties in context menu. Change 2901092 on 2016/03/09 by Thomas.Sarkanen Sequencer: Fixed ensure() and crash when exiting PIE & then playing back in editor Made sure that instances that are playing that have active montages can re-connect to a playing montage if it is already active. We dont stop/start preview/non- preview playback when switching modes right now so I've just made the system robust to the switch when playing back animation. Ensured that instances are kept up to date by hooking into EndPlayMapDelegate. This fires slightly later than OnEndPIE, so it allows us to pick up when instances have been deleted from the world. OnEndPIE is fired before the worlds are shutdown so instances can still be bound to valid (but nearly dead) actors at this point. #jira UE-27898 #jira UE-27899 Change 2901159 on 2016/03/09 by Chris.Bunner Allow EXR frames from SaveHighResScreenshot to be uncompressed (r.SaveUncompressedEXRFrames). Change 2903123 on 2016/03/10 by Max.Chen Sequencer: Add snapping for the in/out range. Change 2903126 on 2016/03/10 by Max.Chen Sequencer: Fix split and trim for cinematic shot sections so that the start offset value is set. Change 2903132 on 2016/03/10 by Max.Chen Sequencer: Create camera here and set it as the current camera cut. Change 2903138 on 2016/03/10 by Max.Chen Sequencer: Improve mechanism for adding objects to Sequencer. Hold down shift while dragging from content browser to add as a spawnable. Hold down ctrl while dragging from content browser to add as a possessable. Change 2903143 on 2016/03/10 by Max.Chen Sequencer: Add 4k to movie capture dialog. #jira UE-28147 Change 2903157 on 2016/03/10 by Max.Chen Sequencer: Pop out of locked camera when popping out of the sequence. #jira UE-27662 Change 2908097 on 2016/03/14 by Andrew.Rodham Sequencer: Added default viewport type onto the viewport types menu - The activation command for a given viewport type no longer toggles it if it's already active, it will just do nothing. - Switching back to the default viewport type can be achieved with SHIFT+D Change 2911869 on 2016/03/16 by Max.Preussner Editor: Caching device proxy manager, so the UI doesn't constantly poll for the TargetDeviceServices module Change 2917943 on 2016/03/22 by Thomas.Sarkanen Sequence Recording: Added "Record New Sequence From Current Player" to sub-sequence track menu This option is only available in PIE. When selected it primes a new seciton for recording against the pawn that is currently being controlled by the player. Change 2917946 on 2016/03/22 by Max.Chen Sequencer: Automatically add and attach a cine camera when dropping a crane or rail. Change 2917954 on 2016/03/22 by Thomas.Sarkanen Fix anim dynamics going crazy on time skips Added new API to FAnimNode_Base: NeedsDynamicReset and ResetDynamics. This allows nodes that subscribe to this interface to be reset on teleport/time skips. Call through to ResetDynamics on zero timestep (ie. skips) in the preview path in Sequencer. Change 2917961 on 2016/03/22 by Frank.Fella Sequencer - Sequencer - Update the color track code to match the behavior in matinee, also remove empty light color tracks from the sequence, and add a missing particle parameter track. Change 2917984 on 2016/03/22 by Max.Chen Sequencer: Fix crash on deleting object binding nodes multiple times. Change 2917986 on 2016/03/22 by Max.Chen Sequencer: Fix if adding multiple camera cuts at the same time with the same duration as an existing camera cut. The camera is replaced in this case. Change 2917994 on 2016/03/22 by Jeff.Farris Support for scene depth picker. Used for focus depth sampling in cine cams. Change 2918003 on 2016/03/22 by Max.Chen Sequencer - Fix selection issues related to keying an undo by moving the selection clear on rebuild to after the tree selection state has been cached by path. Change 2920371 on 2016/03/23 by Max.Preussner UnrealEd: Added a file import path that doesn't load the entire file into memory prior to importing UFactory::StaticImport will now call FactoryCreateFile for both text and binary files. The default implementation will load the file into a buffer/string and call FactoryCreateBinary/FactoryCreateText to preserve legacy behavior. New factories may override FactoryCreateFile to perform their own file processing instead. Change 2923359 on 2016/03/25 by Max.Preussner UnrealEd: Refactored out StaticImportObject code into ImportObject Change 2924887 on 2016/03/28 by Jeff.Farris Sequencer: Camera Anim and Camera Shake tracks now support PostProcess changes in the CameraAnim Change 2927283 on 2016/03/30 by Max.Chen Sequencer: Fix crash resetting default in audio track in sequencer. Fix audio track rename when adding another audio. #jira UE-28836, UE-28859 Change 2928290 on 2016/03/30 by Max.Preussner ContentBrowser: Disabling 'Show in Explorer' context menu option for newly created/unsaved asset(s) Change 2928480 on 2016/03/30 by Max.Preussner AssetTools: Added built-in type category for Media assets Change 2928498 on 2016/03/30 by Max.Preussner AssetTools: Sorting asset type categories alphabetically Change 2932326 on 2016/04/04 by Frank.Fella Sequencer - Add "paste from matinee" support for audio tracks, and add volume support to audio sections in sequencer. Change 2933917 on 2016/04/05 by Max.Preussner Core: Added microseconds support to FTimespan Change 2933920 on 2016/04/05 by Max.Preussner Sockets: Simplified socket timeout assignments Change 2935434 on 2016/04/06 by Max.Chen Sequencer: Deselect possessable before converting it to a spawnable and deleting it. Also, make sure the newly converted spawnables are selected. This fixes a bug where the transform gizmo remains after adding a spawnable. Also, consolidate code for adding possessables to sequencer so that the newly added possessable node will be selected in the widget tree. #jira UE-28215 Change 2935590 on 2016/04/06 by Jeff.Farris Made crane rig preview mesh at the tip move as expected and appear in a reasonable place. Change 2936082 on 2016/04/07 by Max.Chen Sequencer: Attach should use default attach component of the actor if it exists. This fixes a bug where trying to attach to a camera crane rig attaches to the proper component. Change 2936118 on 2016/04/07 by Max.Chen Sequencer: Adding crane/rail with shift now adds the crane/rig as a spawnable and the attached cine camera as a spawnable. An attach track is created for the cine camera spawnable. #jira UE-28308 Change 2937226 on 2016/04/07 by Max.Chen Sequencer: Add invalidation when levels are added or removed.This fixes a bug were if you have a level sequence open and then add a sublevel that the level sequence operates on, it correctly updates the actors from the new sub level. #jira UE-27595 Change 2937263 on 2016/04/07 by Frank.Fella Sequencer - Changed the matinee to sequencer conversion tools so that curve keys set to "clamped auto" import as user tangents since we don't support clamped auto in sequencer. Change 2937273 on 2016/04/07 by Max.Chen Sequencer: No longer experimental/betal and now enabled by default. #jira UETOOl-625 Change 2937694 on 2016/04/08 by Max.Chen Curve Editor: Separate out input and output snapping. #jira UE-27209 Change 2937852 on 2016/04/08 by Andrew.Rodham Sequencer: Spawnables no longer use generated classes - Spawnables now store a template actor instance, rather than a generated class - All relevant code has been converted to use this new approach - Spawnable defaults are now harvested directly from any spawned instances when the movie scene is saved, or when the object is de-spawned. We only do this for spawnables *in the currently active sequence instance*. This approach ensures that instance components and other properties persist. - Currently we don't mark the package as dirty when the defaults are changed. This needs to be addressed. - Some fixes have been made to AActor and Actor Iterators to ensure that actors not contained within a level do not crash. - Spawning optimisations to follow Change 2937956 on 2016/04/08 by Max.Preussner Sequencer: Added selection range commands to general toolbar menu Change 2937981 on 2016/04/08 by Max.Preussner Sequencer: Refactored GetKeyHandles to take a time range for filtering keys Change 2938007 on 2016/04/08 by Max.Preussner Sequencer: Implemented selection range key selection Change 2938184 on 2016/04/08 by Max.Chen Sequencer: Find in Content Browser is now in the top level menubar. #jira UE-21598 Change 2938665 on 2016/04/08 by Frank.Fella UMG - Add support for material animation. Change 2939048 on 2016/04/10 by Max.Chen CineCamera: Change current position on rail to normalize position. Change 2939067 on 2016/04/10 by Max.Chen Sequencer: Add paste color from matinee Change 2939587 on 2016/04/11 by Andrew.Rodham Sequencer: Fixes to spawnable rework - Removed commented out code. - Fixed particle system components not disabling auto activate. - Instance Components are now correctly registered on spawn. - Removed ability to set the editable flag on actors in favor of a delegate assigned to SActorDetails to disable property editing on actors spawned from outside of the currently focused sequence. Change 2939666 on 2016/04/11 by Andrew.Rodham Sequencer: Fixed active sequence ID not being set on creation Change 2940663 on 2016/04/12 by Andrew.Rodham Sequencer: Spawnable object templates now always have the RF_ArchetypeObject flag #jira UE-29337, UE-29339 Change 2940742 on 2016/04/12 by Thomas.Sarkanen Improvements to sequence recording API Sequence recording is now more extensible. Moved the majority of recorders into a seperate module. Cleaned up recorder API, removed bRecord that was only really used once. Added factory class as a modular feature that allows users to register and implement their own recorders. Recorders can supply their own settings classes. These are incorporated into the UI via a details customization so they appear to be seamlessly integrated. Exposed components to record as an advanced setting. Users can use this to gate the components and actors that are recorded. #jira UE-28850 - Update sequence recording API for better extensibility Change 2940828 on 2016/04/12 by Max.Chen Level Editor: Clear the camera preview if the level viewport is locked to the same camera. #jira UE-27489 Change 2941090 on 2016/04/12 by Frank.Fella Sequencer - Fix inconsistencies with the level visibility track. + Add an option to update a track instance when it stops playing due to it's parent movie scene being deactivated as a sub-scene. + Reset level visibility state when the section ends, or when it's parent subsection ends. Change 2941427 on 2016/04/12 by Andrew.Rodham Sequencer: Fixes for recorded dynamic components - Dynamic components are now named uniquely within their owner actor, and are no longer re-bound to new object tracks when detached/re-attached - New dynamic components are created every time a new component is detected on an actor, regardless of whether it was once attached before. This affords recording externally managed components from a component pool. - Section recorders for components that are no longer attached to the actor are now disabled correctly. Change 2941760 on 2016/04/12 by Max.Preussner Editor: Setting up correct material expresions when creating material from normal map texture Change 2941819 on 2016/04/13 by Max.Chen Sequencer: Fire named events in all sublevels. #jira UE-28843 Change 2942052 on 2016/04/13 by Andrew.Rodham Sequencer: Fixed not being able to add dynamic material parameter tracks to spawnables when the object is not spawned #jira UE-24287 Change 2942223 on 2016/04/13 by Max.Preussner Editor: Using built-in function to assign sampler format Change 2942833 on 2016/04/13 by Max.Chen Sequencer: More copy matinee helpers. - Make some sections infinite. - Fix FindPossessableObjectId - Expose FindGroupByName Change 2942944 on 2016/04/13 by Max.Chen Sequencer: Fix anim copy so that it doesn't create an animation clip longer than the next clip's start position. Change 2943313 on 2016/04/14 by Max.Chen Sequencer: Initial matinee to level sequence asset converter. Right click on a matinee actor in the level and choose "Convert to Level Sequence" Current supports: - movement tracks - generic property tracks - particle tracks - anim control tracks - event tracks - audio tracks - visibility track - director track (fade, slomo, camera cuts) Possible todos: - Relative scale3D - Option to create spawnables instead of possessables - Create shots per director track camera cut instead of a direct translation to the camera cut track #jira UETOOL-467 Change 2943596 on 2016/04/14 by Andrew.Rodham Editor: Fixed placement mode scrollbar visibility not working for custom content #jira UE-27191 Change 2943651 on 2016/04/14 by Max.Chen Sequencer: Invalidate the audio waveform when the source changes. #jira UE-29394 Change 2943674 on 2016/04/14 by Max.Chen Sequencer: Store/restore playback state when rebuilding. #jira UE-29452 Change 2943993 on 2016/04/14 by Max.Chen Sequencer: Convert slot name from matinee to level sequence. Change 2944156 on 2016/04/14 by Frank.Fella Sequencer - Fix undo when moving items into folders, and when deleting folder. #jira UE-27368 Change 2944227 on 2016/04/14 by Max.Chen Sequencer: Show curves in the curve editor if one of the parent nodes is selected. For example, if Location is selected, show Location.X, Location.Y, and Location.Z Change 2945057 on 2016/04/15 by Andrew.Rodham Editor: Fixed placement mode scrollbar visibility not working for custom content #jira UE-27191 #lockdown nick.penwarden [CL 2945551 by Max Chen in Main branch]
2016-04-15 14:50:58 -04:00
else if (MouseDragType == DRAG_SELECTION_END)
Copying //UE4/Dev-Sequencer to //UE4/Main ========================== MAJOR FEATURES + CHANGES ========================== Change 2875025 on 2016/02/20 by Andrew.Rodham Sequencer: Cinematic viewport improvements - Added optional letterbox overlay (defaults to 2.35:1) - Added ability to change safe frame colors - Added selected tracks' keys to the transport range - Added buttons for jumping between selected tracks' keyframes on the transport controls - Removed black padding around the viewport where possible - Added ability to specify whether a combo button/menu anchor should close when its parent receives focus - Separated logic of FGroupedKeyArea into FSequencerKeyCollection, so it can be used independently - Added playback range to the viewport frame numbers - All frame numbers are now spin boxes #jira UE-26429 Change 2875026 on 2016/02/20 by Thomas.Sarkanen Added console commands for recording sequences Changed plugin to a developer plugin so we can load it when the editor is in -game mode. Added Exec commands. Added some more logging to help diagnose problems when using commands. Added loading/saving of config for recorder settings (stored in Editor.ini). Also disabled controls in recorder window when recording. Added auto-saving of assets when in non-editor modes. Moved animation settings from UnrealEd to Engine module. Change 2875036 on 2016/02/20 by Max.Chen Sequencer: Call RedrawAllViewports instead of RedrawLevelEditingViewports. In particular, this fixes some update issues when editing values in the key editors. #jira UE-26960 Change 2875046 on 2016/02/20 by Max.Preussner Sequencer: Fix so that clicking on UMG Animations doesn't dirty the scene. #jira UE-26249 Change 2875047 on 2016/02/20 by Max.Chen Sequencer: Add option to toggle display of channel colors/lines. View->Channel Colors Change 2877138 on 2016/02/23 by Max.Chen Sequencer: Select corresponding track node when selecting key or section. Removed active/inactive selection since it was only being used in deletion and the rules for deletion are now dependent upon what is selected - delete keys and sections before deleting outliner nodes. Change 2877143 on 2016/02/23 by Thomas.Sarkanen Added new math function: WindRelativeAnglesDegrees Given two angles in degrees, 'wind' the angle in Angle1 so that it avoids >180 degree flips. Good for winding rotations previously expressed as quaternions into a euler-angle representation. Change 2877147 on 2016/02/23 by Thomas.Sarkanen Added the ability to import sequencer transforms from the root node of an animation sequence Intended for use after re-importing animations from DCC tools. Available in the right-click menu for transform tracks. Also added FindTrackBinding to UMovieScene so track bindings can be recovered from tracks. Change 2877163 on 2016/02/23 by Max.Chen Sequencer: Add option to create keyframe sections as infinite. Sequencer defaults to true, UMG defaults to false. Change 2877165 on 2016/02/23 by Max.Preussner Sequencer: Drawing vertical position lines when dragging keys Change 2878748 on 2016/02/23 by Max.Chen Curve Editor: Switch curve type to user when flatting or straightening tangents. #jira UE-27277 Change 2878799 on 2016/02/23 by Frank.Fella Sequencer - Add folders support to the outliner. Change 2880769 on 2016/02/24 by Andrew.Rodham Sequencer: Added ability to override runtime spawnable ownership in sequencer - This is exposed as an option on spawnables "Keep Alive Outside Playback Range (In Sequencer)" - Enabling this will stop spawnables from being destroyed when scrubbing outside of the playback range #jira UE-27205 Change 2880770 on 2016/02/24 by Thomas.Sarkanen Sequencer: Added countdown and recording indicator display when recording Also fixed extra popups added post-PIE when animation recordings auto shutdown. Change 2880782 on 2016/02/24 by Max.Chen Sequencer: Snapping now also uses the current time as a possible snap time. #jira UE-26306 Change 2880793 on 2016/02/24 by Max.Chen Sequencer: Add +Animation to Animation track so that it's consistent with all other tracks that have a + button. Change 2880812 on 2016/02/24 by Max.Chen Sequencer: Fix adjusting the leading edge of a shot section so that it cuts into the shot rather than adjusts the start time. #jira UE-26306 Change 2881624 on 2016/02/25 by Andrew.Rodham Changing shader version GUID to fix corrupt shaders in ddc Change 2882408 on 2016/02/25 by Thomas.Sarkanen Asset/actors stored in TLazyObjectPtrs can now reference game content from engine This is a legitimate use case as lazy object ptrs are designed to reference assets/actors cross-domain. Change 2882409 on 2016/02/25 by Thomas.Sarkanen [CL 2899785 by Max Chen in Main branch]
2016-03-08 16:55:04 -05:00
{
Copying //UE4/Dev-Sequencer to //UE4/Main (Source: //UE4/Dev-Sequencer @ 2945541) ========================== MAJOR FEATURES + CHANGES ========================== Change 2837601 on 2016/01/20 by Thomas.Sarkanen Sequencer: Exposed bool, byte, event, fade, float, slomo, and visibility section keys in context menu Change 2840895 on 2016/01/23 by Thomas.Sarkanen Sequencer: Moved key proxy handling from section into key area; added support for grouped keys; exposed color properties in context menu. Change 2901092 on 2016/03/09 by Thomas.Sarkanen Sequencer: Fixed ensure() and crash when exiting PIE & then playing back in editor Made sure that instances that are playing that have active montages can re-connect to a playing montage if it is already active. We dont stop/start preview/non- preview playback when switching modes right now so I've just made the system robust to the switch when playing back animation. Ensured that instances are kept up to date by hooking into EndPlayMapDelegate. This fires slightly later than OnEndPIE, so it allows us to pick up when instances have been deleted from the world. OnEndPIE is fired before the worlds are shutdown so instances can still be bound to valid (but nearly dead) actors at this point. #jira UE-27898 #jira UE-27899 Change 2901159 on 2016/03/09 by Chris.Bunner Allow EXR frames from SaveHighResScreenshot to be uncompressed (r.SaveUncompressedEXRFrames). Change 2903123 on 2016/03/10 by Max.Chen Sequencer: Add snapping for the in/out range. Change 2903126 on 2016/03/10 by Max.Chen Sequencer: Fix split and trim for cinematic shot sections so that the start offset value is set. Change 2903132 on 2016/03/10 by Max.Chen Sequencer: Create camera here and set it as the current camera cut. Change 2903138 on 2016/03/10 by Max.Chen Sequencer: Improve mechanism for adding objects to Sequencer. Hold down shift while dragging from content browser to add as a spawnable. Hold down ctrl while dragging from content browser to add as a possessable. Change 2903143 on 2016/03/10 by Max.Chen Sequencer: Add 4k to movie capture dialog. #jira UE-28147 Change 2903157 on 2016/03/10 by Max.Chen Sequencer: Pop out of locked camera when popping out of the sequence. #jira UE-27662 Change 2908097 on 2016/03/14 by Andrew.Rodham Sequencer: Added default viewport type onto the viewport types menu - The activation command for a given viewport type no longer toggles it if it's already active, it will just do nothing. - Switching back to the default viewport type can be achieved with SHIFT+D Change 2911869 on 2016/03/16 by Max.Preussner Editor: Caching device proxy manager, so the UI doesn't constantly poll for the TargetDeviceServices module Change 2917943 on 2016/03/22 by Thomas.Sarkanen Sequence Recording: Added "Record New Sequence From Current Player" to sub-sequence track menu This option is only available in PIE. When selected it primes a new seciton for recording against the pawn that is currently being controlled by the player. Change 2917946 on 2016/03/22 by Max.Chen Sequencer: Automatically add and attach a cine camera when dropping a crane or rail. Change 2917954 on 2016/03/22 by Thomas.Sarkanen Fix anim dynamics going crazy on time skips Added new API to FAnimNode_Base: NeedsDynamicReset and ResetDynamics. This allows nodes that subscribe to this interface to be reset on teleport/time skips. Call through to ResetDynamics on zero timestep (ie. skips) in the preview path in Sequencer. Change 2917961 on 2016/03/22 by Frank.Fella Sequencer - Sequencer - Update the color track code to match the behavior in matinee, also remove empty light color tracks from the sequence, and add a missing particle parameter track. Change 2917984 on 2016/03/22 by Max.Chen Sequencer: Fix crash on deleting object binding nodes multiple times. Change 2917986 on 2016/03/22 by Max.Chen Sequencer: Fix if adding multiple camera cuts at the same time with the same duration as an existing camera cut. The camera is replaced in this case. Change 2917994 on 2016/03/22 by Jeff.Farris Support for scene depth picker. Used for focus depth sampling in cine cams. Change 2918003 on 2016/03/22 by Max.Chen Sequencer - Fix selection issues related to keying an undo by moving the selection clear on rebuild to after the tree selection state has been cached by path. Change 2920371 on 2016/03/23 by Max.Preussner UnrealEd: Added a file import path that doesn't load the entire file into memory prior to importing UFactory::StaticImport will now call FactoryCreateFile for both text and binary files. The default implementation will load the file into a buffer/string and call FactoryCreateBinary/FactoryCreateText to preserve legacy behavior. New factories may override FactoryCreateFile to perform their own file processing instead. Change 2923359 on 2016/03/25 by Max.Preussner UnrealEd: Refactored out StaticImportObject code into ImportObject Change 2924887 on 2016/03/28 by Jeff.Farris Sequencer: Camera Anim and Camera Shake tracks now support PostProcess changes in the CameraAnim Change 2927283 on 2016/03/30 by Max.Chen Sequencer: Fix crash resetting default in audio track in sequencer. Fix audio track rename when adding another audio. #jira UE-28836, UE-28859 Change 2928290 on 2016/03/30 by Max.Preussner ContentBrowser: Disabling 'Show in Explorer' context menu option for newly created/unsaved asset(s) Change 2928480 on 2016/03/30 by Max.Preussner AssetTools: Added built-in type category for Media assets Change 2928498 on 2016/03/30 by Max.Preussner AssetTools: Sorting asset type categories alphabetically Change 2932326 on 2016/04/04 by Frank.Fella Sequencer - Add "paste from matinee" support for audio tracks, and add volume support to audio sections in sequencer. Change 2933917 on 2016/04/05 by Max.Preussner Core: Added microseconds support to FTimespan Change 2933920 on 2016/04/05 by Max.Preussner Sockets: Simplified socket timeout assignments Change 2935434 on 2016/04/06 by Max.Chen Sequencer: Deselect possessable before converting it to a spawnable and deleting it. Also, make sure the newly converted spawnables are selected. This fixes a bug where the transform gizmo remains after adding a spawnable. Also, consolidate code for adding possessables to sequencer so that the newly added possessable node will be selected in the widget tree. #jira UE-28215 Change 2935590 on 2016/04/06 by Jeff.Farris Made crane rig preview mesh at the tip move as expected and appear in a reasonable place. Change 2936082 on 2016/04/07 by Max.Chen Sequencer: Attach should use default attach component of the actor if it exists. This fixes a bug where trying to attach to a camera crane rig attaches to the proper component. Change 2936118 on 2016/04/07 by Max.Chen Sequencer: Adding crane/rail with shift now adds the crane/rig as a spawnable and the attached cine camera as a spawnable. An attach track is created for the cine camera spawnable. #jira UE-28308 Change 2937226 on 2016/04/07 by Max.Chen Sequencer: Add invalidation when levels are added or removed.This fixes a bug were if you have a level sequence open and then add a sublevel that the level sequence operates on, it correctly updates the actors from the new sub level. #jira UE-27595 Change 2937263 on 2016/04/07 by Frank.Fella Sequencer - Changed the matinee to sequencer conversion tools so that curve keys set to "clamped auto" import as user tangents since we don't support clamped auto in sequencer. Change 2937273 on 2016/04/07 by Max.Chen Sequencer: No longer experimental/betal and now enabled by default. #jira UETOOl-625 Change 2937694 on 2016/04/08 by Max.Chen Curve Editor: Separate out input and output snapping. #jira UE-27209 Change 2937852 on 2016/04/08 by Andrew.Rodham Sequencer: Spawnables no longer use generated classes - Spawnables now store a template actor instance, rather than a generated class - All relevant code has been converted to use this new approach - Spawnable defaults are now harvested directly from any spawned instances when the movie scene is saved, or when the object is de-spawned. We only do this for spawnables *in the currently active sequence instance*. This approach ensures that instance components and other properties persist. - Currently we don't mark the package as dirty when the defaults are changed. This needs to be addressed. - Some fixes have been made to AActor and Actor Iterators to ensure that actors not contained within a level do not crash. - Spawning optimisations to follow Change 2937956 on 2016/04/08 by Max.Preussner Sequencer: Added selection range commands to general toolbar menu Change 2937981 on 2016/04/08 by Max.Preussner Sequencer: Refactored GetKeyHandles to take a time range for filtering keys Change 2938007 on 2016/04/08 by Max.Preussner Sequencer: Implemented selection range key selection Change 2938184 on 2016/04/08 by Max.Chen Sequencer: Find in Content Browser is now in the top level menubar. #jira UE-21598 Change 2938665 on 2016/04/08 by Frank.Fella UMG - Add support for material animation. Change 2939048 on 2016/04/10 by Max.Chen CineCamera: Change current position on rail to normalize position. Change 2939067 on 2016/04/10 by Max.Chen Sequencer: Add paste color from matinee Change 2939587 on 2016/04/11 by Andrew.Rodham Sequencer: Fixes to spawnable rework - Removed commented out code. - Fixed particle system components not disabling auto activate. - Instance Components are now correctly registered on spawn. - Removed ability to set the editable flag on actors in favor of a delegate assigned to SActorDetails to disable property editing on actors spawned from outside of the currently focused sequence. Change 2939666 on 2016/04/11 by Andrew.Rodham Sequencer: Fixed active sequence ID not being set on creation Change 2940663 on 2016/04/12 by Andrew.Rodham Sequencer: Spawnable object templates now always have the RF_ArchetypeObject flag #jira UE-29337, UE-29339 Change 2940742 on 2016/04/12 by Thomas.Sarkanen Improvements to sequence recording API Sequence recording is now more extensible. Moved the majority of recorders into a seperate module. Cleaned up recorder API, removed bRecord that was only really used once. Added factory class as a modular feature that allows users to register and implement their own recorders. Recorders can supply their own settings classes. These are incorporated into the UI via a details customization so they appear to be seamlessly integrated. Exposed components to record as an advanced setting. Users can use this to gate the components and actors that are recorded. #jira UE-28850 - Update sequence recording API for better extensibility Change 2940828 on 2016/04/12 by Max.Chen Level Editor: Clear the camera preview if the level viewport is locked to the same camera. #jira UE-27489 Change 2941090 on 2016/04/12 by Frank.Fella Sequencer - Fix inconsistencies with the level visibility track. + Add an option to update a track instance when it stops playing due to it's parent movie scene being deactivated as a sub-scene. + Reset level visibility state when the section ends, or when it's parent subsection ends. Change 2941427 on 2016/04/12 by Andrew.Rodham Sequencer: Fixes for recorded dynamic components - Dynamic components are now named uniquely within their owner actor, and are no longer re-bound to new object tracks when detached/re-attached - New dynamic components are created every time a new component is detected on an actor, regardless of whether it was once attached before. This affords recording externally managed components from a component pool. - Section recorders for components that are no longer attached to the actor are now disabled correctly. Change 2941760 on 2016/04/12 by Max.Preussner Editor: Setting up correct material expresions when creating material from normal map texture Change 2941819 on 2016/04/13 by Max.Chen Sequencer: Fire named events in all sublevels. #jira UE-28843 Change 2942052 on 2016/04/13 by Andrew.Rodham Sequencer: Fixed not being able to add dynamic material parameter tracks to spawnables when the object is not spawned #jira UE-24287 Change 2942223 on 2016/04/13 by Max.Preussner Editor: Using built-in function to assign sampler format Change 2942833 on 2016/04/13 by Max.Chen Sequencer: More copy matinee helpers. - Make some sections infinite. - Fix FindPossessableObjectId - Expose FindGroupByName Change 2942944 on 2016/04/13 by Max.Chen Sequencer: Fix anim copy so that it doesn't create an animation clip longer than the next clip's start position. Change 2943313 on 2016/04/14 by Max.Chen Sequencer: Initial matinee to level sequence asset converter. Right click on a matinee actor in the level and choose "Convert to Level Sequence" Current supports: - movement tracks - generic property tracks - particle tracks - anim control tracks - event tracks - audio tracks - visibility track - director track (fade, slomo, camera cuts) Possible todos: - Relative scale3D - Option to create spawnables instead of possessables - Create shots per director track camera cut instead of a direct translation to the camera cut track #jira UETOOL-467 Change 2943596 on 2016/04/14 by Andrew.Rodham Editor: Fixed placement mode scrollbar visibility not working for custom content #jira UE-27191 Change 2943651 on 2016/04/14 by Max.Chen Sequencer: Invalidate the audio waveform when the source changes. #jira UE-29394 Change 2943674 on 2016/04/14 by Max.Chen Sequencer: Store/restore playback state when rebuilding. #jira UE-29452 Change 2943993 on 2016/04/14 by Max.Chen Sequencer: Convert slot name from matinee to level sequence. Change 2944156 on 2016/04/14 by Frank.Fella Sequencer - Fix undo when moving items into folders, and when deleting folder. #jira UE-27368 Change 2944227 on 2016/04/14 by Max.Chen Sequencer: Show curves in the curve editor if one of the parent nodes is selected. For example, if Location is selected, show Location.X, Location.Y, and Location.Z Change 2945057 on 2016/04/15 by Andrew.Rodham Editor: Fixed placement mode scrollbar visibility not working for custom content #jira UE-27191 #lockdown nick.penwarden [CL 2945551 by Max Chen in Main branch]
2016-04-15 14:50:58 -04:00
TimeSliderArgs.OnSelectionRangeEndDrag.ExecuteIfBound();
Copying //UE4/Dev-Sequencer to //UE4/Main ========================== MAJOR FEATURES + CHANGES ========================== Change 2875025 on 2016/02/20 by Andrew.Rodham Sequencer: Cinematic viewport improvements - Added optional letterbox overlay (defaults to 2.35:1) - Added ability to change safe frame colors - Added selected tracks' keys to the transport range - Added buttons for jumping between selected tracks' keyframes on the transport controls - Removed black padding around the viewport where possible - Added ability to specify whether a combo button/menu anchor should close when its parent receives focus - Separated logic of FGroupedKeyArea into FSequencerKeyCollection, so it can be used independently - Added playback range to the viewport frame numbers - All frame numbers are now spin boxes #jira UE-26429 Change 2875026 on 2016/02/20 by Thomas.Sarkanen Added console commands for recording sequences Changed plugin to a developer plugin so we can load it when the editor is in -game mode. Added Exec commands. Added some more logging to help diagnose problems when using commands. Added loading/saving of config for recorder settings (stored in Editor.ini). Also disabled controls in recorder window when recording. Added auto-saving of assets when in non-editor modes. Moved animation settings from UnrealEd to Engine module. Change 2875036 on 2016/02/20 by Max.Chen Sequencer: Call RedrawAllViewports instead of RedrawLevelEditingViewports. In particular, this fixes some update issues when editing values in the key editors. #jira UE-26960 Change 2875046 on 2016/02/20 by Max.Preussner Sequencer: Fix so that clicking on UMG Animations doesn't dirty the scene. #jira UE-26249 Change 2875047 on 2016/02/20 by Max.Chen Sequencer: Add option to toggle display of channel colors/lines. View->Channel Colors Change 2877138 on 2016/02/23 by Max.Chen Sequencer: Select corresponding track node when selecting key or section. Removed active/inactive selection since it was only being used in deletion and the rules for deletion are now dependent upon what is selected - delete keys and sections before deleting outliner nodes. Change 2877143 on 2016/02/23 by Thomas.Sarkanen Added new math function: WindRelativeAnglesDegrees Given two angles in degrees, 'wind' the angle in Angle1 so that it avoids >180 degree flips. Good for winding rotations previously expressed as quaternions into a euler-angle representation. Change 2877147 on 2016/02/23 by Thomas.Sarkanen Added the ability to import sequencer transforms from the root node of an animation sequence Intended for use after re-importing animations from DCC tools. Available in the right-click menu for transform tracks. Also added FindTrackBinding to UMovieScene so track bindings can be recovered from tracks. Change 2877163 on 2016/02/23 by Max.Chen Sequencer: Add option to create keyframe sections as infinite. Sequencer defaults to true, UMG defaults to false. Change 2877165 on 2016/02/23 by Max.Preussner Sequencer: Drawing vertical position lines when dragging keys Change 2878748 on 2016/02/23 by Max.Chen Curve Editor: Switch curve type to user when flatting or straightening tangents. #jira UE-27277 Change 2878799 on 2016/02/23 by Frank.Fella Sequencer - Add folders support to the outliner. Change 2880769 on 2016/02/24 by Andrew.Rodham Sequencer: Added ability to override runtime spawnable ownership in sequencer - This is exposed as an option on spawnables "Keep Alive Outside Playback Range (In Sequencer)" - Enabling this will stop spawnables from being destroyed when scrubbing outside of the playback range #jira UE-27205 Change 2880770 on 2016/02/24 by Thomas.Sarkanen Sequencer: Added countdown and recording indicator display when recording Also fixed extra popups added post-PIE when animation recordings auto shutdown. Change 2880782 on 2016/02/24 by Max.Chen Sequencer: Snapping now also uses the current time as a possible snap time. #jira UE-26306 Change 2880793 on 2016/02/24 by Max.Chen Sequencer: Add +Animation to Animation track so that it's consistent with all other tracks that have a + button. Change 2880812 on 2016/02/24 by Max.Chen Sequencer: Fix adjusting the leading edge of a shot section so that it cuts into the shot rather than adjusts the start time. #jira UE-26306 Change 2881624 on 2016/02/25 by Andrew.Rodham Changing shader version GUID to fix corrupt shaders in ddc Change 2882408 on 2016/02/25 by Thomas.Sarkanen Asset/actors stored in TLazyObjectPtrs can now reference game content from engine This is a legitimate use case as lazy object ptrs are designed to reference assets/actors cross-domain. Change 2882409 on 2016/02/25 by Thomas.Sarkanen [CL 2899785 by Max Chen in Main branch]
2016-03-08 16:55:04 -05:00
}
else if (MouseDragType == DRAG_MARK)
{
TimeSliderArgs.OnMarkEndDrag.ExecuteIfBound();
}
else if (MouseDragType == DRAG_SETTING_RANGE)
{
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3946692) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3801826 by Max.Chen PR #4304: Level Sequence crash fix - Guarded against dereferencing null componen. (Contributed by DSDambuster) Change 3801828 by Max.Chen PR #4302: Movie Scene Visibility Template unitialised variable, causing random . (Contributed by DSDambuster) Change 3801837 by Max.Chen Sequencer: Delay spawning/construction for convert to possessable. This fixes a bug where property values would be lost when converting back and forth from possessable to spawnable. #jira UE-52400 Change 3801841 by Max.Chen Sequencer: Make spacer nodes not selectable. PR #4194: Improvements to Sequencer (Contributed by projectgheist) #jira UE-53117 #jira UE-52139 Change 3804183 by Max.Preussner MediaAssets: Added missing lock in media sound component Change 3805414 by Max.Preussner MediaAssets: Setting valid GUID when initializing media texture resource Change 3819578 by Max.Chen PR #4370: When enabling the "MovieCapture", do not turn off the Stereo-3D display. (Contributed by yehaike) #jira UE-53647 Change 3823414 by Max.Chen Curve Editor: Lock down the first and last keys in the redundant keys removal range so that they're unaffected. #jira UE-53591 Change 3826406 by Max.Chen Sequencer: Move OnStartedPlaying() to within first update in UpdateTimeCursorPosition(). This fixes an issue where setting the hud/player visibility was getting stomped on later. #jira UE-52772 Change 3827044 by Max.Preussner MediaAssets: Added sprite visualization to media sound component #jira UE-53594 Change 3827988 by Max.Preussner MediaPlayerAssets: Fixed Media Texture is not linked to Media Player when created together #jira UE-53532 Change 3828506 by Max.Preussner MediaPlayerEditor: Added attenuation visualizer for media sound components #jira UE-53594 Change 3832590 by andrew.porter EngineTest: Added a keep state check in Property Animation sequencer test Change 3833053 by andrew.porter EngineTest: Adding Hierarchical Bias test Change 3835683 by andrew.porter EngineTest: Adding UMG Animation screenshot test Change 3836076 by Max.Chen Sequencer: Fix audio volume and pitch multiplier deprecation. Change 3836230 by andrew.porter EngineTest: Adding Sequence Bone Position automation test Change 3836347 by Max.Chen Sequencer: Fixes to shot name parsing. When a shot doesn't contain a shot number, assume, [ShotName]_[TakeNumber]. When duplicating a shot, put the new shot in the same path of the original shot, so that the take numbers will increment properly. #jira UE-51868 Change 3836552 by Max.Chen Sequencer: Sub section now has a takes menu Change 3838094 by Max.Chen UMG: Fix template finish not getting called on stop. This fixes a bug where sections aren't restored when finished. #jira UE-52285 Change 3838708 by Max.Chen Sequencer: Add notification when the blend type is changed. #jira UE-54046 Change 3840295 by Max.Chen Sequencer: Fix copy/paste crash for lights #jira UE-54084 Change 3840957 by Mike.Zyracki Added Show Only Keyable and Show Only Animated to the filter list in the property editor. Added IsPropertyAnimated to IDetailKeyframe Interface which already had support for showing properties which are keyable (which is used for the key icon next to the properties.). Could have created another interface but then would have had to mimic the sequencer binding, releasing also, so this seemed best way. One issue still left is that custom built detail items currently don't store associated properties(usually) and so certain properties, in particulalry transforms, won't show up as keyable or animated. Note this also shows up with the keyable icon not showing up next to transform tracks, and other filters like Show Only Modified not working with transforms/customs. Not sure best way to tackle this. #jira UESEQ-328 Change 3841756 by Max.Chen Sequencer: Fix unbound possessable components when pasting spawnables. #jira UE-54104 Change 3843950 by andrew.porter EngineTest: Renaming LevelStreaming tests/content to LevelVisibility Change 3844082 by Mike.Zyracki Missing file for animated filter in property editor. When finding if a track is animated we need to find it but we can't easily induce the MovieTrack class for any particular property. So we don't set a class for it and just search by it's ID and name. #jira UESEQ-328 Change 3846902 by Max.Preussner ImgMedia: Fixed image media player never finished initialization if loading failed #jira UE-54247 Change 3849820 by Mike.Zyracki Reassigning deleted widgets didn't work since the menu extender mechanism needs a valid UObject in order to perform an operation on it. So to fix we replaced GetObjectBindingContextMenuExtender in WidgetBlueprint with new delegate mechanism (OnBuildCustomContextMenuForGuid) that supports FGuid in addition to UObjects which is needed to handle re-binding deleted widgets. Note that the default sequencer hacks this for replacing deleted actors in SequencerObjectBindingNode to check to see if a LevelSequence is active. We could move to this mechanism there also. #jira UE-53163 Change 3852211 by Max.Chen UMG: Indicate name of the property that is not bound. #jira UE-54350 Change 3854120 by Max.Chen Sequencer: Fix sibling folders being allowed to have the same folder name. #jira UE-54363 Change 3854627 by Max.Chen Sequencer: Step to next/previous key should work for all tracks if there aren't any selected. #jira UESEQ-391 Change 3855825 by andrew.porter EngineTest: Adding animation blending automation test Change 3855950 by andrew.porter EngineTest: Adding correct expected valuues to animation blending test Change 3856237 by Matt.Hoffman UESEQ-336 - Sequencer Track Reordering Adds the ability to re-order Master Tracks, Folders and Object Bindings within sequencer hierarchies (including UMG). Adds the ability to do a one-off sorting of the content under the old sorting behavior if the user wants to reset their layout to how it was under legacy behavior. Modifies SequencerTrackNodes, SequencerFolderNodes and SequencerObjectBindingNodes to handle CanDrop/OnDrop for above, below and ontop of. Fixes a Slate Issue that forcibly expanded a TreeviewRow if an item handled OnDrop. Slate will now only forcibly expand the row if the item says the drop happened ontop of the item, and not above or below it like it previously did. Change 3856503 by andrew.porter EngineTest: Adding automation test for using animation blueprint with blend multi node in sequencer Change 3857875 by Max.Chen Sequencer: Assign the sequence id after the template is compiled. #jira UE-54462 Change 3858344 by Max.Chen Sequencer: Prevent Goto and Transform boxes from overlapping by allowing them to be visible at the same time in an autosized horizontal box. Also, added close button to the goto box. PR #4425: Prevent Goto and Transform boxes from overlapping in Sequencer ... (Contributed by projectgheist) #jira UE-54210 Change 3860566 by andrew.porter MediaFrameworkTest: Set the option to index 0 for the audio and video track list by default Change 3860654 by andrew.porter EngineTest: Enabling Camera Cut + FOV test Change 3860981 by andrew.porter EngineTest: Updating skeletal mesh tests with a delay after set playback position Change 3861256 by Max.Chen Sequencer: Add all bindings if none selected. #jira-54440 Change 3862154 by Andrew.Rodham Added TimeManagement module Change 3862424 by andrew.porter EngineTest: Turned on the test Bone Positions with Blend Multi Node Change 3862573 by andrew.porter EngineTest: Adding test to compare bone positions in a sequence that is blending an animation that is using an AnimBP Change 3865117 by Max.Chen Sequencer: Stop auto scroll on mouse release of movement. #jira UE-31212 Change 3865303 by Max.Chen Sequencer: Add drag and drop transactions #jira UE-54662 Change 3865304 by Max.Chen Sequencer: Fix crash when an actor factory is not found. Change 3865361 by Max.Chen Sequencer: Don't change the camera/shot lock button when popping out of a sequence. #jira UE-54665 Change 3865412 by Max.Chen Sequencer: Determine whether a transform track is for a camera by using the spawned object or template #jira UE-54666 Change 3865685 by Max.Chen Sequencer: Clear autoscrub offset when stopping autoscroll #jira UE-31212 Change 3865886 by Max.Chen Sequence Recorder: Log an error if the number of frames changes while recording. This can happen if the skeleton changes while recording. #jira UE-48715 Change 3866925 by Andrew.Porter MediaFrameworkTest: Changing the current PNG test video image sequence to 1024 x 576 Change 3867705 by andrew.porter QAGame: Adding Audio Sort Sequence to dev folder Change 3867890 by andrew.porter QAGame: Adding a sequence for testing a sorting crash to my dev folder Change 3872628 by Max.Chen Movie Scene Capture: Split delay before warmup into split delay before shot warmup so that there's separate controls for when the movie scene capture warmups up vs. shot boundaries. Change 3873131 by Matt.Hoffman UE-54732 - Crash reordering a folder with a track. This was caused by folders being the only type of track to check if someone was putting a parent track into a child track. Object Binding tracks and Tracks now check as well so that you can't use the above/below drop targets to add parents as children. This also fixed a typo in the localization keys. #jira UE-54732 Change 3873301 by Mike.Zyracki Added ability to support continous euler angle changes when changing rotations, in particularly with the rotation gizmo's. To do this we effectively added a form an of 'euler filter'(https://en.wikipedia.org/wiki/Euler_filter) to find the closest euler angle to the current euler angle. Three functions were added to FRotator to make this possible, one to get the euler angle that's has the same rotation as it, one to get the difference between two euler angles via Manhattan distance and a third using the previous two to choose a Rotator value that's closest to it. We then use these functions before calling UComponent::SetRelativeRotation to make sure we use the correct Euler after the Quat conversion. We also no longer limit(bound) the euler angles to -180,180, which is obviously necessary to avoid flips. I also changed how we caluclate yaw and roll when pitch is -90 or 90 to make it the standard approach of zeroing out roll and just setting yaw. Main reasons are the previous implementation had precision issues so things like 180, 90, -180 would show up due to numbers being nearly zero but negative,(this would break any smooth interpolations), and this facilitates having a 'gimbal' rotation mode (like Maya, Blender etc..) if we ever want that also. If needed we could keep the previous implementation but would need to add some FMath::IsNearlyZero checks, with less performance. Note we only do this special filtering when applying delta's to actors or components in the editors, which then call UComponent::SetRelativeRotationExact, which is a new function to foces the RelativeRotation to be equal to the new rotation. This allows us to store un-nomalized Rotators at the cost that the RotationCache may be broken. We didn't change any of the other UComponent functions that set rotations (via Quats or Transforms) so they will still be bounded and unwound. In SetInternalWorldLocationAndRotation we only set the rotation if the rotation has changed, which fixes the rotation getting changed and re-normalized if just translate happens. In TransformTrackEditor, we correclty use the bUndwing flag and in MovieScene3DTransformSection there was an un-needed winding check there, it will be unwound earlier if needed, which happens if Sequence Recording is happening. Max we should talk about what to do about this . Note the euler angle drag via the widget is still bound to 0-360. I think we should just unbound that now since the rotations value are now unbound. This review now includes fixes suggested by Zak. #jira UE-UE-22228 Change 3873483 by Matt.Hoffman Sequencer Tracks can now be inserted above the spacer at the bottom of the tree. #jira UE-54706 Change 3873899 by Max.Chen Sequencer: Add section selection throbbing Change 3873908 by Max.Chen Movie Scene Capture: Added logging per frame Change 3873924 by Matt.Hoffman Adds the ability to store Sequence Recorder setups into profiles that stay with the map and can be re-loaded later. Profiles store the Actor Recordings so the settings for each actor should carry with them. #jira UESEQ-339 Change 3874726 by Matt.Hoffman Disable drag-and-drop targets on spacers that come between rows in Sequencer. This prevents extra drag/drop targets showing up between each row. #jira UE-54706 Change 3874862 by Matt.Hoffman Audio Track no longer gets reordered when adding sub-audio tracks, as sub-tracks are no longer counted towards the sorting order index when normalizing indexes. #jira UE-54727 Change 3875905 by Matt.Hoffman Disable Fade Track UI if a fade track already exists in the sequence. #jira UESEQ-393 Change 3876163 by Max.Chen Sequencer: Swap the camera object to the camera component's owner if it's not the same. #jira UE-54874 Change 3876971 by Andrew.Porter EngineTest: Moved Media Player Seek test to new folder. Also enabled the test with new ground truth image. Change 3877040 by Max.Chen Cine Camera: Split camera properties to two groups, "Camera Options" and "Camera Settings". The cine camera now hides properties in the "Camera Settings" group so that properties like bConstrainAspectRatio (in the "Camera Options" group) can be visible. #jira UE-54192 Change 3877763 by Max.Chen Curve Editor: Fix curve changed on end drag so that only curves that had keys/tangents that were changed receive notification, otherwise all loaded curves were getting notified that they were changed. #jira UE-54951 Change 3878234 by Matt.Hoffman Disable "Drop Below" targets for Sequencer Tree nodes to prevent a confusing UX issue where dropping underneath a Object Binding Node puts it after the object binding node but the UI looks like it's inserting it inside the Object Binding node. #jira UE-54743 Change 3879359 by Mike.Zyracki If a track is inactive we dim it a bit which seems to be the UE4 way to show inactive or disabled state. We changed the active logic so that all subtracks need to be inactive for the track to also be inactive(instead of all active for active). This conforms to how the active state actually works, e.g if you have two sections and only one is active the track is still active above it. #jira UESEQ-388 Change 3879462 by Max.Chen Sequencer: Allow dragging onto a particular row which would move out any overlapping sections to make space for the newly created section. Newly created sections are now selected and throbbed to draw attention to themselves. #jira UE-54664 Change 3879464 by Max.Chen Sequencer: Fixed overlapping ranges being inserted into the evaluation field during compilation - The issue was that track segments that had been combined with adjacent segments (due to them being identical) would potentially cause a subsequently compiled frame to overlap with a range that had already been inserted into the evaluation field. - The insertion code previously asserted that only minor overlaps were catered for (due to fp rounding errors) and assumed that a supplied range could not entirely contain any other range in the field. - The solution is to supply the insertion time along with the range to know exactly where the data should live in the field, and crop the range to the maximum allowable space between adjacent ranges. #jira UE-54922 Change 3879590 by Matt.Hoffman Items that are now added to the Sequencer via the "+Track" menu will be selected after being added. Items can now be added inside of folders instead of just to the root level. #jira UE-27397 Change 3879612 by Mike.Zyracki Display Nodes with no children are always active. #jira UESEQ-388 Change 3879730 by Matt.Hoffman Sequence Recorder's actor recording groups now remove items from the group when removed via the UI. #jira UESEQ-339 Change 3880256 by Mike.Zyracki Fix issue with inactive display with folders and other track nodes. #jira UESEQ-388 Change 3883491 by Max.Chen Fix issue where tick is skipped due to last ticked pose isn't cleared after AnimInstance changes. Copy from Release-4.19 #jira UE-51323 Change 3883603 by Max.Chen Movie Scene Capture: Add option toggle disable screen percentage. By default this is on (no change in current behavior). #jira UE-51898 Change 3885074 by Max.Preussner MediaCompositing: Resetting media texture & freeing resource on section end; removed dead code Change 3887220 by Max.Preussner MediaCompositing: Defaulted media section duration to 1 sec (since we do not know the actual duration in most cases) Change 3887478 by Matt.Hoffman Sequences now show [Inactive] in their title bars when they're disabled. This helps communicate why a sequence isn't being evaluated. #jira UE-51469 Change 3888985 by Max.Chen Movie Scene Capture: Clamp HDR Compression Quality between 0 and 1. #jira UE-55136 Change 3893519 by Max.Chen Sequence Recorder: Clarified tooltip for bRecordNearbySpawnedActors - spawned actors will still be recorded if they match the ActorFilter. #jira UE-55238 Change 3893546 by Max.Chen Sequence Recorder: If a selected actor already has a recording, add a blank recording. #jira UE-55239 Change 3894044 by Max.Preussner MediaCompositing: Added support for seeking into a media section Change 3894310 by andrew.porter MediaFrameworkTest: Adding Img media sources for 1080 and 2160 ravent test content Change 3894426 by Max.Preussner MediaAssets: Letting media textures with AutoClear retain their clear color when player is reset Change 3895717 by Max.Chen Sequencer: Null checks to prevent crash when saving the default state of a spawnable #jira UE-55304 Change 3897388 by Max.Chen Sequencer: Don't update current time to be within the view range when stepping into a sequence. #jira UE-55322 Change 3897452 by Max.Chen Audio: Fix crash when trying to record audio without any active capture devices. Log warning if the number of input channels is not 1 or 2. #jira UE-55223 Change 3897619 by Max.Preussner MediaCompositing: Removed commented out code Change 3898072 by Max.Chen Sequencer: Override the animation asset in the player state if it doesn't match the animation asset that's being evaluated. #jira UE-55328 Change 3898272 by Max.Preussner MediaPlayerEditor: Made slate brush constants static Change 3898704 by Max.Chen Sequencer: Skip if the binding id's sequence can't be found. #jira UE-55337 Change 3899855 by Max.Preussner MediaCompositingEditor: Added cache state visualization to media track Change 3900300 by Max.Preussner MediaCompositingEditor: Added loop indicators to media sections Change 3900694 by Max.Preussner ImfMedia: Looping cache only when player is looping Change 3900892 by Max.Preussner Stats: Added stats category for media framework Change 3900954 by Max.Preussner MediaCompositing: Don't evaluate at the end of media section Change 3901348 by Max.Preussner Core: Replaced TLruCache autos for better readability Change 3901655 by Max.Preussner ImgMedia: Added more perf stats to EXR reader Change 3901972 by Max.Preussner MediaAssets: Added getter for media player in media sound components Change 3902233 by Max.Preussner MediaAssets: Enabling media textures to receive samples right after player is assigned Change 3902238 by Max.Preussner MediaCompositing: Working around init/shutdown idiosyncracies in sequencer Change 3904045 by Max.Chen Sequencer: Fix copy/paste crash. Only process UMovieSceneCopyableBinding and objects that can be spawned by the movie scene spawn register. #jira UE-55314 Change 3905605 by Max.Chen Sequencer: Restrict spawnables from being created if they have a ClassWithin that UMovieScene is not a child of. #jira UE-55429 Change 3906550 by Max.Chen Sequencer: Add media track icon #jira UE-55480 Change 3907101 by Max.Chen Sequence Recorder: Fix bugs related to not recording a level sequence. There were certain assumptions that creating a level sequence meant that sequence recording was in progress. This is not always the case - the recorders can record animation assets and not create a level sequence. Changed the notion of IsRecording() to having at least one actor recording that is recording. Countdown timer, recording displays, etc should function if IsRecording() and not based on whether a level sequence is created. #jira UE-55485 Change 3907247 by Max.Chen Sequence Recorder: Fix crash not removing PrepareToCleanseEditorObject delegate. Repros when opening sequence recorder, closing it, and then opening or creating a level. Change 3910343 by Max.Preussner Core: Added async helper for executing functions on a given thread pool Change 3910346 by Max.Preussner ImgMedia: Added separate thread pools for loading/decoding and deleting image frames Change 3910829 by Max.Preussner Profiler: Increased visible range of profiler graph Change 3910841 by Max.Preussner MediaCompositing: Displaying asset name instead of full media source path in media section Change 3910870 by Max.Preussner ImgMedia: Using deallocation thread pool only in debug builds Change 3919642 by Max.Chen Sequence Recorder: Clarify active tooltip #jira UE-55661 Change 3919660 by Max.Chen Sequencer: Sequence template source signatures are now also compared to catch the case where a sub-sequence asset has been saved but not modified - The following sequence of events exposes this issue: - Create a master sequence with a single shot that spawns a cube - Add this sequence to a level and set it to auto-play - Save everything and restart - Resave just the inner shot asset without opening it - PIE - The inner shot never spawns its cube because its template was wiped on save, but its signature never changed. Since the master sequence previously didn't check the template source signature, it ends up trying to evaluate an empty template. #jira UE-55626 #jira UE-55490 Change 3921825 by Max.Chen Sequencer: "Run Construction Script in Sequencer" is off by default for blueprints but on for Sequencer. This allows the content author to switch it on for specific blueprints and sequencer will be default, run those with construction scripts enabled. Change 3922232 by Max.Chen Sequence Recorder: Reset countdelay on stop. #jira UE-55755 Change 3922306 by Max.Chen Sequence Recorder: Don't automatically mark transforms to be recorded by sequence recorder. Instead, log a warning if the user toggled it off to warn that the resulting animation might not match gameplay. #jira UE-55758 Change 3922912 by Max.Chen Sequence Recorder: Fix refresh next sequence name #jira UE-55757 Change 3927654 by Max.Chen Movie Scene Capture: Added format mapping for the name of the current camera #jira UE-55769 PR #4537 Change 3927658 by Max.Chen Sequencer: Added fbx property mapping for "FocusDistance" to "FocusSettings.ManualFocusDistance" #jira UE-55782 Change 3932022 by Max.Chen Sequencer: Add import animation track section to next available row index. #jira UE-55892 Change 3933919 by Max.Chen Sequencer: Jump to playback start frame and not 0 to start playback for recording. #jira UE-55933 Change 3934307 by Andrew.Rodham Sequencer: Add template signature that is re-generated every time the base template is regenerated, which invalidates evaluation fields This fixes an issue where the same sequence is instantiated multiple times in a sequence. If the source sequence was saved, its template would be wiped, which would invalidate the template ID When an instance tries to evaluate the master template, it would only invalidate a range in the evaluation field that was the hull of any invalid sub sequences overlapping the current time, potentially leaving invalid data in the evaluation field at positions later (or earlier) on in the sequence When the sub template was re-generated, it receives the same SequenceSignature as it had before (because the sequence hasn't actually changed), which causes the stale evaluation field data to fail the IsDirty check (because the sequence is the same as it thought, but the *template* has changed) This has been addressed be adding a signature to templates themselves, and checking both the template signature and sequence signature as a part of the IsDirty check. This ensures that we regenerate if either the template, or the sequence have changed. #jira UE-55934 Change 3936327 by Andrew.Rodham Sequencer: Removed increment when trimming right UMovieSceneSection::TrimSection already explicity assigns an exclusive bound to the time passed in. The new behavior means we can trim a section to the right, and insert another section without changing the time to create adjacent sections. #jira UE-42652 Change 3936328 by Andrew.Rodham Fixed KeyFrameManipulator assignment operators and copy/move constructors - These types are potentially self-referential so cannot use default constructors/assignment Change 3936330 by Andrew.Rodham Converted UMGSequencePlayer to use frames internally #jira UE-54878 Change 3936726 by Max.Chen Sequencer: Set track node as the parent of the key area node. The key area switcher needs the object binding id from the parent object binding node. Without this, the binding to the external value fails. #jira UE-55931 Change 3936775 by Max.Chen Sequencer: Should stop or loop should compare DurationFrames with Current Time from StartTime. The bug is that if you set 30 warmup frames in movie rendering for a range of 0-100, the FrameRange will be starting at -30 and have a duration of 130. Without this fix, the playback will continue until frame 130, rather than 100. #jira UE-55933 Change 3936935 by Matt.Hoffman Easing Curves are now represented in Play Rate resolution instead of internal resolution. #jira UE-55937 Change 3937069 by Matt.Hoffman Users can toggle if the is infinite on each side, limited by which tracks support infinite ranges. #jira UE-55891 Change 3937516 by Max.Preussner ImgMedia: Added support for single-threaded platforms #jira UE-55986 Change 3937826 by Max.Preussner MediaAssets: Disabling media sound components on HTML5 if AudioMixer is not enabled Change 3937997 by Max.Chen Curve Editor: Add Zoom to Fit Curves so that selected curves from Sequencer can be focused on. Tested that undo doesn't re-zoom. #jira UE-55935 Change 3938000 by Max.Chen Sequencer: Stop all sounds before generating audio waveforms. #jira UE-55951 Change 3938376 by Max.Preussner XGEController: Disabled XGE Controller in single-threaded apps to prevent crash Change 3938444 by Max.Preussner Core: Added async support for single-threaded applications Change 3938445 by Max.Preussner Networking: Added support for single-threaded applications in UDP socket sender/receiver Change 3938447 by Max.Preussner Messaging: Added support for single-threaded applications Change 3939432 by Max.Chen Sequence Recorder: Append command list to global level editor actions so that shortcuts are accessible in level editor. #jira UE-55798 Change 3940229 by Andrew.Rodham Added prospective display rate upgrade to UMovieScene::PostLoad - There was previously some very odd behaviour that would assign the fixed frame interval only when a sub sequence was focused in SSequencer. This meant that many sequences could have a frame interval of 0 set in the data. - Under the old method of snap interval display this would have fallen back to getting the display interval from the sequencer settings, but we no longer look at these. - The USequencerSettings properties have been removed and in their place, a prospective data upgrade for sequences that have a fixed frame interval old 0fps that sets the play rate to the previous defaults based off the old USequencerSettings defaults. - This could end up 'changing' the display rate for sequences where the user has changed the snap interval in the settings for a particular sequence editor, but there's not much we can do about that given we don't have access to the USequencerSettings classes in UMovieScene #jira UE-55919 Change 3940277 by Andrew.Rodham Sequencer: Added ability to default frame resolutions and play rates for newly created actor sequences Change 3940378 by Andrew.Rodham Sequencer: Post move import dialog now defaults to the playback framerate of the sequence, and floors to frame numbers Change 3940559 by Andrew.Rodham Reinstated primed or recording sequence color Change 3940642 by Max.Preussner ImagePlate: Removed image plate media playback functionality Change 3940843 by Max.Preussner Core: Made TCircularQueue actually thread-safe; improved code comments Change 3940860 by Max.Chen Sequencer: Changed StructNameToKey to StructPathToKey Previously, keying a PropertyPath of [RenderTransform][Shear][X] would get trimmed to X, which doesn't map to a channel name as considered by Sequencer2dTransformTrackEditor. Instead, trim the resulting property path to [Shear][X] so that track editors can determine the desired struct path and channels to key. #jira UE-52966 Change 3941292 by Mike.Zyracki Fix for trajectories out of range not showing up. 1) If we had no key data we would pop the time, so wouldn't get the section ranges. 2) Calculating of upper bound was wrong, checking against -1 and not key == num of keys when doing algo::lower_bound. 3) No need to do the Bck-- for the bakward iterators since we fixed #2. We start now from the upper bound correctly. 4) If we had no keys (at section start,end) we would incorrectly say we were any key type, so since we draw constant keys as dashed we would do so incorrectly around section end points. #jira UE-55929 Change 3941424 by Max.Chen Curve Editor: Change Zoom to Fit to use TArrayView Change 3941498 by Max.Preussner Core: Added FMath::DivideAndRoundNearest function Change 3942097 by Matt.Hoffman Drop Frame Timecode Support for NTSC rates. Change 3942104 by Matt.Hoffman Sequence Recorder Group is no longer visible inside the World Outliner after using one. #jira 55266 Change 3942107 by Max.Chen Sequencer: Resurrect logic to find or extend an existing section when adding keys. Change 3942330 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942339 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942507 by Andrew.Rodham Sequencer: We no longer pad the time overlap threshold with a small number that is not scaled by the current zoom level - The presence of this pad was causing keys that were far apart to be grouped when zoomed in a long way Change 3942509 by Andrew.Rodham Sequencer: Only pad total view range, rather than section range as well when retrieving keys to render - This stops us from rendering keys that are within the view range, but outside the section range Change 3942512 by Andrew.Rodham Added transactions to some sequencer details customizations Change 3942513 by Andrew.Rodham Sequencer: Reinstated validation checks to UMovieSceneSection::SetStartFrame and SetEndFrame, changed erroneous uses to use SetRange Change 3942560 by Andrew.Rodham Pass by rvalue reference to appease error C2719 on Win32 ('InChannels': formal parameter with requested alignment of 8 won't be aligned) Change 3942697 by Andrew.Rodham Newly Created Level Sequences and Actor Sequences now default to 24000 fps frame resolution (+/- ~24hrs range, supporting all integer rates + 23.976) Change 3942700 by Andrew.Rodham Sequencer: Added legacy out-of-bounds errors for times that are not supported by the current legacy upgrade frame resolution Change 3942989 by Max.Preussner Core: Fixed circular queue count calculation Change 3943538 by Max.Preussner MediaAssets: Reverted workaround for procedural audio log spam in HTML5 (Actor component initialization cannot be skipped if the component is used in a level) Change 3944071 by Max.Preussner QAGame: Fixed Media Texture keeps last frame of Media when PIE ends #jira UE-53360 Change 3944292 by Max.Chen Sequencer: Added extra flags to ensure that asset initialization does not occur on template actor sequences #jira UE-56113 Change 3944364 by Max.Chen Sequencer: Prevent circular shot/master tracks. Tested adding master -> child -> master as drag and drop cinematic shot tracks and sub tracks as well as through the + button. #jira UE-56091 Change 3944422 by Max.Chen Sequence Recorder: Disable transform recording if off. #jira UE-56061 Change 3944745 by Andrew.Rodham Sequencer: Key rendering fixes - Fixed assert that occured when keys happened to reside on some times due to KeyTime + TimeOverlapThreshold - KeyTime being slightly larger TimeOverlapThreshold - Fixed keys sometimes being clipped when zoomed right in due to lack of half-frame offset - Added missing documentation to MovieSceneTimeHelpers.h #jira UE-56107 Change 3945231 by Andrew.Rodham Sequencer: Reconstruct channel proxy on Serialize to catch all cases of undo/redo, PostLoad and duplication #jira UE-56089 Change 3945301 by Andrew.Rodham Sequencer: Added safety checks during initial sequence recording to guard against applying negative or 0-sized sequence ranges #jira UE-56125 Change 3946627 by Max.Preussner Fortnite: Fixed game crashes closing editor while in PIE - Pure virtual function being called #jira UE-56144 [CL 3946896 by Max Chen in Main branch]
2018-03-14 22:09:33 -04:00
// Zooming
FFrameTime MouseDownStart = ComputeFrameTimeFromMouse(MyGeometry, MouseDownPosition[0], RangeToScreen);
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3946692) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3801826 by Max.Chen PR #4304: Level Sequence crash fix - Guarded against dereferencing null componen. (Contributed by DSDambuster) Change 3801828 by Max.Chen PR #4302: Movie Scene Visibility Template unitialised variable, causing random . (Contributed by DSDambuster) Change 3801837 by Max.Chen Sequencer: Delay spawning/construction for convert to possessable. This fixes a bug where property values would be lost when converting back and forth from possessable to spawnable. #jira UE-52400 Change 3801841 by Max.Chen Sequencer: Make spacer nodes not selectable. PR #4194: Improvements to Sequencer (Contributed by projectgheist) #jira UE-53117 #jira UE-52139 Change 3804183 by Max.Preussner MediaAssets: Added missing lock in media sound component Change 3805414 by Max.Preussner MediaAssets: Setting valid GUID when initializing media texture resource Change 3819578 by Max.Chen PR #4370: When enabling the "MovieCapture", do not turn off the Stereo-3D display. (Contributed by yehaike) #jira UE-53647 Change 3823414 by Max.Chen Curve Editor: Lock down the first and last keys in the redundant keys removal range so that they're unaffected. #jira UE-53591 Change 3826406 by Max.Chen Sequencer: Move OnStartedPlaying() to within first update in UpdateTimeCursorPosition(). This fixes an issue where setting the hud/player visibility was getting stomped on later. #jira UE-52772 Change 3827044 by Max.Preussner MediaAssets: Added sprite visualization to media sound component #jira UE-53594 Change 3827988 by Max.Preussner MediaPlayerAssets: Fixed Media Texture is not linked to Media Player when created together #jira UE-53532 Change 3828506 by Max.Preussner MediaPlayerEditor: Added attenuation visualizer for media sound components #jira UE-53594 Change 3832590 by andrew.porter EngineTest: Added a keep state check in Property Animation sequencer test Change 3833053 by andrew.porter EngineTest: Adding Hierarchical Bias test Change 3835683 by andrew.porter EngineTest: Adding UMG Animation screenshot test Change 3836076 by Max.Chen Sequencer: Fix audio volume and pitch multiplier deprecation. Change 3836230 by andrew.porter EngineTest: Adding Sequence Bone Position automation test Change 3836347 by Max.Chen Sequencer: Fixes to shot name parsing. When a shot doesn't contain a shot number, assume, [ShotName]_[TakeNumber]. When duplicating a shot, put the new shot in the same path of the original shot, so that the take numbers will increment properly. #jira UE-51868 Change 3836552 by Max.Chen Sequencer: Sub section now has a takes menu Change 3838094 by Max.Chen UMG: Fix template finish not getting called on stop. This fixes a bug where sections aren't restored when finished. #jira UE-52285 Change 3838708 by Max.Chen Sequencer: Add notification when the blend type is changed. #jira UE-54046 Change 3840295 by Max.Chen Sequencer: Fix copy/paste crash for lights #jira UE-54084 Change 3840957 by Mike.Zyracki Added Show Only Keyable and Show Only Animated to the filter list in the property editor. Added IsPropertyAnimated to IDetailKeyframe Interface which already had support for showing properties which are keyable (which is used for the key icon next to the properties.). Could have created another interface but then would have had to mimic the sequencer binding, releasing also, so this seemed best way. One issue still left is that custom built detail items currently don't store associated properties(usually) and so certain properties, in particulalry transforms, won't show up as keyable or animated. Note this also shows up with the keyable icon not showing up next to transform tracks, and other filters like Show Only Modified not working with transforms/customs. Not sure best way to tackle this. #jira UESEQ-328 Change 3841756 by Max.Chen Sequencer: Fix unbound possessable components when pasting spawnables. #jira UE-54104 Change 3843950 by andrew.porter EngineTest: Renaming LevelStreaming tests/content to LevelVisibility Change 3844082 by Mike.Zyracki Missing file for animated filter in property editor. When finding if a track is animated we need to find it but we can't easily induce the MovieTrack class for any particular property. So we don't set a class for it and just search by it's ID and name. #jira UESEQ-328 Change 3846902 by Max.Preussner ImgMedia: Fixed image media player never finished initialization if loading failed #jira UE-54247 Change 3849820 by Mike.Zyracki Reassigning deleted widgets didn't work since the menu extender mechanism needs a valid UObject in order to perform an operation on it. So to fix we replaced GetObjectBindingContextMenuExtender in WidgetBlueprint with new delegate mechanism (OnBuildCustomContextMenuForGuid) that supports FGuid in addition to UObjects which is needed to handle re-binding deleted widgets. Note that the default sequencer hacks this for replacing deleted actors in SequencerObjectBindingNode to check to see if a LevelSequence is active. We could move to this mechanism there also. #jira UE-53163 Change 3852211 by Max.Chen UMG: Indicate name of the property that is not bound. #jira UE-54350 Change 3854120 by Max.Chen Sequencer: Fix sibling folders being allowed to have the same folder name. #jira UE-54363 Change 3854627 by Max.Chen Sequencer: Step to next/previous key should work for all tracks if there aren't any selected. #jira UESEQ-391 Change 3855825 by andrew.porter EngineTest: Adding animation blending automation test Change 3855950 by andrew.porter EngineTest: Adding correct expected valuues to animation blending test Change 3856237 by Matt.Hoffman UESEQ-336 - Sequencer Track Reordering Adds the ability to re-order Master Tracks, Folders and Object Bindings within sequencer hierarchies (including UMG). Adds the ability to do a one-off sorting of the content under the old sorting behavior if the user wants to reset their layout to how it was under legacy behavior. Modifies SequencerTrackNodes, SequencerFolderNodes and SequencerObjectBindingNodes to handle CanDrop/OnDrop for above, below and ontop of. Fixes a Slate Issue that forcibly expanded a TreeviewRow if an item handled OnDrop. Slate will now only forcibly expand the row if the item says the drop happened ontop of the item, and not above or below it like it previously did. Change 3856503 by andrew.porter EngineTest: Adding automation test for using animation blueprint with blend multi node in sequencer Change 3857875 by Max.Chen Sequencer: Assign the sequence id after the template is compiled. #jira UE-54462 Change 3858344 by Max.Chen Sequencer: Prevent Goto and Transform boxes from overlapping by allowing them to be visible at the same time in an autosized horizontal box. Also, added close button to the goto box. PR #4425: Prevent Goto and Transform boxes from overlapping in Sequencer ... (Contributed by projectgheist) #jira UE-54210 Change 3860566 by andrew.porter MediaFrameworkTest: Set the option to index 0 for the audio and video track list by default Change 3860654 by andrew.porter EngineTest: Enabling Camera Cut + FOV test Change 3860981 by andrew.porter EngineTest: Updating skeletal mesh tests with a delay after set playback position Change 3861256 by Max.Chen Sequencer: Add all bindings if none selected. #jira-54440 Change 3862154 by Andrew.Rodham Added TimeManagement module Change 3862424 by andrew.porter EngineTest: Turned on the test Bone Positions with Blend Multi Node Change 3862573 by andrew.porter EngineTest: Adding test to compare bone positions in a sequence that is blending an animation that is using an AnimBP Change 3865117 by Max.Chen Sequencer: Stop auto scroll on mouse release of movement. #jira UE-31212 Change 3865303 by Max.Chen Sequencer: Add drag and drop transactions #jira UE-54662 Change 3865304 by Max.Chen Sequencer: Fix crash when an actor factory is not found. Change 3865361 by Max.Chen Sequencer: Don't change the camera/shot lock button when popping out of a sequence. #jira UE-54665 Change 3865412 by Max.Chen Sequencer: Determine whether a transform track is for a camera by using the spawned object or template #jira UE-54666 Change 3865685 by Max.Chen Sequencer: Clear autoscrub offset when stopping autoscroll #jira UE-31212 Change 3865886 by Max.Chen Sequence Recorder: Log an error if the number of frames changes while recording. This can happen if the skeleton changes while recording. #jira UE-48715 Change 3866925 by Andrew.Porter MediaFrameworkTest: Changing the current PNG test video image sequence to 1024 x 576 Change 3867705 by andrew.porter QAGame: Adding Audio Sort Sequence to dev folder Change 3867890 by andrew.porter QAGame: Adding a sequence for testing a sorting crash to my dev folder Change 3872628 by Max.Chen Movie Scene Capture: Split delay before warmup into split delay before shot warmup so that there's separate controls for when the movie scene capture warmups up vs. shot boundaries. Change 3873131 by Matt.Hoffman UE-54732 - Crash reordering a folder with a track. This was caused by folders being the only type of track to check if someone was putting a parent track into a child track. Object Binding tracks and Tracks now check as well so that you can't use the above/below drop targets to add parents as children. This also fixed a typo in the localization keys. #jira UE-54732 Change 3873301 by Mike.Zyracki Added ability to support continous euler angle changes when changing rotations, in particularly with the rotation gizmo's. To do this we effectively added a form an of 'euler filter'(https://en.wikipedia.org/wiki/Euler_filter) to find the closest euler angle to the current euler angle. Three functions were added to FRotator to make this possible, one to get the euler angle that's has the same rotation as it, one to get the difference between two euler angles via Manhattan distance and a third using the previous two to choose a Rotator value that's closest to it. We then use these functions before calling UComponent::SetRelativeRotation to make sure we use the correct Euler after the Quat conversion. We also no longer limit(bound) the euler angles to -180,180, which is obviously necessary to avoid flips. I also changed how we caluclate yaw and roll when pitch is -90 or 90 to make it the standard approach of zeroing out roll and just setting yaw. Main reasons are the previous implementation had precision issues so things like 180, 90, -180 would show up due to numbers being nearly zero but negative,(this would break any smooth interpolations), and this facilitates having a 'gimbal' rotation mode (like Maya, Blender etc..) if we ever want that also. If needed we could keep the previous implementation but would need to add some FMath::IsNearlyZero checks, with less performance. Note we only do this special filtering when applying delta's to actors or components in the editors, which then call UComponent::SetRelativeRotationExact, which is a new function to foces the RelativeRotation to be equal to the new rotation. This allows us to store un-nomalized Rotators at the cost that the RotationCache may be broken. We didn't change any of the other UComponent functions that set rotations (via Quats or Transforms) so they will still be bounded and unwound. In SetInternalWorldLocationAndRotation we only set the rotation if the rotation has changed, which fixes the rotation getting changed and re-normalized if just translate happens. In TransformTrackEditor, we correclty use the bUndwing flag and in MovieScene3DTransformSection there was an un-needed winding check there, it will be unwound earlier if needed, which happens if Sequence Recording is happening. Max we should talk about what to do about this . Note the euler angle drag via the widget is still bound to 0-360. I think we should just unbound that now since the rotations value are now unbound. This review now includes fixes suggested by Zak. #jira UE-UE-22228 Change 3873483 by Matt.Hoffman Sequencer Tracks can now be inserted above the spacer at the bottom of the tree. #jira UE-54706 Change 3873899 by Max.Chen Sequencer: Add section selection throbbing Change 3873908 by Max.Chen Movie Scene Capture: Added logging per frame Change 3873924 by Matt.Hoffman Adds the ability to store Sequence Recorder setups into profiles that stay with the map and can be re-loaded later. Profiles store the Actor Recordings so the settings for each actor should carry with them. #jira UESEQ-339 Change 3874726 by Matt.Hoffman Disable drag-and-drop targets on spacers that come between rows in Sequencer. This prevents extra drag/drop targets showing up between each row. #jira UE-54706 Change 3874862 by Matt.Hoffman Audio Track no longer gets reordered when adding sub-audio tracks, as sub-tracks are no longer counted towards the sorting order index when normalizing indexes. #jira UE-54727 Change 3875905 by Matt.Hoffman Disable Fade Track UI if a fade track already exists in the sequence. #jira UESEQ-393 Change 3876163 by Max.Chen Sequencer: Swap the camera object to the camera component's owner if it's not the same. #jira UE-54874 Change 3876971 by Andrew.Porter EngineTest: Moved Media Player Seek test to new folder. Also enabled the test with new ground truth image. Change 3877040 by Max.Chen Cine Camera: Split camera properties to two groups, "Camera Options" and "Camera Settings". The cine camera now hides properties in the "Camera Settings" group so that properties like bConstrainAspectRatio (in the "Camera Options" group) can be visible. #jira UE-54192 Change 3877763 by Max.Chen Curve Editor: Fix curve changed on end drag so that only curves that had keys/tangents that were changed receive notification, otherwise all loaded curves were getting notified that they were changed. #jira UE-54951 Change 3878234 by Matt.Hoffman Disable "Drop Below" targets for Sequencer Tree nodes to prevent a confusing UX issue where dropping underneath a Object Binding Node puts it after the object binding node but the UI looks like it's inserting it inside the Object Binding node. #jira UE-54743 Change 3879359 by Mike.Zyracki If a track is inactive we dim it a bit which seems to be the UE4 way to show inactive or disabled state. We changed the active logic so that all subtracks need to be inactive for the track to also be inactive(instead of all active for active). This conforms to how the active state actually works, e.g if you have two sections and only one is active the track is still active above it. #jira UESEQ-388 Change 3879462 by Max.Chen Sequencer: Allow dragging onto a particular row which would move out any overlapping sections to make space for the newly created section. Newly created sections are now selected and throbbed to draw attention to themselves. #jira UE-54664 Change 3879464 by Max.Chen Sequencer: Fixed overlapping ranges being inserted into the evaluation field during compilation - The issue was that track segments that had been combined with adjacent segments (due to them being identical) would potentially cause a subsequently compiled frame to overlap with a range that had already been inserted into the evaluation field. - The insertion code previously asserted that only minor overlaps were catered for (due to fp rounding errors) and assumed that a supplied range could not entirely contain any other range in the field. - The solution is to supply the insertion time along with the range to know exactly where the data should live in the field, and crop the range to the maximum allowable space between adjacent ranges. #jira UE-54922 Change 3879590 by Matt.Hoffman Items that are now added to the Sequencer via the "+Track" menu will be selected after being added. Items can now be added inside of folders instead of just to the root level. #jira UE-27397 Change 3879612 by Mike.Zyracki Display Nodes with no children are always active. #jira UESEQ-388 Change 3879730 by Matt.Hoffman Sequence Recorder's actor recording groups now remove items from the group when removed via the UI. #jira UESEQ-339 Change 3880256 by Mike.Zyracki Fix issue with inactive display with folders and other track nodes. #jira UESEQ-388 Change 3883491 by Max.Chen Fix issue where tick is skipped due to last ticked pose isn't cleared after AnimInstance changes. Copy from Release-4.19 #jira UE-51323 Change 3883603 by Max.Chen Movie Scene Capture: Add option toggle disable screen percentage. By default this is on (no change in current behavior). #jira UE-51898 Change 3885074 by Max.Preussner MediaCompositing: Resetting media texture & freeing resource on section end; removed dead code Change 3887220 by Max.Preussner MediaCompositing: Defaulted media section duration to 1 sec (since we do not know the actual duration in most cases) Change 3887478 by Matt.Hoffman Sequences now show [Inactive] in their title bars when they're disabled. This helps communicate why a sequence isn't being evaluated. #jira UE-51469 Change 3888985 by Max.Chen Movie Scene Capture: Clamp HDR Compression Quality between 0 and 1. #jira UE-55136 Change 3893519 by Max.Chen Sequence Recorder: Clarified tooltip for bRecordNearbySpawnedActors - spawned actors will still be recorded if they match the ActorFilter. #jira UE-55238 Change 3893546 by Max.Chen Sequence Recorder: If a selected actor already has a recording, add a blank recording. #jira UE-55239 Change 3894044 by Max.Preussner MediaCompositing: Added support for seeking into a media section Change 3894310 by andrew.porter MediaFrameworkTest: Adding Img media sources for 1080 and 2160 ravent test content Change 3894426 by Max.Preussner MediaAssets: Letting media textures with AutoClear retain their clear color when player is reset Change 3895717 by Max.Chen Sequencer: Null checks to prevent crash when saving the default state of a spawnable #jira UE-55304 Change 3897388 by Max.Chen Sequencer: Don't update current time to be within the view range when stepping into a sequence. #jira UE-55322 Change 3897452 by Max.Chen Audio: Fix crash when trying to record audio without any active capture devices. Log warning if the number of input channels is not 1 or 2. #jira UE-55223 Change 3897619 by Max.Preussner MediaCompositing: Removed commented out code Change 3898072 by Max.Chen Sequencer: Override the animation asset in the player state if it doesn't match the animation asset that's being evaluated. #jira UE-55328 Change 3898272 by Max.Preussner MediaPlayerEditor: Made slate brush constants static Change 3898704 by Max.Chen Sequencer: Skip if the binding id's sequence can't be found. #jira UE-55337 Change 3899855 by Max.Preussner MediaCompositingEditor: Added cache state visualization to media track Change 3900300 by Max.Preussner MediaCompositingEditor: Added loop indicators to media sections Change 3900694 by Max.Preussner ImfMedia: Looping cache only when player is looping Change 3900892 by Max.Preussner Stats: Added stats category for media framework Change 3900954 by Max.Preussner MediaCompositing: Don't evaluate at the end of media section Change 3901348 by Max.Preussner Core: Replaced TLruCache autos for better readability Change 3901655 by Max.Preussner ImgMedia: Added more perf stats to EXR reader Change 3901972 by Max.Preussner MediaAssets: Added getter for media player in media sound components Change 3902233 by Max.Preussner MediaAssets: Enabling media textures to receive samples right after player is assigned Change 3902238 by Max.Preussner MediaCompositing: Working around init/shutdown idiosyncracies in sequencer Change 3904045 by Max.Chen Sequencer: Fix copy/paste crash. Only process UMovieSceneCopyableBinding and objects that can be spawned by the movie scene spawn register. #jira UE-55314 Change 3905605 by Max.Chen Sequencer: Restrict spawnables from being created if they have a ClassWithin that UMovieScene is not a child of. #jira UE-55429 Change 3906550 by Max.Chen Sequencer: Add media track icon #jira UE-55480 Change 3907101 by Max.Chen Sequence Recorder: Fix bugs related to not recording a level sequence. There were certain assumptions that creating a level sequence meant that sequence recording was in progress. This is not always the case - the recorders can record animation assets and not create a level sequence. Changed the notion of IsRecording() to having at least one actor recording that is recording. Countdown timer, recording displays, etc should function if IsRecording() and not based on whether a level sequence is created. #jira UE-55485 Change 3907247 by Max.Chen Sequence Recorder: Fix crash not removing PrepareToCleanseEditorObject delegate. Repros when opening sequence recorder, closing it, and then opening or creating a level. Change 3910343 by Max.Preussner Core: Added async helper for executing functions on a given thread pool Change 3910346 by Max.Preussner ImgMedia: Added separate thread pools for loading/decoding and deleting image frames Change 3910829 by Max.Preussner Profiler: Increased visible range of profiler graph Change 3910841 by Max.Preussner MediaCompositing: Displaying asset name instead of full media source path in media section Change 3910870 by Max.Preussner ImgMedia: Using deallocation thread pool only in debug builds Change 3919642 by Max.Chen Sequence Recorder: Clarify active tooltip #jira UE-55661 Change 3919660 by Max.Chen Sequencer: Sequence template source signatures are now also compared to catch the case where a sub-sequence asset has been saved but not modified - The following sequence of events exposes this issue: - Create a master sequence with a single shot that spawns a cube - Add this sequence to a level and set it to auto-play - Save everything and restart - Resave just the inner shot asset without opening it - PIE - The inner shot never spawns its cube because its template was wiped on save, but its signature never changed. Since the master sequence previously didn't check the template source signature, it ends up trying to evaluate an empty template. #jira UE-55626 #jira UE-55490 Change 3921825 by Max.Chen Sequencer: "Run Construction Script in Sequencer" is off by default for blueprints but on for Sequencer. This allows the content author to switch it on for specific blueprints and sequencer will be default, run those with construction scripts enabled. Change 3922232 by Max.Chen Sequence Recorder: Reset countdelay on stop. #jira UE-55755 Change 3922306 by Max.Chen Sequence Recorder: Don't automatically mark transforms to be recorded by sequence recorder. Instead, log a warning if the user toggled it off to warn that the resulting animation might not match gameplay. #jira UE-55758 Change 3922912 by Max.Chen Sequence Recorder: Fix refresh next sequence name #jira UE-55757 Change 3927654 by Max.Chen Movie Scene Capture: Added format mapping for the name of the current camera #jira UE-55769 PR #4537 Change 3927658 by Max.Chen Sequencer: Added fbx property mapping for "FocusDistance" to "FocusSettings.ManualFocusDistance" #jira UE-55782 Change 3932022 by Max.Chen Sequencer: Add import animation track section to next available row index. #jira UE-55892 Change 3933919 by Max.Chen Sequencer: Jump to playback start frame and not 0 to start playback for recording. #jira UE-55933 Change 3934307 by Andrew.Rodham Sequencer: Add template signature that is re-generated every time the base template is regenerated, which invalidates evaluation fields This fixes an issue where the same sequence is instantiated multiple times in a sequence. If the source sequence was saved, its template would be wiped, which would invalidate the template ID When an instance tries to evaluate the master template, it would only invalidate a range in the evaluation field that was the hull of any invalid sub sequences overlapping the current time, potentially leaving invalid data in the evaluation field at positions later (or earlier) on in the sequence When the sub template was re-generated, it receives the same SequenceSignature as it had before (because the sequence hasn't actually changed), which causes the stale evaluation field data to fail the IsDirty check (because the sequence is the same as it thought, but the *template* has changed) This has been addressed be adding a signature to templates themselves, and checking both the template signature and sequence signature as a part of the IsDirty check. This ensures that we regenerate if either the template, or the sequence have changed. #jira UE-55934 Change 3936327 by Andrew.Rodham Sequencer: Removed increment when trimming right UMovieSceneSection::TrimSection already explicity assigns an exclusive bound to the time passed in. The new behavior means we can trim a section to the right, and insert another section without changing the time to create adjacent sections. #jira UE-42652 Change 3936328 by Andrew.Rodham Fixed KeyFrameManipulator assignment operators and copy/move constructors - These types are potentially self-referential so cannot use default constructors/assignment Change 3936330 by Andrew.Rodham Converted UMGSequencePlayer to use frames internally #jira UE-54878 Change 3936726 by Max.Chen Sequencer: Set track node as the parent of the key area node. The key area switcher needs the object binding id from the parent object binding node. Without this, the binding to the external value fails. #jira UE-55931 Change 3936775 by Max.Chen Sequencer: Should stop or loop should compare DurationFrames with Current Time from StartTime. The bug is that if you set 30 warmup frames in movie rendering for a range of 0-100, the FrameRange will be starting at -30 and have a duration of 130. Without this fix, the playback will continue until frame 130, rather than 100. #jira UE-55933 Change 3936935 by Matt.Hoffman Easing Curves are now represented in Play Rate resolution instead of internal resolution. #jira UE-55937 Change 3937069 by Matt.Hoffman Users can toggle if the is infinite on each side, limited by which tracks support infinite ranges. #jira UE-55891 Change 3937516 by Max.Preussner ImgMedia: Added support for single-threaded platforms #jira UE-55986 Change 3937826 by Max.Preussner MediaAssets: Disabling media sound components on HTML5 if AudioMixer is not enabled Change 3937997 by Max.Chen Curve Editor: Add Zoom to Fit Curves so that selected curves from Sequencer can be focused on. Tested that undo doesn't re-zoom. #jira UE-55935 Change 3938000 by Max.Chen Sequencer: Stop all sounds before generating audio waveforms. #jira UE-55951 Change 3938376 by Max.Preussner XGEController: Disabled XGE Controller in single-threaded apps to prevent crash Change 3938444 by Max.Preussner Core: Added async support for single-threaded applications Change 3938445 by Max.Preussner Networking: Added support for single-threaded applications in UDP socket sender/receiver Change 3938447 by Max.Preussner Messaging: Added support for single-threaded applications Change 3939432 by Max.Chen Sequence Recorder: Append command list to global level editor actions so that shortcuts are accessible in level editor. #jira UE-55798 Change 3940229 by Andrew.Rodham Added prospective display rate upgrade to UMovieScene::PostLoad - There was previously some very odd behaviour that would assign the fixed frame interval only when a sub sequence was focused in SSequencer. This meant that many sequences could have a frame interval of 0 set in the data. - Under the old method of snap interval display this would have fallen back to getting the display interval from the sequencer settings, but we no longer look at these. - The USequencerSettings properties have been removed and in their place, a prospective data upgrade for sequences that have a fixed frame interval old 0fps that sets the play rate to the previous defaults based off the old USequencerSettings defaults. - This could end up 'changing' the display rate for sequences where the user has changed the snap interval in the settings for a particular sequence editor, but there's not much we can do about that given we don't have access to the USequencerSettings classes in UMovieScene #jira UE-55919 Change 3940277 by Andrew.Rodham Sequencer: Added ability to default frame resolutions and play rates for newly created actor sequences Change 3940378 by Andrew.Rodham Sequencer: Post move import dialog now defaults to the playback framerate of the sequence, and floors to frame numbers Change 3940559 by Andrew.Rodham Reinstated primed or recording sequence color Change 3940642 by Max.Preussner ImagePlate: Removed image plate media playback functionality Change 3940843 by Max.Preussner Core: Made TCircularQueue actually thread-safe; improved code comments Change 3940860 by Max.Chen Sequencer: Changed StructNameToKey to StructPathToKey Previously, keying a PropertyPath of [RenderTransform][Shear][X] would get trimmed to X, which doesn't map to a channel name as considered by Sequencer2dTransformTrackEditor. Instead, trim the resulting property path to [Shear][X] so that track editors can determine the desired struct path and channels to key. #jira UE-52966 Change 3941292 by Mike.Zyracki Fix for trajectories out of range not showing up. 1) If we had no key data we would pop the time, so wouldn't get the section ranges. 2) Calculating of upper bound was wrong, checking against -1 and not key == num of keys when doing algo::lower_bound. 3) No need to do the Bck-- for the bakward iterators since we fixed #2. We start now from the upper bound correctly. 4) If we had no keys (at section start,end) we would incorrectly say we were any key type, so since we draw constant keys as dashed we would do so incorrectly around section end points. #jira UE-55929 Change 3941424 by Max.Chen Curve Editor: Change Zoom to Fit to use TArrayView Change 3941498 by Max.Preussner Core: Added FMath::DivideAndRoundNearest function Change 3942097 by Matt.Hoffman Drop Frame Timecode Support for NTSC rates. Change 3942104 by Matt.Hoffman Sequence Recorder Group is no longer visible inside the World Outliner after using one. #jira 55266 Change 3942107 by Max.Chen Sequencer: Resurrect logic to find or extend an existing section when adding keys. Change 3942330 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942339 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942507 by Andrew.Rodham Sequencer: We no longer pad the time overlap threshold with a small number that is not scaled by the current zoom level - The presence of this pad was causing keys that were far apart to be grouped when zoomed in a long way Change 3942509 by Andrew.Rodham Sequencer: Only pad total view range, rather than section range as well when retrieving keys to render - This stops us from rendering keys that are within the view range, but outside the section range Change 3942512 by Andrew.Rodham Added transactions to some sequencer details customizations Change 3942513 by Andrew.Rodham Sequencer: Reinstated validation checks to UMovieSceneSection::SetStartFrame and SetEndFrame, changed erroneous uses to use SetRange Change 3942560 by Andrew.Rodham Pass by rvalue reference to appease error C2719 on Win32 ('InChannels': formal parameter with requested alignment of 8 won't be aligned) Change 3942697 by Andrew.Rodham Newly Created Level Sequences and Actor Sequences now default to 24000 fps frame resolution (+/- ~24hrs range, supporting all integer rates + 23.976) Change 3942700 by Andrew.Rodham Sequencer: Added legacy out-of-bounds errors for times that are not supported by the current legacy upgrade frame resolution Change 3942989 by Max.Preussner Core: Fixed circular queue count calculation Change 3943538 by Max.Preussner MediaAssets: Reverted workaround for procedural audio log spam in HTML5 (Actor component initialization cannot be skipped if the component is used in a level) Change 3944071 by Max.Preussner QAGame: Fixed Media Texture keeps last frame of Media when PIE ends #jira UE-53360 Change 3944292 by Max.Chen Sequencer: Added extra flags to ensure that asset initialization does not occur on template actor sequences #jira UE-56113 Change 3944364 by Max.Chen Sequencer: Prevent circular shot/master tracks. Tested adding master -> child -> master as drag and drop cinematic shot tracks and sub tracks as well as through the + button. #jira UE-56091 Change 3944422 by Max.Chen Sequence Recorder: Disable transform recording if off. #jira UE-56061 Change 3944745 by Andrew.Rodham Sequencer: Key rendering fixes - Fixed assert that occured when keys happened to reside on some times due to KeyTime + TimeOverlapThreshold - KeyTime being slightly larger TimeOverlapThreshold - Fixed keys sometimes being clipped when zoomed right in due to lack of half-frame offset - Added missing documentation to MovieSceneTimeHelpers.h #jira UE-56107 Change 3945231 by Andrew.Rodham Sequencer: Reconstruct channel proxy on Serialize to catch all cases of undo/redo, PostLoad and duplication #jira UE-56089 Change 3945301 by Andrew.Rodham Sequencer: Added safety checks during initial sequence recording to guard against applying negative or 0-sized sequence ranges #jira UE-56125 Change 3946627 by Max.Preussner Fortnite: Fixed game crashes closing editor while in PIE - Pure virtual function being called #jira UE-56144 [CL 3946896 by Max Chen in Main branch]
2018-03-14 22:09:33 -04:00
const bool bCanZoomIn = MouseTime > MouseDownStart;
const bool bCanZoomOut = ViewRangeStack.Num() > 0;
if (bCanZoomIn || bCanZoomOut)
{
TRange<double> ViewRange = GetViewRange();
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3946692) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3801826 by Max.Chen PR #4304: Level Sequence crash fix - Guarded against dereferencing null componen. (Contributed by DSDambuster) Change 3801828 by Max.Chen PR #4302: Movie Scene Visibility Template unitialised variable, causing random . (Contributed by DSDambuster) Change 3801837 by Max.Chen Sequencer: Delay spawning/construction for convert to possessable. This fixes a bug where property values would be lost when converting back and forth from possessable to spawnable. #jira UE-52400 Change 3801841 by Max.Chen Sequencer: Make spacer nodes not selectable. PR #4194: Improvements to Sequencer (Contributed by projectgheist) #jira UE-53117 #jira UE-52139 Change 3804183 by Max.Preussner MediaAssets: Added missing lock in media sound component Change 3805414 by Max.Preussner MediaAssets: Setting valid GUID when initializing media texture resource Change 3819578 by Max.Chen PR #4370: When enabling the "MovieCapture", do not turn off the Stereo-3D display. (Contributed by yehaike) #jira UE-53647 Change 3823414 by Max.Chen Curve Editor: Lock down the first and last keys in the redundant keys removal range so that they're unaffected. #jira UE-53591 Change 3826406 by Max.Chen Sequencer: Move OnStartedPlaying() to within first update in UpdateTimeCursorPosition(). This fixes an issue where setting the hud/player visibility was getting stomped on later. #jira UE-52772 Change 3827044 by Max.Preussner MediaAssets: Added sprite visualization to media sound component #jira UE-53594 Change 3827988 by Max.Preussner MediaPlayerAssets: Fixed Media Texture is not linked to Media Player when created together #jira UE-53532 Change 3828506 by Max.Preussner MediaPlayerEditor: Added attenuation visualizer for media sound components #jira UE-53594 Change 3832590 by andrew.porter EngineTest: Added a keep state check in Property Animation sequencer test Change 3833053 by andrew.porter EngineTest: Adding Hierarchical Bias test Change 3835683 by andrew.porter EngineTest: Adding UMG Animation screenshot test Change 3836076 by Max.Chen Sequencer: Fix audio volume and pitch multiplier deprecation. Change 3836230 by andrew.porter EngineTest: Adding Sequence Bone Position automation test Change 3836347 by Max.Chen Sequencer: Fixes to shot name parsing. When a shot doesn't contain a shot number, assume, [ShotName]_[TakeNumber]. When duplicating a shot, put the new shot in the same path of the original shot, so that the take numbers will increment properly. #jira UE-51868 Change 3836552 by Max.Chen Sequencer: Sub section now has a takes menu Change 3838094 by Max.Chen UMG: Fix template finish not getting called on stop. This fixes a bug where sections aren't restored when finished. #jira UE-52285 Change 3838708 by Max.Chen Sequencer: Add notification when the blend type is changed. #jira UE-54046 Change 3840295 by Max.Chen Sequencer: Fix copy/paste crash for lights #jira UE-54084 Change 3840957 by Mike.Zyracki Added Show Only Keyable and Show Only Animated to the filter list in the property editor. Added IsPropertyAnimated to IDetailKeyframe Interface which already had support for showing properties which are keyable (which is used for the key icon next to the properties.). Could have created another interface but then would have had to mimic the sequencer binding, releasing also, so this seemed best way. One issue still left is that custom built detail items currently don't store associated properties(usually) and so certain properties, in particulalry transforms, won't show up as keyable or animated. Note this also shows up with the keyable icon not showing up next to transform tracks, and other filters like Show Only Modified not working with transforms/customs. Not sure best way to tackle this. #jira UESEQ-328 Change 3841756 by Max.Chen Sequencer: Fix unbound possessable components when pasting spawnables. #jira UE-54104 Change 3843950 by andrew.porter EngineTest: Renaming LevelStreaming tests/content to LevelVisibility Change 3844082 by Mike.Zyracki Missing file for animated filter in property editor. When finding if a track is animated we need to find it but we can't easily induce the MovieTrack class for any particular property. So we don't set a class for it and just search by it's ID and name. #jira UESEQ-328 Change 3846902 by Max.Preussner ImgMedia: Fixed image media player never finished initialization if loading failed #jira UE-54247 Change 3849820 by Mike.Zyracki Reassigning deleted widgets didn't work since the menu extender mechanism needs a valid UObject in order to perform an operation on it. So to fix we replaced GetObjectBindingContextMenuExtender in WidgetBlueprint with new delegate mechanism (OnBuildCustomContextMenuForGuid) that supports FGuid in addition to UObjects which is needed to handle re-binding deleted widgets. Note that the default sequencer hacks this for replacing deleted actors in SequencerObjectBindingNode to check to see if a LevelSequence is active. We could move to this mechanism there also. #jira UE-53163 Change 3852211 by Max.Chen UMG: Indicate name of the property that is not bound. #jira UE-54350 Change 3854120 by Max.Chen Sequencer: Fix sibling folders being allowed to have the same folder name. #jira UE-54363 Change 3854627 by Max.Chen Sequencer: Step to next/previous key should work for all tracks if there aren't any selected. #jira UESEQ-391 Change 3855825 by andrew.porter EngineTest: Adding animation blending automation test Change 3855950 by andrew.porter EngineTest: Adding correct expected valuues to animation blending test Change 3856237 by Matt.Hoffman UESEQ-336 - Sequencer Track Reordering Adds the ability to re-order Master Tracks, Folders and Object Bindings within sequencer hierarchies (including UMG). Adds the ability to do a one-off sorting of the content under the old sorting behavior if the user wants to reset their layout to how it was under legacy behavior. Modifies SequencerTrackNodes, SequencerFolderNodes and SequencerObjectBindingNodes to handle CanDrop/OnDrop for above, below and ontop of. Fixes a Slate Issue that forcibly expanded a TreeviewRow if an item handled OnDrop. Slate will now only forcibly expand the row if the item says the drop happened ontop of the item, and not above or below it like it previously did. Change 3856503 by andrew.porter EngineTest: Adding automation test for using animation blueprint with blend multi node in sequencer Change 3857875 by Max.Chen Sequencer: Assign the sequence id after the template is compiled. #jira UE-54462 Change 3858344 by Max.Chen Sequencer: Prevent Goto and Transform boxes from overlapping by allowing them to be visible at the same time in an autosized horizontal box. Also, added close button to the goto box. PR #4425: Prevent Goto and Transform boxes from overlapping in Sequencer ... (Contributed by projectgheist) #jira UE-54210 Change 3860566 by andrew.porter MediaFrameworkTest: Set the option to index 0 for the audio and video track list by default Change 3860654 by andrew.porter EngineTest: Enabling Camera Cut + FOV test Change 3860981 by andrew.porter EngineTest: Updating skeletal mesh tests with a delay after set playback position Change 3861256 by Max.Chen Sequencer: Add all bindings if none selected. #jira-54440 Change 3862154 by Andrew.Rodham Added TimeManagement module Change 3862424 by andrew.porter EngineTest: Turned on the test Bone Positions with Blend Multi Node Change 3862573 by andrew.porter EngineTest: Adding test to compare bone positions in a sequence that is blending an animation that is using an AnimBP Change 3865117 by Max.Chen Sequencer: Stop auto scroll on mouse release of movement. #jira UE-31212 Change 3865303 by Max.Chen Sequencer: Add drag and drop transactions #jira UE-54662 Change 3865304 by Max.Chen Sequencer: Fix crash when an actor factory is not found. Change 3865361 by Max.Chen Sequencer: Don't change the camera/shot lock button when popping out of a sequence. #jira UE-54665 Change 3865412 by Max.Chen Sequencer: Determine whether a transform track is for a camera by using the spawned object or template #jira UE-54666 Change 3865685 by Max.Chen Sequencer: Clear autoscrub offset when stopping autoscroll #jira UE-31212 Change 3865886 by Max.Chen Sequence Recorder: Log an error if the number of frames changes while recording. This can happen if the skeleton changes while recording. #jira UE-48715 Change 3866925 by Andrew.Porter MediaFrameworkTest: Changing the current PNG test video image sequence to 1024 x 576 Change 3867705 by andrew.porter QAGame: Adding Audio Sort Sequence to dev folder Change 3867890 by andrew.porter QAGame: Adding a sequence for testing a sorting crash to my dev folder Change 3872628 by Max.Chen Movie Scene Capture: Split delay before warmup into split delay before shot warmup so that there's separate controls for when the movie scene capture warmups up vs. shot boundaries. Change 3873131 by Matt.Hoffman UE-54732 - Crash reordering a folder with a track. This was caused by folders being the only type of track to check if someone was putting a parent track into a child track. Object Binding tracks and Tracks now check as well so that you can't use the above/below drop targets to add parents as children. This also fixed a typo in the localization keys. #jira UE-54732 Change 3873301 by Mike.Zyracki Added ability to support continous euler angle changes when changing rotations, in particularly with the rotation gizmo's. To do this we effectively added a form an of 'euler filter'(https://en.wikipedia.org/wiki/Euler_filter) to find the closest euler angle to the current euler angle. Three functions were added to FRotator to make this possible, one to get the euler angle that's has the same rotation as it, one to get the difference between two euler angles via Manhattan distance and a third using the previous two to choose a Rotator value that's closest to it. We then use these functions before calling UComponent::SetRelativeRotation to make sure we use the correct Euler after the Quat conversion. We also no longer limit(bound) the euler angles to -180,180, which is obviously necessary to avoid flips. I also changed how we caluclate yaw and roll when pitch is -90 or 90 to make it the standard approach of zeroing out roll and just setting yaw. Main reasons are the previous implementation had precision issues so things like 180, 90, -180 would show up due to numbers being nearly zero but negative,(this would break any smooth interpolations), and this facilitates having a 'gimbal' rotation mode (like Maya, Blender etc..) if we ever want that also. If needed we could keep the previous implementation but would need to add some FMath::IsNearlyZero checks, with less performance. Note we only do this special filtering when applying delta's to actors or components in the editors, which then call UComponent::SetRelativeRotationExact, which is a new function to foces the RelativeRotation to be equal to the new rotation. This allows us to store un-nomalized Rotators at the cost that the RotationCache may be broken. We didn't change any of the other UComponent functions that set rotations (via Quats or Transforms) so they will still be bounded and unwound. In SetInternalWorldLocationAndRotation we only set the rotation if the rotation has changed, which fixes the rotation getting changed and re-normalized if just translate happens. In TransformTrackEditor, we correclty use the bUndwing flag and in MovieScene3DTransformSection there was an un-needed winding check there, it will be unwound earlier if needed, which happens if Sequence Recording is happening. Max we should talk about what to do about this . Note the euler angle drag via the widget is still bound to 0-360. I think we should just unbound that now since the rotations value are now unbound. This review now includes fixes suggested by Zak. #jira UE-UE-22228 Change 3873483 by Matt.Hoffman Sequencer Tracks can now be inserted above the spacer at the bottom of the tree. #jira UE-54706 Change 3873899 by Max.Chen Sequencer: Add section selection throbbing Change 3873908 by Max.Chen Movie Scene Capture: Added logging per frame Change 3873924 by Matt.Hoffman Adds the ability to store Sequence Recorder setups into profiles that stay with the map and can be re-loaded later. Profiles store the Actor Recordings so the settings for each actor should carry with them. #jira UESEQ-339 Change 3874726 by Matt.Hoffman Disable drag-and-drop targets on spacers that come between rows in Sequencer. This prevents extra drag/drop targets showing up between each row. #jira UE-54706 Change 3874862 by Matt.Hoffman Audio Track no longer gets reordered when adding sub-audio tracks, as sub-tracks are no longer counted towards the sorting order index when normalizing indexes. #jira UE-54727 Change 3875905 by Matt.Hoffman Disable Fade Track UI if a fade track already exists in the sequence. #jira UESEQ-393 Change 3876163 by Max.Chen Sequencer: Swap the camera object to the camera component's owner if it's not the same. #jira UE-54874 Change 3876971 by Andrew.Porter EngineTest: Moved Media Player Seek test to new folder. Also enabled the test with new ground truth image. Change 3877040 by Max.Chen Cine Camera: Split camera properties to two groups, "Camera Options" and "Camera Settings". The cine camera now hides properties in the "Camera Settings" group so that properties like bConstrainAspectRatio (in the "Camera Options" group) can be visible. #jira UE-54192 Change 3877763 by Max.Chen Curve Editor: Fix curve changed on end drag so that only curves that had keys/tangents that were changed receive notification, otherwise all loaded curves were getting notified that they were changed. #jira UE-54951 Change 3878234 by Matt.Hoffman Disable "Drop Below" targets for Sequencer Tree nodes to prevent a confusing UX issue where dropping underneath a Object Binding Node puts it after the object binding node but the UI looks like it's inserting it inside the Object Binding node. #jira UE-54743 Change 3879359 by Mike.Zyracki If a track is inactive we dim it a bit which seems to be the UE4 way to show inactive or disabled state. We changed the active logic so that all subtracks need to be inactive for the track to also be inactive(instead of all active for active). This conforms to how the active state actually works, e.g if you have two sections and only one is active the track is still active above it. #jira UESEQ-388 Change 3879462 by Max.Chen Sequencer: Allow dragging onto a particular row which would move out any overlapping sections to make space for the newly created section. Newly created sections are now selected and throbbed to draw attention to themselves. #jira UE-54664 Change 3879464 by Max.Chen Sequencer: Fixed overlapping ranges being inserted into the evaluation field during compilation - The issue was that track segments that had been combined with adjacent segments (due to them being identical) would potentially cause a subsequently compiled frame to overlap with a range that had already been inserted into the evaluation field. - The insertion code previously asserted that only minor overlaps were catered for (due to fp rounding errors) and assumed that a supplied range could not entirely contain any other range in the field. - The solution is to supply the insertion time along with the range to know exactly where the data should live in the field, and crop the range to the maximum allowable space between adjacent ranges. #jira UE-54922 Change 3879590 by Matt.Hoffman Items that are now added to the Sequencer via the "+Track" menu will be selected after being added. Items can now be added inside of folders instead of just to the root level. #jira UE-27397 Change 3879612 by Mike.Zyracki Display Nodes with no children are always active. #jira UESEQ-388 Change 3879730 by Matt.Hoffman Sequence Recorder's actor recording groups now remove items from the group when removed via the UI. #jira UESEQ-339 Change 3880256 by Mike.Zyracki Fix issue with inactive display with folders and other track nodes. #jira UESEQ-388 Change 3883491 by Max.Chen Fix issue where tick is skipped due to last ticked pose isn't cleared after AnimInstance changes. Copy from Release-4.19 #jira UE-51323 Change 3883603 by Max.Chen Movie Scene Capture: Add option toggle disable screen percentage. By default this is on (no change in current behavior). #jira UE-51898 Change 3885074 by Max.Preussner MediaCompositing: Resetting media texture & freeing resource on section end; removed dead code Change 3887220 by Max.Preussner MediaCompositing: Defaulted media section duration to 1 sec (since we do not know the actual duration in most cases) Change 3887478 by Matt.Hoffman Sequences now show [Inactive] in their title bars when they're disabled. This helps communicate why a sequence isn't being evaluated. #jira UE-51469 Change 3888985 by Max.Chen Movie Scene Capture: Clamp HDR Compression Quality between 0 and 1. #jira UE-55136 Change 3893519 by Max.Chen Sequence Recorder: Clarified tooltip for bRecordNearbySpawnedActors - spawned actors will still be recorded if they match the ActorFilter. #jira UE-55238 Change 3893546 by Max.Chen Sequence Recorder: If a selected actor already has a recording, add a blank recording. #jira UE-55239 Change 3894044 by Max.Preussner MediaCompositing: Added support for seeking into a media section Change 3894310 by andrew.porter MediaFrameworkTest: Adding Img media sources for 1080 and 2160 ravent test content Change 3894426 by Max.Preussner MediaAssets: Letting media textures with AutoClear retain their clear color when player is reset Change 3895717 by Max.Chen Sequencer: Null checks to prevent crash when saving the default state of a spawnable #jira UE-55304 Change 3897388 by Max.Chen Sequencer: Don't update current time to be within the view range when stepping into a sequence. #jira UE-55322 Change 3897452 by Max.Chen Audio: Fix crash when trying to record audio without any active capture devices. Log warning if the number of input channels is not 1 or 2. #jira UE-55223 Change 3897619 by Max.Preussner MediaCompositing: Removed commented out code Change 3898072 by Max.Chen Sequencer: Override the animation asset in the player state if it doesn't match the animation asset that's being evaluated. #jira UE-55328 Change 3898272 by Max.Preussner MediaPlayerEditor: Made slate brush constants static Change 3898704 by Max.Chen Sequencer: Skip if the binding id's sequence can't be found. #jira UE-55337 Change 3899855 by Max.Preussner MediaCompositingEditor: Added cache state visualization to media track Change 3900300 by Max.Preussner MediaCompositingEditor: Added loop indicators to media sections Change 3900694 by Max.Preussner ImfMedia: Looping cache only when player is looping Change 3900892 by Max.Preussner Stats: Added stats category for media framework Change 3900954 by Max.Preussner MediaCompositing: Don't evaluate at the end of media section Change 3901348 by Max.Preussner Core: Replaced TLruCache autos for better readability Change 3901655 by Max.Preussner ImgMedia: Added more perf stats to EXR reader Change 3901972 by Max.Preussner MediaAssets: Added getter for media player in media sound components Change 3902233 by Max.Preussner MediaAssets: Enabling media textures to receive samples right after player is assigned Change 3902238 by Max.Preussner MediaCompositing: Working around init/shutdown idiosyncracies in sequencer Change 3904045 by Max.Chen Sequencer: Fix copy/paste crash. Only process UMovieSceneCopyableBinding and objects that can be spawned by the movie scene spawn register. #jira UE-55314 Change 3905605 by Max.Chen Sequencer: Restrict spawnables from being created if they have a ClassWithin that UMovieScene is not a child of. #jira UE-55429 Change 3906550 by Max.Chen Sequencer: Add media track icon #jira UE-55480 Change 3907101 by Max.Chen Sequence Recorder: Fix bugs related to not recording a level sequence. There were certain assumptions that creating a level sequence meant that sequence recording was in progress. This is not always the case - the recorders can record animation assets and not create a level sequence. Changed the notion of IsRecording() to having at least one actor recording that is recording. Countdown timer, recording displays, etc should function if IsRecording() and not based on whether a level sequence is created. #jira UE-55485 Change 3907247 by Max.Chen Sequence Recorder: Fix crash not removing PrepareToCleanseEditorObject delegate. Repros when opening sequence recorder, closing it, and then opening or creating a level. Change 3910343 by Max.Preussner Core: Added async helper for executing functions on a given thread pool Change 3910346 by Max.Preussner ImgMedia: Added separate thread pools for loading/decoding and deleting image frames Change 3910829 by Max.Preussner Profiler: Increased visible range of profiler graph Change 3910841 by Max.Preussner MediaCompositing: Displaying asset name instead of full media source path in media section Change 3910870 by Max.Preussner ImgMedia: Using deallocation thread pool only in debug builds Change 3919642 by Max.Chen Sequence Recorder: Clarify active tooltip #jira UE-55661 Change 3919660 by Max.Chen Sequencer: Sequence template source signatures are now also compared to catch the case where a sub-sequence asset has been saved but not modified - The following sequence of events exposes this issue: - Create a master sequence with a single shot that spawns a cube - Add this sequence to a level and set it to auto-play - Save everything and restart - Resave just the inner shot asset without opening it - PIE - The inner shot never spawns its cube because its template was wiped on save, but its signature never changed. Since the master sequence previously didn't check the template source signature, it ends up trying to evaluate an empty template. #jira UE-55626 #jira UE-55490 Change 3921825 by Max.Chen Sequencer: "Run Construction Script in Sequencer" is off by default for blueprints but on for Sequencer. This allows the content author to switch it on for specific blueprints and sequencer will be default, run those with construction scripts enabled. Change 3922232 by Max.Chen Sequence Recorder: Reset countdelay on stop. #jira UE-55755 Change 3922306 by Max.Chen Sequence Recorder: Don't automatically mark transforms to be recorded by sequence recorder. Instead, log a warning if the user toggled it off to warn that the resulting animation might not match gameplay. #jira UE-55758 Change 3922912 by Max.Chen Sequence Recorder: Fix refresh next sequence name #jira UE-55757 Change 3927654 by Max.Chen Movie Scene Capture: Added format mapping for the name of the current camera #jira UE-55769 PR #4537 Change 3927658 by Max.Chen Sequencer: Added fbx property mapping for "FocusDistance" to "FocusSettings.ManualFocusDistance" #jira UE-55782 Change 3932022 by Max.Chen Sequencer: Add import animation track section to next available row index. #jira UE-55892 Change 3933919 by Max.Chen Sequencer: Jump to playback start frame and not 0 to start playback for recording. #jira UE-55933 Change 3934307 by Andrew.Rodham Sequencer: Add template signature that is re-generated every time the base template is regenerated, which invalidates evaluation fields This fixes an issue where the same sequence is instantiated multiple times in a sequence. If the source sequence was saved, its template would be wiped, which would invalidate the template ID When an instance tries to evaluate the master template, it would only invalidate a range in the evaluation field that was the hull of any invalid sub sequences overlapping the current time, potentially leaving invalid data in the evaluation field at positions later (or earlier) on in the sequence When the sub template was re-generated, it receives the same SequenceSignature as it had before (because the sequence hasn't actually changed), which causes the stale evaluation field data to fail the IsDirty check (because the sequence is the same as it thought, but the *template* has changed) This has been addressed be adding a signature to templates themselves, and checking both the template signature and sequence signature as a part of the IsDirty check. This ensures that we regenerate if either the template, or the sequence have changed. #jira UE-55934 Change 3936327 by Andrew.Rodham Sequencer: Removed increment when trimming right UMovieSceneSection::TrimSection already explicity assigns an exclusive bound to the time passed in. The new behavior means we can trim a section to the right, and insert another section without changing the time to create adjacent sections. #jira UE-42652 Change 3936328 by Andrew.Rodham Fixed KeyFrameManipulator assignment operators and copy/move constructors - These types are potentially self-referential so cannot use default constructors/assignment Change 3936330 by Andrew.Rodham Converted UMGSequencePlayer to use frames internally #jira UE-54878 Change 3936726 by Max.Chen Sequencer: Set track node as the parent of the key area node. The key area switcher needs the object binding id from the parent object binding node. Without this, the binding to the external value fails. #jira UE-55931 Change 3936775 by Max.Chen Sequencer: Should stop or loop should compare DurationFrames with Current Time from StartTime. The bug is that if you set 30 warmup frames in movie rendering for a range of 0-100, the FrameRange will be starting at -30 and have a duration of 130. Without this fix, the playback will continue until frame 130, rather than 100. #jira UE-55933 Change 3936935 by Matt.Hoffman Easing Curves are now represented in Play Rate resolution instead of internal resolution. #jira UE-55937 Change 3937069 by Matt.Hoffman Users can toggle if the is infinite on each side, limited by which tracks support infinite ranges. #jira UE-55891 Change 3937516 by Max.Preussner ImgMedia: Added support for single-threaded platforms #jira UE-55986 Change 3937826 by Max.Preussner MediaAssets: Disabling media sound components on HTML5 if AudioMixer is not enabled Change 3937997 by Max.Chen Curve Editor: Add Zoom to Fit Curves so that selected curves from Sequencer can be focused on. Tested that undo doesn't re-zoom. #jira UE-55935 Change 3938000 by Max.Chen Sequencer: Stop all sounds before generating audio waveforms. #jira UE-55951 Change 3938376 by Max.Preussner XGEController: Disabled XGE Controller in single-threaded apps to prevent crash Change 3938444 by Max.Preussner Core: Added async support for single-threaded applications Change 3938445 by Max.Preussner Networking: Added support for single-threaded applications in UDP socket sender/receiver Change 3938447 by Max.Preussner Messaging: Added support for single-threaded applications Change 3939432 by Max.Chen Sequence Recorder: Append command list to global level editor actions so that shortcuts are accessible in level editor. #jira UE-55798 Change 3940229 by Andrew.Rodham Added prospective display rate upgrade to UMovieScene::PostLoad - There was previously some very odd behaviour that would assign the fixed frame interval only when a sub sequence was focused in SSequencer. This meant that many sequences could have a frame interval of 0 set in the data. - Under the old method of snap interval display this would have fallen back to getting the display interval from the sequencer settings, but we no longer look at these. - The USequencerSettings properties have been removed and in their place, a prospective data upgrade for sequences that have a fixed frame interval old 0fps that sets the play rate to the previous defaults based off the old USequencerSettings defaults. - This could end up 'changing' the display rate for sequences where the user has changed the snap interval in the settings for a particular sequence editor, but there's not much we can do about that given we don't have access to the USequencerSettings classes in UMovieScene #jira UE-55919 Change 3940277 by Andrew.Rodham Sequencer: Added ability to default frame resolutions and play rates for newly created actor sequences Change 3940378 by Andrew.Rodham Sequencer: Post move import dialog now defaults to the playback framerate of the sequence, and floors to frame numbers Change 3940559 by Andrew.Rodham Reinstated primed or recording sequence color Change 3940642 by Max.Preussner ImagePlate: Removed image plate media playback functionality Change 3940843 by Max.Preussner Core: Made TCircularQueue actually thread-safe; improved code comments Change 3940860 by Max.Chen Sequencer: Changed StructNameToKey to StructPathToKey Previously, keying a PropertyPath of [RenderTransform][Shear][X] would get trimmed to X, which doesn't map to a channel name as considered by Sequencer2dTransformTrackEditor. Instead, trim the resulting property path to [Shear][X] so that track editors can determine the desired struct path and channels to key. #jira UE-52966 Change 3941292 by Mike.Zyracki Fix for trajectories out of range not showing up. 1) If we had no key data we would pop the time, so wouldn't get the section ranges. 2) Calculating of upper bound was wrong, checking against -1 and not key == num of keys when doing algo::lower_bound. 3) No need to do the Bck-- for the bakward iterators since we fixed #2. We start now from the upper bound correctly. 4) If we had no keys (at section start,end) we would incorrectly say we were any key type, so since we draw constant keys as dashed we would do so incorrectly around section end points. #jira UE-55929 Change 3941424 by Max.Chen Curve Editor: Change Zoom to Fit to use TArrayView Change 3941498 by Max.Preussner Core: Added FMath::DivideAndRoundNearest function Change 3942097 by Matt.Hoffman Drop Frame Timecode Support for NTSC rates. Change 3942104 by Matt.Hoffman Sequence Recorder Group is no longer visible inside the World Outliner after using one. #jira 55266 Change 3942107 by Max.Chen Sequencer: Resurrect logic to find or extend an existing section when adding keys. Change 3942330 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942339 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942507 by Andrew.Rodham Sequencer: We no longer pad the time overlap threshold with a small number that is not scaled by the current zoom level - The presence of this pad was causing keys that were far apart to be grouped when zoomed in a long way Change 3942509 by Andrew.Rodham Sequencer: Only pad total view range, rather than section range as well when retrieving keys to render - This stops us from rendering keys that are within the view range, but outside the section range Change 3942512 by Andrew.Rodham Added transactions to some sequencer details customizations Change 3942513 by Andrew.Rodham Sequencer: Reinstated validation checks to UMovieSceneSection::SetStartFrame and SetEndFrame, changed erroneous uses to use SetRange Change 3942560 by Andrew.Rodham Pass by rvalue reference to appease error C2719 on Win32 ('InChannels': formal parameter with requested alignment of 8 won't be aligned) Change 3942697 by Andrew.Rodham Newly Created Level Sequences and Actor Sequences now default to 24000 fps frame resolution (+/- ~24hrs range, supporting all integer rates + 23.976) Change 3942700 by Andrew.Rodham Sequencer: Added legacy out-of-bounds errors for times that are not supported by the current legacy upgrade frame resolution Change 3942989 by Max.Preussner Core: Fixed circular queue count calculation Change 3943538 by Max.Preussner MediaAssets: Reverted workaround for procedural audio log spam in HTML5 (Actor component initialization cannot be skipped if the component is used in a level) Change 3944071 by Max.Preussner QAGame: Fixed Media Texture keeps last frame of Media when PIE ends #jira UE-53360 Change 3944292 by Max.Chen Sequencer: Added extra flags to ensure that asset initialization does not occur on template actor sequences #jira UE-56113 Change 3944364 by Max.Chen Sequencer: Prevent circular shot/master tracks. Tested adding master -> child -> master as drag and drop cinematic shot tracks and sub tracks as well as through the + button. #jira UE-56091 Change 3944422 by Max.Chen Sequence Recorder: Disable transform recording if off. #jira UE-56061 Change 3944745 by Andrew.Rodham Sequencer: Key rendering fixes - Fixed assert that occured when keys happened to reside on some times due to KeyTime + TimeOverlapThreshold - KeyTime being slightly larger TimeOverlapThreshold - Fixed keys sometimes being clipped when zoomed right in due to lack of half-frame offset - Added missing documentation to MovieSceneTimeHelpers.h #jira UE-56107 Change 3945231 by Andrew.Rodham Sequencer: Reconstruct channel proxy on Serialize to catch all cases of undo/redo, PostLoad and duplication #jira UE-56089 Change 3945301 by Andrew.Rodham Sequencer: Added safety checks during initial sequence recording to guard against applying negative or 0-sized sequence ranges #jira UE-56125 Change 3946627 by Max.Preussner Fortnite: Fixed game crashes closing editor while in PIE - Pure virtual function being called #jira UE-56144 [CL 3946896 by Max Chen in Main branch]
2018-03-14 22:09:33 -04:00
if (!bCanZoomIn)
{
ViewRange = ViewRangeStack.Pop();
}
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3946692) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3801826 by Max.Chen PR #4304: Level Sequence crash fix - Guarded against dereferencing null componen. (Contributed by DSDambuster) Change 3801828 by Max.Chen PR #4302: Movie Scene Visibility Template unitialised variable, causing random . (Contributed by DSDambuster) Change 3801837 by Max.Chen Sequencer: Delay spawning/construction for convert to possessable. This fixes a bug where property values would be lost when converting back and forth from possessable to spawnable. #jira UE-52400 Change 3801841 by Max.Chen Sequencer: Make spacer nodes not selectable. PR #4194: Improvements to Sequencer (Contributed by projectgheist) #jira UE-53117 #jira UE-52139 Change 3804183 by Max.Preussner MediaAssets: Added missing lock in media sound component Change 3805414 by Max.Preussner MediaAssets: Setting valid GUID when initializing media texture resource Change 3819578 by Max.Chen PR #4370: When enabling the "MovieCapture", do not turn off the Stereo-3D display. (Contributed by yehaike) #jira UE-53647 Change 3823414 by Max.Chen Curve Editor: Lock down the first and last keys in the redundant keys removal range so that they're unaffected. #jira UE-53591 Change 3826406 by Max.Chen Sequencer: Move OnStartedPlaying() to within first update in UpdateTimeCursorPosition(). This fixes an issue where setting the hud/player visibility was getting stomped on later. #jira UE-52772 Change 3827044 by Max.Preussner MediaAssets: Added sprite visualization to media sound component #jira UE-53594 Change 3827988 by Max.Preussner MediaPlayerAssets: Fixed Media Texture is not linked to Media Player when created together #jira UE-53532 Change 3828506 by Max.Preussner MediaPlayerEditor: Added attenuation visualizer for media sound components #jira UE-53594 Change 3832590 by andrew.porter EngineTest: Added a keep state check in Property Animation sequencer test Change 3833053 by andrew.porter EngineTest: Adding Hierarchical Bias test Change 3835683 by andrew.porter EngineTest: Adding UMG Animation screenshot test Change 3836076 by Max.Chen Sequencer: Fix audio volume and pitch multiplier deprecation. Change 3836230 by andrew.porter EngineTest: Adding Sequence Bone Position automation test Change 3836347 by Max.Chen Sequencer: Fixes to shot name parsing. When a shot doesn't contain a shot number, assume, [ShotName]_[TakeNumber]. When duplicating a shot, put the new shot in the same path of the original shot, so that the take numbers will increment properly. #jira UE-51868 Change 3836552 by Max.Chen Sequencer: Sub section now has a takes menu Change 3838094 by Max.Chen UMG: Fix template finish not getting called on stop. This fixes a bug where sections aren't restored when finished. #jira UE-52285 Change 3838708 by Max.Chen Sequencer: Add notification when the blend type is changed. #jira UE-54046 Change 3840295 by Max.Chen Sequencer: Fix copy/paste crash for lights #jira UE-54084 Change 3840957 by Mike.Zyracki Added Show Only Keyable and Show Only Animated to the filter list in the property editor. Added IsPropertyAnimated to IDetailKeyframe Interface which already had support for showing properties which are keyable (which is used for the key icon next to the properties.). Could have created another interface but then would have had to mimic the sequencer binding, releasing also, so this seemed best way. One issue still left is that custom built detail items currently don't store associated properties(usually) and so certain properties, in particulalry transforms, won't show up as keyable or animated. Note this also shows up with the keyable icon not showing up next to transform tracks, and other filters like Show Only Modified not working with transforms/customs. Not sure best way to tackle this. #jira UESEQ-328 Change 3841756 by Max.Chen Sequencer: Fix unbound possessable components when pasting spawnables. #jira UE-54104 Change 3843950 by andrew.porter EngineTest: Renaming LevelStreaming tests/content to LevelVisibility Change 3844082 by Mike.Zyracki Missing file for animated filter in property editor. When finding if a track is animated we need to find it but we can't easily induce the MovieTrack class for any particular property. So we don't set a class for it and just search by it's ID and name. #jira UESEQ-328 Change 3846902 by Max.Preussner ImgMedia: Fixed image media player never finished initialization if loading failed #jira UE-54247 Change 3849820 by Mike.Zyracki Reassigning deleted widgets didn't work since the menu extender mechanism needs a valid UObject in order to perform an operation on it. So to fix we replaced GetObjectBindingContextMenuExtender in WidgetBlueprint with new delegate mechanism (OnBuildCustomContextMenuForGuid) that supports FGuid in addition to UObjects which is needed to handle re-binding deleted widgets. Note that the default sequencer hacks this for replacing deleted actors in SequencerObjectBindingNode to check to see if a LevelSequence is active. We could move to this mechanism there also. #jira UE-53163 Change 3852211 by Max.Chen UMG: Indicate name of the property that is not bound. #jira UE-54350 Change 3854120 by Max.Chen Sequencer: Fix sibling folders being allowed to have the same folder name. #jira UE-54363 Change 3854627 by Max.Chen Sequencer: Step to next/previous key should work for all tracks if there aren't any selected. #jira UESEQ-391 Change 3855825 by andrew.porter EngineTest: Adding animation blending automation test Change 3855950 by andrew.porter EngineTest: Adding correct expected valuues to animation blending test Change 3856237 by Matt.Hoffman UESEQ-336 - Sequencer Track Reordering Adds the ability to re-order Master Tracks, Folders and Object Bindings within sequencer hierarchies (including UMG). Adds the ability to do a one-off sorting of the content under the old sorting behavior if the user wants to reset their layout to how it was under legacy behavior. Modifies SequencerTrackNodes, SequencerFolderNodes and SequencerObjectBindingNodes to handle CanDrop/OnDrop for above, below and ontop of. Fixes a Slate Issue that forcibly expanded a TreeviewRow if an item handled OnDrop. Slate will now only forcibly expand the row if the item says the drop happened ontop of the item, and not above or below it like it previously did. Change 3856503 by andrew.porter EngineTest: Adding automation test for using animation blueprint with blend multi node in sequencer Change 3857875 by Max.Chen Sequencer: Assign the sequence id after the template is compiled. #jira UE-54462 Change 3858344 by Max.Chen Sequencer: Prevent Goto and Transform boxes from overlapping by allowing them to be visible at the same time in an autosized horizontal box. Also, added close button to the goto box. PR #4425: Prevent Goto and Transform boxes from overlapping in Sequencer ... (Contributed by projectgheist) #jira UE-54210 Change 3860566 by andrew.porter MediaFrameworkTest: Set the option to index 0 for the audio and video track list by default Change 3860654 by andrew.porter EngineTest: Enabling Camera Cut + FOV test Change 3860981 by andrew.porter EngineTest: Updating skeletal mesh tests with a delay after set playback position Change 3861256 by Max.Chen Sequencer: Add all bindings if none selected. #jira-54440 Change 3862154 by Andrew.Rodham Added TimeManagement module Change 3862424 by andrew.porter EngineTest: Turned on the test Bone Positions with Blend Multi Node Change 3862573 by andrew.porter EngineTest: Adding test to compare bone positions in a sequence that is blending an animation that is using an AnimBP Change 3865117 by Max.Chen Sequencer: Stop auto scroll on mouse release of movement. #jira UE-31212 Change 3865303 by Max.Chen Sequencer: Add drag and drop transactions #jira UE-54662 Change 3865304 by Max.Chen Sequencer: Fix crash when an actor factory is not found. Change 3865361 by Max.Chen Sequencer: Don't change the camera/shot lock button when popping out of a sequence. #jira UE-54665 Change 3865412 by Max.Chen Sequencer: Determine whether a transform track is for a camera by using the spawned object or template #jira UE-54666 Change 3865685 by Max.Chen Sequencer: Clear autoscrub offset when stopping autoscroll #jira UE-31212 Change 3865886 by Max.Chen Sequence Recorder: Log an error if the number of frames changes while recording. This can happen if the skeleton changes while recording. #jira UE-48715 Change 3866925 by Andrew.Porter MediaFrameworkTest: Changing the current PNG test video image sequence to 1024 x 576 Change 3867705 by andrew.porter QAGame: Adding Audio Sort Sequence to dev folder Change 3867890 by andrew.porter QAGame: Adding a sequence for testing a sorting crash to my dev folder Change 3872628 by Max.Chen Movie Scene Capture: Split delay before warmup into split delay before shot warmup so that there's separate controls for when the movie scene capture warmups up vs. shot boundaries. Change 3873131 by Matt.Hoffman UE-54732 - Crash reordering a folder with a track. This was caused by folders being the only type of track to check if someone was putting a parent track into a child track. Object Binding tracks and Tracks now check as well so that you can't use the above/below drop targets to add parents as children. This also fixed a typo in the localization keys. #jira UE-54732 Change 3873301 by Mike.Zyracki Added ability to support continous euler angle changes when changing rotations, in particularly with the rotation gizmo's. To do this we effectively added a form an of 'euler filter'(https://en.wikipedia.org/wiki/Euler_filter) to find the closest euler angle to the current euler angle. Three functions were added to FRotator to make this possible, one to get the euler angle that's has the same rotation as it, one to get the difference between two euler angles via Manhattan distance and a third using the previous two to choose a Rotator value that's closest to it. We then use these functions before calling UComponent::SetRelativeRotation to make sure we use the correct Euler after the Quat conversion. We also no longer limit(bound) the euler angles to -180,180, which is obviously necessary to avoid flips. I also changed how we caluclate yaw and roll when pitch is -90 or 90 to make it the standard approach of zeroing out roll and just setting yaw. Main reasons are the previous implementation had precision issues so things like 180, 90, -180 would show up due to numbers being nearly zero but negative,(this would break any smooth interpolations), and this facilitates having a 'gimbal' rotation mode (like Maya, Blender etc..) if we ever want that also. If needed we could keep the previous implementation but would need to add some FMath::IsNearlyZero checks, with less performance. Note we only do this special filtering when applying delta's to actors or components in the editors, which then call UComponent::SetRelativeRotationExact, which is a new function to foces the RelativeRotation to be equal to the new rotation. This allows us to store un-nomalized Rotators at the cost that the RotationCache may be broken. We didn't change any of the other UComponent functions that set rotations (via Quats or Transforms) so they will still be bounded and unwound. In SetInternalWorldLocationAndRotation we only set the rotation if the rotation has changed, which fixes the rotation getting changed and re-normalized if just translate happens. In TransformTrackEditor, we correclty use the bUndwing flag and in MovieScene3DTransformSection there was an un-needed winding check there, it will be unwound earlier if needed, which happens if Sequence Recording is happening. Max we should talk about what to do about this . Note the euler angle drag via the widget is still bound to 0-360. I think we should just unbound that now since the rotations value are now unbound. This review now includes fixes suggested by Zak. #jira UE-UE-22228 Change 3873483 by Matt.Hoffman Sequencer Tracks can now be inserted above the spacer at the bottom of the tree. #jira UE-54706 Change 3873899 by Max.Chen Sequencer: Add section selection throbbing Change 3873908 by Max.Chen Movie Scene Capture: Added logging per frame Change 3873924 by Matt.Hoffman Adds the ability to store Sequence Recorder setups into profiles that stay with the map and can be re-loaded later. Profiles store the Actor Recordings so the settings for each actor should carry with them. #jira UESEQ-339 Change 3874726 by Matt.Hoffman Disable drag-and-drop targets on spacers that come between rows in Sequencer. This prevents extra drag/drop targets showing up between each row. #jira UE-54706 Change 3874862 by Matt.Hoffman Audio Track no longer gets reordered when adding sub-audio tracks, as sub-tracks are no longer counted towards the sorting order index when normalizing indexes. #jira UE-54727 Change 3875905 by Matt.Hoffman Disable Fade Track UI if a fade track already exists in the sequence. #jira UESEQ-393 Change 3876163 by Max.Chen Sequencer: Swap the camera object to the camera component's owner if it's not the same. #jira UE-54874 Change 3876971 by Andrew.Porter EngineTest: Moved Media Player Seek test to new folder. Also enabled the test with new ground truth image. Change 3877040 by Max.Chen Cine Camera: Split camera properties to two groups, "Camera Options" and "Camera Settings". The cine camera now hides properties in the "Camera Settings" group so that properties like bConstrainAspectRatio (in the "Camera Options" group) can be visible. #jira UE-54192 Change 3877763 by Max.Chen Curve Editor: Fix curve changed on end drag so that only curves that had keys/tangents that were changed receive notification, otherwise all loaded curves were getting notified that they were changed. #jira UE-54951 Change 3878234 by Matt.Hoffman Disable "Drop Below" targets for Sequencer Tree nodes to prevent a confusing UX issue where dropping underneath a Object Binding Node puts it after the object binding node but the UI looks like it's inserting it inside the Object Binding node. #jira UE-54743 Change 3879359 by Mike.Zyracki If a track is inactive we dim it a bit which seems to be the UE4 way to show inactive or disabled state. We changed the active logic so that all subtracks need to be inactive for the track to also be inactive(instead of all active for active). This conforms to how the active state actually works, e.g if you have two sections and only one is active the track is still active above it. #jira UESEQ-388 Change 3879462 by Max.Chen Sequencer: Allow dragging onto a particular row which would move out any overlapping sections to make space for the newly created section. Newly created sections are now selected and throbbed to draw attention to themselves. #jira UE-54664 Change 3879464 by Max.Chen Sequencer: Fixed overlapping ranges being inserted into the evaluation field during compilation - The issue was that track segments that had been combined with adjacent segments (due to them being identical) would potentially cause a subsequently compiled frame to overlap with a range that had already been inserted into the evaluation field. - The insertion code previously asserted that only minor overlaps were catered for (due to fp rounding errors) and assumed that a supplied range could not entirely contain any other range in the field. - The solution is to supply the insertion time along with the range to know exactly where the data should live in the field, and crop the range to the maximum allowable space between adjacent ranges. #jira UE-54922 Change 3879590 by Matt.Hoffman Items that are now added to the Sequencer via the "+Track" menu will be selected after being added. Items can now be added inside of folders instead of just to the root level. #jira UE-27397 Change 3879612 by Mike.Zyracki Display Nodes with no children are always active. #jira UESEQ-388 Change 3879730 by Matt.Hoffman Sequence Recorder's actor recording groups now remove items from the group when removed via the UI. #jira UESEQ-339 Change 3880256 by Mike.Zyracki Fix issue with inactive display with folders and other track nodes. #jira UESEQ-388 Change 3883491 by Max.Chen Fix issue where tick is skipped due to last ticked pose isn't cleared after AnimInstance changes. Copy from Release-4.19 #jira UE-51323 Change 3883603 by Max.Chen Movie Scene Capture: Add option toggle disable screen percentage. By default this is on (no change in current behavior). #jira UE-51898 Change 3885074 by Max.Preussner MediaCompositing: Resetting media texture & freeing resource on section end; removed dead code Change 3887220 by Max.Preussner MediaCompositing: Defaulted media section duration to 1 sec (since we do not know the actual duration in most cases) Change 3887478 by Matt.Hoffman Sequences now show [Inactive] in their title bars when they're disabled. This helps communicate why a sequence isn't being evaluated. #jira UE-51469 Change 3888985 by Max.Chen Movie Scene Capture: Clamp HDR Compression Quality between 0 and 1. #jira UE-55136 Change 3893519 by Max.Chen Sequence Recorder: Clarified tooltip for bRecordNearbySpawnedActors - spawned actors will still be recorded if they match the ActorFilter. #jira UE-55238 Change 3893546 by Max.Chen Sequence Recorder: If a selected actor already has a recording, add a blank recording. #jira UE-55239 Change 3894044 by Max.Preussner MediaCompositing: Added support for seeking into a media section Change 3894310 by andrew.porter MediaFrameworkTest: Adding Img media sources for 1080 and 2160 ravent test content Change 3894426 by Max.Preussner MediaAssets: Letting media textures with AutoClear retain their clear color when player is reset Change 3895717 by Max.Chen Sequencer: Null checks to prevent crash when saving the default state of a spawnable #jira UE-55304 Change 3897388 by Max.Chen Sequencer: Don't update current time to be within the view range when stepping into a sequence. #jira UE-55322 Change 3897452 by Max.Chen Audio: Fix crash when trying to record audio without any active capture devices. Log warning if the number of input channels is not 1 or 2. #jira UE-55223 Change 3897619 by Max.Preussner MediaCompositing: Removed commented out code Change 3898072 by Max.Chen Sequencer: Override the animation asset in the player state if it doesn't match the animation asset that's being evaluated. #jira UE-55328 Change 3898272 by Max.Preussner MediaPlayerEditor: Made slate brush constants static Change 3898704 by Max.Chen Sequencer: Skip if the binding id's sequence can't be found. #jira UE-55337 Change 3899855 by Max.Preussner MediaCompositingEditor: Added cache state visualization to media track Change 3900300 by Max.Preussner MediaCompositingEditor: Added loop indicators to media sections Change 3900694 by Max.Preussner ImfMedia: Looping cache only when player is looping Change 3900892 by Max.Preussner Stats: Added stats category for media framework Change 3900954 by Max.Preussner MediaCompositing: Don't evaluate at the end of media section Change 3901348 by Max.Preussner Core: Replaced TLruCache autos for better readability Change 3901655 by Max.Preussner ImgMedia: Added more perf stats to EXR reader Change 3901972 by Max.Preussner MediaAssets: Added getter for media player in media sound components Change 3902233 by Max.Preussner MediaAssets: Enabling media textures to receive samples right after player is assigned Change 3902238 by Max.Preussner MediaCompositing: Working around init/shutdown idiosyncracies in sequencer Change 3904045 by Max.Chen Sequencer: Fix copy/paste crash. Only process UMovieSceneCopyableBinding and objects that can be spawned by the movie scene spawn register. #jira UE-55314 Change 3905605 by Max.Chen Sequencer: Restrict spawnables from being created if they have a ClassWithin that UMovieScene is not a child of. #jira UE-55429 Change 3906550 by Max.Chen Sequencer: Add media track icon #jira UE-55480 Change 3907101 by Max.Chen Sequence Recorder: Fix bugs related to not recording a level sequence. There were certain assumptions that creating a level sequence meant that sequence recording was in progress. This is not always the case - the recorders can record animation assets and not create a level sequence. Changed the notion of IsRecording() to having at least one actor recording that is recording. Countdown timer, recording displays, etc should function if IsRecording() and not based on whether a level sequence is created. #jira UE-55485 Change 3907247 by Max.Chen Sequence Recorder: Fix crash not removing PrepareToCleanseEditorObject delegate. Repros when opening sequence recorder, closing it, and then opening or creating a level. Change 3910343 by Max.Preussner Core: Added async helper for executing functions on a given thread pool Change 3910346 by Max.Preussner ImgMedia: Added separate thread pools for loading/decoding and deleting image frames Change 3910829 by Max.Preussner Profiler: Increased visible range of profiler graph Change 3910841 by Max.Preussner MediaCompositing: Displaying asset name instead of full media source path in media section Change 3910870 by Max.Preussner ImgMedia: Using deallocation thread pool only in debug builds Change 3919642 by Max.Chen Sequence Recorder: Clarify active tooltip #jira UE-55661 Change 3919660 by Max.Chen Sequencer: Sequence template source signatures are now also compared to catch the case where a sub-sequence asset has been saved but not modified - The following sequence of events exposes this issue: - Create a master sequence with a single shot that spawns a cube - Add this sequence to a level and set it to auto-play - Save everything and restart - Resave just the inner shot asset without opening it - PIE - The inner shot never spawns its cube because its template was wiped on save, but its signature never changed. Since the master sequence previously didn't check the template source signature, it ends up trying to evaluate an empty template. #jira UE-55626 #jira UE-55490 Change 3921825 by Max.Chen Sequencer: "Run Construction Script in Sequencer" is off by default for blueprints but on for Sequencer. This allows the content author to switch it on for specific blueprints and sequencer will be default, run those with construction scripts enabled. Change 3922232 by Max.Chen Sequence Recorder: Reset countdelay on stop. #jira UE-55755 Change 3922306 by Max.Chen Sequence Recorder: Don't automatically mark transforms to be recorded by sequence recorder. Instead, log a warning if the user toggled it off to warn that the resulting animation might not match gameplay. #jira UE-55758 Change 3922912 by Max.Chen Sequence Recorder: Fix refresh next sequence name #jira UE-55757 Change 3927654 by Max.Chen Movie Scene Capture: Added format mapping for the name of the current camera #jira UE-55769 PR #4537 Change 3927658 by Max.Chen Sequencer: Added fbx property mapping for "FocusDistance" to "FocusSettings.ManualFocusDistance" #jira UE-55782 Change 3932022 by Max.Chen Sequencer: Add import animation track section to next available row index. #jira UE-55892 Change 3933919 by Max.Chen Sequencer: Jump to playback start frame and not 0 to start playback for recording. #jira UE-55933 Change 3934307 by Andrew.Rodham Sequencer: Add template signature that is re-generated every time the base template is regenerated, which invalidates evaluation fields This fixes an issue where the same sequence is instantiated multiple times in a sequence. If the source sequence was saved, its template would be wiped, which would invalidate the template ID When an instance tries to evaluate the master template, it would only invalidate a range in the evaluation field that was the hull of any invalid sub sequences overlapping the current time, potentially leaving invalid data in the evaluation field at positions later (or earlier) on in the sequence When the sub template was re-generated, it receives the same SequenceSignature as it had before (because the sequence hasn't actually changed), which causes the stale evaluation field data to fail the IsDirty check (because the sequence is the same as it thought, but the *template* has changed) This has been addressed be adding a signature to templates themselves, and checking both the template signature and sequence signature as a part of the IsDirty check. This ensures that we regenerate if either the template, or the sequence have changed. #jira UE-55934 Change 3936327 by Andrew.Rodham Sequencer: Removed increment when trimming right UMovieSceneSection::TrimSection already explicity assigns an exclusive bound to the time passed in. The new behavior means we can trim a section to the right, and insert another section without changing the time to create adjacent sections. #jira UE-42652 Change 3936328 by Andrew.Rodham Fixed KeyFrameManipulator assignment operators and copy/move constructors - These types are potentially self-referential so cannot use default constructors/assignment Change 3936330 by Andrew.Rodham Converted UMGSequencePlayer to use frames internally #jira UE-54878 Change 3936726 by Max.Chen Sequencer: Set track node as the parent of the key area node. The key area switcher needs the object binding id from the parent object binding node. Without this, the binding to the external value fails. #jira UE-55931 Change 3936775 by Max.Chen Sequencer: Should stop or loop should compare DurationFrames with Current Time from StartTime. The bug is that if you set 30 warmup frames in movie rendering for a range of 0-100, the FrameRange will be starting at -30 and have a duration of 130. Without this fix, the playback will continue until frame 130, rather than 100. #jira UE-55933 Change 3936935 by Matt.Hoffman Easing Curves are now represented in Play Rate resolution instead of internal resolution. #jira UE-55937 Change 3937069 by Matt.Hoffman Users can toggle if the is infinite on each side, limited by which tracks support infinite ranges. #jira UE-55891 Change 3937516 by Max.Preussner ImgMedia: Added support for single-threaded platforms #jira UE-55986 Change 3937826 by Max.Preussner MediaAssets: Disabling media sound components on HTML5 if AudioMixer is not enabled Change 3937997 by Max.Chen Curve Editor: Add Zoom to Fit Curves so that selected curves from Sequencer can be focused on. Tested that undo doesn't re-zoom. #jira UE-55935 Change 3938000 by Max.Chen Sequencer: Stop all sounds before generating audio waveforms. #jira UE-55951 Change 3938376 by Max.Preussner XGEController: Disabled XGE Controller in single-threaded apps to prevent crash Change 3938444 by Max.Preussner Core: Added async support for single-threaded applications Change 3938445 by Max.Preussner Networking: Added support for single-threaded applications in UDP socket sender/receiver Change 3938447 by Max.Preussner Messaging: Added support for single-threaded applications Change 3939432 by Max.Chen Sequence Recorder: Append command list to global level editor actions so that shortcuts are accessible in level editor. #jira UE-55798 Change 3940229 by Andrew.Rodham Added prospective display rate upgrade to UMovieScene::PostLoad - There was previously some very odd behaviour that would assign the fixed frame interval only when a sub sequence was focused in SSequencer. This meant that many sequences could have a frame interval of 0 set in the data. - Under the old method of snap interval display this would have fallen back to getting the display interval from the sequencer settings, but we no longer look at these. - The USequencerSettings properties have been removed and in their place, a prospective data upgrade for sequences that have a fixed frame interval old 0fps that sets the play rate to the previous defaults based off the old USequencerSettings defaults. - This could end up 'changing' the display rate for sequences where the user has changed the snap interval in the settings for a particular sequence editor, but there's not much we can do about that given we don't have access to the USequencerSettings classes in UMovieScene #jira UE-55919 Change 3940277 by Andrew.Rodham Sequencer: Added ability to default frame resolutions and play rates for newly created actor sequences Change 3940378 by Andrew.Rodham Sequencer: Post move import dialog now defaults to the playback framerate of the sequence, and floors to frame numbers Change 3940559 by Andrew.Rodham Reinstated primed or recording sequence color Change 3940642 by Max.Preussner ImagePlate: Removed image plate media playback functionality Change 3940843 by Max.Preussner Core: Made TCircularQueue actually thread-safe; improved code comments Change 3940860 by Max.Chen Sequencer: Changed StructNameToKey to StructPathToKey Previously, keying a PropertyPath of [RenderTransform][Shear][X] would get trimmed to X, which doesn't map to a channel name as considered by Sequencer2dTransformTrackEditor. Instead, trim the resulting property path to [Shear][X] so that track editors can determine the desired struct path and channels to key. #jira UE-52966 Change 3941292 by Mike.Zyracki Fix for trajectories out of range not showing up. 1) If we had no key data we would pop the time, so wouldn't get the section ranges. 2) Calculating of upper bound was wrong, checking against -1 and not key == num of keys when doing algo::lower_bound. 3) No need to do the Bck-- for the bakward iterators since we fixed #2. We start now from the upper bound correctly. 4) If we had no keys (at section start,end) we would incorrectly say we were any key type, so since we draw constant keys as dashed we would do so incorrectly around section end points. #jira UE-55929 Change 3941424 by Max.Chen Curve Editor: Change Zoom to Fit to use TArrayView Change 3941498 by Max.Preussner Core: Added FMath::DivideAndRoundNearest function Change 3942097 by Matt.Hoffman Drop Frame Timecode Support for NTSC rates. Change 3942104 by Matt.Hoffman Sequence Recorder Group is no longer visible inside the World Outliner after using one. #jira 55266 Change 3942107 by Max.Chen Sequencer: Resurrect logic to find or extend an existing section when adding keys. Change 3942330 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942339 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942507 by Andrew.Rodham Sequencer: We no longer pad the time overlap threshold with a small number that is not scaled by the current zoom level - The presence of this pad was causing keys that were far apart to be grouped when zoomed in a long way Change 3942509 by Andrew.Rodham Sequencer: Only pad total view range, rather than section range as well when retrieving keys to render - This stops us from rendering keys that are within the view range, but outside the section range Change 3942512 by Andrew.Rodham Added transactions to some sequencer details customizations Change 3942513 by Andrew.Rodham Sequencer: Reinstated validation checks to UMovieSceneSection::SetStartFrame and SetEndFrame, changed erroneous uses to use SetRange Change 3942560 by Andrew.Rodham Pass by rvalue reference to appease error C2719 on Win32 ('InChannels': formal parameter with requested alignment of 8 won't be aligned) Change 3942697 by Andrew.Rodham Newly Created Level Sequences and Actor Sequences now default to 24000 fps frame resolution (+/- ~24hrs range, supporting all integer rates + 23.976) Change 3942700 by Andrew.Rodham Sequencer: Added legacy out-of-bounds errors for times that are not supported by the current legacy upgrade frame resolution Change 3942989 by Max.Preussner Core: Fixed circular queue count calculation Change 3943538 by Max.Preussner MediaAssets: Reverted workaround for procedural audio log spam in HTML5 (Actor component initialization cannot be skipped if the component is used in a level) Change 3944071 by Max.Preussner QAGame: Fixed Media Texture keeps last frame of Media when PIE ends #jira UE-53360 Change 3944292 by Max.Chen Sequencer: Added extra flags to ensure that asset initialization does not occur on template actor sequences #jira UE-56113 Change 3944364 by Max.Chen Sequencer: Prevent circular shot/master tracks. Tested adding master -> child -> master as drag and drop cinematic shot tracks and sub tracks as well as through the + button. #jira UE-56091 Change 3944422 by Max.Chen Sequence Recorder: Disable transform recording if off. #jira UE-56061 Change 3944745 by Andrew.Rodham Sequencer: Key rendering fixes - Fixed assert that occured when keys happened to reside on some times due to KeyTime + TimeOverlapThreshold - KeyTime being slightly larger TimeOverlapThreshold - Fixed keys sometimes being clipped when zoomed right in due to lack of half-frame offset - Added missing documentation to MovieSceneTimeHelpers.h #jira UE-56107 Change 3945231 by Andrew.Rodham Sequencer: Reconstruct channel proxy on Serialize to catch all cases of undo/redo, PostLoad and duplication #jira UE-56089 Change 3945301 by Andrew.Rodham Sequencer: Added safety checks during initial sequence recording to guard against applying negative or 0-sized sequence ranges #jira UE-56125 Change 3946627 by Max.Preussner Fortnite: Fixed game crashes closing editor while in PIE - Pure virtual function being called #jira UE-56144 [CL 3946896 by Max Chen in Main branch]
2018-03-14 22:09:33 -04:00
if (bCanZoomIn)
{
// push the current value onto the stack
ViewRangeStack.Add(ViewRange);
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 4044339) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3947021 by Max.Chen Sequencer: Don't preserve root component when copying object properties. A spawnable empty actor, has a root component that is generated by the empty actor factory. If the object template's root component is preserved when copying from the spawnable empty actor, the root component will not be copied over. Therefore, we need to NOT preserve the root component when copying object properties. #jira UE-55825 Change 3947366 by Max.Preussner WmfMedia: Better log output Change 3947367 by Max.Preussner MfMedia: Better detection of compressed format properties on Windows Change 3949102 by Max.Chen Sequencer: Remove SequenceActorTag when converting to possessable. #jira UE-56206 Change 3949207 by andrew.porter EngineTest: Set the screenshot nodes resolution to 1280x720 Change 3949404 by Max.Chen Sequencer: More informative tooltip for "Rerun Construction Scripts" option. It now says "Rerun construction scripts every frame on actors that have 'Rerun Construction Script in Sequencer' enabled in their class settings". Change 3950067 by Matt.Hoffman Renamed UAutomatedLevelSequenceCapture's StartFrame and EndFrame to CustomStartFrame/CustomEndFrame to reflect that it is user-overriden. This will also resolve upgrade issues due to the variable datatype changing. #jira UE-56189 Change 3950193 by JohnHenry.Carawon Updating my latest MovieRendering test content. Change 3950757 by JohnHenry.Carawon More updates to MovieRendering test content Change 3952059 by Max.Chen Resave LevelVisibility_SubLevels to fix data loss conversion warning of OpacityMaskConstant #jira UE-56086 Change 3952283 by Max.Chen Sequencer: Disable dropping level sequence assets as spawnables. #jira UE-56120 Change 3952422 by Max.Chen Sequence Recorder: Add button to record from the current player. #jira UE-55942 Change 3952987 by JohnHenry.Carawon MovieRendering Test Content - Fixing camera bindings and changing the override binding actor Change 3953823 by Mike.Zyracki Fix for Bad FBX Import Tangents not scaled by frame rate. After looking at this again it seems that a set of MovieScene:: overiddes for the channel traits wasn't set correctly, so use the ADL idiom to use MovieScene, which can then call Optimize in the correct namespace. With this we can now correctly use the passed in tolerance. There was also a redundant set of Optimize calls so that it could happen twice so removed them, and needed an extra check in the float channel Optimize. Also since we need to set auto tangents no matter if we optimize we don't set that parameter(though leave it since it's used by context menu key reduction). Finally fixed speed issue with trajectories caused by calculating way too many substeps. Reverted back to a time based step size for consistency. #jira UE-56193 Change 3954317 by Matt.Hoffman Adding a key to the last frame of a section no longer causes a crash. Keys can already be moved to be on the last frame of a section so now you can just add a key there directly. #jira UE-56255 Change 3954326 by Matt.Hoffman Dilating a section that is only infinite on one side no longer causes a crash. #jira UE-56260 Change 3954486 by Max.Chen PR #4580: Exposes IsReversed() from UMovieSceneSequencePlayer (Contributed by alanedwardes) Change 3955238 by Max.Preussner Messaging: Enabled delayed message routing https://github.com/EpicGames/UnrealEngine/pull/4574 #jira UE-56247 Change 3955901 by Max.Preussner MediaFrameworkTest: Added developer test for overriding desired media player plug-in at runtime. Change 3955922 by Andrew.Porter QAGame: Updating movie rendering content in dev folder Change 3956004 by andrew.porter QAGame: Adding MPC track to movie rendering test content Change 3956510 by Max.Chen Sequencer: Fix fbx camera import of static properties so that they are imported before default tracks are created. Otherwise, the default tracks inherit the default properties of the camera, rather than the values from the fbx. #jira UE-56311 Change 3957613 by Max.Preussner MediaUtils: Added code documentation to media player facade Change 3958005 by Max.Preussner MediaUtils: Added method to get number of sinks Change 3958934 by Max.Chen Sequencer: Fix keys getting added and sequence getting erroneously re-evaluated when auto key is off. Only apply defaults if there are no keys. Only modify the movie scene section before creating keys or setting defaults. #jira UE-55903 Change 3959687 by Andrew.Rodham Sequencer: Fixed visibility track external values being inverted #jira UE-56324 Change 3960507 by Max.Preussner Core: Fixed incorrect rounding in FMath::DivideAndRoundNearest Change 3962047 by JohnHenry.Carawon MovieRendering Test Content Changes: - Add Lightmass Importance Volumes to sublevel to fix warnings - Rebuilt Lighting - Add a third sequence for Gamut testing - Resaved the sound master.uasset to fix warning Change 3962211 by Mike.Zyracki Add Frame Numbers to selected animation sections. Added MapTimeToAnimation to MovieSceneSkeletalAnimation so that we could get it from the Skeleton Animation track Editor. Since the thickness of the frame line can change based upon frame rate and zoom we need to calculate it similarly to how the time slider controller does it. Those calculations were private so we had to expose FScrubRangeToScreen and GetScubberPixelRange from the TimeSliderController. Also needed to know if the section itself was selected so added a bIsSelected flag to the section Painter. Also fixed a bug where you couldn't add a section if other sections existed at different times in MovieScenePropertyTrack and could crash due to the check(). #jira UESEQ-395 Change 3962497 by Max.Preussner Core: Added new string formatting argument to FTimespan Change 3963662 by Max.Chen CineCamera: Flip VistaVision width and height. Change 3963731 by Max.Preussner MediaCompositing: Implemented sequence recording support for media track Change 3964195 by Andrew.Rodham Sequencer: Set inverted property correctly for newly created visibility track sections - Also clamp evaluation for key editors to the bounds of the section so we're not displaying values outside of the section bounds when the cursor is not on the bounds #jira UE-56324 #coderevew Max.Chen Change 3964196 by Andrew.Rodham Sequencer: Fixed crash when attempting to render sections that resulted in a negative intersection with the view range Change 3964275 by Andrew.Rodham Sequencer: Fixed MovieScene::ClampToDiscreteRange for infinite range bounds Change 3964364 by Andrew.Rodham Curve Editor: Reduce minimum vertical view range when zooming to fit Change 3965091 by Max.Chen Sequencer Recorder: Refresh next sequence if empty when starting a recording, otherwise, use existing name. #jira UE-56469 Change 3965148 by Max.Chen Sequence Recorder: Move Record to Possessable to "Actor Recording" group Change 3965162 by Max.Chen Sequence Recorder: Always break out of immersive mode when done recording, even when stopping recording during countdown. #jira UE-56407 Change 3965214 by Max.Preussner QAGame: Enabled ImagePlate plug-in Change 3965574 by Max.Preussner SimpleComposure: Reorganized & upgraded content to work with new Media Track #jira UE-56488 Change 3965651 by Max.Preussner MediaCompositing: Ignoring seek-on-open if media not seekable Change 3966075 by Christina.TempelaarL Sequencer: Added Final Cut Pro 7 XML Export functionality #jira UESEQ-358 Change 3966087 by Matt.Hoffman Adding a single key to the Particle Toggle track now makes an infinite range section that is displayed in the UI. #jira UE-56295 Change 3966547 by Andrew.Rodham Sequencer: Fixed rounding errors when drawing the section background on boolean sections - Logic was using time in sectonds which caused rounding errors on evaluation and flickering red/green stripes when dragging keys around #jira UE-56324 Change 3966563 by Andrew.Rodham Curve Editor: Key editor interface improvements - SKeyEditInterface has a few problems - it does not update in real time when editing properties, and does not support multi-edit which makes it unsuitable for use with the curve editor - We now take a different approach for editing keys by gathering a set of proxy UObjects for each key that is currently selected. These objects are added as top level objects to the details panel which means they support multi edit as you'd expect from any other details panel in the editor. - Proxy objects are updated every tick for the curve editor if they implement the ICurveEditorKeyProxy interface, which allows them to refresh their current value. - Ideally, the same mechanisms would be used in the main sequence interface, and we would be generating the proxy classes at runtime based on the key value type, but that work remains a separate task from this initial offering. #jira UE-56165 Change 3966564 by Andrew.Rodham Curve Editor: Expand to frame when adding or moving keys in the curve editor Change 3967051 by andrew.porter MediaFrameworkTest: Set the CameraPlayer_Video texture to auto clear Change 3967141 by Andrew.Rodham Sequencer: Keep track of spawned objects that have been modified and only re-save such object's default spawnable state on destruction - Now that we're taking this approach, I've remove serveral redundant bits of functionality in the spawn register such as making some spawnables read-only, and the PreSave binding for Sequencer. - We now hook into all object pre-saves to make sure we handle the case where the sequences are saved through the content browser or elsewhere. #jira UE-47686 Change 3967170 by Andrew.Rodham Sequencer: Added the ability to possess anim instances as object bindings - This allows full and direct animation of properties on UAnimInstance, and animation blueprints - Object Bindings are made by first possessing a skeletal mesh component, then choosing the + Add button where its anim instance will be listed - Added a new function to UMovieSceneSequence to gather previously cached objects that should now be invalidated. Anim instances will be re-resolved if a new UAnimInstance is assigned to USkeletalMeshComponent::GetAnimInstance. - ObjectBindingIDs for anim instances are just represented by an entry in a set of GUIDs. We only ever resolve such bindings through USkeletalMeshComponent::GetAnimInstance. - Only currently supported on LevelSequences #jira UE-56132 Change 3967195 by Max.Preussner Core: Updated TRangeSet to use TCallTraits Change 3967345 by JohnHenry.Carawon Test Content Changes - first iteration of spacing out the examples in the shots. Change 3967572 by Max.Chen Sequencer: Fix setting PreviousPlayEvalPosition until after we've tested whether it's set. #jira UE-56518 Change 3967750 by Max.Chen Audio: Set duration based on number of input channels, rather than number of channels to serialize. This fixes an issue where audio split into 2 channels is set to a duration that's twice as long. #jira UE-56430 Change 3967836 by Max.Chen Sequencer: Allow for animating array elements within ustruct properties #jira UE-55887 Change 3968506 by Matt.Hoffman Fixed ambiguous conversions for seconds and frames being overriden by ambiguous conversion to Timecode (in frames). Change 3968748 by Max.Chen Sequencer: Make the event properties submenu widget larger. #jira UE-55557 Change 3968862 by Max.Chen Sequencer: Recursive expansion when shift is down #jira UE-52139 #pr 4194 Change 3968863 by Max.Chen Sequencer: Bind rename command to selected track so that F2 shortcut start renaming #jira UE-52139 #pr 4194 Change 3968872 by Max.Chen Sequencer: Rekey the selected key at the current time. #jira UESEQ-396 Change 3968938 by Max.Chen Cine Camera: Add option to toggle the behavior of locking the rail mount to the orientation of the spline. By default, the option is off, no change in behavior. #jira UE-55815 Change 3968958 by Andrew.Rodham Sequencer: Consider vertical position when hittesting keys #jira UE-56256 Change 3969643 by Max.Preussner Core: Rounding timespans created from double values towards nearest ticks Change 3969646 by Max.Preussner MediaUtils: Implemented timeout mechanism for block-on-fetch feature Change 3969776 by Mike.Zyracki Added Skip Anim Notifiers Toggle per what was in Matinee. Investigated the Enable Root Motion toggle as also discussed but it's implementation is directly contained by the animation asset and unlike animation notifies there seems to be no exposure to interactively disable it during a playback tick. Note if we are generating thumbnails we still automtically disable notifies in the editor to avoid annoying noise playback. Note that if Enable Root Motion/Root locked is specified in the animation asset it does correctly effect the Sequencer. #jira UESEQ-399 Change 3969835 by Matt.Hoffman Playback Range and Selection Range use unified logic for adding themselves as potential snap locations which properly handles inclusive/exclusive bounds. This resolves an issue where having an unset selection range caused a potential snap location to be added on frame 0 and 1 (internal resolution) which caused a misalignment when placing objects near frame 0. This also removes the one frame offset on setting Selection Range to bring behavior inline with other ranges. #jira UE-55420 Change 3969885 by Max.Preussner MediaAssets: Don't register media player CDO with media ticker Change 3971129 by Andrew.Rodham Sequencer: Fixed UMovieSceneSequencePlayer::GotToEndAndStop() not taking into account for start time This is a remnant from when the times were always specified in 0-duration space, rather than actual sequence times. Change 3972056 by JohnHenry.Carawon More updates to Test Content. I continued spacing out the examples in the sequence so that they have a consistent number of frames between each example and during the start/end of the example. Also removed the Marcie sublevel. Change 3972066 by Andrew.Porter MediaFrameworkTest: Setting Marcie folder to be never cooked in package settings Change 3972675 by Matt.Hoffman Splitting Subsequence Sections no longer sets an incorrect playback range on the subsequence when the subsequence has a different internal resolution than the owning sequence. #jira UE-55453 Change 3973376 by Max.Preussner ImgMedia: Zero is the only valid video track for image sequences Change 3973489 by Max.Preussner Launch: Build rules cleanup pass - don't use Media, MediaUtils on server apps - don't link against Media (include-only dependency) - don't include from MediaAssets (dynamic load only) Change 3973760 by Max.Preussner MediaUtils: Moved AppMediaTimeSource implementation into its own file; added logging Change 3973765 by Max.Preussner ImgMedia: Disallowing seek beyond media length Change 3973855 by Max.Preussner MediaFrameworkTest: Updated developer test content Change 3973858 by Max.Preussner MediaCompositing: Blocking on media player time instead of media sample time (the former may not be hit in the current frame) Change 3974988 by Max.Chen Sequencer: Fix trim left so that it also sets the start offset for audio and skeletal animation sections. #jira UE-57015 Change 3976101 by Matt.Hoffman Sequencer will now focus the scroll view on newly created items. #jira UE-56492 Change 3976203 by Max.Chen Property Editor: Add DetailsViewArgs for ColumnWidth. Defaults to 0.65f, no change in existing behavior. Change 3976205 by Max.Chen Sequencer: Set better column widths for sequencer. #jira UE-55557 Change 3976206 by Max.Chen Sequencer: Added menu category for import/export Change 3976265 by Matt.Hoffman Tracks within Object Binding Nodes will now sort using the old behavior so that components are added above other track types. #jira UE-56473 Change 3976901 by Max.Chen Sequencer: Add event names to event track section #jira UESEQ-353 Change 3977878 by Max.Preussner Media: Moved media framework ticking stats into Media module Change 3977982 by Max.Chen Sequencer: Add Edit->Reset section length to duration of source (ie. audio, skeletal animation, shot length) Added MovieSceneSection::GetDefaultDuration and MovieScene::HasDefaultDuration #jira UESEQ-392 Change 3977994 by Max.Preussner Media: Fetching and rendering media samples before viewports are rendered (to ensure frame sync for in-level media playback) #jira UE-53975 Change 3978188 by Matt.Hoffman Easing Curves are now clipped by the sequence's PlayRange when testing against an infinite section. This causes blended sequences to finish their blend when the section starts/ends instead of always using 25% of the total section length to determine default blend range. #jira UE-56362 Change 3978676 by Max.Preussner MediaCompositing: Fixed first frame of rendered out media track missing #jira UE-53975 Change 3978684 by Max.Preussner MediaCompositing: Enabled media track frame sync feature #jira UE-53975 Change 3980026 by Matt.Hoffman Keys can be selected on folded out sections (such as an audio track expanded to show volume and pitch) again. #jira UE-57169 Change 3981614 by Max.Preussner MediaUtils: Added missing subtitle sample queue flush Change 3982311 by Max.Preussner MediaCompositing: Added safeguard for zero length media sources Change 3982389 by andrew.porter QAGame: Adding media track test content into FrameAccuracySubscene Change 3983661 by Max.Chen Sequencer: Add level name to spawn a spawnable into. Add sublevel menu option to set the level #jira UESEQ-390 Change 3983712 by Andrew.Rodham Sequencer: Purge legacy blueprint spawnables from LevelSequence packages #tests Ran a preflight for cooking fortnite, ocean and Orion. Only orion shows up this edge case, and will require a re-save of the EndCines level #jira UE-39173 Change 3983787 by Max.Preussner MediaCompositing: Moved compile time switch for block-on-fetch into media player facade Change 3983812 by Andrew.Rodham Sequencer: Exposed default level sequence instance data to blueprints Change 3984373 by Max.Preussner Media: Added API for quering whether player plug-in supports block on fetch Block on fetch allows Sequencer and other systems to block the game thread until a desired video frame has been decoded. Change 3984670 by JohnHenry.Carawon Movie Rendering Test Content progress. Saving the state of the content. There is a bug where things got replaced with particle emitters and I think it was because I tried to copy paste an animation track into a separate skeletal mesh track. Change 3985097 by Max.Chen Sequencer: Rename Reset to AutoSize Change GetAutoSizeDuration to return TOptional<FFrameTime> #jira UESEQ-392 Change 3986043 by Max.Chen Sequencer: Fix crash when attach/path duration is less than 0. #jira UE-57310 Change 3986373 by Max.Chen Sequencer: Add support for deleting tracks and channels which equates to setting the channel mask. #jira UE-52951 Change 3986375 by Max.Chen Sequencer: Add Create Pose Asset to skeletal animation section. This allows animators to blend animations in sequencer and create new pose assets from them. #jira UESEQ-408 Change 3986796 by Andrew.Rodham Sequencer: Fixed stale object references remaining in ULevelSequence::BindingReferences when using convert to spawnable/possessable - We used to convert objects by creating a new binding, then re-assigning its GUID, which meant we didn't have to do any further object fixup, but the code to achieve this was confusing and led to a vulnerability where object references would not be cleaned up correctly due to the newly created possessable essentially being a temporary object that's immediately thrown away. - To address this, there is now a function for porting all the contents of one object binding to another, and handles the correct fixup required for parent/child object bindings for both spawnables and possessables. - Also added codepath to remove any stale object references from the level sequence reference map on PostLoad (this piggy-backs off the PurgeLegacyBlueprints object version which is close close enough to this change to be identical) #tests Verified that existing sequences with stale references get cleaned up on load. Verified that repreatedly converting from spawnable<->possessable cleans up references correctly. Change 3987807 by JohnHenry.Carawon Updates to the MovieRendering Test Content. - Fixed the spawnable actors that were overwritten - Shortend the Lighting example and combined the Intensity and Color tracks - Organized the Sequence and WorldOutliner to group the examples. Change 3988151 by Max.Chen Cine Camera: Enable keying the "Enable Look at Tracking" toggle. Change 3988880 by Max.Chen Sequencer: Support enter to add asset for all sequencer track editors that have asset pickers. #jira UE-57367 Change 3988953 by Max.Chen Sequencer: Make the track color picker focusable so that it will close when you click away or lose focus. #jira UE-57210 Change 3988962 by Max.Chen MovieSceneCapture: Fix EDL export so that it takes into account movie scene frame resolution and desired frame rate. #jira UE-57365 Change 3988964 by Max.Chen Movie Scene Capture: Clarified tooltip for bRelativeFrameNumbers. If you specify custom start/end frames for the recording, they will be relative to the playback range. #jira UE-57308 Change 3989442 by Max.Chen Fix CIS Change 3991548 by Matt.Hoffman Dragging the time slider no longer causes the time slider to ignore snap-to-interval with "Snap to Keys While Scrubbing" when no keys are in range. #jira UE-57417 Change 3991598 by Matt.Hoffman Snap to Key while scrubbing now mirrors the behavior of "jump to next key". When there are no tracks selected it snaps to all keys and when there are tracks selected it snaps to only keys from that track. This also resolves an issue where deleting an object did not remove it from the Sequencer's selection. Undoing a delete already doesn't seem to restore your selection, so removing it from your selection shouldn't change that behavior. #jira UE-57417 Change 3991603 by Max.Chen Sequencer: Disable EditAnywhere for some section properties #jira UE-53530 Change 3992240 by Max.Preussner MediaAssets: Implemented dynamic audio sample rate adjustment based on audio/media clock drift #jira FORT-70638 Change 3992911 by Andrew.Rodham Sequencer: Fixed saving spawnable state using the wrong spawned object - We now track the object binding ID so that we can apply the spawned object to the correct spawnable when the asset is saved #jira UE-57353 Change 3992914 by Max.Chen Movie Scene Capture: Fix compression quality not being set. The compression interface wasn't being found through query interface, so no compression was being set. Reworked finding it through the output pins. Tested running various compression values. #jira-UE-55488 Change 3992919 by Max.Chen Sequencer: Convert to possessable now uses object template instead of copying properties (ie. see LevelSequenceActorSpawner). This fixes MIDs getting lost when converting to spawnable and back to possessable. #jira UE-52400 Change 3993184 by Max.Chen Sequencer: Don't show +Transform/+Path/+Attach track if the actor has the "Mobility" property hidden. Set the Landscape, LandscapeProxy and InstancedFoliage "Mobility" property to be hidden since it is static is not supposed to be dynamically movable. #jira UE-56347 Change 3993238 by Max.Chen Sequencer: Test for hidden mobility in creating keys as well. Refactored to HasHiddenMobility() #jira UE-56347 Change 3993978 by Max.Chen Cine Camera: Enable keying the "Enable Look at Tracking" toggle. #jira UE-57489 Change 3994039 by Max.Chen Landscape: Add Mobility to hidecategories on landscape component #jira UE-56347 Change 3994626 by JohnHenry.Carawon Updated Movie Rendering Test Content. - Fixed the overridden spawnables to their proper object types. Change 3994653 by Christina.TempelaarL Sequencer: Added Final Cut Pro 7 XML Import functionality, improved Export functionality #jira UESEQ-358 Change 3995609 by Max.Chen UMG: Add support for 2d transform mask (translation, rotation, scale, shear) #jira UE-52951 Change 3995778 by JohnHenry.Carawon Movie Rendering Test Content Updates - Adjusted Lights example - Adjusted Camera example - Added Marcie sublevel back in Change 3995942 by JohnHenry.Carawon QAGame: Moving Movie Rendering test content from Developer folder to Sequencer folder Also adjusted level visibility, lights and camera example. Change 3995993 by Christina.TempelaarL Sequencer: FCPXML Export updates - only export sections if in playback range and media exists, warn if media does not exist. Other updates - removed unused methods and variables, fixed message context naming to be more accurate #jira UESEQ-358 Change 3996595 by andrew.porter QAGame: Updating Marcie content in TrackEvaluation level to use Image Plate Change 3996614 by andrew.porter QAGame: Adding color test sequence to the sublevel Change 3996643 by Max.Chen Sequencer: Fix fbx animation export - rotation and scale channels were flipped. #jira UE-57509 #jira UE-57512 #jira UE-57514 Change 3996652 by Max.Preussner Messaging: Fixed delayed messaging using incorrect current time after message router sleep Based on https://github.com/EpicGames/UnrealEngine/pull/4601 Change 3996801 by Max.Chen Sequencer: Fix folder active state for non key area sections. Look at track node sections as well as key areas. #jira UE-57550 Change 3997098 by Matt.Hoffman Cleaned up some remaining ToDo's in STimeRange. Change 3998339 by Max.Preussner Sockets: Added documentation for socket receive functions Change 3998359 by Max.Preussner MediaUtils: Started to implement media recorder helper class Currently only supports BGRA frames in CPU memory. Supporting other formats and buffer types will require conversions on render-thread. I recommend refactoring out the existing conversion code in FMediaTextureResource into a reusable helper class in the MediaUtils module. This should be a good starting point though. Change 3998417 by Matt.Hoffman Keys and Sections can now be moved at the same time inside of Sequencer. Keys can now snap to Sections (and vice versa) instead of just to other Keys. Sections can now be duplicated like keys can. #jira UE-56995 Change 3998427 by JohnHenry.Carawon QAGame: Updating test content for the Movie Rendering feature. - Added an auto activate particle to the beginning of the sequence (it's not part of the sequence at all) - Added an event receiver blueprint to the Events example - Added a particle emitter to both sublevels - Added a camera cut to the end that switches to a separate camera - The camera zoom in, focus and Look At sections are all separate (not overlapping in the sequence) - Added a second actor for the camera Look At - Added a Visibility section for the Actor Hidden In Game track that has possessable and spawnable cube and light Change 3998537 by Max.Chen Sequence Recorder: Restore immersive mode when stopping the sequence even if not in PIE. #jira UE-56407 Change 3999809 by Matt.Hoffman Removed the "Go To" box from Sequencer and instead placed the current time as an always visible control. The previous shortcut (Ctrl + G) now focuses the new widget directly. #jira UESEQ-376 Change 4000543 by Christina.TempelaarL Sequencer: Moving editor-only code from runtime module MovieSceneCapture to editor module MovieSceneTools. Moved EDL and FCP XML exporters as well as Automated Level Scene Capture. #jira UESEQ-358 Change 4000706 by Matt.Hoffman Entering multiple time strings without a number no longer crashes Sequencer. #jira UE-57672 Change 4001051 by andrew.porter MediaFrameworkTest: Fixing up some image sources pointing to the wrong location Change 4001191 by andrew.porter QAGame: Adding some quick EDL/XML test content to dev folder Change 4001243 by Max.Chen Sequencer: Fix import EDL out of range. #jira UE-57665 Change 4001856 by Matt.Hoffman Selecting keys and sections at the same time now also works with animation and audio sections. #jira UE-57716 Change 4002021 by Max.Chen Sequence Recorder: Fix sequence name incrementing. If external recording sets the sequence name, use it. Otherwise, use the recording name from the recording group or the recording settings. #jira UE-57712 Change 4002618 by Max.Chen Viewport: Update the look at location when updating to a locked actor. This fixes an issue so that popping the view out of a locked actor and manipulating the view will not jump to the previous look at location. #jira UE-57725 Change 4002979 by Matt.Hoffman Fixes several edge cases with the end time range that was causing confusion about what the last frame of the sequence was. Dragging the End Frame slider will no longer be off by one tick and jumping to the end via the UI controls now properly respects snapping and stays inside the play range instead of falling outside of it. Overall behavior does not change though and End Frame should be considered an exclusive frame so that frames 0-150 results in a 150 frame long animation (which is frames 0-149). #jira UE-56367 Change 4003185 by Matt.Hoffman Fixed a regression that prevented a section from being dragged upwards past row 0 which normally resulted in all other rows moving down. #jira UE-57717 Change 4003193 by JohnHenry.Carawon QAGame: Updates to test content - Shortened frames between the examples from 95 to 30 - Separated camera setting tracks - Lighting example now switches directly from constant red - green - blue Change 4003369 by Max.Chen Sequence Recorder: Refresh next sequence regardless of internally stored sequence name. #jira UE-55757 Change 4003586 by JohnHenry.Carawon QAGame: Test Content Updates - Level Visibility track now ends to that the levels are not visible when we move to the next example - Shortened camera section, removed Z tranform so that we just move left to right and shortened the overall length Change 4004414 by Max.Chen Movie Scene Capture: Fix regression where rendering with shot handles would only render the first shot. 3972166 addressed an issue where an extra frame would be rendered by finalizing right when the end frame was reached. This was hit on the first shot end frame, so instead, do this only for when the last shot is being rendered. #jira UE-57314 Change 4004765 by Christina.TempelaarL Sequencer: Fixed bugs in FCP XML import/export. - Export: fixed sequence default resolution. - Export: fixed XML files with no shots. - Export: all sections clipped to playback range. - Export: fixed incorrect section start/end times due to precision issues. - Import: fixed incorrectly adding cinematic tracks. - Import: fixed bugs creating new sections. #jira UE-57660 #jira UE-57662 #jira UE-57655 #jira UE-57761 Change 4005119 by Max.Chen Sequencer: Export/import at play rate Change 4005195 by Max.Chen UMG: Finish UMG evaluation on stop. Added object version so that existing UMG assets do not change. #tests - Newly created UMG animation with sections set to restore state now return to their original state. Existing UMG animations with sections set to restore state do not return to their original state. #jira UE-52285 Change 4005377 by Michael.Karambelas QAGame: Moving TM-SequenceRecorder and related content out of my developer folder and into /Content/Sequencer/SequencerRecorder/* Change 4005417 by Michael.Karambelas QAGame: Fixed a BP compiler in the Level Blueprint of TM-SequencerRecorder. Change 4005634 by Michael.Karambelas QAGame: Fix up missing content and broken level sequence in TM-SequenceRecorder after move Change 4006324 by Max.Chen Sequencer: Reset if the focused movie scene is null. This fixes a crash if the user is focused in on a shot and undo takes the user past the point of where the shot was created. #jira UE-57752 #jira UE-47661 Change 4007006 by Max.Chen Sequencer: Fix FindAvailableRowIndex so that it returns the max row index (and not +1) since it doesn't find any conflicting rows. #jira UE-57717 Change 4007907 by Max.Chen Sequencer: Fix crash if there's no animation Change 4007948 by andrew.porter QAGame: added test content to dev folder for Record World Space Change 4008636 by Max.Chen Sequencer: Fix import fbx not setting values properly and creating additional cameras unncessarily. #jira UE-57864 Change 4008759 by Max.Chen Sequencer: Follow up fix for import cameras #jira UE-57864 Change 4009994 by Matt.Hoffman Dragging the left or right handles of the Time Range slider in Sequencer will now zoom your view in on the current center of the screen. This prevents the view from being translating as you tried to zoom in which caused issues at high zoom levels. #jira UESEQ-407 Change 4010169 by Christina.TempelaarL Sequencer: FCP XML fixes. - FCP XML export - no longer clips to playback range - FCP XML and EDL export - fixed missing last frame of some sections after exporting to Premiere. - Automated level capture, EDL export - use RoundToFrame instead of FloorToFrame for computing section start/end frames after frame rate conversion. #jira UE-57802 - partial fix, movie scene capture still needs to render full section rather than clip against playback. Change 4010287 by Mike.Zyracki Add quaternion interpolation option to UMovieScene3DTransformSection. This mimics how Matinee used to work by bascially finding the keys between a time and interpolating the angles as quat's between them. As noted in the code the algorithm needs to handle the case when the x,y,z Rotation keys all aren't at the same time which was not handled by Matinee. Also like Matinee, when in quaternion interoplation mode, we need to not display the function cuves since the interpolated and key values are now all different. (Would like to show them but that's a bigger refactor for perhaps just a one off needed by quaternions). I added a virtual function UMovieSceneSection::ShowCurveForChannel for this since it needs to be dynamic, not on construction of IKeyArea's, and could be useful for other sections. I could though move the method to just UMovieScene3DTransformSection and do a cast instead. Looked into doing a unit test for this but after talking with Andrew P we will work on doign an automated test in EngineQA since that will provide more coverage. Will also add a video the jira. #jira UESEQ-403 Change 4010713 by Mike.Zyracki Added option to key a group of transform channels instead of just the changed channel, or all of them. This is useful for quaternion interpolations where you want rotation keys to be aligned but also useful for other workflows like animating FK Pose to Pose. Change 4010715 by Andrew.Porter MediaFrameworkTest: Setting LogMediaUtils logging from VeryVerbose to Verbose to cut back on the spam Change 4013048 by Max.Chen Sequencer: Fix play/jump status. Update the player status for all position methods (Scrub, Jump, Play). Jump means Stopped. Correctly use PlayTo or JumpTo based on position method. In PlayInternal, JumpTo with the Stopped state (rather than playing state). #jira UE-57844 Change 4013479 by andrew.porter QAGame: Added content in TM-SequenceRecorder to test recording a property on a Cine Camera Component; Press 3 to trigger manual focus distance to increment on a timer Change 4014323 by Max.Chen Sequencer: Fix SetPlaybackPosition so that it jumps or plays based on playback status. #jira UE-57844 Change 4015888 by Max.Chen Sequencer: Fix crash on paste. UMovieSceneSections were gathered from the track node's track. For sub track mode, we want to gather only those sections on that track node row. #jira UE-57951 Change 4015943 by Max.Chen Sequencer: Fix moving shots up when the mouse pos goes outside of the virtual track area. #jira UE-57717 Change 4016293 by Max.Chen Sequencer: Fix relative frame playback end frame calculation so that custom start/end frames remain in the space of the sequence and are not relative. #jira UE-57308 Change 4017075 by Andrew.Rodham Sequencer: Corrected initial evaluation range used when calling UMovieSceneSequencPlayer::Play() Change 4017270 by Christina.TempelaarL Sequencer: FCPXML importer and movie scene capture - Use CeilToFrame when converting section start/end frame times to frame numbers in FCPXML and movie scene capture. - Added support for clip metadata in FCPXML. - Got rid of redundant TokenizedError message class, no longer needed now that FCPXML is in editor directory. - Added log messages currently commented out due to exception, still testing. #UESEQ-358 Change 4018370 by Christina.TempelaarL Sequencer: fixed FCPXML log messages regarding sections with start/end not divisible by display rate. #UESEQ-358 Change 4018378 by Christina.TempelaarL Sequencer: fixed error in previous changelist. #UESEQ-358 Change 4019457 by Max.Chen Sequencer: Show event names only when the event track is selected #jira UE-57897 Change 4022806 by Max.Chen Sequencer: Fix crash on movie scene capture dialog shutdown if movie capture wasn't even started. #jira UE-58106 Change 4022894 by Max.Chen Sequence Recorder: Wrap OpenEditorForAssets after sequence recording within GIsEditor #jira UE-58084 Change 4024487 by Max.Chen Sequencer: Add tooltip for quat interpolation #jira UE-58113 Change 4024562 by Max.Chen Sequencer: Change path/attach track sequence binding id to currently focused sequence id so that bindings can be created in subsequences Change 4027414 by JohnHenry.Carawon QAGame: Checking in content that shows a bug with using particles systems and Delay Before Shot Warm Up. Change 4028990 by Max.Chen Sequencer: Fix evaluate sub sequences in isolation. This check was added with the compile on the fly logic. Not sure why it was necessary but it seems like the sub sequence data needs to be updated in order to evaluate sub sequences in isolation. #jira UE-58184 Change 4029004 by Max.Chen Sequencer: Ensure that old binding references are removed when re-assigning actors in sequencer #jira UE-57898 Change 4030997 by JohnHenry.Carawon QAGame: Fixing name of the master sequence Change 4031785 by Michael.Karambelas QAGame: Added an instance of ThirdPerson Run to TM-SequenceRecorder for Record to Possessable test. Change 4035548 by Andrew.Rodham Sequencer: Changed FMovieSceneEvaluationTemplate::TemplateSignature to be a serial number to address non-deterministic cooking issues - This commit is related to the repro steps found in 3914599 and 3934307, both of which have been verified with this new change. - Copy of 4031684 from //Fortnite/Main/... #jira FORT-84852 Change 4036312 by Max.Chen Sequencer: Fix zoom view range so that it uses the passed in InZoomDelta Change 4036318 by Max.Chen Sequencer: Auto size now returns a range and defaults to the channel proxy range so that keyed regions can also be autosized. Change 4036322 by Max.Chen Forgot missing change Change 4036360 by Max.Chen Sequencer: Fix play rate calculation when skeletal animation section play rate changes. Change 4037163 by Mike.Zyracki Weighted Tangent Implementation Tricky thing is that you need to solve a cubic in order to get the bezier weights for the time part of the curve. See https://www.gamedev.net/forums/topic/474094-help-function-curves-for-animation-interpolation/ Maya provides an implementation in it's dev kit but I didn't use it since it was horribly slow and uses an iterative solution to solve the cubic needed. Instead I use an old algorithm (Cardano's method), to solve the cubic which should be much faster. Though relative simple to code from principles I just went ahead and used a version from Graphics Gems 1. I put this cubic solver directly in MovieSceneFloatChannel.cpp, but will need to move it when we support Rich Curve, maybe to FMath:: (which would probalby require some other functions for solving quartics, etc.. for completeness.). Also note we resolve this on every evaluation but dont' need to if the interval the time is evaluating hasn't had any change in values or tangents. So again when we support FRichCurve we can create a Weighted Evaluating class that can hold the cache. Also with the tangent drags I got rid of the Cardinal position that was used to calculate non-weight tangents from the key point and just quickly getting a direction. With weighted tangents we need to use the delta instead (otherwise when moving multiple they would all get the same weight based upon distance to the cardinal point. ) For mixed tangents types what I'm defaulting to non weighted if the interval doesn't match. May need to do weighted instead, not sure. What's left is just FBX import, for tomorrow. #jira UESEQ-76 Change 4037435 by Mike.Zyracki Fix fo build warnings from weighted tangent submission. #trivial Change 4038091 by Michael.Karambelas QAGame: Updated a Sequence Recorder group in TM-SequenceRecorder that had an actor missing the animation. Change 4038374 by Andrew.Rodham Sequencer: Refined scrubber styling for level sequences and actor sequences - Scrubber now shows a block the width of a dsplay rate frame, plus a line for the actual evaluated time. UMG reverts back to the previous styling (no block) - Keys that are outside of the playback range are now drawn with a subdued effect - Tick labels are no longer drawn when directly underneath the scrubber Change 4038490 by Max.Chen Sequencer: Expose tangent weight values in details panel. Change 4038620 by Andrew.Rodham Sequencer: Advanced time panel polish #jira UESEQ-426 Change 4038677 by Max.Chen Movie Scene Capture: Redirector for MovieSceneTools.AutomatedLevelSequenceCapture #jira UE-58248 Change 4039739 by Max.Chen Sequencer: Media track should only be supported by Level Sequence Change 4040024 by JohnHenry.Carawon QAGame: Fix EventReciever and OverrideBinding example The level sequence was set to none so the fix was to set it back to TrackEvaluation_Master. Change 4040610 by Andrew.Rodham Curve Editor: Moved weighted tangent switchers to a single toggle command (CTRL+W) and added an icon #jira 58383 Change 4040882 by Mike.Zyracki Keep broken when turning on weighted #jira UE-58435 Change 4041089 by andrew.porter QAGame: Sequence for Long Tangents bug Change 4041498 by Mike.Zyracki Turn off weighted when going auto to prevent large tangents. Do it both in UI and when doing AutoSetTangents() to really make sure it doesn't happen. #jira UE-58452 Change 4041752 by andrew.porter MediaFrameworkTest: Adding some better logging for setting rates when not supported. Also ignoring commiting URL when there is no text Change 4041896 by Matt.Hoffman The transform dialog box now transforms selected keys and sections, instead of just keys. #jira UE-58265 [CL 4044405 by Max Chen in Main branch]
2018-05-02 10:10:00 -04:00
ViewRange = TRange<double>(MouseDownStart.FrameNumber / GetTickResolution(), MouseTime.FrameNumber / GetTickResolution());
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3946692) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3801826 by Max.Chen PR #4304: Level Sequence crash fix - Guarded against dereferencing null componen. (Contributed by DSDambuster) Change 3801828 by Max.Chen PR #4302: Movie Scene Visibility Template unitialised variable, causing random . (Contributed by DSDambuster) Change 3801837 by Max.Chen Sequencer: Delay spawning/construction for convert to possessable. This fixes a bug where property values would be lost when converting back and forth from possessable to spawnable. #jira UE-52400 Change 3801841 by Max.Chen Sequencer: Make spacer nodes not selectable. PR #4194: Improvements to Sequencer (Contributed by projectgheist) #jira UE-53117 #jira UE-52139 Change 3804183 by Max.Preussner MediaAssets: Added missing lock in media sound component Change 3805414 by Max.Preussner MediaAssets: Setting valid GUID when initializing media texture resource Change 3819578 by Max.Chen PR #4370: When enabling the "MovieCapture", do not turn off the Stereo-3D display. (Contributed by yehaike) #jira UE-53647 Change 3823414 by Max.Chen Curve Editor: Lock down the first and last keys in the redundant keys removal range so that they're unaffected. #jira UE-53591 Change 3826406 by Max.Chen Sequencer: Move OnStartedPlaying() to within first update in UpdateTimeCursorPosition(). This fixes an issue where setting the hud/player visibility was getting stomped on later. #jira UE-52772 Change 3827044 by Max.Preussner MediaAssets: Added sprite visualization to media sound component #jira UE-53594 Change 3827988 by Max.Preussner MediaPlayerAssets: Fixed Media Texture is not linked to Media Player when created together #jira UE-53532 Change 3828506 by Max.Preussner MediaPlayerEditor: Added attenuation visualizer for media sound components #jira UE-53594 Change 3832590 by andrew.porter EngineTest: Added a keep state check in Property Animation sequencer test Change 3833053 by andrew.porter EngineTest: Adding Hierarchical Bias test Change 3835683 by andrew.porter EngineTest: Adding UMG Animation screenshot test Change 3836076 by Max.Chen Sequencer: Fix audio volume and pitch multiplier deprecation. Change 3836230 by andrew.porter EngineTest: Adding Sequence Bone Position automation test Change 3836347 by Max.Chen Sequencer: Fixes to shot name parsing. When a shot doesn't contain a shot number, assume, [ShotName]_[TakeNumber]. When duplicating a shot, put the new shot in the same path of the original shot, so that the take numbers will increment properly. #jira UE-51868 Change 3836552 by Max.Chen Sequencer: Sub section now has a takes menu Change 3838094 by Max.Chen UMG: Fix template finish not getting called on stop. This fixes a bug where sections aren't restored when finished. #jira UE-52285 Change 3838708 by Max.Chen Sequencer: Add notification when the blend type is changed. #jira UE-54046 Change 3840295 by Max.Chen Sequencer: Fix copy/paste crash for lights #jira UE-54084 Change 3840957 by Mike.Zyracki Added Show Only Keyable and Show Only Animated to the filter list in the property editor. Added IsPropertyAnimated to IDetailKeyframe Interface which already had support for showing properties which are keyable (which is used for the key icon next to the properties.). Could have created another interface but then would have had to mimic the sequencer binding, releasing also, so this seemed best way. One issue still left is that custom built detail items currently don't store associated properties(usually) and so certain properties, in particulalry transforms, won't show up as keyable or animated. Note this also shows up with the keyable icon not showing up next to transform tracks, and other filters like Show Only Modified not working with transforms/customs. Not sure best way to tackle this. #jira UESEQ-328 Change 3841756 by Max.Chen Sequencer: Fix unbound possessable components when pasting spawnables. #jira UE-54104 Change 3843950 by andrew.porter EngineTest: Renaming LevelStreaming tests/content to LevelVisibility Change 3844082 by Mike.Zyracki Missing file for animated filter in property editor. When finding if a track is animated we need to find it but we can't easily induce the MovieTrack class for any particular property. So we don't set a class for it and just search by it's ID and name. #jira UESEQ-328 Change 3846902 by Max.Preussner ImgMedia: Fixed image media player never finished initialization if loading failed #jira UE-54247 Change 3849820 by Mike.Zyracki Reassigning deleted widgets didn't work since the menu extender mechanism needs a valid UObject in order to perform an operation on it. So to fix we replaced GetObjectBindingContextMenuExtender in WidgetBlueprint with new delegate mechanism (OnBuildCustomContextMenuForGuid) that supports FGuid in addition to UObjects which is needed to handle re-binding deleted widgets. Note that the default sequencer hacks this for replacing deleted actors in SequencerObjectBindingNode to check to see if a LevelSequence is active. We could move to this mechanism there also. #jira UE-53163 Change 3852211 by Max.Chen UMG: Indicate name of the property that is not bound. #jira UE-54350 Change 3854120 by Max.Chen Sequencer: Fix sibling folders being allowed to have the same folder name. #jira UE-54363 Change 3854627 by Max.Chen Sequencer: Step to next/previous key should work for all tracks if there aren't any selected. #jira UESEQ-391 Change 3855825 by andrew.porter EngineTest: Adding animation blending automation test Change 3855950 by andrew.porter EngineTest: Adding correct expected valuues to animation blending test Change 3856237 by Matt.Hoffman UESEQ-336 - Sequencer Track Reordering Adds the ability to re-order Master Tracks, Folders and Object Bindings within sequencer hierarchies (including UMG). Adds the ability to do a one-off sorting of the content under the old sorting behavior if the user wants to reset their layout to how it was under legacy behavior. Modifies SequencerTrackNodes, SequencerFolderNodes and SequencerObjectBindingNodes to handle CanDrop/OnDrop for above, below and ontop of. Fixes a Slate Issue that forcibly expanded a TreeviewRow if an item handled OnDrop. Slate will now only forcibly expand the row if the item says the drop happened ontop of the item, and not above or below it like it previously did. Change 3856503 by andrew.porter EngineTest: Adding automation test for using animation blueprint with blend multi node in sequencer Change 3857875 by Max.Chen Sequencer: Assign the sequence id after the template is compiled. #jira UE-54462 Change 3858344 by Max.Chen Sequencer: Prevent Goto and Transform boxes from overlapping by allowing them to be visible at the same time in an autosized horizontal box. Also, added close button to the goto box. PR #4425: Prevent Goto and Transform boxes from overlapping in Sequencer ... (Contributed by projectgheist) #jira UE-54210 Change 3860566 by andrew.porter MediaFrameworkTest: Set the option to index 0 for the audio and video track list by default Change 3860654 by andrew.porter EngineTest: Enabling Camera Cut + FOV test Change 3860981 by andrew.porter EngineTest: Updating skeletal mesh tests with a delay after set playback position Change 3861256 by Max.Chen Sequencer: Add all bindings if none selected. #jira-54440 Change 3862154 by Andrew.Rodham Added TimeManagement module Change 3862424 by andrew.porter EngineTest: Turned on the test Bone Positions with Blend Multi Node Change 3862573 by andrew.porter EngineTest: Adding test to compare bone positions in a sequence that is blending an animation that is using an AnimBP Change 3865117 by Max.Chen Sequencer: Stop auto scroll on mouse release of movement. #jira UE-31212 Change 3865303 by Max.Chen Sequencer: Add drag and drop transactions #jira UE-54662 Change 3865304 by Max.Chen Sequencer: Fix crash when an actor factory is not found. Change 3865361 by Max.Chen Sequencer: Don't change the camera/shot lock button when popping out of a sequence. #jira UE-54665 Change 3865412 by Max.Chen Sequencer: Determine whether a transform track is for a camera by using the spawned object or template #jira UE-54666 Change 3865685 by Max.Chen Sequencer: Clear autoscrub offset when stopping autoscroll #jira UE-31212 Change 3865886 by Max.Chen Sequence Recorder: Log an error if the number of frames changes while recording. This can happen if the skeleton changes while recording. #jira UE-48715 Change 3866925 by Andrew.Porter MediaFrameworkTest: Changing the current PNG test video image sequence to 1024 x 576 Change 3867705 by andrew.porter QAGame: Adding Audio Sort Sequence to dev folder Change 3867890 by andrew.porter QAGame: Adding a sequence for testing a sorting crash to my dev folder Change 3872628 by Max.Chen Movie Scene Capture: Split delay before warmup into split delay before shot warmup so that there's separate controls for when the movie scene capture warmups up vs. shot boundaries. Change 3873131 by Matt.Hoffman UE-54732 - Crash reordering a folder with a track. This was caused by folders being the only type of track to check if someone was putting a parent track into a child track. Object Binding tracks and Tracks now check as well so that you can't use the above/below drop targets to add parents as children. This also fixed a typo in the localization keys. #jira UE-54732 Change 3873301 by Mike.Zyracki Added ability to support continous euler angle changes when changing rotations, in particularly with the rotation gizmo's. To do this we effectively added a form an of 'euler filter'(https://en.wikipedia.org/wiki/Euler_filter) to find the closest euler angle to the current euler angle. Three functions were added to FRotator to make this possible, one to get the euler angle that's has the same rotation as it, one to get the difference between two euler angles via Manhattan distance and a third using the previous two to choose a Rotator value that's closest to it. We then use these functions before calling UComponent::SetRelativeRotation to make sure we use the correct Euler after the Quat conversion. We also no longer limit(bound) the euler angles to -180,180, which is obviously necessary to avoid flips. I also changed how we caluclate yaw and roll when pitch is -90 or 90 to make it the standard approach of zeroing out roll and just setting yaw. Main reasons are the previous implementation had precision issues so things like 180, 90, -180 would show up due to numbers being nearly zero but negative,(this would break any smooth interpolations), and this facilitates having a 'gimbal' rotation mode (like Maya, Blender etc..) if we ever want that also. If needed we could keep the previous implementation but would need to add some FMath::IsNearlyZero checks, with less performance. Note we only do this special filtering when applying delta's to actors or components in the editors, which then call UComponent::SetRelativeRotationExact, which is a new function to foces the RelativeRotation to be equal to the new rotation. This allows us to store un-nomalized Rotators at the cost that the RotationCache may be broken. We didn't change any of the other UComponent functions that set rotations (via Quats or Transforms) so they will still be bounded and unwound. In SetInternalWorldLocationAndRotation we only set the rotation if the rotation has changed, which fixes the rotation getting changed and re-normalized if just translate happens. In TransformTrackEditor, we correclty use the bUndwing flag and in MovieScene3DTransformSection there was an un-needed winding check there, it will be unwound earlier if needed, which happens if Sequence Recording is happening. Max we should talk about what to do about this . Note the euler angle drag via the widget is still bound to 0-360. I think we should just unbound that now since the rotations value are now unbound. This review now includes fixes suggested by Zak. #jira UE-UE-22228 Change 3873483 by Matt.Hoffman Sequencer Tracks can now be inserted above the spacer at the bottom of the tree. #jira UE-54706 Change 3873899 by Max.Chen Sequencer: Add section selection throbbing Change 3873908 by Max.Chen Movie Scene Capture: Added logging per frame Change 3873924 by Matt.Hoffman Adds the ability to store Sequence Recorder setups into profiles that stay with the map and can be re-loaded later. Profiles store the Actor Recordings so the settings for each actor should carry with them. #jira UESEQ-339 Change 3874726 by Matt.Hoffman Disable drag-and-drop targets on spacers that come between rows in Sequencer. This prevents extra drag/drop targets showing up between each row. #jira UE-54706 Change 3874862 by Matt.Hoffman Audio Track no longer gets reordered when adding sub-audio tracks, as sub-tracks are no longer counted towards the sorting order index when normalizing indexes. #jira UE-54727 Change 3875905 by Matt.Hoffman Disable Fade Track UI if a fade track already exists in the sequence. #jira UESEQ-393 Change 3876163 by Max.Chen Sequencer: Swap the camera object to the camera component's owner if it's not the same. #jira UE-54874 Change 3876971 by Andrew.Porter EngineTest: Moved Media Player Seek test to new folder. Also enabled the test with new ground truth image. Change 3877040 by Max.Chen Cine Camera: Split camera properties to two groups, "Camera Options" and "Camera Settings". The cine camera now hides properties in the "Camera Settings" group so that properties like bConstrainAspectRatio (in the "Camera Options" group) can be visible. #jira UE-54192 Change 3877763 by Max.Chen Curve Editor: Fix curve changed on end drag so that only curves that had keys/tangents that were changed receive notification, otherwise all loaded curves were getting notified that they were changed. #jira UE-54951 Change 3878234 by Matt.Hoffman Disable "Drop Below" targets for Sequencer Tree nodes to prevent a confusing UX issue where dropping underneath a Object Binding Node puts it after the object binding node but the UI looks like it's inserting it inside the Object Binding node. #jira UE-54743 Change 3879359 by Mike.Zyracki If a track is inactive we dim it a bit which seems to be the UE4 way to show inactive or disabled state. We changed the active logic so that all subtracks need to be inactive for the track to also be inactive(instead of all active for active). This conforms to how the active state actually works, e.g if you have two sections and only one is active the track is still active above it. #jira UESEQ-388 Change 3879462 by Max.Chen Sequencer: Allow dragging onto a particular row which would move out any overlapping sections to make space for the newly created section. Newly created sections are now selected and throbbed to draw attention to themselves. #jira UE-54664 Change 3879464 by Max.Chen Sequencer: Fixed overlapping ranges being inserted into the evaluation field during compilation - The issue was that track segments that had been combined with adjacent segments (due to them being identical) would potentially cause a subsequently compiled frame to overlap with a range that had already been inserted into the evaluation field. - The insertion code previously asserted that only minor overlaps were catered for (due to fp rounding errors) and assumed that a supplied range could not entirely contain any other range in the field. - The solution is to supply the insertion time along with the range to know exactly where the data should live in the field, and crop the range to the maximum allowable space between adjacent ranges. #jira UE-54922 Change 3879590 by Matt.Hoffman Items that are now added to the Sequencer via the "+Track" menu will be selected after being added. Items can now be added inside of folders instead of just to the root level. #jira UE-27397 Change 3879612 by Mike.Zyracki Display Nodes with no children are always active. #jira UESEQ-388 Change 3879730 by Matt.Hoffman Sequence Recorder's actor recording groups now remove items from the group when removed via the UI. #jira UESEQ-339 Change 3880256 by Mike.Zyracki Fix issue with inactive display with folders and other track nodes. #jira UESEQ-388 Change 3883491 by Max.Chen Fix issue where tick is skipped due to last ticked pose isn't cleared after AnimInstance changes. Copy from Release-4.19 #jira UE-51323 Change 3883603 by Max.Chen Movie Scene Capture: Add option toggle disable screen percentage. By default this is on (no change in current behavior). #jira UE-51898 Change 3885074 by Max.Preussner MediaCompositing: Resetting media texture & freeing resource on section end; removed dead code Change 3887220 by Max.Preussner MediaCompositing: Defaulted media section duration to 1 sec (since we do not know the actual duration in most cases) Change 3887478 by Matt.Hoffman Sequences now show [Inactive] in their title bars when they're disabled. This helps communicate why a sequence isn't being evaluated. #jira UE-51469 Change 3888985 by Max.Chen Movie Scene Capture: Clamp HDR Compression Quality between 0 and 1. #jira UE-55136 Change 3893519 by Max.Chen Sequence Recorder: Clarified tooltip for bRecordNearbySpawnedActors - spawned actors will still be recorded if they match the ActorFilter. #jira UE-55238 Change 3893546 by Max.Chen Sequence Recorder: If a selected actor already has a recording, add a blank recording. #jira UE-55239 Change 3894044 by Max.Preussner MediaCompositing: Added support for seeking into a media section Change 3894310 by andrew.porter MediaFrameworkTest: Adding Img media sources for 1080 and 2160 ravent test content Change 3894426 by Max.Preussner MediaAssets: Letting media textures with AutoClear retain their clear color when player is reset Change 3895717 by Max.Chen Sequencer: Null checks to prevent crash when saving the default state of a spawnable #jira UE-55304 Change 3897388 by Max.Chen Sequencer: Don't update current time to be within the view range when stepping into a sequence. #jira UE-55322 Change 3897452 by Max.Chen Audio: Fix crash when trying to record audio without any active capture devices. Log warning if the number of input channels is not 1 or 2. #jira UE-55223 Change 3897619 by Max.Preussner MediaCompositing: Removed commented out code Change 3898072 by Max.Chen Sequencer: Override the animation asset in the player state if it doesn't match the animation asset that's being evaluated. #jira UE-55328 Change 3898272 by Max.Preussner MediaPlayerEditor: Made slate brush constants static Change 3898704 by Max.Chen Sequencer: Skip if the binding id's sequence can't be found. #jira UE-55337 Change 3899855 by Max.Preussner MediaCompositingEditor: Added cache state visualization to media track Change 3900300 by Max.Preussner MediaCompositingEditor: Added loop indicators to media sections Change 3900694 by Max.Preussner ImfMedia: Looping cache only when player is looping Change 3900892 by Max.Preussner Stats: Added stats category for media framework Change 3900954 by Max.Preussner MediaCompositing: Don't evaluate at the end of media section Change 3901348 by Max.Preussner Core: Replaced TLruCache autos for better readability Change 3901655 by Max.Preussner ImgMedia: Added more perf stats to EXR reader Change 3901972 by Max.Preussner MediaAssets: Added getter for media player in media sound components Change 3902233 by Max.Preussner MediaAssets: Enabling media textures to receive samples right after player is assigned Change 3902238 by Max.Preussner MediaCompositing: Working around init/shutdown idiosyncracies in sequencer Change 3904045 by Max.Chen Sequencer: Fix copy/paste crash. Only process UMovieSceneCopyableBinding and objects that can be spawned by the movie scene spawn register. #jira UE-55314 Change 3905605 by Max.Chen Sequencer: Restrict spawnables from being created if they have a ClassWithin that UMovieScene is not a child of. #jira UE-55429 Change 3906550 by Max.Chen Sequencer: Add media track icon #jira UE-55480 Change 3907101 by Max.Chen Sequence Recorder: Fix bugs related to not recording a level sequence. There were certain assumptions that creating a level sequence meant that sequence recording was in progress. This is not always the case - the recorders can record animation assets and not create a level sequence. Changed the notion of IsRecording() to having at least one actor recording that is recording. Countdown timer, recording displays, etc should function if IsRecording() and not based on whether a level sequence is created. #jira UE-55485 Change 3907247 by Max.Chen Sequence Recorder: Fix crash not removing PrepareToCleanseEditorObject delegate. Repros when opening sequence recorder, closing it, and then opening or creating a level. Change 3910343 by Max.Preussner Core: Added async helper for executing functions on a given thread pool Change 3910346 by Max.Preussner ImgMedia: Added separate thread pools for loading/decoding and deleting image frames Change 3910829 by Max.Preussner Profiler: Increased visible range of profiler graph Change 3910841 by Max.Preussner MediaCompositing: Displaying asset name instead of full media source path in media section Change 3910870 by Max.Preussner ImgMedia: Using deallocation thread pool only in debug builds Change 3919642 by Max.Chen Sequence Recorder: Clarify active tooltip #jira UE-55661 Change 3919660 by Max.Chen Sequencer: Sequence template source signatures are now also compared to catch the case where a sub-sequence asset has been saved but not modified - The following sequence of events exposes this issue: - Create a master sequence with a single shot that spawns a cube - Add this sequence to a level and set it to auto-play - Save everything and restart - Resave just the inner shot asset without opening it - PIE - The inner shot never spawns its cube because its template was wiped on save, but its signature never changed. Since the master sequence previously didn't check the template source signature, it ends up trying to evaluate an empty template. #jira UE-55626 #jira UE-55490 Change 3921825 by Max.Chen Sequencer: "Run Construction Script in Sequencer" is off by default for blueprints but on for Sequencer. This allows the content author to switch it on for specific blueprints and sequencer will be default, run those with construction scripts enabled. Change 3922232 by Max.Chen Sequence Recorder: Reset countdelay on stop. #jira UE-55755 Change 3922306 by Max.Chen Sequence Recorder: Don't automatically mark transforms to be recorded by sequence recorder. Instead, log a warning if the user toggled it off to warn that the resulting animation might not match gameplay. #jira UE-55758 Change 3922912 by Max.Chen Sequence Recorder: Fix refresh next sequence name #jira UE-55757 Change 3927654 by Max.Chen Movie Scene Capture: Added format mapping for the name of the current camera #jira UE-55769 PR #4537 Change 3927658 by Max.Chen Sequencer: Added fbx property mapping for "FocusDistance" to "FocusSettings.ManualFocusDistance" #jira UE-55782 Change 3932022 by Max.Chen Sequencer: Add import animation track section to next available row index. #jira UE-55892 Change 3933919 by Max.Chen Sequencer: Jump to playback start frame and not 0 to start playback for recording. #jira UE-55933 Change 3934307 by Andrew.Rodham Sequencer: Add template signature that is re-generated every time the base template is regenerated, which invalidates evaluation fields This fixes an issue where the same sequence is instantiated multiple times in a sequence. If the source sequence was saved, its template would be wiped, which would invalidate the template ID When an instance tries to evaluate the master template, it would only invalidate a range in the evaluation field that was the hull of any invalid sub sequences overlapping the current time, potentially leaving invalid data in the evaluation field at positions later (or earlier) on in the sequence When the sub template was re-generated, it receives the same SequenceSignature as it had before (because the sequence hasn't actually changed), which causes the stale evaluation field data to fail the IsDirty check (because the sequence is the same as it thought, but the *template* has changed) This has been addressed be adding a signature to templates themselves, and checking both the template signature and sequence signature as a part of the IsDirty check. This ensures that we regenerate if either the template, or the sequence have changed. #jira UE-55934 Change 3936327 by Andrew.Rodham Sequencer: Removed increment when trimming right UMovieSceneSection::TrimSection already explicity assigns an exclusive bound to the time passed in. The new behavior means we can trim a section to the right, and insert another section without changing the time to create adjacent sections. #jira UE-42652 Change 3936328 by Andrew.Rodham Fixed KeyFrameManipulator assignment operators and copy/move constructors - These types are potentially self-referential so cannot use default constructors/assignment Change 3936330 by Andrew.Rodham Converted UMGSequencePlayer to use frames internally #jira UE-54878 Change 3936726 by Max.Chen Sequencer: Set track node as the parent of the key area node. The key area switcher needs the object binding id from the parent object binding node. Without this, the binding to the external value fails. #jira UE-55931 Change 3936775 by Max.Chen Sequencer: Should stop or loop should compare DurationFrames with Current Time from StartTime. The bug is that if you set 30 warmup frames in movie rendering for a range of 0-100, the FrameRange will be starting at -30 and have a duration of 130. Without this fix, the playback will continue until frame 130, rather than 100. #jira UE-55933 Change 3936935 by Matt.Hoffman Easing Curves are now represented in Play Rate resolution instead of internal resolution. #jira UE-55937 Change 3937069 by Matt.Hoffman Users can toggle if the is infinite on each side, limited by which tracks support infinite ranges. #jira UE-55891 Change 3937516 by Max.Preussner ImgMedia: Added support for single-threaded platforms #jira UE-55986 Change 3937826 by Max.Preussner MediaAssets: Disabling media sound components on HTML5 if AudioMixer is not enabled Change 3937997 by Max.Chen Curve Editor: Add Zoom to Fit Curves so that selected curves from Sequencer can be focused on. Tested that undo doesn't re-zoom. #jira UE-55935 Change 3938000 by Max.Chen Sequencer: Stop all sounds before generating audio waveforms. #jira UE-55951 Change 3938376 by Max.Preussner XGEController: Disabled XGE Controller in single-threaded apps to prevent crash Change 3938444 by Max.Preussner Core: Added async support for single-threaded applications Change 3938445 by Max.Preussner Networking: Added support for single-threaded applications in UDP socket sender/receiver Change 3938447 by Max.Preussner Messaging: Added support for single-threaded applications Change 3939432 by Max.Chen Sequence Recorder: Append command list to global level editor actions so that shortcuts are accessible in level editor. #jira UE-55798 Change 3940229 by Andrew.Rodham Added prospective display rate upgrade to UMovieScene::PostLoad - There was previously some very odd behaviour that would assign the fixed frame interval only when a sub sequence was focused in SSequencer. This meant that many sequences could have a frame interval of 0 set in the data. - Under the old method of snap interval display this would have fallen back to getting the display interval from the sequencer settings, but we no longer look at these. - The USequencerSettings properties have been removed and in their place, a prospective data upgrade for sequences that have a fixed frame interval old 0fps that sets the play rate to the previous defaults based off the old USequencerSettings defaults. - This could end up 'changing' the display rate for sequences where the user has changed the snap interval in the settings for a particular sequence editor, but there's not much we can do about that given we don't have access to the USequencerSettings classes in UMovieScene #jira UE-55919 Change 3940277 by Andrew.Rodham Sequencer: Added ability to default frame resolutions and play rates for newly created actor sequences Change 3940378 by Andrew.Rodham Sequencer: Post move import dialog now defaults to the playback framerate of the sequence, and floors to frame numbers Change 3940559 by Andrew.Rodham Reinstated primed or recording sequence color Change 3940642 by Max.Preussner ImagePlate: Removed image plate media playback functionality Change 3940843 by Max.Preussner Core: Made TCircularQueue actually thread-safe; improved code comments Change 3940860 by Max.Chen Sequencer: Changed StructNameToKey to StructPathToKey Previously, keying a PropertyPath of [RenderTransform][Shear][X] would get trimmed to X, which doesn't map to a channel name as considered by Sequencer2dTransformTrackEditor. Instead, trim the resulting property path to [Shear][X] so that track editors can determine the desired struct path and channels to key. #jira UE-52966 Change 3941292 by Mike.Zyracki Fix for trajectories out of range not showing up. 1) If we had no key data we would pop the time, so wouldn't get the section ranges. 2) Calculating of upper bound was wrong, checking against -1 and not key == num of keys when doing algo::lower_bound. 3) No need to do the Bck-- for the bakward iterators since we fixed #2. We start now from the upper bound correctly. 4) If we had no keys (at section start,end) we would incorrectly say we were any key type, so since we draw constant keys as dashed we would do so incorrectly around section end points. #jira UE-55929 Change 3941424 by Max.Chen Curve Editor: Change Zoom to Fit to use TArrayView Change 3941498 by Max.Preussner Core: Added FMath::DivideAndRoundNearest function Change 3942097 by Matt.Hoffman Drop Frame Timecode Support for NTSC rates. Change 3942104 by Matt.Hoffman Sequence Recorder Group is no longer visible inside the World Outliner after using one. #jira 55266 Change 3942107 by Max.Chen Sequencer: Resurrect logic to find or extend an existing section when adding keys. Change 3942330 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942339 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942507 by Andrew.Rodham Sequencer: We no longer pad the time overlap threshold with a small number that is not scaled by the current zoom level - The presence of this pad was causing keys that were far apart to be grouped when zoomed in a long way Change 3942509 by Andrew.Rodham Sequencer: Only pad total view range, rather than section range as well when retrieving keys to render - This stops us from rendering keys that are within the view range, but outside the section range Change 3942512 by Andrew.Rodham Added transactions to some sequencer details customizations Change 3942513 by Andrew.Rodham Sequencer: Reinstated validation checks to UMovieSceneSection::SetStartFrame and SetEndFrame, changed erroneous uses to use SetRange Change 3942560 by Andrew.Rodham Pass by rvalue reference to appease error C2719 on Win32 ('InChannels': formal parameter with requested alignment of 8 won't be aligned) Change 3942697 by Andrew.Rodham Newly Created Level Sequences and Actor Sequences now default to 24000 fps frame resolution (+/- ~24hrs range, supporting all integer rates + 23.976) Change 3942700 by Andrew.Rodham Sequencer: Added legacy out-of-bounds errors for times that are not supported by the current legacy upgrade frame resolution Change 3942989 by Max.Preussner Core: Fixed circular queue count calculation Change 3943538 by Max.Preussner MediaAssets: Reverted workaround for procedural audio log spam in HTML5 (Actor component initialization cannot be skipped if the component is used in a level) Change 3944071 by Max.Preussner QAGame: Fixed Media Texture keeps last frame of Media when PIE ends #jira UE-53360 Change 3944292 by Max.Chen Sequencer: Added extra flags to ensure that asset initialization does not occur on template actor sequences #jira UE-56113 Change 3944364 by Max.Chen Sequencer: Prevent circular shot/master tracks. Tested adding master -> child -> master as drag and drop cinematic shot tracks and sub tracks as well as through the + button. #jira UE-56091 Change 3944422 by Max.Chen Sequence Recorder: Disable transform recording if off. #jira UE-56061 Change 3944745 by Andrew.Rodham Sequencer: Key rendering fixes - Fixed assert that occured when keys happened to reside on some times due to KeyTime + TimeOverlapThreshold - KeyTime being slightly larger TimeOverlapThreshold - Fixed keys sometimes being clipped when zoomed right in due to lack of half-frame offset - Added missing documentation to MovieSceneTimeHelpers.h #jira UE-56107 Change 3945231 by Andrew.Rodham Sequencer: Reconstruct channel proxy on Serialize to catch all cases of undo/redo, PostLoad and duplication #jira UE-56089 Change 3945301 by Andrew.Rodham Sequencer: Added safety checks during initial sequence recording to guard against applying negative or 0-sized sequence ranges #jira UE-56125 Change 3946627 by Max.Preussner Fortnite: Fixed game crashes closing editor while in PIE - Pure virtual function being called #jira UE-56144 [CL 3946896 by Max Chen in Main branch]
2018-03-14 22:09:33 -04:00
}
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3946692) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3801826 by Max.Chen PR #4304: Level Sequence crash fix - Guarded against dereferencing null componen. (Contributed by DSDambuster) Change 3801828 by Max.Chen PR #4302: Movie Scene Visibility Template unitialised variable, causing random . (Contributed by DSDambuster) Change 3801837 by Max.Chen Sequencer: Delay spawning/construction for convert to possessable. This fixes a bug where property values would be lost when converting back and forth from possessable to spawnable. #jira UE-52400 Change 3801841 by Max.Chen Sequencer: Make spacer nodes not selectable. PR #4194: Improvements to Sequencer (Contributed by projectgheist) #jira UE-53117 #jira UE-52139 Change 3804183 by Max.Preussner MediaAssets: Added missing lock in media sound component Change 3805414 by Max.Preussner MediaAssets: Setting valid GUID when initializing media texture resource Change 3819578 by Max.Chen PR #4370: When enabling the "MovieCapture", do not turn off the Stereo-3D display. (Contributed by yehaike) #jira UE-53647 Change 3823414 by Max.Chen Curve Editor: Lock down the first and last keys in the redundant keys removal range so that they're unaffected. #jira UE-53591 Change 3826406 by Max.Chen Sequencer: Move OnStartedPlaying() to within first update in UpdateTimeCursorPosition(). This fixes an issue where setting the hud/player visibility was getting stomped on later. #jira UE-52772 Change 3827044 by Max.Preussner MediaAssets: Added sprite visualization to media sound component #jira UE-53594 Change 3827988 by Max.Preussner MediaPlayerAssets: Fixed Media Texture is not linked to Media Player when created together #jira UE-53532 Change 3828506 by Max.Preussner MediaPlayerEditor: Added attenuation visualizer for media sound components #jira UE-53594 Change 3832590 by andrew.porter EngineTest: Added a keep state check in Property Animation sequencer test Change 3833053 by andrew.porter EngineTest: Adding Hierarchical Bias test Change 3835683 by andrew.porter EngineTest: Adding UMG Animation screenshot test Change 3836076 by Max.Chen Sequencer: Fix audio volume and pitch multiplier deprecation. Change 3836230 by andrew.porter EngineTest: Adding Sequence Bone Position automation test Change 3836347 by Max.Chen Sequencer: Fixes to shot name parsing. When a shot doesn't contain a shot number, assume, [ShotName]_[TakeNumber]. When duplicating a shot, put the new shot in the same path of the original shot, so that the take numbers will increment properly. #jira UE-51868 Change 3836552 by Max.Chen Sequencer: Sub section now has a takes menu Change 3838094 by Max.Chen UMG: Fix template finish not getting called on stop. This fixes a bug where sections aren't restored when finished. #jira UE-52285 Change 3838708 by Max.Chen Sequencer: Add notification when the blend type is changed. #jira UE-54046 Change 3840295 by Max.Chen Sequencer: Fix copy/paste crash for lights #jira UE-54084 Change 3840957 by Mike.Zyracki Added Show Only Keyable and Show Only Animated to the filter list in the property editor. Added IsPropertyAnimated to IDetailKeyframe Interface which already had support for showing properties which are keyable (which is used for the key icon next to the properties.). Could have created another interface but then would have had to mimic the sequencer binding, releasing also, so this seemed best way. One issue still left is that custom built detail items currently don't store associated properties(usually) and so certain properties, in particulalry transforms, won't show up as keyable or animated. Note this also shows up with the keyable icon not showing up next to transform tracks, and other filters like Show Only Modified not working with transforms/customs. Not sure best way to tackle this. #jira UESEQ-328 Change 3841756 by Max.Chen Sequencer: Fix unbound possessable components when pasting spawnables. #jira UE-54104 Change 3843950 by andrew.porter EngineTest: Renaming LevelStreaming tests/content to LevelVisibility Change 3844082 by Mike.Zyracki Missing file for animated filter in property editor. When finding if a track is animated we need to find it but we can't easily induce the MovieTrack class for any particular property. So we don't set a class for it and just search by it's ID and name. #jira UESEQ-328 Change 3846902 by Max.Preussner ImgMedia: Fixed image media player never finished initialization if loading failed #jira UE-54247 Change 3849820 by Mike.Zyracki Reassigning deleted widgets didn't work since the menu extender mechanism needs a valid UObject in order to perform an operation on it. So to fix we replaced GetObjectBindingContextMenuExtender in WidgetBlueprint with new delegate mechanism (OnBuildCustomContextMenuForGuid) that supports FGuid in addition to UObjects which is needed to handle re-binding deleted widgets. Note that the default sequencer hacks this for replacing deleted actors in SequencerObjectBindingNode to check to see if a LevelSequence is active. We could move to this mechanism there also. #jira UE-53163 Change 3852211 by Max.Chen UMG: Indicate name of the property that is not bound. #jira UE-54350 Change 3854120 by Max.Chen Sequencer: Fix sibling folders being allowed to have the same folder name. #jira UE-54363 Change 3854627 by Max.Chen Sequencer: Step to next/previous key should work for all tracks if there aren't any selected. #jira UESEQ-391 Change 3855825 by andrew.porter EngineTest: Adding animation blending automation test Change 3855950 by andrew.porter EngineTest: Adding correct expected valuues to animation blending test Change 3856237 by Matt.Hoffman UESEQ-336 - Sequencer Track Reordering Adds the ability to re-order Master Tracks, Folders and Object Bindings within sequencer hierarchies (including UMG). Adds the ability to do a one-off sorting of the content under the old sorting behavior if the user wants to reset their layout to how it was under legacy behavior. Modifies SequencerTrackNodes, SequencerFolderNodes and SequencerObjectBindingNodes to handle CanDrop/OnDrop for above, below and ontop of. Fixes a Slate Issue that forcibly expanded a TreeviewRow if an item handled OnDrop. Slate will now only forcibly expand the row if the item says the drop happened ontop of the item, and not above or below it like it previously did. Change 3856503 by andrew.porter EngineTest: Adding automation test for using animation blueprint with blend multi node in sequencer Change 3857875 by Max.Chen Sequencer: Assign the sequence id after the template is compiled. #jira UE-54462 Change 3858344 by Max.Chen Sequencer: Prevent Goto and Transform boxes from overlapping by allowing them to be visible at the same time in an autosized horizontal box. Also, added close button to the goto box. PR #4425: Prevent Goto and Transform boxes from overlapping in Sequencer ... (Contributed by projectgheist) #jira UE-54210 Change 3860566 by andrew.porter MediaFrameworkTest: Set the option to index 0 for the audio and video track list by default Change 3860654 by andrew.porter EngineTest: Enabling Camera Cut + FOV test Change 3860981 by andrew.porter EngineTest: Updating skeletal mesh tests with a delay after set playback position Change 3861256 by Max.Chen Sequencer: Add all bindings if none selected. #jira-54440 Change 3862154 by Andrew.Rodham Added TimeManagement module Change 3862424 by andrew.porter EngineTest: Turned on the test Bone Positions with Blend Multi Node Change 3862573 by andrew.porter EngineTest: Adding test to compare bone positions in a sequence that is blending an animation that is using an AnimBP Change 3865117 by Max.Chen Sequencer: Stop auto scroll on mouse release of movement. #jira UE-31212 Change 3865303 by Max.Chen Sequencer: Add drag and drop transactions #jira UE-54662 Change 3865304 by Max.Chen Sequencer: Fix crash when an actor factory is not found. Change 3865361 by Max.Chen Sequencer: Don't change the camera/shot lock button when popping out of a sequence. #jira UE-54665 Change 3865412 by Max.Chen Sequencer: Determine whether a transform track is for a camera by using the spawned object or template #jira UE-54666 Change 3865685 by Max.Chen Sequencer: Clear autoscrub offset when stopping autoscroll #jira UE-31212 Change 3865886 by Max.Chen Sequence Recorder: Log an error if the number of frames changes while recording. This can happen if the skeleton changes while recording. #jira UE-48715 Change 3866925 by Andrew.Porter MediaFrameworkTest: Changing the current PNG test video image sequence to 1024 x 576 Change 3867705 by andrew.porter QAGame: Adding Audio Sort Sequence to dev folder Change 3867890 by andrew.porter QAGame: Adding a sequence for testing a sorting crash to my dev folder Change 3872628 by Max.Chen Movie Scene Capture: Split delay before warmup into split delay before shot warmup so that there's separate controls for when the movie scene capture warmups up vs. shot boundaries. Change 3873131 by Matt.Hoffman UE-54732 - Crash reordering a folder with a track. This was caused by folders being the only type of track to check if someone was putting a parent track into a child track. Object Binding tracks and Tracks now check as well so that you can't use the above/below drop targets to add parents as children. This also fixed a typo in the localization keys. #jira UE-54732 Change 3873301 by Mike.Zyracki Added ability to support continous euler angle changes when changing rotations, in particularly with the rotation gizmo's. To do this we effectively added a form an of 'euler filter'(https://en.wikipedia.org/wiki/Euler_filter) to find the closest euler angle to the current euler angle. Three functions were added to FRotator to make this possible, one to get the euler angle that's has the same rotation as it, one to get the difference between two euler angles via Manhattan distance and a third using the previous two to choose a Rotator value that's closest to it. We then use these functions before calling UComponent::SetRelativeRotation to make sure we use the correct Euler after the Quat conversion. We also no longer limit(bound) the euler angles to -180,180, which is obviously necessary to avoid flips. I also changed how we caluclate yaw and roll when pitch is -90 or 90 to make it the standard approach of zeroing out roll and just setting yaw. Main reasons are the previous implementation had precision issues so things like 180, 90, -180 would show up due to numbers being nearly zero but negative,(this would break any smooth interpolations), and this facilitates having a 'gimbal' rotation mode (like Maya, Blender etc..) if we ever want that also. If needed we could keep the previous implementation but would need to add some FMath::IsNearlyZero checks, with less performance. Note we only do this special filtering when applying delta's to actors or components in the editors, which then call UComponent::SetRelativeRotationExact, which is a new function to foces the RelativeRotation to be equal to the new rotation. This allows us to store un-nomalized Rotators at the cost that the RotationCache may be broken. We didn't change any of the other UComponent functions that set rotations (via Quats or Transforms) so they will still be bounded and unwound. In SetInternalWorldLocationAndRotation we only set the rotation if the rotation has changed, which fixes the rotation getting changed and re-normalized if just translate happens. In TransformTrackEditor, we correclty use the bUndwing flag and in MovieScene3DTransformSection there was an un-needed winding check there, it will be unwound earlier if needed, which happens if Sequence Recording is happening. Max we should talk about what to do about this . Note the euler angle drag via the widget is still bound to 0-360. I think we should just unbound that now since the rotations value are now unbound. This review now includes fixes suggested by Zak. #jira UE-UE-22228 Change 3873483 by Matt.Hoffman Sequencer Tracks can now be inserted above the spacer at the bottom of the tree. #jira UE-54706 Change 3873899 by Max.Chen Sequencer: Add section selection throbbing Change 3873908 by Max.Chen Movie Scene Capture: Added logging per frame Change 3873924 by Matt.Hoffman Adds the ability to store Sequence Recorder setups into profiles that stay with the map and can be re-loaded later. Profiles store the Actor Recordings so the settings for each actor should carry with them. #jira UESEQ-339 Change 3874726 by Matt.Hoffman Disable drag-and-drop targets on spacers that come between rows in Sequencer. This prevents extra drag/drop targets showing up between each row. #jira UE-54706 Change 3874862 by Matt.Hoffman Audio Track no longer gets reordered when adding sub-audio tracks, as sub-tracks are no longer counted towards the sorting order index when normalizing indexes. #jira UE-54727 Change 3875905 by Matt.Hoffman Disable Fade Track UI if a fade track already exists in the sequence. #jira UESEQ-393 Change 3876163 by Max.Chen Sequencer: Swap the camera object to the camera component's owner if it's not the same. #jira UE-54874 Change 3876971 by Andrew.Porter EngineTest: Moved Media Player Seek test to new folder. Also enabled the test with new ground truth image. Change 3877040 by Max.Chen Cine Camera: Split camera properties to two groups, "Camera Options" and "Camera Settings". The cine camera now hides properties in the "Camera Settings" group so that properties like bConstrainAspectRatio (in the "Camera Options" group) can be visible. #jira UE-54192 Change 3877763 by Max.Chen Curve Editor: Fix curve changed on end drag so that only curves that had keys/tangents that were changed receive notification, otherwise all loaded curves were getting notified that they were changed. #jira UE-54951 Change 3878234 by Matt.Hoffman Disable "Drop Below" targets for Sequencer Tree nodes to prevent a confusing UX issue where dropping underneath a Object Binding Node puts it after the object binding node but the UI looks like it's inserting it inside the Object Binding node. #jira UE-54743 Change 3879359 by Mike.Zyracki If a track is inactive we dim it a bit which seems to be the UE4 way to show inactive or disabled state. We changed the active logic so that all subtracks need to be inactive for the track to also be inactive(instead of all active for active). This conforms to how the active state actually works, e.g if you have two sections and only one is active the track is still active above it. #jira UESEQ-388 Change 3879462 by Max.Chen Sequencer: Allow dragging onto a particular row which would move out any overlapping sections to make space for the newly created section. Newly created sections are now selected and throbbed to draw attention to themselves. #jira UE-54664 Change 3879464 by Max.Chen Sequencer: Fixed overlapping ranges being inserted into the evaluation field during compilation - The issue was that track segments that had been combined with adjacent segments (due to them being identical) would potentially cause a subsequently compiled frame to overlap with a range that had already been inserted into the evaluation field. - The insertion code previously asserted that only minor overlaps were catered for (due to fp rounding errors) and assumed that a supplied range could not entirely contain any other range in the field. - The solution is to supply the insertion time along with the range to know exactly where the data should live in the field, and crop the range to the maximum allowable space between adjacent ranges. #jira UE-54922 Change 3879590 by Matt.Hoffman Items that are now added to the Sequencer via the "+Track" menu will be selected after being added. Items can now be added inside of folders instead of just to the root level. #jira UE-27397 Change 3879612 by Mike.Zyracki Display Nodes with no children are always active. #jira UESEQ-388 Change 3879730 by Matt.Hoffman Sequence Recorder's actor recording groups now remove items from the group when removed via the UI. #jira UESEQ-339 Change 3880256 by Mike.Zyracki Fix issue with inactive display with folders and other track nodes. #jira UESEQ-388 Change 3883491 by Max.Chen Fix issue where tick is skipped due to last ticked pose isn't cleared after AnimInstance changes. Copy from Release-4.19 #jira UE-51323 Change 3883603 by Max.Chen Movie Scene Capture: Add option toggle disable screen percentage. By default this is on (no change in current behavior). #jira UE-51898 Change 3885074 by Max.Preussner MediaCompositing: Resetting media texture & freeing resource on section end; removed dead code Change 3887220 by Max.Preussner MediaCompositing: Defaulted media section duration to 1 sec (since we do not know the actual duration in most cases) Change 3887478 by Matt.Hoffman Sequences now show [Inactive] in their title bars when they're disabled. This helps communicate why a sequence isn't being evaluated. #jira UE-51469 Change 3888985 by Max.Chen Movie Scene Capture: Clamp HDR Compression Quality between 0 and 1. #jira UE-55136 Change 3893519 by Max.Chen Sequence Recorder: Clarified tooltip for bRecordNearbySpawnedActors - spawned actors will still be recorded if they match the ActorFilter. #jira UE-55238 Change 3893546 by Max.Chen Sequence Recorder: If a selected actor already has a recording, add a blank recording. #jira UE-55239 Change 3894044 by Max.Preussner MediaCompositing: Added support for seeking into a media section Change 3894310 by andrew.porter MediaFrameworkTest: Adding Img media sources for 1080 and 2160 ravent test content Change 3894426 by Max.Preussner MediaAssets: Letting media textures with AutoClear retain their clear color when player is reset Change 3895717 by Max.Chen Sequencer: Null checks to prevent crash when saving the default state of a spawnable #jira UE-55304 Change 3897388 by Max.Chen Sequencer: Don't update current time to be within the view range when stepping into a sequence. #jira UE-55322 Change 3897452 by Max.Chen Audio: Fix crash when trying to record audio without any active capture devices. Log warning if the number of input channels is not 1 or 2. #jira UE-55223 Change 3897619 by Max.Preussner MediaCompositing: Removed commented out code Change 3898072 by Max.Chen Sequencer: Override the animation asset in the player state if it doesn't match the animation asset that's being evaluated. #jira UE-55328 Change 3898272 by Max.Preussner MediaPlayerEditor: Made slate brush constants static Change 3898704 by Max.Chen Sequencer: Skip if the binding id's sequence can't be found. #jira UE-55337 Change 3899855 by Max.Preussner MediaCompositingEditor: Added cache state visualization to media track Change 3900300 by Max.Preussner MediaCompositingEditor: Added loop indicators to media sections Change 3900694 by Max.Preussner ImfMedia: Looping cache only when player is looping Change 3900892 by Max.Preussner Stats: Added stats category for media framework Change 3900954 by Max.Preussner MediaCompositing: Don't evaluate at the end of media section Change 3901348 by Max.Preussner Core: Replaced TLruCache autos for better readability Change 3901655 by Max.Preussner ImgMedia: Added more perf stats to EXR reader Change 3901972 by Max.Preussner MediaAssets: Added getter for media player in media sound components Change 3902233 by Max.Preussner MediaAssets: Enabling media textures to receive samples right after player is assigned Change 3902238 by Max.Preussner MediaCompositing: Working around init/shutdown idiosyncracies in sequencer Change 3904045 by Max.Chen Sequencer: Fix copy/paste crash. Only process UMovieSceneCopyableBinding and objects that can be spawned by the movie scene spawn register. #jira UE-55314 Change 3905605 by Max.Chen Sequencer: Restrict spawnables from being created if they have a ClassWithin that UMovieScene is not a child of. #jira UE-55429 Change 3906550 by Max.Chen Sequencer: Add media track icon #jira UE-55480 Change 3907101 by Max.Chen Sequence Recorder: Fix bugs related to not recording a level sequence. There were certain assumptions that creating a level sequence meant that sequence recording was in progress. This is not always the case - the recorders can record animation assets and not create a level sequence. Changed the notion of IsRecording() to having at least one actor recording that is recording. Countdown timer, recording displays, etc should function if IsRecording() and not based on whether a level sequence is created. #jira UE-55485 Change 3907247 by Max.Chen Sequence Recorder: Fix crash not removing PrepareToCleanseEditorObject delegate. Repros when opening sequence recorder, closing it, and then opening or creating a level. Change 3910343 by Max.Preussner Core: Added async helper for executing functions on a given thread pool Change 3910346 by Max.Preussner ImgMedia: Added separate thread pools for loading/decoding and deleting image frames Change 3910829 by Max.Preussner Profiler: Increased visible range of profiler graph Change 3910841 by Max.Preussner MediaCompositing: Displaying asset name instead of full media source path in media section Change 3910870 by Max.Preussner ImgMedia: Using deallocation thread pool only in debug builds Change 3919642 by Max.Chen Sequence Recorder: Clarify active tooltip #jira UE-55661 Change 3919660 by Max.Chen Sequencer: Sequence template source signatures are now also compared to catch the case where a sub-sequence asset has been saved but not modified - The following sequence of events exposes this issue: - Create a master sequence with a single shot that spawns a cube - Add this sequence to a level and set it to auto-play - Save everything and restart - Resave just the inner shot asset without opening it - PIE - The inner shot never spawns its cube because its template was wiped on save, but its signature never changed. Since the master sequence previously didn't check the template source signature, it ends up trying to evaluate an empty template. #jira UE-55626 #jira UE-55490 Change 3921825 by Max.Chen Sequencer: "Run Construction Script in Sequencer" is off by default for blueprints but on for Sequencer. This allows the content author to switch it on for specific blueprints and sequencer will be default, run those with construction scripts enabled. Change 3922232 by Max.Chen Sequence Recorder: Reset countdelay on stop. #jira UE-55755 Change 3922306 by Max.Chen Sequence Recorder: Don't automatically mark transforms to be recorded by sequence recorder. Instead, log a warning if the user toggled it off to warn that the resulting animation might not match gameplay. #jira UE-55758 Change 3922912 by Max.Chen Sequence Recorder: Fix refresh next sequence name #jira UE-55757 Change 3927654 by Max.Chen Movie Scene Capture: Added format mapping for the name of the current camera #jira UE-55769 PR #4537 Change 3927658 by Max.Chen Sequencer: Added fbx property mapping for "FocusDistance" to "FocusSettings.ManualFocusDistance" #jira UE-55782 Change 3932022 by Max.Chen Sequencer: Add import animation track section to next available row index. #jira UE-55892 Change 3933919 by Max.Chen Sequencer: Jump to playback start frame and not 0 to start playback for recording. #jira UE-55933 Change 3934307 by Andrew.Rodham Sequencer: Add template signature that is re-generated every time the base template is regenerated, which invalidates evaluation fields This fixes an issue where the same sequence is instantiated multiple times in a sequence. If the source sequence was saved, its template would be wiped, which would invalidate the template ID When an instance tries to evaluate the master template, it would only invalidate a range in the evaluation field that was the hull of any invalid sub sequences overlapping the current time, potentially leaving invalid data in the evaluation field at positions later (or earlier) on in the sequence When the sub template was re-generated, it receives the same SequenceSignature as it had before (because the sequence hasn't actually changed), which causes the stale evaluation field data to fail the IsDirty check (because the sequence is the same as it thought, but the *template* has changed) This has been addressed be adding a signature to templates themselves, and checking both the template signature and sequence signature as a part of the IsDirty check. This ensures that we regenerate if either the template, or the sequence have changed. #jira UE-55934 Change 3936327 by Andrew.Rodham Sequencer: Removed increment when trimming right UMovieSceneSection::TrimSection already explicity assigns an exclusive bound to the time passed in. The new behavior means we can trim a section to the right, and insert another section without changing the time to create adjacent sections. #jira UE-42652 Change 3936328 by Andrew.Rodham Fixed KeyFrameManipulator assignment operators and copy/move constructors - These types are potentially self-referential so cannot use default constructors/assignment Change 3936330 by Andrew.Rodham Converted UMGSequencePlayer to use frames internally #jira UE-54878 Change 3936726 by Max.Chen Sequencer: Set track node as the parent of the key area node. The key area switcher needs the object binding id from the parent object binding node. Without this, the binding to the external value fails. #jira UE-55931 Change 3936775 by Max.Chen Sequencer: Should stop or loop should compare DurationFrames with Current Time from StartTime. The bug is that if you set 30 warmup frames in movie rendering for a range of 0-100, the FrameRange will be starting at -30 and have a duration of 130. Without this fix, the playback will continue until frame 130, rather than 100. #jira UE-55933 Change 3936935 by Matt.Hoffman Easing Curves are now represented in Play Rate resolution instead of internal resolution. #jira UE-55937 Change 3937069 by Matt.Hoffman Users can toggle if the is infinite on each side, limited by which tracks support infinite ranges. #jira UE-55891 Change 3937516 by Max.Preussner ImgMedia: Added support for single-threaded platforms #jira UE-55986 Change 3937826 by Max.Preussner MediaAssets: Disabling media sound components on HTML5 if AudioMixer is not enabled Change 3937997 by Max.Chen Curve Editor: Add Zoom to Fit Curves so that selected curves from Sequencer can be focused on. Tested that undo doesn't re-zoom. #jira UE-55935 Change 3938000 by Max.Chen Sequencer: Stop all sounds before generating audio waveforms. #jira UE-55951 Change 3938376 by Max.Preussner XGEController: Disabled XGE Controller in single-threaded apps to prevent crash Change 3938444 by Max.Preussner Core: Added async support for single-threaded applications Change 3938445 by Max.Preussner Networking: Added support for single-threaded applications in UDP socket sender/receiver Change 3938447 by Max.Preussner Messaging: Added support for single-threaded applications Change 3939432 by Max.Chen Sequence Recorder: Append command list to global level editor actions so that shortcuts are accessible in level editor. #jira UE-55798 Change 3940229 by Andrew.Rodham Added prospective display rate upgrade to UMovieScene::PostLoad - There was previously some very odd behaviour that would assign the fixed frame interval only when a sub sequence was focused in SSequencer. This meant that many sequences could have a frame interval of 0 set in the data. - Under the old method of snap interval display this would have fallen back to getting the display interval from the sequencer settings, but we no longer look at these. - The USequencerSettings properties have been removed and in their place, a prospective data upgrade for sequences that have a fixed frame interval old 0fps that sets the play rate to the previous defaults based off the old USequencerSettings defaults. - This could end up 'changing' the display rate for sequences where the user has changed the snap interval in the settings for a particular sequence editor, but there's not much we can do about that given we don't have access to the USequencerSettings classes in UMovieScene #jira UE-55919 Change 3940277 by Andrew.Rodham Sequencer: Added ability to default frame resolutions and play rates for newly created actor sequences Change 3940378 by Andrew.Rodham Sequencer: Post move import dialog now defaults to the playback framerate of the sequence, and floors to frame numbers Change 3940559 by Andrew.Rodham Reinstated primed or recording sequence color Change 3940642 by Max.Preussner ImagePlate: Removed image plate media playback functionality Change 3940843 by Max.Preussner Core: Made TCircularQueue actually thread-safe; improved code comments Change 3940860 by Max.Chen Sequencer: Changed StructNameToKey to StructPathToKey Previously, keying a PropertyPath of [RenderTransform][Shear][X] would get trimmed to X, which doesn't map to a channel name as considered by Sequencer2dTransformTrackEditor. Instead, trim the resulting property path to [Shear][X] so that track editors can determine the desired struct path and channels to key. #jira UE-52966 Change 3941292 by Mike.Zyracki Fix for trajectories out of range not showing up. 1) If we had no key data we would pop the time, so wouldn't get the section ranges. 2) Calculating of upper bound was wrong, checking against -1 and not key == num of keys when doing algo::lower_bound. 3) No need to do the Bck-- for the bakward iterators since we fixed #2. We start now from the upper bound correctly. 4) If we had no keys (at section start,end) we would incorrectly say we were any key type, so since we draw constant keys as dashed we would do so incorrectly around section end points. #jira UE-55929 Change 3941424 by Max.Chen Curve Editor: Change Zoom to Fit to use TArrayView Change 3941498 by Max.Preussner Core: Added FMath::DivideAndRoundNearest function Change 3942097 by Matt.Hoffman Drop Frame Timecode Support for NTSC rates. Change 3942104 by Matt.Hoffman Sequence Recorder Group is no longer visible inside the World Outliner after using one. #jira 55266 Change 3942107 by Max.Chen Sequencer: Resurrect logic to find or extend an existing section when adding keys. Change 3942330 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942339 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942507 by Andrew.Rodham Sequencer: We no longer pad the time overlap threshold with a small number that is not scaled by the current zoom level - The presence of this pad was causing keys that were far apart to be grouped when zoomed in a long way Change 3942509 by Andrew.Rodham Sequencer: Only pad total view range, rather than section range as well when retrieving keys to render - This stops us from rendering keys that are within the view range, but outside the section range Change 3942512 by Andrew.Rodham Added transactions to some sequencer details customizations Change 3942513 by Andrew.Rodham Sequencer: Reinstated validation checks to UMovieSceneSection::SetStartFrame and SetEndFrame, changed erroneous uses to use SetRange Change 3942560 by Andrew.Rodham Pass by rvalue reference to appease error C2719 on Win32 ('InChannels': formal parameter with requested alignment of 8 won't be aligned) Change 3942697 by Andrew.Rodham Newly Created Level Sequences and Actor Sequences now default to 24000 fps frame resolution (+/- ~24hrs range, supporting all integer rates + 23.976) Change 3942700 by Andrew.Rodham Sequencer: Added legacy out-of-bounds errors for times that are not supported by the current legacy upgrade frame resolution Change 3942989 by Max.Preussner Core: Fixed circular queue count calculation Change 3943538 by Max.Preussner MediaAssets: Reverted workaround for procedural audio log spam in HTML5 (Actor component initialization cannot be skipped if the component is used in a level) Change 3944071 by Max.Preussner QAGame: Fixed Media Texture keeps last frame of Media when PIE ends #jira UE-53360 Change 3944292 by Max.Chen Sequencer: Added extra flags to ensure that asset initialization does not occur on template actor sequences #jira UE-56113 Change 3944364 by Max.Chen Sequencer: Prevent circular shot/master tracks. Tested adding master -> child -> master as drag and drop cinematic shot tracks and sub tracks as well as through the + button. #jira UE-56091 Change 3944422 by Max.Chen Sequence Recorder: Disable transform recording if off. #jira UE-56061 Change 3944745 by Andrew.Rodham Sequencer: Key rendering fixes - Fixed assert that occured when keys happened to reside on some times due to KeyTime + TimeOverlapThreshold - KeyTime being slightly larger TimeOverlapThreshold - Fixed keys sometimes being clipped when zoomed right in due to lack of half-frame offset - Added missing documentation to MovieSceneTimeHelpers.h #jira UE-56107 Change 3945231 by Andrew.Rodham Sequencer: Reconstruct channel proxy on Serialize to catch all cases of undo/redo, PostLoad and duplication #jira UE-56089 Change 3945301 by Andrew.Rodham Sequencer: Added safety checks during initial sequence recording to guard against applying negative or 0-sized sequence ranges #jira UE-56125 Change 3946627 by Max.Preussner Fortnite: Fixed game crashes closing editor while in PIE - Pure virtual function being called #jira UE-56144 [CL 3946896 by Max Chen in Main branch]
2018-03-14 22:09:33 -04:00
TimeSliderArgs.OnViewRangeChanged.ExecuteIfBound(ViewRange, EViewRangeInterpolation::Immediate);
Copying //UE4/Dev-Sequencer to Dev-Main (//UE4/Dev-Main) ========================== MAJOR FEATURES + CHANGES ========================== Change 2800717 on 2015/12/11 by Max.Chen Sequencer: Sort the key times for drawing to fix path trajectory. #jira UE-24331 Change 2803299 on 2015/12/15 by Max.Chen Sequencer: Fix property names so that they're the display names. For example, "DepthOfFieldFStop" now reads as "Aperture F Stop" Change 2804586 on 2015/12/15 by Max.Chen Sequencer: Add zoom in/out with shortcuts underscore and equals. Change 2811823 on 2015/12/23 by Max.Preussner Editor: Added UI action for creating new content browser folders; code cleanup; removed dead code Based on GitHub PR #1809 by artemavrin (https://github.com/EpicGames/UnrealEngine/pull/1809) #github: 1809 Change 2811839 on 2015/12/23 by Max.Preussner StereoPanorama: Code cleanup pass Based on GitHub PR# 1756 by ETayrienHBO (https://github.com/EpicGames/UnrealEngine/pull/1756) Also: - NULL to nullptr - namespaced enums to enum classes - consistent whitespace, line breaks and parentheses #github: 1756 Change 2819172 on 2016/01/07 by Andrew.Rodham Sequencer: Marquee and move modes are now automatically activated based on sequencer hotspot Change 2819176 on 2016/01/07 by Andrew.Rodham Sequencer: Various cosmetic fixes - Added icons to tracks - Removed SAnimationOutlinerTreeNode dependency from FSequencerDisplayNode (to enable future customization of shot/event track etc) - Added spacer nodes between top level display nodes - Various hover states and highlights Change 2819445 on 2016/01/07 by Andrew.Rodham Sequencer: Rendering out a capture from the composition graph now renders at the correct size even if r.ScreenPercentage is not 100. #jira UE-24920 Change 2820747 on 2016/01/08 by Andrew.Rodham Sequencer: Added option to close the editor when capturing starts #jira UE-21932 Change 2827701 on 2016/01/13 by Max.Preussner Media: Updating audio track specs each frame to better support streaming media and variable streams. Change 2828465 on 2016/01/14 by Max.Preussner Media: Better visualization of unknown media durations Change 2828469 on 2016/01/14 by Max.Preussner Media: Checking URL scheme on URLs that didn't pass the file extension filter Change 2834888 on 2016/01/19 by Max.Preussner Core: TQueue modernization pass Change 2834934 on 2016/01/19 by Max.Preussner Core: Implemented TTripleBuffer for triple buffers. Change 2834950 on 2016/01/19 by Max.Preussner Core: Added unit tests for TTripleBuffer dirty flag Change 2835488 on 2016/01/20 by Max.Preussner Core: More descriptive method names, initialization constructor, unit tests for TTripleBuffer Change 2837515 on 2016/01/20 by Max.Chen Sequencer: Command line options for custom passes. Change 2837517 on 2016/01/20 by Max.Chen Sequencer: Fix crash in visibility track instance on PIE. Change 2837518 on 2016/01/20 by Max.Chen Sequencer: Add option to lock to frame rate while playing. #jira UETOOL-475 Change 2837523 on 2016/01/20 by Max.Chen Sequencer: Capture thumbnail on level sequence asset save. Change 2837527 on 2016/01/20 by Max.Chen Sequencer: Added preroll for subsequences. Refactor instance update to combine data in EMovieSceneUpdateData. #jira UE-25380 Change 2837537 on 2016/01/20 by Max.Chen Sequencer: Add sequencer transport controls back into viewports. #jira UE-25460 Change 2837561 on 2016/01/20 by Max.Chen Sequencer: Added ability to convert a possessable to a spawnable - This option is available for any root-level possessable object bindings - It will currently delete the existing possessable (we could make this behaviour optional in future) - There is currently no check to sett if the actor is possessed by subsequent sub-sequences. If this is the case, using a possessable, or externally owned spawnable would be a better bet. Change 2837565 on 2016/01/20 by Max.Chen [CL 2858958 by Max Chen in Main branch]
2016-02-08 13:35:28 -05:00
if( !TimeSliderArgs.ViewRange.IsBound() )
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3946692) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3801826 by Max.Chen PR #4304: Level Sequence crash fix - Guarded against dereferencing null componen. (Contributed by DSDambuster) Change 3801828 by Max.Chen PR #4302: Movie Scene Visibility Template unitialised variable, causing random . (Contributed by DSDambuster) Change 3801837 by Max.Chen Sequencer: Delay spawning/construction for convert to possessable. This fixes a bug where property values would be lost when converting back and forth from possessable to spawnable. #jira UE-52400 Change 3801841 by Max.Chen Sequencer: Make spacer nodes not selectable. PR #4194: Improvements to Sequencer (Contributed by projectgheist) #jira UE-53117 #jira UE-52139 Change 3804183 by Max.Preussner MediaAssets: Added missing lock in media sound component Change 3805414 by Max.Preussner MediaAssets: Setting valid GUID when initializing media texture resource Change 3819578 by Max.Chen PR #4370: When enabling the "MovieCapture", do not turn off the Stereo-3D display. (Contributed by yehaike) #jira UE-53647 Change 3823414 by Max.Chen Curve Editor: Lock down the first and last keys in the redundant keys removal range so that they're unaffected. #jira UE-53591 Change 3826406 by Max.Chen Sequencer: Move OnStartedPlaying() to within first update in UpdateTimeCursorPosition(). This fixes an issue where setting the hud/player visibility was getting stomped on later. #jira UE-52772 Change 3827044 by Max.Preussner MediaAssets: Added sprite visualization to media sound component #jira UE-53594 Change 3827988 by Max.Preussner MediaPlayerAssets: Fixed Media Texture is not linked to Media Player when created together #jira UE-53532 Change 3828506 by Max.Preussner MediaPlayerEditor: Added attenuation visualizer for media sound components #jira UE-53594 Change 3832590 by andrew.porter EngineTest: Added a keep state check in Property Animation sequencer test Change 3833053 by andrew.porter EngineTest: Adding Hierarchical Bias test Change 3835683 by andrew.porter EngineTest: Adding UMG Animation screenshot test Change 3836076 by Max.Chen Sequencer: Fix audio volume and pitch multiplier deprecation. Change 3836230 by andrew.porter EngineTest: Adding Sequence Bone Position automation test Change 3836347 by Max.Chen Sequencer: Fixes to shot name parsing. When a shot doesn't contain a shot number, assume, [ShotName]_[TakeNumber]. When duplicating a shot, put the new shot in the same path of the original shot, so that the take numbers will increment properly. #jira UE-51868 Change 3836552 by Max.Chen Sequencer: Sub section now has a takes menu Change 3838094 by Max.Chen UMG: Fix template finish not getting called on stop. This fixes a bug where sections aren't restored when finished. #jira UE-52285 Change 3838708 by Max.Chen Sequencer: Add notification when the blend type is changed. #jira UE-54046 Change 3840295 by Max.Chen Sequencer: Fix copy/paste crash for lights #jira UE-54084 Change 3840957 by Mike.Zyracki Added Show Only Keyable and Show Only Animated to the filter list in the property editor. Added IsPropertyAnimated to IDetailKeyframe Interface which already had support for showing properties which are keyable (which is used for the key icon next to the properties.). Could have created another interface but then would have had to mimic the sequencer binding, releasing also, so this seemed best way. One issue still left is that custom built detail items currently don't store associated properties(usually) and so certain properties, in particulalry transforms, won't show up as keyable or animated. Note this also shows up with the keyable icon not showing up next to transform tracks, and other filters like Show Only Modified not working with transforms/customs. Not sure best way to tackle this. #jira UESEQ-328 Change 3841756 by Max.Chen Sequencer: Fix unbound possessable components when pasting spawnables. #jira UE-54104 Change 3843950 by andrew.porter EngineTest: Renaming LevelStreaming tests/content to LevelVisibility Change 3844082 by Mike.Zyracki Missing file for animated filter in property editor. When finding if a track is animated we need to find it but we can't easily induce the MovieTrack class for any particular property. So we don't set a class for it and just search by it's ID and name. #jira UESEQ-328 Change 3846902 by Max.Preussner ImgMedia: Fixed image media player never finished initialization if loading failed #jira UE-54247 Change 3849820 by Mike.Zyracki Reassigning deleted widgets didn't work since the menu extender mechanism needs a valid UObject in order to perform an operation on it. So to fix we replaced GetObjectBindingContextMenuExtender in WidgetBlueprint with new delegate mechanism (OnBuildCustomContextMenuForGuid) that supports FGuid in addition to UObjects which is needed to handle re-binding deleted widgets. Note that the default sequencer hacks this for replacing deleted actors in SequencerObjectBindingNode to check to see if a LevelSequence is active. We could move to this mechanism there also. #jira UE-53163 Change 3852211 by Max.Chen UMG: Indicate name of the property that is not bound. #jira UE-54350 Change 3854120 by Max.Chen Sequencer: Fix sibling folders being allowed to have the same folder name. #jira UE-54363 Change 3854627 by Max.Chen Sequencer: Step to next/previous key should work for all tracks if there aren't any selected. #jira UESEQ-391 Change 3855825 by andrew.porter EngineTest: Adding animation blending automation test Change 3855950 by andrew.porter EngineTest: Adding correct expected valuues to animation blending test Change 3856237 by Matt.Hoffman UESEQ-336 - Sequencer Track Reordering Adds the ability to re-order Master Tracks, Folders and Object Bindings within sequencer hierarchies (including UMG). Adds the ability to do a one-off sorting of the content under the old sorting behavior if the user wants to reset their layout to how it was under legacy behavior. Modifies SequencerTrackNodes, SequencerFolderNodes and SequencerObjectBindingNodes to handle CanDrop/OnDrop for above, below and ontop of. Fixes a Slate Issue that forcibly expanded a TreeviewRow if an item handled OnDrop. Slate will now only forcibly expand the row if the item says the drop happened ontop of the item, and not above or below it like it previously did. Change 3856503 by andrew.porter EngineTest: Adding automation test for using animation blueprint with blend multi node in sequencer Change 3857875 by Max.Chen Sequencer: Assign the sequence id after the template is compiled. #jira UE-54462 Change 3858344 by Max.Chen Sequencer: Prevent Goto and Transform boxes from overlapping by allowing them to be visible at the same time in an autosized horizontal box. Also, added close button to the goto box. PR #4425: Prevent Goto and Transform boxes from overlapping in Sequencer ... (Contributed by projectgheist) #jira UE-54210 Change 3860566 by andrew.porter MediaFrameworkTest: Set the option to index 0 for the audio and video track list by default Change 3860654 by andrew.porter EngineTest: Enabling Camera Cut + FOV test Change 3860981 by andrew.porter EngineTest: Updating skeletal mesh tests with a delay after set playback position Change 3861256 by Max.Chen Sequencer: Add all bindings if none selected. #jira-54440 Change 3862154 by Andrew.Rodham Added TimeManagement module Change 3862424 by andrew.porter EngineTest: Turned on the test Bone Positions with Blend Multi Node Change 3862573 by andrew.porter EngineTest: Adding test to compare bone positions in a sequence that is blending an animation that is using an AnimBP Change 3865117 by Max.Chen Sequencer: Stop auto scroll on mouse release of movement. #jira UE-31212 Change 3865303 by Max.Chen Sequencer: Add drag and drop transactions #jira UE-54662 Change 3865304 by Max.Chen Sequencer: Fix crash when an actor factory is not found. Change 3865361 by Max.Chen Sequencer: Don't change the camera/shot lock button when popping out of a sequence. #jira UE-54665 Change 3865412 by Max.Chen Sequencer: Determine whether a transform track is for a camera by using the spawned object or template #jira UE-54666 Change 3865685 by Max.Chen Sequencer: Clear autoscrub offset when stopping autoscroll #jira UE-31212 Change 3865886 by Max.Chen Sequence Recorder: Log an error if the number of frames changes while recording. This can happen if the skeleton changes while recording. #jira UE-48715 Change 3866925 by Andrew.Porter MediaFrameworkTest: Changing the current PNG test video image sequence to 1024 x 576 Change 3867705 by andrew.porter QAGame: Adding Audio Sort Sequence to dev folder Change 3867890 by andrew.porter QAGame: Adding a sequence for testing a sorting crash to my dev folder Change 3872628 by Max.Chen Movie Scene Capture: Split delay before warmup into split delay before shot warmup so that there's separate controls for when the movie scene capture warmups up vs. shot boundaries. Change 3873131 by Matt.Hoffman UE-54732 - Crash reordering a folder with a track. This was caused by folders being the only type of track to check if someone was putting a parent track into a child track. Object Binding tracks and Tracks now check as well so that you can't use the above/below drop targets to add parents as children. This also fixed a typo in the localization keys. #jira UE-54732 Change 3873301 by Mike.Zyracki Added ability to support continous euler angle changes when changing rotations, in particularly with the rotation gizmo's. To do this we effectively added a form an of 'euler filter'(https://en.wikipedia.org/wiki/Euler_filter) to find the closest euler angle to the current euler angle. Three functions were added to FRotator to make this possible, one to get the euler angle that's has the same rotation as it, one to get the difference between two euler angles via Manhattan distance and a third using the previous two to choose a Rotator value that's closest to it. We then use these functions before calling UComponent::SetRelativeRotation to make sure we use the correct Euler after the Quat conversion. We also no longer limit(bound) the euler angles to -180,180, which is obviously necessary to avoid flips. I also changed how we caluclate yaw and roll when pitch is -90 or 90 to make it the standard approach of zeroing out roll and just setting yaw. Main reasons are the previous implementation had precision issues so things like 180, 90, -180 would show up due to numbers being nearly zero but negative,(this would break any smooth interpolations), and this facilitates having a 'gimbal' rotation mode (like Maya, Blender etc..) if we ever want that also. If needed we could keep the previous implementation but would need to add some FMath::IsNearlyZero checks, with less performance. Note we only do this special filtering when applying delta's to actors or components in the editors, which then call UComponent::SetRelativeRotationExact, which is a new function to foces the RelativeRotation to be equal to the new rotation. This allows us to store un-nomalized Rotators at the cost that the RotationCache may be broken. We didn't change any of the other UComponent functions that set rotations (via Quats or Transforms) so they will still be bounded and unwound. In SetInternalWorldLocationAndRotation we only set the rotation if the rotation has changed, which fixes the rotation getting changed and re-normalized if just translate happens. In TransformTrackEditor, we correclty use the bUndwing flag and in MovieScene3DTransformSection there was an un-needed winding check there, it will be unwound earlier if needed, which happens if Sequence Recording is happening. Max we should talk about what to do about this . Note the euler angle drag via the widget is still bound to 0-360. I think we should just unbound that now since the rotations value are now unbound. This review now includes fixes suggested by Zak. #jira UE-UE-22228 Change 3873483 by Matt.Hoffman Sequencer Tracks can now be inserted above the spacer at the bottom of the tree. #jira UE-54706 Change 3873899 by Max.Chen Sequencer: Add section selection throbbing Change 3873908 by Max.Chen Movie Scene Capture: Added logging per frame Change 3873924 by Matt.Hoffman Adds the ability to store Sequence Recorder setups into profiles that stay with the map and can be re-loaded later. Profiles store the Actor Recordings so the settings for each actor should carry with them. #jira UESEQ-339 Change 3874726 by Matt.Hoffman Disable drag-and-drop targets on spacers that come between rows in Sequencer. This prevents extra drag/drop targets showing up between each row. #jira UE-54706 Change 3874862 by Matt.Hoffman Audio Track no longer gets reordered when adding sub-audio tracks, as sub-tracks are no longer counted towards the sorting order index when normalizing indexes. #jira UE-54727 Change 3875905 by Matt.Hoffman Disable Fade Track UI if a fade track already exists in the sequence. #jira UESEQ-393 Change 3876163 by Max.Chen Sequencer: Swap the camera object to the camera component's owner if it's not the same. #jira UE-54874 Change 3876971 by Andrew.Porter EngineTest: Moved Media Player Seek test to new folder. Also enabled the test with new ground truth image. Change 3877040 by Max.Chen Cine Camera: Split camera properties to two groups, "Camera Options" and "Camera Settings". The cine camera now hides properties in the "Camera Settings" group so that properties like bConstrainAspectRatio (in the "Camera Options" group) can be visible. #jira UE-54192 Change 3877763 by Max.Chen Curve Editor: Fix curve changed on end drag so that only curves that had keys/tangents that were changed receive notification, otherwise all loaded curves were getting notified that they were changed. #jira UE-54951 Change 3878234 by Matt.Hoffman Disable "Drop Below" targets for Sequencer Tree nodes to prevent a confusing UX issue where dropping underneath a Object Binding Node puts it after the object binding node but the UI looks like it's inserting it inside the Object Binding node. #jira UE-54743 Change 3879359 by Mike.Zyracki If a track is inactive we dim it a bit which seems to be the UE4 way to show inactive or disabled state. We changed the active logic so that all subtracks need to be inactive for the track to also be inactive(instead of all active for active). This conforms to how the active state actually works, e.g if you have two sections and only one is active the track is still active above it. #jira UESEQ-388 Change 3879462 by Max.Chen Sequencer: Allow dragging onto a particular row which would move out any overlapping sections to make space for the newly created section. Newly created sections are now selected and throbbed to draw attention to themselves. #jira UE-54664 Change 3879464 by Max.Chen Sequencer: Fixed overlapping ranges being inserted into the evaluation field during compilation - The issue was that track segments that had been combined with adjacent segments (due to them being identical) would potentially cause a subsequently compiled frame to overlap with a range that had already been inserted into the evaluation field. - The insertion code previously asserted that only minor overlaps were catered for (due to fp rounding errors) and assumed that a supplied range could not entirely contain any other range in the field. - The solution is to supply the insertion time along with the range to know exactly where the data should live in the field, and crop the range to the maximum allowable space between adjacent ranges. #jira UE-54922 Change 3879590 by Matt.Hoffman Items that are now added to the Sequencer via the "+Track" menu will be selected after being added. Items can now be added inside of folders instead of just to the root level. #jira UE-27397 Change 3879612 by Mike.Zyracki Display Nodes with no children are always active. #jira UESEQ-388 Change 3879730 by Matt.Hoffman Sequence Recorder's actor recording groups now remove items from the group when removed via the UI. #jira UESEQ-339 Change 3880256 by Mike.Zyracki Fix issue with inactive display with folders and other track nodes. #jira UESEQ-388 Change 3883491 by Max.Chen Fix issue where tick is skipped due to last ticked pose isn't cleared after AnimInstance changes. Copy from Release-4.19 #jira UE-51323 Change 3883603 by Max.Chen Movie Scene Capture: Add option toggle disable screen percentage. By default this is on (no change in current behavior). #jira UE-51898 Change 3885074 by Max.Preussner MediaCompositing: Resetting media texture & freeing resource on section end; removed dead code Change 3887220 by Max.Preussner MediaCompositing: Defaulted media section duration to 1 sec (since we do not know the actual duration in most cases) Change 3887478 by Matt.Hoffman Sequences now show [Inactive] in their title bars when they're disabled. This helps communicate why a sequence isn't being evaluated. #jira UE-51469 Change 3888985 by Max.Chen Movie Scene Capture: Clamp HDR Compression Quality between 0 and 1. #jira UE-55136 Change 3893519 by Max.Chen Sequence Recorder: Clarified tooltip for bRecordNearbySpawnedActors - spawned actors will still be recorded if they match the ActorFilter. #jira UE-55238 Change 3893546 by Max.Chen Sequence Recorder: If a selected actor already has a recording, add a blank recording. #jira UE-55239 Change 3894044 by Max.Preussner MediaCompositing: Added support for seeking into a media section Change 3894310 by andrew.porter MediaFrameworkTest: Adding Img media sources for 1080 and 2160 ravent test content Change 3894426 by Max.Preussner MediaAssets: Letting media textures with AutoClear retain their clear color when player is reset Change 3895717 by Max.Chen Sequencer: Null checks to prevent crash when saving the default state of a spawnable #jira UE-55304 Change 3897388 by Max.Chen Sequencer: Don't update current time to be within the view range when stepping into a sequence. #jira UE-55322 Change 3897452 by Max.Chen Audio: Fix crash when trying to record audio without any active capture devices. Log warning if the number of input channels is not 1 or 2. #jira UE-55223 Change 3897619 by Max.Preussner MediaCompositing: Removed commented out code Change 3898072 by Max.Chen Sequencer: Override the animation asset in the player state if it doesn't match the animation asset that's being evaluated. #jira UE-55328 Change 3898272 by Max.Preussner MediaPlayerEditor: Made slate brush constants static Change 3898704 by Max.Chen Sequencer: Skip if the binding id's sequence can't be found. #jira UE-55337 Change 3899855 by Max.Preussner MediaCompositingEditor: Added cache state visualization to media track Change 3900300 by Max.Preussner MediaCompositingEditor: Added loop indicators to media sections Change 3900694 by Max.Preussner ImfMedia: Looping cache only when player is looping Change 3900892 by Max.Preussner Stats: Added stats category for media framework Change 3900954 by Max.Preussner MediaCompositing: Don't evaluate at the end of media section Change 3901348 by Max.Preussner Core: Replaced TLruCache autos for better readability Change 3901655 by Max.Preussner ImgMedia: Added more perf stats to EXR reader Change 3901972 by Max.Preussner MediaAssets: Added getter for media player in media sound components Change 3902233 by Max.Preussner MediaAssets: Enabling media textures to receive samples right after player is assigned Change 3902238 by Max.Preussner MediaCompositing: Working around init/shutdown idiosyncracies in sequencer Change 3904045 by Max.Chen Sequencer: Fix copy/paste crash. Only process UMovieSceneCopyableBinding and objects that can be spawned by the movie scene spawn register. #jira UE-55314 Change 3905605 by Max.Chen Sequencer: Restrict spawnables from being created if they have a ClassWithin that UMovieScene is not a child of. #jira UE-55429 Change 3906550 by Max.Chen Sequencer: Add media track icon #jira UE-55480 Change 3907101 by Max.Chen Sequence Recorder: Fix bugs related to not recording a level sequence. There were certain assumptions that creating a level sequence meant that sequence recording was in progress. This is not always the case - the recorders can record animation assets and not create a level sequence. Changed the notion of IsRecording() to having at least one actor recording that is recording. Countdown timer, recording displays, etc should function if IsRecording() and not based on whether a level sequence is created. #jira UE-55485 Change 3907247 by Max.Chen Sequence Recorder: Fix crash not removing PrepareToCleanseEditorObject delegate. Repros when opening sequence recorder, closing it, and then opening or creating a level. Change 3910343 by Max.Preussner Core: Added async helper for executing functions on a given thread pool Change 3910346 by Max.Preussner ImgMedia: Added separate thread pools for loading/decoding and deleting image frames Change 3910829 by Max.Preussner Profiler: Increased visible range of profiler graph Change 3910841 by Max.Preussner MediaCompositing: Displaying asset name instead of full media source path in media section Change 3910870 by Max.Preussner ImgMedia: Using deallocation thread pool only in debug builds Change 3919642 by Max.Chen Sequence Recorder: Clarify active tooltip #jira UE-55661 Change 3919660 by Max.Chen Sequencer: Sequence template source signatures are now also compared to catch the case where a sub-sequence asset has been saved but not modified - The following sequence of events exposes this issue: - Create a master sequence with a single shot that spawns a cube - Add this sequence to a level and set it to auto-play - Save everything and restart - Resave just the inner shot asset without opening it - PIE - The inner shot never spawns its cube because its template was wiped on save, but its signature never changed. Since the master sequence previously didn't check the template source signature, it ends up trying to evaluate an empty template. #jira UE-55626 #jira UE-55490 Change 3921825 by Max.Chen Sequencer: "Run Construction Script in Sequencer" is off by default for blueprints but on for Sequencer. This allows the content author to switch it on for specific blueprints and sequencer will be default, run those with construction scripts enabled. Change 3922232 by Max.Chen Sequence Recorder: Reset countdelay on stop. #jira UE-55755 Change 3922306 by Max.Chen Sequence Recorder: Don't automatically mark transforms to be recorded by sequence recorder. Instead, log a warning if the user toggled it off to warn that the resulting animation might not match gameplay. #jira UE-55758 Change 3922912 by Max.Chen Sequence Recorder: Fix refresh next sequence name #jira UE-55757 Change 3927654 by Max.Chen Movie Scene Capture: Added format mapping for the name of the current camera #jira UE-55769 PR #4537 Change 3927658 by Max.Chen Sequencer: Added fbx property mapping for "FocusDistance" to "FocusSettings.ManualFocusDistance" #jira UE-55782 Change 3932022 by Max.Chen Sequencer: Add import animation track section to next available row index. #jira UE-55892 Change 3933919 by Max.Chen Sequencer: Jump to playback start frame and not 0 to start playback for recording. #jira UE-55933 Change 3934307 by Andrew.Rodham Sequencer: Add template signature that is re-generated every time the base template is regenerated, which invalidates evaluation fields This fixes an issue where the same sequence is instantiated multiple times in a sequence. If the source sequence was saved, its template would be wiped, which would invalidate the template ID When an instance tries to evaluate the master template, it would only invalidate a range in the evaluation field that was the hull of any invalid sub sequences overlapping the current time, potentially leaving invalid data in the evaluation field at positions later (or earlier) on in the sequence When the sub template was re-generated, it receives the same SequenceSignature as it had before (because the sequence hasn't actually changed), which causes the stale evaluation field data to fail the IsDirty check (because the sequence is the same as it thought, but the *template* has changed) This has been addressed be adding a signature to templates themselves, and checking both the template signature and sequence signature as a part of the IsDirty check. This ensures that we regenerate if either the template, or the sequence have changed. #jira UE-55934 Change 3936327 by Andrew.Rodham Sequencer: Removed increment when trimming right UMovieSceneSection::TrimSection already explicity assigns an exclusive bound to the time passed in. The new behavior means we can trim a section to the right, and insert another section without changing the time to create adjacent sections. #jira UE-42652 Change 3936328 by Andrew.Rodham Fixed KeyFrameManipulator assignment operators and copy/move constructors - These types are potentially self-referential so cannot use default constructors/assignment Change 3936330 by Andrew.Rodham Converted UMGSequencePlayer to use frames internally #jira UE-54878 Change 3936726 by Max.Chen Sequencer: Set track node as the parent of the key area node. The key area switcher needs the object binding id from the parent object binding node. Without this, the binding to the external value fails. #jira UE-55931 Change 3936775 by Max.Chen Sequencer: Should stop or loop should compare DurationFrames with Current Time from StartTime. The bug is that if you set 30 warmup frames in movie rendering for a range of 0-100, the FrameRange will be starting at -30 and have a duration of 130. Without this fix, the playback will continue until frame 130, rather than 100. #jira UE-55933 Change 3936935 by Matt.Hoffman Easing Curves are now represented in Play Rate resolution instead of internal resolution. #jira UE-55937 Change 3937069 by Matt.Hoffman Users can toggle if the is infinite on each side, limited by which tracks support infinite ranges. #jira UE-55891 Change 3937516 by Max.Preussner ImgMedia: Added support for single-threaded platforms #jira UE-55986 Change 3937826 by Max.Preussner MediaAssets: Disabling media sound components on HTML5 if AudioMixer is not enabled Change 3937997 by Max.Chen Curve Editor: Add Zoom to Fit Curves so that selected curves from Sequencer can be focused on. Tested that undo doesn't re-zoom. #jira UE-55935 Change 3938000 by Max.Chen Sequencer: Stop all sounds before generating audio waveforms. #jira UE-55951 Change 3938376 by Max.Preussner XGEController: Disabled XGE Controller in single-threaded apps to prevent crash Change 3938444 by Max.Preussner Core: Added async support for single-threaded applications Change 3938445 by Max.Preussner Networking: Added support for single-threaded applications in UDP socket sender/receiver Change 3938447 by Max.Preussner Messaging: Added support for single-threaded applications Change 3939432 by Max.Chen Sequence Recorder: Append command list to global level editor actions so that shortcuts are accessible in level editor. #jira UE-55798 Change 3940229 by Andrew.Rodham Added prospective display rate upgrade to UMovieScene::PostLoad - There was previously some very odd behaviour that would assign the fixed frame interval only when a sub sequence was focused in SSequencer. This meant that many sequences could have a frame interval of 0 set in the data. - Under the old method of snap interval display this would have fallen back to getting the display interval from the sequencer settings, but we no longer look at these. - The USequencerSettings properties have been removed and in their place, a prospective data upgrade for sequences that have a fixed frame interval old 0fps that sets the play rate to the previous defaults based off the old USequencerSettings defaults. - This could end up 'changing' the display rate for sequences where the user has changed the snap interval in the settings for a particular sequence editor, but there's not much we can do about that given we don't have access to the USequencerSettings classes in UMovieScene #jira UE-55919 Change 3940277 by Andrew.Rodham Sequencer: Added ability to default frame resolutions and play rates for newly created actor sequences Change 3940378 by Andrew.Rodham Sequencer: Post move import dialog now defaults to the playback framerate of the sequence, and floors to frame numbers Change 3940559 by Andrew.Rodham Reinstated primed or recording sequence color Change 3940642 by Max.Preussner ImagePlate: Removed image plate media playback functionality Change 3940843 by Max.Preussner Core: Made TCircularQueue actually thread-safe; improved code comments Change 3940860 by Max.Chen Sequencer: Changed StructNameToKey to StructPathToKey Previously, keying a PropertyPath of [RenderTransform][Shear][X] would get trimmed to X, which doesn't map to a channel name as considered by Sequencer2dTransformTrackEditor. Instead, trim the resulting property path to [Shear][X] so that track editors can determine the desired struct path and channels to key. #jira UE-52966 Change 3941292 by Mike.Zyracki Fix for trajectories out of range not showing up. 1) If we had no key data we would pop the time, so wouldn't get the section ranges. 2) Calculating of upper bound was wrong, checking against -1 and not key == num of keys when doing algo::lower_bound. 3) No need to do the Bck-- for the bakward iterators since we fixed #2. We start now from the upper bound correctly. 4) If we had no keys (at section start,end) we would incorrectly say we were any key type, so since we draw constant keys as dashed we would do so incorrectly around section end points. #jira UE-55929 Change 3941424 by Max.Chen Curve Editor: Change Zoom to Fit to use TArrayView Change 3941498 by Max.Preussner Core: Added FMath::DivideAndRoundNearest function Change 3942097 by Matt.Hoffman Drop Frame Timecode Support for NTSC rates. Change 3942104 by Matt.Hoffman Sequence Recorder Group is no longer visible inside the World Outliner after using one. #jira 55266 Change 3942107 by Max.Chen Sequencer: Resurrect logic to find or extend an existing section when adding keys. Change 3942330 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942339 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942507 by Andrew.Rodham Sequencer: We no longer pad the time overlap threshold with a small number that is not scaled by the current zoom level - The presence of this pad was causing keys that were far apart to be grouped when zoomed in a long way Change 3942509 by Andrew.Rodham Sequencer: Only pad total view range, rather than section range as well when retrieving keys to render - This stops us from rendering keys that are within the view range, but outside the section range Change 3942512 by Andrew.Rodham Added transactions to some sequencer details customizations Change 3942513 by Andrew.Rodham Sequencer: Reinstated validation checks to UMovieSceneSection::SetStartFrame and SetEndFrame, changed erroneous uses to use SetRange Change 3942560 by Andrew.Rodham Pass by rvalue reference to appease error C2719 on Win32 ('InChannels': formal parameter with requested alignment of 8 won't be aligned) Change 3942697 by Andrew.Rodham Newly Created Level Sequences and Actor Sequences now default to 24000 fps frame resolution (+/- ~24hrs range, supporting all integer rates + 23.976) Change 3942700 by Andrew.Rodham Sequencer: Added legacy out-of-bounds errors for times that are not supported by the current legacy upgrade frame resolution Change 3942989 by Max.Preussner Core: Fixed circular queue count calculation Change 3943538 by Max.Preussner MediaAssets: Reverted workaround for procedural audio log spam in HTML5 (Actor component initialization cannot be skipped if the component is used in a level) Change 3944071 by Max.Preussner QAGame: Fixed Media Texture keeps last frame of Media when PIE ends #jira UE-53360 Change 3944292 by Max.Chen Sequencer: Added extra flags to ensure that asset initialization does not occur on template actor sequences #jira UE-56113 Change 3944364 by Max.Chen Sequencer: Prevent circular shot/master tracks. Tested adding master -> child -> master as drag and drop cinematic shot tracks and sub tracks as well as through the + button. #jira UE-56091 Change 3944422 by Max.Chen Sequence Recorder: Disable transform recording if off. #jira UE-56061 Change 3944745 by Andrew.Rodham Sequencer: Key rendering fixes - Fixed assert that occured when keys happened to reside on some times due to KeyTime + TimeOverlapThreshold - KeyTime being slightly larger TimeOverlapThreshold - Fixed keys sometimes being clipped when zoomed right in due to lack of half-frame offset - Added missing documentation to MovieSceneTimeHelpers.h #jira UE-56107 Change 3945231 by Andrew.Rodham Sequencer: Reconstruct channel proxy on Serialize to catch all cases of undo/redo, PostLoad and duplication #jira UE-56089 Change 3945301 by Andrew.Rodham Sequencer: Added safety checks during initial sequence recording to guard against applying negative or 0-sized sequence ranges #jira UE-56125 Change 3946627 by Max.Preussner Fortnite: Fixed game crashes closing editor while in PIE - Pure virtual function being called #jira UE-56144 [CL 3946896 by Max Chen in Main branch]
2018-03-14 22:09:33 -04:00
{
Copying //UE4/Dev-Sequencer to Dev-Main (//UE4/Dev-Main) ========================== MAJOR FEATURES + CHANGES ========================== Change 2800717 on 2015/12/11 by Max.Chen Sequencer: Sort the key times for drawing to fix path trajectory. #jira UE-24331 Change 2803299 on 2015/12/15 by Max.Chen Sequencer: Fix property names so that they're the display names. For example, "DepthOfFieldFStop" now reads as "Aperture F Stop" Change 2804586 on 2015/12/15 by Max.Chen Sequencer: Add zoom in/out with shortcuts underscore and equals. Change 2811823 on 2015/12/23 by Max.Preussner Editor: Added UI action for creating new content browser folders; code cleanup; removed dead code Based on GitHub PR #1809 by artemavrin (https://github.com/EpicGames/UnrealEngine/pull/1809) #github: 1809 Change 2811839 on 2015/12/23 by Max.Preussner StereoPanorama: Code cleanup pass Based on GitHub PR# 1756 by ETayrienHBO (https://github.com/EpicGames/UnrealEngine/pull/1756) Also: - NULL to nullptr - namespaced enums to enum classes - consistent whitespace, line breaks and parentheses #github: 1756 Change 2819172 on 2016/01/07 by Andrew.Rodham Sequencer: Marquee and move modes are now automatically activated based on sequencer hotspot Change 2819176 on 2016/01/07 by Andrew.Rodham Sequencer: Various cosmetic fixes - Added icons to tracks - Removed SAnimationOutlinerTreeNode dependency from FSequencerDisplayNode (to enable future customization of shot/event track etc) - Added spacer nodes between top level display nodes - Various hover states and highlights Change 2819445 on 2016/01/07 by Andrew.Rodham Sequencer: Rendering out a capture from the composition graph now renders at the correct size even if r.ScreenPercentage is not 100. #jira UE-24920 Change 2820747 on 2016/01/08 by Andrew.Rodham Sequencer: Added option to close the editor when capturing starts #jira UE-21932 Change 2827701 on 2016/01/13 by Max.Preussner Media: Updating audio track specs each frame to better support streaming media and variable streams. Change 2828465 on 2016/01/14 by Max.Preussner Media: Better visualization of unknown media durations Change 2828469 on 2016/01/14 by Max.Preussner Media: Checking URL scheme on URLs that didn't pass the file extension filter Change 2834888 on 2016/01/19 by Max.Preussner Core: TQueue modernization pass Change 2834934 on 2016/01/19 by Max.Preussner Core: Implemented TTripleBuffer for triple buffers. Change 2834950 on 2016/01/19 by Max.Preussner Core: Added unit tests for TTripleBuffer dirty flag Change 2835488 on 2016/01/20 by Max.Preussner Core: More descriptive method names, initialization constructor, unit tests for TTripleBuffer Change 2837515 on 2016/01/20 by Max.Chen Sequencer: Command line options for custom passes. Change 2837517 on 2016/01/20 by Max.Chen Sequencer: Fix crash in visibility track instance on PIE. Change 2837518 on 2016/01/20 by Max.Chen Sequencer: Add option to lock to frame rate while playing. #jira UETOOL-475 Change 2837523 on 2016/01/20 by Max.Chen Sequencer: Capture thumbnail on level sequence asset save. Change 2837527 on 2016/01/20 by Max.Chen Sequencer: Added preroll for subsequences. Refactor instance update to combine data in EMovieSceneUpdateData. #jira UE-25380 Change 2837537 on 2016/01/20 by Max.Chen Sequencer: Add sequencer transport controls back into viewports. #jira UE-25460 Change 2837561 on 2016/01/20 by Max.Chen Sequencer: Added ability to convert a possessable to a spawnable - This option is available for any root-level possessable object bindings - It will currently delete the existing possessable (we could make this behaviour optional in future) - There is currently no check to sett if the actor is possessed by subsequent sub-sequences. If this is the case, using a possessable, or externally owned spawnable would be a better bet. Change 2837565 on 2016/01/20 by Max.Chen [CL 2858958 by Max Chen in Main branch]
2016-02-08 13:35:28 -05:00
// The output is not bound to a delegate so we'll manage the value ourselves
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3946692) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3801826 by Max.Chen PR #4304: Level Sequence crash fix - Guarded against dereferencing null componen. (Contributed by DSDambuster) Change 3801828 by Max.Chen PR #4302: Movie Scene Visibility Template unitialised variable, causing random . (Contributed by DSDambuster) Change 3801837 by Max.Chen Sequencer: Delay spawning/construction for convert to possessable. This fixes a bug where property values would be lost when converting back and forth from possessable to spawnable. #jira UE-52400 Change 3801841 by Max.Chen Sequencer: Make spacer nodes not selectable. PR #4194: Improvements to Sequencer (Contributed by projectgheist) #jira UE-53117 #jira UE-52139 Change 3804183 by Max.Preussner MediaAssets: Added missing lock in media sound component Change 3805414 by Max.Preussner MediaAssets: Setting valid GUID when initializing media texture resource Change 3819578 by Max.Chen PR #4370: When enabling the "MovieCapture", do not turn off the Stereo-3D display. (Contributed by yehaike) #jira UE-53647 Change 3823414 by Max.Chen Curve Editor: Lock down the first and last keys in the redundant keys removal range so that they're unaffected. #jira UE-53591 Change 3826406 by Max.Chen Sequencer: Move OnStartedPlaying() to within first update in UpdateTimeCursorPosition(). This fixes an issue where setting the hud/player visibility was getting stomped on later. #jira UE-52772 Change 3827044 by Max.Preussner MediaAssets: Added sprite visualization to media sound component #jira UE-53594 Change 3827988 by Max.Preussner MediaPlayerAssets: Fixed Media Texture is not linked to Media Player when created together #jira UE-53532 Change 3828506 by Max.Preussner MediaPlayerEditor: Added attenuation visualizer for media sound components #jira UE-53594 Change 3832590 by andrew.porter EngineTest: Added a keep state check in Property Animation sequencer test Change 3833053 by andrew.porter EngineTest: Adding Hierarchical Bias test Change 3835683 by andrew.porter EngineTest: Adding UMG Animation screenshot test Change 3836076 by Max.Chen Sequencer: Fix audio volume and pitch multiplier deprecation. Change 3836230 by andrew.porter EngineTest: Adding Sequence Bone Position automation test Change 3836347 by Max.Chen Sequencer: Fixes to shot name parsing. When a shot doesn't contain a shot number, assume, [ShotName]_[TakeNumber]. When duplicating a shot, put the new shot in the same path of the original shot, so that the take numbers will increment properly. #jira UE-51868 Change 3836552 by Max.Chen Sequencer: Sub section now has a takes menu Change 3838094 by Max.Chen UMG: Fix template finish not getting called on stop. This fixes a bug where sections aren't restored when finished. #jira UE-52285 Change 3838708 by Max.Chen Sequencer: Add notification when the blend type is changed. #jira UE-54046 Change 3840295 by Max.Chen Sequencer: Fix copy/paste crash for lights #jira UE-54084 Change 3840957 by Mike.Zyracki Added Show Only Keyable and Show Only Animated to the filter list in the property editor. Added IsPropertyAnimated to IDetailKeyframe Interface which already had support for showing properties which are keyable (which is used for the key icon next to the properties.). Could have created another interface but then would have had to mimic the sequencer binding, releasing also, so this seemed best way. One issue still left is that custom built detail items currently don't store associated properties(usually) and so certain properties, in particulalry transforms, won't show up as keyable or animated. Note this also shows up with the keyable icon not showing up next to transform tracks, and other filters like Show Only Modified not working with transforms/customs. Not sure best way to tackle this. #jira UESEQ-328 Change 3841756 by Max.Chen Sequencer: Fix unbound possessable components when pasting spawnables. #jira UE-54104 Change 3843950 by andrew.porter EngineTest: Renaming LevelStreaming tests/content to LevelVisibility Change 3844082 by Mike.Zyracki Missing file for animated filter in property editor. When finding if a track is animated we need to find it but we can't easily induce the MovieTrack class for any particular property. So we don't set a class for it and just search by it's ID and name. #jira UESEQ-328 Change 3846902 by Max.Preussner ImgMedia: Fixed image media player never finished initialization if loading failed #jira UE-54247 Change 3849820 by Mike.Zyracki Reassigning deleted widgets didn't work since the menu extender mechanism needs a valid UObject in order to perform an operation on it. So to fix we replaced GetObjectBindingContextMenuExtender in WidgetBlueprint with new delegate mechanism (OnBuildCustomContextMenuForGuid) that supports FGuid in addition to UObjects which is needed to handle re-binding deleted widgets. Note that the default sequencer hacks this for replacing deleted actors in SequencerObjectBindingNode to check to see if a LevelSequence is active. We could move to this mechanism there also. #jira UE-53163 Change 3852211 by Max.Chen UMG: Indicate name of the property that is not bound. #jira UE-54350 Change 3854120 by Max.Chen Sequencer: Fix sibling folders being allowed to have the same folder name. #jira UE-54363 Change 3854627 by Max.Chen Sequencer: Step to next/previous key should work for all tracks if there aren't any selected. #jira UESEQ-391 Change 3855825 by andrew.porter EngineTest: Adding animation blending automation test Change 3855950 by andrew.porter EngineTest: Adding correct expected valuues to animation blending test Change 3856237 by Matt.Hoffman UESEQ-336 - Sequencer Track Reordering Adds the ability to re-order Master Tracks, Folders and Object Bindings within sequencer hierarchies (including UMG). Adds the ability to do a one-off sorting of the content under the old sorting behavior if the user wants to reset their layout to how it was under legacy behavior. Modifies SequencerTrackNodes, SequencerFolderNodes and SequencerObjectBindingNodes to handle CanDrop/OnDrop for above, below and ontop of. Fixes a Slate Issue that forcibly expanded a TreeviewRow if an item handled OnDrop. Slate will now only forcibly expand the row if the item says the drop happened ontop of the item, and not above or below it like it previously did. Change 3856503 by andrew.porter EngineTest: Adding automation test for using animation blueprint with blend multi node in sequencer Change 3857875 by Max.Chen Sequencer: Assign the sequence id after the template is compiled. #jira UE-54462 Change 3858344 by Max.Chen Sequencer: Prevent Goto and Transform boxes from overlapping by allowing them to be visible at the same time in an autosized horizontal box. Also, added close button to the goto box. PR #4425: Prevent Goto and Transform boxes from overlapping in Sequencer ... (Contributed by projectgheist) #jira UE-54210 Change 3860566 by andrew.porter MediaFrameworkTest: Set the option to index 0 for the audio and video track list by default Change 3860654 by andrew.porter EngineTest: Enabling Camera Cut + FOV test Change 3860981 by andrew.porter EngineTest: Updating skeletal mesh tests with a delay after set playback position Change 3861256 by Max.Chen Sequencer: Add all bindings if none selected. #jira-54440 Change 3862154 by Andrew.Rodham Added TimeManagement module Change 3862424 by andrew.porter EngineTest: Turned on the test Bone Positions with Blend Multi Node Change 3862573 by andrew.porter EngineTest: Adding test to compare bone positions in a sequence that is blending an animation that is using an AnimBP Change 3865117 by Max.Chen Sequencer: Stop auto scroll on mouse release of movement. #jira UE-31212 Change 3865303 by Max.Chen Sequencer: Add drag and drop transactions #jira UE-54662 Change 3865304 by Max.Chen Sequencer: Fix crash when an actor factory is not found. Change 3865361 by Max.Chen Sequencer: Don't change the camera/shot lock button when popping out of a sequence. #jira UE-54665 Change 3865412 by Max.Chen Sequencer: Determine whether a transform track is for a camera by using the spawned object or template #jira UE-54666 Change 3865685 by Max.Chen Sequencer: Clear autoscrub offset when stopping autoscroll #jira UE-31212 Change 3865886 by Max.Chen Sequence Recorder: Log an error if the number of frames changes while recording. This can happen if the skeleton changes while recording. #jira UE-48715 Change 3866925 by Andrew.Porter MediaFrameworkTest: Changing the current PNG test video image sequence to 1024 x 576 Change 3867705 by andrew.porter QAGame: Adding Audio Sort Sequence to dev folder Change 3867890 by andrew.porter QAGame: Adding a sequence for testing a sorting crash to my dev folder Change 3872628 by Max.Chen Movie Scene Capture: Split delay before warmup into split delay before shot warmup so that there's separate controls for when the movie scene capture warmups up vs. shot boundaries. Change 3873131 by Matt.Hoffman UE-54732 - Crash reordering a folder with a track. This was caused by folders being the only type of track to check if someone was putting a parent track into a child track. Object Binding tracks and Tracks now check as well so that you can't use the above/below drop targets to add parents as children. This also fixed a typo in the localization keys. #jira UE-54732 Change 3873301 by Mike.Zyracki Added ability to support continous euler angle changes when changing rotations, in particularly with the rotation gizmo's. To do this we effectively added a form an of 'euler filter'(https://en.wikipedia.org/wiki/Euler_filter) to find the closest euler angle to the current euler angle. Three functions were added to FRotator to make this possible, one to get the euler angle that's has the same rotation as it, one to get the difference between two euler angles via Manhattan distance and a third using the previous two to choose a Rotator value that's closest to it. We then use these functions before calling UComponent::SetRelativeRotation to make sure we use the correct Euler after the Quat conversion. We also no longer limit(bound) the euler angles to -180,180, which is obviously necessary to avoid flips. I also changed how we caluclate yaw and roll when pitch is -90 or 90 to make it the standard approach of zeroing out roll and just setting yaw. Main reasons are the previous implementation had precision issues so things like 180, 90, -180 would show up due to numbers being nearly zero but negative,(this would break any smooth interpolations), and this facilitates having a 'gimbal' rotation mode (like Maya, Blender etc..) if we ever want that also. If needed we could keep the previous implementation but would need to add some FMath::IsNearlyZero checks, with less performance. Note we only do this special filtering when applying delta's to actors or components in the editors, which then call UComponent::SetRelativeRotationExact, which is a new function to foces the RelativeRotation to be equal to the new rotation. This allows us to store un-nomalized Rotators at the cost that the RotationCache may be broken. We didn't change any of the other UComponent functions that set rotations (via Quats or Transforms) so they will still be bounded and unwound. In SetInternalWorldLocationAndRotation we only set the rotation if the rotation has changed, which fixes the rotation getting changed and re-normalized if just translate happens. In TransformTrackEditor, we correclty use the bUndwing flag and in MovieScene3DTransformSection there was an un-needed winding check there, it will be unwound earlier if needed, which happens if Sequence Recording is happening. Max we should talk about what to do about this . Note the euler angle drag via the widget is still bound to 0-360. I think we should just unbound that now since the rotations value are now unbound. This review now includes fixes suggested by Zak. #jira UE-UE-22228 Change 3873483 by Matt.Hoffman Sequencer Tracks can now be inserted above the spacer at the bottom of the tree. #jira UE-54706 Change 3873899 by Max.Chen Sequencer: Add section selection throbbing Change 3873908 by Max.Chen Movie Scene Capture: Added logging per frame Change 3873924 by Matt.Hoffman Adds the ability to store Sequence Recorder setups into profiles that stay with the map and can be re-loaded later. Profiles store the Actor Recordings so the settings for each actor should carry with them. #jira UESEQ-339 Change 3874726 by Matt.Hoffman Disable drag-and-drop targets on spacers that come between rows in Sequencer. This prevents extra drag/drop targets showing up between each row. #jira UE-54706 Change 3874862 by Matt.Hoffman Audio Track no longer gets reordered when adding sub-audio tracks, as sub-tracks are no longer counted towards the sorting order index when normalizing indexes. #jira UE-54727 Change 3875905 by Matt.Hoffman Disable Fade Track UI if a fade track already exists in the sequence. #jira UESEQ-393 Change 3876163 by Max.Chen Sequencer: Swap the camera object to the camera component's owner if it's not the same. #jira UE-54874 Change 3876971 by Andrew.Porter EngineTest: Moved Media Player Seek test to new folder. Also enabled the test with new ground truth image. Change 3877040 by Max.Chen Cine Camera: Split camera properties to two groups, "Camera Options" and "Camera Settings". The cine camera now hides properties in the "Camera Settings" group so that properties like bConstrainAspectRatio (in the "Camera Options" group) can be visible. #jira UE-54192 Change 3877763 by Max.Chen Curve Editor: Fix curve changed on end drag so that only curves that had keys/tangents that were changed receive notification, otherwise all loaded curves were getting notified that they were changed. #jira UE-54951 Change 3878234 by Matt.Hoffman Disable "Drop Below" targets for Sequencer Tree nodes to prevent a confusing UX issue where dropping underneath a Object Binding Node puts it after the object binding node but the UI looks like it's inserting it inside the Object Binding node. #jira UE-54743 Change 3879359 by Mike.Zyracki If a track is inactive we dim it a bit which seems to be the UE4 way to show inactive or disabled state. We changed the active logic so that all subtracks need to be inactive for the track to also be inactive(instead of all active for active). This conforms to how the active state actually works, e.g if you have two sections and only one is active the track is still active above it. #jira UESEQ-388 Change 3879462 by Max.Chen Sequencer: Allow dragging onto a particular row which would move out any overlapping sections to make space for the newly created section. Newly created sections are now selected and throbbed to draw attention to themselves. #jira UE-54664 Change 3879464 by Max.Chen Sequencer: Fixed overlapping ranges being inserted into the evaluation field during compilation - The issue was that track segments that had been combined with adjacent segments (due to them being identical) would potentially cause a subsequently compiled frame to overlap with a range that had already been inserted into the evaluation field. - The insertion code previously asserted that only minor overlaps were catered for (due to fp rounding errors) and assumed that a supplied range could not entirely contain any other range in the field. - The solution is to supply the insertion time along with the range to know exactly where the data should live in the field, and crop the range to the maximum allowable space between adjacent ranges. #jira UE-54922 Change 3879590 by Matt.Hoffman Items that are now added to the Sequencer via the "+Track" menu will be selected after being added. Items can now be added inside of folders instead of just to the root level. #jira UE-27397 Change 3879612 by Mike.Zyracki Display Nodes with no children are always active. #jira UESEQ-388 Change 3879730 by Matt.Hoffman Sequence Recorder's actor recording groups now remove items from the group when removed via the UI. #jira UESEQ-339 Change 3880256 by Mike.Zyracki Fix issue with inactive display with folders and other track nodes. #jira UESEQ-388 Change 3883491 by Max.Chen Fix issue where tick is skipped due to last ticked pose isn't cleared after AnimInstance changes. Copy from Release-4.19 #jira UE-51323 Change 3883603 by Max.Chen Movie Scene Capture: Add option toggle disable screen percentage. By default this is on (no change in current behavior). #jira UE-51898 Change 3885074 by Max.Preussner MediaCompositing: Resetting media texture & freeing resource on section end; removed dead code Change 3887220 by Max.Preussner MediaCompositing: Defaulted media section duration to 1 sec (since we do not know the actual duration in most cases) Change 3887478 by Matt.Hoffman Sequences now show [Inactive] in their title bars when they're disabled. This helps communicate why a sequence isn't being evaluated. #jira UE-51469 Change 3888985 by Max.Chen Movie Scene Capture: Clamp HDR Compression Quality between 0 and 1. #jira UE-55136 Change 3893519 by Max.Chen Sequence Recorder: Clarified tooltip for bRecordNearbySpawnedActors - spawned actors will still be recorded if they match the ActorFilter. #jira UE-55238 Change 3893546 by Max.Chen Sequence Recorder: If a selected actor already has a recording, add a blank recording. #jira UE-55239 Change 3894044 by Max.Preussner MediaCompositing: Added support for seeking into a media section Change 3894310 by andrew.porter MediaFrameworkTest: Adding Img media sources for 1080 and 2160 ravent test content Change 3894426 by Max.Preussner MediaAssets: Letting media textures with AutoClear retain their clear color when player is reset Change 3895717 by Max.Chen Sequencer: Null checks to prevent crash when saving the default state of a spawnable #jira UE-55304 Change 3897388 by Max.Chen Sequencer: Don't update current time to be within the view range when stepping into a sequence. #jira UE-55322 Change 3897452 by Max.Chen Audio: Fix crash when trying to record audio without any active capture devices. Log warning if the number of input channels is not 1 or 2. #jira UE-55223 Change 3897619 by Max.Preussner MediaCompositing: Removed commented out code Change 3898072 by Max.Chen Sequencer: Override the animation asset in the player state if it doesn't match the animation asset that's being evaluated. #jira UE-55328 Change 3898272 by Max.Preussner MediaPlayerEditor: Made slate brush constants static Change 3898704 by Max.Chen Sequencer: Skip if the binding id's sequence can't be found. #jira UE-55337 Change 3899855 by Max.Preussner MediaCompositingEditor: Added cache state visualization to media track Change 3900300 by Max.Preussner MediaCompositingEditor: Added loop indicators to media sections Change 3900694 by Max.Preussner ImfMedia: Looping cache only when player is looping Change 3900892 by Max.Preussner Stats: Added stats category for media framework Change 3900954 by Max.Preussner MediaCompositing: Don't evaluate at the end of media section Change 3901348 by Max.Preussner Core: Replaced TLruCache autos for better readability Change 3901655 by Max.Preussner ImgMedia: Added more perf stats to EXR reader Change 3901972 by Max.Preussner MediaAssets: Added getter for media player in media sound components Change 3902233 by Max.Preussner MediaAssets: Enabling media textures to receive samples right after player is assigned Change 3902238 by Max.Preussner MediaCompositing: Working around init/shutdown idiosyncracies in sequencer Change 3904045 by Max.Chen Sequencer: Fix copy/paste crash. Only process UMovieSceneCopyableBinding and objects that can be spawned by the movie scene spawn register. #jira UE-55314 Change 3905605 by Max.Chen Sequencer: Restrict spawnables from being created if they have a ClassWithin that UMovieScene is not a child of. #jira UE-55429 Change 3906550 by Max.Chen Sequencer: Add media track icon #jira UE-55480 Change 3907101 by Max.Chen Sequence Recorder: Fix bugs related to not recording a level sequence. There were certain assumptions that creating a level sequence meant that sequence recording was in progress. This is not always the case - the recorders can record animation assets and not create a level sequence. Changed the notion of IsRecording() to having at least one actor recording that is recording. Countdown timer, recording displays, etc should function if IsRecording() and not based on whether a level sequence is created. #jira UE-55485 Change 3907247 by Max.Chen Sequence Recorder: Fix crash not removing PrepareToCleanseEditorObject delegate. Repros when opening sequence recorder, closing it, and then opening or creating a level. Change 3910343 by Max.Preussner Core: Added async helper for executing functions on a given thread pool Change 3910346 by Max.Preussner ImgMedia: Added separate thread pools for loading/decoding and deleting image frames Change 3910829 by Max.Preussner Profiler: Increased visible range of profiler graph Change 3910841 by Max.Preussner MediaCompositing: Displaying asset name instead of full media source path in media section Change 3910870 by Max.Preussner ImgMedia: Using deallocation thread pool only in debug builds Change 3919642 by Max.Chen Sequence Recorder: Clarify active tooltip #jira UE-55661 Change 3919660 by Max.Chen Sequencer: Sequence template source signatures are now also compared to catch the case where a sub-sequence asset has been saved but not modified - The following sequence of events exposes this issue: - Create a master sequence with a single shot that spawns a cube - Add this sequence to a level and set it to auto-play - Save everything and restart - Resave just the inner shot asset without opening it - PIE - The inner shot never spawns its cube because its template was wiped on save, but its signature never changed. Since the master sequence previously didn't check the template source signature, it ends up trying to evaluate an empty template. #jira UE-55626 #jira UE-55490 Change 3921825 by Max.Chen Sequencer: "Run Construction Script in Sequencer" is off by default for blueprints but on for Sequencer. This allows the content author to switch it on for specific blueprints and sequencer will be default, run those with construction scripts enabled. Change 3922232 by Max.Chen Sequence Recorder: Reset countdelay on stop. #jira UE-55755 Change 3922306 by Max.Chen Sequence Recorder: Don't automatically mark transforms to be recorded by sequence recorder. Instead, log a warning if the user toggled it off to warn that the resulting animation might not match gameplay. #jira UE-55758 Change 3922912 by Max.Chen Sequence Recorder: Fix refresh next sequence name #jira UE-55757 Change 3927654 by Max.Chen Movie Scene Capture: Added format mapping for the name of the current camera #jira UE-55769 PR #4537 Change 3927658 by Max.Chen Sequencer: Added fbx property mapping for "FocusDistance" to "FocusSettings.ManualFocusDistance" #jira UE-55782 Change 3932022 by Max.Chen Sequencer: Add import animation track section to next available row index. #jira UE-55892 Change 3933919 by Max.Chen Sequencer: Jump to playback start frame and not 0 to start playback for recording. #jira UE-55933 Change 3934307 by Andrew.Rodham Sequencer: Add template signature that is re-generated every time the base template is regenerated, which invalidates evaluation fields This fixes an issue where the same sequence is instantiated multiple times in a sequence. If the source sequence was saved, its template would be wiped, which would invalidate the template ID When an instance tries to evaluate the master template, it would only invalidate a range in the evaluation field that was the hull of any invalid sub sequences overlapping the current time, potentially leaving invalid data in the evaluation field at positions later (or earlier) on in the sequence When the sub template was re-generated, it receives the same SequenceSignature as it had before (because the sequence hasn't actually changed), which causes the stale evaluation field data to fail the IsDirty check (because the sequence is the same as it thought, but the *template* has changed) This has been addressed be adding a signature to templates themselves, and checking both the template signature and sequence signature as a part of the IsDirty check. This ensures that we regenerate if either the template, or the sequence have changed. #jira UE-55934 Change 3936327 by Andrew.Rodham Sequencer: Removed increment when trimming right UMovieSceneSection::TrimSection already explicity assigns an exclusive bound to the time passed in. The new behavior means we can trim a section to the right, and insert another section without changing the time to create adjacent sections. #jira UE-42652 Change 3936328 by Andrew.Rodham Fixed KeyFrameManipulator assignment operators and copy/move constructors - These types are potentially self-referential so cannot use default constructors/assignment Change 3936330 by Andrew.Rodham Converted UMGSequencePlayer to use frames internally #jira UE-54878 Change 3936726 by Max.Chen Sequencer: Set track node as the parent of the key area node. The key area switcher needs the object binding id from the parent object binding node. Without this, the binding to the external value fails. #jira UE-55931 Change 3936775 by Max.Chen Sequencer: Should stop or loop should compare DurationFrames with Current Time from StartTime. The bug is that if you set 30 warmup frames in movie rendering for a range of 0-100, the FrameRange will be starting at -30 and have a duration of 130. Without this fix, the playback will continue until frame 130, rather than 100. #jira UE-55933 Change 3936935 by Matt.Hoffman Easing Curves are now represented in Play Rate resolution instead of internal resolution. #jira UE-55937 Change 3937069 by Matt.Hoffman Users can toggle if the is infinite on each side, limited by which tracks support infinite ranges. #jira UE-55891 Change 3937516 by Max.Preussner ImgMedia: Added support for single-threaded platforms #jira UE-55986 Change 3937826 by Max.Preussner MediaAssets: Disabling media sound components on HTML5 if AudioMixer is not enabled Change 3937997 by Max.Chen Curve Editor: Add Zoom to Fit Curves so that selected curves from Sequencer can be focused on. Tested that undo doesn't re-zoom. #jira UE-55935 Change 3938000 by Max.Chen Sequencer: Stop all sounds before generating audio waveforms. #jira UE-55951 Change 3938376 by Max.Preussner XGEController: Disabled XGE Controller in single-threaded apps to prevent crash Change 3938444 by Max.Preussner Core: Added async support for single-threaded applications Change 3938445 by Max.Preussner Networking: Added support for single-threaded applications in UDP socket sender/receiver Change 3938447 by Max.Preussner Messaging: Added support for single-threaded applications Change 3939432 by Max.Chen Sequence Recorder: Append command list to global level editor actions so that shortcuts are accessible in level editor. #jira UE-55798 Change 3940229 by Andrew.Rodham Added prospective display rate upgrade to UMovieScene::PostLoad - There was previously some very odd behaviour that would assign the fixed frame interval only when a sub sequence was focused in SSequencer. This meant that many sequences could have a frame interval of 0 set in the data. - Under the old method of snap interval display this would have fallen back to getting the display interval from the sequencer settings, but we no longer look at these. - The USequencerSettings properties have been removed and in their place, a prospective data upgrade for sequences that have a fixed frame interval old 0fps that sets the play rate to the previous defaults based off the old USequencerSettings defaults. - This could end up 'changing' the display rate for sequences where the user has changed the snap interval in the settings for a particular sequence editor, but there's not much we can do about that given we don't have access to the USequencerSettings classes in UMovieScene #jira UE-55919 Change 3940277 by Andrew.Rodham Sequencer: Added ability to default frame resolutions and play rates for newly created actor sequences Change 3940378 by Andrew.Rodham Sequencer: Post move import dialog now defaults to the playback framerate of the sequence, and floors to frame numbers Change 3940559 by Andrew.Rodham Reinstated primed or recording sequence color Change 3940642 by Max.Preussner ImagePlate: Removed image plate media playback functionality Change 3940843 by Max.Preussner Core: Made TCircularQueue actually thread-safe; improved code comments Change 3940860 by Max.Chen Sequencer: Changed StructNameToKey to StructPathToKey Previously, keying a PropertyPath of [RenderTransform][Shear][X] would get trimmed to X, which doesn't map to a channel name as considered by Sequencer2dTransformTrackEditor. Instead, trim the resulting property path to [Shear][X] so that track editors can determine the desired struct path and channels to key. #jira UE-52966 Change 3941292 by Mike.Zyracki Fix for trajectories out of range not showing up. 1) If we had no key data we would pop the time, so wouldn't get the section ranges. 2) Calculating of upper bound was wrong, checking against -1 and not key == num of keys when doing algo::lower_bound. 3) No need to do the Bck-- for the bakward iterators since we fixed #2. We start now from the upper bound correctly. 4) If we had no keys (at section start,end) we would incorrectly say we were any key type, so since we draw constant keys as dashed we would do so incorrectly around section end points. #jira UE-55929 Change 3941424 by Max.Chen Curve Editor: Change Zoom to Fit to use TArrayView Change 3941498 by Max.Preussner Core: Added FMath::DivideAndRoundNearest function Change 3942097 by Matt.Hoffman Drop Frame Timecode Support for NTSC rates. Change 3942104 by Matt.Hoffman Sequence Recorder Group is no longer visible inside the World Outliner after using one. #jira 55266 Change 3942107 by Max.Chen Sequencer: Resurrect logic to find or extend an existing section when adding keys. Change 3942330 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942339 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942507 by Andrew.Rodham Sequencer: We no longer pad the time overlap threshold with a small number that is not scaled by the current zoom level - The presence of this pad was causing keys that were far apart to be grouped when zoomed in a long way Change 3942509 by Andrew.Rodham Sequencer: Only pad total view range, rather than section range as well when retrieving keys to render - This stops us from rendering keys that are within the view range, but outside the section range Change 3942512 by Andrew.Rodham Added transactions to some sequencer details customizations Change 3942513 by Andrew.Rodham Sequencer: Reinstated validation checks to UMovieSceneSection::SetStartFrame and SetEndFrame, changed erroneous uses to use SetRange Change 3942560 by Andrew.Rodham Pass by rvalue reference to appease error C2719 on Win32 ('InChannels': formal parameter with requested alignment of 8 won't be aligned) Change 3942697 by Andrew.Rodham Newly Created Level Sequences and Actor Sequences now default to 24000 fps frame resolution (+/- ~24hrs range, supporting all integer rates + 23.976) Change 3942700 by Andrew.Rodham Sequencer: Added legacy out-of-bounds errors for times that are not supported by the current legacy upgrade frame resolution Change 3942989 by Max.Preussner Core: Fixed circular queue count calculation Change 3943538 by Max.Preussner MediaAssets: Reverted workaround for procedural audio log spam in HTML5 (Actor component initialization cannot be skipped if the component is used in a level) Change 3944071 by Max.Preussner QAGame: Fixed Media Texture keeps last frame of Media when PIE ends #jira UE-53360 Change 3944292 by Max.Chen Sequencer: Added extra flags to ensure that asset initialization does not occur on template actor sequences #jira UE-56113 Change 3944364 by Max.Chen Sequencer: Prevent circular shot/master tracks. Tested adding master -> child -> master as drag and drop cinematic shot tracks and sub tracks as well as through the + button. #jira UE-56091 Change 3944422 by Max.Chen Sequence Recorder: Disable transform recording if off. #jira UE-56061 Change 3944745 by Andrew.Rodham Sequencer: Key rendering fixes - Fixed assert that occured when keys happened to reside on some times due to KeyTime + TimeOverlapThreshold - KeyTime being slightly larger TimeOverlapThreshold - Fixed keys sometimes being clipped when zoomed right in due to lack of half-frame offset - Added missing documentation to MovieSceneTimeHelpers.h #jira UE-56107 Change 3945231 by Andrew.Rodham Sequencer: Reconstruct channel proxy on Serialize to catch all cases of undo/redo, PostLoad and duplication #jira UE-56089 Change 3945301 by Andrew.Rodham Sequencer: Added safety checks during initial sequence recording to guard against applying negative or 0-sized sequence ranges #jira UE-56125 Change 3946627 by Max.Preussner Fortnite: Fixed game crashes closing editor while in PIE - Pure virtual function being called #jira UE-56144 [CL 3946896 by Max Chen in Main branch]
2018-03-14 22:09:33 -04:00
TimeSliderArgs.ViewRange.Set(ViewRange);
Copying //UE4/Dev-Sequencer to Dev-Main (//UE4/Dev-Main) ========================== MAJOR FEATURES + CHANGES ========================== Change 2800717 on 2015/12/11 by Max.Chen Sequencer: Sort the key times for drawing to fix path trajectory. #jira UE-24331 Change 2803299 on 2015/12/15 by Max.Chen Sequencer: Fix property names so that they're the display names. For example, "DepthOfFieldFStop" now reads as "Aperture F Stop" Change 2804586 on 2015/12/15 by Max.Chen Sequencer: Add zoom in/out with shortcuts underscore and equals. Change 2811823 on 2015/12/23 by Max.Preussner Editor: Added UI action for creating new content browser folders; code cleanup; removed dead code Based on GitHub PR #1809 by artemavrin (https://github.com/EpicGames/UnrealEngine/pull/1809) #github: 1809 Change 2811839 on 2015/12/23 by Max.Preussner StereoPanorama: Code cleanup pass Based on GitHub PR# 1756 by ETayrienHBO (https://github.com/EpicGames/UnrealEngine/pull/1756) Also: - NULL to nullptr - namespaced enums to enum classes - consistent whitespace, line breaks and parentheses #github: 1756 Change 2819172 on 2016/01/07 by Andrew.Rodham Sequencer: Marquee and move modes are now automatically activated based on sequencer hotspot Change 2819176 on 2016/01/07 by Andrew.Rodham Sequencer: Various cosmetic fixes - Added icons to tracks - Removed SAnimationOutlinerTreeNode dependency from FSequencerDisplayNode (to enable future customization of shot/event track etc) - Added spacer nodes between top level display nodes - Various hover states and highlights Change 2819445 on 2016/01/07 by Andrew.Rodham Sequencer: Rendering out a capture from the composition graph now renders at the correct size even if r.ScreenPercentage is not 100. #jira UE-24920 Change 2820747 on 2016/01/08 by Andrew.Rodham Sequencer: Added option to close the editor when capturing starts #jira UE-21932 Change 2827701 on 2016/01/13 by Max.Preussner Media: Updating audio track specs each frame to better support streaming media and variable streams. Change 2828465 on 2016/01/14 by Max.Preussner Media: Better visualization of unknown media durations Change 2828469 on 2016/01/14 by Max.Preussner Media: Checking URL scheme on URLs that didn't pass the file extension filter Change 2834888 on 2016/01/19 by Max.Preussner Core: TQueue modernization pass Change 2834934 on 2016/01/19 by Max.Preussner Core: Implemented TTripleBuffer for triple buffers. Change 2834950 on 2016/01/19 by Max.Preussner Core: Added unit tests for TTripleBuffer dirty flag Change 2835488 on 2016/01/20 by Max.Preussner Core: More descriptive method names, initialization constructor, unit tests for TTripleBuffer Change 2837515 on 2016/01/20 by Max.Chen Sequencer: Command line options for custom passes. Change 2837517 on 2016/01/20 by Max.Chen Sequencer: Fix crash in visibility track instance on PIE. Change 2837518 on 2016/01/20 by Max.Chen Sequencer: Add option to lock to frame rate while playing. #jira UETOOL-475 Change 2837523 on 2016/01/20 by Max.Chen Sequencer: Capture thumbnail on level sequence asset save. Change 2837527 on 2016/01/20 by Max.Chen Sequencer: Added preroll for subsequences. Refactor instance update to combine data in EMovieSceneUpdateData. #jira UE-25380 Change 2837537 on 2016/01/20 by Max.Chen Sequencer: Add sequencer transport controls back into viewports. #jira UE-25460 Change 2837561 on 2016/01/20 by Max.Chen Sequencer: Added ability to convert a possessable to a spawnable - This option is available for any root-level possessable object bindings - It will currently delete the existing possessable (we could make this behaviour optional in future) - There is currently no check to sett if the actor is possessed by subsequent sub-sequences. If this is the case, using a possessable, or externally owned spawnable would be a better bet. Change 2837565 on 2016/01/20 by Max.Chen [CL 2858958 by Max Chen in Main branch]
2016-02-08 13:35:28 -05:00
}
}
}
else if (bMouseDownInRegion)
{
TimeSliderArgs.OnEndScrubberMovement.ExecuteIfBound();
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3946692) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3801826 by Max.Chen PR #4304: Level Sequence crash fix - Guarded against dereferencing null componen. (Contributed by DSDambuster) Change 3801828 by Max.Chen PR #4302: Movie Scene Visibility Template unitialised variable, causing random . (Contributed by DSDambuster) Change 3801837 by Max.Chen Sequencer: Delay spawning/construction for convert to possessable. This fixes a bug where property values would be lost when converting back and forth from possessable to spawnable. #jira UE-52400 Change 3801841 by Max.Chen Sequencer: Make spacer nodes not selectable. PR #4194: Improvements to Sequencer (Contributed by projectgheist) #jira UE-53117 #jira UE-52139 Change 3804183 by Max.Preussner MediaAssets: Added missing lock in media sound component Change 3805414 by Max.Preussner MediaAssets: Setting valid GUID when initializing media texture resource Change 3819578 by Max.Chen PR #4370: When enabling the "MovieCapture", do not turn off the Stereo-3D display. (Contributed by yehaike) #jira UE-53647 Change 3823414 by Max.Chen Curve Editor: Lock down the first and last keys in the redundant keys removal range so that they're unaffected. #jira UE-53591 Change 3826406 by Max.Chen Sequencer: Move OnStartedPlaying() to within first update in UpdateTimeCursorPosition(). This fixes an issue where setting the hud/player visibility was getting stomped on later. #jira UE-52772 Change 3827044 by Max.Preussner MediaAssets: Added sprite visualization to media sound component #jira UE-53594 Change 3827988 by Max.Preussner MediaPlayerAssets: Fixed Media Texture is not linked to Media Player when created together #jira UE-53532 Change 3828506 by Max.Preussner MediaPlayerEditor: Added attenuation visualizer for media sound components #jira UE-53594 Change 3832590 by andrew.porter EngineTest: Added a keep state check in Property Animation sequencer test Change 3833053 by andrew.porter EngineTest: Adding Hierarchical Bias test Change 3835683 by andrew.porter EngineTest: Adding UMG Animation screenshot test Change 3836076 by Max.Chen Sequencer: Fix audio volume and pitch multiplier deprecation. Change 3836230 by andrew.porter EngineTest: Adding Sequence Bone Position automation test Change 3836347 by Max.Chen Sequencer: Fixes to shot name parsing. When a shot doesn't contain a shot number, assume, [ShotName]_[TakeNumber]. When duplicating a shot, put the new shot in the same path of the original shot, so that the take numbers will increment properly. #jira UE-51868 Change 3836552 by Max.Chen Sequencer: Sub section now has a takes menu Change 3838094 by Max.Chen UMG: Fix template finish not getting called on stop. This fixes a bug where sections aren't restored when finished. #jira UE-52285 Change 3838708 by Max.Chen Sequencer: Add notification when the blend type is changed. #jira UE-54046 Change 3840295 by Max.Chen Sequencer: Fix copy/paste crash for lights #jira UE-54084 Change 3840957 by Mike.Zyracki Added Show Only Keyable and Show Only Animated to the filter list in the property editor. Added IsPropertyAnimated to IDetailKeyframe Interface which already had support for showing properties which are keyable (which is used for the key icon next to the properties.). Could have created another interface but then would have had to mimic the sequencer binding, releasing also, so this seemed best way. One issue still left is that custom built detail items currently don't store associated properties(usually) and so certain properties, in particulalry transforms, won't show up as keyable or animated. Note this also shows up with the keyable icon not showing up next to transform tracks, and other filters like Show Only Modified not working with transforms/customs. Not sure best way to tackle this. #jira UESEQ-328 Change 3841756 by Max.Chen Sequencer: Fix unbound possessable components when pasting spawnables. #jira UE-54104 Change 3843950 by andrew.porter EngineTest: Renaming LevelStreaming tests/content to LevelVisibility Change 3844082 by Mike.Zyracki Missing file for animated filter in property editor. When finding if a track is animated we need to find it but we can't easily induce the MovieTrack class for any particular property. So we don't set a class for it and just search by it's ID and name. #jira UESEQ-328 Change 3846902 by Max.Preussner ImgMedia: Fixed image media player never finished initialization if loading failed #jira UE-54247 Change 3849820 by Mike.Zyracki Reassigning deleted widgets didn't work since the menu extender mechanism needs a valid UObject in order to perform an operation on it. So to fix we replaced GetObjectBindingContextMenuExtender in WidgetBlueprint with new delegate mechanism (OnBuildCustomContextMenuForGuid) that supports FGuid in addition to UObjects which is needed to handle re-binding deleted widgets. Note that the default sequencer hacks this for replacing deleted actors in SequencerObjectBindingNode to check to see if a LevelSequence is active. We could move to this mechanism there also. #jira UE-53163 Change 3852211 by Max.Chen UMG: Indicate name of the property that is not bound. #jira UE-54350 Change 3854120 by Max.Chen Sequencer: Fix sibling folders being allowed to have the same folder name. #jira UE-54363 Change 3854627 by Max.Chen Sequencer: Step to next/previous key should work for all tracks if there aren't any selected. #jira UESEQ-391 Change 3855825 by andrew.porter EngineTest: Adding animation blending automation test Change 3855950 by andrew.porter EngineTest: Adding correct expected valuues to animation blending test Change 3856237 by Matt.Hoffman UESEQ-336 - Sequencer Track Reordering Adds the ability to re-order Master Tracks, Folders and Object Bindings within sequencer hierarchies (including UMG). Adds the ability to do a one-off sorting of the content under the old sorting behavior if the user wants to reset their layout to how it was under legacy behavior. Modifies SequencerTrackNodes, SequencerFolderNodes and SequencerObjectBindingNodes to handle CanDrop/OnDrop for above, below and ontop of. Fixes a Slate Issue that forcibly expanded a TreeviewRow if an item handled OnDrop. Slate will now only forcibly expand the row if the item says the drop happened ontop of the item, and not above or below it like it previously did. Change 3856503 by andrew.porter EngineTest: Adding automation test for using animation blueprint with blend multi node in sequencer Change 3857875 by Max.Chen Sequencer: Assign the sequence id after the template is compiled. #jira UE-54462 Change 3858344 by Max.Chen Sequencer: Prevent Goto and Transform boxes from overlapping by allowing them to be visible at the same time in an autosized horizontal box. Also, added close button to the goto box. PR #4425: Prevent Goto and Transform boxes from overlapping in Sequencer ... (Contributed by projectgheist) #jira UE-54210 Change 3860566 by andrew.porter MediaFrameworkTest: Set the option to index 0 for the audio and video track list by default Change 3860654 by andrew.porter EngineTest: Enabling Camera Cut + FOV test Change 3860981 by andrew.porter EngineTest: Updating skeletal mesh tests with a delay after set playback position Change 3861256 by Max.Chen Sequencer: Add all bindings if none selected. #jira-54440 Change 3862154 by Andrew.Rodham Added TimeManagement module Change 3862424 by andrew.porter EngineTest: Turned on the test Bone Positions with Blend Multi Node Change 3862573 by andrew.porter EngineTest: Adding test to compare bone positions in a sequence that is blending an animation that is using an AnimBP Change 3865117 by Max.Chen Sequencer: Stop auto scroll on mouse release of movement. #jira UE-31212 Change 3865303 by Max.Chen Sequencer: Add drag and drop transactions #jira UE-54662 Change 3865304 by Max.Chen Sequencer: Fix crash when an actor factory is not found. Change 3865361 by Max.Chen Sequencer: Don't change the camera/shot lock button when popping out of a sequence. #jira UE-54665 Change 3865412 by Max.Chen Sequencer: Determine whether a transform track is for a camera by using the spawned object or template #jira UE-54666 Change 3865685 by Max.Chen Sequencer: Clear autoscrub offset when stopping autoscroll #jira UE-31212 Change 3865886 by Max.Chen Sequence Recorder: Log an error if the number of frames changes while recording. This can happen if the skeleton changes while recording. #jira UE-48715 Change 3866925 by Andrew.Porter MediaFrameworkTest: Changing the current PNG test video image sequence to 1024 x 576 Change 3867705 by andrew.porter QAGame: Adding Audio Sort Sequence to dev folder Change 3867890 by andrew.porter QAGame: Adding a sequence for testing a sorting crash to my dev folder Change 3872628 by Max.Chen Movie Scene Capture: Split delay before warmup into split delay before shot warmup so that there's separate controls for when the movie scene capture warmups up vs. shot boundaries. Change 3873131 by Matt.Hoffman UE-54732 - Crash reordering a folder with a track. This was caused by folders being the only type of track to check if someone was putting a parent track into a child track. Object Binding tracks and Tracks now check as well so that you can't use the above/below drop targets to add parents as children. This also fixed a typo in the localization keys. #jira UE-54732 Change 3873301 by Mike.Zyracki Added ability to support continous euler angle changes when changing rotations, in particularly with the rotation gizmo's. To do this we effectively added a form an of 'euler filter'(https://en.wikipedia.org/wiki/Euler_filter) to find the closest euler angle to the current euler angle. Three functions were added to FRotator to make this possible, one to get the euler angle that's has the same rotation as it, one to get the difference between two euler angles via Manhattan distance and a third using the previous two to choose a Rotator value that's closest to it. We then use these functions before calling UComponent::SetRelativeRotation to make sure we use the correct Euler after the Quat conversion. We also no longer limit(bound) the euler angles to -180,180, which is obviously necessary to avoid flips. I also changed how we caluclate yaw and roll when pitch is -90 or 90 to make it the standard approach of zeroing out roll and just setting yaw. Main reasons are the previous implementation had precision issues so things like 180, 90, -180 would show up due to numbers being nearly zero but negative,(this would break any smooth interpolations), and this facilitates having a 'gimbal' rotation mode (like Maya, Blender etc..) if we ever want that also. If needed we could keep the previous implementation but would need to add some FMath::IsNearlyZero checks, with less performance. Note we only do this special filtering when applying delta's to actors or components in the editors, which then call UComponent::SetRelativeRotationExact, which is a new function to foces the RelativeRotation to be equal to the new rotation. This allows us to store un-nomalized Rotators at the cost that the RotationCache may be broken. We didn't change any of the other UComponent functions that set rotations (via Quats or Transforms) so they will still be bounded and unwound. In SetInternalWorldLocationAndRotation we only set the rotation if the rotation has changed, which fixes the rotation getting changed and re-normalized if just translate happens. In TransformTrackEditor, we correclty use the bUndwing flag and in MovieScene3DTransformSection there was an un-needed winding check there, it will be unwound earlier if needed, which happens if Sequence Recording is happening. Max we should talk about what to do about this . Note the euler angle drag via the widget is still bound to 0-360. I think we should just unbound that now since the rotations value are now unbound. This review now includes fixes suggested by Zak. #jira UE-UE-22228 Change 3873483 by Matt.Hoffman Sequencer Tracks can now be inserted above the spacer at the bottom of the tree. #jira UE-54706 Change 3873899 by Max.Chen Sequencer: Add section selection throbbing Change 3873908 by Max.Chen Movie Scene Capture: Added logging per frame Change 3873924 by Matt.Hoffman Adds the ability to store Sequence Recorder setups into profiles that stay with the map and can be re-loaded later. Profiles store the Actor Recordings so the settings for each actor should carry with them. #jira UESEQ-339 Change 3874726 by Matt.Hoffman Disable drag-and-drop targets on spacers that come between rows in Sequencer. This prevents extra drag/drop targets showing up between each row. #jira UE-54706 Change 3874862 by Matt.Hoffman Audio Track no longer gets reordered when adding sub-audio tracks, as sub-tracks are no longer counted towards the sorting order index when normalizing indexes. #jira UE-54727 Change 3875905 by Matt.Hoffman Disable Fade Track UI if a fade track already exists in the sequence. #jira UESEQ-393 Change 3876163 by Max.Chen Sequencer: Swap the camera object to the camera component's owner if it's not the same. #jira UE-54874 Change 3876971 by Andrew.Porter EngineTest: Moved Media Player Seek test to new folder. Also enabled the test with new ground truth image. Change 3877040 by Max.Chen Cine Camera: Split camera properties to two groups, "Camera Options" and "Camera Settings". The cine camera now hides properties in the "Camera Settings" group so that properties like bConstrainAspectRatio (in the "Camera Options" group) can be visible. #jira UE-54192 Change 3877763 by Max.Chen Curve Editor: Fix curve changed on end drag so that only curves that had keys/tangents that were changed receive notification, otherwise all loaded curves were getting notified that they were changed. #jira UE-54951 Change 3878234 by Matt.Hoffman Disable "Drop Below" targets for Sequencer Tree nodes to prevent a confusing UX issue where dropping underneath a Object Binding Node puts it after the object binding node but the UI looks like it's inserting it inside the Object Binding node. #jira UE-54743 Change 3879359 by Mike.Zyracki If a track is inactive we dim it a bit which seems to be the UE4 way to show inactive or disabled state. We changed the active logic so that all subtracks need to be inactive for the track to also be inactive(instead of all active for active). This conforms to how the active state actually works, e.g if you have two sections and only one is active the track is still active above it. #jira UESEQ-388 Change 3879462 by Max.Chen Sequencer: Allow dragging onto a particular row which would move out any overlapping sections to make space for the newly created section. Newly created sections are now selected and throbbed to draw attention to themselves. #jira UE-54664 Change 3879464 by Max.Chen Sequencer: Fixed overlapping ranges being inserted into the evaluation field during compilation - The issue was that track segments that had been combined with adjacent segments (due to them being identical) would potentially cause a subsequently compiled frame to overlap with a range that had already been inserted into the evaluation field. - The insertion code previously asserted that only minor overlaps were catered for (due to fp rounding errors) and assumed that a supplied range could not entirely contain any other range in the field. - The solution is to supply the insertion time along with the range to know exactly where the data should live in the field, and crop the range to the maximum allowable space between adjacent ranges. #jira UE-54922 Change 3879590 by Matt.Hoffman Items that are now added to the Sequencer via the "+Track" menu will be selected after being added. Items can now be added inside of folders instead of just to the root level. #jira UE-27397 Change 3879612 by Mike.Zyracki Display Nodes with no children are always active. #jira UESEQ-388 Change 3879730 by Matt.Hoffman Sequence Recorder's actor recording groups now remove items from the group when removed via the UI. #jira UESEQ-339 Change 3880256 by Mike.Zyracki Fix issue with inactive display with folders and other track nodes. #jira UESEQ-388 Change 3883491 by Max.Chen Fix issue where tick is skipped due to last ticked pose isn't cleared after AnimInstance changes. Copy from Release-4.19 #jira UE-51323 Change 3883603 by Max.Chen Movie Scene Capture: Add option toggle disable screen percentage. By default this is on (no change in current behavior). #jira UE-51898 Change 3885074 by Max.Preussner MediaCompositing: Resetting media texture & freeing resource on section end; removed dead code Change 3887220 by Max.Preussner MediaCompositing: Defaulted media section duration to 1 sec (since we do not know the actual duration in most cases) Change 3887478 by Matt.Hoffman Sequences now show [Inactive] in their title bars when they're disabled. This helps communicate why a sequence isn't being evaluated. #jira UE-51469 Change 3888985 by Max.Chen Movie Scene Capture: Clamp HDR Compression Quality between 0 and 1. #jira UE-55136 Change 3893519 by Max.Chen Sequence Recorder: Clarified tooltip for bRecordNearbySpawnedActors - spawned actors will still be recorded if they match the ActorFilter. #jira UE-55238 Change 3893546 by Max.Chen Sequence Recorder: If a selected actor already has a recording, add a blank recording. #jira UE-55239 Change 3894044 by Max.Preussner MediaCompositing: Added support for seeking into a media section Change 3894310 by andrew.porter MediaFrameworkTest: Adding Img media sources for 1080 and 2160 ravent test content Change 3894426 by Max.Preussner MediaAssets: Letting media textures with AutoClear retain their clear color when player is reset Change 3895717 by Max.Chen Sequencer: Null checks to prevent crash when saving the default state of a spawnable #jira UE-55304 Change 3897388 by Max.Chen Sequencer: Don't update current time to be within the view range when stepping into a sequence. #jira UE-55322 Change 3897452 by Max.Chen Audio: Fix crash when trying to record audio without any active capture devices. Log warning if the number of input channels is not 1 or 2. #jira UE-55223 Change 3897619 by Max.Preussner MediaCompositing: Removed commented out code Change 3898072 by Max.Chen Sequencer: Override the animation asset in the player state if it doesn't match the animation asset that's being evaluated. #jira UE-55328 Change 3898272 by Max.Preussner MediaPlayerEditor: Made slate brush constants static Change 3898704 by Max.Chen Sequencer: Skip if the binding id's sequence can't be found. #jira UE-55337 Change 3899855 by Max.Preussner MediaCompositingEditor: Added cache state visualization to media track Change 3900300 by Max.Preussner MediaCompositingEditor: Added loop indicators to media sections Change 3900694 by Max.Preussner ImfMedia: Looping cache only when player is looping Change 3900892 by Max.Preussner Stats: Added stats category for media framework Change 3900954 by Max.Preussner MediaCompositing: Don't evaluate at the end of media section Change 3901348 by Max.Preussner Core: Replaced TLruCache autos for better readability Change 3901655 by Max.Preussner ImgMedia: Added more perf stats to EXR reader Change 3901972 by Max.Preussner MediaAssets: Added getter for media player in media sound components Change 3902233 by Max.Preussner MediaAssets: Enabling media textures to receive samples right after player is assigned Change 3902238 by Max.Preussner MediaCompositing: Working around init/shutdown idiosyncracies in sequencer Change 3904045 by Max.Chen Sequencer: Fix copy/paste crash. Only process UMovieSceneCopyableBinding and objects that can be spawned by the movie scene spawn register. #jira UE-55314 Change 3905605 by Max.Chen Sequencer: Restrict spawnables from being created if they have a ClassWithin that UMovieScene is not a child of. #jira UE-55429 Change 3906550 by Max.Chen Sequencer: Add media track icon #jira UE-55480 Change 3907101 by Max.Chen Sequence Recorder: Fix bugs related to not recording a level sequence. There were certain assumptions that creating a level sequence meant that sequence recording was in progress. This is not always the case - the recorders can record animation assets and not create a level sequence. Changed the notion of IsRecording() to having at least one actor recording that is recording. Countdown timer, recording displays, etc should function if IsRecording() and not based on whether a level sequence is created. #jira UE-55485 Change 3907247 by Max.Chen Sequence Recorder: Fix crash not removing PrepareToCleanseEditorObject delegate. Repros when opening sequence recorder, closing it, and then opening or creating a level. Change 3910343 by Max.Preussner Core: Added async helper for executing functions on a given thread pool Change 3910346 by Max.Preussner ImgMedia: Added separate thread pools for loading/decoding and deleting image frames Change 3910829 by Max.Preussner Profiler: Increased visible range of profiler graph Change 3910841 by Max.Preussner MediaCompositing: Displaying asset name instead of full media source path in media section Change 3910870 by Max.Preussner ImgMedia: Using deallocation thread pool only in debug builds Change 3919642 by Max.Chen Sequence Recorder: Clarify active tooltip #jira UE-55661 Change 3919660 by Max.Chen Sequencer: Sequence template source signatures are now also compared to catch the case where a sub-sequence asset has been saved but not modified - The following sequence of events exposes this issue: - Create a master sequence with a single shot that spawns a cube - Add this sequence to a level and set it to auto-play - Save everything and restart - Resave just the inner shot asset without opening it - PIE - The inner shot never spawns its cube because its template was wiped on save, but its signature never changed. Since the master sequence previously didn't check the template source signature, it ends up trying to evaluate an empty template. #jira UE-55626 #jira UE-55490 Change 3921825 by Max.Chen Sequencer: "Run Construction Script in Sequencer" is off by default for blueprints but on for Sequencer. This allows the content author to switch it on for specific blueprints and sequencer will be default, run those with construction scripts enabled. Change 3922232 by Max.Chen Sequence Recorder: Reset countdelay on stop. #jira UE-55755 Change 3922306 by Max.Chen Sequence Recorder: Don't automatically mark transforms to be recorded by sequence recorder. Instead, log a warning if the user toggled it off to warn that the resulting animation might not match gameplay. #jira UE-55758 Change 3922912 by Max.Chen Sequence Recorder: Fix refresh next sequence name #jira UE-55757 Change 3927654 by Max.Chen Movie Scene Capture: Added format mapping for the name of the current camera #jira UE-55769 PR #4537 Change 3927658 by Max.Chen Sequencer: Added fbx property mapping for "FocusDistance" to "FocusSettings.ManualFocusDistance" #jira UE-55782 Change 3932022 by Max.Chen Sequencer: Add import animation track section to next available row index. #jira UE-55892 Change 3933919 by Max.Chen Sequencer: Jump to playback start frame and not 0 to start playback for recording. #jira UE-55933 Change 3934307 by Andrew.Rodham Sequencer: Add template signature that is re-generated every time the base template is regenerated, which invalidates evaluation fields This fixes an issue where the same sequence is instantiated multiple times in a sequence. If the source sequence was saved, its template would be wiped, which would invalidate the template ID When an instance tries to evaluate the master template, it would only invalidate a range in the evaluation field that was the hull of any invalid sub sequences overlapping the current time, potentially leaving invalid data in the evaluation field at positions later (or earlier) on in the sequence When the sub template was re-generated, it receives the same SequenceSignature as it had before (because the sequence hasn't actually changed), which causes the stale evaluation field data to fail the IsDirty check (because the sequence is the same as it thought, but the *template* has changed) This has been addressed be adding a signature to templates themselves, and checking both the template signature and sequence signature as a part of the IsDirty check. This ensures that we regenerate if either the template, or the sequence have changed. #jira UE-55934 Change 3936327 by Andrew.Rodham Sequencer: Removed increment when trimming right UMovieSceneSection::TrimSection already explicity assigns an exclusive bound to the time passed in. The new behavior means we can trim a section to the right, and insert another section without changing the time to create adjacent sections. #jira UE-42652 Change 3936328 by Andrew.Rodham Fixed KeyFrameManipulator assignment operators and copy/move constructors - These types are potentially self-referential so cannot use default constructors/assignment Change 3936330 by Andrew.Rodham Converted UMGSequencePlayer to use frames internally #jira UE-54878 Change 3936726 by Max.Chen Sequencer: Set track node as the parent of the key area node. The key area switcher needs the object binding id from the parent object binding node. Without this, the binding to the external value fails. #jira UE-55931 Change 3936775 by Max.Chen Sequencer: Should stop or loop should compare DurationFrames with Current Time from StartTime. The bug is that if you set 30 warmup frames in movie rendering for a range of 0-100, the FrameRange will be starting at -30 and have a duration of 130. Without this fix, the playback will continue until frame 130, rather than 100. #jira UE-55933 Change 3936935 by Matt.Hoffman Easing Curves are now represented in Play Rate resolution instead of internal resolution. #jira UE-55937 Change 3937069 by Matt.Hoffman Users can toggle if the is infinite on each side, limited by which tracks support infinite ranges. #jira UE-55891 Change 3937516 by Max.Preussner ImgMedia: Added support for single-threaded platforms #jira UE-55986 Change 3937826 by Max.Preussner MediaAssets: Disabling media sound components on HTML5 if AudioMixer is not enabled Change 3937997 by Max.Chen Curve Editor: Add Zoom to Fit Curves so that selected curves from Sequencer can be focused on. Tested that undo doesn't re-zoom. #jira UE-55935 Change 3938000 by Max.Chen Sequencer: Stop all sounds before generating audio waveforms. #jira UE-55951 Change 3938376 by Max.Preussner XGEController: Disabled XGE Controller in single-threaded apps to prevent crash Change 3938444 by Max.Preussner Core: Added async support for single-threaded applications Change 3938445 by Max.Preussner Networking: Added support for single-threaded applications in UDP socket sender/receiver Change 3938447 by Max.Preussner Messaging: Added support for single-threaded applications Change 3939432 by Max.Chen Sequence Recorder: Append command list to global level editor actions so that shortcuts are accessible in level editor. #jira UE-55798 Change 3940229 by Andrew.Rodham Added prospective display rate upgrade to UMovieScene::PostLoad - There was previously some very odd behaviour that would assign the fixed frame interval only when a sub sequence was focused in SSequencer. This meant that many sequences could have a frame interval of 0 set in the data. - Under the old method of snap interval display this would have fallen back to getting the display interval from the sequencer settings, but we no longer look at these. - The USequencerSettings properties have been removed and in their place, a prospective data upgrade for sequences that have a fixed frame interval old 0fps that sets the play rate to the previous defaults based off the old USequencerSettings defaults. - This could end up 'changing' the display rate for sequences where the user has changed the snap interval in the settings for a particular sequence editor, but there's not much we can do about that given we don't have access to the USequencerSettings classes in UMovieScene #jira UE-55919 Change 3940277 by Andrew.Rodham Sequencer: Added ability to default frame resolutions and play rates for newly created actor sequences Change 3940378 by Andrew.Rodham Sequencer: Post move import dialog now defaults to the playback framerate of the sequence, and floors to frame numbers Change 3940559 by Andrew.Rodham Reinstated primed or recording sequence color Change 3940642 by Max.Preussner ImagePlate: Removed image plate media playback functionality Change 3940843 by Max.Preussner Core: Made TCircularQueue actually thread-safe; improved code comments Change 3940860 by Max.Chen Sequencer: Changed StructNameToKey to StructPathToKey Previously, keying a PropertyPath of [RenderTransform][Shear][X] would get trimmed to X, which doesn't map to a channel name as considered by Sequencer2dTransformTrackEditor. Instead, trim the resulting property path to [Shear][X] so that track editors can determine the desired struct path and channels to key. #jira UE-52966 Change 3941292 by Mike.Zyracki Fix for trajectories out of range not showing up. 1) If we had no key data we would pop the time, so wouldn't get the section ranges. 2) Calculating of upper bound was wrong, checking against -1 and not key == num of keys when doing algo::lower_bound. 3) No need to do the Bck-- for the bakward iterators since we fixed #2. We start now from the upper bound correctly. 4) If we had no keys (at section start,end) we would incorrectly say we were any key type, so since we draw constant keys as dashed we would do so incorrectly around section end points. #jira UE-55929 Change 3941424 by Max.Chen Curve Editor: Change Zoom to Fit to use TArrayView Change 3941498 by Max.Preussner Core: Added FMath::DivideAndRoundNearest function Change 3942097 by Matt.Hoffman Drop Frame Timecode Support for NTSC rates. Change 3942104 by Matt.Hoffman Sequence Recorder Group is no longer visible inside the World Outliner after using one. #jira 55266 Change 3942107 by Max.Chen Sequencer: Resurrect logic to find or extend an existing section when adding keys. Change 3942330 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942339 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942507 by Andrew.Rodham Sequencer: We no longer pad the time overlap threshold with a small number that is not scaled by the current zoom level - The presence of this pad was causing keys that were far apart to be grouped when zoomed in a long way Change 3942509 by Andrew.Rodham Sequencer: Only pad total view range, rather than section range as well when retrieving keys to render - This stops us from rendering keys that are within the view range, but outside the section range Change 3942512 by Andrew.Rodham Added transactions to some sequencer details customizations Change 3942513 by Andrew.Rodham Sequencer: Reinstated validation checks to UMovieSceneSection::SetStartFrame and SetEndFrame, changed erroneous uses to use SetRange Change 3942560 by Andrew.Rodham Pass by rvalue reference to appease error C2719 on Win32 ('InChannels': formal parameter with requested alignment of 8 won't be aligned) Change 3942697 by Andrew.Rodham Newly Created Level Sequences and Actor Sequences now default to 24000 fps frame resolution (+/- ~24hrs range, supporting all integer rates + 23.976) Change 3942700 by Andrew.Rodham Sequencer: Added legacy out-of-bounds errors for times that are not supported by the current legacy upgrade frame resolution Change 3942989 by Max.Preussner Core: Fixed circular queue count calculation Change 3943538 by Max.Preussner MediaAssets: Reverted workaround for procedural audio log spam in HTML5 (Actor component initialization cannot be skipped if the component is used in a level) Change 3944071 by Max.Preussner QAGame: Fixed Media Texture keeps last frame of Media when PIE ends #jira UE-53360 Change 3944292 by Max.Chen Sequencer: Added extra flags to ensure that asset initialization does not occur on template actor sequences #jira UE-56113 Change 3944364 by Max.Chen Sequencer: Prevent circular shot/master tracks. Tested adding master -> child -> master as drag and drop cinematic shot tracks and sub tracks as well as through the + button. #jira UE-56091 Change 3944422 by Max.Chen Sequence Recorder: Disable transform recording if off. #jira UE-56061 Change 3944745 by Andrew.Rodham Sequencer: Key rendering fixes - Fixed assert that occured when keys happened to reside on some times due to KeyTime + TimeOverlapThreshold - KeyTime being slightly larger TimeOverlapThreshold - Fixed keys sometimes being clipped when zoomed right in due to lack of half-frame offset - Added missing documentation to MovieSceneTimeHelpers.h #jira UE-56107 Change 3945231 by Andrew.Rodham Sequencer: Reconstruct channel proxy on Serialize to catch all cases of undo/redo, PostLoad and duplication #jira UE-56089 Change 3945301 by Andrew.Rodham Sequencer: Added safety checks during initial sequence recording to guard against applying negative or 0-sized sequence ranges #jira UE-56125 Change 3946627 by Max.Preussner Fortnite: Fixed game crashes closing editor while in PIE - Pure virtual function being called #jira UE-56144 [CL 3946896 by Max Chen in Main branch]
2018-03-14 22:09:33 -04:00
FFrameTime ScrubTime = MouseTime;
FVector2D CursorPos = MouseEvent.GetScreenSpacePosition();
TSharedPtr<FSequencer> Sequencer = WeakSequencer.Pin();
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3946692) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3801826 by Max.Chen PR #4304: Level Sequence crash fix - Guarded against dereferencing null componen. (Contributed by DSDambuster) Change 3801828 by Max.Chen PR #4302: Movie Scene Visibility Template unitialised variable, causing random . (Contributed by DSDambuster) Change 3801837 by Max.Chen Sequencer: Delay spawning/construction for convert to possessable. This fixes a bug where property values would be lost when converting back and forth from possessable to spawnable. #jira UE-52400 Change 3801841 by Max.Chen Sequencer: Make spacer nodes not selectable. PR #4194: Improvements to Sequencer (Contributed by projectgheist) #jira UE-53117 #jira UE-52139 Change 3804183 by Max.Preussner MediaAssets: Added missing lock in media sound component Change 3805414 by Max.Preussner MediaAssets: Setting valid GUID when initializing media texture resource Change 3819578 by Max.Chen PR #4370: When enabling the "MovieCapture", do not turn off the Stereo-3D display. (Contributed by yehaike) #jira UE-53647 Change 3823414 by Max.Chen Curve Editor: Lock down the first and last keys in the redundant keys removal range so that they're unaffected. #jira UE-53591 Change 3826406 by Max.Chen Sequencer: Move OnStartedPlaying() to within first update in UpdateTimeCursorPosition(). This fixes an issue where setting the hud/player visibility was getting stomped on later. #jira UE-52772 Change 3827044 by Max.Preussner MediaAssets: Added sprite visualization to media sound component #jira UE-53594 Change 3827988 by Max.Preussner MediaPlayerAssets: Fixed Media Texture is not linked to Media Player when created together #jira UE-53532 Change 3828506 by Max.Preussner MediaPlayerEditor: Added attenuation visualizer for media sound components #jira UE-53594 Change 3832590 by andrew.porter EngineTest: Added a keep state check in Property Animation sequencer test Change 3833053 by andrew.porter EngineTest: Adding Hierarchical Bias test Change 3835683 by andrew.porter EngineTest: Adding UMG Animation screenshot test Change 3836076 by Max.Chen Sequencer: Fix audio volume and pitch multiplier deprecation. Change 3836230 by andrew.porter EngineTest: Adding Sequence Bone Position automation test Change 3836347 by Max.Chen Sequencer: Fixes to shot name parsing. When a shot doesn't contain a shot number, assume, [ShotName]_[TakeNumber]. When duplicating a shot, put the new shot in the same path of the original shot, so that the take numbers will increment properly. #jira UE-51868 Change 3836552 by Max.Chen Sequencer: Sub section now has a takes menu Change 3838094 by Max.Chen UMG: Fix template finish not getting called on stop. This fixes a bug where sections aren't restored when finished. #jira UE-52285 Change 3838708 by Max.Chen Sequencer: Add notification when the blend type is changed. #jira UE-54046 Change 3840295 by Max.Chen Sequencer: Fix copy/paste crash for lights #jira UE-54084 Change 3840957 by Mike.Zyracki Added Show Only Keyable and Show Only Animated to the filter list in the property editor. Added IsPropertyAnimated to IDetailKeyframe Interface which already had support for showing properties which are keyable (which is used for the key icon next to the properties.). Could have created another interface but then would have had to mimic the sequencer binding, releasing also, so this seemed best way. One issue still left is that custom built detail items currently don't store associated properties(usually) and so certain properties, in particulalry transforms, won't show up as keyable or animated. Note this also shows up with the keyable icon not showing up next to transform tracks, and other filters like Show Only Modified not working with transforms/customs. Not sure best way to tackle this. #jira UESEQ-328 Change 3841756 by Max.Chen Sequencer: Fix unbound possessable components when pasting spawnables. #jira UE-54104 Change 3843950 by andrew.porter EngineTest: Renaming LevelStreaming tests/content to LevelVisibility Change 3844082 by Mike.Zyracki Missing file for animated filter in property editor. When finding if a track is animated we need to find it but we can't easily induce the MovieTrack class for any particular property. So we don't set a class for it and just search by it's ID and name. #jira UESEQ-328 Change 3846902 by Max.Preussner ImgMedia: Fixed image media player never finished initialization if loading failed #jira UE-54247 Change 3849820 by Mike.Zyracki Reassigning deleted widgets didn't work since the menu extender mechanism needs a valid UObject in order to perform an operation on it. So to fix we replaced GetObjectBindingContextMenuExtender in WidgetBlueprint with new delegate mechanism (OnBuildCustomContextMenuForGuid) that supports FGuid in addition to UObjects which is needed to handle re-binding deleted widgets. Note that the default sequencer hacks this for replacing deleted actors in SequencerObjectBindingNode to check to see if a LevelSequence is active. We could move to this mechanism there also. #jira UE-53163 Change 3852211 by Max.Chen UMG: Indicate name of the property that is not bound. #jira UE-54350 Change 3854120 by Max.Chen Sequencer: Fix sibling folders being allowed to have the same folder name. #jira UE-54363 Change 3854627 by Max.Chen Sequencer: Step to next/previous key should work for all tracks if there aren't any selected. #jira UESEQ-391 Change 3855825 by andrew.porter EngineTest: Adding animation blending automation test Change 3855950 by andrew.porter EngineTest: Adding correct expected valuues to animation blending test Change 3856237 by Matt.Hoffman UESEQ-336 - Sequencer Track Reordering Adds the ability to re-order Master Tracks, Folders and Object Bindings within sequencer hierarchies (including UMG). Adds the ability to do a one-off sorting of the content under the old sorting behavior if the user wants to reset their layout to how it was under legacy behavior. Modifies SequencerTrackNodes, SequencerFolderNodes and SequencerObjectBindingNodes to handle CanDrop/OnDrop for above, below and ontop of. Fixes a Slate Issue that forcibly expanded a TreeviewRow if an item handled OnDrop. Slate will now only forcibly expand the row if the item says the drop happened ontop of the item, and not above or below it like it previously did. Change 3856503 by andrew.porter EngineTest: Adding automation test for using animation blueprint with blend multi node in sequencer Change 3857875 by Max.Chen Sequencer: Assign the sequence id after the template is compiled. #jira UE-54462 Change 3858344 by Max.Chen Sequencer: Prevent Goto and Transform boxes from overlapping by allowing them to be visible at the same time in an autosized horizontal box. Also, added close button to the goto box. PR #4425: Prevent Goto and Transform boxes from overlapping in Sequencer ... (Contributed by projectgheist) #jira UE-54210 Change 3860566 by andrew.porter MediaFrameworkTest: Set the option to index 0 for the audio and video track list by default Change 3860654 by andrew.porter EngineTest: Enabling Camera Cut + FOV test Change 3860981 by andrew.porter EngineTest: Updating skeletal mesh tests with a delay after set playback position Change 3861256 by Max.Chen Sequencer: Add all bindings if none selected. #jira-54440 Change 3862154 by Andrew.Rodham Added TimeManagement module Change 3862424 by andrew.porter EngineTest: Turned on the test Bone Positions with Blend Multi Node Change 3862573 by andrew.porter EngineTest: Adding test to compare bone positions in a sequence that is blending an animation that is using an AnimBP Change 3865117 by Max.Chen Sequencer: Stop auto scroll on mouse release of movement. #jira UE-31212 Change 3865303 by Max.Chen Sequencer: Add drag and drop transactions #jira UE-54662 Change 3865304 by Max.Chen Sequencer: Fix crash when an actor factory is not found. Change 3865361 by Max.Chen Sequencer: Don't change the camera/shot lock button when popping out of a sequence. #jira UE-54665 Change 3865412 by Max.Chen Sequencer: Determine whether a transform track is for a camera by using the spawned object or template #jira UE-54666 Change 3865685 by Max.Chen Sequencer: Clear autoscrub offset when stopping autoscroll #jira UE-31212 Change 3865886 by Max.Chen Sequence Recorder: Log an error if the number of frames changes while recording. This can happen if the skeleton changes while recording. #jira UE-48715 Change 3866925 by Andrew.Porter MediaFrameworkTest: Changing the current PNG test video image sequence to 1024 x 576 Change 3867705 by andrew.porter QAGame: Adding Audio Sort Sequence to dev folder Change 3867890 by andrew.porter QAGame: Adding a sequence for testing a sorting crash to my dev folder Change 3872628 by Max.Chen Movie Scene Capture: Split delay before warmup into split delay before shot warmup so that there's separate controls for when the movie scene capture warmups up vs. shot boundaries. Change 3873131 by Matt.Hoffman UE-54732 - Crash reordering a folder with a track. This was caused by folders being the only type of track to check if someone was putting a parent track into a child track. Object Binding tracks and Tracks now check as well so that you can't use the above/below drop targets to add parents as children. This also fixed a typo in the localization keys. #jira UE-54732 Change 3873301 by Mike.Zyracki Added ability to support continous euler angle changes when changing rotations, in particularly with the rotation gizmo's. To do this we effectively added a form an of 'euler filter'(https://en.wikipedia.org/wiki/Euler_filter) to find the closest euler angle to the current euler angle. Three functions were added to FRotator to make this possible, one to get the euler angle that's has the same rotation as it, one to get the difference between two euler angles via Manhattan distance and a third using the previous two to choose a Rotator value that's closest to it. We then use these functions before calling UComponent::SetRelativeRotation to make sure we use the correct Euler after the Quat conversion. We also no longer limit(bound) the euler angles to -180,180, which is obviously necessary to avoid flips. I also changed how we caluclate yaw and roll when pitch is -90 or 90 to make it the standard approach of zeroing out roll and just setting yaw. Main reasons are the previous implementation had precision issues so things like 180, 90, -180 would show up due to numbers being nearly zero but negative,(this would break any smooth interpolations), and this facilitates having a 'gimbal' rotation mode (like Maya, Blender etc..) if we ever want that also. If needed we could keep the previous implementation but would need to add some FMath::IsNearlyZero checks, with less performance. Note we only do this special filtering when applying delta's to actors or components in the editors, which then call UComponent::SetRelativeRotationExact, which is a new function to foces the RelativeRotation to be equal to the new rotation. This allows us to store un-nomalized Rotators at the cost that the RotationCache may be broken. We didn't change any of the other UComponent functions that set rotations (via Quats or Transforms) so they will still be bounded and unwound. In SetInternalWorldLocationAndRotation we only set the rotation if the rotation has changed, which fixes the rotation getting changed and re-normalized if just translate happens. In TransformTrackEditor, we correclty use the bUndwing flag and in MovieScene3DTransformSection there was an un-needed winding check there, it will be unwound earlier if needed, which happens if Sequence Recording is happening. Max we should talk about what to do about this . Note the euler angle drag via the widget is still bound to 0-360. I think we should just unbound that now since the rotations value are now unbound. This review now includes fixes suggested by Zak. #jira UE-UE-22228 Change 3873483 by Matt.Hoffman Sequencer Tracks can now be inserted above the spacer at the bottom of the tree. #jira UE-54706 Change 3873899 by Max.Chen Sequencer: Add section selection throbbing Change 3873908 by Max.Chen Movie Scene Capture: Added logging per frame Change 3873924 by Matt.Hoffman Adds the ability to store Sequence Recorder setups into profiles that stay with the map and can be re-loaded later. Profiles store the Actor Recordings so the settings for each actor should carry with them. #jira UESEQ-339 Change 3874726 by Matt.Hoffman Disable drag-and-drop targets on spacers that come between rows in Sequencer. This prevents extra drag/drop targets showing up between each row. #jira UE-54706 Change 3874862 by Matt.Hoffman Audio Track no longer gets reordered when adding sub-audio tracks, as sub-tracks are no longer counted towards the sorting order index when normalizing indexes. #jira UE-54727 Change 3875905 by Matt.Hoffman Disable Fade Track UI if a fade track already exists in the sequence. #jira UESEQ-393 Change 3876163 by Max.Chen Sequencer: Swap the camera object to the camera component's owner if it's not the same. #jira UE-54874 Change 3876971 by Andrew.Porter EngineTest: Moved Media Player Seek test to new folder. Also enabled the test with new ground truth image. Change 3877040 by Max.Chen Cine Camera: Split camera properties to two groups, "Camera Options" and "Camera Settings". The cine camera now hides properties in the "Camera Settings" group so that properties like bConstrainAspectRatio (in the "Camera Options" group) can be visible. #jira UE-54192 Change 3877763 by Max.Chen Curve Editor: Fix curve changed on end drag so that only curves that had keys/tangents that were changed receive notification, otherwise all loaded curves were getting notified that they were changed. #jira UE-54951 Change 3878234 by Matt.Hoffman Disable "Drop Below" targets for Sequencer Tree nodes to prevent a confusing UX issue where dropping underneath a Object Binding Node puts it after the object binding node but the UI looks like it's inserting it inside the Object Binding node. #jira UE-54743 Change 3879359 by Mike.Zyracki If a track is inactive we dim it a bit which seems to be the UE4 way to show inactive or disabled state. We changed the active logic so that all subtracks need to be inactive for the track to also be inactive(instead of all active for active). This conforms to how the active state actually works, e.g if you have two sections and only one is active the track is still active above it. #jira UESEQ-388 Change 3879462 by Max.Chen Sequencer: Allow dragging onto a particular row which would move out any overlapping sections to make space for the newly created section. Newly created sections are now selected and throbbed to draw attention to themselves. #jira UE-54664 Change 3879464 by Max.Chen Sequencer: Fixed overlapping ranges being inserted into the evaluation field during compilation - The issue was that track segments that had been combined with adjacent segments (due to them being identical) would potentially cause a subsequently compiled frame to overlap with a range that had already been inserted into the evaluation field. - The insertion code previously asserted that only minor overlaps were catered for (due to fp rounding errors) and assumed that a supplied range could not entirely contain any other range in the field. - The solution is to supply the insertion time along with the range to know exactly where the data should live in the field, and crop the range to the maximum allowable space between adjacent ranges. #jira UE-54922 Change 3879590 by Matt.Hoffman Items that are now added to the Sequencer via the "+Track" menu will be selected after being added. Items can now be added inside of folders instead of just to the root level. #jira UE-27397 Change 3879612 by Mike.Zyracki Display Nodes with no children are always active. #jira UESEQ-388 Change 3879730 by Matt.Hoffman Sequence Recorder's actor recording groups now remove items from the group when removed via the UI. #jira UESEQ-339 Change 3880256 by Mike.Zyracki Fix issue with inactive display with folders and other track nodes. #jira UESEQ-388 Change 3883491 by Max.Chen Fix issue where tick is skipped due to last ticked pose isn't cleared after AnimInstance changes. Copy from Release-4.19 #jira UE-51323 Change 3883603 by Max.Chen Movie Scene Capture: Add option toggle disable screen percentage. By default this is on (no change in current behavior). #jira UE-51898 Change 3885074 by Max.Preussner MediaCompositing: Resetting media texture & freeing resource on section end; removed dead code Change 3887220 by Max.Preussner MediaCompositing: Defaulted media section duration to 1 sec (since we do not know the actual duration in most cases) Change 3887478 by Matt.Hoffman Sequences now show [Inactive] in their title bars when they're disabled. This helps communicate why a sequence isn't being evaluated. #jira UE-51469 Change 3888985 by Max.Chen Movie Scene Capture: Clamp HDR Compression Quality between 0 and 1. #jira UE-55136 Change 3893519 by Max.Chen Sequence Recorder: Clarified tooltip for bRecordNearbySpawnedActors - spawned actors will still be recorded if they match the ActorFilter. #jira UE-55238 Change 3893546 by Max.Chen Sequence Recorder: If a selected actor already has a recording, add a blank recording. #jira UE-55239 Change 3894044 by Max.Preussner MediaCompositing: Added support for seeking into a media section Change 3894310 by andrew.porter MediaFrameworkTest: Adding Img media sources for 1080 and 2160 ravent test content Change 3894426 by Max.Preussner MediaAssets: Letting media textures with AutoClear retain their clear color when player is reset Change 3895717 by Max.Chen Sequencer: Null checks to prevent crash when saving the default state of a spawnable #jira UE-55304 Change 3897388 by Max.Chen Sequencer: Don't update current time to be within the view range when stepping into a sequence. #jira UE-55322 Change 3897452 by Max.Chen Audio: Fix crash when trying to record audio without any active capture devices. Log warning if the number of input channels is not 1 or 2. #jira UE-55223 Change 3897619 by Max.Preussner MediaCompositing: Removed commented out code Change 3898072 by Max.Chen Sequencer: Override the animation asset in the player state if it doesn't match the animation asset that's being evaluated. #jira UE-55328 Change 3898272 by Max.Preussner MediaPlayerEditor: Made slate brush constants static Change 3898704 by Max.Chen Sequencer: Skip if the binding id's sequence can't be found. #jira UE-55337 Change 3899855 by Max.Preussner MediaCompositingEditor: Added cache state visualization to media track Change 3900300 by Max.Preussner MediaCompositingEditor: Added loop indicators to media sections Change 3900694 by Max.Preussner ImfMedia: Looping cache only when player is looping Change 3900892 by Max.Preussner Stats: Added stats category for media framework Change 3900954 by Max.Preussner MediaCompositing: Don't evaluate at the end of media section Change 3901348 by Max.Preussner Core: Replaced TLruCache autos for better readability Change 3901655 by Max.Preussner ImgMedia: Added more perf stats to EXR reader Change 3901972 by Max.Preussner MediaAssets: Added getter for media player in media sound components Change 3902233 by Max.Preussner MediaAssets: Enabling media textures to receive samples right after player is assigned Change 3902238 by Max.Preussner MediaCompositing: Working around init/shutdown idiosyncracies in sequencer Change 3904045 by Max.Chen Sequencer: Fix copy/paste crash. Only process UMovieSceneCopyableBinding and objects that can be spawned by the movie scene spawn register. #jira UE-55314 Change 3905605 by Max.Chen Sequencer: Restrict spawnables from being created if they have a ClassWithin that UMovieScene is not a child of. #jira UE-55429 Change 3906550 by Max.Chen Sequencer: Add media track icon #jira UE-55480 Change 3907101 by Max.Chen Sequence Recorder: Fix bugs related to not recording a level sequence. There were certain assumptions that creating a level sequence meant that sequence recording was in progress. This is not always the case - the recorders can record animation assets and not create a level sequence. Changed the notion of IsRecording() to having at least one actor recording that is recording. Countdown timer, recording displays, etc should function if IsRecording() and not based on whether a level sequence is created. #jira UE-55485 Change 3907247 by Max.Chen Sequence Recorder: Fix crash not removing PrepareToCleanseEditorObject delegate. Repros when opening sequence recorder, closing it, and then opening or creating a level. Change 3910343 by Max.Preussner Core: Added async helper for executing functions on a given thread pool Change 3910346 by Max.Preussner ImgMedia: Added separate thread pools for loading/decoding and deleting image frames Change 3910829 by Max.Preussner Profiler: Increased visible range of profiler graph Change 3910841 by Max.Preussner MediaCompositing: Displaying asset name instead of full media source path in media section Change 3910870 by Max.Preussner ImgMedia: Using deallocation thread pool only in debug builds Change 3919642 by Max.Chen Sequence Recorder: Clarify active tooltip #jira UE-55661 Change 3919660 by Max.Chen Sequencer: Sequence template source signatures are now also compared to catch the case where a sub-sequence asset has been saved but not modified - The following sequence of events exposes this issue: - Create a master sequence with a single shot that spawns a cube - Add this sequence to a level and set it to auto-play - Save everything and restart - Resave just the inner shot asset without opening it - PIE - The inner shot never spawns its cube because its template was wiped on save, but its signature never changed. Since the master sequence previously didn't check the template source signature, it ends up trying to evaluate an empty template. #jira UE-55626 #jira UE-55490 Change 3921825 by Max.Chen Sequencer: "Run Construction Script in Sequencer" is off by default for blueprints but on for Sequencer. This allows the content author to switch it on for specific blueprints and sequencer will be default, run those with construction scripts enabled. Change 3922232 by Max.Chen Sequence Recorder: Reset countdelay on stop. #jira UE-55755 Change 3922306 by Max.Chen Sequence Recorder: Don't automatically mark transforms to be recorded by sequence recorder. Instead, log a warning if the user toggled it off to warn that the resulting animation might not match gameplay. #jira UE-55758 Change 3922912 by Max.Chen Sequence Recorder: Fix refresh next sequence name #jira UE-55757 Change 3927654 by Max.Chen Movie Scene Capture: Added format mapping for the name of the current camera #jira UE-55769 PR #4537 Change 3927658 by Max.Chen Sequencer: Added fbx property mapping for "FocusDistance" to "FocusSettings.ManualFocusDistance" #jira UE-55782 Change 3932022 by Max.Chen Sequencer: Add import animation track section to next available row index. #jira UE-55892 Change 3933919 by Max.Chen Sequencer: Jump to playback start frame and not 0 to start playback for recording. #jira UE-55933 Change 3934307 by Andrew.Rodham Sequencer: Add template signature that is re-generated every time the base template is regenerated, which invalidates evaluation fields This fixes an issue where the same sequence is instantiated multiple times in a sequence. If the source sequence was saved, its template would be wiped, which would invalidate the template ID When an instance tries to evaluate the master template, it would only invalidate a range in the evaluation field that was the hull of any invalid sub sequences overlapping the current time, potentially leaving invalid data in the evaluation field at positions later (or earlier) on in the sequence When the sub template was re-generated, it receives the same SequenceSignature as it had before (because the sequence hasn't actually changed), which causes the stale evaluation field data to fail the IsDirty check (because the sequence is the same as it thought, but the *template* has changed) This has been addressed be adding a signature to templates themselves, and checking both the template signature and sequence signature as a part of the IsDirty check. This ensures that we regenerate if either the template, or the sequence have changed. #jira UE-55934 Change 3936327 by Andrew.Rodham Sequencer: Removed increment when trimming right UMovieSceneSection::TrimSection already explicity assigns an exclusive bound to the time passed in. The new behavior means we can trim a section to the right, and insert another section without changing the time to create adjacent sections. #jira UE-42652 Change 3936328 by Andrew.Rodham Fixed KeyFrameManipulator assignment operators and copy/move constructors - These types are potentially self-referential so cannot use default constructors/assignment Change 3936330 by Andrew.Rodham Converted UMGSequencePlayer to use frames internally #jira UE-54878 Change 3936726 by Max.Chen Sequencer: Set track node as the parent of the key area node. The key area switcher needs the object binding id from the parent object binding node. Without this, the binding to the external value fails. #jira UE-55931 Change 3936775 by Max.Chen Sequencer: Should stop or loop should compare DurationFrames with Current Time from StartTime. The bug is that if you set 30 warmup frames in movie rendering for a range of 0-100, the FrameRange will be starting at -30 and have a duration of 130. Without this fix, the playback will continue until frame 130, rather than 100. #jira UE-55933 Change 3936935 by Matt.Hoffman Easing Curves are now represented in Play Rate resolution instead of internal resolution. #jira UE-55937 Change 3937069 by Matt.Hoffman Users can toggle if the is infinite on each side, limited by which tracks support infinite ranges. #jira UE-55891 Change 3937516 by Max.Preussner ImgMedia: Added support for single-threaded platforms #jira UE-55986 Change 3937826 by Max.Preussner MediaAssets: Disabling media sound components on HTML5 if AudioMixer is not enabled Change 3937997 by Max.Chen Curve Editor: Add Zoom to Fit Curves so that selected curves from Sequencer can be focused on. Tested that undo doesn't re-zoom. #jira UE-55935 Change 3938000 by Max.Chen Sequencer: Stop all sounds before generating audio waveforms. #jira UE-55951 Change 3938376 by Max.Preussner XGEController: Disabled XGE Controller in single-threaded apps to prevent crash Change 3938444 by Max.Preussner Core: Added async support for single-threaded applications Change 3938445 by Max.Preussner Networking: Added support for single-threaded applications in UDP socket sender/receiver Change 3938447 by Max.Preussner Messaging: Added support for single-threaded applications Change 3939432 by Max.Chen Sequence Recorder: Append command list to global level editor actions so that shortcuts are accessible in level editor. #jira UE-55798 Change 3940229 by Andrew.Rodham Added prospective display rate upgrade to UMovieScene::PostLoad - There was previously some very odd behaviour that would assign the fixed frame interval only when a sub sequence was focused in SSequencer. This meant that many sequences could have a frame interval of 0 set in the data. - Under the old method of snap interval display this would have fallen back to getting the display interval from the sequencer settings, but we no longer look at these. - The USequencerSettings properties have been removed and in their place, a prospective data upgrade for sequences that have a fixed frame interval old 0fps that sets the play rate to the previous defaults based off the old USequencerSettings defaults. - This could end up 'changing' the display rate for sequences where the user has changed the snap interval in the settings for a particular sequence editor, but there's not much we can do about that given we don't have access to the USequencerSettings classes in UMovieScene #jira UE-55919 Change 3940277 by Andrew.Rodham Sequencer: Added ability to default frame resolutions and play rates for newly created actor sequences Change 3940378 by Andrew.Rodham Sequencer: Post move import dialog now defaults to the playback framerate of the sequence, and floors to frame numbers Change 3940559 by Andrew.Rodham Reinstated primed or recording sequence color Change 3940642 by Max.Preussner ImagePlate: Removed image plate media playback functionality Change 3940843 by Max.Preussner Core: Made TCircularQueue actually thread-safe; improved code comments Change 3940860 by Max.Chen Sequencer: Changed StructNameToKey to StructPathToKey Previously, keying a PropertyPath of [RenderTransform][Shear][X] would get trimmed to X, which doesn't map to a channel name as considered by Sequencer2dTransformTrackEditor. Instead, trim the resulting property path to [Shear][X] so that track editors can determine the desired struct path and channels to key. #jira UE-52966 Change 3941292 by Mike.Zyracki Fix for trajectories out of range not showing up. 1) If we had no key data we would pop the time, so wouldn't get the section ranges. 2) Calculating of upper bound was wrong, checking against -1 and not key == num of keys when doing algo::lower_bound. 3) No need to do the Bck-- for the bakward iterators since we fixed #2. We start now from the upper bound correctly. 4) If we had no keys (at section start,end) we would incorrectly say we were any key type, so since we draw constant keys as dashed we would do so incorrectly around section end points. #jira UE-55929 Change 3941424 by Max.Chen Curve Editor: Change Zoom to Fit to use TArrayView Change 3941498 by Max.Preussner Core: Added FMath::DivideAndRoundNearest function Change 3942097 by Matt.Hoffman Drop Frame Timecode Support for NTSC rates. Change 3942104 by Matt.Hoffman Sequence Recorder Group is no longer visible inside the World Outliner after using one. #jira 55266 Change 3942107 by Max.Chen Sequencer: Resurrect logic to find or extend an existing section when adding keys. Change 3942330 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942339 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942507 by Andrew.Rodham Sequencer: We no longer pad the time overlap threshold with a small number that is not scaled by the current zoom level - The presence of this pad was causing keys that were far apart to be grouped when zoomed in a long way Change 3942509 by Andrew.Rodham Sequencer: Only pad total view range, rather than section range as well when retrieving keys to render - This stops us from rendering keys that are within the view range, but outside the section range Change 3942512 by Andrew.Rodham Added transactions to some sequencer details customizations Change 3942513 by Andrew.Rodham Sequencer: Reinstated validation checks to UMovieSceneSection::SetStartFrame and SetEndFrame, changed erroneous uses to use SetRange Change 3942560 by Andrew.Rodham Pass by rvalue reference to appease error C2719 on Win32 ('InChannels': formal parameter with requested alignment of 8 won't be aligned) Change 3942697 by Andrew.Rodham Newly Created Level Sequences and Actor Sequences now default to 24000 fps frame resolution (+/- ~24hrs range, supporting all integer rates + 23.976) Change 3942700 by Andrew.Rodham Sequencer: Added legacy out-of-bounds errors for times that are not supported by the current legacy upgrade frame resolution Change 3942989 by Max.Preussner Core: Fixed circular queue count calculation Change 3943538 by Max.Preussner MediaAssets: Reverted workaround for procedural audio log spam in HTML5 (Actor component initialization cannot be skipped if the component is used in a level) Change 3944071 by Max.Preussner QAGame: Fixed Media Texture keeps last frame of Media when PIE ends #jira UE-53360 Change 3944292 by Max.Chen Sequencer: Added extra flags to ensure that asset initialization does not occur on template actor sequences #jira UE-56113 Change 3944364 by Max.Chen Sequencer: Prevent circular shot/master tracks. Tested adding master -> child -> master as drag and drop cinematic shot tracks and sub tracks as well as through the + button. #jira UE-56091 Change 3944422 by Max.Chen Sequence Recorder: Disable transform recording if off. #jira UE-56061 Change 3944745 by Andrew.Rodham Sequencer: Key rendering fixes - Fixed assert that occured when keys happened to reside on some times due to KeyTime + TimeOverlapThreshold - KeyTime being slightly larger TimeOverlapThreshold - Fixed keys sometimes being clipped when zoomed right in due to lack of half-frame offset - Added missing documentation to MovieSceneTimeHelpers.h #jira UE-56107 Change 3945231 by Andrew.Rodham Sequencer: Reconstruct channel proxy on Serialize to catch all cases of undo/redo, PostLoad and duplication #jira UE-56089 Change 3945301 by Andrew.Rodham Sequencer: Added safety checks during initial sequence recording to guard against applying negative or 0-sized sequence ranges #jira UE-56125 Change 3946627 by Max.Preussner Fortnite: Fixed game crashes closing editor while in PIE - Pure virtual function being called #jira UE-56144 [CL 3946896 by Max Chen in Main branch]
2018-03-14 22:09:33 -04:00
if (MouseDragType == DRAG_SCRUBBING_TIME)
{
ScrubTime = ComputeScrubTimeFromMouse(MyGeometry, CursorPos, RangeToScreen);
}
else if (Sequencer.IsValid() && Sequencer->GetSequencerSettings()->GetSnapPlayTimeToKeys())
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3946692) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3801826 by Max.Chen PR #4304: Level Sequence crash fix - Guarded against dereferencing null componen. (Contributed by DSDambuster) Change 3801828 by Max.Chen PR #4302: Movie Scene Visibility Template unitialised variable, causing random . (Contributed by DSDambuster) Change 3801837 by Max.Chen Sequencer: Delay spawning/construction for convert to possessable. This fixes a bug where property values would be lost when converting back and forth from possessable to spawnable. #jira UE-52400 Change 3801841 by Max.Chen Sequencer: Make spacer nodes not selectable. PR #4194: Improvements to Sequencer (Contributed by projectgheist) #jira UE-53117 #jira UE-52139 Change 3804183 by Max.Preussner MediaAssets: Added missing lock in media sound component Change 3805414 by Max.Preussner MediaAssets: Setting valid GUID when initializing media texture resource Change 3819578 by Max.Chen PR #4370: When enabling the "MovieCapture", do not turn off the Stereo-3D display. (Contributed by yehaike) #jira UE-53647 Change 3823414 by Max.Chen Curve Editor: Lock down the first and last keys in the redundant keys removal range so that they're unaffected. #jira UE-53591 Change 3826406 by Max.Chen Sequencer: Move OnStartedPlaying() to within first update in UpdateTimeCursorPosition(). This fixes an issue where setting the hud/player visibility was getting stomped on later. #jira UE-52772 Change 3827044 by Max.Preussner MediaAssets: Added sprite visualization to media sound component #jira UE-53594 Change 3827988 by Max.Preussner MediaPlayerAssets: Fixed Media Texture is not linked to Media Player when created together #jira UE-53532 Change 3828506 by Max.Preussner MediaPlayerEditor: Added attenuation visualizer for media sound components #jira UE-53594 Change 3832590 by andrew.porter EngineTest: Added a keep state check in Property Animation sequencer test Change 3833053 by andrew.porter EngineTest: Adding Hierarchical Bias test Change 3835683 by andrew.porter EngineTest: Adding UMG Animation screenshot test Change 3836076 by Max.Chen Sequencer: Fix audio volume and pitch multiplier deprecation. Change 3836230 by andrew.porter EngineTest: Adding Sequence Bone Position automation test Change 3836347 by Max.Chen Sequencer: Fixes to shot name parsing. When a shot doesn't contain a shot number, assume, [ShotName]_[TakeNumber]. When duplicating a shot, put the new shot in the same path of the original shot, so that the take numbers will increment properly. #jira UE-51868 Change 3836552 by Max.Chen Sequencer: Sub section now has a takes menu Change 3838094 by Max.Chen UMG: Fix template finish not getting called on stop. This fixes a bug where sections aren't restored when finished. #jira UE-52285 Change 3838708 by Max.Chen Sequencer: Add notification when the blend type is changed. #jira UE-54046 Change 3840295 by Max.Chen Sequencer: Fix copy/paste crash for lights #jira UE-54084 Change 3840957 by Mike.Zyracki Added Show Only Keyable and Show Only Animated to the filter list in the property editor. Added IsPropertyAnimated to IDetailKeyframe Interface which already had support for showing properties which are keyable (which is used for the key icon next to the properties.). Could have created another interface but then would have had to mimic the sequencer binding, releasing also, so this seemed best way. One issue still left is that custom built detail items currently don't store associated properties(usually) and so certain properties, in particulalry transforms, won't show up as keyable or animated. Note this also shows up with the keyable icon not showing up next to transform tracks, and other filters like Show Only Modified not working with transforms/customs. Not sure best way to tackle this. #jira UESEQ-328 Change 3841756 by Max.Chen Sequencer: Fix unbound possessable components when pasting spawnables. #jira UE-54104 Change 3843950 by andrew.porter EngineTest: Renaming LevelStreaming tests/content to LevelVisibility Change 3844082 by Mike.Zyracki Missing file for animated filter in property editor. When finding if a track is animated we need to find it but we can't easily induce the MovieTrack class for any particular property. So we don't set a class for it and just search by it's ID and name. #jira UESEQ-328 Change 3846902 by Max.Preussner ImgMedia: Fixed image media player never finished initialization if loading failed #jira UE-54247 Change 3849820 by Mike.Zyracki Reassigning deleted widgets didn't work since the menu extender mechanism needs a valid UObject in order to perform an operation on it. So to fix we replaced GetObjectBindingContextMenuExtender in WidgetBlueprint with new delegate mechanism (OnBuildCustomContextMenuForGuid) that supports FGuid in addition to UObjects which is needed to handle re-binding deleted widgets. Note that the default sequencer hacks this for replacing deleted actors in SequencerObjectBindingNode to check to see if a LevelSequence is active. We could move to this mechanism there also. #jira UE-53163 Change 3852211 by Max.Chen UMG: Indicate name of the property that is not bound. #jira UE-54350 Change 3854120 by Max.Chen Sequencer: Fix sibling folders being allowed to have the same folder name. #jira UE-54363 Change 3854627 by Max.Chen Sequencer: Step to next/previous key should work for all tracks if there aren't any selected. #jira UESEQ-391 Change 3855825 by andrew.porter EngineTest: Adding animation blending automation test Change 3855950 by andrew.porter EngineTest: Adding correct expected valuues to animation blending test Change 3856237 by Matt.Hoffman UESEQ-336 - Sequencer Track Reordering Adds the ability to re-order Master Tracks, Folders and Object Bindings within sequencer hierarchies (including UMG). Adds the ability to do a one-off sorting of the content under the old sorting behavior if the user wants to reset their layout to how it was under legacy behavior. Modifies SequencerTrackNodes, SequencerFolderNodes and SequencerObjectBindingNodes to handle CanDrop/OnDrop for above, below and ontop of. Fixes a Slate Issue that forcibly expanded a TreeviewRow if an item handled OnDrop. Slate will now only forcibly expand the row if the item says the drop happened ontop of the item, and not above or below it like it previously did. Change 3856503 by andrew.porter EngineTest: Adding automation test for using animation blueprint with blend multi node in sequencer Change 3857875 by Max.Chen Sequencer: Assign the sequence id after the template is compiled. #jira UE-54462 Change 3858344 by Max.Chen Sequencer: Prevent Goto and Transform boxes from overlapping by allowing them to be visible at the same time in an autosized horizontal box. Also, added close button to the goto box. PR #4425: Prevent Goto and Transform boxes from overlapping in Sequencer ... (Contributed by projectgheist) #jira UE-54210 Change 3860566 by andrew.porter MediaFrameworkTest: Set the option to index 0 for the audio and video track list by default Change 3860654 by andrew.porter EngineTest: Enabling Camera Cut + FOV test Change 3860981 by andrew.porter EngineTest: Updating skeletal mesh tests with a delay after set playback position Change 3861256 by Max.Chen Sequencer: Add all bindings if none selected. #jira-54440 Change 3862154 by Andrew.Rodham Added TimeManagement module Change 3862424 by andrew.porter EngineTest: Turned on the test Bone Positions with Blend Multi Node Change 3862573 by andrew.porter EngineTest: Adding test to compare bone positions in a sequence that is blending an animation that is using an AnimBP Change 3865117 by Max.Chen Sequencer: Stop auto scroll on mouse release of movement. #jira UE-31212 Change 3865303 by Max.Chen Sequencer: Add drag and drop transactions #jira UE-54662 Change 3865304 by Max.Chen Sequencer: Fix crash when an actor factory is not found. Change 3865361 by Max.Chen Sequencer: Don't change the camera/shot lock button when popping out of a sequence. #jira UE-54665 Change 3865412 by Max.Chen Sequencer: Determine whether a transform track is for a camera by using the spawned object or template #jira UE-54666 Change 3865685 by Max.Chen Sequencer: Clear autoscrub offset when stopping autoscroll #jira UE-31212 Change 3865886 by Max.Chen Sequence Recorder: Log an error if the number of frames changes while recording. This can happen if the skeleton changes while recording. #jira UE-48715 Change 3866925 by Andrew.Porter MediaFrameworkTest: Changing the current PNG test video image sequence to 1024 x 576 Change 3867705 by andrew.porter QAGame: Adding Audio Sort Sequence to dev folder Change 3867890 by andrew.porter QAGame: Adding a sequence for testing a sorting crash to my dev folder Change 3872628 by Max.Chen Movie Scene Capture: Split delay before warmup into split delay before shot warmup so that there's separate controls for when the movie scene capture warmups up vs. shot boundaries. Change 3873131 by Matt.Hoffman UE-54732 - Crash reordering a folder with a track. This was caused by folders being the only type of track to check if someone was putting a parent track into a child track. Object Binding tracks and Tracks now check as well so that you can't use the above/below drop targets to add parents as children. This also fixed a typo in the localization keys. #jira UE-54732 Change 3873301 by Mike.Zyracki Added ability to support continous euler angle changes when changing rotations, in particularly with the rotation gizmo's. To do this we effectively added a form an of 'euler filter'(https://en.wikipedia.org/wiki/Euler_filter) to find the closest euler angle to the current euler angle. Three functions were added to FRotator to make this possible, one to get the euler angle that's has the same rotation as it, one to get the difference between two euler angles via Manhattan distance and a third using the previous two to choose a Rotator value that's closest to it. We then use these functions before calling UComponent::SetRelativeRotation to make sure we use the correct Euler after the Quat conversion. We also no longer limit(bound) the euler angles to -180,180, which is obviously necessary to avoid flips. I also changed how we caluclate yaw and roll when pitch is -90 or 90 to make it the standard approach of zeroing out roll and just setting yaw. Main reasons are the previous implementation had precision issues so things like 180, 90, -180 would show up due to numbers being nearly zero but negative,(this would break any smooth interpolations), and this facilitates having a 'gimbal' rotation mode (like Maya, Blender etc..) if we ever want that also. If needed we could keep the previous implementation but would need to add some FMath::IsNearlyZero checks, with less performance. Note we only do this special filtering when applying delta's to actors or components in the editors, which then call UComponent::SetRelativeRotationExact, which is a new function to foces the RelativeRotation to be equal to the new rotation. This allows us to store un-nomalized Rotators at the cost that the RotationCache may be broken. We didn't change any of the other UComponent functions that set rotations (via Quats or Transforms) so they will still be bounded and unwound. In SetInternalWorldLocationAndRotation we only set the rotation if the rotation has changed, which fixes the rotation getting changed and re-normalized if just translate happens. In TransformTrackEditor, we correclty use the bUndwing flag and in MovieScene3DTransformSection there was an un-needed winding check there, it will be unwound earlier if needed, which happens if Sequence Recording is happening. Max we should talk about what to do about this . Note the euler angle drag via the widget is still bound to 0-360. I think we should just unbound that now since the rotations value are now unbound. This review now includes fixes suggested by Zak. #jira UE-UE-22228 Change 3873483 by Matt.Hoffman Sequencer Tracks can now be inserted above the spacer at the bottom of the tree. #jira UE-54706 Change 3873899 by Max.Chen Sequencer: Add section selection throbbing Change 3873908 by Max.Chen Movie Scene Capture: Added logging per frame Change 3873924 by Matt.Hoffman Adds the ability to store Sequence Recorder setups into profiles that stay with the map and can be re-loaded later. Profiles store the Actor Recordings so the settings for each actor should carry with them. #jira UESEQ-339 Change 3874726 by Matt.Hoffman Disable drag-and-drop targets on spacers that come between rows in Sequencer. This prevents extra drag/drop targets showing up between each row. #jira UE-54706 Change 3874862 by Matt.Hoffman Audio Track no longer gets reordered when adding sub-audio tracks, as sub-tracks are no longer counted towards the sorting order index when normalizing indexes. #jira UE-54727 Change 3875905 by Matt.Hoffman Disable Fade Track UI if a fade track already exists in the sequence. #jira UESEQ-393 Change 3876163 by Max.Chen Sequencer: Swap the camera object to the camera component's owner if it's not the same. #jira UE-54874 Change 3876971 by Andrew.Porter EngineTest: Moved Media Player Seek test to new folder. Also enabled the test with new ground truth image. Change 3877040 by Max.Chen Cine Camera: Split camera properties to two groups, "Camera Options" and "Camera Settings". The cine camera now hides properties in the "Camera Settings" group so that properties like bConstrainAspectRatio (in the "Camera Options" group) can be visible. #jira UE-54192 Change 3877763 by Max.Chen Curve Editor: Fix curve changed on end drag so that only curves that had keys/tangents that were changed receive notification, otherwise all loaded curves were getting notified that they were changed. #jira UE-54951 Change 3878234 by Matt.Hoffman Disable "Drop Below" targets for Sequencer Tree nodes to prevent a confusing UX issue where dropping underneath a Object Binding Node puts it after the object binding node but the UI looks like it's inserting it inside the Object Binding node. #jira UE-54743 Change 3879359 by Mike.Zyracki If a track is inactive we dim it a bit which seems to be the UE4 way to show inactive or disabled state. We changed the active logic so that all subtracks need to be inactive for the track to also be inactive(instead of all active for active). This conforms to how the active state actually works, e.g if you have two sections and only one is active the track is still active above it. #jira UESEQ-388 Change 3879462 by Max.Chen Sequencer: Allow dragging onto a particular row which would move out any overlapping sections to make space for the newly created section. Newly created sections are now selected and throbbed to draw attention to themselves. #jira UE-54664 Change 3879464 by Max.Chen Sequencer: Fixed overlapping ranges being inserted into the evaluation field during compilation - The issue was that track segments that had been combined with adjacent segments (due to them being identical) would potentially cause a subsequently compiled frame to overlap with a range that had already been inserted into the evaluation field. - The insertion code previously asserted that only minor overlaps were catered for (due to fp rounding errors) and assumed that a supplied range could not entirely contain any other range in the field. - The solution is to supply the insertion time along with the range to know exactly where the data should live in the field, and crop the range to the maximum allowable space between adjacent ranges. #jira UE-54922 Change 3879590 by Matt.Hoffman Items that are now added to the Sequencer via the "+Track" menu will be selected after being added. Items can now be added inside of folders instead of just to the root level. #jira UE-27397 Change 3879612 by Mike.Zyracki Display Nodes with no children are always active. #jira UESEQ-388 Change 3879730 by Matt.Hoffman Sequence Recorder's actor recording groups now remove items from the group when removed via the UI. #jira UESEQ-339 Change 3880256 by Mike.Zyracki Fix issue with inactive display with folders and other track nodes. #jira UESEQ-388 Change 3883491 by Max.Chen Fix issue where tick is skipped due to last ticked pose isn't cleared after AnimInstance changes. Copy from Release-4.19 #jira UE-51323 Change 3883603 by Max.Chen Movie Scene Capture: Add option toggle disable screen percentage. By default this is on (no change in current behavior). #jira UE-51898 Change 3885074 by Max.Preussner MediaCompositing: Resetting media texture & freeing resource on section end; removed dead code Change 3887220 by Max.Preussner MediaCompositing: Defaulted media section duration to 1 sec (since we do not know the actual duration in most cases) Change 3887478 by Matt.Hoffman Sequences now show [Inactive] in their title bars when they're disabled. This helps communicate why a sequence isn't being evaluated. #jira UE-51469 Change 3888985 by Max.Chen Movie Scene Capture: Clamp HDR Compression Quality between 0 and 1. #jira UE-55136 Change 3893519 by Max.Chen Sequence Recorder: Clarified tooltip for bRecordNearbySpawnedActors - spawned actors will still be recorded if they match the ActorFilter. #jira UE-55238 Change 3893546 by Max.Chen Sequence Recorder: If a selected actor already has a recording, add a blank recording. #jira UE-55239 Change 3894044 by Max.Preussner MediaCompositing: Added support for seeking into a media section Change 3894310 by andrew.porter MediaFrameworkTest: Adding Img media sources for 1080 and 2160 ravent test content Change 3894426 by Max.Preussner MediaAssets: Letting media textures with AutoClear retain their clear color when player is reset Change 3895717 by Max.Chen Sequencer: Null checks to prevent crash when saving the default state of a spawnable #jira UE-55304 Change 3897388 by Max.Chen Sequencer: Don't update current time to be within the view range when stepping into a sequence. #jira UE-55322 Change 3897452 by Max.Chen Audio: Fix crash when trying to record audio without any active capture devices. Log warning if the number of input channels is not 1 or 2. #jira UE-55223 Change 3897619 by Max.Preussner MediaCompositing: Removed commented out code Change 3898072 by Max.Chen Sequencer: Override the animation asset in the player state if it doesn't match the animation asset that's being evaluated. #jira UE-55328 Change 3898272 by Max.Preussner MediaPlayerEditor: Made slate brush constants static Change 3898704 by Max.Chen Sequencer: Skip if the binding id's sequence can't be found. #jira UE-55337 Change 3899855 by Max.Preussner MediaCompositingEditor: Added cache state visualization to media track Change 3900300 by Max.Preussner MediaCompositingEditor: Added loop indicators to media sections Change 3900694 by Max.Preussner ImfMedia: Looping cache only when player is looping Change 3900892 by Max.Preussner Stats: Added stats category for media framework Change 3900954 by Max.Preussner MediaCompositing: Don't evaluate at the end of media section Change 3901348 by Max.Preussner Core: Replaced TLruCache autos for better readability Change 3901655 by Max.Preussner ImgMedia: Added more perf stats to EXR reader Change 3901972 by Max.Preussner MediaAssets: Added getter for media player in media sound components Change 3902233 by Max.Preussner MediaAssets: Enabling media textures to receive samples right after player is assigned Change 3902238 by Max.Preussner MediaCompositing: Working around init/shutdown idiosyncracies in sequencer Change 3904045 by Max.Chen Sequencer: Fix copy/paste crash. Only process UMovieSceneCopyableBinding and objects that can be spawned by the movie scene spawn register. #jira UE-55314 Change 3905605 by Max.Chen Sequencer: Restrict spawnables from being created if they have a ClassWithin that UMovieScene is not a child of. #jira UE-55429 Change 3906550 by Max.Chen Sequencer: Add media track icon #jira UE-55480 Change 3907101 by Max.Chen Sequence Recorder: Fix bugs related to not recording a level sequence. There were certain assumptions that creating a level sequence meant that sequence recording was in progress. This is not always the case - the recorders can record animation assets and not create a level sequence. Changed the notion of IsRecording() to having at least one actor recording that is recording. Countdown timer, recording displays, etc should function if IsRecording() and not based on whether a level sequence is created. #jira UE-55485 Change 3907247 by Max.Chen Sequence Recorder: Fix crash not removing PrepareToCleanseEditorObject delegate. Repros when opening sequence recorder, closing it, and then opening or creating a level. Change 3910343 by Max.Preussner Core: Added async helper for executing functions on a given thread pool Change 3910346 by Max.Preussner ImgMedia: Added separate thread pools for loading/decoding and deleting image frames Change 3910829 by Max.Preussner Profiler: Increased visible range of profiler graph Change 3910841 by Max.Preussner MediaCompositing: Displaying asset name instead of full media source path in media section Change 3910870 by Max.Preussner ImgMedia: Using deallocation thread pool only in debug builds Change 3919642 by Max.Chen Sequence Recorder: Clarify active tooltip #jira UE-55661 Change 3919660 by Max.Chen Sequencer: Sequence template source signatures are now also compared to catch the case where a sub-sequence asset has been saved but not modified - The following sequence of events exposes this issue: - Create a master sequence with a single shot that spawns a cube - Add this sequence to a level and set it to auto-play - Save everything and restart - Resave just the inner shot asset without opening it - PIE - The inner shot never spawns its cube because its template was wiped on save, but its signature never changed. Since the master sequence previously didn't check the template source signature, it ends up trying to evaluate an empty template. #jira UE-55626 #jira UE-55490 Change 3921825 by Max.Chen Sequencer: "Run Construction Script in Sequencer" is off by default for blueprints but on for Sequencer. This allows the content author to switch it on for specific blueprints and sequencer will be default, run those with construction scripts enabled. Change 3922232 by Max.Chen Sequence Recorder: Reset countdelay on stop. #jira UE-55755 Change 3922306 by Max.Chen Sequence Recorder: Don't automatically mark transforms to be recorded by sequence recorder. Instead, log a warning if the user toggled it off to warn that the resulting animation might not match gameplay. #jira UE-55758 Change 3922912 by Max.Chen Sequence Recorder: Fix refresh next sequence name #jira UE-55757 Change 3927654 by Max.Chen Movie Scene Capture: Added format mapping for the name of the current camera #jira UE-55769 PR #4537 Change 3927658 by Max.Chen Sequencer: Added fbx property mapping for "FocusDistance" to "FocusSettings.ManualFocusDistance" #jira UE-55782 Change 3932022 by Max.Chen Sequencer: Add import animation track section to next available row index. #jira UE-55892 Change 3933919 by Max.Chen Sequencer: Jump to playback start frame and not 0 to start playback for recording. #jira UE-55933 Change 3934307 by Andrew.Rodham Sequencer: Add template signature that is re-generated every time the base template is regenerated, which invalidates evaluation fields This fixes an issue where the same sequence is instantiated multiple times in a sequence. If the source sequence was saved, its template would be wiped, which would invalidate the template ID When an instance tries to evaluate the master template, it would only invalidate a range in the evaluation field that was the hull of any invalid sub sequences overlapping the current time, potentially leaving invalid data in the evaluation field at positions later (or earlier) on in the sequence When the sub template was re-generated, it receives the same SequenceSignature as it had before (because the sequence hasn't actually changed), which causes the stale evaluation field data to fail the IsDirty check (because the sequence is the same as it thought, but the *template* has changed) This has been addressed be adding a signature to templates themselves, and checking both the template signature and sequence signature as a part of the IsDirty check. This ensures that we regenerate if either the template, or the sequence have changed. #jira UE-55934 Change 3936327 by Andrew.Rodham Sequencer: Removed increment when trimming right UMovieSceneSection::TrimSection already explicity assigns an exclusive bound to the time passed in. The new behavior means we can trim a section to the right, and insert another section without changing the time to create adjacent sections. #jira UE-42652 Change 3936328 by Andrew.Rodham Fixed KeyFrameManipulator assignment operators and copy/move constructors - These types are potentially self-referential so cannot use default constructors/assignment Change 3936330 by Andrew.Rodham Converted UMGSequencePlayer to use frames internally #jira UE-54878 Change 3936726 by Max.Chen Sequencer: Set track node as the parent of the key area node. The key area switcher needs the object binding id from the parent object binding node. Without this, the binding to the external value fails. #jira UE-55931 Change 3936775 by Max.Chen Sequencer: Should stop or loop should compare DurationFrames with Current Time from StartTime. The bug is that if you set 30 warmup frames in movie rendering for a range of 0-100, the FrameRange will be starting at -30 and have a duration of 130. Without this fix, the playback will continue until frame 130, rather than 100. #jira UE-55933 Change 3936935 by Matt.Hoffman Easing Curves are now represented in Play Rate resolution instead of internal resolution. #jira UE-55937 Change 3937069 by Matt.Hoffman Users can toggle if the is infinite on each side, limited by which tracks support infinite ranges. #jira UE-55891 Change 3937516 by Max.Preussner ImgMedia: Added support for single-threaded platforms #jira UE-55986 Change 3937826 by Max.Preussner MediaAssets: Disabling media sound components on HTML5 if AudioMixer is not enabled Change 3937997 by Max.Chen Curve Editor: Add Zoom to Fit Curves so that selected curves from Sequencer can be focused on. Tested that undo doesn't re-zoom. #jira UE-55935 Change 3938000 by Max.Chen Sequencer: Stop all sounds before generating audio waveforms. #jira UE-55951 Change 3938376 by Max.Preussner XGEController: Disabled XGE Controller in single-threaded apps to prevent crash Change 3938444 by Max.Preussner Core: Added async support for single-threaded applications Change 3938445 by Max.Preussner Networking: Added support for single-threaded applications in UDP socket sender/receiver Change 3938447 by Max.Preussner Messaging: Added support for single-threaded applications Change 3939432 by Max.Chen Sequence Recorder: Append command list to global level editor actions so that shortcuts are accessible in level editor. #jira UE-55798 Change 3940229 by Andrew.Rodham Added prospective display rate upgrade to UMovieScene::PostLoad - There was previously some very odd behaviour that would assign the fixed frame interval only when a sub sequence was focused in SSequencer. This meant that many sequences could have a frame interval of 0 set in the data. - Under the old method of snap interval display this would have fallen back to getting the display interval from the sequencer settings, but we no longer look at these. - The USequencerSettings properties have been removed and in their place, a prospective data upgrade for sequences that have a fixed frame interval old 0fps that sets the play rate to the previous defaults based off the old USequencerSettings defaults. - This could end up 'changing' the display rate for sequences where the user has changed the snap interval in the settings for a particular sequence editor, but there's not much we can do about that given we don't have access to the USequencerSettings classes in UMovieScene #jira UE-55919 Change 3940277 by Andrew.Rodham Sequencer: Added ability to default frame resolutions and play rates for newly created actor sequences Change 3940378 by Andrew.Rodham Sequencer: Post move import dialog now defaults to the playback framerate of the sequence, and floors to frame numbers Change 3940559 by Andrew.Rodham Reinstated primed or recording sequence color Change 3940642 by Max.Preussner ImagePlate: Removed image plate media playback functionality Change 3940843 by Max.Preussner Core: Made TCircularQueue actually thread-safe; improved code comments Change 3940860 by Max.Chen Sequencer: Changed StructNameToKey to StructPathToKey Previously, keying a PropertyPath of [RenderTransform][Shear][X] would get trimmed to X, which doesn't map to a channel name as considered by Sequencer2dTransformTrackEditor. Instead, trim the resulting property path to [Shear][X] so that track editors can determine the desired struct path and channels to key. #jira UE-52966 Change 3941292 by Mike.Zyracki Fix for trajectories out of range not showing up. 1) If we had no key data we would pop the time, so wouldn't get the section ranges. 2) Calculating of upper bound was wrong, checking against -1 and not key == num of keys when doing algo::lower_bound. 3) No need to do the Bck-- for the bakward iterators since we fixed #2. We start now from the upper bound correctly. 4) If we had no keys (at section start,end) we would incorrectly say we were any key type, so since we draw constant keys as dashed we would do so incorrectly around section end points. #jira UE-55929 Change 3941424 by Max.Chen Curve Editor: Change Zoom to Fit to use TArrayView Change 3941498 by Max.Preussner Core: Added FMath::DivideAndRoundNearest function Change 3942097 by Matt.Hoffman Drop Frame Timecode Support for NTSC rates. Change 3942104 by Matt.Hoffman Sequence Recorder Group is no longer visible inside the World Outliner after using one. #jira 55266 Change 3942107 by Max.Chen Sequencer: Resurrect logic to find or extend an existing section when adding keys. Change 3942330 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942339 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942507 by Andrew.Rodham Sequencer: We no longer pad the time overlap threshold with a small number that is not scaled by the current zoom level - The presence of this pad was causing keys that were far apart to be grouped when zoomed in a long way Change 3942509 by Andrew.Rodham Sequencer: Only pad total view range, rather than section range as well when retrieving keys to render - This stops us from rendering keys that are within the view range, but outside the section range Change 3942512 by Andrew.Rodham Added transactions to some sequencer details customizations Change 3942513 by Andrew.Rodham Sequencer: Reinstated validation checks to UMovieSceneSection::SetStartFrame and SetEndFrame, changed erroneous uses to use SetRange Change 3942560 by Andrew.Rodham Pass by rvalue reference to appease error C2719 on Win32 ('InChannels': formal parameter with requested alignment of 8 won't be aligned) Change 3942697 by Andrew.Rodham Newly Created Level Sequences and Actor Sequences now default to 24000 fps frame resolution (+/- ~24hrs range, supporting all integer rates + 23.976) Change 3942700 by Andrew.Rodham Sequencer: Added legacy out-of-bounds errors for times that are not supported by the current legacy upgrade frame resolution Change 3942989 by Max.Preussner Core: Fixed circular queue count calculation Change 3943538 by Max.Preussner MediaAssets: Reverted workaround for procedural audio log spam in HTML5 (Actor component initialization cannot be skipped if the component is used in a level) Change 3944071 by Max.Preussner QAGame: Fixed Media Texture keeps last frame of Media when PIE ends #jira UE-53360 Change 3944292 by Max.Chen Sequencer: Added extra flags to ensure that asset initialization does not occur on template actor sequences #jira UE-56113 Change 3944364 by Max.Chen Sequencer: Prevent circular shot/master tracks. Tested adding master -> child -> master as drag and drop cinematic shot tracks and sub tracks as well as through the + button. #jira UE-56091 Change 3944422 by Max.Chen Sequence Recorder: Disable transform recording if off. #jira UE-56061 Change 3944745 by Andrew.Rodham Sequencer: Key rendering fixes - Fixed assert that occured when keys happened to reside on some times due to KeyTime + TimeOverlapThreshold - KeyTime being slightly larger TimeOverlapThreshold - Fixed keys sometimes being clipped when zoomed right in due to lack of half-frame offset - Added missing documentation to MovieSceneTimeHelpers.h #jira UE-56107 Change 3945231 by Andrew.Rodham Sequencer: Reconstruct channel proxy on Serialize to catch all cases of undo/redo, PostLoad and duplication #jira UE-56089 Change 3945301 by Andrew.Rodham Sequencer: Added safety checks during initial sequence recording to guard against applying negative or 0-sized sequence ranges #jira UE-56125 Change 3946627 by Max.Preussner Fortnite: Fixed game crashes closing editor while in PIE - Pure virtual function being called #jira UE-56144 [CL 3946896 by Max Chen in Main branch]
2018-03-14 22:09:33 -04:00
{
ScrubTime = SnapTimeToNearestKey(RangeToScreen, CursorPos.X, ScrubTime);
Copying //UE4/Dev-Editor to //UE4/Dev-Main (Source: //UE4/Dev-Editor @ 3497164) #lockdown Nick.Penwarden #rb none ===================================== MAJOR FEATURES + CHANGES ===================================== Change 3433074 by Matt.Kuhlenschmidt Fix crash when clicking on certian tutorial blueprints. #jira UE-44593 Change 3433075 by Matt.Kuhlenschmidt Remove hittest grid log spam. The underlying problem causing this has been fixed Change 3433077 by Matt.Kuhlenschmidt Fix lighting becoming unbuilt when mesh painting #jira UE-44837 Change 3433081 by Matt.Kuhlenschmidt PR #3553: Crashfix for static array properties (Contributed by Pierdek) Change 3433104 by Alexis.Matte Make sure re-import skeletal mesh follow the import morph option #jira UE-42846 Change 3434825 by Matt.Kuhlenschmidt Fix crash when GC happens while the vr editor radial menu is open. Change 3434831 by Matt.Kuhlenschmidt Added missing file Change 3434868 by Shaun.Kime If you have a reroute node between a Material Function texture input and its usage, the parent material will fail to resolve the reroute node. #jira ue-44670 Change 3434998 by Alexis.Matte Meshes editors material/section panel are now fully transactional - Staticmesh editor: section material slot, section cast shadow, section collision, material slot instance, material slot name - Skeletal mesh editor: material slot instance, material slot name Also fix some transaction description #jira UE-44462 Change 3435195 by Jamie.Dale Fixed incorrect handling of some LTR scripts that require shaping These scripts need to go through HarfBuzz, and this also fixes a case where HarfBuzz wasn't applying font scale correctly. #jira UE-44767 Change 3435199 by Jamie.Dale Fixed some crashes/artifacts with bidirectional text It was possible for a line to compute an incorrect range, which could cause crashes or other highlighting issues. The highlighting logic has also been updated as the old code didn't handle all bidirectional cases correctly. Change 3435200 by Jamie.Dale Fixed a grapheme cluster metrics issue in the font editor viewport The viewport also now respects the default shaping method CVar. Change 3435771 by Alexis.Matte Fix degenerated bounds calculation for skeletalmesh when the skeleton is remove from a re-import (PhysicAsset API change, adding 1 function) #jira UE-44609 Change 3436856 by Jamie.Dale Added some missing Unicode block ranges Change 3436914 by Jamie.Dale Adding some missing combining character ranges to the text shaper Change 3436923 by Alexis.Matte PR #3463: Get bounds for all triangles, not just the first one. WedgeIndex was . (Contributed by DaveC79) #jira UE-43764 Change 3436948 by Jamie.Dale Updated the Portal to use the predefined Unicode block ranges Change 3436961 by Max.Chen Sequencer: Show camera shake/anim track menus even if there aren't any assets. Change 3437244 by Max.Chen Sequencer: Clear locked cameras when releasing Sequencer. #jira UE-44967 Change 3437515 by Arciel.Rekman UBT: improvements for LocalExecutor. - Larger number of parallel jobs on 16GB+ machines. - Use WaitForExit() instead of polling. - Tested on Linux and Mac. Change 3437629 by Matt.Kuhlenschmidt Improve asset import data display in static and skeletal meshes Change 3438047 by Arciel.Rekman Fix overlapping ranges being passed to memcpy(). Change 3438822 by Yannick.Lange ViewportInteraction: Move gizmo handle files to make them private. Change 3438906 by Matt.Kuhlenschmidt PR #3556: Git Plugin: fix new option "init Git LFS" that make assets read-only (master/UE4.17) (Contributed by SRombauts) Change 3438907 by Matt.Kuhlenschmidt PR #3565: add -quality option to buildlighing commandlet (Contributed by kayama-shift) Change 3438908 by Matt.Kuhlenschmidt PR #3558: UE-44862: Always update SColorPicker color on OK button (Contributed by projectgheist) Change 3439393 by Matt.Kuhlenschmidt Force highest LOD for highres screenshots Change 3439819 by Matt.Kuhlenschmidt Turned FAssetData into a struct for some upcoming script exposure of FAssetData Change 3439949 by Arciel.Rekman Fixed selection logic for the UE4_LINUX_USE_LIBCXX environment variable. - Allows disabling libc++ by setting the variable to 0. - Pull request #3576 contributed by jared-improbable. Change 3441078 by Jamie.Dale The culture/language/locale console commands are now available in all build configs Change 3441109 by Jamie.Dale Text containing surrogate pairs now runs through HarfBuzz when shaping in Auto mode This is needed as the kerning-only shaping code assumes that everything is within the BMP Change 3441275 by Matt.Kuhlenschmidt Disable spinning on location and scale. These dont work because we have no notion of infinite spinning Change 3442748 by Yannick.Lange ViewportInteraction: Remove unused console variables. Change 3442775 by James.Golding Add support for editing MaterialFunctions to MaterialEditingLibrary Pull Material recompile/update code into UMaterialEditingLibrary::RecompileMaterial Pull MaterialFunction update code into UMaterialEditingLibrary::UpdateMaterialFunction util Move RebuildMaterialInstanceEditors to UMaterialEditingLibrary Added test content for Material/MaterialFunction editing Add needed BlueprintReadWrite to expressions (constants, function input/output) Expose UMaterialExpressionMaterialFunctionCall::SetMaterialFunction to BP, rename old func (which takes old function) to SetMaterialFunctionEx, also expose GetInputNameWithType Change 3442779 by James.Golding Fix header order Change 3442817 by Yannick.Lange ViewportInteraction: Add can execute checks for level editor commands. Change 3443038 by Michael.Dupuis #jira UE-43377: When you select a foliage actor we will move all instance contained in it to the new level as we can't move a foliage actor Only permit moving foliage instance if there is some selected Change 3443855 by Michael.Dupuis #jira UE-44885: Unregister from PerModuleDataObjects when the object is destroyed Change 3446096 by Max.Chen Sequencer: Add OnFinished() event when a level sequence completes playback #jira UE-45173 Change 3446097 by Max.Chen Sequencer: Evaluate one last time before the sequence is torn down and reset #jira UE-45174 Change 3446242 by Jamie.Dale Fixed caret not appearing in empty text layouts Caret selections have no range, and therefore have no width Change 3446361 by Matt.Kuhlenschmidt Fix WITH_EDITOR only functions causing generated code compile errors when the all functions on the class are WITH_EDITOR Change 3446457 by Alexis.Matte Polish the speed tree import dialog #jira UE-44963 Change 3446946 by Michael.Trepka Modified FWindowsWindow::GetRestoredDimensions to return correct window position for normal windows for which GetWindowPlacement returns position in workspace coordinates #jira UE-37934 Change 3447543 by Arciel.Rekman Reduce VMAs on Linux. - Trades off increased address space (VIRT in terms of ps/htop) for smaller number of distinct mappings (VMAs, virtual memory areas). This decreases possibility to run into vm.max_map_count limit on Linux. - Tested on Linux and Mac. Change 3448468 by Arciel.Rekman Fix race condition during creation of GMalloc. - On Mac GMalloc can be created on two different thread that are racing with each other - app's main thread and a system thread. Change 3449012 by Max.Chen Sequencer: Add time to transform, color and vector key structs so that key times are editable from the key editors. #jira UE-45089 Change 3449018 by Max.Chen Sequencer: Add OnCameraCut event that fires when there is a camera cut. #jira UE-45137 Change 3449195 by Max.Chen Sequencer: Add setting for limit scrubbing to playback range. #jira UE-43502 Change 3449198 by Max.Chen Sequencer: Reorder hierarchical bias so that group priority takes precedence. Change 3449217 by Max.Chen Sequencer: Add setting to activate realtime viewports when in sequencer. Change 3449219 by Max.Chen Sequencer: Focus on search boxes when opened. Change 3449238 by Max.Chen Sequencer: Assign actor should replace the actor itself after it has updated all the components. Also, replace components be fullname rather than by class. Change 3449239 by Max.Chen Sequencer: Fix offsets when moving multiple sections. Dragging should be clamped to the bounds that any of the selected sections hits against the unselected sections. Change 3449241 by Max.Chen Sequencer: Restore section selection after full tree rebuild. Change 3449279 by Max.Chen Sequencer: Set movie scene capture frames only when not using custom frames. This allows the user entered frame numbers to persist in config, rather than overwriting them when doing a "Render Shot" Change 3449280 by Max.Chen Sequencer: Spawn in the persistent level. Otherwise, they get spawned into whatever sublevel is current. #jira UE-44552 Change 3449294 by Max.Chen Sequencer: Null check for sequencer ed mode crash. Change 3449297 by Max.Chen Sequencer: Fix delay in sliding values. Mark changed when sliding values. Mark refresh immediately when committing values since OnValueChanged will be called and needs to have the correct value that was refreshed immediately. #jira UE-42866 Change 3449542 by Max.Chen Sequencer: Fix scrubber hit testing so that the time scrubber is really favored over the playback ranges. #jira UE-44569 Change 3451507 by Matt.Kuhlenschmidt Fix extra slate uv coords not functioning on ES2 Change 3451510 by Matt.Kuhlenschmidt PR #3595: Fixed wrong colour for level status (Contributed by ronve) Change 3451529 by Alexis.Matte fbx scene importer: Make sure we set INVALID_UNIQUE_ID to node that has no attribute. #jira UE-34410 Change 3451611 by Yannick.Lange ViewportInteraction: Dragging gizmo without second pass for snapped calculations. Change 3452134 by Jamie.Dale Fixed constant font cache flushing if a widget had no font set Change 3452239 by Jamie.Dale Fixed constant font measure flushing if a widget had no font set Change 3452243 by Jamie.Dale Removed deprecated code for creating fonts from bulk data Change 3452277 by Jamie.Dale The concept of "stale" composite fonts is now editor-only Change 3452358 by Alexis.Matte Fbx scene importer: Do not remove existing attribute reference from the blueprint if the reimport of the associate mesh attribute is not tick. #jira UE-45232 Change 3452678 by Max.Chen Sequencer: Fix crash on export if there's no shot data. Change 3453057 by Matt.Kuhlenschmidt Exposed asset exporting to script Change 3453782 by Andrew.Rodham Sequencer: Fixed deterministic cooking issues with movie scene data - Movie scene signatures are now initialized in PostInitProperties - A warning is now presented when attempting to cook old data that was never serialized with a signature. - Removed redundant legacy data upgrade logic that could dirty level sequences on load. #jira UE-44912 Change 3453788 by Yannick.Lange ViewportInteraction: Custom scene proxy for gizmo handles. Change 3453938 by Max.Chen Sequencer: Hotkeys (shift , and shift .) to step to next/previous shot #jira UE-45119 Change 3454058 by Michael.Dupuis Fixed StaticAnalysis Change 3454077 by Max.Chen Sequencer: Fix not saving the pre-animated track value when creating a track/key. On pre object change, broadcast property change so that a track or key can be created. That track/key needs to be evaluated immediately so that the pre-animated state can be saved properly. This is done now with RefreshAllImmediately and is only called when a track has been created. Also, added a return value for OnKeyProperty, so that it's known what changed in particular (ie. track created, track modified, etc) Also, fixed transform keying so that if a transform track already exists for the object or the scene component, the existing track is used. #jira UE-45130 Change 3454108 by Nick.Darnell UMG - Fixing the WIC to properly record cursor delta so that scrollbars work. Change 3454109 by Jamie.Dale Cache the text layout source info in non-shipping builds so you can inspect it in the debugger Change 3454202 by Matt.Kuhlenschmidt Fix bogus error message about the number of usable texture coordinates on ES2 when compiling a UI domain material Change 3454390 by Yannick.Lange Fix creating a plugin in a C++ project opens a second instance of Visual Studio. Use SourceCodeAccessor to open solution when necessary. #jira UE-45035 Change 3454564 by Matt.Kuhlenschmidt #rnx Fix deprecation warnings Change 3455471 by Yannick.Lange ViewportInteraction: Fix entering and exiting VR Mode disables gizmo in desktop editor viewport. #jira UE-44965 Change 3456183 by Max.Chen Sequencer: Auto key, auto track refactor. Auto key - create a key when the property changes and there's an existing track. Auto track - create a track when the property changes. This is only exposed in the level sequence editor. All - create a key and a track when the property changes. This is only exposed in VR Editor. None - do nothing. #jira UE-43469 Change 3456349 by Andrew.Rodham Sequencer: Only perform legacy signature checks on instances, and only where signatures match the CDO Change 3456678 by Alexis.Matte Allow to add null level instance override material via the advance material array. But still limit the override material number to the mesh material number. #jira UE-45306 Change 3456945 by Max.Chen UMG: Add restore state to 2d transform section. #jira UE-45372 Change 3457196 by Arciel.Rekman Linux: serialize allocations from the memory pool. Change 3458434 by Max.Chen Sequencer: Remove obsolete set tick prerequites functions. Change 3458671 by James.Golding Added MIC editing support to MaterialEditingLibrary Fix static analysis warning Change 3458888 by Matt.Kuhlenschmidt PR #3615: More detailed log messages for debugging warnings/errors (Contributed by projectgheist) Change 3458893 by Matt.Kuhlenschmidt PR #3583: UE-44960: Delta value wasn't being used (Contributed by projectgheist) Change 3458895 by Matt.Kuhlenschmidt Fix typo Change 3458902 by Matt.Kuhlenschmidt PR #3607: Improved InputKeySelector functionality (Contributed by projectgheist) Change 3458917 by Matt.Kuhlenschmidt Fix crash with invalid object properties in the class picker #jira UE-39000 Change 3458939 by Matt.Kuhlenschmidt Fix compile error Change 3458984 by andrew.porter QAGame: Initial check in of sequencer smoke test map Change 3459510 by Matt.Kuhlenschmidt Fixed ensure when deleting a map that contains build data which also happens to be the currently loaded map. #jira UE-45052 Change 3460985 by Max.Chen Sequencer: Snap play time to keys now allows scrubbing between keys and snaps to key times within a certain screenspace tolerance. #jira UE-45090 Change 3461698 by Arciel.Rekman Avoid using ARRAY_COUNT in Vulkan. - Sometimes those arrays can have no extensions whatsoever, and it is illegal to declare a 0 element C array. Change 3462053 by Max.Chen Sequencer: Show sequencer spawnables in the world outliner and add the icon overlay for spawnables. #jira UE-43470 Change 3462139 by Max.Chen Property Editor: Add objects to FPropertyAndParent Change 3462202 by Arciel.Rekman Fix FSocket::Recv() blocking with Peek when there's no data. Change 3462253 by Nick.Darnell Slate - New Clipping System Clipping is now a stateful choice made during composition of the slate hierarchy. Previously every widget got to respect or modify the clipping rect on an as needed basis. The problem was that clipping was only allowed in the layout space of the widget, and it wasn't possible to properly clip elements with render transforms. The new system permits all kinds of transforms on any widget, and they will all be clipped correctly. It tries to use Scissor Rects as they are much cheaper, but will switch over to stenciling if need be to represent a complicated masking structure with several rotated clipping rects all needed to be combined together. Here are the new clipping states a widget can have, almost all widgets are set to No. Only change it from No if your widget actually needs to clip, generally speaking most widgets don't need to clip. /** * This widget does not clip children, it and all children inherit the clipping area of the last widget that clipped. */ Inherit, /** * This widget clips content the bounds of this widget. It intersects those bounds with any previous clipping area. */ ClipToBounds, /** * This widget clips to its bounds. It does NOT intersect with any existing clipping geometry, it pushes a new clipping * state. Effectively allowing it to render outside the bounds of hierarchy that does clip. * * NOTE: This will NOT allow you ignore the clipping zone that is set to [Yes - Always]. */ ClipToBoundsWithoutIntersecting UMETA(DisplayName = "Yes - Without Intersecting (Advanced)"), /** * This widget clips to its bounds. It intersects those bounds with any previous clipping area. * * NOTE: This clipping area can NOT be ignored, it will always clip children. Useful for hard barriers * in the UI where you never want animations or other effects to break this region. */ ClipToBoundsAlways UMETA(DisplayName = "Yes - Always (Advanced)"), /** * This widget clips to its bounds when it's Desired Size is larger than the allocated geometry * the widget is given. If that occurs, it behaves like [Yes]. * * NOTE: This mode was primarily added for Text, which is often placed into containers that eventually * are resized to not be able to support the length of the text. So rather than needing to tag every * container that could contain text with [Yes], which would result in almost no batching, this mode * was added to dynamically adjust the clipping if needed. The reason not every panel is set to OnDemand, * is because not every panel returns a Desired Size that matches what it plans to render at. */ OnDemand UMETA(DisplayName = "On Demand (Advanced)") - Large API Change - All FSlateDrawElement::Make_____ calls have been deprecated that involved passing in a clipping rect. You no longer should are passed a Clipping rect via OnPaint. You are still passed a rect, but this rect represents a Culling Rect, which is valuable if you need to just out right not paint things the user can't possibly see. If you were previously trying to determine if you should cull widgets, by doing something like this, if ( FSlateRect::DoRectanglesIntersect(MyClippingRect, CurWidget.Geometry.GetRenderBoundingRect()) ) That's no longer a good option since there are ways for widgets to ignore the culling bounds. You should convert anything like above to the one below, if (!SWidget::IsWidgetCulled(MyCullingRect, CurWidget)) To assist in debugging efforts, there are several new debugging console flags in Slate, Slate.ShowClipping 1 - Controls whether we should render a clipping zone outline. Yellow = Axis Scissor Rect Clipping (cheap). Red = Stencil Clipping (expensive). Slate.DebugCulling 1 - Disables pushing clipping or stencil rects to the GPU, but continues to intersect culling rects, so that you can tell if a widget is properly culling children it can't possibly draw. Slate.ShowTextDebugging 1 - Show debugging painting for text rendering. I've added a new Experimental Feathering Option, it adds AA geometry around the outside of Box and Image brushes. Slate.Feathering 1 If you're using RenderDoc or something similar, you can now enable render events for slate, so that you can better grok how we're batching and changing states for each UI render pass. Slate.EnableDrawEvents 1 #jira UE-4659 #rn Change 3462714 by Nick.Darnell Fixing a few more compiler issues with the clipping changes. Change 3462726 by Max.Chen Switch OnEditStructChildContentsChanged to use FObjectWriter instead of FMemoryWriter which supports serializeing UObjects. This fixes a crash when adding actor array elements to a user defined event struct. #jira UE-45431 Change 3462801 by Nick.Darnell Adding a UMG dependency to EngineTestBuild. Change 3462914 by Max.Chen Sequencer: Fix regression where spawnables aren't getting saved. Caused by 3407138 #jira UE-30007 #jira UE-39003 Change 3462946 by Nick.Darnell Automation - Tweaking the UI automation tests converting them over to use the new UI Screenshot automation test. Automation - Adding a blur widget test. Change 3462987 by Matt.Kuhlenschmidt Back out changelist 3458893 Change 3464774 by Matt.Kuhlenschmidt PR #3629: Bugfix: Missing small icon in Project Launcher profile editor (Contributed by aarmbruster) Change 3464785 by Nick.Darnell Fixing some clipping stuff in the editor. Change 3464830 by andrew.porter QAGame: Second pass on sequencer smoke test map Change 3464902 by Nick.Darnell Loading - Adding some additional checks to the the loading code to ensure we're on the main thread. Additionally adding a fix from UDN that prevents deadlocks in the rare case a user hits Alt+Tab in a fullscreen game while in a hard loading screen. Change 3464988 by Max.Chen Sequencer: Add attenuation settings for attached audio components. #jira UE-33080 Change 3465024 by Nick.Darnell MoviePlayer - Impoving the playback mode displaynames. Change 3465074 by Arciel.Rekman Fix shadowing issues of GraphicsPSOInit. Change 3465097 by Matt.Kuhlenschmidt Some refactoring of the details panel Exposed new methods of adding a struct on scope to a details panel and have it work properly with customizations. The scruct on scope has a "fake" ustructproperty that allows the details panel to show the whole struct not just an individual property. Refactored the API for adding rows to details panels to make it more consistent\ AddChildCustomBuilder->AddCustomBuilder AddChildGroup->AddGroup AddChildContent->AddCustomRow AddChildPropert->AddProperty AddChildStructure->AddExternalStructureProperty AddStructure->AddAllExternalStructureProperties AddExternalProperty->AddExternalObjectProperty or AddExternalStructureProperty Change 3465186 by Max.Chen Sequencer: Save the BindingID in the pre animated token producer so that it can be destroyed properly. This fixes a bug where the default state of a spawnable isn't saved. #jira UE-43780 Change 3465315 by Matt.Kuhlenschmidt Fix Fortnite and Orion details panel customization warnings Change 3465424 by Nick.Darnell Automation - Moving the step for setting the link to the automation reports to be set before we start the engine. Change 3465488 by Nick.Darnell Automation - Forcing textures to load before taking screenshot, so that the scene gets another opportunity to render before we render with Slate. This should fix the Blur UI Test. Change 3466277 by Arciel.Rekman Linux: fix window drift when dragging (UE-40380). - Change by Cengiz Terzibas. Change 3466370 by Nick.Darnell UMG - Fixing the colors for the resize handle in the designer. Change 3466372 by Nick.Darnell UMG - Fixing the ruler ticks sometimes not being drawn. Change 3466374 by Nick.Darnell UMG - Fixing the designer showing multiple options for sequencer. Change 3466377 by Nick.Darnell UMG - Cleaning up some clipping bits. Change 3467025 by Andrew.Rodham Re-saving assets that contain legacy (<4.15) movie scene data to remove deterministic cook warning. If conflicts arise during merging of these assets, please ignore the changes made in dev-editor, and accept game-side changes. (CIS step 62283298, jobId 7773146) (CIS step 62283297, jobId 7773146) Change 3467099 by Max.Chen Fix GetObjectPropertyClass ensure logic. This was returning UObject::StaticClass when valid. Change 3467172 by Max.Chen Sequencer: Evaluation optimizations. Also, fixes subsequences not getting expired, leaving dangling spawnables. #jira UE-43690 Change 3467192 by Matt.Kuhlenschmidt Fix transactions getting stuck in the color grading controls. This prevents PIE from working properly and causes shutdown crashes #jira UE-45527 Change 3467251 by Yannick.Lange ViewportInteraction: Fix scale and rotation snap while dragging with two lasers. #jira UE-43489 Change 3467331 by Matt.Kuhlenschmidt Fix D3D shader compiler hard coding shader path and not giving proper warnings when it cannot find the shaders Change 3467335 by Matt.Kuhlenschmidt Remove DarkStyle attribute from SNumericEntryBox and allow a spin box style to be passed to it. Change 3467558 by Max.Chen Scene Outliner: Generic support to add default columns to a scene outliner. Change 3467565 by Jamie.Dale Removing old screenshot data for test Change 3467589 by Nick.Darnell Editor - Random cleanup. Change 3467596 by Nick.Darnell Progress Bar - Exposing Border Padding to UMG. Change 3467600 by Nick.Darnell Slate - Adjusting the rendering of the splitter, previously it could be off by a pixel or two, which becomes more apparent now with the clipping changes. Change 3467601 by Max.Chen Property Editor: Fix static analysis warning Change 3467662 by Nick.Darnell Automation - Fixing a bug with the screenshot comparison tool not replacing (removing) the old screenshot data. Change 3467674 by Max.Chen Property Editor: Fix static analysis warning Change 3467737 by Max.Chen Sequencer: Added OnMovieSceneBindingsChanged delegate Change 3468053 by tim.gautier QAGame: Updating Editor Smoke Map - Updated landscapes into Stations for testing - Added Foliage Sublevel Change 3468194 by Arciel.Rekman Linux: fix problems communicating with various STL-using libs. - Stop hiding global new/delete signatures. - Disable CEF3 since this change uncovers the problem with libcef.so not built to use bundled libpng. Change 3468678 by Max.Chen Sequencer: Set "Sequencer Actor" tag before setting the actor label so that the outliner refreshes after the actor has the tag. Change 3469314 by tim.gautier QAGame: Added Painted Foliage / Spline section to EditorSmoke map Change 3469377 by Nick.Darnell Slate - Fixing some warnings in a couple of sample games due to the clipping changes. #rnx Change 3469767 by Max.Chen Sequencer: Outliner column and sequencer binding data #jira UE-43470 Change 3469974 by Arciel.Rekman Fix code projects not working in Linux installed build. Change 3470082 by Nick.Darnell Slate - The GetRenderer() call on SlateApplication no longer returns a SharedPtr, rather than convert it to a thread safe ptr, going to just make accessing it a raw ptr return, so it can be safely referenced on the game thread while being used on the slate loading thread. Change 3470174 by Nick.Darnell Slate - Get the last widget in a widget path utility. Change 3470176 by Nick.Darnell UMG - User Widgets now have an easy way to know if they're part of or have been removed from the focused widget path, which is handy for doing effects. Change 3470261 by Nick.Darnell Slate - The GetRenderer() call on SlateApplication no longer returns a SharedPtr, rather than convert it to a thread safe ptr, going to just make accessing it a raw ptr return, so it can be safely referenced on the game thread while being used on the slate loading thread. Change 3470286 by Max.Chen Sequencer: Scene Component's HiddenInGame now goes through the VisibilityTrack and the visibility template. Change 3470366 by Nick.Darnell Slate - We now version focus per user, that way during focus events, we can safely abort focus events and state transitions if someone interrrupts the active focus event with something new. Change 3470649 by Matt.Kuhlenschmidt Fix deprecation warnings Change 3470695 by Matt.Kuhlenschmidt Fixed typo #jira UE-45580 Change 3470721 by Matt.Kuhlenschmidt Fix static analysis Change 3471254 by Michael.Dupuis #jira UE-42952: Keep occlusion result per view Change 3471287 by Nick.Darnell UMG - Render Focus Rule now defaults to never. Change 3471291 by Nick.Darnell Slate - Fixing FSlateRenderer* change fallout. Change 3471299 by Nick.Darnell Slate - Fixing FSlateRenderer* change. Change 3471323 by Nick.Darnell Automation - Fixing automation and Static Analysis warning. Change 3471413 by andrew.porter QAGame: Added test content for anim blending and material parameteres to sequencer smoke level Change 3471649 by Max.Chen Sequencer: Modify the track when adding animation #jira UE-45618 Change 3471659 by Matt.Kuhlenschmidt Added a way to check if a movie is playing from the engine. Prevented viewport redraws for canvas loading screens if a slate based loading movie is playing Change 3471734 by Matt.Kuhlenschmidt Added basic material hookup to USD. Similar to FBX it will find materials based on rules specified by the user in the import settings Change 3472176 by Nick.Darnell UMG - Improving the display of the +Track menu in sequencer for UMG. Renamed it from +Add, which is repetitve to +Track. Additionally, the dropdown now shows the currently selected widgets, as well as a submenu containing all the 'important' widgets, so we no longer populate that list with a ton of irrelevant widgets that are just Buton_1 - N, which is pointless in showing people, they'll never guess which is the right button. Change 3472740 by Max.Chen Sequencer: Add GetThisFrameMetaData accessor Change 3472748 by Max.Chen Sequencer: Added OnBeginScrubbing and OnEndScrubbing event delegates Change 3472753 by Max.Chen Sequencer: Add EMovieSceneDataChangeType parameter to OnMovieSceneDataChanged delegate Change 3472870 by Nick.Darnell Clipping - Fixing the deprecated tip for scissor rect boxes to be correct. Removing it's usage from UT. Change 3473340 by Max.Chen Scene Outliner: Add ability to register additional filters Change 3473348 by Max.Chen Details View: Make ForceRefresh virtual. Added accessors to delegates (ie. GetIsPropertyReadOnlyDelegate) Change 3473441 by Max.Chen Sequencer: Autokey Refactor Part 2. Autokey is now a single toggleable state. Allow Edits Mode has 3 states: Allow All Edits - Allow any edits to occur, some of which may produce tracks/keys or modify default properties. Allow Sequencer Edits Only - All edits will produce either a track or a key. Allow Level Edits Only - Properties in the details panel will be disabled if they have a track. #jira UE-45229 Change 3473670 by Nick.Darnell Modules - The module manager no longer returns sharedptrs to IModuleInterfaces, this was the source of rare hard to track down crashes due to a shared ptr reference leak when GetModule was called on non-main threads. We now store a TUniquePtr internally, and only lease out raw pointers. #rn Change 3473711 by Nick.Darnell Disabling the ensure in the module manager. Change 3473747 by Max.Chen Sequencer: Fix tooltip Change 3474091 by Jamie.Dale Added a warning when cooking a UFontFace that is outered to a UFont asset These cause issues with iterative COTF, and should be split off into their own assets (as the UI has been asking people to do for several versions) Change 3475052 by Yannick.Lange VR Editor: Fix Crash when quitting the editor with VR Mode enabled. VR Editor was being enabled when saving the map on closing the editor. #jira UE-45415 Change 3475054 by Yannick.Lange Fix crash when adding a camera to the world in VR Mode the second time. The slate application did not reset when stop dragging in VR Mode, so the second time when starting to drag a camera out of the UI it would already by in a dragging state. #jira UE-45574 Change 3475263 by Nick.Darnell Fixing some additional cases of IModuleInteface SharedPtr usage. Change 3475268 by Max.Chen Sequencer: Set jumped state when looping playback. This fixes an issue where audio doesn't stop and restart when looped. #jira UE-45654 Change 3475269 by Max.Chen Scene Outliner: Additional filters should only apply to actor browsing mode Change 3475407 by Nick.Darnell Fixing some clipping / module shared ptr changes in the launcher code. Change 3475542 by Max.Chen Sequencer: Update thumbnail and section highlighting to use new clipping behavior. #jira UE-45692 #jira UE-45689 Change 3475743 by Michael.Dupuis #jira UE-45183: When updating phyx region take into account simple collision mip Change 3475949 by Arciel.Rekman Remove PhysX deoptimization (no longer needed). - OR-24947 has been closed three months ago. Change 3476022 by Michael.Dupuis #jira UE-45560: Make sure we're not going out of range Change 3476063 by Michael.Dupuis #jira UE-45562: Do not try to unregister from static mesh if no static mesh is specified for the component Change 3476168 by Michael.Trepka Added handling of directory symlinks to FApplePlatformFile::IterateDirectory #jira UE-43704 Change 3476172 by Nick.Darnell Fixing a Imoduleinterface change. Change 3476183 by Jamie.Dale Exposing GoTo/ScrollTo to single-line editable text for API parity with multi-line editable text Change 3476385 by Arciel.Rekman Linux: handle symlinks when iterating directories. Change 3476522 by Michael.Trepka Solved a problem with Mac FMallocTBB::Malloc() returning nullptr for 0 bytes allocations, which is inconsistent with other platforms. On Mac we always scalable_aligned_malloc, which behaves differently than scalable_malloc, so for 0 bytes requests we allocate sizeof(size_t), which is exactly what scalable_malloc does internally in such case. Change 3476806 by Nick.Darnell UMG - Focus the designer after dropping a widget onto the surface. Change 3476809 by Nick.Darnell Curve Editor - Enable Clipping on the curve editor. Change 3477475 by Nick.Darnell Fixing a module interface shared ptr usage in UT. Change 3477553 by Yannick.Lange VR Editor: Removed AssetEditorPanelID and replaced it with TabManagerPanelID. A panel for AssetEditorPanelID was never created making it impossible to open an asset editor. Change 3477734 by Yannick.Lange VR Editor: Fix Warning: SetRelativeScale3D : Invalid Scale entered (X=inf Y=inf Z=inf). Resetting to 1.f. warning when adding CineCameraActor to World from Modes Panel. Make sure to not divide by zero when there is no boundary scale. #jira UE-44933 Change 3477761 by Jamie.Dale Some improvements to avoid loading the native .locres files twice when we don't need to Change 3477780 by Nick.Darnell PR #3250: Return correct VirtualUserIndex (Contributed by projectgheist) Change 3477786 by Nick.Darnell PR #3650: Changed TestNull to accept const pointers. (Contributed by e-agaubatz) Change 3477795 by Nick.Darnell PR #2844: UE-36936: Don't stretch container for Plugin Image (Contributed by projectgheist) Change 3478092 by Nick.Darnell PR #2341: Optional Middle Mouse Button panning in Graph Editor (Contributed by flipswitchingmonkey) Engine Edit - Made some small changes to the enum type, and some naming. Change 3478450 by Nick.Darnell Fixing some uninitialized variable errors. Change 3479827 by Andrew.Rodham Sequencer: Addressed serialization issues with some struct types Change 3479874 by Jamie.Dale Fixed "NativeGameLanguage" not being used correctly during localization initialization Change 3480012 by Andrew.Rodham Sequencer: Fixed loading tagged properties as native for track identifiers #jira UE-45823 Change 3480337 by Alexis.Matte Fix morph target crash missing some valid index check Change 3480804 by Alexis.Matte Fix crash with ColorGradingMode custom detail #jira UE-45638 Change 3480892 by Andrew.Rodham Sequencer: Ensure that movie scene sequences know about the editor object version #jira UE-45842 Change 3481073 by Nick.Darnell Fix the shader compiler error from main in Slate. Change 3481303 by Nick.Darnell UMG - Fixing a bug with the drag handle not working correctly in HDPI mode. Change 3481308 by Nick.Darnell Slate - Tweaking the IsWidgetCulled logic to consider both the layout and rendering bounds. If we do this, we get a much more desireable outcome for people that want to animate widgets and such and plan to have temporary animations to move the widget offscreen, but want the layout bounds to anchor that widget in the visible frame so that it animates even when normally it would be culled b/c the render transform and therefore the renderbounds moved it completely outside the culling rect. Change 3481629 by Max.Chen Sequencer: Add Level Sequence Actor as an output for CreateLevelSequencePlayer() #jira UE-45785 Change 3481899 by Yannick.Lange VR Editor: Added debug modetoggle command with an event that is broadcasted whenever this happens. Currently this is used to show all the floating UIs of the UI system to debug without HMD using VREd.ForceVRMode. Change 3481984 by Michael.Dupuis #jira UE-45845: always validate if we have a static mesh before trying to access it as user can decide to not assign one and use the tools Change 3482047 by Nick.Darnell Slate - Adding some comments to IsWidgetCulled. Change 3482110 by Nick.Darnell Slate - IsWidgetCulled is no longer static and is now called IsChildWidgetCulled. Change 3482136 by Jamie.Dale The CamelCase break iterator now treats digits around character tokens as part of the identifier Change 3482138 by Michael.Dupuis #jira UE-45854: Properly unregister during undo operation Change 3482150 by Michael.Dupuis #jira UE-45845 : Add missing nullcheck for GetStaticMesh Change 3482153 by Nick.Darnell Slate - IsWidgetCulled is no longer static and is now called IsChildWidgetCulled. Change 3482180 by Nick.Darnell UMG - Widget Components do not need to define a widget class to be rendererd, they can have native slate widgets only. This was a regression from main. Change 3482273 by Nick.Darnell UMG - Tweaking some more things about the widget component box outline. Change 3482308 by Alexis.Matte Fixing morph target smooth group support. Do not call FillSkeletalMeshImportData more then once on FbxNode since this fonction is doing some conversion and change the FbxNode, applying those conversion twice do not return the same faces smooth group. #jira UE-45696 Change 3482327 by Nick.Darnell UMG - More tweaks to the WidgetComponent so both shows the box outline, but works in game and VR editor. Change 3482705 by Andrew.Rodham Resaving assets that contain legacy data to suppress CIS warnings. - If conflicts arise in these assets, please take game-side changes and ignore these. Change 3484245 by Max.Chen Sequencer: Evaluate on end scrub. This fixes a bug where audio doesn't evaluate in a stopped position at the end of scrubbing, causing it to not stop all sounds. This fixes a bug introduced from 3365018 where evaluate on end scrub was removed. #jira UE-45905 Change 3484263 by Max.Chen Sequencer: Fix crash on forcing refresh of details panel on release. #jira UE-45911 Change 3484431 by Andrew.Rodham Resaving assets that contain legacy data to suppress CIS warnings. - If conflicts arise in these assets, please take game-side changes and ignore these. Change 3484474 by Alexis.Matte Fix the morph target animation curve name matching. #jira UE-20294 Change 3484475 by Alexis.Matte When removing a LOD, make sure we remove all morph target data associate to the LOD. Change 3484489 by Nick.Darnell PR #3668: UE-45908: Cache debug line locations when performing a LineTraceMulti (Contributed by projectgheist) #jira UE-45908 Change 3484692 by Nick.Darnell Slate - Reverting a change from a game stream. All Arranged Children don't need to allocated 42 to begin with. Do need to initialize WidgetPaths better. Change 3484703 by Nick.Darnell Player Input - Making the input event loop for players obey EKeys::NUM_TOUCH_KEYS, rather than being set to Touch10, as the maximum touch input amount, to make supporting greater than 10 touches easier. Also making the seeding of keys use EKeys::NUM_TOUCH_KEYS. #jira UE-43213 Change 3484918 by Jamie.Dale Fixed font measuring regression with RTL text RTL applies the character count to the next glyph, so it shouldn't process the end of the loop (this was how the older code used to work). Change 3485718 by Nick.Darnell Editor - Removing Super Search & User Feedback button. Change 3485719 by Nick.Darnell Portal - Removing SuperSearch. Change 3485751 by Matt.Kuhlenschmidt Fix crash accessing platformer game menu if the menu is open during a console based load #jira UE-45950 Change 3486047 by Arciel.Rekman Linux: add OpenEXR implementation (UE-40270). #jira UE-40270 Change 3486467 by Max.Chen Sequencer: Reset max tick rate when destroyed. #jira UE-45956 Change 3486477 by Max.Chen Sequencer: Refresh outliner when column is removed. #jira UE-45891 Change 3486667 by Andrew.Rodham Added missing include Change 3486724 by Andrew.Rodham Sequencer: Fixed curves with no default value, and no keys being evaluated and applied to properties - Also fixed an edge case where a zero (but non-animated) channel could be applied to a final transform Change 3486730 by Alexis.Matte In the Auto-Reimport options, hide the mout point only for the default /Game/ folder #UE-45684 Change 3486749 by Alexis.Matte Make sure the parent window of the monitor directory browse folder is set properly #jira UE-45682 Change 3486805 by Matt.Kuhlenschmidt Additional safety against invalid objects being accessed by slate Change 3486848 by Alexis.Matte Make sure Monitor folder feature support root mount point map folder During auto import, give priority to asset import factory over the scene import factory #jira UE-45691 Change 3486879 by Andrew.Rodham Removing obsolete QA assets Change 3486950 by Nick.Darnell PR #2281: Scrollbar missing features and SScrollbar fixes (Contributed by SNikon) Review - made some adjustments from the original. Change 3486954 by Nick.Darnell Slate - Moving the STableViewBase over to the FOverscroll class, rather than it's own clone. Change 3486967 by Nick.Darnell Slate - Fixing some HDPI calculations for fitting new windows on screen, it was using the unscaled size of the widgets for fitting, when it needed to scale them up. Change 3486970 by Andrew.Rodham Sequencer: Delay mouse capture until drag for sequencer time slider - Fixes context menus not opening as a result of mouse capture being taken on mouse down #jira UE-45937 Change 3486984 by Andrew.Rodham Sequencer: Improved blending type iconography Change 3486996 by Nick.Darnell UMG - Adding a way for games to opt-out of the slow widget path, to completely prevent them from being cooked. UMG - The movie data is no longer cloned for each new instance that inhabits. It now keeps a reference to the now publically accessible movie scene data on the class instead. Change 3487070 by Andrew.Rodham Sequencer: Added graphics for key areas that represent empty space Change 3487195 by Andrew.Rodham Sequencer: Changed evaluation groups to always flush implicitly - Due to the latent nature of blended token types, it's no longer safe to rely solely on execution token order between tracks - This fixes an issue where events set in the PostEvaluation stage were executed before blended token actuation Change 3487322 by Nick.Darnell PR #2457: Add .gitdeps.xml-files for plugins support (Contributed by bozaro) Change 3487363 by Nick.Darnell PR #2481: Fix for packing of a project with users plugins (Contributed by yatagarasu25) Change 3487439 by Nick.Darnell PR #2642: Changed private to protected in SVirtualJoystick.h (Contributed by Skylonxe) Change 3487500 by Arciel.Rekman Removed LinuxNativeDialogs. - No longer used; has been superceded by SlateDialogs since UE 4.8 (2 years ago). Change 3487630 by Lauren.Ridge Don't create Landscape Info Maps for Editor Preview Worlds or thumbnail worlds #jira UE-44885 Change 3487864 by Matt.Kuhlenschmidt Exposed the asset registry to blueprints and script. Works in editor scripts and runtime scripts AssetRegistry is now a UInterface object. Blueprint users can access various asset registry methods using the asset registry interface (via GetAssetRegistry) and various static helpers in the AssetRegistryHelpers object C++ users should still continue to use IAssetRegistry. Change 3487879 by Matt.Kuhlenschmidt Renamed asset tools uobject helper to UAssetToolsHelpers Change 3487926 by Lauren.Ridge Fixing reset to default not showing up for custom widgets #jira UE-44164 Change 3488184 by Matt.Kuhlenschmidt PR #3656: Make References/Referencers List copyable (Contributed by user37337) #jira UE-45763 Change 3488240 by Matt.Kuhlenschmidt Fix compiler issue Change 3488350 by Lauren.Ridge Landscape info map transactional state is based on its world's transactional state #jira UE-44885 #jira UE-46019 Change 3488412 by Matt.Kuhlenschmidt Fix reset to default showing up in two different places for some customizations Change 3488413 by Matt.Kuhlenschmidt Fix slate font customization Change 3488414 by Matt.Kuhlenschmidt Fix slate font customization Change 3488415 by Matt.Kuhlenschmidt Missed file Change 3488565 by Arciel.Rekman Add pretty printers for gdb (UETOOL-1171). - Committing shelf by Cengiz.Terzibas, with some modifications. #jira UETOOL-1171 Change 3489094 by Nick.Darnell Slate - The Slate RHI Renderer now caches the TextureLODGroups so that it can properly lookup the filtering of different texture groups that are set to Default, instead of a particular filter override on a texture. Engine/Rendering - Simplifying some of the setup logic in TextureLODSettings so that code is shared for setting them up properly after loading from a config file. Change 3489095 by Nick.Darnell PR #2699: GameViewportClient - Added a method to allow setting the viewport cur. (Contributed by rfenner) Review - Fixed spacing. Change 3489108 by Matt.Kuhlenschmidt Fix deprecation warning Change 3489120 by Nick.Darnell PR #3478: Fix possible UComboBoxString crash (Contributed by nakosung) Change 3489147 by Andrew.Rodham Sequencer: Adding return value to function to appease static analysis - This function is never compiled, and if it is, it won't compile, but static analysis doesn't know that Change 3489264 by Nick.Darnell Testing - Finishing the thought behind an enum comment. Change 3489265 by Nick.Darnell PR #2750: UE-35164: Button padding (Contributed by projectgheist) Change 3489267 by Nick.Darnell PR #3645: UE-45464: Handle SSlider mouse interaction more accurately (Contributed by projectgheist) Change 3489632 by Arciel.Rekman Correctness changes to MallocPoisonProxy. - Missing forwarding functions added. Incorrect comment removed. - Change by Steve.Robb, doing here so it is in 4.17. Change 3489689 by Arciel.Rekman More MallocPoisonProxy changes I missed in previous CL. Change 3489751 by Matt.Kuhlenschmidt Moved editor performance settings out of per-project settings so they can be shared across projects Change 3489837 by Lauren.Ridge Keyboard shortcut for entering/leaving VR Mode is now Alt+V Change 3491082 by Arciel.Rekman Linux: better fix for the crash due to name collision (UE-46040). - Put classes in Sequencer module into Sequencer namespace instead of SceneOutliner namespace. - Undid change in the SceneOutliner module. #jira UE-46040 Change 3491096 by Arciel.Rekman Fix UAT compilation on the newest mono. Change 3491240 by Max.Chen Sequencer: Disable key button when allow level edits only is on. #jira UE-46060 Change 3491406 by Yannick.Lange Fix editor crashes when opening a project that includes a plugin with more than two custom Volume classes. This issue was caused because registering show volume commands is based on finding volume classes. Finding these classes at multiple times resulted in a mismatch of the returned array of volume classes because modules/plugins were still being loaded. #jira UE-45806 Change 3491559 by Alexis.Matte Make sure we use the good preview mesh when doing a preview #jira UE-45963 Change 3491563 by Alexis.Matte Fix crash with staticmesh editor LodLevel selection Change 3491564 by Nick.Darnell UMG - Fixing an offset with the grab handles in HDPI mode. Change 3491595 by Nick.Darnell Editor - Fixing a clipping artifact in the pin type dropdown in the blueprint editor. Change 3491604 by Nick.Darnell Back out changelist 3489265 Change 3491615 by Arciel.Rekman Added malloc replay proxy (Linux only for now). - Allows to dump malloc callstream (without regard to threads) and replay later to study the behavior of different mallocs and/or repro problems. Change 3491684 by Arciel.Rekman Added FMalloc functions I missed. - Also moved function bodies into the .cpp file, this does not make a difference in performance in this case. Change 3491692 by Matt.Kuhlenschmidt Some minor fixes to the static mesh editor - Fix UV combo button looking non-standard on the toolbar - Fix a few combo buttons in the details panel looking too big. Change 3491702 by Arciel.Rekman Do not compile replay proxy-specific code when not used. Change 3491717 by Michael.Dupuis #jira UE-35083: The component is now the owner of the PerInstanceRenderData instead of the proxy Add an Update path to only update specified instances range Always call BuildTreeIfOutdated so we have a standard code path to make sure static mesh are fully loaded before trying to build the tree Moved the Instance Buffer aysnc to the base class, as it's not related to UHierarchicalInstancedStaticMeshComponent Expose a new property to decide if we require dynamic instance buffer Change 3491758 by Matt.Kuhlenschmidt Fix crash on static mesh editor shutdown Change 3491873 by Cody.Albert Fixed clipping issue in Sequencer curve editor #rnx Change 3491956 by Matt.Kuhlenschmidt Fix crash opening the Previewing sub-menu in the level editor settings menu #jira UE-46095 Change 3492046 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3492076 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3492165 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3492222 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3492274 by Michael.Dupuis #jira UE-46105: Fixed Clang warning Change 3492338 by andrew.porter QAGame: Testing ensure when submitting Change 3492371 by Nick.Darnell UMG - Reverting the animation sharing, cossed GLEO regressions in cooking. Will look for a better solution. Change 3492462 by Matt.Kuhlenschmidt Fix ensure checking in files through perforce Change 3492491 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3492505 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3492517 by Jamie.Dale The package localization ID is no longer used at all at runtime, and is now truly editor-only This should have always been the case, but it was leaked into manifest/archives/PO files in 4.14, and while 4.15 removed it from PO files it was still present in the manifest/archives. This change removes it entirely (unless gathering editor-only data, and even then the PO file will still collapse the entries together for translation), and the deprecated 4.14 export behavior will now produce an error if you attempt to use it. After taking this change you'll need to run a gather, import, and compile of your LocRes files to update your game localization to use the new localization IDs. Change 3492630 by Nick.Darnell UMG - Removing some extra cleanup code that's probably overkill and is causing a crash for uses of "Within" in class meta. #jira UE-46124 Change 3492692 by Matt.Kuhlenschmidt Fix drop shadows inheriting the outline color of the font. The outline should still appear but not have a different outline color from fill color Change 3492714 by Matt.Kuhlenschmidt Added outline with drop shadow to font automation test Change 3492737 by Matt.Kuhlenschmidt Fix linux Change 3492992 by tim.gautier Resaving Ocean Widget Blueprints / Sequences to resolve Legacy Sequence Data warnings #jira UE-46132 Change 3493089 by Jamie.Dale Ensure that the composite font of a font asset is flushed when the font object is GC'd Change 3493322 by Jamie.Dale Fixing null crash #jira UE-45758 Change 3494467 by Andrew.Rodham Fix Xbox warning Change 3494852 by tim.gautier QAGame: Changed streaming method of QA-EditorSmoke-Landscape to Always Loaded Change 3494853 by Nick.Darnell Another attempt at fixing the automation blueprint SA warning. Change 3494896 by Arciel.Rekman Fix possible null pointer access during Vulkan init. - May fix static analysis warnings in UE-46142, although warnings seem to be referring to something else. #jira UE-46142 Change 3494987 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3495010 by Matt.Kuhlenschmidt Adding additional logging to track down html5 issue Change 3495212 by Michael.Dupuis #jira UE-46143: Properly init the InstanceRenderData during the cooking phase (required by fortnite) Change 3495536 by Jamie.Dale Updating UGameEngine to call its Super::PreExit after performing its own teardown This prevents UEngine cleaning up resources that UGameEngine still needs. #jira UE-46159 Change 3495551 by Arciel.Rekman Another attempt to fix analyzer problem (UE-46142). Change 3495794 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3495905 by Matt.Kuhlenschmidt Fix USD crash when importing a meshwith no material [CL 3499771 by Matt Kuhlenschmidt in Main branch]
2017-06-19 20:27:30 -04:00
}
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3946692) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3801826 by Max.Chen PR #4304: Level Sequence crash fix - Guarded against dereferencing null componen. (Contributed by DSDambuster) Change 3801828 by Max.Chen PR #4302: Movie Scene Visibility Template unitialised variable, causing random . (Contributed by DSDambuster) Change 3801837 by Max.Chen Sequencer: Delay spawning/construction for convert to possessable. This fixes a bug where property values would be lost when converting back and forth from possessable to spawnable. #jira UE-52400 Change 3801841 by Max.Chen Sequencer: Make spacer nodes not selectable. PR #4194: Improvements to Sequencer (Contributed by projectgheist) #jira UE-53117 #jira UE-52139 Change 3804183 by Max.Preussner MediaAssets: Added missing lock in media sound component Change 3805414 by Max.Preussner MediaAssets: Setting valid GUID when initializing media texture resource Change 3819578 by Max.Chen PR #4370: When enabling the "MovieCapture", do not turn off the Stereo-3D display. (Contributed by yehaike) #jira UE-53647 Change 3823414 by Max.Chen Curve Editor: Lock down the first and last keys in the redundant keys removal range so that they're unaffected. #jira UE-53591 Change 3826406 by Max.Chen Sequencer: Move OnStartedPlaying() to within first update in UpdateTimeCursorPosition(). This fixes an issue where setting the hud/player visibility was getting stomped on later. #jira UE-52772 Change 3827044 by Max.Preussner MediaAssets: Added sprite visualization to media sound component #jira UE-53594 Change 3827988 by Max.Preussner MediaPlayerAssets: Fixed Media Texture is not linked to Media Player when created together #jira UE-53532 Change 3828506 by Max.Preussner MediaPlayerEditor: Added attenuation visualizer for media sound components #jira UE-53594 Change 3832590 by andrew.porter EngineTest: Added a keep state check in Property Animation sequencer test Change 3833053 by andrew.porter EngineTest: Adding Hierarchical Bias test Change 3835683 by andrew.porter EngineTest: Adding UMG Animation screenshot test Change 3836076 by Max.Chen Sequencer: Fix audio volume and pitch multiplier deprecation. Change 3836230 by andrew.porter EngineTest: Adding Sequence Bone Position automation test Change 3836347 by Max.Chen Sequencer: Fixes to shot name parsing. When a shot doesn't contain a shot number, assume, [ShotName]_[TakeNumber]. When duplicating a shot, put the new shot in the same path of the original shot, so that the take numbers will increment properly. #jira UE-51868 Change 3836552 by Max.Chen Sequencer: Sub section now has a takes menu Change 3838094 by Max.Chen UMG: Fix template finish not getting called on stop. This fixes a bug where sections aren't restored when finished. #jira UE-52285 Change 3838708 by Max.Chen Sequencer: Add notification when the blend type is changed. #jira UE-54046 Change 3840295 by Max.Chen Sequencer: Fix copy/paste crash for lights #jira UE-54084 Change 3840957 by Mike.Zyracki Added Show Only Keyable and Show Only Animated to the filter list in the property editor. Added IsPropertyAnimated to IDetailKeyframe Interface which already had support for showing properties which are keyable (which is used for the key icon next to the properties.). Could have created another interface but then would have had to mimic the sequencer binding, releasing also, so this seemed best way. One issue still left is that custom built detail items currently don't store associated properties(usually) and so certain properties, in particulalry transforms, won't show up as keyable or animated. Note this also shows up with the keyable icon not showing up next to transform tracks, and other filters like Show Only Modified not working with transforms/customs. Not sure best way to tackle this. #jira UESEQ-328 Change 3841756 by Max.Chen Sequencer: Fix unbound possessable components when pasting spawnables. #jira UE-54104 Change 3843950 by andrew.porter EngineTest: Renaming LevelStreaming tests/content to LevelVisibility Change 3844082 by Mike.Zyracki Missing file for animated filter in property editor. When finding if a track is animated we need to find it but we can't easily induce the MovieTrack class for any particular property. So we don't set a class for it and just search by it's ID and name. #jira UESEQ-328 Change 3846902 by Max.Preussner ImgMedia: Fixed image media player never finished initialization if loading failed #jira UE-54247 Change 3849820 by Mike.Zyracki Reassigning deleted widgets didn't work since the menu extender mechanism needs a valid UObject in order to perform an operation on it. So to fix we replaced GetObjectBindingContextMenuExtender in WidgetBlueprint with new delegate mechanism (OnBuildCustomContextMenuForGuid) that supports FGuid in addition to UObjects which is needed to handle re-binding deleted widgets. Note that the default sequencer hacks this for replacing deleted actors in SequencerObjectBindingNode to check to see if a LevelSequence is active. We could move to this mechanism there also. #jira UE-53163 Change 3852211 by Max.Chen UMG: Indicate name of the property that is not bound. #jira UE-54350 Change 3854120 by Max.Chen Sequencer: Fix sibling folders being allowed to have the same folder name. #jira UE-54363 Change 3854627 by Max.Chen Sequencer: Step to next/previous key should work for all tracks if there aren't any selected. #jira UESEQ-391 Change 3855825 by andrew.porter EngineTest: Adding animation blending automation test Change 3855950 by andrew.porter EngineTest: Adding correct expected valuues to animation blending test Change 3856237 by Matt.Hoffman UESEQ-336 - Sequencer Track Reordering Adds the ability to re-order Master Tracks, Folders and Object Bindings within sequencer hierarchies (including UMG). Adds the ability to do a one-off sorting of the content under the old sorting behavior if the user wants to reset their layout to how it was under legacy behavior. Modifies SequencerTrackNodes, SequencerFolderNodes and SequencerObjectBindingNodes to handle CanDrop/OnDrop for above, below and ontop of. Fixes a Slate Issue that forcibly expanded a TreeviewRow if an item handled OnDrop. Slate will now only forcibly expand the row if the item says the drop happened ontop of the item, and not above or below it like it previously did. Change 3856503 by andrew.porter EngineTest: Adding automation test for using animation blueprint with blend multi node in sequencer Change 3857875 by Max.Chen Sequencer: Assign the sequence id after the template is compiled. #jira UE-54462 Change 3858344 by Max.Chen Sequencer: Prevent Goto and Transform boxes from overlapping by allowing them to be visible at the same time in an autosized horizontal box. Also, added close button to the goto box. PR #4425: Prevent Goto and Transform boxes from overlapping in Sequencer ... (Contributed by projectgheist) #jira UE-54210 Change 3860566 by andrew.porter MediaFrameworkTest: Set the option to index 0 for the audio and video track list by default Change 3860654 by andrew.porter EngineTest: Enabling Camera Cut + FOV test Change 3860981 by andrew.porter EngineTest: Updating skeletal mesh tests with a delay after set playback position Change 3861256 by Max.Chen Sequencer: Add all bindings if none selected. #jira-54440 Change 3862154 by Andrew.Rodham Added TimeManagement module Change 3862424 by andrew.porter EngineTest: Turned on the test Bone Positions with Blend Multi Node Change 3862573 by andrew.porter EngineTest: Adding test to compare bone positions in a sequence that is blending an animation that is using an AnimBP Change 3865117 by Max.Chen Sequencer: Stop auto scroll on mouse release of movement. #jira UE-31212 Change 3865303 by Max.Chen Sequencer: Add drag and drop transactions #jira UE-54662 Change 3865304 by Max.Chen Sequencer: Fix crash when an actor factory is not found. Change 3865361 by Max.Chen Sequencer: Don't change the camera/shot lock button when popping out of a sequence. #jira UE-54665 Change 3865412 by Max.Chen Sequencer: Determine whether a transform track is for a camera by using the spawned object or template #jira UE-54666 Change 3865685 by Max.Chen Sequencer: Clear autoscrub offset when stopping autoscroll #jira UE-31212 Change 3865886 by Max.Chen Sequence Recorder: Log an error if the number of frames changes while recording. This can happen if the skeleton changes while recording. #jira UE-48715 Change 3866925 by Andrew.Porter MediaFrameworkTest: Changing the current PNG test video image sequence to 1024 x 576 Change 3867705 by andrew.porter QAGame: Adding Audio Sort Sequence to dev folder Change 3867890 by andrew.porter QAGame: Adding a sequence for testing a sorting crash to my dev folder Change 3872628 by Max.Chen Movie Scene Capture: Split delay before warmup into split delay before shot warmup so that there's separate controls for when the movie scene capture warmups up vs. shot boundaries. Change 3873131 by Matt.Hoffman UE-54732 - Crash reordering a folder with a track. This was caused by folders being the only type of track to check if someone was putting a parent track into a child track. Object Binding tracks and Tracks now check as well so that you can't use the above/below drop targets to add parents as children. This also fixed a typo in the localization keys. #jira UE-54732 Change 3873301 by Mike.Zyracki Added ability to support continous euler angle changes when changing rotations, in particularly with the rotation gizmo's. To do this we effectively added a form an of 'euler filter'(https://en.wikipedia.org/wiki/Euler_filter) to find the closest euler angle to the current euler angle. Three functions were added to FRotator to make this possible, one to get the euler angle that's has the same rotation as it, one to get the difference between two euler angles via Manhattan distance and a third using the previous two to choose a Rotator value that's closest to it. We then use these functions before calling UComponent::SetRelativeRotation to make sure we use the correct Euler after the Quat conversion. We also no longer limit(bound) the euler angles to -180,180, which is obviously necessary to avoid flips. I also changed how we caluclate yaw and roll when pitch is -90 or 90 to make it the standard approach of zeroing out roll and just setting yaw. Main reasons are the previous implementation had precision issues so things like 180, 90, -180 would show up due to numbers being nearly zero but negative,(this would break any smooth interpolations), and this facilitates having a 'gimbal' rotation mode (like Maya, Blender etc..) if we ever want that also. If needed we could keep the previous implementation but would need to add some FMath::IsNearlyZero checks, with less performance. Note we only do this special filtering when applying delta's to actors or components in the editors, which then call UComponent::SetRelativeRotationExact, which is a new function to foces the RelativeRotation to be equal to the new rotation. This allows us to store un-nomalized Rotators at the cost that the RotationCache may be broken. We didn't change any of the other UComponent functions that set rotations (via Quats or Transforms) so they will still be bounded and unwound. In SetInternalWorldLocationAndRotation we only set the rotation if the rotation has changed, which fixes the rotation getting changed and re-normalized if just translate happens. In TransformTrackEditor, we correclty use the bUndwing flag and in MovieScene3DTransformSection there was an un-needed winding check there, it will be unwound earlier if needed, which happens if Sequence Recording is happening. Max we should talk about what to do about this . Note the euler angle drag via the widget is still bound to 0-360. I think we should just unbound that now since the rotations value are now unbound. This review now includes fixes suggested by Zak. #jira UE-UE-22228 Change 3873483 by Matt.Hoffman Sequencer Tracks can now be inserted above the spacer at the bottom of the tree. #jira UE-54706 Change 3873899 by Max.Chen Sequencer: Add section selection throbbing Change 3873908 by Max.Chen Movie Scene Capture: Added logging per frame Change 3873924 by Matt.Hoffman Adds the ability to store Sequence Recorder setups into profiles that stay with the map and can be re-loaded later. Profiles store the Actor Recordings so the settings for each actor should carry with them. #jira UESEQ-339 Change 3874726 by Matt.Hoffman Disable drag-and-drop targets on spacers that come between rows in Sequencer. This prevents extra drag/drop targets showing up between each row. #jira UE-54706 Change 3874862 by Matt.Hoffman Audio Track no longer gets reordered when adding sub-audio tracks, as sub-tracks are no longer counted towards the sorting order index when normalizing indexes. #jira UE-54727 Change 3875905 by Matt.Hoffman Disable Fade Track UI if a fade track already exists in the sequence. #jira UESEQ-393 Change 3876163 by Max.Chen Sequencer: Swap the camera object to the camera component's owner if it's not the same. #jira UE-54874 Change 3876971 by Andrew.Porter EngineTest: Moved Media Player Seek test to new folder. Also enabled the test with new ground truth image. Change 3877040 by Max.Chen Cine Camera: Split camera properties to two groups, "Camera Options" and "Camera Settings". The cine camera now hides properties in the "Camera Settings" group so that properties like bConstrainAspectRatio (in the "Camera Options" group) can be visible. #jira UE-54192 Change 3877763 by Max.Chen Curve Editor: Fix curve changed on end drag so that only curves that had keys/tangents that were changed receive notification, otherwise all loaded curves were getting notified that they were changed. #jira UE-54951 Change 3878234 by Matt.Hoffman Disable "Drop Below" targets for Sequencer Tree nodes to prevent a confusing UX issue where dropping underneath a Object Binding Node puts it after the object binding node but the UI looks like it's inserting it inside the Object Binding node. #jira UE-54743 Change 3879359 by Mike.Zyracki If a track is inactive we dim it a bit which seems to be the UE4 way to show inactive or disabled state. We changed the active logic so that all subtracks need to be inactive for the track to also be inactive(instead of all active for active). This conforms to how the active state actually works, e.g if you have two sections and only one is active the track is still active above it. #jira UESEQ-388 Change 3879462 by Max.Chen Sequencer: Allow dragging onto a particular row which would move out any overlapping sections to make space for the newly created section. Newly created sections are now selected and throbbed to draw attention to themselves. #jira UE-54664 Change 3879464 by Max.Chen Sequencer: Fixed overlapping ranges being inserted into the evaluation field during compilation - The issue was that track segments that had been combined with adjacent segments (due to them being identical) would potentially cause a subsequently compiled frame to overlap with a range that had already been inserted into the evaluation field. - The insertion code previously asserted that only minor overlaps were catered for (due to fp rounding errors) and assumed that a supplied range could not entirely contain any other range in the field. - The solution is to supply the insertion time along with the range to know exactly where the data should live in the field, and crop the range to the maximum allowable space between adjacent ranges. #jira UE-54922 Change 3879590 by Matt.Hoffman Items that are now added to the Sequencer via the "+Track" menu will be selected after being added. Items can now be added inside of folders instead of just to the root level. #jira UE-27397 Change 3879612 by Mike.Zyracki Display Nodes with no children are always active. #jira UESEQ-388 Change 3879730 by Matt.Hoffman Sequence Recorder's actor recording groups now remove items from the group when removed via the UI. #jira UESEQ-339 Change 3880256 by Mike.Zyracki Fix issue with inactive display with folders and other track nodes. #jira UESEQ-388 Change 3883491 by Max.Chen Fix issue where tick is skipped due to last ticked pose isn't cleared after AnimInstance changes. Copy from Release-4.19 #jira UE-51323 Change 3883603 by Max.Chen Movie Scene Capture: Add option toggle disable screen percentage. By default this is on (no change in current behavior). #jira UE-51898 Change 3885074 by Max.Preussner MediaCompositing: Resetting media texture & freeing resource on section end; removed dead code Change 3887220 by Max.Preussner MediaCompositing: Defaulted media section duration to 1 sec (since we do not know the actual duration in most cases) Change 3887478 by Matt.Hoffman Sequences now show [Inactive] in their title bars when they're disabled. This helps communicate why a sequence isn't being evaluated. #jira UE-51469 Change 3888985 by Max.Chen Movie Scene Capture: Clamp HDR Compression Quality between 0 and 1. #jira UE-55136 Change 3893519 by Max.Chen Sequence Recorder: Clarified tooltip for bRecordNearbySpawnedActors - spawned actors will still be recorded if they match the ActorFilter. #jira UE-55238 Change 3893546 by Max.Chen Sequence Recorder: If a selected actor already has a recording, add a blank recording. #jira UE-55239 Change 3894044 by Max.Preussner MediaCompositing: Added support for seeking into a media section Change 3894310 by andrew.porter MediaFrameworkTest: Adding Img media sources for 1080 and 2160 ravent test content Change 3894426 by Max.Preussner MediaAssets: Letting media textures with AutoClear retain their clear color when player is reset Change 3895717 by Max.Chen Sequencer: Null checks to prevent crash when saving the default state of a spawnable #jira UE-55304 Change 3897388 by Max.Chen Sequencer: Don't update current time to be within the view range when stepping into a sequence. #jira UE-55322 Change 3897452 by Max.Chen Audio: Fix crash when trying to record audio without any active capture devices. Log warning if the number of input channels is not 1 or 2. #jira UE-55223 Change 3897619 by Max.Preussner MediaCompositing: Removed commented out code Change 3898072 by Max.Chen Sequencer: Override the animation asset in the player state if it doesn't match the animation asset that's being evaluated. #jira UE-55328 Change 3898272 by Max.Preussner MediaPlayerEditor: Made slate brush constants static Change 3898704 by Max.Chen Sequencer: Skip if the binding id's sequence can't be found. #jira UE-55337 Change 3899855 by Max.Preussner MediaCompositingEditor: Added cache state visualization to media track Change 3900300 by Max.Preussner MediaCompositingEditor: Added loop indicators to media sections Change 3900694 by Max.Preussner ImfMedia: Looping cache only when player is looping Change 3900892 by Max.Preussner Stats: Added stats category for media framework Change 3900954 by Max.Preussner MediaCompositing: Don't evaluate at the end of media section Change 3901348 by Max.Preussner Core: Replaced TLruCache autos for better readability Change 3901655 by Max.Preussner ImgMedia: Added more perf stats to EXR reader Change 3901972 by Max.Preussner MediaAssets: Added getter for media player in media sound components Change 3902233 by Max.Preussner MediaAssets: Enabling media textures to receive samples right after player is assigned Change 3902238 by Max.Preussner MediaCompositing: Working around init/shutdown idiosyncracies in sequencer Change 3904045 by Max.Chen Sequencer: Fix copy/paste crash. Only process UMovieSceneCopyableBinding and objects that can be spawned by the movie scene spawn register. #jira UE-55314 Change 3905605 by Max.Chen Sequencer: Restrict spawnables from being created if they have a ClassWithin that UMovieScene is not a child of. #jira UE-55429 Change 3906550 by Max.Chen Sequencer: Add media track icon #jira UE-55480 Change 3907101 by Max.Chen Sequence Recorder: Fix bugs related to not recording a level sequence. There were certain assumptions that creating a level sequence meant that sequence recording was in progress. This is not always the case - the recorders can record animation assets and not create a level sequence. Changed the notion of IsRecording() to having at least one actor recording that is recording. Countdown timer, recording displays, etc should function if IsRecording() and not based on whether a level sequence is created. #jira UE-55485 Change 3907247 by Max.Chen Sequence Recorder: Fix crash not removing PrepareToCleanseEditorObject delegate. Repros when opening sequence recorder, closing it, and then opening or creating a level. Change 3910343 by Max.Preussner Core: Added async helper for executing functions on a given thread pool Change 3910346 by Max.Preussner ImgMedia: Added separate thread pools for loading/decoding and deleting image frames Change 3910829 by Max.Preussner Profiler: Increased visible range of profiler graph Change 3910841 by Max.Preussner MediaCompositing: Displaying asset name instead of full media source path in media section Change 3910870 by Max.Preussner ImgMedia: Using deallocation thread pool only in debug builds Change 3919642 by Max.Chen Sequence Recorder: Clarify active tooltip #jira UE-55661 Change 3919660 by Max.Chen Sequencer: Sequence template source signatures are now also compared to catch the case where a sub-sequence asset has been saved but not modified - The following sequence of events exposes this issue: - Create a master sequence with a single shot that spawns a cube - Add this sequence to a level and set it to auto-play - Save everything and restart - Resave just the inner shot asset without opening it - PIE - The inner shot never spawns its cube because its template was wiped on save, but its signature never changed. Since the master sequence previously didn't check the template source signature, it ends up trying to evaluate an empty template. #jira UE-55626 #jira UE-55490 Change 3921825 by Max.Chen Sequencer: "Run Construction Script in Sequencer" is off by default for blueprints but on for Sequencer. This allows the content author to switch it on for specific blueprints and sequencer will be default, run those with construction scripts enabled. Change 3922232 by Max.Chen Sequence Recorder: Reset countdelay on stop. #jira UE-55755 Change 3922306 by Max.Chen Sequence Recorder: Don't automatically mark transforms to be recorded by sequence recorder. Instead, log a warning if the user toggled it off to warn that the resulting animation might not match gameplay. #jira UE-55758 Change 3922912 by Max.Chen Sequence Recorder: Fix refresh next sequence name #jira UE-55757 Change 3927654 by Max.Chen Movie Scene Capture: Added format mapping for the name of the current camera #jira UE-55769 PR #4537 Change 3927658 by Max.Chen Sequencer: Added fbx property mapping for "FocusDistance" to "FocusSettings.ManualFocusDistance" #jira UE-55782 Change 3932022 by Max.Chen Sequencer: Add import animation track section to next available row index. #jira UE-55892 Change 3933919 by Max.Chen Sequencer: Jump to playback start frame and not 0 to start playback for recording. #jira UE-55933 Change 3934307 by Andrew.Rodham Sequencer: Add template signature that is re-generated every time the base template is regenerated, which invalidates evaluation fields This fixes an issue where the same sequence is instantiated multiple times in a sequence. If the source sequence was saved, its template would be wiped, which would invalidate the template ID When an instance tries to evaluate the master template, it would only invalidate a range in the evaluation field that was the hull of any invalid sub sequences overlapping the current time, potentially leaving invalid data in the evaluation field at positions later (or earlier) on in the sequence When the sub template was re-generated, it receives the same SequenceSignature as it had before (because the sequence hasn't actually changed), which causes the stale evaluation field data to fail the IsDirty check (because the sequence is the same as it thought, but the *template* has changed) This has been addressed be adding a signature to templates themselves, and checking both the template signature and sequence signature as a part of the IsDirty check. This ensures that we regenerate if either the template, or the sequence have changed. #jira UE-55934 Change 3936327 by Andrew.Rodham Sequencer: Removed increment when trimming right UMovieSceneSection::TrimSection already explicity assigns an exclusive bound to the time passed in. The new behavior means we can trim a section to the right, and insert another section without changing the time to create adjacent sections. #jira UE-42652 Change 3936328 by Andrew.Rodham Fixed KeyFrameManipulator assignment operators and copy/move constructors - These types are potentially self-referential so cannot use default constructors/assignment Change 3936330 by Andrew.Rodham Converted UMGSequencePlayer to use frames internally #jira UE-54878 Change 3936726 by Max.Chen Sequencer: Set track node as the parent of the key area node. The key area switcher needs the object binding id from the parent object binding node. Without this, the binding to the external value fails. #jira UE-55931 Change 3936775 by Max.Chen Sequencer: Should stop or loop should compare DurationFrames with Current Time from StartTime. The bug is that if you set 30 warmup frames in movie rendering for a range of 0-100, the FrameRange will be starting at -30 and have a duration of 130. Without this fix, the playback will continue until frame 130, rather than 100. #jira UE-55933 Change 3936935 by Matt.Hoffman Easing Curves are now represented in Play Rate resolution instead of internal resolution. #jira UE-55937 Change 3937069 by Matt.Hoffman Users can toggle if the is infinite on each side, limited by which tracks support infinite ranges. #jira UE-55891 Change 3937516 by Max.Preussner ImgMedia: Added support for single-threaded platforms #jira UE-55986 Change 3937826 by Max.Preussner MediaAssets: Disabling media sound components on HTML5 if AudioMixer is not enabled Change 3937997 by Max.Chen Curve Editor: Add Zoom to Fit Curves so that selected curves from Sequencer can be focused on. Tested that undo doesn't re-zoom. #jira UE-55935 Change 3938000 by Max.Chen Sequencer: Stop all sounds before generating audio waveforms. #jira UE-55951 Change 3938376 by Max.Preussner XGEController: Disabled XGE Controller in single-threaded apps to prevent crash Change 3938444 by Max.Preussner Core: Added async support for single-threaded applications Change 3938445 by Max.Preussner Networking: Added support for single-threaded applications in UDP socket sender/receiver Change 3938447 by Max.Preussner Messaging: Added support for single-threaded applications Change 3939432 by Max.Chen Sequence Recorder: Append command list to global level editor actions so that shortcuts are accessible in level editor. #jira UE-55798 Change 3940229 by Andrew.Rodham Added prospective display rate upgrade to UMovieScene::PostLoad - There was previously some very odd behaviour that would assign the fixed frame interval only when a sub sequence was focused in SSequencer. This meant that many sequences could have a frame interval of 0 set in the data. - Under the old method of snap interval display this would have fallen back to getting the display interval from the sequencer settings, but we no longer look at these. - The USequencerSettings properties have been removed and in their place, a prospective data upgrade for sequences that have a fixed frame interval old 0fps that sets the play rate to the previous defaults based off the old USequencerSettings defaults. - This could end up 'changing' the display rate for sequences where the user has changed the snap interval in the settings for a particular sequence editor, but there's not much we can do about that given we don't have access to the USequencerSettings classes in UMovieScene #jira UE-55919 Change 3940277 by Andrew.Rodham Sequencer: Added ability to default frame resolutions and play rates for newly created actor sequences Change 3940378 by Andrew.Rodham Sequencer: Post move import dialog now defaults to the playback framerate of the sequence, and floors to frame numbers Change 3940559 by Andrew.Rodham Reinstated primed or recording sequence color Change 3940642 by Max.Preussner ImagePlate: Removed image plate media playback functionality Change 3940843 by Max.Preussner Core: Made TCircularQueue actually thread-safe; improved code comments Change 3940860 by Max.Chen Sequencer: Changed StructNameToKey to StructPathToKey Previously, keying a PropertyPath of [RenderTransform][Shear][X] would get trimmed to X, which doesn't map to a channel name as considered by Sequencer2dTransformTrackEditor. Instead, trim the resulting property path to [Shear][X] so that track editors can determine the desired struct path and channels to key. #jira UE-52966 Change 3941292 by Mike.Zyracki Fix for trajectories out of range not showing up. 1) If we had no key data we would pop the time, so wouldn't get the section ranges. 2) Calculating of upper bound was wrong, checking against -1 and not key == num of keys when doing algo::lower_bound. 3) No need to do the Bck-- for the bakward iterators since we fixed #2. We start now from the upper bound correctly. 4) If we had no keys (at section start,end) we would incorrectly say we were any key type, so since we draw constant keys as dashed we would do so incorrectly around section end points. #jira UE-55929 Change 3941424 by Max.Chen Curve Editor: Change Zoom to Fit to use TArrayView Change 3941498 by Max.Preussner Core: Added FMath::DivideAndRoundNearest function Change 3942097 by Matt.Hoffman Drop Frame Timecode Support for NTSC rates. Change 3942104 by Matt.Hoffman Sequence Recorder Group is no longer visible inside the World Outliner after using one. #jira 55266 Change 3942107 by Max.Chen Sequencer: Resurrect logic to find or extend an existing section when adding keys. Change 3942330 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942339 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942507 by Andrew.Rodham Sequencer: We no longer pad the time overlap threshold with a small number that is not scaled by the current zoom level - The presence of this pad was causing keys that were far apart to be grouped when zoomed in a long way Change 3942509 by Andrew.Rodham Sequencer: Only pad total view range, rather than section range as well when retrieving keys to render - This stops us from rendering keys that are within the view range, but outside the section range Change 3942512 by Andrew.Rodham Added transactions to some sequencer details customizations Change 3942513 by Andrew.Rodham Sequencer: Reinstated validation checks to UMovieSceneSection::SetStartFrame and SetEndFrame, changed erroneous uses to use SetRange Change 3942560 by Andrew.Rodham Pass by rvalue reference to appease error C2719 on Win32 ('InChannels': formal parameter with requested alignment of 8 won't be aligned) Change 3942697 by Andrew.Rodham Newly Created Level Sequences and Actor Sequences now default to 24000 fps frame resolution (+/- ~24hrs range, supporting all integer rates + 23.976) Change 3942700 by Andrew.Rodham Sequencer: Added legacy out-of-bounds errors for times that are not supported by the current legacy upgrade frame resolution Change 3942989 by Max.Preussner Core: Fixed circular queue count calculation Change 3943538 by Max.Preussner MediaAssets: Reverted workaround for procedural audio log spam in HTML5 (Actor component initialization cannot be skipped if the component is used in a level) Change 3944071 by Max.Preussner QAGame: Fixed Media Texture keeps last frame of Media when PIE ends #jira UE-53360 Change 3944292 by Max.Chen Sequencer: Added extra flags to ensure that asset initialization does not occur on template actor sequences #jira UE-56113 Change 3944364 by Max.Chen Sequencer: Prevent circular shot/master tracks. Tested adding master -> child -> master as drag and drop cinematic shot tracks and sub tracks as well as through the + button. #jira UE-56091 Change 3944422 by Max.Chen Sequence Recorder: Disable transform recording if off. #jira UE-56061 Change 3944745 by Andrew.Rodham Sequencer: Key rendering fixes - Fixed assert that occured when keys happened to reside on some times due to KeyTime + TimeOverlapThreshold - KeyTime being slightly larger TimeOverlapThreshold - Fixed keys sometimes being clipped when zoomed right in due to lack of half-frame offset - Added missing documentation to MovieSceneTimeHelpers.h #jira UE-56107 Change 3945231 by Andrew.Rodham Sequencer: Reconstruct channel proxy on Serialize to catch all cases of undo/redo, PostLoad and duplication #jira UE-56089 Change 3945301 by Andrew.Rodham Sequencer: Added safety checks during initial sequence recording to guard against applying negative or 0-sized sequence ranges #jira UE-56125 Change 3946627 by Max.Preussner Fortnite: Fixed game crashes closing editor while in PIE - Pure virtual function being called #jira UE-56144 [CL 3946896 by Max Chen in Main branch]
2018-03-14 22:09:33 -04:00
CommitScrubPosition( ScrubTime, /*bIsScrubbing=*/false );
}
MouseDragType = DRAG_NONE;
DistanceDragged = 0.f;
bMouseDownInRegion = false;
return FReply::Handled().ReleaseMouseCapture();
}
bMouseDownInRegion = false;
return FReply::Unhandled();
}
Copying //UE4/Dev-Sequencer to //UE4/Main ========================== MAJOR FEATURES + CHANGES ========================== Change 2875025 on 2016/02/20 by Andrew.Rodham Sequencer: Cinematic viewport improvements - Added optional letterbox overlay (defaults to 2.35:1) - Added ability to change safe frame colors - Added selected tracks' keys to the transport range - Added buttons for jumping between selected tracks' keyframes on the transport controls - Removed black padding around the viewport where possible - Added ability to specify whether a combo button/menu anchor should close when its parent receives focus - Separated logic of FGroupedKeyArea into FSequencerKeyCollection, so it can be used independently - Added playback range to the viewport frame numbers - All frame numbers are now spin boxes #jira UE-26429 Change 2875026 on 2016/02/20 by Thomas.Sarkanen Added console commands for recording sequences Changed plugin to a developer plugin so we can load it when the editor is in -game mode. Added Exec commands. Added some more logging to help diagnose problems when using commands. Added loading/saving of config for recorder settings (stored in Editor.ini). Also disabled controls in recorder window when recording. Added auto-saving of assets when in non-editor modes. Moved animation settings from UnrealEd to Engine module. Change 2875036 on 2016/02/20 by Max.Chen Sequencer: Call RedrawAllViewports instead of RedrawLevelEditingViewports. In particular, this fixes some update issues when editing values in the key editors. #jira UE-26960 Change 2875046 on 2016/02/20 by Max.Preussner Sequencer: Fix so that clicking on UMG Animations doesn't dirty the scene. #jira UE-26249 Change 2875047 on 2016/02/20 by Max.Chen Sequencer: Add option to toggle display of channel colors/lines. View->Channel Colors Change 2877138 on 2016/02/23 by Max.Chen Sequencer: Select corresponding track node when selecting key or section. Removed active/inactive selection since it was only being used in deletion and the rules for deletion are now dependent upon what is selected - delete keys and sections before deleting outliner nodes. Change 2877143 on 2016/02/23 by Thomas.Sarkanen Added new math function: WindRelativeAnglesDegrees Given two angles in degrees, 'wind' the angle in Angle1 so that it avoids >180 degree flips. Good for winding rotations previously expressed as quaternions into a euler-angle representation. Change 2877147 on 2016/02/23 by Thomas.Sarkanen Added the ability to import sequencer transforms from the root node of an animation sequence Intended for use after re-importing animations from DCC tools. Available in the right-click menu for transform tracks. Also added FindTrackBinding to UMovieScene so track bindings can be recovered from tracks. Change 2877163 on 2016/02/23 by Max.Chen Sequencer: Add option to create keyframe sections as infinite. Sequencer defaults to true, UMG defaults to false. Change 2877165 on 2016/02/23 by Max.Preussner Sequencer: Drawing vertical position lines when dragging keys Change 2878748 on 2016/02/23 by Max.Chen Curve Editor: Switch curve type to user when flatting or straightening tangents. #jira UE-27277 Change 2878799 on 2016/02/23 by Frank.Fella Sequencer - Add folders support to the outliner. Change 2880769 on 2016/02/24 by Andrew.Rodham Sequencer: Added ability to override runtime spawnable ownership in sequencer - This is exposed as an option on spawnables "Keep Alive Outside Playback Range (In Sequencer)" - Enabling this will stop spawnables from being destroyed when scrubbing outside of the playback range #jira UE-27205 Change 2880770 on 2016/02/24 by Thomas.Sarkanen Sequencer: Added countdown and recording indicator display when recording Also fixed extra popups added post-PIE when animation recordings auto shutdown. Change 2880782 on 2016/02/24 by Max.Chen Sequencer: Snapping now also uses the current time as a possible snap time. #jira UE-26306 Change 2880793 on 2016/02/24 by Max.Chen Sequencer: Add +Animation to Animation track so that it's consistent with all other tracks that have a + button. Change 2880812 on 2016/02/24 by Max.Chen Sequencer: Fix adjusting the leading edge of a shot section so that it cuts into the shot rather than adjusts the start time. #jira UE-26306 Change 2881624 on 2016/02/25 by Andrew.Rodham Changing shader version GUID to fix corrupt shaders in ddc Change 2882408 on 2016/02/25 by Thomas.Sarkanen Asset/actors stored in TLazyObjectPtrs can now reference game content from engine This is a legitimate use case as lazy object ptrs are designed to reference assets/actors cross-domain. Change 2882409 on 2016/02/25 by Thomas.Sarkanen [CL 2899785 by Max Chen in Main branch]
2016-03-08 16:55:04 -05:00
FReply FSequencerTimeSliderController::OnMouseMove( SWidget& WidgetOwner, const FGeometry& MyGeometry, const FPointerEvent& MouseEvent )
{
TSharedPtr<FSequencer> Sequencer = WeakSequencer.Pin();
if (!Sequencer.IsValid())
{
return FReply::Unhandled();
}
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3946692) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3801826 by Max.Chen PR #4304: Level Sequence crash fix - Guarded against dereferencing null componen. (Contributed by DSDambuster) Change 3801828 by Max.Chen PR #4302: Movie Scene Visibility Template unitialised variable, causing random . (Contributed by DSDambuster) Change 3801837 by Max.Chen Sequencer: Delay spawning/construction for convert to possessable. This fixes a bug where property values would be lost when converting back and forth from possessable to spawnable. #jira UE-52400 Change 3801841 by Max.Chen Sequencer: Make spacer nodes not selectable. PR #4194: Improvements to Sequencer (Contributed by projectgheist) #jira UE-53117 #jira UE-52139 Change 3804183 by Max.Preussner MediaAssets: Added missing lock in media sound component Change 3805414 by Max.Preussner MediaAssets: Setting valid GUID when initializing media texture resource Change 3819578 by Max.Chen PR #4370: When enabling the "MovieCapture", do not turn off the Stereo-3D display. (Contributed by yehaike) #jira UE-53647 Change 3823414 by Max.Chen Curve Editor: Lock down the first and last keys in the redundant keys removal range so that they're unaffected. #jira UE-53591 Change 3826406 by Max.Chen Sequencer: Move OnStartedPlaying() to within first update in UpdateTimeCursorPosition(). This fixes an issue where setting the hud/player visibility was getting stomped on later. #jira UE-52772 Change 3827044 by Max.Preussner MediaAssets: Added sprite visualization to media sound component #jira UE-53594 Change 3827988 by Max.Preussner MediaPlayerAssets: Fixed Media Texture is not linked to Media Player when created together #jira UE-53532 Change 3828506 by Max.Preussner MediaPlayerEditor: Added attenuation visualizer for media sound components #jira UE-53594 Change 3832590 by andrew.porter EngineTest: Added a keep state check in Property Animation sequencer test Change 3833053 by andrew.porter EngineTest: Adding Hierarchical Bias test Change 3835683 by andrew.porter EngineTest: Adding UMG Animation screenshot test Change 3836076 by Max.Chen Sequencer: Fix audio volume and pitch multiplier deprecation. Change 3836230 by andrew.porter EngineTest: Adding Sequence Bone Position automation test Change 3836347 by Max.Chen Sequencer: Fixes to shot name parsing. When a shot doesn't contain a shot number, assume, [ShotName]_[TakeNumber]. When duplicating a shot, put the new shot in the same path of the original shot, so that the take numbers will increment properly. #jira UE-51868 Change 3836552 by Max.Chen Sequencer: Sub section now has a takes menu Change 3838094 by Max.Chen UMG: Fix template finish not getting called on stop. This fixes a bug where sections aren't restored when finished. #jira UE-52285 Change 3838708 by Max.Chen Sequencer: Add notification when the blend type is changed. #jira UE-54046 Change 3840295 by Max.Chen Sequencer: Fix copy/paste crash for lights #jira UE-54084 Change 3840957 by Mike.Zyracki Added Show Only Keyable and Show Only Animated to the filter list in the property editor. Added IsPropertyAnimated to IDetailKeyframe Interface which already had support for showing properties which are keyable (which is used for the key icon next to the properties.). Could have created another interface but then would have had to mimic the sequencer binding, releasing also, so this seemed best way. One issue still left is that custom built detail items currently don't store associated properties(usually) and so certain properties, in particulalry transforms, won't show up as keyable or animated. Note this also shows up with the keyable icon not showing up next to transform tracks, and other filters like Show Only Modified not working with transforms/customs. Not sure best way to tackle this. #jira UESEQ-328 Change 3841756 by Max.Chen Sequencer: Fix unbound possessable components when pasting spawnables. #jira UE-54104 Change 3843950 by andrew.porter EngineTest: Renaming LevelStreaming tests/content to LevelVisibility Change 3844082 by Mike.Zyracki Missing file for animated filter in property editor. When finding if a track is animated we need to find it but we can't easily induce the MovieTrack class for any particular property. So we don't set a class for it and just search by it's ID and name. #jira UESEQ-328 Change 3846902 by Max.Preussner ImgMedia: Fixed image media player never finished initialization if loading failed #jira UE-54247 Change 3849820 by Mike.Zyracki Reassigning deleted widgets didn't work since the menu extender mechanism needs a valid UObject in order to perform an operation on it. So to fix we replaced GetObjectBindingContextMenuExtender in WidgetBlueprint with new delegate mechanism (OnBuildCustomContextMenuForGuid) that supports FGuid in addition to UObjects which is needed to handle re-binding deleted widgets. Note that the default sequencer hacks this for replacing deleted actors in SequencerObjectBindingNode to check to see if a LevelSequence is active. We could move to this mechanism there also. #jira UE-53163 Change 3852211 by Max.Chen UMG: Indicate name of the property that is not bound. #jira UE-54350 Change 3854120 by Max.Chen Sequencer: Fix sibling folders being allowed to have the same folder name. #jira UE-54363 Change 3854627 by Max.Chen Sequencer: Step to next/previous key should work for all tracks if there aren't any selected. #jira UESEQ-391 Change 3855825 by andrew.porter EngineTest: Adding animation blending automation test Change 3855950 by andrew.porter EngineTest: Adding correct expected valuues to animation blending test Change 3856237 by Matt.Hoffman UESEQ-336 - Sequencer Track Reordering Adds the ability to re-order Master Tracks, Folders and Object Bindings within sequencer hierarchies (including UMG). Adds the ability to do a one-off sorting of the content under the old sorting behavior if the user wants to reset their layout to how it was under legacy behavior. Modifies SequencerTrackNodes, SequencerFolderNodes and SequencerObjectBindingNodes to handle CanDrop/OnDrop for above, below and ontop of. Fixes a Slate Issue that forcibly expanded a TreeviewRow if an item handled OnDrop. Slate will now only forcibly expand the row if the item says the drop happened ontop of the item, and not above or below it like it previously did. Change 3856503 by andrew.porter EngineTest: Adding automation test for using animation blueprint with blend multi node in sequencer Change 3857875 by Max.Chen Sequencer: Assign the sequence id after the template is compiled. #jira UE-54462 Change 3858344 by Max.Chen Sequencer: Prevent Goto and Transform boxes from overlapping by allowing them to be visible at the same time in an autosized horizontal box. Also, added close button to the goto box. PR #4425: Prevent Goto and Transform boxes from overlapping in Sequencer ... (Contributed by projectgheist) #jira UE-54210 Change 3860566 by andrew.porter MediaFrameworkTest: Set the option to index 0 for the audio and video track list by default Change 3860654 by andrew.porter EngineTest: Enabling Camera Cut + FOV test Change 3860981 by andrew.porter EngineTest: Updating skeletal mesh tests with a delay after set playback position Change 3861256 by Max.Chen Sequencer: Add all bindings if none selected. #jira-54440 Change 3862154 by Andrew.Rodham Added TimeManagement module Change 3862424 by andrew.porter EngineTest: Turned on the test Bone Positions with Blend Multi Node Change 3862573 by andrew.porter EngineTest: Adding test to compare bone positions in a sequence that is blending an animation that is using an AnimBP Change 3865117 by Max.Chen Sequencer: Stop auto scroll on mouse release of movement. #jira UE-31212 Change 3865303 by Max.Chen Sequencer: Add drag and drop transactions #jira UE-54662 Change 3865304 by Max.Chen Sequencer: Fix crash when an actor factory is not found. Change 3865361 by Max.Chen Sequencer: Don't change the camera/shot lock button when popping out of a sequence. #jira UE-54665 Change 3865412 by Max.Chen Sequencer: Determine whether a transform track is for a camera by using the spawned object or template #jira UE-54666 Change 3865685 by Max.Chen Sequencer: Clear autoscrub offset when stopping autoscroll #jira UE-31212 Change 3865886 by Max.Chen Sequence Recorder: Log an error if the number of frames changes while recording. This can happen if the skeleton changes while recording. #jira UE-48715 Change 3866925 by Andrew.Porter MediaFrameworkTest: Changing the current PNG test video image sequence to 1024 x 576 Change 3867705 by andrew.porter QAGame: Adding Audio Sort Sequence to dev folder Change 3867890 by andrew.porter QAGame: Adding a sequence for testing a sorting crash to my dev folder Change 3872628 by Max.Chen Movie Scene Capture: Split delay before warmup into split delay before shot warmup so that there's separate controls for when the movie scene capture warmups up vs. shot boundaries. Change 3873131 by Matt.Hoffman UE-54732 - Crash reordering a folder with a track. This was caused by folders being the only type of track to check if someone was putting a parent track into a child track. Object Binding tracks and Tracks now check as well so that you can't use the above/below drop targets to add parents as children. This also fixed a typo in the localization keys. #jira UE-54732 Change 3873301 by Mike.Zyracki Added ability to support continous euler angle changes when changing rotations, in particularly with the rotation gizmo's. To do this we effectively added a form an of 'euler filter'(https://en.wikipedia.org/wiki/Euler_filter) to find the closest euler angle to the current euler angle. Three functions were added to FRotator to make this possible, one to get the euler angle that's has the same rotation as it, one to get the difference between two euler angles via Manhattan distance and a third using the previous two to choose a Rotator value that's closest to it. We then use these functions before calling UComponent::SetRelativeRotation to make sure we use the correct Euler after the Quat conversion. We also no longer limit(bound) the euler angles to -180,180, which is obviously necessary to avoid flips. I also changed how we caluclate yaw and roll when pitch is -90 or 90 to make it the standard approach of zeroing out roll and just setting yaw. Main reasons are the previous implementation had precision issues so things like 180, 90, -180 would show up due to numbers being nearly zero but negative,(this would break any smooth interpolations), and this facilitates having a 'gimbal' rotation mode (like Maya, Blender etc..) if we ever want that also. If needed we could keep the previous implementation but would need to add some FMath::IsNearlyZero checks, with less performance. Note we only do this special filtering when applying delta's to actors or components in the editors, which then call UComponent::SetRelativeRotationExact, which is a new function to foces the RelativeRotation to be equal to the new rotation. This allows us to store un-nomalized Rotators at the cost that the RotationCache may be broken. We didn't change any of the other UComponent functions that set rotations (via Quats or Transforms) so they will still be bounded and unwound. In SetInternalWorldLocationAndRotation we only set the rotation if the rotation has changed, which fixes the rotation getting changed and re-normalized if just translate happens. In TransformTrackEditor, we correclty use the bUndwing flag and in MovieScene3DTransformSection there was an un-needed winding check there, it will be unwound earlier if needed, which happens if Sequence Recording is happening. Max we should talk about what to do about this . Note the euler angle drag via the widget is still bound to 0-360. I think we should just unbound that now since the rotations value are now unbound. This review now includes fixes suggested by Zak. #jira UE-UE-22228 Change 3873483 by Matt.Hoffman Sequencer Tracks can now be inserted above the spacer at the bottom of the tree. #jira UE-54706 Change 3873899 by Max.Chen Sequencer: Add section selection throbbing Change 3873908 by Max.Chen Movie Scene Capture: Added logging per frame Change 3873924 by Matt.Hoffman Adds the ability to store Sequence Recorder setups into profiles that stay with the map and can be re-loaded later. Profiles store the Actor Recordings so the settings for each actor should carry with them. #jira UESEQ-339 Change 3874726 by Matt.Hoffman Disable drag-and-drop targets on spacers that come between rows in Sequencer. This prevents extra drag/drop targets showing up between each row. #jira UE-54706 Change 3874862 by Matt.Hoffman Audio Track no longer gets reordered when adding sub-audio tracks, as sub-tracks are no longer counted towards the sorting order index when normalizing indexes. #jira UE-54727 Change 3875905 by Matt.Hoffman Disable Fade Track UI if a fade track already exists in the sequence. #jira UESEQ-393 Change 3876163 by Max.Chen Sequencer: Swap the camera object to the camera component's owner if it's not the same. #jira UE-54874 Change 3876971 by Andrew.Porter EngineTest: Moved Media Player Seek test to new folder. Also enabled the test with new ground truth image. Change 3877040 by Max.Chen Cine Camera: Split camera properties to two groups, "Camera Options" and "Camera Settings". The cine camera now hides properties in the "Camera Settings" group so that properties like bConstrainAspectRatio (in the "Camera Options" group) can be visible. #jira UE-54192 Change 3877763 by Max.Chen Curve Editor: Fix curve changed on end drag so that only curves that had keys/tangents that were changed receive notification, otherwise all loaded curves were getting notified that they were changed. #jira UE-54951 Change 3878234 by Matt.Hoffman Disable "Drop Below" targets for Sequencer Tree nodes to prevent a confusing UX issue where dropping underneath a Object Binding Node puts it after the object binding node but the UI looks like it's inserting it inside the Object Binding node. #jira UE-54743 Change 3879359 by Mike.Zyracki If a track is inactive we dim it a bit which seems to be the UE4 way to show inactive or disabled state. We changed the active logic so that all subtracks need to be inactive for the track to also be inactive(instead of all active for active). This conforms to how the active state actually works, e.g if you have two sections and only one is active the track is still active above it. #jira UESEQ-388 Change 3879462 by Max.Chen Sequencer: Allow dragging onto a particular row which would move out any overlapping sections to make space for the newly created section. Newly created sections are now selected and throbbed to draw attention to themselves. #jira UE-54664 Change 3879464 by Max.Chen Sequencer: Fixed overlapping ranges being inserted into the evaluation field during compilation - The issue was that track segments that had been combined with adjacent segments (due to them being identical) would potentially cause a subsequently compiled frame to overlap with a range that had already been inserted into the evaluation field. - The insertion code previously asserted that only minor overlaps were catered for (due to fp rounding errors) and assumed that a supplied range could not entirely contain any other range in the field. - The solution is to supply the insertion time along with the range to know exactly where the data should live in the field, and crop the range to the maximum allowable space between adjacent ranges. #jira UE-54922 Change 3879590 by Matt.Hoffman Items that are now added to the Sequencer via the "+Track" menu will be selected after being added. Items can now be added inside of folders instead of just to the root level. #jira UE-27397 Change 3879612 by Mike.Zyracki Display Nodes with no children are always active. #jira UESEQ-388 Change 3879730 by Matt.Hoffman Sequence Recorder's actor recording groups now remove items from the group when removed via the UI. #jira UESEQ-339 Change 3880256 by Mike.Zyracki Fix issue with inactive display with folders and other track nodes. #jira UESEQ-388 Change 3883491 by Max.Chen Fix issue where tick is skipped due to last ticked pose isn't cleared after AnimInstance changes. Copy from Release-4.19 #jira UE-51323 Change 3883603 by Max.Chen Movie Scene Capture: Add option toggle disable screen percentage. By default this is on (no change in current behavior). #jira UE-51898 Change 3885074 by Max.Preussner MediaCompositing: Resetting media texture & freeing resource on section end; removed dead code Change 3887220 by Max.Preussner MediaCompositing: Defaulted media section duration to 1 sec (since we do not know the actual duration in most cases) Change 3887478 by Matt.Hoffman Sequences now show [Inactive] in their title bars when they're disabled. This helps communicate why a sequence isn't being evaluated. #jira UE-51469 Change 3888985 by Max.Chen Movie Scene Capture: Clamp HDR Compression Quality between 0 and 1. #jira UE-55136 Change 3893519 by Max.Chen Sequence Recorder: Clarified tooltip for bRecordNearbySpawnedActors - spawned actors will still be recorded if they match the ActorFilter. #jira UE-55238 Change 3893546 by Max.Chen Sequence Recorder: If a selected actor already has a recording, add a blank recording. #jira UE-55239 Change 3894044 by Max.Preussner MediaCompositing: Added support for seeking into a media section Change 3894310 by andrew.porter MediaFrameworkTest: Adding Img media sources for 1080 and 2160 ravent test content Change 3894426 by Max.Preussner MediaAssets: Letting media textures with AutoClear retain their clear color when player is reset Change 3895717 by Max.Chen Sequencer: Null checks to prevent crash when saving the default state of a spawnable #jira UE-55304 Change 3897388 by Max.Chen Sequencer: Don't update current time to be within the view range when stepping into a sequence. #jira UE-55322 Change 3897452 by Max.Chen Audio: Fix crash when trying to record audio without any active capture devices. Log warning if the number of input channels is not 1 or 2. #jira UE-55223 Change 3897619 by Max.Preussner MediaCompositing: Removed commented out code Change 3898072 by Max.Chen Sequencer: Override the animation asset in the player state if it doesn't match the animation asset that's being evaluated. #jira UE-55328 Change 3898272 by Max.Preussner MediaPlayerEditor: Made slate brush constants static Change 3898704 by Max.Chen Sequencer: Skip if the binding id's sequence can't be found. #jira UE-55337 Change 3899855 by Max.Preussner MediaCompositingEditor: Added cache state visualization to media track Change 3900300 by Max.Preussner MediaCompositingEditor: Added loop indicators to media sections Change 3900694 by Max.Preussner ImfMedia: Looping cache only when player is looping Change 3900892 by Max.Preussner Stats: Added stats category for media framework Change 3900954 by Max.Preussner MediaCompositing: Don't evaluate at the end of media section Change 3901348 by Max.Preussner Core: Replaced TLruCache autos for better readability Change 3901655 by Max.Preussner ImgMedia: Added more perf stats to EXR reader Change 3901972 by Max.Preussner MediaAssets: Added getter for media player in media sound components Change 3902233 by Max.Preussner MediaAssets: Enabling media textures to receive samples right after player is assigned Change 3902238 by Max.Preussner MediaCompositing: Working around init/shutdown idiosyncracies in sequencer Change 3904045 by Max.Chen Sequencer: Fix copy/paste crash. Only process UMovieSceneCopyableBinding and objects that can be spawned by the movie scene spawn register. #jira UE-55314 Change 3905605 by Max.Chen Sequencer: Restrict spawnables from being created if they have a ClassWithin that UMovieScene is not a child of. #jira UE-55429 Change 3906550 by Max.Chen Sequencer: Add media track icon #jira UE-55480 Change 3907101 by Max.Chen Sequence Recorder: Fix bugs related to not recording a level sequence. There were certain assumptions that creating a level sequence meant that sequence recording was in progress. This is not always the case - the recorders can record animation assets and not create a level sequence. Changed the notion of IsRecording() to having at least one actor recording that is recording. Countdown timer, recording displays, etc should function if IsRecording() and not based on whether a level sequence is created. #jira UE-55485 Change 3907247 by Max.Chen Sequence Recorder: Fix crash not removing PrepareToCleanseEditorObject delegate. Repros when opening sequence recorder, closing it, and then opening or creating a level. Change 3910343 by Max.Preussner Core: Added async helper for executing functions on a given thread pool Change 3910346 by Max.Preussner ImgMedia: Added separate thread pools for loading/decoding and deleting image frames Change 3910829 by Max.Preussner Profiler: Increased visible range of profiler graph Change 3910841 by Max.Preussner MediaCompositing: Displaying asset name instead of full media source path in media section Change 3910870 by Max.Preussner ImgMedia: Using deallocation thread pool only in debug builds Change 3919642 by Max.Chen Sequence Recorder: Clarify active tooltip #jira UE-55661 Change 3919660 by Max.Chen Sequencer: Sequence template source signatures are now also compared to catch the case where a sub-sequence asset has been saved but not modified - The following sequence of events exposes this issue: - Create a master sequence with a single shot that spawns a cube - Add this sequence to a level and set it to auto-play - Save everything and restart - Resave just the inner shot asset without opening it - PIE - The inner shot never spawns its cube because its template was wiped on save, but its signature never changed. Since the master sequence previously didn't check the template source signature, it ends up trying to evaluate an empty template. #jira UE-55626 #jira UE-55490 Change 3921825 by Max.Chen Sequencer: "Run Construction Script in Sequencer" is off by default for blueprints but on for Sequencer. This allows the content author to switch it on for specific blueprints and sequencer will be default, run those with construction scripts enabled. Change 3922232 by Max.Chen Sequence Recorder: Reset countdelay on stop. #jira UE-55755 Change 3922306 by Max.Chen Sequence Recorder: Don't automatically mark transforms to be recorded by sequence recorder. Instead, log a warning if the user toggled it off to warn that the resulting animation might not match gameplay. #jira UE-55758 Change 3922912 by Max.Chen Sequence Recorder: Fix refresh next sequence name #jira UE-55757 Change 3927654 by Max.Chen Movie Scene Capture: Added format mapping for the name of the current camera #jira UE-55769 PR #4537 Change 3927658 by Max.Chen Sequencer: Added fbx property mapping for "FocusDistance" to "FocusSettings.ManualFocusDistance" #jira UE-55782 Change 3932022 by Max.Chen Sequencer: Add import animation track section to next available row index. #jira UE-55892 Change 3933919 by Max.Chen Sequencer: Jump to playback start frame and not 0 to start playback for recording. #jira UE-55933 Change 3934307 by Andrew.Rodham Sequencer: Add template signature that is re-generated every time the base template is regenerated, which invalidates evaluation fields This fixes an issue where the same sequence is instantiated multiple times in a sequence. If the source sequence was saved, its template would be wiped, which would invalidate the template ID When an instance tries to evaluate the master template, it would only invalidate a range in the evaluation field that was the hull of any invalid sub sequences overlapping the current time, potentially leaving invalid data in the evaluation field at positions later (or earlier) on in the sequence When the sub template was re-generated, it receives the same SequenceSignature as it had before (because the sequence hasn't actually changed), which causes the stale evaluation field data to fail the IsDirty check (because the sequence is the same as it thought, but the *template* has changed) This has been addressed be adding a signature to templates themselves, and checking both the template signature and sequence signature as a part of the IsDirty check. This ensures that we regenerate if either the template, or the sequence have changed. #jira UE-55934 Change 3936327 by Andrew.Rodham Sequencer: Removed increment when trimming right UMovieSceneSection::TrimSection already explicity assigns an exclusive bound to the time passed in. The new behavior means we can trim a section to the right, and insert another section without changing the time to create adjacent sections. #jira UE-42652 Change 3936328 by Andrew.Rodham Fixed KeyFrameManipulator assignment operators and copy/move constructors - These types are potentially self-referential so cannot use default constructors/assignment Change 3936330 by Andrew.Rodham Converted UMGSequencePlayer to use frames internally #jira UE-54878 Change 3936726 by Max.Chen Sequencer: Set track node as the parent of the key area node. The key area switcher needs the object binding id from the parent object binding node. Without this, the binding to the external value fails. #jira UE-55931 Change 3936775 by Max.Chen Sequencer: Should stop or loop should compare DurationFrames with Current Time from StartTime. The bug is that if you set 30 warmup frames in movie rendering for a range of 0-100, the FrameRange will be starting at -30 and have a duration of 130. Without this fix, the playback will continue until frame 130, rather than 100. #jira UE-55933 Change 3936935 by Matt.Hoffman Easing Curves are now represented in Play Rate resolution instead of internal resolution. #jira UE-55937 Change 3937069 by Matt.Hoffman Users can toggle if the is infinite on each side, limited by which tracks support infinite ranges. #jira UE-55891 Change 3937516 by Max.Preussner ImgMedia: Added support for single-threaded platforms #jira UE-55986 Change 3937826 by Max.Preussner MediaAssets: Disabling media sound components on HTML5 if AudioMixer is not enabled Change 3937997 by Max.Chen Curve Editor: Add Zoom to Fit Curves so that selected curves from Sequencer can be focused on. Tested that undo doesn't re-zoom. #jira UE-55935 Change 3938000 by Max.Chen Sequencer: Stop all sounds before generating audio waveforms. #jira UE-55951 Change 3938376 by Max.Preussner XGEController: Disabled XGE Controller in single-threaded apps to prevent crash Change 3938444 by Max.Preussner Core: Added async support for single-threaded applications Change 3938445 by Max.Preussner Networking: Added support for single-threaded applications in UDP socket sender/receiver Change 3938447 by Max.Preussner Messaging: Added support for single-threaded applications Change 3939432 by Max.Chen Sequence Recorder: Append command list to global level editor actions so that shortcuts are accessible in level editor. #jira UE-55798 Change 3940229 by Andrew.Rodham Added prospective display rate upgrade to UMovieScene::PostLoad - There was previously some very odd behaviour that would assign the fixed frame interval only when a sub sequence was focused in SSequencer. This meant that many sequences could have a frame interval of 0 set in the data. - Under the old method of snap interval display this would have fallen back to getting the display interval from the sequencer settings, but we no longer look at these. - The USequencerSettings properties have been removed and in their place, a prospective data upgrade for sequences that have a fixed frame interval old 0fps that sets the play rate to the previous defaults based off the old USequencerSettings defaults. - This could end up 'changing' the display rate for sequences where the user has changed the snap interval in the settings for a particular sequence editor, but there's not much we can do about that given we don't have access to the USequencerSettings classes in UMovieScene #jira UE-55919 Change 3940277 by Andrew.Rodham Sequencer: Added ability to default frame resolutions and play rates for newly created actor sequences Change 3940378 by Andrew.Rodham Sequencer: Post move import dialog now defaults to the playback framerate of the sequence, and floors to frame numbers Change 3940559 by Andrew.Rodham Reinstated primed or recording sequence color Change 3940642 by Max.Preussner ImagePlate: Removed image plate media playback functionality Change 3940843 by Max.Preussner Core: Made TCircularQueue actually thread-safe; improved code comments Change 3940860 by Max.Chen Sequencer: Changed StructNameToKey to StructPathToKey Previously, keying a PropertyPath of [RenderTransform][Shear][X] would get trimmed to X, which doesn't map to a channel name as considered by Sequencer2dTransformTrackEditor. Instead, trim the resulting property path to [Shear][X] so that track editors can determine the desired struct path and channels to key. #jira UE-52966 Change 3941292 by Mike.Zyracki Fix for trajectories out of range not showing up. 1) If we had no key data we would pop the time, so wouldn't get the section ranges. 2) Calculating of upper bound was wrong, checking against -1 and not key == num of keys when doing algo::lower_bound. 3) No need to do the Bck-- for the bakward iterators since we fixed #2. We start now from the upper bound correctly. 4) If we had no keys (at section start,end) we would incorrectly say we were any key type, so since we draw constant keys as dashed we would do so incorrectly around section end points. #jira UE-55929 Change 3941424 by Max.Chen Curve Editor: Change Zoom to Fit to use TArrayView Change 3941498 by Max.Preussner Core: Added FMath::DivideAndRoundNearest function Change 3942097 by Matt.Hoffman Drop Frame Timecode Support for NTSC rates. Change 3942104 by Matt.Hoffman Sequence Recorder Group is no longer visible inside the World Outliner after using one. #jira 55266 Change 3942107 by Max.Chen Sequencer: Resurrect logic to find or extend an existing section when adding keys. Change 3942330 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942339 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942507 by Andrew.Rodham Sequencer: We no longer pad the time overlap threshold with a small number that is not scaled by the current zoom level - The presence of this pad was causing keys that were far apart to be grouped when zoomed in a long way Change 3942509 by Andrew.Rodham Sequencer: Only pad total view range, rather than section range as well when retrieving keys to render - This stops us from rendering keys that are within the view range, but outside the section range Change 3942512 by Andrew.Rodham Added transactions to some sequencer details customizations Change 3942513 by Andrew.Rodham Sequencer: Reinstated validation checks to UMovieSceneSection::SetStartFrame and SetEndFrame, changed erroneous uses to use SetRange Change 3942560 by Andrew.Rodham Pass by rvalue reference to appease error C2719 on Win32 ('InChannels': formal parameter with requested alignment of 8 won't be aligned) Change 3942697 by Andrew.Rodham Newly Created Level Sequences and Actor Sequences now default to 24000 fps frame resolution (+/- ~24hrs range, supporting all integer rates + 23.976) Change 3942700 by Andrew.Rodham Sequencer: Added legacy out-of-bounds errors for times that are not supported by the current legacy upgrade frame resolution Change 3942989 by Max.Preussner Core: Fixed circular queue count calculation Change 3943538 by Max.Preussner MediaAssets: Reverted workaround for procedural audio log spam in HTML5 (Actor component initialization cannot be skipped if the component is used in a level) Change 3944071 by Max.Preussner QAGame: Fixed Media Texture keeps last frame of Media when PIE ends #jira UE-53360 Change 3944292 by Max.Chen Sequencer: Added extra flags to ensure that asset initialization does not occur on template actor sequences #jira UE-56113 Change 3944364 by Max.Chen Sequencer: Prevent circular shot/master tracks. Tested adding master -> child -> master as drag and drop cinematic shot tracks and sub tracks as well as through the + button. #jira UE-56091 Change 3944422 by Max.Chen Sequence Recorder: Disable transform recording if off. #jira UE-56061 Change 3944745 by Andrew.Rodham Sequencer: Key rendering fixes - Fixed assert that occured when keys happened to reside on some times due to KeyTime + TimeOverlapThreshold - KeyTime being slightly larger TimeOverlapThreshold - Fixed keys sometimes being clipped when zoomed right in due to lack of half-frame offset - Added missing documentation to MovieSceneTimeHelpers.h #jira UE-56107 Change 3945231 by Andrew.Rodham Sequencer: Reconstruct channel proxy on Serialize to catch all cases of undo/redo, PostLoad and duplication #jira UE-56089 Change 3945301 by Andrew.Rodham Sequencer: Added safety checks during initial sequence recording to guard against applying negative or 0-sized sequence ranges #jira UE-56125 Change 3946627 by Max.Preussner Fortnite: Fixed game crashes closing editor while in PIE - Pure virtual function being called #jira UE-56144 [CL 3946896 by Max Chen in Main branch]
2018-03-14 22:09:33 -04:00
bool bHandleLeftMouseButton = MouseEvent.IsMouseButtonDown( EKeys::LeftMouseButton );
Copying //UE4/Dev-Editor to //UE4/Dev-Main (Source: //UE4/Dev-Editor @ 3497164) #lockdown Nick.Penwarden #rb none ===================================== MAJOR FEATURES + CHANGES ===================================== Change 3433074 by Matt.Kuhlenschmidt Fix crash when clicking on certian tutorial blueprints. #jira UE-44593 Change 3433075 by Matt.Kuhlenschmidt Remove hittest grid log spam. The underlying problem causing this has been fixed Change 3433077 by Matt.Kuhlenschmidt Fix lighting becoming unbuilt when mesh painting #jira UE-44837 Change 3433081 by Matt.Kuhlenschmidt PR #3553: Crashfix for static array properties (Contributed by Pierdek) Change 3433104 by Alexis.Matte Make sure re-import skeletal mesh follow the import morph option #jira UE-42846 Change 3434825 by Matt.Kuhlenschmidt Fix crash when GC happens while the vr editor radial menu is open. Change 3434831 by Matt.Kuhlenschmidt Added missing file Change 3434868 by Shaun.Kime If you have a reroute node between a Material Function texture input and its usage, the parent material will fail to resolve the reroute node. #jira ue-44670 Change 3434998 by Alexis.Matte Meshes editors material/section panel are now fully transactional - Staticmesh editor: section material slot, section cast shadow, section collision, material slot instance, material slot name - Skeletal mesh editor: material slot instance, material slot name Also fix some transaction description #jira UE-44462 Change 3435195 by Jamie.Dale Fixed incorrect handling of some LTR scripts that require shaping These scripts need to go through HarfBuzz, and this also fixes a case where HarfBuzz wasn't applying font scale correctly. #jira UE-44767 Change 3435199 by Jamie.Dale Fixed some crashes/artifacts with bidirectional text It was possible for a line to compute an incorrect range, which could cause crashes or other highlighting issues. The highlighting logic has also been updated as the old code didn't handle all bidirectional cases correctly. Change 3435200 by Jamie.Dale Fixed a grapheme cluster metrics issue in the font editor viewport The viewport also now respects the default shaping method CVar. Change 3435771 by Alexis.Matte Fix degenerated bounds calculation for skeletalmesh when the skeleton is remove from a re-import (PhysicAsset API change, adding 1 function) #jira UE-44609 Change 3436856 by Jamie.Dale Added some missing Unicode block ranges Change 3436914 by Jamie.Dale Adding some missing combining character ranges to the text shaper Change 3436923 by Alexis.Matte PR #3463: Get bounds for all triangles, not just the first one. WedgeIndex was . (Contributed by DaveC79) #jira UE-43764 Change 3436948 by Jamie.Dale Updated the Portal to use the predefined Unicode block ranges Change 3436961 by Max.Chen Sequencer: Show camera shake/anim track menus even if there aren't any assets. Change 3437244 by Max.Chen Sequencer: Clear locked cameras when releasing Sequencer. #jira UE-44967 Change 3437515 by Arciel.Rekman UBT: improvements for LocalExecutor. - Larger number of parallel jobs on 16GB+ machines. - Use WaitForExit() instead of polling. - Tested on Linux and Mac. Change 3437629 by Matt.Kuhlenschmidt Improve asset import data display in static and skeletal meshes Change 3438047 by Arciel.Rekman Fix overlapping ranges being passed to memcpy(). Change 3438822 by Yannick.Lange ViewportInteraction: Move gizmo handle files to make them private. Change 3438906 by Matt.Kuhlenschmidt PR #3556: Git Plugin: fix new option "init Git LFS" that make assets read-only (master/UE4.17) (Contributed by SRombauts) Change 3438907 by Matt.Kuhlenschmidt PR #3565: add -quality option to buildlighing commandlet (Contributed by kayama-shift) Change 3438908 by Matt.Kuhlenschmidt PR #3558: UE-44862: Always update SColorPicker color on OK button (Contributed by projectgheist) Change 3439393 by Matt.Kuhlenschmidt Force highest LOD for highres screenshots Change 3439819 by Matt.Kuhlenschmidt Turned FAssetData into a struct for some upcoming script exposure of FAssetData Change 3439949 by Arciel.Rekman Fixed selection logic for the UE4_LINUX_USE_LIBCXX environment variable. - Allows disabling libc++ by setting the variable to 0. - Pull request #3576 contributed by jared-improbable. Change 3441078 by Jamie.Dale The culture/language/locale console commands are now available in all build configs Change 3441109 by Jamie.Dale Text containing surrogate pairs now runs through HarfBuzz when shaping in Auto mode This is needed as the kerning-only shaping code assumes that everything is within the BMP Change 3441275 by Matt.Kuhlenschmidt Disable spinning on location and scale. These dont work because we have no notion of infinite spinning Change 3442748 by Yannick.Lange ViewportInteraction: Remove unused console variables. Change 3442775 by James.Golding Add support for editing MaterialFunctions to MaterialEditingLibrary Pull Material recompile/update code into UMaterialEditingLibrary::RecompileMaterial Pull MaterialFunction update code into UMaterialEditingLibrary::UpdateMaterialFunction util Move RebuildMaterialInstanceEditors to UMaterialEditingLibrary Added test content for Material/MaterialFunction editing Add needed BlueprintReadWrite to expressions (constants, function input/output) Expose UMaterialExpressionMaterialFunctionCall::SetMaterialFunction to BP, rename old func (which takes old function) to SetMaterialFunctionEx, also expose GetInputNameWithType Change 3442779 by James.Golding Fix header order Change 3442817 by Yannick.Lange ViewportInteraction: Add can execute checks for level editor commands. Change 3443038 by Michael.Dupuis #jira UE-43377: When you select a foliage actor we will move all instance contained in it to the new level as we can't move a foliage actor Only permit moving foliage instance if there is some selected Change 3443855 by Michael.Dupuis #jira UE-44885: Unregister from PerModuleDataObjects when the object is destroyed Change 3446096 by Max.Chen Sequencer: Add OnFinished() event when a level sequence completes playback #jira UE-45173 Change 3446097 by Max.Chen Sequencer: Evaluate one last time before the sequence is torn down and reset #jira UE-45174 Change 3446242 by Jamie.Dale Fixed caret not appearing in empty text layouts Caret selections have no range, and therefore have no width Change 3446361 by Matt.Kuhlenschmidt Fix WITH_EDITOR only functions causing generated code compile errors when the all functions on the class are WITH_EDITOR Change 3446457 by Alexis.Matte Polish the speed tree import dialog #jira UE-44963 Change 3446946 by Michael.Trepka Modified FWindowsWindow::GetRestoredDimensions to return correct window position for normal windows for which GetWindowPlacement returns position in workspace coordinates #jira UE-37934 Change 3447543 by Arciel.Rekman Reduce VMAs on Linux. - Trades off increased address space (VIRT in terms of ps/htop) for smaller number of distinct mappings (VMAs, virtual memory areas). This decreases possibility to run into vm.max_map_count limit on Linux. - Tested on Linux and Mac. Change 3448468 by Arciel.Rekman Fix race condition during creation of GMalloc. - On Mac GMalloc can be created on two different thread that are racing with each other - app's main thread and a system thread. Change 3449012 by Max.Chen Sequencer: Add time to transform, color and vector key structs so that key times are editable from the key editors. #jira UE-45089 Change 3449018 by Max.Chen Sequencer: Add OnCameraCut event that fires when there is a camera cut. #jira UE-45137 Change 3449195 by Max.Chen Sequencer: Add setting for limit scrubbing to playback range. #jira UE-43502 Change 3449198 by Max.Chen Sequencer: Reorder hierarchical bias so that group priority takes precedence. Change 3449217 by Max.Chen Sequencer: Add setting to activate realtime viewports when in sequencer. Change 3449219 by Max.Chen Sequencer: Focus on search boxes when opened. Change 3449238 by Max.Chen Sequencer: Assign actor should replace the actor itself after it has updated all the components. Also, replace components be fullname rather than by class. Change 3449239 by Max.Chen Sequencer: Fix offsets when moving multiple sections. Dragging should be clamped to the bounds that any of the selected sections hits against the unselected sections. Change 3449241 by Max.Chen Sequencer: Restore section selection after full tree rebuild. Change 3449279 by Max.Chen Sequencer: Set movie scene capture frames only when not using custom frames. This allows the user entered frame numbers to persist in config, rather than overwriting them when doing a "Render Shot" Change 3449280 by Max.Chen Sequencer: Spawn in the persistent level. Otherwise, they get spawned into whatever sublevel is current. #jira UE-44552 Change 3449294 by Max.Chen Sequencer: Null check for sequencer ed mode crash. Change 3449297 by Max.Chen Sequencer: Fix delay in sliding values. Mark changed when sliding values. Mark refresh immediately when committing values since OnValueChanged will be called and needs to have the correct value that was refreshed immediately. #jira UE-42866 Change 3449542 by Max.Chen Sequencer: Fix scrubber hit testing so that the time scrubber is really favored over the playback ranges. #jira UE-44569 Change 3451507 by Matt.Kuhlenschmidt Fix extra slate uv coords not functioning on ES2 Change 3451510 by Matt.Kuhlenschmidt PR #3595: Fixed wrong colour for level status (Contributed by ronve) Change 3451529 by Alexis.Matte fbx scene importer: Make sure we set INVALID_UNIQUE_ID to node that has no attribute. #jira UE-34410 Change 3451611 by Yannick.Lange ViewportInteraction: Dragging gizmo without second pass for snapped calculations. Change 3452134 by Jamie.Dale Fixed constant font cache flushing if a widget had no font set Change 3452239 by Jamie.Dale Fixed constant font measure flushing if a widget had no font set Change 3452243 by Jamie.Dale Removed deprecated code for creating fonts from bulk data Change 3452277 by Jamie.Dale The concept of "stale" composite fonts is now editor-only Change 3452358 by Alexis.Matte Fbx scene importer: Do not remove existing attribute reference from the blueprint if the reimport of the associate mesh attribute is not tick. #jira UE-45232 Change 3452678 by Max.Chen Sequencer: Fix crash on export if there's no shot data. Change 3453057 by Matt.Kuhlenschmidt Exposed asset exporting to script Change 3453782 by Andrew.Rodham Sequencer: Fixed deterministic cooking issues with movie scene data - Movie scene signatures are now initialized in PostInitProperties - A warning is now presented when attempting to cook old data that was never serialized with a signature. - Removed redundant legacy data upgrade logic that could dirty level sequences on load. #jira UE-44912 Change 3453788 by Yannick.Lange ViewportInteraction: Custom scene proxy for gizmo handles. Change 3453938 by Max.Chen Sequencer: Hotkeys (shift , and shift .) to step to next/previous shot #jira UE-45119 Change 3454058 by Michael.Dupuis Fixed StaticAnalysis Change 3454077 by Max.Chen Sequencer: Fix not saving the pre-animated track value when creating a track/key. On pre object change, broadcast property change so that a track or key can be created. That track/key needs to be evaluated immediately so that the pre-animated state can be saved properly. This is done now with RefreshAllImmediately and is only called when a track has been created. Also, added a return value for OnKeyProperty, so that it's known what changed in particular (ie. track created, track modified, etc) Also, fixed transform keying so that if a transform track already exists for the object or the scene component, the existing track is used. #jira UE-45130 Change 3454108 by Nick.Darnell UMG - Fixing the WIC to properly record cursor delta so that scrollbars work. Change 3454109 by Jamie.Dale Cache the text layout source info in non-shipping builds so you can inspect it in the debugger Change 3454202 by Matt.Kuhlenschmidt Fix bogus error message about the number of usable texture coordinates on ES2 when compiling a UI domain material Change 3454390 by Yannick.Lange Fix creating a plugin in a C++ project opens a second instance of Visual Studio. Use SourceCodeAccessor to open solution when necessary. #jira UE-45035 Change 3454564 by Matt.Kuhlenschmidt #rnx Fix deprecation warnings Change 3455471 by Yannick.Lange ViewportInteraction: Fix entering and exiting VR Mode disables gizmo in desktop editor viewport. #jira UE-44965 Change 3456183 by Max.Chen Sequencer: Auto key, auto track refactor. Auto key - create a key when the property changes and there's an existing track. Auto track - create a track when the property changes. This is only exposed in the level sequence editor. All - create a key and a track when the property changes. This is only exposed in VR Editor. None - do nothing. #jira UE-43469 Change 3456349 by Andrew.Rodham Sequencer: Only perform legacy signature checks on instances, and only where signatures match the CDO Change 3456678 by Alexis.Matte Allow to add null level instance override material via the advance material array. But still limit the override material number to the mesh material number. #jira UE-45306 Change 3456945 by Max.Chen UMG: Add restore state to 2d transform section. #jira UE-45372 Change 3457196 by Arciel.Rekman Linux: serialize allocations from the memory pool. Change 3458434 by Max.Chen Sequencer: Remove obsolete set tick prerequites functions. Change 3458671 by James.Golding Added MIC editing support to MaterialEditingLibrary Fix static analysis warning Change 3458888 by Matt.Kuhlenschmidt PR #3615: More detailed log messages for debugging warnings/errors (Contributed by projectgheist) Change 3458893 by Matt.Kuhlenschmidt PR #3583: UE-44960: Delta value wasn't being used (Contributed by projectgheist) Change 3458895 by Matt.Kuhlenschmidt Fix typo Change 3458902 by Matt.Kuhlenschmidt PR #3607: Improved InputKeySelector functionality (Contributed by projectgheist) Change 3458917 by Matt.Kuhlenschmidt Fix crash with invalid object properties in the class picker #jira UE-39000 Change 3458939 by Matt.Kuhlenschmidt Fix compile error Change 3458984 by andrew.porter QAGame: Initial check in of sequencer smoke test map Change 3459510 by Matt.Kuhlenschmidt Fixed ensure when deleting a map that contains build data which also happens to be the currently loaded map. #jira UE-45052 Change 3460985 by Max.Chen Sequencer: Snap play time to keys now allows scrubbing between keys and snaps to key times within a certain screenspace tolerance. #jira UE-45090 Change 3461698 by Arciel.Rekman Avoid using ARRAY_COUNT in Vulkan. - Sometimes those arrays can have no extensions whatsoever, and it is illegal to declare a 0 element C array. Change 3462053 by Max.Chen Sequencer: Show sequencer spawnables in the world outliner and add the icon overlay for spawnables. #jira UE-43470 Change 3462139 by Max.Chen Property Editor: Add objects to FPropertyAndParent Change 3462202 by Arciel.Rekman Fix FSocket::Recv() blocking with Peek when there's no data. Change 3462253 by Nick.Darnell Slate - New Clipping System Clipping is now a stateful choice made during composition of the slate hierarchy. Previously every widget got to respect or modify the clipping rect on an as needed basis. The problem was that clipping was only allowed in the layout space of the widget, and it wasn't possible to properly clip elements with render transforms. The new system permits all kinds of transforms on any widget, and they will all be clipped correctly. It tries to use Scissor Rects as they are much cheaper, but will switch over to stenciling if need be to represent a complicated masking structure with several rotated clipping rects all needed to be combined together. Here are the new clipping states a widget can have, almost all widgets are set to No. Only change it from No if your widget actually needs to clip, generally speaking most widgets don't need to clip. /** * This widget does not clip children, it and all children inherit the clipping area of the last widget that clipped. */ Inherit, /** * This widget clips content the bounds of this widget. It intersects those bounds with any previous clipping area. */ ClipToBounds, /** * This widget clips to its bounds. It does NOT intersect with any existing clipping geometry, it pushes a new clipping * state. Effectively allowing it to render outside the bounds of hierarchy that does clip. * * NOTE: This will NOT allow you ignore the clipping zone that is set to [Yes - Always]. */ ClipToBoundsWithoutIntersecting UMETA(DisplayName = "Yes - Without Intersecting (Advanced)"), /** * This widget clips to its bounds. It intersects those bounds with any previous clipping area. * * NOTE: This clipping area can NOT be ignored, it will always clip children. Useful for hard barriers * in the UI where you never want animations or other effects to break this region. */ ClipToBoundsAlways UMETA(DisplayName = "Yes - Always (Advanced)"), /** * This widget clips to its bounds when it's Desired Size is larger than the allocated geometry * the widget is given. If that occurs, it behaves like [Yes]. * * NOTE: This mode was primarily added for Text, which is often placed into containers that eventually * are resized to not be able to support the length of the text. So rather than needing to tag every * container that could contain text with [Yes], which would result in almost no batching, this mode * was added to dynamically adjust the clipping if needed. The reason not every panel is set to OnDemand, * is because not every panel returns a Desired Size that matches what it plans to render at. */ OnDemand UMETA(DisplayName = "On Demand (Advanced)") - Large API Change - All FSlateDrawElement::Make_____ calls have been deprecated that involved passing in a clipping rect. You no longer should are passed a Clipping rect via OnPaint. You are still passed a rect, but this rect represents a Culling Rect, which is valuable if you need to just out right not paint things the user can't possibly see. If you were previously trying to determine if you should cull widgets, by doing something like this, if ( FSlateRect::DoRectanglesIntersect(MyClippingRect, CurWidget.Geometry.GetRenderBoundingRect()) ) That's no longer a good option since there are ways for widgets to ignore the culling bounds. You should convert anything like above to the one below, if (!SWidget::IsWidgetCulled(MyCullingRect, CurWidget)) To assist in debugging efforts, there are several new debugging console flags in Slate, Slate.ShowClipping 1 - Controls whether we should render a clipping zone outline. Yellow = Axis Scissor Rect Clipping (cheap). Red = Stencil Clipping (expensive). Slate.DebugCulling 1 - Disables pushing clipping or stencil rects to the GPU, but continues to intersect culling rects, so that you can tell if a widget is properly culling children it can't possibly draw. Slate.ShowTextDebugging 1 - Show debugging painting for text rendering. I've added a new Experimental Feathering Option, it adds AA geometry around the outside of Box and Image brushes. Slate.Feathering 1 If you're using RenderDoc or something similar, you can now enable render events for slate, so that you can better grok how we're batching and changing states for each UI render pass. Slate.EnableDrawEvents 1 #jira UE-4659 #rn Change 3462714 by Nick.Darnell Fixing a few more compiler issues with the clipping changes. Change 3462726 by Max.Chen Switch OnEditStructChildContentsChanged to use FObjectWriter instead of FMemoryWriter which supports serializeing UObjects. This fixes a crash when adding actor array elements to a user defined event struct. #jira UE-45431 Change 3462801 by Nick.Darnell Adding a UMG dependency to EngineTestBuild. Change 3462914 by Max.Chen Sequencer: Fix regression where spawnables aren't getting saved. Caused by 3407138 #jira UE-30007 #jira UE-39003 Change 3462946 by Nick.Darnell Automation - Tweaking the UI automation tests converting them over to use the new UI Screenshot automation test. Automation - Adding a blur widget test. Change 3462987 by Matt.Kuhlenschmidt Back out changelist 3458893 Change 3464774 by Matt.Kuhlenschmidt PR #3629: Bugfix: Missing small icon in Project Launcher profile editor (Contributed by aarmbruster) Change 3464785 by Nick.Darnell Fixing some clipping stuff in the editor. Change 3464830 by andrew.porter QAGame: Second pass on sequencer smoke test map Change 3464902 by Nick.Darnell Loading - Adding some additional checks to the the loading code to ensure we're on the main thread. Additionally adding a fix from UDN that prevents deadlocks in the rare case a user hits Alt+Tab in a fullscreen game while in a hard loading screen. Change 3464988 by Max.Chen Sequencer: Add attenuation settings for attached audio components. #jira UE-33080 Change 3465024 by Nick.Darnell MoviePlayer - Impoving the playback mode displaynames. Change 3465074 by Arciel.Rekman Fix shadowing issues of GraphicsPSOInit. Change 3465097 by Matt.Kuhlenschmidt Some refactoring of the details panel Exposed new methods of adding a struct on scope to a details panel and have it work properly with customizations. The scruct on scope has a "fake" ustructproperty that allows the details panel to show the whole struct not just an individual property. Refactored the API for adding rows to details panels to make it more consistent\ AddChildCustomBuilder->AddCustomBuilder AddChildGroup->AddGroup AddChildContent->AddCustomRow AddChildPropert->AddProperty AddChildStructure->AddExternalStructureProperty AddStructure->AddAllExternalStructureProperties AddExternalProperty->AddExternalObjectProperty or AddExternalStructureProperty Change 3465186 by Max.Chen Sequencer: Save the BindingID in the pre animated token producer so that it can be destroyed properly. This fixes a bug where the default state of a spawnable isn't saved. #jira UE-43780 Change 3465315 by Matt.Kuhlenschmidt Fix Fortnite and Orion details panel customization warnings Change 3465424 by Nick.Darnell Automation - Moving the step for setting the link to the automation reports to be set before we start the engine. Change 3465488 by Nick.Darnell Automation - Forcing textures to load before taking screenshot, so that the scene gets another opportunity to render before we render with Slate. This should fix the Blur UI Test. Change 3466277 by Arciel.Rekman Linux: fix window drift when dragging (UE-40380). - Change by Cengiz Terzibas. Change 3466370 by Nick.Darnell UMG - Fixing the colors for the resize handle in the designer. Change 3466372 by Nick.Darnell UMG - Fixing the ruler ticks sometimes not being drawn. Change 3466374 by Nick.Darnell UMG - Fixing the designer showing multiple options for sequencer. Change 3466377 by Nick.Darnell UMG - Cleaning up some clipping bits. Change 3467025 by Andrew.Rodham Re-saving assets that contain legacy (<4.15) movie scene data to remove deterministic cook warning. If conflicts arise during merging of these assets, please ignore the changes made in dev-editor, and accept game-side changes. (CIS step 62283298, jobId 7773146) (CIS step 62283297, jobId 7773146) Change 3467099 by Max.Chen Fix GetObjectPropertyClass ensure logic. This was returning UObject::StaticClass when valid. Change 3467172 by Max.Chen Sequencer: Evaluation optimizations. Also, fixes subsequences not getting expired, leaving dangling spawnables. #jira UE-43690 Change 3467192 by Matt.Kuhlenschmidt Fix transactions getting stuck in the color grading controls. This prevents PIE from working properly and causes shutdown crashes #jira UE-45527 Change 3467251 by Yannick.Lange ViewportInteraction: Fix scale and rotation snap while dragging with two lasers. #jira UE-43489 Change 3467331 by Matt.Kuhlenschmidt Fix D3D shader compiler hard coding shader path and not giving proper warnings when it cannot find the shaders Change 3467335 by Matt.Kuhlenschmidt Remove DarkStyle attribute from SNumericEntryBox and allow a spin box style to be passed to it. Change 3467558 by Max.Chen Scene Outliner: Generic support to add default columns to a scene outliner. Change 3467565 by Jamie.Dale Removing old screenshot data for test Change 3467589 by Nick.Darnell Editor - Random cleanup. Change 3467596 by Nick.Darnell Progress Bar - Exposing Border Padding to UMG. Change 3467600 by Nick.Darnell Slate - Adjusting the rendering of the splitter, previously it could be off by a pixel or two, which becomes more apparent now with the clipping changes. Change 3467601 by Max.Chen Property Editor: Fix static analysis warning Change 3467662 by Nick.Darnell Automation - Fixing a bug with the screenshot comparison tool not replacing (removing) the old screenshot data. Change 3467674 by Max.Chen Property Editor: Fix static analysis warning Change 3467737 by Max.Chen Sequencer: Added OnMovieSceneBindingsChanged delegate Change 3468053 by tim.gautier QAGame: Updating Editor Smoke Map - Updated landscapes into Stations for testing - Added Foliage Sublevel Change 3468194 by Arciel.Rekman Linux: fix problems communicating with various STL-using libs. - Stop hiding global new/delete signatures. - Disable CEF3 since this change uncovers the problem with libcef.so not built to use bundled libpng. Change 3468678 by Max.Chen Sequencer: Set "Sequencer Actor" tag before setting the actor label so that the outliner refreshes after the actor has the tag. Change 3469314 by tim.gautier QAGame: Added Painted Foliage / Spline section to EditorSmoke map Change 3469377 by Nick.Darnell Slate - Fixing some warnings in a couple of sample games due to the clipping changes. #rnx Change 3469767 by Max.Chen Sequencer: Outliner column and sequencer binding data #jira UE-43470 Change 3469974 by Arciel.Rekman Fix code projects not working in Linux installed build. Change 3470082 by Nick.Darnell Slate - The GetRenderer() call on SlateApplication no longer returns a SharedPtr, rather than convert it to a thread safe ptr, going to just make accessing it a raw ptr return, so it can be safely referenced on the game thread while being used on the slate loading thread. Change 3470174 by Nick.Darnell Slate - Get the last widget in a widget path utility. Change 3470176 by Nick.Darnell UMG - User Widgets now have an easy way to know if they're part of or have been removed from the focused widget path, which is handy for doing effects. Change 3470261 by Nick.Darnell Slate - The GetRenderer() call on SlateApplication no longer returns a SharedPtr, rather than convert it to a thread safe ptr, going to just make accessing it a raw ptr return, so it can be safely referenced on the game thread while being used on the slate loading thread. Change 3470286 by Max.Chen Sequencer: Scene Component's HiddenInGame now goes through the VisibilityTrack and the visibility template. Change 3470366 by Nick.Darnell Slate - We now version focus per user, that way during focus events, we can safely abort focus events and state transitions if someone interrrupts the active focus event with something new. Change 3470649 by Matt.Kuhlenschmidt Fix deprecation warnings Change 3470695 by Matt.Kuhlenschmidt Fixed typo #jira UE-45580 Change 3470721 by Matt.Kuhlenschmidt Fix static analysis Change 3471254 by Michael.Dupuis #jira UE-42952: Keep occlusion result per view Change 3471287 by Nick.Darnell UMG - Render Focus Rule now defaults to never. Change 3471291 by Nick.Darnell Slate - Fixing FSlateRenderer* change fallout. Change 3471299 by Nick.Darnell Slate - Fixing FSlateRenderer* change. Change 3471323 by Nick.Darnell Automation - Fixing automation and Static Analysis warning. Change 3471413 by andrew.porter QAGame: Added test content for anim blending and material parameteres to sequencer smoke level Change 3471649 by Max.Chen Sequencer: Modify the track when adding animation #jira UE-45618 Change 3471659 by Matt.Kuhlenschmidt Added a way to check if a movie is playing from the engine. Prevented viewport redraws for canvas loading screens if a slate based loading movie is playing Change 3471734 by Matt.Kuhlenschmidt Added basic material hookup to USD. Similar to FBX it will find materials based on rules specified by the user in the import settings Change 3472176 by Nick.Darnell UMG - Improving the display of the +Track menu in sequencer for UMG. Renamed it from +Add, which is repetitve to +Track. Additionally, the dropdown now shows the currently selected widgets, as well as a submenu containing all the 'important' widgets, so we no longer populate that list with a ton of irrelevant widgets that are just Buton_1 - N, which is pointless in showing people, they'll never guess which is the right button. Change 3472740 by Max.Chen Sequencer: Add GetThisFrameMetaData accessor Change 3472748 by Max.Chen Sequencer: Added OnBeginScrubbing and OnEndScrubbing event delegates Change 3472753 by Max.Chen Sequencer: Add EMovieSceneDataChangeType parameter to OnMovieSceneDataChanged delegate Change 3472870 by Nick.Darnell Clipping - Fixing the deprecated tip for scissor rect boxes to be correct. Removing it's usage from UT. Change 3473340 by Max.Chen Scene Outliner: Add ability to register additional filters Change 3473348 by Max.Chen Details View: Make ForceRefresh virtual. Added accessors to delegates (ie. GetIsPropertyReadOnlyDelegate) Change 3473441 by Max.Chen Sequencer: Autokey Refactor Part 2. Autokey is now a single toggleable state. Allow Edits Mode has 3 states: Allow All Edits - Allow any edits to occur, some of which may produce tracks/keys or modify default properties. Allow Sequencer Edits Only - All edits will produce either a track or a key. Allow Level Edits Only - Properties in the details panel will be disabled if they have a track. #jira UE-45229 Change 3473670 by Nick.Darnell Modules - The module manager no longer returns sharedptrs to IModuleInterfaces, this was the source of rare hard to track down crashes due to a shared ptr reference leak when GetModule was called on non-main threads. We now store a TUniquePtr internally, and only lease out raw pointers. #rn Change 3473711 by Nick.Darnell Disabling the ensure in the module manager. Change 3473747 by Max.Chen Sequencer: Fix tooltip Change 3474091 by Jamie.Dale Added a warning when cooking a UFontFace that is outered to a UFont asset These cause issues with iterative COTF, and should be split off into their own assets (as the UI has been asking people to do for several versions) Change 3475052 by Yannick.Lange VR Editor: Fix Crash when quitting the editor with VR Mode enabled. VR Editor was being enabled when saving the map on closing the editor. #jira UE-45415 Change 3475054 by Yannick.Lange Fix crash when adding a camera to the world in VR Mode the second time. The slate application did not reset when stop dragging in VR Mode, so the second time when starting to drag a camera out of the UI it would already by in a dragging state. #jira UE-45574 Change 3475263 by Nick.Darnell Fixing some additional cases of IModuleInteface SharedPtr usage. Change 3475268 by Max.Chen Sequencer: Set jumped state when looping playback. This fixes an issue where audio doesn't stop and restart when looped. #jira UE-45654 Change 3475269 by Max.Chen Scene Outliner: Additional filters should only apply to actor browsing mode Change 3475407 by Nick.Darnell Fixing some clipping / module shared ptr changes in the launcher code. Change 3475542 by Max.Chen Sequencer: Update thumbnail and section highlighting to use new clipping behavior. #jira UE-45692 #jira UE-45689 Change 3475743 by Michael.Dupuis #jira UE-45183: When updating phyx region take into account simple collision mip Change 3475949 by Arciel.Rekman Remove PhysX deoptimization (no longer needed). - OR-24947 has been closed three months ago. Change 3476022 by Michael.Dupuis #jira UE-45560: Make sure we're not going out of range Change 3476063 by Michael.Dupuis #jira UE-45562: Do not try to unregister from static mesh if no static mesh is specified for the component Change 3476168 by Michael.Trepka Added handling of directory symlinks to FApplePlatformFile::IterateDirectory #jira UE-43704 Change 3476172 by Nick.Darnell Fixing a Imoduleinterface change. Change 3476183 by Jamie.Dale Exposing GoTo/ScrollTo to single-line editable text for API parity with multi-line editable text Change 3476385 by Arciel.Rekman Linux: handle symlinks when iterating directories. Change 3476522 by Michael.Trepka Solved a problem with Mac FMallocTBB::Malloc() returning nullptr for 0 bytes allocations, which is inconsistent with other platforms. On Mac we always scalable_aligned_malloc, which behaves differently than scalable_malloc, so for 0 bytes requests we allocate sizeof(size_t), which is exactly what scalable_malloc does internally in such case. Change 3476806 by Nick.Darnell UMG - Focus the designer after dropping a widget onto the surface. Change 3476809 by Nick.Darnell Curve Editor - Enable Clipping on the curve editor. Change 3477475 by Nick.Darnell Fixing a module interface shared ptr usage in UT. Change 3477553 by Yannick.Lange VR Editor: Removed AssetEditorPanelID and replaced it with TabManagerPanelID. A panel for AssetEditorPanelID was never created making it impossible to open an asset editor. Change 3477734 by Yannick.Lange VR Editor: Fix Warning: SetRelativeScale3D : Invalid Scale entered (X=inf Y=inf Z=inf). Resetting to 1.f. warning when adding CineCameraActor to World from Modes Panel. Make sure to not divide by zero when there is no boundary scale. #jira UE-44933 Change 3477761 by Jamie.Dale Some improvements to avoid loading the native .locres files twice when we don't need to Change 3477780 by Nick.Darnell PR #3250: Return correct VirtualUserIndex (Contributed by projectgheist) Change 3477786 by Nick.Darnell PR #3650: Changed TestNull to accept const pointers. (Contributed by e-agaubatz) Change 3477795 by Nick.Darnell PR #2844: UE-36936: Don't stretch container for Plugin Image (Contributed by projectgheist) Change 3478092 by Nick.Darnell PR #2341: Optional Middle Mouse Button panning in Graph Editor (Contributed by flipswitchingmonkey) Engine Edit - Made some small changes to the enum type, and some naming. Change 3478450 by Nick.Darnell Fixing some uninitialized variable errors. Change 3479827 by Andrew.Rodham Sequencer: Addressed serialization issues with some struct types Change 3479874 by Jamie.Dale Fixed "NativeGameLanguage" not being used correctly during localization initialization Change 3480012 by Andrew.Rodham Sequencer: Fixed loading tagged properties as native for track identifiers #jira UE-45823 Change 3480337 by Alexis.Matte Fix morph target crash missing some valid index check Change 3480804 by Alexis.Matte Fix crash with ColorGradingMode custom detail #jira UE-45638 Change 3480892 by Andrew.Rodham Sequencer: Ensure that movie scene sequences know about the editor object version #jira UE-45842 Change 3481073 by Nick.Darnell Fix the shader compiler error from main in Slate. Change 3481303 by Nick.Darnell UMG - Fixing a bug with the drag handle not working correctly in HDPI mode. Change 3481308 by Nick.Darnell Slate - Tweaking the IsWidgetCulled logic to consider both the layout and rendering bounds. If we do this, we get a much more desireable outcome for people that want to animate widgets and such and plan to have temporary animations to move the widget offscreen, but want the layout bounds to anchor that widget in the visible frame so that it animates even when normally it would be culled b/c the render transform and therefore the renderbounds moved it completely outside the culling rect. Change 3481629 by Max.Chen Sequencer: Add Level Sequence Actor as an output for CreateLevelSequencePlayer() #jira UE-45785 Change 3481899 by Yannick.Lange VR Editor: Added debug modetoggle command with an event that is broadcasted whenever this happens. Currently this is used to show all the floating UIs of the UI system to debug without HMD using VREd.ForceVRMode. Change 3481984 by Michael.Dupuis #jira UE-45845: always validate if we have a static mesh before trying to access it as user can decide to not assign one and use the tools Change 3482047 by Nick.Darnell Slate - Adding some comments to IsWidgetCulled. Change 3482110 by Nick.Darnell Slate - IsWidgetCulled is no longer static and is now called IsChildWidgetCulled. Change 3482136 by Jamie.Dale The CamelCase break iterator now treats digits around character tokens as part of the identifier Change 3482138 by Michael.Dupuis #jira UE-45854: Properly unregister during undo operation Change 3482150 by Michael.Dupuis #jira UE-45845 : Add missing nullcheck for GetStaticMesh Change 3482153 by Nick.Darnell Slate - IsWidgetCulled is no longer static and is now called IsChildWidgetCulled. Change 3482180 by Nick.Darnell UMG - Widget Components do not need to define a widget class to be rendererd, they can have native slate widgets only. This was a regression from main. Change 3482273 by Nick.Darnell UMG - Tweaking some more things about the widget component box outline. Change 3482308 by Alexis.Matte Fixing morph target smooth group support. Do not call FillSkeletalMeshImportData more then once on FbxNode since this fonction is doing some conversion and change the FbxNode, applying those conversion twice do not return the same faces smooth group. #jira UE-45696 Change 3482327 by Nick.Darnell UMG - More tweaks to the WidgetComponent so both shows the box outline, but works in game and VR editor. Change 3482705 by Andrew.Rodham Resaving assets that contain legacy data to suppress CIS warnings. - If conflicts arise in these assets, please take game-side changes and ignore these. Change 3484245 by Max.Chen Sequencer: Evaluate on end scrub. This fixes a bug where audio doesn't evaluate in a stopped position at the end of scrubbing, causing it to not stop all sounds. This fixes a bug introduced from 3365018 where evaluate on end scrub was removed. #jira UE-45905 Change 3484263 by Max.Chen Sequencer: Fix crash on forcing refresh of details panel on release. #jira UE-45911 Change 3484431 by Andrew.Rodham Resaving assets that contain legacy data to suppress CIS warnings. - If conflicts arise in these assets, please take game-side changes and ignore these. Change 3484474 by Alexis.Matte Fix the morph target animation curve name matching. #jira UE-20294 Change 3484475 by Alexis.Matte When removing a LOD, make sure we remove all morph target data associate to the LOD. Change 3484489 by Nick.Darnell PR #3668: UE-45908: Cache debug line locations when performing a LineTraceMulti (Contributed by projectgheist) #jira UE-45908 Change 3484692 by Nick.Darnell Slate - Reverting a change from a game stream. All Arranged Children don't need to allocated 42 to begin with. Do need to initialize WidgetPaths better. Change 3484703 by Nick.Darnell Player Input - Making the input event loop for players obey EKeys::NUM_TOUCH_KEYS, rather than being set to Touch10, as the maximum touch input amount, to make supporting greater than 10 touches easier. Also making the seeding of keys use EKeys::NUM_TOUCH_KEYS. #jira UE-43213 Change 3484918 by Jamie.Dale Fixed font measuring regression with RTL text RTL applies the character count to the next glyph, so it shouldn't process the end of the loop (this was how the older code used to work). Change 3485718 by Nick.Darnell Editor - Removing Super Search & User Feedback button. Change 3485719 by Nick.Darnell Portal - Removing SuperSearch. Change 3485751 by Matt.Kuhlenschmidt Fix crash accessing platformer game menu if the menu is open during a console based load #jira UE-45950 Change 3486047 by Arciel.Rekman Linux: add OpenEXR implementation (UE-40270). #jira UE-40270 Change 3486467 by Max.Chen Sequencer: Reset max tick rate when destroyed. #jira UE-45956 Change 3486477 by Max.Chen Sequencer: Refresh outliner when column is removed. #jira UE-45891 Change 3486667 by Andrew.Rodham Added missing include Change 3486724 by Andrew.Rodham Sequencer: Fixed curves with no default value, and no keys being evaluated and applied to properties - Also fixed an edge case where a zero (but non-animated) channel could be applied to a final transform Change 3486730 by Alexis.Matte In the Auto-Reimport options, hide the mout point only for the default /Game/ folder #UE-45684 Change 3486749 by Alexis.Matte Make sure the parent window of the monitor directory browse folder is set properly #jira UE-45682 Change 3486805 by Matt.Kuhlenschmidt Additional safety against invalid objects being accessed by slate Change 3486848 by Alexis.Matte Make sure Monitor folder feature support root mount point map folder During auto import, give priority to asset import factory over the scene import factory #jira UE-45691 Change 3486879 by Andrew.Rodham Removing obsolete QA assets Change 3486950 by Nick.Darnell PR #2281: Scrollbar missing features and SScrollbar fixes (Contributed by SNikon) Review - made some adjustments from the original. Change 3486954 by Nick.Darnell Slate - Moving the STableViewBase over to the FOverscroll class, rather than it's own clone. Change 3486967 by Nick.Darnell Slate - Fixing some HDPI calculations for fitting new windows on screen, it was using the unscaled size of the widgets for fitting, when it needed to scale them up. Change 3486970 by Andrew.Rodham Sequencer: Delay mouse capture until drag for sequencer time slider - Fixes context menus not opening as a result of mouse capture being taken on mouse down #jira UE-45937 Change 3486984 by Andrew.Rodham Sequencer: Improved blending type iconography Change 3486996 by Nick.Darnell UMG - Adding a way for games to opt-out of the slow widget path, to completely prevent them from being cooked. UMG - The movie data is no longer cloned for each new instance that inhabits. It now keeps a reference to the now publically accessible movie scene data on the class instead. Change 3487070 by Andrew.Rodham Sequencer: Added graphics for key areas that represent empty space Change 3487195 by Andrew.Rodham Sequencer: Changed evaluation groups to always flush implicitly - Due to the latent nature of blended token types, it's no longer safe to rely solely on execution token order between tracks - This fixes an issue where events set in the PostEvaluation stage were executed before blended token actuation Change 3487322 by Nick.Darnell PR #2457: Add .gitdeps.xml-files for plugins support (Contributed by bozaro) Change 3487363 by Nick.Darnell PR #2481: Fix for packing of a project with users plugins (Contributed by yatagarasu25) Change 3487439 by Nick.Darnell PR #2642: Changed private to protected in SVirtualJoystick.h (Contributed by Skylonxe) Change 3487500 by Arciel.Rekman Removed LinuxNativeDialogs. - No longer used; has been superceded by SlateDialogs since UE 4.8 (2 years ago). Change 3487630 by Lauren.Ridge Don't create Landscape Info Maps for Editor Preview Worlds or thumbnail worlds #jira UE-44885 Change 3487864 by Matt.Kuhlenschmidt Exposed the asset registry to blueprints and script. Works in editor scripts and runtime scripts AssetRegistry is now a UInterface object. Blueprint users can access various asset registry methods using the asset registry interface (via GetAssetRegistry) and various static helpers in the AssetRegistryHelpers object C++ users should still continue to use IAssetRegistry. Change 3487879 by Matt.Kuhlenschmidt Renamed asset tools uobject helper to UAssetToolsHelpers Change 3487926 by Lauren.Ridge Fixing reset to default not showing up for custom widgets #jira UE-44164 Change 3488184 by Matt.Kuhlenschmidt PR #3656: Make References/Referencers List copyable (Contributed by user37337) #jira UE-45763 Change 3488240 by Matt.Kuhlenschmidt Fix compiler issue Change 3488350 by Lauren.Ridge Landscape info map transactional state is based on its world's transactional state #jira UE-44885 #jira UE-46019 Change 3488412 by Matt.Kuhlenschmidt Fix reset to default showing up in two different places for some customizations Change 3488413 by Matt.Kuhlenschmidt Fix slate font customization Change 3488414 by Matt.Kuhlenschmidt Fix slate font customization Change 3488415 by Matt.Kuhlenschmidt Missed file Change 3488565 by Arciel.Rekman Add pretty printers for gdb (UETOOL-1171). - Committing shelf by Cengiz.Terzibas, with some modifications. #jira UETOOL-1171 Change 3489094 by Nick.Darnell Slate - The Slate RHI Renderer now caches the TextureLODGroups so that it can properly lookup the filtering of different texture groups that are set to Default, instead of a particular filter override on a texture. Engine/Rendering - Simplifying some of the setup logic in TextureLODSettings so that code is shared for setting them up properly after loading from a config file. Change 3489095 by Nick.Darnell PR #2699: GameViewportClient - Added a method to allow setting the viewport cur. (Contributed by rfenner) Review - Fixed spacing. Change 3489108 by Matt.Kuhlenschmidt Fix deprecation warning Change 3489120 by Nick.Darnell PR #3478: Fix possible UComboBoxString crash (Contributed by nakosung) Change 3489147 by Andrew.Rodham Sequencer: Adding return value to function to appease static analysis - This function is never compiled, and if it is, it won't compile, but static analysis doesn't know that Change 3489264 by Nick.Darnell Testing - Finishing the thought behind an enum comment. Change 3489265 by Nick.Darnell PR #2750: UE-35164: Button padding (Contributed by projectgheist) Change 3489267 by Nick.Darnell PR #3645: UE-45464: Handle SSlider mouse interaction more accurately (Contributed by projectgheist) Change 3489632 by Arciel.Rekman Correctness changes to MallocPoisonProxy. - Missing forwarding functions added. Incorrect comment removed. - Change by Steve.Robb, doing here so it is in 4.17. Change 3489689 by Arciel.Rekman More MallocPoisonProxy changes I missed in previous CL. Change 3489751 by Matt.Kuhlenschmidt Moved editor performance settings out of per-project settings so they can be shared across projects Change 3489837 by Lauren.Ridge Keyboard shortcut for entering/leaving VR Mode is now Alt+V Change 3491082 by Arciel.Rekman Linux: better fix for the crash due to name collision (UE-46040). - Put classes in Sequencer module into Sequencer namespace instead of SceneOutliner namespace. - Undid change in the SceneOutliner module. #jira UE-46040 Change 3491096 by Arciel.Rekman Fix UAT compilation on the newest mono. Change 3491240 by Max.Chen Sequencer: Disable key button when allow level edits only is on. #jira UE-46060 Change 3491406 by Yannick.Lange Fix editor crashes when opening a project that includes a plugin with more than two custom Volume classes. This issue was caused because registering show volume commands is based on finding volume classes. Finding these classes at multiple times resulted in a mismatch of the returned array of volume classes because modules/plugins were still being loaded. #jira UE-45806 Change 3491559 by Alexis.Matte Make sure we use the good preview mesh when doing a preview #jira UE-45963 Change 3491563 by Alexis.Matte Fix crash with staticmesh editor LodLevel selection Change 3491564 by Nick.Darnell UMG - Fixing an offset with the grab handles in HDPI mode. Change 3491595 by Nick.Darnell Editor - Fixing a clipping artifact in the pin type dropdown in the blueprint editor. Change 3491604 by Nick.Darnell Back out changelist 3489265 Change 3491615 by Arciel.Rekman Added malloc replay proxy (Linux only for now). - Allows to dump malloc callstream (without regard to threads) and replay later to study the behavior of different mallocs and/or repro problems. Change 3491684 by Arciel.Rekman Added FMalloc functions I missed. - Also moved function bodies into the .cpp file, this does not make a difference in performance in this case. Change 3491692 by Matt.Kuhlenschmidt Some minor fixes to the static mesh editor - Fix UV combo button looking non-standard on the toolbar - Fix a few combo buttons in the details panel looking too big. Change 3491702 by Arciel.Rekman Do not compile replay proxy-specific code when not used. Change 3491717 by Michael.Dupuis #jira UE-35083: The component is now the owner of the PerInstanceRenderData instead of the proxy Add an Update path to only update specified instances range Always call BuildTreeIfOutdated so we have a standard code path to make sure static mesh are fully loaded before trying to build the tree Moved the Instance Buffer aysnc to the base class, as it's not related to UHierarchicalInstancedStaticMeshComponent Expose a new property to decide if we require dynamic instance buffer Change 3491758 by Matt.Kuhlenschmidt Fix crash on static mesh editor shutdown Change 3491873 by Cody.Albert Fixed clipping issue in Sequencer curve editor #rnx Change 3491956 by Matt.Kuhlenschmidt Fix crash opening the Previewing sub-menu in the level editor settings menu #jira UE-46095 Change 3492046 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3492076 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3492165 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3492222 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3492274 by Michael.Dupuis #jira UE-46105: Fixed Clang warning Change 3492338 by andrew.porter QAGame: Testing ensure when submitting Change 3492371 by Nick.Darnell UMG - Reverting the animation sharing, cossed GLEO regressions in cooking. Will look for a better solution. Change 3492462 by Matt.Kuhlenschmidt Fix ensure checking in files through perforce Change 3492491 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3492505 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3492517 by Jamie.Dale The package localization ID is no longer used at all at runtime, and is now truly editor-only This should have always been the case, but it was leaked into manifest/archives/PO files in 4.14, and while 4.15 removed it from PO files it was still present in the manifest/archives. This change removes it entirely (unless gathering editor-only data, and even then the PO file will still collapse the entries together for translation), and the deprecated 4.14 export behavior will now produce an error if you attempt to use it. After taking this change you'll need to run a gather, import, and compile of your LocRes files to update your game localization to use the new localization IDs. Change 3492630 by Nick.Darnell UMG - Removing some extra cleanup code that's probably overkill and is causing a crash for uses of "Within" in class meta. #jira UE-46124 Change 3492692 by Matt.Kuhlenschmidt Fix drop shadows inheriting the outline color of the font. The outline should still appear but not have a different outline color from fill color Change 3492714 by Matt.Kuhlenschmidt Added outline with drop shadow to font automation test Change 3492737 by Matt.Kuhlenschmidt Fix linux Change 3492992 by tim.gautier Resaving Ocean Widget Blueprints / Sequences to resolve Legacy Sequence Data warnings #jira UE-46132 Change 3493089 by Jamie.Dale Ensure that the composite font of a font asset is flushed when the font object is GC'd Change 3493322 by Jamie.Dale Fixing null crash #jira UE-45758 Change 3494467 by Andrew.Rodham Fix Xbox warning Change 3494852 by tim.gautier QAGame: Changed streaming method of QA-EditorSmoke-Landscape to Always Loaded Change 3494853 by Nick.Darnell Another attempt at fixing the automation blueprint SA warning. Change 3494896 by Arciel.Rekman Fix possible null pointer access during Vulkan init. - May fix static analysis warnings in UE-46142, although warnings seem to be referring to something else. #jira UE-46142 Change 3494987 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3495010 by Matt.Kuhlenschmidt Adding additional logging to track down html5 issue Change 3495212 by Michael.Dupuis #jira UE-46143: Properly init the InstanceRenderData during the cooking phase (required by fortnite) Change 3495536 by Jamie.Dale Updating UGameEngine to call its Super::PreExit after performing its own teardown This prevents UEngine cleaning up resources that UGameEngine still needs. #jira UE-46159 Change 3495551 by Arciel.Rekman Another attempt to fix analyzer problem (UE-46142). Change 3495794 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3495905 by Matt.Kuhlenschmidt Fix USD crash when importing a meshwith no material [CL 3499771 by Matt Kuhlenschmidt in Main branch]
2017-06-19 20:27:30 -04:00
bool bHandleRightMouseButton = MouseEvent.IsMouseButtonDown( EKeys::RightMouseButton ) && TimeSliderArgs.AllowZoom;
Copying //UE4/Dev-Editor to //UE4/Dev-Main (Source: //UE4/Dev-Editor @ 3497164) #lockdown Nick.Penwarden #rb none ===================================== MAJOR FEATURES + CHANGES ===================================== Change 3433074 by Matt.Kuhlenschmidt Fix crash when clicking on certian tutorial blueprints. #jira UE-44593 Change 3433075 by Matt.Kuhlenschmidt Remove hittest grid log spam. The underlying problem causing this has been fixed Change 3433077 by Matt.Kuhlenschmidt Fix lighting becoming unbuilt when mesh painting #jira UE-44837 Change 3433081 by Matt.Kuhlenschmidt PR #3553: Crashfix for static array properties (Contributed by Pierdek) Change 3433104 by Alexis.Matte Make sure re-import skeletal mesh follow the import morph option #jira UE-42846 Change 3434825 by Matt.Kuhlenschmidt Fix crash when GC happens while the vr editor radial menu is open. Change 3434831 by Matt.Kuhlenschmidt Added missing file Change 3434868 by Shaun.Kime If you have a reroute node between a Material Function texture input and its usage, the parent material will fail to resolve the reroute node. #jira ue-44670 Change 3434998 by Alexis.Matte Meshes editors material/section panel are now fully transactional - Staticmesh editor: section material slot, section cast shadow, section collision, material slot instance, material slot name - Skeletal mesh editor: material slot instance, material slot name Also fix some transaction description #jira UE-44462 Change 3435195 by Jamie.Dale Fixed incorrect handling of some LTR scripts that require shaping These scripts need to go through HarfBuzz, and this also fixes a case where HarfBuzz wasn't applying font scale correctly. #jira UE-44767 Change 3435199 by Jamie.Dale Fixed some crashes/artifacts with bidirectional text It was possible for a line to compute an incorrect range, which could cause crashes or other highlighting issues. The highlighting logic has also been updated as the old code didn't handle all bidirectional cases correctly. Change 3435200 by Jamie.Dale Fixed a grapheme cluster metrics issue in the font editor viewport The viewport also now respects the default shaping method CVar. Change 3435771 by Alexis.Matte Fix degenerated bounds calculation for skeletalmesh when the skeleton is remove from a re-import (PhysicAsset API change, adding 1 function) #jira UE-44609 Change 3436856 by Jamie.Dale Added some missing Unicode block ranges Change 3436914 by Jamie.Dale Adding some missing combining character ranges to the text shaper Change 3436923 by Alexis.Matte PR #3463: Get bounds for all triangles, not just the first one. WedgeIndex was . (Contributed by DaveC79) #jira UE-43764 Change 3436948 by Jamie.Dale Updated the Portal to use the predefined Unicode block ranges Change 3436961 by Max.Chen Sequencer: Show camera shake/anim track menus even if there aren't any assets. Change 3437244 by Max.Chen Sequencer: Clear locked cameras when releasing Sequencer. #jira UE-44967 Change 3437515 by Arciel.Rekman UBT: improvements for LocalExecutor. - Larger number of parallel jobs on 16GB+ machines. - Use WaitForExit() instead of polling. - Tested on Linux and Mac. Change 3437629 by Matt.Kuhlenschmidt Improve asset import data display in static and skeletal meshes Change 3438047 by Arciel.Rekman Fix overlapping ranges being passed to memcpy(). Change 3438822 by Yannick.Lange ViewportInteraction: Move gizmo handle files to make them private. Change 3438906 by Matt.Kuhlenschmidt PR #3556: Git Plugin: fix new option "init Git LFS" that make assets read-only (master/UE4.17) (Contributed by SRombauts) Change 3438907 by Matt.Kuhlenschmidt PR #3565: add -quality option to buildlighing commandlet (Contributed by kayama-shift) Change 3438908 by Matt.Kuhlenschmidt PR #3558: UE-44862: Always update SColorPicker color on OK button (Contributed by projectgheist) Change 3439393 by Matt.Kuhlenschmidt Force highest LOD for highres screenshots Change 3439819 by Matt.Kuhlenschmidt Turned FAssetData into a struct for some upcoming script exposure of FAssetData Change 3439949 by Arciel.Rekman Fixed selection logic for the UE4_LINUX_USE_LIBCXX environment variable. - Allows disabling libc++ by setting the variable to 0. - Pull request #3576 contributed by jared-improbable. Change 3441078 by Jamie.Dale The culture/language/locale console commands are now available in all build configs Change 3441109 by Jamie.Dale Text containing surrogate pairs now runs through HarfBuzz when shaping in Auto mode This is needed as the kerning-only shaping code assumes that everything is within the BMP Change 3441275 by Matt.Kuhlenschmidt Disable spinning on location and scale. These dont work because we have no notion of infinite spinning Change 3442748 by Yannick.Lange ViewportInteraction: Remove unused console variables. Change 3442775 by James.Golding Add support for editing MaterialFunctions to MaterialEditingLibrary Pull Material recompile/update code into UMaterialEditingLibrary::RecompileMaterial Pull MaterialFunction update code into UMaterialEditingLibrary::UpdateMaterialFunction util Move RebuildMaterialInstanceEditors to UMaterialEditingLibrary Added test content for Material/MaterialFunction editing Add needed BlueprintReadWrite to expressions (constants, function input/output) Expose UMaterialExpressionMaterialFunctionCall::SetMaterialFunction to BP, rename old func (which takes old function) to SetMaterialFunctionEx, also expose GetInputNameWithType Change 3442779 by James.Golding Fix header order Change 3442817 by Yannick.Lange ViewportInteraction: Add can execute checks for level editor commands. Change 3443038 by Michael.Dupuis #jira UE-43377: When you select a foliage actor we will move all instance contained in it to the new level as we can't move a foliage actor Only permit moving foliage instance if there is some selected Change 3443855 by Michael.Dupuis #jira UE-44885: Unregister from PerModuleDataObjects when the object is destroyed Change 3446096 by Max.Chen Sequencer: Add OnFinished() event when a level sequence completes playback #jira UE-45173 Change 3446097 by Max.Chen Sequencer: Evaluate one last time before the sequence is torn down and reset #jira UE-45174 Change 3446242 by Jamie.Dale Fixed caret not appearing in empty text layouts Caret selections have no range, and therefore have no width Change 3446361 by Matt.Kuhlenschmidt Fix WITH_EDITOR only functions causing generated code compile errors when the all functions on the class are WITH_EDITOR Change 3446457 by Alexis.Matte Polish the speed tree import dialog #jira UE-44963 Change 3446946 by Michael.Trepka Modified FWindowsWindow::GetRestoredDimensions to return correct window position for normal windows for which GetWindowPlacement returns position in workspace coordinates #jira UE-37934 Change 3447543 by Arciel.Rekman Reduce VMAs on Linux. - Trades off increased address space (VIRT in terms of ps/htop) for smaller number of distinct mappings (VMAs, virtual memory areas). This decreases possibility to run into vm.max_map_count limit on Linux. - Tested on Linux and Mac. Change 3448468 by Arciel.Rekman Fix race condition during creation of GMalloc. - On Mac GMalloc can be created on two different thread that are racing with each other - app's main thread and a system thread. Change 3449012 by Max.Chen Sequencer: Add time to transform, color and vector key structs so that key times are editable from the key editors. #jira UE-45089 Change 3449018 by Max.Chen Sequencer: Add OnCameraCut event that fires when there is a camera cut. #jira UE-45137 Change 3449195 by Max.Chen Sequencer: Add setting for limit scrubbing to playback range. #jira UE-43502 Change 3449198 by Max.Chen Sequencer: Reorder hierarchical bias so that group priority takes precedence. Change 3449217 by Max.Chen Sequencer: Add setting to activate realtime viewports when in sequencer. Change 3449219 by Max.Chen Sequencer: Focus on search boxes when opened. Change 3449238 by Max.Chen Sequencer: Assign actor should replace the actor itself after it has updated all the components. Also, replace components be fullname rather than by class. Change 3449239 by Max.Chen Sequencer: Fix offsets when moving multiple sections. Dragging should be clamped to the bounds that any of the selected sections hits against the unselected sections. Change 3449241 by Max.Chen Sequencer: Restore section selection after full tree rebuild. Change 3449279 by Max.Chen Sequencer: Set movie scene capture frames only when not using custom frames. This allows the user entered frame numbers to persist in config, rather than overwriting them when doing a "Render Shot" Change 3449280 by Max.Chen Sequencer: Spawn in the persistent level. Otherwise, they get spawned into whatever sublevel is current. #jira UE-44552 Change 3449294 by Max.Chen Sequencer: Null check for sequencer ed mode crash. Change 3449297 by Max.Chen Sequencer: Fix delay in sliding values. Mark changed when sliding values. Mark refresh immediately when committing values since OnValueChanged will be called and needs to have the correct value that was refreshed immediately. #jira UE-42866 Change 3449542 by Max.Chen Sequencer: Fix scrubber hit testing so that the time scrubber is really favored over the playback ranges. #jira UE-44569 Change 3451507 by Matt.Kuhlenschmidt Fix extra slate uv coords not functioning on ES2 Change 3451510 by Matt.Kuhlenschmidt PR #3595: Fixed wrong colour for level status (Contributed by ronve) Change 3451529 by Alexis.Matte fbx scene importer: Make sure we set INVALID_UNIQUE_ID to node that has no attribute. #jira UE-34410 Change 3451611 by Yannick.Lange ViewportInteraction: Dragging gizmo without second pass for snapped calculations. Change 3452134 by Jamie.Dale Fixed constant font cache flushing if a widget had no font set Change 3452239 by Jamie.Dale Fixed constant font measure flushing if a widget had no font set Change 3452243 by Jamie.Dale Removed deprecated code for creating fonts from bulk data Change 3452277 by Jamie.Dale The concept of "stale" composite fonts is now editor-only Change 3452358 by Alexis.Matte Fbx scene importer: Do not remove existing attribute reference from the blueprint if the reimport of the associate mesh attribute is not tick. #jira UE-45232 Change 3452678 by Max.Chen Sequencer: Fix crash on export if there's no shot data. Change 3453057 by Matt.Kuhlenschmidt Exposed asset exporting to script Change 3453782 by Andrew.Rodham Sequencer: Fixed deterministic cooking issues with movie scene data - Movie scene signatures are now initialized in PostInitProperties - A warning is now presented when attempting to cook old data that was never serialized with a signature. - Removed redundant legacy data upgrade logic that could dirty level sequences on load. #jira UE-44912 Change 3453788 by Yannick.Lange ViewportInteraction: Custom scene proxy for gizmo handles. Change 3453938 by Max.Chen Sequencer: Hotkeys (shift , and shift .) to step to next/previous shot #jira UE-45119 Change 3454058 by Michael.Dupuis Fixed StaticAnalysis Change 3454077 by Max.Chen Sequencer: Fix not saving the pre-animated track value when creating a track/key. On pre object change, broadcast property change so that a track or key can be created. That track/key needs to be evaluated immediately so that the pre-animated state can be saved properly. This is done now with RefreshAllImmediately and is only called when a track has been created. Also, added a return value for OnKeyProperty, so that it's known what changed in particular (ie. track created, track modified, etc) Also, fixed transform keying so that if a transform track already exists for the object or the scene component, the existing track is used. #jira UE-45130 Change 3454108 by Nick.Darnell UMG - Fixing the WIC to properly record cursor delta so that scrollbars work. Change 3454109 by Jamie.Dale Cache the text layout source info in non-shipping builds so you can inspect it in the debugger Change 3454202 by Matt.Kuhlenschmidt Fix bogus error message about the number of usable texture coordinates on ES2 when compiling a UI domain material Change 3454390 by Yannick.Lange Fix creating a plugin in a C++ project opens a second instance of Visual Studio. Use SourceCodeAccessor to open solution when necessary. #jira UE-45035 Change 3454564 by Matt.Kuhlenschmidt #rnx Fix deprecation warnings Change 3455471 by Yannick.Lange ViewportInteraction: Fix entering and exiting VR Mode disables gizmo in desktop editor viewport. #jira UE-44965 Change 3456183 by Max.Chen Sequencer: Auto key, auto track refactor. Auto key - create a key when the property changes and there's an existing track. Auto track - create a track when the property changes. This is only exposed in the level sequence editor. All - create a key and a track when the property changes. This is only exposed in VR Editor. None - do nothing. #jira UE-43469 Change 3456349 by Andrew.Rodham Sequencer: Only perform legacy signature checks on instances, and only where signatures match the CDO Change 3456678 by Alexis.Matte Allow to add null level instance override material via the advance material array. But still limit the override material number to the mesh material number. #jira UE-45306 Change 3456945 by Max.Chen UMG: Add restore state to 2d transform section. #jira UE-45372 Change 3457196 by Arciel.Rekman Linux: serialize allocations from the memory pool. Change 3458434 by Max.Chen Sequencer: Remove obsolete set tick prerequites functions. Change 3458671 by James.Golding Added MIC editing support to MaterialEditingLibrary Fix static analysis warning Change 3458888 by Matt.Kuhlenschmidt PR #3615: More detailed log messages for debugging warnings/errors (Contributed by projectgheist) Change 3458893 by Matt.Kuhlenschmidt PR #3583: UE-44960: Delta value wasn't being used (Contributed by projectgheist) Change 3458895 by Matt.Kuhlenschmidt Fix typo Change 3458902 by Matt.Kuhlenschmidt PR #3607: Improved InputKeySelector functionality (Contributed by projectgheist) Change 3458917 by Matt.Kuhlenschmidt Fix crash with invalid object properties in the class picker #jira UE-39000 Change 3458939 by Matt.Kuhlenschmidt Fix compile error Change 3458984 by andrew.porter QAGame: Initial check in of sequencer smoke test map Change 3459510 by Matt.Kuhlenschmidt Fixed ensure when deleting a map that contains build data which also happens to be the currently loaded map. #jira UE-45052 Change 3460985 by Max.Chen Sequencer: Snap play time to keys now allows scrubbing between keys and snaps to key times within a certain screenspace tolerance. #jira UE-45090 Change 3461698 by Arciel.Rekman Avoid using ARRAY_COUNT in Vulkan. - Sometimes those arrays can have no extensions whatsoever, and it is illegal to declare a 0 element C array. Change 3462053 by Max.Chen Sequencer: Show sequencer spawnables in the world outliner and add the icon overlay for spawnables. #jira UE-43470 Change 3462139 by Max.Chen Property Editor: Add objects to FPropertyAndParent Change 3462202 by Arciel.Rekman Fix FSocket::Recv() blocking with Peek when there's no data. Change 3462253 by Nick.Darnell Slate - New Clipping System Clipping is now a stateful choice made during composition of the slate hierarchy. Previously every widget got to respect or modify the clipping rect on an as needed basis. The problem was that clipping was only allowed in the layout space of the widget, and it wasn't possible to properly clip elements with render transforms. The new system permits all kinds of transforms on any widget, and they will all be clipped correctly. It tries to use Scissor Rects as they are much cheaper, but will switch over to stenciling if need be to represent a complicated masking structure with several rotated clipping rects all needed to be combined together. Here are the new clipping states a widget can have, almost all widgets are set to No. Only change it from No if your widget actually needs to clip, generally speaking most widgets don't need to clip. /** * This widget does not clip children, it and all children inherit the clipping area of the last widget that clipped. */ Inherit, /** * This widget clips content the bounds of this widget. It intersects those bounds with any previous clipping area. */ ClipToBounds, /** * This widget clips to its bounds. It does NOT intersect with any existing clipping geometry, it pushes a new clipping * state. Effectively allowing it to render outside the bounds of hierarchy that does clip. * * NOTE: This will NOT allow you ignore the clipping zone that is set to [Yes - Always]. */ ClipToBoundsWithoutIntersecting UMETA(DisplayName = "Yes - Without Intersecting (Advanced)"), /** * This widget clips to its bounds. It intersects those bounds with any previous clipping area. * * NOTE: This clipping area can NOT be ignored, it will always clip children. Useful for hard barriers * in the UI where you never want animations or other effects to break this region. */ ClipToBoundsAlways UMETA(DisplayName = "Yes - Always (Advanced)"), /** * This widget clips to its bounds when it's Desired Size is larger than the allocated geometry * the widget is given. If that occurs, it behaves like [Yes]. * * NOTE: This mode was primarily added for Text, which is often placed into containers that eventually * are resized to not be able to support the length of the text. So rather than needing to tag every * container that could contain text with [Yes], which would result in almost no batching, this mode * was added to dynamically adjust the clipping if needed. The reason not every panel is set to OnDemand, * is because not every panel returns a Desired Size that matches what it plans to render at. */ OnDemand UMETA(DisplayName = "On Demand (Advanced)") - Large API Change - All FSlateDrawElement::Make_____ calls have been deprecated that involved passing in a clipping rect. You no longer should are passed a Clipping rect via OnPaint. You are still passed a rect, but this rect represents a Culling Rect, which is valuable if you need to just out right not paint things the user can't possibly see. If you were previously trying to determine if you should cull widgets, by doing something like this, if ( FSlateRect::DoRectanglesIntersect(MyClippingRect, CurWidget.Geometry.GetRenderBoundingRect()) ) That's no longer a good option since there are ways for widgets to ignore the culling bounds. You should convert anything like above to the one below, if (!SWidget::IsWidgetCulled(MyCullingRect, CurWidget)) To assist in debugging efforts, there are several new debugging console flags in Slate, Slate.ShowClipping 1 - Controls whether we should render a clipping zone outline. Yellow = Axis Scissor Rect Clipping (cheap). Red = Stencil Clipping (expensive). Slate.DebugCulling 1 - Disables pushing clipping or stencil rects to the GPU, but continues to intersect culling rects, so that you can tell if a widget is properly culling children it can't possibly draw. Slate.ShowTextDebugging 1 - Show debugging painting for text rendering. I've added a new Experimental Feathering Option, it adds AA geometry around the outside of Box and Image brushes. Slate.Feathering 1 If you're using RenderDoc or something similar, you can now enable render events for slate, so that you can better grok how we're batching and changing states for each UI render pass. Slate.EnableDrawEvents 1 #jira UE-4659 #rn Change 3462714 by Nick.Darnell Fixing a few more compiler issues with the clipping changes. Change 3462726 by Max.Chen Switch OnEditStructChildContentsChanged to use FObjectWriter instead of FMemoryWriter which supports serializeing UObjects. This fixes a crash when adding actor array elements to a user defined event struct. #jira UE-45431 Change 3462801 by Nick.Darnell Adding a UMG dependency to EngineTestBuild. Change 3462914 by Max.Chen Sequencer: Fix regression where spawnables aren't getting saved. Caused by 3407138 #jira UE-30007 #jira UE-39003 Change 3462946 by Nick.Darnell Automation - Tweaking the UI automation tests converting them over to use the new UI Screenshot automation test. Automation - Adding a blur widget test. Change 3462987 by Matt.Kuhlenschmidt Back out changelist 3458893 Change 3464774 by Matt.Kuhlenschmidt PR #3629: Bugfix: Missing small icon in Project Launcher profile editor (Contributed by aarmbruster) Change 3464785 by Nick.Darnell Fixing some clipping stuff in the editor. Change 3464830 by andrew.porter QAGame: Second pass on sequencer smoke test map Change 3464902 by Nick.Darnell Loading - Adding some additional checks to the the loading code to ensure we're on the main thread. Additionally adding a fix from UDN that prevents deadlocks in the rare case a user hits Alt+Tab in a fullscreen game while in a hard loading screen. Change 3464988 by Max.Chen Sequencer: Add attenuation settings for attached audio components. #jira UE-33080 Change 3465024 by Nick.Darnell MoviePlayer - Impoving the playback mode displaynames. Change 3465074 by Arciel.Rekman Fix shadowing issues of GraphicsPSOInit. Change 3465097 by Matt.Kuhlenschmidt Some refactoring of the details panel Exposed new methods of adding a struct on scope to a details panel and have it work properly with customizations. The scruct on scope has a "fake" ustructproperty that allows the details panel to show the whole struct not just an individual property. Refactored the API for adding rows to details panels to make it more consistent\ AddChildCustomBuilder->AddCustomBuilder AddChildGroup->AddGroup AddChildContent->AddCustomRow AddChildPropert->AddProperty AddChildStructure->AddExternalStructureProperty AddStructure->AddAllExternalStructureProperties AddExternalProperty->AddExternalObjectProperty or AddExternalStructureProperty Change 3465186 by Max.Chen Sequencer: Save the BindingID in the pre animated token producer so that it can be destroyed properly. This fixes a bug where the default state of a spawnable isn't saved. #jira UE-43780 Change 3465315 by Matt.Kuhlenschmidt Fix Fortnite and Orion details panel customization warnings Change 3465424 by Nick.Darnell Automation - Moving the step for setting the link to the automation reports to be set before we start the engine. Change 3465488 by Nick.Darnell Automation - Forcing textures to load before taking screenshot, so that the scene gets another opportunity to render before we render with Slate. This should fix the Blur UI Test. Change 3466277 by Arciel.Rekman Linux: fix window drift when dragging (UE-40380). - Change by Cengiz Terzibas. Change 3466370 by Nick.Darnell UMG - Fixing the colors for the resize handle in the designer. Change 3466372 by Nick.Darnell UMG - Fixing the ruler ticks sometimes not being drawn. Change 3466374 by Nick.Darnell UMG - Fixing the designer showing multiple options for sequencer. Change 3466377 by Nick.Darnell UMG - Cleaning up some clipping bits. Change 3467025 by Andrew.Rodham Re-saving assets that contain legacy (<4.15) movie scene data to remove deterministic cook warning. If conflicts arise during merging of these assets, please ignore the changes made in dev-editor, and accept game-side changes. (CIS step 62283298, jobId 7773146) (CIS step 62283297, jobId 7773146) Change 3467099 by Max.Chen Fix GetObjectPropertyClass ensure logic. This was returning UObject::StaticClass when valid. Change 3467172 by Max.Chen Sequencer: Evaluation optimizations. Also, fixes subsequences not getting expired, leaving dangling spawnables. #jira UE-43690 Change 3467192 by Matt.Kuhlenschmidt Fix transactions getting stuck in the color grading controls. This prevents PIE from working properly and causes shutdown crashes #jira UE-45527 Change 3467251 by Yannick.Lange ViewportInteraction: Fix scale and rotation snap while dragging with two lasers. #jira UE-43489 Change 3467331 by Matt.Kuhlenschmidt Fix D3D shader compiler hard coding shader path and not giving proper warnings when it cannot find the shaders Change 3467335 by Matt.Kuhlenschmidt Remove DarkStyle attribute from SNumericEntryBox and allow a spin box style to be passed to it. Change 3467558 by Max.Chen Scene Outliner: Generic support to add default columns to a scene outliner. Change 3467565 by Jamie.Dale Removing old screenshot data for test Change 3467589 by Nick.Darnell Editor - Random cleanup. Change 3467596 by Nick.Darnell Progress Bar - Exposing Border Padding to UMG. Change 3467600 by Nick.Darnell Slate - Adjusting the rendering of the splitter, previously it could be off by a pixel or two, which becomes more apparent now with the clipping changes. Change 3467601 by Max.Chen Property Editor: Fix static analysis warning Change 3467662 by Nick.Darnell Automation - Fixing a bug with the screenshot comparison tool not replacing (removing) the old screenshot data. Change 3467674 by Max.Chen Property Editor: Fix static analysis warning Change 3467737 by Max.Chen Sequencer: Added OnMovieSceneBindingsChanged delegate Change 3468053 by tim.gautier QAGame: Updating Editor Smoke Map - Updated landscapes into Stations for testing - Added Foliage Sublevel Change 3468194 by Arciel.Rekman Linux: fix problems communicating with various STL-using libs. - Stop hiding global new/delete signatures. - Disable CEF3 since this change uncovers the problem with libcef.so not built to use bundled libpng. Change 3468678 by Max.Chen Sequencer: Set "Sequencer Actor" tag before setting the actor label so that the outliner refreshes after the actor has the tag. Change 3469314 by tim.gautier QAGame: Added Painted Foliage / Spline section to EditorSmoke map Change 3469377 by Nick.Darnell Slate - Fixing some warnings in a couple of sample games due to the clipping changes. #rnx Change 3469767 by Max.Chen Sequencer: Outliner column and sequencer binding data #jira UE-43470 Change 3469974 by Arciel.Rekman Fix code projects not working in Linux installed build. Change 3470082 by Nick.Darnell Slate - The GetRenderer() call on SlateApplication no longer returns a SharedPtr, rather than convert it to a thread safe ptr, going to just make accessing it a raw ptr return, so it can be safely referenced on the game thread while being used on the slate loading thread. Change 3470174 by Nick.Darnell Slate - Get the last widget in a widget path utility. Change 3470176 by Nick.Darnell UMG - User Widgets now have an easy way to know if they're part of or have been removed from the focused widget path, which is handy for doing effects. Change 3470261 by Nick.Darnell Slate - The GetRenderer() call on SlateApplication no longer returns a SharedPtr, rather than convert it to a thread safe ptr, going to just make accessing it a raw ptr return, so it can be safely referenced on the game thread while being used on the slate loading thread. Change 3470286 by Max.Chen Sequencer: Scene Component's HiddenInGame now goes through the VisibilityTrack and the visibility template. Change 3470366 by Nick.Darnell Slate - We now version focus per user, that way during focus events, we can safely abort focus events and state transitions if someone interrrupts the active focus event with something new. Change 3470649 by Matt.Kuhlenschmidt Fix deprecation warnings Change 3470695 by Matt.Kuhlenschmidt Fixed typo #jira UE-45580 Change 3470721 by Matt.Kuhlenschmidt Fix static analysis Change 3471254 by Michael.Dupuis #jira UE-42952: Keep occlusion result per view Change 3471287 by Nick.Darnell UMG - Render Focus Rule now defaults to never. Change 3471291 by Nick.Darnell Slate - Fixing FSlateRenderer* change fallout. Change 3471299 by Nick.Darnell Slate - Fixing FSlateRenderer* change. Change 3471323 by Nick.Darnell Automation - Fixing automation and Static Analysis warning. Change 3471413 by andrew.porter QAGame: Added test content for anim blending and material parameteres to sequencer smoke level Change 3471649 by Max.Chen Sequencer: Modify the track when adding animation #jira UE-45618 Change 3471659 by Matt.Kuhlenschmidt Added a way to check if a movie is playing from the engine. Prevented viewport redraws for canvas loading screens if a slate based loading movie is playing Change 3471734 by Matt.Kuhlenschmidt Added basic material hookup to USD. Similar to FBX it will find materials based on rules specified by the user in the import settings Change 3472176 by Nick.Darnell UMG - Improving the display of the +Track menu in sequencer for UMG. Renamed it from +Add, which is repetitve to +Track. Additionally, the dropdown now shows the currently selected widgets, as well as a submenu containing all the 'important' widgets, so we no longer populate that list with a ton of irrelevant widgets that are just Buton_1 - N, which is pointless in showing people, they'll never guess which is the right button. Change 3472740 by Max.Chen Sequencer: Add GetThisFrameMetaData accessor Change 3472748 by Max.Chen Sequencer: Added OnBeginScrubbing and OnEndScrubbing event delegates Change 3472753 by Max.Chen Sequencer: Add EMovieSceneDataChangeType parameter to OnMovieSceneDataChanged delegate Change 3472870 by Nick.Darnell Clipping - Fixing the deprecated tip for scissor rect boxes to be correct. Removing it's usage from UT. Change 3473340 by Max.Chen Scene Outliner: Add ability to register additional filters Change 3473348 by Max.Chen Details View: Make ForceRefresh virtual. Added accessors to delegates (ie. GetIsPropertyReadOnlyDelegate) Change 3473441 by Max.Chen Sequencer: Autokey Refactor Part 2. Autokey is now a single toggleable state. Allow Edits Mode has 3 states: Allow All Edits - Allow any edits to occur, some of which may produce tracks/keys or modify default properties. Allow Sequencer Edits Only - All edits will produce either a track or a key. Allow Level Edits Only - Properties in the details panel will be disabled if they have a track. #jira UE-45229 Change 3473670 by Nick.Darnell Modules - The module manager no longer returns sharedptrs to IModuleInterfaces, this was the source of rare hard to track down crashes due to a shared ptr reference leak when GetModule was called on non-main threads. We now store a TUniquePtr internally, and only lease out raw pointers. #rn Change 3473711 by Nick.Darnell Disabling the ensure in the module manager. Change 3473747 by Max.Chen Sequencer: Fix tooltip Change 3474091 by Jamie.Dale Added a warning when cooking a UFontFace that is outered to a UFont asset These cause issues with iterative COTF, and should be split off into their own assets (as the UI has been asking people to do for several versions) Change 3475052 by Yannick.Lange VR Editor: Fix Crash when quitting the editor with VR Mode enabled. VR Editor was being enabled when saving the map on closing the editor. #jira UE-45415 Change 3475054 by Yannick.Lange Fix crash when adding a camera to the world in VR Mode the second time. The slate application did not reset when stop dragging in VR Mode, so the second time when starting to drag a camera out of the UI it would already by in a dragging state. #jira UE-45574 Change 3475263 by Nick.Darnell Fixing some additional cases of IModuleInteface SharedPtr usage. Change 3475268 by Max.Chen Sequencer: Set jumped state when looping playback. This fixes an issue where audio doesn't stop and restart when looped. #jira UE-45654 Change 3475269 by Max.Chen Scene Outliner: Additional filters should only apply to actor browsing mode Change 3475407 by Nick.Darnell Fixing some clipping / module shared ptr changes in the launcher code. Change 3475542 by Max.Chen Sequencer: Update thumbnail and section highlighting to use new clipping behavior. #jira UE-45692 #jira UE-45689 Change 3475743 by Michael.Dupuis #jira UE-45183: When updating phyx region take into account simple collision mip Change 3475949 by Arciel.Rekman Remove PhysX deoptimization (no longer needed). - OR-24947 has been closed three months ago. Change 3476022 by Michael.Dupuis #jira UE-45560: Make sure we're not going out of range Change 3476063 by Michael.Dupuis #jira UE-45562: Do not try to unregister from static mesh if no static mesh is specified for the component Change 3476168 by Michael.Trepka Added handling of directory symlinks to FApplePlatformFile::IterateDirectory #jira UE-43704 Change 3476172 by Nick.Darnell Fixing a Imoduleinterface change. Change 3476183 by Jamie.Dale Exposing GoTo/ScrollTo to single-line editable text for API parity with multi-line editable text Change 3476385 by Arciel.Rekman Linux: handle symlinks when iterating directories. Change 3476522 by Michael.Trepka Solved a problem with Mac FMallocTBB::Malloc() returning nullptr for 0 bytes allocations, which is inconsistent with other platforms. On Mac we always scalable_aligned_malloc, which behaves differently than scalable_malloc, so for 0 bytes requests we allocate sizeof(size_t), which is exactly what scalable_malloc does internally in such case. Change 3476806 by Nick.Darnell UMG - Focus the designer after dropping a widget onto the surface. Change 3476809 by Nick.Darnell Curve Editor - Enable Clipping on the curve editor. Change 3477475 by Nick.Darnell Fixing a module interface shared ptr usage in UT. Change 3477553 by Yannick.Lange VR Editor: Removed AssetEditorPanelID and replaced it with TabManagerPanelID. A panel for AssetEditorPanelID was never created making it impossible to open an asset editor. Change 3477734 by Yannick.Lange VR Editor: Fix Warning: SetRelativeScale3D : Invalid Scale entered (X=inf Y=inf Z=inf). Resetting to 1.f. warning when adding CineCameraActor to World from Modes Panel. Make sure to not divide by zero when there is no boundary scale. #jira UE-44933 Change 3477761 by Jamie.Dale Some improvements to avoid loading the native .locres files twice when we don't need to Change 3477780 by Nick.Darnell PR #3250: Return correct VirtualUserIndex (Contributed by projectgheist) Change 3477786 by Nick.Darnell PR #3650: Changed TestNull to accept const pointers. (Contributed by e-agaubatz) Change 3477795 by Nick.Darnell PR #2844: UE-36936: Don't stretch container for Plugin Image (Contributed by projectgheist) Change 3478092 by Nick.Darnell PR #2341: Optional Middle Mouse Button panning in Graph Editor (Contributed by flipswitchingmonkey) Engine Edit - Made some small changes to the enum type, and some naming. Change 3478450 by Nick.Darnell Fixing some uninitialized variable errors. Change 3479827 by Andrew.Rodham Sequencer: Addressed serialization issues with some struct types Change 3479874 by Jamie.Dale Fixed "NativeGameLanguage" not being used correctly during localization initialization Change 3480012 by Andrew.Rodham Sequencer: Fixed loading tagged properties as native for track identifiers #jira UE-45823 Change 3480337 by Alexis.Matte Fix morph target crash missing some valid index check Change 3480804 by Alexis.Matte Fix crash with ColorGradingMode custom detail #jira UE-45638 Change 3480892 by Andrew.Rodham Sequencer: Ensure that movie scene sequences know about the editor object version #jira UE-45842 Change 3481073 by Nick.Darnell Fix the shader compiler error from main in Slate. Change 3481303 by Nick.Darnell UMG - Fixing a bug with the drag handle not working correctly in HDPI mode. Change 3481308 by Nick.Darnell Slate - Tweaking the IsWidgetCulled logic to consider both the layout and rendering bounds. If we do this, we get a much more desireable outcome for people that want to animate widgets and such and plan to have temporary animations to move the widget offscreen, but want the layout bounds to anchor that widget in the visible frame so that it animates even when normally it would be culled b/c the render transform and therefore the renderbounds moved it completely outside the culling rect. Change 3481629 by Max.Chen Sequencer: Add Level Sequence Actor as an output for CreateLevelSequencePlayer() #jira UE-45785 Change 3481899 by Yannick.Lange VR Editor: Added debug modetoggle command with an event that is broadcasted whenever this happens. Currently this is used to show all the floating UIs of the UI system to debug without HMD using VREd.ForceVRMode. Change 3481984 by Michael.Dupuis #jira UE-45845: always validate if we have a static mesh before trying to access it as user can decide to not assign one and use the tools Change 3482047 by Nick.Darnell Slate - Adding some comments to IsWidgetCulled. Change 3482110 by Nick.Darnell Slate - IsWidgetCulled is no longer static and is now called IsChildWidgetCulled. Change 3482136 by Jamie.Dale The CamelCase break iterator now treats digits around character tokens as part of the identifier Change 3482138 by Michael.Dupuis #jira UE-45854: Properly unregister during undo operation Change 3482150 by Michael.Dupuis #jira UE-45845 : Add missing nullcheck for GetStaticMesh Change 3482153 by Nick.Darnell Slate - IsWidgetCulled is no longer static and is now called IsChildWidgetCulled. Change 3482180 by Nick.Darnell UMG - Widget Components do not need to define a widget class to be rendererd, they can have native slate widgets only. This was a regression from main. Change 3482273 by Nick.Darnell UMG - Tweaking some more things about the widget component box outline. Change 3482308 by Alexis.Matte Fixing morph target smooth group support. Do not call FillSkeletalMeshImportData more then once on FbxNode since this fonction is doing some conversion and change the FbxNode, applying those conversion twice do not return the same faces smooth group. #jira UE-45696 Change 3482327 by Nick.Darnell UMG - More tweaks to the WidgetComponent so both shows the box outline, but works in game and VR editor. Change 3482705 by Andrew.Rodham Resaving assets that contain legacy data to suppress CIS warnings. - If conflicts arise in these assets, please take game-side changes and ignore these. Change 3484245 by Max.Chen Sequencer: Evaluate on end scrub. This fixes a bug where audio doesn't evaluate in a stopped position at the end of scrubbing, causing it to not stop all sounds. This fixes a bug introduced from 3365018 where evaluate on end scrub was removed. #jira UE-45905 Change 3484263 by Max.Chen Sequencer: Fix crash on forcing refresh of details panel on release. #jira UE-45911 Change 3484431 by Andrew.Rodham Resaving assets that contain legacy data to suppress CIS warnings. - If conflicts arise in these assets, please take game-side changes and ignore these. Change 3484474 by Alexis.Matte Fix the morph target animation curve name matching. #jira UE-20294 Change 3484475 by Alexis.Matte When removing a LOD, make sure we remove all morph target data associate to the LOD. Change 3484489 by Nick.Darnell PR #3668: UE-45908: Cache debug line locations when performing a LineTraceMulti (Contributed by projectgheist) #jira UE-45908 Change 3484692 by Nick.Darnell Slate - Reverting a change from a game stream. All Arranged Children don't need to allocated 42 to begin with. Do need to initialize WidgetPaths better. Change 3484703 by Nick.Darnell Player Input - Making the input event loop for players obey EKeys::NUM_TOUCH_KEYS, rather than being set to Touch10, as the maximum touch input amount, to make supporting greater than 10 touches easier. Also making the seeding of keys use EKeys::NUM_TOUCH_KEYS. #jira UE-43213 Change 3484918 by Jamie.Dale Fixed font measuring regression with RTL text RTL applies the character count to the next glyph, so it shouldn't process the end of the loop (this was how the older code used to work). Change 3485718 by Nick.Darnell Editor - Removing Super Search & User Feedback button. Change 3485719 by Nick.Darnell Portal - Removing SuperSearch. Change 3485751 by Matt.Kuhlenschmidt Fix crash accessing platformer game menu if the menu is open during a console based load #jira UE-45950 Change 3486047 by Arciel.Rekman Linux: add OpenEXR implementation (UE-40270). #jira UE-40270 Change 3486467 by Max.Chen Sequencer: Reset max tick rate when destroyed. #jira UE-45956 Change 3486477 by Max.Chen Sequencer: Refresh outliner when column is removed. #jira UE-45891 Change 3486667 by Andrew.Rodham Added missing include Change 3486724 by Andrew.Rodham Sequencer: Fixed curves with no default value, and no keys being evaluated and applied to properties - Also fixed an edge case where a zero (but non-animated) channel could be applied to a final transform Change 3486730 by Alexis.Matte In the Auto-Reimport options, hide the mout point only for the default /Game/ folder #UE-45684 Change 3486749 by Alexis.Matte Make sure the parent window of the monitor directory browse folder is set properly #jira UE-45682 Change 3486805 by Matt.Kuhlenschmidt Additional safety against invalid objects being accessed by slate Change 3486848 by Alexis.Matte Make sure Monitor folder feature support root mount point map folder During auto import, give priority to asset import factory over the scene import factory #jira UE-45691 Change 3486879 by Andrew.Rodham Removing obsolete QA assets Change 3486950 by Nick.Darnell PR #2281: Scrollbar missing features and SScrollbar fixes (Contributed by SNikon) Review - made some adjustments from the original. Change 3486954 by Nick.Darnell Slate - Moving the STableViewBase over to the FOverscroll class, rather than it's own clone. Change 3486967 by Nick.Darnell Slate - Fixing some HDPI calculations for fitting new windows on screen, it was using the unscaled size of the widgets for fitting, when it needed to scale them up. Change 3486970 by Andrew.Rodham Sequencer: Delay mouse capture until drag for sequencer time slider - Fixes context menus not opening as a result of mouse capture being taken on mouse down #jira UE-45937 Change 3486984 by Andrew.Rodham Sequencer: Improved blending type iconography Change 3486996 by Nick.Darnell UMG - Adding a way for games to opt-out of the slow widget path, to completely prevent them from being cooked. UMG - The movie data is no longer cloned for each new instance that inhabits. It now keeps a reference to the now publically accessible movie scene data on the class instead. Change 3487070 by Andrew.Rodham Sequencer: Added graphics for key areas that represent empty space Change 3487195 by Andrew.Rodham Sequencer: Changed evaluation groups to always flush implicitly - Due to the latent nature of blended token types, it's no longer safe to rely solely on execution token order between tracks - This fixes an issue where events set in the PostEvaluation stage were executed before blended token actuation Change 3487322 by Nick.Darnell PR #2457: Add .gitdeps.xml-files for plugins support (Contributed by bozaro) Change 3487363 by Nick.Darnell PR #2481: Fix for packing of a project with users plugins (Contributed by yatagarasu25) Change 3487439 by Nick.Darnell PR #2642: Changed private to protected in SVirtualJoystick.h (Contributed by Skylonxe) Change 3487500 by Arciel.Rekman Removed LinuxNativeDialogs. - No longer used; has been superceded by SlateDialogs since UE 4.8 (2 years ago). Change 3487630 by Lauren.Ridge Don't create Landscape Info Maps for Editor Preview Worlds or thumbnail worlds #jira UE-44885 Change 3487864 by Matt.Kuhlenschmidt Exposed the asset registry to blueprints and script. Works in editor scripts and runtime scripts AssetRegistry is now a UInterface object. Blueprint users can access various asset registry methods using the asset registry interface (via GetAssetRegistry) and various static helpers in the AssetRegistryHelpers object C++ users should still continue to use IAssetRegistry. Change 3487879 by Matt.Kuhlenschmidt Renamed asset tools uobject helper to UAssetToolsHelpers Change 3487926 by Lauren.Ridge Fixing reset to default not showing up for custom widgets #jira UE-44164 Change 3488184 by Matt.Kuhlenschmidt PR #3656: Make References/Referencers List copyable (Contributed by user37337) #jira UE-45763 Change 3488240 by Matt.Kuhlenschmidt Fix compiler issue Change 3488350 by Lauren.Ridge Landscape info map transactional state is based on its world's transactional state #jira UE-44885 #jira UE-46019 Change 3488412 by Matt.Kuhlenschmidt Fix reset to default showing up in two different places for some customizations Change 3488413 by Matt.Kuhlenschmidt Fix slate font customization Change 3488414 by Matt.Kuhlenschmidt Fix slate font customization Change 3488415 by Matt.Kuhlenschmidt Missed file Change 3488565 by Arciel.Rekman Add pretty printers for gdb (UETOOL-1171). - Committing shelf by Cengiz.Terzibas, with some modifications. #jira UETOOL-1171 Change 3489094 by Nick.Darnell Slate - The Slate RHI Renderer now caches the TextureLODGroups so that it can properly lookup the filtering of different texture groups that are set to Default, instead of a particular filter override on a texture. Engine/Rendering - Simplifying some of the setup logic in TextureLODSettings so that code is shared for setting them up properly after loading from a config file. Change 3489095 by Nick.Darnell PR #2699: GameViewportClient - Added a method to allow setting the viewport cur. (Contributed by rfenner) Review - Fixed spacing. Change 3489108 by Matt.Kuhlenschmidt Fix deprecation warning Change 3489120 by Nick.Darnell PR #3478: Fix possible UComboBoxString crash (Contributed by nakosung) Change 3489147 by Andrew.Rodham Sequencer: Adding return value to function to appease static analysis - This function is never compiled, and if it is, it won't compile, but static analysis doesn't know that Change 3489264 by Nick.Darnell Testing - Finishing the thought behind an enum comment. Change 3489265 by Nick.Darnell PR #2750: UE-35164: Button padding (Contributed by projectgheist) Change 3489267 by Nick.Darnell PR #3645: UE-45464: Handle SSlider mouse interaction more accurately (Contributed by projectgheist) Change 3489632 by Arciel.Rekman Correctness changes to MallocPoisonProxy. - Missing forwarding functions added. Incorrect comment removed. - Change by Steve.Robb, doing here so it is in 4.17. Change 3489689 by Arciel.Rekman More MallocPoisonProxy changes I missed in previous CL. Change 3489751 by Matt.Kuhlenschmidt Moved editor performance settings out of per-project settings so they can be shared across projects Change 3489837 by Lauren.Ridge Keyboard shortcut for entering/leaving VR Mode is now Alt+V Change 3491082 by Arciel.Rekman Linux: better fix for the crash due to name collision (UE-46040). - Put classes in Sequencer module into Sequencer namespace instead of SceneOutliner namespace. - Undid change in the SceneOutliner module. #jira UE-46040 Change 3491096 by Arciel.Rekman Fix UAT compilation on the newest mono. Change 3491240 by Max.Chen Sequencer: Disable key button when allow level edits only is on. #jira UE-46060 Change 3491406 by Yannick.Lange Fix editor crashes when opening a project that includes a plugin with more than two custom Volume classes. This issue was caused because registering show volume commands is based on finding volume classes. Finding these classes at multiple times resulted in a mismatch of the returned array of volume classes because modules/plugins were still being loaded. #jira UE-45806 Change 3491559 by Alexis.Matte Make sure we use the good preview mesh when doing a preview #jira UE-45963 Change 3491563 by Alexis.Matte Fix crash with staticmesh editor LodLevel selection Change 3491564 by Nick.Darnell UMG - Fixing an offset with the grab handles in HDPI mode. Change 3491595 by Nick.Darnell Editor - Fixing a clipping artifact in the pin type dropdown in the blueprint editor. Change 3491604 by Nick.Darnell Back out changelist 3489265 Change 3491615 by Arciel.Rekman Added malloc replay proxy (Linux only for now). - Allows to dump malloc callstream (without regard to threads) and replay later to study the behavior of different mallocs and/or repro problems. Change 3491684 by Arciel.Rekman Added FMalloc functions I missed. - Also moved function bodies into the .cpp file, this does not make a difference in performance in this case. Change 3491692 by Matt.Kuhlenschmidt Some minor fixes to the static mesh editor - Fix UV combo button looking non-standard on the toolbar - Fix a few combo buttons in the details panel looking too big. Change 3491702 by Arciel.Rekman Do not compile replay proxy-specific code when not used. Change 3491717 by Michael.Dupuis #jira UE-35083: The component is now the owner of the PerInstanceRenderData instead of the proxy Add an Update path to only update specified instances range Always call BuildTreeIfOutdated so we have a standard code path to make sure static mesh are fully loaded before trying to build the tree Moved the Instance Buffer aysnc to the base class, as it's not related to UHierarchicalInstancedStaticMeshComponent Expose a new property to decide if we require dynamic instance buffer Change 3491758 by Matt.Kuhlenschmidt Fix crash on static mesh editor shutdown Change 3491873 by Cody.Albert Fixed clipping issue in Sequencer curve editor #rnx Change 3491956 by Matt.Kuhlenschmidt Fix crash opening the Previewing sub-menu in the level editor settings menu #jira UE-46095 Change 3492046 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3492076 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3492165 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3492222 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3492274 by Michael.Dupuis #jira UE-46105: Fixed Clang warning Change 3492338 by andrew.porter QAGame: Testing ensure when submitting Change 3492371 by Nick.Darnell UMG - Reverting the animation sharing, cossed GLEO regressions in cooking. Will look for a better solution. Change 3492462 by Matt.Kuhlenschmidt Fix ensure checking in files through perforce Change 3492491 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3492505 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3492517 by Jamie.Dale The package localization ID is no longer used at all at runtime, and is now truly editor-only This should have always been the case, but it was leaked into manifest/archives/PO files in 4.14, and while 4.15 removed it from PO files it was still present in the manifest/archives. This change removes it entirely (unless gathering editor-only data, and even then the PO file will still collapse the entries together for translation), and the deprecated 4.14 export behavior will now produce an error if you attempt to use it. After taking this change you'll need to run a gather, import, and compile of your LocRes files to update your game localization to use the new localization IDs. Change 3492630 by Nick.Darnell UMG - Removing some extra cleanup code that's probably overkill and is causing a crash for uses of "Within" in class meta. #jira UE-46124 Change 3492692 by Matt.Kuhlenschmidt Fix drop shadows inheriting the outline color of the font. The outline should still appear but not have a different outline color from fill color Change 3492714 by Matt.Kuhlenschmidt Added outline with drop shadow to font automation test Change 3492737 by Matt.Kuhlenschmidt Fix linux Change 3492992 by tim.gautier Resaving Ocean Widget Blueprints / Sequences to resolve Legacy Sequence Data warnings #jira UE-46132 Change 3493089 by Jamie.Dale Ensure that the composite font of a font asset is flushed when the font object is GC'd Change 3493322 by Jamie.Dale Fixing null crash #jira UE-45758 Change 3494467 by Andrew.Rodham Fix Xbox warning Change 3494852 by tim.gautier QAGame: Changed streaming method of QA-EditorSmoke-Landscape to Always Loaded Change 3494853 by Nick.Darnell Another attempt at fixing the automation blueprint SA warning. Change 3494896 by Arciel.Rekman Fix possible null pointer access during Vulkan init. - May fix static analysis warnings in UE-46142, although warnings seem to be referring to something else. #jira UE-46142 Change 3494987 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3495010 by Matt.Kuhlenschmidt Adding additional logging to track down html5 issue Change 3495212 by Michael.Dupuis #jira UE-46143: Properly init the InstanceRenderData during the cooking phase (required by fortnite) Change 3495536 by Jamie.Dale Updating UGameEngine to call its Super::PreExit after performing its own teardown This prevents UEngine cleaning up resources that UGameEngine still needs. #jira UE-46159 Change 3495551 by Arciel.Rekman Another attempt to fix analyzer problem (UE-46142). Change 3495794 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3495905 by Matt.Kuhlenschmidt Fix USD crash when importing a meshwith no material [CL 3499771 by Matt Kuhlenschmidt in Main branch]
2017-06-19 20:27:30 -04:00
if (bHandleRightMouseButton)
Copying //UE4/Dev-Sequencer to //UE4/Main ========================== MAJOR FEATURES + CHANGES ========================== Change 2875025 on 2016/02/20 by Andrew.Rodham Sequencer: Cinematic viewport improvements - Added optional letterbox overlay (defaults to 2.35:1) - Added ability to change safe frame colors - Added selected tracks' keys to the transport range - Added buttons for jumping between selected tracks' keyframes on the transport controls - Removed black padding around the viewport where possible - Added ability to specify whether a combo button/menu anchor should close when its parent receives focus - Separated logic of FGroupedKeyArea into FSequencerKeyCollection, so it can be used independently - Added playback range to the viewport frame numbers - All frame numbers are now spin boxes #jira UE-26429 Change 2875026 on 2016/02/20 by Thomas.Sarkanen Added console commands for recording sequences Changed plugin to a developer plugin so we can load it when the editor is in -game mode. Added Exec commands. Added some more logging to help diagnose problems when using commands. Added loading/saving of config for recorder settings (stored in Editor.ini). Also disabled controls in recorder window when recording. Added auto-saving of assets when in non-editor modes. Moved animation settings from UnrealEd to Engine module. Change 2875036 on 2016/02/20 by Max.Chen Sequencer: Call RedrawAllViewports instead of RedrawLevelEditingViewports. In particular, this fixes some update issues when editing values in the key editors. #jira UE-26960 Change 2875046 on 2016/02/20 by Max.Preussner Sequencer: Fix so that clicking on UMG Animations doesn't dirty the scene. #jira UE-26249 Change 2875047 on 2016/02/20 by Max.Chen Sequencer: Add option to toggle display of channel colors/lines. View->Channel Colors Change 2877138 on 2016/02/23 by Max.Chen Sequencer: Select corresponding track node when selecting key or section. Removed active/inactive selection since it was only being used in deletion and the rules for deletion are now dependent upon what is selected - delete keys and sections before deleting outliner nodes. Change 2877143 on 2016/02/23 by Thomas.Sarkanen Added new math function: WindRelativeAnglesDegrees Given two angles in degrees, 'wind' the angle in Angle1 so that it avoids >180 degree flips. Good for winding rotations previously expressed as quaternions into a euler-angle representation. Change 2877147 on 2016/02/23 by Thomas.Sarkanen Added the ability to import sequencer transforms from the root node of an animation sequence Intended for use after re-importing animations from DCC tools. Available in the right-click menu for transform tracks. Also added FindTrackBinding to UMovieScene so track bindings can be recovered from tracks. Change 2877163 on 2016/02/23 by Max.Chen Sequencer: Add option to create keyframe sections as infinite. Sequencer defaults to true, UMG defaults to false. Change 2877165 on 2016/02/23 by Max.Preussner Sequencer: Drawing vertical position lines when dragging keys Change 2878748 on 2016/02/23 by Max.Chen Curve Editor: Switch curve type to user when flatting or straightening tangents. #jira UE-27277 Change 2878799 on 2016/02/23 by Frank.Fella Sequencer - Add folders support to the outliner. Change 2880769 on 2016/02/24 by Andrew.Rodham Sequencer: Added ability to override runtime spawnable ownership in sequencer - This is exposed as an option on spawnables "Keep Alive Outside Playback Range (In Sequencer)" - Enabling this will stop spawnables from being destroyed when scrubbing outside of the playback range #jira UE-27205 Change 2880770 on 2016/02/24 by Thomas.Sarkanen Sequencer: Added countdown and recording indicator display when recording Also fixed extra popups added post-PIE when animation recordings auto shutdown. Change 2880782 on 2016/02/24 by Max.Chen Sequencer: Snapping now also uses the current time as a possible snap time. #jira UE-26306 Change 2880793 on 2016/02/24 by Max.Chen Sequencer: Add +Animation to Animation track so that it's consistent with all other tracks that have a + button. Change 2880812 on 2016/02/24 by Max.Chen Sequencer: Fix adjusting the leading edge of a shot section so that it cuts into the shot rather than adjusts the start time. #jira UE-26306 Change 2881624 on 2016/02/25 by Andrew.Rodham Changing shader version GUID to fix corrupt shaders in ddc Change 2882408 on 2016/02/25 by Thomas.Sarkanen Asset/actors stored in TLazyObjectPtrs can now reference game content from engine This is a legitimate use case as lazy object ptrs are designed to reference assets/actors cross-domain. Change 2882409 on 2016/02/25 by Thomas.Sarkanen [CL 2899785 by Max Chen in Main branch]
2016-03-08 16:55:04 -05:00
{
if (!bPanning)
{
DistanceDragged += FMath::Abs( MouseEvent.GetCursorDelta().X );
if ( DistanceDragged > FSlateApplication::Get().GetDragTriggerDistance() )
{
bPanning = true;
}
}
else if (MouseEvent.IsShiftDown() && MouseEvent.IsAltDown())
{
float MouseFractionX = MyGeometry.AbsoluteToLocal(MouseEvent.GetScreenSpacePosition()).X / MyGeometry.GetLocalSize().X;
// If zooming on the current time, adjust mouse fractionX
if (Sequencer->GetSequencerSettings()->GetZoomPosition() == ESequencerZoomPosition::SZP_CurrentTime)
{
const double ScrubPosition = TimeSliderArgs.ScrubPosition.Get() / GetTickResolution();
if (GetViewRange().Contains(ScrubPosition))
{
FScrubRangeToScreen RangeToScreen(GetViewRange(), MyGeometry.Size);
float TimePosition = RangeToScreen.InputToLocalX(ScrubPosition);
MouseFractionX = TimePosition / MyGeometry.GetLocalSize().X;
}
}
const float ZoomDelta = -0.01f * MouseEvent.GetCursorDelta().X;
ZoomByDelta(ZoomDelta, MouseFractionX);
}
else
Copying //UE4/Dev-Sequencer to //UE4/Main ========================== MAJOR FEATURES + CHANGES ========================== Change 2875025 on 2016/02/20 by Andrew.Rodham Sequencer: Cinematic viewport improvements - Added optional letterbox overlay (defaults to 2.35:1) - Added ability to change safe frame colors - Added selected tracks' keys to the transport range - Added buttons for jumping between selected tracks' keyframes on the transport controls - Removed black padding around the viewport where possible - Added ability to specify whether a combo button/menu anchor should close when its parent receives focus - Separated logic of FGroupedKeyArea into FSequencerKeyCollection, so it can be used independently - Added playback range to the viewport frame numbers - All frame numbers are now spin boxes #jira UE-26429 Change 2875026 on 2016/02/20 by Thomas.Sarkanen Added console commands for recording sequences Changed plugin to a developer plugin so we can load it when the editor is in -game mode. Added Exec commands. Added some more logging to help diagnose problems when using commands. Added loading/saving of config for recorder settings (stored in Editor.ini). Also disabled controls in recorder window when recording. Added auto-saving of assets when in non-editor modes. Moved animation settings from UnrealEd to Engine module. Change 2875036 on 2016/02/20 by Max.Chen Sequencer: Call RedrawAllViewports instead of RedrawLevelEditingViewports. In particular, this fixes some update issues when editing values in the key editors. #jira UE-26960 Change 2875046 on 2016/02/20 by Max.Preussner Sequencer: Fix so that clicking on UMG Animations doesn't dirty the scene. #jira UE-26249 Change 2875047 on 2016/02/20 by Max.Chen Sequencer: Add option to toggle display of channel colors/lines. View->Channel Colors Change 2877138 on 2016/02/23 by Max.Chen Sequencer: Select corresponding track node when selecting key or section. Removed active/inactive selection since it was only being used in deletion and the rules for deletion are now dependent upon what is selected - delete keys and sections before deleting outliner nodes. Change 2877143 on 2016/02/23 by Thomas.Sarkanen Added new math function: WindRelativeAnglesDegrees Given two angles in degrees, 'wind' the angle in Angle1 so that it avoids >180 degree flips. Good for winding rotations previously expressed as quaternions into a euler-angle representation. Change 2877147 on 2016/02/23 by Thomas.Sarkanen Added the ability to import sequencer transforms from the root node of an animation sequence Intended for use after re-importing animations from DCC tools. Available in the right-click menu for transform tracks. Also added FindTrackBinding to UMovieScene so track bindings can be recovered from tracks. Change 2877163 on 2016/02/23 by Max.Chen Sequencer: Add option to create keyframe sections as infinite. Sequencer defaults to true, UMG defaults to false. Change 2877165 on 2016/02/23 by Max.Preussner Sequencer: Drawing vertical position lines when dragging keys Change 2878748 on 2016/02/23 by Max.Chen Curve Editor: Switch curve type to user when flatting or straightening tangents. #jira UE-27277 Change 2878799 on 2016/02/23 by Frank.Fella Sequencer - Add folders support to the outliner. Change 2880769 on 2016/02/24 by Andrew.Rodham Sequencer: Added ability to override runtime spawnable ownership in sequencer - This is exposed as an option on spawnables "Keep Alive Outside Playback Range (In Sequencer)" - Enabling this will stop spawnables from being destroyed when scrubbing outside of the playback range #jira UE-27205 Change 2880770 on 2016/02/24 by Thomas.Sarkanen Sequencer: Added countdown and recording indicator display when recording Also fixed extra popups added post-PIE when animation recordings auto shutdown. Change 2880782 on 2016/02/24 by Max.Chen Sequencer: Snapping now also uses the current time as a possible snap time. #jira UE-26306 Change 2880793 on 2016/02/24 by Max.Chen Sequencer: Add +Animation to Animation track so that it's consistent with all other tracks that have a + button. Change 2880812 on 2016/02/24 by Max.Chen Sequencer: Fix adjusting the leading edge of a shot section so that it cuts into the shot rather than adjusts the start time. #jira UE-26306 Change 2881624 on 2016/02/25 by Andrew.Rodham Changing shader version GUID to fix corrupt shaders in ddc Change 2882408 on 2016/02/25 by Thomas.Sarkanen Asset/actors stored in TLazyObjectPtrs can now reference game content from engine This is a legitimate use case as lazy object ptrs are designed to reference assets/actors cross-domain. Change 2882409 on 2016/02/25 by Thomas.Sarkanen [CL 2899785 by Max Chen in Main branch]
2016-03-08 16:55:04 -05:00
{
TRange<double> LocalViewRange = GetViewRange();
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3946692) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3801826 by Max.Chen PR #4304: Level Sequence crash fix - Guarded against dereferencing null componen. (Contributed by DSDambuster) Change 3801828 by Max.Chen PR #4302: Movie Scene Visibility Template unitialised variable, causing random . (Contributed by DSDambuster) Change 3801837 by Max.Chen Sequencer: Delay spawning/construction for convert to possessable. This fixes a bug where property values would be lost when converting back and forth from possessable to spawnable. #jira UE-52400 Change 3801841 by Max.Chen Sequencer: Make spacer nodes not selectable. PR #4194: Improvements to Sequencer (Contributed by projectgheist) #jira UE-53117 #jira UE-52139 Change 3804183 by Max.Preussner MediaAssets: Added missing lock in media sound component Change 3805414 by Max.Preussner MediaAssets: Setting valid GUID when initializing media texture resource Change 3819578 by Max.Chen PR #4370: When enabling the "MovieCapture", do not turn off the Stereo-3D display. (Contributed by yehaike) #jira UE-53647 Change 3823414 by Max.Chen Curve Editor: Lock down the first and last keys in the redundant keys removal range so that they're unaffected. #jira UE-53591 Change 3826406 by Max.Chen Sequencer: Move OnStartedPlaying() to within first update in UpdateTimeCursorPosition(). This fixes an issue where setting the hud/player visibility was getting stomped on later. #jira UE-52772 Change 3827044 by Max.Preussner MediaAssets: Added sprite visualization to media sound component #jira UE-53594 Change 3827988 by Max.Preussner MediaPlayerAssets: Fixed Media Texture is not linked to Media Player when created together #jira UE-53532 Change 3828506 by Max.Preussner MediaPlayerEditor: Added attenuation visualizer for media sound components #jira UE-53594 Change 3832590 by andrew.porter EngineTest: Added a keep state check in Property Animation sequencer test Change 3833053 by andrew.porter EngineTest: Adding Hierarchical Bias test Change 3835683 by andrew.porter EngineTest: Adding UMG Animation screenshot test Change 3836076 by Max.Chen Sequencer: Fix audio volume and pitch multiplier deprecation. Change 3836230 by andrew.porter EngineTest: Adding Sequence Bone Position automation test Change 3836347 by Max.Chen Sequencer: Fixes to shot name parsing. When a shot doesn't contain a shot number, assume, [ShotName]_[TakeNumber]. When duplicating a shot, put the new shot in the same path of the original shot, so that the take numbers will increment properly. #jira UE-51868 Change 3836552 by Max.Chen Sequencer: Sub section now has a takes menu Change 3838094 by Max.Chen UMG: Fix template finish not getting called on stop. This fixes a bug where sections aren't restored when finished. #jira UE-52285 Change 3838708 by Max.Chen Sequencer: Add notification when the blend type is changed. #jira UE-54046 Change 3840295 by Max.Chen Sequencer: Fix copy/paste crash for lights #jira UE-54084 Change 3840957 by Mike.Zyracki Added Show Only Keyable and Show Only Animated to the filter list in the property editor. Added IsPropertyAnimated to IDetailKeyframe Interface which already had support for showing properties which are keyable (which is used for the key icon next to the properties.). Could have created another interface but then would have had to mimic the sequencer binding, releasing also, so this seemed best way. One issue still left is that custom built detail items currently don't store associated properties(usually) and so certain properties, in particulalry transforms, won't show up as keyable or animated. Note this also shows up with the keyable icon not showing up next to transform tracks, and other filters like Show Only Modified not working with transforms/customs. Not sure best way to tackle this. #jira UESEQ-328 Change 3841756 by Max.Chen Sequencer: Fix unbound possessable components when pasting spawnables. #jira UE-54104 Change 3843950 by andrew.porter EngineTest: Renaming LevelStreaming tests/content to LevelVisibility Change 3844082 by Mike.Zyracki Missing file for animated filter in property editor. When finding if a track is animated we need to find it but we can't easily induce the MovieTrack class for any particular property. So we don't set a class for it and just search by it's ID and name. #jira UESEQ-328 Change 3846902 by Max.Preussner ImgMedia: Fixed image media player never finished initialization if loading failed #jira UE-54247 Change 3849820 by Mike.Zyracki Reassigning deleted widgets didn't work since the menu extender mechanism needs a valid UObject in order to perform an operation on it. So to fix we replaced GetObjectBindingContextMenuExtender in WidgetBlueprint with new delegate mechanism (OnBuildCustomContextMenuForGuid) that supports FGuid in addition to UObjects which is needed to handle re-binding deleted widgets. Note that the default sequencer hacks this for replacing deleted actors in SequencerObjectBindingNode to check to see if a LevelSequence is active. We could move to this mechanism there also. #jira UE-53163 Change 3852211 by Max.Chen UMG: Indicate name of the property that is not bound. #jira UE-54350 Change 3854120 by Max.Chen Sequencer: Fix sibling folders being allowed to have the same folder name. #jira UE-54363 Change 3854627 by Max.Chen Sequencer: Step to next/previous key should work for all tracks if there aren't any selected. #jira UESEQ-391 Change 3855825 by andrew.porter EngineTest: Adding animation blending automation test Change 3855950 by andrew.porter EngineTest: Adding correct expected valuues to animation blending test Change 3856237 by Matt.Hoffman UESEQ-336 - Sequencer Track Reordering Adds the ability to re-order Master Tracks, Folders and Object Bindings within sequencer hierarchies (including UMG). Adds the ability to do a one-off sorting of the content under the old sorting behavior if the user wants to reset their layout to how it was under legacy behavior. Modifies SequencerTrackNodes, SequencerFolderNodes and SequencerObjectBindingNodes to handle CanDrop/OnDrop for above, below and ontop of. Fixes a Slate Issue that forcibly expanded a TreeviewRow if an item handled OnDrop. Slate will now only forcibly expand the row if the item says the drop happened ontop of the item, and not above or below it like it previously did. Change 3856503 by andrew.porter EngineTest: Adding automation test for using animation blueprint with blend multi node in sequencer Change 3857875 by Max.Chen Sequencer: Assign the sequence id after the template is compiled. #jira UE-54462 Change 3858344 by Max.Chen Sequencer: Prevent Goto and Transform boxes from overlapping by allowing them to be visible at the same time in an autosized horizontal box. Also, added close button to the goto box. PR #4425: Prevent Goto and Transform boxes from overlapping in Sequencer ... (Contributed by projectgheist) #jira UE-54210 Change 3860566 by andrew.porter MediaFrameworkTest: Set the option to index 0 for the audio and video track list by default Change 3860654 by andrew.porter EngineTest: Enabling Camera Cut + FOV test Change 3860981 by andrew.porter EngineTest: Updating skeletal mesh tests with a delay after set playback position Change 3861256 by Max.Chen Sequencer: Add all bindings if none selected. #jira-54440 Change 3862154 by Andrew.Rodham Added TimeManagement module Change 3862424 by andrew.porter EngineTest: Turned on the test Bone Positions with Blend Multi Node Change 3862573 by andrew.porter EngineTest: Adding test to compare bone positions in a sequence that is blending an animation that is using an AnimBP Change 3865117 by Max.Chen Sequencer: Stop auto scroll on mouse release of movement. #jira UE-31212 Change 3865303 by Max.Chen Sequencer: Add drag and drop transactions #jira UE-54662 Change 3865304 by Max.Chen Sequencer: Fix crash when an actor factory is not found. Change 3865361 by Max.Chen Sequencer: Don't change the camera/shot lock button when popping out of a sequence. #jira UE-54665 Change 3865412 by Max.Chen Sequencer: Determine whether a transform track is for a camera by using the spawned object or template #jira UE-54666 Change 3865685 by Max.Chen Sequencer: Clear autoscrub offset when stopping autoscroll #jira UE-31212 Change 3865886 by Max.Chen Sequence Recorder: Log an error if the number of frames changes while recording. This can happen if the skeleton changes while recording. #jira UE-48715 Change 3866925 by Andrew.Porter MediaFrameworkTest: Changing the current PNG test video image sequence to 1024 x 576 Change 3867705 by andrew.porter QAGame: Adding Audio Sort Sequence to dev folder Change 3867890 by andrew.porter QAGame: Adding a sequence for testing a sorting crash to my dev folder Change 3872628 by Max.Chen Movie Scene Capture: Split delay before warmup into split delay before shot warmup so that there's separate controls for when the movie scene capture warmups up vs. shot boundaries. Change 3873131 by Matt.Hoffman UE-54732 - Crash reordering a folder with a track. This was caused by folders being the only type of track to check if someone was putting a parent track into a child track. Object Binding tracks and Tracks now check as well so that you can't use the above/below drop targets to add parents as children. This also fixed a typo in the localization keys. #jira UE-54732 Change 3873301 by Mike.Zyracki Added ability to support continous euler angle changes when changing rotations, in particularly with the rotation gizmo's. To do this we effectively added a form an of 'euler filter'(https://en.wikipedia.org/wiki/Euler_filter) to find the closest euler angle to the current euler angle. Three functions were added to FRotator to make this possible, one to get the euler angle that's has the same rotation as it, one to get the difference between two euler angles via Manhattan distance and a third using the previous two to choose a Rotator value that's closest to it. We then use these functions before calling UComponent::SetRelativeRotation to make sure we use the correct Euler after the Quat conversion. We also no longer limit(bound) the euler angles to -180,180, which is obviously necessary to avoid flips. I also changed how we caluclate yaw and roll when pitch is -90 or 90 to make it the standard approach of zeroing out roll and just setting yaw. Main reasons are the previous implementation had precision issues so things like 180, 90, -180 would show up due to numbers being nearly zero but negative,(this would break any smooth interpolations), and this facilitates having a 'gimbal' rotation mode (like Maya, Blender etc..) if we ever want that also. If needed we could keep the previous implementation but would need to add some FMath::IsNearlyZero checks, with less performance. Note we only do this special filtering when applying delta's to actors or components in the editors, which then call UComponent::SetRelativeRotationExact, which is a new function to foces the RelativeRotation to be equal to the new rotation. This allows us to store un-nomalized Rotators at the cost that the RotationCache may be broken. We didn't change any of the other UComponent functions that set rotations (via Quats or Transforms) so they will still be bounded and unwound. In SetInternalWorldLocationAndRotation we only set the rotation if the rotation has changed, which fixes the rotation getting changed and re-normalized if just translate happens. In TransformTrackEditor, we correclty use the bUndwing flag and in MovieScene3DTransformSection there was an un-needed winding check there, it will be unwound earlier if needed, which happens if Sequence Recording is happening. Max we should talk about what to do about this . Note the euler angle drag via the widget is still bound to 0-360. I think we should just unbound that now since the rotations value are now unbound. This review now includes fixes suggested by Zak. #jira UE-UE-22228 Change 3873483 by Matt.Hoffman Sequencer Tracks can now be inserted above the spacer at the bottom of the tree. #jira UE-54706 Change 3873899 by Max.Chen Sequencer: Add section selection throbbing Change 3873908 by Max.Chen Movie Scene Capture: Added logging per frame Change 3873924 by Matt.Hoffman Adds the ability to store Sequence Recorder setups into profiles that stay with the map and can be re-loaded later. Profiles store the Actor Recordings so the settings for each actor should carry with them. #jira UESEQ-339 Change 3874726 by Matt.Hoffman Disable drag-and-drop targets on spacers that come between rows in Sequencer. This prevents extra drag/drop targets showing up between each row. #jira UE-54706 Change 3874862 by Matt.Hoffman Audio Track no longer gets reordered when adding sub-audio tracks, as sub-tracks are no longer counted towards the sorting order index when normalizing indexes. #jira UE-54727 Change 3875905 by Matt.Hoffman Disable Fade Track UI if a fade track already exists in the sequence. #jira UESEQ-393 Change 3876163 by Max.Chen Sequencer: Swap the camera object to the camera component's owner if it's not the same. #jira UE-54874 Change 3876971 by Andrew.Porter EngineTest: Moved Media Player Seek test to new folder. Also enabled the test with new ground truth image. Change 3877040 by Max.Chen Cine Camera: Split camera properties to two groups, "Camera Options" and "Camera Settings". The cine camera now hides properties in the "Camera Settings" group so that properties like bConstrainAspectRatio (in the "Camera Options" group) can be visible. #jira UE-54192 Change 3877763 by Max.Chen Curve Editor: Fix curve changed on end drag so that only curves that had keys/tangents that were changed receive notification, otherwise all loaded curves were getting notified that they were changed. #jira UE-54951 Change 3878234 by Matt.Hoffman Disable "Drop Below" targets for Sequencer Tree nodes to prevent a confusing UX issue where dropping underneath a Object Binding Node puts it after the object binding node but the UI looks like it's inserting it inside the Object Binding node. #jira UE-54743 Change 3879359 by Mike.Zyracki If a track is inactive we dim it a bit which seems to be the UE4 way to show inactive or disabled state. We changed the active logic so that all subtracks need to be inactive for the track to also be inactive(instead of all active for active). This conforms to how the active state actually works, e.g if you have two sections and only one is active the track is still active above it. #jira UESEQ-388 Change 3879462 by Max.Chen Sequencer: Allow dragging onto a particular row which would move out any overlapping sections to make space for the newly created section. Newly created sections are now selected and throbbed to draw attention to themselves. #jira UE-54664 Change 3879464 by Max.Chen Sequencer: Fixed overlapping ranges being inserted into the evaluation field during compilation - The issue was that track segments that had been combined with adjacent segments (due to them being identical) would potentially cause a subsequently compiled frame to overlap with a range that had already been inserted into the evaluation field. - The insertion code previously asserted that only minor overlaps were catered for (due to fp rounding errors) and assumed that a supplied range could not entirely contain any other range in the field. - The solution is to supply the insertion time along with the range to know exactly where the data should live in the field, and crop the range to the maximum allowable space between adjacent ranges. #jira UE-54922 Change 3879590 by Matt.Hoffman Items that are now added to the Sequencer via the "+Track" menu will be selected after being added. Items can now be added inside of folders instead of just to the root level. #jira UE-27397 Change 3879612 by Mike.Zyracki Display Nodes with no children are always active. #jira UESEQ-388 Change 3879730 by Matt.Hoffman Sequence Recorder's actor recording groups now remove items from the group when removed via the UI. #jira UESEQ-339 Change 3880256 by Mike.Zyracki Fix issue with inactive display with folders and other track nodes. #jira UESEQ-388 Change 3883491 by Max.Chen Fix issue where tick is skipped due to last ticked pose isn't cleared after AnimInstance changes. Copy from Release-4.19 #jira UE-51323 Change 3883603 by Max.Chen Movie Scene Capture: Add option toggle disable screen percentage. By default this is on (no change in current behavior). #jira UE-51898 Change 3885074 by Max.Preussner MediaCompositing: Resetting media texture & freeing resource on section end; removed dead code Change 3887220 by Max.Preussner MediaCompositing: Defaulted media section duration to 1 sec (since we do not know the actual duration in most cases) Change 3887478 by Matt.Hoffman Sequences now show [Inactive] in their title bars when they're disabled. This helps communicate why a sequence isn't being evaluated. #jira UE-51469 Change 3888985 by Max.Chen Movie Scene Capture: Clamp HDR Compression Quality between 0 and 1. #jira UE-55136 Change 3893519 by Max.Chen Sequence Recorder: Clarified tooltip for bRecordNearbySpawnedActors - spawned actors will still be recorded if they match the ActorFilter. #jira UE-55238 Change 3893546 by Max.Chen Sequence Recorder: If a selected actor already has a recording, add a blank recording. #jira UE-55239 Change 3894044 by Max.Preussner MediaCompositing: Added support for seeking into a media section Change 3894310 by andrew.porter MediaFrameworkTest: Adding Img media sources for 1080 and 2160 ravent test content Change 3894426 by Max.Preussner MediaAssets: Letting media textures with AutoClear retain their clear color when player is reset Change 3895717 by Max.Chen Sequencer: Null checks to prevent crash when saving the default state of a spawnable #jira UE-55304 Change 3897388 by Max.Chen Sequencer: Don't update current time to be within the view range when stepping into a sequence. #jira UE-55322 Change 3897452 by Max.Chen Audio: Fix crash when trying to record audio without any active capture devices. Log warning if the number of input channels is not 1 or 2. #jira UE-55223 Change 3897619 by Max.Preussner MediaCompositing: Removed commented out code Change 3898072 by Max.Chen Sequencer: Override the animation asset in the player state if it doesn't match the animation asset that's being evaluated. #jira UE-55328 Change 3898272 by Max.Preussner MediaPlayerEditor: Made slate brush constants static Change 3898704 by Max.Chen Sequencer: Skip if the binding id's sequence can't be found. #jira UE-55337 Change 3899855 by Max.Preussner MediaCompositingEditor: Added cache state visualization to media track Change 3900300 by Max.Preussner MediaCompositingEditor: Added loop indicators to media sections Change 3900694 by Max.Preussner ImfMedia: Looping cache only when player is looping Change 3900892 by Max.Preussner Stats: Added stats category for media framework Change 3900954 by Max.Preussner MediaCompositing: Don't evaluate at the end of media section Change 3901348 by Max.Preussner Core: Replaced TLruCache autos for better readability Change 3901655 by Max.Preussner ImgMedia: Added more perf stats to EXR reader Change 3901972 by Max.Preussner MediaAssets: Added getter for media player in media sound components Change 3902233 by Max.Preussner MediaAssets: Enabling media textures to receive samples right after player is assigned Change 3902238 by Max.Preussner MediaCompositing: Working around init/shutdown idiosyncracies in sequencer Change 3904045 by Max.Chen Sequencer: Fix copy/paste crash. Only process UMovieSceneCopyableBinding and objects that can be spawned by the movie scene spawn register. #jira UE-55314 Change 3905605 by Max.Chen Sequencer: Restrict spawnables from being created if they have a ClassWithin that UMovieScene is not a child of. #jira UE-55429 Change 3906550 by Max.Chen Sequencer: Add media track icon #jira UE-55480 Change 3907101 by Max.Chen Sequence Recorder: Fix bugs related to not recording a level sequence. There were certain assumptions that creating a level sequence meant that sequence recording was in progress. This is not always the case - the recorders can record animation assets and not create a level sequence. Changed the notion of IsRecording() to having at least one actor recording that is recording. Countdown timer, recording displays, etc should function if IsRecording() and not based on whether a level sequence is created. #jira UE-55485 Change 3907247 by Max.Chen Sequence Recorder: Fix crash not removing PrepareToCleanseEditorObject delegate. Repros when opening sequence recorder, closing it, and then opening or creating a level. Change 3910343 by Max.Preussner Core: Added async helper for executing functions on a given thread pool Change 3910346 by Max.Preussner ImgMedia: Added separate thread pools for loading/decoding and deleting image frames Change 3910829 by Max.Preussner Profiler: Increased visible range of profiler graph Change 3910841 by Max.Preussner MediaCompositing: Displaying asset name instead of full media source path in media section Change 3910870 by Max.Preussner ImgMedia: Using deallocation thread pool only in debug builds Change 3919642 by Max.Chen Sequence Recorder: Clarify active tooltip #jira UE-55661 Change 3919660 by Max.Chen Sequencer: Sequence template source signatures are now also compared to catch the case where a sub-sequence asset has been saved but not modified - The following sequence of events exposes this issue: - Create a master sequence with a single shot that spawns a cube - Add this sequence to a level and set it to auto-play - Save everything and restart - Resave just the inner shot asset without opening it - PIE - The inner shot never spawns its cube because its template was wiped on save, but its signature never changed. Since the master sequence previously didn't check the template source signature, it ends up trying to evaluate an empty template. #jira UE-55626 #jira UE-55490 Change 3921825 by Max.Chen Sequencer: "Run Construction Script in Sequencer" is off by default for blueprints but on for Sequencer. This allows the content author to switch it on for specific blueprints and sequencer will be default, run those with construction scripts enabled. Change 3922232 by Max.Chen Sequence Recorder: Reset countdelay on stop. #jira UE-55755 Change 3922306 by Max.Chen Sequence Recorder: Don't automatically mark transforms to be recorded by sequence recorder. Instead, log a warning if the user toggled it off to warn that the resulting animation might not match gameplay. #jira UE-55758 Change 3922912 by Max.Chen Sequence Recorder: Fix refresh next sequence name #jira UE-55757 Change 3927654 by Max.Chen Movie Scene Capture: Added format mapping for the name of the current camera #jira UE-55769 PR #4537 Change 3927658 by Max.Chen Sequencer: Added fbx property mapping for "FocusDistance" to "FocusSettings.ManualFocusDistance" #jira UE-55782 Change 3932022 by Max.Chen Sequencer: Add import animation track section to next available row index. #jira UE-55892 Change 3933919 by Max.Chen Sequencer: Jump to playback start frame and not 0 to start playback for recording. #jira UE-55933 Change 3934307 by Andrew.Rodham Sequencer: Add template signature that is re-generated every time the base template is regenerated, which invalidates evaluation fields This fixes an issue where the same sequence is instantiated multiple times in a sequence. If the source sequence was saved, its template would be wiped, which would invalidate the template ID When an instance tries to evaluate the master template, it would only invalidate a range in the evaluation field that was the hull of any invalid sub sequences overlapping the current time, potentially leaving invalid data in the evaluation field at positions later (or earlier) on in the sequence When the sub template was re-generated, it receives the same SequenceSignature as it had before (because the sequence hasn't actually changed), which causes the stale evaluation field data to fail the IsDirty check (because the sequence is the same as it thought, but the *template* has changed) This has been addressed be adding a signature to templates themselves, and checking both the template signature and sequence signature as a part of the IsDirty check. This ensures that we regenerate if either the template, or the sequence have changed. #jira UE-55934 Change 3936327 by Andrew.Rodham Sequencer: Removed increment when trimming right UMovieSceneSection::TrimSection already explicity assigns an exclusive bound to the time passed in. The new behavior means we can trim a section to the right, and insert another section without changing the time to create adjacent sections. #jira UE-42652 Change 3936328 by Andrew.Rodham Fixed KeyFrameManipulator assignment operators and copy/move constructors - These types are potentially self-referential so cannot use default constructors/assignment Change 3936330 by Andrew.Rodham Converted UMGSequencePlayer to use frames internally #jira UE-54878 Change 3936726 by Max.Chen Sequencer: Set track node as the parent of the key area node. The key area switcher needs the object binding id from the parent object binding node. Without this, the binding to the external value fails. #jira UE-55931 Change 3936775 by Max.Chen Sequencer: Should stop or loop should compare DurationFrames with Current Time from StartTime. The bug is that if you set 30 warmup frames in movie rendering for a range of 0-100, the FrameRange will be starting at -30 and have a duration of 130. Without this fix, the playback will continue until frame 130, rather than 100. #jira UE-55933 Change 3936935 by Matt.Hoffman Easing Curves are now represented in Play Rate resolution instead of internal resolution. #jira UE-55937 Change 3937069 by Matt.Hoffman Users can toggle if the is infinite on each side, limited by which tracks support infinite ranges. #jira UE-55891 Change 3937516 by Max.Preussner ImgMedia: Added support for single-threaded platforms #jira UE-55986 Change 3937826 by Max.Preussner MediaAssets: Disabling media sound components on HTML5 if AudioMixer is not enabled Change 3937997 by Max.Chen Curve Editor: Add Zoom to Fit Curves so that selected curves from Sequencer can be focused on. Tested that undo doesn't re-zoom. #jira UE-55935 Change 3938000 by Max.Chen Sequencer: Stop all sounds before generating audio waveforms. #jira UE-55951 Change 3938376 by Max.Preussner XGEController: Disabled XGE Controller in single-threaded apps to prevent crash Change 3938444 by Max.Preussner Core: Added async support for single-threaded applications Change 3938445 by Max.Preussner Networking: Added support for single-threaded applications in UDP socket sender/receiver Change 3938447 by Max.Preussner Messaging: Added support for single-threaded applications Change 3939432 by Max.Chen Sequence Recorder: Append command list to global level editor actions so that shortcuts are accessible in level editor. #jira UE-55798 Change 3940229 by Andrew.Rodham Added prospective display rate upgrade to UMovieScene::PostLoad - There was previously some very odd behaviour that would assign the fixed frame interval only when a sub sequence was focused in SSequencer. This meant that many sequences could have a frame interval of 0 set in the data. - Under the old method of snap interval display this would have fallen back to getting the display interval from the sequencer settings, but we no longer look at these. - The USequencerSettings properties have been removed and in their place, a prospective data upgrade for sequences that have a fixed frame interval old 0fps that sets the play rate to the previous defaults based off the old USequencerSettings defaults. - This could end up 'changing' the display rate for sequences where the user has changed the snap interval in the settings for a particular sequence editor, but there's not much we can do about that given we don't have access to the USequencerSettings classes in UMovieScene #jira UE-55919 Change 3940277 by Andrew.Rodham Sequencer: Added ability to default frame resolutions and play rates for newly created actor sequences Change 3940378 by Andrew.Rodham Sequencer: Post move import dialog now defaults to the playback framerate of the sequence, and floors to frame numbers Change 3940559 by Andrew.Rodham Reinstated primed or recording sequence color Change 3940642 by Max.Preussner ImagePlate: Removed image plate media playback functionality Change 3940843 by Max.Preussner Core: Made TCircularQueue actually thread-safe; improved code comments Change 3940860 by Max.Chen Sequencer: Changed StructNameToKey to StructPathToKey Previously, keying a PropertyPath of [RenderTransform][Shear][X] would get trimmed to X, which doesn't map to a channel name as considered by Sequencer2dTransformTrackEditor. Instead, trim the resulting property path to [Shear][X] so that track editors can determine the desired struct path and channels to key. #jira UE-52966 Change 3941292 by Mike.Zyracki Fix for trajectories out of range not showing up. 1) If we had no key data we would pop the time, so wouldn't get the section ranges. 2) Calculating of upper bound was wrong, checking against -1 and not key == num of keys when doing algo::lower_bound. 3) No need to do the Bck-- for the bakward iterators since we fixed #2. We start now from the upper bound correctly. 4) If we had no keys (at section start,end) we would incorrectly say we were any key type, so since we draw constant keys as dashed we would do so incorrectly around section end points. #jira UE-55929 Change 3941424 by Max.Chen Curve Editor: Change Zoom to Fit to use TArrayView Change 3941498 by Max.Preussner Core: Added FMath::DivideAndRoundNearest function Change 3942097 by Matt.Hoffman Drop Frame Timecode Support for NTSC rates. Change 3942104 by Matt.Hoffman Sequence Recorder Group is no longer visible inside the World Outliner after using one. #jira 55266 Change 3942107 by Max.Chen Sequencer: Resurrect logic to find or extend an existing section when adding keys. Change 3942330 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942339 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942507 by Andrew.Rodham Sequencer: We no longer pad the time overlap threshold with a small number that is not scaled by the current zoom level - The presence of this pad was causing keys that were far apart to be grouped when zoomed in a long way Change 3942509 by Andrew.Rodham Sequencer: Only pad total view range, rather than section range as well when retrieving keys to render - This stops us from rendering keys that are within the view range, but outside the section range Change 3942512 by Andrew.Rodham Added transactions to some sequencer details customizations Change 3942513 by Andrew.Rodham Sequencer: Reinstated validation checks to UMovieSceneSection::SetStartFrame and SetEndFrame, changed erroneous uses to use SetRange Change 3942560 by Andrew.Rodham Pass by rvalue reference to appease error C2719 on Win32 ('InChannels': formal parameter with requested alignment of 8 won't be aligned) Change 3942697 by Andrew.Rodham Newly Created Level Sequences and Actor Sequences now default to 24000 fps frame resolution (+/- ~24hrs range, supporting all integer rates + 23.976) Change 3942700 by Andrew.Rodham Sequencer: Added legacy out-of-bounds errors for times that are not supported by the current legacy upgrade frame resolution Change 3942989 by Max.Preussner Core: Fixed circular queue count calculation Change 3943538 by Max.Preussner MediaAssets: Reverted workaround for procedural audio log spam in HTML5 (Actor component initialization cannot be skipped if the component is used in a level) Change 3944071 by Max.Preussner QAGame: Fixed Media Texture keeps last frame of Media when PIE ends #jira UE-53360 Change 3944292 by Max.Chen Sequencer: Added extra flags to ensure that asset initialization does not occur on template actor sequences #jira UE-56113 Change 3944364 by Max.Chen Sequencer: Prevent circular shot/master tracks. Tested adding master -> child -> master as drag and drop cinematic shot tracks and sub tracks as well as through the + button. #jira UE-56091 Change 3944422 by Max.Chen Sequence Recorder: Disable transform recording if off. #jira UE-56061 Change 3944745 by Andrew.Rodham Sequencer: Key rendering fixes - Fixed assert that occured when keys happened to reside on some times due to KeyTime + TimeOverlapThreshold - KeyTime being slightly larger TimeOverlapThreshold - Fixed keys sometimes being clipped when zoomed right in due to lack of half-frame offset - Added missing documentation to MovieSceneTimeHelpers.h #jira UE-56107 Change 3945231 by Andrew.Rodham Sequencer: Reconstruct channel proxy on Serialize to catch all cases of undo/redo, PostLoad and duplication #jira UE-56089 Change 3945301 by Andrew.Rodham Sequencer: Added safety checks during initial sequence recording to guard against applying negative or 0-sized sequence ranges #jira UE-56125 Change 3946627 by Max.Preussner Fortnite: Fixed game crashes closing editor while in PIE - Pure virtual function being called #jira UE-56144 [CL 3946896 by Max Chen in Main branch]
2018-03-14 22:09:33 -04:00
double LocalViewRangeMin = LocalViewRange.GetLowerBoundValue();
double LocalViewRangeMax = LocalViewRange.GetUpperBoundValue();
Copying //UE4/Dev-Sequencer to //UE4/Main ========================== MAJOR FEATURES + CHANGES ========================== Change 2875025 on 2016/02/20 by Andrew.Rodham Sequencer: Cinematic viewport improvements - Added optional letterbox overlay (defaults to 2.35:1) - Added ability to change safe frame colors - Added selected tracks' keys to the transport range - Added buttons for jumping between selected tracks' keyframes on the transport controls - Removed black padding around the viewport where possible - Added ability to specify whether a combo button/menu anchor should close when its parent receives focus - Separated logic of FGroupedKeyArea into FSequencerKeyCollection, so it can be used independently - Added playback range to the viewport frame numbers - All frame numbers are now spin boxes #jira UE-26429 Change 2875026 on 2016/02/20 by Thomas.Sarkanen Added console commands for recording sequences Changed plugin to a developer plugin so we can load it when the editor is in -game mode. Added Exec commands. Added some more logging to help diagnose problems when using commands. Added loading/saving of config for recorder settings (stored in Editor.ini). Also disabled controls in recorder window when recording. Added auto-saving of assets when in non-editor modes. Moved animation settings from UnrealEd to Engine module. Change 2875036 on 2016/02/20 by Max.Chen Sequencer: Call RedrawAllViewports instead of RedrawLevelEditingViewports. In particular, this fixes some update issues when editing values in the key editors. #jira UE-26960 Change 2875046 on 2016/02/20 by Max.Preussner Sequencer: Fix so that clicking on UMG Animations doesn't dirty the scene. #jira UE-26249 Change 2875047 on 2016/02/20 by Max.Chen Sequencer: Add option to toggle display of channel colors/lines. View->Channel Colors Change 2877138 on 2016/02/23 by Max.Chen Sequencer: Select corresponding track node when selecting key or section. Removed active/inactive selection since it was only being used in deletion and the rules for deletion are now dependent upon what is selected - delete keys and sections before deleting outliner nodes. Change 2877143 on 2016/02/23 by Thomas.Sarkanen Added new math function: WindRelativeAnglesDegrees Given two angles in degrees, 'wind' the angle in Angle1 so that it avoids >180 degree flips. Good for winding rotations previously expressed as quaternions into a euler-angle representation. Change 2877147 on 2016/02/23 by Thomas.Sarkanen Added the ability to import sequencer transforms from the root node of an animation sequence Intended for use after re-importing animations from DCC tools. Available in the right-click menu for transform tracks. Also added FindTrackBinding to UMovieScene so track bindings can be recovered from tracks. Change 2877163 on 2016/02/23 by Max.Chen Sequencer: Add option to create keyframe sections as infinite. Sequencer defaults to true, UMG defaults to false. Change 2877165 on 2016/02/23 by Max.Preussner Sequencer: Drawing vertical position lines when dragging keys Change 2878748 on 2016/02/23 by Max.Chen Curve Editor: Switch curve type to user when flatting or straightening tangents. #jira UE-27277 Change 2878799 on 2016/02/23 by Frank.Fella Sequencer - Add folders support to the outliner. Change 2880769 on 2016/02/24 by Andrew.Rodham Sequencer: Added ability to override runtime spawnable ownership in sequencer - This is exposed as an option on spawnables "Keep Alive Outside Playback Range (In Sequencer)" - Enabling this will stop spawnables from being destroyed when scrubbing outside of the playback range #jira UE-27205 Change 2880770 on 2016/02/24 by Thomas.Sarkanen Sequencer: Added countdown and recording indicator display when recording Also fixed extra popups added post-PIE when animation recordings auto shutdown. Change 2880782 on 2016/02/24 by Max.Chen Sequencer: Snapping now also uses the current time as a possible snap time. #jira UE-26306 Change 2880793 on 2016/02/24 by Max.Chen Sequencer: Add +Animation to Animation track so that it's consistent with all other tracks that have a + button. Change 2880812 on 2016/02/24 by Max.Chen Sequencer: Fix adjusting the leading edge of a shot section so that it cuts into the shot rather than adjusts the start time. #jira UE-26306 Change 2881624 on 2016/02/25 by Andrew.Rodham Changing shader version GUID to fix corrupt shaders in ddc Change 2882408 on 2016/02/25 by Thomas.Sarkanen Asset/actors stored in TLazyObjectPtrs can now reference game content from engine This is a legitimate use case as lazy object ptrs are designed to reference assets/actors cross-domain. Change 2882409 on 2016/02/25 by Thomas.Sarkanen [CL 2899785 by Max Chen in Main branch]
2016-03-08 16:55:04 -05:00
FScrubRangeToScreen ScaleInfo( LocalViewRange, MyGeometry.Size );
FVector2D ScreenDelta = MouseEvent.GetCursorDelta();
FVector2D InputDelta;
InputDelta.X = ScreenDelta.X/ScaleInfo.PixelsPerInput;
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3946692) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3801826 by Max.Chen PR #4304: Level Sequence crash fix - Guarded against dereferencing null componen. (Contributed by DSDambuster) Change 3801828 by Max.Chen PR #4302: Movie Scene Visibility Template unitialised variable, causing random . (Contributed by DSDambuster) Change 3801837 by Max.Chen Sequencer: Delay spawning/construction for convert to possessable. This fixes a bug where property values would be lost when converting back and forth from possessable to spawnable. #jira UE-52400 Change 3801841 by Max.Chen Sequencer: Make spacer nodes not selectable. PR #4194: Improvements to Sequencer (Contributed by projectgheist) #jira UE-53117 #jira UE-52139 Change 3804183 by Max.Preussner MediaAssets: Added missing lock in media sound component Change 3805414 by Max.Preussner MediaAssets: Setting valid GUID when initializing media texture resource Change 3819578 by Max.Chen PR #4370: When enabling the "MovieCapture", do not turn off the Stereo-3D display. (Contributed by yehaike) #jira UE-53647 Change 3823414 by Max.Chen Curve Editor: Lock down the first and last keys in the redundant keys removal range so that they're unaffected. #jira UE-53591 Change 3826406 by Max.Chen Sequencer: Move OnStartedPlaying() to within first update in UpdateTimeCursorPosition(). This fixes an issue where setting the hud/player visibility was getting stomped on later. #jira UE-52772 Change 3827044 by Max.Preussner MediaAssets: Added sprite visualization to media sound component #jira UE-53594 Change 3827988 by Max.Preussner MediaPlayerAssets: Fixed Media Texture is not linked to Media Player when created together #jira UE-53532 Change 3828506 by Max.Preussner MediaPlayerEditor: Added attenuation visualizer for media sound components #jira UE-53594 Change 3832590 by andrew.porter EngineTest: Added a keep state check in Property Animation sequencer test Change 3833053 by andrew.porter EngineTest: Adding Hierarchical Bias test Change 3835683 by andrew.porter EngineTest: Adding UMG Animation screenshot test Change 3836076 by Max.Chen Sequencer: Fix audio volume and pitch multiplier deprecation. Change 3836230 by andrew.porter EngineTest: Adding Sequence Bone Position automation test Change 3836347 by Max.Chen Sequencer: Fixes to shot name parsing. When a shot doesn't contain a shot number, assume, [ShotName]_[TakeNumber]. When duplicating a shot, put the new shot in the same path of the original shot, so that the take numbers will increment properly. #jira UE-51868 Change 3836552 by Max.Chen Sequencer: Sub section now has a takes menu Change 3838094 by Max.Chen UMG: Fix template finish not getting called on stop. This fixes a bug where sections aren't restored when finished. #jira UE-52285 Change 3838708 by Max.Chen Sequencer: Add notification when the blend type is changed. #jira UE-54046 Change 3840295 by Max.Chen Sequencer: Fix copy/paste crash for lights #jira UE-54084 Change 3840957 by Mike.Zyracki Added Show Only Keyable and Show Only Animated to the filter list in the property editor. Added IsPropertyAnimated to IDetailKeyframe Interface which already had support for showing properties which are keyable (which is used for the key icon next to the properties.). Could have created another interface but then would have had to mimic the sequencer binding, releasing also, so this seemed best way. One issue still left is that custom built detail items currently don't store associated properties(usually) and so certain properties, in particulalry transforms, won't show up as keyable or animated. Note this also shows up with the keyable icon not showing up next to transform tracks, and other filters like Show Only Modified not working with transforms/customs. Not sure best way to tackle this. #jira UESEQ-328 Change 3841756 by Max.Chen Sequencer: Fix unbound possessable components when pasting spawnables. #jira UE-54104 Change 3843950 by andrew.porter EngineTest: Renaming LevelStreaming tests/content to LevelVisibility Change 3844082 by Mike.Zyracki Missing file for animated filter in property editor. When finding if a track is animated we need to find it but we can't easily induce the MovieTrack class for any particular property. So we don't set a class for it and just search by it's ID and name. #jira UESEQ-328 Change 3846902 by Max.Preussner ImgMedia: Fixed image media player never finished initialization if loading failed #jira UE-54247 Change 3849820 by Mike.Zyracki Reassigning deleted widgets didn't work since the menu extender mechanism needs a valid UObject in order to perform an operation on it. So to fix we replaced GetObjectBindingContextMenuExtender in WidgetBlueprint with new delegate mechanism (OnBuildCustomContextMenuForGuid) that supports FGuid in addition to UObjects which is needed to handle re-binding deleted widgets. Note that the default sequencer hacks this for replacing deleted actors in SequencerObjectBindingNode to check to see if a LevelSequence is active. We could move to this mechanism there also. #jira UE-53163 Change 3852211 by Max.Chen UMG: Indicate name of the property that is not bound. #jira UE-54350 Change 3854120 by Max.Chen Sequencer: Fix sibling folders being allowed to have the same folder name. #jira UE-54363 Change 3854627 by Max.Chen Sequencer: Step to next/previous key should work for all tracks if there aren't any selected. #jira UESEQ-391 Change 3855825 by andrew.porter EngineTest: Adding animation blending automation test Change 3855950 by andrew.porter EngineTest: Adding correct expected valuues to animation blending test Change 3856237 by Matt.Hoffman UESEQ-336 - Sequencer Track Reordering Adds the ability to re-order Master Tracks, Folders and Object Bindings within sequencer hierarchies (including UMG). Adds the ability to do a one-off sorting of the content under the old sorting behavior if the user wants to reset their layout to how it was under legacy behavior. Modifies SequencerTrackNodes, SequencerFolderNodes and SequencerObjectBindingNodes to handle CanDrop/OnDrop for above, below and ontop of. Fixes a Slate Issue that forcibly expanded a TreeviewRow if an item handled OnDrop. Slate will now only forcibly expand the row if the item says the drop happened ontop of the item, and not above or below it like it previously did. Change 3856503 by andrew.porter EngineTest: Adding automation test for using animation blueprint with blend multi node in sequencer Change 3857875 by Max.Chen Sequencer: Assign the sequence id after the template is compiled. #jira UE-54462 Change 3858344 by Max.Chen Sequencer: Prevent Goto and Transform boxes from overlapping by allowing them to be visible at the same time in an autosized horizontal box. Also, added close button to the goto box. PR #4425: Prevent Goto and Transform boxes from overlapping in Sequencer ... (Contributed by projectgheist) #jira UE-54210 Change 3860566 by andrew.porter MediaFrameworkTest: Set the option to index 0 for the audio and video track list by default Change 3860654 by andrew.porter EngineTest: Enabling Camera Cut + FOV test Change 3860981 by andrew.porter EngineTest: Updating skeletal mesh tests with a delay after set playback position Change 3861256 by Max.Chen Sequencer: Add all bindings if none selected. #jira-54440 Change 3862154 by Andrew.Rodham Added TimeManagement module Change 3862424 by andrew.porter EngineTest: Turned on the test Bone Positions with Blend Multi Node Change 3862573 by andrew.porter EngineTest: Adding test to compare bone positions in a sequence that is blending an animation that is using an AnimBP Change 3865117 by Max.Chen Sequencer: Stop auto scroll on mouse release of movement. #jira UE-31212 Change 3865303 by Max.Chen Sequencer: Add drag and drop transactions #jira UE-54662 Change 3865304 by Max.Chen Sequencer: Fix crash when an actor factory is not found. Change 3865361 by Max.Chen Sequencer: Don't change the camera/shot lock button when popping out of a sequence. #jira UE-54665 Change 3865412 by Max.Chen Sequencer: Determine whether a transform track is for a camera by using the spawned object or template #jira UE-54666 Change 3865685 by Max.Chen Sequencer: Clear autoscrub offset when stopping autoscroll #jira UE-31212 Change 3865886 by Max.Chen Sequence Recorder: Log an error if the number of frames changes while recording. This can happen if the skeleton changes while recording. #jira UE-48715 Change 3866925 by Andrew.Porter MediaFrameworkTest: Changing the current PNG test video image sequence to 1024 x 576 Change 3867705 by andrew.porter QAGame: Adding Audio Sort Sequence to dev folder Change 3867890 by andrew.porter QAGame: Adding a sequence for testing a sorting crash to my dev folder Change 3872628 by Max.Chen Movie Scene Capture: Split delay before warmup into split delay before shot warmup so that there's separate controls for when the movie scene capture warmups up vs. shot boundaries. Change 3873131 by Matt.Hoffman UE-54732 - Crash reordering a folder with a track. This was caused by folders being the only type of track to check if someone was putting a parent track into a child track. Object Binding tracks and Tracks now check as well so that you can't use the above/below drop targets to add parents as children. This also fixed a typo in the localization keys. #jira UE-54732 Change 3873301 by Mike.Zyracki Added ability to support continous euler angle changes when changing rotations, in particularly with the rotation gizmo's. To do this we effectively added a form an of 'euler filter'(https://en.wikipedia.org/wiki/Euler_filter) to find the closest euler angle to the current euler angle. Three functions were added to FRotator to make this possible, one to get the euler angle that's has the same rotation as it, one to get the difference between two euler angles via Manhattan distance and a third using the previous two to choose a Rotator value that's closest to it. We then use these functions before calling UComponent::SetRelativeRotation to make sure we use the correct Euler after the Quat conversion. We also no longer limit(bound) the euler angles to -180,180, which is obviously necessary to avoid flips. I also changed how we caluclate yaw and roll when pitch is -90 or 90 to make it the standard approach of zeroing out roll and just setting yaw. Main reasons are the previous implementation had precision issues so things like 180, 90, -180 would show up due to numbers being nearly zero but negative,(this would break any smooth interpolations), and this facilitates having a 'gimbal' rotation mode (like Maya, Blender etc..) if we ever want that also. If needed we could keep the previous implementation but would need to add some FMath::IsNearlyZero checks, with less performance. Note we only do this special filtering when applying delta's to actors or components in the editors, which then call UComponent::SetRelativeRotationExact, which is a new function to foces the RelativeRotation to be equal to the new rotation. This allows us to store un-nomalized Rotators at the cost that the RotationCache may be broken. We didn't change any of the other UComponent functions that set rotations (via Quats or Transforms) so they will still be bounded and unwound. In SetInternalWorldLocationAndRotation we only set the rotation if the rotation has changed, which fixes the rotation getting changed and re-normalized if just translate happens. In TransformTrackEditor, we correclty use the bUndwing flag and in MovieScene3DTransformSection there was an un-needed winding check there, it will be unwound earlier if needed, which happens if Sequence Recording is happening. Max we should talk about what to do about this . Note the euler angle drag via the widget is still bound to 0-360. I think we should just unbound that now since the rotations value are now unbound. This review now includes fixes suggested by Zak. #jira UE-UE-22228 Change 3873483 by Matt.Hoffman Sequencer Tracks can now be inserted above the spacer at the bottom of the tree. #jira UE-54706 Change 3873899 by Max.Chen Sequencer: Add section selection throbbing Change 3873908 by Max.Chen Movie Scene Capture: Added logging per frame Change 3873924 by Matt.Hoffman Adds the ability to store Sequence Recorder setups into profiles that stay with the map and can be re-loaded later. Profiles store the Actor Recordings so the settings for each actor should carry with them. #jira UESEQ-339 Change 3874726 by Matt.Hoffman Disable drag-and-drop targets on spacers that come between rows in Sequencer. This prevents extra drag/drop targets showing up between each row. #jira UE-54706 Change 3874862 by Matt.Hoffman Audio Track no longer gets reordered when adding sub-audio tracks, as sub-tracks are no longer counted towards the sorting order index when normalizing indexes. #jira UE-54727 Change 3875905 by Matt.Hoffman Disable Fade Track UI if a fade track already exists in the sequence. #jira UESEQ-393 Change 3876163 by Max.Chen Sequencer: Swap the camera object to the camera component's owner if it's not the same. #jira UE-54874 Change 3876971 by Andrew.Porter EngineTest: Moved Media Player Seek test to new folder. Also enabled the test with new ground truth image. Change 3877040 by Max.Chen Cine Camera: Split camera properties to two groups, "Camera Options" and "Camera Settings". The cine camera now hides properties in the "Camera Settings" group so that properties like bConstrainAspectRatio (in the "Camera Options" group) can be visible. #jira UE-54192 Change 3877763 by Max.Chen Curve Editor: Fix curve changed on end drag so that only curves that had keys/tangents that were changed receive notification, otherwise all loaded curves were getting notified that they were changed. #jira UE-54951 Change 3878234 by Matt.Hoffman Disable "Drop Below" targets for Sequencer Tree nodes to prevent a confusing UX issue where dropping underneath a Object Binding Node puts it after the object binding node but the UI looks like it's inserting it inside the Object Binding node. #jira UE-54743 Change 3879359 by Mike.Zyracki If a track is inactive we dim it a bit which seems to be the UE4 way to show inactive or disabled state. We changed the active logic so that all subtracks need to be inactive for the track to also be inactive(instead of all active for active). This conforms to how the active state actually works, e.g if you have two sections and only one is active the track is still active above it. #jira UESEQ-388 Change 3879462 by Max.Chen Sequencer: Allow dragging onto a particular row which would move out any overlapping sections to make space for the newly created section. Newly created sections are now selected and throbbed to draw attention to themselves. #jira UE-54664 Change 3879464 by Max.Chen Sequencer: Fixed overlapping ranges being inserted into the evaluation field during compilation - The issue was that track segments that had been combined with adjacent segments (due to them being identical) would potentially cause a subsequently compiled frame to overlap with a range that had already been inserted into the evaluation field. - The insertion code previously asserted that only minor overlaps were catered for (due to fp rounding errors) and assumed that a supplied range could not entirely contain any other range in the field. - The solution is to supply the insertion time along with the range to know exactly where the data should live in the field, and crop the range to the maximum allowable space between adjacent ranges. #jira UE-54922 Change 3879590 by Matt.Hoffman Items that are now added to the Sequencer via the "+Track" menu will be selected after being added. Items can now be added inside of folders instead of just to the root level. #jira UE-27397 Change 3879612 by Mike.Zyracki Display Nodes with no children are always active. #jira UESEQ-388 Change 3879730 by Matt.Hoffman Sequence Recorder's actor recording groups now remove items from the group when removed via the UI. #jira UESEQ-339 Change 3880256 by Mike.Zyracki Fix issue with inactive display with folders and other track nodes. #jira UESEQ-388 Change 3883491 by Max.Chen Fix issue where tick is skipped due to last ticked pose isn't cleared after AnimInstance changes. Copy from Release-4.19 #jira UE-51323 Change 3883603 by Max.Chen Movie Scene Capture: Add option toggle disable screen percentage. By default this is on (no change in current behavior). #jira UE-51898 Change 3885074 by Max.Preussner MediaCompositing: Resetting media texture & freeing resource on section end; removed dead code Change 3887220 by Max.Preussner MediaCompositing: Defaulted media section duration to 1 sec (since we do not know the actual duration in most cases) Change 3887478 by Matt.Hoffman Sequences now show [Inactive] in their title bars when they're disabled. This helps communicate why a sequence isn't being evaluated. #jira UE-51469 Change 3888985 by Max.Chen Movie Scene Capture: Clamp HDR Compression Quality between 0 and 1. #jira UE-55136 Change 3893519 by Max.Chen Sequence Recorder: Clarified tooltip for bRecordNearbySpawnedActors - spawned actors will still be recorded if they match the ActorFilter. #jira UE-55238 Change 3893546 by Max.Chen Sequence Recorder: If a selected actor already has a recording, add a blank recording. #jira UE-55239 Change 3894044 by Max.Preussner MediaCompositing: Added support for seeking into a media section Change 3894310 by andrew.porter MediaFrameworkTest: Adding Img media sources for 1080 and 2160 ravent test content Change 3894426 by Max.Preussner MediaAssets: Letting media textures with AutoClear retain their clear color when player is reset Change 3895717 by Max.Chen Sequencer: Null checks to prevent crash when saving the default state of a spawnable #jira UE-55304 Change 3897388 by Max.Chen Sequencer: Don't update current time to be within the view range when stepping into a sequence. #jira UE-55322 Change 3897452 by Max.Chen Audio: Fix crash when trying to record audio without any active capture devices. Log warning if the number of input channels is not 1 or 2. #jira UE-55223 Change 3897619 by Max.Preussner MediaCompositing: Removed commented out code Change 3898072 by Max.Chen Sequencer: Override the animation asset in the player state if it doesn't match the animation asset that's being evaluated. #jira UE-55328 Change 3898272 by Max.Preussner MediaPlayerEditor: Made slate brush constants static Change 3898704 by Max.Chen Sequencer: Skip if the binding id's sequence can't be found. #jira UE-55337 Change 3899855 by Max.Preussner MediaCompositingEditor: Added cache state visualization to media track Change 3900300 by Max.Preussner MediaCompositingEditor: Added loop indicators to media sections Change 3900694 by Max.Preussner ImfMedia: Looping cache only when player is looping Change 3900892 by Max.Preussner Stats: Added stats category for media framework Change 3900954 by Max.Preussner MediaCompositing: Don't evaluate at the end of media section Change 3901348 by Max.Preussner Core: Replaced TLruCache autos for better readability Change 3901655 by Max.Preussner ImgMedia: Added more perf stats to EXR reader Change 3901972 by Max.Preussner MediaAssets: Added getter for media player in media sound components Change 3902233 by Max.Preussner MediaAssets: Enabling media textures to receive samples right after player is assigned Change 3902238 by Max.Preussner MediaCompositing: Working around init/shutdown idiosyncracies in sequencer Change 3904045 by Max.Chen Sequencer: Fix copy/paste crash. Only process UMovieSceneCopyableBinding and objects that can be spawned by the movie scene spawn register. #jira UE-55314 Change 3905605 by Max.Chen Sequencer: Restrict spawnables from being created if they have a ClassWithin that UMovieScene is not a child of. #jira UE-55429 Change 3906550 by Max.Chen Sequencer: Add media track icon #jira UE-55480 Change 3907101 by Max.Chen Sequence Recorder: Fix bugs related to not recording a level sequence. There were certain assumptions that creating a level sequence meant that sequence recording was in progress. This is not always the case - the recorders can record animation assets and not create a level sequence. Changed the notion of IsRecording() to having at least one actor recording that is recording. Countdown timer, recording displays, etc should function if IsRecording() and not based on whether a level sequence is created. #jira UE-55485 Change 3907247 by Max.Chen Sequence Recorder: Fix crash not removing PrepareToCleanseEditorObject delegate. Repros when opening sequence recorder, closing it, and then opening or creating a level. Change 3910343 by Max.Preussner Core: Added async helper for executing functions on a given thread pool Change 3910346 by Max.Preussner ImgMedia: Added separate thread pools for loading/decoding and deleting image frames Change 3910829 by Max.Preussner Profiler: Increased visible range of profiler graph Change 3910841 by Max.Preussner MediaCompositing: Displaying asset name instead of full media source path in media section Change 3910870 by Max.Preussner ImgMedia: Using deallocation thread pool only in debug builds Change 3919642 by Max.Chen Sequence Recorder: Clarify active tooltip #jira UE-55661 Change 3919660 by Max.Chen Sequencer: Sequence template source signatures are now also compared to catch the case where a sub-sequence asset has been saved but not modified - The following sequence of events exposes this issue: - Create a master sequence with a single shot that spawns a cube - Add this sequence to a level and set it to auto-play - Save everything and restart - Resave just the inner shot asset without opening it - PIE - The inner shot never spawns its cube because its template was wiped on save, but its signature never changed. Since the master sequence previously didn't check the template source signature, it ends up trying to evaluate an empty template. #jira UE-55626 #jira UE-55490 Change 3921825 by Max.Chen Sequencer: "Run Construction Script in Sequencer" is off by default for blueprints but on for Sequencer. This allows the content author to switch it on for specific blueprints and sequencer will be default, run those with construction scripts enabled. Change 3922232 by Max.Chen Sequence Recorder: Reset countdelay on stop. #jira UE-55755 Change 3922306 by Max.Chen Sequence Recorder: Don't automatically mark transforms to be recorded by sequence recorder. Instead, log a warning if the user toggled it off to warn that the resulting animation might not match gameplay. #jira UE-55758 Change 3922912 by Max.Chen Sequence Recorder: Fix refresh next sequence name #jira UE-55757 Change 3927654 by Max.Chen Movie Scene Capture: Added format mapping for the name of the current camera #jira UE-55769 PR #4537 Change 3927658 by Max.Chen Sequencer: Added fbx property mapping for "FocusDistance" to "FocusSettings.ManualFocusDistance" #jira UE-55782 Change 3932022 by Max.Chen Sequencer: Add import animation track section to next available row index. #jira UE-55892 Change 3933919 by Max.Chen Sequencer: Jump to playback start frame and not 0 to start playback for recording. #jira UE-55933 Change 3934307 by Andrew.Rodham Sequencer: Add template signature that is re-generated every time the base template is regenerated, which invalidates evaluation fields This fixes an issue where the same sequence is instantiated multiple times in a sequence. If the source sequence was saved, its template would be wiped, which would invalidate the template ID When an instance tries to evaluate the master template, it would only invalidate a range in the evaluation field that was the hull of any invalid sub sequences overlapping the current time, potentially leaving invalid data in the evaluation field at positions later (or earlier) on in the sequence When the sub template was re-generated, it receives the same SequenceSignature as it had before (because the sequence hasn't actually changed), which causes the stale evaluation field data to fail the IsDirty check (because the sequence is the same as it thought, but the *template* has changed) This has been addressed be adding a signature to templates themselves, and checking both the template signature and sequence signature as a part of the IsDirty check. This ensures that we regenerate if either the template, or the sequence have changed. #jira UE-55934 Change 3936327 by Andrew.Rodham Sequencer: Removed increment when trimming right UMovieSceneSection::TrimSection already explicity assigns an exclusive bound to the time passed in. The new behavior means we can trim a section to the right, and insert another section without changing the time to create adjacent sections. #jira UE-42652 Change 3936328 by Andrew.Rodham Fixed KeyFrameManipulator assignment operators and copy/move constructors - These types are potentially self-referential so cannot use default constructors/assignment Change 3936330 by Andrew.Rodham Converted UMGSequencePlayer to use frames internally #jira UE-54878 Change 3936726 by Max.Chen Sequencer: Set track node as the parent of the key area node. The key area switcher needs the object binding id from the parent object binding node. Without this, the binding to the external value fails. #jira UE-55931 Change 3936775 by Max.Chen Sequencer: Should stop or loop should compare DurationFrames with Current Time from StartTime. The bug is that if you set 30 warmup frames in movie rendering for a range of 0-100, the FrameRange will be starting at -30 and have a duration of 130. Without this fix, the playback will continue until frame 130, rather than 100. #jira UE-55933 Change 3936935 by Matt.Hoffman Easing Curves are now represented in Play Rate resolution instead of internal resolution. #jira UE-55937 Change 3937069 by Matt.Hoffman Users can toggle if the is infinite on each side, limited by which tracks support infinite ranges. #jira UE-55891 Change 3937516 by Max.Preussner ImgMedia: Added support for single-threaded platforms #jira UE-55986 Change 3937826 by Max.Preussner MediaAssets: Disabling media sound components on HTML5 if AudioMixer is not enabled Change 3937997 by Max.Chen Curve Editor: Add Zoom to Fit Curves so that selected curves from Sequencer can be focused on. Tested that undo doesn't re-zoom. #jira UE-55935 Change 3938000 by Max.Chen Sequencer: Stop all sounds before generating audio waveforms. #jira UE-55951 Change 3938376 by Max.Preussner XGEController: Disabled XGE Controller in single-threaded apps to prevent crash Change 3938444 by Max.Preussner Core: Added async support for single-threaded applications Change 3938445 by Max.Preussner Networking: Added support for single-threaded applications in UDP socket sender/receiver Change 3938447 by Max.Preussner Messaging: Added support for single-threaded applications Change 3939432 by Max.Chen Sequence Recorder: Append command list to global level editor actions so that shortcuts are accessible in level editor. #jira UE-55798 Change 3940229 by Andrew.Rodham Added prospective display rate upgrade to UMovieScene::PostLoad - There was previously some very odd behaviour that would assign the fixed frame interval only when a sub sequence was focused in SSequencer. This meant that many sequences could have a frame interval of 0 set in the data. - Under the old method of snap interval display this would have fallen back to getting the display interval from the sequencer settings, but we no longer look at these. - The USequencerSettings properties have been removed and in their place, a prospective data upgrade for sequences that have a fixed frame interval old 0fps that sets the play rate to the previous defaults based off the old USequencerSettings defaults. - This could end up 'changing' the display rate for sequences where the user has changed the snap interval in the settings for a particular sequence editor, but there's not much we can do about that given we don't have access to the USequencerSettings classes in UMovieScene #jira UE-55919 Change 3940277 by Andrew.Rodham Sequencer: Added ability to default frame resolutions and play rates for newly created actor sequences Change 3940378 by Andrew.Rodham Sequencer: Post move import dialog now defaults to the playback framerate of the sequence, and floors to frame numbers Change 3940559 by Andrew.Rodham Reinstated primed or recording sequence color Change 3940642 by Max.Preussner ImagePlate: Removed image plate media playback functionality Change 3940843 by Max.Preussner Core: Made TCircularQueue actually thread-safe; improved code comments Change 3940860 by Max.Chen Sequencer: Changed StructNameToKey to StructPathToKey Previously, keying a PropertyPath of [RenderTransform][Shear][X] would get trimmed to X, which doesn't map to a channel name as considered by Sequencer2dTransformTrackEditor. Instead, trim the resulting property path to [Shear][X] so that track editors can determine the desired struct path and channels to key. #jira UE-52966 Change 3941292 by Mike.Zyracki Fix for trajectories out of range not showing up. 1) If we had no key data we would pop the time, so wouldn't get the section ranges. 2) Calculating of upper bound was wrong, checking against -1 and not key == num of keys when doing algo::lower_bound. 3) No need to do the Bck-- for the bakward iterators since we fixed #2. We start now from the upper bound correctly. 4) If we had no keys (at section start,end) we would incorrectly say we were any key type, so since we draw constant keys as dashed we would do so incorrectly around section end points. #jira UE-55929 Change 3941424 by Max.Chen Curve Editor: Change Zoom to Fit to use TArrayView Change 3941498 by Max.Preussner Core: Added FMath::DivideAndRoundNearest function Change 3942097 by Matt.Hoffman Drop Frame Timecode Support for NTSC rates. Change 3942104 by Matt.Hoffman Sequence Recorder Group is no longer visible inside the World Outliner after using one. #jira 55266 Change 3942107 by Max.Chen Sequencer: Resurrect logic to find or extend an existing section when adding keys. Change 3942330 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942339 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942507 by Andrew.Rodham Sequencer: We no longer pad the time overlap threshold with a small number that is not scaled by the current zoom level - The presence of this pad was causing keys that were far apart to be grouped when zoomed in a long way Change 3942509 by Andrew.Rodham Sequencer: Only pad total view range, rather than section range as well when retrieving keys to render - This stops us from rendering keys that are within the view range, but outside the section range Change 3942512 by Andrew.Rodham Added transactions to some sequencer details customizations Change 3942513 by Andrew.Rodham Sequencer: Reinstated validation checks to UMovieSceneSection::SetStartFrame and SetEndFrame, changed erroneous uses to use SetRange Change 3942560 by Andrew.Rodham Pass by rvalue reference to appease error C2719 on Win32 ('InChannels': formal parameter with requested alignment of 8 won't be aligned) Change 3942697 by Andrew.Rodham Newly Created Level Sequences and Actor Sequences now default to 24000 fps frame resolution (+/- ~24hrs range, supporting all integer rates + 23.976) Change 3942700 by Andrew.Rodham Sequencer: Added legacy out-of-bounds errors for times that are not supported by the current legacy upgrade frame resolution Change 3942989 by Max.Preussner Core: Fixed circular queue count calculation Change 3943538 by Max.Preussner MediaAssets: Reverted workaround for procedural audio log spam in HTML5 (Actor component initialization cannot be skipped if the component is used in a level) Change 3944071 by Max.Preussner QAGame: Fixed Media Texture keeps last frame of Media when PIE ends #jira UE-53360 Change 3944292 by Max.Chen Sequencer: Added extra flags to ensure that asset initialization does not occur on template actor sequences #jira UE-56113 Change 3944364 by Max.Chen Sequencer: Prevent circular shot/master tracks. Tested adding master -> child -> master as drag and drop cinematic shot tracks and sub tracks as well as through the + button. #jira UE-56091 Change 3944422 by Max.Chen Sequence Recorder: Disable transform recording if off. #jira UE-56061 Change 3944745 by Andrew.Rodham Sequencer: Key rendering fixes - Fixed assert that occured when keys happened to reside on some times due to KeyTime + TimeOverlapThreshold - KeyTime being slightly larger TimeOverlapThreshold - Fixed keys sometimes being clipped when zoomed right in due to lack of half-frame offset - Added missing documentation to MovieSceneTimeHelpers.h #jira UE-56107 Change 3945231 by Andrew.Rodham Sequencer: Reconstruct channel proxy on Serialize to catch all cases of undo/redo, PostLoad and duplication #jira UE-56089 Change 3945301 by Andrew.Rodham Sequencer: Added safety checks during initial sequence recording to guard against applying negative or 0-sized sequence ranges #jira UE-56125 Change 3946627 by Max.Preussner Fortnite: Fixed game crashes closing editor while in PIE - Pure virtual function being called #jira UE-56144 [CL 3946896 by Max Chen in Main branch]
2018-03-14 22:09:33 -04:00
double NewViewOutputMin = LocalViewRangeMin - InputDelta.X;
double NewViewOutputMax = LocalViewRangeMax - InputDelta.X;
Copying //UE4/Dev-Sequencer to //UE4/Main ========================== MAJOR FEATURES + CHANGES ========================== Change 2875025 on 2016/02/20 by Andrew.Rodham Sequencer: Cinematic viewport improvements - Added optional letterbox overlay (defaults to 2.35:1) - Added ability to change safe frame colors - Added selected tracks' keys to the transport range - Added buttons for jumping between selected tracks' keyframes on the transport controls - Removed black padding around the viewport where possible - Added ability to specify whether a combo button/menu anchor should close when its parent receives focus - Separated logic of FGroupedKeyArea into FSequencerKeyCollection, so it can be used independently - Added playback range to the viewport frame numbers - All frame numbers are now spin boxes #jira UE-26429 Change 2875026 on 2016/02/20 by Thomas.Sarkanen Added console commands for recording sequences Changed plugin to a developer plugin so we can load it when the editor is in -game mode. Added Exec commands. Added some more logging to help diagnose problems when using commands. Added loading/saving of config for recorder settings (stored in Editor.ini). Also disabled controls in recorder window when recording. Added auto-saving of assets when in non-editor modes. Moved animation settings from UnrealEd to Engine module. Change 2875036 on 2016/02/20 by Max.Chen Sequencer: Call RedrawAllViewports instead of RedrawLevelEditingViewports. In particular, this fixes some update issues when editing values in the key editors. #jira UE-26960 Change 2875046 on 2016/02/20 by Max.Preussner Sequencer: Fix so that clicking on UMG Animations doesn't dirty the scene. #jira UE-26249 Change 2875047 on 2016/02/20 by Max.Chen Sequencer: Add option to toggle display of channel colors/lines. View->Channel Colors Change 2877138 on 2016/02/23 by Max.Chen Sequencer: Select corresponding track node when selecting key or section. Removed active/inactive selection since it was only being used in deletion and the rules for deletion are now dependent upon what is selected - delete keys and sections before deleting outliner nodes. Change 2877143 on 2016/02/23 by Thomas.Sarkanen Added new math function: WindRelativeAnglesDegrees Given two angles in degrees, 'wind' the angle in Angle1 so that it avoids >180 degree flips. Good for winding rotations previously expressed as quaternions into a euler-angle representation. Change 2877147 on 2016/02/23 by Thomas.Sarkanen Added the ability to import sequencer transforms from the root node of an animation sequence Intended for use after re-importing animations from DCC tools. Available in the right-click menu for transform tracks. Also added FindTrackBinding to UMovieScene so track bindings can be recovered from tracks. Change 2877163 on 2016/02/23 by Max.Chen Sequencer: Add option to create keyframe sections as infinite. Sequencer defaults to true, UMG defaults to false. Change 2877165 on 2016/02/23 by Max.Preussner Sequencer: Drawing vertical position lines when dragging keys Change 2878748 on 2016/02/23 by Max.Chen Curve Editor: Switch curve type to user when flatting or straightening tangents. #jira UE-27277 Change 2878799 on 2016/02/23 by Frank.Fella Sequencer - Add folders support to the outliner. Change 2880769 on 2016/02/24 by Andrew.Rodham Sequencer: Added ability to override runtime spawnable ownership in sequencer - This is exposed as an option on spawnables "Keep Alive Outside Playback Range (In Sequencer)" - Enabling this will stop spawnables from being destroyed when scrubbing outside of the playback range #jira UE-27205 Change 2880770 on 2016/02/24 by Thomas.Sarkanen Sequencer: Added countdown and recording indicator display when recording Also fixed extra popups added post-PIE when animation recordings auto shutdown. Change 2880782 on 2016/02/24 by Max.Chen Sequencer: Snapping now also uses the current time as a possible snap time. #jira UE-26306 Change 2880793 on 2016/02/24 by Max.Chen Sequencer: Add +Animation to Animation track so that it's consistent with all other tracks that have a + button. Change 2880812 on 2016/02/24 by Max.Chen Sequencer: Fix adjusting the leading edge of a shot section so that it cuts into the shot rather than adjusts the start time. #jira UE-26306 Change 2881624 on 2016/02/25 by Andrew.Rodham Changing shader version GUID to fix corrupt shaders in ddc Change 2882408 on 2016/02/25 by Thomas.Sarkanen Asset/actors stored in TLazyObjectPtrs can now reference game content from engine This is a legitimate use case as lazy object ptrs are designed to reference assets/actors cross-domain. Change 2882409 on 2016/02/25 by Thomas.Sarkanen [CL 2899785 by Max Chen in Main branch]
2016-03-08 16:55:04 -05:00
ClampViewRange(NewViewOutputMin, NewViewOutputMax);
SetViewRange(NewViewOutputMin, NewViewOutputMax, EViewRangeInterpolation::Immediate);
}
}
Copying //UE4/Dev-Editor to //UE4/Dev-Main (Source: //UE4/Dev-Editor @ 3497164) #lockdown Nick.Penwarden #rb none ===================================== MAJOR FEATURES + CHANGES ===================================== Change 3433074 by Matt.Kuhlenschmidt Fix crash when clicking on certian tutorial blueprints. #jira UE-44593 Change 3433075 by Matt.Kuhlenschmidt Remove hittest grid log spam. The underlying problem causing this has been fixed Change 3433077 by Matt.Kuhlenschmidt Fix lighting becoming unbuilt when mesh painting #jira UE-44837 Change 3433081 by Matt.Kuhlenschmidt PR #3553: Crashfix for static array properties (Contributed by Pierdek) Change 3433104 by Alexis.Matte Make sure re-import skeletal mesh follow the import morph option #jira UE-42846 Change 3434825 by Matt.Kuhlenschmidt Fix crash when GC happens while the vr editor radial menu is open. Change 3434831 by Matt.Kuhlenschmidt Added missing file Change 3434868 by Shaun.Kime If you have a reroute node between a Material Function texture input and its usage, the parent material will fail to resolve the reroute node. #jira ue-44670 Change 3434998 by Alexis.Matte Meshes editors material/section panel are now fully transactional - Staticmesh editor: section material slot, section cast shadow, section collision, material slot instance, material slot name - Skeletal mesh editor: material slot instance, material slot name Also fix some transaction description #jira UE-44462 Change 3435195 by Jamie.Dale Fixed incorrect handling of some LTR scripts that require shaping These scripts need to go through HarfBuzz, and this also fixes a case where HarfBuzz wasn't applying font scale correctly. #jira UE-44767 Change 3435199 by Jamie.Dale Fixed some crashes/artifacts with bidirectional text It was possible for a line to compute an incorrect range, which could cause crashes or other highlighting issues. The highlighting logic has also been updated as the old code didn't handle all bidirectional cases correctly. Change 3435200 by Jamie.Dale Fixed a grapheme cluster metrics issue in the font editor viewport The viewport also now respects the default shaping method CVar. Change 3435771 by Alexis.Matte Fix degenerated bounds calculation for skeletalmesh when the skeleton is remove from a re-import (PhysicAsset API change, adding 1 function) #jira UE-44609 Change 3436856 by Jamie.Dale Added some missing Unicode block ranges Change 3436914 by Jamie.Dale Adding some missing combining character ranges to the text shaper Change 3436923 by Alexis.Matte PR #3463: Get bounds for all triangles, not just the first one. WedgeIndex was . (Contributed by DaveC79) #jira UE-43764 Change 3436948 by Jamie.Dale Updated the Portal to use the predefined Unicode block ranges Change 3436961 by Max.Chen Sequencer: Show camera shake/anim track menus even if there aren't any assets. Change 3437244 by Max.Chen Sequencer: Clear locked cameras when releasing Sequencer. #jira UE-44967 Change 3437515 by Arciel.Rekman UBT: improvements for LocalExecutor. - Larger number of parallel jobs on 16GB+ machines. - Use WaitForExit() instead of polling. - Tested on Linux and Mac. Change 3437629 by Matt.Kuhlenschmidt Improve asset import data display in static and skeletal meshes Change 3438047 by Arciel.Rekman Fix overlapping ranges being passed to memcpy(). Change 3438822 by Yannick.Lange ViewportInteraction: Move gizmo handle files to make them private. Change 3438906 by Matt.Kuhlenschmidt PR #3556: Git Plugin: fix new option "init Git LFS" that make assets read-only (master/UE4.17) (Contributed by SRombauts) Change 3438907 by Matt.Kuhlenschmidt PR #3565: add -quality option to buildlighing commandlet (Contributed by kayama-shift) Change 3438908 by Matt.Kuhlenschmidt PR #3558: UE-44862: Always update SColorPicker color on OK button (Contributed by projectgheist) Change 3439393 by Matt.Kuhlenschmidt Force highest LOD for highres screenshots Change 3439819 by Matt.Kuhlenschmidt Turned FAssetData into a struct for some upcoming script exposure of FAssetData Change 3439949 by Arciel.Rekman Fixed selection logic for the UE4_LINUX_USE_LIBCXX environment variable. - Allows disabling libc++ by setting the variable to 0. - Pull request #3576 contributed by jared-improbable. Change 3441078 by Jamie.Dale The culture/language/locale console commands are now available in all build configs Change 3441109 by Jamie.Dale Text containing surrogate pairs now runs through HarfBuzz when shaping in Auto mode This is needed as the kerning-only shaping code assumes that everything is within the BMP Change 3441275 by Matt.Kuhlenschmidt Disable spinning on location and scale. These dont work because we have no notion of infinite spinning Change 3442748 by Yannick.Lange ViewportInteraction: Remove unused console variables. Change 3442775 by James.Golding Add support for editing MaterialFunctions to MaterialEditingLibrary Pull Material recompile/update code into UMaterialEditingLibrary::RecompileMaterial Pull MaterialFunction update code into UMaterialEditingLibrary::UpdateMaterialFunction util Move RebuildMaterialInstanceEditors to UMaterialEditingLibrary Added test content for Material/MaterialFunction editing Add needed BlueprintReadWrite to expressions (constants, function input/output) Expose UMaterialExpressionMaterialFunctionCall::SetMaterialFunction to BP, rename old func (which takes old function) to SetMaterialFunctionEx, also expose GetInputNameWithType Change 3442779 by James.Golding Fix header order Change 3442817 by Yannick.Lange ViewportInteraction: Add can execute checks for level editor commands. Change 3443038 by Michael.Dupuis #jira UE-43377: When you select a foliage actor we will move all instance contained in it to the new level as we can't move a foliage actor Only permit moving foliage instance if there is some selected Change 3443855 by Michael.Dupuis #jira UE-44885: Unregister from PerModuleDataObjects when the object is destroyed Change 3446096 by Max.Chen Sequencer: Add OnFinished() event when a level sequence completes playback #jira UE-45173 Change 3446097 by Max.Chen Sequencer: Evaluate one last time before the sequence is torn down and reset #jira UE-45174 Change 3446242 by Jamie.Dale Fixed caret not appearing in empty text layouts Caret selections have no range, and therefore have no width Change 3446361 by Matt.Kuhlenschmidt Fix WITH_EDITOR only functions causing generated code compile errors when the all functions on the class are WITH_EDITOR Change 3446457 by Alexis.Matte Polish the speed tree import dialog #jira UE-44963 Change 3446946 by Michael.Trepka Modified FWindowsWindow::GetRestoredDimensions to return correct window position for normal windows for which GetWindowPlacement returns position in workspace coordinates #jira UE-37934 Change 3447543 by Arciel.Rekman Reduce VMAs on Linux. - Trades off increased address space (VIRT in terms of ps/htop) for smaller number of distinct mappings (VMAs, virtual memory areas). This decreases possibility to run into vm.max_map_count limit on Linux. - Tested on Linux and Mac. Change 3448468 by Arciel.Rekman Fix race condition during creation of GMalloc. - On Mac GMalloc can be created on two different thread that are racing with each other - app's main thread and a system thread. Change 3449012 by Max.Chen Sequencer: Add time to transform, color and vector key structs so that key times are editable from the key editors. #jira UE-45089 Change 3449018 by Max.Chen Sequencer: Add OnCameraCut event that fires when there is a camera cut. #jira UE-45137 Change 3449195 by Max.Chen Sequencer: Add setting for limit scrubbing to playback range. #jira UE-43502 Change 3449198 by Max.Chen Sequencer: Reorder hierarchical bias so that group priority takes precedence. Change 3449217 by Max.Chen Sequencer: Add setting to activate realtime viewports when in sequencer. Change 3449219 by Max.Chen Sequencer: Focus on search boxes when opened. Change 3449238 by Max.Chen Sequencer: Assign actor should replace the actor itself after it has updated all the components. Also, replace components be fullname rather than by class. Change 3449239 by Max.Chen Sequencer: Fix offsets when moving multiple sections. Dragging should be clamped to the bounds that any of the selected sections hits against the unselected sections. Change 3449241 by Max.Chen Sequencer: Restore section selection after full tree rebuild. Change 3449279 by Max.Chen Sequencer: Set movie scene capture frames only when not using custom frames. This allows the user entered frame numbers to persist in config, rather than overwriting them when doing a "Render Shot" Change 3449280 by Max.Chen Sequencer: Spawn in the persistent level. Otherwise, they get spawned into whatever sublevel is current. #jira UE-44552 Change 3449294 by Max.Chen Sequencer: Null check for sequencer ed mode crash. Change 3449297 by Max.Chen Sequencer: Fix delay in sliding values. Mark changed when sliding values. Mark refresh immediately when committing values since OnValueChanged will be called and needs to have the correct value that was refreshed immediately. #jira UE-42866 Change 3449542 by Max.Chen Sequencer: Fix scrubber hit testing so that the time scrubber is really favored over the playback ranges. #jira UE-44569 Change 3451507 by Matt.Kuhlenschmidt Fix extra slate uv coords not functioning on ES2 Change 3451510 by Matt.Kuhlenschmidt PR #3595: Fixed wrong colour for level status (Contributed by ronve) Change 3451529 by Alexis.Matte fbx scene importer: Make sure we set INVALID_UNIQUE_ID to node that has no attribute. #jira UE-34410 Change 3451611 by Yannick.Lange ViewportInteraction: Dragging gizmo without second pass for snapped calculations. Change 3452134 by Jamie.Dale Fixed constant font cache flushing if a widget had no font set Change 3452239 by Jamie.Dale Fixed constant font measure flushing if a widget had no font set Change 3452243 by Jamie.Dale Removed deprecated code for creating fonts from bulk data Change 3452277 by Jamie.Dale The concept of "stale" composite fonts is now editor-only Change 3452358 by Alexis.Matte Fbx scene importer: Do not remove existing attribute reference from the blueprint if the reimport of the associate mesh attribute is not tick. #jira UE-45232 Change 3452678 by Max.Chen Sequencer: Fix crash on export if there's no shot data. Change 3453057 by Matt.Kuhlenschmidt Exposed asset exporting to script Change 3453782 by Andrew.Rodham Sequencer: Fixed deterministic cooking issues with movie scene data - Movie scene signatures are now initialized in PostInitProperties - A warning is now presented when attempting to cook old data that was never serialized with a signature. - Removed redundant legacy data upgrade logic that could dirty level sequences on load. #jira UE-44912 Change 3453788 by Yannick.Lange ViewportInteraction: Custom scene proxy for gizmo handles. Change 3453938 by Max.Chen Sequencer: Hotkeys (shift , and shift .) to step to next/previous shot #jira UE-45119 Change 3454058 by Michael.Dupuis Fixed StaticAnalysis Change 3454077 by Max.Chen Sequencer: Fix not saving the pre-animated track value when creating a track/key. On pre object change, broadcast property change so that a track or key can be created. That track/key needs to be evaluated immediately so that the pre-animated state can be saved properly. This is done now with RefreshAllImmediately and is only called when a track has been created. Also, added a return value for OnKeyProperty, so that it's known what changed in particular (ie. track created, track modified, etc) Also, fixed transform keying so that if a transform track already exists for the object or the scene component, the existing track is used. #jira UE-45130 Change 3454108 by Nick.Darnell UMG - Fixing the WIC to properly record cursor delta so that scrollbars work. Change 3454109 by Jamie.Dale Cache the text layout source info in non-shipping builds so you can inspect it in the debugger Change 3454202 by Matt.Kuhlenschmidt Fix bogus error message about the number of usable texture coordinates on ES2 when compiling a UI domain material Change 3454390 by Yannick.Lange Fix creating a plugin in a C++ project opens a second instance of Visual Studio. Use SourceCodeAccessor to open solution when necessary. #jira UE-45035 Change 3454564 by Matt.Kuhlenschmidt #rnx Fix deprecation warnings Change 3455471 by Yannick.Lange ViewportInteraction: Fix entering and exiting VR Mode disables gizmo in desktop editor viewport. #jira UE-44965 Change 3456183 by Max.Chen Sequencer: Auto key, auto track refactor. Auto key - create a key when the property changes and there's an existing track. Auto track - create a track when the property changes. This is only exposed in the level sequence editor. All - create a key and a track when the property changes. This is only exposed in VR Editor. None - do nothing. #jira UE-43469 Change 3456349 by Andrew.Rodham Sequencer: Only perform legacy signature checks on instances, and only where signatures match the CDO Change 3456678 by Alexis.Matte Allow to add null level instance override material via the advance material array. But still limit the override material number to the mesh material number. #jira UE-45306 Change 3456945 by Max.Chen UMG: Add restore state to 2d transform section. #jira UE-45372 Change 3457196 by Arciel.Rekman Linux: serialize allocations from the memory pool. Change 3458434 by Max.Chen Sequencer: Remove obsolete set tick prerequites functions. Change 3458671 by James.Golding Added MIC editing support to MaterialEditingLibrary Fix static analysis warning Change 3458888 by Matt.Kuhlenschmidt PR #3615: More detailed log messages for debugging warnings/errors (Contributed by projectgheist) Change 3458893 by Matt.Kuhlenschmidt PR #3583: UE-44960: Delta value wasn't being used (Contributed by projectgheist) Change 3458895 by Matt.Kuhlenschmidt Fix typo Change 3458902 by Matt.Kuhlenschmidt PR #3607: Improved InputKeySelector functionality (Contributed by projectgheist) Change 3458917 by Matt.Kuhlenschmidt Fix crash with invalid object properties in the class picker #jira UE-39000 Change 3458939 by Matt.Kuhlenschmidt Fix compile error Change 3458984 by andrew.porter QAGame: Initial check in of sequencer smoke test map Change 3459510 by Matt.Kuhlenschmidt Fixed ensure when deleting a map that contains build data which also happens to be the currently loaded map. #jira UE-45052 Change 3460985 by Max.Chen Sequencer: Snap play time to keys now allows scrubbing between keys and snaps to key times within a certain screenspace tolerance. #jira UE-45090 Change 3461698 by Arciel.Rekman Avoid using ARRAY_COUNT in Vulkan. - Sometimes those arrays can have no extensions whatsoever, and it is illegal to declare a 0 element C array. Change 3462053 by Max.Chen Sequencer: Show sequencer spawnables in the world outliner and add the icon overlay for spawnables. #jira UE-43470 Change 3462139 by Max.Chen Property Editor: Add objects to FPropertyAndParent Change 3462202 by Arciel.Rekman Fix FSocket::Recv() blocking with Peek when there's no data. Change 3462253 by Nick.Darnell Slate - New Clipping System Clipping is now a stateful choice made during composition of the slate hierarchy. Previously every widget got to respect or modify the clipping rect on an as needed basis. The problem was that clipping was only allowed in the layout space of the widget, and it wasn't possible to properly clip elements with render transforms. The new system permits all kinds of transforms on any widget, and they will all be clipped correctly. It tries to use Scissor Rects as they are much cheaper, but will switch over to stenciling if need be to represent a complicated masking structure with several rotated clipping rects all needed to be combined together. Here are the new clipping states a widget can have, almost all widgets are set to No. Only change it from No if your widget actually needs to clip, generally speaking most widgets don't need to clip. /** * This widget does not clip children, it and all children inherit the clipping area of the last widget that clipped. */ Inherit, /** * This widget clips content the bounds of this widget. It intersects those bounds with any previous clipping area. */ ClipToBounds, /** * This widget clips to its bounds. It does NOT intersect with any existing clipping geometry, it pushes a new clipping * state. Effectively allowing it to render outside the bounds of hierarchy that does clip. * * NOTE: This will NOT allow you ignore the clipping zone that is set to [Yes - Always]. */ ClipToBoundsWithoutIntersecting UMETA(DisplayName = "Yes - Without Intersecting (Advanced)"), /** * This widget clips to its bounds. It intersects those bounds with any previous clipping area. * * NOTE: This clipping area can NOT be ignored, it will always clip children. Useful for hard barriers * in the UI where you never want animations or other effects to break this region. */ ClipToBoundsAlways UMETA(DisplayName = "Yes - Always (Advanced)"), /** * This widget clips to its bounds when it's Desired Size is larger than the allocated geometry * the widget is given. If that occurs, it behaves like [Yes]. * * NOTE: This mode was primarily added for Text, which is often placed into containers that eventually * are resized to not be able to support the length of the text. So rather than needing to tag every * container that could contain text with [Yes], which would result in almost no batching, this mode * was added to dynamically adjust the clipping if needed. The reason not every panel is set to OnDemand, * is because not every panel returns a Desired Size that matches what it plans to render at. */ OnDemand UMETA(DisplayName = "On Demand (Advanced)") - Large API Change - All FSlateDrawElement::Make_____ calls have been deprecated that involved passing in a clipping rect. You no longer should are passed a Clipping rect via OnPaint. You are still passed a rect, but this rect represents a Culling Rect, which is valuable if you need to just out right not paint things the user can't possibly see. If you were previously trying to determine if you should cull widgets, by doing something like this, if ( FSlateRect::DoRectanglesIntersect(MyClippingRect, CurWidget.Geometry.GetRenderBoundingRect()) ) That's no longer a good option since there are ways for widgets to ignore the culling bounds. You should convert anything like above to the one below, if (!SWidget::IsWidgetCulled(MyCullingRect, CurWidget)) To assist in debugging efforts, there are several new debugging console flags in Slate, Slate.ShowClipping 1 - Controls whether we should render a clipping zone outline. Yellow = Axis Scissor Rect Clipping (cheap). Red = Stencil Clipping (expensive). Slate.DebugCulling 1 - Disables pushing clipping or stencil rects to the GPU, but continues to intersect culling rects, so that you can tell if a widget is properly culling children it can't possibly draw. Slate.ShowTextDebugging 1 - Show debugging painting for text rendering. I've added a new Experimental Feathering Option, it adds AA geometry around the outside of Box and Image brushes. Slate.Feathering 1 If you're using RenderDoc or something similar, you can now enable render events for slate, so that you can better grok how we're batching and changing states for each UI render pass. Slate.EnableDrawEvents 1 #jira UE-4659 #rn Change 3462714 by Nick.Darnell Fixing a few more compiler issues with the clipping changes. Change 3462726 by Max.Chen Switch OnEditStructChildContentsChanged to use FObjectWriter instead of FMemoryWriter which supports serializeing UObjects. This fixes a crash when adding actor array elements to a user defined event struct. #jira UE-45431 Change 3462801 by Nick.Darnell Adding a UMG dependency to EngineTestBuild. Change 3462914 by Max.Chen Sequencer: Fix regression where spawnables aren't getting saved. Caused by 3407138 #jira UE-30007 #jira UE-39003 Change 3462946 by Nick.Darnell Automation - Tweaking the UI automation tests converting them over to use the new UI Screenshot automation test. Automation - Adding a blur widget test. Change 3462987 by Matt.Kuhlenschmidt Back out changelist 3458893 Change 3464774 by Matt.Kuhlenschmidt PR #3629: Bugfix: Missing small icon in Project Launcher profile editor (Contributed by aarmbruster) Change 3464785 by Nick.Darnell Fixing some clipping stuff in the editor. Change 3464830 by andrew.porter QAGame: Second pass on sequencer smoke test map Change 3464902 by Nick.Darnell Loading - Adding some additional checks to the the loading code to ensure we're on the main thread. Additionally adding a fix from UDN that prevents deadlocks in the rare case a user hits Alt+Tab in a fullscreen game while in a hard loading screen. Change 3464988 by Max.Chen Sequencer: Add attenuation settings for attached audio components. #jira UE-33080 Change 3465024 by Nick.Darnell MoviePlayer - Impoving the playback mode displaynames. Change 3465074 by Arciel.Rekman Fix shadowing issues of GraphicsPSOInit. Change 3465097 by Matt.Kuhlenschmidt Some refactoring of the details panel Exposed new methods of adding a struct on scope to a details panel and have it work properly with customizations. The scruct on scope has a "fake" ustructproperty that allows the details panel to show the whole struct not just an individual property. Refactored the API for adding rows to details panels to make it more consistent\ AddChildCustomBuilder->AddCustomBuilder AddChildGroup->AddGroup AddChildContent->AddCustomRow AddChildPropert->AddProperty AddChildStructure->AddExternalStructureProperty AddStructure->AddAllExternalStructureProperties AddExternalProperty->AddExternalObjectProperty or AddExternalStructureProperty Change 3465186 by Max.Chen Sequencer: Save the BindingID in the pre animated token producer so that it can be destroyed properly. This fixes a bug where the default state of a spawnable isn't saved. #jira UE-43780 Change 3465315 by Matt.Kuhlenschmidt Fix Fortnite and Orion details panel customization warnings Change 3465424 by Nick.Darnell Automation - Moving the step for setting the link to the automation reports to be set before we start the engine. Change 3465488 by Nick.Darnell Automation - Forcing textures to load before taking screenshot, so that the scene gets another opportunity to render before we render with Slate. This should fix the Blur UI Test. Change 3466277 by Arciel.Rekman Linux: fix window drift when dragging (UE-40380). - Change by Cengiz Terzibas. Change 3466370 by Nick.Darnell UMG - Fixing the colors for the resize handle in the designer. Change 3466372 by Nick.Darnell UMG - Fixing the ruler ticks sometimes not being drawn. Change 3466374 by Nick.Darnell UMG - Fixing the designer showing multiple options for sequencer. Change 3466377 by Nick.Darnell UMG - Cleaning up some clipping bits. Change 3467025 by Andrew.Rodham Re-saving assets that contain legacy (<4.15) movie scene data to remove deterministic cook warning. If conflicts arise during merging of these assets, please ignore the changes made in dev-editor, and accept game-side changes. (CIS step 62283298, jobId 7773146) (CIS step 62283297, jobId 7773146) Change 3467099 by Max.Chen Fix GetObjectPropertyClass ensure logic. This was returning UObject::StaticClass when valid. Change 3467172 by Max.Chen Sequencer: Evaluation optimizations. Also, fixes subsequences not getting expired, leaving dangling spawnables. #jira UE-43690 Change 3467192 by Matt.Kuhlenschmidt Fix transactions getting stuck in the color grading controls. This prevents PIE from working properly and causes shutdown crashes #jira UE-45527 Change 3467251 by Yannick.Lange ViewportInteraction: Fix scale and rotation snap while dragging with two lasers. #jira UE-43489 Change 3467331 by Matt.Kuhlenschmidt Fix D3D shader compiler hard coding shader path and not giving proper warnings when it cannot find the shaders Change 3467335 by Matt.Kuhlenschmidt Remove DarkStyle attribute from SNumericEntryBox and allow a spin box style to be passed to it. Change 3467558 by Max.Chen Scene Outliner: Generic support to add default columns to a scene outliner. Change 3467565 by Jamie.Dale Removing old screenshot data for test Change 3467589 by Nick.Darnell Editor - Random cleanup. Change 3467596 by Nick.Darnell Progress Bar - Exposing Border Padding to UMG. Change 3467600 by Nick.Darnell Slate - Adjusting the rendering of the splitter, previously it could be off by a pixel or two, which becomes more apparent now with the clipping changes. Change 3467601 by Max.Chen Property Editor: Fix static analysis warning Change 3467662 by Nick.Darnell Automation - Fixing a bug with the screenshot comparison tool not replacing (removing) the old screenshot data. Change 3467674 by Max.Chen Property Editor: Fix static analysis warning Change 3467737 by Max.Chen Sequencer: Added OnMovieSceneBindingsChanged delegate Change 3468053 by tim.gautier QAGame: Updating Editor Smoke Map - Updated landscapes into Stations for testing - Added Foliage Sublevel Change 3468194 by Arciel.Rekman Linux: fix problems communicating with various STL-using libs. - Stop hiding global new/delete signatures. - Disable CEF3 since this change uncovers the problem with libcef.so not built to use bundled libpng. Change 3468678 by Max.Chen Sequencer: Set "Sequencer Actor" tag before setting the actor label so that the outliner refreshes after the actor has the tag. Change 3469314 by tim.gautier QAGame: Added Painted Foliage / Spline section to EditorSmoke map Change 3469377 by Nick.Darnell Slate - Fixing some warnings in a couple of sample games due to the clipping changes. #rnx Change 3469767 by Max.Chen Sequencer: Outliner column and sequencer binding data #jira UE-43470 Change 3469974 by Arciel.Rekman Fix code projects not working in Linux installed build. Change 3470082 by Nick.Darnell Slate - The GetRenderer() call on SlateApplication no longer returns a SharedPtr, rather than convert it to a thread safe ptr, going to just make accessing it a raw ptr return, so it can be safely referenced on the game thread while being used on the slate loading thread. Change 3470174 by Nick.Darnell Slate - Get the last widget in a widget path utility. Change 3470176 by Nick.Darnell UMG - User Widgets now have an easy way to know if they're part of or have been removed from the focused widget path, which is handy for doing effects. Change 3470261 by Nick.Darnell Slate - The GetRenderer() call on SlateApplication no longer returns a SharedPtr, rather than convert it to a thread safe ptr, going to just make accessing it a raw ptr return, so it can be safely referenced on the game thread while being used on the slate loading thread. Change 3470286 by Max.Chen Sequencer: Scene Component's HiddenInGame now goes through the VisibilityTrack and the visibility template. Change 3470366 by Nick.Darnell Slate - We now version focus per user, that way during focus events, we can safely abort focus events and state transitions if someone interrrupts the active focus event with something new. Change 3470649 by Matt.Kuhlenschmidt Fix deprecation warnings Change 3470695 by Matt.Kuhlenschmidt Fixed typo #jira UE-45580 Change 3470721 by Matt.Kuhlenschmidt Fix static analysis Change 3471254 by Michael.Dupuis #jira UE-42952: Keep occlusion result per view Change 3471287 by Nick.Darnell UMG - Render Focus Rule now defaults to never. Change 3471291 by Nick.Darnell Slate - Fixing FSlateRenderer* change fallout. Change 3471299 by Nick.Darnell Slate - Fixing FSlateRenderer* change. Change 3471323 by Nick.Darnell Automation - Fixing automation and Static Analysis warning. Change 3471413 by andrew.porter QAGame: Added test content for anim blending and material parameteres to sequencer smoke level Change 3471649 by Max.Chen Sequencer: Modify the track when adding animation #jira UE-45618 Change 3471659 by Matt.Kuhlenschmidt Added a way to check if a movie is playing from the engine. Prevented viewport redraws for canvas loading screens if a slate based loading movie is playing Change 3471734 by Matt.Kuhlenschmidt Added basic material hookup to USD. Similar to FBX it will find materials based on rules specified by the user in the import settings Change 3472176 by Nick.Darnell UMG - Improving the display of the +Track menu in sequencer for UMG. Renamed it from +Add, which is repetitve to +Track. Additionally, the dropdown now shows the currently selected widgets, as well as a submenu containing all the 'important' widgets, so we no longer populate that list with a ton of irrelevant widgets that are just Buton_1 - N, which is pointless in showing people, they'll never guess which is the right button. Change 3472740 by Max.Chen Sequencer: Add GetThisFrameMetaData accessor Change 3472748 by Max.Chen Sequencer: Added OnBeginScrubbing and OnEndScrubbing event delegates Change 3472753 by Max.Chen Sequencer: Add EMovieSceneDataChangeType parameter to OnMovieSceneDataChanged delegate Change 3472870 by Nick.Darnell Clipping - Fixing the deprecated tip for scissor rect boxes to be correct. Removing it's usage from UT. Change 3473340 by Max.Chen Scene Outliner: Add ability to register additional filters Change 3473348 by Max.Chen Details View: Make ForceRefresh virtual. Added accessors to delegates (ie. GetIsPropertyReadOnlyDelegate) Change 3473441 by Max.Chen Sequencer: Autokey Refactor Part 2. Autokey is now a single toggleable state. Allow Edits Mode has 3 states: Allow All Edits - Allow any edits to occur, some of which may produce tracks/keys or modify default properties. Allow Sequencer Edits Only - All edits will produce either a track or a key. Allow Level Edits Only - Properties in the details panel will be disabled if they have a track. #jira UE-45229 Change 3473670 by Nick.Darnell Modules - The module manager no longer returns sharedptrs to IModuleInterfaces, this was the source of rare hard to track down crashes due to a shared ptr reference leak when GetModule was called on non-main threads. We now store a TUniquePtr internally, and only lease out raw pointers. #rn Change 3473711 by Nick.Darnell Disabling the ensure in the module manager. Change 3473747 by Max.Chen Sequencer: Fix tooltip Change 3474091 by Jamie.Dale Added a warning when cooking a UFontFace that is outered to a UFont asset These cause issues with iterative COTF, and should be split off into their own assets (as the UI has been asking people to do for several versions) Change 3475052 by Yannick.Lange VR Editor: Fix Crash when quitting the editor with VR Mode enabled. VR Editor was being enabled when saving the map on closing the editor. #jira UE-45415 Change 3475054 by Yannick.Lange Fix crash when adding a camera to the world in VR Mode the second time. The slate application did not reset when stop dragging in VR Mode, so the second time when starting to drag a camera out of the UI it would already by in a dragging state. #jira UE-45574 Change 3475263 by Nick.Darnell Fixing some additional cases of IModuleInteface SharedPtr usage. Change 3475268 by Max.Chen Sequencer: Set jumped state when looping playback. This fixes an issue where audio doesn't stop and restart when looped. #jira UE-45654 Change 3475269 by Max.Chen Scene Outliner: Additional filters should only apply to actor browsing mode Change 3475407 by Nick.Darnell Fixing some clipping / module shared ptr changes in the launcher code. Change 3475542 by Max.Chen Sequencer: Update thumbnail and section highlighting to use new clipping behavior. #jira UE-45692 #jira UE-45689 Change 3475743 by Michael.Dupuis #jira UE-45183: When updating phyx region take into account simple collision mip Change 3475949 by Arciel.Rekman Remove PhysX deoptimization (no longer needed). - OR-24947 has been closed three months ago. Change 3476022 by Michael.Dupuis #jira UE-45560: Make sure we're not going out of range Change 3476063 by Michael.Dupuis #jira UE-45562: Do not try to unregister from static mesh if no static mesh is specified for the component Change 3476168 by Michael.Trepka Added handling of directory symlinks to FApplePlatformFile::IterateDirectory #jira UE-43704 Change 3476172 by Nick.Darnell Fixing a Imoduleinterface change. Change 3476183 by Jamie.Dale Exposing GoTo/ScrollTo to single-line editable text for API parity with multi-line editable text Change 3476385 by Arciel.Rekman Linux: handle symlinks when iterating directories. Change 3476522 by Michael.Trepka Solved a problem with Mac FMallocTBB::Malloc() returning nullptr for 0 bytes allocations, which is inconsistent with other platforms. On Mac we always scalable_aligned_malloc, which behaves differently than scalable_malloc, so for 0 bytes requests we allocate sizeof(size_t), which is exactly what scalable_malloc does internally in such case. Change 3476806 by Nick.Darnell UMG - Focus the designer after dropping a widget onto the surface. Change 3476809 by Nick.Darnell Curve Editor - Enable Clipping on the curve editor. Change 3477475 by Nick.Darnell Fixing a module interface shared ptr usage in UT. Change 3477553 by Yannick.Lange VR Editor: Removed AssetEditorPanelID and replaced it with TabManagerPanelID. A panel for AssetEditorPanelID was never created making it impossible to open an asset editor. Change 3477734 by Yannick.Lange VR Editor: Fix Warning: SetRelativeScale3D : Invalid Scale entered (X=inf Y=inf Z=inf). Resetting to 1.f. warning when adding CineCameraActor to World from Modes Panel. Make sure to not divide by zero when there is no boundary scale. #jira UE-44933 Change 3477761 by Jamie.Dale Some improvements to avoid loading the native .locres files twice when we don't need to Change 3477780 by Nick.Darnell PR #3250: Return correct VirtualUserIndex (Contributed by projectgheist) Change 3477786 by Nick.Darnell PR #3650: Changed TestNull to accept const pointers. (Contributed by e-agaubatz) Change 3477795 by Nick.Darnell PR #2844: UE-36936: Don't stretch container for Plugin Image (Contributed by projectgheist) Change 3478092 by Nick.Darnell PR #2341: Optional Middle Mouse Button panning in Graph Editor (Contributed by flipswitchingmonkey) Engine Edit - Made some small changes to the enum type, and some naming. Change 3478450 by Nick.Darnell Fixing some uninitialized variable errors. Change 3479827 by Andrew.Rodham Sequencer: Addressed serialization issues with some struct types Change 3479874 by Jamie.Dale Fixed "NativeGameLanguage" not being used correctly during localization initialization Change 3480012 by Andrew.Rodham Sequencer: Fixed loading tagged properties as native for track identifiers #jira UE-45823 Change 3480337 by Alexis.Matte Fix morph target crash missing some valid index check Change 3480804 by Alexis.Matte Fix crash with ColorGradingMode custom detail #jira UE-45638 Change 3480892 by Andrew.Rodham Sequencer: Ensure that movie scene sequences know about the editor object version #jira UE-45842 Change 3481073 by Nick.Darnell Fix the shader compiler error from main in Slate. Change 3481303 by Nick.Darnell UMG - Fixing a bug with the drag handle not working correctly in HDPI mode. Change 3481308 by Nick.Darnell Slate - Tweaking the IsWidgetCulled logic to consider both the layout and rendering bounds. If we do this, we get a much more desireable outcome for people that want to animate widgets and such and plan to have temporary animations to move the widget offscreen, but want the layout bounds to anchor that widget in the visible frame so that it animates even when normally it would be culled b/c the render transform and therefore the renderbounds moved it completely outside the culling rect. Change 3481629 by Max.Chen Sequencer: Add Level Sequence Actor as an output for CreateLevelSequencePlayer() #jira UE-45785 Change 3481899 by Yannick.Lange VR Editor: Added debug modetoggle command with an event that is broadcasted whenever this happens. Currently this is used to show all the floating UIs of the UI system to debug without HMD using VREd.ForceVRMode. Change 3481984 by Michael.Dupuis #jira UE-45845: always validate if we have a static mesh before trying to access it as user can decide to not assign one and use the tools Change 3482047 by Nick.Darnell Slate - Adding some comments to IsWidgetCulled. Change 3482110 by Nick.Darnell Slate - IsWidgetCulled is no longer static and is now called IsChildWidgetCulled. Change 3482136 by Jamie.Dale The CamelCase break iterator now treats digits around character tokens as part of the identifier Change 3482138 by Michael.Dupuis #jira UE-45854: Properly unregister during undo operation Change 3482150 by Michael.Dupuis #jira UE-45845 : Add missing nullcheck for GetStaticMesh Change 3482153 by Nick.Darnell Slate - IsWidgetCulled is no longer static and is now called IsChildWidgetCulled. Change 3482180 by Nick.Darnell UMG - Widget Components do not need to define a widget class to be rendererd, they can have native slate widgets only. This was a regression from main. Change 3482273 by Nick.Darnell UMG - Tweaking some more things about the widget component box outline. Change 3482308 by Alexis.Matte Fixing morph target smooth group support. Do not call FillSkeletalMeshImportData more then once on FbxNode since this fonction is doing some conversion and change the FbxNode, applying those conversion twice do not return the same faces smooth group. #jira UE-45696 Change 3482327 by Nick.Darnell UMG - More tweaks to the WidgetComponent so both shows the box outline, but works in game and VR editor. Change 3482705 by Andrew.Rodham Resaving assets that contain legacy data to suppress CIS warnings. - If conflicts arise in these assets, please take game-side changes and ignore these. Change 3484245 by Max.Chen Sequencer: Evaluate on end scrub. This fixes a bug where audio doesn't evaluate in a stopped position at the end of scrubbing, causing it to not stop all sounds. This fixes a bug introduced from 3365018 where evaluate on end scrub was removed. #jira UE-45905 Change 3484263 by Max.Chen Sequencer: Fix crash on forcing refresh of details panel on release. #jira UE-45911 Change 3484431 by Andrew.Rodham Resaving assets that contain legacy data to suppress CIS warnings. - If conflicts arise in these assets, please take game-side changes and ignore these. Change 3484474 by Alexis.Matte Fix the morph target animation curve name matching. #jira UE-20294 Change 3484475 by Alexis.Matte When removing a LOD, make sure we remove all morph target data associate to the LOD. Change 3484489 by Nick.Darnell PR #3668: UE-45908: Cache debug line locations when performing a LineTraceMulti (Contributed by projectgheist) #jira UE-45908 Change 3484692 by Nick.Darnell Slate - Reverting a change from a game stream. All Arranged Children don't need to allocated 42 to begin with. Do need to initialize WidgetPaths better. Change 3484703 by Nick.Darnell Player Input - Making the input event loop for players obey EKeys::NUM_TOUCH_KEYS, rather than being set to Touch10, as the maximum touch input amount, to make supporting greater than 10 touches easier. Also making the seeding of keys use EKeys::NUM_TOUCH_KEYS. #jira UE-43213 Change 3484918 by Jamie.Dale Fixed font measuring regression with RTL text RTL applies the character count to the next glyph, so it shouldn't process the end of the loop (this was how the older code used to work). Change 3485718 by Nick.Darnell Editor - Removing Super Search & User Feedback button. Change 3485719 by Nick.Darnell Portal - Removing SuperSearch. Change 3485751 by Matt.Kuhlenschmidt Fix crash accessing platformer game menu if the menu is open during a console based load #jira UE-45950 Change 3486047 by Arciel.Rekman Linux: add OpenEXR implementation (UE-40270). #jira UE-40270 Change 3486467 by Max.Chen Sequencer: Reset max tick rate when destroyed. #jira UE-45956 Change 3486477 by Max.Chen Sequencer: Refresh outliner when column is removed. #jira UE-45891 Change 3486667 by Andrew.Rodham Added missing include Change 3486724 by Andrew.Rodham Sequencer: Fixed curves with no default value, and no keys being evaluated and applied to properties - Also fixed an edge case where a zero (but non-animated) channel could be applied to a final transform Change 3486730 by Alexis.Matte In the Auto-Reimport options, hide the mout point only for the default /Game/ folder #UE-45684 Change 3486749 by Alexis.Matte Make sure the parent window of the monitor directory browse folder is set properly #jira UE-45682 Change 3486805 by Matt.Kuhlenschmidt Additional safety against invalid objects being accessed by slate Change 3486848 by Alexis.Matte Make sure Monitor folder feature support root mount point map folder During auto import, give priority to asset import factory over the scene import factory #jira UE-45691 Change 3486879 by Andrew.Rodham Removing obsolete QA assets Change 3486950 by Nick.Darnell PR #2281: Scrollbar missing features and SScrollbar fixes (Contributed by SNikon) Review - made some adjustments from the original. Change 3486954 by Nick.Darnell Slate - Moving the STableViewBase over to the FOverscroll class, rather than it's own clone. Change 3486967 by Nick.Darnell Slate - Fixing some HDPI calculations for fitting new windows on screen, it was using the unscaled size of the widgets for fitting, when it needed to scale them up. Change 3486970 by Andrew.Rodham Sequencer: Delay mouse capture until drag for sequencer time slider - Fixes context menus not opening as a result of mouse capture being taken on mouse down #jira UE-45937 Change 3486984 by Andrew.Rodham Sequencer: Improved blending type iconography Change 3486996 by Nick.Darnell UMG - Adding a way for games to opt-out of the slow widget path, to completely prevent them from being cooked. UMG - The movie data is no longer cloned for each new instance that inhabits. It now keeps a reference to the now publically accessible movie scene data on the class instead. Change 3487070 by Andrew.Rodham Sequencer: Added graphics for key areas that represent empty space Change 3487195 by Andrew.Rodham Sequencer: Changed evaluation groups to always flush implicitly - Due to the latent nature of blended token types, it's no longer safe to rely solely on execution token order between tracks - This fixes an issue where events set in the PostEvaluation stage were executed before blended token actuation Change 3487322 by Nick.Darnell PR #2457: Add .gitdeps.xml-files for plugins support (Contributed by bozaro) Change 3487363 by Nick.Darnell PR #2481: Fix for packing of a project with users plugins (Contributed by yatagarasu25) Change 3487439 by Nick.Darnell PR #2642: Changed private to protected in SVirtualJoystick.h (Contributed by Skylonxe) Change 3487500 by Arciel.Rekman Removed LinuxNativeDialogs. - No longer used; has been superceded by SlateDialogs since UE 4.8 (2 years ago). Change 3487630 by Lauren.Ridge Don't create Landscape Info Maps for Editor Preview Worlds or thumbnail worlds #jira UE-44885 Change 3487864 by Matt.Kuhlenschmidt Exposed the asset registry to blueprints and script. Works in editor scripts and runtime scripts AssetRegistry is now a UInterface object. Blueprint users can access various asset registry methods using the asset registry interface (via GetAssetRegistry) and various static helpers in the AssetRegistryHelpers object C++ users should still continue to use IAssetRegistry. Change 3487879 by Matt.Kuhlenschmidt Renamed asset tools uobject helper to UAssetToolsHelpers Change 3487926 by Lauren.Ridge Fixing reset to default not showing up for custom widgets #jira UE-44164 Change 3488184 by Matt.Kuhlenschmidt PR #3656: Make References/Referencers List copyable (Contributed by user37337) #jira UE-45763 Change 3488240 by Matt.Kuhlenschmidt Fix compiler issue Change 3488350 by Lauren.Ridge Landscape info map transactional state is based on its world's transactional state #jira UE-44885 #jira UE-46019 Change 3488412 by Matt.Kuhlenschmidt Fix reset to default showing up in two different places for some customizations Change 3488413 by Matt.Kuhlenschmidt Fix slate font customization Change 3488414 by Matt.Kuhlenschmidt Fix slate font customization Change 3488415 by Matt.Kuhlenschmidt Missed file Change 3488565 by Arciel.Rekman Add pretty printers for gdb (UETOOL-1171). - Committing shelf by Cengiz.Terzibas, with some modifications. #jira UETOOL-1171 Change 3489094 by Nick.Darnell Slate - The Slate RHI Renderer now caches the TextureLODGroups so that it can properly lookup the filtering of different texture groups that are set to Default, instead of a particular filter override on a texture. Engine/Rendering - Simplifying some of the setup logic in TextureLODSettings so that code is shared for setting them up properly after loading from a config file. Change 3489095 by Nick.Darnell PR #2699: GameViewportClient - Added a method to allow setting the viewport cur. (Contributed by rfenner) Review - Fixed spacing. Change 3489108 by Matt.Kuhlenschmidt Fix deprecation warning Change 3489120 by Nick.Darnell PR #3478: Fix possible UComboBoxString crash (Contributed by nakosung) Change 3489147 by Andrew.Rodham Sequencer: Adding return value to function to appease static analysis - This function is never compiled, and if it is, it won't compile, but static analysis doesn't know that Change 3489264 by Nick.Darnell Testing - Finishing the thought behind an enum comment. Change 3489265 by Nick.Darnell PR #2750: UE-35164: Button padding (Contributed by projectgheist) Change 3489267 by Nick.Darnell PR #3645: UE-45464: Handle SSlider mouse interaction more accurately (Contributed by projectgheist) Change 3489632 by Arciel.Rekman Correctness changes to MallocPoisonProxy. - Missing forwarding functions added. Incorrect comment removed. - Change by Steve.Robb, doing here so it is in 4.17. Change 3489689 by Arciel.Rekman More MallocPoisonProxy changes I missed in previous CL. Change 3489751 by Matt.Kuhlenschmidt Moved editor performance settings out of per-project settings so they can be shared across projects Change 3489837 by Lauren.Ridge Keyboard shortcut for entering/leaving VR Mode is now Alt+V Change 3491082 by Arciel.Rekman Linux: better fix for the crash due to name collision (UE-46040). - Put classes in Sequencer module into Sequencer namespace instead of SceneOutliner namespace. - Undid change in the SceneOutliner module. #jira UE-46040 Change 3491096 by Arciel.Rekman Fix UAT compilation on the newest mono. Change 3491240 by Max.Chen Sequencer: Disable key button when allow level edits only is on. #jira UE-46060 Change 3491406 by Yannick.Lange Fix editor crashes when opening a project that includes a plugin with more than two custom Volume classes. This issue was caused because registering show volume commands is based on finding volume classes. Finding these classes at multiple times resulted in a mismatch of the returned array of volume classes because modules/plugins were still being loaded. #jira UE-45806 Change 3491559 by Alexis.Matte Make sure we use the good preview mesh when doing a preview #jira UE-45963 Change 3491563 by Alexis.Matte Fix crash with staticmesh editor LodLevel selection Change 3491564 by Nick.Darnell UMG - Fixing an offset with the grab handles in HDPI mode. Change 3491595 by Nick.Darnell Editor - Fixing a clipping artifact in the pin type dropdown in the blueprint editor. Change 3491604 by Nick.Darnell Back out changelist 3489265 Change 3491615 by Arciel.Rekman Added malloc replay proxy (Linux only for now). - Allows to dump malloc callstream (without regard to threads) and replay later to study the behavior of different mallocs and/or repro problems. Change 3491684 by Arciel.Rekman Added FMalloc functions I missed. - Also moved function bodies into the .cpp file, this does not make a difference in performance in this case. Change 3491692 by Matt.Kuhlenschmidt Some minor fixes to the static mesh editor - Fix UV combo button looking non-standard on the toolbar - Fix a few combo buttons in the details panel looking too big. Change 3491702 by Arciel.Rekman Do not compile replay proxy-specific code when not used. Change 3491717 by Michael.Dupuis #jira UE-35083: The component is now the owner of the PerInstanceRenderData instead of the proxy Add an Update path to only update specified instances range Always call BuildTreeIfOutdated so we have a standard code path to make sure static mesh are fully loaded before trying to build the tree Moved the Instance Buffer aysnc to the base class, as it's not related to UHierarchicalInstancedStaticMeshComponent Expose a new property to decide if we require dynamic instance buffer Change 3491758 by Matt.Kuhlenschmidt Fix crash on static mesh editor shutdown Change 3491873 by Cody.Albert Fixed clipping issue in Sequencer curve editor #rnx Change 3491956 by Matt.Kuhlenschmidt Fix crash opening the Previewing sub-menu in the level editor settings menu #jira UE-46095 Change 3492046 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3492076 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3492165 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3492222 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3492274 by Michael.Dupuis #jira UE-46105: Fixed Clang warning Change 3492338 by andrew.porter QAGame: Testing ensure when submitting Change 3492371 by Nick.Darnell UMG - Reverting the animation sharing, cossed GLEO regressions in cooking. Will look for a better solution. Change 3492462 by Matt.Kuhlenschmidt Fix ensure checking in files through perforce Change 3492491 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3492505 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3492517 by Jamie.Dale The package localization ID is no longer used at all at runtime, and is now truly editor-only This should have always been the case, but it was leaked into manifest/archives/PO files in 4.14, and while 4.15 removed it from PO files it was still present in the manifest/archives. This change removes it entirely (unless gathering editor-only data, and even then the PO file will still collapse the entries together for translation), and the deprecated 4.14 export behavior will now produce an error if you attempt to use it. After taking this change you'll need to run a gather, import, and compile of your LocRes files to update your game localization to use the new localization IDs. Change 3492630 by Nick.Darnell UMG - Removing some extra cleanup code that's probably overkill and is causing a crash for uses of "Within" in class meta. #jira UE-46124 Change 3492692 by Matt.Kuhlenschmidt Fix drop shadows inheriting the outline color of the font. The outline should still appear but not have a different outline color from fill color Change 3492714 by Matt.Kuhlenschmidt Added outline with drop shadow to font automation test Change 3492737 by Matt.Kuhlenschmidt Fix linux Change 3492992 by tim.gautier Resaving Ocean Widget Blueprints / Sequences to resolve Legacy Sequence Data warnings #jira UE-46132 Change 3493089 by Jamie.Dale Ensure that the composite font of a font asset is flushed when the font object is GC'd Change 3493322 by Jamie.Dale Fixing null crash #jira UE-45758 Change 3494467 by Andrew.Rodham Fix Xbox warning Change 3494852 by tim.gautier QAGame: Changed streaming method of QA-EditorSmoke-Landscape to Always Loaded Change 3494853 by Nick.Darnell Another attempt at fixing the automation blueprint SA warning. Change 3494896 by Arciel.Rekman Fix possible null pointer access during Vulkan init. - May fix static analysis warnings in UE-46142, although warnings seem to be referring to something else. #jira UE-46142 Change 3494987 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3495010 by Matt.Kuhlenschmidt Adding additional logging to track down html5 issue Change 3495212 by Michael.Dupuis #jira UE-46143: Properly init the InstanceRenderData during the cooking phase (required by fortnite) Change 3495536 by Jamie.Dale Updating UGameEngine to call its Super::PreExit after performing its own teardown This prevents UEngine cleaning up resources that UGameEngine still needs. #jira UE-46159 Change 3495551 by Arciel.Rekman Another attempt to fix analyzer problem (UE-46142). Change 3495794 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3495905 by Matt.Kuhlenschmidt Fix USD crash when importing a meshwith no material [CL 3499771 by Matt Kuhlenschmidt in Main branch]
2017-06-19 20:27:30 -04:00
else if (bHandleLeftMouseButton)
Copying //UE4/Dev-Sequencer to //UE4/Main ========================== MAJOR FEATURES + CHANGES ========================== Change 2875025 on 2016/02/20 by Andrew.Rodham Sequencer: Cinematic viewport improvements - Added optional letterbox overlay (defaults to 2.35:1) - Added ability to change safe frame colors - Added selected tracks' keys to the transport range - Added buttons for jumping between selected tracks' keyframes on the transport controls - Removed black padding around the viewport where possible - Added ability to specify whether a combo button/menu anchor should close when its parent receives focus - Separated logic of FGroupedKeyArea into FSequencerKeyCollection, so it can be used independently - Added playback range to the viewport frame numbers - All frame numbers are now spin boxes #jira UE-26429 Change 2875026 on 2016/02/20 by Thomas.Sarkanen Added console commands for recording sequences Changed plugin to a developer plugin so we can load it when the editor is in -game mode. Added Exec commands. Added some more logging to help diagnose problems when using commands. Added loading/saving of config for recorder settings (stored in Editor.ini). Also disabled controls in recorder window when recording. Added auto-saving of assets when in non-editor modes. Moved animation settings from UnrealEd to Engine module. Change 2875036 on 2016/02/20 by Max.Chen Sequencer: Call RedrawAllViewports instead of RedrawLevelEditingViewports. In particular, this fixes some update issues when editing values in the key editors. #jira UE-26960 Change 2875046 on 2016/02/20 by Max.Preussner Sequencer: Fix so that clicking on UMG Animations doesn't dirty the scene. #jira UE-26249 Change 2875047 on 2016/02/20 by Max.Chen Sequencer: Add option to toggle display of channel colors/lines. View->Channel Colors Change 2877138 on 2016/02/23 by Max.Chen Sequencer: Select corresponding track node when selecting key or section. Removed active/inactive selection since it was only being used in deletion and the rules for deletion are now dependent upon what is selected - delete keys and sections before deleting outliner nodes. Change 2877143 on 2016/02/23 by Thomas.Sarkanen Added new math function: WindRelativeAnglesDegrees Given two angles in degrees, 'wind' the angle in Angle1 so that it avoids >180 degree flips. Good for winding rotations previously expressed as quaternions into a euler-angle representation. Change 2877147 on 2016/02/23 by Thomas.Sarkanen Added the ability to import sequencer transforms from the root node of an animation sequence Intended for use after re-importing animations from DCC tools. Available in the right-click menu for transform tracks. Also added FindTrackBinding to UMovieScene so track bindings can be recovered from tracks. Change 2877163 on 2016/02/23 by Max.Chen Sequencer: Add option to create keyframe sections as infinite. Sequencer defaults to true, UMG defaults to false. Change 2877165 on 2016/02/23 by Max.Preussner Sequencer: Drawing vertical position lines when dragging keys Change 2878748 on 2016/02/23 by Max.Chen Curve Editor: Switch curve type to user when flatting or straightening tangents. #jira UE-27277 Change 2878799 on 2016/02/23 by Frank.Fella Sequencer - Add folders support to the outliner. Change 2880769 on 2016/02/24 by Andrew.Rodham Sequencer: Added ability to override runtime spawnable ownership in sequencer - This is exposed as an option on spawnables "Keep Alive Outside Playback Range (In Sequencer)" - Enabling this will stop spawnables from being destroyed when scrubbing outside of the playback range #jira UE-27205 Change 2880770 on 2016/02/24 by Thomas.Sarkanen Sequencer: Added countdown and recording indicator display when recording Also fixed extra popups added post-PIE when animation recordings auto shutdown. Change 2880782 on 2016/02/24 by Max.Chen Sequencer: Snapping now also uses the current time as a possible snap time. #jira UE-26306 Change 2880793 on 2016/02/24 by Max.Chen Sequencer: Add +Animation to Animation track so that it's consistent with all other tracks that have a + button. Change 2880812 on 2016/02/24 by Max.Chen Sequencer: Fix adjusting the leading edge of a shot section so that it cuts into the shot rather than adjusts the start time. #jira UE-26306 Change 2881624 on 2016/02/25 by Andrew.Rodham Changing shader version GUID to fix corrupt shaders in ddc Change 2882408 on 2016/02/25 by Thomas.Sarkanen Asset/actors stored in TLazyObjectPtrs can now reference game content from engine This is a legitimate use case as lazy object ptrs are designed to reference assets/actors cross-domain. Change 2882409 on 2016/02/25 by Thomas.Sarkanen [CL 2899785 by Max Chen in Main branch]
2016-03-08 16:55:04 -05:00
{
TRange<double> LocalViewRange = GetViewRange();
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3946692) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3801826 by Max.Chen PR #4304: Level Sequence crash fix - Guarded against dereferencing null componen. (Contributed by DSDambuster) Change 3801828 by Max.Chen PR #4302: Movie Scene Visibility Template unitialised variable, causing random . (Contributed by DSDambuster) Change 3801837 by Max.Chen Sequencer: Delay spawning/construction for convert to possessable. This fixes a bug where property values would be lost when converting back and forth from possessable to spawnable. #jira UE-52400 Change 3801841 by Max.Chen Sequencer: Make spacer nodes not selectable. PR #4194: Improvements to Sequencer (Contributed by projectgheist) #jira UE-53117 #jira UE-52139 Change 3804183 by Max.Preussner MediaAssets: Added missing lock in media sound component Change 3805414 by Max.Preussner MediaAssets: Setting valid GUID when initializing media texture resource Change 3819578 by Max.Chen PR #4370: When enabling the "MovieCapture", do not turn off the Stereo-3D display. (Contributed by yehaike) #jira UE-53647 Change 3823414 by Max.Chen Curve Editor: Lock down the first and last keys in the redundant keys removal range so that they're unaffected. #jira UE-53591 Change 3826406 by Max.Chen Sequencer: Move OnStartedPlaying() to within first update in UpdateTimeCursorPosition(). This fixes an issue where setting the hud/player visibility was getting stomped on later. #jira UE-52772 Change 3827044 by Max.Preussner MediaAssets: Added sprite visualization to media sound component #jira UE-53594 Change 3827988 by Max.Preussner MediaPlayerAssets: Fixed Media Texture is not linked to Media Player when created together #jira UE-53532 Change 3828506 by Max.Preussner MediaPlayerEditor: Added attenuation visualizer for media sound components #jira UE-53594 Change 3832590 by andrew.porter EngineTest: Added a keep state check in Property Animation sequencer test Change 3833053 by andrew.porter EngineTest: Adding Hierarchical Bias test Change 3835683 by andrew.porter EngineTest: Adding UMG Animation screenshot test Change 3836076 by Max.Chen Sequencer: Fix audio volume and pitch multiplier deprecation. Change 3836230 by andrew.porter EngineTest: Adding Sequence Bone Position automation test Change 3836347 by Max.Chen Sequencer: Fixes to shot name parsing. When a shot doesn't contain a shot number, assume, [ShotName]_[TakeNumber]. When duplicating a shot, put the new shot in the same path of the original shot, so that the take numbers will increment properly. #jira UE-51868 Change 3836552 by Max.Chen Sequencer: Sub section now has a takes menu Change 3838094 by Max.Chen UMG: Fix template finish not getting called on stop. This fixes a bug where sections aren't restored when finished. #jira UE-52285 Change 3838708 by Max.Chen Sequencer: Add notification when the blend type is changed. #jira UE-54046 Change 3840295 by Max.Chen Sequencer: Fix copy/paste crash for lights #jira UE-54084 Change 3840957 by Mike.Zyracki Added Show Only Keyable and Show Only Animated to the filter list in the property editor. Added IsPropertyAnimated to IDetailKeyframe Interface which already had support for showing properties which are keyable (which is used for the key icon next to the properties.). Could have created another interface but then would have had to mimic the sequencer binding, releasing also, so this seemed best way. One issue still left is that custom built detail items currently don't store associated properties(usually) and so certain properties, in particulalry transforms, won't show up as keyable or animated. Note this also shows up with the keyable icon not showing up next to transform tracks, and other filters like Show Only Modified not working with transforms/customs. Not sure best way to tackle this. #jira UESEQ-328 Change 3841756 by Max.Chen Sequencer: Fix unbound possessable components when pasting spawnables. #jira UE-54104 Change 3843950 by andrew.porter EngineTest: Renaming LevelStreaming tests/content to LevelVisibility Change 3844082 by Mike.Zyracki Missing file for animated filter in property editor. When finding if a track is animated we need to find it but we can't easily induce the MovieTrack class for any particular property. So we don't set a class for it and just search by it's ID and name. #jira UESEQ-328 Change 3846902 by Max.Preussner ImgMedia: Fixed image media player never finished initialization if loading failed #jira UE-54247 Change 3849820 by Mike.Zyracki Reassigning deleted widgets didn't work since the menu extender mechanism needs a valid UObject in order to perform an operation on it. So to fix we replaced GetObjectBindingContextMenuExtender in WidgetBlueprint with new delegate mechanism (OnBuildCustomContextMenuForGuid) that supports FGuid in addition to UObjects which is needed to handle re-binding deleted widgets. Note that the default sequencer hacks this for replacing deleted actors in SequencerObjectBindingNode to check to see if a LevelSequence is active. We could move to this mechanism there also. #jira UE-53163 Change 3852211 by Max.Chen UMG: Indicate name of the property that is not bound. #jira UE-54350 Change 3854120 by Max.Chen Sequencer: Fix sibling folders being allowed to have the same folder name. #jira UE-54363 Change 3854627 by Max.Chen Sequencer: Step to next/previous key should work for all tracks if there aren't any selected. #jira UESEQ-391 Change 3855825 by andrew.porter EngineTest: Adding animation blending automation test Change 3855950 by andrew.porter EngineTest: Adding correct expected valuues to animation blending test Change 3856237 by Matt.Hoffman UESEQ-336 - Sequencer Track Reordering Adds the ability to re-order Master Tracks, Folders and Object Bindings within sequencer hierarchies (including UMG). Adds the ability to do a one-off sorting of the content under the old sorting behavior if the user wants to reset their layout to how it was under legacy behavior. Modifies SequencerTrackNodes, SequencerFolderNodes and SequencerObjectBindingNodes to handle CanDrop/OnDrop for above, below and ontop of. Fixes a Slate Issue that forcibly expanded a TreeviewRow if an item handled OnDrop. Slate will now only forcibly expand the row if the item says the drop happened ontop of the item, and not above or below it like it previously did. Change 3856503 by andrew.porter EngineTest: Adding automation test for using animation blueprint with blend multi node in sequencer Change 3857875 by Max.Chen Sequencer: Assign the sequence id after the template is compiled. #jira UE-54462 Change 3858344 by Max.Chen Sequencer: Prevent Goto and Transform boxes from overlapping by allowing them to be visible at the same time in an autosized horizontal box. Also, added close button to the goto box. PR #4425: Prevent Goto and Transform boxes from overlapping in Sequencer ... (Contributed by projectgheist) #jira UE-54210 Change 3860566 by andrew.porter MediaFrameworkTest: Set the option to index 0 for the audio and video track list by default Change 3860654 by andrew.porter EngineTest: Enabling Camera Cut + FOV test Change 3860981 by andrew.porter EngineTest: Updating skeletal mesh tests with a delay after set playback position Change 3861256 by Max.Chen Sequencer: Add all bindings if none selected. #jira-54440 Change 3862154 by Andrew.Rodham Added TimeManagement module Change 3862424 by andrew.porter EngineTest: Turned on the test Bone Positions with Blend Multi Node Change 3862573 by andrew.porter EngineTest: Adding test to compare bone positions in a sequence that is blending an animation that is using an AnimBP Change 3865117 by Max.Chen Sequencer: Stop auto scroll on mouse release of movement. #jira UE-31212 Change 3865303 by Max.Chen Sequencer: Add drag and drop transactions #jira UE-54662 Change 3865304 by Max.Chen Sequencer: Fix crash when an actor factory is not found. Change 3865361 by Max.Chen Sequencer: Don't change the camera/shot lock button when popping out of a sequence. #jira UE-54665 Change 3865412 by Max.Chen Sequencer: Determine whether a transform track is for a camera by using the spawned object or template #jira UE-54666 Change 3865685 by Max.Chen Sequencer: Clear autoscrub offset when stopping autoscroll #jira UE-31212 Change 3865886 by Max.Chen Sequence Recorder: Log an error if the number of frames changes while recording. This can happen if the skeleton changes while recording. #jira UE-48715 Change 3866925 by Andrew.Porter MediaFrameworkTest: Changing the current PNG test video image sequence to 1024 x 576 Change 3867705 by andrew.porter QAGame: Adding Audio Sort Sequence to dev folder Change 3867890 by andrew.porter QAGame: Adding a sequence for testing a sorting crash to my dev folder Change 3872628 by Max.Chen Movie Scene Capture: Split delay before warmup into split delay before shot warmup so that there's separate controls for when the movie scene capture warmups up vs. shot boundaries. Change 3873131 by Matt.Hoffman UE-54732 - Crash reordering a folder with a track. This was caused by folders being the only type of track to check if someone was putting a parent track into a child track. Object Binding tracks and Tracks now check as well so that you can't use the above/below drop targets to add parents as children. This also fixed a typo in the localization keys. #jira UE-54732 Change 3873301 by Mike.Zyracki Added ability to support continous euler angle changes when changing rotations, in particularly with the rotation gizmo's. To do this we effectively added a form an of 'euler filter'(https://en.wikipedia.org/wiki/Euler_filter) to find the closest euler angle to the current euler angle. Three functions were added to FRotator to make this possible, one to get the euler angle that's has the same rotation as it, one to get the difference between two euler angles via Manhattan distance and a third using the previous two to choose a Rotator value that's closest to it. We then use these functions before calling UComponent::SetRelativeRotation to make sure we use the correct Euler after the Quat conversion. We also no longer limit(bound) the euler angles to -180,180, which is obviously necessary to avoid flips. I also changed how we caluclate yaw and roll when pitch is -90 or 90 to make it the standard approach of zeroing out roll and just setting yaw. Main reasons are the previous implementation had precision issues so things like 180, 90, -180 would show up due to numbers being nearly zero but negative,(this would break any smooth interpolations), and this facilitates having a 'gimbal' rotation mode (like Maya, Blender etc..) if we ever want that also. If needed we could keep the previous implementation but would need to add some FMath::IsNearlyZero checks, with less performance. Note we only do this special filtering when applying delta's to actors or components in the editors, which then call UComponent::SetRelativeRotationExact, which is a new function to foces the RelativeRotation to be equal to the new rotation. This allows us to store un-nomalized Rotators at the cost that the RotationCache may be broken. We didn't change any of the other UComponent functions that set rotations (via Quats or Transforms) so they will still be bounded and unwound. In SetInternalWorldLocationAndRotation we only set the rotation if the rotation has changed, which fixes the rotation getting changed and re-normalized if just translate happens. In TransformTrackEditor, we correclty use the bUndwing flag and in MovieScene3DTransformSection there was an un-needed winding check there, it will be unwound earlier if needed, which happens if Sequence Recording is happening. Max we should talk about what to do about this . Note the euler angle drag via the widget is still bound to 0-360. I think we should just unbound that now since the rotations value are now unbound. This review now includes fixes suggested by Zak. #jira UE-UE-22228 Change 3873483 by Matt.Hoffman Sequencer Tracks can now be inserted above the spacer at the bottom of the tree. #jira UE-54706 Change 3873899 by Max.Chen Sequencer: Add section selection throbbing Change 3873908 by Max.Chen Movie Scene Capture: Added logging per frame Change 3873924 by Matt.Hoffman Adds the ability to store Sequence Recorder setups into profiles that stay with the map and can be re-loaded later. Profiles store the Actor Recordings so the settings for each actor should carry with them. #jira UESEQ-339 Change 3874726 by Matt.Hoffman Disable drag-and-drop targets on spacers that come between rows in Sequencer. This prevents extra drag/drop targets showing up between each row. #jira UE-54706 Change 3874862 by Matt.Hoffman Audio Track no longer gets reordered when adding sub-audio tracks, as sub-tracks are no longer counted towards the sorting order index when normalizing indexes. #jira UE-54727 Change 3875905 by Matt.Hoffman Disable Fade Track UI if a fade track already exists in the sequence. #jira UESEQ-393 Change 3876163 by Max.Chen Sequencer: Swap the camera object to the camera component's owner if it's not the same. #jira UE-54874 Change 3876971 by Andrew.Porter EngineTest: Moved Media Player Seek test to new folder. Also enabled the test with new ground truth image. Change 3877040 by Max.Chen Cine Camera: Split camera properties to two groups, "Camera Options" and "Camera Settings". The cine camera now hides properties in the "Camera Settings" group so that properties like bConstrainAspectRatio (in the "Camera Options" group) can be visible. #jira UE-54192 Change 3877763 by Max.Chen Curve Editor: Fix curve changed on end drag so that only curves that had keys/tangents that were changed receive notification, otherwise all loaded curves were getting notified that they were changed. #jira UE-54951 Change 3878234 by Matt.Hoffman Disable "Drop Below" targets for Sequencer Tree nodes to prevent a confusing UX issue where dropping underneath a Object Binding Node puts it after the object binding node but the UI looks like it's inserting it inside the Object Binding node. #jira UE-54743 Change 3879359 by Mike.Zyracki If a track is inactive we dim it a bit which seems to be the UE4 way to show inactive or disabled state. We changed the active logic so that all subtracks need to be inactive for the track to also be inactive(instead of all active for active). This conforms to how the active state actually works, e.g if you have two sections and only one is active the track is still active above it. #jira UESEQ-388 Change 3879462 by Max.Chen Sequencer: Allow dragging onto a particular row which would move out any overlapping sections to make space for the newly created section. Newly created sections are now selected and throbbed to draw attention to themselves. #jira UE-54664 Change 3879464 by Max.Chen Sequencer: Fixed overlapping ranges being inserted into the evaluation field during compilation - The issue was that track segments that had been combined with adjacent segments (due to them being identical) would potentially cause a subsequently compiled frame to overlap with a range that had already been inserted into the evaluation field. - The insertion code previously asserted that only minor overlaps were catered for (due to fp rounding errors) and assumed that a supplied range could not entirely contain any other range in the field. - The solution is to supply the insertion time along with the range to know exactly where the data should live in the field, and crop the range to the maximum allowable space between adjacent ranges. #jira UE-54922 Change 3879590 by Matt.Hoffman Items that are now added to the Sequencer via the "+Track" menu will be selected after being added. Items can now be added inside of folders instead of just to the root level. #jira UE-27397 Change 3879612 by Mike.Zyracki Display Nodes with no children are always active. #jira UESEQ-388 Change 3879730 by Matt.Hoffman Sequence Recorder's actor recording groups now remove items from the group when removed via the UI. #jira UESEQ-339 Change 3880256 by Mike.Zyracki Fix issue with inactive display with folders and other track nodes. #jira UESEQ-388 Change 3883491 by Max.Chen Fix issue where tick is skipped due to last ticked pose isn't cleared after AnimInstance changes. Copy from Release-4.19 #jira UE-51323 Change 3883603 by Max.Chen Movie Scene Capture: Add option toggle disable screen percentage. By default this is on (no change in current behavior). #jira UE-51898 Change 3885074 by Max.Preussner MediaCompositing: Resetting media texture & freeing resource on section end; removed dead code Change 3887220 by Max.Preussner MediaCompositing: Defaulted media section duration to 1 sec (since we do not know the actual duration in most cases) Change 3887478 by Matt.Hoffman Sequences now show [Inactive] in their title bars when they're disabled. This helps communicate why a sequence isn't being evaluated. #jira UE-51469 Change 3888985 by Max.Chen Movie Scene Capture: Clamp HDR Compression Quality between 0 and 1. #jira UE-55136 Change 3893519 by Max.Chen Sequence Recorder: Clarified tooltip for bRecordNearbySpawnedActors - spawned actors will still be recorded if they match the ActorFilter. #jira UE-55238 Change 3893546 by Max.Chen Sequence Recorder: If a selected actor already has a recording, add a blank recording. #jira UE-55239 Change 3894044 by Max.Preussner MediaCompositing: Added support for seeking into a media section Change 3894310 by andrew.porter MediaFrameworkTest: Adding Img media sources for 1080 and 2160 ravent test content Change 3894426 by Max.Preussner MediaAssets: Letting media textures with AutoClear retain their clear color when player is reset Change 3895717 by Max.Chen Sequencer: Null checks to prevent crash when saving the default state of a spawnable #jira UE-55304 Change 3897388 by Max.Chen Sequencer: Don't update current time to be within the view range when stepping into a sequence. #jira UE-55322 Change 3897452 by Max.Chen Audio: Fix crash when trying to record audio without any active capture devices. Log warning if the number of input channels is not 1 or 2. #jira UE-55223 Change 3897619 by Max.Preussner MediaCompositing: Removed commented out code Change 3898072 by Max.Chen Sequencer: Override the animation asset in the player state if it doesn't match the animation asset that's being evaluated. #jira UE-55328 Change 3898272 by Max.Preussner MediaPlayerEditor: Made slate brush constants static Change 3898704 by Max.Chen Sequencer: Skip if the binding id's sequence can't be found. #jira UE-55337 Change 3899855 by Max.Preussner MediaCompositingEditor: Added cache state visualization to media track Change 3900300 by Max.Preussner MediaCompositingEditor: Added loop indicators to media sections Change 3900694 by Max.Preussner ImfMedia: Looping cache only when player is looping Change 3900892 by Max.Preussner Stats: Added stats category for media framework Change 3900954 by Max.Preussner MediaCompositing: Don't evaluate at the end of media section Change 3901348 by Max.Preussner Core: Replaced TLruCache autos for better readability Change 3901655 by Max.Preussner ImgMedia: Added more perf stats to EXR reader Change 3901972 by Max.Preussner MediaAssets: Added getter for media player in media sound components Change 3902233 by Max.Preussner MediaAssets: Enabling media textures to receive samples right after player is assigned Change 3902238 by Max.Preussner MediaCompositing: Working around init/shutdown idiosyncracies in sequencer Change 3904045 by Max.Chen Sequencer: Fix copy/paste crash. Only process UMovieSceneCopyableBinding and objects that can be spawned by the movie scene spawn register. #jira UE-55314 Change 3905605 by Max.Chen Sequencer: Restrict spawnables from being created if they have a ClassWithin that UMovieScene is not a child of. #jira UE-55429 Change 3906550 by Max.Chen Sequencer: Add media track icon #jira UE-55480 Change 3907101 by Max.Chen Sequence Recorder: Fix bugs related to not recording a level sequence. There were certain assumptions that creating a level sequence meant that sequence recording was in progress. This is not always the case - the recorders can record animation assets and not create a level sequence. Changed the notion of IsRecording() to having at least one actor recording that is recording. Countdown timer, recording displays, etc should function if IsRecording() and not based on whether a level sequence is created. #jira UE-55485 Change 3907247 by Max.Chen Sequence Recorder: Fix crash not removing PrepareToCleanseEditorObject delegate. Repros when opening sequence recorder, closing it, and then opening or creating a level. Change 3910343 by Max.Preussner Core: Added async helper for executing functions on a given thread pool Change 3910346 by Max.Preussner ImgMedia: Added separate thread pools for loading/decoding and deleting image frames Change 3910829 by Max.Preussner Profiler: Increased visible range of profiler graph Change 3910841 by Max.Preussner MediaCompositing: Displaying asset name instead of full media source path in media section Change 3910870 by Max.Preussner ImgMedia: Using deallocation thread pool only in debug builds Change 3919642 by Max.Chen Sequence Recorder: Clarify active tooltip #jira UE-55661 Change 3919660 by Max.Chen Sequencer: Sequence template source signatures are now also compared to catch the case where a sub-sequence asset has been saved but not modified - The following sequence of events exposes this issue: - Create a master sequence with a single shot that spawns a cube - Add this sequence to a level and set it to auto-play - Save everything and restart - Resave just the inner shot asset without opening it - PIE - The inner shot never spawns its cube because its template was wiped on save, but its signature never changed. Since the master sequence previously didn't check the template source signature, it ends up trying to evaluate an empty template. #jira UE-55626 #jira UE-55490 Change 3921825 by Max.Chen Sequencer: "Run Construction Script in Sequencer" is off by default for blueprints but on for Sequencer. This allows the content author to switch it on for specific blueprints and sequencer will be default, run those with construction scripts enabled. Change 3922232 by Max.Chen Sequence Recorder: Reset countdelay on stop. #jira UE-55755 Change 3922306 by Max.Chen Sequence Recorder: Don't automatically mark transforms to be recorded by sequence recorder. Instead, log a warning if the user toggled it off to warn that the resulting animation might not match gameplay. #jira UE-55758 Change 3922912 by Max.Chen Sequence Recorder: Fix refresh next sequence name #jira UE-55757 Change 3927654 by Max.Chen Movie Scene Capture: Added format mapping for the name of the current camera #jira UE-55769 PR #4537 Change 3927658 by Max.Chen Sequencer: Added fbx property mapping for "FocusDistance" to "FocusSettings.ManualFocusDistance" #jira UE-55782 Change 3932022 by Max.Chen Sequencer: Add import animation track section to next available row index. #jira UE-55892 Change 3933919 by Max.Chen Sequencer: Jump to playback start frame and not 0 to start playback for recording. #jira UE-55933 Change 3934307 by Andrew.Rodham Sequencer: Add template signature that is re-generated every time the base template is regenerated, which invalidates evaluation fields This fixes an issue where the same sequence is instantiated multiple times in a sequence. If the source sequence was saved, its template would be wiped, which would invalidate the template ID When an instance tries to evaluate the master template, it would only invalidate a range in the evaluation field that was the hull of any invalid sub sequences overlapping the current time, potentially leaving invalid data in the evaluation field at positions later (or earlier) on in the sequence When the sub template was re-generated, it receives the same SequenceSignature as it had before (because the sequence hasn't actually changed), which causes the stale evaluation field data to fail the IsDirty check (because the sequence is the same as it thought, but the *template* has changed) This has been addressed be adding a signature to templates themselves, and checking both the template signature and sequence signature as a part of the IsDirty check. This ensures that we regenerate if either the template, or the sequence have changed. #jira UE-55934 Change 3936327 by Andrew.Rodham Sequencer: Removed increment when trimming right UMovieSceneSection::TrimSection already explicity assigns an exclusive bound to the time passed in. The new behavior means we can trim a section to the right, and insert another section without changing the time to create adjacent sections. #jira UE-42652 Change 3936328 by Andrew.Rodham Fixed KeyFrameManipulator assignment operators and copy/move constructors - These types are potentially self-referential so cannot use default constructors/assignment Change 3936330 by Andrew.Rodham Converted UMGSequencePlayer to use frames internally #jira UE-54878 Change 3936726 by Max.Chen Sequencer: Set track node as the parent of the key area node. The key area switcher needs the object binding id from the parent object binding node. Without this, the binding to the external value fails. #jira UE-55931 Change 3936775 by Max.Chen Sequencer: Should stop or loop should compare DurationFrames with Current Time from StartTime. The bug is that if you set 30 warmup frames in movie rendering for a range of 0-100, the FrameRange will be starting at -30 and have a duration of 130. Without this fix, the playback will continue until frame 130, rather than 100. #jira UE-55933 Change 3936935 by Matt.Hoffman Easing Curves are now represented in Play Rate resolution instead of internal resolution. #jira UE-55937 Change 3937069 by Matt.Hoffman Users can toggle if the is infinite on each side, limited by which tracks support infinite ranges. #jira UE-55891 Change 3937516 by Max.Preussner ImgMedia: Added support for single-threaded platforms #jira UE-55986 Change 3937826 by Max.Preussner MediaAssets: Disabling media sound components on HTML5 if AudioMixer is not enabled Change 3937997 by Max.Chen Curve Editor: Add Zoom to Fit Curves so that selected curves from Sequencer can be focused on. Tested that undo doesn't re-zoom. #jira UE-55935 Change 3938000 by Max.Chen Sequencer: Stop all sounds before generating audio waveforms. #jira UE-55951 Change 3938376 by Max.Preussner XGEController: Disabled XGE Controller in single-threaded apps to prevent crash Change 3938444 by Max.Preussner Core: Added async support for single-threaded applications Change 3938445 by Max.Preussner Networking: Added support for single-threaded applications in UDP socket sender/receiver Change 3938447 by Max.Preussner Messaging: Added support for single-threaded applications Change 3939432 by Max.Chen Sequence Recorder: Append command list to global level editor actions so that shortcuts are accessible in level editor. #jira UE-55798 Change 3940229 by Andrew.Rodham Added prospective display rate upgrade to UMovieScene::PostLoad - There was previously some very odd behaviour that would assign the fixed frame interval only when a sub sequence was focused in SSequencer. This meant that many sequences could have a frame interval of 0 set in the data. - Under the old method of snap interval display this would have fallen back to getting the display interval from the sequencer settings, but we no longer look at these. - The USequencerSettings properties have been removed and in their place, a prospective data upgrade for sequences that have a fixed frame interval old 0fps that sets the play rate to the previous defaults based off the old USequencerSettings defaults. - This could end up 'changing' the display rate for sequences where the user has changed the snap interval in the settings for a particular sequence editor, but there's not much we can do about that given we don't have access to the USequencerSettings classes in UMovieScene #jira UE-55919 Change 3940277 by Andrew.Rodham Sequencer: Added ability to default frame resolutions and play rates for newly created actor sequences Change 3940378 by Andrew.Rodham Sequencer: Post move import dialog now defaults to the playback framerate of the sequence, and floors to frame numbers Change 3940559 by Andrew.Rodham Reinstated primed or recording sequence color Change 3940642 by Max.Preussner ImagePlate: Removed image plate media playback functionality Change 3940843 by Max.Preussner Core: Made TCircularQueue actually thread-safe; improved code comments Change 3940860 by Max.Chen Sequencer: Changed StructNameToKey to StructPathToKey Previously, keying a PropertyPath of [RenderTransform][Shear][X] would get trimmed to X, which doesn't map to a channel name as considered by Sequencer2dTransformTrackEditor. Instead, trim the resulting property path to [Shear][X] so that track editors can determine the desired struct path and channels to key. #jira UE-52966 Change 3941292 by Mike.Zyracki Fix for trajectories out of range not showing up. 1) If we had no key data we would pop the time, so wouldn't get the section ranges. 2) Calculating of upper bound was wrong, checking against -1 and not key == num of keys when doing algo::lower_bound. 3) No need to do the Bck-- for the bakward iterators since we fixed #2. We start now from the upper bound correctly. 4) If we had no keys (at section start,end) we would incorrectly say we were any key type, so since we draw constant keys as dashed we would do so incorrectly around section end points. #jira UE-55929 Change 3941424 by Max.Chen Curve Editor: Change Zoom to Fit to use TArrayView Change 3941498 by Max.Preussner Core: Added FMath::DivideAndRoundNearest function Change 3942097 by Matt.Hoffman Drop Frame Timecode Support for NTSC rates. Change 3942104 by Matt.Hoffman Sequence Recorder Group is no longer visible inside the World Outliner after using one. #jira 55266 Change 3942107 by Max.Chen Sequencer: Resurrect logic to find or extend an existing section when adding keys. Change 3942330 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942339 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942507 by Andrew.Rodham Sequencer: We no longer pad the time overlap threshold with a small number that is not scaled by the current zoom level - The presence of this pad was causing keys that were far apart to be grouped when zoomed in a long way Change 3942509 by Andrew.Rodham Sequencer: Only pad total view range, rather than section range as well when retrieving keys to render - This stops us from rendering keys that are within the view range, but outside the section range Change 3942512 by Andrew.Rodham Added transactions to some sequencer details customizations Change 3942513 by Andrew.Rodham Sequencer: Reinstated validation checks to UMovieSceneSection::SetStartFrame and SetEndFrame, changed erroneous uses to use SetRange Change 3942560 by Andrew.Rodham Pass by rvalue reference to appease error C2719 on Win32 ('InChannels': formal parameter with requested alignment of 8 won't be aligned) Change 3942697 by Andrew.Rodham Newly Created Level Sequences and Actor Sequences now default to 24000 fps frame resolution (+/- ~24hrs range, supporting all integer rates + 23.976) Change 3942700 by Andrew.Rodham Sequencer: Added legacy out-of-bounds errors for times that are not supported by the current legacy upgrade frame resolution Change 3942989 by Max.Preussner Core: Fixed circular queue count calculation Change 3943538 by Max.Preussner MediaAssets: Reverted workaround for procedural audio log spam in HTML5 (Actor component initialization cannot be skipped if the component is used in a level) Change 3944071 by Max.Preussner QAGame: Fixed Media Texture keeps last frame of Media when PIE ends #jira UE-53360 Change 3944292 by Max.Chen Sequencer: Added extra flags to ensure that asset initialization does not occur on template actor sequences #jira UE-56113 Change 3944364 by Max.Chen Sequencer: Prevent circular shot/master tracks. Tested adding master -> child -> master as drag and drop cinematic shot tracks and sub tracks as well as through the + button. #jira UE-56091 Change 3944422 by Max.Chen Sequence Recorder: Disable transform recording if off. #jira UE-56061 Change 3944745 by Andrew.Rodham Sequencer: Key rendering fixes - Fixed assert that occured when keys happened to reside on some times due to KeyTime + TimeOverlapThreshold - KeyTime being slightly larger TimeOverlapThreshold - Fixed keys sometimes being clipped when zoomed right in due to lack of half-frame offset - Added missing documentation to MovieSceneTimeHelpers.h #jira UE-56107 Change 3945231 by Andrew.Rodham Sequencer: Reconstruct channel proxy on Serialize to catch all cases of undo/redo, PostLoad and duplication #jira UE-56089 Change 3945301 by Andrew.Rodham Sequencer: Added safety checks during initial sequence recording to guard against applying negative or 0-sized sequence ranges #jira UE-56125 Change 3946627 by Max.Preussner Fortnite: Fixed game crashes closing editor while in PIE - Pure virtual function being called #jira UE-56144 [CL 3946896 by Max Chen in Main branch]
2018-03-14 22:09:33 -04:00
FScrubRangeToScreen RangeToScreen(LocalViewRange, MyGeometry.Size);
Copying //UE4/Dev-Sequencer to //UE4/Main ========================== MAJOR FEATURES + CHANGES ========================== Change 2875025 on 2016/02/20 by Andrew.Rodham Sequencer: Cinematic viewport improvements - Added optional letterbox overlay (defaults to 2.35:1) - Added ability to change safe frame colors - Added selected tracks' keys to the transport range - Added buttons for jumping between selected tracks' keyframes on the transport controls - Removed black padding around the viewport where possible - Added ability to specify whether a combo button/menu anchor should close when its parent receives focus - Separated logic of FGroupedKeyArea into FSequencerKeyCollection, so it can be used independently - Added playback range to the viewport frame numbers - All frame numbers are now spin boxes #jira UE-26429 Change 2875026 on 2016/02/20 by Thomas.Sarkanen Added console commands for recording sequences Changed plugin to a developer plugin so we can load it when the editor is in -game mode. Added Exec commands. Added some more logging to help diagnose problems when using commands. Added loading/saving of config for recorder settings (stored in Editor.ini). Also disabled controls in recorder window when recording. Added auto-saving of assets when in non-editor modes. Moved animation settings from UnrealEd to Engine module. Change 2875036 on 2016/02/20 by Max.Chen Sequencer: Call RedrawAllViewports instead of RedrawLevelEditingViewports. In particular, this fixes some update issues when editing values in the key editors. #jira UE-26960 Change 2875046 on 2016/02/20 by Max.Preussner Sequencer: Fix so that clicking on UMG Animations doesn't dirty the scene. #jira UE-26249 Change 2875047 on 2016/02/20 by Max.Chen Sequencer: Add option to toggle display of channel colors/lines. View->Channel Colors Change 2877138 on 2016/02/23 by Max.Chen Sequencer: Select corresponding track node when selecting key or section. Removed active/inactive selection since it was only being used in deletion and the rules for deletion are now dependent upon what is selected - delete keys and sections before deleting outliner nodes. Change 2877143 on 2016/02/23 by Thomas.Sarkanen Added new math function: WindRelativeAnglesDegrees Given two angles in degrees, 'wind' the angle in Angle1 so that it avoids >180 degree flips. Good for winding rotations previously expressed as quaternions into a euler-angle representation. Change 2877147 on 2016/02/23 by Thomas.Sarkanen Added the ability to import sequencer transforms from the root node of an animation sequence Intended for use after re-importing animations from DCC tools. Available in the right-click menu for transform tracks. Also added FindTrackBinding to UMovieScene so track bindings can be recovered from tracks. Change 2877163 on 2016/02/23 by Max.Chen Sequencer: Add option to create keyframe sections as infinite. Sequencer defaults to true, UMG defaults to false. Change 2877165 on 2016/02/23 by Max.Preussner Sequencer: Drawing vertical position lines when dragging keys Change 2878748 on 2016/02/23 by Max.Chen Curve Editor: Switch curve type to user when flatting or straightening tangents. #jira UE-27277 Change 2878799 on 2016/02/23 by Frank.Fella Sequencer - Add folders support to the outliner. Change 2880769 on 2016/02/24 by Andrew.Rodham Sequencer: Added ability to override runtime spawnable ownership in sequencer - This is exposed as an option on spawnables "Keep Alive Outside Playback Range (In Sequencer)" - Enabling this will stop spawnables from being destroyed when scrubbing outside of the playback range #jira UE-27205 Change 2880770 on 2016/02/24 by Thomas.Sarkanen Sequencer: Added countdown and recording indicator display when recording Also fixed extra popups added post-PIE when animation recordings auto shutdown. Change 2880782 on 2016/02/24 by Max.Chen Sequencer: Snapping now also uses the current time as a possible snap time. #jira UE-26306 Change 2880793 on 2016/02/24 by Max.Chen Sequencer: Add +Animation to Animation track so that it's consistent with all other tracks that have a + button. Change 2880812 on 2016/02/24 by Max.Chen Sequencer: Fix adjusting the leading edge of a shot section so that it cuts into the shot rather than adjusts the start time. #jira UE-26306 Change 2881624 on 2016/02/25 by Andrew.Rodham Changing shader version GUID to fix corrupt shaders in ddc Change 2882408 on 2016/02/25 by Thomas.Sarkanen Asset/actors stored in TLazyObjectPtrs can now reference game content from engine This is a legitimate use case as lazy object ptrs are designed to reference assets/actors cross-domain. Change 2882409 on 2016/02/25 by Thomas.Sarkanen [CL 2899785 by Max Chen in Main branch]
2016-03-08 16:55:04 -05:00
DistanceDragged += FMath::Abs( MouseEvent.GetCursorDelta().X );
if ( MouseDragType == DRAG_NONE )
{
if ( DistanceDragged > FSlateApplication::Get().GetDragTriggerDistance() )
{
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3946692) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3801826 by Max.Chen PR #4304: Level Sequence crash fix - Guarded against dereferencing null componen. (Contributed by DSDambuster) Change 3801828 by Max.Chen PR #4302: Movie Scene Visibility Template unitialised variable, causing random . (Contributed by DSDambuster) Change 3801837 by Max.Chen Sequencer: Delay spawning/construction for convert to possessable. This fixes a bug where property values would be lost when converting back and forth from possessable to spawnable. #jira UE-52400 Change 3801841 by Max.Chen Sequencer: Make spacer nodes not selectable. PR #4194: Improvements to Sequencer (Contributed by projectgheist) #jira UE-53117 #jira UE-52139 Change 3804183 by Max.Preussner MediaAssets: Added missing lock in media sound component Change 3805414 by Max.Preussner MediaAssets: Setting valid GUID when initializing media texture resource Change 3819578 by Max.Chen PR #4370: When enabling the "MovieCapture", do not turn off the Stereo-3D display. (Contributed by yehaike) #jira UE-53647 Change 3823414 by Max.Chen Curve Editor: Lock down the first and last keys in the redundant keys removal range so that they're unaffected. #jira UE-53591 Change 3826406 by Max.Chen Sequencer: Move OnStartedPlaying() to within first update in UpdateTimeCursorPosition(). This fixes an issue where setting the hud/player visibility was getting stomped on later. #jira UE-52772 Change 3827044 by Max.Preussner MediaAssets: Added sprite visualization to media sound component #jira UE-53594 Change 3827988 by Max.Preussner MediaPlayerAssets: Fixed Media Texture is not linked to Media Player when created together #jira UE-53532 Change 3828506 by Max.Preussner MediaPlayerEditor: Added attenuation visualizer for media sound components #jira UE-53594 Change 3832590 by andrew.porter EngineTest: Added a keep state check in Property Animation sequencer test Change 3833053 by andrew.porter EngineTest: Adding Hierarchical Bias test Change 3835683 by andrew.porter EngineTest: Adding UMG Animation screenshot test Change 3836076 by Max.Chen Sequencer: Fix audio volume and pitch multiplier deprecation. Change 3836230 by andrew.porter EngineTest: Adding Sequence Bone Position automation test Change 3836347 by Max.Chen Sequencer: Fixes to shot name parsing. When a shot doesn't contain a shot number, assume, [ShotName]_[TakeNumber]. When duplicating a shot, put the new shot in the same path of the original shot, so that the take numbers will increment properly. #jira UE-51868 Change 3836552 by Max.Chen Sequencer: Sub section now has a takes menu Change 3838094 by Max.Chen UMG: Fix template finish not getting called on stop. This fixes a bug where sections aren't restored when finished. #jira UE-52285 Change 3838708 by Max.Chen Sequencer: Add notification when the blend type is changed. #jira UE-54046 Change 3840295 by Max.Chen Sequencer: Fix copy/paste crash for lights #jira UE-54084 Change 3840957 by Mike.Zyracki Added Show Only Keyable and Show Only Animated to the filter list in the property editor. Added IsPropertyAnimated to IDetailKeyframe Interface which already had support for showing properties which are keyable (which is used for the key icon next to the properties.). Could have created another interface but then would have had to mimic the sequencer binding, releasing also, so this seemed best way. One issue still left is that custom built detail items currently don't store associated properties(usually) and so certain properties, in particulalry transforms, won't show up as keyable or animated. Note this also shows up with the keyable icon not showing up next to transform tracks, and other filters like Show Only Modified not working with transforms/customs. Not sure best way to tackle this. #jira UESEQ-328 Change 3841756 by Max.Chen Sequencer: Fix unbound possessable components when pasting spawnables. #jira UE-54104 Change 3843950 by andrew.porter EngineTest: Renaming LevelStreaming tests/content to LevelVisibility Change 3844082 by Mike.Zyracki Missing file for animated filter in property editor. When finding if a track is animated we need to find it but we can't easily induce the MovieTrack class for any particular property. So we don't set a class for it and just search by it's ID and name. #jira UESEQ-328 Change 3846902 by Max.Preussner ImgMedia: Fixed image media player never finished initialization if loading failed #jira UE-54247 Change 3849820 by Mike.Zyracki Reassigning deleted widgets didn't work since the menu extender mechanism needs a valid UObject in order to perform an operation on it. So to fix we replaced GetObjectBindingContextMenuExtender in WidgetBlueprint with new delegate mechanism (OnBuildCustomContextMenuForGuid) that supports FGuid in addition to UObjects which is needed to handle re-binding deleted widgets. Note that the default sequencer hacks this for replacing deleted actors in SequencerObjectBindingNode to check to see if a LevelSequence is active. We could move to this mechanism there also. #jira UE-53163 Change 3852211 by Max.Chen UMG: Indicate name of the property that is not bound. #jira UE-54350 Change 3854120 by Max.Chen Sequencer: Fix sibling folders being allowed to have the same folder name. #jira UE-54363 Change 3854627 by Max.Chen Sequencer: Step to next/previous key should work for all tracks if there aren't any selected. #jira UESEQ-391 Change 3855825 by andrew.porter EngineTest: Adding animation blending automation test Change 3855950 by andrew.porter EngineTest: Adding correct expected valuues to animation blending test Change 3856237 by Matt.Hoffman UESEQ-336 - Sequencer Track Reordering Adds the ability to re-order Master Tracks, Folders and Object Bindings within sequencer hierarchies (including UMG). Adds the ability to do a one-off sorting of the content under the old sorting behavior if the user wants to reset their layout to how it was under legacy behavior. Modifies SequencerTrackNodes, SequencerFolderNodes and SequencerObjectBindingNodes to handle CanDrop/OnDrop for above, below and ontop of. Fixes a Slate Issue that forcibly expanded a TreeviewRow if an item handled OnDrop. Slate will now only forcibly expand the row if the item says the drop happened ontop of the item, and not above or below it like it previously did. Change 3856503 by andrew.porter EngineTest: Adding automation test for using animation blueprint with blend multi node in sequencer Change 3857875 by Max.Chen Sequencer: Assign the sequence id after the template is compiled. #jira UE-54462 Change 3858344 by Max.Chen Sequencer: Prevent Goto and Transform boxes from overlapping by allowing them to be visible at the same time in an autosized horizontal box. Also, added close button to the goto box. PR #4425: Prevent Goto and Transform boxes from overlapping in Sequencer ... (Contributed by projectgheist) #jira UE-54210 Change 3860566 by andrew.porter MediaFrameworkTest: Set the option to index 0 for the audio and video track list by default Change 3860654 by andrew.porter EngineTest: Enabling Camera Cut + FOV test Change 3860981 by andrew.porter EngineTest: Updating skeletal mesh tests with a delay after set playback position Change 3861256 by Max.Chen Sequencer: Add all bindings if none selected. #jira-54440 Change 3862154 by Andrew.Rodham Added TimeManagement module Change 3862424 by andrew.porter EngineTest: Turned on the test Bone Positions with Blend Multi Node Change 3862573 by andrew.porter EngineTest: Adding test to compare bone positions in a sequence that is blending an animation that is using an AnimBP Change 3865117 by Max.Chen Sequencer: Stop auto scroll on mouse release of movement. #jira UE-31212 Change 3865303 by Max.Chen Sequencer: Add drag and drop transactions #jira UE-54662 Change 3865304 by Max.Chen Sequencer: Fix crash when an actor factory is not found. Change 3865361 by Max.Chen Sequencer: Don't change the camera/shot lock button when popping out of a sequence. #jira UE-54665 Change 3865412 by Max.Chen Sequencer: Determine whether a transform track is for a camera by using the spawned object or template #jira UE-54666 Change 3865685 by Max.Chen Sequencer: Clear autoscrub offset when stopping autoscroll #jira UE-31212 Change 3865886 by Max.Chen Sequence Recorder: Log an error if the number of frames changes while recording. This can happen if the skeleton changes while recording. #jira UE-48715 Change 3866925 by Andrew.Porter MediaFrameworkTest: Changing the current PNG test video image sequence to 1024 x 576 Change 3867705 by andrew.porter QAGame: Adding Audio Sort Sequence to dev folder Change 3867890 by andrew.porter QAGame: Adding a sequence for testing a sorting crash to my dev folder Change 3872628 by Max.Chen Movie Scene Capture: Split delay before warmup into split delay before shot warmup so that there's separate controls for when the movie scene capture warmups up vs. shot boundaries. Change 3873131 by Matt.Hoffman UE-54732 - Crash reordering a folder with a track. This was caused by folders being the only type of track to check if someone was putting a parent track into a child track. Object Binding tracks and Tracks now check as well so that you can't use the above/below drop targets to add parents as children. This also fixed a typo in the localization keys. #jira UE-54732 Change 3873301 by Mike.Zyracki Added ability to support continous euler angle changes when changing rotations, in particularly with the rotation gizmo's. To do this we effectively added a form an of 'euler filter'(https://en.wikipedia.org/wiki/Euler_filter) to find the closest euler angle to the current euler angle. Three functions were added to FRotator to make this possible, one to get the euler angle that's has the same rotation as it, one to get the difference between two euler angles via Manhattan distance and a third using the previous two to choose a Rotator value that's closest to it. We then use these functions before calling UComponent::SetRelativeRotation to make sure we use the correct Euler after the Quat conversion. We also no longer limit(bound) the euler angles to -180,180, which is obviously necessary to avoid flips. I also changed how we caluclate yaw and roll when pitch is -90 or 90 to make it the standard approach of zeroing out roll and just setting yaw. Main reasons are the previous implementation had precision issues so things like 180, 90, -180 would show up due to numbers being nearly zero but negative,(this would break any smooth interpolations), and this facilitates having a 'gimbal' rotation mode (like Maya, Blender etc..) if we ever want that also. If needed we could keep the previous implementation but would need to add some FMath::IsNearlyZero checks, with less performance. Note we only do this special filtering when applying delta's to actors or components in the editors, which then call UComponent::SetRelativeRotationExact, which is a new function to foces the RelativeRotation to be equal to the new rotation. This allows us to store un-nomalized Rotators at the cost that the RotationCache may be broken. We didn't change any of the other UComponent functions that set rotations (via Quats or Transforms) so they will still be bounded and unwound. In SetInternalWorldLocationAndRotation we only set the rotation if the rotation has changed, which fixes the rotation getting changed and re-normalized if just translate happens. In TransformTrackEditor, we correclty use the bUndwing flag and in MovieScene3DTransformSection there was an un-needed winding check there, it will be unwound earlier if needed, which happens if Sequence Recording is happening. Max we should talk about what to do about this . Note the euler angle drag via the widget is still bound to 0-360. I think we should just unbound that now since the rotations value are now unbound. This review now includes fixes suggested by Zak. #jira UE-UE-22228 Change 3873483 by Matt.Hoffman Sequencer Tracks can now be inserted above the spacer at the bottom of the tree. #jira UE-54706 Change 3873899 by Max.Chen Sequencer: Add section selection throbbing Change 3873908 by Max.Chen Movie Scene Capture: Added logging per frame Change 3873924 by Matt.Hoffman Adds the ability to store Sequence Recorder setups into profiles that stay with the map and can be re-loaded later. Profiles store the Actor Recordings so the settings for each actor should carry with them. #jira UESEQ-339 Change 3874726 by Matt.Hoffman Disable drag-and-drop targets on spacers that come between rows in Sequencer. This prevents extra drag/drop targets showing up between each row. #jira UE-54706 Change 3874862 by Matt.Hoffman Audio Track no longer gets reordered when adding sub-audio tracks, as sub-tracks are no longer counted towards the sorting order index when normalizing indexes. #jira UE-54727 Change 3875905 by Matt.Hoffman Disable Fade Track UI if a fade track already exists in the sequence. #jira UESEQ-393 Change 3876163 by Max.Chen Sequencer: Swap the camera object to the camera component's owner if it's not the same. #jira UE-54874 Change 3876971 by Andrew.Porter EngineTest: Moved Media Player Seek test to new folder. Also enabled the test with new ground truth image. Change 3877040 by Max.Chen Cine Camera: Split camera properties to two groups, "Camera Options" and "Camera Settings". The cine camera now hides properties in the "Camera Settings" group so that properties like bConstrainAspectRatio (in the "Camera Options" group) can be visible. #jira UE-54192 Change 3877763 by Max.Chen Curve Editor: Fix curve changed on end drag so that only curves that had keys/tangents that were changed receive notification, otherwise all loaded curves were getting notified that they were changed. #jira UE-54951 Change 3878234 by Matt.Hoffman Disable "Drop Below" targets for Sequencer Tree nodes to prevent a confusing UX issue where dropping underneath a Object Binding Node puts it after the object binding node but the UI looks like it's inserting it inside the Object Binding node. #jira UE-54743 Change 3879359 by Mike.Zyracki If a track is inactive we dim it a bit which seems to be the UE4 way to show inactive or disabled state. We changed the active logic so that all subtracks need to be inactive for the track to also be inactive(instead of all active for active). This conforms to how the active state actually works, e.g if you have two sections and only one is active the track is still active above it. #jira UESEQ-388 Change 3879462 by Max.Chen Sequencer: Allow dragging onto a particular row which would move out any overlapping sections to make space for the newly created section. Newly created sections are now selected and throbbed to draw attention to themselves. #jira UE-54664 Change 3879464 by Max.Chen Sequencer: Fixed overlapping ranges being inserted into the evaluation field during compilation - The issue was that track segments that had been combined with adjacent segments (due to them being identical) would potentially cause a subsequently compiled frame to overlap with a range that had already been inserted into the evaluation field. - The insertion code previously asserted that only minor overlaps were catered for (due to fp rounding errors) and assumed that a supplied range could not entirely contain any other range in the field. - The solution is to supply the insertion time along with the range to know exactly where the data should live in the field, and crop the range to the maximum allowable space between adjacent ranges. #jira UE-54922 Change 3879590 by Matt.Hoffman Items that are now added to the Sequencer via the "+Track" menu will be selected after being added. Items can now be added inside of folders instead of just to the root level. #jira UE-27397 Change 3879612 by Mike.Zyracki Display Nodes with no children are always active. #jira UESEQ-388 Change 3879730 by Matt.Hoffman Sequence Recorder's actor recording groups now remove items from the group when removed via the UI. #jira UESEQ-339 Change 3880256 by Mike.Zyracki Fix issue with inactive display with folders and other track nodes. #jira UESEQ-388 Change 3883491 by Max.Chen Fix issue where tick is skipped due to last ticked pose isn't cleared after AnimInstance changes. Copy from Release-4.19 #jira UE-51323 Change 3883603 by Max.Chen Movie Scene Capture: Add option toggle disable screen percentage. By default this is on (no change in current behavior). #jira UE-51898 Change 3885074 by Max.Preussner MediaCompositing: Resetting media texture & freeing resource on section end; removed dead code Change 3887220 by Max.Preussner MediaCompositing: Defaulted media section duration to 1 sec (since we do not know the actual duration in most cases) Change 3887478 by Matt.Hoffman Sequences now show [Inactive] in their title bars when they're disabled. This helps communicate why a sequence isn't being evaluated. #jira UE-51469 Change 3888985 by Max.Chen Movie Scene Capture: Clamp HDR Compression Quality between 0 and 1. #jira UE-55136 Change 3893519 by Max.Chen Sequence Recorder: Clarified tooltip for bRecordNearbySpawnedActors - spawned actors will still be recorded if they match the ActorFilter. #jira UE-55238 Change 3893546 by Max.Chen Sequence Recorder: If a selected actor already has a recording, add a blank recording. #jira UE-55239 Change 3894044 by Max.Preussner MediaCompositing: Added support for seeking into a media section Change 3894310 by andrew.porter MediaFrameworkTest: Adding Img media sources for 1080 and 2160 ravent test content Change 3894426 by Max.Preussner MediaAssets: Letting media textures with AutoClear retain their clear color when player is reset Change 3895717 by Max.Chen Sequencer: Null checks to prevent crash when saving the default state of a spawnable #jira UE-55304 Change 3897388 by Max.Chen Sequencer: Don't update current time to be within the view range when stepping into a sequence. #jira UE-55322 Change 3897452 by Max.Chen Audio: Fix crash when trying to record audio without any active capture devices. Log warning if the number of input channels is not 1 or 2. #jira UE-55223 Change 3897619 by Max.Preussner MediaCompositing: Removed commented out code Change 3898072 by Max.Chen Sequencer: Override the animation asset in the player state if it doesn't match the animation asset that's being evaluated. #jira UE-55328 Change 3898272 by Max.Preussner MediaPlayerEditor: Made slate brush constants static Change 3898704 by Max.Chen Sequencer: Skip if the binding id's sequence can't be found. #jira UE-55337 Change 3899855 by Max.Preussner MediaCompositingEditor: Added cache state visualization to media track Change 3900300 by Max.Preussner MediaCompositingEditor: Added loop indicators to media sections Change 3900694 by Max.Preussner ImfMedia: Looping cache only when player is looping Change 3900892 by Max.Preussner Stats: Added stats category for media framework Change 3900954 by Max.Preussner MediaCompositing: Don't evaluate at the end of media section Change 3901348 by Max.Preussner Core: Replaced TLruCache autos for better readability Change 3901655 by Max.Preussner ImgMedia: Added more perf stats to EXR reader Change 3901972 by Max.Preussner MediaAssets: Added getter for media player in media sound components Change 3902233 by Max.Preussner MediaAssets: Enabling media textures to receive samples right after player is assigned Change 3902238 by Max.Preussner MediaCompositing: Working around init/shutdown idiosyncracies in sequencer Change 3904045 by Max.Chen Sequencer: Fix copy/paste crash. Only process UMovieSceneCopyableBinding and objects that can be spawned by the movie scene spawn register. #jira UE-55314 Change 3905605 by Max.Chen Sequencer: Restrict spawnables from being created if they have a ClassWithin that UMovieScene is not a child of. #jira UE-55429 Change 3906550 by Max.Chen Sequencer: Add media track icon #jira UE-55480 Change 3907101 by Max.Chen Sequence Recorder: Fix bugs related to not recording a level sequence. There were certain assumptions that creating a level sequence meant that sequence recording was in progress. This is not always the case - the recorders can record animation assets and not create a level sequence. Changed the notion of IsRecording() to having at least one actor recording that is recording. Countdown timer, recording displays, etc should function if IsRecording() and not based on whether a level sequence is created. #jira UE-55485 Change 3907247 by Max.Chen Sequence Recorder: Fix crash not removing PrepareToCleanseEditorObject delegate. Repros when opening sequence recorder, closing it, and then opening or creating a level. Change 3910343 by Max.Preussner Core: Added async helper for executing functions on a given thread pool Change 3910346 by Max.Preussner ImgMedia: Added separate thread pools for loading/decoding and deleting image frames Change 3910829 by Max.Preussner Profiler: Increased visible range of profiler graph Change 3910841 by Max.Preussner MediaCompositing: Displaying asset name instead of full media source path in media section Change 3910870 by Max.Preussner ImgMedia: Using deallocation thread pool only in debug builds Change 3919642 by Max.Chen Sequence Recorder: Clarify active tooltip #jira UE-55661 Change 3919660 by Max.Chen Sequencer: Sequence template source signatures are now also compared to catch the case where a sub-sequence asset has been saved but not modified - The following sequence of events exposes this issue: - Create a master sequence with a single shot that spawns a cube - Add this sequence to a level and set it to auto-play - Save everything and restart - Resave just the inner shot asset without opening it - PIE - The inner shot never spawns its cube because its template was wiped on save, but its signature never changed. Since the master sequence previously didn't check the template source signature, it ends up trying to evaluate an empty template. #jira UE-55626 #jira UE-55490 Change 3921825 by Max.Chen Sequencer: "Run Construction Script in Sequencer" is off by default for blueprints but on for Sequencer. This allows the content author to switch it on for specific blueprints and sequencer will be default, run those with construction scripts enabled. Change 3922232 by Max.Chen Sequence Recorder: Reset countdelay on stop. #jira UE-55755 Change 3922306 by Max.Chen Sequence Recorder: Don't automatically mark transforms to be recorded by sequence recorder. Instead, log a warning if the user toggled it off to warn that the resulting animation might not match gameplay. #jira UE-55758 Change 3922912 by Max.Chen Sequence Recorder: Fix refresh next sequence name #jira UE-55757 Change 3927654 by Max.Chen Movie Scene Capture: Added format mapping for the name of the current camera #jira UE-55769 PR #4537 Change 3927658 by Max.Chen Sequencer: Added fbx property mapping for "FocusDistance" to "FocusSettings.ManualFocusDistance" #jira UE-55782 Change 3932022 by Max.Chen Sequencer: Add import animation track section to next available row index. #jira UE-55892 Change 3933919 by Max.Chen Sequencer: Jump to playback start frame and not 0 to start playback for recording. #jira UE-55933 Change 3934307 by Andrew.Rodham Sequencer: Add template signature that is re-generated every time the base template is regenerated, which invalidates evaluation fields This fixes an issue where the same sequence is instantiated multiple times in a sequence. If the source sequence was saved, its template would be wiped, which would invalidate the template ID When an instance tries to evaluate the master template, it would only invalidate a range in the evaluation field that was the hull of any invalid sub sequences overlapping the current time, potentially leaving invalid data in the evaluation field at positions later (or earlier) on in the sequence When the sub template was re-generated, it receives the same SequenceSignature as it had before (because the sequence hasn't actually changed), which causes the stale evaluation field data to fail the IsDirty check (because the sequence is the same as it thought, but the *template* has changed) This has been addressed be adding a signature to templates themselves, and checking both the template signature and sequence signature as a part of the IsDirty check. This ensures that we regenerate if either the template, or the sequence have changed. #jira UE-55934 Change 3936327 by Andrew.Rodham Sequencer: Removed increment when trimming right UMovieSceneSection::TrimSection already explicity assigns an exclusive bound to the time passed in. The new behavior means we can trim a section to the right, and insert another section without changing the time to create adjacent sections. #jira UE-42652 Change 3936328 by Andrew.Rodham Fixed KeyFrameManipulator assignment operators and copy/move constructors - These types are potentially self-referential so cannot use default constructors/assignment Change 3936330 by Andrew.Rodham Converted UMGSequencePlayer to use frames internally #jira UE-54878 Change 3936726 by Max.Chen Sequencer: Set track node as the parent of the key area node. The key area switcher needs the object binding id from the parent object binding node. Without this, the binding to the external value fails. #jira UE-55931 Change 3936775 by Max.Chen Sequencer: Should stop or loop should compare DurationFrames with Current Time from StartTime. The bug is that if you set 30 warmup frames in movie rendering for a range of 0-100, the FrameRange will be starting at -30 and have a duration of 130. Without this fix, the playback will continue until frame 130, rather than 100. #jira UE-55933 Change 3936935 by Matt.Hoffman Easing Curves are now represented in Play Rate resolution instead of internal resolution. #jira UE-55937 Change 3937069 by Matt.Hoffman Users can toggle if the is infinite on each side, limited by which tracks support infinite ranges. #jira UE-55891 Change 3937516 by Max.Preussner ImgMedia: Added support for single-threaded platforms #jira UE-55986 Change 3937826 by Max.Preussner MediaAssets: Disabling media sound components on HTML5 if AudioMixer is not enabled Change 3937997 by Max.Chen Curve Editor: Add Zoom to Fit Curves so that selected curves from Sequencer can be focused on. Tested that undo doesn't re-zoom. #jira UE-55935 Change 3938000 by Max.Chen Sequencer: Stop all sounds before generating audio waveforms. #jira UE-55951 Change 3938376 by Max.Preussner XGEController: Disabled XGE Controller in single-threaded apps to prevent crash Change 3938444 by Max.Preussner Core: Added async support for single-threaded applications Change 3938445 by Max.Preussner Networking: Added support for single-threaded applications in UDP socket sender/receiver Change 3938447 by Max.Preussner Messaging: Added support for single-threaded applications Change 3939432 by Max.Chen Sequence Recorder: Append command list to global level editor actions so that shortcuts are accessible in level editor. #jira UE-55798 Change 3940229 by Andrew.Rodham Added prospective display rate upgrade to UMovieScene::PostLoad - There was previously some very odd behaviour that would assign the fixed frame interval only when a sub sequence was focused in SSequencer. This meant that many sequences could have a frame interval of 0 set in the data. - Under the old method of snap interval display this would have fallen back to getting the display interval from the sequencer settings, but we no longer look at these. - The USequencerSettings properties have been removed and in their place, a prospective data upgrade for sequences that have a fixed frame interval old 0fps that sets the play rate to the previous defaults based off the old USequencerSettings defaults. - This could end up 'changing' the display rate for sequences where the user has changed the snap interval in the settings for a particular sequence editor, but there's not much we can do about that given we don't have access to the USequencerSettings classes in UMovieScene #jira UE-55919 Change 3940277 by Andrew.Rodham Sequencer: Added ability to default frame resolutions and play rates for newly created actor sequences Change 3940378 by Andrew.Rodham Sequencer: Post move import dialog now defaults to the playback framerate of the sequence, and floors to frame numbers Change 3940559 by Andrew.Rodham Reinstated primed or recording sequence color Change 3940642 by Max.Preussner ImagePlate: Removed image plate media playback functionality Change 3940843 by Max.Preussner Core: Made TCircularQueue actually thread-safe; improved code comments Change 3940860 by Max.Chen Sequencer: Changed StructNameToKey to StructPathToKey Previously, keying a PropertyPath of [RenderTransform][Shear][X] would get trimmed to X, which doesn't map to a channel name as considered by Sequencer2dTransformTrackEditor. Instead, trim the resulting property path to [Shear][X] so that track editors can determine the desired struct path and channels to key. #jira UE-52966 Change 3941292 by Mike.Zyracki Fix for trajectories out of range not showing up. 1) If we had no key data we would pop the time, so wouldn't get the section ranges. 2) Calculating of upper bound was wrong, checking against -1 and not key == num of keys when doing algo::lower_bound. 3) No need to do the Bck-- for the bakward iterators since we fixed #2. We start now from the upper bound correctly. 4) If we had no keys (at section start,end) we would incorrectly say we were any key type, so since we draw constant keys as dashed we would do so incorrectly around section end points. #jira UE-55929 Change 3941424 by Max.Chen Curve Editor: Change Zoom to Fit to use TArrayView Change 3941498 by Max.Preussner Core: Added FMath::DivideAndRoundNearest function Change 3942097 by Matt.Hoffman Drop Frame Timecode Support for NTSC rates. Change 3942104 by Matt.Hoffman Sequence Recorder Group is no longer visible inside the World Outliner after using one. #jira 55266 Change 3942107 by Max.Chen Sequencer: Resurrect logic to find or extend an existing section when adding keys. Change 3942330 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942339 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942507 by Andrew.Rodham Sequencer: We no longer pad the time overlap threshold with a small number that is not scaled by the current zoom level - The presence of this pad was causing keys that were far apart to be grouped when zoomed in a long way Change 3942509 by Andrew.Rodham Sequencer: Only pad total view range, rather than section range as well when retrieving keys to render - This stops us from rendering keys that are within the view range, but outside the section range Change 3942512 by Andrew.Rodham Added transactions to some sequencer details customizations Change 3942513 by Andrew.Rodham Sequencer: Reinstated validation checks to UMovieSceneSection::SetStartFrame and SetEndFrame, changed erroneous uses to use SetRange Change 3942560 by Andrew.Rodham Pass by rvalue reference to appease error C2719 on Win32 ('InChannels': formal parameter with requested alignment of 8 won't be aligned) Change 3942697 by Andrew.Rodham Newly Created Level Sequences and Actor Sequences now default to 24000 fps frame resolution (+/- ~24hrs range, supporting all integer rates + 23.976) Change 3942700 by Andrew.Rodham Sequencer: Added legacy out-of-bounds errors for times that are not supported by the current legacy upgrade frame resolution Change 3942989 by Max.Preussner Core: Fixed circular queue count calculation Change 3943538 by Max.Preussner MediaAssets: Reverted workaround for procedural audio log spam in HTML5 (Actor component initialization cannot be skipped if the component is used in a level) Change 3944071 by Max.Preussner QAGame: Fixed Media Texture keeps last frame of Media when PIE ends #jira UE-53360 Change 3944292 by Max.Chen Sequencer: Added extra flags to ensure that asset initialization does not occur on template actor sequences #jira UE-56113 Change 3944364 by Max.Chen Sequencer: Prevent circular shot/master tracks. Tested adding master -> child -> master as drag and drop cinematic shot tracks and sub tracks as well as through the + button. #jira UE-56091 Change 3944422 by Max.Chen Sequence Recorder: Disable transform recording if off. #jira UE-56061 Change 3944745 by Andrew.Rodham Sequencer: Key rendering fixes - Fixed assert that occured when keys happened to reside on some times due to KeyTime + TimeOverlapThreshold - KeyTime being slightly larger TimeOverlapThreshold - Fixed keys sometimes being clipped when zoomed right in due to lack of half-frame offset - Added missing documentation to MovieSceneTimeHelpers.h #jira UE-56107 Change 3945231 by Andrew.Rodham Sequencer: Reconstruct channel proxy on Serialize to catch all cases of undo/redo, PostLoad and duplication #jira UE-56089 Change 3945301 by Andrew.Rodham Sequencer: Added safety checks during initial sequence recording to guard against applying negative or 0-sized sequence ranges #jira UE-56125 Change 3946627 by Max.Preussner Fortnite: Fixed game crashes closing editor while in PIE - Pure virtual function being called #jira UE-56144 [CL 3946896 by Max Chen in Main branch]
2018-03-14 22:09:33 -04:00
FFrameTime MouseDownFree = ComputeFrameTimeFromMouse(MyGeometry, MouseDownPosition[0], RangeToScreen, false);
Copying //UE4/Dev-Sequencer to //UE4/Main ========================== MAJOR FEATURES + CHANGES ========================== Change 2875025 on 2016/02/20 by Andrew.Rodham Sequencer: Cinematic viewport improvements - Added optional letterbox overlay (defaults to 2.35:1) - Added ability to change safe frame colors - Added selected tracks' keys to the transport range - Added buttons for jumping between selected tracks' keyframes on the transport controls - Removed black padding around the viewport where possible - Added ability to specify whether a combo button/menu anchor should close when its parent receives focus - Separated logic of FGroupedKeyArea into FSequencerKeyCollection, so it can be used independently - Added playback range to the viewport frame numbers - All frame numbers are now spin boxes #jira UE-26429 Change 2875026 on 2016/02/20 by Thomas.Sarkanen Added console commands for recording sequences Changed plugin to a developer plugin so we can load it when the editor is in -game mode. Added Exec commands. Added some more logging to help diagnose problems when using commands. Added loading/saving of config for recorder settings (stored in Editor.ini). Also disabled controls in recorder window when recording. Added auto-saving of assets when in non-editor modes. Moved animation settings from UnrealEd to Engine module. Change 2875036 on 2016/02/20 by Max.Chen Sequencer: Call RedrawAllViewports instead of RedrawLevelEditingViewports. In particular, this fixes some update issues when editing values in the key editors. #jira UE-26960 Change 2875046 on 2016/02/20 by Max.Preussner Sequencer: Fix so that clicking on UMG Animations doesn't dirty the scene. #jira UE-26249 Change 2875047 on 2016/02/20 by Max.Chen Sequencer: Add option to toggle display of channel colors/lines. View->Channel Colors Change 2877138 on 2016/02/23 by Max.Chen Sequencer: Select corresponding track node when selecting key or section. Removed active/inactive selection since it was only being used in deletion and the rules for deletion are now dependent upon what is selected - delete keys and sections before deleting outliner nodes. Change 2877143 on 2016/02/23 by Thomas.Sarkanen Added new math function: WindRelativeAnglesDegrees Given two angles in degrees, 'wind' the angle in Angle1 so that it avoids >180 degree flips. Good for winding rotations previously expressed as quaternions into a euler-angle representation. Change 2877147 on 2016/02/23 by Thomas.Sarkanen Added the ability to import sequencer transforms from the root node of an animation sequence Intended for use after re-importing animations from DCC tools. Available in the right-click menu for transform tracks. Also added FindTrackBinding to UMovieScene so track bindings can be recovered from tracks. Change 2877163 on 2016/02/23 by Max.Chen Sequencer: Add option to create keyframe sections as infinite. Sequencer defaults to true, UMG defaults to false. Change 2877165 on 2016/02/23 by Max.Preussner Sequencer: Drawing vertical position lines when dragging keys Change 2878748 on 2016/02/23 by Max.Chen Curve Editor: Switch curve type to user when flatting or straightening tangents. #jira UE-27277 Change 2878799 on 2016/02/23 by Frank.Fella Sequencer - Add folders support to the outliner. Change 2880769 on 2016/02/24 by Andrew.Rodham Sequencer: Added ability to override runtime spawnable ownership in sequencer - This is exposed as an option on spawnables "Keep Alive Outside Playback Range (In Sequencer)" - Enabling this will stop spawnables from being destroyed when scrubbing outside of the playback range #jira UE-27205 Change 2880770 on 2016/02/24 by Thomas.Sarkanen Sequencer: Added countdown and recording indicator display when recording Also fixed extra popups added post-PIE when animation recordings auto shutdown. Change 2880782 on 2016/02/24 by Max.Chen Sequencer: Snapping now also uses the current time as a possible snap time. #jira UE-26306 Change 2880793 on 2016/02/24 by Max.Chen Sequencer: Add +Animation to Animation track so that it's consistent with all other tracks that have a + button. Change 2880812 on 2016/02/24 by Max.Chen Sequencer: Fix adjusting the leading edge of a shot section so that it cuts into the shot rather than adjusts the start time. #jira UE-26306 Change 2881624 on 2016/02/25 by Andrew.Rodham Changing shader version GUID to fix corrupt shaders in ddc Change 2882408 on 2016/02/25 by Thomas.Sarkanen Asset/actors stored in TLazyObjectPtrs can now reference game content from engine This is a legitimate use case as lazy object ptrs are designed to reference assets/actors cross-domain. Change 2882409 on 2016/02/25 by Thomas.Sarkanen [CL 2899785 by Max Chen in Main branch]
2016-03-08 16:55:04 -05:00
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 4044339) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3947021 by Max.Chen Sequencer: Don't preserve root component when copying object properties. A spawnable empty actor, has a root component that is generated by the empty actor factory. If the object template's root component is preserved when copying from the spawnable empty actor, the root component will not be copied over. Therefore, we need to NOT preserve the root component when copying object properties. #jira UE-55825 Change 3947366 by Max.Preussner WmfMedia: Better log output Change 3947367 by Max.Preussner MfMedia: Better detection of compressed format properties on Windows Change 3949102 by Max.Chen Sequencer: Remove SequenceActorTag when converting to possessable. #jira UE-56206 Change 3949207 by andrew.porter EngineTest: Set the screenshot nodes resolution to 1280x720 Change 3949404 by Max.Chen Sequencer: More informative tooltip for "Rerun Construction Scripts" option. It now says "Rerun construction scripts every frame on actors that have 'Rerun Construction Script in Sequencer' enabled in their class settings". Change 3950067 by Matt.Hoffman Renamed UAutomatedLevelSequenceCapture's StartFrame and EndFrame to CustomStartFrame/CustomEndFrame to reflect that it is user-overriden. This will also resolve upgrade issues due to the variable datatype changing. #jira UE-56189 Change 3950193 by JohnHenry.Carawon Updating my latest MovieRendering test content. Change 3950757 by JohnHenry.Carawon More updates to MovieRendering test content Change 3952059 by Max.Chen Resave LevelVisibility_SubLevels to fix data loss conversion warning of OpacityMaskConstant #jira UE-56086 Change 3952283 by Max.Chen Sequencer: Disable dropping level sequence assets as spawnables. #jira UE-56120 Change 3952422 by Max.Chen Sequence Recorder: Add button to record from the current player. #jira UE-55942 Change 3952987 by JohnHenry.Carawon MovieRendering Test Content - Fixing camera bindings and changing the override binding actor Change 3953823 by Mike.Zyracki Fix for Bad FBX Import Tangents not scaled by frame rate. After looking at this again it seems that a set of MovieScene:: overiddes for the channel traits wasn't set correctly, so use the ADL idiom to use MovieScene, which can then call Optimize in the correct namespace. With this we can now correctly use the passed in tolerance. There was also a redundant set of Optimize calls so that it could happen twice so removed them, and needed an extra check in the float channel Optimize. Also since we need to set auto tangents no matter if we optimize we don't set that parameter(though leave it since it's used by context menu key reduction). Finally fixed speed issue with trajectories caused by calculating way too many substeps. Reverted back to a time based step size for consistency. #jira UE-56193 Change 3954317 by Matt.Hoffman Adding a key to the last frame of a section no longer causes a crash. Keys can already be moved to be on the last frame of a section so now you can just add a key there directly. #jira UE-56255 Change 3954326 by Matt.Hoffman Dilating a section that is only infinite on one side no longer causes a crash. #jira UE-56260 Change 3954486 by Max.Chen PR #4580: Exposes IsReversed() from UMovieSceneSequencePlayer (Contributed by alanedwardes) Change 3955238 by Max.Preussner Messaging: Enabled delayed message routing https://github.com/EpicGames/UnrealEngine/pull/4574 #jira UE-56247 Change 3955901 by Max.Preussner MediaFrameworkTest: Added developer test for overriding desired media player plug-in at runtime. Change 3955922 by Andrew.Porter QAGame: Updating movie rendering content in dev folder Change 3956004 by andrew.porter QAGame: Adding MPC track to movie rendering test content Change 3956510 by Max.Chen Sequencer: Fix fbx camera import of static properties so that they are imported before default tracks are created. Otherwise, the default tracks inherit the default properties of the camera, rather than the values from the fbx. #jira UE-56311 Change 3957613 by Max.Preussner MediaUtils: Added code documentation to media player facade Change 3958005 by Max.Preussner MediaUtils: Added method to get number of sinks Change 3958934 by Max.Chen Sequencer: Fix keys getting added and sequence getting erroneously re-evaluated when auto key is off. Only apply defaults if there are no keys. Only modify the movie scene section before creating keys or setting defaults. #jira UE-55903 Change 3959687 by Andrew.Rodham Sequencer: Fixed visibility track external values being inverted #jira UE-56324 Change 3960507 by Max.Preussner Core: Fixed incorrect rounding in FMath::DivideAndRoundNearest Change 3962047 by JohnHenry.Carawon MovieRendering Test Content Changes: - Add Lightmass Importance Volumes to sublevel to fix warnings - Rebuilt Lighting - Add a third sequence for Gamut testing - Resaved the sound master.uasset to fix warning Change 3962211 by Mike.Zyracki Add Frame Numbers to selected animation sections. Added MapTimeToAnimation to MovieSceneSkeletalAnimation so that we could get it from the Skeleton Animation track Editor. Since the thickness of the frame line can change based upon frame rate and zoom we need to calculate it similarly to how the time slider controller does it. Those calculations were private so we had to expose FScrubRangeToScreen and GetScubberPixelRange from the TimeSliderController. Also needed to know if the section itself was selected so added a bIsSelected flag to the section Painter. Also fixed a bug where you couldn't add a section if other sections existed at different times in MovieScenePropertyTrack and could crash due to the check(). #jira UESEQ-395 Change 3962497 by Max.Preussner Core: Added new string formatting argument to FTimespan Change 3963662 by Max.Chen CineCamera: Flip VistaVision width and height. Change 3963731 by Max.Preussner MediaCompositing: Implemented sequence recording support for media track Change 3964195 by Andrew.Rodham Sequencer: Set inverted property correctly for newly created visibility track sections - Also clamp evaluation for key editors to the bounds of the section so we're not displaying values outside of the section bounds when the cursor is not on the bounds #jira UE-56324 #coderevew Max.Chen Change 3964196 by Andrew.Rodham Sequencer: Fixed crash when attempting to render sections that resulted in a negative intersection with the view range Change 3964275 by Andrew.Rodham Sequencer: Fixed MovieScene::ClampToDiscreteRange for infinite range bounds Change 3964364 by Andrew.Rodham Curve Editor: Reduce minimum vertical view range when zooming to fit Change 3965091 by Max.Chen Sequencer Recorder: Refresh next sequence if empty when starting a recording, otherwise, use existing name. #jira UE-56469 Change 3965148 by Max.Chen Sequence Recorder: Move Record to Possessable to "Actor Recording" group Change 3965162 by Max.Chen Sequence Recorder: Always break out of immersive mode when done recording, even when stopping recording during countdown. #jira UE-56407 Change 3965214 by Max.Preussner QAGame: Enabled ImagePlate plug-in Change 3965574 by Max.Preussner SimpleComposure: Reorganized & upgraded content to work with new Media Track #jira UE-56488 Change 3965651 by Max.Preussner MediaCompositing: Ignoring seek-on-open if media not seekable Change 3966075 by Christina.TempelaarL Sequencer: Added Final Cut Pro 7 XML Export functionality #jira UESEQ-358 Change 3966087 by Matt.Hoffman Adding a single key to the Particle Toggle track now makes an infinite range section that is displayed in the UI. #jira UE-56295 Change 3966547 by Andrew.Rodham Sequencer: Fixed rounding errors when drawing the section background on boolean sections - Logic was using time in sectonds which caused rounding errors on evaluation and flickering red/green stripes when dragging keys around #jira UE-56324 Change 3966563 by Andrew.Rodham Curve Editor: Key editor interface improvements - SKeyEditInterface has a few problems - it does not update in real time when editing properties, and does not support multi-edit which makes it unsuitable for use with the curve editor - We now take a different approach for editing keys by gathering a set of proxy UObjects for each key that is currently selected. These objects are added as top level objects to the details panel which means they support multi edit as you'd expect from any other details panel in the editor. - Proxy objects are updated every tick for the curve editor if they implement the ICurveEditorKeyProxy interface, which allows them to refresh their current value. - Ideally, the same mechanisms would be used in the main sequence interface, and we would be generating the proxy classes at runtime based on the key value type, but that work remains a separate task from this initial offering. #jira UE-56165 Change 3966564 by Andrew.Rodham Curve Editor: Expand to frame when adding or moving keys in the curve editor Change 3967051 by andrew.porter MediaFrameworkTest: Set the CameraPlayer_Video texture to auto clear Change 3967141 by Andrew.Rodham Sequencer: Keep track of spawned objects that have been modified and only re-save such object's default spawnable state on destruction - Now that we're taking this approach, I've remove serveral redundant bits of functionality in the spawn register such as making some spawnables read-only, and the PreSave binding for Sequencer. - We now hook into all object pre-saves to make sure we handle the case where the sequences are saved through the content browser or elsewhere. #jira UE-47686 Change 3967170 by Andrew.Rodham Sequencer: Added the ability to possess anim instances as object bindings - This allows full and direct animation of properties on UAnimInstance, and animation blueprints - Object Bindings are made by first possessing a skeletal mesh component, then choosing the + Add button where its anim instance will be listed - Added a new function to UMovieSceneSequence to gather previously cached objects that should now be invalidated. Anim instances will be re-resolved if a new UAnimInstance is assigned to USkeletalMeshComponent::GetAnimInstance. - ObjectBindingIDs for anim instances are just represented by an entry in a set of GUIDs. We only ever resolve such bindings through USkeletalMeshComponent::GetAnimInstance. - Only currently supported on LevelSequences #jira UE-56132 Change 3967195 by Max.Preussner Core: Updated TRangeSet to use TCallTraits Change 3967345 by JohnHenry.Carawon Test Content Changes - first iteration of spacing out the examples in the shots. Change 3967572 by Max.Chen Sequencer: Fix setting PreviousPlayEvalPosition until after we've tested whether it's set. #jira UE-56518 Change 3967750 by Max.Chen Audio: Set duration based on number of input channels, rather than number of channels to serialize. This fixes an issue where audio split into 2 channels is set to a duration that's twice as long. #jira UE-56430 Change 3967836 by Max.Chen Sequencer: Allow for animating array elements within ustruct properties #jira UE-55887 Change 3968506 by Matt.Hoffman Fixed ambiguous conversions for seconds and frames being overriden by ambiguous conversion to Timecode (in frames). Change 3968748 by Max.Chen Sequencer: Make the event properties submenu widget larger. #jira UE-55557 Change 3968862 by Max.Chen Sequencer: Recursive expansion when shift is down #jira UE-52139 #pr 4194 Change 3968863 by Max.Chen Sequencer: Bind rename command to selected track so that F2 shortcut start renaming #jira UE-52139 #pr 4194 Change 3968872 by Max.Chen Sequencer: Rekey the selected key at the current time. #jira UESEQ-396 Change 3968938 by Max.Chen Cine Camera: Add option to toggle the behavior of locking the rail mount to the orientation of the spline. By default, the option is off, no change in behavior. #jira UE-55815 Change 3968958 by Andrew.Rodham Sequencer: Consider vertical position when hittesting keys #jira UE-56256 Change 3969643 by Max.Preussner Core: Rounding timespans created from double values towards nearest ticks Change 3969646 by Max.Preussner MediaUtils: Implemented timeout mechanism for block-on-fetch feature Change 3969776 by Mike.Zyracki Added Skip Anim Notifiers Toggle per what was in Matinee. Investigated the Enable Root Motion toggle as also discussed but it's implementation is directly contained by the animation asset and unlike animation notifies there seems to be no exposure to interactively disable it during a playback tick. Note if we are generating thumbnails we still automtically disable notifies in the editor to avoid annoying noise playback. Note that if Enable Root Motion/Root locked is specified in the animation asset it does correctly effect the Sequencer. #jira UESEQ-399 Change 3969835 by Matt.Hoffman Playback Range and Selection Range use unified logic for adding themselves as potential snap locations which properly handles inclusive/exclusive bounds. This resolves an issue where having an unset selection range caused a potential snap location to be added on frame 0 and 1 (internal resolution) which caused a misalignment when placing objects near frame 0. This also removes the one frame offset on setting Selection Range to bring behavior inline with other ranges. #jira UE-55420 Change 3969885 by Max.Preussner MediaAssets: Don't register media player CDO with media ticker Change 3971129 by Andrew.Rodham Sequencer: Fixed UMovieSceneSequencePlayer::GotToEndAndStop() not taking into account for start time This is a remnant from when the times were always specified in 0-duration space, rather than actual sequence times. Change 3972056 by JohnHenry.Carawon More updates to Test Content. I continued spacing out the examples in the sequence so that they have a consistent number of frames between each example and during the start/end of the example. Also removed the Marcie sublevel. Change 3972066 by Andrew.Porter MediaFrameworkTest: Setting Marcie folder to be never cooked in package settings Change 3972675 by Matt.Hoffman Splitting Subsequence Sections no longer sets an incorrect playback range on the subsequence when the subsequence has a different internal resolution than the owning sequence. #jira UE-55453 Change 3973376 by Max.Preussner ImgMedia: Zero is the only valid video track for image sequences Change 3973489 by Max.Preussner Launch: Build rules cleanup pass - don't use Media, MediaUtils on server apps - don't link against Media (include-only dependency) - don't include from MediaAssets (dynamic load only) Change 3973760 by Max.Preussner MediaUtils: Moved AppMediaTimeSource implementation into its own file; added logging Change 3973765 by Max.Preussner ImgMedia: Disallowing seek beyond media length Change 3973855 by Max.Preussner MediaFrameworkTest: Updated developer test content Change 3973858 by Max.Preussner MediaCompositing: Blocking on media player time instead of media sample time (the former may not be hit in the current frame) Change 3974988 by Max.Chen Sequencer: Fix trim left so that it also sets the start offset for audio and skeletal animation sections. #jira UE-57015 Change 3976101 by Matt.Hoffman Sequencer will now focus the scroll view on newly created items. #jira UE-56492 Change 3976203 by Max.Chen Property Editor: Add DetailsViewArgs for ColumnWidth. Defaults to 0.65f, no change in existing behavior. Change 3976205 by Max.Chen Sequencer: Set better column widths for sequencer. #jira UE-55557 Change 3976206 by Max.Chen Sequencer: Added menu category for import/export Change 3976265 by Matt.Hoffman Tracks within Object Binding Nodes will now sort using the old behavior so that components are added above other track types. #jira UE-56473 Change 3976901 by Max.Chen Sequencer: Add event names to event track section #jira UESEQ-353 Change 3977878 by Max.Preussner Media: Moved media framework ticking stats into Media module Change 3977982 by Max.Chen Sequencer: Add Edit->Reset section length to duration of source (ie. audio, skeletal animation, shot length) Added MovieSceneSection::GetDefaultDuration and MovieScene::HasDefaultDuration #jira UESEQ-392 Change 3977994 by Max.Preussner Media: Fetching and rendering media samples before viewports are rendered (to ensure frame sync for in-level media playback) #jira UE-53975 Change 3978188 by Matt.Hoffman Easing Curves are now clipped by the sequence's PlayRange when testing against an infinite section. This causes blended sequences to finish their blend when the section starts/ends instead of always using 25% of the total section length to determine default blend range. #jira UE-56362 Change 3978676 by Max.Preussner MediaCompositing: Fixed first frame of rendered out media track missing #jira UE-53975 Change 3978684 by Max.Preussner MediaCompositing: Enabled media track frame sync feature #jira UE-53975 Change 3980026 by Matt.Hoffman Keys can be selected on folded out sections (such as an audio track expanded to show volume and pitch) again. #jira UE-57169 Change 3981614 by Max.Preussner MediaUtils: Added missing subtitle sample queue flush Change 3982311 by Max.Preussner MediaCompositing: Added safeguard for zero length media sources Change 3982389 by andrew.porter QAGame: Adding media track test content into FrameAccuracySubscene Change 3983661 by Max.Chen Sequencer: Add level name to spawn a spawnable into. Add sublevel menu option to set the level #jira UESEQ-390 Change 3983712 by Andrew.Rodham Sequencer: Purge legacy blueprint spawnables from LevelSequence packages #tests Ran a preflight for cooking fortnite, ocean and Orion. Only orion shows up this edge case, and will require a re-save of the EndCines level #jira UE-39173 Change 3983787 by Max.Preussner MediaCompositing: Moved compile time switch for block-on-fetch into media player facade Change 3983812 by Andrew.Rodham Sequencer: Exposed default level sequence instance data to blueprints Change 3984373 by Max.Preussner Media: Added API for quering whether player plug-in supports block on fetch Block on fetch allows Sequencer and other systems to block the game thread until a desired video frame has been decoded. Change 3984670 by JohnHenry.Carawon Movie Rendering Test Content progress. Saving the state of the content. There is a bug where things got replaced with particle emitters and I think it was because I tried to copy paste an animation track into a separate skeletal mesh track. Change 3985097 by Max.Chen Sequencer: Rename Reset to AutoSize Change GetAutoSizeDuration to return TOptional<FFrameTime> #jira UESEQ-392 Change 3986043 by Max.Chen Sequencer: Fix crash when attach/path duration is less than 0. #jira UE-57310 Change 3986373 by Max.Chen Sequencer: Add support for deleting tracks and channels which equates to setting the channel mask. #jira UE-52951 Change 3986375 by Max.Chen Sequencer: Add Create Pose Asset to skeletal animation section. This allows animators to blend animations in sequencer and create new pose assets from them. #jira UESEQ-408 Change 3986796 by Andrew.Rodham Sequencer: Fixed stale object references remaining in ULevelSequence::BindingReferences when using convert to spawnable/possessable - We used to convert objects by creating a new binding, then re-assigning its GUID, which meant we didn't have to do any further object fixup, but the code to achieve this was confusing and led to a vulnerability where object references would not be cleaned up correctly due to the newly created possessable essentially being a temporary object that's immediately thrown away. - To address this, there is now a function for porting all the contents of one object binding to another, and handles the correct fixup required for parent/child object bindings for both spawnables and possessables. - Also added codepath to remove any stale object references from the level sequence reference map on PostLoad (this piggy-backs off the PurgeLegacyBlueprints object version which is close close enough to this change to be identical) #tests Verified that existing sequences with stale references get cleaned up on load. Verified that repreatedly converting from spawnable<->possessable cleans up references correctly. Change 3987807 by JohnHenry.Carawon Updates to the MovieRendering Test Content. - Fixed the spawnable actors that were overwritten - Shortend the Lighting example and combined the Intensity and Color tracks - Organized the Sequence and WorldOutliner to group the examples. Change 3988151 by Max.Chen Cine Camera: Enable keying the "Enable Look at Tracking" toggle. Change 3988880 by Max.Chen Sequencer: Support enter to add asset for all sequencer track editors that have asset pickers. #jira UE-57367 Change 3988953 by Max.Chen Sequencer: Make the track color picker focusable so that it will close when you click away or lose focus. #jira UE-57210 Change 3988962 by Max.Chen MovieSceneCapture: Fix EDL export so that it takes into account movie scene frame resolution and desired frame rate. #jira UE-57365 Change 3988964 by Max.Chen Movie Scene Capture: Clarified tooltip for bRelativeFrameNumbers. If you specify custom start/end frames for the recording, they will be relative to the playback range. #jira UE-57308 Change 3989442 by Max.Chen Fix CIS Change 3991548 by Matt.Hoffman Dragging the time slider no longer causes the time slider to ignore snap-to-interval with "Snap to Keys While Scrubbing" when no keys are in range. #jira UE-57417 Change 3991598 by Matt.Hoffman Snap to Key while scrubbing now mirrors the behavior of "jump to next key". When there are no tracks selected it snaps to all keys and when there are tracks selected it snaps to only keys from that track. This also resolves an issue where deleting an object did not remove it from the Sequencer's selection. Undoing a delete already doesn't seem to restore your selection, so removing it from your selection shouldn't change that behavior. #jira UE-57417 Change 3991603 by Max.Chen Sequencer: Disable EditAnywhere for some section properties #jira UE-53530 Change 3992240 by Max.Preussner MediaAssets: Implemented dynamic audio sample rate adjustment based on audio/media clock drift #jira FORT-70638 Change 3992911 by Andrew.Rodham Sequencer: Fixed saving spawnable state using the wrong spawned object - We now track the object binding ID so that we can apply the spawned object to the correct spawnable when the asset is saved #jira UE-57353 Change 3992914 by Max.Chen Movie Scene Capture: Fix compression quality not being set. The compression interface wasn't being found through query interface, so no compression was being set. Reworked finding it through the output pins. Tested running various compression values. #jira-UE-55488 Change 3992919 by Max.Chen Sequencer: Convert to possessable now uses object template instead of copying properties (ie. see LevelSequenceActorSpawner). This fixes MIDs getting lost when converting to spawnable and back to possessable. #jira UE-52400 Change 3993184 by Max.Chen Sequencer: Don't show +Transform/+Path/+Attach track if the actor has the "Mobility" property hidden. Set the Landscape, LandscapeProxy and InstancedFoliage "Mobility" property to be hidden since it is static is not supposed to be dynamically movable. #jira UE-56347 Change 3993238 by Max.Chen Sequencer: Test for hidden mobility in creating keys as well. Refactored to HasHiddenMobility() #jira UE-56347 Change 3993978 by Max.Chen Cine Camera: Enable keying the "Enable Look at Tracking" toggle. #jira UE-57489 Change 3994039 by Max.Chen Landscape: Add Mobility to hidecategories on landscape component #jira UE-56347 Change 3994626 by JohnHenry.Carawon Updated Movie Rendering Test Content. - Fixed the overridden spawnables to their proper object types. Change 3994653 by Christina.TempelaarL Sequencer: Added Final Cut Pro 7 XML Import functionality, improved Export functionality #jira UESEQ-358 Change 3995609 by Max.Chen UMG: Add support for 2d transform mask (translation, rotation, scale, shear) #jira UE-52951 Change 3995778 by JohnHenry.Carawon Movie Rendering Test Content Updates - Adjusted Lights example - Adjusted Camera example - Added Marcie sublevel back in Change 3995942 by JohnHenry.Carawon QAGame: Moving Movie Rendering test content from Developer folder to Sequencer folder Also adjusted level visibility, lights and camera example. Change 3995993 by Christina.TempelaarL Sequencer: FCPXML Export updates - only export sections if in playback range and media exists, warn if media does not exist. Other updates - removed unused methods and variables, fixed message context naming to be more accurate #jira UESEQ-358 Change 3996595 by andrew.porter QAGame: Updating Marcie content in TrackEvaluation level to use Image Plate Change 3996614 by andrew.porter QAGame: Adding color test sequence to the sublevel Change 3996643 by Max.Chen Sequencer: Fix fbx animation export - rotation and scale channels were flipped. #jira UE-57509 #jira UE-57512 #jira UE-57514 Change 3996652 by Max.Preussner Messaging: Fixed delayed messaging using incorrect current time after message router sleep Based on https://github.com/EpicGames/UnrealEngine/pull/4601 Change 3996801 by Max.Chen Sequencer: Fix folder active state for non key area sections. Look at track node sections as well as key areas. #jira UE-57550 Change 3997098 by Matt.Hoffman Cleaned up some remaining ToDo's in STimeRange. Change 3998339 by Max.Preussner Sockets: Added documentation for socket receive functions Change 3998359 by Max.Preussner MediaUtils: Started to implement media recorder helper class Currently only supports BGRA frames in CPU memory. Supporting other formats and buffer types will require conversions on render-thread. I recommend refactoring out the existing conversion code in FMediaTextureResource into a reusable helper class in the MediaUtils module. This should be a good starting point though. Change 3998417 by Matt.Hoffman Keys and Sections can now be moved at the same time inside of Sequencer. Keys can now snap to Sections (and vice versa) instead of just to other Keys. Sections can now be duplicated like keys can. #jira UE-56995 Change 3998427 by JohnHenry.Carawon QAGame: Updating test content for the Movie Rendering feature. - Added an auto activate particle to the beginning of the sequence (it's not part of the sequence at all) - Added an event receiver blueprint to the Events example - Added a particle emitter to both sublevels - Added a camera cut to the end that switches to a separate camera - The camera zoom in, focus and Look At sections are all separate (not overlapping in the sequence) - Added a second actor for the camera Look At - Added a Visibility section for the Actor Hidden In Game track that has possessable and spawnable cube and light Change 3998537 by Max.Chen Sequence Recorder: Restore immersive mode when stopping the sequence even if not in PIE. #jira UE-56407 Change 3999809 by Matt.Hoffman Removed the "Go To" box from Sequencer and instead placed the current time as an always visible control. The previous shortcut (Ctrl + G) now focuses the new widget directly. #jira UESEQ-376 Change 4000543 by Christina.TempelaarL Sequencer: Moving editor-only code from runtime module MovieSceneCapture to editor module MovieSceneTools. Moved EDL and FCP XML exporters as well as Automated Level Scene Capture. #jira UESEQ-358 Change 4000706 by Matt.Hoffman Entering multiple time strings without a number no longer crashes Sequencer. #jira UE-57672 Change 4001051 by andrew.porter MediaFrameworkTest: Fixing up some image sources pointing to the wrong location Change 4001191 by andrew.porter QAGame: Adding some quick EDL/XML test content to dev folder Change 4001243 by Max.Chen Sequencer: Fix import EDL out of range. #jira UE-57665 Change 4001856 by Matt.Hoffman Selecting keys and sections at the same time now also works with animation and audio sections. #jira UE-57716 Change 4002021 by Max.Chen Sequence Recorder: Fix sequence name incrementing. If external recording sets the sequence name, use it. Otherwise, use the recording name from the recording group or the recording settings. #jira UE-57712 Change 4002618 by Max.Chen Viewport: Update the look at location when updating to a locked actor. This fixes an issue so that popping the view out of a locked actor and manipulating the view will not jump to the previous look at location. #jira UE-57725 Change 4002979 by Matt.Hoffman Fixes several edge cases with the end time range that was causing confusion about what the last frame of the sequence was. Dragging the End Frame slider will no longer be off by one tick and jumping to the end via the UI controls now properly respects snapping and stays inside the play range instead of falling outside of it. Overall behavior does not change though and End Frame should be considered an exclusive frame so that frames 0-150 results in a 150 frame long animation (which is frames 0-149). #jira UE-56367 Change 4003185 by Matt.Hoffman Fixed a regression that prevented a section from being dragged upwards past row 0 which normally resulted in all other rows moving down. #jira UE-57717 Change 4003193 by JohnHenry.Carawon QAGame: Updates to test content - Shortened frames between the examples from 95 to 30 - Separated camera setting tracks - Lighting example now switches directly from constant red - green - blue Change 4003369 by Max.Chen Sequence Recorder: Refresh next sequence regardless of internally stored sequence name. #jira UE-55757 Change 4003586 by JohnHenry.Carawon QAGame: Test Content Updates - Level Visibility track now ends to that the levels are not visible when we move to the next example - Shortened camera section, removed Z tranform so that we just move left to right and shortened the overall length Change 4004414 by Max.Chen Movie Scene Capture: Fix regression where rendering with shot handles would only render the first shot. 3972166 addressed an issue where an extra frame would be rendered by finalizing right when the end frame was reached. This was hit on the first shot end frame, so instead, do this only for when the last shot is being rendered. #jira UE-57314 Change 4004765 by Christina.TempelaarL Sequencer: Fixed bugs in FCP XML import/export. - Export: fixed sequence default resolution. - Export: fixed XML files with no shots. - Export: all sections clipped to playback range. - Export: fixed incorrect section start/end times due to precision issues. - Import: fixed incorrectly adding cinematic tracks. - Import: fixed bugs creating new sections. #jira UE-57660 #jira UE-57662 #jira UE-57655 #jira UE-57761 Change 4005119 by Max.Chen Sequencer: Export/import at play rate Change 4005195 by Max.Chen UMG: Finish UMG evaluation on stop. Added object version so that existing UMG assets do not change. #tests - Newly created UMG animation with sections set to restore state now return to their original state. Existing UMG animations with sections set to restore state do not return to their original state. #jira UE-52285 Change 4005377 by Michael.Karambelas QAGame: Moving TM-SequenceRecorder and related content out of my developer folder and into /Content/Sequencer/SequencerRecorder/* Change 4005417 by Michael.Karambelas QAGame: Fixed a BP compiler in the Level Blueprint of TM-SequencerRecorder. Change 4005634 by Michael.Karambelas QAGame: Fix up missing content and broken level sequence in TM-SequenceRecorder after move Change 4006324 by Max.Chen Sequencer: Reset if the focused movie scene is null. This fixes a crash if the user is focused in on a shot and undo takes the user past the point of where the shot was created. #jira UE-57752 #jira UE-47661 Change 4007006 by Max.Chen Sequencer: Fix FindAvailableRowIndex so that it returns the max row index (and not +1) since it doesn't find any conflicting rows. #jira UE-57717 Change 4007907 by Max.Chen Sequencer: Fix crash if there's no animation Change 4007948 by andrew.porter QAGame: added test content to dev folder for Record World Space Change 4008636 by Max.Chen Sequencer: Fix import fbx not setting values properly and creating additional cameras unncessarily. #jira UE-57864 Change 4008759 by Max.Chen Sequencer: Follow up fix for import cameras #jira UE-57864 Change 4009994 by Matt.Hoffman Dragging the left or right handles of the Time Range slider in Sequencer will now zoom your view in on the current center of the screen. This prevents the view from being translating as you tried to zoom in which caused issues at high zoom levels. #jira UESEQ-407 Change 4010169 by Christina.TempelaarL Sequencer: FCP XML fixes. - FCP XML export - no longer clips to playback range - FCP XML and EDL export - fixed missing last frame of some sections after exporting to Premiere. - Automated level capture, EDL export - use RoundToFrame instead of FloorToFrame for computing section start/end frames after frame rate conversion. #jira UE-57802 - partial fix, movie scene capture still needs to render full section rather than clip against playback. Change 4010287 by Mike.Zyracki Add quaternion interpolation option to UMovieScene3DTransformSection. This mimics how Matinee used to work by bascially finding the keys between a time and interpolating the angles as quat's between them. As noted in the code the algorithm needs to handle the case when the x,y,z Rotation keys all aren't at the same time which was not handled by Matinee. Also like Matinee, when in quaternion interoplation mode, we need to not display the function cuves since the interpolated and key values are now all different. (Would like to show them but that's a bigger refactor for perhaps just a one off needed by quaternions). I added a virtual function UMovieSceneSection::ShowCurveForChannel for this since it needs to be dynamic, not on construction of IKeyArea's, and could be useful for other sections. I could though move the method to just UMovieScene3DTransformSection and do a cast instead. Looked into doing a unit test for this but after talking with Andrew P we will work on doign an automated test in EngineQA since that will provide more coverage. Will also add a video the jira. #jira UESEQ-403 Change 4010713 by Mike.Zyracki Added option to key a group of transform channels instead of just the changed channel, or all of them. This is useful for quaternion interpolations where you want rotation keys to be aligned but also useful for other workflows like animating FK Pose to Pose. Change 4010715 by Andrew.Porter MediaFrameworkTest: Setting LogMediaUtils logging from VeryVerbose to Verbose to cut back on the spam Change 4013048 by Max.Chen Sequencer: Fix play/jump status. Update the player status for all position methods (Scrub, Jump, Play). Jump means Stopped. Correctly use PlayTo or JumpTo based on position method. In PlayInternal, JumpTo with the Stopped state (rather than playing state). #jira UE-57844 Change 4013479 by andrew.porter QAGame: Added content in TM-SequenceRecorder to test recording a property on a Cine Camera Component; Press 3 to trigger manual focus distance to increment on a timer Change 4014323 by Max.Chen Sequencer: Fix SetPlaybackPosition so that it jumps or plays based on playback status. #jira UE-57844 Change 4015888 by Max.Chen Sequencer: Fix crash on paste. UMovieSceneSections were gathered from the track node's track. For sub track mode, we want to gather only those sections on that track node row. #jira UE-57951 Change 4015943 by Max.Chen Sequencer: Fix moving shots up when the mouse pos goes outside of the virtual track area. #jira UE-57717 Change 4016293 by Max.Chen Sequencer: Fix relative frame playback end frame calculation so that custom start/end frames remain in the space of the sequence and are not relative. #jira UE-57308 Change 4017075 by Andrew.Rodham Sequencer: Corrected initial evaluation range used when calling UMovieSceneSequencPlayer::Play() Change 4017270 by Christina.TempelaarL Sequencer: FCPXML importer and movie scene capture - Use CeilToFrame when converting section start/end frame times to frame numbers in FCPXML and movie scene capture. - Added support for clip metadata in FCPXML. - Got rid of redundant TokenizedError message class, no longer needed now that FCPXML is in editor directory. - Added log messages currently commented out due to exception, still testing. #UESEQ-358 Change 4018370 by Christina.TempelaarL Sequencer: fixed FCPXML log messages regarding sections with start/end not divisible by display rate. #UESEQ-358 Change 4018378 by Christina.TempelaarL Sequencer: fixed error in previous changelist. #UESEQ-358 Change 4019457 by Max.Chen Sequencer: Show event names only when the event track is selected #jira UE-57897 Change 4022806 by Max.Chen Sequencer: Fix crash on movie scene capture dialog shutdown if movie capture wasn't even started. #jira UE-58106 Change 4022894 by Max.Chen Sequence Recorder: Wrap OpenEditorForAssets after sequence recording within GIsEditor #jira UE-58084 Change 4024487 by Max.Chen Sequencer: Add tooltip for quat interpolation #jira UE-58113 Change 4024562 by Max.Chen Sequencer: Change path/attach track sequence binding id to currently focused sequence id so that bindings can be created in subsequences Change 4027414 by JohnHenry.Carawon QAGame: Checking in content that shows a bug with using particles systems and Delay Before Shot Warm Up. Change 4028990 by Max.Chen Sequencer: Fix evaluate sub sequences in isolation. This check was added with the compile on the fly logic. Not sure why it was necessary but it seems like the sub sequence data needs to be updated in order to evaluate sub sequences in isolation. #jira UE-58184 Change 4029004 by Max.Chen Sequencer: Ensure that old binding references are removed when re-assigning actors in sequencer #jira UE-57898 Change 4030997 by JohnHenry.Carawon QAGame: Fixing name of the master sequence Change 4031785 by Michael.Karambelas QAGame: Added an instance of ThirdPerson Run to TM-SequenceRecorder for Record to Possessable test. Change 4035548 by Andrew.Rodham Sequencer: Changed FMovieSceneEvaluationTemplate::TemplateSignature to be a serial number to address non-deterministic cooking issues - This commit is related to the repro steps found in 3914599 and 3934307, both of which have been verified with this new change. - Copy of 4031684 from //Fortnite/Main/... #jira FORT-84852 Change 4036312 by Max.Chen Sequencer: Fix zoom view range so that it uses the passed in InZoomDelta Change 4036318 by Max.Chen Sequencer: Auto size now returns a range and defaults to the channel proxy range so that keyed regions can also be autosized. Change 4036322 by Max.Chen Forgot missing change Change 4036360 by Max.Chen Sequencer: Fix play rate calculation when skeletal animation section play rate changes. Change 4037163 by Mike.Zyracki Weighted Tangent Implementation Tricky thing is that you need to solve a cubic in order to get the bezier weights for the time part of the curve. See https://www.gamedev.net/forums/topic/474094-help-function-curves-for-animation-interpolation/ Maya provides an implementation in it's dev kit but I didn't use it since it was horribly slow and uses an iterative solution to solve the cubic needed. Instead I use an old algorithm (Cardano's method), to solve the cubic which should be much faster. Though relative simple to code from principles I just went ahead and used a version from Graphics Gems 1. I put this cubic solver directly in MovieSceneFloatChannel.cpp, but will need to move it when we support Rich Curve, maybe to FMath:: (which would probalby require some other functions for solving quartics, etc.. for completeness.). Also note we resolve this on every evaluation but dont' need to if the interval the time is evaluating hasn't had any change in values or tangents. So again when we support FRichCurve we can create a Weighted Evaluating class that can hold the cache. Also with the tangent drags I got rid of the Cardinal position that was used to calculate non-weight tangents from the key point and just quickly getting a direction. With weighted tangents we need to use the delta instead (otherwise when moving multiple they would all get the same weight based upon distance to the cardinal point. ) For mixed tangents types what I'm defaulting to non weighted if the interval doesn't match. May need to do weighted instead, not sure. What's left is just FBX import, for tomorrow. #jira UESEQ-76 Change 4037435 by Mike.Zyracki Fix fo build warnings from weighted tangent submission. #trivial Change 4038091 by Michael.Karambelas QAGame: Updated a Sequence Recorder group in TM-SequenceRecorder that had an actor missing the animation. Change 4038374 by Andrew.Rodham Sequencer: Refined scrubber styling for level sequences and actor sequences - Scrubber now shows a block the width of a dsplay rate frame, plus a line for the actual evaluated time. UMG reverts back to the previous styling (no block) - Keys that are outside of the playback range are now drawn with a subdued effect - Tick labels are no longer drawn when directly underneath the scrubber Change 4038490 by Max.Chen Sequencer: Expose tangent weight values in details panel. Change 4038620 by Andrew.Rodham Sequencer: Advanced time panel polish #jira UESEQ-426 Change 4038677 by Max.Chen Movie Scene Capture: Redirector for MovieSceneTools.AutomatedLevelSequenceCapture #jira UE-58248 Change 4039739 by Max.Chen Sequencer: Media track should only be supported by Level Sequence Change 4040024 by JohnHenry.Carawon QAGame: Fix EventReciever and OverrideBinding example The level sequence was set to none so the fix was to set it back to TrackEvaluation_Master. Change 4040610 by Andrew.Rodham Curve Editor: Moved weighted tangent switchers to a single toggle command (CTRL+W) and added an icon #jira 58383 Change 4040882 by Mike.Zyracki Keep broken when turning on weighted #jira UE-58435 Change 4041089 by andrew.porter QAGame: Sequence for Long Tangents bug Change 4041498 by Mike.Zyracki Turn off weighted when going auto to prevent large tangents. Do it both in UI and when doing AutoSetTangents() to really make sure it doesn't happen. #jira UE-58452 Change 4041752 by andrew.porter MediaFrameworkTest: Adding some better logging for setting rates when not supported. Also ignoring commiting URL when there is no text Change 4041896 by Matt.Hoffman The transform dialog box now transforms selected keys and sections, instead of just keys. #jira UE-58265 [CL 4044405 by Max Chen in Main branch]
2018-05-02 10:10:00 -04:00
const FFrameRate TickResolution = GetTickResolution();
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3946692) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3801826 by Max.Chen PR #4304: Level Sequence crash fix - Guarded against dereferencing null componen. (Contributed by DSDambuster) Change 3801828 by Max.Chen PR #4302: Movie Scene Visibility Template unitialised variable, causing random . (Contributed by DSDambuster) Change 3801837 by Max.Chen Sequencer: Delay spawning/construction for convert to possessable. This fixes a bug where property values would be lost when converting back and forth from possessable to spawnable. #jira UE-52400 Change 3801841 by Max.Chen Sequencer: Make spacer nodes not selectable. PR #4194: Improvements to Sequencer (Contributed by projectgheist) #jira UE-53117 #jira UE-52139 Change 3804183 by Max.Preussner MediaAssets: Added missing lock in media sound component Change 3805414 by Max.Preussner MediaAssets: Setting valid GUID when initializing media texture resource Change 3819578 by Max.Chen PR #4370: When enabling the "MovieCapture", do not turn off the Stereo-3D display. (Contributed by yehaike) #jira UE-53647 Change 3823414 by Max.Chen Curve Editor: Lock down the first and last keys in the redundant keys removal range so that they're unaffected. #jira UE-53591 Change 3826406 by Max.Chen Sequencer: Move OnStartedPlaying() to within first update in UpdateTimeCursorPosition(). This fixes an issue where setting the hud/player visibility was getting stomped on later. #jira UE-52772 Change 3827044 by Max.Preussner MediaAssets: Added sprite visualization to media sound component #jira UE-53594 Change 3827988 by Max.Preussner MediaPlayerAssets: Fixed Media Texture is not linked to Media Player when created together #jira UE-53532 Change 3828506 by Max.Preussner MediaPlayerEditor: Added attenuation visualizer for media sound components #jira UE-53594 Change 3832590 by andrew.porter EngineTest: Added a keep state check in Property Animation sequencer test Change 3833053 by andrew.porter EngineTest: Adding Hierarchical Bias test Change 3835683 by andrew.porter EngineTest: Adding UMG Animation screenshot test Change 3836076 by Max.Chen Sequencer: Fix audio volume and pitch multiplier deprecation. Change 3836230 by andrew.porter EngineTest: Adding Sequence Bone Position automation test Change 3836347 by Max.Chen Sequencer: Fixes to shot name parsing. When a shot doesn't contain a shot number, assume, [ShotName]_[TakeNumber]. When duplicating a shot, put the new shot in the same path of the original shot, so that the take numbers will increment properly. #jira UE-51868 Change 3836552 by Max.Chen Sequencer: Sub section now has a takes menu Change 3838094 by Max.Chen UMG: Fix template finish not getting called on stop. This fixes a bug where sections aren't restored when finished. #jira UE-52285 Change 3838708 by Max.Chen Sequencer: Add notification when the blend type is changed. #jira UE-54046 Change 3840295 by Max.Chen Sequencer: Fix copy/paste crash for lights #jira UE-54084 Change 3840957 by Mike.Zyracki Added Show Only Keyable and Show Only Animated to the filter list in the property editor. Added IsPropertyAnimated to IDetailKeyframe Interface which already had support for showing properties which are keyable (which is used for the key icon next to the properties.). Could have created another interface but then would have had to mimic the sequencer binding, releasing also, so this seemed best way. One issue still left is that custom built detail items currently don't store associated properties(usually) and so certain properties, in particulalry transforms, won't show up as keyable or animated. Note this also shows up with the keyable icon not showing up next to transform tracks, and other filters like Show Only Modified not working with transforms/customs. Not sure best way to tackle this. #jira UESEQ-328 Change 3841756 by Max.Chen Sequencer: Fix unbound possessable components when pasting spawnables. #jira UE-54104 Change 3843950 by andrew.porter EngineTest: Renaming LevelStreaming tests/content to LevelVisibility Change 3844082 by Mike.Zyracki Missing file for animated filter in property editor. When finding if a track is animated we need to find it but we can't easily induce the MovieTrack class for any particular property. So we don't set a class for it and just search by it's ID and name. #jira UESEQ-328 Change 3846902 by Max.Preussner ImgMedia: Fixed image media player never finished initialization if loading failed #jira UE-54247 Change 3849820 by Mike.Zyracki Reassigning deleted widgets didn't work since the menu extender mechanism needs a valid UObject in order to perform an operation on it. So to fix we replaced GetObjectBindingContextMenuExtender in WidgetBlueprint with new delegate mechanism (OnBuildCustomContextMenuForGuid) that supports FGuid in addition to UObjects which is needed to handle re-binding deleted widgets. Note that the default sequencer hacks this for replacing deleted actors in SequencerObjectBindingNode to check to see if a LevelSequence is active. We could move to this mechanism there also. #jira UE-53163 Change 3852211 by Max.Chen UMG: Indicate name of the property that is not bound. #jira UE-54350 Change 3854120 by Max.Chen Sequencer: Fix sibling folders being allowed to have the same folder name. #jira UE-54363 Change 3854627 by Max.Chen Sequencer: Step to next/previous key should work for all tracks if there aren't any selected. #jira UESEQ-391 Change 3855825 by andrew.porter EngineTest: Adding animation blending automation test Change 3855950 by andrew.porter EngineTest: Adding correct expected valuues to animation blending test Change 3856237 by Matt.Hoffman UESEQ-336 - Sequencer Track Reordering Adds the ability to re-order Master Tracks, Folders and Object Bindings within sequencer hierarchies (including UMG). Adds the ability to do a one-off sorting of the content under the old sorting behavior if the user wants to reset their layout to how it was under legacy behavior. Modifies SequencerTrackNodes, SequencerFolderNodes and SequencerObjectBindingNodes to handle CanDrop/OnDrop for above, below and ontop of. Fixes a Slate Issue that forcibly expanded a TreeviewRow if an item handled OnDrop. Slate will now only forcibly expand the row if the item says the drop happened ontop of the item, and not above or below it like it previously did. Change 3856503 by andrew.porter EngineTest: Adding automation test for using animation blueprint with blend multi node in sequencer Change 3857875 by Max.Chen Sequencer: Assign the sequence id after the template is compiled. #jira UE-54462 Change 3858344 by Max.Chen Sequencer: Prevent Goto and Transform boxes from overlapping by allowing them to be visible at the same time in an autosized horizontal box. Also, added close button to the goto box. PR #4425: Prevent Goto and Transform boxes from overlapping in Sequencer ... (Contributed by projectgheist) #jira UE-54210 Change 3860566 by andrew.porter MediaFrameworkTest: Set the option to index 0 for the audio and video track list by default Change 3860654 by andrew.porter EngineTest: Enabling Camera Cut + FOV test Change 3860981 by andrew.porter EngineTest: Updating skeletal mesh tests with a delay after set playback position Change 3861256 by Max.Chen Sequencer: Add all bindings if none selected. #jira-54440 Change 3862154 by Andrew.Rodham Added TimeManagement module Change 3862424 by andrew.porter EngineTest: Turned on the test Bone Positions with Blend Multi Node Change 3862573 by andrew.porter EngineTest: Adding test to compare bone positions in a sequence that is blending an animation that is using an AnimBP Change 3865117 by Max.Chen Sequencer: Stop auto scroll on mouse release of movement. #jira UE-31212 Change 3865303 by Max.Chen Sequencer: Add drag and drop transactions #jira UE-54662 Change 3865304 by Max.Chen Sequencer: Fix crash when an actor factory is not found. Change 3865361 by Max.Chen Sequencer: Don't change the camera/shot lock button when popping out of a sequence. #jira UE-54665 Change 3865412 by Max.Chen Sequencer: Determine whether a transform track is for a camera by using the spawned object or template #jira UE-54666 Change 3865685 by Max.Chen Sequencer: Clear autoscrub offset when stopping autoscroll #jira UE-31212 Change 3865886 by Max.Chen Sequence Recorder: Log an error if the number of frames changes while recording. This can happen if the skeleton changes while recording. #jira UE-48715 Change 3866925 by Andrew.Porter MediaFrameworkTest: Changing the current PNG test video image sequence to 1024 x 576 Change 3867705 by andrew.porter QAGame: Adding Audio Sort Sequence to dev folder Change 3867890 by andrew.porter QAGame: Adding a sequence for testing a sorting crash to my dev folder Change 3872628 by Max.Chen Movie Scene Capture: Split delay before warmup into split delay before shot warmup so that there's separate controls for when the movie scene capture warmups up vs. shot boundaries. Change 3873131 by Matt.Hoffman UE-54732 - Crash reordering a folder with a track. This was caused by folders being the only type of track to check if someone was putting a parent track into a child track. Object Binding tracks and Tracks now check as well so that you can't use the above/below drop targets to add parents as children. This also fixed a typo in the localization keys. #jira UE-54732 Change 3873301 by Mike.Zyracki Added ability to support continous euler angle changes when changing rotations, in particularly with the rotation gizmo's. To do this we effectively added a form an of 'euler filter'(https://en.wikipedia.org/wiki/Euler_filter) to find the closest euler angle to the current euler angle. Three functions were added to FRotator to make this possible, one to get the euler angle that's has the same rotation as it, one to get the difference between two euler angles via Manhattan distance and a third using the previous two to choose a Rotator value that's closest to it. We then use these functions before calling UComponent::SetRelativeRotation to make sure we use the correct Euler after the Quat conversion. We also no longer limit(bound) the euler angles to -180,180, which is obviously necessary to avoid flips. I also changed how we caluclate yaw and roll when pitch is -90 or 90 to make it the standard approach of zeroing out roll and just setting yaw. Main reasons are the previous implementation had precision issues so things like 180, 90, -180 would show up due to numbers being nearly zero but negative,(this would break any smooth interpolations), and this facilitates having a 'gimbal' rotation mode (like Maya, Blender etc..) if we ever want that also. If needed we could keep the previous implementation but would need to add some FMath::IsNearlyZero checks, with less performance. Note we only do this special filtering when applying delta's to actors or components in the editors, which then call UComponent::SetRelativeRotationExact, which is a new function to foces the RelativeRotation to be equal to the new rotation. This allows us to store un-nomalized Rotators at the cost that the RotationCache may be broken. We didn't change any of the other UComponent functions that set rotations (via Quats or Transforms) so they will still be bounded and unwound. In SetInternalWorldLocationAndRotation we only set the rotation if the rotation has changed, which fixes the rotation getting changed and re-normalized if just translate happens. In TransformTrackEditor, we correclty use the bUndwing flag and in MovieScene3DTransformSection there was an un-needed winding check there, it will be unwound earlier if needed, which happens if Sequence Recording is happening. Max we should talk about what to do about this . Note the euler angle drag via the widget is still bound to 0-360. I think we should just unbound that now since the rotations value are now unbound. This review now includes fixes suggested by Zak. #jira UE-UE-22228 Change 3873483 by Matt.Hoffman Sequencer Tracks can now be inserted above the spacer at the bottom of the tree. #jira UE-54706 Change 3873899 by Max.Chen Sequencer: Add section selection throbbing Change 3873908 by Max.Chen Movie Scene Capture: Added logging per frame Change 3873924 by Matt.Hoffman Adds the ability to store Sequence Recorder setups into profiles that stay with the map and can be re-loaded later. Profiles store the Actor Recordings so the settings for each actor should carry with them. #jira UESEQ-339 Change 3874726 by Matt.Hoffman Disable drag-and-drop targets on spacers that come between rows in Sequencer. This prevents extra drag/drop targets showing up between each row. #jira UE-54706 Change 3874862 by Matt.Hoffman Audio Track no longer gets reordered when adding sub-audio tracks, as sub-tracks are no longer counted towards the sorting order index when normalizing indexes. #jira UE-54727 Change 3875905 by Matt.Hoffman Disable Fade Track UI if a fade track already exists in the sequence. #jira UESEQ-393 Change 3876163 by Max.Chen Sequencer: Swap the camera object to the camera component's owner if it's not the same. #jira UE-54874 Change 3876971 by Andrew.Porter EngineTest: Moved Media Player Seek test to new folder. Also enabled the test with new ground truth image. Change 3877040 by Max.Chen Cine Camera: Split camera properties to two groups, "Camera Options" and "Camera Settings". The cine camera now hides properties in the "Camera Settings" group so that properties like bConstrainAspectRatio (in the "Camera Options" group) can be visible. #jira UE-54192 Change 3877763 by Max.Chen Curve Editor: Fix curve changed on end drag so that only curves that had keys/tangents that were changed receive notification, otherwise all loaded curves were getting notified that they were changed. #jira UE-54951 Change 3878234 by Matt.Hoffman Disable "Drop Below" targets for Sequencer Tree nodes to prevent a confusing UX issue where dropping underneath a Object Binding Node puts it after the object binding node but the UI looks like it's inserting it inside the Object Binding node. #jira UE-54743 Change 3879359 by Mike.Zyracki If a track is inactive we dim it a bit which seems to be the UE4 way to show inactive or disabled state. We changed the active logic so that all subtracks need to be inactive for the track to also be inactive(instead of all active for active). This conforms to how the active state actually works, e.g if you have two sections and only one is active the track is still active above it. #jira UESEQ-388 Change 3879462 by Max.Chen Sequencer: Allow dragging onto a particular row which would move out any overlapping sections to make space for the newly created section. Newly created sections are now selected and throbbed to draw attention to themselves. #jira UE-54664 Change 3879464 by Max.Chen Sequencer: Fixed overlapping ranges being inserted into the evaluation field during compilation - The issue was that track segments that had been combined with adjacent segments (due to them being identical) would potentially cause a subsequently compiled frame to overlap with a range that had already been inserted into the evaluation field. - The insertion code previously asserted that only minor overlaps were catered for (due to fp rounding errors) and assumed that a supplied range could not entirely contain any other range in the field. - The solution is to supply the insertion time along with the range to know exactly where the data should live in the field, and crop the range to the maximum allowable space between adjacent ranges. #jira UE-54922 Change 3879590 by Matt.Hoffman Items that are now added to the Sequencer via the "+Track" menu will be selected after being added. Items can now be added inside of folders instead of just to the root level. #jira UE-27397 Change 3879612 by Mike.Zyracki Display Nodes with no children are always active. #jira UESEQ-388 Change 3879730 by Matt.Hoffman Sequence Recorder's actor recording groups now remove items from the group when removed via the UI. #jira UESEQ-339 Change 3880256 by Mike.Zyracki Fix issue with inactive display with folders and other track nodes. #jira UESEQ-388 Change 3883491 by Max.Chen Fix issue where tick is skipped due to last ticked pose isn't cleared after AnimInstance changes. Copy from Release-4.19 #jira UE-51323 Change 3883603 by Max.Chen Movie Scene Capture: Add option toggle disable screen percentage. By default this is on (no change in current behavior). #jira UE-51898 Change 3885074 by Max.Preussner MediaCompositing: Resetting media texture & freeing resource on section end; removed dead code Change 3887220 by Max.Preussner MediaCompositing: Defaulted media section duration to 1 sec (since we do not know the actual duration in most cases) Change 3887478 by Matt.Hoffman Sequences now show [Inactive] in their title bars when they're disabled. This helps communicate why a sequence isn't being evaluated. #jira UE-51469 Change 3888985 by Max.Chen Movie Scene Capture: Clamp HDR Compression Quality between 0 and 1. #jira UE-55136 Change 3893519 by Max.Chen Sequence Recorder: Clarified tooltip for bRecordNearbySpawnedActors - spawned actors will still be recorded if they match the ActorFilter. #jira UE-55238 Change 3893546 by Max.Chen Sequence Recorder: If a selected actor already has a recording, add a blank recording. #jira UE-55239 Change 3894044 by Max.Preussner MediaCompositing: Added support for seeking into a media section Change 3894310 by andrew.porter MediaFrameworkTest: Adding Img media sources for 1080 and 2160 ravent test content Change 3894426 by Max.Preussner MediaAssets: Letting media textures with AutoClear retain their clear color when player is reset Change 3895717 by Max.Chen Sequencer: Null checks to prevent crash when saving the default state of a spawnable #jira UE-55304 Change 3897388 by Max.Chen Sequencer: Don't update current time to be within the view range when stepping into a sequence. #jira UE-55322 Change 3897452 by Max.Chen Audio: Fix crash when trying to record audio without any active capture devices. Log warning if the number of input channels is not 1 or 2. #jira UE-55223 Change 3897619 by Max.Preussner MediaCompositing: Removed commented out code Change 3898072 by Max.Chen Sequencer: Override the animation asset in the player state if it doesn't match the animation asset that's being evaluated. #jira UE-55328 Change 3898272 by Max.Preussner MediaPlayerEditor: Made slate brush constants static Change 3898704 by Max.Chen Sequencer: Skip if the binding id's sequence can't be found. #jira UE-55337 Change 3899855 by Max.Preussner MediaCompositingEditor: Added cache state visualization to media track Change 3900300 by Max.Preussner MediaCompositingEditor: Added loop indicators to media sections Change 3900694 by Max.Preussner ImfMedia: Looping cache only when player is looping Change 3900892 by Max.Preussner Stats: Added stats category for media framework Change 3900954 by Max.Preussner MediaCompositing: Don't evaluate at the end of media section Change 3901348 by Max.Preussner Core: Replaced TLruCache autos for better readability Change 3901655 by Max.Preussner ImgMedia: Added more perf stats to EXR reader Change 3901972 by Max.Preussner MediaAssets: Added getter for media player in media sound components Change 3902233 by Max.Preussner MediaAssets: Enabling media textures to receive samples right after player is assigned Change 3902238 by Max.Preussner MediaCompositing: Working around init/shutdown idiosyncracies in sequencer Change 3904045 by Max.Chen Sequencer: Fix copy/paste crash. Only process UMovieSceneCopyableBinding and objects that can be spawned by the movie scene spawn register. #jira UE-55314 Change 3905605 by Max.Chen Sequencer: Restrict spawnables from being created if they have a ClassWithin that UMovieScene is not a child of. #jira UE-55429 Change 3906550 by Max.Chen Sequencer: Add media track icon #jira UE-55480 Change 3907101 by Max.Chen Sequence Recorder: Fix bugs related to not recording a level sequence. There were certain assumptions that creating a level sequence meant that sequence recording was in progress. This is not always the case - the recorders can record animation assets and not create a level sequence. Changed the notion of IsRecording() to having at least one actor recording that is recording. Countdown timer, recording displays, etc should function if IsRecording() and not based on whether a level sequence is created. #jira UE-55485 Change 3907247 by Max.Chen Sequence Recorder: Fix crash not removing PrepareToCleanseEditorObject delegate. Repros when opening sequence recorder, closing it, and then opening or creating a level. Change 3910343 by Max.Preussner Core: Added async helper for executing functions on a given thread pool Change 3910346 by Max.Preussner ImgMedia: Added separate thread pools for loading/decoding and deleting image frames Change 3910829 by Max.Preussner Profiler: Increased visible range of profiler graph Change 3910841 by Max.Preussner MediaCompositing: Displaying asset name instead of full media source path in media section Change 3910870 by Max.Preussner ImgMedia: Using deallocation thread pool only in debug builds Change 3919642 by Max.Chen Sequence Recorder: Clarify active tooltip #jira UE-55661 Change 3919660 by Max.Chen Sequencer: Sequence template source signatures are now also compared to catch the case where a sub-sequence asset has been saved but not modified - The following sequence of events exposes this issue: - Create a master sequence with a single shot that spawns a cube - Add this sequence to a level and set it to auto-play - Save everything and restart - Resave just the inner shot asset without opening it - PIE - The inner shot never spawns its cube because its template was wiped on save, but its signature never changed. Since the master sequence previously didn't check the template source signature, it ends up trying to evaluate an empty template. #jira UE-55626 #jira UE-55490 Change 3921825 by Max.Chen Sequencer: "Run Construction Script in Sequencer" is off by default for blueprints but on for Sequencer. This allows the content author to switch it on for specific blueprints and sequencer will be default, run those with construction scripts enabled. Change 3922232 by Max.Chen Sequence Recorder: Reset countdelay on stop. #jira UE-55755 Change 3922306 by Max.Chen Sequence Recorder: Don't automatically mark transforms to be recorded by sequence recorder. Instead, log a warning if the user toggled it off to warn that the resulting animation might not match gameplay. #jira UE-55758 Change 3922912 by Max.Chen Sequence Recorder: Fix refresh next sequence name #jira UE-55757 Change 3927654 by Max.Chen Movie Scene Capture: Added format mapping for the name of the current camera #jira UE-55769 PR #4537 Change 3927658 by Max.Chen Sequencer: Added fbx property mapping for "FocusDistance" to "FocusSettings.ManualFocusDistance" #jira UE-55782 Change 3932022 by Max.Chen Sequencer: Add import animation track section to next available row index. #jira UE-55892 Change 3933919 by Max.Chen Sequencer: Jump to playback start frame and not 0 to start playback for recording. #jira UE-55933 Change 3934307 by Andrew.Rodham Sequencer: Add template signature that is re-generated every time the base template is regenerated, which invalidates evaluation fields This fixes an issue where the same sequence is instantiated multiple times in a sequence. If the source sequence was saved, its template would be wiped, which would invalidate the template ID When an instance tries to evaluate the master template, it would only invalidate a range in the evaluation field that was the hull of any invalid sub sequences overlapping the current time, potentially leaving invalid data in the evaluation field at positions later (or earlier) on in the sequence When the sub template was re-generated, it receives the same SequenceSignature as it had before (because the sequence hasn't actually changed), which causes the stale evaluation field data to fail the IsDirty check (because the sequence is the same as it thought, but the *template* has changed) This has been addressed be adding a signature to templates themselves, and checking both the template signature and sequence signature as a part of the IsDirty check. This ensures that we regenerate if either the template, or the sequence have changed. #jira UE-55934 Change 3936327 by Andrew.Rodham Sequencer: Removed increment when trimming right UMovieSceneSection::TrimSection already explicity assigns an exclusive bound to the time passed in. The new behavior means we can trim a section to the right, and insert another section without changing the time to create adjacent sections. #jira UE-42652 Change 3936328 by Andrew.Rodham Fixed KeyFrameManipulator assignment operators and copy/move constructors - These types are potentially self-referential so cannot use default constructors/assignment Change 3936330 by Andrew.Rodham Converted UMGSequencePlayer to use frames internally #jira UE-54878 Change 3936726 by Max.Chen Sequencer: Set track node as the parent of the key area node. The key area switcher needs the object binding id from the parent object binding node. Without this, the binding to the external value fails. #jira UE-55931 Change 3936775 by Max.Chen Sequencer: Should stop or loop should compare DurationFrames with Current Time from StartTime. The bug is that if you set 30 warmup frames in movie rendering for a range of 0-100, the FrameRange will be starting at -30 and have a duration of 130. Without this fix, the playback will continue until frame 130, rather than 100. #jira UE-55933 Change 3936935 by Matt.Hoffman Easing Curves are now represented in Play Rate resolution instead of internal resolution. #jira UE-55937 Change 3937069 by Matt.Hoffman Users can toggle if the is infinite on each side, limited by which tracks support infinite ranges. #jira UE-55891 Change 3937516 by Max.Preussner ImgMedia: Added support for single-threaded platforms #jira UE-55986 Change 3937826 by Max.Preussner MediaAssets: Disabling media sound components on HTML5 if AudioMixer is not enabled Change 3937997 by Max.Chen Curve Editor: Add Zoom to Fit Curves so that selected curves from Sequencer can be focused on. Tested that undo doesn't re-zoom. #jira UE-55935 Change 3938000 by Max.Chen Sequencer: Stop all sounds before generating audio waveforms. #jira UE-55951 Change 3938376 by Max.Preussner XGEController: Disabled XGE Controller in single-threaded apps to prevent crash Change 3938444 by Max.Preussner Core: Added async support for single-threaded applications Change 3938445 by Max.Preussner Networking: Added support for single-threaded applications in UDP socket sender/receiver Change 3938447 by Max.Preussner Messaging: Added support for single-threaded applications Change 3939432 by Max.Chen Sequence Recorder: Append command list to global level editor actions so that shortcuts are accessible in level editor. #jira UE-55798 Change 3940229 by Andrew.Rodham Added prospective display rate upgrade to UMovieScene::PostLoad - There was previously some very odd behaviour that would assign the fixed frame interval only when a sub sequence was focused in SSequencer. This meant that many sequences could have a frame interval of 0 set in the data. - Under the old method of snap interval display this would have fallen back to getting the display interval from the sequencer settings, but we no longer look at these. - The USequencerSettings properties have been removed and in their place, a prospective data upgrade for sequences that have a fixed frame interval old 0fps that sets the play rate to the previous defaults based off the old USequencerSettings defaults. - This could end up 'changing' the display rate for sequences where the user has changed the snap interval in the settings for a particular sequence editor, but there's not much we can do about that given we don't have access to the USequencerSettings classes in UMovieScene #jira UE-55919 Change 3940277 by Andrew.Rodham Sequencer: Added ability to default frame resolutions and play rates for newly created actor sequences Change 3940378 by Andrew.Rodham Sequencer: Post move import dialog now defaults to the playback framerate of the sequence, and floors to frame numbers Change 3940559 by Andrew.Rodham Reinstated primed or recording sequence color Change 3940642 by Max.Preussner ImagePlate: Removed image plate media playback functionality Change 3940843 by Max.Preussner Core: Made TCircularQueue actually thread-safe; improved code comments Change 3940860 by Max.Chen Sequencer: Changed StructNameToKey to StructPathToKey Previously, keying a PropertyPath of [RenderTransform][Shear][X] would get trimmed to X, which doesn't map to a channel name as considered by Sequencer2dTransformTrackEditor. Instead, trim the resulting property path to [Shear][X] so that track editors can determine the desired struct path and channels to key. #jira UE-52966 Change 3941292 by Mike.Zyracki Fix for trajectories out of range not showing up. 1) If we had no key data we would pop the time, so wouldn't get the section ranges. 2) Calculating of upper bound was wrong, checking against -1 and not key == num of keys when doing algo::lower_bound. 3) No need to do the Bck-- for the bakward iterators since we fixed #2. We start now from the upper bound correctly. 4) If we had no keys (at section start,end) we would incorrectly say we were any key type, so since we draw constant keys as dashed we would do so incorrectly around section end points. #jira UE-55929 Change 3941424 by Max.Chen Curve Editor: Change Zoom to Fit to use TArrayView Change 3941498 by Max.Preussner Core: Added FMath::DivideAndRoundNearest function Change 3942097 by Matt.Hoffman Drop Frame Timecode Support for NTSC rates. Change 3942104 by Matt.Hoffman Sequence Recorder Group is no longer visible inside the World Outliner after using one. #jira 55266 Change 3942107 by Max.Chen Sequencer: Resurrect logic to find or extend an existing section when adding keys. Change 3942330 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942339 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942507 by Andrew.Rodham Sequencer: We no longer pad the time overlap threshold with a small number that is not scaled by the current zoom level - The presence of this pad was causing keys that were far apart to be grouped when zoomed in a long way Change 3942509 by Andrew.Rodham Sequencer: Only pad total view range, rather than section range as well when retrieving keys to render - This stops us from rendering keys that are within the view range, but outside the section range Change 3942512 by Andrew.Rodham Added transactions to some sequencer details customizations Change 3942513 by Andrew.Rodham Sequencer: Reinstated validation checks to UMovieSceneSection::SetStartFrame and SetEndFrame, changed erroneous uses to use SetRange Change 3942560 by Andrew.Rodham Pass by rvalue reference to appease error C2719 on Win32 ('InChannels': formal parameter with requested alignment of 8 won't be aligned) Change 3942697 by Andrew.Rodham Newly Created Level Sequences and Actor Sequences now default to 24000 fps frame resolution (+/- ~24hrs range, supporting all integer rates + 23.976) Change 3942700 by Andrew.Rodham Sequencer: Added legacy out-of-bounds errors for times that are not supported by the current legacy upgrade frame resolution Change 3942989 by Max.Preussner Core: Fixed circular queue count calculation Change 3943538 by Max.Preussner MediaAssets: Reverted workaround for procedural audio log spam in HTML5 (Actor component initialization cannot be skipped if the component is used in a level) Change 3944071 by Max.Preussner QAGame: Fixed Media Texture keeps last frame of Media when PIE ends #jira UE-53360 Change 3944292 by Max.Chen Sequencer: Added extra flags to ensure that asset initialization does not occur on template actor sequences #jira UE-56113 Change 3944364 by Max.Chen Sequencer: Prevent circular shot/master tracks. Tested adding master -> child -> master as drag and drop cinematic shot tracks and sub tracks as well as through the + button. #jira UE-56091 Change 3944422 by Max.Chen Sequence Recorder: Disable transform recording if off. #jira UE-56061 Change 3944745 by Andrew.Rodham Sequencer: Key rendering fixes - Fixed assert that occured when keys happened to reside on some times due to KeyTime + TimeOverlapThreshold - KeyTime being slightly larger TimeOverlapThreshold - Fixed keys sometimes being clipped when zoomed right in due to lack of half-frame offset - Added missing documentation to MovieSceneTimeHelpers.h #jira UE-56107 Change 3945231 by Andrew.Rodham Sequencer: Reconstruct channel proxy on Serialize to catch all cases of undo/redo, PostLoad and duplication #jira UE-56089 Change 3945301 by Andrew.Rodham Sequencer: Added safety checks during initial sequence recording to guard against applying negative or 0-sized sequence ranges #jira UE-56125 Change 3946627 by Max.Preussner Fortnite: Fixed game crashes closing editor while in PIE - Pure virtual function being called #jira UE-56144 [CL 3946896 by Max Chen in Main branch]
2018-03-14 22:09:33 -04:00
const bool bLockedPlayRange = TimeSliderArgs.IsPlaybackRangeLocked.Get();
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 4044339) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3947021 by Max.Chen Sequencer: Don't preserve root component when copying object properties. A spawnable empty actor, has a root component that is generated by the empty actor factory. If the object template's root component is preserved when copying from the spawnable empty actor, the root component will not be copied over. Therefore, we need to NOT preserve the root component when copying object properties. #jira UE-55825 Change 3947366 by Max.Preussner WmfMedia: Better log output Change 3947367 by Max.Preussner MfMedia: Better detection of compressed format properties on Windows Change 3949102 by Max.Chen Sequencer: Remove SequenceActorTag when converting to possessable. #jira UE-56206 Change 3949207 by andrew.porter EngineTest: Set the screenshot nodes resolution to 1280x720 Change 3949404 by Max.Chen Sequencer: More informative tooltip for "Rerun Construction Scripts" option. It now says "Rerun construction scripts every frame on actors that have 'Rerun Construction Script in Sequencer' enabled in their class settings". Change 3950067 by Matt.Hoffman Renamed UAutomatedLevelSequenceCapture's StartFrame and EndFrame to CustomStartFrame/CustomEndFrame to reflect that it is user-overriden. This will also resolve upgrade issues due to the variable datatype changing. #jira UE-56189 Change 3950193 by JohnHenry.Carawon Updating my latest MovieRendering test content. Change 3950757 by JohnHenry.Carawon More updates to MovieRendering test content Change 3952059 by Max.Chen Resave LevelVisibility_SubLevels to fix data loss conversion warning of OpacityMaskConstant #jira UE-56086 Change 3952283 by Max.Chen Sequencer: Disable dropping level sequence assets as spawnables. #jira UE-56120 Change 3952422 by Max.Chen Sequence Recorder: Add button to record from the current player. #jira UE-55942 Change 3952987 by JohnHenry.Carawon MovieRendering Test Content - Fixing camera bindings and changing the override binding actor Change 3953823 by Mike.Zyracki Fix for Bad FBX Import Tangents not scaled by frame rate. After looking at this again it seems that a set of MovieScene:: overiddes for the channel traits wasn't set correctly, so use the ADL idiom to use MovieScene, which can then call Optimize in the correct namespace. With this we can now correctly use the passed in tolerance. There was also a redundant set of Optimize calls so that it could happen twice so removed them, and needed an extra check in the float channel Optimize. Also since we need to set auto tangents no matter if we optimize we don't set that parameter(though leave it since it's used by context menu key reduction). Finally fixed speed issue with trajectories caused by calculating way too many substeps. Reverted back to a time based step size for consistency. #jira UE-56193 Change 3954317 by Matt.Hoffman Adding a key to the last frame of a section no longer causes a crash. Keys can already be moved to be on the last frame of a section so now you can just add a key there directly. #jira UE-56255 Change 3954326 by Matt.Hoffman Dilating a section that is only infinite on one side no longer causes a crash. #jira UE-56260 Change 3954486 by Max.Chen PR #4580: Exposes IsReversed() from UMovieSceneSequencePlayer (Contributed by alanedwardes) Change 3955238 by Max.Preussner Messaging: Enabled delayed message routing https://github.com/EpicGames/UnrealEngine/pull/4574 #jira UE-56247 Change 3955901 by Max.Preussner MediaFrameworkTest: Added developer test for overriding desired media player plug-in at runtime. Change 3955922 by Andrew.Porter QAGame: Updating movie rendering content in dev folder Change 3956004 by andrew.porter QAGame: Adding MPC track to movie rendering test content Change 3956510 by Max.Chen Sequencer: Fix fbx camera import of static properties so that they are imported before default tracks are created. Otherwise, the default tracks inherit the default properties of the camera, rather than the values from the fbx. #jira UE-56311 Change 3957613 by Max.Preussner MediaUtils: Added code documentation to media player facade Change 3958005 by Max.Preussner MediaUtils: Added method to get number of sinks Change 3958934 by Max.Chen Sequencer: Fix keys getting added and sequence getting erroneously re-evaluated when auto key is off. Only apply defaults if there are no keys. Only modify the movie scene section before creating keys or setting defaults. #jira UE-55903 Change 3959687 by Andrew.Rodham Sequencer: Fixed visibility track external values being inverted #jira UE-56324 Change 3960507 by Max.Preussner Core: Fixed incorrect rounding in FMath::DivideAndRoundNearest Change 3962047 by JohnHenry.Carawon MovieRendering Test Content Changes: - Add Lightmass Importance Volumes to sublevel to fix warnings - Rebuilt Lighting - Add a third sequence for Gamut testing - Resaved the sound master.uasset to fix warning Change 3962211 by Mike.Zyracki Add Frame Numbers to selected animation sections. Added MapTimeToAnimation to MovieSceneSkeletalAnimation so that we could get it from the Skeleton Animation track Editor. Since the thickness of the frame line can change based upon frame rate and zoom we need to calculate it similarly to how the time slider controller does it. Those calculations were private so we had to expose FScrubRangeToScreen and GetScubberPixelRange from the TimeSliderController. Also needed to know if the section itself was selected so added a bIsSelected flag to the section Painter. Also fixed a bug where you couldn't add a section if other sections existed at different times in MovieScenePropertyTrack and could crash due to the check(). #jira UESEQ-395 Change 3962497 by Max.Preussner Core: Added new string formatting argument to FTimespan Change 3963662 by Max.Chen CineCamera: Flip VistaVision width and height. Change 3963731 by Max.Preussner MediaCompositing: Implemented sequence recording support for media track Change 3964195 by Andrew.Rodham Sequencer: Set inverted property correctly for newly created visibility track sections - Also clamp evaluation for key editors to the bounds of the section so we're not displaying values outside of the section bounds when the cursor is not on the bounds #jira UE-56324 #coderevew Max.Chen Change 3964196 by Andrew.Rodham Sequencer: Fixed crash when attempting to render sections that resulted in a negative intersection with the view range Change 3964275 by Andrew.Rodham Sequencer: Fixed MovieScene::ClampToDiscreteRange for infinite range bounds Change 3964364 by Andrew.Rodham Curve Editor: Reduce minimum vertical view range when zooming to fit Change 3965091 by Max.Chen Sequencer Recorder: Refresh next sequence if empty when starting a recording, otherwise, use existing name. #jira UE-56469 Change 3965148 by Max.Chen Sequence Recorder: Move Record to Possessable to "Actor Recording" group Change 3965162 by Max.Chen Sequence Recorder: Always break out of immersive mode when done recording, even when stopping recording during countdown. #jira UE-56407 Change 3965214 by Max.Preussner QAGame: Enabled ImagePlate plug-in Change 3965574 by Max.Preussner SimpleComposure: Reorganized & upgraded content to work with new Media Track #jira UE-56488 Change 3965651 by Max.Preussner MediaCompositing: Ignoring seek-on-open if media not seekable Change 3966075 by Christina.TempelaarL Sequencer: Added Final Cut Pro 7 XML Export functionality #jira UESEQ-358 Change 3966087 by Matt.Hoffman Adding a single key to the Particle Toggle track now makes an infinite range section that is displayed in the UI. #jira UE-56295 Change 3966547 by Andrew.Rodham Sequencer: Fixed rounding errors when drawing the section background on boolean sections - Logic was using time in sectonds which caused rounding errors on evaluation and flickering red/green stripes when dragging keys around #jira UE-56324 Change 3966563 by Andrew.Rodham Curve Editor: Key editor interface improvements - SKeyEditInterface has a few problems - it does not update in real time when editing properties, and does not support multi-edit which makes it unsuitable for use with the curve editor - We now take a different approach for editing keys by gathering a set of proxy UObjects for each key that is currently selected. These objects are added as top level objects to the details panel which means they support multi edit as you'd expect from any other details panel in the editor. - Proxy objects are updated every tick for the curve editor if they implement the ICurveEditorKeyProxy interface, which allows them to refresh their current value. - Ideally, the same mechanisms would be used in the main sequence interface, and we would be generating the proxy classes at runtime based on the key value type, but that work remains a separate task from this initial offering. #jira UE-56165 Change 3966564 by Andrew.Rodham Curve Editor: Expand to frame when adding or moving keys in the curve editor Change 3967051 by andrew.porter MediaFrameworkTest: Set the CameraPlayer_Video texture to auto clear Change 3967141 by Andrew.Rodham Sequencer: Keep track of spawned objects that have been modified and only re-save such object's default spawnable state on destruction - Now that we're taking this approach, I've remove serveral redundant bits of functionality in the spawn register such as making some spawnables read-only, and the PreSave binding for Sequencer. - We now hook into all object pre-saves to make sure we handle the case where the sequences are saved through the content browser or elsewhere. #jira UE-47686 Change 3967170 by Andrew.Rodham Sequencer: Added the ability to possess anim instances as object bindings - This allows full and direct animation of properties on UAnimInstance, and animation blueprints - Object Bindings are made by first possessing a skeletal mesh component, then choosing the + Add button where its anim instance will be listed - Added a new function to UMovieSceneSequence to gather previously cached objects that should now be invalidated. Anim instances will be re-resolved if a new UAnimInstance is assigned to USkeletalMeshComponent::GetAnimInstance. - ObjectBindingIDs for anim instances are just represented by an entry in a set of GUIDs. We only ever resolve such bindings through USkeletalMeshComponent::GetAnimInstance. - Only currently supported on LevelSequences #jira UE-56132 Change 3967195 by Max.Preussner Core: Updated TRangeSet to use TCallTraits Change 3967345 by JohnHenry.Carawon Test Content Changes - first iteration of spacing out the examples in the shots. Change 3967572 by Max.Chen Sequencer: Fix setting PreviousPlayEvalPosition until after we've tested whether it's set. #jira UE-56518 Change 3967750 by Max.Chen Audio: Set duration based on number of input channels, rather than number of channels to serialize. This fixes an issue where audio split into 2 channels is set to a duration that's twice as long. #jira UE-56430 Change 3967836 by Max.Chen Sequencer: Allow for animating array elements within ustruct properties #jira UE-55887 Change 3968506 by Matt.Hoffman Fixed ambiguous conversions for seconds and frames being overriden by ambiguous conversion to Timecode (in frames). Change 3968748 by Max.Chen Sequencer: Make the event properties submenu widget larger. #jira UE-55557 Change 3968862 by Max.Chen Sequencer: Recursive expansion when shift is down #jira UE-52139 #pr 4194 Change 3968863 by Max.Chen Sequencer: Bind rename command to selected track so that F2 shortcut start renaming #jira UE-52139 #pr 4194 Change 3968872 by Max.Chen Sequencer: Rekey the selected key at the current time. #jira UESEQ-396 Change 3968938 by Max.Chen Cine Camera: Add option to toggle the behavior of locking the rail mount to the orientation of the spline. By default, the option is off, no change in behavior. #jira UE-55815 Change 3968958 by Andrew.Rodham Sequencer: Consider vertical position when hittesting keys #jira UE-56256 Change 3969643 by Max.Preussner Core: Rounding timespans created from double values towards nearest ticks Change 3969646 by Max.Preussner MediaUtils: Implemented timeout mechanism for block-on-fetch feature Change 3969776 by Mike.Zyracki Added Skip Anim Notifiers Toggle per what was in Matinee. Investigated the Enable Root Motion toggle as also discussed but it's implementation is directly contained by the animation asset and unlike animation notifies there seems to be no exposure to interactively disable it during a playback tick. Note if we are generating thumbnails we still automtically disable notifies in the editor to avoid annoying noise playback. Note that if Enable Root Motion/Root locked is specified in the animation asset it does correctly effect the Sequencer. #jira UESEQ-399 Change 3969835 by Matt.Hoffman Playback Range and Selection Range use unified logic for adding themselves as potential snap locations which properly handles inclusive/exclusive bounds. This resolves an issue where having an unset selection range caused a potential snap location to be added on frame 0 and 1 (internal resolution) which caused a misalignment when placing objects near frame 0. This also removes the one frame offset on setting Selection Range to bring behavior inline with other ranges. #jira UE-55420 Change 3969885 by Max.Preussner MediaAssets: Don't register media player CDO with media ticker Change 3971129 by Andrew.Rodham Sequencer: Fixed UMovieSceneSequencePlayer::GotToEndAndStop() not taking into account for start time This is a remnant from when the times were always specified in 0-duration space, rather than actual sequence times. Change 3972056 by JohnHenry.Carawon More updates to Test Content. I continued spacing out the examples in the sequence so that they have a consistent number of frames between each example and during the start/end of the example. Also removed the Marcie sublevel. Change 3972066 by Andrew.Porter MediaFrameworkTest: Setting Marcie folder to be never cooked in package settings Change 3972675 by Matt.Hoffman Splitting Subsequence Sections no longer sets an incorrect playback range on the subsequence when the subsequence has a different internal resolution than the owning sequence. #jira UE-55453 Change 3973376 by Max.Preussner ImgMedia: Zero is the only valid video track for image sequences Change 3973489 by Max.Preussner Launch: Build rules cleanup pass - don't use Media, MediaUtils on server apps - don't link against Media (include-only dependency) - don't include from MediaAssets (dynamic load only) Change 3973760 by Max.Preussner MediaUtils: Moved AppMediaTimeSource implementation into its own file; added logging Change 3973765 by Max.Preussner ImgMedia: Disallowing seek beyond media length Change 3973855 by Max.Preussner MediaFrameworkTest: Updated developer test content Change 3973858 by Max.Preussner MediaCompositing: Blocking on media player time instead of media sample time (the former may not be hit in the current frame) Change 3974988 by Max.Chen Sequencer: Fix trim left so that it also sets the start offset for audio and skeletal animation sections. #jira UE-57015 Change 3976101 by Matt.Hoffman Sequencer will now focus the scroll view on newly created items. #jira UE-56492 Change 3976203 by Max.Chen Property Editor: Add DetailsViewArgs for ColumnWidth. Defaults to 0.65f, no change in existing behavior. Change 3976205 by Max.Chen Sequencer: Set better column widths for sequencer. #jira UE-55557 Change 3976206 by Max.Chen Sequencer: Added menu category for import/export Change 3976265 by Matt.Hoffman Tracks within Object Binding Nodes will now sort using the old behavior so that components are added above other track types. #jira UE-56473 Change 3976901 by Max.Chen Sequencer: Add event names to event track section #jira UESEQ-353 Change 3977878 by Max.Preussner Media: Moved media framework ticking stats into Media module Change 3977982 by Max.Chen Sequencer: Add Edit->Reset section length to duration of source (ie. audio, skeletal animation, shot length) Added MovieSceneSection::GetDefaultDuration and MovieScene::HasDefaultDuration #jira UESEQ-392 Change 3977994 by Max.Preussner Media: Fetching and rendering media samples before viewports are rendered (to ensure frame sync for in-level media playback) #jira UE-53975 Change 3978188 by Matt.Hoffman Easing Curves are now clipped by the sequence's PlayRange when testing against an infinite section. This causes blended sequences to finish their blend when the section starts/ends instead of always using 25% of the total section length to determine default blend range. #jira UE-56362 Change 3978676 by Max.Preussner MediaCompositing: Fixed first frame of rendered out media track missing #jira UE-53975 Change 3978684 by Max.Preussner MediaCompositing: Enabled media track frame sync feature #jira UE-53975 Change 3980026 by Matt.Hoffman Keys can be selected on folded out sections (such as an audio track expanded to show volume and pitch) again. #jira UE-57169 Change 3981614 by Max.Preussner MediaUtils: Added missing subtitle sample queue flush Change 3982311 by Max.Preussner MediaCompositing: Added safeguard for zero length media sources Change 3982389 by andrew.porter QAGame: Adding media track test content into FrameAccuracySubscene Change 3983661 by Max.Chen Sequencer: Add level name to spawn a spawnable into. Add sublevel menu option to set the level #jira UESEQ-390 Change 3983712 by Andrew.Rodham Sequencer: Purge legacy blueprint spawnables from LevelSequence packages #tests Ran a preflight for cooking fortnite, ocean and Orion. Only orion shows up this edge case, and will require a re-save of the EndCines level #jira UE-39173 Change 3983787 by Max.Preussner MediaCompositing: Moved compile time switch for block-on-fetch into media player facade Change 3983812 by Andrew.Rodham Sequencer: Exposed default level sequence instance data to blueprints Change 3984373 by Max.Preussner Media: Added API for quering whether player plug-in supports block on fetch Block on fetch allows Sequencer and other systems to block the game thread until a desired video frame has been decoded. Change 3984670 by JohnHenry.Carawon Movie Rendering Test Content progress. Saving the state of the content. There is a bug where things got replaced with particle emitters and I think it was because I tried to copy paste an animation track into a separate skeletal mesh track. Change 3985097 by Max.Chen Sequencer: Rename Reset to AutoSize Change GetAutoSizeDuration to return TOptional<FFrameTime> #jira UESEQ-392 Change 3986043 by Max.Chen Sequencer: Fix crash when attach/path duration is less than 0. #jira UE-57310 Change 3986373 by Max.Chen Sequencer: Add support for deleting tracks and channels which equates to setting the channel mask. #jira UE-52951 Change 3986375 by Max.Chen Sequencer: Add Create Pose Asset to skeletal animation section. This allows animators to blend animations in sequencer and create new pose assets from them. #jira UESEQ-408 Change 3986796 by Andrew.Rodham Sequencer: Fixed stale object references remaining in ULevelSequence::BindingReferences when using convert to spawnable/possessable - We used to convert objects by creating a new binding, then re-assigning its GUID, which meant we didn't have to do any further object fixup, but the code to achieve this was confusing and led to a vulnerability where object references would not be cleaned up correctly due to the newly created possessable essentially being a temporary object that's immediately thrown away. - To address this, there is now a function for porting all the contents of one object binding to another, and handles the correct fixup required for parent/child object bindings for both spawnables and possessables. - Also added codepath to remove any stale object references from the level sequence reference map on PostLoad (this piggy-backs off the PurgeLegacyBlueprints object version which is close close enough to this change to be identical) #tests Verified that existing sequences with stale references get cleaned up on load. Verified that repreatedly converting from spawnable<->possessable cleans up references correctly. Change 3987807 by JohnHenry.Carawon Updates to the MovieRendering Test Content. - Fixed the spawnable actors that were overwritten - Shortend the Lighting example and combined the Intensity and Color tracks - Organized the Sequence and WorldOutliner to group the examples. Change 3988151 by Max.Chen Cine Camera: Enable keying the "Enable Look at Tracking" toggle. Change 3988880 by Max.Chen Sequencer: Support enter to add asset for all sequencer track editors that have asset pickers. #jira UE-57367 Change 3988953 by Max.Chen Sequencer: Make the track color picker focusable so that it will close when you click away or lose focus. #jira UE-57210 Change 3988962 by Max.Chen MovieSceneCapture: Fix EDL export so that it takes into account movie scene frame resolution and desired frame rate. #jira UE-57365 Change 3988964 by Max.Chen Movie Scene Capture: Clarified tooltip for bRelativeFrameNumbers. If you specify custom start/end frames for the recording, they will be relative to the playback range. #jira UE-57308 Change 3989442 by Max.Chen Fix CIS Change 3991548 by Matt.Hoffman Dragging the time slider no longer causes the time slider to ignore snap-to-interval with "Snap to Keys While Scrubbing" when no keys are in range. #jira UE-57417 Change 3991598 by Matt.Hoffman Snap to Key while scrubbing now mirrors the behavior of "jump to next key". When there are no tracks selected it snaps to all keys and when there are tracks selected it snaps to only keys from that track. This also resolves an issue where deleting an object did not remove it from the Sequencer's selection. Undoing a delete already doesn't seem to restore your selection, so removing it from your selection shouldn't change that behavior. #jira UE-57417 Change 3991603 by Max.Chen Sequencer: Disable EditAnywhere for some section properties #jira UE-53530 Change 3992240 by Max.Preussner MediaAssets: Implemented dynamic audio sample rate adjustment based on audio/media clock drift #jira FORT-70638 Change 3992911 by Andrew.Rodham Sequencer: Fixed saving spawnable state using the wrong spawned object - We now track the object binding ID so that we can apply the spawned object to the correct spawnable when the asset is saved #jira UE-57353 Change 3992914 by Max.Chen Movie Scene Capture: Fix compression quality not being set. The compression interface wasn't being found through query interface, so no compression was being set. Reworked finding it through the output pins. Tested running various compression values. #jira-UE-55488 Change 3992919 by Max.Chen Sequencer: Convert to possessable now uses object template instead of copying properties (ie. see LevelSequenceActorSpawner). This fixes MIDs getting lost when converting to spawnable and back to possessable. #jira UE-52400 Change 3993184 by Max.Chen Sequencer: Don't show +Transform/+Path/+Attach track if the actor has the "Mobility" property hidden. Set the Landscape, LandscapeProxy and InstancedFoliage "Mobility" property to be hidden since it is static is not supposed to be dynamically movable. #jira UE-56347 Change 3993238 by Max.Chen Sequencer: Test for hidden mobility in creating keys as well. Refactored to HasHiddenMobility() #jira UE-56347 Change 3993978 by Max.Chen Cine Camera: Enable keying the "Enable Look at Tracking" toggle. #jira UE-57489 Change 3994039 by Max.Chen Landscape: Add Mobility to hidecategories on landscape component #jira UE-56347 Change 3994626 by JohnHenry.Carawon Updated Movie Rendering Test Content. - Fixed the overridden spawnables to their proper object types. Change 3994653 by Christina.TempelaarL Sequencer: Added Final Cut Pro 7 XML Import functionality, improved Export functionality #jira UESEQ-358 Change 3995609 by Max.Chen UMG: Add support for 2d transform mask (translation, rotation, scale, shear) #jira UE-52951 Change 3995778 by JohnHenry.Carawon Movie Rendering Test Content Updates - Adjusted Lights example - Adjusted Camera example - Added Marcie sublevel back in Change 3995942 by JohnHenry.Carawon QAGame: Moving Movie Rendering test content from Developer folder to Sequencer folder Also adjusted level visibility, lights and camera example. Change 3995993 by Christina.TempelaarL Sequencer: FCPXML Export updates - only export sections if in playback range and media exists, warn if media does not exist. Other updates - removed unused methods and variables, fixed message context naming to be more accurate #jira UESEQ-358 Change 3996595 by andrew.porter QAGame: Updating Marcie content in TrackEvaluation level to use Image Plate Change 3996614 by andrew.porter QAGame: Adding color test sequence to the sublevel Change 3996643 by Max.Chen Sequencer: Fix fbx animation export - rotation and scale channels were flipped. #jira UE-57509 #jira UE-57512 #jira UE-57514 Change 3996652 by Max.Preussner Messaging: Fixed delayed messaging using incorrect current time after message router sleep Based on https://github.com/EpicGames/UnrealEngine/pull/4601 Change 3996801 by Max.Chen Sequencer: Fix folder active state for non key area sections. Look at track node sections as well as key areas. #jira UE-57550 Change 3997098 by Matt.Hoffman Cleaned up some remaining ToDo's in STimeRange. Change 3998339 by Max.Preussner Sockets: Added documentation for socket receive functions Change 3998359 by Max.Preussner MediaUtils: Started to implement media recorder helper class Currently only supports BGRA frames in CPU memory. Supporting other formats and buffer types will require conversions on render-thread. I recommend refactoring out the existing conversion code in FMediaTextureResource into a reusable helper class in the MediaUtils module. This should be a good starting point though. Change 3998417 by Matt.Hoffman Keys and Sections can now be moved at the same time inside of Sequencer. Keys can now snap to Sections (and vice versa) instead of just to other Keys. Sections can now be duplicated like keys can. #jira UE-56995 Change 3998427 by JohnHenry.Carawon QAGame: Updating test content for the Movie Rendering feature. - Added an auto activate particle to the beginning of the sequence (it's not part of the sequence at all) - Added an event receiver blueprint to the Events example - Added a particle emitter to both sublevels - Added a camera cut to the end that switches to a separate camera - The camera zoom in, focus and Look At sections are all separate (not overlapping in the sequence) - Added a second actor for the camera Look At - Added a Visibility section for the Actor Hidden In Game track that has possessable and spawnable cube and light Change 3998537 by Max.Chen Sequence Recorder: Restore immersive mode when stopping the sequence even if not in PIE. #jira UE-56407 Change 3999809 by Matt.Hoffman Removed the "Go To" box from Sequencer and instead placed the current time as an always visible control. The previous shortcut (Ctrl + G) now focuses the new widget directly. #jira UESEQ-376 Change 4000543 by Christina.TempelaarL Sequencer: Moving editor-only code from runtime module MovieSceneCapture to editor module MovieSceneTools. Moved EDL and FCP XML exporters as well as Automated Level Scene Capture. #jira UESEQ-358 Change 4000706 by Matt.Hoffman Entering multiple time strings without a number no longer crashes Sequencer. #jira UE-57672 Change 4001051 by andrew.porter MediaFrameworkTest: Fixing up some image sources pointing to the wrong location Change 4001191 by andrew.porter QAGame: Adding some quick EDL/XML test content to dev folder Change 4001243 by Max.Chen Sequencer: Fix import EDL out of range. #jira UE-57665 Change 4001856 by Matt.Hoffman Selecting keys and sections at the same time now also works with animation and audio sections. #jira UE-57716 Change 4002021 by Max.Chen Sequence Recorder: Fix sequence name incrementing. If external recording sets the sequence name, use it. Otherwise, use the recording name from the recording group or the recording settings. #jira UE-57712 Change 4002618 by Max.Chen Viewport: Update the look at location when updating to a locked actor. This fixes an issue so that popping the view out of a locked actor and manipulating the view will not jump to the previous look at location. #jira UE-57725 Change 4002979 by Matt.Hoffman Fixes several edge cases with the end time range that was causing confusion about what the last frame of the sequence was. Dragging the End Frame slider will no longer be off by one tick and jumping to the end via the UI controls now properly respects snapping and stays inside the play range instead of falling outside of it. Overall behavior does not change though and End Frame should be considered an exclusive frame so that frames 0-150 results in a 150 frame long animation (which is frames 0-149). #jira UE-56367 Change 4003185 by Matt.Hoffman Fixed a regression that prevented a section from being dragged upwards past row 0 which normally resulted in all other rows moving down. #jira UE-57717 Change 4003193 by JohnHenry.Carawon QAGame: Updates to test content - Shortened frames between the examples from 95 to 30 - Separated camera setting tracks - Lighting example now switches directly from constant red - green - blue Change 4003369 by Max.Chen Sequence Recorder: Refresh next sequence regardless of internally stored sequence name. #jira UE-55757 Change 4003586 by JohnHenry.Carawon QAGame: Test Content Updates - Level Visibility track now ends to that the levels are not visible when we move to the next example - Shortened camera section, removed Z tranform so that we just move left to right and shortened the overall length Change 4004414 by Max.Chen Movie Scene Capture: Fix regression where rendering with shot handles would only render the first shot. 3972166 addressed an issue where an extra frame would be rendered by finalizing right when the end frame was reached. This was hit on the first shot end frame, so instead, do this only for when the last shot is being rendered. #jira UE-57314 Change 4004765 by Christina.TempelaarL Sequencer: Fixed bugs in FCP XML import/export. - Export: fixed sequence default resolution. - Export: fixed XML files with no shots. - Export: all sections clipped to playback range. - Export: fixed incorrect section start/end times due to precision issues. - Import: fixed incorrectly adding cinematic tracks. - Import: fixed bugs creating new sections. #jira UE-57660 #jira UE-57662 #jira UE-57655 #jira UE-57761 Change 4005119 by Max.Chen Sequencer: Export/import at play rate Change 4005195 by Max.Chen UMG: Finish UMG evaluation on stop. Added object version so that existing UMG assets do not change. #tests - Newly created UMG animation with sections set to restore state now return to their original state. Existing UMG animations with sections set to restore state do not return to their original state. #jira UE-52285 Change 4005377 by Michael.Karambelas QAGame: Moving TM-SequenceRecorder and related content out of my developer folder and into /Content/Sequencer/SequencerRecorder/* Change 4005417 by Michael.Karambelas QAGame: Fixed a BP compiler in the Level Blueprint of TM-SequencerRecorder. Change 4005634 by Michael.Karambelas QAGame: Fix up missing content and broken level sequence in TM-SequenceRecorder after move Change 4006324 by Max.Chen Sequencer: Reset if the focused movie scene is null. This fixes a crash if the user is focused in on a shot and undo takes the user past the point of where the shot was created. #jira UE-57752 #jira UE-47661 Change 4007006 by Max.Chen Sequencer: Fix FindAvailableRowIndex so that it returns the max row index (and not +1) since it doesn't find any conflicting rows. #jira UE-57717 Change 4007907 by Max.Chen Sequencer: Fix crash if there's no animation Change 4007948 by andrew.porter QAGame: added test content to dev folder for Record World Space Change 4008636 by Max.Chen Sequencer: Fix import fbx not setting values properly and creating additional cameras unncessarily. #jira UE-57864 Change 4008759 by Max.Chen Sequencer: Follow up fix for import cameras #jira UE-57864 Change 4009994 by Matt.Hoffman Dragging the left or right handles of the Time Range slider in Sequencer will now zoom your view in on the current center of the screen. This prevents the view from being translating as you tried to zoom in which caused issues at high zoom levels. #jira UESEQ-407 Change 4010169 by Christina.TempelaarL Sequencer: FCP XML fixes. - FCP XML export - no longer clips to playback range - FCP XML and EDL export - fixed missing last frame of some sections after exporting to Premiere. - Automated level capture, EDL export - use RoundToFrame instead of FloorToFrame for computing section start/end frames after frame rate conversion. #jira UE-57802 - partial fix, movie scene capture still needs to render full section rather than clip against playback. Change 4010287 by Mike.Zyracki Add quaternion interpolation option to UMovieScene3DTransformSection. This mimics how Matinee used to work by bascially finding the keys between a time and interpolating the angles as quat's between them. As noted in the code the algorithm needs to handle the case when the x,y,z Rotation keys all aren't at the same time which was not handled by Matinee. Also like Matinee, when in quaternion interoplation mode, we need to not display the function cuves since the interpolated and key values are now all different. (Would like to show them but that's a bigger refactor for perhaps just a one off needed by quaternions). I added a virtual function UMovieSceneSection::ShowCurveForChannel for this since it needs to be dynamic, not on construction of IKeyArea's, and could be useful for other sections. I could though move the method to just UMovieScene3DTransformSection and do a cast instead. Looked into doing a unit test for this but after talking with Andrew P we will work on doign an automated test in EngineQA since that will provide more coverage. Will also add a video the jira. #jira UESEQ-403 Change 4010713 by Mike.Zyracki Added option to key a group of transform channels instead of just the changed channel, or all of them. This is useful for quaternion interpolations where you want rotation keys to be aligned but also useful for other workflows like animating FK Pose to Pose. Change 4010715 by Andrew.Porter MediaFrameworkTest: Setting LogMediaUtils logging from VeryVerbose to Verbose to cut back on the spam Change 4013048 by Max.Chen Sequencer: Fix play/jump status. Update the player status for all position methods (Scrub, Jump, Play). Jump means Stopped. Correctly use PlayTo or JumpTo based on position method. In PlayInternal, JumpTo with the Stopped state (rather than playing state). #jira UE-57844 Change 4013479 by andrew.porter QAGame: Added content in TM-SequenceRecorder to test recording a property on a Cine Camera Component; Press 3 to trigger manual focus distance to increment on a timer Change 4014323 by Max.Chen Sequencer: Fix SetPlaybackPosition so that it jumps or plays based on playback status. #jira UE-57844 Change 4015888 by Max.Chen Sequencer: Fix crash on paste. UMovieSceneSections were gathered from the track node's track. For sub track mode, we want to gather only those sections on that track node row. #jira UE-57951 Change 4015943 by Max.Chen Sequencer: Fix moving shots up when the mouse pos goes outside of the virtual track area. #jira UE-57717 Change 4016293 by Max.Chen Sequencer: Fix relative frame playback end frame calculation so that custom start/end frames remain in the space of the sequence and are not relative. #jira UE-57308 Change 4017075 by Andrew.Rodham Sequencer: Corrected initial evaluation range used when calling UMovieSceneSequencPlayer::Play() Change 4017270 by Christina.TempelaarL Sequencer: FCPXML importer and movie scene capture - Use CeilToFrame when converting section start/end frame times to frame numbers in FCPXML and movie scene capture. - Added support for clip metadata in FCPXML. - Got rid of redundant TokenizedError message class, no longer needed now that FCPXML is in editor directory. - Added log messages currently commented out due to exception, still testing. #UESEQ-358 Change 4018370 by Christina.TempelaarL Sequencer: fixed FCPXML log messages regarding sections with start/end not divisible by display rate. #UESEQ-358 Change 4018378 by Christina.TempelaarL Sequencer: fixed error in previous changelist. #UESEQ-358 Change 4019457 by Max.Chen Sequencer: Show event names only when the event track is selected #jira UE-57897 Change 4022806 by Max.Chen Sequencer: Fix crash on movie scene capture dialog shutdown if movie capture wasn't even started. #jira UE-58106 Change 4022894 by Max.Chen Sequence Recorder: Wrap OpenEditorForAssets after sequence recording within GIsEditor #jira UE-58084 Change 4024487 by Max.Chen Sequencer: Add tooltip for quat interpolation #jira UE-58113 Change 4024562 by Max.Chen Sequencer: Change path/attach track sequence binding id to currently focused sequence id so that bindings can be created in subsequences Change 4027414 by JohnHenry.Carawon QAGame: Checking in content that shows a bug with using particles systems and Delay Before Shot Warm Up. Change 4028990 by Max.Chen Sequencer: Fix evaluate sub sequences in isolation. This check was added with the compile on the fly logic. Not sure why it was necessary but it seems like the sub sequence data needs to be updated in order to evaluate sub sequences in isolation. #jira UE-58184 Change 4029004 by Max.Chen Sequencer: Ensure that old binding references are removed when re-assigning actors in sequencer #jira UE-57898 Change 4030997 by JohnHenry.Carawon QAGame: Fixing name of the master sequence Change 4031785 by Michael.Karambelas QAGame: Added an instance of ThirdPerson Run to TM-SequenceRecorder for Record to Possessable test. Change 4035548 by Andrew.Rodham Sequencer: Changed FMovieSceneEvaluationTemplate::TemplateSignature to be a serial number to address non-deterministic cooking issues - This commit is related to the repro steps found in 3914599 and 3934307, both of which have been verified with this new change. - Copy of 4031684 from //Fortnite/Main/... #jira FORT-84852 Change 4036312 by Max.Chen Sequencer: Fix zoom view range so that it uses the passed in InZoomDelta Change 4036318 by Max.Chen Sequencer: Auto size now returns a range and defaults to the channel proxy range so that keyed regions can also be autosized. Change 4036322 by Max.Chen Forgot missing change Change 4036360 by Max.Chen Sequencer: Fix play rate calculation when skeletal animation section play rate changes. Change 4037163 by Mike.Zyracki Weighted Tangent Implementation Tricky thing is that you need to solve a cubic in order to get the bezier weights for the time part of the curve. See https://www.gamedev.net/forums/topic/474094-help-function-curves-for-animation-interpolation/ Maya provides an implementation in it's dev kit but I didn't use it since it was horribly slow and uses an iterative solution to solve the cubic needed. Instead I use an old algorithm (Cardano's method), to solve the cubic which should be much faster. Though relative simple to code from principles I just went ahead and used a version from Graphics Gems 1. I put this cubic solver directly in MovieSceneFloatChannel.cpp, but will need to move it when we support Rich Curve, maybe to FMath:: (which would probalby require some other functions for solving quartics, etc.. for completeness.). Also note we resolve this on every evaluation but dont' need to if the interval the time is evaluating hasn't had any change in values or tangents. So again when we support FRichCurve we can create a Weighted Evaluating class that can hold the cache. Also with the tangent drags I got rid of the Cardinal position that was used to calculate non-weight tangents from the key point and just quickly getting a direction. With weighted tangents we need to use the delta instead (otherwise when moving multiple they would all get the same weight based upon distance to the cardinal point. ) For mixed tangents types what I'm defaulting to non weighted if the interval doesn't match. May need to do weighted instead, not sure. What's left is just FBX import, for tomorrow. #jira UESEQ-76 Change 4037435 by Mike.Zyracki Fix fo build warnings from weighted tangent submission. #trivial Change 4038091 by Michael.Karambelas QAGame: Updated a Sequence Recorder group in TM-SequenceRecorder that had an actor missing the animation. Change 4038374 by Andrew.Rodham Sequencer: Refined scrubber styling for level sequences and actor sequences - Scrubber now shows a block the width of a dsplay rate frame, plus a line for the actual evaluated time. UMG reverts back to the previous styling (no block) - Keys that are outside of the playback range are now drawn with a subdued effect - Tick labels are no longer drawn when directly underneath the scrubber Change 4038490 by Max.Chen Sequencer: Expose tangent weight values in details panel. Change 4038620 by Andrew.Rodham Sequencer: Advanced time panel polish #jira UESEQ-426 Change 4038677 by Max.Chen Movie Scene Capture: Redirector for MovieSceneTools.AutomatedLevelSequenceCapture #jira UE-58248 Change 4039739 by Max.Chen Sequencer: Media track should only be supported by Level Sequence Change 4040024 by JohnHenry.Carawon QAGame: Fix EventReciever and OverrideBinding example The level sequence was set to none so the fix was to set it back to TrackEvaluation_Master. Change 4040610 by Andrew.Rodham Curve Editor: Moved weighted tangent switchers to a single toggle command (CTRL+W) and added an icon #jira 58383 Change 4040882 by Mike.Zyracki Keep broken when turning on weighted #jira UE-58435 Change 4041089 by andrew.porter QAGame: Sequence for Long Tangents bug Change 4041498 by Mike.Zyracki Turn off weighted when going auto to prevent large tangents. Do it both in UI and when doing AutoSetTangents() to really make sure it doesn't happen. #jira UE-58452 Change 4041752 by andrew.porter MediaFrameworkTest: Adding some better logging for setting rates when not supported. Also ignoring commiting URL when there is no text Change 4041896 by Matt.Hoffman The transform dialog box now transforms selected keys and sections, instead of just keys. #jira UE-58265 [CL 4044405 by Max Chen in Main branch]
2018-05-02 10:10:00 -04:00
const float MouseDownPixel = RangeToScreen.InputToLocalX(MouseDownFree / TickResolution);
const bool bHitScrubber = GetHitTestScrubPixelMetrics(RangeToScreen).HandleRangePx.Contains(MouseDownPixel);
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3946692) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3801826 by Max.Chen PR #4304: Level Sequence crash fix - Guarded against dereferencing null componen. (Contributed by DSDambuster) Change 3801828 by Max.Chen PR #4302: Movie Scene Visibility Template unitialised variable, causing random . (Contributed by DSDambuster) Change 3801837 by Max.Chen Sequencer: Delay spawning/construction for convert to possessable. This fixes a bug where property values would be lost when converting back and forth from possessable to spawnable. #jira UE-52400 Change 3801841 by Max.Chen Sequencer: Make spacer nodes not selectable. PR #4194: Improvements to Sequencer (Contributed by projectgheist) #jira UE-53117 #jira UE-52139 Change 3804183 by Max.Preussner MediaAssets: Added missing lock in media sound component Change 3805414 by Max.Preussner MediaAssets: Setting valid GUID when initializing media texture resource Change 3819578 by Max.Chen PR #4370: When enabling the "MovieCapture", do not turn off the Stereo-3D display. (Contributed by yehaike) #jira UE-53647 Change 3823414 by Max.Chen Curve Editor: Lock down the first and last keys in the redundant keys removal range so that they're unaffected. #jira UE-53591 Change 3826406 by Max.Chen Sequencer: Move OnStartedPlaying() to within first update in UpdateTimeCursorPosition(). This fixes an issue where setting the hud/player visibility was getting stomped on later. #jira UE-52772 Change 3827044 by Max.Preussner MediaAssets: Added sprite visualization to media sound component #jira UE-53594 Change 3827988 by Max.Preussner MediaPlayerAssets: Fixed Media Texture is not linked to Media Player when created together #jira UE-53532 Change 3828506 by Max.Preussner MediaPlayerEditor: Added attenuation visualizer for media sound components #jira UE-53594 Change 3832590 by andrew.porter EngineTest: Added a keep state check in Property Animation sequencer test Change 3833053 by andrew.porter EngineTest: Adding Hierarchical Bias test Change 3835683 by andrew.porter EngineTest: Adding UMG Animation screenshot test Change 3836076 by Max.Chen Sequencer: Fix audio volume and pitch multiplier deprecation. Change 3836230 by andrew.porter EngineTest: Adding Sequence Bone Position automation test Change 3836347 by Max.Chen Sequencer: Fixes to shot name parsing. When a shot doesn't contain a shot number, assume, [ShotName]_[TakeNumber]. When duplicating a shot, put the new shot in the same path of the original shot, so that the take numbers will increment properly. #jira UE-51868 Change 3836552 by Max.Chen Sequencer: Sub section now has a takes menu Change 3838094 by Max.Chen UMG: Fix template finish not getting called on stop. This fixes a bug where sections aren't restored when finished. #jira UE-52285 Change 3838708 by Max.Chen Sequencer: Add notification when the blend type is changed. #jira UE-54046 Change 3840295 by Max.Chen Sequencer: Fix copy/paste crash for lights #jira UE-54084 Change 3840957 by Mike.Zyracki Added Show Only Keyable and Show Only Animated to the filter list in the property editor. Added IsPropertyAnimated to IDetailKeyframe Interface which already had support for showing properties which are keyable (which is used for the key icon next to the properties.). Could have created another interface but then would have had to mimic the sequencer binding, releasing also, so this seemed best way. One issue still left is that custom built detail items currently don't store associated properties(usually) and so certain properties, in particulalry transforms, won't show up as keyable or animated. Note this also shows up with the keyable icon not showing up next to transform tracks, and other filters like Show Only Modified not working with transforms/customs. Not sure best way to tackle this. #jira UESEQ-328 Change 3841756 by Max.Chen Sequencer: Fix unbound possessable components when pasting spawnables. #jira UE-54104 Change 3843950 by andrew.porter EngineTest: Renaming LevelStreaming tests/content to LevelVisibility Change 3844082 by Mike.Zyracki Missing file for animated filter in property editor. When finding if a track is animated we need to find it but we can't easily induce the MovieTrack class for any particular property. So we don't set a class for it and just search by it's ID and name. #jira UESEQ-328 Change 3846902 by Max.Preussner ImgMedia: Fixed image media player never finished initialization if loading failed #jira UE-54247 Change 3849820 by Mike.Zyracki Reassigning deleted widgets didn't work since the menu extender mechanism needs a valid UObject in order to perform an operation on it. So to fix we replaced GetObjectBindingContextMenuExtender in WidgetBlueprint with new delegate mechanism (OnBuildCustomContextMenuForGuid) that supports FGuid in addition to UObjects which is needed to handle re-binding deleted widgets. Note that the default sequencer hacks this for replacing deleted actors in SequencerObjectBindingNode to check to see if a LevelSequence is active. We could move to this mechanism there also. #jira UE-53163 Change 3852211 by Max.Chen UMG: Indicate name of the property that is not bound. #jira UE-54350 Change 3854120 by Max.Chen Sequencer: Fix sibling folders being allowed to have the same folder name. #jira UE-54363 Change 3854627 by Max.Chen Sequencer: Step to next/previous key should work for all tracks if there aren't any selected. #jira UESEQ-391 Change 3855825 by andrew.porter EngineTest: Adding animation blending automation test Change 3855950 by andrew.porter EngineTest: Adding correct expected valuues to animation blending test Change 3856237 by Matt.Hoffman UESEQ-336 - Sequencer Track Reordering Adds the ability to re-order Master Tracks, Folders and Object Bindings within sequencer hierarchies (including UMG). Adds the ability to do a one-off sorting of the content under the old sorting behavior if the user wants to reset their layout to how it was under legacy behavior. Modifies SequencerTrackNodes, SequencerFolderNodes and SequencerObjectBindingNodes to handle CanDrop/OnDrop for above, below and ontop of. Fixes a Slate Issue that forcibly expanded a TreeviewRow if an item handled OnDrop. Slate will now only forcibly expand the row if the item says the drop happened ontop of the item, and not above or below it like it previously did. Change 3856503 by andrew.porter EngineTest: Adding automation test for using animation blueprint with blend multi node in sequencer Change 3857875 by Max.Chen Sequencer: Assign the sequence id after the template is compiled. #jira UE-54462 Change 3858344 by Max.Chen Sequencer: Prevent Goto and Transform boxes from overlapping by allowing them to be visible at the same time in an autosized horizontal box. Also, added close button to the goto box. PR #4425: Prevent Goto and Transform boxes from overlapping in Sequencer ... (Contributed by projectgheist) #jira UE-54210 Change 3860566 by andrew.porter MediaFrameworkTest: Set the option to index 0 for the audio and video track list by default Change 3860654 by andrew.porter EngineTest: Enabling Camera Cut + FOV test Change 3860981 by andrew.porter EngineTest: Updating skeletal mesh tests with a delay after set playback position Change 3861256 by Max.Chen Sequencer: Add all bindings if none selected. #jira-54440 Change 3862154 by Andrew.Rodham Added TimeManagement module Change 3862424 by andrew.porter EngineTest: Turned on the test Bone Positions with Blend Multi Node Change 3862573 by andrew.porter EngineTest: Adding test to compare bone positions in a sequence that is blending an animation that is using an AnimBP Change 3865117 by Max.Chen Sequencer: Stop auto scroll on mouse release of movement. #jira UE-31212 Change 3865303 by Max.Chen Sequencer: Add drag and drop transactions #jira UE-54662 Change 3865304 by Max.Chen Sequencer: Fix crash when an actor factory is not found. Change 3865361 by Max.Chen Sequencer: Don't change the camera/shot lock button when popping out of a sequence. #jira UE-54665 Change 3865412 by Max.Chen Sequencer: Determine whether a transform track is for a camera by using the spawned object or template #jira UE-54666 Change 3865685 by Max.Chen Sequencer: Clear autoscrub offset when stopping autoscroll #jira UE-31212 Change 3865886 by Max.Chen Sequence Recorder: Log an error if the number of frames changes while recording. This can happen if the skeleton changes while recording. #jira UE-48715 Change 3866925 by Andrew.Porter MediaFrameworkTest: Changing the current PNG test video image sequence to 1024 x 576 Change 3867705 by andrew.porter QAGame: Adding Audio Sort Sequence to dev folder Change 3867890 by andrew.porter QAGame: Adding a sequence for testing a sorting crash to my dev folder Change 3872628 by Max.Chen Movie Scene Capture: Split delay before warmup into split delay before shot warmup so that there's separate controls for when the movie scene capture warmups up vs. shot boundaries. Change 3873131 by Matt.Hoffman UE-54732 - Crash reordering a folder with a track. This was caused by folders being the only type of track to check if someone was putting a parent track into a child track. Object Binding tracks and Tracks now check as well so that you can't use the above/below drop targets to add parents as children. This also fixed a typo in the localization keys. #jira UE-54732 Change 3873301 by Mike.Zyracki Added ability to support continous euler angle changes when changing rotations, in particularly with the rotation gizmo's. To do this we effectively added a form an of 'euler filter'(https://en.wikipedia.org/wiki/Euler_filter) to find the closest euler angle to the current euler angle. Three functions were added to FRotator to make this possible, one to get the euler angle that's has the same rotation as it, one to get the difference between two euler angles via Manhattan distance and a third using the previous two to choose a Rotator value that's closest to it. We then use these functions before calling UComponent::SetRelativeRotation to make sure we use the correct Euler after the Quat conversion. We also no longer limit(bound) the euler angles to -180,180, which is obviously necessary to avoid flips. I also changed how we caluclate yaw and roll when pitch is -90 or 90 to make it the standard approach of zeroing out roll and just setting yaw. Main reasons are the previous implementation had precision issues so things like 180, 90, -180 would show up due to numbers being nearly zero but negative,(this would break any smooth interpolations), and this facilitates having a 'gimbal' rotation mode (like Maya, Blender etc..) if we ever want that also. If needed we could keep the previous implementation but would need to add some FMath::IsNearlyZero checks, with less performance. Note we only do this special filtering when applying delta's to actors or components in the editors, which then call UComponent::SetRelativeRotationExact, which is a new function to foces the RelativeRotation to be equal to the new rotation. This allows us to store un-nomalized Rotators at the cost that the RotationCache may be broken. We didn't change any of the other UComponent functions that set rotations (via Quats or Transforms) so they will still be bounded and unwound. In SetInternalWorldLocationAndRotation we only set the rotation if the rotation has changed, which fixes the rotation getting changed and re-normalized if just translate happens. In TransformTrackEditor, we correclty use the bUndwing flag and in MovieScene3DTransformSection there was an un-needed winding check there, it will be unwound earlier if needed, which happens if Sequence Recording is happening. Max we should talk about what to do about this . Note the euler angle drag via the widget is still bound to 0-360. I think we should just unbound that now since the rotations value are now unbound. This review now includes fixes suggested by Zak. #jira UE-UE-22228 Change 3873483 by Matt.Hoffman Sequencer Tracks can now be inserted above the spacer at the bottom of the tree. #jira UE-54706 Change 3873899 by Max.Chen Sequencer: Add section selection throbbing Change 3873908 by Max.Chen Movie Scene Capture: Added logging per frame Change 3873924 by Matt.Hoffman Adds the ability to store Sequence Recorder setups into profiles that stay with the map and can be re-loaded later. Profiles store the Actor Recordings so the settings for each actor should carry with them. #jira UESEQ-339 Change 3874726 by Matt.Hoffman Disable drag-and-drop targets on spacers that come between rows in Sequencer. This prevents extra drag/drop targets showing up between each row. #jira UE-54706 Change 3874862 by Matt.Hoffman Audio Track no longer gets reordered when adding sub-audio tracks, as sub-tracks are no longer counted towards the sorting order index when normalizing indexes. #jira UE-54727 Change 3875905 by Matt.Hoffman Disable Fade Track UI if a fade track already exists in the sequence. #jira UESEQ-393 Change 3876163 by Max.Chen Sequencer: Swap the camera object to the camera component's owner if it's not the same. #jira UE-54874 Change 3876971 by Andrew.Porter EngineTest: Moved Media Player Seek test to new folder. Also enabled the test with new ground truth image. Change 3877040 by Max.Chen Cine Camera: Split camera properties to two groups, "Camera Options" and "Camera Settings". The cine camera now hides properties in the "Camera Settings" group so that properties like bConstrainAspectRatio (in the "Camera Options" group) can be visible. #jira UE-54192 Change 3877763 by Max.Chen Curve Editor: Fix curve changed on end drag so that only curves that had keys/tangents that were changed receive notification, otherwise all loaded curves were getting notified that they were changed. #jira UE-54951 Change 3878234 by Matt.Hoffman Disable "Drop Below" targets for Sequencer Tree nodes to prevent a confusing UX issue where dropping underneath a Object Binding Node puts it after the object binding node but the UI looks like it's inserting it inside the Object Binding node. #jira UE-54743 Change 3879359 by Mike.Zyracki If a track is inactive we dim it a bit which seems to be the UE4 way to show inactive or disabled state. We changed the active logic so that all subtracks need to be inactive for the track to also be inactive(instead of all active for active). This conforms to how the active state actually works, e.g if you have two sections and only one is active the track is still active above it. #jira UESEQ-388 Change 3879462 by Max.Chen Sequencer: Allow dragging onto a particular row which would move out any overlapping sections to make space for the newly created section. Newly created sections are now selected and throbbed to draw attention to themselves. #jira UE-54664 Change 3879464 by Max.Chen Sequencer: Fixed overlapping ranges being inserted into the evaluation field during compilation - The issue was that track segments that had been combined with adjacent segments (due to them being identical) would potentially cause a subsequently compiled frame to overlap with a range that had already been inserted into the evaluation field. - The insertion code previously asserted that only minor overlaps were catered for (due to fp rounding errors) and assumed that a supplied range could not entirely contain any other range in the field. - The solution is to supply the insertion time along with the range to know exactly where the data should live in the field, and crop the range to the maximum allowable space between adjacent ranges. #jira UE-54922 Change 3879590 by Matt.Hoffman Items that are now added to the Sequencer via the "+Track" menu will be selected after being added. Items can now be added inside of folders instead of just to the root level. #jira UE-27397 Change 3879612 by Mike.Zyracki Display Nodes with no children are always active. #jira UESEQ-388 Change 3879730 by Matt.Hoffman Sequence Recorder's actor recording groups now remove items from the group when removed via the UI. #jira UESEQ-339 Change 3880256 by Mike.Zyracki Fix issue with inactive display with folders and other track nodes. #jira UESEQ-388 Change 3883491 by Max.Chen Fix issue where tick is skipped due to last ticked pose isn't cleared after AnimInstance changes. Copy from Release-4.19 #jira UE-51323 Change 3883603 by Max.Chen Movie Scene Capture: Add option toggle disable screen percentage. By default this is on (no change in current behavior). #jira UE-51898 Change 3885074 by Max.Preussner MediaCompositing: Resetting media texture & freeing resource on section end; removed dead code Change 3887220 by Max.Preussner MediaCompositing: Defaulted media section duration to 1 sec (since we do not know the actual duration in most cases) Change 3887478 by Matt.Hoffman Sequences now show [Inactive] in their title bars when they're disabled. This helps communicate why a sequence isn't being evaluated. #jira UE-51469 Change 3888985 by Max.Chen Movie Scene Capture: Clamp HDR Compression Quality between 0 and 1. #jira UE-55136 Change 3893519 by Max.Chen Sequence Recorder: Clarified tooltip for bRecordNearbySpawnedActors - spawned actors will still be recorded if they match the ActorFilter. #jira UE-55238 Change 3893546 by Max.Chen Sequence Recorder: If a selected actor already has a recording, add a blank recording. #jira UE-55239 Change 3894044 by Max.Preussner MediaCompositing: Added support for seeking into a media section Change 3894310 by andrew.porter MediaFrameworkTest: Adding Img media sources for 1080 and 2160 ravent test content Change 3894426 by Max.Preussner MediaAssets: Letting media textures with AutoClear retain their clear color when player is reset Change 3895717 by Max.Chen Sequencer: Null checks to prevent crash when saving the default state of a spawnable #jira UE-55304 Change 3897388 by Max.Chen Sequencer: Don't update current time to be within the view range when stepping into a sequence. #jira UE-55322 Change 3897452 by Max.Chen Audio: Fix crash when trying to record audio without any active capture devices. Log warning if the number of input channels is not 1 or 2. #jira UE-55223 Change 3897619 by Max.Preussner MediaCompositing: Removed commented out code Change 3898072 by Max.Chen Sequencer: Override the animation asset in the player state if it doesn't match the animation asset that's being evaluated. #jira UE-55328 Change 3898272 by Max.Preussner MediaPlayerEditor: Made slate brush constants static Change 3898704 by Max.Chen Sequencer: Skip if the binding id's sequence can't be found. #jira UE-55337 Change 3899855 by Max.Preussner MediaCompositingEditor: Added cache state visualization to media track Change 3900300 by Max.Preussner MediaCompositingEditor: Added loop indicators to media sections Change 3900694 by Max.Preussner ImfMedia: Looping cache only when player is looping Change 3900892 by Max.Preussner Stats: Added stats category for media framework Change 3900954 by Max.Preussner MediaCompositing: Don't evaluate at the end of media section Change 3901348 by Max.Preussner Core: Replaced TLruCache autos for better readability Change 3901655 by Max.Preussner ImgMedia: Added more perf stats to EXR reader Change 3901972 by Max.Preussner MediaAssets: Added getter for media player in media sound components Change 3902233 by Max.Preussner MediaAssets: Enabling media textures to receive samples right after player is assigned Change 3902238 by Max.Preussner MediaCompositing: Working around init/shutdown idiosyncracies in sequencer Change 3904045 by Max.Chen Sequencer: Fix copy/paste crash. Only process UMovieSceneCopyableBinding and objects that can be spawned by the movie scene spawn register. #jira UE-55314 Change 3905605 by Max.Chen Sequencer: Restrict spawnables from being created if they have a ClassWithin that UMovieScene is not a child of. #jira UE-55429 Change 3906550 by Max.Chen Sequencer: Add media track icon #jira UE-55480 Change 3907101 by Max.Chen Sequence Recorder: Fix bugs related to not recording a level sequence. There were certain assumptions that creating a level sequence meant that sequence recording was in progress. This is not always the case - the recorders can record animation assets and not create a level sequence. Changed the notion of IsRecording() to having at least one actor recording that is recording. Countdown timer, recording displays, etc should function if IsRecording() and not based on whether a level sequence is created. #jira UE-55485 Change 3907247 by Max.Chen Sequence Recorder: Fix crash not removing PrepareToCleanseEditorObject delegate. Repros when opening sequence recorder, closing it, and then opening or creating a level. Change 3910343 by Max.Preussner Core: Added async helper for executing functions on a given thread pool Change 3910346 by Max.Preussner ImgMedia: Added separate thread pools for loading/decoding and deleting image frames Change 3910829 by Max.Preussner Profiler: Increased visible range of profiler graph Change 3910841 by Max.Preussner MediaCompositing: Displaying asset name instead of full media source path in media section Change 3910870 by Max.Preussner ImgMedia: Using deallocation thread pool only in debug builds Change 3919642 by Max.Chen Sequence Recorder: Clarify active tooltip #jira UE-55661 Change 3919660 by Max.Chen Sequencer: Sequence template source signatures are now also compared to catch the case where a sub-sequence asset has been saved but not modified - The following sequence of events exposes this issue: - Create a master sequence with a single shot that spawns a cube - Add this sequence to a level and set it to auto-play - Save everything and restart - Resave just the inner shot asset without opening it - PIE - The inner shot never spawns its cube because its template was wiped on save, but its signature never changed. Since the master sequence previously didn't check the template source signature, it ends up trying to evaluate an empty template. #jira UE-55626 #jira UE-55490 Change 3921825 by Max.Chen Sequencer: "Run Construction Script in Sequencer" is off by default for blueprints but on for Sequencer. This allows the content author to switch it on for specific blueprints and sequencer will be default, run those with construction scripts enabled. Change 3922232 by Max.Chen Sequence Recorder: Reset countdelay on stop. #jira UE-55755 Change 3922306 by Max.Chen Sequence Recorder: Don't automatically mark transforms to be recorded by sequence recorder. Instead, log a warning if the user toggled it off to warn that the resulting animation might not match gameplay. #jira UE-55758 Change 3922912 by Max.Chen Sequence Recorder: Fix refresh next sequence name #jira UE-55757 Change 3927654 by Max.Chen Movie Scene Capture: Added format mapping for the name of the current camera #jira UE-55769 PR #4537 Change 3927658 by Max.Chen Sequencer: Added fbx property mapping for "FocusDistance" to "FocusSettings.ManualFocusDistance" #jira UE-55782 Change 3932022 by Max.Chen Sequencer: Add import animation track section to next available row index. #jira UE-55892 Change 3933919 by Max.Chen Sequencer: Jump to playback start frame and not 0 to start playback for recording. #jira UE-55933 Change 3934307 by Andrew.Rodham Sequencer: Add template signature that is re-generated every time the base template is regenerated, which invalidates evaluation fields This fixes an issue where the same sequence is instantiated multiple times in a sequence. If the source sequence was saved, its template would be wiped, which would invalidate the template ID When an instance tries to evaluate the master template, it would only invalidate a range in the evaluation field that was the hull of any invalid sub sequences overlapping the current time, potentially leaving invalid data in the evaluation field at positions later (or earlier) on in the sequence When the sub template was re-generated, it receives the same SequenceSignature as it had before (because the sequence hasn't actually changed), which causes the stale evaluation field data to fail the IsDirty check (because the sequence is the same as it thought, but the *template* has changed) This has been addressed be adding a signature to templates themselves, and checking both the template signature and sequence signature as a part of the IsDirty check. This ensures that we regenerate if either the template, or the sequence have changed. #jira UE-55934 Change 3936327 by Andrew.Rodham Sequencer: Removed increment when trimming right UMovieSceneSection::TrimSection already explicity assigns an exclusive bound to the time passed in. The new behavior means we can trim a section to the right, and insert another section without changing the time to create adjacent sections. #jira UE-42652 Change 3936328 by Andrew.Rodham Fixed KeyFrameManipulator assignment operators and copy/move constructors - These types are potentially self-referential so cannot use default constructors/assignment Change 3936330 by Andrew.Rodham Converted UMGSequencePlayer to use frames internally #jira UE-54878 Change 3936726 by Max.Chen Sequencer: Set track node as the parent of the key area node. The key area switcher needs the object binding id from the parent object binding node. Without this, the binding to the external value fails. #jira UE-55931 Change 3936775 by Max.Chen Sequencer: Should stop or loop should compare DurationFrames with Current Time from StartTime. The bug is that if you set 30 warmup frames in movie rendering for a range of 0-100, the FrameRange will be starting at -30 and have a duration of 130. Without this fix, the playback will continue until frame 130, rather than 100. #jira UE-55933 Change 3936935 by Matt.Hoffman Easing Curves are now represented in Play Rate resolution instead of internal resolution. #jira UE-55937 Change 3937069 by Matt.Hoffman Users can toggle if the is infinite on each side, limited by which tracks support infinite ranges. #jira UE-55891 Change 3937516 by Max.Preussner ImgMedia: Added support for single-threaded platforms #jira UE-55986 Change 3937826 by Max.Preussner MediaAssets: Disabling media sound components on HTML5 if AudioMixer is not enabled Change 3937997 by Max.Chen Curve Editor: Add Zoom to Fit Curves so that selected curves from Sequencer can be focused on. Tested that undo doesn't re-zoom. #jira UE-55935 Change 3938000 by Max.Chen Sequencer: Stop all sounds before generating audio waveforms. #jira UE-55951 Change 3938376 by Max.Preussner XGEController: Disabled XGE Controller in single-threaded apps to prevent crash Change 3938444 by Max.Preussner Core: Added async support for single-threaded applications Change 3938445 by Max.Preussner Networking: Added support for single-threaded applications in UDP socket sender/receiver Change 3938447 by Max.Preussner Messaging: Added support for single-threaded applications Change 3939432 by Max.Chen Sequence Recorder: Append command list to global level editor actions so that shortcuts are accessible in level editor. #jira UE-55798 Change 3940229 by Andrew.Rodham Added prospective display rate upgrade to UMovieScene::PostLoad - There was previously some very odd behaviour that would assign the fixed frame interval only when a sub sequence was focused in SSequencer. This meant that many sequences could have a frame interval of 0 set in the data. - Under the old method of snap interval display this would have fallen back to getting the display interval from the sequencer settings, but we no longer look at these. - The USequencerSettings properties have been removed and in their place, a prospective data upgrade for sequences that have a fixed frame interval old 0fps that sets the play rate to the previous defaults based off the old USequencerSettings defaults. - This could end up 'changing' the display rate for sequences where the user has changed the snap interval in the settings for a particular sequence editor, but there's not much we can do about that given we don't have access to the USequencerSettings classes in UMovieScene #jira UE-55919 Change 3940277 by Andrew.Rodham Sequencer: Added ability to default frame resolutions and play rates for newly created actor sequences Change 3940378 by Andrew.Rodham Sequencer: Post move import dialog now defaults to the playback framerate of the sequence, and floors to frame numbers Change 3940559 by Andrew.Rodham Reinstated primed or recording sequence color Change 3940642 by Max.Preussner ImagePlate: Removed image plate media playback functionality Change 3940843 by Max.Preussner Core: Made TCircularQueue actually thread-safe; improved code comments Change 3940860 by Max.Chen Sequencer: Changed StructNameToKey to StructPathToKey Previously, keying a PropertyPath of [RenderTransform][Shear][X] would get trimmed to X, which doesn't map to a channel name as considered by Sequencer2dTransformTrackEditor. Instead, trim the resulting property path to [Shear][X] so that track editors can determine the desired struct path and channels to key. #jira UE-52966 Change 3941292 by Mike.Zyracki Fix for trajectories out of range not showing up. 1) If we had no key data we would pop the time, so wouldn't get the section ranges. 2) Calculating of upper bound was wrong, checking against -1 and not key == num of keys when doing algo::lower_bound. 3) No need to do the Bck-- for the bakward iterators since we fixed #2. We start now from the upper bound correctly. 4) If we had no keys (at section start,end) we would incorrectly say we were any key type, so since we draw constant keys as dashed we would do so incorrectly around section end points. #jira UE-55929 Change 3941424 by Max.Chen Curve Editor: Change Zoom to Fit to use TArrayView Change 3941498 by Max.Preussner Core: Added FMath::DivideAndRoundNearest function Change 3942097 by Matt.Hoffman Drop Frame Timecode Support for NTSC rates. Change 3942104 by Matt.Hoffman Sequence Recorder Group is no longer visible inside the World Outliner after using one. #jira 55266 Change 3942107 by Max.Chen Sequencer: Resurrect logic to find or extend an existing section when adding keys. Change 3942330 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942339 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942507 by Andrew.Rodham Sequencer: We no longer pad the time overlap threshold with a small number that is not scaled by the current zoom level - The presence of this pad was causing keys that were far apart to be grouped when zoomed in a long way Change 3942509 by Andrew.Rodham Sequencer: Only pad total view range, rather than section range as well when retrieving keys to render - This stops us from rendering keys that are within the view range, but outside the section range Change 3942512 by Andrew.Rodham Added transactions to some sequencer details customizations Change 3942513 by Andrew.Rodham Sequencer: Reinstated validation checks to UMovieSceneSection::SetStartFrame and SetEndFrame, changed erroneous uses to use SetRange Change 3942560 by Andrew.Rodham Pass by rvalue reference to appease error C2719 on Win32 ('InChannels': formal parameter with requested alignment of 8 won't be aligned) Change 3942697 by Andrew.Rodham Newly Created Level Sequences and Actor Sequences now default to 24000 fps frame resolution (+/- ~24hrs range, supporting all integer rates + 23.976) Change 3942700 by Andrew.Rodham Sequencer: Added legacy out-of-bounds errors for times that are not supported by the current legacy upgrade frame resolution Change 3942989 by Max.Preussner Core: Fixed circular queue count calculation Change 3943538 by Max.Preussner MediaAssets: Reverted workaround for procedural audio log spam in HTML5 (Actor component initialization cannot be skipped if the component is used in a level) Change 3944071 by Max.Preussner QAGame: Fixed Media Texture keeps last frame of Media when PIE ends #jira UE-53360 Change 3944292 by Max.Chen Sequencer: Added extra flags to ensure that asset initialization does not occur on template actor sequences #jira UE-56113 Change 3944364 by Max.Chen Sequencer: Prevent circular shot/master tracks. Tested adding master -> child -> master as drag and drop cinematic shot tracks and sub tracks as well as through the + button. #jira UE-56091 Change 3944422 by Max.Chen Sequence Recorder: Disable transform recording if off. #jira UE-56061 Change 3944745 by Andrew.Rodham Sequencer: Key rendering fixes - Fixed assert that occured when keys happened to reside on some times due to KeyTime + TimeOverlapThreshold - KeyTime being slightly larger TimeOverlapThreshold - Fixed keys sometimes being clipped when zoomed right in due to lack of half-frame offset - Added missing documentation to MovieSceneTimeHelpers.h #jira UE-56107 Change 3945231 by Andrew.Rodham Sequencer: Reconstruct channel proxy on Serialize to catch all cases of undo/redo, PostLoad and duplication #jira UE-56089 Change 3945301 by Andrew.Rodham Sequencer: Added safety checks during initial sequence recording to guard against applying negative or 0-sized sequence ranges #jira UE-56125 Change 3946627 by Max.Preussner Fortnite: Fixed game crashes closing editor while in PIE - Pure virtual function being called #jira UE-56144 [CL 3946896 by Max Chen in Main branch]
2018-03-14 22:09:33 -04:00
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 4044339) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3947021 by Max.Chen Sequencer: Don't preserve root component when copying object properties. A spawnable empty actor, has a root component that is generated by the empty actor factory. If the object template's root component is preserved when copying from the spawnable empty actor, the root component will not be copied over. Therefore, we need to NOT preserve the root component when copying object properties. #jira UE-55825 Change 3947366 by Max.Preussner WmfMedia: Better log output Change 3947367 by Max.Preussner MfMedia: Better detection of compressed format properties on Windows Change 3949102 by Max.Chen Sequencer: Remove SequenceActorTag when converting to possessable. #jira UE-56206 Change 3949207 by andrew.porter EngineTest: Set the screenshot nodes resolution to 1280x720 Change 3949404 by Max.Chen Sequencer: More informative tooltip for "Rerun Construction Scripts" option. It now says "Rerun construction scripts every frame on actors that have 'Rerun Construction Script in Sequencer' enabled in their class settings". Change 3950067 by Matt.Hoffman Renamed UAutomatedLevelSequenceCapture's StartFrame and EndFrame to CustomStartFrame/CustomEndFrame to reflect that it is user-overriden. This will also resolve upgrade issues due to the variable datatype changing. #jira UE-56189 Change 3950193 by JohnHenry.Carawon Updating my latest MovieRendering test content. Change 3950757 by JohnHenry.Carawon More updates to MovieRendering test content Change 3952059 by Max.Chen Resave LevelVisibility_SubLevels to fix data loss conversion warning of OpacityMaskConstant #jira UE-56086 Change 3952283 by Max.Chen Sequencer: Disable dropping level sequence assets as spawnables. #jira UE-56120 Change 3952422 by Max.Chen Sequence Recorder: Add button to record from the current player. #jira UE-55942 Change 3952987 by JohnHenry.Carawon MovieRendering Test Content - Fixing camera bindings and changing the override binding actor Change 3953823 by Mike.Zyracki Fix for Bad FBX Import Tangents not scaled by frame rate. After looking at this again it seems that a set of MovieScene:: overiddes for the channel traits wasn't set correctly, so use the ADL idiom to use MovieScene, which can then call Optimize in the correct namespace. With this we can now correctly use the passed in tolerance. There was also a redundant set of Optimize calls so that it could happen twice so removed them, and needed an extra check in the float channel Optimize. Also since we need to set auto tangents no matter if we optimize we don't set that parameter(though leave it since it's used by context menu key reduction). Finally fixed speed issue with trajectories caused by calculating way too many substeps. Reverted back to a time based step size for consistency. #jira UE-56193 Change 3954317 by Matt.Hoffman Adding a key to the last frame of a section no longer causes a crash. Keys can already be moved to be on the last frame of a section so now you can just add a key there directly. #jira UE-56255 Change 3954326 by Matt.Hoffman Dilating a section that is only infinite on one side no longer causes a crash. #jira UE-56260 Change 3954486 by Max.Chen PR #4580: Exposes IsReversed() from UMovieSceneSequencePlayer (Contributed by alanedwardes) Change 3955238 by Max.Preussner Messaging: Enabled delayed message routing https://github.com/EpicGames/UnrealEngine/pull/4574 #jira UE-56247 Change 3955901 by Max.Preussner MediaFrameworkTest: Added developer test for overriding desired media player plug-in at runtime. Change 3955922 by Andrew.Porter QAGame: Updating movie rendering content in dev folder Change 3956004 by andrew.porter QAGame: Adding MPC track to movie rendering test content Change 3956510 by Max.Chen Sequencer: Fix fbx camera import of static properties so that they are imported before default tracks are created. Otherwise, the default tracks inherit the default properties of the camera, rather than the values from the fbx. #jira UE-56311 Change 3957613 by Max.Preussner MediaUtils: Added code documentation to media player facade Change 3958005 by Max.Preussner MediaUtils: Added method to get number of sinks Change 3958934 by Max.Chen Sequencer: Fix keys getting added and sequence getting erroneously re-evaluated when auto key is off. Only apply defaults if there are no keys. Only modify the movie scene section before creating keys or setting defaults. #jira UE-55903 Change 3959687 by Andrew.Rodham Sequencer: Fixed visibility track external values being inverted #jira UE-56324 Change 3960507 by Max.Preussner Core: Fixed incorrect rounding in FMath::DivideAndRoundNearest Change 3962047 by JohnHenry.Carawon MovieRendering Test Content Changes: - Add Lightmass Importance Volumes to sublevel to fix warnings - Rebuilt Lighting - Add a third sequence for Gamut testing - Resaved the sound master.uasset to fix warning Change 3962211 by Mike.Zyracki Add Frame Numbers to selected animation sections. Added MapTimeToAnimation to MovieSceneSkeletalAnimation so that we could get it from the Skeleton Animation track Editor. Since the thickness of the frame line can change based upon frame rate and zoom we need to calculate it similarly to how the time slider controller does it. Those calculations were private so we had to expose FScrubRangeToScreen and GetScubberPixelRange from the TimeSliderController. Also needed to know if the section itself was selected so added a bIsSelected flag to the section Painter. Also fixed a bug where you couldn't add a section if other sections existed at different times in MovieScenePropertyTrack and could crash due to the check(). #jira UESEQ-395 Change 3962497 by Max.Preussner Core: Added new string formatting argument to FTimespan Change 3963662 by Max.Chen CineCamera: Flip VistaVision width and height. Change 3963731 by Max.Preussner MediaCompositing: Implemented sequence recording support for media track Change 3964195 by Andrew.Rodham Sequencer: Set inverted property correctly for newly created visibility track sections - Also clamp evaluation for key editors to the bounds of the section so we're not displaying values outside of the section bounds when the cursor is not on the bounds #jira UE-56324 #coderevew Max.Chen Change 3964196 by Andrew.Rodham Sequencer: Fixed crash when attempting to render sections that resulted in a negative intersection with the view range Change 3964275 by Andrew.Rodham Sequencer: Fixed MovieScene::ClampToDiscreteRange for infinite range bounds Change 3964364 by Andrew.Rodham Curve Editor: Reduce minimum vertical view range when zooming to fit Change 3965091 by Max.Chen Sequencer Recorder: Refresh next sequence if empty when starting a recording, otherwise, use existing name. #jira UE-56469 Change 3965148 by Max.Chen Sequence Recorder: Move Record to Possessable to "Actor Recording" group Change 3965162 by Max.Chen Sequence Recorder: Always break out of immersive mode when done recording, even when stopping recording during countdown. #jira UE-56407 Change 3965214 by Max.Preussner QAGame: Enabled ImagePlate plug-in Change 3965574 by Max.Preussner SimpleComposure: Reorganized & upgraded content to work with new Media Track #jira UE-56488 Change 3965651 by Max.Preussner MediaCompositing: Ignoring seek-on-open if media not seekable Change 3966075 by Christina.TempelaarL Sequencer: Added Final Cut Pro 7 XML Export functionality #jira UESEQ-358 Change 3966087 by Matt.Hoffman Adding a single key to the Particle Toggle track now makes an infinite range section that is displayed in the UI. #jira UE-56295 Change 3966547 by Andrew.Rodham Sequencer: Fixed rounding errors when drawing the section background on boolean sections - Logic was using time in sectonds which caused rounding errors on evaluation and flickering red/green stripes when dragging keys around #jira UE-56324 Change 3966563 by Andrew.Rodham Curve Editor: Key editor interface improvements - SKeyEditInterface has a few problems - it does not update in real time when editing properties, and does not support multi-edit which makes it unsuitable for use with the curve editor - We now take a different approach for editing keys by gathering a set of proxy UObjects for each key that is currently selected. These objects are added as top level objects to the details panel which means they support multi edit as you'd expect from any other details panel in the editor. - Proxy objects are updated every tick for the curve editor if they implement the ICurveEditorKeyProxy interface, which allows them to refresh their current value. - Ideally, the same mechanisms would be used in the main sequence interface, and we would be generating the proxy classes at runtime based on the key value type, but that work remains a separate task from this initial offering. #jira UE-56165 Change 3966564 by Andrew.Rodham Curve Editor: Expand to frame when adding or moving keys in the curve editor Change 3967051 by andrew.porter MediaFrameworkTest: Set the CameraPlayer_Video texture to auto clear Change 3967141 by Andrew.Rodham Sequencer: Keep track of spawned objects that have been modified and only re-save such object's default spawnable state on destruction - Now that we're taking this approach, I've remove serveral redundant bits of functionality in the spawn register such as making some spawnables read-only, and the PreSave binding for Sequencer. - We now hook into all object pre-saves to make sure we handle the case where the sequences are saved through the content browser or elsewhere. #jira UE-47686 Change 3967170 by Andrew.Rodham Sequencer: Added the ability to possess anim instances as object bindings - This allows full and direct animation of properties on UAnimInstance, and animation blueprints - Object Bindings are made by first possessing a skeletal mesh component, then choosing the + Add button where its anim instance will be listed - Added a new function to UMovieSceneSequence to gather previously cached objects that should now be invalidated. Anim instances will be re-resolved if a new UAnimInstance is assigned to USkeletalMeshComponent::GetAnimInstance. - ObjectBindingIDs for anim instances are just represented by an entry in a set of GUIDs. We only ever resolve such bindings through USkeletalMeshComponent::GetAnimInstance. - Only currently supported on LevelSequences #jira UE-56132 Change 3967195 by Max.Preussner Core: Updated TRangeSet to use TCallTraits Change 3967345 by JohnHenry.Carawon Test Content Changes - first iteration of spacing out the examples in the shots. Change 3967572 by Max.Chen Sequencer: Fix setting PreviousPlayEvalPosition until after we've tested whether it's set. #jira UE-56518 Change 3967750 by Max.Chen Audio: Set duration based on number of input channels, rather than number of channels to serialize. This fixes an issue where audio split into 2 channels is set to a duration that's twice as long. #jira UE-56430 Change 3967836 by Max.Chen Sequencer: Allow for animating array elements within ustruct properties #jira UE-55887 Change 3968506 by Matt.Hoffman Fixed ambiguous conversions for seconds and frames being overriden by ambiguous conversion to Timecode (in frames). Change 3968748 by Max.Chen Sequencer: Make the event properties submenu widget larger. #jira UE-55557 Change 3968862 by Max.Chen Sequencer: Recursive expansion when shift is down #jira UE-52139 #pr 4194 Change 3968863 by Max.Chen Sequencer: Bind rename command to selected track so that F2 shortcut start renaming #jira UE-52139 #pr 4194 Change 3968872 by Max.Chen Sequencer: Rekey the selected key at the current time. #jira UESEQ-396 Change 3968938 by Max.Chen Cine Camera: Add option to toggle the behavior of locking the rail mount to the orientation of the spline. By default, the option is off, no change in behavior. #jira UE-55815 Change 3968958 by Andrew.Rodham Sequencer: Consider vertical position when hittesting keys #jira UE-56256 Change 3969643 by Max.Preussner Core: Rounding timespans created from double values towards nearest ticks Change 3969646 by Max.Preussner MediaUtils: Implemented timeout mechanism for block-on-fetch feature Change 3969776 by Mike.Zyracki Added Skip Anim Notifiers Toggle per what was in Matinee. Investigated the Enable Root Motion toggle as also discussed but it's implementation is directly contained by the animation asset and unlike animation notifies there seems to be no exposure to interactively disable it during a playback tick. Note if we are generating thumbnails we still automtically disable notifies in the editor to avoid annoying noise playback. Note that if Enable Root Motion/Root locked is specified in the animation asset it does correctly effect the Sequencer. #jira UESEQ-399 Change 3969835 by Matt.Hoffman Playback Range and Selection Range use unified logic for adding themselves as potential snap locations which properly handles inclusive/exclusive bounds. This resolves an issue where having an unset selection range caused a potential snap location to be added on frame 0 and 1 (internal resolution) which caused a misalignment when placing objects near frame 0. This also removes the one frame offset on setting Selection Range to bring behavior inline with other ranges. #jira UE-55420 Change 3969885 by Max.Preussner MediaAssets: Don't register media player CDO with media ticker Change 3971129 by Andrew.Rodham Sequencer: Fixed UMovieSceneSequencePlayer::GotToEndAndStop() not taking into account for start time This is a remnant from when the times were always specified in 0-duration space, rather than actual sequence times. Change 3972056 by JohnHenry.Carawon More updates to Test Content. I continued spacing out the examples in the sequence so that they have a consistent number of frames between each example and during the start/end of the example. Also removed the Marcie sublevel. Change 3972066 by Andrew.Porter MediaFrameworkTest: Setting Marcie folder to be never cooked in package settings Change 3972675 by Matt.Hoffman Splitting Subsequence Sections no longer sets an incorrect playback range on the subsequence when the subsequence has a different internal resolution than the owning sequence. #jira UE-55453 Change 3973376 by Max.Preussner ImgMedia: Zero is the only valid video track for image sequences Change 3973489 by Max.Preussner Launch: Build rules cleanup pass - don't use Media, MediaUtils on server apps - don't link against Media (include-only dependency) - don't include from MediaAssets (dynamic load only) Change 3973760 by Max.Preussner MediaUtils: Moved AppMediaTimeSource implementation into its own file; added logging Change 3973765 by Max.Preussner ImgMedia: Disallowing seek beyond media length Change 3973855 by Max.Preussner MediaFrameworkTest: Updated developer test content Change 3973858 by Max.Preussner MediaCompositing: Blocking on media player time instead of media sample time (the former may not be hit in the current frame) Change 3974988 by Max.Chen Sequencer: Fix trim left so that it also sets the start offset for audio and skeletal animation sections. #jira UE-57015 Change 3976101 by Matt.Hoffman Sequencer will now focus the scroll view on newly created items. #jira UE-56492 Change 3976203 by Max.Chen Property Editor: Add DetailsViewArgs for ColumnWidth. Defaults to 0.65f, no change in existing behavior. Change 3976205 by Max.Chen Sequencer: Set better column widths for sequencer. #jira UE-55557 Change 3976206 by Max.Chen Sequencer: Added menu category for import/export Change 3976265 by Matt.Hoffman Tracks within Object Binding Nodes will now sort using the old behavior so that components are added above other track types. #jira UE-56473 Change 3976901 by Max.Chen Sequencer: Add event names to event track section #jira UESEQ-353 Change 3977878 by Max.Preussner Media: Moved media framework ticking stats into Media module Change 3977982 by Max.Chen Sequencer: Add Edit->Reset section length to duration of source (ie. audio, skeletal animation, shot length) Added MovieSceneSection::GetDefaultDuration and MovieScene::HasDefaultDuration #jira UESEQ-392 Change 3977994 by Max.Preussner Media: Fetching and rendering media samples before viewports are rendered (to ensure frame sync for in-level media playback) #jira UE-53975 Change 3978188 by Matt.Hoffman Easing Curves are now clipped by the sequence's PlayRange when testing against an infinite section. This causes blended sequences to finish their blend when the section starts/ends instead of always using 25% of the total section length to determine default blend range. #jira UE-56362 Change 3978676 by Max.Preussner MediaCompositing: Fixed first frame of rendered out media track missing #jira UE-53975 Change 3978684 by Max.Preussner MediaCompositing: Enabled media track frame sync feature #jira UE-53975 Change 3980026 by Matt.Hoffman Keys can be selected on folded out sections (such as an audio track expanded to show volume and pitch) again. #jira UE-57169 Change 3981614 by Max.Preussner MediaUtils: Added missing subtitle sample queue flush Change 3982311 by Max.Preussner MediaCompositing: Added safeguard for zero length media sources Change 3982389 by andrew.porter QAGame: Adding media track test content into FrameAccuracySubscene Change 3983661 by Max.Chen Sequencer: Add level name to spawn a spawnable into. Add sublevel menu option to set the level #jira UESEQ-390 Change 3983712 by Andrew.Rodham Sequencer: Purge legacy blueprint spawnables from LevelSequence packages #tests Ran a preflight for cooking fortnite, ocean and Orion. Only orion shows up this edge case, and will require a re-save of the EndCines level #jira UE-39173 Change 3983787 by Max.Preussner MediaCompositing: Moved compile time switch for block-on-fetch into media player facade Change 3983812 by Andrew.Rodham Sequencer: Exposed default level sequence instance data to blueprints Change 3984373 by Max.Preussner Media: Added API for quering whether player plug-in supports block on fetch Block on fetch allows Sequencer and other systems to block the game thread until a desired video frame has been decoded. Change 3984670 by JohnHenry.Carawon Movie Rendering Test Content progress. Saving the state of the content. There is a bug where things got replaced with particle emitters and I think it was because I tried to copy paste an animation track into a separate skeletal mesh track. Change 3985097 by Max.Chen Sequencer: Rename Reset to AutoSize Change GetAutoSizeDuration to return TOptional<FFrameTime> #jira UESEQ-392 Change 3986043 by Max.Chen Sequencer: Fix crash when attach/path duration is less than 0. #jira UE-57310 Change 3986373 by Max.Chen Sequencer: Add support for deleting tracks and channels which equates to setting the channel mask. #jira UE-52951 Change 3986375 by Max.Chen Sequencer: Add Create Pose Asset to skeletal animation section. This allows animators to blend animations in sequencer and create new pose assets from them. #jira UESEQ-408 Change 3986796 by Andrew.Rodham Sequencer: Fixed stale object references remaining in ULevelSequence::BindingReferences when using convert to spawnable/possessable - We used to convert objects by creating a new binding, then re-assigning its GUID, which meant we didn't have to do any further object fixup, but the code to achieve this was confusing and led to a vulnerability where object references would not be cleaned up correctly due to the newly created possessable essentially being a temporary object that's immediately thrown away. - To address this, there is now a function for porting all the contents of one object binding to another, and handles the correct fixup required for parent/child object bindings for both spawnables and possessables. - Also added codepath to remove any stale object references from the level sequence reference map on PostLoad (this piggy-backs off the PurgeLegacyBlueprints object version which is close close enough to this change to be identical) #tests Verified that existing sequences with stale references get cleaned up on load. Verified that repreatedly converting from spawnable<->possessable cleans up references correctly. Change 3987807 by JohnHenry.Carawon Updates to the MovieRendering Test Content. - Fixed the spawnable actors that were overwritten - Shortend the Lighting example and combined the Intensity and Color tracks - Organized the Sequence and WorldOutliner to group the examples. Change 3988151 by Max.Chen Cine Camera: Enable keying the "Enable Look at Tracking" toggle. Change 3988880 by Max.Chen Sequencer: Support enter to add asset for all sequencer track editors that have asset pickers. #jira UE-57367 Change 3988953 by Max.Chen Sequencer: Make the track color picker focusable so that it will close when you click away or lose focus. #jira UE-57210 Change 3988962 by Max.Chen MovieSceneCapture: Fix EDL export so that it takes into account movie scene frame resolution and desired frame rate. #jira UE-57365 Change 3988964 by Max.Chen Movie Scene Capture: Clarified tooltip for bRelativeFrameNumbers. If you specify custom start/end frames for the recording, they will be relative to the playback range. #jira UE-57308 Change 3989442 by Max.Chen Fix CIS Change 3991548 by Matt.Hoffman Dragging the time slider no longer causes the time slider to ignore snap-to-interval with "Snap to Keys While Scrubbing" when no keys are in range. #jira UE-57417 Change 3991598 by Matt.Hoffman Snap to Key while scrubbing now mirrors the behavior of "jump to next key". When there are no tracks selected it snaps to all keys and when there are tracks selected it snaps to only keys from that track. This also resolves an issue where deleting an object did not remove it from the Sequencer's selection. Undoing a delete already doesn't seem to restore your selection, so removing it from your selection shouldn't change that behavior. #jira UE-57417 Change 3991603 by Max.Chen Sequencer: Disable EditAnywhere for some section properties #jira UE-53530 Change 3992240 by Max.Preussner MediaAssets: Implemented dynamic audio sample rate adjustment based on audio/media clock drift #jira FORT-70638 Change 3992911 by Andrew.Rodham Sequencer: Fixed saving spawnable state using the wrong spawned object - We now track the object binding ID so that we can apply the spawned object to the correct spawnable when the asset is saved #jira UE-57353 Change 3992914 by Max.Chen Movie Scene Capture: Fix compression quality not being set. The compression interface wasn't being found through query interface, so no compression was being set. Reworked finding it through the output pins. Tested running various compression values. #jira-UE-55488 Change 3992919 by Max.Chen Sequencer: Convert to possessable now uses object template instead of copying properties (ie. see LevelSequenceActorSpawner). This fixes MIDs getting lost when converting to spawnable and back to possessable. #jira UE-52400 Change 3993184 by Max.Chen Sequencer: Don't show +Transform/+Path/+Attach track if the actor has the "Mobility" property hidden. Set the Landscape, LandscapeProxy and InstancedFoliage "Mobility" property to be hidden since it is static is not supposed to be dynamically movable. #jira UE-56347 Change 3993238 by Max.Chen Sequencer: Test for hidden mobility in creating keys as well. Refactored to HasHiddenMobility() #jira UE-56347 Change 3993978 by Max.Chen Cine Camera: Enable keying the "Enable Look at Tracking" toggle. #jira UE-57489 Change 3994039 by Max.Chen Landscape: Add Mobility to hidecategories on landscape component #jira UE-56347 Change 3994626 by JohnHenry.Carawon Updated Movie Rendering Test Content. - Fixed the overridden spawnables to their proper object types. Change 3994653 by Christina.TempelaarL Sequencer: Added Final Cut Pro 7 XML Import functionality, improved Export functionality #jira UESEQ-358 Change 3995609 by Max.Chen UMG: Add support for 2d transform mask (translation, rotation, scale, shear) #jira UE-52951 Change 3995778 by JohnHenry.Carawon Movie Rendering Test Content Updates - Adjusted Lights example - Adjusted Camera example - Added Marcie sublevel back in Change 3995942 by JohnHenry.Carawon QAGame: Moving Movie Rendering test content from Developer folder to Sequencer folder Also adjusted level visibility, lights and camera example. Change 3995993 by Christina.TempelaarL Sequencer: FCPXML Export updates - only export sections if in playback range and media exists, warn if media does not exist. Other updates - removed unused methods and variables, fixed message context naming to be more accurate #jira UESEQ-358 Change 3996595 by andrew.porter QAGame: Updating Marcie content in TrackEvaluation level to use Image Plate Change 3996614 by andrew.porter QAGame: Adding color test sequence to the sublevel Change 3996643 by Max.Chen Sequencer: Fix fbx animation export - rotation and scale channels were flipped. #jira UE-57509 #jira UE-57512 #jira UE-57514 Change 3996652 by Max.Preussner Messaging: Fixed delayed messaging using incorrect current time after message router sleep Based on https://github.com/EpicGames/UnrealEngine/pull/4601 Change 3996801 by Max.Chen Sequencer: Fix folder active state for non key area sections. Look at track node sections as well as key areas. #jira UE-57550 Change 3997098 by Matt.Hoffman Cleaned up some remaining ToDo's in STimeRange. Change 3998339 by Max.Preussner Sockets: Added documentation for socket receive functions Change 3998359 by Max.Preussner MediaUtils: Started to implement media recorder helper class Currently only supports BGRA frames in CPU memory. Supporting other formats and buffer types will require conversions on render-thread. I recommend refactoring out the existing conversion code in FMediaTextureResource into a reusable helper class in the MediaUtils module. This should be a good starting point though. Change 3998417 by Matt.Hoffman Keys and Sections can now be moved at the same time inside of Sequencer. Keys can now snap to Sections (and vice versa) instead of just to other Keys. Sections can now be duplicated like keys can. #jira UE-56995 Change 3998427 by JohnHenry.Carawon QAGame: Updating test content for the Movie Rendering feature. - Added an auto activate particle to the beginning of the sequence (it's not part of the sequence at all) - Added an event receiver blueprint to the Events example - Added a particle emitter to both sublevels - Added a camera cut to the end that switches to a separate camera - The camera zoom in, focus and Look At sections are all separate (not overlapping in the sequence) - Added a second actor for the camera Look At - Added a Visibility section for the Actor Hidden In Game track that has possessable and spawnable cube and light Change 3998537 by Max.Chen Sequence Recorder: Restore immersive mode when stopping the sequence even if not in PIE. #jira UE-56407 Change 3999809 by Matt.Hoffman Removed the "Go To" box from Sequencer and instead placed the current time as an always visible control. The previous shortcut (Ctrl + G) now focuses the new widget directly. #jira UESEQ-376 Change 4000543 by Christina.TempelaarL Sequencer: Moving editor-only code from runtime module MovieSceneCapture to editor module MovieSceneTools. Moved EDL and FCP XML exporters as well as Automated Level Scene Capture. #jira UESEQ-358 Change 4000706 by Matt.Hoffman Entering multiple time strings without a number no longer crashes Sequencer. #jira UE-57672 Change 4001051 by andrew.porter MediaFrameworkTest: Fixing up some image sources pointing to the wrong location Change 4001191 by andrew.porter QAGame: Adding some quick EDL/XML test content to dev folder Change 4001243 by Max.Chen Sequencer: Fix import EDL out of range. #jira UE-57665 Change 4001856 by Matt.Hoffman Selecting keys and sections at the same time now also works with animation and audio sections. #jira UE-57716 Change 4002021 by Max.Chen Sequence Recorder: Fix sequence name incrementing. If external recording sets the sequence name, use it. Otherwise, use the recording name from the recording group or the recording settings. #jira UE-57712 Change 4002618 by Max.Chen Viewport: Update the look at location when updating to a locked actor. This fixes an issue so that popping the view out of a locked actor and manipulating the view will not jump to the previous look at location. #jira UE-57725 Change 4002979 by Matt.Hoffman Fixes several edge cases with the end time range that was causing confusion about what the last frame of the sequence was. Dragging the End Frame slider will no longer be off by one tick and jumping to the end via the UI controls now properly respects snapping and stays inside the play range instead of falling outside of it. Overall behavior does not change though and End Frame should be considered an exclusive frame so that frames 0-150 results in a 150 frame long animation (which is frames 0-149). #jira UE-56367 Change 4003185 by Matt.Hoffman Fixed a regression that prevented a section from being dragged upwards past row 0 which normally resulted in all other rows moving down. #jira UE-57717 Change 4003193 by JohnHenry.Carawon QAGame: Updates to test content - Shortened frames between the examples from 95 to 30 - Separated camera setting tracks - Lighting example now switches directly from constant red - green - blue Change 4003369 by Max.Chen Sequence Recorder: Refresh next sequence regardless of internally stored sequence name. #jira UE-55757 Change 4003586 by JohnHenry.Carawon QAGame: Test Content Updates - Level Visibility track now ends to that the levels are not visible when we move to the next example - Shortened camera section, removed Z tranform so that we just move left to right and shortened the overall length Change 4004414 by Max.Chen Movie Scene Capture: Fix regression where rendering with shot handles would only render the first shot. 3972166 addressed an issue where an extra frame would be rendered by finalizing right when the end frame was reached. This was hit on the first shot end frame, so instead, do this only for when the last shot is being rendered. #jira UE-57314 Change 4004765 by Christina.TempelaarL Sequencer: Fixed bugs in FCP XML import/export. - Export: fixed sequence default resolution. - Export: fixed XML files with no shots. - Export: all sections clipped to playback range. - Export: fixed incorrect section start/end times due to precision issues. - Import: fixed incorrectly adding cinematic tracks. - Import: fixed bugs creating new sections. #jira UE-57660 #jira UE-57662 #jira UE-57655 #jira UE-57761 Change 4005119 by Max.Chen Sequencer: Export/import at play rate Change 4005195 by Max.Chen UMG: Finish UMG evaluation on stop. Added object version so that existing UMG assets do not change. #tests - Newly created UMG animation with sections set to restore state now return to their original state. Existing UMG animations with sections set to restore state do not return to their original state. #jira UE-52285 Change 4005377 by Michael.Karambelas QAGame: Moving TM-SequenceRecorder and related content out of my developer folder and into /Content/Sequencer/SequencerRecorder/* Change 4005417 by Michael.Karambelas QAGame: Fixed a BP compiler in the Level Blueprint of TM-SequencerRecorder. Change 4005634 by Michael.Karambelas QAGame: Fix up missing content and broken level sequence in TM-SequenceRecorder after move Change 4006324 by Max.Chen Sequencer: Reset if the focused movie scene is null. This fixes a crash if the user is focused in on a shot and undo takes the user past the point of where the shot was created. #jira UE-57752 #jira UE-47661 Change 4007006 by Max.Chen Sequencer: Fix FindAvailableRowIndex so that it returns the max row index (and not +1) since it doesn't find any conflicting rows. #jira UE-57717 Change 4007907 by Max.Chen Sequencer: Fix crash if there's no animation Change 4007948 by andrew.porter QAGame: added test content to dev folder for Record World Space Change 4008636 by Max.Chen Sequencer: Fix import fbx not setting values properly and creating additional cameras unncessarily. #jira UE-57864 Change 4008759 by Max.Chen Sequencer: Follow up fix for import cameras #jira UE-57864 Change 4009994 by Matt.Hoffman Dragging the left or right handles of the Time Range slider in Sequencer will now zoom your view in on the current center of the screen. This prevents the view from being translating as you tried to zoom in which caused issues at high zoom levels. #jira UESEQ-407 Change 4010169 by Christina.TempelaarL Sequencer: FCP XML fixes. - FCP XML export - no longer clips to playback range - FCP XML and EDL export - fixed missing last frame of some sections after exporting to Premiere. - Automated level capture, EDL export - use RoundToFrame instead of FloorToFrame for computing section start/end frames after frame rate conversion. #jira UE-57802 - partial fix, movie scene capture still needs to render full section rather than clip against playback. Change 4010287 by Mike.Zyracki Add quaternion interpolation option to UMovieScene3DTransformSection. This mimics how Matinee used to work by bascially finding the keys between a time and interpolating the angles as quat's between them. As noted in the code the algorithm needs to handle the case when the x,y,z Rotation keys all aren't at the same time which was not handled by Matinee. Also like Matinee, when in quaternion interoplation mode, we need to not display the function cuves since the interpolated and key values are now all different. (Would like to show them but that's a bigger refactor for perhaps just a one off needed by quaternions). I added a virtual function UMovieSceneSection::ShowCurveForChannel for this since it needs to be dynamic, not on construction of IKeyArea's, and could be useful for other sections. I could though move the method to just UMovieScene3DTransformSection and do a cast instead. Looked into doing a unit test for this but after talking with Andrew P we will work on doign an automated test in EngineQA since that will provide more coverage. Will also add a video the jira. #jira UESEQ-403 Change 4010713 by Mike.Zyracki Added option to key a group of transform channels instead of just the changed channel, or all of them. This is useful for quaternion interpolations where you want rotation keys to be aligned but also useful for other workflows like animating FK Pose to Pose. Change 4010715 by Andrew.Porter MediaFrameworkTest: Setting LogMediaUtils logging from VeryVerbose to Verbose to cut back on the spam Change 4013048 by Max.Chen Sequencer: Fix play/jump status. Update the player status for all position methods (Scrub, Jump, Play). Jump means Stopped. Correctly use PlayTo or JumpTo based on position method. In PlayInternal, JumpTo with the Stopped state (rather than playing state). #jira UE-57844 Change 4013479 by andrew.porter QAGame: Added content in TM-SequenceRecorder to test recording a property on a Cine Camera Component; Press 3 to trigger manual focus distance to increment on a timer Change 4014323 by Max.Chen Sequencer: Fix SetPlaybackPosition so that it jumps or plays based on playback status. #jira UE-57844 Change 4015888 by Max.Chen Sequencer: Fix crash on paste. UMovieSceneSections were gathered from the track node's track. For sub track mode, we want to gather only those sections on that track node row. #jira UE-57951 Change 4015943 by Max.Chen Sequencer: Fix moving shots up when the mouse pos goes outside of the virtual track area. #jira UE-57717 Change 4016293 by Max.Chen Sequencer: Fix relative frame playback end frame calculation so that custom start/end frames remain in the space of the sequence and are not relative. #jira UE-57308 Change 4017075 by Andrew.Rodham Sequencer: Corrected initial evaluation range used when calling UMovieSceneSequencPlayer::Play() Change 4017270 by Christina.TempelaarL Sequencer: FCPXML importer and movie scene capture - Use CeilToFrame when converting section start/end frame times to frame numbers in FCPXML and movie scene capture. - Added support for clip metadata in FCPXML. - Got rid of redundant TokenizedError message class, no longer needed now that FCPXML is in editor directory. - Added log messages currently commented out due to exception, still testing. #UESEQ-358 Change 4018370 by Christina.TempelaarL Sequencer: fixed FCPXML log messages regarding sections with start/end not divisible by display rate. #UESEQ-358 Change 4018378 by Christina.TempelaarL Sequencer: fixed error in previous changelist. #UESEQ-358 Change 4019457 by Max.Chen Sequencer: Show event names only when the event track is selected #jira UE-57897 Change 4022806 by Max.Chen Sequencer: Fix crash on movie scene capture dialog shutdown if movie capture wasn't even started. #jira UE-58106 Change 4022894 by Max.Chen Sequence Recorder: Wrap OpenEditorForAssets after sequence recording within GIsEditor #jira UE-58084 Change 4024487 by Max.Chen Sequencer: Add tooltip for quat interpolation #jira UE-58113 Change 4024562 by Max.Chen Sequencer: Change path/attach track sequence binding id to currently focused sequence id so that bindings can be created in subsequences Change 4027414 by JohnHenry.Carawon QAGame: Checking in content that shows a bug with using particles systems and Delay Before Shot Warm Up. Change 4028990 by Max.Chen Sequencer: Fix evaluate sub sequences in isolation. This check was added with the compile on the fly logic. Not sure why it was necessary but it seems like the sub sequence data needs to be updated in order to evaluate sub sequences in isolation. #jira UE-58184 Change 4029004 by Max.Chen Sequencer: Ensure that old binding references are removed when re-assigning actors in sequencer #jira UE-57898 Change 4030997 by JohnHenry.Carawon QAGame: Fixing name of the master sequence Change 4031785 by Michael.Karambelas QAGame: Added an instance of ThirdPerson Run to TM-SequenceRecorder for Record to Possessable test. Change 4035548 by Andrew.Rodham Sequencer: Changed FMovieSceneEvaluationTemplate::TemplateSignature to be a serial number to address non-deterministic cooking issues - This commit is related to the repro steps found in 3914599 and 3934307, both of which have been verified with this new change. - Copy of 4031684 from //Fortnite/Main/... #jira FORT-84852 Change 4036312 by Max.Chen Sequencer: Fix zoom view range so that it uses the passed in InZoomDelta Change 4036318 by Max.Chen Sequencer: Auto size now returns a range and defaults to the channel proxy range so that keyed regions can also be autosized. Change 4036322 by Max.Chen Forgot missing change Change 4036360 by Max.Chen Sequencer: Fix play rate calculation when skeletal animation section play rate changes. Change 4037163 by Mike.Zyracki Weighted Tangent Implementation Tricky thing is that you need to solve a cubic in order to get the bezier weights for the time part of the curve. See https://www.gamedev.net/forums/topic/474094-help-function-curves-for-animation-interpolation/ Maya provides an implementation in it's dev kit but I didn't use it since it was horribly slow and uses an iterative solution to solve the cubic needed. Instead I use an old algorithm (Cardano's method), to solve the cubic which should be much faster. Though relative simple to code from principles I just went ahead and used a version from Graphics Gems 1. I put this cubic solver directly in MovieSceneFloatChannel.cpp, but will need to move it when we support Rich Curve, maybe to FMath:: (which would probalby require some other functions for solving quartics, etc.. for completeness.). Also note we resolve this on every evaluation but dont' need to if the interval the time is evaluating hasn't had any change in values or tangents. So again when we support FRichCurve we can create a Weighted Evaluating class that can hold the cache. Also with the tangent drags I got rid of the Cardinal position that was used to calculate non-weight tangents from the key point and just quickly getting a direction. With weighted tangents we need to use the delta instead (otherwise when moving multiple they would all get the same weight based upon distance to the cardinal point. ) For mixed tangents types what I'm defaulting to non weighted if the interval doesn't match. May need to do weighted instead, not sure. What's left is just FBX import, for tomorrow. #jira UESEQ-76 Change 4037435 by Mike.Zyracki Fix fo build warnings from weighted tangent submission. #trivial Change 4038091 by Michael.Karambelas QAGame: Updated a Sequence Recorder group in TM-SequenceRecorder that had an actor missing the animation. Change 4038374 by Andrew.Rodham Sequencer: Refined scrubber styling for level sequences and actor sequences - Scrubber now shows a block the width of a dsplay rate frame, plus a line for the actual evaluated time. UMG reverts back to the previous styling (no block) - Keys that are outside of the playback range are now drawn with a subdued effect - Tick labels are no longer drawn when directly underneath the scrubber Change 4038490 by Max.Chen Sequencer: Expose tangent weight values in details panel. Change 4038620 by Andrew.Rodham Sequencer: Advanced time panel polish #jira UESEQ-426 Change 4038677 by Max.Chen Movie Scene Capture: Redirector for MovieSceneTools.AutomatedLevelSequenceCapture #jira UE-58248 Change 4039739 by Max.Chen Sequencer: Media track should only be supported by Level Sequence Change 4040024 by JohnHenry.Carawon QAGame: Fix EventReciever and OverrideBinding example The level sequence was set to none so the fix was to set it back to TrackEvaluation_Master. Change 4040610 by Andrew.Rodham Curve Editor: Moved weighted tangent switchers to a single toggle command (CTRL+W) and added an icon #jira 58383 Change 4040882 by Mike.Zyracki Keep broken when turning on weighted #jira UE-58435 Change 4041089 by andrew.porter QAGame: Sequence for Long Tangents bug Change 4041498 by Mike.Zyracki Turn off weighted when going auto to prevent large tangents. Do it both in UI and when doing AutoSetTangents() to really make sure it doesn't happen. #jira UE-58452 Change 4041752 by andrew.porter MediaFrameworkTest: Adding some better logging for setting rates when not supported. Also ignoring commiting URL when there is no text Change 4041896 by Matt.Hoffman The transform dialog box now transforms selected keys and sections, instead of just keys. #jira UE-58265 [CL 4044405 by Max Chen in Main branch]
2018-05-02 10:10:00 -04:00
TRange<double> SelectionRange = TimeSliderArgs.SelectionRange.Get() / TickResolution;
TRange<double> PlaybackRange = TimeSliderArgs.PlaybackRange.Get() / TickResolution;
Copying //UE4/Dev-Sequencer to //UE4/Main ========================== MAJOR FEATURES + CHANGES ========================== Change 2875025 on 2016/02/20 by Andrew.Rodham Sequencer: Cinematic viewport improvements - Added optional letterbox overlay (defaults to 2.35:1) - Added ability to change safe frame colors - Added selected tracks' keys to the transport range - Added buttons for jumping between selected tracks' keyframes on the transport controls - Removed black padding around the viewport where possible - Added ability to specify whether a combo button/menu anchor should close when its parent receives focus - Separated logic of FGroupedKeyArea into FSequencerKeyCollection, so it can be used independently - Added playback range to the viewport frame numbers - All frame numbers are now spin boxes #jira UE-26429 Change 2875026 on 2016/02/20 by Thomas.Sarkanen Added console commands for recording sequences Changed plugin to a developer plugin so we can load it when the editor is in -game mode. Added Exec commands. Added some more logging to help diagnose problems when using commands. Added loading/saving of config for recorder settings (stored in Editor.ini). Also disabled controls in recorder window when recording. Added auto-saving of assets when in non-editor modes. Moved animation settings from UnrealEd to Engine module. Change 2875036 on 2016/02/20 by Max.Chen Sequencer: Call RedrawAllViewports instead of RedrawLevelEditingViewports. In particular, this fixes some update issues when editing values in the key editors. #jira UE-26960 Change 2875046 on 2016/02/20 by Max.Preussner Sequencer: Fix so that clicking on UMG Animations doesn't dirty the scene. #jira UE-26249 Change 2875047 on 2016/02/20 by Max.Chen Sequencer: Add option to toggle display of channel colors/lines. View->Channel Colors Change 2877138 on 2016/02/23 by Max.Chen Sequencer: Select corresponding track node when selecting key or section. Removed active/inactive selection since it was only being used in deletion and the rules for deletion are now dependent upon what is selected - delete keys and sections before deleting outliner nodes. Change 2877143 on 2016/02/23 by Thomas.Sarkanen Added new math function: WindRelativeAnglesDegrees Given two angles in degrees, 'wind' the angle in Angle1 so that it avoids >180 degree flips. Good for winding rotations previously expressed as quaternions into a euler-angle representation. Change 2877147 on 2016/02/23 by Thomas.Sarkanen Added the ability to import sequencer transforms from the root node of an animation sequence Intended for use after re-importing animations from DCC tools. Available in the right-click menu for transform tracks. Also added FindTrackBinding to UMovieScene so track bindings can be recovered from tracks. Change 2877163 on 2016/02/23 by Max.Chen Sequencer: Add option to create keyframe sections as infinite. Sequencer defaults to true, UMG defaults to false. Change 2877165 on 2016/02/23 by Max.Preussner Sequencer: Drawing vertical position lines when dragging keys Change 2878748 on 2016/02/23 by Max.Chen Curve Editor: Switch curve type to user when flatting or straightening tangents. #jira UE-27277 Change 2878799 on 2016/02/23 by Frank.Fella Sequencer - Add folders support to the outliner. Change 2880769 on 2016/02/24 by Andrew.Rodham Sequencer: Added ability to override runtime spawnable ownership in sequencer - This is exposed as an option on spawnables "Keep Alive Outside Playback Range (In Sequencer)" - Enabling this will stop spawnables from being destroyed when scrubbing outside of the playback range #jira UE-27205 Change 2880770 on 2016/02/24 by Thomas.Sarkanen Sequencer: Added countdown and recording indicator display when recording Also fixed extra popups added post-PIE when animation recordings auto shutdown. Change 2880782 on 2016/02/24 by Max.Chen Sequencer: Snapping now also uses the current time as a possible snap time. #jira UE-26306 Change 2880793 on 2016/02/24 by Max.Chen Sequencer: Add +Animation to Animation track so that it's consistent with all other tracks that have a + button. Change 2880812 on 2016/02/24 by Max.Chen Sequencer: Fix adjusting the leading edge of a shot section so that it cuts into the shot rather than adjusts the start time. #jira UE-26306 Change 2881624 on 2016/02/25 by Andrew.Rodham Changing shader version GUID to fix corrupt shaders in ddc Change 2882408 on 2016/02/25 by Thomas.Sarkanen Asset/actors stored in TLazyObjectPtrs can now reference game content from engine This is a legitimate use case as lazy object ptrs are designed to reference assets/actors cross-domain. Change 2882409 on 2016/02/25 by Thomas.Sarkanen [CL 2899785 by Max Chen in Main branch]
2016-03-08 16:55:04 -05:00
Copying //UE4/Release-Staging-4.12 to //UE4/Dev-Main (Source: //UE4/Release-4.12 @ 2955635) ========================== MAJOR FEATURES + CHANGES ========================== Change 2955635 on 2016/04/26 by Max.Chen Sequencer: Fix filtering so that folders that contain filtered nodes will also appear. #jira UE-28213 Change 2955617 on 2016/04/25 by Dmitriy.Dyomin Better fix for: Post processing rendering artifacts Nexus 6 this device on Android 5.0.1 does not support BGRA8888 texture as a color attachment #jira: UE-24067 Change 2955522 on 2016/04/25 by Max.Chen Sequencer: Fix crash when resolving object guid and context is null. #jira UE-29916 Change 2955504 on 2016/04/25 by Alexis.Matte #jira UE-29926 Fix build error for SplineComponent. I just move variable under #if !UE_BUILD_SHIPPING instead #if WITH_EDITORONLY_DATA to fix all build flavor, please feel free to adjust according to what the initial fix was suppose to do. Change 2955500 on 2016/04/25 by Dan.Oconnor Integration of 2955445 from Dev-BP #jira UE-29012 Change 2955234 on 2016/04/25 by Lina.Halper Fixed tool tip of twist node #jira : UE-29907 Change 2955211 on 2016/04/25 by Ben.Marsh Exclude all plugins which aren't required for a project (ie. don't have any content or modules for the current target) from its target receipt. Prevents dependencies on .uplugin files whose dependencies are otherwise compiled out. Re-enable PS4Media plugin by default. #jira UE-29842 Change 2955155 on 2016/04/25 by Jamie.Dale Fixed an issue where text committed via a focus loss might not display the correct text if it was changed during commit #jira UE-28756 Change 2955144 on 2016/04/25 by Jamie.Dale Fixed a case where editable text controls would fail to select their text when focused There was an order of operations issue between the options to select all text and move the cursor to the end of the document, which caused the cursor move to happen after the select all, and undo the selection. The order of these operations has now been flipped. #jira UE-29818 #jira UE-29772 Change 2955136 on 2016/04/25 by Chad.Taylor Merging to 4.12: Morpheus latency fix. Late update tracking frame was getting unnecessarily buffered an extra frame on the RHI thread. Removed buffering and the issue is fixed. #jira UE-22581 Change 2955134 on 2016/04/25 by Lina.Halper Removed code that blocks moving actor when they don't have physics asset #jira : UE-29796 #code review: Benn.Gallagher Change 2955130 on 2016/04/25 by Zak.Middleton #ue4 - (4.12) Don't reject low distance MTD, it could cause us to not process some valid overlaps. (copy of 2955001 in Main) #jira UE-29531 #lockdown Nick.Penwarden Change 2955098 on 2016/04/25 by Marc.Audy Don't spawn a child actor on the client if the server is going to have created one and be replicating it to the client #jira UE-7539 Change 2955049 on 2016/04/25 by Richard.TalbotWatkin Changes to how SplineComponents debug render. Added a SetDrawDebug method to control whether a spline is rendered. Also extended the facility to non-editor builds. #jira UE-29753 - Add ability to display a SplineComponent in-game Change 2955040 on 2016/04/25 by Chris.Gagnon Fixed Initializer Order Warning in hot reload ctor. #jira UE-28811, UE-28960 Change 2954995 on 2016/04/25 by Marc.Audy Make USceneComponent::Pre/PostNetReceive and PostRepNotifies protected instead of private so that subclasses can implement replication behaviors #jira UE-29909 Change 2954970 on 2016/04/25 by Peter.Sauerbrei fix for openwrite with O_APPEND flag #jira UE-28417 Change 2954917 on 2016/04/25 by Chris.Gagnon Moved a desired change from Main to 4.12 Added input settings to: - control if the viewport locks the mouse on acquire capture. - control if the viewport acquires capture on the application launch (first window activate). #jira UE-28811, UE-28960 parity with 4.11 (UE-28811, UE-28960 would be reintroduced without this) Change 2954908 on 2016/04/25 by Alexis.Matte #jira UE-29478 Prevent modal dialog to use 100% of a core Change 2954888 on 2016/04/25 by Marcus.Wassmer Fix compile issue with chinese locale #jira UE-29708 Change 2954813 on 2016/04/25 by Lina.Halper Fix when not re-validating the correct asset #jira : UE-29789 #code review: Martin.Wilson Change 2954810 on 2016/04/25 by mason.seay Updated map to improve coverage #jira UE-29618 Change 2954785 on 2016/04/25 by Max.Chen Sequencer: Always spawn sequencer spawnables. Disregard collision settings. #jira UE-29825 Change 2954781 on 2016/04/25 by mason.seay Test map for Audio Occlusion trace channels #jira UE-29618 Change 2954684 on 2016/04/25 by Marc.Audy Add GetIsReplicated accessor to AActor Deprecate specific GameplayAbility class implementations that was exposing bReplicates #jira UE-29897 Change 2954675 on 2016/04/25 by Alexis.Matte #jira UE-25430 Light Intensity value in FBX is a ratio. So I just multiply the default intensity value by the ratio to have something closer to the look in the DCCs Change 2954669 on 2016/04/25 by Alexis.Matte #jira UE-29507 Import of rigid mesh animation is broken Change 2954579 on 2016/04/25 by Ben.Marsh Temporarily stop the PS4Media plugin being enabled by default, so the UE4Game built for the binary release doesn't depend on it. Will implement whitelist/blacklist for platforms later. #jira UE-29842 Change 2954556 on 2016/04/25 by Taizyd.Korambayil #jira UE-29877 Setup ThirdPersonCharacter based on correct Code Class Change 2954552 on 2016/04/25 by Taizyd.Korambayil #jira UE-29877 Deleting BP class Change 2954498 on 2016/04/25 by Ryan.Gerleve Fix for remote player controllers reporting that they're actually local player controllers after a seamless travel on the server. Transition actors to the new level in a second pass after non-transitioning actors are handled. #jira UE-29213 Change 2954446 on 2016/04/25 by Max.Chen Sequencer: Fixed spawning actors with instance or multiple owned components - Also fixed issue where recorded actors were sometimes set as transient, meaning they didn't get saved #jira UE-29774, UE-29859 Change 2954430 on 2016/04/25 by Marc.Audy Don't schedule a tick function with a tick interval that was disabled while it was pending rescheduling #jira UE-29118 #jira UE-29747 Change 2954292 on 2016/04/25 by Richard.TalbotWatkin Replicated from //UE4/Dev-Editor CL 2946363 (by Frank.Fella) CurveEditorViewportClient - Bounds check when box selecting. Prevents crashing when the box is outside the viewport. #jira UE-29265 - Crash when drag selecting curve keys in matinee Change 2954262 on 2016/04/25 by Graeme.Thornton Fixed a editor crash when destroying linkers half way through a package EndLoad #jira UE-29437 Change 2954239 on 2016/04/25 by Marc.Audy Fix error message #jira UE-00000 Change 2954177 on 2016/04/25 by Dmitriy.Dyomin Fixed: Hidden surface removal is not enabled on PowerVR Android devices #jira UE-29871 Change 2954026 on 2016/04/24 by Josh.Adams [Somehow most files got unchecked in my previous checkin, grr] - ProtoStar content/config updates (enabled TAA in the levels, disabled es2 shaders, hides the Unbuilt lighting warning on Android) #lockdown nick.penwarden #jira UE-29863 Change 2954025 on 2016/04/24 by Josh.Adams - ProtoStar content/config updates (enabled TAA in the levels, disabled es2 shaders, hides the Unbuilt lighting warning on Android) #lockdown nick.penwarden #jira UE-29863 Change 2953946 on 2016/04/24 by Max.Chen Sequencer: Fix crash on undo of a sub section. #jira UE-29856 Change 2953898 on 2016/04/23 by mitchell.wilson #jira UE-29618 Adding subscene_001 sequence for nonlinear workflow testing Change 2953859 on 2016/04/23 by Maciej.Mroz Merged from Dev-Blueprints 2953858 #jira UE-29790 Editor crashes when opening KiteDemo Change 2953764 on 2016/04/23 by Max.Chen Sequencer: Remove "Experimental" tag on the Level Sequence Actor #jira UETOOl-625 Change 2953763 on 2016/04/23 by Max.Chen Cinematics: Change text to "Edit Existing Cinematics" #jira UE-29102 Change 2953762 on 2016/04/23 by Max.Chen Sequencer: Follow up time slider hit testing fix. Don't hit test the selection range if it's empty. This was causing false positives when hovering close to the ranges. #jira UE-29658 Change 2953652 on 2016/04/22 by Rolando.Caloca UE4.12 - vk - Workaround driver bugs wrt texture format caps #jira UE-28140 Change 2953596 on 2016/04/22 by Marcus.Wassmer #jira UE-20276 Merging dual normal clearcoat shading model. 2863683 2871229 2876362 2876573 2884007 2901595 Change 2953594 on 2016/04/22 by Chris.Babcock Disable crash handler for VulkanRHI on Android to prevent sig11 on loading driver #jira UE-29851 #ue4 #android Change 2953520 on 2016/04/22 by Rolando.Caloca UE4.12 - vk - Enable deferred resource deletion - Added one resource heap per memory type - Improved DumpMemory() - Added ensures for missing format features #jira UE-28140 Change 2953459 on 2016/04/22 by Taizyd.Korambayil #jira UE-29748 Resaved Maps to Fix EC Build Warnings #jira UE-29744 Change 2953448 on 2016/04/22 by Ryan.Gerleve Fix Mac/Linux compile. #jira UE-29545 Change 2953311 on 2016/04/22 by Ryan.Gerleve Fix for infinite hang when loading a replay from within an actor tick while demo.AsyncLoadWorld is false. LoadMap for the replay is now deferred using the existing PendingNetGame mechanism. Added virtual UPendingNetGame::LoadMapCompleted function so that the base PendingNetGame and DemoPendingNetGame can have different behavior. To keep things simpler, also parse all replay metadata and streaming levels after the LoadMap call. #jira UE-29545 Change 2953219 on 2016/04/22 by mason.seay Test map for show collision features #jira UE-29618 Change 2953199 on 2016/04/22 by Phillip.Kavan [UE-29449] Fix InitProperties() optimization for Blueprint class instances when array property values differ in size. change summary: - improved UBlueprintGeneratedClass::BuildCustomArrayPropertyListForPostConstruction() by continuing to emit only delta entries for array values that exceed the default array value's size; previously we emitted a NULL in this case to signal a need to initialize all remaining array values in InitProperties(), even if they didn't differ from the default value of the inner property (which in most cases would already have been set at construction time, and thus potentially incurred a redundant copy iteration for each entry) - modified FObjectInitializer::InitArrayPropertyFromCustomList() to no longer reset the array value on the instance prior to initialization - added code to properly resize the array on the instance prior to initialization (if it differs in size from the default array value) - removed code that handled a NULL property value in the custom property list stream (this is no longer necessary, see above) - modified FObjectInitializer::InitProperties() to restore the post-construction optimization for Blueprint class instances (back to being enabled by default) #jira UE-29449 Change 2953195 on 2016/04/22 by Max.Chen Sequencer: Fix crash in actor reference track in the cached guid to actor map. #jira UE-27523 Change 2953124 on 2016/04/22 by Rolando.Caloca UE4.12 - vk - Increase temp frame buffer #jira UE-28140 Change 2953121 on 2016/04/22 by Chris.Babcock Rebuilt lighting for all levels #jira UE-29809 Change 2953073 on 2016/04/22 by mason.seay Test assets for notifies in animation composites and montages #jira UE-29618 Change 2952960 on 2016/04/22 by Richard.TalbotWatkin Changed eye dropper operation so that LMB click selects a color, and pressing Esc cancels the selection and restores the old color. #jira UE-28410 - Eye dropper selects color without clicking Change 2952934 on 2016/04/22 by Allan.Bentham Ensure pool's refractive index >= 1 #jira UE-29777 Change 2952881 on 2016/04/22 by Jamie.Dale Better fix for UE-28560 that doesn't regress thumbnail rendering We now just silence the warning if dealing with an inactive world. #jira UE-28560 Change 2952867 on 2016/04/22 by Thomas.Sarkanen Fix issues with matinee-controlled anim instances Regression caused by us no longer saving off the anim sequence between updates. #jira UE-29812 - Protostar Neutrino spawns but does not Animate or move. Change 2952826 on 2016/04/22 by Maciej.Mroz Merged from Dev-Blueprints 2952820 #jira UE-28895 Nativizing a blueprint project causes the next non-nativizing package attempt to fail Change 2952819 on 2016/04/22 by Josh.Adams - Fixed crash in a Vulkan shader printout #lockdown nick.penwarden #jira UE-29820 Change 2952817 on 2016/04/22 by Rolando.Caloca UE4.12 - vk - Revert back to simple layouts #jira UE-28140 Change 2952792 on 2016/04/22 by Jamie.Dale Removed some code that caused worlds loaded by the Content Browser to be initialized before they were ready Supposedly this code existed for world thumbnail rendering, however only the active editor world generates a thumbnail, so initializing other worlds wasn't having any effect and thumbnails look identical to before. #jira UE-28560 Change 2952783 on 2016/04/22 by Taizyd.Korambayil #jira UE-28477 Resaved Flying Template Map Change 2952767 on 2016/04/22 by Taizyd.Korambayil #jira UE-29736 Resaved Map to Fix EC Warnings Change 2952762 on 2016/04/22 by Allan.Bentham Update reflection capture to contain only room5 content. #jira UE-29777 Change 2952749 on 2016/04/22 by Taizyd.Korambayil #jira UE-29740 Resaved Material and Map to Fix Empty Engine Version Error Change 2952688 on 2016/04/22 by Martin.Wilson Fix for BP notifies not displaying when they derive from an abstract base class #jira UE-28556 Change 2952685 on 2016/04/22 by Thomas.Sarkanen Fix CIS for non-editor builds #jira UE-29308 - Fix crash from GC-ed animation asset Change 2952664 on 2016/04/22 by Thomas.Sarkanen Made up/down behaviour for console history consistent and reverted to old ordering by default Pressing up or down now brings up history. Sorting can now be optionally bottom-to-top or top-to-bottom. Default behaviour is preserved to what it was before the recent changes. #jira UE-29595 - Console autocomplete behavior is non-intuitive / frustrating Change 2952655 on 2016/04/22 by Jamie.Dale Changed the class filter to use an expression evaluator This makes it consistent with the other filters in the editor #jira UE-29811 Change 2952647 on 2016/04/22 by Allan.Bentham Back out changelist 2951539 #jira UE-29777 Change 2952618 on 2016/04/22 by Benn.Gallagher Fixed naming error in rotation multiplier node #jira UE-29583 Change 2952612 on 2016/04/22 by Thomas.Sarkanen Fix garbage collection and undo/redo issues with anim instance proxy UObject-based properties are now cached each update on the proxy and nulled-out outside of evaluate/update phases. Moved some initialization code for CurrentAsset/CurrentVertexAnim from the proxy back to the instance (as its is encapsulated there now). #jira UE-29308 - Fix crash from GC-ed animation asset Change 2952608 on 2016/04/22 by Richard.TalbotWatkin Changed 'Recently Used Levels' and 'Favorite Levels' to hold long package names instead of absolute paths. This means they are now project-relative and will remain valid even if the project location changes. #jira UE-29731 - Editor map recent files are not project relative, leading to missing links when moving projects. Change 2952599 on 2016/04/22 by Dmitriy.Dyomin Disabled vulkan pipeline cache as it causes rendering artifacts right now #jira UE-29807 Change 2952540 on 2016/04/22 by Maciej.Mroz #jira UE-29787 Obsolete nativized files are never removed merged from Dev-Blueprints 2952531 Change 2952372 on 2016/04/21 by Josh.Adams - Fixed Vk memory allocations when reusing free pages #lockdown nick.penwarden #jira ue-29802 Change 2952350 on 2016/04/21 by Eric.Newman Added support for UEReleaseTesting backends to Orion and Ocean #jira op-3640 Change 2952140 on 2016/04/21 by Dan.Oconnor Demoted back to warning to fix regressions in content examples, in main we've added the ability to elevate warnings to errors, but no reason to rush that feature into 4.12 #jira UE-28971 Change 2952135 on 2016/04/21 by Jeff.Farris Fixed issue in PlayerCameraManager where the priority-based sorting of CameraModifiers wasn't sorting properly. Manual re-implementation of CL 2948123 in 4.12 branch. #jira UE-29634 Change 2952121 on 2016/04/21 by Lee.Clark PS4 - 4.12 - Fix staging and deploying of system prxs #jira UE-29801 Change 2952120 on 2016/04/21 by Rolando.Caloca UE4.12 - vk - Move descriptor allocation to BSS #jira UE-21840 Change 2952027 on 2016/04/21 by Rolando.Caloca UE4.12 - vk - Fix descriptor sets lifetimes - Fix crash with null texture #jira UE-28140 Change 2951890 on 2016/04/21 by Eric.Newman Updating locked common dependencies for OrionService #jira OP-3640 Change 2951863 on 2016/04/21 by Eric.Newman Updating locked dependencies for UE 4.12 OrionService #jira OP-3640 Change 2951852 on 2016/04/21 by Owen.Stupka Fixed meteors destruct location #jira UE-29714 Change 2951739 on 2016/04/21 by Max.Chen Sequencer: Follow up for integral keys. #jira UE-29791 Change 2951717 on 2016/04/21 by Rolando.Caloca UE4.12 - Fix shader platform names #jira UE-28140 Change 2951714 on 2016/04/21 by Max.Chen Sequencer: Fix setting a key if it already exists at the current time. #jira UE-29791 Change 2951708 on 2016/04/21 by Rolando.Caloca UE4.12 - vk - Separate upload cmd buffer #jira UE-28140 Change 2951653 on 2016/04/21 by Marc.Audy If a child actor component is destroyed during garbage collection, do not rename, instead clear the caching mechanisms so that a new name is chosen if a new child is created in the future Remove now unused bRenameRequired parameter #jira UE-29612 Change 2951619 on 2016/04/21 by Chris.Babcock Move bCreateRenderStateForHiddenComponents out of WITH_EDITOR #jira UE-29786 #ue4 Change 2951603 on 2016/04/21 by Cody.Albert #jira UE-29785 Revert Github readme page back to original Change 2951599 on 2016/04/21 by Ryan.Gerleve Fix assert when attempting to record a replay when the map has a placed actor that writes replay external data (such as ACharacter) #jira UE-29778 Change 2951558 on 2016/04/21 by Chris.Babcock Always rename destroyed child actor #jira UE-29709 #ue4 Change 2951552 on 2016/04/21 by James.Golding Remove old code for handling 'show collision' in game, uses same method as editor now, fixes hidden meshes showing up in game when doing 'show collision' #jira UE-29303 Change 2951539 on 2016/04/21 by Allan.Bentham Use screenuv for distortion with ES2/31. #jira UE-29777 Change 2951535 on 2016/04/21 by Max.Chen We need to test if the hmd is enabled if it exists. Otherwise, this will return true even if we aren't rendering in stereo if there's an hmd plugin loaded. #jira UE-29711 Change 2951521 on 2016/04/21 by Taizyd.Korambayil #jira UE-29746 Replaced Deprecated Time Handler node in GameLevel_GM Change 2951492 on 2016/04/21 by Jeremiah.Waldron Fix for Android IAP information reporting back incorrectly. #jira UE-29776 Change 2951486 on 2016/04/21 by Taizyd.Korambayil #jira UE-29741 Updated Infiltrator Demo Project to open with the correct Map Change 2951450 on 2016/04/21 by Gareth.Martin Fix non-editor build #jira UE-16525 Change 2951380 on 2016/04/21 by Gareth.Martin Fix Landscape layer blend nodes not updating connections correctly when an input is changed from weight/alpha (one input) to height blend (two inputs) or vice-versa #jira UE-16525 Change 2951357 on 2016/04/21 by Richard.TalbotWatkin Fixed a crash when pushing a new menu leads to a window activation change which would result in the old root menu being dismissed. #jira UE-27981 - [CrashReport] Crash When Attempting to Select Variable Type After Clearing the Name Field Change 2951352 on 2016/04/21 by Richard.TalbotWatkin Added slider bar thickness as a new property in FSliderStyle. #jira UE-19173 - SSlider is not fully stylable Change 2951344 on 2016/04/21 by Gareth.Martin Fix bounds calculation for landscape splines that was causing the first landscape spline point to be invisible and later points to flicker. - Also fixes landscape spline lines not showing up on a flat landscape #jira UE-25114 Change 2951326 on 2016/04/21 by Taizyd.Korambayil #jira UE-28477 Resaving Maps Change 2951271 on 2016/04/21 by Jamie.Dale Fixed a crash when pasting a path containing a class into the asset view of the Content Browser #jira UE-29616 Change 2951237 on 2016/04/21 by Jack.Porter Fix black screen on PC due to planar reflections #jira UE-29664 Change 2951184 on 2016/04/21 by Jamie.Dale Fixed crash in FCurveStructCustomization when no objects were selected for editing #jira UE-29638 Change 2951177 on 2016/04/21 by Ben.Marsh Fix hot reload from IDE failing when project is up to date. UBT returns an exit code of 2, and any non-zero exit code is treated as an error by Visual Studio. Build.bat was not correctly forwarding on the exit code at all prior to CL 2790858. #jira UE-29757 Change 2951171 on 2016/04/21 by Matthew.Griffin Fixed issue with Rebuild not working when installed in Program Files (x86) The brackets seem to cause lots of problems in combination with the if/else ones #jira UE-29648 Change 2951163 on 2016/04/21 by Jamie.Dale Changed the text customization to use the property handle functions to get/set the text value That ensures that it both transacts and notifies correctly. Added new functions to deal with multiple objects selection efficiently with the existing IEditableTextProperty API: - FPropertyHandleBase::SetPerObjectValue - FPropertyHandleBase::GetPerObjectValue - FPropertyHandleBase::GetNumPerObjectValues These replace the need to cache the raw pointers. #jira UE-20223 Change 2951103 on 2016/04/21 by Thomas.Sarkanen Un-deprecated blueprint functions for attachment/detachment Renamed functions to <FuncName> (Deprecated). Hid functions in the BP context menu so new ones cant be added. #jira UE-23216 - "Snap to Target, Keep World Scale" when attaching doesn't work properly if parent is scaled. Change 2951101 on 2016/04/21 by Allan.Bentham Enable mobile HQ DoF #jira UE-29765 Change 2951097 on 2016/04/21 by Thomas.Sarkanen Standalone games now benefit from parallel anim update if possible We now simply use the fact we want root motion to determine if we need to run immediately. #jira UE-29431 - Parallel anim update does not work in non-multiplayer games Change 2951036 on 2016/04/21 by Lee.Clark PS4 - Fix WinDualShock working with VS2015 #jira UE-29088 Change 2951034 on 2016/04/21 by Jack.Porter ProtoStar: Removed content not needed by remaining maps, resaved all content to fix version 0 issues #jira UE-29666 Change 2950995 on 2016/04/21 by Jack.Porter ProtoStar - delete unneeded maps #jira UE-29665 Change 2950787 on 2016/04/20 by Nick.Darnell SuperSearch - Moving the settings object into a seperate plugin to avoid there needing to be a circular dependency between SuperSearch and UnrealEd. #jira UE-29749 #codeview Ben.Marsh Change 2950786 on 2016/04/20 by Nick.Darnell Back out changelist 2950769 - Going to re-enable super search - about to move the settings into a plugin to prevent the circular reference. #jira UE-29749 Change 2950769 on 2016/04/20 by Ben.Marsh Comment out editor integration for super search to fix problems with the circular dependencies breaking hot reload and compiling QAGame in binary release. Change 2950724 on 2016/04/20 by Lina.Halper Support for negative scaling for mirroring - Merging CL 2950718 using //UE4/Dev-Framework_to_//UE4/Release-4.12 #jira: UE-27453 Change 2950293 on 2016/04/20 by andrew.porter Correcting sequencer test content #jira UE-29618 Change 2950283 on 2016/04/20 by Marc.Audy Don't route FlushPressedKeys on PIE shut down #jira UE-28734 Change 2950071 on 2016/04/20 by mason.seay Adjusted translation retargeting on head bone of UE4_Mannequin -Needed for anim bp test. Tested animations and did not see any fallout from change. If there is, it can be reverted. #jira UE-29618 Change 2950049 on 2016/04/20 by Mark.Satterthwaite Undo CL #2949690 and instead on Mac where we want to be able to capture videos of gameplay we just insert an intermediate texture as the back-buffer and use a manual blit to the drawable prior to present. This also changes the code to enforce that the back-buffer render-target should never be nil as the code & Metal API itself assumes that this situation cannot occur but it would appear from continued crashes inside PrepareToDraw that it actually can in the field. This will address another potential cause of UE-29006. #jira UE-29006 #jira UE-29140 Change 2949977 on 2016/04/20 by Max.Chen Sequencer: Add FieldOfView to default tracks for CameraActor. Add FieldOfView to exclusion list for CineCameraActor. #jira UE-29660 Change 2949836 on 2016/04/20 by Gareth.Martin Fix landscape components flickering when perfectly flat (bounds size is 0) - This often happens for newly created landscapes #jira UE-29262 Change 2949768 on 2016/04/20 by Thomas.Sarkanen Moving parent & grouped child actors now does not result in deltas being applied twice Grouping and attachment now interact correctly. Also fixed up according to coding standard. Discovered and proposed by David.Bliss2 (Rocksteady). #jira UE-29233 - Delta applied twice when moving parent and grouped child actors From UDN: https://udn.unrealengine.com/questions/286537/moving-parent-grouped-child-actors-results-in-delt.html Change 2949759 on 2016/04/20 by Thomas.Sarkanen Fix split pins not working as anim graph node inputs Limit surface area of this change by only modifying the anim BP compiler. A better version might be to move the call in the general blueprint compiler but it is riskier. #jira UE-12326 - Splitting a struct in an Anim Blueprint does not work Change 2949739 on 2016/04/20 by Thomas.Sarkanen Fix layered bone per blend accessed from a struct in the fast-path Made sure that the fallback event is always built (logic was still split so if PatchFunctionNamesAndCopyRecordsInto aborted because of some unhandled case if might not have an event to call). Covered struct source->array dest case. Indicator icon is now built from the copy record itself, ensuring it is accurate to actual runtime data. #jira UE-29389 - Fast-Path: Layered Blend per Bone node failing to grab updated values from struct. Change 2949715 on 2016/04/20 by Max.Chen Sequencer: Fix mouse wheel zoom so it defaults to zooming in on the current time/frame. This is a toggleable option in the Editor Preferences (Zoom Position = Current Time or Mouse Position) #jira UE-29661 Change 2949712 on 2016/04/20 by Taizyd.Korambayil #jira UE-28544 adjusted Player crosshair to be centered Change 2949710 on 2016/04/20 by Alexis.Matte #jira UE-29477 Pixel Inspector, UI get polish and adding "scene color" inspect property Change 2949706 on 2016/04/20 by Alexis.Matte #jira UE-29475 #jira UE-29476 Favorite allow all UProperty to be favorite (the FStruct is now supported) Favorite scrollig is auto adjust to avoid scrolling when adding/removing a favorite Change 2949691 on 2016/04/20 by Mark.Satterthwaite Fix typo from previous commit - retain not release... #jira UE-29140 Change 2949690 on 2016/04/20 by Mark.Satterthwaite Double-buffer the Metal viewport's back-buffer so that we can access the contents of the back-buffer after EndDrawingViewport is called until BeginDrawingViewport is called again on this viewport, this makes it possible to capture movies on Metal. #jira UE-29140 Change 2949616 on 2016/04/20 by Marc.Audy 'Merge' latest version of Vulkan from Dev-Rendering to Release-4.12 #jira UE-00000 Change 2949572 on 2016/04/20 by Jamie.Dale Fixed crash undoing a text property changed caused by a null entry in the array #jira UE-20223 Change 2949562 on 2016/04/20 by Alexis.Matte #jira UE-29447 Fix the batch fbx import "not show options" dialog where some option can be different. Change 2949560 on 2016/04/20 by Alexis.Matte #jira UE-28898 Avoid importing multiple static mesh in the same package Change 2949547 on 2016/04/20 by Mark.Satterthwaite You must use STENCIL_COMPONENT_SWIZZLE to access the stencil component of a texture - not all APIs can swizzle it into .g automatically. #jira UE-29672 Change 2949443 on 2016/04/20 by Allan.Bentham Disable sRGB textures when ES31 feature level is set. Only use vk's sRGB formats when feature level > ES3_1 #jira UE-29623 Change 2949428 on 2016/04/20 by Allan.Bentham Back out changelist 2949405 #jira UE-29623 Change 2949405 on 2016/04/20 by Allan.Bentham Disable sRGB textures when ES31 feature level is set. Only use vk's sRGB formats when feature level > ES3_1 #jira UE-29623 Merging using Dev-Mobile_->_Release-4.12 Change 2949391 on 2016/04/20 by Richard.TalbotWatkin PIE with multiple windows now starts focused on Client 1, or the server if not a dedicated server. Added a new virtual call UEditorEngine::OnLoginPIEAllComplete, called when all clients have been successfully logged in when starting PIE. The default behavior is to set focus to the first client. #jira UE-26037 - Cumbersome workflow when running PIE with 2 clients #jira UE-26905 - First client window does not gain focus or mouse control when launching two clients Change 2949389 on 2016/04/20 by Richard.TalbotWatkin Fixed regression which was saving the viewport config settings incorrectly. Viewports are keyed by their layout on the same key as the config key, hence we do not need to prepend the SpecificLayoutString when saving out the config data when iterating through a layout's viewports. #jira UE-29058 - Viewport settings are not saved after shutting down editor Change 2949388 on 2016/04/20 by Richard.TalbotWatkin Change auto-reimport settings so that "Detect Changes on Startup" defaults to true. Also removed the warning of potential unwanted behaviour when working in conjunction with source control; this is no longer necessary now that there is a prompt prior to auto-reimport. #jira UE-29257 - Auto import does not import assets Change 2949203 on 2016/04/19 by Max.Chen Sequencer: Fix spawnables not getting default tracks. #jira UE-29644 Change 2949202 on 2016/04/19 by Max.Chen Sequencer: Fix particles not firing on loop. #jira UE-27881 Change 2949201 on 2016/04/19 by Max.Chen Sequencer: Fix multiple labels support #jira UE-26812 Change 2949200 on 2016/04/19 by Max.Chen Sequencer: Expose settings sequencer settings in the Editor Preferences page. Note, UMG and Niagara have separate sequencer settings pages. #jira UE-29516 Change 2949197 on 2016/04/19 by Max.Chen Sequencer: Fix unwind rotation when keying rotation so that rotations are always set to the nearest. #jira UE-22228 Change 2949196 on 2016/04/19 by Max.Chen Sequencer: Disable selection range drawing if it's empty so that playback range dragging can take precedence when they overlap. This fixes a bug where you can't drag the starting playback range when sequencer starts up. #jira UE-29657 Change 2949195 on 2016/04/19 by Max.Chen MovieSceneCapture: Default image compression quality to 100 (rather than 75). #jira UE-29657 Change 2949194 on 2016/04/19 by Max.Chen Sequencer: Matinee to Level Sequence fix for mapping properties correctly. This fixes focus distance not getting set properly on the conversion. #jira UETOOL-467 Change 2949193 on 2016/04/19 by Max.Chen Sequencer - Fix issues with level visibility. + Don't mark sub-levels as dirty when the track evaluates. + Fix an issue where sequencer gets into a refresh loop because drawing thumbnails causes levels to be added which was rebuilding the tree, which was redrawing thumbnails. + Null check for when an objects world is null but the track is still evaluating. + Remove UnrealEd references. #jira UE-25668 Change 2948990 on 2016/04/19 by Aaron.McLeran #jira UE-29654 FadeIn invalidates Audio Components in 4.11 Change 2948890 on 2016/04/19 by Jamie.Dale Downgraded an assert in SPathView::LoadSettings to avoid a common crash when a saved path no longer exists #jira UE-28858 Change 2948860 on 2016/04/19 by Mike.Beach Mirroring CL 2940334 (from Dev-Blueprints): Bettering CreateEvent node errors, so users are able to recover from API changes (not clearing the function name field, calling out the function by name in the error, etc.) #jira UE-28911 Change 2948857 on 2016/04/19 by Jamie.Dale Added an Asset Localization context menu to the Content Browser This allows you to create, edit, and view localized assets from any source asset, as well as edit and view source assets from any localized asset. #jira UE-29493 Change 2948854 on 2016/04/19 by Jamie.Dale UAT now stages all project translation targets #jira UE-20248 Change 2948831 on 2016/04/19 by Mike.Beach Mirroring CL 2945994 (from Dev-Blueprints): Pasting EdGraphNodes will no longer query sub-nodes for compatibility if the root cannot be pasted (for things like collapsed graphs, and anim state-machine nodes). #jira UE-29035 Change 2948825 on 2016/04/19 by Jamie.Dale Fixed shadow warning #jira UE-29212 Change 2948812 on 2016/04/19 by Marc.Audy Gracefully handle failure to load configurable engine classes #jira UE-26527 Change 2948791 on 2016/04/19 by Jamie.Dale Fixed regression in SEditableText bIsCaretMovedWhenGainFocus when using auto-complete Fixed regression in FSlateEditableTextLayout::SetText that caused it to call OnTextChanged when nothing had changed #jira UE-29494 #jira UE-28886 Change 2948761 on 2016/04/19 by Jamie.Dale Sub-fonts are now only used when they contain the character to be rendered #jira UE-29212 Change 2948718 on 2016/04/19 by Jamie.Dale Fixed an issue where FEnginePackageLocalizationCache could be initialized before CoreUObject was ready This is now done lazily, either when the first CDO tries to load an asset (which is after CoreUObject is ready), or after the first call to ProcessNewlyLoadedUObjects (if no CDO loads an asset). #jira UE-29649 Change 2948717 on 2016/04/19 by Jamie.Dale Removed the AssetRegistry's dependency on MessageLog It was only there to add a category that was only ever used by the AssetTools module. #jira UE-29649 Change 2948683 on 2016/04/19 by Phillip.Kavan [UE-18419] Fix GetClassDefaults nodes to update properly in response to structural BP class changes. change summary: - modified UK2Node_GetClassDefaults::CreateOutputPins() to bind/unbind delegate handlers for the OnChanged() & OnCompile() events for BP class types. #jira UE-18419 Change 2948681 on 2016/04/19 by Phillip.Kavan [UE-17794] The "Delete Unused Variable" feature now considers the GetClassDefaults node as well. change summary: - added external linkage to UK2Node_GetClassDefaults::FindClassPin(). - added an include for the K2Node_GetClassDefaults header file to BlueprintGraphDefinitions.h. - added UK2Node_GetClassDefaults::GetInputClass() as a public API w/ external linkage; moved default 'nullptr' param logic into this impl. - modified FBlueprintEditorUtils::IsVariableUsed() to add an extra check for a GetClassDefaults node with a visible output pin for the variable that's also connected. - modified UK2Node_GetClassDefaults::GetInputClass() to return the generated skeleton class for Blueprint class types. #jira UE-17794 Change 2948638 on 2016/04/19 by Lee.Clark PS4 - Fix SDK compile warnings #jira UE-29647 Change 2948401 on 2016/04/19 by Taizyd.Korambayil #jira UE-29250 Revuilt Lighting for Landscapes Map Change 2948398 on 2016/04/19 by Mark.Satterthwaite Add a Mac Metal ES2 shader platform to allow the various ES2 emulation modes to work in the Editor. Fix various issues with the shader code to ensure that Metal can run with ES2 shader code at least in my limited test cases in QAGame. #jira UE-29170 Change 2948366 on 2016/04/19 by Taizyd.Korambayil #jira UE-29109 Replaced Box Mesh with BSP Floor Change 2948360 on 2016/04/19 by Maciej.Mroz merged from Dev-Blueprints 2947488 #jira UE-29115 Nativized BulletTrain - cannot shoot targets in intro tutorial #jira UE-28965 Packaging Project with Nativize Blueprint Assets Prevents Overlap Events from Firing #jira UE-29559 - fixed private enum access - fixed private bitfield access - removed forced PostLoad - add BodyInstance.FixupData call to fix ResponseChannels - ignored RelativeLocation and RelativeRotation in converted root component - fixed AttachToComponent (UE-29559) Change 2948358 on 2016/04/19 by Maciej.Mroz merged from Dev-Blueprints 2947953 #jira UE-29605 Wrong bullet trails in nativized ShowUp Fixed USimpleConstructionScript::GetSceneRootComponentTemplate. Change 2948357 on 2016/04/19 by Maciej.Mroz merged from Dev-Blueprints 2947984 #jira UE-29374 Crash when hovering over Create Widget node in blueprints Safe UK2Node_ConstructObjectFromClass::GetPinHoverText. Change 2948353 on 2016/04/19 by Maciej.Mroz merged from Dev-Blueprints 2948095 #jira UE-29246 ExpandEnumAsExecs + UMETA(Hidden) Crashes Blueprint Compile "Hidden" and "Spacer" elementa from an enum does not generated exec pins for "ExpandEnumAsExecs" Change 2948332 on 2016/04/19 by Benn.Gallagher Fixed old pins being left as non-transactional #jira UE-13801 Change 2948203 on 2016/04/19 by Lee.Clark PS4 - Use SDK 3.508.031 #jira UEPLAT-1225 Change 2948168 on 2016/04/19 by mason.seay Updating test content: -Added Husk AI to level to test placed AI -Updated Spawn Husk BP to destroy itself to prevent spawn spamming #jira UE-29618 Change 2948153 on 2016/04/19 by Benn.Gallagher Missed mesh update for Owen IK fix. #jira UE-22540 Change 2948130 on 2016/04/19 by Benn.Gallagher Fixed old Owen punch IK setup so it no longer jitters when placing the hands on the surface. #jira UE-22540 Change 2948117 on 2016/04/19 by Taizyd.Korambayil #jira UE-28477 Resaved Template Map's to fix Warning Toast on Templates Change 2948063 on 2016/04/19 by Lina.Halper - Anim composite notify change for better - Fixed all nested anim notify - Merging CL 2944396 using //UE4/Dev-Framework_to_//UE4/Release-4.12 #jira : UE-29101 Change 2948060 on 2016/04/19 by Lina.Halper Fix for composite section metadata saving for montage Merging CL 2944397 using //UE4/Dev-Framework_to_//UE4/Release-4.12 #jira : UE-29228 Change 2948029 on 2016/04/19 by Ben.Marsh EC: Prevent automatically pushing CIS builds to the launcher; the changelist might be run more than once. Change 2947986 on 2016/04/19 by Benn.Gallagher Fixed BP callable functions that affect skeletal mesh component transforms not working when simulating physics. #jira UE-27783 Change 2947976 on 2016/04/19 by Mark.Satterthwaite Duplicate CL #2943702 from 4.11.2: Change the way Metal validates the render-target state so that in FMetalContext::PrepareToDraw it can issue a last-ditch attempt to restore the render-targets. This won't fix the cause of the Mac Metal crashes but it might mitigate some of them and provide more information about why they are occurring. #jira UE-29006 Change 2947975 on 2016/04/19 by Mark.Satterthwaite Duplicate CL #2945061 from UE4-UT: Address UT issue UE-29150 directly in the UT branch: users without a sufficiently up-to-date Xcode won't have the 'metal' offline shader compiler so will have to use the slower online compiled text shader format. #jira UE-29150 Change 2947679 on 2016/04/19 by Jack.Porter Fixed 4.12 branch not compiling with the 1.0.8 Vulkan SDK #jira UE-29601 Change 2947657 on 2016/04/18 by Jack.Porter Update protostar reflection capture contents #jira UE-29600 Change 2947301 on 2016/04/18 by Ben.Marsh EC: Fix trigger ready emails failing to send due to recipient list being a space-separated list of addresses rather than an array reference. Change 2947263 on 2016/04/18 by Marc.Audy Merging CL# 2945921 //UE4/Release-4.11 to //UE4/Release-4.12 Ensure that all OwnedComponents in an Actor are duplicated for PIE even if not referenced by a property, unless that component is explicitly transient #jira UE-29209 Change 2946984 on 2016/04/18 by Ben.Marsh GUBP: Allow Ocean cooks in the release branch (fixes build startup failures) Change 2946870 on 2016/04/18 by Ben.Marsh Remaking CL 2946810 to fix compile error in ShooterGame editor. Change 2946859 on 2016/04/18 by Ben.Marsh GUBP: Don't exclude Ocean from builds in the release branch. Change 2946847 on 2016/04/18 by Ben.Marsh GUBP: Fix warning on every build step due to OrionGame_Win32_Mono no longer existing. Change 2946771 on 2016/04/18 by Ben.Marsh EC: Correct initial agent type for release branches. Causing full branch syncs on all agents. Change 2946641 on 2016/04/18 by Ben.Marsh EC: Remove rogue comma causing branch definition parsing to fail. Change 2946592 on 2016/04/18 by Ben.Marsh EC: Adding branch definition for 4.12 release #lockdown Nick.Penwarden [CL 2962354 by Ben Marsh in Main branch]
2016-05-01 17:37:41 -04:00
// Disable selection range test if it's empty so that the playback range scrubbing gets priority
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3946692) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3801826 by Max.Chen PR #4304: Level Sequence crash fix - Guarded against dereferencing null componen. (Contributed by DSDambuster) Change 3801828 by Max.Chen PR #4302: Movie Scene Visibility Template unitialised variable, causing random . (Contributed by DSDambuster) Change 3801837 by Max.Chen Sequencer: Delay spawning/construction for convert to possessable. This fixes a bug where property values would be lost when converting back and forth from possessable to spawnable. #jira UE-52400 Change 3801841 by Max.Chen Sequencer: Make spacer nodes not selectable. PR #4194: Improvements to Sequencer (Contributed by projectgheist) #jira UE-53117 #jira UE-52139 Change 3804183 by Max.Preussner MediaAssets: Added missing lock in media sound component Change 3805414 by Max.Preussner MediaAssets: Setting valid GUID when initializing media texture resource Change 3819578 by Max.Chen PR #4370: When enabling the "MovieCapture", do not turn off the Stereo-3D display. (Contributed by yehaike) #jira UE-53647 Change 3823414 by Max.Chen Curve Editor: Lock down the first and last keys in the redundant keys removal range so that they're unaffected. #jira UE-53591 Change 3826406 by Max.Chen Sequencer: Move OnStartedPlaying() to within first update in UpdateTimeCursorPosition(). This fixes an issue where setting the hud/player visibility was getting stomped on later. #jira UE-52772 Change 3827044 by Max.Preussner MediaAssets: Added sprite visualization to media sound component #jira UE-53594 Change 3827988 by Max.Preussner MediaPlayerAssets: Fixed Media Texture is not linked to Media Player when created together #jira UE-53532 Change 3828506 by Max.Preussner MediaPlayerEditor: Added attenuation visualizer for media sound components #jira UE-53594 Change 3832590 by andrew.porter EngineTest: Added a keep state check in Property Animation sequencer test Change 3833053 by andrew.porter EngineTest: Adding Hierarchical Bias test Change 3835683 by andrew.porter EngineTest: Adding UMG Animation screenshot test Change 3836076 by Max.Chen Sequencer: Fix audio volume and pitch multiplier deprecation. Change 3836230 by andrew.porter EngineTest: Adding Sequence Bone Position automation test Change 3836347 by Max.Chen Sequencer: Fixes to shot name parsing. When a shot doesn't contain a shot number, assume, [ShotName]_[TakeNumber]. When duplicating a shot, put the new shot in the same path of the original shot, so that the take numbers will increment properly. #jira UE-51868 Change 3836552 by Max.Chen Sequencer: Sub section now has a takes menu Change 3838094 by Max.Chen UMG: Fix template finish not getting called on stop. This fixes a bug where sections aren't restored when finished. #jira UE-52285 Change 3838708 by Max.Chen Sequencer: Add notification when the blend type is changed. #jira UE-54046 Change 3840295 by Max.Chen Sequencer: Fix copy/paste crash for lights #jira UE-54084 Change 3840957 by Mike.Zyracki Added Show Only Keyable and Show Only Animated to the filter list in the property editor. Added IsPropertyAnimated to IDetailKeyframe Interface which already had support for showing properties which are keyable (which is used for the key icon next to the properties.). Could have created another interface but then would have had to mimic the sequencer binding, releasing also, so this seemed best way. One issue still left is that custom built detail items currently don't store associated properties(usually) and so certain properties, in particulalry transforms, won't show up as keyable or animated. Note this also shows up with the keyable icon not showing up next to transform tracks, and other filters like Show Only Modified not working with transforms/customs. Not sure best way to tackle this. #jira UESEQ-328 Change 3841756 by Max.Chen Sequencer: Fix unbound possessable components when pasting spawnables. #jira UE-54104 Change 3843950 by andrew.porter EngineTest: Renaming LevelStreaming tests/content to LevelVisibility Change 3844082 by Mike.Zyracki Missing file for animated filter in property editor. When finding if a track is animated we need to find it but we can't easily induce the MovieTrack class for any particular property. So we don't set a class for it and just search by it's ID and name. #jira UESEQ-328 Change 3846902 by Max.Preussner ImgMedia: Fixed image media player never finished initialization if loading failed #jira UE-54247 Change 3849820 by Mike.Zyracki Reassigning deleted widgets didn't work since the menu extender mechanism needs a valid UObject in order to perform an operation on it. So to fix we replaced GetObjectBindingContextMenuExtender in WidgetBlueprint with new delegate mechanism (OnBuildCustomContextMenuForGuid) that supports FGuid in addition to UObjects which is needed to handle re-binding deleted widgets. Note that the default sequencer hacks this for replacing deleted actors in SequencerObjectBindingNode to check to see if a LevelSequence is active. We could move to this mechanism there also. #jira UE-53163 Change 3852211 by Max.Chen UMG: Indicate name of the property that is not bound. #jira UE-54350 Change 3854120 by Max.Chen Sequencer: Fix sibling folders being allowed to have the same folder name. #jira UE-54363 Change 3854627 by Max.Chen Sequencer: Step to next/previous key should work for all tracks if there aren't any selected. #jira UESEQ-391 Change 3855825 by andrew.porter EngineTest: Adding animation blending automation test Change 3855950 by andrew.porter EngineTest: Adding correct expected valuues to animation blending test Change 3856237 by Matt.Hoffman UESEQ-336 - Sequencer Track Reordering Adds the ability to re-order Master Tracks, Folders and Object Bindings within sequencer hierarchies (including UMG). Adds the ability to do a one-off sorting of the content under the old sorting behavior if the user wants to reset their layout to how it was under legacy behavior. Modifies SequencerTrackNodes, SequencerFolderNodes and SequencerObjectBindingNodes to handle CanDrop/OnDrop for above, below and ontop of. Fixes a Slate Issue that forcibly expanded a TreeviewRow if an item handled OnDrop. Slate will now only forcibly expand the row if the item says the drop happened ontop of the item, and not above or below it like it previously did. Change 3856503 by andrew.porter EngineTest: Adding automation test for using animation blueprint with blend multi node in sequencer Change 3857875 by Max.Chen Sequencer: Assign the sequence id after the template is compiled. #jira UE-54462 Change 3858344 by Max.Chen Sequencer: Prevent Goto and Transform boxes from overlapping by allowing them to be visible at the same time in an autosized horizontal box. Also, added close button to the goto box. PR #4425: Prevent Goto and Transform boxes from overlapping in Sequencer ... (Contributed by projectgheist) #jira UE-54210 Change 3860566 by andrew.porter MediaFrameworkTest: Set the option to index 0 for the audio and video track list by default Change 3860654 by andrew.porter EngineTest: Enabling Camera Cut + FOV test Change 3860981 by andrew.porter EngineTest: Updating skeletal mesh tests with a delay after set playback position Change 3861256 by Max.Chen Sequencer: Add all bindings if none selected. #jira-54440 Change 3862154 by Andrew.Rodham Added TimeManagement module Change 3862424 by andrew.porter EngineTest: Turned on the test Bone Positions with Blend Multi Node Change 3862573 by andrew.porter EngineTest: Adding test to compare bone positions in a sequence that is blending an animation that is using an AnimBP Change 3865117 by Max.Chen Sequencer: Stop auto scroll on mouse release of movement. #jira UE-31212 Change 3865303 by Max.Chen Sequencer: Add drag and drop transactions #jira UE-54662 Change 3865304 by Max.Chen Sequencer: Fix crash when an actor factory is not found. Change 3865361 by Max.Chen Sequencer: Don't change the camera/shot lock button when popping out of a sequence. #jira UE-54665 Change 3865412 by Max.Chen Sequencer: Determine whether a transform track is for a camera by using the spawned object or template #jira UE-54666 Change 3865685 by Max.Chen Sequencer: Clear autoscrub offset when stopping autoscroll #jira UE-31212 Change 3865886 by Max.Chen Sequence Recorder: Log an error if the number of frames changes while recording. This can happen if the skeleton changes while recording. #jira UE-48715 Change 3866925 by Andrew.Porter MediaFrameworkTest: Changing the current PNG test video image sequence to 1024 x 576 Change 3867705 by andrew.porter QAGame: Adding Audio Sort Sequence to dev folder Change 3867890 by andrew.porter QAGame: Adding a sequence for testing a sorting crash to my dev folder Change 3872628 by Max.Chen Movie Scene Capture: Split delay before warmup into split delay before shot warmup so that there's separate controls for when the movie scene capture warmups up vs. shot boundaries. Change 3873131 by Matt.Hoffman UE-54732 - Crash reordering a folder with a track. This was caused by folders being the only type of track to check if someone was putting a parent track into a child track. Object Binding tracks and Tracks now check as well so that you can't use the above/below drop targets to add parents as children. This also fixed a typo in the localization keys. #jira UE-54732 Change 3873301 by Mike.Zyracki Added ability to support continous euler angle changes when changing rotations, in particularly with the rotation gizmo's. To do this we effectively added a form an of 'euler filter'(https://en.wikipedia.org/wiki/Euler_filter) to find the closest euler angle to the current euler angle. Three functions were added to FRotator to make this possible, one to get the euler angle that's has the same rotation as it, one to get the difference between two euler angles via Manhattan distance and a third using the previous two to choose a Rotator value that's closest to it. We then use these functions before calling UComponent::SetRelativeRotation to make sure we use the correct Euler after the Quat conversion. We also no longer limit(bound) the euler angles to -180,180, which is obviously necessary to avoid flips. I also changed how we caluclate yaw and roll when pitch is -90 or 90 to make it the standard approach of zeroing out roll and just setting yaw. Main reasons are the previous implementation had precision issues so things like 180, 90, -180 would show up due to numbers being nearly zero but negative,(this would break any smooth interpolations), and this facilitates having a 'gimbal' rotation mode (like Maya, Blender etc..) if we ever want that also. If needed we could keep the previous implementation but would need to add some FMath::IsNearlyZero checks, with less performance. Note we only do this special filtering when applying delta's to actors or components in the editors, which then call UComponent::SetRelativeRotationExact, which is a new function to foces the RelativeRotation to be equal to the new rotation. This allows us to store un-nomalized Rotators at the cost that the RotationCache may be broken. We didn't change any of the other UComponent functions that set rotations (via Quats or Transforms) so they will still be bounded and unwound. In SetInternalWorldLocationAndRotation we only set the rotation if the rotation has changed, which fixes the rotation getting changed and re-normalized if just translate happens. In TransformTrackEditor, we correclty use the bUndwing flag and in MovieScene3DTransformSection there was an un-needed winding check there, it will be unwound earlier if needed, which happens if Sequence Recording is happening. Max we should talk about what to do about this . Note the euler angle drag via the widget is still bound to 0-360. I think we should just unbound that now since the rotations value are now unbound. This review now includes fixes suggested by Zak. #jira UE-UE-22228 Change 3873483 by Matt.Hoffman Sequencer Tracks can now be inserted above the spacer at the bottom of the tree. #jira UE-54706 Change 3873899 by Max.Chen Sequencer: Add section selection throbbing Change 3873908 by Max.Chen Movie Scene Capture: Added logging per frame Change 3873924 by Matt.Hoffman Adds the ability to store Sequence Recorder setups into profiles that stay with the map and can be re-loaded later. Profiles store the Actor Recordings so the settings for each actor should carry with them. #jira UESEQ-339 Change 3874726 by Matt.Hoffman Disable drag-and-drop targets on spacers that come between rows in Sequencer. This prevents extra drag/drop targets showing up between each row. #jira UE-54706 Change 3874862 by Matt.Hoffman Audio Track no longer gets reordered when adding sub-audio tracks, as sub-tracks are no longer counted towards the sorting order index when normalizing indexes. #jira UE-54727 Change 3875905 by Matt.Hoffman Disable Fade Track UI if a fade track already exists in the sequence. #jira UESEQ-393 Change 3876163 by Max.Chen Sequencer: Swap the camera object to the camera component's owner if it's not the same. #jira UE-54874 Change 3876971 by Andrew.Porter EngineTest: Moved Media Player Seek test to new folder. Also enabled the test with new ground truth image. Change 3877040 by Max.Chen Cine Camera: Split camera properties to two groups, "Camera Options" and "Camera Settings". The cine camera now hides properties in the "Camera Settings" group so that properties like bConstrainAspectRatio (in the "Camera Options" group) can be visible. #jira UE-54192 Change 3877763 by Max.Chen Curve Editor: Fix curve changed on end drag so that only curves that had keys/tangents that were changed receive notification, otherwise all loaded curves were getting notified that they were changed. #jira UE-54951 Change 3878234 by Matt.Hoffman Disable "Drop Below" targets for Sequencer Tree nodes to prevent a confusing UX issue where dropping underneath a Object Binding Node puts it after the object binding node but the UI looks like it's inserting it inside the Object Binding node. #jira UE-54743 Change 3879359 by Mike.Zyracki If a track is inactive we dim it a bit which seems to be the UE4 way to show inactive or disabled state. We changed the active logic so that all subtracks need to be inactive for the track to also be inactive(instead of all active for active). This conforms to how the active state actually works, e.g if you have two sections and only one is active the track is still active above it. #jira UESEQ-388 Change 3879462 by Max.Chen Sequencer: Allow dragging onto a particular row which would move out any overlapping sections to make space for the newly created section. Newly created sections are now selected and throbbed to draw attention to themselves. #jira UE-54664 Change 3879464 by Max.Chen Sequencer: Fixed overlapping ranges being inserted into the evaluation field during compilation - The issue was that track segments that had been combined with adjacent segments (due to them being identical) would potentially cause a subsequently compiled frame to overlap with a range that had already been inserted into the evaluation field. - The insertion code previously asserted that only minor overlaps were catered for (due to fp rounding errors) and assumed that a supplied range could not entirely contain any other range in the field. - The solution is to supply the insertion time along with the range to know exactly where the data should live in the field, and crop the range to the maximum allowable space between adjacent ranges. #jira UE-54922 Change 3879590 by Matt.Hoffman Items that are now added to the Sequencer via the "+Track" menu will be selected after being added. Items can now be added inside of folders instead of just to the root level. #jira UE-27397 Change 3879612 by Mike.Zyracki Display Nodes with no children are always active. #jira UESEQ-388 Change 3879730 by Matt.Hoffman Sequence Recorder's actor recording groups now remove items from the group when removed via the UI. #jira UESEQ-339 Change 3880256 by Mike.Zyracki Fix issue with inactive display with folders and other track nodes. #jira UESEQ-388 Change 3883491 by Max.Chen Fix issue where tick is skipped due to last ticked pose isn't cleared after AnimInstance changes. Copy from Release-4.19 #jira UE-51323 Change 3883603 by Max.Chen Movie Scene Capture: Add option toggle disable screen percentage. By default this is on (no change in current behavior). #jira UE-51898 Change 3885074 by Max.Preussner MediaCompositing: Resetting media texture & freeing resource on section end; removed dead code Change 3887220 by Max.Preussner MediaCompositing: Defaulted media section duration to 1 sec (since we do not know the actual duration in most cases) Change 3887478 by Matt.Hoffman Sequences now show [Inactive] in their title bars when they're disabled. This helps communicate why a sequence isn't being evaluated. #jira UE-51469 Change 3888985 by Max.Chen Movie Scene Capture: Clamp HDR Compression Quality between 0 and 1. #jira UE-55136 Change 3893519 by Max.Chen Sequence Recorder: Clarified tooltip for bRecordNearbySpawnedActors - spawned actors will still be recorded if they match the ActorFilter. #jira UE-55238 Change 3893546 by Max.Chen Sequence Recorder: If a selected actor already has a recording, add a blank recording. #jira UE-55239 Change 3894044 by Max.Preussner MediaCompositing: Added support for seeking into a media section Change 3894310 by andrew.porter MediaFrameworkTest: Adding Img media sources for 1080 and 2160 ravent test content Change 3894426 by Max.Preussner MediaAssets: Letting media textures with AutoClear retain their clear color when player is reset Change 3895717 by Max.Chen Sequencer: Null checks to prevent crash when saving the default state of a spawnable #jira UE-55304 Change 3897388 by Max.Chen Sequencer: Don't update current time to be within the view range when stepping into a sequence. #jira UE-55322 Change 3897452 by Max.Chen Audio: Fix crash when trying to record audio without any active capture devices. Log warning if the number of input channels is not 1 or 2. #jira UE-55223 Change 3897619 by Max.Preussner MediaCompositing: Removed commented out code Change 3898072 by Max.Chen Sequencer: Override the animation asset in the player state if it doesn't match the animation asset that's being evaluated. #jira UE-55328 Change 3898272 by Max.Preussner MediaPlayerEditor: Made slate brush constants static Change 3898704 by Max.Chen Sequencer: Skip if the binding id's sequence can't be found. #jira UE-55337 Change 3899855 by Max.Preussner MediaCompositingEditor: Added cache state visualization to media track Change 3900300 by Max.Preussner MediaCompositingEditor: Added loop indicators to media sections Change 3900694 by Max.Preussner ImfMedia: Looping cache only when player is looping Change 3900892 by Max.Preussner Stats: Added stats category for media framework Change 3900954 by Max.Preussner MediaCompositing: Don't evaluate at the end of media section Change 3901348 by Max.Preussner Core: Replaced TLruCache autos for better readability Change 3901655 by Max.Preussner ImgMedia: Added more perf stats to EXR reader Change 3901972 by Max.Preussner MediaAssets: Added getter for media player in media sound components Change 3902233 by Max.Preussner MediaAssets: Enabling media textures to receive samples right after player is assigned Change 3902238 by Max.Preussner MediaCompositing: Working around init/shutdown idiosyncracies in sequencer Change 3904045 by Max.Chen Sequencer: Fix copy/paste crash. Only process UMovieSceneCopyableBinding and objects that can be spawned by the movie scene spawn register. #jira UE-55314 Change 3905605 by Max.Chen Sequencer: Restrict spawnables from being created if they have a ClassWithin that UMovieScene is not a child of. #jira UE-55429 Change 3906550 by Max.Chen Sequencer: Add media track icon #jira UE-55480 Change 3907101 by Max.Chen Sequence Recorder: Fix bugs related to not recording a level sequence. There were certain assumptions that creating a level sequence meant that sequence recording was in progress. This is not always the case - the recorders can record animation assets and not create a level sequence. Changed the notion of IsRecording() to having at least one actor recording that is recording. Countdown timer, recording displays, etc should function if IsRecording() and not based on whether a level sequence is created. #jira UE-55485 Change 3907247 by Max.Chen Sequence Recorder: Fix crash not removing PrepareToCleanseEditorObject delegate. Repros when opening sequence recorder, closing it, and then opening or creating a level. Change 3910343 by Max.Preussner Core: Added async helper for executing functions on a given thread pool Change 3910346 by Max.Preussner ImgMedia: Added separate thread pools for loading/decoding and deleting image frames Change 3910829 by Max.Preussner Profiler: Increased visible range of profiler graph Change 3910841 by Max.Preussner MediaCompositing: Displaying asset name instead of full media source path in media section Change 3910870 by Max.Preussner ImgMedia: Using deallocation thread pool only in debug builds Change 3919642 by Max.Chen Sequence Recorder: Clarify active tooltip #jira UE-55661 Change 3919660 by Max.Chen Sequencer: Sequence template source signatures are now also compared to catch the case where a sub-sequence asset has been saved but not modified - The following sequence of events exposes this issue: - Create a master sequence with a single shot that spawns a cube - Add this sequence to a level and set it to auto-play - Save everything and restart - Resave just the inner shot asset without opening it - PIE - The inner shot never spawns its cube because its template was wiped on save, but its signature never changed. Since the master sequence previously didn't check the template source signature, it ends up trying to evaluate an empty template. #jira UE-55626 #jira UE-55490 Change 3921825 by Max.Chen Sequencer: "Run Construction Script in Sequencer" is off by default for blueprints but on for Sequencer. This allows the content author to switch it on for specific blueprints and sequencer will be default, run those with construction scripts enabled. Change 3922232 by Max.Chen Sequence Recorder: Reset countdelay on stop. #jira UE-55755 Change 3922306 by Max.Chen Sequence Recorder: Don't automatically mark transforms to be recorded by sequence recorder. Instead, log a warning if the user toggled it off to warn that the resulting animation might not match gameplay. #jira UE-55758 Change 3922912 by Max.Chen Sequence Recorder: Fix refresh next sequence name #jira UE-55757 Change 3927654 by Max.Chen Movie Scene Capture: Added format mapping for the name of the current camera #jira UE-55769 PR #4537 Change 3927658 by Max.Chen Sequencer: Added fbx property mapping for "FocusDistance" to "FocusSettings.ManualFocusDistance" #jira UE-55782 Change 3932022 by Max.Chen Sequencer: Add import animation track section to next available row index. #jira UE-55892 Change 3933919 by Max.Chen Sequencer: Jump to playback start frame and not 0 to start playback for recording. #jira UE-55933 Change 3934307 by Andrew.Rodham Sequencer: Add template signature that is re-generated every time the base template is regenerated, which invalidates evaluation fields This fixes an issue where the same sequence is instantiated multiple times in a sequence. If the source sequence was saved, its template would be wiped, which would invalidate the template ID When an instance tries to evaluate the master template, it would only invalidate a range in the evaluation field that was the hull of any invalid sub sequences overlapping the current time, potentially leaving invalid data in the evaluation field at positions later (or earlier) on in the sequence When the sub template was re-generated, it receives the same SequenceSignature as it had before (because the sequence hasn't actually changed), which causes the stale evaluation field data to fail the IsDirty check (because the sequence is the same as it thought, but the *template* has changed) This has been addressed be adding a signature to templates themselves, and checking both the template signature and sequence signature as a part of the IsDirty check. This ensures that we regenerate if either the template, or the sequence have changed. #jira UE-55934 Change 3936327 by Andrew.Rodham Sequencer: Removed increment when trimming right UMovieSceneSection::TrimSection already explicity assigns an exclusive bound to the time passed in. The new behavior means we can trim a section to the right, and insert another section without changing the time to create adjacent sections. #jira UE-42652 Change 3936328 by Andrew.Rodham Fixed KeyFrameManipulator assignment operators and copy/move constructors - These types are potentially self-referential so cannot use default constructors/assignment Change 3936330 by Andrew.Rodham Converted UMGSequencePlayer to use frames internally #jira UE-54878 Change 3936726 by Max.Chen Sequencer: Set track node as the parent of the key area node. The key area switcher needs the object binding id from the parent object binding node. Without this, the binding to the external value fails. #jira UE-55931 Change 3936775 by Max.Chen Sequencer: Should stop or loop should compare DurationFrames with Current Time from StartTime. The bug is that if you set 30 warmup frames in movie rendering for a range of 0-100, the FrameRange will be starting at -30 and have a duration of 130. Without this fix, the playback will continue until frame 130, rather than 100. #jira UE-55933 Change 3936935 by Matt.Hoffman Easing Curves are now represented in Play Rate resolution instead of internal resolution. #jira UE-55937 Change 3937069 by Matt.Hoffman Users can toggle if the is infinite on each side, limited by which tracks support infinite ranges. #jira UE-55891 Change 3937516 by Max.Preussner ImgMedia: Added support for single-threaded platforms #jira UE-55986 Change 3937826 by Max.Preussner MediaAssets: Disabling media sound components on HTML5 if AudioMixer is not enabled Change 3937997 by Max.Chen Curve Editor: Add Zoom to Fit Curves so that selected curves from Sequencer can be focused on. Tested that undo doesn't re-zoom. #jira UE-55935 Change 3938000 by Max.Chen Sequencer: Stop all sounds before generating audio waveforms. #jira UE-55951 Change 3938376 by Max.Preussner XGEController: Disabled XGE Controller in single-threaded apps to prevent crash Change 3938444 by Max.Preussner Core: Added async support for single-threaded applications Change 3938445 by Max.Preussner Networking: Added support for single-threaded applications in UDP socket sender/receiver Change 3938447 by Max.Preussner Messaging: Added support for single-threaded applications Change 3939432 by Max.Chen Sequence Recorder: Append command list to global level editor actions so that shortcuts are accessible in level editor. #jira UE-55798 Change 3940229 by Andrew.Rodham Added prospective display rate upgrade to UMovieScene::PostLoad - There was previously some very odd behaviour that would assign the fixed frame interval only when a sub sequence was focused in SSequencer. This meant that many sequences could have a frame interval of 0 set in the data. - Under the old method of snap interval display this would have fallen back to getting the display interval from the sequencer settings, but we no longer look at these. - The USequencerSettings properties have been removed and in their place, a prospective data upgrade for sequences that have a fixed frame interval old 0fps that sets the play rate to the previous defaults based off the old USequencerSettings defaults. - This could end up 'changing' the display rate for sequences where the user has changed the snap interval in the settings for a particular sequence editor, but there's not much we can do about that given we don't have access to the USequencerSettings classes in UMovieScene #jira UE-55919 Change 3940277 by Andrew.Rodham Sequencer: Added ability to default frame resolutions and play rates for newly created actor sequences Change 3940378 by Andrew.Rodham Sequencer: Post move import dialog now defaults to the playback framerate of the sequence, and floors to frame numbers Change 3940559 by Andrew.Rodham Reinstated primed or recording sequence color Change 3940642 by Max.Preussner ImagePlate: Removed image plate media playback functionality Change 3940843 by Max.Preussner Core: Made TCircularQueue actually thread-safe; improved code comments Change 3940860 by Max.Chen Sequencer: Changed StructNameToKey to StructPathToKey Previously, keying a PropertyPath of [RenderTransform][Shear][X] would get trimmed to X, which doesn't map to a channel name as considered by Sequencer2dTransformTrackEditor. Instead, trim the resulting property path to [Shear][X] so that track editors can determine the desired struct path and channels to key. #jira UE-52966 Change 3941292 by Mike.Zyracki Fix for trajectories out of range not showing up. 1) If we had no key data we would pop the time, so wouldn't get the section ranges. 2) Calculating of upper bound was wrong, checking against -1 and not key == num of keys when doing algo::lower_bound. 3) No need to do the Bck-- for the bakward iterators since we fixed #2. We start now from the upper bound correctly. 4) If we had no keys (at section start,end) we would incorrectly say we were any key type, so since we draw constant keys as dashed we would do so incorrectly around section end points. #jira UE-55929 Change 3941424 by Max.Chen Curve Editor: Change Zoom to Fit to use TArrayView Change 3941498 by Max.Preussner Core: Added FMath::DivideAndRoundNearest function Change 3942097 by Matt.Hoffman Drop Frame Timecode Support for NTSC rates. Change 3942104 by Matt.Hoffman Sequence Recorder Group is no longer visible inside the World Outliner after using one. #jira 55266 Change 3942107 by Max.Chen Sequencer: Resurrect logic to find or extend an existing section when adding keys. Change 3942330 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942339 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942507 by Andrew.Rodham Sequencer: We no longer pad the time overlap threshold with a small number that is not scaled by the current zoom level - The presence of this pad was causing keys that were far apart to be grouped when zoomed in a long way Change 3942509 by Andrew.Rodham Sequencer: Only pad total view range, rather than section range as well when retrieving keys to render - This stops us from rendering keys that are within the view range, but outside the section range Change 3942512 by Andrew.Rodham Added transactions to some sequencer details customizations Change 3942513 by Andrew.Rodham Sequencer: Reinstated validation checks to UMovieSceneSection::SetStartFrame and SetEndFrame, changed erroneous uses to use SetRange Change 3942560 by Andrew.Rodham Pass by rvalue reference to appease error C2719 on Win32 ('InChannels': formal parameter with requested alignment of 8 won't be aligned) Change 3942697 by Andrew.Rodham Newly Created Level Sequences and Actor Sequences now default to 24000 fps frame resolution (+/- ~24hrs range, supporting all integer rates + 23.976) Change 3942700 by Andrew.Rodham Sequencer: Added legacy out-of-bounds errors for times that are not supported by the current legacy upgrade frame resolution Change 3942989 by Max.Preussner Core: Fixed circular queue count calculation Change 3943538 by Max.Preussner MediaAssets: Reverted workaround for procedural audio log spam in HTML5 (Actor component initialization cannot be skipped if the component is used in a level) Change 3944071 by Max.Preussner QAGame: Fixed Media Texture keeps last frame of Media when PIE ends #jira UE-53360 Change 3944292 by Max.Chen Sequencer: Added extra flags to ensure that asset initialization does not occur on template actor sequences #jira UE-56113 Change 3944364 by Max.Chen Sequencer: Prevent circular shot/master tracks. Tested adding master -> child -> master as drag and drop cinematic shot tracks and sub tracks as well as through the + button. #jira UE-56091 Change 3944422 by Max.Chen Sequence Recorder: Disable transform recording if off. #jira UE-56061 Change 3944745 by Andrew.Rodham Sequencer: Key rendering fixes - Fixed assert that occured when keys happened to reside on some times due to KeyTime + TimeOverlapThreshold - KeyTime being slightly larger TimeOverlapThreshold - Fixed keys sometimes being clipped when zoomed right in due to lack of half-frame offset - Added missing documentation to MovieSceneTimeHelpers.h #jira UE-56107 Change 3945231 by Andrew.Rodham Sequencer: Reconstruct channel proxy on Serialize to catch all cases of undo/redo, PostLoad and duplication #jira UE-56089 Change 3945301 by Andrew.Rodham Sequencer: Added safety checks during initial sequence recording to guard against applying negative or 0-sized sequence ranges #jira UE-56125 Change 3946627 by Max.Preussner Fortnite: Fixed game crashes closing editor while in PIE - Pure virtual function being called #jira UE-56144 [CL 3946896 by Max Chen in Main branch]
2018-03-14 22:09:33 -04:00
if (!SelectionRange.IsEmpty() && !bHitScrubber && HitTestRangeEnd(RangeToScreen, SelectionRange, MouseDownPixel))
Copying //UE4/Dev-Sequencer to //UE4/Main ========================== MAJOR FEATURES + CHANGES ========================== Change 2875025 on 2016/02/20 by Andrew.Rodham Sequencer: Cinematic viewport improvements - Added optional letterbox overlay (defaults to 2.35:1) - Added ability to change safe frame colors - Added selected tracks' keys to the transport range - Added buttons for jumping between selected tracks' keyframes on the transport controls - Removed black padding around the viewport where possible - Added ability to specify whether a combo button/menu anchor should close when its parent receives focus - Separated logic of FGroupedKeyArea into FSequencerKeyCollection, so it can be used independently - Added playback range to the viewport frame numbers - All frame numbers are now spin boxes #jira UE-26429 Change 2875026 on 2016/02/20 by Thomas.Sarkanen Added console commands for recording sequences Changed plugin to a developer plugin so we can load it when the editor is in -game mode. Added Exec commands. Added some more logging to help diagnose problems when using commands. Added loading/saving of config for recorder settings (stored in Editor.ini). Also disabled controls in recorder window when recording. Added auto-saving of assets when in non-editor modes. Moved animation settings from UnrealEd to Engine module. Change 2875036 on 2016/02/20 by Max.Chen Sequencer: Call RedrawAllViewports instead of RedrawLevelEditingViewports. In particular, this fixes some update issues when editing values in the key editors. #jira UE-26960 Change 2875046 on 2016/02/20 by Max.Preussner Sequencer: Fix so that clicking on UMG Animations doesn't dirty the scene. #jira UE-26249 Change 2875047 on 2016/02/20 by Max.Chen Sequencer: Add option to toggle display of channel colors/lines. View->Channel Colors Change 2877138 on 2016/02/23 by Max.Chen Sequencer: Select corresponding track node when selecting key or section. Removed active/inactive selection since it was only being used in deletion and the rules for deletion are now dependent upon what is selected - delete keys and sections before deleting outliner nodes. Change 2877143 on 2016/02/23 by Thomas.Sarkanen Added new math function: WindRelativeAnglesDegrees Given two angles in degrees, 'wind' the angle in Angle1 so that it avoids >180 degree flips. Good for winding rotations previously expressed as quaternions into a euler-angle representation. Change 2877147 on 2016/02/23 by Thomas.Sarkanen Added the ability to import sequencer transforms from the root node of an animation sequence Intended for use after re-importing animations from DCC tools. Available in the right-click menu for transform tracks. Also added FindTrackBinding to UMovieScene so track bindings can be recovered from tracks. Change 2877163 on 2016/02/23 by Max.Chen Sequencer: Add option to create keyframe sections as infinite. Sequencer defaults to true, UMG defaults to false. Change 2877165 on 2016/02/23 by Max.Preussner Sequencer: Drawing vertical position lines when dragging keys Change 2878748 on 2016/02/23 by Max.Chen Curve Editor: Switch curve type to user when flatting or straightening tangents. #jira UE-27277 Change 2878799 on 2016/02/23 by Frank.Fella Sequencer - Add folders support to the outliner. Change 2880769 on 2016/02/24 by Andrew.Rodham Sequencer: Added ability to override runtime spawnable ownership in sequencer - This is exposed as an option on spawnables "Keep Alive Outside Playback Range (In Sequencer)" - Enabling this will stop spawnables from being destroyed when scrubbing outside of the playback range #jira UE-27205 Change 2880770 on 2016/02/24 by Thomas.Sarkanen Sequencer: Added countdown and recording indicator display when recording Also fixed extra popups added post-PIE when animation recordings auto shutdown. Change 2880782 on 2016/02/24 by Max.Chen Sequencer: Snapping now also uses the current time as a possible snap time. #jira UE-26306 Change 2880793 on 2016/02/24 by Max.Chen Sequencer: Add +Animation to Animation track so that it's consistent with all other tracks that have a + button. Change 2880812 on 2016/02/24 by Max.Chen Sequencer: Fix adjusting the leading edge of a shot section so that it cuts into the shot rather than adjusts the start time. #jira UE-26306 Change 2881624 on 2016/02/25 by Andrew.Rodham Changing shader version GUID to fix corrupt shaders in ddc Change 2882408 on 2016/02/25 by Thomas.Sarkanen Asset/actors stored in TLazyObjectPtrs can now reference game content from engine This is a legitimate use case as lazy object ptrs are designed to reference assets/actors cross-domain. Change 2882409 on 2016/02/25 by Thomas.Sarkanen [CL 2899785 by Max Chen in Main branch]
2016-03-08 16:55:04 -05:00
{
Copying //UE4/Dev-Sequencer to //UE4/Main (Source: //UE4/Dev-Sequencer @ 2945541) ========================== MAJOR FEATURES + CHANGES ========================== Change 2837601 on 2016/01/20 by Thomas.Sarkanen Sequencer: Exposed bool, byte, event, fade, float, slomo, and visibility section keys in context menu Change 2840895 on 2016/01/23 by Thomas.Sarkanen Sequencer: Moved key proxy handling from section into key area; added support for grouped keys; exposed color properties in context menu. Change 2901092 on 2016/03/09 by Thomas.Sarkanen Sequencer: Fixed ensure() and crash when exiting PIE & then playing back in editor Made sure that instances that are playing that have active montages can re-connect to a playing montage if it is already active. We dont stop/start preview/non- preview playback when switching modes right now so I've just made the system robust to the switch when playing back animation. Ensured that instances are kept up to date by hooking into EndPlayMapDelegate. This fires slightly later than OnEndPIE, so it allows us to pick up when instances have been deleted from the world. OnEndPIE is fired before the worlds are shutdown so instances can still be bound to valid (but nearly dead) actors at this point. #jira UE-27898 #jira UE-27899 Change 2901159 on 2016/03/09 by Chris.Bunner Allow EXR frames from SaveHighResScreenshot to be uncompressed (r.SaveUncompressedEXRFrames). Change 2903123 on 2016/03/10 by Max.Chen Sequencer: Add snapping for the in/out range. Change 2903126 on 2016/03/10 by Max.Chen Sequencer: Fix split and trim for cinematic shot sections so that the start offset value is set. Change 2903132 on 2016/03/10 by Max.Chen Sequencer: Create camera here and set it as the current camera cut. Change 2903138 on 2016/03/10 by Max.Chen Sequencer: Improve mechanism for adding objects to Sequencer. Hold down shift while dragging from content browser to add as a spawnable. Hold down ctrl while dragging from content browser to add as a possessable. Change 2903143 on 2016/03/10 by Max.Chen Sequencer: Add 4k to movie capture dialog. #jira UE-28147 Change 2903157 on 2016/03/10 by Max.Chen Sequencer: Pop out of locked camera when popping out of the sequence. #jira UE-27662 Change 2908097 on 2016/03/14 by Andrew.Rodham Sequencer: Added default viewport type onto the viewport types menu - The activation command for a given viewport type no longer toggles it if it's already active, it will just do nothing. - Switching back to the default viewport type can be achieved with SHIFT+D Change 2911869 on 2016/03/16 by Max.Preussner Editor: Caching device proxy manager, so the UI doesn't constantly poll for the TargetDeviceServices module Change 2917943 on 2016/03/22 by Thomas.Sarkanen Sequence Recording: Added "Record New Sequence From Current Player" to sub-sequence track menu This option is only available in PIE. When selected it primes a new seciton for recording against the pawn that is currently being controlled by the player. Change 2917946 on 2016/03/22 by Max.Chen Sequencer: Automatically add and attach a cine camera when dropping a crane or rail. Change 2917954 on 2016/03/22 by Thomas.Sarkanen Fix anim dynamics going crazy on time skips Added new API to FAnimNode_Base: NeedsDynamicReset and ResetDynamics. This allows nodes that subscribe to this interface to be reset on teleport/time skips. Call through to ResetDynamics on zero timestep (ie. skips) in the preview path in Sequencer. Change 2917961 on 2016/03/22 by Frank.Fella Sequencer - Sequencer - Update the color track code to match the behavior in matinee, also remove empty light color tracks from the sequence, and add a missing particle parameter track. Change 2917984 on 2016/03/22 by Max.Chen Sequencer: Fix crash on deleting object binding nodes multiple times. Change 2917986 on 2016/03/22 by Max.Chen Sequencer: Fix if adding multiple camera cuts at the same time with the same duration as an existing camera cut. The camera is replaced in this case. Change 2917994 on 2016/03/22 by Jeff.Farris Support for scene depth picker. Used for focus depth sampling in cine cams. Change 2918003 on 2016/03/22 by Max.Chen Sequencer - Fix selection issues related to keying an undo by moving the selection clear on rebuild to after the tree selection state has been cached by path. Change 2920371 on 2016/03/23 by Max.Preussner UnrealEd: Added a file import path that doesn't load the entire file into memory prior to importing UFactory::StaticImport will now call FactoryCreateFile for both text and binary files. The default implementation will load the file into a buffer/string and call FactoryCreateBinary/FactoryCreateText to preserve legacy behavior. New factories may override FactoryCreateFile to perform their own file processing instead. Change 2923359 on 2016/03/25 by Max.Preussner UnrealEd: Refactored out StaticImportObject code into ImportObject Change 2924887 on 2016/03/28 by Jeff.Farris Sequencer: Camera Anim and Camera Shake tracks now support PostProcess changes in the CameraAnim Change 2927283 on 2016/03/30 by Max.Chen Sequencer: Fix crash resetting default in audio track in sequencer. Fix audio track rename when adding another audio. #jira UE-28836, UE-28859 Change 2928290 on 2016/03/30 by Max.Preussner ContentBrowser: Disabling 'Show in Explorer' context menu option for newly created/unsaved asset(s) Change 2928480 on 2016/03/30 by Max.Preussner AssetTools: Added built-in type category for Media assets Change 2928498 on 2016/03/30 by Max.Preussner AssetTools: Sorting asset type categories alphabetically Change 2932326 on 2016/04/04 by Frank.Fella Sequencer - Add "paste from matinee" support for audio tracks, and add volume support to audio sections in sequencer. Change 2933917 on 2016/04/05 by Max.Preussner Core: Added microseconds support to FTimespan Change 2933920 on 2016/04/05 by Max.Preussner Sockets: Simplified socket timeout assignments Change 2935434 on 2016/04/06 by Max.Chen Sequencer: Deselect possessable before converting it to a spawnable and deleting it. Also, make sure the newly converted spawnables are selected. This fixes a bug where the transform gizmo remains after adding a spawnable. Also, consolidate code for adding possessables to sequencer so that the newly added possessable node will be selected in the widget tree. #jira UE-28215 Change 2935590 on 2016/04/06 by Jeff.Farris Made crane rig preview mesh at the tip move as expected and appear in a reasonable place. Change 2936082 on 2016/04/07 by Max.Chen Sequencer: Attach should use default attach component of the actor if it exists. This fixes a bug where trying to attach to a camera crane rig attaches to the proper component. Change 2936118 on 2016/04/07 by Max.Chen Sequencer: Adding crane/rail with shift now adds the crane/rig as a spawnable and the attached cine camera as a spawnable. An attach track is created for the cine camera spawnable. #jira UE-28308 Change 2937226 on 2016/04/07 by Max.Chen Sequencer: Add invalidation when levels are added or removed.This fixes a bug were if you have a level sequence open and then add a sublevel that the level sequence operates on, it correctly updates the actors from the new sub level. #jira UE-27595 Change 2937263 on 2016/04/07 by Frank.Fella Sequencer - Changed the matinee to sequencer conversion tools so that curve keys set to "clamped auto" import as user tangents since we don't support clamped auto in sequencer. Change 2937273 on 2016/04/07 by Max.Chen Sequencer: No longer experimental/betal and now enabled by default. #jira UETOOl-625 Change 2937694 on 2016/04/08 by Max.Chen Curve Editor: Separate out input and output snapping. #jira UE-27209 Change 2937852 on 2016/04/08 by Andrew.Rodham Sequencer: Spawnables no longer use generated classes - Spawnables now store a template actor instance, rather than a generated class - All relevant code has been converted to use this new approach - Spawnable defaults are now harvested directly from any spawned instances when the movie scene is saved, or when the object is de-spawned. We only do this for spawnables *in the currently active sequence instance*. This approach ensures that instance components and other properties persist. - Currently we don't mark the package as dirty when the defaults are changed. This needs to be addressed. - Some fixes have been made to AActor and Actor Iterators to ensure that actors not contained within a level do not crash. - Spawning optimisations to follow Change 2937956 on 2016/04/08 by Max.Preussner Sequencer: Added selection range commands to general toolbar menu Change 2937981 on 2016/04/08 by Max.Preussner Sequencer: Refactored GetKeyHandles to take a time range for filtering keys Change 2938007 on 2016/04/08 by Max.Preussner Sequencer: Implemented selection range key selection Change 2938184 on 2016/04/08 by Max.Chen Sequencer: Find in Content Browser is now in the top level menubar. #jira UE-21598 Change 2938665 on 2016/04/08 by Frank.Fella UMG - Add support for material animation. Change 2939048 on 2016/04/10 by Max.Chen CineCamera: Change current position on rail to normalize position. Change 2939067 on 2016/04/10 by Max.Chen Sequencer: Add paste color from matinee Change 2939587 on 2016/04/11 by Andrew.Rodham Sequencer: Fixes to spawnable rework - Removed commented out code. - Fixed particle system components not disabling auto activate. - Instance Components are now correctly registered on spawn. - Removed ability to set the editable flag on actors in favor of a delegate assigned to SActorDetails to disable property editing on actors spawned from outside of the currently focused sequence. Change 2939666 on 2016/04/11 by Andrew.Rodham Sequencer: Fixed active sequence ID not being set on creation Change 2940663 on 2016/04/12 by Andrew.Rodham Sequencer: Spawnable object templates now always have the RF_ArchetypeObject flag #jira UE-29337, UE-29339 Change 2940742 on 2016/04/12 by Thomas.Sarkanen Improvements to sequence recording API Sequence recording is now more extensible. Moved the majority of recorders into a seperate module. Cleaned up recorder API, removed bRecord that was only really used once. Added factory class as a modular feature that allows users to register and implement their own recorders. Recorders can supply their own settings classes. These are incorporated into the UI via a details customization so they appear to be seamlessly integrated. Exposed components to record as an advanced setting. Users can use this to gate the components and actors that are recorded. #jira UE-28850 - Update sequence recording API for better extensibility Change 2940828 on 2016/04/12 by Max.Chen Level Editor: Clear the camera preview if the level viewport is locked to the same camera. #jira UE-27489 Change 2941090 on 2016/04/12 by Frank.Fella Sequencer - Fix inconsistencies with the level visibility track. + Add an option to update a track instance when it stops playing due to it's parent movie scene being deactivated as a sub-scene. + Reset level visibility state when the section ends, or when it's parent subsection ends. Change 2941427 on 2016/04/12 by Andrew.Rodham Sequencer: Fixes for recorded dynamic components - Dynamic components are now named uniquely within their owner actor, and are no longer re-bound to new object tracks when detached/re-attached - New dynamic components are created every time a new component is detected on an actor, regardless of whether it was once attached before. This affords recording externally managed components from a component pool. - Section recorders for components that are no longer attached to the actor are now disabled correctly. Change 2941760 on 2016/04/12 by Max.Preussner Editor: Setting up correct material expresions when creating material from normal map texture Change 2941819 on 2016/04/13 by Max.Chen Sequencer: Fire named events in all sublevels. #jira UE-28843 Change 2942052 on 2016/04/13 by Andrew.Rodham Sequencer: Fixed not being able to add dynamic material parameter tracks to spawnables when the object is not spawned #jira UE-24287 Change 2942223 on 2016/04/13 by Max.Preussner Editor: Using built-in function to assign sampler format Change 2942833 on 2016/04/13 by Max.Chen Sequencer: More copy matinee helpers. - Make some sections infinite. - Fix FindPossessableObjectId - Expose FindGroupByName Change 2942944 on 2016/04/13 by Max.Chen Sequencer: Fix anim copy so that it doesn't create an animation clip longer than the next clip's start position. Change 2943313 on 2016/04/14 by Max.Chen Sequencer: Initial matinee to level sequence asset converter. Right click on a matinee actor in the level and choose "Convert to Level Sequence" Current supports: - movement tracks - generic property tracks - particle tracks - anim control tracks - event tracks - audio tracks - visibility track - director track (fade, slomo, camera cuts) Possible todos: - Relative scale3D - Option to create spawnables instead of possessables - Create shots per director track camera cut instead of a direct translation to the camera cut track #jira UETOOL-467 Change 2943596 on 2016/04/14 by Andrew.Rodham Editor: Fixed placement mode scrollbar visibility not working for custom content #jira UE-27191 Change 2943651 on 2016/04/14 by Max.Chen Sequencer: Invalidate the audio waveform when the source changes. #jira UE-29394 Change 2943674 on 2016/04/14 by Max.Chen Sequencer: Store/restore playback state when rebuilding. #jira UE-29452 Change 2943993 on 2016/04/14 by Max.Chen Sequencer: Convert slot name from matinee to level sequence. Change 2944156 on 2016/04/14 by Frank.Fella Sequencer - Fix undo when moving items into folders, and when deleting folder. #jira UE-27368 Change 2944227 on 2016/04/14 by Max.Chen Sequencer: Show curves in the curve editor if one of the parent nodes is selected. For example, if Location is selected, show Location.X, Location.Y, and Location.Z Change 2945057 on 2016/04/15 by Andrew.Rodham Editor: Fixed placement mode scrollbar visibility not working for custom content #jira UE-27191 #lockdown nick.penwarden [CL 2945551 by Max Chen in Main branch]
2016-04-15 14:50:58 -04:00
// selection range end scrubber
MouseDragType = DRAG_SELECTION_END;
TimeSliderArgs.OnSelectionRangeBeginDrag.ExecuteIfBound();
Copying //UE4/Dev-Sequencer to //UE4/Main ========================== MAJOR FEATURES + CHANGES ========================== Change 2875025 on 2016/02/20 by Andrew.Rodham Sequencer: Cinematic viewport improvements - Added optional letterbox overlay (defaults to 2.35:1) - Added ability to change safe frame colors - Added selected tracks' keys to the transport range - Added buttons for jumping between selected tracks' keyframes on the transport controls - Removed black padding around the viewport where possible - Added ability to specify whether a combo button/menu anchor should close when its parent receives focus - Separated logic of FGroupedKeyArea into FSequencerKeyCollection, so it can be used independently - Added playback range to the viewport frame numbers - All frame numbers are now spin boxes #jira UE-26429 Change 2875026 on 2016/02/20 by Thomas.Sarkanen Added console commands for recording sequences Changed plugin to a developer plugin so we can load it when the editor is in -game mode. Added Exec commands. Added some more logging to help diagnose problems when using commands. Added loading/saving of config for recorder settings (stored in Editor.ini). Also disabled controls in recorder window when recording. Added auto-saving of assets when in non-editor modes. Moved animation settings from UnrealEd to Engine module. Change 2875036 on 2016/02/20 by Max.Chen Sequencer: Call RedrawAllViewports instead of RedrawLevelEditingViewports. In particular, this fixes some update issues when editing values in the key editors. #jira UE-26960 Change 2875046 on 2016/02/20 by Max.Preussner Sequencer: Fix so that clicking on UMG Animations doesn't dirty the scene. #jira UE-26249 Change 2875047 on 2016/02/20 by Max.Chen Sequencer: Add option to toggle display of channel colors/lines. View->Channel Colors Change 2877138 on 2016/02/23 by Max.Chen Sequencer: Select corresponding track node when selecting key or section. Removed active/inactive selection since it was only being used in deletion and the rules for deletion are now dependent upon what is selected - delete keys and sections before deleting outliner nodes. Change 2877143 on 2016/02/23 by Thomas.Sarkanen Added new math function: WindRelativeAnglesDegrees Given two angles in degrees, 'wind' the angle in Angle1 so that it avoids >180 degree flips. Good for winding rotations previously expressed as quaternions into a euler-angle representation. Change 2877147 on 2016/02/23 by Thomas.Sarkanen Added the ability to import sequencer transforms from the root node of an animation sequence Intended for use after re-importing animations from DCC tools. Available in the right-click menu for transform tracks. Also added FindTrackBinding to UMovieScene so track bindings can be recovered from tracks. Change 2877163 on 2016/02/23 by Max.Chen Sequencer: Add option to create keyframe sections as infinite. Sequencer defaults to true, UMG defaults to false. Change 2877165 on 2016/02/23 by Max.Preussner Sequencer: Drawing vertical position lines when dragging keys Change 2878748 on 2016/02/23 by Max.Chen Curve Editor: Switch curve type to user when flatting or straightening tangents. #jira UE-27277 Change 2878799 on 2016/02/23 by Frank.Fella Sequencer - Add folders support to the outliner. Change 2880769 on 2016/02/24 by Andrew.Rodham Sequencer: Added ability to override runtime spawnable ownership in sequencer - This is exposed as an option on spawnables "Keep Alive Outside Playback Range (In Sequencer)" - Enabling this will stop spawnables from being destroyed when scrubbing outside of the playback range #jira UE-27205 Change 2880770 on 2016/02/24 by Thomas.Sarkanen Sequencer: Added countdown and recording indicator display when recording Also fixed extra popups added post-PIE when animation recordings auto shutdown. Change 2880782 on 2016/02/24 by Max.Chen Sequencer: Snapping now also uses the current time as a possible snap time. #jira UE-26306 Change 2880793 on 2016/02/24 by Max.Chen Sequencer: Add +Animation to Animation track so that it's consistent with all other tracks that have a + button. Change 2880812 on 2016/02/24 by Max.Chen Sequencer: Fix adjusting the leading edge of a shot section so that it cuts into the shot rather than adjusts the start time. #jira UE-26306 Change 2881624 on 2016/02/25 by Andrew.Rodham Changing shader version GUID to fix corrupt shaders in ddc Change 2882408 on 2016/02/25 by Thomas.Sarkanen Asset/actors stored in TLazyObjectPtrs can now reference game content from engine This is a legitimate use case as lazy object ptrs are designed to reference assets/actors cross-domain. Change 2882409 on 2016/02/25 by Thomas.Sarkanen [CL 2899785 by Max Chen in Main branch]
2016-03-08 16:55:04 -05:00
}
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3946692) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3801826 by Max.Chen PR #4304: Level Sequence crash fix - Guarded against dereferencing null componen. (Contributed by DSDambuster) Change 3801828 by Max.Chen PR #4302: Movie Scene Visibility Template unitialised variable, causing random . (Contributed by DSDambuster) Change 3801837 by Max.Chen Sequencer: Delay spawning/construction for convert to possessable. This fixes a bug where property values would be lost when converting back and forth from possessable to spawnable. #jira UE-52400 Change 3801841 by Max.Chen Sequencer: Make spacer nodes not selectable. PR #4194: Improvements to Sequencer (Contributed by projectgheist) #jira UE-53117 #jira UE-52139 Change 3804183 by Max.Preussner MediaAssets: Added missing lock in media sound component Change 3805414 by Max.Preussner MediaAssets: Setting valid GUID when initializing media texture resource Change 3819578 by Max.Chen PR #4370: When enabling the "MovieCapture", do not turn off the Stereo-3D display. (Contributed by yehaike) #jira UE-53647 Change 3823414 by Max.Chen Curve Editor: Lock down the first and last keys in the redundant keys removal range so that they're unaffected. #jira UE-53591 Change 3826406 by Max.Chen Sequencer: Move OnStartedPlaying() to within first update in UpdateTimeCursorPosition(). This fixes an issue where setting the hud/player visibility was getting stomped on later. #jira UE-52772 Change 3827044 by Max.Preussner MediaAssets: Added sprite visualization to media sound component #jira UE-53594 Change 3827988 by Max.Preussner MediaPlayerAssets: Fixed Media Texture is not linked to Media Player when created together #jira UE-53532 Change 3828506 by Max.Preussner MediaPlayerEditor: Added attenuation visualizer for media sound components #jira UE-53594 Change 3832590 by andrew.porter EngineTest: Added a keep state check in Property Animation sequencer test Change 3833053 by andrew.porter EngineTest: Adding Hierarchical Bias test Change 3835683 by andrew.porter EngineTest: Adding UMG Animation screenshot test Change 3836076 by Max.Chen Sequencer: Fix audio volume and pitch multiplier deprecation. Change 3836230 by andrew.porter EngineTest: Adding Sequence Bone Position automation test Change 3836347 by Max.Chen Sequencer: Fixes to shot name parsing. When a shot doesn't contain a shot number, assume, [ShotName]_[TakeNumber]. When duplicating a shot, put the new shot in the same path of the original shot, so that the take numbers will increment properly. #jira UE-51868 Change 3836552 by Max.Chen Sequencer: Sub section now has a takes menu Change 3838094 by Max.Chen UMG: Fix template finish not getting called on stop. This fixes a bug where sections aren't restored when finished. #jira UE-52285 Change 3838708 by Max.Chen Sequencer: Add notification when the blend type is changed. #jira UE-54046 Change 3840295 by Max.Chen Sequencer: Fix copy/paste crash for lights #jira UE-54084 Change 3840957 by Mike.Zyracki Added Show Only Keyable and Show Only Animated to the filter list in the property editor. Added IsPropertyAnimated to IDetailKeyframe Interface which already had support for showing properties which are keyable (which is used for the key icon next to the properties.). Could have created another interface but then would have had to mimic the sequencer binding, releasing also, so this seemed best way. One issue still left is that custom built detail items currently don't store associated properties(usually) and so certain properties, in particulalry transforms, won't show up as keyable or animated. Note this also shows up with the keyable icon not showing up next to transform tracks, and other filters like Show Only Modified not working with transforms/customs. Not sure best way to tackle this. #jira UESEQ-328 Change 3841756 by Max.Chen Sequencer: Fix unbound possessable components when pasting spawnables. #jira UE-54104 Change 3843950 by andrew.porter EngineTest: Renaming LevelStreaming tests/content to LevelVisibility Change 3844082 by Mike.Zyracki Missing file for animated filter in property editor. When finding if a track is animated we need to find it but we can't easily induce the MovieTrack class for any particular property. So we don't set a class for it and just search by it's ID and name. #jira UESEQ-328 Change 3846902 by Max.Preussner ImgMedia: Fixed image media player never finished initialization if loading failed #jira UE-54247 Change 3849820 by Mike.Zyracki Reassigning deleted widgets didn't work since the menu extender mechanism needs a valid UObject in order to perform an operation on it. So to fix we replaced GetObjectBindingContextMenuExtender in WidgetBlueprint with new delegate mechanism (OnBuildCustomContextMenuForGuid) that supports FGuid in addition to UObjects which is needed to handle re-binding deleted widgets. Note that the default sequencer hacks this for replacing deleted actors in SequencerObjectBindingNode to check to see if a LevelSequence is active. We could move to this mechanism there also. #jira UE-53163 Change 3852211 by Max.Chen UMG: Indicate name of the property that is not bound. #jira UE-54350 Change 3854120 by Max.Chen Sequencer: Fix sibling folders being allowed to have the same folder name. #jira UE-54363 Change 3854627 by Max.Chen Sequencer: Step to next/previous key should work for all tracks if there aren't any selected. #jira UESEQ-391 Change 3855825 by andrew.porter EngineTest: Adding animation blending automation test Change 3855950 by andrew.porter EngineTest: Adding correct expected valuues to animation blending test Change 3856237 by Matt.Hoffman UESEQ-336 - Sequencer Track Reordering Adds the ability to re-order Master Tracks, Folders and Object Bindings within sequencer hierarchies (including UMG). Adds the ability to do a one-off sorting of the content under the old sorting behavior if the user wants to reset their layout to how it was under legacy behavior. Modifies SequencerTrackNodes, SequencerFolderNodes and SequencerObjectBindingNodes to handle CanDrop/OnDrop for above, below and ontop of. Fixes a Slate Issue that forcibly expanded a TreeviewRow if an item handled OnDrop. Slate will now only forcibly expand the row if the item says the drop happened ontop of the item, and not above or below it like it previously did. Change 3856503 by andrew.porter EngineTest: Adding automation test for using animation blueprint with blend multi node in sequencer Change 3857875 by Max.Chen Sequencer: Assign the sequence id after the template is compiled. #jira UE-54462 Change 3858344 by Max.Chen Sequencer: Prevent Goto and Transform boxes from overlapping by allowing them to be visible at the same time in an autosized horizontal box. Also, added close button to the goto box. PR #4425: Prevent Goto and Transform boxes from overlapping in Sequencer ... (Contributed by projectgheist) #jira UE-54210 Change 3860566 by andrew.porter MediaFrameworkTest: Set the option to index 0 for the audio and video track list by default Change 3860654 by andrew.porter EngineTest: Enabling Camera Cut + FOV test Change 3860981 by andrew.porter EngineTest: Updating skeletal mesh tests with a delay after set playback position Change 3861256 by Max.Chen Sequencer: Add all bindings if none selected. #jira-54440 Change 3862154 by Andrew.Rodham Added TimeManagement module Change 3862424 by andrew.porter EngineTest: Turned on the test Bone Positions with Blend Multi Node Change 3862573 by andrew.porter EngineTest: Adding test to compare bone positions in a sequence that is blending an animation that is using an AnimBP Change 3865117 by Max.Chen Sequencer: Stop auto scroll on mouse release of movement. #jira UE-31212 Change 3865303 by Max.Chen Sequencer: Add drag and drop transactions #jira UE-54662 Change 3865304 by Max.Chen Sequencer: Fix crash when an actor factory is not found. Change 3865361 by Max.Chen Sequencer: Don't change the camera/shot lock button when popping out of a sequence. #jira UE-54665 Change 3865412 by Max.Chen Sequencer: Determine whether a transform track is for a camera by using the spawned object or template #jira UE-54666 Change 3865685 by Max.Chen Sequencer: Clear autoscrub offset when stopping autoscroll #jira UE-31212 Change 3865886 by Max.Chen Sequence Recorder: Log an error if the number of frames changes while recording. This can happen if the skeleton changes while recording. #jira UE-48715 Change 3866925 by Andrew.Porter MediaFrameworkTest: Changing the current PNG test video image sequence to 1024 x 576 Change 3867705 by andrew.porter QAGame: Adding Audio Sort Sequence to dev folder Change 3867890 by andrew.porter QAGame: Adding a sequence for testing a sorting crash to my dev folder Change 3872628 by Max.Chen Movie Scene Capture: Split delay before warmup into split delay before shot warmup so that there's separate controls for when the movie scene capture warmups up vs. shot boundaries. Change 3873131 by Matt.Hoffman UE-54732 - Crash reordering a folder with a track. This was caused by folders being the only type of track to check if someone was putting a parent track into a child track. Object Binding tracks and Tracks now check as well so that you can't use the above/below drop targets to add parents as children. This also fixed a typo in the localization keys. #jira UE-54732 Change 3873301 by Mike.Zyracki Added ability to support continous euler angle changes when changing rotations, in particularly with the rotation gizmo's. To do this we effectively added a form an of 'euler filter'(https://en.wikipedia.org/wiki/Euler_filter) to find the closest euler angle to the current euler angle. Three functions were added to FRotator to make this possible, one to get the euler angle that's has the same rotation as it, one to get the difference between two euler angles via Manhattan distance and a third using the previous two to choose a Rotator value that's closest to it. We then use these functions before calling UComponent::SetRelativeRotation to make sure we use the correct Euler after the Quat conversion. We also no longer limit(bound) the euler angles to -180,180, which is obviously necessary to avoid flips. I also changed how we caluclate yaw and roll when pitch is -90 or 90 to make it the standard approach of zeroing out roll and just setting yaw. Main reasons are the previous implementation had precision issues so things like 180, 90, -180 would show up due to numbers being nearly zero but negative,(this would break any smooth interpolations), and this facilitates having a 'gimbal' rotation mode (like Maya, Blender etc..) if we ever want that also. If needed we could keep the previous implementation but would need to add some FMath::IsNearlyZero checks, with less performance. Note we only do this special filtering when applying delta's to actors or components in the editors, which then call UComponent::SetRelativeRotationExact, which is a new function to foces the RelativeRotation to be equal to the new rotation. This allows us to store un-nomalized Rotators at the cost that the RotationCache may be broken. We didn't change any of the other UComponent functions that set rotations (via Quats or Transforms) so they will still be bounded and unwound. In SetInternalWorldLocationAndRotation we only set the rotation if the rotation has changed, which fixes the rotation getting changed and re-normalized if just translate happens. In TransformTrackEditor, we correclty use the bUndwing flag and in MovieScene3DTransformSection there was an un-needed winding check there, it will be unwound earlier if needed, which happens if Sequence Recording is happening. Max we should talk about what to do about this . Note the euler angle drag via the widget is still bound to 0-360. I think we should just unbound that now since the rotations value are now unbound. This review now includes fixes suggested by Zak. #jira UE-UE-22228 Change 3873483 by Matt.Hoffman Sequencer Tracks can now be inserted above the spacer at the bottom of the tree. #jira UE-54706 Change 3873899 by Max.Chen Sequencer: Add section selection throbbing Change 3873908 by Max.Chen Movie Scene Capture: Added logging per frame Change 3873924 by Matt.Hoffman Adds the ability to store Sequence Recorder setups into profiles that stay with the map and can be re-loaded later. Profiles store the Actor Recordings so the settings for each actor should carry with them. #jira UESEQ-339 Change 3874726 by Matt.Hoffman Disable drag-and-drop targets on spacers that come between rows in Sequencer. This prevents extra drag/drop targets showing up between each row. #jira UE-54706 Change 3874862 by Matt.Hoffman Audio Track no longer gets reordered when adding sub-audio tracks, as sub-tracks are no longer counted towards the sorting order index when normalizing indexes. #jira UE-54727 Change 3875905 by Matt.Hoffman Disable Fade Track UI if a fade track already exists in the sequence. #jira UESEQ-393 Change 3876163 by Max.Chen Sequencer: Swap the camera object to the camera component's owner if it's not the same. #jira UE-54874 Change 3876971 by Andrew.Porter EngineTest: Moved Media Player Seek test to new folder. Also enabled the test with new ground truth image. Change 3877040 by Max.Chen Cine Camera: Split camera properties to two groups, "Camera Options" and "Camera Settings". The cine camera now hides properties in the "Camera Settings" group so that properties like bConstrainAspectRatio (in the "Camera Options" group) can be visible. #jira UE-54192 Change 3877763 by Max.Chen Curve Editor: Fix curve changed on end drag so that only curves that had keys/tangents that were changed receive notification, otherwise all loaded curves were getting notified that they were changed. #jira UE-54951 Change 3878234 by Matt.Hoffman Disable "Drop Below" targets for Sequencer Tree nodes to prevent a confusing UX issue where dropping underneath a Object Binding Node puts it after the object binding node but the UI looks like it's inserting it inside the Object Binding node. #jira UE-54743 Change 3879359 by Mike.Zyracki If a track is inactive we dim it a bit which seems to be the UE4 way to show inactive or disabled state. We changed the active logic so that all subtracks need to be inactive for the track to also be inactive(instead of all active for active). This conforms to how the active state actually works, e.g if you have two sections and only one is active the track is still active above it. #jira UESEQ-388 Change 3879462 by Max.Chen Sequencer: Allow dragging onto a particular row which would move out any overlapping sections to make space for the newly created section. Newly created sections are now selected and throbbed to draw attention to themselves. #jira UE-54664 Change 3879464 by Max.Chen Sequencer: Fixed overlapping ranges being inserted into the evaluation field during compilation - The issue was that track segments that had been combined with adjacent segments (due to them being identical) would potentially cause a subsequently compiled frame to overlap with a range that had already been inserted into the evaluation field. - The insertion code previously asserted that only minor overlaps were catered for (due to fp rounding errors) and assumed that a supplied range could not entirely contain any other range in the field. - The solution is to supply the insertion time along with the range to know exactly where the data should live in the field, and crop the range to the maximum allowable space between adjacent ranges. #jira UE-54922 Change 3879590 by Matt.Hoffman Items that are now added to the Sequencer via the "+Track" menu will be selected after being added. Items can now be added inside of folders instead of just to the root level. #jira UE-27397 Change 3879612 by Mike.Zyracki Display Nodes with no children are always active. #jira UESEQ-388 Change 3879730 by Matt.Hoffman Sequence Recorder's actor recording groups now remove items from the group when removed via the UI. #jira UESEQ-339 Change 3880256 by Mike.Zyracki Fix issue with inactive display with folders and other track nodes. #jira UESEQ-388 Change 3883491 by Max.Chen Fix issue where tick is skipped due to last ticked pose isn't cleared after AnimInstance changes. Copy from Release-4.19 #jira UE-51323 Change 3883603 by Max.Chen Movie Scene Capture: Add option toggle disable screen percentage. By default this is on (no change in current behavior). #jira UE-51898 Change 3885074 by Max.Preussner MediaCompositing: Resetting media texture & freeing resource on section end; removed dead code Change 3887220 by Max.Preussner MediaCompositing: Defaulted media section duration to 1 sec (since we do not know the actual duration in most cases) Change 3887478 by Matt.Hoffman Sequences now show [Inactive] in their title bars when they're disabled. This helps communicate why a sequence isn't being evaluated. #jira UE-51469 Change 3888985 by Max.Chen Movie Scene Capture: Clamp HDR Compression Quality between 0 and 1. #jira UE-55136 Change 3893519 by Max.Chen Sequence Recorder: Clarified tooltip for bRecordNearbySpawnedActors - spawned actors will still be recorded if they match the ActorFilter. #jira UE-55238 Change 3893546 by Max.Chen Sequence Recorder: If a selected actor already has a recording, add a blank recording. #jira UE-55239 Change 3894044 by Max.Preussner MediaCompositing: Added support for seeking into a media section Change 3894310 by andrew.porter MediaFrameworkTest: Adding Img media sources for 1080 and 2160 ravent test content Change 3894426 by Max.Preussner MediaAssets: Letting media textures with AutoClear retain their clear color when player is reset Change 3895717 by Max.Chen Sequencer: Null checks to prevent crash when saving the default state of a spawnable #jira UE-55304 Change 3897388 by Max.Chen Sequencer: Don't update current time to be within the view range when stepping into a sequence. #jira UE-55322 Change 3897452 by Max.Chen Audio: Fix crash when trying to record audio without any active capture devices. Log warning if the number of input channels is not 1 or 2. #jira UE-55223 Change 3897619 by Max.Preussner MediaCompositing: Removed commented out code Change 3898072 by Max.Chen Sequencer: Override the animation asset in the player state if it doesn't match the animation asset that's being evaluated. #jira UE-55328 Change 3898272 by Max.Preussner MediaPlayerEditor: Made slate brush constants static Change 3898704 by Max.Chen Sequencer: Skip if the binding id's sequence can't be found. #jira UE-55337 Change 3899855 by Max.Preussner MediaCompositingEditor: Added cache state visualization to media track Change 3900300 by Max.Preussner MediaCompositingEditor: Added loop indicators to media sections Change 3900694 by Max.Preussner ImfMedia: Looping cache only when player is looping Change 3900892 by Max.Preussner Stats: Added stats category for media framework Change 3900954 by Max.Preussner MediaCompositing: Don't evaluate at the end of media section Change 3901348 by Max.Preussner Core: Replaced TLruCache autos for better readability Change 3901655 by Max.Preussner ImgMedia: Added more perf stats to EXR reader Change 3901972 by Max.Preussner MediaAssets: Added getter for media player in media sound components Change 3902233 by Max.Preussner MediaAssets: Enabling media textures to receive samples right after player is assigned Change 3902238 by Max.Preussner MediaCompositing: Working around init/shutdown idiosyncracies in sequencer Change 3904045 by Max.Chen Sequencer: Fix copy/paste crash. Only process UMovieSceneCopyableBinding and objects that can be spawned by the movie scene spawn register. #jira UE-55314 Change 3905605 by Max.Chen Sequencer: Restrict spawnables from being created if they have a ClassWithin that UMovieScene is not a child of. #jira UE-55429 Change 3906550 by Max.Chen Sequencer: Add media track icon #jira UE-55480 Change 3907101 by Max.Chen Sequence Recorder: Fix bugs related to not recording a level sequence. There were certain assumptions that creating a level sequence meant that sequence recording was in progress. This is not always the case - the recorders can record animation assets and not create a level sequence. Changed the notion of IsRecording() to having at least one actor recording that is recording. Countdown timer, recording displays, etc should function if IsRecording() and not based on whether a level sequence is created. #jira UE-55485 Change 3907247 by Max.Chen Sequence Recorder: Fix crash not removing PrepareToCleanseEditorObject delegate. Repros when opening sequence recorder, closing it, and then opening or creating a level. Change 3910343 by Max.Preussner Core: Added async helper for executing functions on a given thread pool Change 3910346 by Max.Preussner ImgMedia: Added separate thread pools for loading/decoding and deleting image frames Change 3910829 by Max.Preussner Profiler: Increased visible range of profiler graph Change 3910841 by Max.Preussner MediaCompositing: Displaying asset name instead of full media source path in media section Change 3910870 by Max.Preussner ImgMedia: Using deallocation thread pool only in debug builds Change 3919642 by Max.Chen Sequence Recorder: Clarify active tooltip #jira UE-55661 Change 3919660 by Max.Chen Sequencer: Sequence template source signatures are now also compared to catch the case where a sub-sequence asset has been saved but not modified - The following sequence of events exposes this issue: - Create a master sequence with a single shot that spawns a cube - Add this sequence to a level and set it to auto-play - Save everything and restart - Resave just the inner shot asset without opening it - PIE - The inner shot never spawns its cube because its template was wiped on save, but its signature never changed. Since the master sequence previously didn't check the template source signature, it ends up trying to evaluate an empty template. #jira UE-55626 #jira UE-55490 Change 3921825 by Max.Chen Sequencer: "Run Construction Script in Sequencer" is off by default for blueprints but on for Sequencer. This allows the content author to switch it on for specific blueprints and sequencer will be default, run those with construction scripts enabled. Change 3922232 by Max.Chen Sequence Recorder: Reset countdelay on stop. #jira UE-55755 Change 3922306 by Max.Chen Sequence Recorder: Don't automatically mark transforms to be recorded by sequence recorder. Instead, log a warning if the user toggled it off to warn that the resulting animation might not match gameplay. #jira UE-55758 Change 3922912 by Max.Chen Sequence Recorder: Fix refresh next sequence name #jira UE-55757 Change 3927654 by Max.Chen Movie Scene Capture: Added format mapping for the name of the current camera #jira UE-55769 PR #4537 Change 3927658 by Max.Chen Sequencer: Added fbx property mapping for "FocusDistance" to "FocusSettings.ManualFocusDistance" #jira UE-55782 Change 3932022 by Max.Chen Sequencer: Add import animation track section to next available row index. #jira UE-55892 Change 3933919 by Max.Chen Sequencer: Jump to playback start frame and not 0 to start playback for recording. #jira UE-55933 Change 3934307 by Andrew.Rodham Sequencer: Add template signature that is re-generated every time the base template is regenerated, which invalidates evaluation fields This fixes an issue where the same sequence is instantiated multiple times in a sequence. If the source sequence was saved, its template would be wiped, which would invalidate the template ID When an instance tries to evaluate the master template, it would only invalidate a range in the evaluation field that was the hull of any invalid sub sequences overlapping the current time, potentially leaving invalid data in the evaluation field at positions later (or earlier) on in the sequence When the sub template was re-generated, it receives the same SequenceSignature as it had before (because the sequence hasn't actually changed), which causes the stale evaluation field data to fail the IsDirty check (because the sequence is the same as it thought, but the *template* has changed) This has been addressed be adding a signature to templates themselves, and checking both the template signature and sequence signature as a part of the IsDirty check. This ensures that we regenerate if either the template, or the sequence have changed. #jira UE-55934 Change 3936327 by Andrew.Rodham Sequencer: Removed increment when trimming right UMovieSceneSection::TrimSection already explicity assigns an exclusive bound to the time passed in. The new behavior means we can trim a section to the right, and insert another section without changing the time to create adjacent sections. #jira UE-42652 Change 3936328 by Andrew.Rodham Fixed KeyFrameManipulator assignment operators and copy/move constructors - These types are potentially self-referential so cannot use default constructors/assignment Change 3936330 by Andrew.Rodham Converted UMGSequencePlayer to use frames internally #jira UE-54878 Change 3936726 by Max.Chen Sequencer: Set track node as the parent of the key area node. The key area switcher needs the object binding id from the parent object binding node. Without this, the binding to the external value fails. #jira UE-55931 Change 3936775 by Max.Chen Sequencer: Should stop or loop should compare DurationFrames with Current Time from StartTime. The bug is that if you set 30 warmup frames in movie rendering for a range of 0-100, the FrameRange will be starting at -30 and have a duration of 130. Without this fix, the playback will continue until frame 130, rather than 100. #jira UE-55933 Change 3936935 by Matt.Hoffman Easing Curves are now represented in Play Rate resolution instead of internal resolution. #jira UE-55937 Change 3937069 by Matt.Hoffman Users can toggle if the is infinite on each side, limited by which tracks support infinite ranges. #jira UE-55891 Change 3937516 by Max.Preussner ImgMedia: Added support for single-threaded platforms #jira UE-55986 Change 3937826 by Max.Preussner MediaAssets: Disabling media sound components on HTML5 if AudioMixer is not enabled Change 3937997 by Max.Chen Curve Editor: Add Zoom to Fit Curves so that selected curves from Sequencer can be focused on. Tested that undo doesn't re-zoom. #jira UE-55935 Change 3938000 by Max.Chen Sequencer: Stop all sounds before generating audio waveforms. #jira UE-55951 Change 3938376 by Max.Preussner XGEController: Disabled XGE Controller in single-threaded apps to prevent crash Change 3938444 by Max.Preussner Core: Added async support for single-threaded applications Change 3938445 by Max.Preussner Networking: Added support for single-threaded applications in UDP socket sender/receiver Change 3938447 by Max.Preussner Messaging: Added support for single-threaded applications Change 3939432 by Max.Chen Sequence Recorder: Append command list to global level editor actions so that shortcuts are accessible in level editor. #jira UE-55798 Change 3940229 by Andrew.Rodham Added prospective display rate upgrade to UMovieScene::PostLoad - There was previously some very odd behaviour that would assign the fixed frame interval only when a sub sequence was focused in SSequencer. This meant that many sequences could have a frame interval of 0 set in the data. - Under the old method of snap interval display this would have fallen back to getting the display interval from the sequencer settings, but we no longer look at these. - The USequencerSettings properties have been removed and in their place, a prospective data upgrade for sequences that have a fixed frame interval old 0fps that sets the play rate to the previous defaults based off the old USequencerSettings defaults. - This could end up 'changing' the display rate for sequences where the user has changed the snap interval in the settings for a particular sequence editor, but there's not much we can do about that given we don't have access to the USequencerSettings classes in UMovieScene #jira UE-55919 Change 3940277 by Andrew.Rodham Sequencer: Added ability to default frame resolutions and play rates for newly created actor sequences Change 3940378 by Andrew.Rodham Sequencer: Post move import dialog now defaults to the playback framerate of the sequence, and floors to frame numbers Change 3940559 by Andrew.Rodham Reinstated primed or recording sequence color Change 3940642 by Max.Preussner ImagePlate: Removed image plate media playback functionality Change 3940843 by Max.Preussner Core: Made TCircularQueue actually thread-safe; improved code comments Change 3940860 by Max.Chen Sequencer: Changed StructNameToKey to StructPathToKey Previously, keying a PropertyPath of [RenderTransform][Shear][X] would get trimmed to X, which doesn't map to a channel name as considered by Sequencer2dTransformTrackEditor. Instead, trim the resulting property path to [Shear][X] so that track editors can determine the desired struct path and channels to key. #jira UE-52966 Change 3941292 by Mike.Zyracki Fix for trajectories out of range not showing up. 1) If we had no key data we would pop the time, so wouldn't get the section ranges. 2) Calculating of upper bound was wrong, checking against -1 and not key == num of keys when doing algo::lower_bound. 3) No need to do the Bck-- for the bakward iterators since we fixed #2. We start now from the upper bound correctly. 4) If we had no keys (at section start,end) we would incorrectly say we were any key type, so since we draw constant keys as dashed we would do so incorrectly around section end points. #jira UE-55929 Change 3941424 by Max.Chen Curve Editor: Change Zoom to Fit to use TArrayView Change 3941498 by Max.Preussner Core: Added FMath::DivideAndRoundNearest function Change 3942097 by Matt.Hoffman Drop Frame Timecode Support for NTSC rates. Change 3942104 by Matt.Hoffman Sequence Recorder Group is no longer visible inside the World Outliner after using one. #jira 55266 Change 3942107 by Max.Chen Sequencer: Resurrect logic to find or extend an existing section when adding keys. Change 3942330 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942339 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942507 by Andrew.Rodham Sequencer: We no longer pad the time overlap threshold with a small number that is not scaled by the current zoom level - The presence of this pad was causing keys that were far apart to be grouped when zoomed in a long way Change 3942509 by Andrew.Rodham Sequencer: Only pad total view range, rather than section range as well when retrieving keys to render - This stops us from rendering keys that are within the view range, but outside the section range Change 3942512 by Andrew.Rodham Added transactions to some sequencer details customizations Change 3942513 by Andrew.Rodham Sequencer: Reinstated validation checks to UMovieSceneSection::SetStartFrame and SetEndFrame, changed erroneous uses to use SetRange Change 3942560 by Andrew.Rodham Pass by rvalue reference to appease error C2719 on Win32 ('InChannels': formal parameter with requested alignment of 8 won't be aligned) Change 3942697 by Andrew.Rodham Newly Created Level Sequences and Actor Sequences now default to 24000 fps frame resolution (+/- ~24hrs range, supporting all integer rates + 23.976) Change 3942700 by Andrew.Rodham Sequencer: Added legacy out-of-bounds errors for times that are not supported by the current legacy upgrade frame resolution Change 3942989 by Max.Preussner Core: Fixed circular queue count calculation Change 3943538 by Max.Preussner MediaAssets: Reverted workaround for procedural audio log spam in HTML5 (Actor component initialization cannot be skipped if the component is used in a level) Change 3944071 by Max.Preussner QAGame: Fixed Media Texture keeps last frame of Media when PIE ends #jira UE-53360 Change 3944292 by Max.Chen Sequencer: Added extra flags to ensure that asset initialization does not occur on template actor sequences #jira UE-56113 Change 3944364 by Max.Chen Sequencer: Prevent circular shot/master tracks. Tested adding master -> child -> master as drag and drop cinematic shot tracks and sub tracks as well as through the + button. #jira UE-56091 Change 3944422 by Max.Chen Sequence Recorder: Disable transform recording if off. #jira UE-56061 Change 3944745 by Andrew.Rodham Sequencer: Key rendering fixes - Fixed assert that occured when keys happened to reside on some times due to KeyTime + TimeOverlapThreshold - KeyTime being slightly larger TimeOverlapThreshold - Fixed keys sometimes being clipped when zoomed right in due to lack of half-frame offset - Added missing documentation to MovieSceneTimeHelpers.h #jira UE-56107 Change 3945231 by Andrew.Rodham Sequencer: Reconstruct channel proxy on Serialize to catch all cases of undo/redo, PostLoad and duplication #jira UE-56089 Change 3945301 by Andrew.Rodham Sequencer: Added safety checks during initial sequence recording to guard against applying negative or 0-sized sequence ranges #jira UE-56125 Change 3946627 by Max.Preussner Fortnite: Fixed game crashes closing editor while in PIE - Pure virtual function being called #jira UE-56144 [CL 3946896 by Max Chen in Main branch]
2018-03-14 22:09:33 -04:00
else if (!SelectionRange.IsEmpty() && !bHitScrubber && HitTestRangeStart(RangeToScreen, SelectionRange, MouseDownPixel))
Copying //UE4/Dev-Sequencer to //UE4/Main ========================== MAJOR FEATURES + CHANGES ========================== Change 2875025 on 2016/02/20 by Andrew.Rodham Sequencer: Cinematic viewport improvements - Added optional letterbox overlay (defaults to 2.35:1) - Added ability to change safe frame colors - Added selected tracks' keys to the transport range - Added buttons for jumping between selected tracks' keyframes on the transport controls - Removed black padding around the viewport where possible - Added ability to specify whether a combo button/menu anchor should close when its parent receives focus - Separated logic of FGroupedKeyArea into FSequencerKeyCollection, so it can be used independently - Added playback range to the viewport frame numbers - All frame numbers are now spin boxes #jira UE-26429 Change 2875026 on 2016/02/20 by Thomas.Sarkanen Added console commands for recording sequences Changed plugin to a developer plugin so we can load it when the editor is in -game mode. Added Exec commands. Added some more logging to help diagnose problems when using commands. Added loading/saving of config for recorder settings (stored in Editor.ini). Also disabled controls in recorder window when recording. Added auto-saving of assets when in non-editor modes. Moved animation settings from UnrealEd to Engine module. Change 2875036 on 2016/02/20 by Max.Chen Sequencer: Call RedrawAllViewports instead of RedrawLevelEditingViewports. In particular, this fixes some update issues when editing values in the key editors. #jira UE-26960 Change 2875046 on 2016/02/20 by Max.Preussner Sequencer: Fix so that clicking on UMG Animations doesn't dirty the scene. #jira UE-26249 Change 2875047 on 2016/02/20 by Max.Chen Sequencer: Add option to toggle display of channel colors/lines. View->Channel Colors Change 2877138 on 2016/02/23 by Max.Chen Sequencer: Select corresponding track node when selecting key or section. Removed active/inactive selection since it was only being used in deletion and the rules for deletion are now dependent upon what is selected - delete keys and sections before deleting outliner nodes. Change 2877143 on 2016/02/23 by Thomas.Sarkanen Added new math function: WindRelativeAnglesDegrees Given two angles in degrees, 'wind' the angle in Angle1 so that it avoids >180 degree flips. Good for winding rotations previously expressed as quaternions into a euler-angle representation. Change 2877147 on 2016/02/23 by Thomas.Sarkanen Added the ability to import sequencer transforms from the root node of an animation sequence Intended for use after re-importing animations from DCC tools. Available in the right-click menu for transform tracks. Also added FindTrackBinding to UMovieScene so track bindings can be recovered from tracks. Change 2877163 on 2016/02/23 by Max.Chen Sequencer: Add option to create keyframe sections as infinite. Sequencer defaults to true, UMG defaults to false. Change 2877165 on 2016/02/23 by Max.Preussner Sequencer: Drawing vertical position lines when dragging keys Change 2878748 on 2016/02/23 by Max.Chen Curve Editor: Switch curve type to user when flatting or straightening tangents. #jira UE-27277 Change 2878799 on 2016/02/23 by Frank.Fella Sequencer - Add folders support to the outliner. Change 2880769 on 2016/02/24 by Andrew.Rodham Sequencer: Added ability to override runtime spawnable ownership in sequencer - This is exposed as an option on spawnables "Keep Alive Outside Playback Range (In Sequencer)" - Enabling this will stop spawnables from being destroyed when scrubbing outside of the playback range #jira UE-27205 Change 2880770 on 2016/02/24 by Thomas.Sarkanen Sequencer: Added countdown and recording indicator display when recording Also fixed extra popups added post-PIE when animation recordings auto shutdown. Change 2880782 on 2016/02/24 by Max.Chen Sequencer: Snapping now also uses the current time as a possible snap time. #jira UE-26306 Change 2880793 on 2016/02/24 by Max.Chen Sequencer: Add +Animation to Animation track so that it's consistent with all other tracks that have a + button. Change 2880812 on 2016/02/24 by Max.Chen Sequencer: Fix adjusting the leading edge of a shot section so that it cuts into the shot rather than adjusts the start time. #jira UE-26306 Change 2881624 on 2016/02/25 by Andrew.Rodham Changing shader version GUID to fix corrupt shaders in ddc Change 2882408 on 2016/02/25 by Thomas.Sarkanen Asset/actors stored in TLazyObjectPtrs can now reference game content from engine This is a legitimate use case as lazy object ptrs are designed to reference assets/actors cross-domain. Change 2882409 on 2016/02/25 by Thomas.Sarkanen [CL 2899785 by Max Chen in Main branch]
2016-03-08 16:55:04 -05:00
{
Copying //UE4/Dev-Sequencer to //UE4/Main (Source: //UE4/Dev-Sequencer @ 2945541) ========================== MAJOR FEATURES + CHANGES ========================== Change 2837601 on 2016/01/20 by Thomas.Sarkanen Sequencer: Exposed bool, byte, event, fade, float, slomo, and visibility section keys in context menu Change 2840895 on 2016/01/23 by Thomas.Sarkanen Sequencer: Moved key proxy handling from section into key area; added support for grouped keys; exposed color properties in context menu. Change 2901092 on 2016/03/09 by Thomas.Sarkanen Sequencer: Fixed ensure() and crash when exiting PIE & then playing back in editor Made sure that instances that are playing that have active montages can re-connect to a playing montage if it is already active. We dont stop/start preview/non- preview playback when switching modes right now so I've just made the system robust to the switch when playing back animation. Ensured that instances are kept up to date by hooking into EndPlayMapDelegate. This fires slightly later than OnEndPIE, so it allows us to pick up when instances have been deleted from the world. OnEndPIE is fired before the worlds are shutdown so instances can still be bound to valid (but nearly dead) actors at this point. #jira UE-27898 #jira UE-27899 Change 2901159 on 2016/03/09 by Chris.Bunner Allow EXR frames from SaveHighResScreenshot to be uncompressed (r.SaveUncompressedEXRFrames). Change 2903123 on 2016/03/10 by Max.Chen Sequencer: Add snapping for the in/out range. Change 2903126 on 2016/03/10 by Max.Chen Sequencer: Fix split and trim for cinematic shot sections so that the start offset value is set. Change 2903132 on 2016/03/10 by Max.Chen Sequencer: Create camera here and set it as the current camera cut. Change 2903138 on 2016/03/10 by Max.Chen Sequencer: Improve mechanism for adding objects to Sequencer. Hold down shift while dragging from content browser to add as a spawnable. Hold down ctrl while dragging from content browser to add as a possessable. Change 2903143 on 2016/03/10 by Max.Chen Sequencer: Add 4k to movie capture dialog. #jira UE-28147 Change 2903157 on 2016/03/10 by Max.Chen Sequencer: Pop out of locked camera when popping out of the sequence. #jira UE-27662 Change 2908097 on 2016/03/14 by Andrew.Rodham Sequencer: Added default viewport type onto the viewport types menu - The activation command for a given viewport type no longer toggles it if it's already active, it will just do nothing. - Switching back to the default viewport type can be achieved with SHIFT+D Change 2911869 on 2016/03/16 by Max.Preussner Editor: Caching device proxy manager, so the UI doesn't constantly poll for the TargetDeviceServices module Change 2917943 on 2016/03/22 by Thomas.Sarkanen Sequence Recording: Added "Record New Sequence From Current Player" to sub-sequence track menu This option is only available in PIE. When selected it primes a new seciton for recording against the pawn that is currently being controlled by the player. Change 2917946 on 2016/03/22 by Max.Chen Sequencer: Automatically add and attach a cine camera when dropping a crane or rail. Change 2917954 on 2016/03/22 by Thomas.Sarkanen Fix anim dynamics going crazy on time skips Added new API to FAnimNode_Base: NeedsDynamicReset and ResetDynamics. This allows nodes that subscribe to this interface to be reset on teleport/time skips. Call through to ResetDynamics on zero timestep (ie. skips) in the preview path in Sequencer. Change 2917961 on 2016/03/22 by Frank.Fella Sequencer - Sequencer - Update the color track code to match the behavior in matinee, also remove empty light color tracks from the sequence, and add a missing particle parameter track. Change 2917984 on 2016/03/22 by Max.Chen Sequencer: Fix crash on deleting object binding nodes multiple times. Change 2917986 on 2016/03/22 by Max.Chen Sequencer: Fix if adding multiple camera cuts at the same time with the same duration as an existing camera cut. The camera is replaced in this case. Change 2917994 on 2016/03/22 by Jeff.Farris Support for scene depth picker. Used for focus depth sampling in cine cams. Change 2918003 on 2016/03/22 by Max.Chen Sequencer - Fix selection issues related to keying an undo by moving the selection clear on rebuild to after the tree selection state has been cached by path. Change 2920371 on 2016/03/23 by Max.Preussner UnrealEd: Added a file import path that doesn't load the entire file into memory prior to importing UFactory::StaticImport will now call FactoryCreateFile for both text and binary files. The default implementation will load the file into a buffer/string and call FactoryCreateBinary/FactoryCreateText to preserve legacy behavior. New factories may override FactoryCreateFile to perform their own file processing instead. Change 2923359 on 2016/03/25 by Max.Preussner UnrealEd: Refactored out StaticImportObject code into ImportObject Change 2924887 on 2016/03/28 by Jeff.Farris Sequencer: Camera Anim and Camera Shake tracks now support PostProcess changes in the CameraAnim Change 2927283 on 2016/03/30 by Max.Chen Sequencer: Fix crash resetting default in audio track in sequencer. Fix audio track rename when adding another audio. #jira UE-28836, UE-28859 Change 2928290 on 2016/03/30 by Max.Preussner ContentBrowser: Disabling 'Show in Explorer' context menu option for newly created/unsaved asset(s) Change 2928480 on 2016/03/30 by Max.Preussner AssetTools: Added built-in type category for Media assets Change 2928498 on 2016/03/30 by Max.Preussner AssetTools: Sorting asset type categories alphabetically Change 2932326 on 2016/04/04 by Frank.Fella Sequencer - Add "paste from matinee" support for audio tracks, and add volume support to audio sections in sequencer. Change 2933917 on 2016/04/05 by Max.Preussner Core: Added microseconds support to FTimespan Change 2933920 on 2016/04/05 by Max.Preussner Sockets: Simplified socket timeout assignments Change 2935434 on 2016/04/06 by Max.Chen Sequencer: Deselect possessable before converting it to a spawnable and deleting it. Also, make sure the newly converted spawnables are selected. This fixes a bug where the transform gizmo remains after adding a spawnable. Also, consolidate code for adding possessables to sequencer so that the newly added possessable node will be selected in the widget tree. #jira UE-28215 Change 2935590 on 2016/04/06 by Jeff.Farris Made crane rig preview mesh at the tip move as expected and appear in a reasonable place. Change 2936082 on 2016/04/07 by Max.Chen Sequencer: Attach should use default attach component of the actor if it exists. This fixes a bug where trying to attach to a camera crane rig attaches to the proper component. Change 2936118 on 2016/04/07 by Max.Chen Sequencer: Adding crane/rail with shift now adds the crane/rig as a spawnable and the attached cine camera as a spawnable. An attach track is created for the cine camera spawnable. #jira UE-28308 Change 2937226 on 2016/04/07 by Max.Chen Sequencer: Add invalidation when levels are added or removed.This fixes a bug were if you have a level sequence open and then add a sublevel that the level sequence operates on, it correctly updates the actors from the new sub level. #jira UE-27595 Change 2937263 on 2016/04/07 by Frank.Fella Sequencer - Changed the matinee to sequencer conversion tools so that curve keys set to "clamped auto" import as user tangents since we don't support clamped auto in sequencer. Change 2937273 on 2016/04/07 by Max.Chen Sequencer: No longer experimental/betal and now enabled by default. #jira UETOOl-625 Change 2937694 on 2016/04/08 by Max.Chen Curve Editor: Separate out input and output snapping. #jira UE-27209 Change 2937852 on 2016/04/08 by Andrew.Rodham Sequencer: Spawnables no longer use generated classes - Spawnables now store a template actor instance, rather than a generated class - All relevant code has been converted to use this new approach - Spawnable defaults are now harvested directly from any spawned instances when the movie scene is saved, or when the object is de-spawned. We only do this for spawnables *in the currently active sequence instance*. This approach ensures that instance components and other properties persist. - Currently we don't mark the package as dirty when the defaults are changed. This needs to be addressed. - Some fixes have been made to AActor and Actor Iterators to ensure that actors not contained within a level do not crash. - Spawning optimisations to follow Change 2937956 on 2016/04/08 by Max.Preussner Sequencer: Added selection range commands to general toolbar menu Change 2937981 on 2016/04/08 by Max.Preussner Sequencer: Refactored GetKeyHandles to take a time range for filtering keys Change 2938007 on 2016/04/08 by Max.Preussner Sequencer: Implemented selection range key selection Change 2938184 on 2016/04/08 by Max.Chen Sequencer: Find in Content Browser is now in the top level menubar. #jira UE-21598 Change 2938665 on 2016/04/08 by Frank.Fella UMG - Add support for material animation. Change 2939048 on 2016/04/10 by Max.Chen CineCamera: Change current position on rail to normalize position. Change 2939067 on 2016/04/10 by Max.Chen Sequencer: Add paste color from matinee Change 2939587 on 2016/04/11 by Andrew.Rodham Sequencer: Fixes to spawnable rework - Removed commented out code. - Fixed particle system components not disabling auto activate. - Instance Components are now correctly registered on spawn. - Removed ability to set the editable flag on actors in favor of a delegate assigned to SActorDetails to disable property editing on actors spawned from outside of the currently focused sequence. Change 2939666 on 2016/04/11 by Andrew.Rodham Sequencer: Fixed active sequence ID not being set on creation Change 2940663 on 2016/04/12 by Andrew.Rodham Sequencer: Spawnable object templates now always have the RF_ArchetypeObject flag #jira UE-29337, UE-29339 Change 2940742 on 2016/04/12 by Thomas.Sarkanen Improvements to sequence recording API Sequence recording is now more extensible. Moved the majority of recorders into a seperate module. Cleaned up recorder API, removed bRecord that was only really used once. Added factory class as a modular feature that allows users to register and implement their own recorders. Recorders can supply their own settings classes. These are incorporated into the UI via a details customization so they appear to be seamlessly integrated. Exposed components to record as an advanced setting. Users can use this to gate the components and actors that are recorded. #jira UE-28850 - Update sequence recording API for better extensibility Change 2940828 on 2016/04/12 by Max.Chen Level Editor: Clear the camera preview if the level viewport is locked to the same camera. #jira UE-27489 Change 2941090 on 2016/04/12 by Frank.Fella Sequencer - Fix inconsistencies with the level visibility track. + Add an option to update a track instance when it stops playing due to it's parent movie scene being deactivated as a sub-scene. + Reset level visibility state when the section ends, or when it's parent subsection ends. Change 2941427 on 2016/04/12 by Andrew.Rodham Sequencer: Fixes for recorded dynamic components - Dynamic components are now named uniquely within their owner actor, and are no longer re-bound to new object tracks when detached/re-attached - New dynamic components are created every time a new component is detected on an actor, regardless of whether it was once attached before. This affords recording externally managed components from a component pool. - Section recorders for components that are no longer attached to the actor are now disabled correctly. Change 2941760 on 2016/04/12 by Max.Preussner Editor: Setting up correct material expresions when creating material from normal map texture Change 2941819 on 2016/04/13 by Max.Chen Sequencer: Fire named events in all sublevels. #jira UE-28843 Change 2942052 on 2016/04/13 by Andrew.Rodham Sequencer: Fixed not being able to add dynamic material parameter tracks to spawnables when the object is not spawned #jira UE-24287 Change 2942223 on 2016/04/13 by Max.Preussner Editor: Using built-in function to assign sampler format Change 2942833 on 2016/04/13 by Max.Chen Sequencer: More copy matinee helpers. - Make some sections infinite. - Fix FindPossessableObjectId - Expose FindGroupByName Change 2942944 on 2016/04/13 by Max.Chen Sequencer: Fix anim copy so that it doesn't create an animation clip longer than the next clip's start position. Change 2943313 on 2016/04/14 by Max.Chen Sequencer: Initial matinee to level sequence asset converter. Right click on a matinee actor in the level and choose "Convert to Level Sequence" Current supports: - movement tracks - generic property tracks - particle tracks - anim control tracks - event tracks - audio tracks - visibility track - director track (fade, slomo, camera cuts) Possible todos: - Relative scale3D - Option to create spawnables instead of possessables - Create shots per director track camera cut instead of a direct translation to the camera cut track #jira UETOOL-467 Change 2943596 on 2016/04/14 by Andrew.Rodham Editor: Fixed placement mode scrollbar visibility not working for custom content #jira UE-27191 Change 2943651 on 2016/04/14 by Max.Chen Sequencer: Invalidate the audio waveform when the source changes. #jira UE-29394 Change 2943674 on 2016/04/14 by Max.Chen Sequencer: Store/restore playback state when rebuilding. #jira UE-29452 Change 2943993 on 2016/04/14 by Max.Chen Sequencer: Convert slot name from matinee to level sequence. Change 2944156 on 2016/04/14 by Frank.Fella Sequencer - Fix undo when moving items into folders, and when deleting folder. #jira UE-27368 Change 2944227 on 2016/04/14 by Max.Chen Sequencer: Show curves in the curve editor if one of the parent nodes is selected. For example, if Location is selected, show Location.X, Location.Y, and Location.Z Change 2945057 on 2016/04/15 by Andrew.Rodham Editor: Fixed placement mode scrollbar visibility not working for custom content #jira UE-27191 #lockdown nick.penwarden [CL 2945551 by Max Chen in Main branch]
2016-04-15 14:50:58 -04:00
// selection range start scrubber
MouseDragType = DRAG_SELECTION_START;
TimeSliderArgs.OnSelectionRangeBeginDrag.ExecuteIfBound();
Copying //UE4/Dev-Sequencer to //UE4/Main ========================== MAJOR FEATURES + CHANGES ========================== Change 2875025 on 2016/02/20 by Andrew.Rodham Sequencer: Cinematic viewport improvements - Added optional letterbox overlay (defaults to 2.35:1) - Added ability to change safe frame colors - Added selected tracks' keys to the transport range - Added buttons for jumping between selected tracks' keyframes on the transport controls - Removed black padding around the viewport where possible - Added ability to specify whether a combo button/menu anchor should close when its parent receives focus - Separated logic of FGroupedKeyArea into FSequencerKeyCollection, so it can be used independently - Added playback range to the viewport frame numbers - All frame numbers are now spin boxes #jira UE-26429 Change 2875026 on 2016/02/20 by Thomas.Sarkanen Added console commands for recording sequences Changed plugin to a developer plugin so we can load it when the editor is in -game mode. Added Exec commands. Added some more logging to help diagnose problems when using commands. Added loading/saving of config for recorder settings (stored in Editor.ini). Also disabled controls in recorder window when recording. Added auto-saving of assets when in non-editor modes. Moved animation settings from UnrealEd to Engine module. Change 2875036 on 2016/02/20 by Max.Chen Sequencer: Call RedrawAllViewports instead of RedrawLevelEditingViewports. In particular, this fixes some update issues when editing values in the key editors. #jira UE-26960 Change 2875046 on 2016/02/20 by Max.Preussner Sequencer: Fix so that clicking on UMG Animations doesn't dirty the scene. #jira UE-26249 Change 2875047 on 2016/02/20 by Max.Chen Sequencer: Add option to toggle display of channel colors/lines. View->Channel Colors Change 2877138 on 2016/02/23 by Max.Chen Sequencer: Select corresponding track node when selecting key or section. Removed active/inactive selection since it was only being used in deletion and the rules for deletion are now dependent upon what is selected - delete keys and sections before deleting outliner nodes. Change 2877143 on 2016/02/23 by Thomas.Sarkanen Added new math function: WindRelativeAnglesDegrees Given two angles in degrees, 'wind' the angle in Angle1 so that it avoids >180 degree flips. Good for winding rotations previously expressed as quaternions into a euler-angle representation. Change 2877147 on 2016/02/23 by Thomas.Sarkanen Added the ability to import sequencer transforms from the root node of an animation sequence Intended for use after re-importing animations from DCC tools. Available in the right-click menu for transform tracks. Also added FindTrackBinding to UMovieScene so track bindings can be recovered from tracks. Change 2877163 on 2016/02/23 by Max.Chen Sequencer: Add option to create keyframe sections as infinite. Sequencer defaults to true, UMG defaults to false. Change 2877165 on 2016/02/23 by Max.Preussner Sequencer: Drawing vertical position lines when dragging keys Change 2878748 on 2016/02/23 by Max.Chen Curve Editor: Switch curve type to user when flatting or straightening tangents. #jira UE-27277 Change 2878799 on 2016/02/23 by Frank.Fella Sequencer - Add folders support to the outliner. Change 2880769 on 2016/02/24 by Andrew.Rodham Sequencer: Added ability to override runtime spawnable ownership in sequencer - This is exposed as an option on spawnables "Keep Alive Outside Playback Range (In Sequencer)" - Enabling this will stop spawnables from being destroyed when scrubbing outside of the playback range #jira UE-27205 Change 2880770 on 2016/02/24 by Thomas.Sarkanen Sequencer: Added countdown and recording indicator display when recording Also fixed extra popups added post-PIE when animation recordings auto shutdown. Change 2880782 on 2016/02/24 by Max.Chen Sequencer: Snapping now also uses the current time as a possible snap time. #jira UE-26306 Change 2880793 on 2016/02/24 by Max.Chen Sequencer: Add +Animation to Animation track so that it's consistent with all other tracks that have a + button. Change 2880812 on 2016/02/24 by Max.Chen Sequencer: Fix adjusting the leading edge of a shot section so that it cuts into the shot rather than adjusts the start time. #jira UE-26306 Change 2881624 on 2016/02/25 by Andrew.Rodham Changing shader version GUID to fix corrupt shaders in ddc Change 2882408 on 2016/02/25 by Thomas.Sarkanen Asset/actors stored in TLazyObjectPtrs can now reference game content from engine This is a legitimate use case as lazy object ptrs are designed to reference assets/actors cross-domain. Change 2882409 on 2016/02/25 by Thomas.Sarkanen [CL 2899785 by Max Chen in Main branch]
2016-03-08 16:55:04 -05:00
}
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3946692) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3801826 by Max.Chen PR #4304: Level Sequence crash fix - Guarded against dereferencing null componen. (Contributed by DSDambuster) Change 3801828 by Max.Chen PR #4302: Movie Scene Visibility Template unitialised variable, causing random . (Contributed by DSDambuster) Change 3801837 by Max.Chen Sequencer: Delay spawning/construction for convert to possessable. This fixes a bug where property values would be lost when converting back and forth from possessable to spawnable. #jira UE-52400 Change 3801841 by Max.Chen Sequencer: Make spacer nodes not selectable. PR #4194: Improvements to Sequencer (Contributed by projectgheist) #jira UE-53117 #jira UE-52139 Change 3804183 by Max.Preussner MediaAssets: Added missing lock in media sound component Change 3805414 by Max.Preussner MediaAssets: Setting valid GUID when initializing media texture resource Change 3819578 by Max.Chen PR #4370: When enabling the "MovieCapture", do not turn off the Stereo-3D display. (Contributed by yehaike) #jira UE-53647 Change 3823414 by Max.Chen Curve Editor: Lock down the first and last keys in the redundant keys removal range so that they're unaffected. #jira UE-53591 Change 3826406 by Max.Chen Sequencer: Move OnStartedPlaying() to within first update in UpdateTimeCursorPosition(). This fixes an issue where setting the hud/player visibility was getting stomped on later. #jira UE-52772 Change 3827044 by Max.Preussner MediaAssets: Added sprite visualization to media sound component #jira UE-53594 Change 3827988 by Max.Preussner MediaPlayerAssets: Fixed Media Texture is not linked to Media Player when created together #jira UE-53532 Change 3828506 by Max.Preussner MediaPlayerEditor: Added attenuation visualizer for media sound components #jira UE-53594 Change 3832590 by andrew.porter EngineTest: Added a keep state check in Property Animation sequencer test Change 3833053 by andrew.porter EngineTest: Adding Hierarchical Bias test Change 3835683 by andrew.porter EngineTest: Adding UMG Animation screenshot test Change 3836076 by Max.Chen Sequencer: Fix audio volume and pitch multiplier deprecation. Change 3836230 by andrew.porter EngineTest: Adding Sequence Bone Position automation test Change 3836347 by Max.Chen Sequencer: Fixes to shot name parsing. When a shot doesn't contain a shot number, assume, [ShotName]_[TakeNumber]. When duplicating a shot, put the new shot in the same path of the original shot, so that the take numbers will increment properly. #jira UE-51868 Change 3836552 by Max.Chen Sequencer: Sub section now has a takes menu Change 3838094 by Max.Chen UMG: Fix template finish not getting called on stop. This fixes a bug where sections aren't restored when finished. #jira UE-52285 Change 3838708 by Max.Chen Sequencer: Add notification when the blend type is changed. #jira UE-54046 Change 3840295 by Max.Chen Sequencer: Fix copy/paste crash for lights #jira UE-54084 Change 3840957 by Mike.Zyracki Added Show Only Keyable and Show Only Animated to the filter list in the property editor. Added IsPropertyAnimated to IDetailKeyframe Interface which already had support for showing properties which are keyable (which is used for the key icon next to the properties.). Could have created another interface but then would have had to mimic the sequencer binding, releasing also, so this seemed best way. One issue still left is that custom built detail items currently don't store associated properties(usually) and so certain properties, in particulalry transforms, won't show up as keyable or animated. Note this also shows up with the keyable icon not showing up next to transform tracks, and other filters like Show Only Modified not working with transforms/customs. Not sure best way to tackle this. #jira UESEQ-328 Change 3841756 by Max.Chen Sequencer: Fix unbound possessable components when pasting spawnables. #jira UE-54104 Change 3843950 by andrew.porter EngineTest: Renaming LevelStreaming tests/content to LevelVisibility Change 3844082 by Mike.Zyracki Missing file for animated filter in property editor. When finding if a track is animated we need to find it but we can't easily induce the MovieTrack class for any particular property. So we don't set a class for it and just search by it's ID and name. #jira UESEQ-328 Change 3846902 by Max.Preussner ImgMedia: Fixed image media player never finished initialization if loading failed #jira UE-54247 Change 3849820 by Mike.Zyracki Reassigning deleted widgets didn't work since the menu extender mechanism needs a valid UObject in order to perform an operation on it. So to fix we replaced GetObjectBindingContextMenuExtender in WidgetBlueprint with new delegate mechanism (OnBuildCustomContextMenuForGuid) that supports FGuid in addition to UObjects which is needed to handle re-binding deleted widgets. Note that the default sequencer hacks this for replacing deleted actors in SequencerObjectBindingNode to check to see if a LevelSequence is active. We could move to this mechanism there also. #jira UE-53163 Change 3852211 by Max.Chen UMG: Indicate name of the property that is not bound. #jira UE-54350 Change 3854120 by Max.Chen Sequencer: Fix sibling folders being allowed to have the same folder name. #jira UE-54363 Change 3854627 by Max.Chen Sequencer: Step to next/previous key should work for all tracks if there aren't any selected. #jira UESEQ-391 Change 3855825 by andrew.porter EngineTest: Adding animation blending automation test Change 3855950 by andrew.porter EngineTest: Adding correct expected valuues to animation blending test Change 3856237 by Matt.Hoffman UESEQ-336 - Sequencer Track Reordering Adds the ability to re-order Master Tracks, Folders and Object Bindings within sequencer hierarchies (including UMG). Adds the ability to do a one-off sorting of the content under the old sorting behavior if the user wants to reset their layout to how it was under legacy behavior. Modifies SequencerTrackNodes, SequencerFolderNodes and SequencerObjectBindingNodes to handle CanDrop/OnDrop for above, below and ontop of. Fixes a Slate Issue that forcibly expanded a TreeviewRow if an item handled OnDrop. Slate will now only forcibly expand the row if the item says the drop happened ontop of the item, and not above or below it like it previously did. Change 3856503 by andrew.porter EngineTest: Adding automation test for using animation blueprint with blend multi node in sequencer Change 3857875 by Max.Chen Sequencer: Assign the sequence id after the template is compiled. #jira UE-54462 Change 3858344 by Max.Chen Sequencer: Prevent Goto and Transform boxes from overlapping by allowing them to be visible at the same time in an autosized horizontal box. Also, added close button to the goto box. PR #4425: Prevent Goto and Transform boxes from overlapping in Sequencer ... (Contributed by projectgheist) #jira UE-54210 Change 3860566 by andrew.porter MediaFrameworkTest: Set the option to index 0 for the audio and video track list by default Change 3860654 by andrew.porter EngineTest: Enabling Camera Cut + FOV test Change 3860981 by andrew.porter EngineTest: Updating skeletal mesh tests with a delay after set playback position Change 3861256 by Max.Chen Sequencer: Add all bindings if none selected. #jira-54440 Change 3862154 by Andrew.Rodham Added TimeManagement module Change 3862424 by andrew.porter EngineTest: Turned on the test Bone Positions with Blend Multi Node Change 3862573 by andrew.porter EngineTest: Adding test to compare bone positions in a sequence that is blending an animation that is using an AnimBP Change 3865117 by Max.Chen Sequencer: Stop auto scroll on mouse release of movement. #jira UE-31212 Change 3865303 by Max.Chen Sequencer: Add drag and drop transactions #jira UE-54662 Change 3865304 by Max.Chen Sequencer: Fix crash when an actor factory is not found. Change 3865361 by Max.Chen Sequencer: Don't change the camera/shot lock button when popping out of a sequence. #jira UE-54665 Change 3865412 by Max.Chen Sequencer: Determine whether a transform track is for a camera by using the spawned object or template #jira UE-54666 Change 3865685 by Max.Chen Sequencer: Clear autoscrub offset when stopping autoscroll #jira UE-31212 Change 3865886 by Max.Chen Sequence Recorder: Log an error if the number of frames changes while recording. This can happen if the skeleton changes while recording. #jira UE-48715 Change 3866925 by Andrew.Porter MediaFrameworkTest: Changing the current PNG test video image sequence to 1024 x 576 Change 3867705 by andrew.porter QAGame: Adding Audio Sort Sequence to dev folder Change 3867890 by andrew.porter QAGame: Adding a sequence for testing a sorting crash to my dev folder Change 3872628 by Max.Chen Movie Scene Capture: Split delay before warmup into split delay before shot warmup so that there's separate controls for when the movie scene capture warmups up vs. shot boundaries. Change 3873131 by Matt.Hoffman UE-54732 - Crash reordering a folder with a track. This was caused by folders being the only type of track to check if someone was putting a parent track into a child track. Object Binding tracks and Tracks now check as well so that you can't use the above/below drop targets to add parents as children. This also fixed a typo in the localization keys. #jira UE-54732 Change 3873301 by Mike.Zyracki Added ability to support continous euler angle changes when changing rotations, in particularly with the rotation gizmo's. To do this we effectively added a form an of 'euler filter'(https://en.wikipedia.org/wiki/Euler_filter) to find the closest euler angle to the current euler angle. Three functions were added to FRotator to make this possible, one to get the euler angle that's has the same rotation as it, one to get the difference between two euler angles via Manhattan distance and a third using the previous two to choose a Rotator value that's closest to it. We then use these functions before calling UComponent::SetRelativeRotation to make sure we use the correct Euler after the Quat conversion. We also no longer limit(bound) the euler angles to -180,180, which is obviously necessary to avoid flips. I also changed how we caluclate yaw and roll when pitch is -90 or 90 to make it the standard approach of zeroing out roll and just setting yaw. Main reasons are the previous implementation had precision issues so things like 180, 90, -180 would show up due to numbers being nearly zero but negative,(this would break any smooth interpolations), and this facilitates having a 'gimbal' rotation mode (like Maya, Blender etc..) if we ever want that also. If needed we could keep the previous implementation but would need to add some FMath::IsNearlyZero checks, with less performance. Note we only do this special filtering when applying delta's to actors or components in the editors, which then call UComponent::SetRelativeRotationExact, which is a new function to foces the RelativeRotation to be equal to the new rotation. This allows us to store un-nomalized Rotators at the cost that the RotationCache may be broken. We didn't change any of the other UComponent functions that set rotations (via Quats or Transforms) so they will still be bounded and unwound. In SetInternalWorldLocationAndRotation we only set the rotation if the rotation has changed, which fixes the rotation getting changed and re-normalized if just translate happens. In TransformTrackEditor, we correclty use the bUndwing flag and in MovieScene3DTransformSection there was an un-needed winding check there, it will be unwound earlier if needed, which happens if Sequence Recording is happening. Max we should talk about what to do about this . Note the euler angle drag via the widget is still bound to 0-360. I think we should just unbound that now since the rotations value are now unbound. This review now includes fixes suggested by Zak. #jira UE-UE-22228 Change 3873483 by Matt.Hoffman Sequencer Tracks can now be inserted above the spacer at the bottom of the tree. #jira UE-54706 Change 3873899 by Max.Chen Sequencer: Add section selection throbbing Change 3873908 by Max.Chen Movie Scene Capture: Added logging per frame Change 3873924 by Matt.Hoffman Adds the ability to store Sequence Recorder setups into profiles that stay with the map and can be re-loaded later. Profiles store the Actor Recordings so the settings for each actor should carry with them. #jira UESEQ-339 Change 3874726 by Matt.Hoffman Disable drag-and-drop targets on spacers that come between rows in Sequencer. This prevents extra drag/drop targets showing up between each row. #jira UE-54706 Change 3874862 by Matt.Hoffman Audio Track no longer gets reordered when adding sub-audio tracks, as sub-tracks are no longer counted towards the sorting order index when normalizing indexes. #jira UE-54727 Change 3875905 by Matt.Hoffman Disable Fade Track UI if a fade track already exists in the sequence. #jira UESEQ-393 Change 3876163 by Max.Chen Sequencer: Swap the camera object to the camera component's owner if it's not the same. #jira UE-54874 Change 3876971 by Andrew.Porter EngineTest: Moved Media Player Seek test to new folder. Also enabled the test with new ground truth image. Change 3877040 by Max.Chen Cine Camera: Split camera properties to two groups, "Camera Options" and "Camera Settings". The cine camera now hides properties in the "Camera Settings" group so that properties like bConstrainAspectRatio (in the "Camera Options" group) can be visible. #jira UE-54192 Change 3877763 by Max.Chen Curve Editor: Fix curve changed on end drag so that only curves that had keys/tangents that were changed receive notification, otherwise all loaded curves were getting notified that they were changed. #jira UE-54951 Change 3878234 by Matt.Hoffman Disable "Drop Below" targets for Sequencer Tree nodes to prevent a confusing UX issue where dropping underneath a Object Binding Node puts it after the object binding node but the UI looks like it's inserting it inside the Object Binding node. #jira UE-54743 Change 3879359 by Mike.Zyracki If a track is inactive we dim it a bit which seems to be the UE4 way to show inactive or disabled state. We changed the active logic so that all subtracks need to be inactive for the track to also be inactive(instead of all active for active). This conforms to how the active state actually works, e.g if you have two sections and only one is active the track is still active above it. #jira UESEQ-388 Change 3879462 by Max.Chen Sequencer: Allow dragging onto a particular row which would move out any overlapping sections to make space for the newly created section. Newly created sections are now selected and throbbed to draw attention to themselves. #jira UE-54664 Change 3879464 by Max.Chen Sequencer: Fixed overlapping ranges being inserted into the evaluation field during compilation - The issue was that track segments that had been combined with adjacent segments (due to them being identical) would potentially cause a subsequently compiled frame to overlap with a range that had already been inserted into the evaluation field. - The insertion code previously asserted that only minor overlaps were catered for (due to fp rounding errors) and assumed that a supplied range could not entirely contain any other range in the field. - The solution is to supply the insertion time along with the range to know exactly where the data should live in the field, and crop the range to the maximum allowable space between adjacent ranges. #jira UE-54922 Change 3879590 by Matt.Hoffman Items that are now added to the Sequencer via the "+Track" menu will be selected after being added. Items can now be added inside of folders instead of just to the root level. #jira UE-27397 Change 3879612 by Mike.Zyracki Display Nodes with no children are always active. #jira UESEQ-388 Change 3879730 by Matt.Hoffman Sequence Recorder's actor recording groups now remove items from the group when removed via the UI. #jira UESEQ-339 Change 3880256 by Mike.Zyracki Fix issue with inactive display with folders and other track nodes. #jira UESEQ-388 Change 3883491 by Max.Chen Fix issue where tick is skipped due to last ticked pose isn't cleared after AnimInstance changes. Copy from Release-4.19 #jira UE-51323 Change 3883603 by Max.Chen Movie Scene Capture: Add option toggle disable screen percentage. By default this is on (no change in current behavior). #jira UE-51898 Change 3885074 by Max.Preussner MediaCompositing: Resetting media texture & freeing resource on section end; removed dead code Change 3887220 by Max.Preussner MediaCompositing: Defaulted media section duration to 1 sec (since we do not know the actual duration in most cases) Change 3887478 by Matt.Hoffman Sequences now show [Inactive] in their title bars when they're disabled. This helps communicate why a sequence isn't being evaluated. #jira UE-51469 Change 3888985 by Max.Chen Movie Scene Capture: Clamp HDR Compression Quality between 0 and 1. #jira UE-55136 Change 3893519 by Max.Chen Sequence Recorder: Clarified tooltip for bRecordNearbySpawnedActors - spawned actors will still be recorded if they match the ActorFilter. #jira UE-55238 Change 3893546 by Max.Chen Sequence Recorder: If a selected actor already has a recording, add a blank recording. #jira UE-55239 Change 3894044 by Max.Preussner MediaCompositing: Added support for seeking into a media section Change 3894310 by andrew.porter MediaFrameworkTest: Adding Img media sources for 1080 and 2160 ravent test content Change 3894426 by Max.Preussner MediaAssets: Letting media textures with AutoClear retain their clear color when player is reset Change 3895717 by Max.Chen Sequencer: Null checks to prevent crash when saving the default state of a spawnable #jira UE-55304 Change 3897388 by Max.Chen Sequencer: Don't update current time to be within the view range when stepping into a sequence. #jira UE-55322 Change 3897452 by Max.Chen Audio: Fix crash when trying to record audio without any active capture devices. Log warning if the number of input channels is not 1 or 2. #jira UE-55223 Change 3897619 by Max.Preussner MediaCompositing: Removed commented out code Change 3898072 by Max.Chen Sequencer: Override the animation asset in the player state if it doesn't match the animation asset that's being evaluated. #jira UE-55328 Change 3898272 by Max.Preussner MediaPlayerEditor: Made slate brush constants static Change 3898704 by Max.Chen Sequencer: Skip if the binding id's sequence can't be found. #jira UE-55337 Change 3899855 by Max.Preussner MediaCompositingEditor: Added cache state visualization to media track Change 3900300 by Max.Preussner MediaCompositingEditor: Added loop indicators to media sections Change 3900694 by Max.Preussner ImfMedia: Looping cache only when player is looping Change 3900892 by Max.Preussner Stats: Added stats category for media framework Change 3900954 by Max.Preussner MediaCompositing: Don't evaluate at the end of media section Change 3901348 by Max.Preussner Core: Replaced TLruCache autos for better readability Change 3901655 by Max.Preussner ImgMedia: Added more perf stats to EXR reader Change 3901972 by Max.Preussner MediaAssets: Added getter for media player in media sound components Change 3902233 by Max.Preussner MediaAssets: Enabling media textures to receive samples right after player is assigned Change 3902238 by Max.Preussner MediaCompositing: Working around init/shutdown idiosyncracies in sequencer Change 3904045 by Max.Chen Sequencer: Fix copy/paste crash. Only process UMovieSceneCopyableBinding and objects that can be spawned by the movie scene spawn register. #jira UE-55314 Change 3905605 by Max.Chen Sequencer: Restrict spawnables from being created if they have a ClassWithin that UMovieScene is not a child of. #jira UE-55429 Change 3906550 by Max.Chen Sequencer: Add media track icon #jira UE-55480 Change 3907101 by Max.Chen Sequence Recorder: Fix bugs related to not recording a level sequence. There were certain assumptions that creating a level sequence meant that sequence recording was in progress. This is not always the case - the recorders can record animation assets and not create a level sequence. Changed the notion of IsRecording() to having at least one actor recording that is recording. Countdown timer, recording displays, etc should function if IsRecording() and not based on whether a level sequence is created. #jira UE-55485 Change 3907247 by Max.Chen Sequence Recorder: Fix crash not removing PrepareToCleanseEditorObject delegate. Repros when opening sequence recorder, closing it, and then opening or creating a level. Change 3910343 by Max.Preussner Core: Added async helper for executing functions on a given thread pool Change 3910346 by Max.Preussner ImgMedia: Added separate thread pools for loading/decoding and deleting image frames Change 3910829 by Max.Preussner Profiler: Increased visible range of profiler graph Change 3910841 by Max.Preussner MediaCompositing: Displaying asset name instead of full media source path in media section Change 3910870 by Max.Preussner ImgMedia: Using deallocation thread pool only in debug builds Change 3919642 by Max.Chen Sequence Recorder: Clarify active tooltip #jira UE-55661 Change 3919660 by Max.Chen Sequencer: Sequence template source signatures are now also compared to catch the case where a sub-sequence asset has been saved but not modified - The following sequence of events exposes this issue: - Create a master sequence with a single shot that spawns a cube - Add this sequence to a level and set it to auto-play - Save everything and restart - Resave just the inner shot asset without opening it - PIE - The inner shot never spawns its cube because its template was wiped on save, but its signature never changed. Since the master sequence previously didn't check the template source signature, it ends up trying to evaluate an empty template. #jira UE-55626 #jira UE-55490 Change 3921825 by Max.Chen Sequencer: "Run Construction Script in Sequencer" is off by default for blueprints but on for Sequencer. This allows the content author to switch it on for specific blueprints and sequencer will be default, run those with construction scripts enabled. Change 3922232 by Max.Chen Sequence Recorder: Reset countdelay on stop. #jira UE-55755 Change 3922306 by Max.Chen Sequence Recorder: Don't automatically mark transforms to be recorded by sequence recorder. Instead, log a warning if the user toggled it off to warn that the resulting animation might not match gameplay. #jira UE-55758 Change 3922912 by Max.Chen Sequence Recorder: Fix refresh next sequence name #jira UE-55757 Change 3927654 by Max.Chen Movie Scene Capture: Added format mapping for the name of the current camera #jira UE-55769 PR #4537 Change 3927658 by Max.Chen Sequencer: Added fbx property mapping for "FocusDistance" to "FocusSettings.ManualFocusDistance" #jira UE-55782 Change 3932022 by Max.Chen Sequencer: Add import animation track section to next available row index. #jira UE-55892 Change 3933919 by Max.Chen Sequencer: Jump to playback start frame and not 0 to start playback for recording. #jira UE-55933 Change 3934307 by Andrew.Rodham Sequencer: Add template signature that is re-generated every time the base template is regenerated, which invalidates evaluation fields This fixes an issue where the same sequence is instantiated multiple times in a sequence. If the source sequence was saved, its template would be wiped, which would invalidate the template ID When an instance tries to evaluate the master template, it would only invalidate a range in the evaluation field that was the hull of any invalid sub sequences overlapping the current time, potentially leaving invalid data in the evaluation field at positions later (or earlier) on in the sequence When the sub template was re-generated, it receives the same SequenceSignature as it had before (because the sequence hasn't actually changed), which causes the stale evaluation field data to fail the IsDirty check (because the sequence is the same as it thought, but the *template* has changed) This has been addressed be adding a signature to templates themselves, and checking both the template signature and sequence signature as a part of the IsDirty check. This ensures that we regenerate if either the template, or the sequence have changed. #jira UE-55934 Change 3936327 by Andrew.Rodham Sequencer: Removed increment when trimming right UMovieSceneSection::TrimSection already explicity assigns an exclusive bound to the time passed in. The new behavior means we can trim a section to the right, and insert another section without changing the time to create adjacent sections. #jira UE-42652 Change 3936328 by Andrew.Rodham Fixed KeyFrameManipulator assignment operators and copy/move constructors - These types are potentially self-referential so cannot use default constructors/assignment Change 3936330 by Andrew.Rodham Converted UMGSequencePlayer to use frames internally #jira UE-54878 Change 3936726 by Max.Chen Sequencer: Set track node as the parent of the key area node. The key area switcher needs the object binding id from the parent object binding node. Without this, the binding to the external value fails. #jira UE-55931 Change 3936775 by Max.Chen Sequencer: Should stop or loop should compare DurationFrames with Current Time from StartTime. The bug is that if you set 30 warmup frames in movie rendering for a range of 0-100, the FrameRange will be starting at -30 and have a duration of 130. Without this fix, the playback will continue until frame 130, rather than 100. #jira UE-55933 Change 3936935 by Matt.Hoffman Easing Curves are now represented in Play Rate resolution instead of internal resolution. #jira UE-55937 Change 3937069 by Matt.Hoffman Users can toggle if the is infinite on each side, limited by which tracks support infinite ranges. #jira UE-55891 Change 3937516 by Max.Preussner ImgMedia: Added support for single-threaded platforms #jira UE-55986 Change 3937826 by Max.Preussner MediaAssets: Disabling media sound components on HTML5 if AudioMixer is not enabled Change 3937997 by Max.Chen Curve Editor: Add Zoom to Fit Curves so that selected curves from Sequencer can be focused on. Tested that undo doesn't re-zoom. #jira UE-55935 Change 3938000 by Max.Chen Sequencer: Stop all sounds before generating audio waveforms. #jira UE-55951 Change 3938376 by Max.Preussner XGEController: Disabled XGE Controller in single-threaded apps to prevent crash Change 3938444 by Max.Preussner Core: Added async support for single-threaded applications Change 3938445 by Max.Preussner Networking: Added support for single-threaded applications in UDP socket sender/receiver Change 3938447 by Max.Preussner Messaging: Added support for single-threaded applications Change 3939432 by Max.Chen Sequence Recorder: Append command list to global level editor actions so that shortcuts are accessible in level editor. #jira UE-55798 Change 3940229 by Andrew.Rodham Added prospective display rate upgrade to UMovieScene::PostLoad - There was previously some very odd behaviour that would assign the fixed frame interval only when a sub sequence was focused in SSequencer. This meant that many sequences could have a frame interval of 0 set in the data. - Under the old method of snap interval display this would have fallen back to getting the display interval from the sequencer settings, but we no longer look at these. - The USequencerSettings properties have been removed and in their place, a prospective data upgrade for sequences that have a fixed frame interval old 0fps that sets the play rate to the previous defaults based off the old USequencerSettings defaults. - This could end up 'changing' the display rate for sequences where the user has changed the snap interval in the settings for a particular sequence editor, but there's not much we can do about that given we don't have access to the USequencerSettings classes in UMovieScene #jira UE-55919 Change 3940277 by Andrew.Rodham Sequencer: Added ability to default frame resolutions and play rates for newly created actor sequences Change 3940378 by Andrew.Rodham Sequencer: Post move import dialog now defaults to the playback framerate of the sequence, and floors to frame numbers Change 3940559 by Andrew.Rodham Reinstated primed or recording sequence color Change 3940642 by Max.Preussner ImagePlate: Removed image plate media playback functionality Change 3940843 by Max.Preussner Core: Made TCircularQueue actually thread-safe; improved code comments Change 3940860 by Max.Chen Sequencer: Changed StructNameToKey to StructPathToKey Previously, keying a PropertyPath of [RenderTransform][Shear][X] would get trimmed to X, which doesn't map to a channel name as considered by Sequencer2dTransformTrackEditor. Instead, trim the resulting property path to [Shear][X] so that track editors can determine the desired struct path and channels to key. #jira UE-52966 Change 3941292 by Mike.Zyracki Fix for trajectories out of range not showing up. 1) If we had no key data we would pop the time, so wouldn't get the section ranges. 2) Calculating of upper bound was wrong, checking against -1 and not key == num of keys when doing algo::lower_bound. 3) No need to do the Bck-- for the bakward iterators since we fixed #2. We start now from the upper bound correctly. 4) If we had no keys (at section start,end) we would incorrectly say we were any key type, so since we draw constant keys as dashed we would do so incorrectly around section end points. #jira UE-55929 Change 3941424 by Max.Chen Curve Editor: Change Zoom to Fit to use TArrayView Change 3941498 by Max.Preussner Core: Added FMath::DivideAndRoundNearest function Change 3942097 by Matt.Hoffman Drop Frame Timecode Support for NTSC rates. Change 3942104 by Matt.Hoffman Sequence Recorder Group is no longer visible inside the World Outliner after using one. #jira 55266 Change 3942107 by Max.Chen Sequencer: Resurrect logic to find or extend an existing section when adding keys. Change 3942330 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942339 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942507 by Andrew.Rodham Sequencer: We no longer pad the time overlap threshold with a small number that is not scaled by the current zoom level - The presence of this pad was causing keys that were far apart to be grouped when zoomed in a long way Change 3942509 by Andrew.Rodham Sequencer: Only pad total view range, rather than section range as well when retrieving keys to render - This stops us from rendering keys that are within the view range, but outside the section range Change 3942512 by Andrew.Rodham Added transactions to some sequencer details customizations Change 3942513 by Andrew.Rodham Sequencer: Reinstated validation checks to UMovieSceneSection::SetStartFrame and SetEndFrame, changed erroneous uses to use SetRange Change 3942560 by Andrew.Rodham Pass by rvalue reference to appease error C2719 on Win32 ('InChannels': formal parameter with requested alignment of 8 won't be aligned) Change 3942697 by Andrew.Rodham Newly Created Level Sequences and Actor Sequences now default to 24000 fps frame resolution (+/- ~24hrs range, supporting all integer rates + 23.976) Change 3942700 by Andrew.Rodham Sequencer: Added legacy out-of-bounds errors for times that are not supported by the current legacy upgrade frame resolution Change 3942989 by Max.Preussner Core: Fixed circular queue count calculation Change 3943538 by Max.Preussner MediaAssets: Reverted workaround for procedural audio log spam in HTML5 (Actor component initialization cannot be skipped if the component is used in a level) Change 3944071 by Max.Preussner QAGame: Fixed Media Texture keeps last frame of Media when PIE ends #jira UE-53360 Change 3944292 by Max.Chen Sequencer: Added extra flags to ensure that asset initialization does not occur on template actor sequences #jira UE-56113 Change 3944364 by Max.Chen Sequencer: Prevent circular shot/master tracks. Tested adding master -> child -> master as drag and drop cinematic shot tracks and sub tracks as well as through the + button. #jira UE-56091 Change 3944422 by Max.Chen Sequence Recorder: Disable transform recording if off. #jira UE-56061 Change 3944745 by Andrew.Rodham Sequencer: Key rendering fixes - Fixed assert that occured when keys happened to reside on some times due to KeyTime + TimeOverlapThreshold - KeyTime being slightly larger TimeOverlapThreshold - Fixed keys sometimes being clipped when zoomed right in due to lack of half-frame offset - Added missing documentation to MovieSceneTimeHelpers.h #jira UE-56107 Change 3945231 by Andrew.Rodham Sequencer: Reconstruct channel proxy on Serialize to catch all cases of undo/redo, PostLoad and duplication #jira UE-56089 Change 3945301 by Andrew.Rodham Sequencer: Added safety checks during initial sequence recording to guard against applying negative or 0-sized sequence ranges #jira UE-56125 Change 3946627 by Max.Preussner Fortnite: Fixed game crashes closing editor while in PIE - Pure virtual function being called #jira UE-56144 [CL 3946896 by Max Chen in Main branch]
2018-03-14 22:09:33 -04:00
else if (!bLockedPlayRange && !bHitScrubber && HitTestRangeEnd(RangeToScreen, PlaybackRange, MouseDownPixel))
Copying //UE4/Dev-Sequencer to //UE4/Main ========================== MAJOR FEATURES + CHANGES ========================== Change 2875025 on 2016/02/20 by Andrew.Rodham Sequencer: Cinematic viewport improvements - Added optional letterbox overlay (defaults to 2.35:1) - Added ability to change safe frame colors - Added selected tracks' keys to the transport range - Added buttons for jumping between selected tracks' keyframes on the transport controls - Removed black padding around the viewport where possible - Added ability to specify whether a combo button/menu anchor should close when its parent receives focus - Separated logic of FGroupedKeyArea into FSequencerKeyCollection, so it can be used independently - Added playback range to the viewport frame numbers - All frame numbers are now spin boxes #jira UE-26429 Change 2875026 on 2016/02/20 by Thomas.Sarkanen Added console commands for recording sequences Changed plugin to a developer plugin so we can load it when the editor is in -game mode. Added Exec commands. Added some more logging to help diagnose problems when using commands. Added loading/saving of config for recorder settings (stored in Editor.ini). Also disabled controls in recorder window when recording. Added auto-saving of assets when in non-editor modes. Moved animation settings from UnrealEd to Engine module. Change 2875036 on 2016/02/20 by Max.Chen Sequencer: Call RedrawAllViewports instead of RedrawLevelEditingViewports. In particular, this fixes some update issues when editing values in the key editors. #jira UE-26960 Change 2875046 on 2016/02/20 by Max.Preussner Sequencer: Fix so that clicking on UMG Animations doesn't dirty the scene. #jira UE-26249 Change 2875047 on 2016/02/20 by Max.Chen Sequencer: Add option to toggle display of channel colors/lines. View->Channel Colors Change 2877138 on 2016/02/23 by Max.Chen Sequencer: Select corresponding track node when selecting key or section. Removed active/inactive selection since it was only being used in deletion and the rules for deletion are now dependent upon what is selected - delete keys and sections before deleting outliner nodes. Change 2877143 on 2016/02/23 by Thomas.Sarkanen Added new math function: WindRelativeAnglesDegrees Given two angles in degrees, 'wind' the angle in Angle1 so that it avoids >180 degree flips. Good for winding rotations previously expressed as quaternions into a euler-angle representation. Change 2877147 on 2016/02/23 by Thomas.Sarkanen Added the ability to import sequencer transforms from the root node of an animation sequence Intended for use after re-importing animations from DCC tools. Available in the right-click menu for transform tracks. Also added FindTrackBinding to UMovieScene so track bindings can be recovered from tracks. Change 2877163 on 2016/02/23 by Max.Chen Sequencer: Add option to create keyframe sections as infinite. Sequencer defaults to true, UMG defaults to false. Change 2877165 on 2016/02/23 by Max.Preussner Sequencer: Drawing vertical position lines when dragging keys Change 2878748 on 2016/02/23 by Max.Chen Curve Editor: Switch curve type to user when flatting or straightening tangents. #jira UE-27277 Change 2878799 on 2016/02/23 by Frank.Fella Sequencer - Add folders support to the outliner. Change 2880769 on 2016/02/24 by Andrew.Rodham Sequencer: Added ability to override runtime spawnable ownership in sequencer - This is exposed as an option on spawnables "Keep Alive Outside Playback Range (In Sequencer)" - Enabling this will stop spawnables from being destroyed when scrubbing outside of the playback range #jira UE-27205 Change 2880770 on 2016/02/24 by Thomas.Sarkanen Sequencer: Added countdown and recording indicator display when recording Also fixed extra popups added post-PIE when animation recordings auto shutdown. Change 2880782 on 2016/02/24 by Max.Chen Sequencer: Snapping now also uses the current time as a possible snap time. #jira UE-26306 Change 2880793 on 2016/02/24 by Max.Chen Sequencer: Add +Animation to Animation track so that it's consistent with all other tracks that have a + button. Change 2880812 on 2016/02/24 by Max.Chen Sequencer: Fix adjusting the leading edge of a shot section so that it cuts into the shot rather than adjusts the start time. #jira UE-26306 Change 2881624 on 2016/02/25 by Andrew.Rodham Changing shader version GUID to fix corrupt shaders in ddc Change 2882408 on 2016/02/25 by Thomas.Sarkanen Asset/actors stored in TLazyObjectPtrs can now reference game content from engine This is a legitimate use case as lazy object ptrs are designed to reference assets/actors cross-domain. Change 2882409 on 2016/02/25 by Thomas.Sarkanen [CL 2899785 by Max Chen in Main branch]
2016-03-08 16:55:04 -05:00
{
// playback range end scrubber
Copying //UE4/Dev-Sequencer to //UE4/Main (Source: //UE4/Dev-Sequencer @ 2945541) ========================== MAJOR FEATURES + CHANGES ========================== Change 2837601 on 2016/01/20 by Thomas.Sarkanen Sequencer: Exposed bool, byte, event, fade, float, slomo, and visibility section keys in context menu Change 2840895 on 2016/01/23 by Thomas.Sarkanen Sequencer: Moved key proxy handling from section into key area; added support for grouped keys; exposed color properties in context menu. Change 2901092 on 2016/03/09 by Thomas.Sarkanen Sequencer: Fixed ensure() and crash when exiting PIE & then playing back in editor Made sure that instances that are playing that have active montages can re-connect to a playing montage if it is already active. We dont stop/start preview/non- preview playback when switching modes right now so I've just made the system robust to the switch when playing back animation. Ensured that instances are kept up to date by hooking into EndPlayMapDelegate. This fires slightly later than OnEndPIE, so it allows us to pick up when instances have been deleted from the world. OnEndPIE is fired before the worlds are shutdown so instances can still be bound to valid (but nearly dead) actors at this point. #jira UE-27898 #jira UE-27899 Change 2901159 on 2016/03/09 by Chris.Bunner Allow EXR frames from SaveHighResScreenshot to be uncompressed (r.SaveUncompressedEXRFrames). Change 2903123 on 2016/03/10 by Max.Chen Sequencer: Add snapping for the in/out range. Change 2903126 on 2016/03/10 by Max.Chen Sequencer: Fix split and trim for cinematic shot sections so that the start offset value is set. Change 2903132 on 2016/03/10 by Max.Chen Sequencer: Create camera here and set it as the current camera cut. Change 2903138 on 2016/03/10 by Max.Chen Sequencer: Improve mechanism for adding objects to Sequencer. Hold down shift while dragging from content browser to add as a spawnable. Hold down ctrl while dragging from content browser to add as a possessable. Change 2903143 on 2016/03/10 by Max.Chen Sequencer: Add 4k to movie capture dialog. #jira UE-28147 Change 2903157 on 2016/03/10 by Max.Chen Sequencer: Pop out of locked camera when popping out of the sequence. #jira UE-27662 Change 2908097 on 2016/03/14 by Andrew.Rodham Sequencer: Added default viewport type onto the viewport types menu - The activation command for a given viewport type no longer toggles it if it's already active, it will just do nothing. - Switching back to the default viewport type can be achieved with SHIFT+D Change 2911869 on 2016/03/16 by Max.Preussner Editor: Caching device proxy manager, so the UI doesn't constantly poll for the TargetDeviceServices module Change 2917943 on 2016/03/22 by Thomas.Sarkanen Sequence Recording: Added "Record New Sequence From Current Player" to sub-sequence track menu This option is only available in PIE. When selected it primes a new seciton for recording against the pawn that is currently being controlled by the player. Change 2917946 on 2016/03/22 by Max.Chen Sequencer: Automatically add and attach a cine camera when dropping a crane or rail. Change 2917954 on 2016/03/22 by Thomas.Sarkanen Fix anim dynamics going crazy on time skips Added new API to FAnimNode_Base: NeedsDynamicReset and ResetDynamics. This allows nodes that subscribe to this interface to be reset on teleport/time skips. Call through to ResetDynamics on zero timestep (ie. skips) in the preview path in Sequencer. Change 2917961 on 2016/03/22 by Frank.Fella Sequencer - Sequencer - Update the color track code to match the behavior in matinee, also remove empty light color tracks from the sequence, and add a missing particle parameter track. Change 2917984 on 2016/03/22 by Max.Chen Sequencer: Fix crash on deleting object binding nodes multiple times. Change 2917986 on 2016/03/22 by Max.Chen Sequencer: Fix if adding multiple camera cuts at the same time with the same duration as an existing camera cut. The camera is replaced in this case. Change 2917994 on 2016/03/22 by Jeff.Farris Support for scene depth picker. Used for focus depth sampling in cine cams. Change 2918003 on 2016/03/22 by Max.Chen Sequencer - Fix selection issues related to keying an undo by moving the selection clear on rebuild to after the tree selection state has been cached by path. Change 2920371 on 2016/03/23 by Max.Preussner UnrealEd: Added a file import path that doesn't load the entire file into memory prior to importing UFactory::StaticImport will now call FactoryCreateFile for both text and binary files. The default implementation will load the file into a buffer/string and call FactoryCreateBinary/FactoryCreateText to preserve legacy behavior. New factories may override FactoryCreateFile to perform their own file processing instead. Change 2923359 on 2016/03/25 by Max.Preussner UnrealEd: Refactored out StaticImportObject code into ImportObject Change 2924887 on 2016/03/28 by Jeff.Farris Sequencer: Camera Anim and Camera Shake tracks now support PostProcess changes in the CameraAnim Change 2927283 on 2016/03/30 by Max.Chen Sequencer: Fix crash resetting default in audio track in sequencer. Fix audio track rename when adding another audio. #jira UE-28836, UE-28859 Change 2928290 on 2016/03/30 by Max.Preussner ContentBrowser: Disabling 'Show in Explorer' context menu option for newly created/unsaved asset(s) Change 2928480 on 2016/03/30 by Max.Preussner AssetTools: Added built-in type category for Media assets Change 2928498 on 2016/03/30 by Max.Preussner AssetTools: Sorting asset type categories alphabetically Change 2932326 on 2016/04/04 by Frank.Fella Sequencer - Add "paste from matinee" support for audio tracks, and add volume support to audio sections in sequencer. Change 2933917 on 2016/04/05 by Max.Preussner Core: Added microseconds support to FTimespan Change 2933920 on 2016/04/05 by Max.Preussner Sockets: Simplified socket timeout assignments Change 2935434 on 2016/04/06 by Max.Chen Sequencer: Deselect possessable before converting it to a spawnable and deleting it. Also, make sure the newly converted spawnables are selected. This fixes a bug where the transform gizmo remains after adding a spawnable. Also, consolidate code for adding possessables to sequencer so that the newly added possessable node will be selected in the widget tree. #jira UE-28215 Change 2935590 on 2016/04/06 by Jeff.Farris Made crane rig preview mesh at the tip move as expected and appear in a reasonable place. Change 2936082 on 2016/04/07 by Max.Chen Sequencer: Attach should use default attach component of the actor if it exists. This fixes a bug where trying to attach to a camera crane rig attaches to the proper component. Change 2936118 on 2016/04/07 by Max.Chen Sequencer: Adding crane/rail with shift now adds the crane/rig as a spawnable and the attached cine camera as a spawnable. An attach track is created for the cine camera spawnable. #jira UE-28308 Change 2937226 on 2016/04/07 by Max.Chen Sequencer: Add invalidation when levels are added or removed.This fixes a bug were if you have a level sequence open and then add a sublevel that the level sequence operates on, it correctly updates the actors from the new sub level. #jira UE-27595 Change 2937263 on 2016/04/07 by Frank.Fella Sequencer - Changed the matinee to sequencer conversion tools so that curve keys set to "clamped auto" import as user tangents since we don't support clamped auto in sequencer. Change 2937273 on 2016/04/07 by Max.Chen Sequencer: No longer experimental/betal and now enabled by default. #jira UETOOl-625 Change 2937694 on 2016/04/08 by Max.Chen Curve Editor: Separate out input and output snapping. #jira UE-27209 Change 2937852 on 2016/04/08 by Andrew.Rodham Sequencer: Spawnables no longer use generated classes - Spawnables now store a template actor instance, rather than a generated class - All relevant code has been converted to use this new approach - Spawnable defaults are now harvested directly from any spawned instances when the movie scene is saved, or when the object is de-spawned. We only do this for spawnables *in the currently active sequence instance*. This approach ensures that instance components and other properties persist. - Currently we don't mark the package as dirty when the defaults are changed. This needs to be addressed. - Some fixes have been made to AActor and Actor Iterators to ensure that actors not contained within a level do not crash. - Spawning optimisations to follow Change 2937956 on 2016/04/08 by Max.Preussner Sequencer: Added selection range commands to general toolbar menu Change 2937981 on 2016/04/08 by Max.Preussner Sequencer: Refactored GetKeyHandles to take a time range for filtering keys Change 2938007 on 2016/04/08 by Max.Preussner Sequencer: Implemented selection range key selection Change 2938184 on 2016/04/08 by Max.Chen Sequencer: Find in Content Browser is now in the top level menubar. #jira UE-21598 Change 2938665 on 2016/04/08 by Frank.Fella UMG - Add support for material animation. Change 2939048 on 2016/04/10 by Max.Chen CineCamera: Change current position on rail to normalize position. Change 2939067 on 2016/04/10 by Max.Chen Sequencer: Add paste color from matinee Change 2939587 on 2016/04/11 by Andrew.Rodham Sequencer: Fixes to spawnable rework - Removed commented out code. - Fixed particle system components not disabling auto activate. - Instance Components are now correctly registered on spawn. - Removed ability to set the editable flag on actors in favor of a delegate assigned to SActorDetails to disable property editing on actors spawned from outside of the currently focused sequence. Change 2939666 on 2016/04/11 by Andrew.Rodham Sequencer: Fixed active sequence ID not being set on creation Change 2940663 on 2016/04/12 by Andrew.Rodham Sequencer: Spawnable object templates now always have the RF_ArchetypeObject flag #jira UE-29337, UE-29339 Change 2940742 on 2016/04/12 by Thomas.Sarkanen Improvements to sequence recording API Sequence recording is now more extensible. Moved the majority of recorders into a seperate module. Cleaned up recorder API, removed bRecord that was only really used once. Added factory class as a modular feature that allows users to register and implement their own recorders. Recorders can supply their own settings classes. These are incorporated into the UI via a details customization so they appear to be seamlessly integrated. Exposed components to record as an advanced setting. Users can use this to gate the components and actors that are recorded. #jira UE-28850 - Update sequence recording API for better extensibility Change 2940828 on 2016/04/12 by Max.Chen Level Editor: Clear the camera preview if the level viewport is locked to the same camera. #jira UE-27489 Change 2941090 on 2016/04/12 by Frank.Fella Sequencer - Fix inconsistencies with the level visibility track. + Add an option to update a track instance when it stops playing due to it's parent movie scene being deactivated as a sub-scene. + Reset level visibility state when the section ends, or when it's parent subsection ends. Change 2941427 on 2016/04/12 by Andrew.Rodham Sequencer: Fixes for recorded dynamic components - Dynamic components are now named uniquely within their owner actor, and are no longer re-bound to new object tracks when detached/re-attached - New dynamic components are created every time a new component is detected on an actor, regardless of whether it was once attached before. This affords recording externally managed components from a component pool. - Section recorders for components that are no longer attached to the actor are now disabled correctly. Change 2941760 on 2016/04/12 by Max.Preussner Editor: Setting up correct material expresions when creating material from normal map texture Change 2941819 on 2016/04/13 by Max.Chen Sequencer: Fire named events in all sublevels. #jira UE-28843 Change 2942052 on 2016/04/13 by Andrew.Rodham Sequencer: Fixed not being able to add dynamic material parameter tracks to spawnables when the object is not spawned #jira UE-24287 Change 2942223 on 2016/04/13 by Max.Preussner Editor: Using built-in function to assign sampler format Change 2942833 on 2016/04/13 by Max.Chen Sequencer: More copy matinee helpers. - Make some sections infinite. - Fix FindPossessableObjectId - Expose FindGroupByName Change 2942944 on 2016/04/13 by Max.Chen Sequencer: Fix anim copy so that it doesn't create an animation clip longer than the next clip's start position. Change 2943313 on 2016/04/14 by Max.Chen Sequencer: Initial matinee to level sequence asset converter. Right click on a matinee actor in the level and choose "Convert to Level Sequence" Current supports: - movement tracks - generic property tracks - particle tracks - anim control tracks - event tracks - audio tracks - visibility track - director track (fade, slomo, camera cuts) Possible todos: - Relative scale3D - Option to create spawnables instead of possessables - Create shots per director track camera cut instead of a direct translation to the camera cut track #jira UETOOL-467 Change 2943596 on 2016/04/14 by Andrew.Rodham Editor: Fixed placement mode scrollbar visibility not working for custom content #jira UE-27191 Change 2943651 on 2016/04/14 by Max.Chen Sequencer: Invalidate the audio waveform when the source changes. #jira UE-29394 Change 2943674 on 2016/04/14 by Max.Chen Sequencer: Store/restore playback state when rebuilding. #jira UE-29452 Change 2943993 on 2016/04/14 by Max.Chen Sequencer: Convert slot name from matinee to level sequence. Change 2944156 on 2016/04/14 by Frank.Fella Sequencer - Fix undo when moving items into folders, and when deleting folder. #jira UE-27368 Change 2944227 on 2016/04/14 by Max.Chen Sequencer: Show curves in the curve editor if one of the parent nodes is selected. For example, if Location is selected, show Location.X, Location.Y, and Location.Z Change 2945057 on 2016/04/15 by Andrew.Rodham Editor: Fixed placement mode scrollbar visibility not working for custom content #jira UE-27191 #lockdown nick.penwarden [CL 2945551 by Max Chen in Main branch]
2016-04-15 14:50:58 -04:00
MouseDragType = DRAG_PLAYBACK_END;
TimeSliderArgs.OnPlaybackRangeBeginDrag.ExecuteIfBound();
Copying //UE4/Dev-Sequencer to //UE4/Main ========================== MAJOR FEATURES + CHANGES ========================== Change 2875025 on 2016/02/20 by Andrew.Rodham Sequencer: Cinematic viewport improvements - Added optional letterbox overlay (defaults to 2.35:1) - Added ability to change safe frame colors - Added selected tracks' keys to the transport range - Added buttons for jumping between selected tracks' keyframes on the transport controls - Removed black padding around the viewport where possible - Added ability to specify whether a combo button/menu anchor should close when its parent receives focus - Separated logic of FGroupedKeyArea into FSequencerKeyCollection, so it can be used independently - Added playback range to the viewport frame numbers - All frame numbers are now spin boxes #jira UE-26429 Change 2875026 on 2016/02/20 by Thomas.Sarkanen Added console commands for recording sequences Changed plugin to a developer plugin so we can load it when the editor is in -game mode. Added Exec commands. Added some more logging to help diagnose problems when using commands. Added loading/saving of config for recorder settings (stored in Editor.ini). Also disabled controls in recorder window when recording. Added auto-saving of assets when in non-editor modes. Moved animation settings from UnrealEd to Engine module. Change 2875036 on 2016/02/20 by Max.Chen Sequencer: Call RedrawAllViewports instead of RedrawLevelEditingViewports. In particular, this fixes some update issues when editing values in the key editors. #jira UE-26960 Change 2875046 on 2016/02/20 by Max.Preussner Sequencer: Fix so that clicking on UMG Animations doesn't dirty the scene. #jira UE-26249 Change 2875047 on 2016/02/20 by Max.Chen Sequencer: Add option to toggle display of channel colors/lines. View->Channel Colors Change 2877138 on 2016/02/23 by Max.Chen Sequencer: Select corresponding track node when selecting key or section. Removed active/inactive selection since it was only being used in deletion and the rules for deletion are now dependent upon what is selected - delete keys and sections before deleting outliner nodes. Change 2877143 on 2016/02/23 by Thomas.Sarkanen Added new math function: WindRelativeAnglesDegrees Given two angles in degrees, 'wind' the angle in Angle1 so that it avoids >180 degree flips. Good for winding rotations previously expressed as quaternions into a euler-angle representation. Change 2877147 on 2016/02/23 by Thomas.Sarkanen Added the ability to import sequencer transforms from the root node of an animation sequence Intended for use after re-importing animations from DCC tools. Available in the right-click menu for transform tracks. Also added FindTrackBinding to UMovieScene so track bindings can be recovered from tracks. Change 2877163 on 2016/02/23 by Max.Chen Sequencer: Add option to create keyframe sections as infinite. Sequencer defaults to true, UMG defaults to false. Change 2877165 on 2016/02/23 by Max.Preussner Sequencer: Drawing vertical position lines when dragging keys Change 2878748 on 2016/02/23 by Max.Chen Curve Editor: Switch curve type to user when flatting or straightening tangents. #jira UE-27277 Change 2878799 on 2016/02/23 by Frank.Fella Sequencer - Add folders support to the outliner. Change 2880769 on 2016/02/24 by Andrew.Rodham Sequencer: Added ability to override runtime spawnable ownership in sequencer - This is exposed as an option on spawnables "Keep Alive Outside Playback Range (In Sequencer)" - Enabling this will stop spawnables from being destroyed when scrubbing outside of the playback range #jira UE-27205 Change 2880770 on 2016/02/24 by Thomas.Sarkanen Sequencer: Added countdown and recording indicator display when recording Also fixed extra popups added post-PIE when animation recordings auto shutdown. Change 2880782 on 2016/02/24 by Max.Chen Sequencer: Snapping now also uses the current time as a possible snap time. #jira UE-26306 Change 2880793 on 2016/02/24 by Max.Chen Sequencer: Add +Animation to Animation track so that it's consistent with all other tracks that have a + button. Change 2880812 on 2016/02/24 by Max.Chen Sequencer: Fix adjusting the leading edge of a shot section so that it cuts into the shot rather than adjusts the start time. #jira UE-26306 Change 2881624 on 2016/02/25 by Andrew.Rodham Changing shader version GUID to fix corrupt shaders in ddc Change 2882408 on 2016/02/25 by Thomas.Sarkanen Asset/actors stored in TLazyObjectPtrs can now reference game content from engine This is a legitimate use case as lazy object ptrs are designed to reference assets/actors cross-domain. Change 2882409 on 2016/02/25 by Thomas.Sarkanen [CL 2899785 by Max Chen in Main branch]
2016-03-08 16:55:04 -05:00
}
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3946692) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3801826 by Max.Chen PR #4304: Level Sequence crash fix - Guarded against dereferencing null componen. (Contributed by DSDambuster) Change 3801828 by Max.Chen PR #4302: Movie Scene Visibility Template unitialised variable, causing random . (Contributed by DSDambuster) Change 3801837 by Max.Chen Sequencer: Delay spawning/construction for convert to possessable. This fixes a bug where property values would be lost when converting back and forth from possessable to spawnable. #jira UE-52400 Change 3801841 by Max.Chen Sequencer: Make spacer nodes not selectable. PR #4194: Improvements to Sequencer (Contributed by projectgheist) #jira UE-53117 #jira UE-52139 Change 3804183 by Max.Preussner MediaAssets: Added missing lock in media sound component Change 3805414 by Max.Preussner MediaAssets: Setting valid GUID when initializing media texture resource Change 3819578 by Max.Chen PR #4370: When enabling the "MovieCapture", do not turn off the Stereo-3D display. (Contributed by yehaike) #jira UE-53647 Change 3823414 by Max.Chen Curve Editor: Lock down the first and last keys in the redundant keys removal range so that they're unaffected. #jira UE-53591 Change 3826406 by Max.Chen Sequencer: Move OnStartedPlaying() to within first update in UpdateTimeCursorPosition(). This fixes an issue where setting the hud/player visibility was getting stomped on later. #jira UE-52772 Change 3827044 by Max.Preussner MediaAssets: Added sprite visualization to media sound component #jira UE-53594 Change 3827988 by Max.Preussner MediaPlayerAssets: Fixed Media Texture is not linked to Media Player when created together #jira UE-53532 Change 3828506 by Max.Preussner MediaPlayerEditor: Added attenuation visualizer for media sound components #jira UE-53594 Change 3832590 by andrew.porter EngineTest: Added a keep state check in Property Animation sequencer test Change 3833053 by andrew.porter EngineTest: Adding Hierarchical Bias test Change 3835683 by andrew.porter EngineTest: Adding UMG Animation screenshot test Change 3836076 by Max.Chen Sequencer: Fix audio volume and pitch multiplier deprecation. Change 3836230 by andrew.porter EngineTest: Adding Sequence Bone Position automation test Change 3836347 by Max.Chen Sequencer: Fixes to shot name parsing. When a shot doesn't contain a shot number, assume, [ShotName]_[TakeNumber]. When duplicating a shot, put the new shot in the same path of the original shot, so that the take numbers will increment properly. #jira UE-51868 Change 3836552 by Max.Chen Sequencer: Sub section now has a takes menu Change 3838094 by Max.Chen UMG: Fix template finish not getting called on stop. This fixes a bug where sections aren't restored when finished. #jira UE-52285 Change 3838708 by Max.Chen Sequencer: Add notification when the blend type is changed. #jira UE-54046 Change 3840295 by Max.Chen Sequencer: Fix copy/paste crash for lights #jira UE-54084 Change 3840957 by Mike.Zyracki Added Show Only Keyable and Show Only Animated to the filter list in the property editor. Added IsPropertyAnimated to IDetailKeyframe Interface which already had support for showing properties which are keyable (which is used for the key icon next to the properties.). Could have created another interface but then would have had to mimic the sequencer binding, releasing also, so this seemed best way. One issue still left is that custom built detail items currently don't store associated properties(usually) and so certain properties, in particulalry transforms, won't show up as keyable or animated. Note this also shows up with the keyable icon not showing up next to transform tracks, and other filters like Show Only Modified not working with transforms/customs. Not sure best way to tackle this. #jira UESEQ-328 Change 3841756 by Max.Chen Sequencer: Fix unbound possessable components when pasting spawnables. #jira UE-54104 Change 3843950 by andrew.porter EngineTest: Renaming LevelStreaming tests/content to LevelVisibility Change 3844082 by Mike.Zyracki Missing file for animated filter in property editor. When finding if a track is animated we need to find it but we can't easily induce the MovieTrack class for any particular property. So we don't set a class for it and just search by it's ID and name. #jira UESEQ-328 Change 3846902 by Max.Preussner ImgMedia: Fixed image media player never finished initialization if loading failed #jira UE-54247 Change 3849820 by Mike.Zyracki Reassigning deleted widgets didn't work since the menu extender mechanism needs a valid UObject in order to perform an operation on it. So to fix we replaced GetObjectBindingContextMenuExtender in WidgetBlueprint with new delegate mechanism (OnBuildCustomContextMenuForGuid) that supports FGuid in addition to UObjects which is needed to handle re-binding deleted widgets. Note that the default sequencer hacks this for replacing deleted actors in SequencerObjectBindingNode to check to see if a LevelSequence is active. We could move to this mechanism there also. #jira UE-53163 Change 3852211 by Max.Chen UMG: Indicate name of the property that is not bound. #jira UE-54350 Change 3854120 by Max.Chen Sequencer: Fix sibling folders being allowed to have the same folder name. #jira UE-54363 Change 3854627 by Max.Chen Sequencer: Step to next/previous key should work for all tracks if there aren't any selected. #jira UESEQ-391 Change 3855825 by andrew.porter EngineTest: Adding animation blending automation test Change 3855950 by andrew.porter EngineTest: Adding correct expected valuues to animation blending test Change 3856237 by Matt.Hoffman UESEQ-336 - Sequencer Track Reordering Adds the ability to re-order Master Tracks, Folders and Object Bindings within sequencer hierarchies (including UMG). Adds the ability to do a one-off sorting of the content under the old sorting behavior if the user wants to reset their layout to how it was under legacy behavior. Modifies SequencerTrackNodes, SequencerFolderNodes and SequencerObjectBindingNodes to handle CanDrop/OnDrop for above, below and ontop of. Fixes a Slate Issue that forcibly expanded a TreeviewRow if an item handled OnDrop. Slate will now only forcibly expand the row if the item says the drop happened ontop of the item, and not above or below it like it previously did. Change 3856503 by andrew.porter EngineTest: Adding automation test for using animation blueprint with blend multi node in sequencer Change 3857875 by Max.Chen Sequencer: Assign the sequence id after the template is compiled. #jira UE-54462 Change 3858344 by Max.Chen Sequencer: Prevent Goto and Transform boxes from overlapping by allowing them to be visible at the same time in an autosized horizontal box. Also, added close button to the goto box. PR #4425: Prevent Goto and Transform boxes from overlapping in Sequencer ... (Contributed by projectgheist) #jira UE-54210 Change 3860566 by andrew.porter MediaFrameworkTest: Set the option to index 0 for the audio and video track list by default Change 3860654 by andrew.porter EngineTest: Enabling Camera Cut + FOV test Change 3860981 by andrew.porter EngineTest: Updating skeletal mesh tests with a delay after set playback position Change 3861256 by Max.Chen Sequencer: Add all bindings if none selected. #jira-54440 Change 3862154 by Andrew.Rodham Added TimeManagement module Change 3862424 by andrew.porter EngineTest: Turned on the test Bone Positions with Blend Multi Node Change 3862573 by andrew.porter EngineTest: Adding test to compare bone positions in a sequence that is blending an animation that is using an AnimBP Change 3865117 by Max.Chen Sequencer: Stop auto scroll on mouse release of movement. #jira UE-31212 Change 3865303 by Max.Chen Sequencer: Add drag and drop transactions #jira UE-54662 Change 3865304 by Max.Chen Sequencer: Fix crash when an actor factory is not found. Change 3865361 by Max.Chen Sequencer: Don't change the camera/shot lock button when popping out of a sequence. #jira UE-54665 Change 3865412 by Max.Chen Sequencer: Determine whether a transform track is for a camera by using the spawned object or template #jira UE-54666 Change 3865685 by Max.Chen Sequencer: Clear autoscrub offset when stopping autoscroll #jira UE-31212 Change 3865886 by Max.Chen Sequence Recorder: Log an error if the number of frames changes while recording. This can happen if the skeleton changes while recording. #jira UE-48715 Change 3866925 by Andrew.Porter MediaFrameworkTest: Changing the current PNG test video image sequence to 1024 x 576 Change 3867705 by andrew.porter QAGame: Adding Audio Sort Sequence to dev folder Change 3867890 by andrew.porter QAGame: Adding a sequence for testing a sorting crash to my dev folder Change 3872628 by Max.Chen Movie Scene Capture: Split delay before warmup into split delay before shot warmup so that there's separate controls for when the movie scene capture warmups up vs. shot boundaries. Change 3873131 by Matt.Hoffman UE-54732 - Crash reordering a folder with a track. This was caused by folders being the only type of track to check if someone was putting a parent track into a child track. Object Binding tracks and Tracks now check as well so that you can't use the above/below drop targets to add parents as children. This also fixed a typo in the localization keys. #jira UE-54732 Change 3873301 by Mike.Zyracki Added ability to support continous euler angle changes when changing rotations, in particularly with the rotation gizmo's. To do this we effectively added a form an of 'euler filter'(https://en.wikipedia.org/wiki/Euler_filter) to find the closest euler angle to the current euler angle. Three functions were added to FRotator to make this possible, one to get the euler angle that's has the same rotation as it, one to get the difference between two euler angles via Manhattan distance and a third using the previous two to choose a Rotator value that's closest to it. We then use these functions before calling UComponent::SetRelativeRotation to make sure we use the correct Euler after the Quat conversion. We also no longer limit(bound) the euler angles to -180,180, which is obviously necessary to avoid flips. I also changed how we caluclate yaw and roll when pitch is -90 or 90 to make it the standard approach of zeroing out roll and just setting yaw. Main reasons are the previous implementation had precision issues so things like 180, 90, -180 would show up due to numbers being nearly zero but negative,(this would break any smooth interpolations), and this facilitates having a 'gimbal' rotation mode (like Maya, Blender etc..) if we ever want that also. If needed we could keep the previous implementation but would need to add some FMath::IsNearlyZero checks, with less performance. Note we only do this special filtering when applying delta's to actors or components in the editors, which then call UComponent::SetRelativeRotationExact, which is a new function to foces the RelativeRotation to be equal to the new rotation. This allows us to store un-nomalized Rotators at the cost that the RotationCache may be broken. We didn't change any of the other UComponent functions that set rotations (via Quats or Transforms) so they will still be bounded and unwound. In SetInternalWorldLocationAndRotation we only set the rotation if the rotation has changed, which fixes the rotation getting changed and re-normalized if just translate happens. In TransformTrackEditor, we correclty use the bUndwing flag and in MovieScene3DTransformSection there was an un-needed winding check there, it will be unwound earlier if needed, which happens if Sequence Recording is happening. Max we should talk about what to do about this . Note the euler angle drag via the widget is still bound to 0-360. I think we should just unbound that now since the rotations value are now unbound. This review now includes fixes suggested by Zak. #jira UE-UE-22228 Change 3873483 by Matt.Hoffman Sequencer Tracks can now be inserted above the spacer at the bottom of the tree. #jira UE-54706 Change 3873899 by Max.Chen Sequencer: Add section selection throbbing Change 3873908 by Max.Chen Movie Scene Capture: Added logging per frame Change 3873924 by Matt.Hoffman Adds the ability to store Sequence Recorder setups into profiles that stay with the map and can be re-loaded later. Profiles store the Actor Recordings so the settings for each actor should carry with them. #jira UESEQ-339 Change 3874726 by Matt.Hoffman Disable drag-and-drop targets on spacers that come between rows in Sequencer. This prevents extra drag/drop targets showing up between each row. #jira UE-54706 Change 3874862 by Matt.Hoffman Audio Track no longer gets reordered when adding sub-audio tracks, as sub-tracks are no longer counted towards the sorting order index when normalizing indexes. #jira UE-54727 Change 3875905 by Matt.Hoffman Disable Fade Track UI if a fade track already exists in the sequence. #jira UESEQ-393 Change 3876163 by Max.Chen Sequencer: Swap the camera object to the camera component's owner if it's not the same. #jira UE-54874 Change 3876971 by Andrew.Porter EngineTest: Moved Media Player Seek test to new folder. Also enabled the test with new ground truth image. Change 3877040 by Max.Chen Cine Camera: Split camera properties to two groups, "Camera Options" and "Camera Settings". The cine camera now hides properties in the "Camera Settings" group so that properties like bConstrainAspectRatio (in the "Camera Options" group) can be visible. #jira UE-54192 Change 3877763 by Max.Chen Curve Editor: Fix curve changed on end drag so that only curves that had keys/tangents that were changed receive notification, otherwise all loaded curves were getting notified that they were changed. #jira UE-54951 Change 3878234 by Matt.Hoffman Disable "Drop Below" targets for Sequencer Tree nodes to prevent a confusing UX issue where dropping underneath a Object Binding Node puts it after the object binding node but the UI looks like it's inserting it inside the Object Binding node. #jira UE-54743 Change 3879359 by Mike.Zyracki If a track is inactive we dim it a bit which seems to be the UE4 way to show inactive or disabled state. We changed the active logic so that all subtracks need to be inactive for the track to also be inactive(instead of all active for active). This conforms to how the active state actually works, e.g if you have two sections and only one is active the track is still active above it. #jira UESEQ-388 Change 3879462 by Max.Chen Sequencer: Allow dragging onto a particular row which would move out any overlapping sections to make space for the newly created section. Newly created sections are now selected and throbbed to draw attention to themselves. #jira UE-54664 Change 3879464 by Max.Chen Sequencer: Fixed overlapping ranges being inserted into the evaluation field during compilation - The issue was that track segments that had been combined with adjacent segments (due to them being identical) would potentially cause a subsequently compiled frame to overlap with a range that had already been inserted into the evaluation field. - The insertion code previously asserted that only minor overlaps were catered for (due to fp rounding errors) and assumed that a supplied range could not entirely contain any other range in the field. - The solution is to supply the insertion time along with the range to know exactly where the data should live in the field, and crop the range to the maximum allowable space between adjacent ranges. #jira UE-54922 Change 3879590 by Matt.Hoffman Items that are now added to the Sequencer via the "+Track" menu will be selected after being added. Items can now be added inside of folders instead of just to the root level. #jira UE-27397 Change 3879612 by Mike.Zyracki Display Nodes with no children are always active. #jira UESEQ-388 Change 3879730 by Matt.Hoffman Sequence Recorder's actor recording groups now remove items from the group when removed via the UI. #jira UESEQ-339 Change 3880256 by Mike.Zyracki Fix issue with inactive display with folders and other track nodes. #jira UESEQ-388 Change 3883491 by Max.Chen Fix issue where tick is skipped due to last ticked pose isn't cleared after AnimInstance changes. Copy from Release-4.19 #jira UE-51323 Change 3883603 by Max.Chen Movie Scene Capture: Add option toggle disable screen percentage. By default this is on (no change in current behavior). #jira UE-51898 Change 3885074 by Max.Preussner MediaCompositing: Resetting media texture & freeing resource on section end; removed dead code Change 3887220 by Max.Preussner MediaCompositing: Defaulted media section duration to 1 sec (since we do not know the actual duration in most cases) Change 3887478 by Matt.Hoffman Sequences now show [Inactive] in their title bars when they're disabled. This helps communicate why a sequence isn't being evaluated. #jira UE-51469 Change 3888985 by Max.Chen Movie Scene Capture: Clamp HDR Compression Quality between 0 and 1. #jira UE-55136 Change 3893519 by Max.Chen Sequence Recorder: Clarified tooltip for bRecordNearbySpawnedActors - spawned actors will still be recorded if they match the ActorFilter. #jira UE-55238 Change 3893546 by Max.Chen Sequence Recorder: If a selected actor already has a recording, add a blank recording. #jira UE-55239 Change 3894044 by Max.Preussner MediaCompositing: Added support for seeking into a media section Change 3894310 by andrew.porter MediaFrameworkTest: Adding Img media sources for 1080 and 2160 ravent test content Change 3894426 by Max.Preussner MediaAssets: Letting media textures with AutoClear retain their clear color when player is reset Change 3895717 by Max.Chen Sequencer: Null checks to prevent crash when saving the default state of a spawnable #jira UE-55304 Change 3897388 by Max.Chen Sequencer: Don't update current time to be within the view range when stepping into a sequence. #jira UE-55322 Change 3897452 by Max.Chen Audio: Fix crash when trying to record audio without any active capture devices. Log warning if the number of input channels is not 1 or 2. #jira UE-55223 Change 3897619 by Max.Preussner MediaCompositing: Removed commented out code Change 3898072 by Max.Chen Sequencer: Override the animation asset in the player state if it doesn't match the animation asset that's being evaluated. #jira UE-55328 Change 3898272 by Max.Preussner MediaPlayerEditor: Made slate brush constants static Change 3898704 by Max.Chen Sequencer: Skip if the binding id's sequence can't be found. #jira UE-55337 Change 3899855 by Max.Preussner MediaCompositingEditor: Added cache state visualization to media track Change 3900300 by Max.Preussner MediaCompositingEditor: Added loop indicators to media sections Change 3900694 by Max.Preussner ImfMedia: Looping cache only when player is looping Change 3900892 by Max.Preussner Stats: Added stats category for media framework Change 3900954 by Max.Preussner MediaCompositing: Don't evaluate at the end of media section Change 3901348 by Max.Preussner Core: Replaced TLruCache autos for better readability Change 3901655 by Max.Preussner ImgMedia: Added more perf stats to EXR reader Change 3901972 by Max.Preussner MediaAssets: Added getter for media player in media sound components Change 3902233 by Max.Preussner MediaAssets: Enabling media textures to receive samples right after player is assigned Change 3902238 by Max.Preussner MediaCompositing: Working around init/shutdown idiosyncracies in sequencer Change 3904045 by Max.Chen Sequencer: Fix copy/paste crash. Only process UMovieSceneCopyableBinding and objects that can be spawned by the movie scene spawn register. #jira UE-55314 Change 3905605 by Max.Chen Sequencer: Restrict spawnables from being created if they have a ClassWithin that UMovieScene is not a child of. #jira UE-55429 Change 3906550 by Max.Chen Sequencer: Add media track icon #jira UE-55480 Change 3907101 by Max.Chen Sequence Recorder: Fix bugs related to not recording a level sequence. There were certain assumptions that creating a level sequence meant that sequence recording was in progress. This is not always the case - the recorders can record animation assets and not create a level sequence. Changed the notion of IsRecording() to having at least one actor recording that is recording. Countdown timer, recording displays, etc should function if IsRecording() and not based on whether a level sequence is created. #jira UE-55485 Change 3907247 by Max.Chen Sequence Recorder: Fix crash not removing PrepareToCleanseEditorObject delegate. Repros when opening sequence recorder, closing it, and then opening or creating a level. Change 3910343 by Max.Preussner Core: Added async helper for executing functions on a given thread pool Change 3910346 by Max.Preussner ImgMedia: Added separate thread pools for loading/decoding and deleting image frames Change 3910829 by Max.Preussner Profiler: Increased visible range of profiler graph Change 3910841 by Max.Preussner MediaCompositing: Displaying asset name instead of full media source path in media section Change 3910870 by Max.Preussner ImgMedia: Using deallocation thread pool only in debug builds Change 3919642 by Max.Chen Sequence Recorder: Clarify active tooltip #jira UE-55661 Change 3919660 by Max.Chen Sequencer: Sequence template source signatures are now also compared to catch the case where a sub-sequence asset has been saved but not modified - The following sequence of events exposes this issue: - Create a master sequence with a single shot that spawns a cube - Add this sequence to a level and set it to auto-play - Save everything and restart - Resave just the inner shot asset without opening it - PIE - The inner shot never spawns its cube because its template was wiped on save, but its signature never changed. Since the master sequence previously didn't check the template source signature, it ends up trying to evaluate an empty template. #jira UE-55626 #jira UE-55490 Change 3921825 by Max.Chen Sequencer: "Run Construction Script in Sequencer" is off by default for blueprints but on for Sequencer. This allows the content author to switch it on for specific blueprints and sequencer will be default, run those with construction scripts enabled. Change 3922232 by Max.Chen Sequence Recorder: Reset countdelay on stop. #jira UE-55755 Change 3922306 by Max.Chen Sequence Recorder: Don't automatically mark transforms to be recorded by sequence recorder. Instead, log a warning if the user toggled it off to warn that the resulting animation might not match gameplay. #jira UE-55758 Change 3922912 by Max.Chen Sequence Recorder: Fix refresh next sequence name #jira UE-55757 Change 3927654 by Max.Chen Movie Scene Capture: Added format mapping for the name of the current camera #jira UE-55769 PR #4537 Change 3927658 by Max.Chen Sequencer: Added fbx property mapping for "FocusDistance" to "FocusSettings.ManualFocusDistance" #jira UE-55782 Change 3932022 by Max.Chen Sequencer: Add import animation track section to next available row index. #jira UE-55892 Change 3933919 by Max.Chen Sequencer: Jump to playback start frame and not 0 to start playback for recording. #jira UE-55933 Change 3934307 by Andrew.Rodham Sequencer: Add template signature that is re-generated every time the base template is regenerated, which invalidates evaluation fields This fixes an issue where the same sequence is instantiated multiple times in a sequence. If the source sequence was saved, its template would be wiped, which would invalidate the template ID When an instance tries to evaluate the master template, it would only invalidate a range in the evaluation field that was the hull of any invalid sub sequences overlapping the current time, potentially leaving invalid data in the evaluation field at positions later (or earlier) on in the sequence When the sub template was re-generated, it receives the same SequenceSignature as it had before (because the sequence hasn't actually changed), which causes the stale evaluation field data to fail the IsDirty check (because the sequence is the same as it thought, but the *template* has changed) This has been addressed be adding a signature to templates themselves, and checking both the template signature and sequence signature as a part of the IsDirty check. This ensures that we regenerate if either the template, or the sequence have changed. #jira UE-55934 Change 3936327 by Andrew.Rodham Sequencer: Removed increment when trimming right UMovieSceneSection::TrimSection already explicity assigns an exclusive bound to the time passed in. The new behavior means we can trim a section to the right, and insert another section without changing the time to create adjacent sections. #jira UE-42652 Change 3936328 by Andrew.Rodham Fixed KeyFrameManipulator assignment operators and copy/move constructors - These types are potentially self-referential so cannot use default constructors/assignment Change 3936330 by Andrew.Rodham Converted UMGSequencePlayer to use frames internally #jira UE-54878 Change 3936726 by Max.Chen Sequencer: Set track node as the parent of the key area node. The key area switcher needs the object binding id from the parent object binding node. Without this, the binding to the external value fails. #jira UE-55931 Change 3936775 by Max.Chen Sequencer: Should stop or loop should compare DurationFrames with Current Time from StartTime. The bug is that if you set 30 warmup frames in movie rendering for a range of 0-100, the FrameRange will be starting at -30 and have a duration of 130. Without this fix, the playback will continue until frame 130, rather than 100. #jira UE-55933 Change 3936935 by Matt.Hoffman Easing Curves are now represented in Play Rate resolution instead of internal resolution. #jira UE-55937 Change 3937069 by Matt.Hoffman Users can toggle if the is infinite on each side, limited by which tracks support infinite ranges. #jira UE-55891 Change 3937516 by Max.Preussner ImgMedia: Added support for single-threaded platforms #jira UE-55986 Change 3937826 by Max.Preussner MediaAssets: Disabling media sound components on HTML5 if AudioMixer is not enabled Change 3937997 by Max.Chen Curve Editor: Add Zoom to Fit Curves so that selected curves from Sequencer can be focused on. Tested that undo doesn't re-zoom. #jira UE-55935 Change 3938000 by Max.Chen Sequencer: Stop all sounds before generating audio waveforms. #jira UE-55951 Change 3938376 by Max.Preussner XGEController: Disabled XGE Controller in single-threaded apps to prevent crash Change 3938444 by Max.Preussner Core: Added async support for single-threaded applications Change 3938445 by Max.Preussner Networking: Added support for single-threaded applications in UDP socket sender/receiver Change 3938447 by Max.Preussner Messaging: Added support for single-threaded applications Change 3939432 by Max.Chen Sequence Recorder: Append command list to global level editor actions so that shortcuts are accessible in level editor. #jira UE-55798 Change 3940229 by Andrew.Rodham Added prospective display rate upgrade to UMovieScene::PostLoad - There was previously some very odd behaviour that would assign the fixed frame interval only when a sub sequence was focused in SSequencer. This meant that many sequences could have a frame interval of 0 set in the data. - Under the old method of snap interval display this would have fallen back to getting the display interval from the sequencer settings, but we no longer look at these. - The USequencerSettings properties have been removed and in their place, a prospective data upgrade for sequences that have a fixed frame interval old 0fps that sets the play rate to the previous defaults based off the old USequencerSettings defaults. - This could end up 'changing' the display rate for sequences where the user has changed the snap interval in the settings for a particular sequence editor, but there's not much we can do about that given we don't have access to the USequencerSettings classes in UMovieScene #jira UE-55919 Change 3940277 by Andrew.Rodham Sequencer: Added ability to default frame resolutions and play rates for newly created actor sequences Change 3940378 by Andrew.Rodham Sequencer: Post move import dialog now defaults to the playback framerate of the sequence, and floors to frame numbers Change 3940559 by Andrew.Rodham Reinstated primed or recording sequence color Change 3940642 by Max.Preussner ImagePlate: Removed image plate media playback functionality Change 3940843 by Max.Preussner Core: Made TCircularQueue actually thread-safe; improved code comments Change 3940860 by Max.Chen Sequencer: Changed StructNameToKey to StructPathToKey Previously, keying a PropertyPath of [RenderTransform][Shear][X] would get trimmed to X, which doesn't map to a channel name as considered by Sequencer2dTransformTrackEditor. Instead, trim the resulting property path to [Shear][X] so that track editors can determine the desired struct path and channels to key. #jira UE-52966 Change 3941292 by Mike.Zyracki Fix for trajectories out of range not showing up. 1) If we had no key data we would pop the time, so wouldn't get the section ranges. 2) Calculating of upper bound was wrong, checking against -1 and not key == num of keys when doing algo::lower_bound. 3) No need to do the Bck-- for the bakward iterators since we fixed #2. We start now from the upper bound correctly. 4) If we had no keys (at section start,end) we would incorrectly say we were any key type, so since we draw constant keys as dashed we would do so incorrectly around section end points. #jira UE-55929 Change 3941424 by Max.Chen Curve Editor: Change Zoom to Fit to use TArrayView Change 3941498 by Max.Preussner Core: Added FMath::DivideAndRoundNearest function Change 3942097 by Matt.Hoffman Drop Frame Timecode Support for NTSC rates. Change 3942104 by Matt.Hoffman Sequence Recorder Group is no longer visible inside the World Outliner after using one. #jira 55266 Change 3942107 by Max.Chen Sequencer: Resurrect logic to find or extend an existing section when adding keys. Change 3942330 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942339 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942507 by Andrew.Rodham Sequencer: We no longer pad the time overlap threshold with a small number that is not scaled by the current zoom level - The presence of this pad was causing keys that were far apart to be grouped when zoomed in a long way Change 3942509 by Andrew.Rodham Sequencer: Only pad total view range, rather than section range as well when retrieving keys to render - This stops us from rendering keys that are within the view range, but outside the section range Change 3942512 by Andrew.Rodham Added transactions to some sequencer details customizations Change 3942513 by Andrew.Rodham Sequencer: Reinstated validation checks to UMovieSceneSection::SetStartFrame and SetEndFrame, changed erroneous uses to use SetRange Change 3942560 by Andrew.Rodham Pass by rvalue reference to appease error C2719 on Win32 ('InChannels': formal parameter with requested alignment of 8 won't be aligned) Change 3942697 by Andrew.Rodham Newly Created Level Sequences and Actor Sequences now default to 24000 fps frame resolution (+/- ~24hrs range, supporting all integer rates + 23.976) Change 3942700 by Andrew.Rodham Sequencer: Added legacy out-of-bounds errors for times that are not supported by the current legacy upgrade frame resolution Change 3942989 by Max.Preussner Core: Fixed circular queue count calculation Change 3943538 by Max.Preussner MediaAssets: Reverted workaround for procedural audio log spam in HTML5 (Actor component initialization cannot be skipped if the component is used in a level) Change 3944071 by Max.Preussner QAGame: Fixed Media Texture keeps last frame of Media when PIE ends #jira UE-53360 Change 3944292 by Max.Chen Sequencer: Added extra flags to ensure that asset initialization does not occur on template actor sequences #jira UE-56113 Change 3944364 by Max.Chen Sequencer: Prevent circular shot/master tracks. Tested adding master -> child -> master as drag and drop cinematic shot tracks and sub tracks as well as through the + button. #jira UE-56091 Change 3944422 by Max.Chen Sequence Recorder: Disable transform recording if off. #jira UE-56061 Change 3944745 by Andrew.Rodham Sequencer: Key rendering fixes - Fixed assert that occured when keys happened to reside on some times due to KeyTime + TimeOverlapThreshold - KeyTime being slightly larger TimeOverlapThreshold - Fixed keys sometimes being clipped when zoomed right in due to lack of half-frame offset - Added missing documentation to MovieSceneTimeHelpers.h #jira UE-56107 Change 3945231 by Andrew.Rodham Sequencer: Reconstruct channel proxy on Serialize to catch all cases of undo/redo, PostLoad and duplication #jira UE-56089 Change 3945301 by Andrew.Rodham Sequencer: Added safety checks during initial sequence recording to guard against applying negative or 0-sized sequence ranges #jira UE-56125 Change 3946627 by Max.Preussner Fortnite: Fixed game crashes closing editor while in PIE - Pure virtual function being called #jira UE-56144 [CL 3946896 by Max Chen in Main branch]
2018-03-14 22:09:33 -04:00
else if (!bLockedPlayRange && !bHitScrubber && HitTestRangeStart(RangeToScreen, PlaybackRange, MouseDownPixel))
Copying //UE4/Dev-Sequencer to //UE4/Main ========================== MAJOR FEATURES + CHANGES ========================== Change 2875025 on 2016/02/20 by Andrew.Rodham Sequencer: Cinematic viewport improvements - Added optional letterbox overlay (defaults to 2.35:1) - Added ability to change safe frame colors - Added selected tracks' keys to the transport range - Added buttons for jumping between selected tracks' keyframes on the transport controls - Removed black padding around the viewport where possible - Added ability to specify whether a combo button/menu anchor should close when its parent receives focus - Separated logic of FGroupedKeyArea into FSequencerKeyCollection, so it can be used independently - Added playback range to the viewport frame numbers - All frame numbers are now spin boxes #jira UE-26429 Change 2875026 on 2016/02/20 by Thomas.Sarkanen Added console commands for recording sequences Changed plugin to a developer plugin so we can load it when the editor is in -game mode. Added Exec commands. Added some more logging to help diagnose problems when using commands. Added loading/saving of config for recorder settings (stored in Editor.ini). Also disabled controls in recorder window when recording. Added auto-saving of assets when in non-editor modes. Moved animation settings from UnrealEd to Engine module. Change 2875036 on 2016/02/20 by Max.Chen Sequencer: Call RedrawAllViewports instead of RedrawLevelEditingViewports. In particular, this fixes some update issues when editing values in the key editors. #jira UE-26960 Change 2875046 on 2016/02/20 by Max.Preussner Sequencer: Fix so that clicking on UMG Animations doesn't dirty the scene. #jira UE-26249 Change 2875047 on 2016/02/20 by Max.Chen Sequencer: Add option to toggle display of channel colors/lines. View->Channel Colors Change 2877138 on 2016/02/23 by Max.Chen Sequencer: Select corresponding track node when selecting key or section. Removed active/inactive selection since it was only being used in deletion and the rules for deletion are now dependent upon what is selected - delete keys and sections before deleting outliner nodes. Change 2877143 on 2016/02/23 by Thomas.Sarkanen Added new math function: WindRelativeAnglesDegrees Given two angles in degrees, 'wind' the angle in Angle1 so that it avoids >180 degree flips. Good for winding rotations previously expressed as quaternions into a euler-angle representation. Change 2877147 on 2016/02/23 by Thomas.Sarkanen Added the ability to import sequencer transforms from the root node of an animation sequence Intended for use after re-importing animations from DCC tools. Available in the right-click menu for transform tracks. Also added FindTrackBinding to UMovieScene so track bindings can be recovered from tracks. Change 2877163 on 2016/02/23 by Max.Chen Sequencer: Add option to create keyframe sections as infinite. Sequencer defaults to true, UMG defaults to false. Change 2877165 on 2016/02/23 by Max.Preussner Sequencer: Drawing vertical position lines when dragging keys Change 2878748 on 2016/02/23 by Max.Chen Curve Editor: Switch curve type to user when flatting or straightening tangents. #jira UE-27277 Change 2878799 on 2016/02/23 by Frank.Fella Sequencer - Add folders support to the outliner. Change 2880769 on 2016/02/24 by Andrew.Rodham Sequencer: Added ability to override runtime spawnable ownership in sequencer - This is exposed as an option on spawnables "Keep Alive Outside Playback Range (In Sequencer)" - Enabling this will stop spawnables from being destroyed when scrubbing outside of the playback range #jira UE-27205 Change 2880770 on 2016/02/24 by Thomas.Sarkanen Sequencer: Added countdown and recording indicator display when recording Also fixed extra popups added post-PIE when animation recordings auto shutdown. Change 2880782 on 2016/02/24 by Max.Chen Sequencer: Snapping now also uses the current time as a possible snap time. #jira UE-26306 Change 2880793 on 2016/02/24 by Max.Chen Sequencer: Add +Animation to Animation track so that it's consistent with all other tracks that have a + button. Change 2880812 on 2016/02/24 by Max.Chen Sequencer: Fix adjusting the leading edge of a shot section so that it cuts into the shot rather than adjusts the start time. #jira UE-26306 Change 2881624 on 2016/02/25 by Andrew.Rodham Changing shader version GUID to fix corrupt shaders in ddc Change 2882408 on 2016/02/25 by Thomas.Sarkanen Asset/actors stored in TLazyObjectPtrs can now reference game content from engine This is a legitimate use case as lazy object ptrs are designed to reference assets/actors cross-domain. Change 2882409 on 2016/02/25 by Thomas.Sarkanen [CL 2899785 by Max Chen in Main branch]
2016-03-08 16:55:04 -05:00
{
// playback range start scrubber
Copying //UE4/Dev-Sequencer to //UE4/Main (Source: //UE4/Dev-Sequencer @ 2945541) ========================== MAJOR FEATURES + CHANGES ========================== Change 2837601 on 2016/01/20 by Thomas.Sarkanen Sequencer: Exposed bool, byte, event, fade, float, slomo, and visibility section keys in context menu Change 2840895 on 2016/01/23 by Thomas.Sarkanen Sequencer: Moved key proxy handling from section into key area; added support for grouped keys; exposed color properties in context menu. Change 2901092 on 2016/03/09 by Thomas.Sarkanen Sequencer: Fixed ensure() and crash when exiting PIE & then playing back in editor Made sure that instances that are playing that have active montages can re-connect to a playing montage if it is already active. We dont stop/start preview/non- preview playback when switching modes right now so I've just made the system robust to the switch when playing back animation. Ensured that instances are kept up to date by hooking into EndPlayMapDelegate. This fires slightly later than OnEndPIE, so it allows us to pick up when instances have been deleted from the world. OnEndPIE is fired before the worlds are shutdown so instances can still be bound to valid (but nearly dead) actors at this point. #jira UE-27898 #jira UE-27899 Change 2901159 on 2016/03/09 by Chris.Bunner Allow EXR frames from SaveHighResScreenshot to be uncompressed (r.SaveUncompressedEXRFrames). Change 2903123 on 2016/03/10 by Max.Chen Sequencer: Add snapping for the in/out range. Change 2903126 on 2016/03/10 by Max.Chen Sequencer: Fix split and trim for cinematic shot sections so that the start offset value is set. Change 2903132 on 2016/03/10 by Max.Chen Sequencer: Create camera here and set it as the current camera cut. Change 2903138 on 2016/03/10 by Max.Chen Sequencer: Improve mechanism for adding objects to Sequencer. Hold down shift while dragging from content browser to add as a spawnable. Hold down ctrl while dragging from content browser to add as a possessable. Change 2903143 on 2016/03/10 by Max.Chen Sequencer: Add 4k to movie capture dialog. #jira UE-28147 Change 2903157 on 2016/03/10 by Max.Chen Sequencer: Pop out of locked camera when popping out of the sequence. #jira UE-27662 Change 2908097 on 2016/03/14 by Andrew.Rodham Sequencer: Added default viewport type onto the viewport types menu - The activation command for a given viewport type no longer toggles it if it's already active, it will just do nothing. - Switching back to the default viewport type can be achieved with SHIFT+D Change 2911869 on 2016/03/16 by Max.Preussner Editor: Caching device proxy manager, so the UI doesn't constantly poll for the TargetDeviceServices module Change 2917943 on 2016/03/22 by Thomas.Sarkanen Sequence Recording: Added "Record New Sequence From Current Player" to sub-sequence track menu This option is only available in PIE. When selected it primes a new seciton for recording against the pawn that is currently being controlled by the player. Change 2917946 on 2016/03/22 by Max.Chen Sequencer: Automatically add and attach a cine camera when dropping a crane or rail. Change 2917954 on 2016/03/22 by Thomas.Sarkanen Fix anim dynamics going crazy on time skips Added new API to FAnimNode_Base: NeedsDynamicReset and ResetDynamics. This allows nodes that subscribe to this interface to be reset on teleport/time skips. Call through to ResetDynamics on zero timestep (ie. skips) in the preview path in Sequencer. Change 2917961 on 2016/03/22 by Frank.Fella Sequencer - Sequencer - Update the color track code to match the behavior in matinee, also remove empty light color tracks from the sequence, and add a missing particle parameter track. Change 2917984 on 2016/03/22 by Max.Chen Sequencer: Fix crash on deleting object binding nodes multiple times. Change 2917986 on 2016/03/22 by Max.Chen Sequencer: Fix if adding multiple camera cuts at the same time with the same duration as an existing camera cut. The camera is replaced in this case. Change 2917994 on 2016/03/22 by Jeff.Farris Support for scene depth picker. Used for focus depth sampling in cine cams. Change 2918003 on 2016/03/22 by Max.Chen Sequencer - Fix selection issues related to keying an undo by moving the selection clear on rebuild to after the tree selection state has been cached by path. Change 2920371 on 2016/03/23 by Max.Preussner UnrealEd: Added a file import path that doesn't load the entire file into memory prior to importing UFactory::StaticImport will now call FactoryCreateFile for both text and binary files. The default implementation will load the file into a buffer/string and call FactoryCreateBinary/FactoryCreateText to preserve legacy behavior. New factories may override FactoryCreateFile to perform their own file processing instead. Change 2923359 on 2016/03/25 by Max.Preussner UnrealEd: Refactored out StaticImportObject code into ImportObject Change 2924887 on 2016/03/28 by Jeff.Farris Sequencer: Camera Anim and Camera Shake tracks now support PostProcess changes in the CameraAnim Change 2927283 on 2016/03/30 by Max.Chen Sequencer: Fix crash resetting default in audio track in sequencer. Fix audio track rename when adding another audio. #jira UE-28836, UE-28859 Change 2928290 on 2016/03/30 by Max.Preussner ContentBrowser: Disabling 'Show in Explorer' context menu option for newly created/unsaved asset(s) Change 2928480 on 2016/03/30 by Max.Preussner AssetTools: Added built-in type category for Media assets Change 2928498 on 2016/03/30 by Max.Preussner AssetTools: Sorting asset type categories alphabetically Change 2932326 on 2016/04/04 by Frank.Fella Sequencer - Add "paste from matinee" support for audio tracks, and add volume support to audio sections in sequencer. Change 2933917 on 2016/04/05 by Max.Preussner Core: Added microseconds support to FTimespan Change 2933920 on 2016/04/05 by Max.Preussner Sockets: Simplified socket timeout assignments Change 2935434 on 2016/04/06 by Max.Chen Sequencer: Deselect possessable before converting it to a spawnable and deleting it. Also, make sure the newly converted spawnables are selected. This fixes a bug where the transform gizmo remains after adding a spawnable. Also, consolidate code for adding possessables to sequencer so that the newly added possessable node will be selected in the widget tree. #jira UE-28215 Change 2935590 on 2016/04/06 by Jeff.Farris Made crane rig preview mesh at the tip move as expected and appear in a reasonable place. Change 2936082 on 2016/04/07 by Max.Chen Sequencer: Attach should use default attach component of the actor if it exists. This fixes a bug where trying to attach to a camera crane rig attaches to the proper component. Change 2936118 on 2016/04/07 by Max.Chen Sequencer: Adding crane/rail with shift now adds the crane/rig as a spawnable and the attached cine camera as a spawnable. An attach track is created for the cine camera spawnable. #jira UE-28308 Change 2937226 on 2016/04/07 by Max.Chen Sequencer: Add invalidation when levels are added or removed.This fixes a bug were if you have a level sequence open and then add a sublevel that the level sequence operates on, it correctly updates the actors from the new sub level. #jira UE-27595 Change 2937263 on 2016/04/07 by Frank.Fella Sequencer - Changed the matinee to sequencer conversion tools so that curve keys set to "clamped auto" import as user tangents since we don't support clamped auto in sequencer. Change 2937273 on 2016/04/07 by Max.Chen Sequencer: No longer experimental/betal and now enabled by default. #jira UETOOl-625 Change 2937694 on 2016/04/08 by Max.Chen Curve Editor: Separate out input and output snapping. #jira UE-27209 Change 2937852 on 2016/04/08 by Andrew.Rodham Sequencer: Spawnables no longer use generated classes - Spawnables now store a template actor instance, rather than a generated class - All relevant code has been converted to use this new approach - Spawnable defaults are now harvested directly from any spawned instances when the movie scene is saved, or when the object is de-spawned. We only do this for spawnables *in the currently active sequence instance*. This approach ensures that instance components and other properties persist. - Currently we don't mark the package as dirty when the defaults are changed. This needs to be addressed. - Some fixes have been made to AActor and Actor Iterators to ensure that actors not contained within a level do not crash. - Spawning optimisations to follow Change 2937956 on 2016/04/08 by Max.Preussner Sequencer: Added selection range commands to general toolbar menu Change 2937981 on 2016/04/08 by Max.Preussner Sequencer: Refactored GetKeyHandles to take a time range for filtering keys Change 2938007 on 2016/04/08 by Max.Preussner Sequencer: Implemented selection range key selection Change 2938184 on 2016/04/08 by Max.Chen Sequencer: Find in Content Browser is now in the top level menubar. #jira UE-21598 Change 2938665 on 2016/04/08 by Frank.Fella UMG - Add support for material animation. Change 2939048 on 2016/04/10 by Max.Chen CineCamera: Change current position on rail to normalize position. Change 2939067 on 2016/04/10 by Max.Chen Sequencer: Add paste color from matinee Change 2939587 on 2016/04/11 by Andrew.Rodham Sequencer: Fixes to spawnable rework - Removed commented out code. - Fixed particle system components not disabling auto activate. - Instance Components are now correctly registered on spawn. - Removed ability to set the editable flag on actors in favor of a delegate assigned to SActorDetails to disable property editing on actors spawned from outside of the currently focused sequence. Change 2939666 on 2016/04/11 by Andrew.Rodham Sequencer: Fixed active sequence ID not being set on creation Change 2940663 on 2016/04/12 by Andrew.Rodham Sequencer: Spawnable object templates now always have the RF_ArchetypeObject flag #jira UE-29337, UE-29339 Change 2940742 on 2016/04/12 by Thomas.Sarkanen Improvements to sequence recording API Sequence recording is now more extensible. Moved the majority of recorders into a seperate module. Cleaned up recorder API, removed bRecord that was only really used once. Added factory class as a modular feature that allows users to register and implement their own recorders. Recorders can supply their own settings classes. These are incorporated into the UI via a details customization so they appear to be seamlessly integrated. Exposed components to record as an advanced setting. Users can use this to gate the components and actors that are recorded. #jira UE-28850 - Update sequence recording API for better extensibility Change 2940828 on 2016/04/12 by Max.Chen Level Editor: Clear the camera preview if the level viewport is locked to the same camera. #jira UE-27489 Change 2941090 on 2016/04/12 by Frank.Fella Sequencer - Fix inconsistencies with the level visibility track. + Add an option to update a track instance when it stops playing due to it's parent movie scene being deactivated as a sub-scene. + Reset level visibility state when the section ends, or when it's parent subsection ends. Change 2941427 on 2016/04/12 by Andrew.Rodham Sequencer: Fixes for recorded dynamic components - Dynamic components are now named uniquely within their owner actor, and are no longer re-bound to new object tracks when detached/re-attached - New dynamic components are created every time a new component is detected on an actor, regardless of whether it was once attached before. This affords recording externally managed components from a component pool. - Section recorders for components that are no longer attached to the actor are now disabled correctly. Change 2941760 on 2016/04/12 by Max.Preussner Editor: Setting up correct material expresions when creating material from normal map texture Change 2941819 on 2016/04/13 by Max.Chen Sequencer: Fire named events in all sublevels. #jira UE-28843 Change 2942052 on 2016/04/13 by Andrew.Rodham Sequencer: Fixed not being able to add dynamic material parameter tracks to spawnables when the object is not spawned #jira UE-24287 Change 2942223 on 2016/04/13 by Max.Preussner Editor: Using built-in function to assign sampler format Change 2942833 on 2016/04/13 by Max.Chen Sequencer: More copy matinee helpers. - Make some sections infinite. - Fix FindPossessableObjectId - Expose FindGroupByName Change 2942944 on 2016/04/13 by Max.Chen Sequencer: Fix anim copy so that it doesn't create an animation clip longer than the next clip's start position. Change 2943313 on 2016/04/14 by Max.Chen Sequencer: Initial matinee to level sequence asset converter. Right click on a matinee actor in the level and choose "Convert to Level Sequence" Current supports: - movement tracks - generic property tracks - particle tracks - anim control tracks - event tracks - audio tracks - visibility track - director track (fade, slomo, camera cuts) Possible todos: - Relative scale3D - Option to create spawnables instead of possessables - Create shots per director track camera cut instead of a direct translation to the camera cut track #jira UETOOL-467 Change 2943596 on 2016/04/14 by Andrew.Rodham Editor: Fixed placement mode scrollbar visibility not working for custom content #jira UE-27191 Change 2943651 on 2016/04/14 by Max.Chen Sequencer: Invalidate the audio waveform when the source changes. #jira UE-29394 Change 2943674 on 2016/04/14 by Max.Chen Sequencer: Store/restore playback state when rebuilding. #jira UE-29452 Change 2943993 on 2016/04/14 by Max.Chen Sequencer: Convert slot name from matinee to level sequence. Change 2944156 on 2016/04/14 by Frank.Fella Sequencer - Fix undo when moving items into folders, and when deleting folder. #jira UE-27368 Change 2944227 on 2016/04/14 by Max.Chen Sequencer: Show curves in the curve editor if one of the parent nodes is selected. For example, if Location is selected, show Location.X, Location.Y, and Location.Z Change 2945057 on 2016/04/15 by Andrew.Rodham Editor: Fixed placement mode scrollbar visibility not working for custom content #jira UE-27191 #lockdown nick.penwarden [CL 2945551 by Max Chen in Main branch]
2016-04-15 14:50:58 -04:00
MouseDragType = DRAG_PLAYBACK_START;
TimeSliderArgs.OnPlaybackRangeBeginDrag.ExecuteIfBound();
Copying //UE4/Dev-Sequencer to //UE4/Main ========================== MAJOR FEATURES + CHANGES ========================== Change 2875025 on 2016/02/20 by Andrew.Rodham Sequencer: Cinematic viewport improvements - Added optional letterbox overlay (defaults to 2.35:1) - Added ability to change safe frame colors - Added selected tracks' keys to the transport range - Added buttons for jumping between selected tracks' keyframes on the transport controls - Removed black padding around the viewport where possible - Added ability to specify whether a combo button/menu anchor should close when its parent receives focus - Separated logic of FGroupedKeyArea into FSequencerKeyCollection, so it can be used independently - Added playback range to the viewport frame numbers - All frame numbers are now spin boxes #jira UE-26429 Change 2875026 on 2016/02/20 by Thomas.Sarkanen Added console commands for recording sequences Changed plugin to a developer plugin so we can load it when the editor is in -game mode. Added Exec commands. Added some more logging to help diagnose problems when using commands. Added loading/saving of config for recorder settings (stored in Editor.ini). Also disabled controls in recorder window when recording. Added auto-saving of assets when in non-editor modes. Moved animation settings from UnrealEd to Engine module. Change 2875036 on 2016/02/20 by Max.Chen Sequencer: Call RedrawAllViewports instead of RedrawLevelEditingViewports. In particular, this fixes some update issues when editing values in the key editors. #jira UE-26960 Change 2875046 on 2016/02/20 by Max.Preussner Sequencer: Fix so that clicking on UMG Animations doesn't dirty the scene. #jira UE-26249 Change 2875047 on 2016/02/20 by Max.Chen Sequencer: Add option to toggle display of channel colors/lines. View->Channel Colors Change 2877138 on 2016/02/23 by Max.Chen Sequencer: Select corresponding track node when selecting key or section. Removed active/inactive selection since it was only being used in deletion and the rules for deletion are now dependent upon what is selected - delete keys and sections before deleting outliner nodes. Change 2877143 on 2016/02/23 by Thomas.Sarkanen Added new math function: WindRelativeAnglesDegrees Given two angles in degrees, 'wind' the angle in Angle1 so that it avoids >180 degree flips. Good for winding rotations previously expressed as quaternions into a euler-angle representation. Change 2877147 on 2016/02/23 by Thomas.Sarkanen Added the ability to import sequencer transforms from the root node of an animation sequence Intended for use after re-importing animations from DCC tools. Available in the right-click menu for transform tracks. Also added FindTrackBinding to UMovieScene so track bindings can be recovered from tracks. Change 2877163 on 2016/02/23 by Max.Chen Sequencer: Add option to create keyframe sections as infinite. Sequencer defaults to true, UMG defaults to false. Change 2877165 on 2016/02/23 by Max.Preussner Sequencer: Drawing vertical position lines when dragging keys Change 2878748 on 2016/02/23 by Max.Chen Curve Editor: Switch curve type to user when flatting or straightening tangents. #jira UE-27277 Change 2878799 on 2016/02/23 by Frank.Fella Sequencer - Add folders support to the outliner. Change 2880769 on 2016/02/24 by Andrew.Rodham Sequencer: Added ability to override runtime spawnable ownership in sequencer - This is exposed as an option on spawnables "Keep Alive Outside Playback Range (In Sequencer)" - Enabling this will stop spawnables from being destroyed when scrubbing outside of the playback range #jira UE-27205 Change 2880770 on 2016/02/24 by Thomas.Sarkanen Sequencer: Added countdown and recording indicator display when recording Also fixed extra popups added post-PIE when animation recordings auto shutdown. Change 2880782 on 2016/02/24 by Max.Chen Sequencer: Snapping now also uses the current time as a possible snap time. #jira UE-26306 Change 2880793 on 2016/02/24 by Max.Chen Sequencer: Add +Animation to Animation track so that it's consistent with all other tracks that have a + button. Change 2880812 on 2016/02/24 by Max.Chen Sequencer: Fix adjusting the leading edge of a shot section so that it cuts into the shot rather than adjusts the start time. #jira UE-26306 Change 2881624 on 2016/02/25 by Andrew.Rodham Changing shader version GUID to fix corrupt shaders in ddc Change 2882408 on 2016/02/25 by Thomas.Sarkanen Asset/actors stored in TLazyObjectPtrs can now reference game content from engine This is a legitimate use case as lazy object ptrs are designed to reference assets/actors cross-domain. Change 2882409 on 2016/02/25 by Thomas.Sarkanen [CL 2899785 by Max Chen in Main branch]
2016-03-08 16:55:04 -05:00
}
else if (!bHitScrubber && HitTestMark(RangeToScreen, MouseDownPixel, DragMarkIndex))
{
MouseDragType = DRAG_MARK;
TimeSliderArgs.OnMarkBeginDrag.ExecuteIfBound();
}
Copying //UE4/Dev-Sequencer to //UE4/Main ========================== MAJOR FEATURES + CHANGES ========================== Change 2875025 on 2016/02/20 by Andrew.Rodham Sequencer: Cinematic viewport improvements - Added optional letterbox overlay (defaults to 2.35:1) - Added ability to change safe frame colors - Added selected tracks' keys to the transport range - Added buttons for jumping between selected tracks' keyframes on the transport controls - Removed black padding around the viewport where possible - Added ability to specify whether a combo button/menu anchor should close when its parent receives focus - Separated logic of FGroupedKeyArea into FSequencerKeyCollection, so it can be used independently - Added playback range to the viewport frame numbers - All frame numbers are now spin boxes #jira UE-26429 Change 2875026 on 2016/02/20 by Thomas.Sarkanen Added console commands for recording sequences Changed plugin to a developer plugin so we can load it when the editor is in -game mode. Added Exec commands. Added some more logging to help diagnose problems when using commands. Added loading/saving of config for recorder settings (stored in Editor.ini). Also disabled controls in recorder window when recording. Added auto-saving of assets when in non-editor modes. Moved animation settings from UnrealEd to Engine module. Change 2875036 on 2016/02/20 by Max.Chen Sequencer: Call RedrawAllViewports instead of RedrawLevelEditingViewports. In particular, this fixes some update issues when editing values in the key editors. #jira UE-26960 Change 2875046 on 2016/02/20 by Max.Preussner Sequencer: Fix so that clicking on UMG Animations doesn't dirty the scene. #jira UE-26249 Change 2875047 on 2016/02/20 by Max.Chen Sequencer: Add option to toggle display of channel colors/lines. View->Channel Colors Change 2877138 on 2016/02/23 by Max.Chen Sequencer: Select corresponding track node when selecting key or section. Removed active/inactive selection since it was only being used in deletion and the rules for deletion are now dependent upon what is selected - delete keys and sections before deleting outliner nodes. Change 2877143 on 2016/02/23 by Thomas.Sarkanen Added new math function: WindRelativeAnglesDegrees Given two angles in degrees, 'wind' the angle in Angle1 so that it avoids >180 degree flips. Good for winding rotations previously expressed as quaternions into a euler-angle representation. Change 2877147 on 2016/02/23 by Thomas.Sarkanen Added the ability to import sequencer transforms from the root node of an animation sequence Intended for use after re-importing animations from DCC tools. Available in the right-click menu for transform tracks. Also added FindTrackBinding to UMovieScene so track bindings can be recovered from tracks. Change 2877163 on 2016/02/23 by Max.Chen Sequencer: Add option to create keyframe sections as infinite. Sequencer defaults to true, UMG defaults to false. Change 2877165 on 2016/02/23 by Max.Preussner Sequencer: Drawing vertical position lines when dragging keys Change 2878748 on 2016/02/23 by Max.Chen Curve Editor: Switch curve type to user when flatting or straightening tangents. #jira UE-27277 Change 2878799 on 2016/02/23 by Frank.Fella Sequencer - Add folders support to the outliner. Change 2880769 on 2016/02/24 by Andrew.Rodham Sequencer: Added ability to override runtime spawnable ownership in sequencer - This is exposed as an option on spawnables "Keep Alive Outside Playback Range (In Sequencer)" - Enabling this will stop spawnables from being destroyed when scrubbing outside of the playback range #jira UE-27205 Change 2880770 on 2016/02/24 by Thomas.Sarkanen Sequencer: Added countdown and recording indicator display when recording Also fixed extra popups added post-PIE when animation recordings auto shutdown. Change 2880782 on 2016/02/24 by Max.Chen Sequencer: Snapping now also uses the current time as a possible snap time. #jira UE-26306 Change 2880793 on 2016/02/24 by Max.Chen Sequencer: Add +Animation to Animation track so that it's consistent with all other tracks that have a + button. Change 2880812 on 2016/02/24 by Max.Chen Sequencer: Fix adjusting the leading edge of a shot section so that it cuts into the shot rather than adjusts the start time. #jira UE-26306 Change 2881624 on 2016/02/25 by Andrew.Rodham Changing shader version GUID to fix corrupt shaders in ddc Change 2882408 on 2016/02/25 by Thomas.Sarkanen Asset/actors stored in TLazyObjectPtrs can now reference game content from engine This is a legitimate use case as lazy object ptrs are designed to reference assets/actors cross-domain. Change 2882409 on 2016/02/25 by Thomas.Sarkanen [CL 2899785 by Max Chen in Main branch]
2016-03-08 16:55:04 -05:00
else if (FSlateApplication::Get().GetModifierKeys().AreModifersDown(EModifierKey::Control))
{
MouseDragType = DRAG_SETTING_RANGE;
}
else if (bMouseDownInRegion)
Copying //UE4/Dev-Sequencer to //UE4/Main ========================== MAJOR FEATURES + CHANGES ========================== Change 2875025 on 2016/02/20 by Andrew.Rodham Sequencer: Cinematic viewport improvements - Added optional letterbox overlay (defaults to 2.35:1) - Added ability to change safe frame colors - Added selected tracks' keys to the transport range - Added buttons for jumping between selected tracks' keyframes on the transport controls - Removed black padding around the viewport where possible - Added ability to specify whether a combo button/menu anchor should close when its parent receives focus - Separated logic of FGroupedKeyArea into FSequencerKeyCollection, so it can be used independently - Added playback range to the viewport frame numbers - All frame numbers are now spin boxes #jira UE-26429 Change 2875026 on 2016/02/20 by Thomas.Sarkanen Added console commands for recording sequences Changed plugin to a developer plugin so we can load it when the editor is in -game mode. Added Exec commands. Added some more logging to help diagnose problems when using commands. Added loading/saving of config for recorder settings (stored in Editor.ini). Also disabled controls in recorder window when recording. Added auto-saving of assets when in non-editor modes. Moved animation settings from UnrealEd to Engine module. Change 2875036 on 2016/02/20 by Max.Chen Sequencer: Call RedrawAllViewports instead of RedrawLevelEditingViewports. In particular, this fixes some update issues when editing values in the key editors. #jira UE-26960 Change 2875046 on 2016/02/20 by Max.Preussner Sequencer: Fix so that clicking on UMG Animations doesn't dirty the scene. #jira UE-26249 Change 2875047 on 2016/02/20 by Max.Chen Sequencer: Add option to toggle display of channel colors/lines. View->Channel Colors Change 2877138 on 2016/02/23 by Max.Chen Sequencer: Select corresponding track node when selecting key or section. Removed active/inactive selection since it was only being used in deletion and the rules for deletion are now dependent upon what is selected - delete keys and sections before deleting outliner nodes. Change 2877143 on 2016/02/23 by Thomas.Sarkanen Added new math function: WindRelativeAnglesDegrees Given two angles in degrees, 'wind' the angle in Angle1 so that it avoids >180 degree flips. Good for winding rotations previously expressed as quaternions into a euler-angle representation. Change 2877147 on 2016/02/23 by Thomas.Sarkanen Added the ability to import sequencer transforms from the root node of an animation sequence Intended for use after re-importing animations from DCC tools. Available in the right-click menu for transform tracks. Also added FindTrackBinding to UMovieScene so track bindings can be recovered from tracks. Change 2877163 on 2016/02/23 by Max.Chen Sequencer: Add option to create keyframe sections as infinite. Sequencer defaults to true, UMG defaults to false. Change 2877165 on 2016/02/23 by Max.Preussner Sequencer: Drawing vertical position lines when dragging keys Change 2878748 on 2016/02/23 by Max.Chen Curve Editor: Switch curve type to user when flatting or straightening tangents. #jira UE-27277 Change 2878799 on 2016/02/23 by Frank.Fella Sequencer - Add folders support to the outliner. Change 2880769 on 2016/02/24 by Andrew.Rodham Sequencer: Added ability to override runtime spawnable ownership in sequencer - This is exposed as an option on spawnables "Keep Alive Outside Playback Range (In Sequencer)" - Enabling this will stop spawnables from being destroyed when scrubbing outside of the playback range #jira UE-27205 Change 2880770 on 2016/02/24 by Thomas.Sarkanen Sequencer: Added countdown and recording indicator display when recording Also fixed extra popups added post-PIE when animation recordings auto shutdown. Change 2880782 on 2016/02/24 by Max.Chen Sequencer: Snapping now also uses the current time as a possible snap time. #jira UE-26306 Change 2880793 on 2016/02/24 by Max.Chen Sequencer: Add +Animation to Animation track so that it's consistent with all other tracks that have a + button. Change 2880812 on 2016/02/24 by Max.Chen Sequencer: Fix adjusting the leading edge of a shot section so that it cuts into the shot rather than adjusts the start time. #jira UE-26306 Change 2881624 on 2016/02/25 by Andrew.Rodham Changing shader version GUID to fix corrupt shaders in ddc Change 2882408 on 2016/02/25 by Thomas.Sarkanen Asset/actors stored in TLazyObjectPtrs can now reference game content from engine This is a legitimate use case as lazy object ptrs are designed to reference assets/actors cross-domain. Change 2882409 on 2016/02/25 by Thomas.Sarkanen [CL 2899785 by Max Chen in Main branch]
2016-03-08 16:55:04 -05:00
{
MouseDragType = DRAG_SCRUBBING_TIME;
TimeSliderArgs.OnBeginScrubberMovement.ExecuteIfBound();
}
}
}
else
{
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3946692) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3801826 by Max.Chen PR #4304: Level Sequence crash fix - Guarded against dereferencing null componen. (Contributed by DSDambuster) Change 3801828 by Max.Chen PR #4302: Movie Scene Visibility Template unitialised variable, causing random . (Contributed by DSDambuster) Change 3801837 by Max.Chen Sequencer: Delay spawning/construction for convert to possessable. This fixes a bug where property values would be lost when converting back and forth from possessable to spawnable. #jira UE-52400 Change 3801841 by Max.Chen Sequencer: Make spacer nodes not selectable. PR #4194: Improvements to Sequencer (Contributed by projectgheist) #jira UE-53117 #jira UE-52139 Change 3804183 by Max.Preussner MediaAssets: Added missing lock in media sound component Change 3805414 by Max.Preussner MediaAssets: Setting valid GUID when initializing media texture resource Change 3819578 by Max.Chen PR #4370: When enabling the "MovieCapture", do not turn off the Stereo-3D display. (Contributed by yehaike) #jira UE-53647 Change 3823414 by Max.Chen Curve Editor: Lock down the first and last keys in the redundant keys removal range so that they're unaffected. #jira UE-53591 Change 3826406 by Max.Chen Sequencer: Move OnStartedPlaying() to within first update in UpdateTimeCursorPosition(). This fixes an issue where setting the hud/player visibility was getting stomped on later. #jira UE-52772 Change 3827044 by Max.Preussner MediaAssets: Added sprite visualization to media sound component #jira UE-53594 Change 3827988 by Max.Preussner MediaPlayerAssets: Fixed Media Texture is not linked to Media Player when created together #jira UE-53532 Change 3828506 by Max.Preussner MediaPlayerEditor: Added attenuation visualizer for media sound components #jira UE-53594 Change 3832590 by andrew.porter EngineTest: Added a keep state check in Property Animation sequencer test Change 3833053 by andrew.porter EngineTest: Adding Hierarchical Bias test Change 3835683 by andrew.porter EngineTest: Adding UMG Animation screenshot test Change 3836076 by Max.Chen Sequencer: Fix audio volume and pitch multiplier deprecation. Change 3836230 by andrew.porter EngineTest: Adding Sequence Bone Position automation test Change 3836347 by Max.Chen Sequencer: Fixes to shot name parsing. When a shot doesn't contain a shot number, assume, [ShotName]_[TakeNumber]. When duplicating a shot, put the new shot in the same path of the original shot, so that the take numbers will increment properly. #jira UE-51868 Change 3836552 by Max.Chen Sequencer: Sub section now has a takes menu Change 3838094 by Max.Chen UMG: Fix template finish not getting called on stop. This fixes a bug where sections aren't restored when finished. #jira UE-52285 Change 3838708 by Max.Chen Sequencer: Add notification when the blend type is changed. #jira UE-54046 Change 3840295 by Max.Chen Sequencer: Fix copy/paste crash for lights #jira UE-54084 Change 3840957 by Mike.Zyracki Added Show Only Keyable and Show Only Animated to the filter list in the property editor. Added IsPropertyAnimated to IDetailKeyframe Interface which already had support for showing properties which are keyable (which is used for the key icon next to the properties.). Could have created another interface but then would have had to mimic the sequencer binding, releasing also, so this seemed best way. One issue still left is that custom built detail items currently don't store associated properties(usually) and so certain properties, in particulalry transforms, won't show up as keyable or animated. Note this also shows up with the keyable icon not showing up next to transform tracks, and other filters like Show Only Modified not working with transforms/customs. Not sure best way to tackle this. #jira UESEQ-328 Change 3841756 by Max.Chen Sequencer: Fix unbound possessable components when pasting spawnables. #jira UE-54104 Change 3843950 by andrew.porter EngineTest: Renaming LevelStreaming tests/content to LevelVisibility Change 3844082 by Mike.Zyracki Missing file for animated filter in property editor. When finding if a track is animated we need to find it but we can't easily induce the MovieTrack class for any particular property. So we don't set a class for it and just search by it's ID and name. #jira UESEQ-328 Change 3846902 by Max.Preussner ImgMedia: Fixed image media player never finished initialization if loading failed #jira UE-54247 Change 3849820 by Mike.Zyracki Reassigning deleted widgets didn't work since the menu extender mechanism needs a valid UObject in order to perform an operation on it. So to fix we replaced GetObjectBindingContextMenuExtender in WidgetBlueprint with new delegate mechanism (OnBuildCustomContextMenuForGuid) that supports FGuid in addition to UObjects which is needed to handle re-binding deleted widgets. Note that the default sequencer hacks this for replacing deleted actors in SequencerObjectBindingNode to check to see if a LevelSequence is active. We could move to this mechanism there also. #jira UE-53163 Change 3852211 by Max.Chen UMG: Indicate name of the property that is not bound. #jira UE-54350 Change 3854120 by Max.Chen Sequencer: Fix sibling folders being allowed to have the same folder name. #jira UE-54363 Change 3854627 by Max.Chen Sequencer: Step to next/previous key should work for all tracks if there aren't any selected. #jira UESEQ-391 Change 3855825 by andrew.porter EngineTest: Adding animation blending automation test Change 3855950 by andrew.porter EngineTest: Adding correct expected valuues to animation blending test Change 3856237 by Matt.Hoffman UESEQ-336 - Sequencer Track Reordering Adds the ability to re-order Master Tracks, Folders and Object Bindings within sequencer hierarchies (including UMG). Adds the ability to do a one-off sorting of the content under the old sorting behavior if the user wants to reset their layout to how it was under legacy behavior. Modifies SequencerTrackNodes, SequencerFolderNodes and SequencerObjectBindingNodes to handle CanDrop/OnDrop for above, below and ontop of. Fixes a Slate Issue that forcibly expanded a TreeviewRow if an item handled OnDrop. Slate will now only forcibly expand the row if the item says the drop happened ontop of the item, and not above or below it like it previously did. Change 3856503 by andrew.porter EngineTest: Adding automation test for using animation blueprint with blend multi node in sequencer Change 3857875 by Max.Chen Sequencer: Assign the sequence id after the template is compiled. #jira UE-54462 Change 3858344 by Max.Chen Sequencer: Prevent Goto and Transform boxes from overlapping by allowing them to be visible at the same time in an autosized horizontal box. Also, added close button to the goto box. PR #4425: Prevent Goto and Transform boxes from overlapping in Sequencer ... (Contributed by projectgheist) #jira UE-54210 Change 3860566 by andrew.porter MediaFrameworkTest: Set the option to index 0 for the audio and video track list by default Change 3860654 by andrew.porter EngineTest: Enabling Camera Cut + FOV test Change 3860981 by andrew.porter EngineTest: Updating skeletal mesh tests with a delay after set playback position Change 3861256 by Max.Chen Sequencer: Add all bindings if none selected. #jira-54440 Change 3862154 by Andrew.Rodham Added TimeManagement module Change 3862424 by andrew.porter EngineTest: Turned on the test Bone Positions with Blend Multi Node Change 3862573 by andrew.porter EngineTest: Adding test to compare bone positions in a sequence that is blending an animation that is using an AnimBP Change 3865117 by Max.Chen Sequencer: Stop auto scroll on mouse release of movement. #jira UE-31212 Change 3865303 by Max.Chen Sequencer: Add drag and drop transactions #jira UE-54662 Change 3865304 by Max.Chen Sequencer: Fix crash when an actor factory is not found. Change 3865361 by Max.Chen Sequencer: Don't change the camera/shot lock button when popping out of a sequence. #jira UE-54665 Change 3865412 by Max.Chen Sequencer: Determine whether a transform track is for a camera by using the spawned object or template #jira UE-54666 Change 3865685 by Max.Chen Sequencer: Clear autoscrub offset when stopping autoscroll #jira UE-31212 Change 3865886 by Max.Chen Sequence Recorder: Log an error if the number of frames changes while recording. This can happen if the skeleton changes while recording. #jira UE-48715 Change 3866925 by Andrew.Porter MediaFrameworkTest: Changing the current PNG test video image sequence to 1024 x 576 Change 3867705 by andrew.porter QAGame: Adding Audio Sort Sequence to dev folder Change 3867890 by andrew.porter QAGame: Adding a sequence for testing a sorting crash to my dev folder Change 3872628 by Max.Chen Movie Scene Capture: Split delay before warmup into split delay before shot warmup so that there's separate controls for when the movie scene capture warmups up vs. shot boundaries. Change 3873131 by Matt.Hoffman UE-54732 - Crash reordering a folder with a track. This was caused by folders being the only type of track to check if someone was putting a parent track into a child track. Object Binding tracks and Tracks now check as well so that you can't use the above/below drop targets to add parents as children. This also fixed a typo in the localization keys. #jira UE-54732 Change 3873301 by Mike.Zyracki Added ability to support continous euler angle changes when changing rotations, in particularly with the rotation gizmo's. To do this we effectively added a form an of 'euler filter'(https://en.wikipedia.org/wiki/Euler_filter) to find the closest euler angle to the current euler angle. Three functions were added to FRotator to make this possible, one to get the euler angle that's has the same rotation as it, one to get the difference between two euler angles via Manhattan distance and a third using the previous two to choose a Rotator value that's closest to it. We then use these functions before calling UComponent::SetRelativeRotation to make sure we use the correct Euler after the Quat conversion. We also no longer limit(bound) the euler angles to -180,180, which is obviously necessary to avoid flips. I also changed how we caluclate yaw and roll when pitch is -90 or 90 to make it the standard approach of zeroing out roll and just setting yaw. Main reasons are the previous implementation had precision issues so things like 180, 90, -180 would show up due to numbers being nearly zero but negative,(this would break any smooth interpolations), and this facilitates having a 'gimbal' rotation mode (like Maya, Blender etc..) if we ever want that also. If needed we could keep the previous implementation but would need to add some FMath::IsNearlyZero checks, with less performance. Note we only do this special filtering when applying delta's to actors or components in the editors, which then call UComponent::SetRelativeRotationExact, which is a new function to foces the RelativeRotation to be equal to the new rotation. This allows us to store un-nomalized Rotators at the cost that the RotationCache may be broken. We didn't change any of the other UComponent functions that set rotations (via Quats or Transforms) so they will still be bounded and unwound. In SetInternalWorldLocationAndRotation we only set the rotation if the rotation has changed, which fixes the rotation getting changed and re-normalized if just translate happens. In TransformTrackEditor, we correclty use the bUndwing flag and in MovieScene3DTransformSection there was an un-needed winding check there, it will be unwound earlier if needed, which happens if Sequence Recording is happening. Max we should talk about what to do about this . Note the euler angle drag via the widget is still bound to 0-360. I think we should just unbound that now since the rotations value are now unbound. This review now includes fixes suggested by Zak. #jira UE-UE-22228 Change 3873483 by Matt.Hoffman Sequencer Tracks can now be inserted above the spacer at the bottom of the tree. #jira UE-54706 Change 3873899 by Max.Chen Sequencer: Add section selection throbbing Change 3873908 by Max.Chen Movie Scene Capture: Added logging per frame Change 3873924 by Matt.Hoffman Adds the ability to store Sequence Recorder setups into profiles that stay with the map and can be re-loaded later. Profiles store the Actor Recordings so the settings for each actor should carry with them. #jira UESEQ-339 Change 3874726 by Matt.Hoffman Disable drag-and-drop targets on spacers that come between rows in Sequencer. This prevents extra drag/drop targets showing up between each row. #jira UE-54706 Change 3874862 by Matt.Hoffman Audio Track no longer gets reordered when adding sub-audio tracks, as sub-tracks are no longer counted towards the sorting order index when normalizing indexes. #jira UE-54727 Change 3875905 by Matt.Hoffman Disable Fade Track UI if a fade track already exists in the sequence. #jira UESEQ-393 Change 3876163 by Max.Chen Sequencer: Swap the camera object to the camera component's owner if it's not the same. #jira UE-54874 Change 3876971 by Andrew.Porter EngineTest: Moved Media Player Seek test to new folder. Also enabled the test with new ground truth image. Change 3877040 by Max.Chen Cine Camera: Split camera properties to two groups, "Camera Options" and "Camera Settings". The cine camera now hides properties in the "Camera Settings" group so that properties like bConstrainAspectRatio (in the "Camera Options" group) can be visible. #jira UE-54192 Change 3877763 by Max.Chen Curve Editor: Fix curve changed on end drag so that only curves that had keys/tangents that were changed receive notification, otherwise all loaded curves were getting notified that they were changed. #jira UE-54951 Change 3878234 by Matt.Hoffman Disable "Drop Below" targets for Sequencer Tree nodes to prevent a confusing UX issue where dropping underneath a Object Binding Node puts it after the object binding node but the UI looks like it's inserting it inside the Object Binding node. #jira UE-54743 Change 3879359 by Mike.Zyracki If a track is inactive we dim it a bit which seems to be the UE4 way to show inactive or disabled state. We changed the active logic so that all subtracks need to be inactive for the track to also be inactive(instead of all active for active). This conforms to how the active state actually works, e.g if you have two sections and only one is active the track is still active above it. #jira UESEQ-388 Change 3879462 by Max.Chen Sequencer: Allow dragging onto a particular row which would move out any overlapping sections to make space for the newly created section. Newly created sections are now selected and throbbed to draw attention to themselves. #jira UE-54664 Change 3879464 by Max.Chen Sequencer: Fixed overlapping ranges being inserted into the evaluation field during compilation - The issue was that track segments that had been combined with adjacent segments (due to them being identical) would potentially cause a subsequently compiled frame to overlap with a range that had already been inserted into the evaluation field. - The insertion code previously asserted that only minor overlaps were catered for (due to fp rounding errors) and assumed that a supplied range could not entirely contain any other range in the field. - The solution is to supply the insertion time along with the range to know exactly where the data should live in the field, and crop the range to the maximum allowable space between adjacent ranges. #jira UE-54922 Change 3879590 by Matt.Hoffman Items that are now added to the Sequencer via the "+Track" menu will be selected after being added. Items can now be added inside of folders instead of just to the root level. #jira UE-27397 Change 3879612 by Mike.Zyracki Display Nodes with no children are always active. #jira UESEQ-388 Change 3879730 by Matt.Hoffman Sequence Recorder's actor recording groups now remove items from the group when removed via the UI. #jira UESEQ-339 Change 3880256 by Mike.Zyracki Fix issue with inactive display with folders and other track nodes. #jira UESEQ-388 Change 3883491 by Max.Chen Fix issue where tick is skipped due to last ticked pose isn't cleared after AnimInstance changes. Copy from Release-4.19 #jira UE-51323 Change 3883603 by Max.Chen Movie Scene Capture: Add option toggle disable screen percentage. By default this is on (no change in current behavior). #jira UE-51898 Change 3885074 by Max.Preussner MediaCompositing: Resetting media texture & freeing resource on section end; removed dead code Change 3887220 by Max.Preussner MediaCompositing: Defaulted media section duration to 1 sec (since we do not know the actual duration in most cases) Change 3887478 by Matt.Hoffman Sequences now show [Inactive] in their title bars when they're disabled. This helps communicate why a sequence isn't being evaluated. #jira UE-51469 Change 3888985 by Max.Chen Movie Scene Capture: Clamp HDR Compression Quality between 0 and 1. #jira UE-55136 Change 3893519 by Max.Chen Sequence Recorder: Clarified tooltip for bRecordNearbySpawnedActors - spawned actors will still be recorded if they match the ActorFilter. #jira UE-55238 Change 3893546 by Max.Chen Sequence Recorder: If a selected actor already has a recording, add a blank recording. #jira UE-55239 Change 3894044 by Max.Preussner MediaCompositing: Added support for seeking into a media section Change 3894310 by andrew.porter MediaFrameworkTest: Adding Img media sources for 1080 and 2160 ravent test content Change 3894426 by Max.Preussner MediaAssets: Letting media textures with AutoClear retain their clear color when player is reset Change 3895717 by Max.Chen Sequencer: Null checks to prevent crash when saving the default state of a spawnable #jira UE-55304 Change 3897388 by Max.Chen Sequencer: Don't update current time to be within the view range when stepping into a sequence. #jira UE-55322 Change 3897452 by Max.Chen Audio: Fix crash when trying to record audio without any active capture devices. Log warning if the number of input channels is not 1 or 2. #jira UE-55223 Change 3897619 by Max.Preussner MediaCompositing: Removed commented out code Change 3898072 by Max.Chen Sequencer: Override the animation asset in the player state if it doesn't match the animation asset that's being evaluated. #jira UE-55328 Change 3898272 by Max.Preussner MediaPlayerEditor: Made slate brush constants static Change 3898704 by Max.Chen Sequencer: Skip if the binding id's sequence can't be found. #jira UE-55337 Change 3899855 by Max.Preussner MediaCompositingEditor: Added cache state visualization to media track Change 3900300 by Max.Preussner MediaCompositingEditor: Added loop indicators to media sections Change 3900694 by Max.Preussner ImfMedia: Looping cache only when player is looping Change 3900892 by Max.Preussner Stats: Added stats category for media framework Change 3900954 by Max.Preussner MediaCompositing: Don't evaluate at the end of media section Change 3901348 by Max.Preussner Core: Replaced TLruCache autos for better readability Change 3901655 by Max.Preussner ImgMedia: Added more perf stats to EXR reader Change 3901972 by Max.Preussner MediaAssets: Added getter for media player in media sound components Change 3902233 by Max.Preussner MediaAssets: Enabling media textures to receive samples right after player is assigned Change 3902238 by Max.Preussner MediaCompositing: Working around init/shutdown idiosyncracies in sequencer Change 3904045 by Max.Chen Sequencer: Fix copy/paste crash. Only process UMovieSceneCopyableBinding and objects that can be spawned by the movie scene spawn register. #jira UE-55314 Change 3905605 by Max.Chen Sequencer: Restrict spawnables from being created if they have a ClassWithin that UMovieScene is not a child of. #jira UE-55429 Change 3906550 by Max.Chen Sequencer: Add media track icon #jira UE-55480 Change 3907101 by Max.Chen Sequence Recorder: Fix bugs related to not recording a level sequence. There were certain assumptions that creating a level sequence meant that sequence recording was in progress. This is not always the case - the recorders can record animation assets and not create a level sequence. Changed the notion of IsRecording() to having at least one actor recording that is recording. Countdown timer, recording displays, etc should function if IsRecording() and not based on whether a level sequence is created. #jira UE-55485 Change 3907247 by Max.Chen Sequence Recorder: Fix crash not removing PrepareToCleanseEditorObject delegate. Repros when opening sequence recorder, closing it, and then opening or creating a level. Change 3910343 by Max.Preussner Core: Added async helper for executing functions on a given thread pool Change 3910346 by Max.Preussner ImgMedia: Added separate thread pools for loading/decoding and deleting image frames Change 3910829 by Max.Preussner Profiler: Increased visible range of profiler graph Change 3910841 by Max.Preussner MediaCompositing: Displaying asset name instead of full media source path in media section Change 3910870 by Max.Preussner ImgMedia: Using deallocation thread pool only in debug builds Change 3919642 by Max.Chen Sequence Recorder: Clarify active tooltip #jira UE-55661 Change 3919660 by Max.Chen Sequencer: Sequence template source signatures are now also compared to catch the case where a sub-sequence asset has been saved but not modified - The following sequence of events exposes this issue: - Create a master sequence with a single shot that spawns a cube - Add this sequence to a level and set it to auto-play - Save everything and restart - Resave just the inner shot asset without opening it - PIE - The inner shot never spawns its cube because its template was wiped on save, but its signature never changed. Since the master sequence previously didn't check the template source signature, it ends up trying to evaluate an empty template. #jira UE-55626 #jira UE-55490 Change 3921825 by Max.Chen Sequencer: "Run Construction Script in Sequencer" is off by default for blueprints but on for Sequencer. This allows the content author to switch it on for specific blueprints and sequencer will be default, run those with construction scripts enabled. Change 3922232 by Max.Chen Sequence Recorder: Reset countdelay on stop. #jira UE-55755 Change 3922306 by Max.Chen Sequence Recorder: Don't automatically mark transforms to be recorded by sequence recorder. Instead, log a warning if the user toggled it off to warn that the resulting animation might not match gameplay. #jira UE-55758 Change 3922912 by Max.Chen Sequence Recorder: Fix refresh next sequence name #jira UE-55757 Change 3927654 by Max.Chen Movie Scene Capture: Added format mapping for the name of the current camera #jira UE-55769 PR #4537 Change 3927658 by Max.Chen Sequencer: Added fbx property mapping for "FocusDistance" to "FocusSettings.ManualFocusDistance" #jira UE-55782 Change 3932022 by Max.Chen Sequencer: Add import animation track section to next available row index. #jira UE-55892 Change 3933919 by Max.Chen Sequencer: Jump to playback start frame and not 0 to start playback for recording. #jira UE-55933 Change 3934307 by Andrew.Rodham Sequencer: Add template signature that is re-generated every time the base template is regenerated, which invalidates evaluation fields This fixes an issue where the same sequence is instantiated multiple times in a sequence. If the source sequence was saved, its template would be wiped, which would invalidate the template ID When an instance tries to evaluate the master template, it would only invalidate a range in the evaluation field that was the hull of any invalid sub sequences overlapping the current time, potentially leaving invalid data in the evaluation field at positions later (or earlier) on in the sequence When the sub template was re-generated, it receives the same SequenceSignature as it had before (because the sequence hasn't actually changed), which causes the stale evaluation field data to fail the IsDirty check (because the sequence is the same as it thought, but the *template* has changed) This has been addressed be adding a signature to templates themselves, and checking both the template signature and sequence signature as a part of the IsDirty check. This ensures that we regenerate if either the template, or the sequence have changed. #jira UE-55934 Change 3936327 by Andrew.Rodham Sequencer: Removed increment when trimming right UMovieSceneSection::TrimSection already explicity assigns an exclusive bound to the time passed in. The new behavior means we can trim a section to the right, and insert another section without changing the time to create adjacent sections. #jira UE-42652 Change 3936328 by Andrew.Rodham Fixed KeyFrameManipulator assignment operators and copy/move constructors - These types are potentially self-referential so cannot use default constructors/assignment Change 3936330 by Andrew.Rodham Converted UMGSequencePlayer to use frames internally #jira UE-54878 Change 3936726 by Max.Chen Sequencer: Set track node as the parent of the key area node. The key area switcher needs the object binding id from the parent object binding node. Without this, the binding to the external value fails. #jira UE-55931 Change 3936775 by Max.Chen Sequencer: Should stop or loop should compare DurationFrames with Current Time from StartTime. The bug is that if you set 30 warmup frames in movie rendering for a range of 0-100, the FrameRange will be starting at -30 and have a duration of 130. Without this fix, the playback will continue until frame 130, rather than 100. #jira UE-55933 Change 3936935 by Matt.Hoffman Easing Curves are now represented in Play Rate resolution instead of internal resolution. #jira UE-55937 Change 3937069 by Matt.Hoffman Users can toggle if the is infinite on each side, limited by which tracks support infinite ranges. #jira UE-55891 Change 3937516 by Max.Preussner ImgMedia: Added support for single-threaded platforms #jira UE-55986 Change 3937826 by Max.Preussner MediaAssets: Disabling media sound components on HTML5 if AudioMixer is not enabled Change 3937997 by Max.Chen Curve Editor: Add Zoom to Fit Curves so that selected curves from Sequencer can be focused on. Tested that undo doesn't re-zoom. #jira UE-55935 Change 3938000 by Max.Chen Sequencer: Stop all sounds before generating audio waveforms. #jira UE-55951 Change 3938376 by Max.Preussner XGEController: Disabled XGE Controller in single-threaded apps to prevent crash Change 3938444 by Max.Preussner Core: Added async support for single-threaded applications Change 3938445 by Max.Preussner Networking: Added support for single-threaded applications in UDP socket sender/receiver Change 3938447 by Max.Preussner Messaging: Added support for single-threaded applications Change 3939432 by Max.Chen Sequence Recorder: Append command list to global level editor actions so that shortcuts are accessible in level editor. #jira UE-55798 Change 3940229 by Andrew.Rodham Added prospective display rate upgrade to UMovieScene::PostLoad - There was previously some very odd behaviour that would assign the fixed frame interval only when a sub sequence was focused in SSequencer. This meant that many sequences could have a frame interval of 0 set in the data. - Under the old method of snap interval display this would have fallen back to getting the display interval from the sequencer settings, but we no longer look at these. - The USequencerSettings properties have been removed and in their place, a prospective data upgrade for sequences that have a fixed frame interval old 0fps that sets the play rate to the previous defaults based off the old USequencerSettings defaults. - This could end up 'changing' the display rate for sequences where the user has changed the snap interval in the settings for a particular sequence editor, but there's not much we can do about that given we don't have access to the USequencerSettings classes in UMovieScene #jira UE-55919 Change 3940277 by Andrew.Rodham Sequencer: Added ability to default frame resolutions and play rates for newly created actor sequences Change 3940378 by Andrew.Rodham Sequencer: Post move import dialog now defaults to the playback framerate of the sequence, and floors to frame numbers Change 3940559 by Andrew.Rodham Reinstated primed or recording sequence color Change 3940642 by Max.Preussner ImagePlate: Removed image plate media playback functionality Change 3940843 by Max.Preussner Core: Made TCircularQueue actually thread-safe; improved code comments Change 3940860 by Max.Chen Sequencer: Changed StructNameToKey to StructPathToKey Previously, keying a PropertyPath of [RenderTransform][Shear][X] would get trimmed to X, which doesn't map to a channel name as considered by Sequencer2dTransformTrackEditor. Instead, trim the resulting property path to [Shear][X] so that track editors can determine the desired struct path and channels to key. #jira UE-52966 Change 3941292 by Mike.Zyracki Fix for trajectories out of range not showing up. 1) If we had no key data we would pop the time, so wouldn't get the section ranges. 2) Calculating of upper bound was wrong, checking against -1 and not key == num of keys when doing algo::lower_bound. 3) No need to do the Bck-- for the bakward iterators since we fixed #2. We start now from the upper bound correctly. 4) If we had no keys (at section start,end) we would incorrectly say we were any key type, so since we draw constant keys as dashed we would do so incorrectly around section end points. #jira UE-55929 Change 3941424 by Max.Chen Curve Editor: Change Zoom to Fit to use TArrayView Change 3941498 by Max.Preussner Core: Added FMath::DivideAndRoundNearest function Change 3942097 by Matt.Hoffman Drop Frame Timecode Support for NTSC rates. Change 3942104 by Matt.Hoffman Sequence Recorder Group is no longer visible inside the World Outliner after using one. #jira 55266 Change 3942107 by Max.Chen Sequencer: Resurrect logic to find or extend an existing section when adding keys. Change 3942330 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942339 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942507 by Andrew.Rodham Sequencer: We no longer pad the time overlap threshold with a small number that is not scaled by the current zoom level - The presence of this pad was causing keys that were far apart to be grouped when zoomed in a long way Change 3942509 by Andrew.Rodham Sequencer: Only pad total view range, rather than section range as well when retrieving keys to render - This stops us from rendering keys that are within the view range, but outside the section range Change 3942512 by Andrew.Rodham Added transactions to some sequencer details customizations Change 3942513 by Andrew.Rodham Sequencer: Reinstated validation checks to UMovieSceneSection::SetStartFrame and SetEndFrame, changed erroneous uses to use SetRange Change 3942560 by Andrew.Rodham Pass by rvalue reference to appease error C2719 on Win32 ('InChannels': formal parameter with requested alignment of 8 won't be aligned) Change 3942697 by Andrew.Rodham Newly Created Level Sequences and Actor Sequences now default to 24000 fps frame resolution (+/- ~24hrs range, supporting all integer rates + 23.976) Change 3942700 by Andrew.Rodham Sequencer: Added legacy out-of-bounds errors for times that are not supported by the current legacy upgrade frame resolution Change 3942989 by Max.Preussner Core: Fixed circular queue count calculation Change 3943538 by Max.Preussner MediaAssets: Reverted workaround for procedural audio log spam in HTML5 (Actor component initialization cannot be skipped if the component is used in a level) Change 3944071 by Max.Preussner QAGame: Fixed Media Texture keeps last frame of Media when PIE ends #jira UE-53360 Change 3944292 by Max.Chen Sequencer: Added extra flags to ensure that asset initialization does not occur on template actor sequences #jira UE-56113 Change 3944364 by Max.Chen Sequencer: Prevent circular shot/master tracks. Tested adding master -> child -> master as drag and drop cinematic shot tracks and sub tracks as well as through the + button. #jira UE-56091 Change 3944422 by Max.Chen Sequence Recorder: Disable transform recording if off. #jira UE-56061 Change 3944745 by Andrew.Rodham Sequencer: Key rendering fixes - Fixed assert that occured when keys happened to reside on some times due to KeyTime + TimeOverlapThreshold - KeyTime being slightly larger TimeOverlapThreshold - Fixed keys sometimes being clipped when zoomed right in due to lack of half-frame offset - Added missing documentation to MovieSceneTimeHelpers.h #jira UE-56107 Change 3945231 by Andrew.Rodham Sequencer: Reconstruct channel proxy on Serialize to catch all cases of undo/redo, PostLoad and duplication #jira UE-56089 Change 3945301 by Andrew.Rodham Sequencer: Added safety checks during initial sequence recording to guard against applying negative or 0-sized sequence ranges #jira UE-56125 Change 3946627 by Max.Preussner Fortnite: Fixed game crashes closing editor while in PIE - Pure virtual function being called #jira UE-56144 [CL 3946896 by Max Chen in Main branch]
2018-03-14 22:09:33 -04:00
FFrameTime MouseTime = ComputeFrameTimeFromMouse(MyGeometry, MouseEvent.GetScreenSpacePosition(), RangeToScreen);
FFrameTime ScrubTime = ComputeScrubTimeFromMouse(MyGeometry, MouseEvent.GetScreenSpacePosition(), RangeToScreen);
FFrameTime MouseDownTime = ComputeFrameTimeFromMouse(MyGeometry, MouseDownPosition[0], RangeToScreen);
FFrameNumber DiffFrame = MouseTime.FrameNumber - MouseDownTime.FrameNumber;
Copying //UE4/Dev-Sequencer to //UE4/Main ========================== MAJOR FEATURES + CHANGES ========================== Change 2875025 on 2016/02/20 by Andrew.Rodham Sequencer: Cinematic viewport improvements - Added optional letterbox overlay (defaults to 2.35:1) - Added ability to change safe frame colors - Added selected tracks' keys to the transport range - Added buttons for jumping between selected tracks' keyframes on the transport controls - Removed black padding around the viewport where possible - Added ability to specify whether a combo button/menu anchor should close when its parent receives focus - Separated logic of FGroupedKeyArea into FSequencerKeyCollection, so it can be used independently - Added playback range to the viewport frame numbers - All frame numbers are now spin boxes #jira UE-26429 Change 2875026 on 2016/02/20 by Thomas.Sarkanen Added console commands for recording sequences Changed plugin to a developer plugin so we can load it when the editor is in -game mode. Added Exec commands. Added some more logging to help diagnose problems when using commands. Added loading/saving of config for recorder settings (stored in Editor.ini). Also disabled controls in recorder window when recording. Added auto-saving of assets when in non-editor modes. Moved animation settings from UnrealEd to Engine module. Change 2875036 on 2016/02/20 by Max.Chen Sequencer: Call RedrawAllViewports instead of RedrawLevelEditingViewports. In particular, this fixes some update issues when editing values in the key editors. #jira UE-26960 Change 2875046 on 2016/02/20 by Max.Preussner Sequencer: Fix so that clicking on UMG Animations doesn't dirty the scene. #jira UE-26249 Change 2875047 on 2016/02/20 by Max.Chen Sequencer: Add option to toggle display of channel colors/lines. View->Channel Colors Change 2877138 on 2016/02/23 by Max.Chen Sequencer: Select corresponding track node when selecting key or section. Removed active/inactive selection since it was only being used in deletion and the rules for deletion are now dependent upon what is selected - delete keys and sections before deleting outliner nodes. Change 2877143 on 2016/02/23 by Thomas.Sarkanen Added new math function: WindRelativeAnglesDegrees Given two angles in degrees, 'wind' the angle in Angle1 so that it avoids >180 degree flips. Good for winding rotations previously expressed as quaternions into a euler-angle representation. Change 2877147 on 2016/02/23 by Thomas.Sarkanen Added the ability to import sequencer transforms from the root node of an animation sequence Intended for use after re-importing animations from DCC tools. Available in the right-click menu for transform tracks. Also added FindTrackBinding to UMovieScene so track bindings can be recovered from tracks. Change 2877163 on 2016/02/23 by Max.Chen Sequencer: Add option to create keyframe sections as infinite. Sequencer defaults to true, UMG defaults to false. Change 2877165 on 2016/02/23 by Max.Preussner Sequencer: Drawing vertical position lines when dragging keys Change 2878748 on 2016/02/23 by Max.Chen Curve Editor: Switch curve type to user when flatting or straightening tangents. #jira UE-27277 Change 2878799 on 2016/02/23 by Frank.Fella Sequencer - Add folders support to the outliner. Change 2880769 on 2016/02/24 by Andrew.Rodham Sequencer: Added ability to override runtime spawnable ownership in sequencer - This is exposed as an option on spawnables "Keep Alive Outside Playback Range (In Sequencer)" - Enabling this will stop spawnables from being destroyed when scrubbing outside of the playback range #jira UE-27205 Change 2880770 on 2016/02/24 by Thomas.Sarkanen Sequencer: Added countdown and recording indicator display when recording Also fixed extra popups added post-PIE when animation recordings auto shutdown. Change 2880782 on 2016/02/24 by Max.Chen Sequencer: Snapping now also uses the current time as a possible snap time. #jira UE-26306 Change 2880793 on 2016/02/24 by Max.Chen Sequencer: Add +Animation to Animation track so that it's consistent with all other tracks that have a + button. Change 2880812 on 2016/02/24 by Max.Chen Sequencer: Fix adjusting the leading edge of a shot section so that it cuts into the shot rather than adjusts the start time. #jira UE-26306 Change 2881624 on 2016/02/25 by Andrew.Rodham Changing shader version GUID to fix corrupt shaders in ddc Change 2882408 on 2016/02/25 by Thomas.Sarkanen Asset/actors stored in TLazyObjectPtrs can now reference game content from engine This is a legitimate use case as lazy object ptrs are designed to reference assets/actors cross-domain. Change 2882409 on 2016/02/25 by Thomas.Sarkanen [CL 2899785 by Max Chen in Main branch]
2016-03-08 16:55:04 -05:00
// Set the start range time?
Copying //UE4/Dev-Sequencer to //UE4/Main (Source: //UE4/Dev-Sequencer @ 2945541) ========================== MAJOR FEATURES + CHANGES ========================== Change 2837601 on 2016/01/20 by Thomas.Sarkanen Sequencer: Exposed bool, byte, event, fade, float, slomo, and visibility section keys in context menu Change 2840895 on 2016/01/23 by Thomas.Sarkanen Sequencer: Moved key proxy handling from section into key area; added support for grouped keys; exposed color properties in context menu. Change 2901092 on 2016/03/09 by Thomas.Sarkanen Sequencer: Fixed ensure() and crash when exiting PIE & then playing back in editor Made sure that instances that are playing that have active montages can re-connect to a playing montage if it is already active. We dont stop/start preview/non- preview playback when switching modes right now so I've just made the system robust to the switch when playing back animation. Ensured that instances are kept up to date by hooking into EndPlayMapDelegate. This fires slightly later than OnEndPIE, so it allows us to pick up when instances have been deleted from the world. OnEndPIE is fired before the worlds are shutdown so instances can still be bound to valid (but nearly dead) actors at this point. #jira UE-27898 #jira UE-27899 Change 2901159 on 2016/03/09 by Chris.Bunner Allow EXR frames from SaveHighResScreenshot to be uncompressed (r.SaveUncompressedEXRFrames). Change 2903123 on 2016/03/10 by Max.Chen Sequencer: Add snapping for the in/out range. Change 2903126 on 2016/03/10 by Max.Chen Sequencer: Fix split and trim for cinematic shot sections so that the start offset value is set. Change 2903132 on 2016/03/10 by Max.Chen Sequencer: Create camera here and set it as the current camera cut. Change 2903138 on 2016/03/10 by Max.Chen Sequencer: Improve mechanism for adding objects to Sequencer. Hold down shift while dragging from content browser to add as a spawnable. Hold down ctrl while dragging from content browser to add as a possessable. Change 2903143 on 2016/03/10 by Max.Chen Sequencer: Add 4k to movie capture dialog. #jira UE-28147 Change 2903157 on 2016/03/10 by Max.Chen Sequencer: Pop out of locked camera when popping out of the sequence. #jira UE-27662 Change 2908097 on 2016/03/14 by Andrew.Rodham Sequencer: Added default viewport type onto the viewport types menu - The activation command for a given viewport type no longer toggles it if it's already active, it will just do nothing. - Switching back to the default viewport type can be achieved with SHIFT+D Change 2911869 on 2016/03/16 by Max.Preussner Editor: Caching device proxy manager, so the UI doesn't constantly poll for the TargetDeviceServices module Change 2917943 on 2016/03/22 by Thomas.Sarkanen Sequence Recording: Added "Record New Sequence From Current Player" to sub-sequence track menu This option is only available in PIE. When selected it primes a new seciton for recording against the pawn that is currently being controlled by the player. Change 2917946 on 2016/03/22 by Max.Chen Sequencer: Automatically add and attach a cine camera when dropping a crane or rail. Change 2917954 on 2016/03/22 by Thomas.Sarkanen Fix anim dynamics going crazy on time skips Added new API to FAnimNode_Base: NeedsDynamicReset and ResetDynamics. This allows nodes that subscribe to this interface to be reset on teleport/time skips. Call through to ResetDynamics on zero timestep (ie. skips) in the preview path in Sequencer. Change 2917961 on 2016/03/22 by Frank.Fella Sequencer - Sequencer - Update the color track code to match the behavior in matinee, also remove empty light color tracks from the sequence, and add a missing particle parameter track. Change 2917984 on 2016/03/22 by Max.Chen Sequencer: Fix crash on deleting object binding nodes multiple times. Change 2917986 on 2016/03/22 by Max.Chen Sequencer: Fix if adding multiple camera cuts at the same time with the same duration as an existing camera cut. The camera is replaced in this case. Change 2917994 on 2016/03/22 by Jeff.Farris Support for scene depth picker. Used for focus depth sampling in cine cams. Change 2918003 on 2016/03/22 by Max.Chen Sequencer - Fix selection issues related to keying an undo by moving the selection clear on rebuild to after the tree selection state has been cached by path. Change 2920371 on 2016/03/23 by Max.Preussner UnrealEd: Added a file import path that doesn't load the entire file into memory prior to importing UFactory::StaticImport will now call FactoryCreateFile for both text and binary files. The default implementation will load the file into a buffer/string and call FactoryCreateBinary/FactoryCreateText to preserve legacy behavior. New factories may override FactoryCreateFile to perform their own file processing instead. Change 2923359 on 2016/03/25 by Max.Preussner UnrealEd: Refactored out StaticImportObject code into ImportObject Change 2924887 on 2016/03/28 by Jeff.Farris Sequencer: Camera Anim and Camera Shake tracks now support PostProcess changes in the CameraAnim Change 2927283 on 2016/03/30 by Max.Chen Sequencer: Fix crash resetting default in audio track in sequencer. Fix audio track rename when adding another audio. #jira UE-28836, UE-28859 Change 2928290 on 2016/03/30 by Max.Preussner ContentBrowser: Disabling 'Show in Explorer' context menu option for newly created/unsaved asset(s) Change 2928480 on 2016/03/30 by Max.Preussner AssetTools: Added built-in type category for Media assets Change 2928498 on 2016/03/30 by Max.Preussner AssetTools: Sorting asset type categories alphabetically Change 2932326 on 2016/04/04 by Frank.Fella Sequencer - Add "paste from matinee" support for audio tracks, and add volume support to audio sections in sequencer. Change 2933917 on 2016/04/05 by Max.Preussner Core: Added microseconds support to FTimespan Change 2933920 on 2016/04/05 by Max.Preussner Sockets: Simplified socket timeout assignments Change 2935434 on 2016/04/06 by Max.Chen Sequencer: Deselect possessable before converting it to a spawnable and deleting it. Also, make sure the newly converted spawnables are selected. This fixes a bug where the transform gizmo remains after adding a spawnable. Also, consolidate code for adding possessables to sequencer so that the newly added possessable node will be selected in the widget tree. #jira UE-28215 Change 2935590 on 2016/04/06 by Jeff.Farris Made crane rig preview mesh at the tip move as expected and appear in a reasonable place. Change 2936082 on 2016/04/07 by Max.Chen Sequencer: Attach should use default attach component of the actor if it exists. This fixes a bug where trying to attach to a camera crane rig attaches to the proper component. Change 2936118 on 2016/04/07 by Max.Chen Sequencer: Adding crane/rail with shift now adds the crane/rig as a spawnable and the attached cine camera as a spawnable. An attach track is created for the cine camera spawnable. #jira UE-28308 Change 2937226 on 2016/04/07 by Max.Chen Sequencer: Add invalidation when levels are added or removed.This fixes a bug were if you have a level sequence open and then add a sublevel that the level sequence operates on, it correctly updates the actors from the new sub level. #jira UE-27595 Change 2937263 on 2016/04/07 by Frank.Fella Sequencer - Changed the matinee to sequencer conversion tools so that curve keys set to "clamped auto" import as user tangents since we don't support clamped auto in sequencer. Change 2937273 on 2016/04/07 by Max.Chen Sequencer: No longer experimental/betal and now enabled by default. #jira UETOOl-625 Change 2937694 on 2016/04/08 by Max.Chen Curve Editor: Separate out input and output snapping. #jira UE-27209 Change 2937852 on 2016/04/08 by Andrew.Rodham Sequencer: Spawnables no longer use generated classes - Spawnables now store a template actor instance, rather than a generated class - All relevant code has been converted to use this new approach - Spawnable defaults are now harvested directly from any spawned instances when the movie scene is saved, or when the object is de-spawned. We only do this for spawnables *in the currently active sequence instance*. This approach ensures that instance components and other properties persist. - Currently we don't mark the package as dirty when the defaults are changed. This needs to be addressed. - Some fixes have been made to AActor and Actor Iterators to ensure that actors not contained within a level do not crash. - Spawning optimisations to follow Change 2937956 on 2016/04/08 by Max.Preussner Sequencer: Added selection range commands to general toolbar menu Change 2937981 on 2016/04/08 by Max.Preussner Sequencer: Refactored GetKeyHandles to take a time range for filtering keys Change 2938007 on 2016/04/08 by Max.Preussner Sequencer: Implemented selection range key selection Change 2938184 on 2016/04/08 by Max.Chen Sequencer: Find in Content Browser is now in the top level menubar. #jira UE-21598 Change 2938665 on 2016/04/08 by Frank.Fella UMG - Add support for material animation. Change 2939048 on 2016/04/10 by Max.Chen CineCamera: Change current position on rail to normalize position. Change 2939067 on 2016/04/10 by Max.Chen Sequencer: Add paste color from matinee Change 2939587 on 2016/04/11 by Andrew.Rodham Sequencer: Fixes to spawnable rework - Removed commented out code. - Fixed particle system components not disabling auto activate. - Instance Components are now correctly registered on spawn. - Removed ability to set the editable flag on actors in favor of a delegate assigned to SActorDetails to disable property editing on actors spawned from outside of the currently focused sequence. Change 2939666 on 2016/04/11 by Andrew.Rodham Sequencer: Fixed active sequence ID not being set on creation Change 2940663 on 2016/04/12 by Andrew.Rodham Sequencer: Spawnable object templates now always have the RF_ArchetypeObject flag #jira UE-29337, UE-29339 Change 2940742 on 2016/04/12 by Thomas.Sarkanen Improvements to sequence recording API Sequence recording is now more extensible. Moved the majority of recorders into a seperate module. Cleaned up recorder API, removed bRecord that was only really used once. Added factory class as a modular feature that allows users to register and implement their own recorders. Recorders can supply their own settings classes. These are incorporated into the UI via a details customization so they appear to be seamlessly integrated. Exposed components to record as an advanced setting. Users can use this to gate the components and actors that are recorded. #jira UE-28850 - Update sequence recording API for better extensibility Change 2940828 on 2016/04/12 by Max.Chen Level Editor: Clear the camera preview if the level viewport is locked to the same camera. #jira UE-27489 Change 2941090 on 2016/04/12 by Frank.Fella Sequencer - Fix inconsistencies with the level visibility track. + Add an option to update a track instance when it stops playing due to it's parent movie scene being deactivated as a sub-scene. + Reset level visibility state when the section ends, or when it's parent subsection ends. Change 2941427 on 2016/04/12 by Andrew.Rodham Sequencer: Fixes for recorded dynamic components - Dynamic components are now named uniquely within their owner actor, and are no longer re-bound to new object tracks when detached/re-attached - New dynamic components are created every time a new component is detected on an actor, regardless of whether it was once attached before. This affords recording externally managed components from a component pool. - Section recorders for components that are no longer attached to the actor are now disabled correctly. Change 2941760 on 2016/04/12 by Max.Preussner Editor: Setting up correct material expresions when creating material from normal map texture Change 2941819 on 2016/04/13 by Max.Chen Sequencer: Fire named events in all sublevels. #jira UE-28843 Change 2942052 on 2016/04/13 by Andrew.Rodham Sequencer: Fixed not being able to add dynamic material parameter tracks to spawnables when the object is not spawned #jira UE-24287 Change 2942223 on 2016/04/13 by Max.Preussner Editor: Using built-in function to assign sampler format Change 2942833 on 2016/04/13 by Max.Chen Sequencer: More copy matinee helpers. - Make some sections infinite. - Fix FindPossessableObjectId - Expose FindGroupByName Change 2942944 on 2016/04/13 by Max.Chen Sequencer: Fix anim copy so that it doesn't create an animation clip longer than the next clip's start position. Change 2943313 on 2016/04/14 by Max.Chen Sequencer: Initial matinee to level sequence asset converter. Right click on a matinee actor in the level and choose "Convert to Level Sequence" Current supports: - movement tracks - generic property tracks - particle tracks - anim control tracks - event tracks - audio tracks - visibility track - director track (fade, slomo, camera cuts) Possible todos: - Relative scale3D - Option to create spawnables instead of possessables - Create shots per director track camera cut instead of a direct translation to the camera cut track #jira UETOOL-467 Change 2943596 on 2016/04/14 by Andrew.Rodham Editor: Fixed placement mode scrollbar visibility not working for custom content #jira UE-27191 Change 2943651 on 2016/04/14 by Max.Chen Sequencer: Invalidate the audio waveform when the source changes. #jira UE-29394 Change 2943674 on 2016/04/14 by Max.Chen Sequencer: Store/restore playback state when rebuilding. #jira UE-29452 Change 2943993 on 2016/04/14 by Max.Chen Sequencer: Convert slot name from matinee to level sequence. Change 2944156 on 2016/04/14 by Frank.Fella Sequencer - Fix undo when moving items into folders, and when deleting folder. #jira UE-27368 Change 2944227 on 2016/04/14 by Max.Chen Sequencer: Show curves in the curve editor if one of the parent nodes is selected. For example, if Location is selected, show Location.X, Location.Y, and Location.Z Change 2945057 on 2016/04/15 by Andrew.Rodham Editor: Fixed placement mode scrollbar visibility not working for custom content #jira UE-27191 #lockdown nick.penwarden [CL 2945551 by Max Chen in Main branch]
2016-04-15 14:50:58 -04:00
if (MouseDragType == DRAG_PLAYBACK_START)
Copying //UE4/Dev-Sequencer to //UE4/Main ========================== MAJOR FEATURES + CHANGES ========================== Change 2875025 on 2016/02/20 by Andrew.Rodham Sequencer: Cinematic viewport improvements - Added optional letterbox overlay (defaults to 2.35:1) - Added ability to change safe frame colors - Added selected tracks' keys to the transport range - Added buttons for jumping between selected tracks' keyframes on the transport controls - Removed black padding around the viewport where possible - Added ability to specify whether a combo button/menu anchor should close when its parent receives focus - Separated logic of FGroupedKeyArea into FSequencerKeyCollection, so it can be used independently - Added playback range to the viewport frame numbers - All frame numbers are now spin boxes #jira UE-26429 Change 2875026 on 2016/02/20 by Thomas.Sarkanen Added console commands for recording sequences Changed plugin to a developer plugin so we can load it when the editor is in -game mode. Added Exec commands. Added some more logging to help diagnose problems when using commands. Added loading/saving of config for recorder settings (stored in Editor.ini). Also disabled controls in recorder window when recording. Added auto-saving of assets when in non-editor modes. Moved animation settings from UnrealEd to Engine module. Change 2875036 on 2016/02/20 by Max.Chen Sequencer: Call RedrawAllViewports instead of RedrawLevelEditingViewports. In particular, this fixes some update issues when editing values in the key editors. #jira UE-26960 Change 2875046 on 2016/02/20 by Max.Preussner Sequencer: Fix so that clicking on UMG Animations doesn't dirty the scene. #jira UE-26249 Change 2875047 on 2016/02/20 by Max.Chen Sequencer: Add option to toggle display of channel colors/lines. View->Channel Colors Change 2877138 on 2016/02/23 by Max.Chen Sequencer: Select corresponding track node when selecting key or section. Removed active/inactive selection since it was only being used in deletion and the rules for deletion are now dependent upon what is selected - delete keys and sections before deleting outliner nodes. Change 2877143 on 2016/02/23 by Thomas.Sarkanen Added new math function: WindRelativeAnglesDegrees Given two angles in degrees, 'wind' the angle in Angle1 so that it avoids >180 degree flips. Good for winding rotations previously expressed as quaternions into a euler-angle representation. Change 2877147 on 2016/02/23 by Thomas.Sarkanen Added the ability to import sequencer transforms from the root node of an animation sequence Intended for use after re-importing animations from DCC tools. Available in the right-click menu for transform tracks. Also added FindTrackBinding to UMovieScene so track bindings can be recovered from tracks. Change 2877163 on 2016/02/23 by Max.Chen Sequencer: Add option to create keyframe sections as infinite. Sequencer defaults to true, UMG defaults to false. Change 2877165 on 2016/02/23 by Max.Preussner Sequencer: Drawing vertical position lines when dragging keys Change 2878748 on 2016/02/23 by Max.Chen Curve Editor: Switch curve type to user when flatting or straightening tangents. #jira UE-27277 Change 2878799 on 2016/02/23 by Frank.Fella Sequencer - Add folders support to the outliner. Change 2880769 on 2016/02/24 by Andrew.Rodham Sequencer: Added ability to override runtime spawnable ownership in sequencer - This is exposed as an option on spawnables "Keep Alive Outside Playback Range (In Sequencer)" - Enabling this will stop spawnables from being destroyed when scrubbing outside of the playback range #jira UE-27205 Change 2880770 on 2016/02/24 by Thomas.Sarkanen Sequencer: Added countdown and recording indicator display when recording Also fixed extra popups added post-PIE when animation recordings auto shutdown. Change 2880782 on 2016/02/24 by Max.Chen Sequencer: Snapping now also uses the current time as a possible snap time. #jira UE-26306 Change 2880793 on 2016/02/24 by Max.Chen Sequencer: Add +Animation to Animation track so that it's consistent with all other tracks that have a + button. Change 2880812 on 2016/02/24 by Max.Chen Sequencer: Fix adjusting the leading edge of a shot section so that it cuts into the shot rather than adjusts the start time. #jira UE-26306 Change 2881624 on 2016/02/25 by Andrew.Rodham Changing shader version GUID to fix corrupt shaders in ddc Change 2882408 on 2016/02/25 by Thomas.Sarkanen Asset/actors stored in TLazyObjectPtrs can now reference game content from engine This is a legitimate use case as lazy object ptrs are designed to reference assets/actors cross-domain. Change 2882409 on 2016/02/25 by Thomas.Sarkanen [CL 2899785 by Max Chen in Main branch]
2016-03-08 16:55:04 -05:00
{
if (MouseEvent.IsShiftDown())
{
SetPlaybackRangeStart(MouseDownPlaybackRange.GetLowerBoundValue() + DiffFrame);
SetPlaybackRangeEnd(MouseDownPlaybackRange.GetUpperBoundValue() + DiffFrame);
}
else
{
SetPlaybackRangeStart(MouseTime.FrameNumber);
}
Copying //UE4/Dev-Sequencer to //UE4/Main ========================== MAJOR FEATURES + CHANGES ========================== Change 2875025 on 2016/02/20 by Andrew.Rodham Sequencer: Cinematic viewport improvements - Added optional letterbox overlay (defaults to 2.35:1) - Added ability to change safe frame colors - Added selected tracks' keys to the transport range - Added buttons for jumping between selected tracks' keyframes on the transport controls - Removed black padding around the viewport where possible - Added ability to specify whether a combo button/menu anchor should close when its parent receives focus - Separated logic of FGroupedKeyArea into FSequencerKeyCollection, so it can be used independently - Added playback range to the viewport frame numbers - All frame numbers are now spin boxes #jira UE-26429 Change 2875026 on 2016/02/20 by Thomas.Sarkanen Added console commands for recording sequences Changed plugin to a developer plugin so we can load it when the editor is in -game mode. Added Exec commands. Added some more logging to help diagnose problems when using commands. Added loading/saving of config for recorder settings (stored in Editor.ini). Also disabled controls in recorder window when recording. Added auto-saving of assets when in non-editor modes. Moved animation settings from UnrealEd to Engine module. Change 2875036 on 2016/02/20 by Max.Chen Sequencer: Call RedrawAllViewports instead of RedrawLevelEditingViewports. In particular, this fixes some update issues when editing values in the key editors. #jira UE-26960 Change 2875046 on 2016/02/20 by Max.Preussner Sequencer: Fix so that clicking on UMG Animations doesn't dirty the scene. #jira UE-26249 Change 2875047 on 2016/02/20 by Max.Chen Sequencer: Add option to toggle display of channel colors/lines. View->Channel Colors Change 2877138 on 2016/02/23 by Max.Chen Sequencer: Select corresponding track node when selecting key or section. Removed active/inactive selection since it was only being used in deletion and the rules for deletion are now dependent upon what is selected - delete keys and sections before deleting outliner nodes. Change 2877143 on 2016/02/23 by Thomas.Sarkanen Added new math function: WindRelativeAnglesDegrees Given two angles in degrees, 'wind' the angle in Angle1 so that it avoids >180 degree flips. Good for winding rotations previously expressed as quaternions into a euler-angle representation. Change 2877147 on 2016/02/23 by Thomas.Sarkanen Added the ability to import sequencer transforms from the root node of an animation sequence Intended for use after re-importing animations from DCC tools. Available in the right-click menu for transform tracks. Also added FindTrackBinding to UMovieScene so track bindings can be recovered from tracks. Change 2877163 on 2016/02/23 by Max.Chen Sequencer: Add option to create keyframe sections as infinite. Sequencer defaults to true, UMG defaults to false. Change 2877165 on 2016/02/23 by Max.Preussner Sequencer: Drawing vertical position lines when dragging keys Change 2878748 on 2016/02/23 by Max.Chen Curve Editor: Switch curve type to user when flatting or straightening tangents. #jira UE-27277 Change 2878799 on 2016/02/23 by Frank.Fella Sequencer - Add folders support to the outliner. Change 2880769 on 2016/02/24 by Andrew.Rodham Sequencer: Added ability to override runtime spawnable ownership in sequencer - This is exposed as an option on spawnables "Keep Alive Outside Playback Range (In Sequencer)" - Enabling this will stop spawnables from being destroyed when scrubbing outside of the playback range #jira UE-27205 Change 2880770 on 2016/02/24 by Thomas.Sarkanen Sequencer: Added countdown and recording indicator display when recording Also fixed extra popups added post-PIE when animation recordings auto shutdown. Change 2880782 on 2016/02/24 by Max.Chen Sequencer: Snapping now also uses the current time as a possible snap time. #jira UE-26306 Change 2880793 on 2016/02/24 by Max.Chen Sequencer: Add +Animation to Animation track so that it's consistent with all other tracks that have a + button. Change 2880812 on 2016/02/24 by Max.Chen Sequencer: Fix adjusting the leading edge of a shot section so that it cuts into the shot rather than adjusts the start time. #jira UE-26306 Change 2881624 on 2016/02/25 by Andrew.Rodham Changing shader version GUID to fix corrupt shaders in ddc Change 2882408 on 2016/02/25 by Thomas.Sarkanen Asset/actors stored in TLazyObjectPtrs can now reference game content from engine This is a legitimate use case as lazy object ptrs are designed to reference assets/actors cross-domain. Change 2882409 on 2016/02/25 by Thomas.Sarkanen [CL 2899785 by Max Chen in Main branch]
2016-03-08 16:55:04 -05:00
}
// Set the end range time?
Copying //UE4/Dev-Sequencer to //UE4/Main (Source: //UE4/Dev-Sequencer @ 2945541) ========================== MAJOR FEATURES + CHANGES ========================== Change 2837601 on 2016/01/20 by Thomas.Sarkanen Sequencer: Exposed bool, byte, event, fade, float, slomo, and visibility section keys in context menu Change 2840895 on 2016/01/23 by Thomas.Sarkanen Sequencer: Moved key proxy handling from section into key area; added support for grouped keys; exposed color properties in context menu. Change 2901092 on 2016/03/09 by Thomas.Sarkanen Sequencer: Fixed ensure() and crash when exiting PIE & then playing back in editor Made sure that instances that are playing that have active montages can re-connect to a playing montage if it is already active. We dont stop/start preview/non- preview playback when switching modes right now so I've just made the system robust to the switch when playing back animation. Ensured that instances are kept up to date by hooking into EndPlayMapDelegate. This fires slightly later than OnEndPIE, so it allows us to pick up when instances have been deleted from the world. OnEndPIE is fired before the worlds are shutdown so instances can still be bound to valid (but nearly dead) actors at this point. #jira UE-27898 #jira UE-27899 Change 2901159 on 2016/03/09 by Chris.Bunner Allow EXR frames from SaveHighResScreenshot to be uncompressed (r.SaveUncompressedEXRFrames). Change 2903123 on 2016/03/10 by Max.Chen Sequencer: Add snapping for the in/out range. Change 2903126 on 2016/03/10 by Max.Chen Sequencer: Fix split and trim for cinematic shot sections so that the start offset value is set. Change 2903132 on 2016/03/10 by Max.Chen Sequencer: Create camera here and set it as the current camera cut. Change 2903138 on 2016/03/10 by Max.Chen Sequencer: Improve mechanism for adding objects to Sequencer. Hold down shift while dragging from content browser to add as a spawnable. Hold down ctrl while dragging from content browser to add as a possessable. Change 2903143 on 2016/03/10 by Max.Chen Sequencer: Add 4k to movie capture dialog. #jira UE-28147 Change 2903157 on 2016/03/10 by Max.Chen Sequencer: Pop out of locked camera when popping out of the sequence. #jira UE-27662 Change 2908097 on 2016/03/14 by Andrew.Rodham Sequencer: Added default viewport type onto the viewport types menu - The activation command for a given viewport type no longer toggles it if it's already active, it will just do nothing. - Switching back to the default viewport type can be achieved with SHIFT+D Change 2911869 on 2016/03/16 by Max.Preussner Editor: Caching device proxy manager, so the UI doesn't constantly poll for the TargetDeviceServices module Change 2917943 on 2016/03/22 by Thomas.Sarkanen Sequence Recording: Added "Record New Sequence From Current Player" to sub-sequence track menu This option is only available in PIE. When selected it primes a new seciton for recording against the pawn that is currently being controlled by the player. Change 2917946 on 2016/03/22 by Max.Chen Sequencer: Automatically add and attach a cine camera when dropping a crane or rail. Change 2917954 on 2016/03/22 by Thomas.Sarkanen Fix anim dynamics going crazy on time skips Added new API to FAnimNode_Base: NeedsDynamicReset and ResetDynamics. This allows nodes that subscribe to this interface to be reset on teleport/time skips. Call through to ResetDynamics on zero timestep (ie. skips) in the preview path in Sequencer. Change 2917961 on 2016/03/22 by Frank.Fella Sequencer - Sequencer - Update the color track code to match the behavior in matinee, also remove empty light color tracks from the sequence, and add a missing particle parameter track. Change 2917984 on 2016/03/22 by Max.Chen Sequencer: Fix crash on deleting object binding nodes multiple times. Change 2917986 on 2016/03/22 by Max.Chen Sequencer: Fix if adding multiple camera cuts at the same time with the same duration as an existing camera cut. The camera is replaced in this case. Change 2917994 on 2016/03/22 by Jeff.Farris Support for scene depth picker. Used for focus depth sampling in cine cams. Change 2918003 on 2016/03/22 by Max.Chen Sequencer - Fix selection issues related to keying an undo by moving the selection clear on rebuild to after the tree selection state has been cached by path. Change 2920371 on 2016/03/23 by Max.Preussner UnrealEd: Added a file import path that doesn't load the entire file into memory prior to importing UFactory::StaticImport will now call FactoryCreateFile for both text and binary files. The default implementation will load the file into a buffer/string and call FactoryCreateBinary/FactoryCreateText to preserve legacy behavior. New factories may override FactoryCreateFile to perform their own file processing instead. Change 2923359 on 2016/03/25 by Max.Preussner UnrealEd: Refactored out StaticImportObject code into ImportObject Change 2924887 on 2016/03/28 by Jeff.Farris Sequencer: Camera Anim and Camera Shake tracks now support PostProcess changes in the CameraAnim Change 2927283 on 2016/03/30 by Max.Chen Sequencer: Fix crash resetting default in audio track in sequencer. Fix audio track rename when adding another audio. #jira UE-28836, UE-28859 Change 2928290 on 2016/03/30 by Max.Preussner ContentBrowser: Disabling 'Show in Explorer' context menu option for newly created/unsaved asset(s) Change 2928480 on 2016/03/30 by Max.Preussner AssetTools: Added built-in type category for Media assets Change 2928498 on 2016/03/30 by Max.Preussner AssetTools: Sorting asset type categories alphabetically Change 2932326 on 2016/04/04 by Frank.Fella Sequencer - Add "paste from matinee" support for audio tracks, and add volume support to audio sections in sequencer. Change 2933917 on 2016/04/05 by Max.Preussner Core: Added microseconds support to FTimespan Change 2933920 on 2016/04/05 by Max.Preussner Sockets: Simplified socket timeout assignments Change 2935434 on 2016/04/06 by Max.Chen Sequencer: Deselect possessable before converting it to a spawnable and deleting it. Also, make sure the newly converted spawnables are selected. This fixes a bug where the transform gizmo remains after adding a spawnable. Also, consolidate code for adding possessables to sequencer so that the newly added possessable node will be selected in the widget tree. #jira UE-28215 Change 2935590 on 2016/04/06 by Jeff.Farris Made crane rig preview mesh at the tip move as expected and appear in a reasonable place. Change 2936082 on 2016/04/07 by Max.Chen Sequencer: Attach should use default attach component of the actor if it exists. This fixes a bug where trying to attach to a camera crane rig attaches to the proper component. Change 2936118 on 2016/04/07 by Max.Chen Sequencer: Adding crane/rail with shift now adds the crane/rig as a spawnable and the attached cine camera as a spawnable. An attach track is created for the cine camera spawnable. #jira UE-28308 Change 2937226 on 2016/04/07 by Max.Chen Sequencer: Add invalidation when levels are added or removed.This fixes a bug were if you have a level sequence open and then add a sublevel that the level sequence operates on, it correctly updates the actors from the new sub level. #jira UE-27595 Change 2937263 on 2016/04/07 by Frank.Fella Sequencer - Changed the matinee to sequencer conversion tools so that curve keys set to "clamped auto" import as user tangents since we don't support clamped auto in sequencer. Change 2937273 on 2016/04/07 by Max.Chen Sequencer: No longer experimental/betal and now enabled by default. #jira UETOOl-625 Change 2937694 on 2016/04/08 by Max.Chen Curve Editor: Separate out input and output snapping. #jira UE-27209 Change 2937852 on 2016/04/08 by Andrew.Rodham Sequencer: Spawnables no longer use generated classes - Spawnables now store a template actor instance, rather than a generated class - All relevant code has been converted to use this new approach - Spawnable defaults are now harvested directly from any spawned instances when the movie scene is saved, or when the object is de-spawned. We only do this for spawnables *in the currently active sequence instance*. This approach ensures that instance components and other properties persist. - Currently we don't mark the package as dirty when the defaults are changed. This needs to be addressed. - Some fixes have been made to AActor and Actor Iterators to ensure that actors not contained within a level do not crash. - Spawning optimisations to follow Change 2937956 on 2016/04/08 by Max.Preussner Sequencer: Added selection range commands to general toolbar menu Change 2937981 on 2016/04/08 by Max.Preussner Sequencer: Refactored GetKeyHandles to take a time range for filtering keys Change 2938007 on 2016/04/08 by Max.Preussner Sequencer: Implemented selection range key selection Change 2938184 on 2016/04/08 by Max.Chen Sequencer: Find in Content Browser is now in the top level menubar. #jira UE-21598 Change 2938665 on 2016/04/08 by Frank.Fella UMG - Add support for material animation. Change 2939048 on 2016/04/10 by Max.Chen CineCamera: Change current position on rail to normalize position. Change 2939067 on 2016/04/10 by Max.Chen Sequencer: Add paste color from matinee Change 2939587 on 2016/04/11 by Andrew.Rodham Sequencer: Fixes to spawnable rework - Removed commented out code. - Fixed particle system components not disabling auto activate. - Instance Components are now correctly registered on spawn. - Removed ability to set the editable flag on actors in favor of a delegate assigned to SActorDetails to disable property editing on actors spawned from outside of the currently focused sequence. Change 2939666 on 2016/04/11 by Andrew.Rodham Sequencer: Fixed active sequence ID not being set on creation Change 2940663 on 2016/04/12 by Andrew.Rodham Sequencer: Spawnable object templates now always have the RF_ArchetypeObject flag #jira UE-29337, UE-29339 Change 2940742 on 2016/04/12 by Thomas.Sarkanen Improvements to sequence recording API Sequence recording is now more extensible. Moved the majority of recorders into a seperate module. Cleaned up recorder API, removed bRecord that was only really used once. Added factory class as a modular feature that allows users to register and implement their own recorders. Recorders can supply their own settings classes. These are incorporated into the UI via a details customization so they appear to be seamlessly integrated. Exposed components to record as an advanced setting. Users can use this to gate the components and actors that are recorded. #jira UE-28850 - Update sequence recording API for better extensibility Change 2940828 on 2016/04/12 by Max.Chen Level Editor: Clear the camera preview if the level viewport is locked to the same camera. #jira UE-27489 Change 2941090 on 2016/04/12 by Frank.Fella Sequencer - Fix inconsistencies with the level visibility track. + Add an option to update a track instance when it stops playing due to it's parent movie scene being deactivated as a sub-scene. + Reset level visibility state when the section ends, or when it's parent subsection ends. Change 2941427 on 2016/04/12 by Andrew.Rodham Sequencer: Fixes for recorded dynamic components - Dynamic components are now named uniquely within their owner actor, and are no longer re-bound to new object tracks when detached/re-attached - New dynamic components are created every time a new component is detected on an actor, regardless of whether it was once attached before. This affords recording externally managed components from a component pool. - Section recorders for components that are no longer attached to the actor are now disabled correctly. Change 2941760 on 2016/04/12 by Max.Preussner Editor: Setting up correct material expresions when creating material from normal map texture Change 2941819 on 2016/04/13 by Max.Chen Sequencer: Fire named events in all sublevels. #jira UE-28843 Change 2942052 on 2016/04/13 by Andrew.Rodham Sequencer: Fixed not being able to add dynamic material parameter tracks to spawnables when the object is not spawned #jira UE-24287 Change 2942223 on 2016/04/13 by Max.Preussner Editor: Using built-in function to assign sampler format Change 2942833 on 2016/04/13 by Max.Chen Sequencer: More copy matinee helpers. - Make some sections infinite. - Fix FindPossessableObjectId - Expose FindGroupByName Change 2942944 on 2016/04/13 by Max.Chen Sequencer: Fix anim copy so that it doesn't create an animation clip longer than the next clip's start position. Change 2943313 on 2016/04/14 by Max.Chen Sequencer: Initial matinee to level sequence asset converter. Right click on a matinee actor in the level and choose "Convert to Level Sequence" Current supports: - movement tracks - generic property tracks - particle tracks - anim control tracks - event tracks - audio tracks - visibility track - director track (fade, slomo, camera cuts) Possible todos: - Relative scale3D - Option to create spawnables instead of possessables - Create shots per director track camera cut instead of a direct translation to the camera cut track #jira UETOOL-467 Change 2943596 on 2016/04/14 by Andrew.Rodham Editor: Fixed placement mode scrollbar visibility not working for custom content #jira UE-27191 Change 2943651 on 2016/04/14 by Max.Chen Sequencer: Invalidate the audio waveform when the source changes. #jira UE-29394 Change 2943674 on 2016/04/14 by Max.Chen Sequencer: Store/restore playback state when rebuilding. #jira UE-29452 Change 2943993 on 2016/04/14 by Max.Chen Sequencer: Convert slot name from matinee to level sequence. Change 2944156 on 2016/04/14 by Frank.Fella Sequencer - Fix undo when moving items into folders, and when deleting folder. #jira UE-27368 Change 2944227 on 2016/04/14 by Max.Chen Sequencer: Show curves in the curve editor if one of the parent nodes is selected. For example, if Location is selected, show Location.X, Location.Y, and Location.Z Change 2945057 on 2016/04/15 by Andrew.Rodham Editor: Fixed placement mode scrollbar visibility not working for custom content #jira UE-27191 #lockdown nick.penwarden [CL 2945551 by Max Chen in Main branch]
2016-04-15 14:50:58 -04:00
else if(MouseDragType == DRAG_PLAYBACK_END)
Copying //UE4/Dev-Sequencer to //UE4/Main ========================== MAJOR FEATURES + CHANGES ========================== Change 2875025 on 2016/02/20 by Andrew.Rodham Sequencer: Cinematic viewport improvements - Added optional letterbox overlay (defaults to 2.35:1) - Added ability to change safe frame colors - Added selected tracks' keys to the transport range - Added buttons for jumping between selected tracks' keyframes on the transport controls - Removed black padding around the viewport where possible - Added ability to specify whether a combo button/menu anchor should close when its parent receives focus - Separated logic of FGroupedKeyArea into FSequencerKeyCollection, so it can be used independently - Added playback range to the viewport frame numbers - All frame numbers are now spin boxes #jira UE-26429 Change 2875026 on 2016/02/20 by Thomas.Sarkanen Added console commands for recording sequences Changed plugin to a developer plugin so we can load it when the editor is in -game mode. Added Exec commands. Added some more logging to help diagnose problems when using commands. Added loading/saving of config for recorder settings (stored in Editor.ini). Also disabled controls in recorder window when recording. Added auto-saving of assets when in non-editor modes. Moved animation settings from UnrealEd to Engine module. Change 2875036 on 2016/02/20 by Max.Chen Sequencer: Call RedrawAllViewports instead of RedrawLevelEditingViewports. In particular, this fixes some update issues when editing values in the key editors. #jira UE-26960 Change 2875046 on 2016/02/20 by Max.Preussner Sequencer: Fix so that clicking on UMG Animations doesn't dirty the scene. #jira UE-26249 Change 2875047 on 2016/02/20 by Max.Chen Sequencer: Add option to toggle display of channel colors/lines. View->Channel Colors Change 2877138 on 2016/02/23 by Max.Chen Sequencer: Select corresponding track node when selecting key or section. Removed active/inactive selection since it was only being used in deletion and the rules for deletion are now dependent upon what is selected - delete keys and sections before deleting outliner nodes. Change 2877143 on 2016/02/23 by Thomas.Sarkanen Added new math function: WindRelativeAnglesDegrees Given two angles in degrees, 'wind' the angle in Angle1 so that it avoids >180 degree flips. Good for winding rotations previously expressed as quaternions into a euler-angle representation. Change 2877147 on 2016/02/23 by Thomas.Sarkanen Added the ability to import sequencer transforms from the root node of an animation sequence Intended for use after re-importing animations from DCC tools. Available in the right-click menu for transform tracks. Also added FindTrackBinding to UMovieScene so track bindings can be recovered from tracks. Change 2877163 on 2016/02/23 by Max.Chen Sequencer: Add option to create keyframe sections as infinite. Sequencer defaults to true, UMG defaults to false. Change 2877165 on 2016/02/23 by Max.Preussner Sequencer: Drawing vertical position lines when dragging keys Change 2878748 on 2016/02/23 by Max.Chen Curve Editor: Switch curve type to user when flatting or straightening tangents. #jira UE-27277 Change 2878799 on 2016/02/23 by Frank.Fella Sequencer - Add folders support to the outliner. Change 2880769 on 2016/02/24 by Andrew.Rodham Sequencer: Added ability to override runtime spawnable ownership in sequencer - This is exposed as an option on spawnables "Keep Alive Outside Playback Range (In Sequencer)" - Enabling this will stop spawnables from being destroyed when scrubbing outside of the playback range #jira UE-27205 Change 2880770 on 2016/02/24 by Thomas.Sarkanen Sequencer: Added countdown and recording indicator display when recording Also fixed extra popups added post-PIE when animation recordings auto shutdown. Change 2880782 on 2016/02/24 by Max.Chen Sequencer: Snapping now also uses the current time as a possible snap time. #jira UE-26306 Change 2880793 on 2016/02/24 by Max.Chen Sequencer: Add +Animation to Animation track so that it's consistent with all other tracks that have a + button. Change 2880812 on 2016/02/24 by Max.Chen Sequencer: Fix adjusting the leading edge of a shot section so that it cuts into the shot rather than adjusts the start time. #jira UE-26306 Change 2881624 on 2016/02/25 by Andrew.Rodham Changing shader version GUID to fix corrupt shaders in ddc Change 2882408 on 2016/02/25 by Thomas.Sarkanen Asset/actors stored in TLazyObjectPtrs can now reference game content from engine This is a legitimate use case as lazy object ptrs are designed to reference assets/actors cross-domain. Change 2882409 on 2016/02/25 by Thomas.Sarkanen [CL 2899785 by Max Chen in Main branch]
2016-03-08 16:55:04 -05:00
{
if (MouseEvent.IsShiftDown())
{
SetPlaybackRangeStart(MouseDownPlaybackRange.GetLowerBoundValue() + DiffFrame);
SetPlaybackRangeEnd(MouseDownPlaybackRange.GetUpperBoundValue() + DiffFrame);
}
else
{
SetPlaybackRangeEnd(MouseTime.FrameNumber);
}
Copying //UE4/Dev-Sequencer to //UE4/Main ========================== MAJOR FEATURES + CHANGES ========================== Change 2875025 on 2016/02/20 by Andrew.Rodham Sequencer: Cinematic viewport improvements - Added optional letterbox overlay (defaults to 2.35:1) - Added ability to change safe frame colors - Added selected tracks' keys to the transport range - Added buttons for jumping between selected tracks' keyframes on the transport controls - Removed black padding around the viewport where possible - Added ability to specify whether a combo button/menu anchor should close when its parent receives focus - Separated logic of FGroupedKeyArea into FSequencerKeyCollection, so it can be used independently - Added playback range to the viewport frame numbers - All frame numbers are now spin boxes #jira UE-26429 Change 2875026 on 2016/02/20 by Thomas.Sarkanen Added console commands for recording sequences Changed plugin to a developer plugin so we can load it when the editor is in -game mode. Added Exec commands. Added some more logging to help diagnose problems when using commands. Added loading/saving of config for recorder settings (stored in Editor.ini). Also disabled controls in recorder window when recording. Added auto-saving of assets when in non-editor modes. Moved animation settings from UnrealEd to Engine module. Change 2875036 on 2016/02/20 by Max.Chen Sequencer: Call RedrawAllViewports instead of RedrawLevelEditingViewports. In particular, this fixes some update issues when editing values in the key editors. #jira UE-26960 Change 2875046 on 2016/02/20 by Max.Preussner Sequencer: Fix so that clicking on UMG Animations doesn't dirty the scene. #jira UE-26249 Change 2875047 on 2016/02/20 by Max.Chen Sequencer: Add option to toggle display of channel colors/lines. View->Channel Colors Change 2877138 on 2016/02/23 by Max.Chen Sequencer: Select corresponding track node when selecting key or section. Removed active/inactive selection since it was only being used in deletion and the rules for deletion are now dependent upon what is selected - delete keys and sections before deleting outliner nodes. Change 2877143 on 2016/02/23 by Thomas.Sarkanen Added new math function: WindRelativeAnglesDegrees Given two angles in degrees, 'wind' the angle in Angle1 so that it avoids >180 degree flips. Good for winding rotations previously expressed as quaternions into a euler-angle representation. Change 2877147 on 2016/02/23 by Thomas.Sarkanen Added the ability to import sequencer transforms from the root node of an animation sequence Intended for use after re-importing animations from DCC tools. Available in the right-click menu for transform tracks. Also added FindTrackBinding to UMovieScene so track bindings can be recovered from tracks. Change 2877163 on 2016/02/23 by Max.Chen Sequencer: Add option to create keyframe sections as infinite. Sequencer defaults to true, UMG defaults to false. Change 2877165 on 2016/02/23 by Max.Preussner Sequencer: Drawing vertical position lines when dragging keys Change 2878748 on 2016/02/23 by Max.Chen Curve Editor: Switch curve type to user when flatting or straightening tangents. #jira UE-27277 Change 2878799 on 2016/02/23 by Frank.Fella Sequencer - Add folders support to the outliner. Change 2880769 on 2016/02/24 by Andrew.Rodham Sequencer: Added ability to override runtime spawnable ownership in sequencer - This is exposed as an option on spawnables "Keep Alive Outside Playback Range (In Sequencer)" - Enabling this will stop spawnables from being destroyed when scrubbing outside of the playback range #jira UE-27205 Change 2880770 on 2016/02/24 by Thomas.Sarkanen Sequencer: Added countdown and recording indicator display when recording Also fixed extra popups added post-PIE when animation recordings auto shutdown. Change 2880782 on 2016/02/24 by Max.Chen Sequencer: Snapping now also uses the current time as a possible snap time. #jira UE-26306 Change 2880793 on 2016/02/24 by Max.Chen Sequencer: Add +Animation to Animation track so that it's consistent with all other tracks that have a + button. Change 2880812 on 2016/02/24 by Max.Chen Sequencer: Fix adjusting the leading edge of a shot section so that it cuts into the shot rather than adjusts the start time. #jira UE-26306 Change 2881624 on 2016/02/25 by Andrew.Rodham Changing shader version GUID to fix corrupt shaders in ddc Change 2882408 on 2016/02/25 by Thomas.Sarkanen Asset/actors stored in TLazyObjectPtrs can now reference game content from engine This is a legitimate use case as lazy object ptrs are designed to reference assets/actors cross-domain. Change 2882409 on 2016/02/25 by Thomas.Sarkanen [CL 2899785 by Max Chen in Main branch]
2016-03-08 16:55:04 -05:00
}
Copying //UE4/Dev-Sequencer to //UE4/Main (Source: //UE4/Dev-Sequencer @ 2945541) ========================== MAJOR FEATURES + CHANGES ========================== Change 2837601 on 2016/01/20 by Thomas.Sarkanen Sequencer: Exposed bool, byte, event, fade, float, slomo, and visibility section keys in context menu Change 2840895 on 2016/01/23 by Thomas.Sarkanen Sequencer: Moved key proxy handling from section into key area; added support for grouped keys; exposed color properties in context menu. Change 2901092 on 2016/03/09 by Thomas.Sarkanen Sequencer: Fixed ensure() and crash when exiting PIE & then playing back in editor Made sure that instances that are playing that have active montages can re-connect to a playing montage if it is already active. We dont stop/start preview/non- preview playback when switching modes right now so I've just made the system robust to the switch when playing back animation. Ensured that instances are kept up to date by hooking into EndPlayMapDelegate. This fires slightly later than OnEndPIE, so it allows us to pick up when instances have been deleted from the world. OnEndPIE is fired before the worlds are shutdown so instances can still be bound to valid (but nearly dead) actors at this point. #jira UE-27898 #jira UE-27899 Change 2901159 on 2016/03/09 by Chris.Bunner Allow EXR frames from SaveHighResScreenshot to be uncompressed (r.SaveUncompressedEXRFrames). Change 2903123 on 2016/03/10 by Max.Chen Sequencer: Add snapping for the in/out range. Change 2903126 on 2016/03/10 by Max.Chen Sequencer: Fix split and trim for cinematic shot sections so that the start offset value is set. Change 2903132 on 2016/03/10 by Max.Chen Sequencer: Create camera here and set it as the current camera cut. Change 2903138 on 2016/03/10 by Max.Chen Sequencer: Improve mechanism for adding objects to Sequencer. Hold down shift while dragging from content browser to add as a spawnable. Hold down ctrl while dragging from content browser to add as a possessable. Change 2903143 on 2016/03/10 by Max.Chen Sequencer: Add 4k to movie capture dialog. #jira UE-28147 Change 2903157 on 2016/03/10 by Max.Chen Sequencer: Pop out of locked camera when popping out of the sequence. #jira UE-27662 Change 2908097 on 2016/03/14 by Andrew.Rodham Sequencer: Added default viewport type onto the viewport types menu - The activation command for a given viewport type no longer toggles it if it's already active, it will just do nothing. - Switching back to the default viewport type can be achieved with SHIFT+D Change 2911869 on 2016/03/16 by Max.Preussner Editor: Caching device proxy manager, so the UI doesn't constantly poll for the TargetDeviceServices module Change 2917943 on 2016/03/22 by Thomas.Sarkanen Sequence Recording: Added "Record New Sequence From Current Player" to sub-sequence track menu This option is only available in PIE. When selected it primes a new seciton for recording against the pawn that is currently being controlled by the player. Change 2917946 on 2016/03/22 by Max.Chen Sequencer: Automatically add and attach a cine camera when dropping a crane or rail. Change 2917954 on 2016/03/22 by Thomas.Sarkanen Fix anim dynamics going crazy on time skips Added new API to FAnimNode_Base: NeedsDynamicReset and ResetDynamics. This allows nodes that subscribe to this interface to be reset on teleport/time skips. Call through to ResetDynamics on zero timestep (ie. skips) in the preview path in Sequencer. Change 2917961 on 2016/03/22 by Frank.Fella Sequencer - Sequencer - Update the color track code to match the behavior in matinee, also remove empty light color tracks from the sequence, and add a missing particle parameter track. Change 2917984 on 2016/03/22 by Max.Chen Sequencer: Fix crash on deleting object binding nodes multiple times. Change 2917986 on 2016/03/22 by Max.Chen Sequencer: Fix if adding multiple camera cuts at the same time with the same duration as an existing camera cut. The camera is replaced in this case. Change 2917994 on 2016/03/22 by Jeff.Farris Support for scene depth picker. Used for focus depth sampling in cine cams. Change 2918003 on 2016/03/22 by Max.Chen Sequencer - Fix selection issues related to keying an undo by moving the selection clear on rebuild to after the tree selection state has been cached by path. Change 2920371 on 2016/03/23 by Max.Preussner UnrealEd: Added a file import path that doesn't load the entire file into memory prior to importing UFactory::StaticImport will now call FactoryCreateFile for both text and binary files. The default implementation will load the file into a buffer/string and call FactoryCreateBinary/FactoryCreateText to preserve legacy behavior. New factories may override FactoryCreateFile to perform their own file processing instead. Change 2923359 on 2016/03/25 by Max.Preussner UnrealEd: Refactored out StaticImportObject code into ImportObject Change 2924887 on 2016/03/28 by Jeff.Farris Sequencer: Camera Anim and Camera Shake tracks now support PostProcess changes in the CameraAnim Change 2927283 on 2016/03/30 by Max.Chen Sequencer: Fix crash resetting default in audio track in sequencer. Fix audio track rename when adding another audio. #jira UE-28836, UE-28859 Change 2928290 on 2016/03/30 by Max.Preussner ContentBrowser: Disabling 'Show in Explorer' context menu option for newly created/unsaved asset(s) Change 2928480 on 2016/03/30 by Max.Preussner AssetTools: Added built-in type category for Media assets Change 2928498 on 2016/03/30 by Max.Preussner AssetTools: Sorting asset type categories alphabetically Change 2932326 on 2016/04/04 by Frank.Fella Sequencer - Add "paste from matinee" support for audio tracks, and add volume support to audio sections in sequencer. Change 2933917 on 2016/04/05 by Max.Preussner Core: Added microseconds support to FTimespan Change 2933920 on 2016/04/05 by Max.Preussner Sockets: Simplified socket timeout assignments Change 2935434 on 2016/04/06 by Max.Chen Sequencer: Deselect possessable before converting it to a spawnable and deleting it. Also, make sure the newly converted spawnables are selected. This fixes a bug where the transform gizmo remains after adding a spawnable. Also, consolidate code for adding possessables to sequencer so that the newly added possessable node will be selected in the widget tree. #jira UE-28215 Change 2935590 on 2016/04/06 by Jeff.Farris Made crane rig preview mesh at the tip move as expected and appear in a reasonable place. Change 2936082 on 2016/04/07 by Max.Chen Sequencer: Attach should use default attach component of the actor if it exists. This fixes a bug where trying to attach to a camera crane rig attaches to the proper component. Change 2936118 on 2016/04/07 by Max.Chen Sequencer: Adding crane/rail with shift now adds the crane/rig as a spawnable and the attached cine camera as a spawnable. An attach track is created for the cine camera spawnable. #jira UE-28308 Change 2937226 on 2016/04/07 by Max.Chen Sequencer: Add invalidation when levels are added or removed.This fixes a bug were if you have a level sequence open and then add a sublevel that the level sequence operates on, it correctly updates the actors from the new sub level. #jira UE-27595 Change 2937263 on 2016/04/07 by Frank.Fella Sequencer - Changed the matinee to sequencer conversion tools so that curve keys set to "clamped auto" import as user tangents since we don't support clamped auto in sequencer. Change 2937273 on 2016/04/07 by Max.Chen Sequencer: No longer experimental/betal and now enabled by default. #jira UETOOl-625 Change 2937694 on 2016/04/08 by Max.Chen Curve Editor: Separate out input and output snapping. #jira UE-27209 Change 2937852 on 2016/04/08 by Andrew.Rodham Sequencer: Spawnables no longer use generated classes - Spawnables now store a template actor instance, rather than a generated class - All relevant code has been converted to use this new approach - Spawnable defaults are now harvested directly from any spawned instances when the movie scene is saved, or when the object is de-spawned. We only do this for spawnables *in the currently active sequence instance*. This approach ensures that instance components and other properties persist. - Currently we don't mark the package as dirty when the defaults are changed. This needs to be addressed. - Some fixes have been made to AActor and Actor Iterators to ensure that actors not contained within a level do not crash. - Spawning optimisations to follow Change 2937956 on 2016/04/08 by Max.Preussner Sequencer: Added selection range commands to general toolbar menu Change 2937981 on 2016/04/08 by Max.Preussner Sequencer: Refactored GetKeyHandles to take a time range for filtering keys Change 2938007 on 2016/04/08 by Max.Preussner Sequencer: Implemented selection range key selection Change 2938184 on 2016/04/08 by Max.Chen Sequencer: Find in Content Browser is now in the top level menubar. #jira UE-21598 Change 2938665 on 2016/04/08 by Frank.Fella UMG - Add support for material animation. Change 2939048 on 2016/04/10 by Max.Chen CineCamera: Change current position on rail to normalize position. Change 2939067 on 2016/04/10 by Max.Chen Sequencer: Add paste color from matinee Change 2939587 on 2016/04/11 by Andrew.Rodham Sequencer: Fixes to spawnable rework - Removed commented out code. - Fixed particle system components not disabling auto activate. - Instance Components are now correctly registered on spawn. - Removed ability to set the editable flag on actors in favor of a delegate assigned to SActorDetails to disable property editing on actors spawned from outside of the currently focused sequence. Change 2939666 on 2016/04/11 by Andrew.Rodham Sequencer: Fixed active sequence ID not being set on creation Change 2940663 on 2016/04/12 by Andrew.Rodham Sequencer: Spawnable object templates now always have the RF_ArchetypeObject flag #jira UE-29337, UE-29339 Change 2940742 on 2016/04/12 by Thomas.Sarkanen Improvements to sequence recording API Sequence recording is now more extensible. Moved the majority of recorders into a seperate module. Cleaned up recorder API, removed bRecord that was only really used once. Added factory class as a modular feature that allows users to register and implement their own recorders. Recorders can supply their own settings classes. These are incorporated into the UI via a details customization so they appear to be seamlessly integrated. Exposed components to record as an advanced setting. Users can use this to gate the components and actors that are recorded. #jira UE-28850 - Update sequence recording API for better extensibility Change 2940828 on 2016/04/12 by Max.Chen Level Editor: Clear the camera preview if the level viewport is locked to the same camera. #jira UE-27489 Change 2941090 on 2016/04/12 by Frank.Fella Sequencer - Fix inconsistencies with the level visibility track. + Add an option to update a track instance when it stops playing due to it's parent movie scene being deactivated as a sub-scene. + Reset level visibility state when the section ends, or when it's parent subsection ends. Change 2941427 on 2016/04/12 by Andrew.Rodham Sequencer: Fixes for recorded dynamic components - Dynamic components are now named uniquely within their owner actor, and are no longer re-bound to new object tracks when detached/re-attached - New dynamic components are created every time a new component is detected on an actor, regardless of whether it was once attached before. This affords recording externally managed components from a component pool. - Section recorders for components that are no longer attached to the actor are now disabled correctly. Change 2941760 on 2016/04/12 by Max.Preussner Editor: Setting up correct material expresions when creating material from normal map texture Change 2941819 on 2016/04/13 by Max.Chen Sequencer: Fire named events in all sublevels. #jira UE-28843 Change 2942052 on 2016/04/13 by Andrew.Rodham Sequencer: Fixed not being able to add dynamic material parameter tracks to spawnables when the object is not spawned #jira UE-24287 Change 2942223 on 2016/04/13 by Max.Preussner Editor: Using built-in function to assign sampler format Change 2942833 on 2016/04/13 by Max.Chen Sequencer: More copy matinee helpers. - Make some sections infinite. - Fix FindPossessableObjectId - Expose FindGroupByName Change 2942944 on 2016/04/13 by Max.Chen Sequencer: Fix anim copy so that it doesn't create an animation clip longer than the next clip's start position. Change 2943313 on 2016/04/14 by Max.Chen Sequencer: Initial matinee to level sequence asset converter. Right click on a matinee actor in the level and choose "Convert to Level Sequence" Current supports: - movement tracks - generic property tracks - particle tracks - anim control tracks - event tracks - audio tracks - visibility track - director track (fade, slomo, camera cuts) Possible todos: - Relative scale3D - Option to create spawnables instead of possessables - Create shots per director track camera cut instead of a direct translation to the camera cut track #jira UETOOL-467 Change 2943596 on 2016/04/14 by Andrew.Rodham Editor: Fixed placement mode scrollbar visibility not working for custom content #jira UE-27191 Change 2943651 on 2016/04/14 by Max.Chen Sequencer: Invalidate the audio waveform when the source changes. #jira UE-29394 Change 2943674 on 2016/04/14 by Max.Chen Sequencer: Store/restore playback state when rebuilding. #jira UE-29452 Change 2943993 on 2016/04/14 by Max.Chen Sequencer: Convert slot name from matinee to level sequence. Change 2944156 on 2016/04/14 by Frank.Fella Sequencer - Fix undo when moving items into folders, and when deleting folder. #jira UE-27368 Change 2944227 on 2016/04/14 by Max.Chen Sequencer: Show curves in the curve editor if one of the parent nodes is selected. For example, if Location is selected, show Location.X, Location.Y, and Location.Z Change 2945057 on 2016/04/15 by Andrew.Rodham Editor: Fixed placement mode scrollbar visibility not working for custom content #jira UE-27191 #lockdown nick.penwarden [CL 2945551 by Max Chen in Main branch]
2016-04-15 14:50:58 -04:00
else if (MouseDragType == DRAG_SELECTION_START)
Copying //UE4/Dev-Sequencer to //UE4/Main ========================== MAJOR FEATURES + CHANGES ========================== Change 2875025 on 2016/02/20 by Andrew.Rodham Sequencer: Cinematic viewport improvements - Added optional letterbox overlay (defaults to 2.35:1) - Added ability to change safe frame colors - Added selected tracks' keys to the transport range - Added buttons for jumping between selected tracks' keyframes on the transport controls - Removed black padding around the viewport where possible - Added ability to specify whether a combo button/menu anchor should close when its parent receives focus - Separated logic of FGroupedKeyArea into FSequencerKeyCollection, so it can be used independently - Added playback range to the viewport frame numbers - All frame numbers are now spin boxes #jira UE-26429 Change 2875026 on 2016/02/20 by Thomas.Sarkanen Added console commands for recording sequences Changed plugin to a developer plugin so we can load it when the editor is in -game mode. Added Exec commands. Added some more logging to help diagnose problems when using commands. Added loading/saving of config for recorder settings (stored in Editor.ini). Also disabled controls in recorder window when recording. Added auto-saving of assets when in non-editor modes. Moved animation settings from UnrealEd to Engine module. Change 2875036 on 2016/02/20 by Max.Chen Sequencer: Call RedrawAllViewports instead of RedrawLevelEditingViewports. In particular, this fixes some update issues when editing values in the key editors. #jira UE-26960 Change 2875046 on 2016/02/20 by Max.Preussner Sequencer: Fix so that clicking on UMG Animations doesn't dirty the scene. #jira UE-26249 Change 2875047 on 2016/02/20 by Max.Chen Sequencer: Add option to toggle display of channel colors/lines. View->Channel Colors Change 2877138 on 2016/02/23 by Max.Chen Sequencer: Select corresponding track node when selecting key or section. Removed active/inactive selection since it was only being used in deletion and the rules for deletion are now dependent upon what is selected - delete keys and sections before deleting outliner nodes. Change 2877143 on 2016/02/23 by Thomas.Sarkanen Added new math function: WindRelativeAnglesDegrees Given two angles in degrees, 'wind' the angle in Angle1 so that it avoids >180 degree flips. Good for winding rotations previously expressed as quaternions into a euler-angle representation. Change 2877147 on 2016/02/23 by Thomas.Sarkanen Added the ability to import sequencer transforms from the root node of an animation sequence Intended for use after re-importing animations from DCC tools. Available in the right-click menu for transform tracks. Also added FindTrackBinding to UMovieScene so track bindings can be recovered from tracks. Change 2877163 on 2016/02/23 by Max.Chen Sequencer: Add option to create keyframe sections as infinite. Sequencer defaults to true, UMG defaults to false. Change 2877165 on 2016/02/23 by Max.Preussner Sequencer: Drawing vertical position lines when dragging keys Change 2878748 on 2016/02/23 by Max.Chen Curve Editor: Switch curve type to user when flatting or straightening tangents. #jira UE-27277 Change 2878799 on 2016/02/23 by Frank.Fella Sequencer - Add folders support to the outliner. Change 2880769 on 2016/02/24 by Andrew.Rodham Sequencer: Added ability to override runtime spawnable ownership in sequencer - This is exposed as an option on spawnables "Keep Alive Outside Playback Range (In Sequencer)" - Enabling this will stop spawnables from being destroyed when scrubbing outside of the playback range #jira UE-27205 Change 2880770 on 2016/02/24 by Thomas.Sarkanen Sequencer: Added countdown and recording indicator display when recording Also fixed extra popups added post-PIE when animation recordings auto shutdown. Change 2880782 on 2016/02/24 by Max.Chen Sequencer: Snapping now also uses the current time as a possible snap time. #jira UE-26306 Change 2880793 on 2016/02/24 by Max.Chen Sequencer: Add +Animation to Animation track so that it's consistent with all other tracks that have a + button. Change 2880812 on 2016/02/24 by Max.Chen Sequencer: Fix adjusting the leading edge of a shot section so that it cuts into the shot rather than adjusts the start time. #jira UE-26306 Change 2881624 on 2016/02/25 by Andrew.Rodham Changing shader version GUID to fix corrupt shaders in ddc Change 2882408 on 2016/02/25 by Thomas.Sarkanen Asset/actors stored in TLazyObjectPtrs can now reference game content from engine This is a legitimate use case as lazy object ptrs are designed to reference assets/actors cross-domain. Change 2882409 on 2016/02/25 by Thomas.Sarkanen [CL 2899785 by Max Chen in Main branch]
2016-03-08 16:55:04 -05:00
{
if (MouseEvent.IsShiftDown())
{
SetSelectionRangeStart(MouseDownSelectionRange.GetLowerBoundValue() + DiffFrame);
SetSelectionRangeEnd(MouseDownSelectionRange.GetUpperBoundValue() + DiffFrame);
}
else
{
SetSelectionRangeStart(MouseTime.FrameNumber);
}
Copying //UE4/Dev-Sequencer to //UE4/Main ========================== MAJOR FEATURES + CHANGES ========================== Change 2875025 on 2016/02/20 by Andrew.Rodham Sequencer: Cinematic viewport improvements - Added optional letterbox overlay (defaults to 2.35:1) - Added ability to change safe frame colors - Added selected tracks' keys to the transport range - Added buttons for jumping between selected tracks' keyframes on the transport controls - Removed black padding around the viewport where possible - Added ability to specify whether a combo button/menu anchor should close when its parent receives focus - Separated logic of FGroupedKeyArea into FSequencerKeyCollection, so it can be used independently - Added playback range to the viewport frame numbers - All frame numbers are now spin boxes #jira UE-26429 Change 2875026 on 2016/02/20 by Thomas.Sarkanen Added console commands for recording sequences Changed plugin to a developer plugin so we can load it when the editor is in -game mode. Added Exec commands. Added some more logging to help diagnose problems when using commands. Added loading/saving of config for recorder settings (stored in Editor.ini). Also disabled controls in recorder window when recording. Added auto-saving of assets when in non-editor modes. Moved animation settings from UnrealEd to Engine module. Change 2875036 on 2016/02/20 by Max.Chen Sequencer: Call RedrawAllViewports instead of RedrawLevelEditingViewports. In particular, this fixes some update issues when editing values in the key editors. #jira UE-26960 Change 2875046 on 2016/02/20 by Max.Preussner Sequencer: Fix so that clicking on UMG Animations doesn't dirty the scene. #jira UE-26249 Change 2875047 on 2016/02/20 by Max.Chen Sequencer: Add option to toggle display of channel colors/lines. View->Channel Colors Change 2877138 on 2016/02/23 by Max.Chen Sequencer: Select corresponding track node when selecting key or section. Removed active/inactive selection since it was only being used in deletion and the rules for deletion are now dependent upon what is selected - delete keys and sections before deleting outliner nodes. Change 2877143 on 2016/02/23 by Thomas.Sarkanen Added new math function: WindRelativeAnglesDegrees Given two angles in degrees, 'wind' the angle in Angle1 so that it avoids >180 degree flips. Good for winding rotations previously expressed as quaternions into a euler-angle representation. Change 2877147 on 2016/02/23 by Thomas.Sarkanen Added the ability to import sequencer transforms from the root node of an animation sequence Intended for use after re-importing animations from DCC tools. Available in the right-click menu for transform tracks. Also added FindTrackBinding to UMovieScene so track bindings can be recovered from tracks. Change 2877163 on 2016/02/23 by Max.Chen Sequencer: Add option to create keyframe sections as infinite. Sequencer defaults to true, UMG defaults to false. Change 2877165 on 2016/02/23 by Max.Preussner Sequencer: Drawing vertical position lines when dragging keys Change 2878748 on 2016/02/23 by Max.Chen Curve Editor: Switch curve type to user when flatting or straightening tangents. #jira UE-27277 Change 2878799 on 2016/02/23 by Frank.Fella Sequencer - Add folders support to the outliner. Change 2880769 on 2016/02/24 by Andrew.Rodham Sequencer: Added ability to override runtime spawnable ownership in sequencer - This is exposed as an option on spawnables "Keep Alive Outside Playback Range (In Sequencer)" - Enabling this will stop spawnables from being destroyed when scrubbing outside of the playback range #jira UE-27205 Change 2880770 on 2016/02/24 by Thomas.Sarkanen Sequencer: Added countdown and recording indicator display when recording Also fixed extra popups added post-PIE when animation recordings auto shutdown. Change 2880782 on 2016/02/24 by Max.Chen Sequencer: Snapping now also uses the current time as a possible snap time. #jira UE-26306 Change 2880793 on 2016/02/24 by Max.Chen Sequencer: Add +Animation to Animation track so that it's consistent with all other tracks that have a + button. Change 2880812 on 2016/02/24 by Max.Chen Sequencer: Fix adjusting the leading edge of a shot section so that it cuts into the shot rather than adjusts the start time. #jira UE-26306 Change 2881624 on 2016/02/25 by Andrew.Rodham Changing shader version GUID to fix corrupt shaders in ddc Change 2882408 on 2016/02/25 by Thomas.Sarkanen Asset/actors stored in TLazyObjectPtrs can now reference game content from engine This is a legitimate use case as lazy object ptrs are designed to reference assets/actors cross-domain. Change 2882409 on 2016/02/25 by Thomas.Sarkanen [CL 2899785 by Max Chen in Main branch]
2016-03-08 16:55:04 -05:00
}
// Set the end range time?
Copying //UE4/Dev-Sequencer to //UE4/Main (Source: //UE4/Dev-Sequencer @ 2945541) ========================== MAJOR FEATURES + CHANGES ========================== Change 2837601 on 2016/01/20 by Thomas.Sarkanen Sequencer: Exposed bool, byte, event, fade, float, slomo, and visibility section keys in context menu Change 2840895 on 2016/01/23 by Thomas.Sarkanen Sequencer: Moved key proxy handling from section into key area; added support for grouped keys; exposed color properties in context menu. Change 2901092 on 2016/03/09 by Thomas.Sarkanen Sequencer: Fixed ensure() and crash when exiting PIE & then playing back in editor Made sure that instances that are playing that have active montages can re-connect to a playing montage if it is already active. We dont stop/start preview/non- preview playback when switching modes right now so I've just made the system robust to the switch when playing back animation. Ensured that instances are kept up to date by hooking into EndPlayMapDelegate. This fires slightly later than OnEndPIE, so it allows us to pick up when instances have been deleted from the world. OnEndPIE is fired before the worlds are shutdown so instances can still be bound to valid (but nearly dead) actors at this point. #jira UE-27898 #jira UE-27899 Change 2901159 on 2016/03/09 by Chris.Bunner Allow EXR frames from SaveHighResScreenshot to be uncompressed (r.SaveUncompressedEXRFrames). Change 2903123 on 2016/03/10 by Max.Chen Sequencer: Add snapping for the in/out range. Change 2903126 on 2016/03/10 by Max.Chen Sequencer: Fix split and trim for cinematic shot sections so that the start offset value is set. Change 2903132 on 2016/03/10 by Max.Chen Sequencer: Create camera here and set it as the current camera cut. Change 2903138 on 2016/03/10 by Max.Chen Sequencer: Improve mechanism for adding objects to Sequencer. Hold down shift while dragging from content browser to add as a spawnable. Hold down ctrl while dragging from content browser to add as a possessable. Change 2903143 on 2016/03/10 by Max.Chen Sequencer: Add 4k to movie capture dialog. #jira UE-28147 Change 2903157 on 2016/03/10 by Max.Chen Sequencer: Pop out of locked camera when popping out of the sequence. #jira UE-27662 Change 2908097 on 2016/03/14 by Andrew.Rodham Sequencer: Added default viewport type onto the viewport types menu - The activation command for a given viewport type no longer toggles it if it's already active, it will just do nothing. - Switching back to the default viewport type can be achieved with SHIFT+D Change 2911869 on 2016/03/16 by Max.Preussner Editor: Caching device proxy manager, so the UI doesn't constantly poll for the TargetDeviceServices module Change 2917943 on 2016/03/22 by Thomas.Sarkanen Sequence Recording: Added "Record New Sequence From Current Player" to sub-sequence track menu This option is only available in PIE. When selected it primes a new seciton for recording against the pawn that is currently being controlled by the player. Change 2917946 on 2016/03/22 by Max.Chen Sequencer: Automatically add and attach a cine camera when dropping a crane or rail. Change 2917954 on 2016/03/22 by Thomas.Sarkanen Fix anim dynamics going crazy on time skips Added new API to FAnimNode_Base: NeedsDynamicReset and ResetDynamics. This allows nodes that subscribe to this interface to be reset on teleport/time skips. Call through to ResetDynamics on zero timestep (ie. skips) in the preview path in Sequencer. Change 2917961 on 2016/03/22 by Frank.Fella Sequencer - Sequencer - Update the color track code to match the behavior in matinee, also remove empty light color tracks from the sequence, and add a missing particle parameter track. Change 2917984 on 2016/03/22 by Max.Chen Sequencer: Fix crash on deleting object binding nodes multiple times. Change 2917986 on 2016/03/22 by Max.Chen Sequencer: Fix if adding multiple camera cuts at the same time with the same duration as an existing camera cut. The camera is replaced in this case. Change 2917994 on 2016/03/22 by Jeff.Farris Support for scene depth picker. Used for focus depth sampling in cine cams. Change 2918003 on 2016/03/22 by Max.Chen Sequencer - Fix selection issues related to keying an undo by moving the selection clear on rebuild to after the tree selection state has been cached by path. Change 2920371 on 2016/03/23 by Max.Preussner UnrealEd: Added a file import path that doesn't load the entire file into memory prior to importing UFactory::StaticImport will now call FactoryCreateFile for both text and binary files. The default implementation will load the file into a buffer/string and call FactoryCreateBinary/FactoryCreateText to preserve legacy behavior. New factories may override FactoryCreateFile to perform their own file processing instead. Change 2923359 on 2016/03/25 by Max.Preussner UnrealEd: Refactored out StaticImportObject code into ImportObject Change 2924887 on 2016/03/28 by Jeff.Farris Sequencer: Camera Anim and Camera Shake tracks now support PostProcess changes in the CameraAnim Change 2927283 on 2016/03/30 by Max.Chen Sequencer: Fix crash resetting default in audio track in sequencer. Fix audio track rename when adding another audio. #jira UE-28836, UE-28859 Change 2928290 on 2016/03/30 by Max.Preussner ContentBrowser: Disabling 'Show in Explorer' context menu option for newly created/unsaved asset(s) Change 2928480 on 2016/03/30 by Max.Preussner AssetTools: Added built-in type category for Media assets Change 2928498 on 2016/03/30 by Max.Preussner AssetTools: Sorting asset type categories alphabetically Change 2932326 on 2016/04/04 by Frank.Fella Sequencer - Add "paste from matinee" support for audio tracks, and add volume support to audio sections in sequencer. Change 2933917 on 2016/04/05 by Max.Preussner Core: Added microseconds support to FTimespan Change 2933920 on 2016/04/05 by Max.Preussner Sockets: Simplified socket timeout assignments Change 2935434 on 2016/04/06 by Max.Chen Sequencer: Deselect possessable before converting it to a spawnable and deleting it. Also, make sure the newly converted spawnables are selected. This fixes a bug where the transform gizmo remains after adding a spawnable. Also, consolidate code for adding possessables to sequencer so that the newly added possessable node will be selected in the widget tree. #jira UE-28215 Change 2935590 on 2016/04/06 by Jeff.Farris Made crane rig preview mesh at the tip move as expected and appear in a reasonable place. Change 2936082 on 2016/04/07 by Max.Chen Sequencer: Attach should use default attach component of the actor if it exists. This fixes a bug where trying to attach to a camera crane rig attaches to the proper component. Change 2936118 on 2016/04/07 by Max.Chen Sequencer: Adding crane/rail with shift now adds the crane/rig as a spawnable and the attached cine camera as a spawnable. An attach track is created for the cine camera spawnable. #jira UE-28308 Change 2937226 on 2016/04/07 by Max.Chen Sequencer: Add invalidation when levels are added or removed.This fixes a bug were if you have a level sequence open and then add a sublevel that the level sequence operates on, it correctly updates the actors from the new sub level. #jira UE-27595 Change 2937263 on 2016/04/07 by Frank.Fella Sequencer - Changed the matinee to sequencer conversion tools so that curve keys set to "clamped auto" import as user tangents since we don't support clamped auto in sequencer. Change 2937273 on 2016/04/07 by Max.Chen Sequencer: No longer experimental/betal and now enabled by default. #jira UETOOl-625 Change 2937694 on 2016/04/08 by Max.Chen Curve Editor: Separate out input and output snapping. #jira UE-27209 Change 2937852 on 2016/04/08 by Andrew.Rodham Sequencer: Spawnables no longer use generated classes - Spawnables now store a template actor instance, rather than a generated class - All relevant code has been converted to use this new approach - Spawnable defaults are now harvested directly from any spawned instances when the movie scene is saved, or when the object is de-spawned. We only do this for spawnables *in the currently active sequence instance*. This approach ensures that instance components and other properties persist. - Currently we don't mark the package as dirty when the defaults are changed. This needs to be addressed. - Some fixes have been made to AActor and Actor Iterators to ensure that actors not contained within a level do not crash. - Spawning optimisations to follow Change 2937956 on 2016/04/08 by Max.Preussner Sequencer: Added selection range commands to general toolbar menu Change 2937981 on 2016/04/08 by Max.Preussner Sequencer: Refactored GetKeyHandles to take a time range for filtering keys Change 2938007 on 2016/04/08 by Max.Preussner Sequencer: Implemented selection range key selection Change 2938184 on 2016/04/08 by Max.Chen Sequencer: Find in Content Browser is now in the top level menubar. #jira UE-21598 Change 2938665 on 2016/04/08 by Frank.Fella UMG - Add support for material animation. Change 2939048 on 2016/04/10 by Max.Chen CineCamera: Change current position on rail to normalize position. Change 2939067 on 2016/04/10 by Max.Chen Sequencer: Add paste color from matinee Change 2939587 on 2016/04/11 by Andrew.Rodham Sequencer: Fixes to spawnable rework - Removed commented out code. - Fixed particle system components not disabling auto activate. - Instance Components are now correctly registered on spawn. - Removed ability to set the editable flag on actors in favor of a delegate assigned to SActorDetails to disable property editing on actors spawned from outside of the currently focused sequence. Change 2939666 on 2016/04/11 by Andrew.Rodham Sequencer: Fixed active sequence ID not being set on creation Change 2940663 on 2016/04/12 by Andrew.Rodham Sequencer: Spawnable object templates now always have the RF_ArchetypeObject flag #jira UE-29337, UE-29339 Change 2940742 on 2016/04/12 by Thomas.Sarkanen Improvements to sequence recording API Sequence recording is now more extensible. Moved the majority of recorders into a seperate module. Cleaned up recorder API, removed bRecord that was only really used once. Added factory class as a modular feature that allows users to register and implement their own recorders. Recorders can supply their own settings classes. These are incorporated into the UI via a details customization so they appear to be seamlessly integrated. Exposed components to record as an advanced setting. Users can use this to gate the components and actors that are recorded. #jira UE-28850 - Update sequence recording API for better extensibility Change 2940828 on 2016/04/12 by Max.Chen Level Editor: Clear the camera preview if the level viewport is locked to the same camera. #jira UE-27489 Change 2941090 on 2016/04/12 by Frank.Fella Sequencer - Fix inconsistencies with the level visibility track. + Add an option to update a track instance when it stops playing due to it's parent movie scene being deactivated as a sub-scene. + Reset level visibility state when the section ends, or when it's parent subsection ends. Change 2941427 on 2016/04/12 by Andrew.Rodham Sequencer: Fixes for recorded dynamic components - Dynamic components are now named uniquely within their owner actor, and are no longer re-bound to new object tracks when detached/re-attached - New dynamic components are created every time a new component is detected on an actor, regardless of whether it was once attached before. This affords recording externally managed components from a component pool. - Section recorders for components that are no longer attached to the actor are now disabled correctly. Change 2941760 on 2016/04/12 by Max.Preussner Editor: Setting up correct material expresions when creating material from normal map texture Change 2941819 on 2016/04/13 by Max.Chen Sequencer: Fire named events in all sublevels. #jira UE-28843 Change 2942052 on 2016/04/13 by Andrew.Rodham Sequencer: Fixed not being able to add dynamic material parameter tracks to spawnables when the object is not spawned #jira UE-24287 Change 2942223 on 2016/04/13 by Max.Preussner Editor: Using built-in function to assign sampler format Change 2942833 on 2016/04/13 by Max.Chen Sequencer: More copy matinee helpers. - Make some sections infinite. - Fix FindPossessableObjectId - Expose FindGroupByName Change 2942944 on 2016/04/13 by Max.Chen Sequencer: Fix anim copy so that it doesn't create an animation clip longer than the next clip's start position. Change 2943313 on 2016/04/14 by Max.Chen Sequencer: Initial matinee to level sequence asset converter. Right click on a matinee actor in the level and choose "Convert to Level Sequence" Current supports: - movement tracks - generic property tracks - particle tracks - anim control tracks - event tracks - audio tracks - visibility track - director track (fade, slomo, camera cuts) Possible todos: - Relative scale3D - Option to create spawnables instead of possessables - Create shots per director track camera cut instead of a direct translation to the camera cut track #jira UETOOL-467 Change 2943596 on 2016/04/14 by Andrew.Rodham Editor: Fixed placement mode scrollbar visibility not working for custom content #jira UE-27191 Change 2943651 on 2016/04/14 by Max.Chen Sequencer: Invalidate the audio waveform when the source changes. #jira UE-29394 Change 2943674 on 2016/04/14 by Max.Chen Sequencer: Store/restore playback state when rebuilding. #jira UE-29452 Change 2943993 on 2016/04/14 by Max.Chen Sequencer: Convert slot name from matinee to level sequence. Change 2944156 on 2016/04/14 by Frank.Fella Sequencer - Fix undo when moving items into folders, and when deleting folder. #jira UE-27368 Change 2944227 on 2016/04/14 by Max.Chen Sequencer: Show curves in the curve editor if one of the parent nodes is selected. For example, if Location is selected, show Location.X, Location.Y, and Location.Z Change 2945057 on 2016/04/15 by Andrew.Rodham Editor: Fixed placement mode scrollbar visibility not working for custom content #jira UE-27191 #lockdown nick.penwarden [CL 2945551 by Max Chen in Main branch]
2016-04-15 14:50:58 -04:00
else if(MouseDragType == DRAG_SELECTION_END)
Copying //UE4/Dev-Sequencer to //UE4/Main ========================== MAJOR FEATURES + CHANGES ========================== Change 2875025 on 2016/02/20 by Andrew.Rodham Sequencer: Cinematic viewport improvements - Added optional letterbox overlay (defaults to 2.35:1) - Added ability to change safe frame colors - Added selected tracks' keys to the transport range - Added buttons for jumping between selected tracks' keyframes on the transport controls - Removed black padding around the viewport where possible - Added ability to specify whether a combo button/menu anchor should close when its parent receives focus - Separated logic of FGroupedKeyArea into FSequencerKeyCollection, so it can be used independently - Added playback range to the viewport frame numbers - All frame numbers are now spin boxes #jira UE-26429 Change 2875026 on 2016/02/20 by Thomas.Sarkanen Added console commands for recording sequences Changed plugin to a developer plugin so we can load it when the editor is in -game mode. Added Exec commands. Added some more logging to help diagnose problems when using commands. Added loading/saving of config for recorder settings (stored in Editor.ini). Also disabled controls in recorder window when recording. Added auto-saving of assets when in non-editor modes. Moved animation settings from UnrealEd to Engine module. Change 2875036 on 2016/02/20 by Max.Chen Sequencer: Call RedrawAllViewports instead of RedrawLevelEditingViewports. In particular, this fixes some update issues when editing values in the key editors. #jira UE-26960 Change 2875046 on 2016/02/20 by Max.Preussner Sequencer: Fix so that clicking on UMG Animations doesn't dirty the scene. #jira UE-26249 Change 2875047 on 2016/02/20 by Max.Chen Sequencer: Add option to toggle display of channel colors/lines. View->Channel Colors Change 2877138 on 2016/02/23 by Max.Chen Sequencer: Select corresponding track node when selecting key or section. Removed active/inactive selection since it was only being used in deletion and the rules for deletion are now dependent upon what is selected - delete keys and sections before deleting outliner nodes. Change 2877143 on 2016/02/23 by Thomas.Sarkanen Added new math function: WindRelativeAnglesDegrees Given two angles in degrees, 'wind' the angle in Angle1 so that it avoids >180 degree flips. Good for winding rotations previously expressed as quaternions into a euler-angle representation. Change 2877147 on 2016/02/23 by Thomas.Sarkanen Added the ability to import sequencer transforms from the root node of an animation sequence Intended for use after re-importing animations from DCC tools. Available in the right-click menu for transform tracks. Also added FindTrackBinding to UMovieScene so track bindings can be recovered from tracks. Change 2877163 on 2016/02/23 by Max.Chen Sequencer: Add option to create keyframe sections as infinite. Sequencer defaults to true, UMG defaults to false. Change 2877165 on 2016/02/23 by Max.Preussner Sequencer: Drawing vertical position lines when dragging keys Change 2878748 on 2016/02/23 by Max.Chen Curve Editor: Switch curve type to user when flatting or straightening tangents. #jira UE-27277 Change 2878799 on 2016/02/23 by Frank.Fella Sequencer - Add folders support to the outliner. Change 2880769 on 2016/02/24 by Andrew.Rodham Sequencer: Added ability to override runtime spawnable ownership in sequencer - This is exposed as an option on spawnables "Keep Alive Outside Playback Range (In Sequencer)" - Enabling this will stop spawnables from being destroyed when scrubbing outside of the playback range #jira UE-27205 Change 2880770 on 2016/02/24 by Thomas.Sarkanen Sequencer: Added countdown and recording indicator display when recording Also fixed extra popups added post-PIE when animation recordings auto shutdown. Change 2880782 on 2016/02/24 by Max.Chen Sequencer: Snapping now also uses the current time as a possible snap time. #jira UE-26306 Change 2880793 on 2016/02/24 by Max.Chen Sequencer: Add +Animation to Animation track so that it's consistent with all other tracks that have a + button. Change 2880812 on 2016/02/24 by Max.Chen Sequencer: Fix adjusting the leading edge of a shot section so that it cuts into the shot rather than adjusts the start time. #jira UE-26306 Change 2881624 on 2016/02/25 by Andrew.Rodham Changing shader version GUID to fix corrupt shaders in ddc Change 2882408 on 2016/02/25 by Thomas.Sarkanen Asset/actors stored in TLazyObjectPtrs can now reference game content from engine This is a legitimate use case as lazy object ptrs are designed to reference assets/actors cross-domain. Change 2882409 on 2016/02/25 by Thomas.Sarkanen [CL 2899785 by Max Chen in Main branch]
2016-03-08 16:55:04 -05:00
{
if (MouseEvent.IsShiftDown())
{
SetSelectionRangeStart(MouseDownSelectionRange.GetLowerBoundValue() + DiffFrame);
SetSelectionRangeEnd(MouseDownSelectionRange.GetUpperBoundValue() + DiffFrame);
}
else
{
SetSelectionRangeEnd(MouseTime.FrameNumber);
}
Copying //UE4/Dev-Sequencer to //UE4/Main ========================== MAJOR FEATURES + CHANGES ========================== Change 2875025 on 2016/02/20 by Andrew.Rodham Sequencer: Cinematic viewport improvements - Added optional letterbox overlay (defaults to 2.35:1) - Added ability to change safe frame colors - Added selected tracks' keys to the transport range - Added buttons for jumping between selected tracks' keyframes on the transport controls - Removed black padding around the viewport where possible - Added ability to specify whether a combo button/menu anchor should close when its parent receives focus - Separated logic of FGroupedKeyArea into FSequencerKeyCollection, so it can be used independently - Added playback range to the viewport frame numbers - All frame numbers are now spin boxes #jira UE-26429 Change 2875026 on 2016/02/20 by Thomas.Sarkanen Added console commands for recording sequences Changed plugin to a developer plugin so we can load it when the editor is in -game mode. Added Exec commands. Added some more logging to help diagnose problems when using commands. Added loading/saving of config for recorder settings (stored in Editor.ini). Also disabled controls in recorder window when recording. Added auto-saving of assets when in non-editor modes. Moved animation settings from UnrealEd to Engine module. Change 2875036 on 2016/02/20 by Max.Chen Sequencer: Call RedrawAllViewports instead of RedrawLevelEditingViewports. In particular, this fixes some update issues when editing values in the key editors. #jira UE-26960 Change 2875046 on 2016/02/20 by Max.Preussner Sequencer: Fix so that clicking on UMG Animations doesn't dirty the scene. #jira UE-26249 Change 2875047 on 2016/02/20 by Max.Chen Sequencer: Add option to toggle display of channel colors/lines. View->Channel Colors Change 2877138 on 2016/02/23 by Max.Chen Sequencer: Select corresponding track node when selecting key or section. Removed active/inactive selection since it was only being used in deletion and the rules for deletion are now dependent upon what is selected - delete keys and sections before deleting outliner nodes. Change 2877143 on 2016/02/23 by Thomas.Sarkanen Added new math function: WindRelativeAnglesDegrees Given two angles in degrees, 'wind' the angle in Angle1 so that it avoids >180 degree flips. Good for winding rotations previously expressed as quaternions into a euler-angle representation. Change 2877147 on 2016/02/23 by Thomas.Sarkanen Added the ability to import sequencer transforms from the root node of an animation sequence Intended for use after re-importing animations from DCC tools. Available in the right-click menu for transform tracks. Also added FindTrackBinding to UMovieScene so track bindings can be recovered from tracks. Change 2877163 on 2016/02/23 by Max.Chen Sequencer: Add option to create keyframe sections as infinite. Sequencer defaults to true, UMG defaults to false. Change 2877165 on 2016/02/23 by Max.Preussner Sequencer: Drawing vertical position lines when dragging keys Change 2878748 on 2016/02/23 by Max.Chen Curve Editor: Switch curve type to user when flatting or straightening tangents. #jira UE-27277 Change 2878799 on 2016/02/23 by Frank.Fella Sequencer - Add folders support to the outliner. Change 2880769 on 2016/02/24 by Andrew.Rodham Sequencer: Added ability to override runtime spawnable ownership in sequencer - This is exposed as an option on spawnables "Keep Alive Outside Playback Range (In Sequencer)" - Enabling this will stop spawnables from being destroyed when scrubbing outside of the playback range #jira UE-27205 Change 2880770 on 2016/02/24 by Thomas.Sarkanen Sequencer: Added countdown and recording indicator display when recording Also fixed extra popups added post-PIE when animation recordings auto shutdown. Change 2880782 on 2016/02/24 by Max.Chen Sequencer: Snapping now also uses the current time as a possible snap time. #jira UE-26306 Change 2880793 on 2016/02/24 by Max.Chen Sequencer: Add +Animation to Animation track so that it's consistent with all other tracks that have a + button. Change 2880812 on 2016/02/24 by Max.Chen Sequencer: Fix adjusting the leading edge of a shot section so that it cuts into the shot rather than adjusts the start time. #jira UE-26306 Change 2881624 on 2016/02/25 by Andrew.Rodham Changing shader version GUID to fix corrupt shaders in ddc Change 2882408 on 2016/02/25 by Thomas.Sarkanen Asset/actors stored in TLazyObjectPtrs can now reference game content from engine This is a legitimate use case as lazy object ptrs are designed to reference assets/actors cross-domain. Change 2882409 on 2016/02/25 by Thomas.Sarkanen [CL 2899785 by Max Chen in Main branch]
2016-03-08 16:55:04 -05:00
}
else if (MouseDragType == DRAG_MARK)
{
SetMark(DragMarkIndex, MouseTime.FrameNumber);
}
Copying //UE4/Dev-Sequencer to //UE4/Main ========================== MAJOR FEATURES + CHANGES ========================== Change 2875025 on 2016/02/20 by Andrew.Rodham Sequencer: Cinematic viewport improvements - Added optional letterbox overlay (defaults to 2.35:1) - Added ability to change safe frame colors - Added selected tracks' keys to the transport range - Added buttons for jumping between selected tracks' keyframes on the transport controls - Removed black padding around the viewport where possible - Added ability to specify whether a combo button/menu anchor should close when its parent receives focus - Separated logic of FGroupedKeyArea into FSequencerKeyCollection, so it can be used independently - Added playback range to the viewport frame numbers - All frame numbers are now spin boxes #jira UE-26429 Change 2875026 on 2016/02/20 by Thomas.Sarkanen Added console commands for recording sequences Changed plugin to a developer plugin so we can load it when the editor is in -game mode. Added Exec commands. Added some more logging to help diagnose problems when using commands. Added loading/saving of config for recorder settings (stored in Editor.ini). Also disabled controls in recorder window when recording. Added auto-saving of assets when in non-editor modes. Moved animation settings from UnrealEd to Engine module. Change 2875036 on 2016/02/20 by Max.Chen Sequencer: Call RedrawAllViewports instead of RedrawLevelEditingViewports. In particular, this fixes some update issues when editing values in the key editors. #jira UE-26960 Change 2875046 on 2016/02/20 by Max.Preussner Sequencer: Fix so that clicking on UMG Animations doesn't dirty the scene. #jira UE-26249 Change 2875047 on 2016/02/20 by Max.Chen Sequencer: Add option to toggle display of channel colors/lines. View->Channel Colors Change 2877138 on 2016/02/23 by Max.Chen Sequencer: Select corresponding track node when selecting key or section. Removed active/inactive selection since it was only being used in deletion and the rules for deletion are now dependent upon what is selected - delete keys and sections before deleting outliner nodes. Change 2877143 on 2016/02/23 by Thomas.Sarkanen Added new math function: WindRelativeAnglesDegrees Given two angles in degrees, 'wind' the angle in Angle1 so that it avoids >180 degree flips. Good for winding rotations previously expressed as quaternions into a euler-angle representation. Change 2877147 on 2016/02/23 by Thomas.Sarkanen Added the ability to import sequencer transforms from the root node of an animation sequence Intended for use after re-importing animations from DCC tools. Available in the right-click menu for transform tracks. Also added FindTrackBinding to UMovieScene so track bindings can be recovered from tracks. Change 2877163 on 2016/02/23 by Max.Chen Sequencer: Add option to create keyframe sections as infinite. Sequencer defaults to true, UMG defaults to false. Change 2877165 on 2016/02/23 by Max.Preussner Sequencer: Drawing vertical position lines when dragging keys Change 2878748 on 2016/02/23 by Max.Chen Curve Editor: Switch curve type to user when flatting or straightening tangents. #jira UE-27277 Change 2878799 on 2016/02/23 by Frank.Fella Sequencer - Add folders support to the outliner. Change 2880769 on 2016/02/24 by Andrew.Rodham Sequencer: Added ability to override runtime spawnable ownership in sequencer - This is exposed as an option on spawnables "Keep Alive Outside Playback Range (In Sequencer)" - Enabling this will stop spawnables from being destroyed when scrubbing outside of the playback range #jira UE-27205 Change 2880770 on 2016/02/24 by Thomas.Sarkanen Sequencer: Added countdown and recording indicator display when recording Also fixed extra popups added post-PIE when animation recordings auto shutdown. Change 2880782 on 2016/02/24 by Max.Chen Sequencer: Snapping now also uses the current time as a possible snap time. #jira UE-26306 Change 2880793 on 2016/02/24 by Max.Chen Sequencer: Add +Animation to Animation track so that it's consistent with all other tracks that have a + button. Change 2880812 on 2016/02/24 by Max.Chen Sequencer: Fix adjusting the leading edge of a shot section so that it cuts into the shot rather than adjusts the start time. #jira UE-26306 Change 2881624 on 2016/02/25 by Andrew.Rodham Changing shader version GUID to fix corrupt shaders in ddc Change 2882408 on 2016/02/25 by Thomas.Sarkanen Asset/actors stored in TLazyObjectPtrs can now reference game content from engine This is a legitimate use case as lazy object ptrs are designed to reference assets/actors cross-domain. Change 2882409 on 2016/02/25 by Thomas.Sarkanen [CL 2899785 by Max Chen in Main branch]
2016-03-08 16:55:04 -05:00
else if (MouseDragType == DRAG_SCRUBBING_TIME)
{
// Delegate responsibility for clamping to the current viewrange to the client
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3946692) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3801826 by Max.Chen PR #4304: Level Sequence crash fix - Guarded against dereferencing null componen. (Contributed by DSDambuster) Change 3801828 by Max.Chen PR #4302: Movie Scene Visibility Template unitialised variable, causing random . (Contributed by DSDambuster) Change 3801837 by Max.Chen Sequencer: Delay spawning/construction for convert to possessable. This fixes a bug where property values would be lost when converting back and forth from possessable to spawnable. #jira UE-52400 Change 3801841 by Max.Chen Sequencer: Make spacer nodes not selectable. PR #4194: Improvements to Sequencer (Contributed by projectgheist) #jira UE-53117 #jira UE-52139 Change 3804183 by Max.Preussner MediaAssets: Added missing lock in media sound component Change 3805414 by Max.Preussner MediaAssets: Setting valid GUID when initializing media texture resource Change 3819578 by Max.Chen PR #4370: When enabling the "MovieCapture", do not turn off the Stereo-3D display. (Contributed by yehaike) #jira UE-53647 Change 3823414 by Max.Chen Curve Editor: Lock down the first and last keys in the redundant keys removal range so that they're unaffected. #jira UE-53591 Change 3826406 by Max.Chen Sequencer: Move OnStartedPlaying() to within first update in UpdateTimeCursorPosition(). This fixes an issue where setting the hud/player visibility was getting stomped on later. #jira UE-52772 Change 3827044 by Max.Preussner MediaAssets: Added sprite visualization to media sound component #jira UE-53594 Change 3827988 by Max.Preussner MediaPlayerAssets: Fixed Media Texture is not linked to Media Player when created together #jira UE-53532 Change 3828506 by Max.Preussner MediaPlayerEditor: Added attenuation visualizer for media sound components #jira UE-53594 Change 3832590 by andrew.porter EngineTest: Added a keep state check in Property Animation sequencer test Change 3833053 by andrew.porter EngineTest: Adding Hierarchical Bias test Change 3835683 by andrew.porter EngineTest: Adding UMG Animation screenshot test Change 3836076 by Max.Chen Sequencer: Fix audio volume and pitch multiplier deprecation. Change 3836230 by andrew.porter EngineTest: Adding Sequence Bone Position automation test Change 3836347 by Max.Chen Sequencer: Fixes to shot name parsing. When a shot doesn't contain a shot number, assume, [ShotName]_[TakeNumber]. When duplicating a shot, put the new shot in the same path of the original shot, so that the take numbers will increment properly. #jira UE-51868 Change 3836552 by Max.Chen Sequencer: Sub section now has a takes menu Change 3838094 by Max.Chen UMG: Fix template finish not getting called on stop. This fixes a bug where sections aren't restored when finished. #jira UE-52285 Change 3838708 by Max.Chen Sequencer: Add notification when the blend type is changed. #jira UE-54046 Change 3840295 by Max.Chen Sequencer: Fix copy/paste crash for lights #jira UE-54084 Change 3840957 by Mike.Zyracki Added Show Only Keyable and Show Only Animated to the filter list in the property editor. Added IsPropertyAnimated to IDetailKeyframe Interface which already had support for showing properties which are keyable (which is used for the key icon next to the properties.). Could have created another interface but then would have had to mimic the sequencer binding, releasing also, so this seemed best way. One issue still left is that custom built detail items currently don't store associated properties(usually) and so certain properties, in particulalry transforms, won't show up as keyable or animated. Note this also shows up with the keyable icon not showing up next to transform tracks, and other filters like Show Only Modified not working with transforms/customs. Not sure best way to tackle this. #jira UESEQ-328 Change 3841756 by Max.Chen Sequencer: Fix unbound possessable components when pasting spawnables. #jira UE-54104 Change 3843950 by andrew.porter EngineTest: Renaming LevelStreaming tests/content to LevelVisibility Change 3844082 by Mike.Zyracki Missing file for animated filter in property editor. When finding if a track is animated we need to find it but we can't easily induce the MovieTrack class for any particular property. So we don't set a class for it and just search by it's ID and name. #jira UESEQ-328 Change 3846902 by Max.Preussner ImgMedia: Fixed image media player never finished initialization if loading failed #jira UE-54247 Change 3849820 by Mike.Zyracki Reassigning deleted widgets didn't work since the menu extender mechanism needs a valid UObject in order to perform an operation on it. So to fix we replaced GetObjectBindingContextMenuExtender in WidgetBlueprint with new delegate mechanism (OnBuildCustomContextMenuForGuid) that supports FGuid in addition to UObjects which is needed to handle re-binding deleted widgets. Note that the default sequencer hacks this for replacing deleted actors in SequencerObjectBindingNode to check to see if a LevelSequence is active. We could move to this mechanism there also. #jira UE-53163 Change 3852211 by Max.Chen UMG: Indicate name of the property that is not bound. #jira UE-54350 Change 3854120 by Max.Chen Sequencer: Fix sibling folders being allowed to have the same folder name. #jira UE-54363 Change 3854627 by Max.Chen Sequencer: Step to next/previous key should work for all tracks if there aren't any selected. #jira UESEQ-391 Change 3855825 by andrew.porter EngineTest: Adding animation blending automation test Change 3855950 by andrew.porter EngineTest: Adding correct expected valuues to animation blending test Change 3856237 by Matt.Hoffman UESEQ-336 - Sequencer Track Reordering Adds the ability to re-order Master Tracks, Folders and Object Bindings within sequencer hierarchies (including UMG). Adds the ability to do a one-off sorting of the content under the old sorting behavior if the user wants to reset their layout to how it was under legacy behavior. Modifies SequencerTrackNodes, SequencerFolderNodes and SequencerObjectBindingNodes to handle CanDrop/OnDrop for above, below and ontop of. Fixes a Slate Issue that forcibly expanded a TreeviewRow if an item handled OnDrop. Slate will now only forcibly expand the row if the item says the drop happened ontop of the item, and not above or below it like it previously did. Change 3856503 by andrew.porter EngineTest: Adding automation test for using animation blueprint with blend multi node in sequencer Change 3857875 by Max.Chen Sequencer: Assign the sequence id after the template is compiled. #jira UE-54462 Change 3858344 by Max.Chen Sequencer: Prevent Goto and Transform boxes from overlapping by allowing them to be visible at the same time in an autosized horizontal box. Also, added close button to the goto box. PR #4425: Prevent Goto and Transform boxes from overlapping in Sequencer ... (Contributed by projectgheist) #jira UE-54210 Change 3860566 by andrew.porter MediaFrameworkTest: Set the option to index 0 for the audio and video track list by default Change 3860654 by andrew.porter EngineTest: Enabling Camera Cut + FOV test Change 3860981 by andrew.porter EngineTest: Updating skeletal mesh tests with a delay after set playback position Change 3861256 by Max.Chen Sequencer: Add all bindings if none selected. #jira-54440 Change 3862154 by Andrew.Rodham Added TimeManagement module Change 3862424 by andrew.porter EngineTest: Turned on the test Bone Positions with Blend Multi Node Change 3862573 by andrew.porter EngineTest: Adding test to compare bone positions in a sequence that is blending an animation that is using an AnimBP Change 3865117 by Max.Chen Sequencer: Stop auto scroll on mouse release of movement. #jira UE-31212 Change 3865303 by Max.Chen Sequencer: Add drag and drop transactions #jira UE-54662 Change 3865304 by Max.Chen Sequencer: Fix crash when an actor factory is not found. Change 3865361 by Max.Chen Sequencer: Don't change the camera/shot lock button when popping out of a sequence. #jira UE-54665 Change 3865412 by Max.Chen Sequencer: Determine whether a transform track is for a camera by using the spawned object or template #jira UE-54666 Change 3865685 by Max.Chen Sequencer: Clear autoscrub offset when stopping autoscroll #jira UE-31212 Change 3865886 by Max.Chen Sequence Recorder: Log an error if the number of frames changes while recording. This can happen if the skeleton changes while recording. #jira UE-48715 Change 3866925 by Andrew.Porter MediaFrameworkTest: Changing the current PNG test video image sequence to 1024 x 576 Change 3867705 by andrew.porter QAGame: Adding Audio Sort Sequence to dev folder Change 3867890 by andrew.porter QAGame: Adding a sequence for testing a sorting crash to my dev folder Change 3872628 by Max.Chen Movie Scene Capture: Split delay before warmup into split delay before shot warmup so that there's separate controls for when the movie scene capture warmups up vs. shot boundaries. Change 3873131 by Matt.Hoffman UE-54732 - Crash reordering a folder with a track. This was caused by folders being the only type of track to check if someone was putting a parent track into a child track. Object Binding tracks and Tracks now check as well so that you can't use the above/below drop targets to add parents as children. This also fixed a typo in the localization keys. #jira UE-54732 Change 3873301 by Mike.Zyracki Added ability to support continous euler angle changes when changing rotations, in particularly with the rotation gizmo's. To do this we effectively added a form an of 'euler filter'(https://en.wikipedia.org/wiki/Euler_filter) to find the closest euler angle to the current euler angle. Three functions were added to FRotator to make this possible, one to get the euler angle that's has the same rotation as it, one to get the difference between two euler angles via Manhattan distance and a third using the previous two to choose a Rotator value that's closest to it. We then use these functions before calling UComponent::SetRelativeRotation to make sure we use the correct Euler after the Quat conversion. We also no longer limit(bound) the euler angles to -180,180, which is obviously necessary to avoid flips. I also changed how we caluclate yaw and roll when pitch is -90 or 90 to make it the standard approach of zeroing out roll and just setting yaw. Main reasons are the previous implementation had precision issues so things like 180, 90, -180 would show up due to numbers being nearly zero but negative,(this would break any smooth interpolations), and this facilitates having a 'gimbal' rotation mode (like Maya, Blender etc..) if we ever want that also. If needed we could keep the previous implementation but would need to add some FMath::IsNearlyZero checks, with less performance. Note we only do this special filtering when applying delta's to actors or components in the editors, which then call UComponent::SetRelativeRotationExact, which is a new function to foces the RelativeRotation to be equal to the new rotation. This allows us to store un-nomalized Rotators at the cost that the RotationCache may be broken. We didn't change any of the other UComponent functions that set rotations (via Quats or Transforms) so they will still be bounded and unwound. In SetInternalWorldLocationAndRotation we only set the rotation if the rotation has changed, which fixes the rotation getting changed and re-normalized if just translate happens. In TransformTrackEditor, we correclty use the bUndwing flag and in MovieScene3DTransformSection there was an un-needed winding check there, it will be unwound earlier if needed, which happens if Sequence Recording is happening. Max we should talk about what to do about this . Note the euler angle drag via the widget is still bound to 0-360. I think we should just unbound that now since the rotations value are now unbound. This review now includes fixes suggested by Zak. #jira UE-UE-22228 Change 3873483 by Matt.Hoffman Sequencer Tracks can now be inserted above the spacer at the bottom of the tree. #jira UE-54706 Change 3873899 by Max.Chen Sequencer: Add section selection throbbing Change 3873908 by Max.Chen Movie Scene Capture: Added logging per frame Change 3873924 by Matt.Hoffman Adds the ability to store Sequence Recorder setups into profiles that stay with the map and can be re-loaded later. Profiles store the Actor Recordings so the settings for each actor should carry with them. #jira UESEQ-339 Change 3874726 by Matt.Hoffman Disable drag-and-drop targets on spacers that come between rows in Sequencer. This prevents extra drag/drop targets showing up between each row. #jira UE-54706 Change 3874862 by Matt.Hoffman Audio Track no longer gets reordered when adding sub-audio tracks, as sub-tracks are no longer counted towards the sorting order index when normalizing indexes. #jira UE-54727 Change 3875905 by Matt.Hoffman Disable Fade Track UI if a fade track already exists in the sequence. #jira UESEQ-393 Change 3876163 by Max.Chen Sequencer: Swap the camera object to the camera component's owner if it's not the same. #jira UE-54874 Change 3876971 by Andrew.Porter EngineTest: Moved Media Player Seek test to new folder. Also enabled the test with new ground truth image. Change 3877040 by Max.Chen Cine Camera: Split camera properties to two groups, "Camera Options" and "Camera Settings". The cine camera now hides properties in the "Camera Settings" group so that properties like bConstrainAspectRatio (in the "Camera Options" group) can be visible. #jira UE-54192 Change 3877763 by Max.Chen Curve Editor: Fix curve changed on end drag so that only curves that had keys/tangents that were changed receive notification, otherwise all loaded curves were getting notified that they were changed. #jira UE-54951 Change 3878234 by Matt.Hoffman Disable "Drop Below" targets for Sequencer Tree nodes to prevent a confusing UX issue where dropping underneath a Object Binding Node puts it after the object binding node but the UI looks like it's inserting it inside the Object Binding node. #jira UE-54743 Change 3879359 by Mike.Zyracki If a track is inactive we dim it a bit which seems to be the UE4 way to show inactive or disabled state. We changed the active logic so that all subtracks need to be inactive for the track to also be inactive(instead of all active for active). This conforms to how the active state actually works, e.g if you have two sections and only one is active the track is still active above it. #jira UESEQ-388 Change 3879462 by Max.Chen Sequencer: Allow dragging onto a particular row which would move out any overlapping sections to make space for the newly created section. Newly created sections are now selected and throbbed to draw attention to themselves. #jira UE-54664 Change 3879464 by Max.Chen Sequencer: Fixed overlapping ranges being inserted into the evaluation field during compilation - The issue was that track segments that had been combined with adjacent segments (due to them being identical) would potentially cause a subsequently compiled frame to overlap with a range that had already been inserted into the evaluation field. - The insertion code previously asserted that only minor overlaps were catered for (due to fp rounding errors) and assumed that a supplied range could not entirely contain any other range in the field. - The solution is to supply the insertion time along with the range to know exactly where the data should live in the field, and crop the range to the maximum allowable space between adjacent ranges. #jira UE-54922 Change 3879590 by Matt.Hoffman Items that are now added to the Sequencer via the "+Track" menu will be selected after being added. Items can now be added inside of folders instead of just to the root level. #jira UE-27397 Change 3879612 by Mike.Zyracki Display Nodes with no children are always active. #jira UESEQ-388 Change 3879730 by Matt.Hoffman Sequence Recorder's actor recording groups now remove items from the group when removed via the UI. #jira UESEQ-339 Change 3880256 by Mike.Zyracki Fix issue with inactive display with folders and other track nodes. #jira UESEQ-388 Change 3883491 by Max.Chen Fix issue where tick is skipped due to last ticked pose isn't cleared after AnimInstance changes. Copy from Release-4.19 #jira UE-51323 Change 3883603 by Max.Chen Movie Scene Capture: Add option toggle disable screen percentage. By default this is on (no change in current behavior). #jira UE-51898 Change 3885074 by Max.Preussner MediaCompositing: Resetting media texture & freeing resource on section end; removed dead code Change 3887220 by Max.Preussner MediaCompositing: Defaulted media section duration to 1 sec (since we do not know the actual duration in most cases) Change 3887478 by Matt.Hoffman Sequences now show [Inactive] in their title bars when they're disabled. This helps communicate why a sequence isn't being evaluated. #jira UE-51469 Change 3888985 by Max.Chen Movie Scene Capture: Clamp HDR Compression Quality between 0 and 1. #jira UE-55136 Change 3893519 by Max.Chen Sequence Recorder: Clarified tooltip for bRecordNearbySpawnedActors - spawned actors will still be recorded if they match the ActorFilter. #jira UE-55238 Change 3893546 by Max.Chen Sequence Recorder: If a selected actor already has a recording, add a blank recording. #jira UE-55239 Change 3894044 by Max.Preussner MediaCompositing: Added support for seeking into a media section Change 3894310 by andrew.porter MediaFrameworkTest: Adding Img media sources for 1080 and 2160 ravent test content Change 3894426 by Max.Preussner MediaAssets: Letting media textures with AutoClear retain their clear color when player is reset Change 3895717 by Max.Chen Sequencer: Null checks to prevent crash when saving the default state of a spawnable #jira UE-55304 Change 3897388 by Max.Chen Sequencer: Don't update current time to be within the view range when stepping into a sequence. #jira UE-55322 Change 3897452 by Max.Chen Audio: Fix crash when trying to record audio without any active capture devices. Log warning if the number of input channels is not 1 or 2. #jira UE-55223 Change 3897619 by Max.Preussner MediaCompositing: Removed commented out code Change 3898072 by Max.Chen Sequencer: Override the animation asset in the player state if it doesn't match the animation asset that's being evaluated. #jira UE-55328 Change 3898272 by Max.Preussner MediaPlayerEditor: Made slate brush constants static Change 3898704 by Max.Chen Sequencer: Skip if the binding id's sequence can't be found. #jira UE-55337 Change 3899855 by Max.Preussner MediaCompositingEditor: Added cache state visualization to media track Change 3900300 by Max.Preussner MediaCompositingEditor: Added loop indicators to media sections Change 3900694 by Max.Preussner ImfMedia: Looping cache only when player is looping Change 3900892 by Max.Preussner Stats: Added stats category for media framework Change 3900954 by Max.Preussner MediaCompositing: Don't evaluate at the end of media section Change 3901348 by Max.Preussner Core: Replaced TLruCache autos for better readability Change 3901655 by Max.Preussner ImgMedia: Added more perf stats to EXR reader Change 3901972 by Max.Preussner MediaAssets: Added getter for media player in media sound components Change 3902233 by Max.Preussner MediaAssets: Enabling media textures to receive samples right after player is assigned Change 3902238 by Max.Preussner MediaCompositing: Working around init/shutdown idiosyncracies in sequencer Change 3904045 by Max.Chen Sequencer: Fix copy/paste crash. Only process UMovieSceneCopyableBinding and objects that can be spawned by the movie scene spawn register. #jira UE-55314 Change 3905605 by Max.Chen Sequencer: Restrict spawnables from being created if they have a ClassWithin that UMovieScene is not a child of. #jira UE-55429 Change 3906550 by Max.Chen Sequencer: Add media track icon #jira UE-55480 Change 3907101 by Max.Chen Sequence Recorder: Fix bugs related to not recording a level sequence. There were certain assumptions that creating a level sequence meant that sequence recording was in progress. This is not always the case - the recorders can record animation assets and not create a level sequence. Changed the notion of IsRecording() to having at least one actor recording that is recording. Countdown timer, recording displays, etc should function if IsRecording() and not based on whether a level sequence is created. #jira UE-55485 Change 3907247 by Max.Chen Sequence Recorder: Fix crash not removing PrepareToCleanseEditorObject delegate. Repros when opening sequence recorder, closing it, and then opening or creating a level. Change 3910343 by Max.Preussner Core: Added async helper for executing functions on a given thread pool Change 3910346 by Max.Preussner ImgMedia: Added separate thread pools for loading/decoding and deleting image frames Change 3910829 by Max.Preussner Profiler: Increased visible range of profiler graph Change 3910841 by Max.Preussner MediaCompositing: Displaying asset name instead of full media source path in media section Change 3910870 by Max.Preussner ImgMedia: Using deallocation thread pool only in debug builds Change 3919642 by Max.Chen Sequence Recorder: Clarify active tooltip #jira UE-55661 Change 3919660 by Max.Chen Sequencer: Sequence template source signatures are now also compared to catch the case where a sub-sequence asset has been saved but not modified - The following sequence of events exposes this issue: - Create a master sequence with a single shot that spawns a cube - Add this sequence to a level and set it to auto-play - Save everything and restart - Resave just the inner shot asset without opening it - PIE - The inner shot never spawns its cube because its template was wiped on save, but its signature never changed. Since the master sequence previously didn't check the template source signature, it ends up trying to evaluate an empty template. #jira UE-55626 #jira UE-55490 Change 3921825 by Max.Chen Sequencer: "Run Construction Script in Sequencer" is off by default for blueprints but on for Sequencer. This allows the content author to switch it on for specific blueprints and sequencer will be default, run those with construction scripts enabled. Change 3922232 by Max.Chen Sequence Recorder: Reset countdelay on stop. #jira UE-55755 Change 3922306 by Max.Chen Sequence Recorder: Don't automatically mark transforms to be recorded by sequence recorder. Instead, log a warning if the user toggled it off to warn that the resulting animation might not match gameplay. #jira UE-55758 Change 3922912 by Max.Chen Sequence Recorder: Fix refresh next sequence name #jira UE-55757 Change 3927654 by Max.Chen Movie Scene Capture: Added format mapping for the name of the current camera #jira UE-55769 PR #4537 Change 3927658 by Max.Chen Sequencer: Added fbx property mapping for "FocusDistance" to "FocusSettings.ManualFocusDistance" #jira UE-55782 Change 3932022 by Max.Chen Sequencer: Add import animation track section to next available row index. #jira UE-55892 Change 3933919 by Max.Chen Sequencer: Jump to playback start frame and not 0 to start playback for recording. #jira UE-55933 Change 3934307 by Andrew.Rodham Sequencer: Add template signature that is re-generated every time the base template is regenerated, which invalidates evaluation fields This fixes an issue where the same sequence is instantiated multiple times in a sequence. If the source sequence was saved, its template would be wiped, which would invalidate the template ID When an instance tries to evaluate the master template, it would only invalidate a range in the evaluation field that was the hull of any invalid sub sequences overlapping the current time, potentially leaving invalid data in the evaluation field at positions later (or earlier) on in the sequence When the sub template was re-generated, it receives the same SequenceSignature as it had before (because the sequence hasn't actually changed), which causes the stale evaluation field data to fail the IsDirty check (because the sequence is the same as it thought, but the *template* has changed) This has been addressed be adding a signature to templates themselves, and checking both the template signature and sequence signature as a part of the IsDirty check. This ensures that we regenerate if either the template, or the sequence have changed. #jira UE-55934 Change 3936327 by Andrew.Rodham Sequencer: Removed increment when trimming right UMovieSceneSection::TrimSection already explicity assigns an exclusive bound to the time passed in. The new behavior means we can trim a section to the right, and insert another section without changing the time to create adjacent sections. #jira UE-42652 Change 3936328 by Andrew.Rodham Fixed KeyFrameManipulator assignment operators and copy/move constructors - These types are potentially self-referential so cannot use default constructors/assignment Change 3936330 by Andrew.Rodham Converted UMGSequencePlayer to use frames internally #jira UE-54878 Change 3936726 by Max.Chen Sequencer: Set track node as the parent of the key area node. The key area switcher needs the object binding id from the parent object binding node. Without this, the binding to the external value fails. #jira UE-55931 Change 3936775 by Max.Chen Sequencer: Should stop or loop should compare DurationFrames with Current Time from StartTime. The bug is that if you set 30 warmup frames in movie rendering for a range of 0-100, the FrameRange will be starting at -30 and have a duration of 130. Without this fix, the playback will continue until frame 130, rather than 100. #jira UE-55933 Change 3936935 by Matt.Hoffman Easing Curves are now represented in Play Rate resolution instead of internal resolution. #jira UE-55937 Change 3937069 by Matt.Hoffman Users can toggle if the is infinite on each side, limited by which tracks support infinite ranges. #jira UE-55891 Change 3937516 by Max.Preussner ImgMedia: Added support for single-threaded platforms #jira UE-55986 Change 3937826 by Max.Preussner MediaAssets: Disabling media sound components on HTML5 if AudioMixer is not enabled Change 3937997 by Max.Chen Curve Editor: Add Zoom to Fit Curves so that selected curves from Sequencer can be focused on. Tested that undo doesn't re-zoom. #jira UE-55935 Change 3938000 by Max.Chen Sequencer: Stop all sounds before generating audio waveforms. #jira UE-55951 Change 3938376 by Max.Preussner XGEController: Disabled XGE Controller in single-threaded apps to prevent crash Change 3938444 by Max.Preussner Core: Added async support for single-threaded applications Change 3938445 by Max.Preussner Networking: Added support for single-threaded applications in UDP socket sender/receiver Change 3938447 by Max.Preussner Messaging: Added support for single-threaded applications Change 3939432 by Max.Chen Sequence Recorder: Append command list to global level editor actions so that shortcuts are accessible in level editor. #jira UE-55798 Change 3940229 by Andrew.Rodham Added prospective display rate upgrade to UMovieScene::PostLoad - There was previously some very odd behaviour that would assign the fixed frame interval only when a sub sequence was focused in SSequencer. This meant that many sequences could have a frame interval of 0 set in the data. - Under the old method of snap interval display this would have fallen back to getting the display interval from the sequencer settings, but we no longer look at these. - The USequencerSettings properties have been removed and in their place, a prospective data upgrade for sequences that have a fixed frame interval old 0fps that sets the play rate to the previous defaults based off the old USequencerSettings defaults. - This could end up 'changing' the display rate for sequences where the user has changed the snap interval in the settings for a particular sequence editor, but there's not much we can do about that given we don't have access to the USequencerSettings classes in UMovieScene #jira UE-55919 Change 3940277 by Andrew.Rodham Sequencer: Added ability to default frame resolutions and play rates for newly created actor sequences Change 3940378 by Andrew.Rodham Sequencer: Post move import dialog now defaults to the playback framerate of the sequence, and floors to frame numbers Change 3940559 by Andrew.Rodham Reinstated primed or recording sequence color Change 3940642 by Max.Preussner ImagePlate: Removed image plate media playback functionality Change 3940843 by Max.Preussner Core: Made TCircularQueue actually thread-safe; improved code comments Change 3940860 by Max.Chen Sequencer: Changed StructNameToKey to StructPathToKey Previously, keying a PropertyPath of [RenderTransform][Shear][X] would get trimmed to X, which doesn't map to a channel name as considered by Sequencer2dTransformTrackEditor. Instead, trim the resulting property path to [Shear][X] so that track editors can determine the desired struct path and channels to key. #jira UE-52966 Change 3941292 by Mike.Zyracki Fix for trajectories out of range not showing up. 1) If we had no key data we would pop the time, so wouldn't get the section ranges. 2) Calculating of upper bound was wrong, checking against -1 and not key == num of keys when doing algo::lower_bound. 3) No need to do the Bck-- for the bakward iterators since we fixed #2. We start now from the upper bound correctly. 4) If we had no keys (at section start,end) we would incorrectly say we were any key type, so since we draw constant keys as dashed we would do so incorrectly around section end points. #jira UE-55929 Change 3941424 by Max.Chen Curve Editor: Change Zoom to Fit to use TArrayView Change 3941498 by Max.Preussner Core: Added FMath::DivideAndRoundNearest function Change 3942097 by Matt.Hoffman Drop Frame Timecode Support for NTSC rates. Change 3942104 by Matt.Hoffman Sequence Recorder Group is no longer visible inside the World Outliner after using one. #jira 55266 Change 3942107 by Max.Chen Sequencer: Resurrect logic to find or extend an existing section when adding keys. Change 3942330 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942339 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942507 by Andrew.Rodham Sequencer: We no longer pad the time overlap threshold with a small number that is not scaled by the current zoom level - The presence of this pad was causing keys that were far apart to be grouped when zoomed in a long way Change 3942509 by Andrew.Rodham Sequencer: Only pad total view range, rather than section range as well when retrieving keys to render - This stops us from rendering keys that are within the view range, but outside the section range Change 3942512 by Andrew.Rodham Added transactions to some sequencer details customizations Change 3942513 by Andrew.Rodham Sequencer: Reinstated validation checks to UMovieSceneSection::SetStartFrame and SetEndFrame, changed erroneous uses to use SetRange Change 3942560 by Andrew.Rodham Pass by rvalue reference to appease error C2719 on Win32 ('InChannels': formal parameter with requested alignment of 8 won't be aligned) Change 3942697 by Andrew.Rodham Newly Created Level Sequences and Actor Sequences now default to 24000 fps frame resolution (+/- ~24hrs range, supporting all integer rates + 23.976) Change 3942700 by Andrew.Rodham Sequencer: Added legacy out-of-bounds errors for times that are not supported by the current legacy upgrade frame resolution Change 3942989 by Max.Preussner Core: Fixed circular queue count calculation Change 3943538 by Max.Preussner MediaAssets: Reverted workaround for procedural audio log spam in HTML5 (Actor component initialization cannot be skipped if the component is used in a level) Change 3944071 by Max.Preussner QAGame: Fixed Media Texture keeps last frame of Media when PIE ends #jira UE-53360 Change 3944292 by Max.Chen Sequencer: Added extra flags to ensure that asset initialization does not occur on template actor sequences #jira UE-56113 Change 3944364 by Max.Chen Sequencer: Prevent circular shot/master tracks. Tested adding master -> child -> master as drag and drop cinematic shot tracks and sub tracks as well as through the + button. #jira UE-56091 Change 3944422 by Max.Chen Sequence Recorder: Disable transform recording if off. #jira UE-56061 Change 3944745 by Andrew.Rodham Sequencer: Key rendering fixes - Fixed assert that occured when keys happened to reside on some times due to KeyTime + TimeOverlapThreshold - KeyTime being slightly larger TimeOverlapThreshold - Fixed keys sometimes being clipped when zoomed right in due to lack of half-frame offset - Added missing documentation to MovieSceneTimeHelpers.h #jira UE-56107 Change 3945231 by Andrew.Rodham Sequencer: Reconstruct channel proxy on Serialize to catch all cases of undo/redo, PostLoad and duplication #jira UE-56089 Change 3945301 by Andrew.Rodham Sequencer: Added safety checks during initial sequence recording to guard against applying negative or 0-sized sequence ranges #jira UE-56125 Change 3946627 by Max.Preussner Fortnite: Fixed game crashes closing editor while in PIE - Pure virtual function being called #jira UE-56144 [CL 3946896 by Max Chen in Main branch]
2018-03-14 22:09:33 -04:00
CommitScrubPosition( ScrubTime, /*bIsScrubbing=*/true );
Copying //UE4/Dev-Sequencer to //UE4/Main ========================== MAJOR FEATURES + CHANGES ========================== Change 2875025 on 2016/02/20 by Andrew.Rodham Sequencer: Cinematic viewport improvements - Added optional letterbox overlay (defaults to 2.35:1) - Added ability to change safe frame colors - Added selected tracks' keys to the transport range - Added buttons for jumping between selected tracks' keyframes on the transport controls - Removed black padding around the viewport where possible - Added ability to specify whether a combo button/menu anchor should close when its parent receives focus - Separated logic of FGroupedKeyArea into FSequencerKeyCollection, so it can be used independently - Added playback range to the viewport frame numbers - All frame numbers are now spin boxes #jira UE-26429 Change 2875026 on 2016/02/20 by Thomas.Sarkanen Added console commands for recording sequences Changed plugin to a developer plugin so we can load it when the editor is in -game mode. Added Exec commands. Added some more logging to help diagnose problems when using commands. Added loading/saving of config for recorder settings (stored in Editor.ini). Also disabled controls in recorder window when recording. Added auto-saving of assets when in non-editor modes. Moved animation settings from UnrealEd to Engine module. Change 2875036 on 2016/02/20 by Max.Chen Sequencer: Call RedrawAllViewports instead of RedrawLevelEditingViewports. In particular, this fixes some update issues when editing values in the key editors. #jira UE-26960 Change 2875046 on 2016/02/20 by Max.Preussner Sequencer: Fix so that clicking on UMG Animations doesn't dirty the scene. #jira UE-26249 Change 2875047 on 2016/02/20 by Max.Chen Sequencer: Add option to toggle display of channel colors/lines. View->Channel Colors Change 2877138 on 2016/02/23 by Max.Chen Sequencer: Select corresponding track node when selecting key or section. Removed active/inactive selection since it was only being used in deletion and the rules for deletion are now dependent upon what is selected - delete keys and sections before deleting outliner nodes. Change 2877143 on 2016/02/23 by Thomas.Sarkanen Added new math function: WindRelativeAnglesDegrees Given two angles in degrees, 'wind' the angle in Angle1 so that it avoids >180 degree flips. Good for winding rotations previously expressed as quaternions into a euler-angle representation. Change 2877147 on 2016/02/23 by Thomas.Sarkanen Added the ability to import sequencer transforms from the root node of an animation sequence Intended for use after re-importing animations from DCC tools. Available in the right-click menu for transform tracks. Also added FindTrackBinding to UMovieScene so track bindings can be recovered from tracks. Change 2877163 on 2016/02/23 by Max.Chen Sequencer: Add option to create keyframe sections as infinite. Sequencer defaults to true, UMG defaults to false. Change 2877165 on 2016/02/23 by Max.Preussner Sequencer: Drawing vertical position lines when dragging keys Change 2878748 on 2016/02/23 by Max.Chen Curve Editor: Switch curve type to user when flatting or straightening tangents. #jira UE-27277 Change 2878799 on 2016/02/23 by Frank.Fella Sequencer - Add folders support to the outliner. Change 2880769 on 2016/02/24 by Andrew.Rodham Sequencer: Added ability to override runtime spawnable ownership in sequencer - This is exposed as an option on spawnables "Keep Alive Outside Playback Range (In Sequencer)" - Enabling this will stop spawnables from being destroyed when scrubbing outside of the playback range #jira UE-27205 Change 2880770 on 2016/02/24 by Thomas.Sarkanen Sequencer: Added countdown and recording indicator display when recording Also fixed extra popups added post-PIE when animation recordings auto shutdown. Change 2880782 on 2016/02/24 by Max.Chen Sequencer: Snapping now also uses the current time as a possible snap time. #jira UE-26306 Change 2880793 on 2016/02/24 by Max.Chen Sequencer: Add +Animation to Animation track so that it's consistent with all other tracks that have a + button. Change 2880812 on 2016/02/24 by Max.Chen Sequencer: Fix adjusting the leading edge of a shot section so that it cuts into the shot rather than adjusts the start time. #jira UE-26306 Change 2881624 on 2016/02/25 by Andrew.Rodham Changing shader version GUID to fix corrupt shaders in ddc Change 2882408 on 2016/02/25 by Thomas.Sarkanen Asset/actors stored in TLazyObjectPtrs can now reference game content from engine This is a legitimate use case as lazy object ptrs are designed to reference assets/actors cross-domain. Change 2882409 on 2016/02/25 by Thomas.Sarkanen [CL 2899785 by Max Chen in Main branch]
2016-03-08 16:55:04 -05:00
}
else if (MouseDragType == DRAG_SETTING_RANGE)
{
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3946692) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3801826 by Max.Chen PR #4304: Level Sequence crash fix - Guarded against dereferencing null componen. (Contributed by DSDambuster) Change 3801828 by Max.Chen PR #4302: Movie Scene Visibility Template unitialised variable, causing random . (Contributed by DSDambuster) Change 3801837 by Max.Chen Sequencer: Delay spawning/construction for convert to possessable. This fixes a bug where property values would be lost when converting back and forth from possessable to spawnable. #jira UE-52400 Change 3801841 by Max.Chen Sequencer: Make spacer nodes not selectable. PR #4194: Improvements to Sequencer (Contributed by projectgheist) #jira UE-53117 #jira UE-52139 Change 3804183 by Max.Preussner MediaAssets: Added missing lock in media sound component Change 3805414 by Max.Preussner MediaAssets: Setting valid GUID when initializing media texture resource Change 3819578 by Max.Chen PR #4370: When enabling the "MovieCapture", do not turn off the Stereo-3D display. (Contributed by yehaike) #jira UE-53647 Change 3823414 by Max.Chen Curve Editor: Lock down the first and last keys in the redundant keys removal range so that they're unaffected. #jira UE-53591 Change 3826406 by Max.Chen Sequencer: Move OnStartedPlaying() to within first update in UpdateTimeCursorPosition(). This fixes an issue where setting the hud/player visibility was getting stomped on later. #jira UE-52772 Change 3827044 by Max.Preussner MediaAssets: Added sprite visualization to media sound component #jira UE-53594 Change 3827988 by Max.Preussner MediaPlayerAssets: Fixed Media Texture is not linked to Media Player when created together #jira UE-53532 Change 3828506 by Max.Preussner MediaPlayerEditor: Added attenuation visualizer for media sound components #jira UE-53594 Change 3832590 by andrew.porter EngineTest: Added a keep state check in Property Animation sequencer test Change 3833053 by andrew.porter EngineTest: Adding Hierarchical Bias test Change 3835683 by andrew.porter EngineTest: Adding UMG Animation screenshot test Change 3836076 by Max.Chen Sequencer: Fix audio volume and pitch multiplier deprecation. Change 3836230 by andrew.porter EngineTest: Adding Sequence Bone Position automation test Change 3836347 by Max.Chen Sequencer: Fixes to shot name parsing. When a shot doesn't contain a shot number, assume, [ShotName]_[TakeNumber]. When duplicating a shot, put the new shot in the same path of the original shot, so that the take numbers will increment properly. #jira UE-51868 Change 3836552 by Max.Chen Sequencer: Sub section now has a takes menu Change 3838094 by Max.Chen UMG: Fix template finish not getting called on stop. This fixes a bug where sections aren't restored when finished. #jira UE-52285 Change 3838708 by Max.Chen Sequencer: Add notification when the blend type is changed. #jira UE-54046 Change 3840295 by Max.Chen Sequencer: Fix copy/paste crash for lights #jira UE-54084 Change 3840957 by Mike.Zyracki Added Show Only Keyable and Show Only Animated to the filter list in the property editor. Added IsPropertyAnimated to IDetailKeyframe Interface which already had support for showing properties which are keyable (which is used for the key icon next to the properties.). Could have created another interface but then would have had to mimic the sequencer binding, releasing also, so this seemed best way. One issue still left is that custom built detail items currently don't store associated properties(usually) and so certain properties, in particulalry transforms, won't show up as keyable or animated. Note this also shows up with the keyable icon not showing up next to transform tracks, and other filters like Show Only Modified not working with transforms/customs. Not sure best way to tackle this. #jira UESEQ-328 Change 3841756 by Max.Chen Sequencer: Fix unbound possessable components when pasting spawnables. #jira UE-54104 Change 3843950 by andrew.porter EngineTest: Renaming LevelStreaming tests/content to LevelVisibility Change 3844082 by Mike.Zyracki Missing file for animated filter in property editor. When finding if a track is animated we need to find it but we can't easily induce the MovieTrack class for any particular property. So we don't set a class for it and just search by it's ID and name. #jira UESEQ-328 Change 3846902 by Max.Preussner ImgMedia: Fixed image media player never finished initialization if loading failed #jira UE-54247 Change 3849820 by Mike.Zyracki Reassigning deleted widgets didn't work since the menu extender mechanism needs a valid UObject in order to perform an operation on it. So to fix we replaced GetObjectBindingContextMenuExtender in WidgetBlueprint with new delegate mechanism (OnBuildCustomContextMenuForGuid) that supports FGuid in addition to UObjects which is needed to handle re-binding deleted widgets. Note that the default sequencer hacks this for replacing deleted actors in SequencerObjectBindingNode to check to see if a LevelSequence is active. We could move to this mechanism there also. #jira UE-53163 Change 3852211 by Max.Chen UMG: Indicate name of the property that is not bound. #jira UE-54350 Change 3854120 by Max.Chen Sequencer: Fix sibling folders being allowed to have the same folder name. #jira UE-54363 Change 3854627 by Max.Chen Sequencer: Step to next/previous key should work for all tracks if there aren't any selected. #jira UESEQ-391 Change 3855825 by andrew.porter EngineTest: Adding animation blending automation test Change 3855950 by andrew.porter EngineTest: Adding correct expected valuues to animation blending test Change 3856237 by Matt.Hoffman UESEQ-336 - Sequencer Track Reordering Adds the ability to re-order Master Tracks, Folders and Object Bindings within sequencer hierarchies (including UMG). Adds the ability to do a one-off sorting of the content under the old sorting behavior if the user wants to reset their layout to how it was under legacy behavior. Modifies SequencerTrackNodes, SequencerFolderNodes and SequencerObjectBindingNodes to handle CanDrop/OnDrop for above, below and ontop of. Fixes a Slate Issue that forcibly expanded a TreeviewRow if an item handled OnDrop. Slate will now only forcibly expand the row if the item says the drop happened ontop of the item, and not above or below it like it previously did. Change 3856503 by andrew.porter EngineTest: Adding automation test for using animation blueprint with blend multi node in sequencer Change 3857875 by Max.Chen Sequencer: Assign the sequence id after the template is compiled. #jira UE-54462 Change 3858344 by Max.Chen Sequencer: Prevent Goto and Transform boxes from overlapping by allowing them to be visible at the same time in an autosized horizontal box. Also, added close button to the goto box. PR #4425: Prevent Goto and Transform boxes from overlapping in Sequencer ... (Contributed by projectgheist) #jira UE-54210 Change 3860566 by andrew.porter MediaFrameworkTest: Set the option to index 0 for the audio and video track list by default Change 3860654 by andrew.porter EngineTest: Enabling Camera Cut + FOV test Change 3860981 by andrew.porter EngineTest: Updating skeletal mesh tests with a delay after set playback position Change 3861256 by Max.Chen Sequencer: Add all bindings if none selected. #jira-54440 Change 3862154 by Andrew.Rodham Added TimeManagement module Change 3862424 by andrew.porter EngineTest: Turned on the test Bone Positions with Blend Multi Node Change 3862573 by andrew.porter EngineTest: Adding test to compare bone positions in a sequence that is blending an animation that is using an AnimBP Change 3865117 by Max.Chen Sequencer: Stop auto scroll on mouse release of movement. #jira UE-31212 Change 3865303 by Max.Chen Sequencer: Add drag and drop transactions #jira UE-54662 Change 3865304 by Max.Chen Sequencer: Fix crash when an actor factory is not found. Change 3865361 by Max.Chen Sequencer: Don't change the camera/shot lock button when popping out of a sequence. #jira UE-54665 Change 3865412 by Max.Chen Sequencer: Determine whether a transform track is for a camera by using the spawned object or template #jira UE-54666 Change 3865685 by Max.Chen Sequencer: Clear autoscrub offset when stopping autoscroll #jira UE-31212 Change 3865886 by Max.Chen Sequence Recorder: Log an error if the number of frames changes while recording. This can happen if the skeleton changes while recording. #jira UE-48715 Change 3866925 by Andrew.Porter MediaFrameworkTest: Changing the current PNG test video image sequence to 1024 x 576 Change 3867705 by andrew.porter QAGame: Adding Audio Sort Sequence to dev folder Change 3867890 by andrew.porter QAGame: Adding a sequence for testing a sorting crash to my dev folder Change 3872628 by Max.Chen Movie Scene Capture: Split delay before warmup into split delay before shot warmup so that there's separate controls for when the movie scene capture warmups up vs. shot boundaries. Change 3873131 by Matt.Hoffman UE-54732 - Crash reordering a folder with a track. This was caused by folders being the only type of track to check if someone was putting a parent track into a child track. Object Binding tracks and Tracks now check as well so that you can't use the above/below drop targets to add parents as children. This also fixed a typo in the localization keys. #jira UE-54732 Change 3873301 by Mike.Zyracki Added ability to support continous euler angle changes when changing rotations, in particularly with the rotation gizmo's. To do this we effectively added a form an of 'euler filter'(https://en.wikipedia.org/wiki/Euler_filter) to find the closest euler angle to the current euler angle. Three functions were added to FRotator to make this possible, one to get the euler angle that's has the same rotation as it, one to get the difference between two euler angles via Manhattan distance and a third using the previous two to choose a Rotator value that's closest to it. We then use these functions before calling UComponent::SetRelativeRotation to make sure we use the correct Euler after the Quat conversion. We also no longer limit(bound) the euler angles to -180,180, which is obviously necessary to avoid flips. I also changed how we caluclate yaw and roll when pitch is -90 or 90 to make it the standard approach of zeroing out roll and just setting yaw. Main reasons are the previous implementation had precision issues so things like 180, 90, -180 would show up due to numbers being nearly zero but negative,(this would break any smooth interpolations), and this facilitates having a 'gimbal' rotation mode (like Maya, Blender etc..) if we ever want that also. If needed we could keep the previous implementation but would need to add some FMath::IsNearlyZero checks, with less performance. Note we only do this special filtering when applying delta's to actors or components in the editors, which then call UComponent::SetRelativeRotationExact, which is a new function to foces the RelativeRotation to be equal to the new rotation. This allows us to store un-nomalized Rotators at the cost that the RotationCache may be broken. We didn't change any of the other UComponent functions that set rotations (via Quats or Transforms) so they will still be bounded and unwound. In SetInternalWorldLocationAndRotation we only set the rotation if the rotation has changed, which fixes the rotation getting changed and re-normalized if just translate happens. In TransformTrackEditor, we correclty use the bUndwing flag and in MovieScene3DTransformSection there was an un-needed winding check there, it will be unwound earlier if needed, which happens if Sequence Recording is happening. Max we should talk about what to do about this . Note the euler angle drag via the widget is still bound to 0-360. I think we should just unbound that now since the rotations value are now unbound. This review now includes fixes suggested by Zak. #jira UE-UE-22228 Change 3873483 by Matt.Hoffman Sequencer Tracks can now be inserted above the spacer at the bottom of the tree. #jira UE-54706 Change 3873899 by Max.Chen Sequencer: Add section selection throbbing Change 3873908 by Max.Chen Movie Scene Capture: Added logging per frame Change 3873924 by Matt.Hoffman Adds the ability to store Sequence Recorder setups into profiles that stay with the map and can be re-loaded later. Profiles store the Actor Recordings so the settings for each actor should carry with them. #jira UESEQ-339 Change 3874726 by Matt.Hoffman Disable drag-and-drop targets on spacers that come between rows in Sequencer. This prevents extra drag/drop targets showing up between each row. #jira UE-54706 Change 3874862 by Matt.Hoffman Audio Track no longer gets reordered when adding sub-audio tracks, as sub-tracks are no longer counted towards the sorting order index when normalizing indexes. #jira UE-54727 Change 3875905 by Matt.Hoffman Disable Fade Track UI if a fade track already exists in the sequence. #jira UESEQ-393 Change 3876163 by Max.Chen Sequencer: Swap the camera object to the camera component's owner if it's not the same. #jira UE-54874 Change 3876971 by Andrew.Porter EngineTest: Moved Media Player Seek test to new folder. Also enabled the test with new ground truth image. Change 3877040 by Max.Chen Cine Camera: Split camera properties to two groups, "Camera Options" and "Camera Settings". The cine camera now hides properties in the "Camera Settings" group so that properties like bConstrainAspectRatio (in the "Camera Options" group) can be visible. #jira UE-54192 Change 3877763 by Max.Chen Curve Editor: Fix curve changed on end drag so that only curves that had keys/tangents that were changed receive notification, otherwise all loaded curves were getting notified that they were changed. #jira UE-54951 Change 3878234 by Matt.Hoffman Disable "Drop Below" targets for Sequencer Tree nodes to prevent a confusing UX issue where dropping underneath a Object Binding Node puts it after the object binding node but the UI looks like it's inserting it inside the Object Binding node. #jira UE-54743 Change 3879359 by Mike.Zyracki If a track is inactive we dim it a bit which seems to be the UE4 way to show inactive or disabled state. We changed the active logic so that all subtracks need to be inactive for the track to also be inactive(instead of all active for active). This conforms to how the active state actually works, e.g if you have two sections and only one is active the track is still active above it. #jira UESEQ-388 Change 3879462 by Max.Chen Sequencer: Allow dragging onto a particular row which would move out any overlapping sections to make space for the newly created section. Newly created sections are now selected and throbbed to draw attention to themselves. #jira UE-54664 Change 3879464 by Max.Chen Sequencer: Fixed overlapping ranges being inserted into the evaluation field during compilation - The issue was that track segments that had been combined with adjacent segments (due to them being identical) would potentially cause a subsequently compiled frame to overlap with a range that had already been inserted into the evaluation field. - The insertion code previously asserted that only minor overlaps were catered for (due to fp rounding errors) and assumed that a supplied range could not entirely contain any other range in the field. - The solution is to supply the insertion time along with the range to know exactly where the data should live in the field, and crop the range to the maximum allowable space between adjacent ranges. #jira UE-54922 Change 3879590 by Matt.Hoffman Items that are now added to the Sequencer via the "+Track" menu will be selected after being added. Items can now be added inside of folders instead of just to the root level. #jira UE-27397 Change 3879612 by Mike.Zyracki Display Nodes with no children are always active. #jira UESEQ-388 Change 3879730 by Matt.Hoffman Sequence Recorder's actor recording groups now remove items from the group when removed via the UI. #jira UESEQ-339 Change 3880256 by Mike.Zyracki Fix issue with inactive display with folders and other track nodes. #jira UESEQ-388 Change 3883491 by Max.Chen Fix issue where tick is skipped due to last ticked pose isn't cleared after AnimInstance changes. Copy from Release-4.19 #jira UE-51323 Change 3883603 by Max.Chen Movie Scene Capture: Add option toggle disable screen percentage. By default this is on (no change in current behavior). #jira UE-51898 Change 3885074 by Max.Preussner MediaCompositing: Resetting media texture & freeing resource on section end; removed dead code Change 3887220 by Max.Preussner MediaCompositing: Defaulted media section duration to 1 sec (since we do not know the actual duration in most cases) Change 3887478 by Matt.Hoffman Sequences now show [Inactive] in their title bars when they're disabled. This helps communicate why a sequence isn't being evaluated. #jira UE-51469 Change 3888985 by Max.Chen Movie Scene Capture: Clamp HDR Compression Quality between 0 and 1. #jira UE-55136 Change 3893519 by Max.Chen Sequence Recorder: Clarified tooltip for bRecordNearbySpawnedActors - spawned actors will still be recorded if they match the ActorFilter. #jira UE-55238 Change 3893546 by Max.Chen Sequence Recorder: If a selected actor already has a recording, add a blank recording. #jira UE-55239 Change 3894044 by Max.Preussner MediaCompositing: Added support for seeking into a media section Change 3894310 by andrew.porter MediaFrameworkTest: Adding Img media sources for 1080 and 2160 ravent test content Change 3894426 by Max.Preussner MediaAssets: Letting media textures with AutoClear retain their clear color when player is reset Change 3895717 by Max.Chen Sequencer: Null checks to prevent crash when saving the default state of a spawnable #jira UE-55304 Change 3897388 by Max.Chen Sequencer: Don't update current time to be within the view range when stepping into a sequence. #jira UE-55322 Change 3897452 by Max.Chen Audio: Fix crash when trying to record audio without any active capture devices. Log warning if the number of input channels is not 1 or 2. #jira UE-55223 Change 3897619 by Max.Preussner MediaCompositing: Removed commented out code Change 3898072 by Max.Chen Sequencer: Override the animation asset in the player state if it doesn't match the animation asset that's being evaluated. #jira UE-55328 Change 3898272 by Max.Preussner MediaPlayerEditor: Made slate brush constants static Change 3898704 by Max.Chen Sequencer: Skip if the binding id's sequence can't be found. #jira UE-55337 Change 3899855 by Max.Preussner MediaCompositingEditor: Added cache state visualization to media track Change 3900300 by Max.Preussner MediaCompositingEditor: Added loop indicators to media sections Change 3900694 by Max.Preussner ImfMedia: Looping cache only when player is looping Change 3900892 by Max.Preussner Stats: Added stats category for media framework Change 3900954 by Max.Preussner MediaCompositing: Don't evaluate at the end of media section Change 3901348 by Max.Preussner Core: Replaced TLruCache autos for better readability Change 3901655 by Max.Preussner ImgMedia: Added more perf stats to EXR reader Change 3901972 by Max.Preussner MediaAssets: Added getter for media player in media sound components Change 3902233 by Max.Preussner MediaAssets: Enabling media textures to receive samples right after player is assigned Change 3902238 by Max.Preussner MediaCompositing: Working around init/shutdown idiosyncracies in sequencer Change 3904045 by Max.Chen Sequencer: Fix copy/paste crash. Only process UMovieSceneCopyableBinding and objects that can be spawned by the movie scene spawn register. #jira UE-55314 Change 3905605 by Max.Chen Sequencer: Restrict spawnables from being created if they have a ClassWithin that UMovieScene is not a child of. #jira UE-55429 Change 3906550 by Max.Chen Sequencer: Add media track icon #jira UE-55480 Change 3907101 by Max.Chen Sequence Recorder: Fix bugs related to not recording a level sequence. There were certain assumptions that creating a level sequence meant that sequence recording was in progress. This is not always the case - the recorders can record animation assets and not create a level sequence. Changed the notion of IsRecording() to having at least one actor recording that is recording. Countdown timer, recording displays, etc should function if IsRecording() and not based on whether a level sequence is created. #jira UE-55485 Change 3907247 by Max.Chen Sequence Recorder: Fix crash not removing PrepareToCleanseEditorObject delegate. Repros when opening sequence recorder, closing it, and then opening or creating a level. Change 3910343 by Max.Preussner Core: Added async helper for executing functions on a given thread pool Change 3910346 by Max.Preussner ImgMedia: Added separate thread pools for loading/decoding and deleting image frames Change 3910829 by Max.Preussner Profiler: Increased visible range of profiler graph Change 3910841 by Max.Preussner MediaCompositing: Displaying asset name instead of full media source path in media section Change 3910870 by Max.Preussner ImgMedia: Using deallocation thread pool only in debug builds Change 3919642 by Max.Chen Sequence Recorder: Clarify active tooltip #jira UE-55661 Change 3919660 by Max.Chen Sequencer: Sequence template source signatures are now also compared to catch the case where a sub-sequence asset has been saved but not modified - The following sequence of events exposes this issue: - Create a master sequence with a single shot that spawns a cube - Add this sequence to a level and set it to auto-play - Save everything and restart - Resave just the inner shot asset without opening it - PIE - The inner shot never spawns its cube because its template was wiped on save, but its signature never changed. Since the master sequence previously didn't check the template source signature, it ends up trying to evaluate an empty template. #jira UE-55626 #jira UE-55490 Change 3921825 by Max.Chen Sequencer: "Run Construction Script in Sequencer" is off by default for blueprints but on for Sequencer. This allows the content author to switch it on for specific blueprints and sequencer will be default, run those with construction scripts enabled. Change 3922232 by Max.Chen Sequence Recorder: Reset countdelay on stop. #jira UE-55755 Change 3922306 by Max.Chen Sequence Recorder: Don't automatically mark transforms to be recorded by sequence recorder. Instead, log a warning if the user toggled it off to warn that the resulting animation might not match gameplay. #jira UE-55758 Change 3922912 by Max.Chen Sequence Recorder: Fix refresh next sequence name #jira UE-55757 Change 3927654 by Max.Chen Movie Scene Capture: Added format mapping for the name of the current camera #jira UE-55769 PR #4537 Change 3927658 by Max.Chen Sequencer: Added fbx property mapping for "FocusDistance" to "FocusSettings.ManualFocusDistance" #jira UE-55782 Change 3932022 by Max.Chen Sequencer: Add import animation track section to next available row index. #jira UE-55892 Change 3933919 by Max.Chen Sequencer: Jump to playback start frame and not 0 to start playback for recording. #jira UE-55933 Change 3934307 by Andrew.Rodham Sequencer: Add template signature that is re-generated every time the base template is regenerated, which invalidates evaluation fields This fixes an issue where the same sequence is instantiated multiple times in a sequence. If the source sequence was saved, its template would be wiped, which would invalidate the template ID When an instance tries to evaluate the master template, it would only invalidate a range in the evaluation field that was the hull of any invalid sub sequences overlapping the current time, potentially leaving invalid data in the evaluation field at positions later (or earlier) on in the sequence When the sub template was re-generated, it receives the same SequenceSignature as it had before (because the sequence hasn't actually changed), which causes the stale evaluation field data to fail the IsDirty check (because the sequence is the same as it thought, but the *template* has changed) This has been addressed be adding a signature to templates themselves, and checking both the template signature and sequence signature as a part of the IsDirty check. This ensures that we regenerate if either the template, or the sequence have changed. #jira UE-55934 Change 3936327 by Andrew.Rodham Sequencer: Removed increment when trimming right UMovieSceneSection::TrimSection already explicity assigns an exclusive bound to the time passed in. The new behavior means we can trim a section to the right, and insert another section without changing the time to create adjacent sections. #jira UE-42652 Change 3936328 by Andrew.Rodham Fixed KeyFrameManipulator assignment operators and copy/move constructors - These types are potentially self-referential so cannot use default constructors/assignment Change 3936330 by Andrew.Rodham Converted UMGSequencePlayer to use frames internally #jira UE-54878 Change 3936726 by Max.Chen Sequencer: Set track node as the parent of the key area node. The key area switcher needs the object binding id from the parent object binding node. Without this, the binding to the external value fails. #jira UE-55931 Change 3936775 by Max.Chen Sequencer: Should stop or loop should compare DurationFrames with Current Time from StartTime. The bug is that if you set 30 warmup frames in movie rendering for a range of 0-100, the FrameRange will be starting at -30 and have a duration of 130. Without this fix, the playback will continue until frame 130, rather than 100. #jira UE-55933 Change 3936935 by Matt.Hoffman Easing Curves are now represented in Play Rate resolution instead of internal resolution. #jira UE-55937 Change 3937069 by Matt.Hoffman Users can toggle if the is infinite on each side, limited by which tracks support infinite ranges. #jira UE-55891 Change 3937516 by Max.Preussner ImgMedia: Added support for single-threaded platforms #jira UE-55986 Change 3937826 by Max.Preussner MediaAssets: Disabling media sound components on HTML5 if AudioMixer is not enabled Change 3937997 by Max.Chen Curve Editor: Add Zoom to Fit Curves so that selected curves from Sequencer can be focused on. Tested that undo doesn't re-zoom. #jira UE-55935 Change 3938000 by Max.Chen Sequencer: Stop all sounds before generating audio waveforms. #jira UE-55951 Change 3938376 by Max.Preussner XGEController: Disabled XGE Controller in single-threaded apps to prevent crash Change 3938444 by Max.Preussner Core: Added async support for single-threaded applications Change 3938445 by Max.Preussner Networking: Added support for single-threaded applications in UDP socket sender/receiver Change 3938447 by Max.Preussner Messaging: Added support for single-threaded applications Change 3939432 by Max.Chen Sequence Recorder: Append command list to global level editor actions so that shortcuts are accessible in level editor. #jira UE-55798 Change 3940229 by Andrew.Rodham Added prospective display rate upgrade to UMovieScene::PostLoad - There was previously some very odd behaviour that would assign the fixed frame interval only when a sub sequence was focused in SSequencer. This meant that many sequences could have a frame interval of 0 set in the data. - Under the old method of snap interval display this would have fallen back to getting the display interval from the sequencer settings, but we no longer look at these. - The USequencerSettings properties have been removed and in their place, a prospective data upgrade for sequences that have a fixed frame interval old 0fps that sets the play rate to the previous defaults based off the old USequencerSettings defaults. - This could end up 'changing' the display rate for sequences where the user has changed the snap interval in the settings for a particular sequence editor, but there's not much we can do about that given we don't have access to the USequencerSettings classes in UMovieScene #jira UE-55919 Change 3940277 by Andrew.Rodham Sequencer: Added ability to default frame resolutions and play rates for newly created actor sequences Change 3940378 by Andrew.Rodham Sequencer: Post move import dialog now defaults to the playback framerate of the sequence, and floors to frame numbers Change 3940559 by Andrew.Rodham Reinstated primed or recording sequence color Change 3940642 by Max.Preussner ImagePlate: Removed image plate media playback functionality Change 3940843 by Max.Preussner Core: Made TCircularQueue actually thread-safe; improved code comments Change 3940860 by Max.Chen Sequencer: Changed StructNameToKey to StructPathToKey Previously, keying a PropertyPath of [RenderTransform][Shear][X] would get trimmed to X, which doesn't map to a channel name as considered by Sequencer2dTransformTrackEditor. Instead, trim the resulting property path to [Shear][X] so that track editors can determine the desired struct path and channels to key. #jira UE-52966 Change 3941292 by Mike.Zyracki Fix for trajectories out of range not showing up. 1) If we had no key data we would pop the time, so wouldn't get the section ranges. 2) Calculating of upper bound was wrong, checking against -1 and not key == num of keys when doing algo::lower_bound. 3) No need to do the Bck-- for the bakward iterators since we fixed #2. We start now from the upper bound correctly. 4) If we had no keys (at section start,end) we would incorrectly say we were any key type, so since we draw constant keys as dashed we would do so incorrectly around section end points. #jira UE-55929 Change 3941424 by Max.Chen Curve Editor: Change Zoom to Fit to use TArrayView Change 3941498 by Max.Preussner Core: Added FMath::DivideAndRoundNearest function Change 3942097 by Matt.Hoffman Drop Frame Timecode Support for NTSC rates. Change 3942104 by Matt.Hoffman Sequence Recorder Group is no longer visible inside the World Outliner after using one. #jira 55266 Change 3942107 by Max.Chen Sequencer: Resurrect logic to find or extend an existing section when adding keys. Change 3942330 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942339 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942507 by Andrew.Rodham Sequencer: We no longer pad the time overlap threshold with a small number that is not scaled by the current zoom level - The presence of this pad was causing keys that were far apart to be grouped when zoomed in a long way Change 3942509 by Andrew.Rodham Sequencer: Only pad total view range, rather than section range as well when retrieving keys to render - This stops us from rendering keys that are within the view range, but outside the section range Change 3942512 by Andrew.Rodham Added transactions to some sequencer details customizations Change 3942513 by Andrew.Rodham Sequencer: Reinstated validation checks to UMovieSceneSection::SetStartFrame and SetEndFrame, changed erroneous uses to use SetRange Change 3942560 by Andrew.Rodham Pass by rvalue reference to appease error C2719 on Win32 ('InChannels': formal parameter with requested alignment of 8 won't be aligned) Change 3942697 by Andrew.Rodham Newly Created Level Sequences and Actor Sequences now default to 24000 fps frame resolution (+/- ~24hrs range, supporting all integer rates + 23.976) Change 3942700 by Andrew.Rodham Sequencer: Added legacy out-of-bounds errors for times that are not supported by the current legacy upgrade frame resolution Change 3942989 by Max.Preussner Core: Fixed circular queue count calculation Change 3943538 by Max.Preussner MediaAssets: Reverted workaround for procedural audio log spam in HTML5 (Actor component initialization cannot be skipped if the component is used in a level) Change 3944071 by Max.Preussner QAGame: Fixed Media Texture keeps last frame of Media when PIE ends #jira UE-53360 Change 3944292 by Max.Chen Sequencer: Added extra flags to ensure that asset initialization does not occur on template actor sequences #jira UE-56113 Change 3944364 by Max.Chen Sequencer: Prevent circular shot/master tracks. Tested adding master -> child -> master as drag and drop cinematic shot tracks and sub tracks as well as through the + button. #jira UE-56091 Change 3944422 by Max.Chen Sequence Recorder: Disable transform recording if off. #jira UE-56061 Change 3944745 by Andrew.Rodham Sequencer: Key rendering fixes - Fixed assert that occured when keys happened to reside on some times due to KeyTime + TimeOverlapThreshold - KeyTime being slightly larger TimeOverlapThreshold - Fixed keys sometimes being clipped when zoomed right in due to lack of half-frame offset - Added missing documentation to MovieSceneTimeHelpers.h #jira UE-56107 Change 3945231 by Andrew.Rodham Sequencer: Reconstruct channel proxy on Serialize to catch all cases of undo/redo, PostLoad and duplication #jira UE-56089 Change 3945301 by Andrew.Rodham Sequencer: Added safety checks during initial sequence recording to guard against applying negative or 0-sized sequence ranges #jira UE-56125 Change 3946627 by Max.Preussner Fortnite: Fixed game crashes closing editor while in PIE - Pure virtual function being called #jira UE-56144 [CL 3946896 by Max Chen in Main branch]
2018-03-14 22:09:33 -04:00
MouseDownPosition[1] = MouseEvent.GetScreenSpacePosition();
Copying //UE4/Dev-Sequencer to //UE4/Main ========================== MAJOR FEATURES + CHANGES ========================== Change 2875025 on 2016/02/20 by Andrew.Rodham Sequencer: Cinematic viewport improvements - Added optional letterbox overlay (defaults to 2.35:1) - Added ability to change safe frame colors - Added selected tracks' keys to the transport range - Added buttons for jumping between selected tracks' keyframes on the transport controls - Removed black padding around the viewport where possible - Added ability to specify whether a combo button/menu anchor should close when its parent receives focus - Separated logic of FGroupedKeyArea into FSequencerKeyCollection, so it can be used independently - Added playback range to the viewport frame numbers - All frame numbers are now spin boxes #jira UE-26429 Change 2875026 on 2016/02/20 by Thomas.Sarkanen Added console commands for recording sequences Changed plugin to a developer plugin so we can load it when the editor is in -game mode. Added Exec commands. Added some more logging to help diagnose problems when using commands. Added loading/saving of config for recorder settings (stored in Editor.ini). Also disabled controls in recorder window when recording. Added auto-saving of assets when in non-editor modes. Moved animation settings from UnrealEd to Engine module. Change 2875036 on 2016/02/20 by Max.Chen Sequencer: Call RedrawAllViewports instead of RedrawLevelEditingViewports. In particular, this fixes some update issues when editing values in the key editors. #jira UE-26960 Change 2875046 on 2016/02/20 by Max.Preussner Sequencer: Fix so that clicking on UMG Animations doesn't dirty the scene. #jira UE-26249 Change 2875047 on 2016/02/20 by Max.Chen Sequencer: Add option to toggle display of channel colors/lines. View->Channel Colors Change 2877138 on 2016/02/23 by Max.Chen Sequencer: Select corresponding track node when selecting key or section. Removed active/inactive selection since it was only being used in deletion and the rules for deletion are now dependent upon what is selected - delete keys and sections before deleting outliner nodes. Change 2877143 on 2016/02/23 by Thomas.Sarkanen Added new math function: WindRelativeAnglesDegrees Given two angles in degrees, 'wind' the angle in Angle1 so that it avoids >180 degree flips. Good for winding rotations previously expressed as quaternions into a euler-angle representation. Change 2877147 on 2016/02/23 by Thomas.Sarkanen Added the ability to import sequencer transforms from the root node of an animation sequence Intended for use after re-importing animations from DCC tools. Available in the right-click menu for transform tracks. Also added FindTrackBinding to UMovieScene so track bindings can be recovered from tracks. Change 2877163 on 2016/02/23 by Max.Chen Sequencer: Add option to create keyframe sections as infinite. Sequencer defaults to true, UMG defaults to false. Change 2877165 on 2016/02/23 by Max.Preussner Sequencer: Drawing vertical position lines when dragging keys Change 2878748 on 2016/02/23 by Max.Chen Curve Editor: Switch curve type to user when flatting or straightening tangents. #jira UE-27277 Change 2878799 on 2016/02/23 by Frank.Fella Sequencer - Add folders support to the outliner. Change 2880769 on 2016/02/24 by Andrew.Rodham Sequencer: Added ability to override runtime spawnable ownership in sequencer - This is exposed as an option on spawnables "Keep Alive Outside Playback Range (In Sequencer)" - Enabling this will stop spawnables from being destroyed when scrubbing outside of the playback range #jira UE-27205 Change 2880770 on 2016/02/24 by Thomas.Sarkanen Sequencer: Added countdown and recording indicator display when recording Also fixed extra popups added post-PIE when animation recordings auto shutdown. Change 2880782 on 2016/02/24 by Max.Chen Sequencer: Snapping now also uses the current time as a possible snap time. #jira UE-26306 Change 2880793 on 2016/02/24 by Max.Chen Sequencer: Add +Animation to Animation track so that it's consistent with all other tracks that have a + button. Change 2880812 on 2016/02/24 by Max.Chen Sequencer: Fix adjusting the leading edge of a shot section so that it cuts into the shot rather than adjusts the start time. #jira UE-26306 Change 2881624 on 2016/02/25 by Andrew.Rodham Changing shader version GUID to fix corrupt shaders in ddc Change 2882408 on 2016/02/25 by Thomas.Sarkanen Asset/actors stored in TLazyObjectPtrs can now reference game content from engine This is a legitimate use case as lazy object ptrs are designed to reference assets/actors cross-domain. Change 2882409 on 2016/02/25 by Thomas.Sarkanen [CL 2899785 by Max Chen in Main branch]
2016-03-08 16:55:04 -05:00
}
}
}
Copying //UE4/Dev-Editor to //UE4/Dev-Main (Source: //UE4/Dev-Editor @ 3497164) #lockdown Nick.Penwarden #rb none ===================================== MAJOR FEATURES + CHANGES ===================================== Change 3433074 by Matt.Kuhlenschmidt Fix crash when clicking on certian tutorial blueprints. #jira UE-44593 Change 3433075 by Matt.Kuhlenschmidt Remove hittest grid log spam. The underlying problem causing this has been fixed Change 3433077 by Matt.Kuhlenschmidt Fix lighting becoming unbuilt when mesh painting #jira UE-44837 Change 3433081 by Matt.Kuhlenschmidt PR #3553: Crashfix for static array properties (Contributed by Pierdek) Change 3433104 by Alexis.Matte Make sure re-import skeletal mesh follow the import morph option #jira UE-42846 Change 3434825 by Matt.Kuhlenschmidt Fix crash when GC happens while the vr editor radial menu is open. Change 3434831 by Matt.Kuhlenschmidt Added missing file Change 3434868 by Shaun.Kime If you have a reroute node between a Material Function texture input and its usage, the parent material will fail to resolve the reroute node. #jira ue-44670 Change 3434998 by Alexis.Matte Meshes editors material/section panel are now fully transactional - Staticmesh editor: section material slot, section cast shadow, section collision, material slot instance, material slot name - Skeletal mesh editor: material slot instance, material slot name Also fix some transaction description #jira UE-44462 Change 3435195 by Jamie.Dale Fixed incorrect handling of some LTR scripts that require shaping These scripts need to go through HarfBuzz, and this also fixes a case where HarfBuzz wasn't applying font scale correctly. #jira UE-44767 Change 3435199 by Jamie.Dale Fixed some crashes/artifacts with bidirectional text It was possible for a line to compute an incorrect range, which could cause crashes or other highlighting issues. The highlighting logic has also been updated as the old code didn't handle all bidirectional cases correctly. Change 3435200 by Jamie.Dale Fixed a grapheme cluster metrics issue in the font editor viewport The viewport also now respects the default shaping method CVar. Change 3435771 by Alexis.Matte Fix degenerated bounds calculation for skeletalmesh when the skeleton is remove from a re-import (PhysicAsset API change, adding 1 function) #jira UE-44609 Change 3436856 by Jamie.Dale Added some missing Unicode block ranges Change 3436914 by Jamie.Dale Adding some missing combining character ranges to the text shaper Change 3436923 by Alexis.Matte PR #3463: Get bounds for all triangles, not just the first one. WedgeIndex was . (Contributed by DaveC79) #jira UE-43764 Change 3436948 by Jamie.Dale Updated the Portal to use the predefined Unicode block ranges Change 3436961 by Max.Chen Sequencer: Show camera shake/anim track menus even if there aren't any assets. Change 3437244 by Max.Chen Sequencer: Clear locked cameras when releasing Sequencer. #jira UE-44967 Change 3437515 by Arciel.Rekman UBT: improvements for LocalExecutor. - Larger number of parallel jobs on 16GB+ machines. - Use WaitForExit() instead of polling. - Tested on Linux and Mac. Change 3437629 by Matt.Kuhlenschmidt Improve asset import data display in static and skeletal meshes Change 3438047 by Arciel.Rekman Fix overlapping ranges being passed to memcpy(). Change 3438822 by Yannick.Lange ViewportInteraction: Move gizmo handle files to make them private. Change 3438906 by Matt.Kuhlenschmidt PR #3556: Git Plugin: fix new option "init Git LFS" that make assets read-only (master/UE4.17) (Contributed by SRombauts) Change 3438907 by Matt.Kuhlenschmidt PR #3565: add -quality option to buildlighing commandlet (Contributed by kayama-shift) Change 3438908 by Matt.Kuhlenschmidt PR #3558: UE-44862: Always update SColorPicker color on OK button (Contributed by projectgheist) Change 3439393 by Matt.Kuhlenschmidt Force highest LOD for highres screenshots Change 3439819 by Matt.Kuhlenschmidt Turned FAssetData into a struct for some upcoming script exposure of FAssetData Change 3439949 by Arciel.Rekman Fixed selection logic for the UE4_LINUX_USE_LIBCXX environment variable. - Allows disabling libc++ by setting the variable to 0. - Pull request #3576 contributed by jared-improbable. Change 3441078 by Jamie.Dale The culture/language/locale console commands are now available in all build configs Change 3441109 by Jamie.Dale Text containing surrogate pairs now runs through HarfBuzz when shaping in Auto mode This is needed as the kerning-only shaping code assumes that everything is within the BMP Change 3441275 by Matt.Kuhlenschmidt Disable spinning on location and scale. These dont work because we have no notion of infinite spinning Change 3442748 by Yannick.Lange ViewportInteraction: Remove unused console variables. Change 3442775 by James.Golding Add support for editing MaterialFunctions to MaterialEditingLibrary Pull Material recompile/update code into UMaterialEditingLibrary::RecompileMaterial Pull MaterialFunction update code into UMaterialEditingLibrary::UpdateMaterialFunction util Move RebuildMaterialInstanceEditors to UMaterialEditingLibrary Added test content for Material/MaterialFunction editing Add needed BlueprintReadWrite to expressions (constants, function input/output) Expose UMaterialExpressionMaterialFunctionCall::SetMaterialFunction to BP, rename old func (which takes old function) to SetMaterialFunctionEx, also expose GetInputNameWithType Change 3442779 by James.Golding Fix header order Change 3442817 by Yannick.Lange ViewportInteraction: Add can execute checks for level editor commands. Change 3443038 by Michael.Dupuis #jira UE-43377: When you select a foliage actor we will move all instance contained in it to the new level as we can't move a foliage actor Only permit moving foliage instance if there is some selected Change 3443855 by Michael.Dupuis #jira UE-44885: Unregister from PerModuleDataObjects when the object is destroyed Change 3446096 by Max.Chen Sequencer: Add OnFinished() event when a level sequence completes playback #jira UE-45173 Change 3446097 by Max.Chen Sequencer: Evaluate one last time before the sequence is torn down and reset #jira UE-45174 Change 3446242 by Jamie.Dale Fixed caret not appearing in empty text layouts Caret selections have no range, and therefore have no width Change 3446361 by Matt.Kuhlenschmidt Fix WITH_EDITOR only functions causing generated code compile errors when the all functions on the class are WITH_EDITOR Change 3446457 by Alexis.Matte Polish the speed tree import dialog #jira UE-44963 Change 3446946 by Michael.Trepka Modified FWindowsWindow::GetRestoredDimensions to return correct window position for normal windows for which GetWindowPlacement returns position in workspace coordinates #jira UE-37934 Change 3447543 by Arciel.Rekman Reduce VMAs on Linux. - Trades off increased address space (VIRT in terms of ps/htop) for smaller number of distinct mappings (VMAs, virtual memory areas). This decreases possibility to run into vm.max_map_count limit on Linux. - Tested on Linux and Mac. Change 3448468 by Arciel.Rekman Fix race condition during creation of GMalloc. - On Mac GMalloc can be created on two different thread that are racing with each other - app's main thread and a system thread. Change 3449012 by Max.Chen Sequencer: Add time to transform, color and vector key structs so that key times are editable from the key editors. #jira UE-45089 Change 3449018 by Max.Chen Sequencer: Add OnCameraCut event that fires when there is a camera cut. #jira UE-45137 Change 3449195 by Max.Chen Sequencer: Add setting for limit scrubbing to playback range. #jira UE-43502 Change 3449198 by Max.Chen Sequencer: Reorder hierarchical bias so that group priority takes precedence. Change 3449217 by Max.Chen Sequencer: Add setting to activate realtime viewports when in sequencer. Change 3449219 by Max.Chen Sequencer: Focus on search boxes when opened. Change 3449238 by Max.Chen Sequencer: Assign actor should replace the actor itself after it has updated all the components. Also, replace components be fullname rather than by class. Change 3449239 by Max.Chen Sequencer: Fix offsets when moving multiple sections. Dragging should be clamped to the bounds that any of the selected sections hits against the unselected sections. Change 3449241 by Max.Chen Sequencer: Restore section selection after full tree rebuild. Change 3449279 by Max.Chen Sequencer: Set movie scene capture frames only when not using custom frames. This allows the user entered frame numbers to persist in config, rather than overwriting them when doing a "Render Shot" Change 3449280 by Max.Chen Sequencer: Spawn in the persistent level. Otherwise, they get spawned into whatever sublevel is current. #jira UE-44552 Change 3449294 by Max.Chen Sequencer: Null check for sequencer ed mode crash. Change 3449297 by Max.Chen Sequencer: Fix delay in sliding values. Mark changed when sliding values. Mark refresh immediately when committing values since OnValueChanged will be called and needs to have the correct value that was refreshed immediately. #jira UE-42866 Change 3449542 by Max.Chen Sequencer: Fix scrubber hit testing so that the time scrubber is really favored over the playback ranges. #jira UE-44569 Change 3451507 by Matt.Kuhlenschmidt Fix extra slate uv coords not functioning on ES2 Change 3451510 by Matt.Kuhlenschmidt PR #3595: Fixed wrong colour for level status (Contributed by ronve) Change 3451529 by Alexis.Matte fbx scene importer: Make sure we set INVALID_UNIQUE_ID to node that has no attribute. #jira UE-34410 Change 3451611 by Yannick.Lange ViewportInteraction: Dragging gizmo without second pass for snapped calculations. Change 3452134 by Jamie.Dale Fixed constant font cache flushing if a widget had no font set Change 3452239 by Jamie.Dale Fixed constant font measure flushing if a widget had no font set Change 3452243 by Jamie.Dale Removed deprecated code for creating fonts from bulk data Change 3452277 by Jamie.Dale The concept of "stale" composite fonts is now editor-only Change 3452358 by Alexis.Matte Fbx scene importer: Do not remove existing attribute reference from the blueprint if the reimport of the associate mesh attribute is not tick. #jira UE-45232 Change 3452678 by Max.Chen Sequencer: Fix crash on export if there's no shot data. Change 3453057 by Matt.Kuhlenschmidt Exposed asset exporting to script Change 3453782 by Andrew.Rodham Sequencer: Fixed deterministic cooking issues with movie scene data - Movie scene signatures are now initialized in PostInitProperties - A warning is now presented when attempting to cook old data that was never serialized with a signature. - Removed redundant legacy data upgrade logic that could dirty level sequences on load. #jira UE-44912 Change 3453788 by Yannick.Lange ViewportInteraction: Custom scene proxy for gizmo handles. Change 3453938 by Max.Chen Sequencer: Hotkeys (shift , and shift .) to step to next/previous shot #jira UE-45119 Change 3454058 by Michael.Dupuis Fixed StaticAnalysis Change 3454077 by Max.Chen Sequencer: Fix not saving the pre-animated track value when creating a track/key. On pre object change, broadcast property change so that a track or key can be created. That track/key needs to be evaluated immediately so that the pre-animated state can be saved properly. This is done now with RefreshAllImmediately and is only called when a track has been created. Also, added a return value for OnKeyProperty, so that it's known what changed in particular (ie. track created, track modified, etc) Also, fixed transform keying so that if a transform track already exists for the object or the scene component, the existing track is used. #jira UE-45130 Change 3454108 by Nick.Darnell UMG - Fixing the WIC to properly record cursor delta so that scrollbars work. Change 3454109 by Jamie.Dale Cache the text layout source info in non-shipping builds so you can inspect it in the debugger Change 3454202 by Matt.Kuhlenschmidt Fix bogus error message about the number of usable texture coordinates on ES2 when compiling a UI domain material Change 3454390 by Yannick.Lange Fix creating a plugin in a C++ project opens a second instance of Visual Studio. Use SourceCodeAccessor to open solution when necessary. #jira UE-45035 Change 3454564 by Matt.Kuhlenschmidt #rnx Fix deprecation warnings Change 3455471 by Yannick.Lange ViewportInteraction: Fix entering and exiting VR Mode disables gizmo in desktop editor viewport. #jira UE-44965 Change 3456183 by Max.Chen Sequencer: Auto key, auto track refactor. Auto key - create a key when the property changes and there's an existing track. Auto track - create a track when the property changes. This is only exposed in the level sequence editor. All - create a key and a track when the property changes. This is only exposed in VR Editor. None - do nothing. #jira UE-43469 Change 3456349 by Andrew.Rodham Sequencer: Only perform legacy signature checks on instances, and only where signatures match the CDO Change 3456678 by Alexis.Matte Allow to add null level instance override material via the advance material array. But still limit the override material number to the mesh material number. #jira UE-45306 Change 3456945 by Max.Chen UMG: Add restore state to 2d transform section. #jira UE-45372 Change 3457196 by Arciel.Rekman Linux: serialize allocations from the memory pool. Change 3458434 by Max.Chen Sequencer: Remove obsolete set tick prerequites functions. Change 3458671 by James.Golding Added MIC editing support to MaterialEditingLibrary Fix static analysis warning Change 3458888 by Matt.Kuhlenschmidt PR #3615: More detailed log messages for debugging warnings/errors (Contributed by projectgheist) Change 3458893 by Matt.Kuhlenschmidt PR #3583: UE-44960: Delta value wasn't being used (Contributed by projectgheist) Change 3458895 by Matt.Kuhlenschmidt Fix typo Change 3458902 by Matt.Kuhlenschmidt PR #3607: Improved InputKeySelector functionality (Contributed by projectgheist) Change 3458917 by Matt.Kuhlenschmidt Fix crash with invalid object properties in the class picker #jira UE-39000 Change 3458939 by Matt.Kuhlenschmidt Fix compile error Change 3458984 by andrew.porter QAGame: Initial check in of sequencer smoke test map Change 3459510 by Matt.Kuhlenschmidt Fixed ensure when deleting a map that contains build data which also happens to be the currently loaded map. #jira UE-45052 Change 3460985 by Max.Chen Sequencer: Snap play time to keys now allows scrubbing between keys and snaps to key times within a certain screenspace tolerance. #jira UE-45090 Change 3461698 by Arciel.Rekman Avoid using ARRAY_COUNT in Vulkan. - Sometimes those arrays can have no extensions whatsoever, and it is illegal to declare a 0 element C array. Change 3462053 by Max.Chen Sequencer: Show sequencer spawnables in the world outliner and add the icon overlay for spawnables. #jira UE-43470 Change 3462139 by Max.Chen Property Editor: Add objects to FPropertyAndParent Change 3462202 by Arciel.Rekman Fix FSocket::Recv() blocking with Peek when there's no data. Change 3462253 by Nick.Darnell Slate - New Clipping System Clipping is now a stateful choice made during composition of the slate hierarchy. Previously every widget got to respect or modify the clipping rect on an as needed basis. The problem was that clipping was only allowed in the layout space of the widget, and it wasn't possible to properly clip elements with render transforms. The new system permits all kinds of transforms on any widget, and they will all be clipped correctly. It tries to use Scissor Rects as they are much cheaper, but will switch over to stenciling if need be to represent a complicated masking structure with several rotated clipping rects all needed to be combined together. Here are the new clipping states a widget can have, almost all widgets are set to No. Only change it from No if your widget actually needs to clip, generally speaking most widgets don't need to clip. /** * This widget does not clip children, it and all children inherit the clipping area of the last widget that clipped. */ Inherit, /** * This widget clips content the bounds of this widget. It intersects those bounds with any previous clipping area. */ ClipToBounds, /** * This widget clips to its bounds. It does NOT intersect with any existing clipping geometry, it pushes a new clipping * state. Effectively allowing it to render outside the bounds of hierarchy that does clip. * * NOTE: This will NOT allow you ignore the clipping zone that is set to [Yes - Always]. */ ClipToBoundsWithoutIntersecting UMETA(DisplayName = "Yes - Without Intersecting (Advanced)"), /** * This widget clips to its bounds. It intersects those bounds with any previous clipping area. * * NOTE: This clipping area can NOT be ignored, it will always clip children. Useful for hard barriers * in the UI where you never want animations or other effects to break this region. */ ClipToBoundsAlways UMETA(DisplayName = "Yes - Always (Advanced)"), /** * This widget clips to its bounds when it's Desired Size is larger than the allocated geometry * the widget is given. If that occurs, it behaves like [Yes]. * * NOTE: This mode was primarily added for Text, which is often placed into containers that eventually * are resized to not be able to support the length of the text. So rather than needing to tag every * container that could contain text with [Yes], which would result in almost no batching, this mode * was added to dynamically adjust the clipping if needed. The reason not every panel is set to OnDemand, * is because not every panel returns a Desired Size that matches what it plans to render at. */ OnDemand UMETA(DisplayName = "On Demand (Advanced)") - Large API Change - All FSlateDrawElement::Make_____ calls have been deprecated that involved passing in a clipping rect. You no longer should are passed a Clipping rect via OnPaint. You are still passed a rect, but this rect represents a Culling Rect, which is valuable if you need to just out right not paint things the user can't possibly see. If you were previously trying to determine if you should cull widgets, by doing something like this, if ( FSlateRect::DoRectanglesIntersect(MyClippingRect, CurWidget.Geometry.GetRenderBoundingRect()) ) That's no longer a good option since there are ways for widgets to ignore the culling bounds. You should convert anything like above to the one below, if (!SWidget::IsWidgetCulled(MyCullingRect, CurWidget)) To assist in debugging efforts, there are several new debugging console flags in Slate, Slate.ShowClipping 1 - Controls whether we should render a clipping zone outline. Yellow = Axis Scissor Rect Clipping (cheap). Red = Stencil Clipping (expensive). Slate.DebugCulling 1 - Disables pushing clipping or stencil rects to the GPU, but continues to intersect culling rects, so that you can tell if a widget is properly culling children it can't possibly draw. Slate.ShowTextDebugging 1 - Show debugging painting for text rendering. I've added a new Experimental Feathering Option, it adds AA geometry around the outside of Box and Image brushes. Slate.Feathering 1 If you're using RenderDoc or something similar, you can now enable render events for slate, so that you can better grok how we're batching and changing states for each UI render pass. Slate.EnableDrawEvents 1 #jira UE-4659 #rn Change 3462714 by Nick.Darnell Fixing a few more compiler issues with the clipping changes. Change 3462726 by Max.Chen Switch OnEditStructChildContentsChanged to use FObjectWriter instead of FMemoryWriter which supports serializeing UObjects. This fixes a crash when adding actor array elements to a user defined event struct. #jira UE-45431 Change 3462801 by Nick.Darnell Adding a UMG dependency to EngineTestBuild. Change 3462914 by Max.Chen Sequencer: Fix regression where spawnables aren't getting saved. Caused by 3407138 #jira UE-30007 #jira UE-39003 Change 3462946 by Nick.Darnell Automation - Tweaking the UI automation tests converting them over to use the new UI Screenshot automation test. Automation - Adding a blur widget test. Change 3462987 by Matt.Kuhlenschmidt Back out changelist 3458893 Change 3464774 by Matt.Kuhlenschmidt PR #3629: Bugfix: Missing small icon in Project Launcher profile editor (Contributed by aarmbruster) Change 3464785 by Nick.Darnell Fixing some clipping stuff in the editor. Change 3464830 by andrew.porter QAGame: Second pass on sequencer smoke test map Change 3464902 by Nick.Darnell Loading - Adding some additional checks to the the loading code to ensure we're on the main thread. Additionally adding a fix from UDN that prevents deadlocks in the rare case a user hits Alt+Tab in a fullscreen game while in a hard loading screen. Change 3464988 by Max.Chen Sequencer: Add attenuation settings for attached audio components. #jira UE-33080 Change 3465024 by Nick.Darnell MoviePlayer - Impoving the playback mode displaynames. Change 3465074 by Arciel.Rekman Fix shadowing issues of GraphicsPSOInit. Change 3465097 by Matt.Kuhlenschmidt Some refactoring of the details panel Exposed new methods of adding a struct on scope to a details panel and have it work properly with customizations. The scruct on scope has a "fake" ustructproperty that allows the details panel to show the whole struct not just an individual property. Refactored the API for adding rows to details panels to make it more consistent\ AddChildCustomBuilder->AddCustomBuilder AddChildGroup->AddGroup AddChildContent->AddCustomRow AddChildPropert->AddProperty AddChildStructure->AddExternalStructureProperty AddStructure->AddAllExternalStructureProperties AddExternalProperty->AddExternalObjectProperty or AddExternalStructureProperty Change 3465186 by Max.Chen Sequencer: Save the BindingID in the pre animated token producer so that it can be destroyed properly. This fixes a bug where the default state of a spawnable isn't saved. #jira UE-43780 Change 3465315 by Matt.Kuhlenschmidt Fix Fortnite and Orion details panel customization warnings Change 3465424 by Nick.Darnell Automation - Moving the step for setting the link to the automation reports to be set before we start the engine. Change 3465488 by Nick.Darnell Automation - Forcing textures to load before taking screenshot, so that the scene gets another opportunity to render before we render with Slate. This should fix the Blur UI Test. Change 3466277 by Arciel.Rekman Linux: fix window drift when dragging (UE-40380). - Change by Cengiz Terzibas. Change 3466370 by Nick.Darnell UMG - Fixing the colors for the resize handle in the designer. Change 3466372 by Nick.Darnell UMG - Fixing the ruler ticks sometimes not being drawn. Change 3466374 by Nick.Darnell UMG - Fixing the designer showing multiple options for sequencer. Change 3466377 by Nick.Darnell UMG - Cleaning up some clipping bits. Change 3467025 by Andrew.Rodham Re-saving assets that contain legacy (<4.15) movie scene data to remove deterministic cook warning. If conflicts arise during merging of these assets, please ignore the changes made in dev-editor, and accept game-side changes. (CIS step 62283298, jobId 7773146) (CIS step 62283297, jobId 7773146) Change 3467099 by Max.Chen Fix GetObjectPropertyClass ensure logic. This was returning UObject::StaticClass when valid. Change 3467172 by Max.Chen Sequencer: Evaluation optimizations. Also, fixes subsequences not getting expired, leaving dangling spawnables. #jira UE-43690 Change 3467192 by Matt.Kuhlenschmidt Fix transactions getting stuck in the color grading controls. This prevents PIE from working properly and causes shutdown crashes #jira UE-45527 Change 3467251 by Yannick.Lange ViewportInteraction: Fix scale and rotation snap while dragging with two lasers. #jira UE-43489 Change 3467331 by Matt.Kuhlenschmidt Fix D3D shader compiler hard coding shader path and not giving proper warnings when it cannot find the shaders Change 3467335 by Matt.Kuhlenschmidt Remove DarkStyle attribute from SNumericEntryBox and allow a spin box style to be passed to it. Change 3467558 by Max.Chen Scene Outliner: Generic support to add default columns to a scene outliner. Change 3467565 by Jamie.Dale Removing old screenshot data for test Change 3467589 by Nick.Darnell Editor - Random cleanup. Change 3467596 by Nick.Darnell Progress Bar - Exposing Border Padding to UMG. Change 3467600 by Nick.Darnell Slate - Adjusting the rendering of the splitter, previously it could be off by a pixel or two, which becomes more apparent now with the clipping changes. Change 3467601 by Max.Chen Property Editor: Fix static analysis warning Change 3467662 by Nick.Darnell Automation - Fixing a bug with the screenshot comparison tool not replacing (removing) the old screenshot data. Change 3467674 by Max.Chen Property Editor: Fix static analysis warning Change 3467737 by Max.Chen Sequencer: Added OnMovieSceneBindingsChanged delegate Change 3468053 by tim.gautier QAGame: Updating Editor Smoke Map - Updated landscapes into Stations for testing - Added Foliage Sublevel Change 3468194 by Arciel.Rekman Linux: fix problems communicating with various STL-using libs. - Stop hiding global new/delete signatures. - Disable CEF3 since this change uncovers the problem with libcef.so not built to use bundled libpng. Change 3468678 by Max.Chen Sequencer: Set "Sequencer Actor" tag before setting the actor label so that the outliner refreshes after the actor has the tag. Change 3469314 by tim.gautier QAGame: Added Painted Foliage / Spline section to EditorSmoke map Change 3469377 by Nick.Darnell Slate - Fixing some warnings in a couple of sample games due to the clipping changes. #rnx Change 3469767 by Max.Chen Sequencer: Outliner column and sequencer binding data #jira UE-43470 Change 3469974 by Arciel.Rekman Fix code projects not working in Linux installed build. Change 3470082 by Nick.Darnell Slate - The GetRenderer() call on SlateApplication no longer returns a SharedPtr, rather than convert it to a thread safe ptr, going to just make accessing it a raw ptr return, so it can be safely referenced on the game thread while being used on the slate loading thread. Change 3470174 by Nick.Darnell Slate - Get the last widget in a widget path utility. Change 3470176 by Nick.Darnell UMG - User Widgets now have an easy way to know if they're part of or have been removed from the focused widget path, which is handy for doing effects. Change 3470261 by Nick.Darnell Slate - The GetRenderer() call on SlateApplication no longer returns a SharedPtr, rather than convert it to a thread safe ptr, going to just make accessing it a raw ptr return, so it can be safely referenced on the game thread while being used on the slate loading thread. Change 3470286 by Max.Chen Sequencer: Scene Component's HiddenInGame now goes through the VisibilityTrack and the visibility template. Change 3470366 by Nick.Darnell Slate - We now version focus per user, that way during focus events, we can safely abort focus events and state transitions if someone interrrupts the active focus event with something new. Change 3470649 by Matt.Kuhlenschmidt Fix deprecation warnings Change 3470695 by Matt.Kuhlenschmidt Fixed typo #jira UE-45580 Change 3470721 by Matt.Kuhlenschmidt Fix static analysis Change 3471254 by Michael.Dupuis #jira UE-42952: Keep occlusion result per view Change 3471287 by Nick.Darnell UMG - Render Focus Rule now defaults to never. Change 3471291 by Nick.Darnell Slate - Fixing FSlateRenderer* change fallout. Change 3471299 by Nick.Darnell Slate - Fixing FSlateRenderer* change. Change 3471323 by Nick.Darnell Automation - Fixing automation and Static Analysis warning. Change 3471413 by andrew.porter QAGame: Added test content for anim blending and material parameteres to sequencer smoke level Change 3471649 by Max.Chen Sequencer: Modify the track when adding animation #jira UE-45618 Change 3471659 by Matt.Kuhlenschmidt Added a way to check if a movie is playing from the engine. Prevented viewport redraws for canvas loading screens if a slate based loading movie is playing Change 3471734 by Matt.Kuhlenschmidt Added basic material hookup to USD. Similar to FBX it will find materials based on rules specified by the user in the import settings Change 3472176 by Nick.Darnell UMG - Improving the display of the +Track menu in sequencer for UMG. Renamed it from +Add, which is repetitve to +Track. Additionally, the dropdown now shows the currently selected widgets, as well as a submenu containing all the 'important' widgets, so we no longer populate that list with a ton of irrelevant widgets that are just Buton_1 - N, which is pointless in showing people, they'll never guess which is the right button. Change 3472740 by Max.Chen Sequencer: Add GetThisFrameMetaData accessor Change 3472748 by Max.Chen Sequencer: Added OnBeginScrubbing and OnEndScrubbing event delegates Change 3472753 by Max.Chen Sequencer: Add EMovieSceneDataChangeType parameter to OnMovieSceneDataChanged delegate Change 3472870 by Nick.Darnell Clipping - Fixing the deprecated tip for scissor rect boxes to be correct. Removing it's usage from UT. Change 3473340 by Max.Chen Scene Outliner: Add ability to register additional filters Change 3473348 by Max.Chen Details View: Make ForceRefresh virtual. Added accessors to delegates (ie. GetIsPropertyReadOnlyDelegate) Change 3473441 by Max.Chen Sequencer: Autokey Refactor Part 2. Autokey is now a single toggleable state. Allow Edits Mode has 3 states: Allow All Edits - Allow any edits to occur, some of which may produce tracks/keys or modify default properties. Allow Sequencer Edits Only - All edits will produce either a track or a key. Allow Level Edits Only - Properties in the details panel will be disabled if they have a track. #jira UE-45229 Change 3473670 by Nick.Darnell Modules - The module manager no longer returns sharedptrs to IModuleInterfaces, this was the source of rare hard to track down crashes due to a shared ptr reference leak when GetModule was called on non-main threads. We now store a TUniquePtr internally, and only lease out raw pointers. #rn Change 3473711 by Nick.Darnell Disabling the ensure in the module manager. Change 3473747 by Max.Chen Sequencer: Fix tooltip Change 3474091 by Jamie.Dale Added a warning when cooking a UFontFace that is outered to a UFont asset These cause issues with iterative COTF, and should be split off into their own assets (as the UI has been asking people to do for several versions) Change 3475052 by Yannick.Lange VR Editor: Fix Crash when quitting the editor with VR Mode enabled. VR Editor was being enabled when saving the map on closing the editor. #jira UE-45415 Change 3475054 by Yannick.Lange Fix crash when adding a camera to the world in VR Mode the second time. The slate application did not reset when stop dragging in VR Mode, so the second time when starting to drag a camera out of the UI it would already by in a dragging state. #jira UE-45574 Change 3475263 by Nick.Darnell Fixing some additional cases of IModuleInteface SharedPtr usage. Change 3475268 by Max.Chen Sequencer: Set jumped state when looping playback. This fixes an issue where audio doesn't stop and restart when looped. #jira UE-45654 Change 3475269 by Max.Chen Scene Outliner: Additional filters should only apply to actor browsing mode Change 3475407 by Nick.Darnell Fixing some clipping / module shared ptr changes in the launcher code. Change 3475542 by Max.Chen Sequencer: Update thumbnail and section highlighting to use new clipping behavior. #jira UE-45692 #jira UE-45689 Change 3475743 by Michael.Dupuis #jira UE-45183: When updating phyx region take into account simple collision mip Change 3475949 by Arciel.Rekman Remove PhysX deoptimization (no longer needed). - OR-24947 has been closed three months ago. Change 3476022 by Michael.Dupuis #jira UE-45560: Make sure we're not going out of range Change 3476063 by Michael.Dupuis #jira UE-45562: Do not try to unregister from static mesh if no static mesh is specified for the component Change 3476168 by Michael.Trepka Added handling of directory symlinks to FApplePlatformFile::IterateDirectory #jira UE-43704 Change 3476172 by Nick.Darnell Fixing a Imoduleinterface change. Change 3476183 by Jamie.Dale Exposing GoTo/ScrollTo to single-line editable text for API parity with multi-line editable text Change 3476385 by Arciel.Rekman Linux: handle symlinks when iterating directories. Change 3476522 by Michael.Trepka Solved a problem with Mac FMallocTBB::Malloc() returning nullptr for 0 bytes allocations, which is inconsistent with other platforms. On Mac we always scalable_aligned_malloc, which behaves differently than scalable_malloc, so for 0 bytes requests we allocate sizeof(size_t), which is exactly what scalable_malloc does internally in such case. Change 3476806 by Nick.Darnell UMG - Focus the designer after dropping a widget onto the surface. Change 3476809 by Nick.Darnell Curve Editor - Enable Clipping on the curve editor. Change 3477475 by Nick.Darnell Fixing a module interface shared ptr usage in UT. Change 3477553 by Yannick.Lange VR Editor: Removed AssetEditorPanelID and replaced it with TabManagerPanelID. A panel for AssetEditorPanelID was never created making it impossible to open an asset editor. Change 3477734 by Yannick.Lange VR Editor: Fix Warning: SetRelativeScale3D : Invalid Scale entered (X=inf Y=inf Z=inf). Resetting to 1.f. warning when adding CineCameraActor to World from Modes Panel. Make sure to not divide by zero when there is no boundary scale. #jira UE-44933 Change 3477761 by Jamie.Dale Some improvements to avoid loading the native .locres files twice when we don't need to Change 3477780 by Nick.Darnell PR #3250: Return correct VirtualUserIndex (Contributed by projectgheist) Change 3477786 by Nick.Darnell PR #3650: Changed TestNull to accept const pointers. (Contributed by e-agaubatz) Change 3477795 by Nick.Darnell PR #2844: UE-36936: Don't stretch container for Plugin Image (Contributed by projectgheist) Change 3478092 by Nick.Darnell PR #2341: Optional Middle Mouse Button panning in Graph Editor (Contributed by flipswitchingmonkey) Engine Edit - Made some small changes to the enum type, and some naming. Change 3478450 by Nick.Darnell Fixing some uninitialized variable errors. Change 3479827 by Andrew.Rodham Sequencer: Addressed serialization issues with some struct types Change 3479874 by Jamie.Dale Fixed "NativeGameLanguage" not being used correctly during localization initialization Change 3480012 by Andrew.Rodham Sequencer: Fixed loading tagged properties as native for track identifiers #jira UE-45823 Change 3480337 by Alexis.Matte Fix morph target crash missing some valid index check Change 3480804 by Alexis.Matte Fix crash with ColorGradingMode custom detail #jira UE-45638 Change 3480892 by Andrew.Rodham Sequencer: Ensure that movie scene sequences know about the editor object version #jira UE-45842 Change 3481073 by Nick.Darnell Fix the shader compiler error from main in Slate. Change 3481303 by Nick.Darnell UMG - Fixing a bug with the drag handle not working correctly in HDPI mode. Change 3481308 by Nick.Darnell Slate - Tweaking the IsWidgetCulled logic to consider both the layout and rendering bounds. If we do this, we get a much more desireable outcome for people that want to animate widgets and such and plan to have temporary animations to move the widget offscreen, but want the layout bounds to anchor that widget in the visible frame so that it animates even when normally it would be culled b/c the render transform and therefore the renderbounds moved it completely outside the culling rect. Change 3481629 by Max.Chen Sequencer: Add Level Sequence Actor as an output for CreateLevelSequencePlayer() #jira UE-45785 Change 3481899 by Yannick.Lange VR Editor: Added debug modetoggle command with an event that is broadcasted whenever this happens. Currently this is used to show all the floating UIs of the UI system to debug without HMD using VREd.ForceVRMode. Change 3481984 by Michael.Dupuis #jira UE-45845: always validate if we have a static mesh before trying to access it as user can decide to not assign one and use the tools Change 3482047 by Nick.Darnell Slate - Adding some comments to IsWidgetCulled. Change 3482110 by Nick.Darnell Slate - IsWidgetCulled is no longer static and is now called IsChildWidgetCulled. Change 3482136 by Jamie.Dale The CamelCase break iterator now treats digits around character tokens as part of the identifier Change 3482138 by Michael.Dupuis #jira UE-45854: Properly unregister during undo operation Change 3482150 by Michael.Dupuis #jira UE-45845 : Add missing nullcheck for GetStaticMesh Change 3482153 by Nick.Darnell Slate - IsWidgetCulled is no longer static and is now called IsChildWidgetCulled. Change 3482180 by Nick.Darnell UMG - Widget Components do not need to define a widget class to be rendererd, they can have native slate widgets only. This was a regression from main. Change 3482273 by Nick.Darnell UMG - Tweaking some more things about the widget component box outline. Change 3482308 by Alexis.Matte Fixing morph target smooth group support. Do not call FillSkeletalMeshImportData more then once on FbxNode since this fonction is doing some conversion and change the FbxNode, applying those conversion twice do not return the same faces smooth group. #jira UE-45696 Change 3482327 by Nick.Darnell UMG - More tweaks to the WidgetComponent so both shows the box outline, but works in game and VR editor. Change 3482705 by Andrew.Rodham Resaving assets that contain legacy data to suppress CIS warnings. - If conflicts arise in these assets, please take game-side changes and ignore these. Change 3484245 by Max.Chen Sequencer: Evaluate on end scrub. This fixes a bug where audio doesn't evaluate in a stopped position at the end of scrubbing, causing it to not stop all sounds. This fixes a bug introduced from 3365018 where evaluate on end scrub was removed. #jira UE-45905 Change 3484263 by Max.Chen Sequencer: Fix crash on forcing refresh of details panel on release. #jira UE-45911 Change 3484431 by Andrew.Rodham Resaving assets that contain legacy data to suppress CIS warnings. - If conflicts arise in these assets, please take game-side changes and ignore these. Change 3484474 by Alexis.Matte Fix the morph target animation curve name matching. #jira UE-20294 Change 3484475 by Alexis.Matte When removing a LOD, make sure we remove all morph target data associate to the LOD. Change 3484489 by Nick.Darnell PR #3668: UE-45908: Cache debug line locations when performing a LineTraceMulti (Contributed by projectgheist) #jira UE-45908 Change 3484692 by Nick.Darnell Slate - Reverting a change from a game stream. All Arranged Children don't need to allocated 42 to begin with. Do need to initialize WidgetPaths better. Change 3484703 by Nick.Darnell Player Input - Making the input event loop for players obey EKeys::NUM_TOUCH_KEYS, rather than being set to Touch10, as the maximum touch input amount, to make supporting greater than 10 touches easier. Also making the seeding of keys use EKeys::NUM_TOUCH_KEYS. #jira UE-43213 Change 3484918 by Jamie.Dale Fixed font measuring regression with RTL text RTL applies the character count to the next glyph, so it shouldn't process the end of the loop (this was how the older code used to work). Change 3485718 by Nick.Darnell Editor - Removing Super Search & User Feedback button. Change 3485719 by Nick.Darnell Portal - Removing SuperSearch. Change 3485751 by Matt.Kuhlenschmidt Fix crash accessing platformer game menu if the menu is open during a console based load #jira UE-45950 Change 3486047 by Arciel.Rekman Linux: add OpenEXR implementation (UE-40270). #jira UE-40270 Change 3486467 by Max.Chen Sequencer: Reset max tick rate when destroyed. #jira UE-45956 Change 3486477 by Max.Chen Sequencer: Refresh outliner when column is removed. #jira UE-45891 Change 3486667 by Andrew.Rodham Added missing include Change 3486724 by Andrew.Rodham Sequencer: Fixed curves with no default value, and no keys being evaluated and applied to properties - Also fixed an edge case where a zero (but non-animated) channel could be applied to a final transform Change 3486730 by Alexis.Matte In the Auto-Reimport options, hide the mout point only for the default /Game/ folder #UE-45684 Change 3486749 by Alexis.Matte Make sure the parent window of the monitor directory browse folder is set properly #jira UE-45682 Change 3486805 by Matt.Kuhlenschmidt Additional safety against invalid objects being accessed by slate Change 3486848 by Alexis.Matte Make sure Monitor folder feature support root mount point map folder During auto import, give priority to asset import factory over the scene import factory #jira UE-45691 Change 3486879 by Andrew.Rodham Removing obsolete QA assets Change 3486950 by Nick.Darnell PR #2281: Scrollbar missing features and SScrollbar fixes (Contributed by SNikon) Review - made some adjustments from the original. Change 3486954 by Nick.Darnell Slate - Moving the STableViewBase over to the FOverscroll class, rather than it's own clone. Change 3486967 by Nick.Darnell Slate - Fixing some HDPI calculations for fitting new windows on screen, it was using the unscaled size of the widgets for fitting, when it needed to scale them up. Change 3486970 by Andrew.Rodham Sequencer: Delay mouse capture until drag for sequencer time slider - Fixes context menus not opening as a result of mouse capture being taken on mouse down #jira UE-45937 Change 3486984 by Andrew.Rodham Sequencer: Improved blending type iconography Change 3486996 by Nick.Darnell UMG - Adding a way for games to opt-out of the slow widget path, to completely prevent them from being cooked. UMG - The movie data is no longer cloned for each new instance that inhabits. It now keeps a reference to the now publically accessible movie scene data on the class instead. Change 3487070 by Andrew.Rodham Sequencer: Added graphics for key areas that represent empty space Change 3487195 by Andrew.Rodham Sequencer: Changed evaluation groups to always flush implicitly - Due to the latent nature of blended token types, it's no longer safe to rely solely on execution token order between tracks - This fixes an issue where events set in the PostEvaluation stage were executed before blended token actuation Change 3487322 by Nick.Darnell PR #2457: Add .gitdeps.xml-files for plugins support (Contributed by bozaro) Change 3487363 by Nick.Darnell PR #2481: Fix for packing of a project with users plugins (Contributed by yatagarasu25) Change 3487439 by Nick.Darnell PR #2642: Changed private to protected in SVirtualJoystick.h (Contributed by Skylonxe) Change 3487500 by Arciel.Rekman Removed LinuxNativeDialogs. - No longer used; has been superceded by SlateDialogs since UE 4.8 (2 years ago). Change 3487630 by Lauren.Ridge Don't create Landscape Info Maps for Editor Preview Worlds or thumbnail worlds #jira UE-44885 Change 3487864 by Matt.Kuhlenschmidt Exposed the asset registry to blueprints and script. Works in editor scripts and runtime scripts AssetRegistry is now a UInterface object. Blueprint users can access various asset registry methods using the asset registry interface (via GetAssetRegistry) and various static helpers in the AssetRegistryHelpers object C++ users should still continue to use IAssetRegistry. Change 3487879 by Matt.Kuhlenschmidt Renamed asset tools uobject helper to UAssetToolsHelpers Change 3487926 by Lauren.Ridge Fixing reset to default not showing up for custom widgets #jira UE-44164 Change 3488184 by Matt.Kuhlenschmidt PR #3656: Make References/Referencers List copyable (Contributed by user37337) #jira UE-45763 Change 3488240 by Matt.Kuhlenschmidt Fix compiler issue Change 3488350 by Lauren.Ridge Landscape info map transactional state is based on its world's transactional state #jira UE-44885 #jira UE-46019 Change 3488412 by Matt.Kuhlenschmidt Fix reset to default showing up in two different places for some customizations Change 3488413 by Matt.Kuhlenschmidt Fix slate font customization Change 3488414 by Matt.Kuhlenschmidt Fix slate font customization Change 3488415 by Matt.Kuhlenschmidt Missed file Change 3488565 by Arciel.Rekman Add pretty printers for gdb (UETOOL-1171). - Committing shelf by Cengiz.Terzibas, with some modifications. #jira UETOOL-1171 Change 3489094 by Nick.Darnell Slate - The Slate RHI Renderer now caches the TextureLODGroups so that it can properly lookup the filtering of different texture groups that are set to Default, instead of a particular filter override on a texture. Engine/Rendering - Simplifying some of the setup logic in TextureLODSettings so that code is shared for setting them up properly after loading from a config file. Change 3489095 by Nick.Darnell PR #2699: GameViewportClient - Added a method to allow setting the viewport cur. (Contributed by rfenner) Review - Fixed spacing. Change 3489108 by Matt.Kuhlenschmidt Fix deprecation warning Change 3489120 by Nick.Darnell PR #3478: Fix possible UComboBoxString crash (Contributed by nakosung) Change 3489147 by Andrew.Rodham Sequencer: Adding return value to function to appease static analysis - This function is never compiled, and if it is, it won't compile, but static analysis doesn't know that Change 3489264 by Nick.Darnell Testing - Finishing the thought behind an enum comment. Change 3489265 by Nick.Darnell PR #2750: UE-35164: Button padding (Contributed by projectgheist) Change 3489267 by Nick.Darnell PR #3645: UE-45464: Handle SSlider mouse interaction more accurately (Contributed by projectgheist) Change 3489632 by Arciel.Rekman Correctness changes to MallocPoisonProxy. - Missing forwarding functions added. Incorrect comment removed. - Change by Steve.Robb, doing here so it is in 4.17. Change 3489689 by Arciel.Rekman More MallocPoisonProxy changes I missed in previous CL. Change 3489751 by Matt.Kuhlenschmidt Moved editor performance settings out of per-project settings so they can be shared across projects Change 3489837 by Lauren.Ridge Keyboard shortcut for entering/leaving VR Mode is now Alt+V Change 3491082 by Arciel.Rekman Linux: better fix for the crash due to name collision (UE-46040). - Put classes in Sequencer module into Sequencer namespace instead of SceneOutliner namespace. - Undid change in the SceneOutliner module. #jira UE-46040 Change 3491096 by Arciel.Rekman Fix UAT compilation on the newest mono. Change 3491240 by Max.Chen Sequencer: Disable key button when allow level edits only is on. #jira UE-46060 Change 3491406 by Yannick.Lange Fix editor crashes when opening a project that includes a plugin with more than two custom Volume classes. This issue was caused because registering show volume commands is based on finding volume classes. Finding these classes at multiple times resulted in a mismatch of the returned array of volume classes because modules/plugins were still being loaded. #jira UE-45806 Change 3491559 by Alexis.Matte Make sure we use the good preview mesh when doing a preview #jira UE-45963 Change 3491563 by Alexis.Matte Fix crash with staticmesh editor LodLevel selection Change 3491564 by Nick.Darnell UMG - Fixing an offset with the grab handles in HDPI mode. Change 3491595 by Nick.Darnell Editor - Fixing a clipping artifact in the pin type dropdown in the blueprint editor. Change 3491604 by Nick.Darnell Back out changelist 3489265 Change 3491615 by Arciel.Rekman Added malloc replay proxy (Linux only for now). - Allows to dump malloc callstream (without regard to threads) and replay later to study the behavior of different mallocs and/or repro problems. Change 3491684 by Arciel.Rekman Added FMalloc functions I missed. - Also moved function bodies into the .cpp file, this does not make a difference in performance in this case. Change 3491692 by Matt.Kuhlenschmidt Some minor fixes to the static mesh editor - Fix UV combo button looking non-standard on the toolbar - Fix a few combo buttons in the details panel looking too big. Change 3491702 by Arciel.Rekman Do not compile replay proxy-specific code when not used. Change 3491717 by Michael.Dupuis #jira UE-35083: The component is now the owner of the PerInstanceRenderData instead of the proxy Add an Update path to only update specified instances range Always call BuildTreeIfOutdated so we have a standard code path to make sure static mesh are fully loaded before trying to build the tree Moved the Instance Buffer aysnc to the base class, as it's not related to UHierarchicalInstancedStaticMeshComponent Expose a new property to decide if we require dynamic instance buffer Change 3491758 by Matt.Kuhlenschmidt Fix crash on static mesh editor shutdown Change 3491873 by Cody.Albert Fixed clipping issue in Sequencer curve editor #rnx Change 3491956 by Matt.Kuhlenschmidt Fix crash opening the Previewing sub-menu in the level editor settings menu #jira UE-46095 Change 3492046 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3492076 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3492165 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3492222 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3492274 by Michael.Dupuis #jira UE-46105: Fixed Clang warning Change 3492338 by andrew.porter QAGame: Testing ensure when submitting Change 3492371 by Nick.Darnell UMG - Reverting the animation sharing, cossed GLEO regressions in cooking. Will look for a better solution. Change 3492462 by Matt.Kuhlenschmidt Fix ensure checking in files through perforce Change 3492491 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3492505 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3492517 by Jamie.Dale The package localization ID is no longer used at all at runtime, and is now truly editor-only This should have always been the case, but it was leaked into manifest/archives/PO files in 4.14, and while 4.15 removed it from PO files it was still present in the manifest/archives. This change removes it entirely (unless gathering editor-only data, and even then the PO file will still collapse the entries together for translation), and the deprecated 4.14 export behavior will now produce an error if you attempt to use it. After taking this change you'll need to run a gather, import, and compile of your LocRes files to update your game localization to use the new localization IDs. Change 3492630 by Nick.Darnell UMG - Removing some extra cleanup code that's probably overkill and is causing a crash for uses of "Within" in class meta. #jira UE-46124 Change 3492692 by Matt.Kuhlenschmidt Fix drop shadows inheriting the outline color of the font. The outline should still appear but not have a different outline color from fill color Change 3492714 by Matt.Kuhlenschmidt Added outline with drop shadow to font automation test Change 3492737 by Matt.Kuhlenschmidt Fix linux Change 3492992 by tim.gautier Resaving Ocean Widget Blueprints / Sequences to resolve Legacy Sequence Data warnings #jira UE-46132 Change 3493089 by Jamie.Dale Ensure that the composite font of a font asset is flushed when the font object is GC'd Change 3493322 by Jamie.Dale Fixing null crash #jira UE-45758 Change 3494467 by Andrew.Rodham Fix Xbox warning Change 3494852 by tim.gautier QAGame: Changed streaming method of QA-EditorSmoke-Landscape to Always Loaded Change 3494853 by Nick.Darnell Another attempt at fixing the automation blueprint SA warning. Change 3494896 by Arciel.Rekman Fix possible null pointer access during Vulkan init. - May fix static analysis warnings in UE-46142, although warnings seem to be referring to something else. #jira UE-46142 Change 3494987 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3495010 by Matt.Kuhlenschmidt Adding additional logging to track down html5 issue Change 3495212 by Michael.Dupuis #jira UE-46143: Properly init the InstanceRenderData during the cooking phase (required by fortnite) Change 3495536 by Jamie.Dale Updating UGameEngine to call its Super::PreExit after performing its own teardown This prevents UEngine cleaning up resources that UGameEngine still needs. #jira UE-46159 Change 3495551 by Arciel.Rekman Another attempt to fix analyzer problem (UE-46142). Change 3495794 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3495905 by Matt.Kuhlenschmidt Fix USD crash when importing a meshwith no material [CL 3499771 by Matt Kuhlenschmidt in Main branch]
2017-06-19 20:27:30 -04:00
if ( DistanceDragged != 0.f && (bHandleLeftMouseButton || bHandleRightMouseButton) )
{
return FReply::Handled().CaptureMouse(WidgetOwner.AsShared());
}
Copying //UE4/Dev-Sequencer to //UE4/Main ========================== MAJOR FEATURES + CHANGES ========================== Change 2875025 on 2016/02/20 by Andrew.Rodham Sequencer: Cinematic viewport improvements - Added optional letterbox overlay (defaults to 2.35:1) - Added ability to change safe frame colors - Added selected tracks' keys to the transport range - Added buttons for jumping between selected tracks' keyframes on the transport controls - Removed black padding around the viewport where possible - Added ability to specify whether a combo button/menu anchor should close when its parent receives focus - Separated logic of FGroupedKeyArea into FSequencerKeyCollection, so it can be used independently - Added playback range to the viewport frame numbers - All frame numbers are now spin boxes #jira UE-26429 Change 2875026 on 2016/02/20 by Thomas.Sarkanen Added console commands for recording sequences Changed plugin to a developer plugin so we can load it when the editor is in -game mode. Added Exec commands. Added some more logging to help diagnose problems when using commands. Added loading/saving of config for recorder settings (stored in Editor.ini). Also disabled controls in recorder window when recording. Added auto-saving of assets when in non-editor modes. Moved animation settings from UnrealEd to Engine module. Change 2875036 on 2016/02/20 by Max.Chen Sequencer: Call RedrawAllViewports instead of RedrawLevelEditingViewports. In particular, this fixes some update issues when editing values in the key editors. #jira UE-26960 Change 2875046 on 2016/02/20 by Max.Preussner Sequencer: Fix so that clicking on UMG Animations doesn't dirty the scene. #jira UE-26249 Change 2875047 on 2016/02/20 by Max.Chen Sequencer: Add option to toggle display of channel colors/lines. View->Channel Colors Change 2877138 on 2016/02/23 by Max.Chen Sequencer: Select corresponding track node when selecting key or section. Removed active/inactive selection since it was only being used in deletion and the rules for deletion are now dependent upon what is selected - delete keys and sections before deleting outliner nodes. Change 2877143 on 2016/02/23 by Thomas.Sarkanen Added new math function: WindRelativeAnglesDegrees Given two angles in degrees, 'wind' the angle in Angle1 so that it avoids >180 degree flips. Good for winding rotations previously expressed as quaternions into a euler-angle representation. Change 2877147 on 2016/02/23 by Thomas.Sarkanen Added the ability to import sequencer transforms from the root node of an animation sequence Intended for use after re-importing animations from DCC tools. Available in the right-click menu for transform tracks. Also added FindTrackBinding to UMovieScene so track bindings can be recovered from tracks. Change 2877163 on 2016/02/23 by Max.Chen Sequencer: Add option to create keyframe sections as infinite. Sequencer defaults to true, UMG defaults to false. Change 2877165 on 2016/02/23 by Max.Preussner Sequencer: Drawing vertical position lines when dragging keys Change 2878748 on 2016/02/23 by Max.Chen Curve Editor: Switch curve type to user when flatting or straightening tangents. #jira UE-27277 Change 2878799 on 2016/02/23 by Frank.Fella Sequencer - Add folders support to the outliner. Change 2880769 on 2016/02/24 by Andrew.Rodham Sequencer: Added ability to override runtime spawnable ownership in sequencer - This is exposed as an option on spawnables "Keep Alive Outside Playback Range (In Sequencer)" - Enabling this will stop spawnables from being destroyed when scrubbing outside of the playback range #jira UE-27205 Change 2880770 on 2016/02/24 by Thomas.Sarkanen Sequencer: Added countdown and recording indicator display when recording Also fixed extra popups added post-PIE when animation recordings auto shutdown. Change 2880782 on 2016/02/24 by Max.Chen Sequencer: Snapping now also uses the current time as a possible snap time. #jira UE-26306 Change 2880793 on 2016/02/24 by Max.Chen Sequencer: Add +Animation to Animation track so that it's consistent with all other tracks that have a + button. Change 2880812 on 2016/02/24 by Max.Chen Sequencer: Fix adjusting the leading edge of a shot section so that it cuts into the shot rather than adjusts the start time. #jira UE-26306 Change 2881624 on 2016/02/25 by Andrew.Rodham Changing shader version GUID to fix corrupt shaders in ddc Change 2882408 on 2016/02/25 by Thomas.Sarkanen Asset/actors stored in TLazyObjectPtrs can now reference game content from engine This is a legitimate use case as lazy object ptrs are designed to reference assets/actors cross-domain. Change 2882409 on 2016/02/25 by Thomas.Sarkanen [CL 2899785 by Max Chen in Main branch]
2016-03-08 16:55:04 -05:00
return FReply::Handled();
}
Copying //UE4/Dev-Sequencer to //UE4/Main ========================== MAJOR FEATURES + CHANGES ========================== Change 2875025 on 2016/02/20 by Andrew.Rodham Sequencer: Cinematic viewport improvements - Added optional letterbox overlay (defaults to 2.35:1) - Added ability to change safe frame colors - Added selected tracks' keys to the transport range - Added buttons for jumping between selected tracks' keyframes on the transport controls - Removed black padding around the viewport where possible - Added ability to specify whether a combo button/menu anchor should close when its parent receives focus - Separated logic of FGroupedKeyArea into FSequencerKeyCollection, so it can be used independently - Added playback range to the viewport frame numbers - All frame numbers are now spin boxes #jira UE-26429 Change 2875026 on 2016/02/20 by Thomas.Sarkanen Added console commands for recording sequences Changed plugin to a developer plugin so we can load it when the editor is in -game mode. Added Exec commands. Added some more logging to help diagnose problems when using commands. Added loading/saving of config for recorder settings (stored in Editor.ini). Also disabled controls in recorder window when recording. Added auto-saving of assets when in non-editor modes. Moved animation settings from UnrealEd to Engine module. Change 2875036 on 2016/02/20 by Max.Chen Sequencer: Call RedrawAllViewports instead of RedrawLevelEditingViewports. In particular, this fixes some update issues when editing values in the key editors. #jira UE-26960 Change 2875046 on 2016/02/20 by Max.Preussner Sequencer: Fix so that clicking on UMG Animations doesn't dirty the scene. #jira UE-26249 Change 2875047 on 2016/02/20 by Max.Chen Sequencer: Add option to toggle display of channel colors/lines. View->Channel Colors Change 2877138 on 2016/02/23 by Max.Chen Sequencer: Select corresponding track node when selecting key or section. Removed active/inactive selection since it was only being used in deletion and the rules for deletion are now dependent upon what is selected - delete keys and sections before deleting outliner nodes. Change 2877143 on 2016/02/23 by Thomas.Sarkanen Added new math function: WindRelativeAnglesDegrees Given two angles in degrees, 'wind' the angle in Angle1 so that it avoids >180 degree flips. Good for winding rotations previously expressed as quaternions into a euler-angle representation. Change 2877147 on 2016/02/23 by Thomas.Sarkanen Added the ability to import sequencer transforms from the root node of an animation sequence Intended for use after re-importing animations from DCC tools. Available in the right-click menu for transform tracks. Also added FindTrackBinding to UMovieScene so track bindings can be recovered from tracks. Change 2877163 on 2016/02/23 by Max.Chen Sequencer: Add option to create keyframe sections as infinite. Sequencer defaults to true, UMG defaults to false. Change 2877165 on 2016/02/23 by Max.Preussner Sequencer: Drawing vertical position lines when dragging keys Change 2878748 on 2016/02/23 by Max.Chen Curve Editor: Switch curve type to user when flatting or straightening tangents. #jira UE-27277 Change 2878799 on 2016/02/23 by Frank.Fella Sequencer - Add folders support to the outliner. Change 2880769 on 2016/02/24 by Andrew.Rodham Sequencer: Added ability to override runtime spawnable ownership in sequencer - This is exposed as an option on spawnables "Keep Alive Outside Playback Range (In Sequencer)" - Enabling this will stop spawnables from being destroyed when scrubbing outside of the playback range #jira UE-27205 Change 2880770 on 2016/02/24 by Thomas.Sarkanen Sequencer: Added countdown and recording indicator display when recording Also fixed extra popups added post-PIE when animation recordings auto shutdown. Change 2880782 on 2016/02/24 by Max.Chen Sequencer: Snapping now also uses the current time as a possible snap time. #jira UE-26306 Change 2880793 on 2016/02/24 by Max.Chen Sequencer: Add +Animation to Animation track so that it's consistent with all other tracks that have a + button. Change 2880812 on 2016/02/24 by Max.Chen Sequencer: Fix adjusting the leading edge of a shot section so that it cuts into the shot rather than adjusts the start time. #jira UE-26306 Change 2881624 on 2016/02/25 by Andrew.Rodham Changing shader version GUID to fix corrupt shaders in ddc Change 2882408 on 2016/02/25 by Thomas.Sarkanen Asset/actors stored in TLazyObjectPtrs can now reference game content from engine This is a legitimate use case as lazy object ptrs are designed to reference assets/actors cross-domain. Change 2882409 on 2016/02/25 by Thomas.Sarkanen [CL 2899785 by Max Chen in Main branch]
2016-03-08 16:55:04 -05:00
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3946692) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3801826 by Max.Chen PR #4304: Level Sequence crash fix - Guarded against dereferencing null componen. (Contributed by DSDambuster) Change 3801828 by Max.Chen PR #4302: Movie Scene Visibility Template unitialised variable, causing random . (Contributed by DSDambuster) Change 3801837 by Max.Chen Sequencer: Delay spawning/construction for convert to possessable. This fixes a bug where property values would be lost when converting back and forth from possessable to spawnable. #jira UE-52400 Change 3801841 by Max.Chen Sequencer: Make spacer nodes not selectable. PR #4194: Improvements to Sequencer (Contributed by projectgheist) #jira UE-53117 #jira UE-52139 Change 3804183 by Max.Preussner MediaAssets: Added missing lock in media sound component Change 3805414 by Max.Preussner MediaAssets: Setting valid GUID when initializing media texture resource Change 3819578 by Max.Chen PR #4370: When enabling the "MovieCapture", do not turn off the Stereo-3D display. (Contributed by yehaike) #jira UE-53647 Change 3823414 by Max.Chen Curve Editor: Lock down the first and last keys in the redundant keys removal range so that they're unaffected. #jira UE-53591 Change 3826406 by Max.Chen Sequencer: Move OnStartedPlaying() to within first update in UpdateTimeCursorPosition(). This fixes an issue where setting the hud/player visibility was getting stomped on later. #jira UE-52772 Change 3827044 by Max.Preussner MediaAssets: Added sprite visualization to media sound component #jira UE-53594 Change 3827988 by Max.Preussner MediaPlayerAssets: Fixed Media Texture is not linked to Media Player when created together #jira UE-53532 Change 3828506 by Max.Preussner MediaPlayerEditor: Added attenuation visualizer for media sound components #jira UE-53594 Change 3832590 by andrew.porter EngineTest: Added a keep state check in Property Animation sequencer test Change 3833053 by andrew.porter EngineTest: Adding Hierarchical Bias test Change 3835683 by andrew.porter EngineTest: Adding UMG Animation screenshot test Change 3836076 by Max.Chen Sequencer: Fix audio volume and pitch multiplier deprecation. Change 3836230 by andrew.porter EngineTest: Adding Sequence Bone Position automation test Change 3836347 by Max.Chen Sequencer: Fixes to shot name parsing. When a shot doesn't contain a shot number, assume, [ShotName]_[TakeNumber]. When duplicating a shot, put the new shot in the same path of the original shot, so that the take numbers will increment properly. #jira UE-51868 Change 3836552 by Max.Chen Sequencer: Sub section now has a takes menu Change 3838094 by Max.Chen UMG: Fix template finish not getting called on stop. This fixes a bug where sections aren't restored when finished. #jira UE-52285 Change 3838708 by Max.Chen Sequencer: Add notification when the blend type is changed. #jira UE-54046 Change 3840295 by Max.Chen Sequencer: Fix copy/paste crash for lights #jira UE-54084 Change 3840957 by Mike.Zyracki Added Show Only Keyable and Show Only Animated to the filter list in the property editor. Added IsPropertyAnimated to IDetailKeyframe Interface which already had support for showing properties which are keyable (which is used for the key icon next to the properties.). Could have created another interface but then would have had to mimic the sequencer binding, releasing also, so this seemed best way. One issue still left is that custom built detail items currently don't store associated properties(usually) and so certain properties, in particulalry transforms, won't show up as keyable or animated. Note this also shows up with the keyable icon not showing up next to transform tracks, and other filters like Show Only Modified not working with transforms/customs. Not sure best way to tackle this. #jira UESEQ-328 Change 3841756 by Max.Chen Sequencer: Fix unbound possessable components when pasting spawnables. #jira UE-54104 Change 3843950 by andrew.porter EngineTest: Renaming LevelStreaming tests/content to LevelVisibility Change 3844082 by Mike.Zyracki Missing file for animated filter in property editor. When finding if a track is animated we need to find it but we can't easily induce the MovieTrack class for any particular property. So we don't set a class for it and just search by it's ID and name. #jira UESEQ-328 Change 3846902 by Max.Preussner ImgMedia: Fixed image media player never finished initialization if loading failed #jira UE-54247 Change 3849820 by Mike.Zyracki Reassigning deleted widgets didn't work since the menu extender mechanism needs a valid UObject in order to perform an operation on it. So to fix we replaced GetObjectBindingContextMenuExtender in WidgetBlueprint with new delegate mechanism (OnBuildCustomContextMenuForGuid) that supports FGuid in addition to UObjects which is needed to handle re-binding deleted widgets. Note that the default sequencer hacks this for replacing deleted actors in SequencerObjectBindingNode to check to see if a LevelSequence is active. We could move to this mechanism there also. #jira UE-53163 Change 3852211 by Max.Chen UMG: Indicate name of the property that is not bound. #jira UE-54350 Change 3854120 by Max.Chen Sequencer: Fix sibling folders being allowed to have the same folder name. #jira UE-54363 Change 3854627 by Max.Chen Sequencer: Step to next/previous key should work for all tracks if there aren't any selected. #jira UESEQ-391 Change 3855825 by andrew.porter EngineTest: Adding animation blending automation test Change 3855950 by andrew.porter EngineTest: Adding correct expected valuues to animation blending test Change 3856237 by Matt.Hoffman UESEQ-336 - Sequencer Track Reordering Adds the ability to re-order Master Tracks, Folders and Object Bindings within sequencer hierarchies (including UMG). Adds the ability to do a one-off sorting of the content under the old sorting behavior if the user wants to reset their layout to how it was under legacy behavior. Modifies SequencerTrackNodes, SequencerFolderNodes and SequencerObjectBindingNodes to handle CanDrop/OnDrop for above, below and ontop of. Fixes a Slate Issue that forcibly expanded a TreeviewRow if an item handled OnDrop. Slate will now only forcibly expand the row if the item says the drop happened ontop of the item, and not above or below it like it previously did. Change 3856503 by andrew.porter EngineTest: Adding automation test for using animation blueprint with blend multi node in sequencer Change 3857875 by Max.Chen Sequencer: Assign the sequence id after the template is compiled. #jira UE-54462 Change 3858344 by Max.Chen Sequencer: Prevent Goto and Transform boxes from overlapping by allowing them to be visible at the same time in an autosized horizontal box. Also, added close button to the goto box. PR #4425: Prevent Goto and Transform boxes from overlapping in Sequencer ... (Contributed by projectgheist) #jira UE-54210 Change 3860566 by andrew.porter MediaFrameworkTest: Set the option to index 0 for the audio and video track list by default Change 3860654 by andrew.porter EngineTest: Enabling Camera Cut + FOV test Change 3860981 by andrew.porter EngineTest: Updating skeletal mesh tests with a delay after set playback position Change 3861256 by Max.Chen Sequencer: Add all bindings if none selected. #jira-54440 Change 3862154 by Andrew.Rodham Added TimeManagement module Change 3862424 by andrew.porter EngineTest: Turned on the test Bone Positions with Blend Multi Node Change 3862573 by andrew.porter EngineTest: Adding test to compare bone positions in a sequence that is blending an animation that is using an AnimBP Change 3865117 by Max.Chen Sequencer: Stop auto scroll on mouse release of movement. #jira UE-31212 Change 3865303 by Max.Chen Sequencer: Add drag and drop transactions #jira UE-54662 Change 3865304 by Max.Chen Sequencer: Fix crash when an actor factory is not found. Change 3865361 by Max.Chen Sequencer: Don't change the camera/shot lock button when popping out of a sequence. #jira UE-54665 Change 3865412 by Max.Chen Sequencer: Determine whether a transform track is for a camera by using the spawned object or template #jira UE-54666 Change 3865685 by Max.Chen Sequencer: Clear autoscrub offset when stopping autoscroll #jira UE-31212 Change 3865886 by Max.Chen Sequence Recorder: Log an error if the number of frames changes while recording. This can happen if the skeleton changes while recording. #jira UE-48715 Change 3866925 by Andrew.Porter MediaFrameworkTest: Changing the current PNG test video image sequence to 1024 x 576 Change 3867705 by andrew.porter QAGame: Adding Audio Sort Sequence to dev folder Change 3867890 by andrew.porter QAGame: Adding a sequence for testing a sorting crash to my dev folder Change 3872628 by Max.Chen Movie Scene Capture: Split delay before warmup into split delay before shot warmup so that there's separate controls for when the movie scene capture warmups up vs. shot boundaries. Change 3873131 by Matt.Hoffman UE-54732 - Crash reordering a folder with a track. This was caused by folders being the only type of track to check if someone was putting a parent track into a child track. Object Binding tracks and Tracks now check as well so that you can't use the above/below drop targets to add parents as children. This also fixed a typo in the localization keys. #jira UE-54732 Change 3873301 by Mike.Zyracki Added ability to support continous euler angle changes when changing rotations, in particularly with the rotation gizmo's. To do this we effectively added a form an of 'euler filter'(https://en.wikipedia.org/wiki/Euler_filter) to find the closest euler angle to the current euler angle. Three functions were added to FRotator to make this possible, one to get the euler angle that's has the same rotation as it, one to get the difference between two euler angles via Manhattan distance and a third using the previous two to choose a Rotator value that's closest to it. We then use these functions before calling UComponent::SetRelativeRotation to make sure we use the correct Euler after the Quat conversion. We also no longer limit(bound) the euler angles to -180,180, which is obviously necessary to avoid flips. I also changed how we caluclate yaw and roll when pitch is -90 or 90 to make it the standard approach of zeroing out roll and just setting yaw. Main reasons are the previous implementation had precision issues so things like 180, 90, -180 would show up due to numbers being nearly zero but negative,(this would break any smooth interpolations), and this facilitates having a 'gimbal' rotation mode (like Maya, Blender etc..) if we ever want that also. If needed we could keep the previous implementation but would need to add some FMath::IsNearlyZero checks, with less performance. Note we only do this special filtering when applying delta's to actors or components in the editors, which then call UComponent::SetRelativeRotationExact, which is a new function to foces the RelativeRotation to be equal to the new rotation. This allows us to store un-nomalized Rotators at the cost that the RotationCache may be broken. We didn't change any of the other UComponent functions that set rotations (via Quats or Transforms) so they will still be bounded and unwound. In SetInternalWorldLocationAndRotation we only set the rotation if the rotation has changed, which fixes the rotation getting changed and re-normalized if just translate happens. In TransformTrackEditor, we correclty use the bUndwing flag and in MovieScene3DTransformSection there was an un-needed winding check there, it will be unwound earlier if needed, which happens if Sequence Recording is happening. Max we should talk about what to do about this . Note the euler angle drag via the widget is still bound to 0-360. I think we should just unbound that now since the rotations value are now unbound. This review now includes fixes suggested by Zak. #jira UE-UE-22228 Change 3873483 by Matt.Hoffman Sequencer Tracks can now be inserted above the spacer at the bottom of the tree. #jira UE-54706 Change 3873899 by Max.Chen Sequencer: Add section selection throbbing Change 3873908 by Max.Chen Movie Scene Capture: Added logging per frame Change 3873924 by Matt.Hoffman Adds the ability to store Sequence Recorder setups into profiles that stay with the map and can be re-loaded later. Profiles store the Actor Recordings so the settings for each actor should carry with them. #jira UESEQ-339 Change 3874726 by Matt.Hoffman Disable drag-and-drop targets on spacers that come between rows in Sequencer. This prevents extra drag/drop targets showing up between each row. #jira UE-54706 Change 3874862 by Matt.Hoffman Audio Track no longer gets reordered when adding sub-audio tracks, as sub-tracks are no longer counted towards the sorting order index when normalizing indexes. #jira UE-54727 Change 3875905 by Matt.Hoffman Disable Fade Track UI if a fade track already exists in the sequence. #jira UESEQ-393 Change 3876163 by Max.Chen Sequencer: Swap the camera object to the camera component's owner if it's not the same. #jira UE-54874 Change 3876971 by Andrew.Porter EngineTest: Moved Media Player Seek test to new folder. Also enabled the test with new ground truth image. Change 3877040 by Max.Chen Cine Camera: Split camera properties to two groups, "Camera Options" and "Camera Settings". The cine camera now hides properties in the "Camera Settings" group so that properties like bConstrainAspectRatio (in the "Camera Options" group) can be visible. #jira UE-54192 Change 3877763 by Max.Chen Curve Editor: Fix curve changed on end drag so that only curves that had keys/tangents that were changed receive notification, otherwise all loaded curves were getting notified that they were changed. #jira UE-54951 Change 3878234 by Matt.Hoffman Disable "Drop Below" targets for Sequencer Tree nodes to prevent a confusing UX issue where dropping underneath a Object Binding Node puts it after the object binding node but the UI looks like it's inserting it inside the Object Binding node. #jira UE-54743 Change 3879359 by Mike.Zyracki If a track is inactive we dim it a bit which seems to be the UE4 way to show inactive or disabled state. We changed the active logic so that all subtracks need to be inactive for the track to also be inactive(instead of all active for active). This conforms to how the active state actually works, e.g if you have two sections and only one is active the track is still active above it. #jira UESEQ-388 Change 3879462 by Max.Chen Sequencer: Allow dragging onto a particular row which would move out any overlapping sections to make space for the newly created section. Newly created sections are now selected and throbbed to draw attention to themselves. #jira UE-54664 Change 3879464 by Max.Chen Sequencer: Fixed overlapping ranges being inserted into the evaluation field during compilation - The issue was that track segments that had been combined with adjacent segments (due to them being identical) would potentially cause a subsequently compiled frame to overlap with a range that had already been inserted into the evaluation field. - The insertion code previously asserted that only minor overlaps were catered for (due to fp rounding errors) and assumed that a supplied range could not entirely contain any other range in the field. - The solution is to supply the insertion time along with the range to know exactly where the data should live in the field, and crop the range to the maximum allowable space between adjacent ranges. #jira UE-54922 Change 3879590 by Matt.Hoffman Items that are now added to the Sequencer via the "+Track" menu will be selected after being added. Items can now be added inside of folders instead of just to the root level. #jira UE-27397 Change 3879612 by Mike.Zyracki Display Nodes with no children are always active. #jira UESEQ-388 Change 3879730 by Matt.Hoffman Sequence Recorder's actor recording groups now remove items from the group when removed via the UI. #jira UESEQ-339 Change 3880256 by Mike.Zyracki Fix issue with inactive display with folders and other track nodes. #jira UESEQ-388 Change 3883491 by Max.Chen Fix issue where tick is skipped due to last ticked pose isn't cleared after AnimInstance changes. Copy from Release-4.19 #jira UE-51323 Change 3883603 by Max.Chen Movie Scene Capture: Add option toggle disable screen percentage. By default this is on (no change in current behavior). #jira UE-51898 Change 3885074 by Max.Preussner MediaCompositing: Resetting media texture & freeing resource on section end; removed dead code Change 3887220 by Max.Preussner MediaCompositing: Defaulted media section duration to 1 sec (since we do not know the actual duration in most cases) Change 3887478 by Matt.Hoffman Sequences now show [Inactive] in their title bars when they're disabled. This helps communicate why a sequence isn't being evaluated. #jira UE-51469 Change 3888985 by Max.Chen Movie Scene Capture: Clamp HDR Compression Quality between 0 and 1. #jira UE-55136 Change 3893519 by Max.Chen Sequence Recorder: Clarified tooltip for bRecordNearbySpawnedActors - spawned actors will still be recorded if they match the ActorFilter. #jira UE-55238 Change 3893546 by Max.Chen Sequence Recorder: If a selected actor already has a recording, add a blank recording. #jira UE-55239 Change 3894044 by Max.Preussner MediaCompositing: Added support for seeking into a media section Change 3894310 by andrew.porter MediaFrameworkTest: Adding Img media sources for 1080 and 2160 ravent test content Change 3894426 by Max.Preussner MediaAssets: Letting media textures with AutoClear retain their clear color when player is reset Change 3895717 by Max.Chen Sequencer: Null checks to prevent crash when saving the default state of a spawnable #jira UE-55304 Change 3897388 by Max.Chen Sequencer: Don't update current time to be within the view range when stepping into a sequence. #jira UE-55322 Change 3897452 by Max.Chen Audio: Fix crash when trying to record audio without any active capture devices. Log warning if the number of input channels is not 1 or 2. #jira UE-55223 Change 3897619 by Max.Preussner MediaCompositing: Removed commented out code Change 3898072 by Max.Chen Sequencer: Override the animation asset in the player state if it doesn't match the animation asset that's being evaluated. #jira UE-55328 Change 3898272 by Max.Preussner MediaPlayerEditor: Made slate brush constants static Change 3898704 by Max.Chen Sequencer: Skip if the binding id's sequence can't be found. #jira UE-55337 Change 3899855 by Max.Preussner MediaCompositingEditor: Added cache state visualization to media track Change 3900300 by Max.Preussner MediaCompositingEditor: Added loop indicators to media sections Change 3900694 by Max.Preussner ImfMedia: Looping cache only when player is looping Change 3900892 by Max.Preussner Stats: Added stats category for media framework Change 3900954 by Max.Preussner MediaCompositing: Don't evaluate at the end of media section Change 3901348 by Max.Preussner Core: Replaced TLruCache autos for better readability Change 3901655 by Max.Preussner ImgMedia: Added more perf stats to EXR reader Change 3901972 by Max.Preussner MediaAssets: Added getter for media player in media sound components Change 3902233 by Max.Preussner MediaAssets: Enabling media textures to receive samples right after player is assigned Change 3902238 by Max.Preussner MediaCompositing: Working around init/shutdown idiosyncracies in sequencer Change 3904045 by Max.Chen Sequencer: Fix copy/paste crash. Only process UMovieSceneCopyableBinding and objects that can be spawned by the movie scene spawn register. #jira UE-55314 Change 3905605 by Max.Chen Sequencer: Restrict spawnables from being created if they have a ClassWithin that UMovieScene is not a child of. #jira UE-55429 Change 3906550 by Max.Chen Sequencer: Add media track icon #jira UE-55480 Change 3907101 by Max.Chen Sequence Recorder: Fix bugs related to not recording a level sequence. There were certain assumptions that creating a level sequence meant that sequence recording was in progress. This is not always the case - the recorders can record animation assets and not create a level sequence. Changed the notion of IsRecording() to having at least one actor recording that is recording. Countdown timer, recording displays, etc should function if IsRecording() and not based on whether a level sequence is created. #jira UE-55485 Change 3907247 by Max.Chen Sequence Recorder: Fix crash not removing PrepareToCleanseEditorObject delegate. Repros when opening sequence recorder, closing it, and then opening or creating a level. Change 3910343 by Max.Preussner Core: Added async helper for executing functions on a given thread pool Change 3910346 by Max.Preussner ImgMedia: Added separate thread pools for loading/decoding and deleting image frames Change 3910829 by Max.Preussner Profiler: Increased visible range of profiler graph Change 3910841 by Max.Preussner MediaCompositing: Displaying asset name instead of full media source path in media section Change 3910870 by Max.Preussner ImgMedia: Using deallocation thread pool only in debug builds Change 3919642 by Max.Chen Sequence Recorder: Clarify active tooltip #jira UE-55661 Change 3919660 by Max.Chen Sequencer: Sequence template source signatures are now also compared to catch the case where a sub-sequence asset has been saved but not modified - The following sequence of events exposes this issue: - Create a master sequence with a single shot that spawns a cube - Add this sequence to a level and set it to auto-play - Save everything and restart - Resave just the inner shot asset without opening it - PIE - The inner shot never spawns its cube because its template was wiped on save, but its signature never changed. Since the master sequence previously didn't check the template source signature, it ends up trying to evaluate an empty template. #jira UE-55626 #jira UE-55490 Change 3921825 by Max.Chen Sequencer: "Run Construction Script in Sequencer" is off by default for blueprints but on for Sequencer. This allows the content author to switch it on for specific blueprints and sequencer will be default, run those with construction scripts enabled. Change 3922232 by Max.Chen Sequence Recorder: Reset countdelay on stop. #jira UE-55755 Change 3922306 by Max.Chen Sequence Recorder: Don't automatically mark transforms to be recorded by sequence recorder. Instead, log a warning if the user toggled it off to warn that the resulting animation might not match gameplay. #jira UE-55758 Change 3922912 by Max.Chen Sequence Recorder: Fix refresh next sequence name #jira UE-55757 Change 3927654 by Max.Chen Movie Scene Capture: Added format mapping for the name of the current camera #jira UE-55769 PR #4537 Change 3927658 by Max.Chen Sequencer: Added fbx property mapping for "FocusDistance" to "FocusSettings.ManualFocusDistance" #jira UE-55782 Change 3932022 by Max.Chen Sequencer: Add import animation track section to next available row index. #jira UE-55892 Change 3933919 by Max.Chen Sequencer: Jump to playback start frame and not 0 to start playback for recording. #jira UE-55933 Change 3934307 by Andrew.Rodham Sequencer: Add template signature that is re-generated every time the base template is regenerated, which invalidates evaluation fields This fixes an issue where the same sequence is instantiated multiple times in a sequence. If the source sequence was saved, its template would be wiped, which would invalidate the template ID When an instance tries to evaluate the master template, it would only invalidate a range in the evaluation field that was the hull of any invalid sub sequences overlapping the current time, potentially leaving invalid data in the evaluation field at positions later (or earlier) on in the sequence When the sub template was re-generated, it receives the same SequenceSignature as it had before (because the sequence hasn't actually changed), which causes the stale evaluation field data to fail the IsDirty check (because the sequence is the same as it thought, but the *template* has changed) This has been addressed be adding a signature to templates themselves, and checking both the template signature and sequence signature as a part of the IsDirty check. This ensures that we regenerate if either the template, or the sequence have changed. #jira UE-55934 Change 3936327 by Andrew.Rodham Sequencer: Removed increment when trimming right UMovieSceneSection::TrimSection already explicity assigns an exclusive bound to the time passed in. The new behavior means we can trim a section to the right, and insert another section without changing the time to create adjacent sections. #jira UE-42652 Change 3936328 by Andrew.Rodham Fixed KeyFrameManipulator assignment operators and copy/move constructors - These types are potentially self-referential so cannot use default constructors/assignment Change 3936330 by Andrew.Rodham Converted UMGSequencePlayer to use frames internally #jira UE-54878 Change 3936726 by Max.Chen Sequencer: Set track node as the parent of the key area node. The key area switcher needs the object binding id from the parent object binding node. Without this, the binding to the external value fails. #jira UE-55931 Change 3936775 by Max.Chen Sequencer: Should stop or loop should compare DurationFrames with Current Time from StartTime. The bug is that if you set 30 warmup frames in movie rendering for a range of 0-100, the FrameRange will be starting at -30 and have a duration of 130. Without this fix, the playback will continue until frame 130, rather than 100. #jira UE-55933 Change 3936935 by Matt.Hoffman Easing Curves are now represented in Play Rate resolution instead of internal resolution. #jira UE-55937 Change 3937069 by Matt.Hoffman Users can toggle if the is infinite on each side, limited by which tracks support infinite ranges. #jira UE-55891 Change 3937516 by Max.Preussner ImgMedia: Added support for single-threaded platforms #jira UE-55986 Change 3937826 by Max.Preussner MediaAssets: Disabling media sound components on HTML5 if AudioMixer is not enabled Change 3937997 by Max.Chen Curve Editor: Add Zoom to Fit Curves so that selected curves from Sequencer can be focused on. Tested that undo doesn't re-zoom. #jira UE-55935 Change 3938000 by Max.Chen Sequencer: Stop all sounds before generating audio waveforms. #jira UE-55951 Change 3938376 by Max.Preussner XGEController: Disabled XGE Controller in single-threaded apps to prevent crash Change 3938444 by Max.Preussner Core: Added async support for single-threaded applications Change 3938445 by Max.Preussner Networking: Added support for single-threaded applications in UDP socket sender/receiver Change 3938447 by Max.Preussner Messaging: Added support for single-threaded applications Change 3939432 by Max.Chen Sequence Recorder: Append command list to global level editor actions so that shortcuts are accessible in level editor. #jira UE-55798 Change 3940229 by Andrew.Rodham Added prospective display rate upgrade to UMovieScene::PostLoad - There was previously some very odd behaviour that would assign the fixed frame interval only when a sub sequence was focused in SSequencer. This meant that many sequences could have a frame interval of 0 set in the data. - Under the old method of snap interval display this would have fallen back to getting the display interval from the sequencer settings, but we no longer look at these. - The USequencerSettings properties have been removed and in their place, a prospective data upgrade for sequences that have a fixed frame interval old 0fps that sets the play rate to the previous defaults based off the old USequencerSettings defaults. - This could end up 'changing' the display rate for sequences where the user has changed the snap interval in the settings for a particular sequence editor, but there's not much we can do about that given we don't have access to the USequencerSettings classes in UMovieScene #jira UE-55919 Change 3940277 by Andrew.Rodham Sequencer: Added ability to default frame resolutions and play rates for newly created actor sequences Change 3940378 by Andrew.Rodham Sequencer: Post move import dialog now defaults to the playback framerate of the sequence, and floors to frame numbers Change 3940559 by Andrew.Rodham Reinstated primed or recording sequence color Change 3940642 by Max.Preussner ImagePlate: Removed image plate media playback functionality Change 3940843 by Max.Preussner Core: Made TCircularQueue actually thread-safe; improved code comments Change 3940860 by Max.Chen Sequencer: Changed StructNameToKey to StructPathToKey Previously, keying a PropertyPath of [RenderTransform][Shear][X] would get trimmed to X, which doesn't map to a channel name as considered by Sequencer2dTransformTrackEditor. Instead, trim the resulting property path to [Shear][X] so that track editors can determine the desired struct path and channels to key. #jira UE-52966 Change 3941292 by Mike.Zyracki Fix for trajectories out of range not showing up. 1) If we had no key data we would pop the time, so wouldn't get the section ranges. 2) Calculating of upper bound was wrong, checking against -1 and not key == num of keys when doing algo::lower_bound. 3) No need to do the Bck-- for the bakward iterators since we fixed #2. We start now from the upper bound correctly. 4) If we had no keys (at section start,end) we would incorrectly say we were any key type, so since we draw constant keys as dashed we would do so incorrectly around section end points. #jira UE-55929 Change 3941424 by Max.Chen Curve Editor: Change Zoom to Fit to use TArrayView Change 3941498 by Max.Preussner Core: Added FMath::DivideAndRoundNearest function Change 3942097 by Matt.Hoffman Drop Frame Timecode Support for NTSC rates. Change 3942104 by Matt.Hoffman Sequence Recorder Group is no longer visible inside the World Outliner after using one. #jira 55266 Change 3942107 by Max.Chen Sequencer: Resurrect logic to find or extend an existing section when adding keys. Change 3942330 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942339 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942507 by Andrew.Rodham Sequencer: We no longer pad the time overlap threshold with a small number that is not scaled by the current zoom level - The presence of this pad was causing keys that were far apart to be grouped when zoomed in a long way Change 3942509 by Andrew.Rodham Sequencer: Only pad total view range, rather than section range as well when retrieving keys to render - This stops us from rendering keys that are within the view range, but outside the section range Change 3942512 by Andrew.Rodham Added transactions to some sequencer details customizations Change 3942513 by Andrew.Rodham Sequencer: Reinstated validation checks to UMovieSceneSection::SetStartFrame and SetEndFrame, changed erroneous uses to use SetRange Change 3942560 by Andrew.Rodham Pass by rvalue reference to appease error C2719 on Win32 ('InChannels': formal parameter with requested alignment of 8 won't be aligned) Change 3942697 by Andrew.Rodham Newly Created Level Sequences and Actor Sequences now default to 24000 fps frame resolution (+/- ~24hrs range, supporting all integer rates + 23.976) Change 3942700 by Andrew.Rodham Sequencer: Added legacy out-of-bounds errors for times that are not supported by the current legacy upgrade frame resolution Change 3942989 by Max.Preussner Core: Fixed circular queue count calculation Change 3943538 by Max.Preussner MediaAssets: Reverted workaround for procedural audio log spam in HTML5 (Actor component initialization cannot be skipped if the component is used in a level) Change 3944071 by Max.Preussner QAGame: Fixed Media Texture keeps last frame of Media when PIE ends #jira UE-53360 Change 3944292 by Max.Chen Sequencer: Added extra flags to ensure that asset initialization does not occur on template actor sequences #jira UE-56113 Change 3944364 by Max.Chen Sequencer: Prevent circular shot/master tracks. Tested adding master -> child -> master as drag and drop cinematic shot tracks and sub tracks as well as through the + button. #jira UE-56091 Change 3944422 by Max.Chen Sequence Recorder: Disable transform recording if off. #jira UE-56061 Change 3944745 by Andrew.Rodham Sequencer: Key rendering fixes - Fixed assert that occured when keys happened to reside on some times due to KeyTime + TimeOverlapThreshold - KeyTime being slightly larger TimeOverlapThreshold - Fixed keys sometimes being clipped when zoomed right in due to lack of half-frame offset - Added missing documentation to MovieSceneTimeHelpers.h #jira UE-56107 Change 3945231 by Andrew.Rodham Sequencer: Reconstruct channel proxy on Serialize to catch all cases of undo/redo, PostLoad and duplication #jira UE-56089 Change 3945301 by Andrew.Rodham Sequencer: Added safety checks during initial sequence recording to guard against applying negative or 0-sized sequence ranges #jira UE-56125 Change 3946627 by Max.Preussner Fortnite: Fixed game crashes closing editor while in PIE - Pure virtual function being called #jira UE-56144 [CL 3946896 by Max Chen in Main branch]
2018-03-14 22:09:33 -04:00
void FSequencerTimeSliderController::CommitScrubPosition( FFrameTime NewValue, bool bIsScrubbing )
{
// The user can scrub past the viewing range of the time slider controller, so we clamp it to the view range.
TSharedPtr<FSequencer> Sequencer = WeakSequencer.Pin();
if(Sequencer.IsValid())
{
FAnimatedRange ViewRange = GetViewRange();
FFrameRate DisplayRate = Sequencer->GetFocusedDisplayRate();
FFrameRate TickResolution = Sequencer->GetFocusedTickResolution();
FFrameTime LowerBound = (ViewRange.GetLowerBoundValue() * TickResolution).CeilToFrame();
FFrameTime UpperBound = (ViewRange.GetUpperBoundValue() * TickResolution).FloorToFrame();
if (Sequencer->GetSequencerSettings()->GetIsSnapEnabled() && Sequencer->GetSequencerSettings()->GetSnapPlayTimeToInterval())
{
LowerBound = FFrameRate::Snap(LowerBound, TickResolution, DisplayRate);
UpperBound = FFrameRate::Snap(UpperBound, TickResolution, DisplayRate);
}
NewValue = FMath::Clamp(NewValue, LowerBound, UpperBound);
}
// Manage the scrub position ourselves if its not bound to a delegate
if ( !TimeSliderArgs.ScrubPosition.IsBound() )
{
TimeSliderArgs.ScrubPosition.Set( NewValue );
}
TimeSliderArgs.OnScrubPositionChanged.ExecuteIfBound( NewValue, bIsScrubbing );
}
FReply FSequencerTimeSliderController::OnMouseWheel( SWidget& WidgetOwner, const FGeometry& MyGeometry, const FPointerEvent& MouseEvent )
{
TOptional<TRange<float>> NewTargetRange;
Copying //UE4/Dev-Sequencer to Dev-Main (//UE4/Dev-Main) #lockdown nick.penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2719576 on 2015/10/07 by Chris.Wood Added check for stale BP classes in FKismetCompilerUtilities::IsTypeCompatibleWithProperty() to stop compiler errors during reinstancing. [UE-19795] - UMG Compiler error when adding variable to nested Widget Change 2721474 on 2015/10/08 by Andrew.Rodham Sequencer: Movie render operations now successfully capture UMG UI Change 2724958 on 2015/10/12 by Chris.Wood Added missing resource cleanup code to UMG widgets [UE-21874] - UWIdget classes with missing ReleaseSlateResources() overrides Added ReleaseSlateResources() to ListView, TileView and Slider widgets to reset shared pointers to slate widgets. Change 2733562 on 2015/10/19 by Andrew.Rodham Sequencer: Fixed spawnables not working in sub-sequences - The issue here was that sequence track instance updates had no knowledge of which sub-sequence they were being evaluated within. We now pass the active sequence instance into the relevant track instance functions. - Also addressed some issues to do with save/restore state not getting called correctly on master tracks of sequence instances - Tidied up spawn track editor Change 2735264 on 2015/10/20 by Chris.Wood Improved Engine analytics handling for Editor and games [UE-21892] - Improve how Engine analytics are handled for Editor and games Changes: Added Privacy section to Editor settings Exposed editor analytics flag in Privacy options Added Details Customization to make this type of bool property clearer with extra info and hyperlink Changed AreEditorAnalyticsEnable() to use new flag Prevented analytics init when disabled by user Sending event and shutting down analytics when user opts out Add in-game project setting for anonymous game usage data Renamed and moved bHardwareSurveyEnabled Added message about exposing in-game setting to end users Added anonymous GUID id for in-game analytics Moved end user settings to global config (defaultengine.ini) Placeholder loc text on new options for now, pending legal wording sign-off Change 2735866 on 2015/10/20 by Max.Preussner Async: Added ability to register an optional callback function that is executed when a Future completes Change 2739793 on 2015/10/23 by Andrew.Rodham Sequencer: Refined movie scene capturing to ensure frame accuracies are maintained - Aborting an in-progress capture now gracefully terminates the process (through a remote session command) to ensure it still creates a valid video - Level sequece movie capture will now pick up a corresponding level sequence in the world, and use that to capture with. A new actor will be spawned at runtime with the correct asset, should one not already exist. - Made -nomovie actually work - Refined how active movie captures are managed - Added option to 'stage' a sequence before starting the capture. This feature will set the sequence on its first frame for the preroll, to ensure that PPP effects are allowed time to stabilize Change 2744402 on 2015/10/28 by Max.Preussner Sequencer: Separated track display names from track identifier names; code cleanup Change 2745953 on 2015/10/29 by Max.Chen Sequencer: Attach to socket. Relative attachments. #jira UETOOL-463 Change 2747028 on 2015/10/29 by Max.Preussner Sequencer: Another overhaul of track display name handling; code and documentation cleanup pass. Change 2758888 on 2015/11/09 by Chris.Wood Integrating changes - 4.10 to Dev-Sequencer From 4.10 branch fixes: Added check for debugger present when reporting abnormal termination to analytics. [UE-22844] CL 2750764 Added FSystemWideCriticalSection for desktop platforms. Used by analytics to lock access to editor instances list in the OS. [UE-22844] CL 2753661 Updating wording in privacy settings text. [UE-21892] CL 2753709 Mac and Linux CIS fix [UE-22844] CL 2755381 Change 2761287 on 2015/11/10 by Max.Chen Sequencer: Add null check when updating the UMG preview if the sequencer doesn't exist/has been closed. #jira UE-5206 Change 2764945 on 2015/11/12 by Max.Preussner Core: Templatized TypeContainer implementation to allow for thread-safe objects; updated unit test Also fixes UE-13850 Change 2765036 on 2015/11/12 by Max.Preussner UdpMessaging: Fixed message serialization unit test (UE-22571) #jira: UE-22571 Change 2766149 on 2015/11/13 by Max.Preussner Media: Implemented event that gets triggered when playback reached the end of media Also fixes looping. Change 2768157 on 2015/11/16 by Max.Preussner Media: Added .m4a to supported WMF file extensions Change 2769200 on 2015/11/16 by Max.Chen Editor: Add broadcast messages when snapping objects. #jira UE-22680 Change 2773066 on 2015/11/19 by Chris.Wood Upload crashes from CRC to Data Router [UECORE-249] - Integrate Crash Report Client with the Data Router Upload to Receiver still active as we are running both in parallel for now.
2015-12-11 13:52:32 -05:00
if ( TimeSliderArgs.AllowZoom && MouseEvent.IsControlDown() )
{
Copying //UE4/Release-Staging-4.12 to //UE4/Dev-Main (Source: //UE4/Release-4.12 @ 2955635) ========================== MAJOR FEATURES + CHANGES ========================== Change 2955635 on 2016/04/26 by Max.Chen Sequencer: Fix filtering so that folders that contain filtered nodes will also appear. #jira UE-28213 Change 2955617 on 2016/04/25 by Dmitriy.Dyomin Better fix for: Post processing rendering artifacts Nexus 6 this device on Android 5.0.1 does not support BGRA8888 texture as a color attachment #jira: UE-24067 Change 2955522 on 2016/04/25 by Max.Chen Sequencer: Fix crash when resolving object guid and context is null. #jira UE-29916 Change 2955504 on 2016/04/25 by Alexis.Matte #jira UE-29926 Fix build error for SplineComponent. I just move variable under #if !UE_BUILD_SHIPPING instead #if WITH_EDITORONLY_DATA to fix all build flavor, please feel free to adjust according to what the initial fix was suppose to do. Change 2955500 on 2016/04/25 by Dan.Oconnor Integration of 2955445 from Dev-BP #jira UE-29012 Change 2955234 on 2016/04/25 by Lina.Halper Fixed tool tip of twist node #jira : UE-29907 Change 2955211 on 2016/04/25 by Ben.Marsh Exclude all plugins which aren't required for a project (ie. don't have any content or modules for the current target) from its target receipt. Prevents dependencies on .uplugin files whose dependencies are otherwise compiled out. Re-enable PS4Media plugin by default. #jira UE-29842 Change 2955155 on 2016/04/25 by Jamie.Dale Fixed an issue where text committed via a focus loss might not display the correct text if it was changed during commit #jira UE-28756 Change 2955144 on 2016/04/25 by Jamie.Dale Fixed a case where editable text controls would fail to select their text when focused There was an order of operations issue between the options to select all text and move the cursor to the end of the document, which caused the cursor move to happen after the select all, and undo the selection. The order of these operations has now been flipped. #jira UE-29818 #jira UE-29772 Change 2955136 on 2016/04/25 by Chad.Taylor Merging to 4.12: Morpheus latency fix. Late update tracking frame was getting unnecessarily buffered an extra frame on the RHI thread. Removed buffering and the issue is fixed. #jira UE-22581 Change 2955134 on 2016/04/25 by Lina.Halper Removed code that blocks moving actor when they don't have physics asset #jira : UE-29796 #code review: Benn.Gallagher Change 2955130 on 2016/04/25 by Zak.Middleton #ue4 - (4.12) Don't reject low distance MTD, it could cause us to not process some valid overlaps. (copy of 2955001 in Main) #jira UE-29531 #lockdown Nick.Penwarden Change 2955098 on 2016/04/25 by Marc.Audy Don't spawn a child actor on the client if the server is going to have created one and be replicating it to the client #jira UE-7539 Change 2955049 on 2016/04/25 by Richard.TalbotWatkin Changes to how SplineComponents debug render. Added a SetDrawDebug method to control whether a spline is rendered. Also extended the facility to non-editor builds. #jira UE-29753 - Add ability to display a SplineComponent in-game Change 2955040 on 2016/04/25 by Chris.Gagnon Fixed Initializer Order Warning in hot reload ctor. #jira UE-28811, UE-28960 Change 2954995 on 2016/04/25 by Marc.Audy Make USceneComponent::Pre/PostNetReceive and PostRepNotifies protected instead of private so that subclasses can implement replication behaviors #jira UE-29909 Change 2954970 on 2016/04/25 by Peter.Sauerbrei fix for openwrite with O_APPEND flag #jira UE-28417 Change 2954917 on 2016/04/25 by Chris.Gagnon Moved a desired change from Main to 4.12 Added input settings to: - control if the viewport locks the mouse on acquire capture. - control if the viewport acquires capture on the application launch (first window activate). #jira UE-28811, UE-28960 parity with 4.11 (UE-28811, UE-28960 would be reintroduced without this) Change 2954908 on 2016/04/25 by Alexis.Matte #jira UE-29478 Prevent modal dialog to use 100% of a core Change 2954888 on 2016/04/25 by Marcus.Wassmer Fix compile issue with chinese locale #jira UE-29708 Change 2954813 on 2016/04/25 by Lina.Halper Fix when not re-validating the correct asset #jira : UE-29789 #code review: Martin.Wilson Change 2954810 on 2016/04/25 by mason.seay Updated map to improve coverage #jira UE-29618 Change 2954785 on 2016/04/25 by Max.Chen Sequencer: Always spawn sequencer spawnables. Disregard collision settings. #jira UE-29825 Change 2954781 on 2016/04/25 by mason.seay Test map for Audio Occlusion trace channels #jira UE-29618 Change 2954684 on 2016/04/25 by Marc.Audy Add GetIsReplicated accessor to AActor Deprecate specific GameplayAbility class implementations that was exposing bReplicates #jira UE-29897 Change 2954675 on 2016/04/25 by Alexis.Matte #jira UE-25430 Light Intensity value in FBX is a ratio. So I just multiply the default intensity value by the ratio to have something closer to the look in the DCCs Change 2954669 on 2016/04/25 by Alexis.Matte #jira UE-29507 Import of rigid mesh animation is broken Change 2954579 on 2016/04/25 by Ben.Marsh Temporarily stop the PS4Media plugin being enabled by default, so the UE4Game built for the binary release doesn't depend on it. Will implement whitelist/blacklist for platforms later. #jira UE-29842 Change 2954556 on 2016/04/25 by Taizyd.Korambayil #jira UE-29877 Setup ThirdPersonCharacter based on correct Code Class Change 2954552 on 2016/04/25 by Taizyd.Korambayil #jira UE-29877 Deleting BP class Change 2954498 on 2016/04/25 by Ryan.Gerleve Fix for remote player controllers reporting that they're actually local player controllers after a seamless travel on the server. Transition actors to the new level in a second pass after non-transitioning actors are handled. #jira UE-29213 Change 2954446 on 2016/04/25 by Max.Chen Sequencer: Fixed spawning actors with instance or multiple owned components - Also fixed issue where recorded actors were sometimes set as transient, meaning they didn't get saved #jira UE-29774, UE-29859 Change 2954430 on 2016/04/25 by Marc.Audy Don't schedule a tick function with a tick interval that was disabled while it was pending rescheduling #jira UE-29118 #jira UE-29747 Change 2954292 on 2016/04/25 by Richard.TalbotWatkin Replicated from //UE4/Dev-Editor CL 2946363 (by Frank.Fella) CurveEditorViewportClient - Bounds check when box selecting. Prevents crashing when the box is outside the viewport. #jira UE-29265 - Crash when drag selecting curve keys in matinee Change 2954262 on 2016/04/25 by Graeme.Thornton Fixed a editor crash when destroying linkers half way through a package EndLoad #jira UE-29437 Change 2954239 on 2016/04/25 by Marc.Audy Fix error message #jira UE-00000 Change 2954177 on 2016/04/25 by Dmitriy.Dyomin Fixed: Hidden surface removal is not enabled on PowerVR Android devices #jira UE-29871 Change 2954026 on 2016/04/24 by Josh.Adams [Somehow most files got unchecked in my previous checkin, grr] - ProtoStar content/config updates (enabled TAA in the levels, disabled es2 shaders, hides the Unbuilt lighting warning on Android) #lockdown nick.penwarden #jira UE-29863 Change 2954025 on 2016/04/24 by Josh.Adams - ProtoStar content/config updates (enabled TAA in the levels, disabled es2 shaders, hides the Unbuilt lighting warning on Android) #lockdown nick.penwarden #jira UE-29863 Change 2953946 on 2016/04/24 by Max.Chen Sequencer: Fix crash on undo of a sub section. #jira UE-29856 Change 2953898 on 2016/04/23 by mitchell.wilson #jira UE-29618 Adding subscene_001 sequence for nonlinear workflow testing Change 2953859 on 2016/04/23 by Maciej.Mroz Merged from Dev-Blueprints 2953858 #jira UE-29790 Editor crashes when opening KiteDemo Change 2953764 on 2016/04/23 by Max.Chen Sequencer: Remove "Experimental" tag on the Level Sequence Actor #jira UETOOl-625 Change 2953763 on 2016/04/23 by Max.Chen Cinematics: Change text to "Edit Existing Cinematics" #jira UE-29102 Change 2953762 on 2016/04/23 by Max.Chen Sequencer: Follow up time slider hit testing fix. Don't hit test the selection range if it's empty. This was causing false positives when hovering close to the ranges. #jira UE-29658 Change 2953652 on 2016/04/22 by Rolando.Caloca UE4.12 - vk - Workaround driver bugs wrt texture format caps #jira UE-28140 Change 2953596 on 2016/04/22 by Marcus.Wassmer #jira UE-20276 Merging dual normal clearcoat shading model. 2863683 2871229 2876362 2876573 2884007 2901595 Change 2953594 on 2016/04/22 by Chris.Babcock Disable crash handler for VulkanRHI on Android to prevent sig11 on loading driver #jira UE-29851 #ue4 #android Change 2953520 on 2016/04/22 by Rolando.Caloca UE4.12 - vk - Enable deferred resource deletion - Added one resource heap per memory type - Improved DumpMemory() - Added ensures for missing format features #jira UE-28140 Change 2953459 on 2016/04/22 by Taizyd.Korambayil #jira UE-29748 Resaved Maps to Fix EC Build Warnings #jira UE-29744 Change 2953448 on 2016/04/22 by Ryan.Gerleve Fix Mac/Linux compile. #jira UE-29545 Change 2953311 on 2016/04/22 by Ryan.Gerleve Fix for infinite hang when loading a replay from within an actor tick while demo.AsyncLoadWorld is false. LoadMap for the replay is now deferred using the existing PendingNetGame mechanism. Added virtual UPendingNetGame::LoadMapCompleted function so that the base PendingNetGame and DemoPendingNetGame can have different behavior. To keep things simpler, also parse all replay metadata and streaming levels after the LoadMap call. #jira UE-29545 Change 2953219 on 2016/04/22 by mason.seay Test map for show collision features #jira UE-29618 Change 2953199 on 2016/04/22 by Phillip.Kavan [UE-29449] Fix InitProperties() optimization for Blueprint class instances when array property values differ in size. change summary: - improved UBlueprintGeneratedClass::BuildCustomArrayPropertyListForPostConstruction() by continuing to emit only delta entries for array values that exceed the default array value's size; previously we emitted a NULL in this case to signal a need to initialize all remaining array values in InitProperties(), even if they didn't differ from the default value of the inner property (which in most cases would already have been set at construction time, and thus potentially incurred a redundant copy iteration for each entry) - modified FObjectInitializer::InitArrayPropertyFromCustomList() to no longer reset the array value on the instance prior to initialization - added code to properly resize the array on the instance prior to initialization (if it differs in size from the default array value) - removed code that handled a NULL property value in the custom property list stream (this is no longer necessary, see above) - modified FObjectInitializer::InitProperties() to restore the post-construction optimization for Blueprint class instances (back to being enabled by default) #jira UE-29449 Change 2953195 on 2016/04/22 by Max.Chen Sequencer: Fix crash in actor reference track in the cached guid to actor map. #jira UE-27523 Change 2953124 on 2016/04/22 by Rolando.Caloca UE4.12 - vk - Increase temp frame buffer #jira UE-28140 Change 2953121 on 2016/04/22 by Chris.Babcock Rebuilt lighting for all levels #jira UE-29809 Change 2953073 on 2016/04/22 by mason.seay Test assets for notifies in animation composites and montages #jira UE-29618 Change 2952960 on 2016/04/22 by Richard.TalbotWatkin Changed eye dropper operation so that LMB click selects a color, and pressing Esc cancels the selection and restores the old color. #jira UE-28410 - Eye dropper selects color without clicking Change 2952934 on 2016/04/22 by Allan.Bentham Ensure pool's refractive index >= 1 #jira UE-29777 Change 2952881 on 2016/04/22 by Jamie.Dale Better fix for UE-28560 that doesn't regress thumbnail rendering We now just silence the warning if dealing with an inactive world. #jira UE-28560 Change 2952867 on 2016/04/22 by Thomas.Sarkanen Fix issues with matinee-controlled anim instances Regression caused by us no longer saving off the anim sequence between updates. #jira UE-29812 - Protostar Neutrino spawns but does not Animate or move. Change 2952826 on 2016/04/22 by Maciej.Mroz Merged from Dev-Blueprints 2952820 #jira UE-28895 Nativizing a blueprint project causes the next non-nativizing package attempt to fail Change 2952819 on 2016/04/22 by Josh.Adams - Fixed crash in a Vulkan shader printout #lockdown nick.penwarden #jira UE-29820 Change 2952817 on 2016/04/22 by Rolando.Caloca UE4.12 - vk - Revert back to simple layouts #jira UE-28140 Change 2952792 on 2016/04/22 by Jamie.Dale Removed some code that caused worlds loaded by the Content Browser to be initialized before they were ready Supposedly this code existed for world thumbnail rendering, however only the active editor world generates a thumbnail, so initializing other worlds wasn't having any effect and thumbnails look identical to before. #jira UE-28560 Change 2952783 on 2016/04/22 by Taizyd.Korambayil #jira UE-28477 Resaved Flying Template Map Change 2952767 on 2016/04/22 by Taizyd.Korambayil #jira UE-29736 Resaved Map to Fix EC Warnings Change 2952762 on 2016/04/22 by Allan.Bentham Update reflection capture to contain only room5 content. #jira UE-29777 Change 2952749 on 2016/04/22 by Taizyd.Korambayil #jira UE-29740 Resaved Material and Map to Fix Empty Engine Version Error Change 2952688 on 2016/04/22 by Martin.Wilson Fix for BP notifies not displaying when they derive from an abstract base class #jira UE-28556 Change 2952685 on 2016/04/22 by Thomas.Sarkanen Fix CIS for non-editor builds #jira UE-29308 - Fix crash from GC-ed animation asset Change 2952664 on 2016/04/22 by Thomas.Sarkanen Made up/down behaviour for console history consistent and reverted to old ordering by default Pressing up or down now brings up history. Sorting can now be optionally bottom-to-top or top-to-bottom. Default behaviour is preserved to what it was before the recent changes. #jira UE-29595 - Console autocomplete behavior is non-intuitive / frustrating Change 2952655 on 2016/04/22 by Jamie.Dale Changed the class filter to use an expression evaluator This makes it consistent with the other filters in the editor #jira UE-29811 Change 2952647 on 2016/04/22 by Allan.Bentham Back out changelist 2951539 #jira UE-29777 Change 2952618 on 2016/04/22 by Benn.Gallagher Fixed naming error in rotation multiplier node #jira UE-29583 Change 2952612 on 2016/04/22 by Thomas.Sarkanen Fix garbage collection and undo/redo issues with anim instance proxy UObject-based properties are now cached each update on the proxy and nulled-out outside of evaluate/update phases. Moved some initialization code for CurrentAsset/CurrentVertexAnim from the proxy back to the instance (as its is encapsulated there now). #jira UE-29308 - Fix crash from GC-ed animation asset Change 2952608 on 2016/04/22 by Richard.TalbotWatkin Changed 'Recently Used Levels' and 'Favorite Levels' to hold long package names instead of absolute paths. This means they are now project-relative and will remain valid even if the project location changes. #jira UE-29731 - Editor map recent files are not project relative, leading to missing links when moving projects. Change 2952599 on 2016/04/22 by Dmitriy.Dyomin Disabled vulkan pipeline cache as it causes rendering artifacts right now #jira UE-29807 Change 2952540 on 2016/04/22 by Maciej.Mroz #jira UE-29787 Obsolete nativized files are never removed merged from Dev-Blueprints 2952531 Change 2952372 on 2016/04/21 by Josh.Adams - Fixed Vk memory allocations when reusing free pages #lockdown nick.penwarden #jira ue-29802 Change 2952350 on 2016/04/21 by Eric.Newman Added support for UEReleaseTesting backends to Orion and Ocean #jira op-3640 Change 2952140 on 2016/04/21 by Dan.Oconnor Demoted back to warning to fix regressions in content examples, in main we've added the ability to elevate warnings to errors, but no reason to rush that feature into 4.12 #jira UE-28971 Change 2952135 on 2016/04/21 by Jeff.Farris Fixed issue in PlayerCameraManager where the priority-based sorting of CameraModifiers wasn't sorting properly. Manual re-implementation of CL 2948123 in 4.12 branch. #jira UE-29634 Change 2952121 on 2016/04/21 by Lee.Clark PS4 - 4.12 - Fix staging and deploying of system prxs #jira UE-29801 Change 2952120 on 2016/04/21 by Rolando.Caloca UE4.12 - vk - Move descriptor allocation to BSS #jira UE-21840 Change 2952027 on 2016/04/21 by Rolando.Caloca UE4.12 - vk - Fix descriptor sets lifetimes - Fix crash with null texture #jira UE-28140 Change 2951890 on 2016/04/21 by Eric.Newman Updating locked common dependencies for OrionService #jira OP-3640 Change 2951863 on 2016/04/21 by Eric.Newman Updating locked dependencies for UE 4.12 OrionService #jira OP-3640 Change 2951852 on 2016/04/21 by Owen.Stupka Fixed meteors destruct location #jira UE-29714 Change 2951739 on 2016/04/21 by Max.Chen Sequencer: Follow up for integral keys. #jira UE-29791 Change 2951717 on 2016/04/21 by Rolando.Caloca UE4.12 - Fix shader platform names #jira UE-28140 Change 2951714 on 2016/04/21 by Max.Chen Sequencer: Fix setting a key if it already exists at the current time. #jira UE-29791 Change 2951708 on 2016/04/21 by Rolando.Caloca UE4.12 - vk - Separate upload cmd buffer #jira UE-28140 Change 2951653 on 2016/04/21 by Marc.Audy If a child actor component is destroyed during garbage collection, do not rename, instead clear the caching mechanisms so that a new name is chosen if a new child is created in the future Remove now unused bRenameRequired parameter #jira UE-29612 Change 2951619 on 2016/04/21 by Chris.Babcock Move bCreateRenderStateForHiddenComponents out of WITH_EDITOR #jira UE-29786 #ue4 Change 2951603 on 2016/04/21 by Cody.Albert #jira UE-29785 Revert Github readme page back to original Change 2951599 on 2016/04/21 by Ryan.Gerleve Fix assert when attempting to record a replay when the map has a placed actor that writes replay external data (such as ACharacter) #jira UE-29778 Change 2951558 on 2016/04/21 by Chris.Babcock Always rename destroyed child actor #jira UE-29709 #ue4 Change 2951552 on 2016/04/21 by James.Golding Remove old code for handling 'show collision' in game, uses same method as editor now, fixes hidden meshes showing up in game when doing 'show collision' #jira UE-29303 Change 2951539 on 2016/04/21 by Allan.Bentham Use screenuv for distortion with ES2/31. #jira UE-29777 Change 2951535 on 2016/04/21 by Max.Chen We need to test if the hmd is enabled if it exists. Otherwise, this will return true even if we aren't rendering in stereo if there's an hmd plugin loaded. #jira UE-29711 Change 2951521 on 2016/04/21 by Taizyd.Korambayil #jira UE-29746 Replaced Deprecated Time Handler node in GameLevel_GM Change 2951492 on 2016/04/21 by Jeremiah.Waldron Fix for Android IAP information reporting back incorrectly. #jira UE-29776 Change 2951486 on 2016/04/21 by Taizyd.Korambayil #jira UE-29741 Updated Infiltrator Demo Project to open with the correct Map Change 2951450 on 2016/04/21 by Gareth.Martin Fix non-editor build #jira UE-16525 Change 2951380 on 2016/04/21 by Gareth.Martin Fix Landscape layer blend nodes not updating connections correctly when an input is changed from weight/alpha (one input) to height blend (two inputs) or vice-versa #jira UE-16525 Change 2951357 on 2016/04/21 by Richard.TalbotWatkin Fixed a crash when pushing a new menu leads to a window activation change which would result in the old root menu being dismissed. #jira UE-27981 - [CrashReport] Crash When Attempting to Select Variable Type After Clearing the Name Field Change 2951352 on 2016/04/21 by Richard.TalbotWatkin Added slider bar thickness as a new property in FSliderStyle. #jira UE-19173 - SSlider is not fully stylable Change 2951344 on 2016/04/21 by Gareth.Martin Fix bounds calculation for landscape splines that was causing the first landscape spline point to be invisible and later points to flicker. - Also fixes landscape spline lines not showing up on a flat landscape #jira UE-25114 Change 2951326 on 2016/04/21 by Taizyd.Korambayil #jira UE-28477 Resaving Maps Change 2951271 on 2016/04/21 by Jamie.Dale Fixed a crash when pasting a path containing a class into the asset view of the Content Browser #jira UE-29616 Change 2951237 on 2016/04/21 by Jack.Porter Fix black screen on PC due to planar reflections #jira UE-29664 Change 2951184 on 2016/04/21 by Jamie.Dale Fixed crash in FCurveStructCustomization when no objects were selected for editing #jira UE-29638 Change 2951177 on 2016/04/21 by Ben.Marsh Fix hot reload from IDE failing when project is up to date. UBT returns an exit code of 2, and any non-zero exit code is treated as an error by Visual Studio. Build.bat was not correctly forwarding on the exit code at all prior to CL 2790858. #jira UE-29757 Change 2951171 on 2016/04/21 by Matthew.Griffin Fixed issue with Rebuild not working when installed in Program Files (x86) The brackets seem to cause lots of problems in combination with the if/else ones #jira UE-29648 Change 2951163 on 2016/04/21 by Jamie.Dale Changed the text customization to use the property handle functions to get/set the text value That ensures that it both transacts and notifies correctly. Added new functions to deal with multiple objects selection efficiently with the existing IEditableTextProperty API: - FPropertyHandleBase::SetPerObjectValue - FPropertyHandleBase::GetPerObjectValue - FPropertyHandleBase::GetNumPerObjectValues These replace the need to cache the raw pointers. #jira UE-20223 Change 2951103 on 2016/04/21 by Thomas.Sarkanen Un-deprecated blueprint functions for attachment/detachment Renamed functions to <FuncName> (Deprecated). Hid functions in the BP context menu so new ones cant be added. #jira UE-23216 - "Snap to Target, Keep World Scale" when attaching doesn't work properly if parent is scaled. Change 2951101 on 2016/04/21 by Allan.Bentham Enable mobile HQ DoF #jira UE-29765 Change 2951097 on 2016/04/21 by Thomas.Sarkanen Standalone games now benefit from parallel anim update if possible We now simply use the fact we want root motion to determine if we need to run immediately. #jira UE-29431 - Parallel anim update does not work in non-multiplayer games Change 2951036 on 2016/04/21 by Lee.Clark PS4 - Fix WinDualShock working with VS2015 #jira UE-29088 Change 2951034 on 2016/04/21 by Jack.Porter ProtoStar: Removed content not needed by remaining maps, resaved all content to fix version 0 issues #jira UE-29666 Change 2950995 on 2016/04/21 by Jack.Porter ProtoStar - delete unneeded maps #jira UE-29665 Change 2950787 on 2016/04/20 by Nick.Darnell SuperSearch - Moving the settings object into a seperate plugin to avoid there needing to be a circular dependency between SuperSearch and UnrealEd. #jira UE-29749 #codeview Ben.Marsh Change 2950786 on 2016/04/20 by Nick.Darnell Back out changelist 2950769 - Going to re-enable super search - about to move the settings into a plugin to prevent the circular reference. #jira UE-29749 Change 2950769 on 2016/04/20 by Ben.Marsh Comment out editor integration for super search to fix problems with the circular dependencies breaking hot reload and compiling QAGame in binary release. Change 2950724 on 2016/04/20 by Lina.Halper Support for negative scaling for mirroring - Merging CL 2950718 using //UE4/Dev-Framework_to_//UE4/Release-4.12 #jira: UE-27453 Change 2950293 on 2016/04/20 by andrew.porter Correcting sequencer test content #jira UE-29618 Change 2950283 on 2016/04/20 by Marc.Audy Don't route FlushPressedKeys on PIE shut down #jira UE-28734 Change 2950071 on 2016/04/20 by mason.seay Adjusted translation retargeting on head bone of UE4_Mannequin -Needed for anim bp test. Tested animations and did not see any fallout from change. If there is, it can be reverted. #jira UE-29618 Change 2950049 on 2016/04/20 by Mark.Satterthwaite Undo CL #2949690 and instead on Mac where we want to be able to capture videos of gameplay we just insert an intermediate texture as the back-buffer and use a manual blit to the drawable prior to present. This also changes the code to enforce that the back-buffer render-target should never be nil as the code & Metal API itself assumes that this situation cannot occur but it would appear from continued crashes inside PrepareToDraw that it actually can in the field. This will address another potential cause of UE-29006. #jira UE-29006 #jira UE-29140 Change 2949977 on 2016/04/20 by Max.Chen Sequencer: Add FieldOfView to default tracks for CameraActor. Add FieldOfView to exclusion list for CineCameraActor. #jira UE-29660 Change 2949836 on 2016/04/20 by Gareth.Martin Fix landscape components flickering when perfectly flat (bounds size is 0) - This often happens for newly created landscapes #jira UE-29262 Change 2949768 on 2016/04/20 by Thomas.Sarkanen Moving parent & grouped child actors now does not result in deltas being applied twice Grouping and attachment now interact correctly. Also fixed up according to coding standard. Discovered and proposed by David.Bliss2 (Rocksteady). #jira UE-29233 - Delta applied twice when moving parent and grouped child actors From UDN: https://udn.unrealengine.com/questions/286537/moving-parent-grouped-child-actors-results-in-delt.html Change 2949759 on 2016/04/20 by Thomas.Sarkanen Fix split pins not working as anim graph node inputs Limit surface area of this change by only modifying the anim BP compiler. A better version might be to move the call in the general blueprint compiler but it is riskier. #jira UE-12326 - Splitting a struct in an Anim Blueprint does not work Change 2949739 on 2016/04/20 by Thomas.Sarkanen Fix layered bone per blend accessed from a struct in the fast-path Made sure that the fallback event is always built (logic was still split so if PatchFunctionNamesAndCopyRecordsInto aborted because of some unhandled case if might not have an event to call). Covered struct source->array dest case. Indicator icon is now built from the copy record itself, ensuring it is accurate to actual runtime data. #jira UE-29389 - Fast-Path: Layered Blend per Bone node failing to grab updated values from struct. Change 2949715 on 2016/04/20 by Max.Chen Sequencer: Fix mouse wheel zoom so it defaults to zooming in on the current time/frame. This is a toggleable option in the Editor Preferences (Zoom Position = Current Time or Mouse Position) #jira UE-29661 Change 2949712 on 2016/04/20 by Taizyd.Korambayil #jira UE-28544 adjusted Player crosshair to be centered Change 2949710 on 2016/04/20 by Alexis.Matte #jira UE-29477 Pixel Inspector, UI get polish and adding "scene color" inspect property Change 2949706 on 2016/04/20 by Alexis.Matte #jira UE-29475 #jira UE-29476 Favorite allow all UProperty to be favorite (the FStruct is now supported) Favorite scrollig is auto adjust to avoid scrolling when adding/removing a favorite Change 2949691 on 2016/04/20 by Mark.Satterthwaite Fix typo from previous commit - retain not release... #jira UE-29140 Change 2949690 on 2016/04/20 by Mark.Satterthwaite Double-buffer the Metal viewport's back-buffer so that we can access the contents of the back-buffer after EndDrawingViewport is called until BeginDrawingViewport is called again on this viewport, this makes it possible to capture movies on Metal. #jira UE-29140 Change 2949616 on 2016/04/20 by Marc.Audy 'Merge' latest version of Vulkan from Dev-Rendering to Release-4.12 #jira UE-00000 Change 2949572 on 2016/04/20 by Jamie.Dale Fixed crash undoing a text property changed caused by a null entry in the array #jira UE-20223 Change 2949562 on 2016/04/20 by Alexis.Matte #jira UE-29447 Fix the batch fbx import "not show options" dialog where some option can be different. Change 2949560 on 2016/04/20 by Alexis.Matte #jira UE-28898 Avoid importing multiple static mesh in the same package Change 2949547 on 2016/04/20 by Mark.Satterthwaite You must use STENCIL_COMPONENT_SWIZZLE to access the stencil component of a texture - not all APIs can swizzle it into .g automatically. #jira UE-29672 Change 2949443 on 2016/04/20 by Allan.Bentham Disable sRGB textures when ES31 feature level is set. Only use vk's sRGB formats when feature level > ES3_1 #jira UE-29623 Change 2949428 on 2016/04/20 by Allan.Bentham Back out changelist 2949405 #jira UE-29623 Change 2949405 on 2016/04/20 by Allan.Bentham Disable sRGB textures when ES31 feature level is set. Only use vk's sRGB formats when feature level > ES3_1 #jira UE-29623 Merging using Dev-Mobile_->_Release-4.12 Change 2949391 on 2016/04/20 by Richard.TalbotWatkin PIE with multiple windows now starts focused on Client 1, or the server if not a dedicated server. Added a new virtual call UEditorEngine::OnLoginPIEAllComplete, called when all clients have been successfully logged in when starting PIE. The default behavior is to set focus to the first client. #jira UE-26037 - Cumbersome workflow when running PIE with 2 clients #jira UE-26905 - First client window does not gain focus or mouse control when launching two clients Change 2949389 on 2016/04/20 by Richard.TalbotWatkin Fixed regression which was saving the viewport config settings incorrectly. Viewports are keyed by their layout on the same key as the config key, hence we do not need to prepend the SpecificLayoutString when saving out the config data when iterating through a layout's viewports. #jira UE-29058 - Viewport settings are not saved after shutting down editor Change 2949388 on 2016/04/20 by Richard.TalbotWatkin Change auto-reimport settings so that "Detect Changes on Startup" defaults to true. Also removed the warning of potential unwanted behaviour when working in conjunction with source control; this is no longer necessary now that there is a prompt prior to auto-reimport. #jira UE-29257 - Auto import does not import assets Change 2949203 on 2016/04/19 by Max.Chen Sequencer: Fix spawnables not getting default tracks. #jira UE-29644 Change 2949202 on 2016/04/19 by Max.Chen Sequencer: Fix particles not firing on loop. #jira UE-27881 Change 2949201 on 2016/04/19 by Max.Chen Sequencer: Fix multiple labels support #jira UE-26812 Change 2949200 on 2016/04/19 by Max.Chen Sequencer: Expose settings sequencer settings in the Editor Preferences page. Note, UMG and Niagara have separate sequencer settings pages. #jira UE-29516 Change 2949197 on 2016/04/19 by Max.Chen Sequencer: Fix unwind rotation when keying rotation so that rotations are always set to the nearest. #jira UE-22228 Change 2949196 on 2016/04/19 by Max.Chen Sequencer: Disable selection range drawing if it's empty so that playback range dragging can take precedence when they overlap. This fixes a bug where you can't drag the starting playback range when sequencer starts up. #jira UE-29657 Change 2949195 on 2016/04/19 by Max.Chen MovieSceneCapture: Default image compression quality to 100 (rather than 75). #jira UE-29657 Change 2949194 on 2016/04/19 by Max.Chen Sequencer: Matinee to Level Sequence fix for mapping properties correctly. This fixes focus distance not getting set properly on the conversion. #jira UETOOL-467 Change 2949193 on 2016/04/19 by Max.Chen Sequencer - Fix issues with level visibility. + Don't mark sub-levels as dirty when the track evaluates. + Fix an issue where sequencer gets into a refresh loop because drawing thumbnails causes levels to be added which was rebuilding the tree, which was redrawing thumbnails. + Null check for when an objects world is null but the track is still evaluating. + Remove UnrealEd references. #jira UE-25668 Change 2948990 on 2016/04/19 by Aaron.McLeran #jira UE-29654 FadeIn invalidates Audio Components in 4.11 Change 2948890 on 2016/04/19 by Jamie.Dale Downgraded an assert in SPathView::LoadSettings to avoid a common crash when a saved path no longer exists #jira UE-28858 Change 2948860 on 2016/04/19 by Mike.Beach Mirroring CL 2940334 (from Dev-Blueprints): Bettering CreateEvent node errors, so users are able to recover from API changes (not clearing the function name field, calling out the function by name in the error, etc.) #jira UE-28911 Change 2948857 on 2016/04/19 by Jamie.Dale Added an Asset Localization context menu to the Content Browser This allows you to create, edit, and view localized assets from any source asset, as well as edit and view source assets from any localized asset. #jira UE-29493 Change 2948854 on 2016/04/19 by Jamie.Dale UAT now stages all project translation targets #jira UE-20248 Change 2948831 on 2016/04/19 by Mike.Beach Mirroring CL 2945994 (from Dev-Blueprints): Pasting EdGraphNodes will no longer query sub-nodes for compatibility if the root cannot be pasted (for things like collapsed graphs, and anim state-machine nodes). #jira UE-29035 Change 2948825 on 2016/04/19 by Jamie.Dale Fixed shadow warning #jira UE-29212 Change 2948812 on 2016/04/19 by Marc.Audy Gracefully handle failure to load configurable engine classes #jira UE-26527 Change 2948791 on 2016/04/19 by Jamie.Dale Fixed regression in SEditableText bIsCaretMovedWhenGainFocus when using auto-complete Fixed regression in FSlateEditableTextLayout::SetText that caused it to call OnTextChanged when nothing had changed #jira UE-29494 #jira UE-28886 Change 2948761 on 2016/04/19 by Jamie.Dale Sub-fonts are now only used when they contain the character to be rendered #jira UE-29212 Change 2948718 on 2016/04/19 by Jamie.Dale Fixed an issue where FEnginePackageLocalizationCache could be initialized before CoreUObject was ready This is now done lazily, either when the first CDO tries to load an asset (which is after CoreUObject is ready), or after the first call to ProcessNewlyLoadedUObjects (if no CDO loads an asset). #jira UE-29649 Change 2948717 on 2016/04/19 by Jamie.Dale Removed the AssetRegistry's dependency on MessageLog It was only there to add a category that was only ever used by the AssetTools module. #jira UE-29649 Change 2948683 on 2016/04/19 by Phillip.Kavan [UE-18419] Fix GetClassDefaults nodes to update properly in response to structural BP class changes. change summary: - modified UK2Node_GetClassDefaults::CreateOutputPins() to bind/unbind delegate handlers for the OnChanged() & OnCompile() events for BP class types. #jira UE-18419 Change 2948681 on 2016/04/19 by Phillip.Kavan [UE-17794] The "Delete Unused Variable" feature now considers the GetClassDefaults node as well. change summary: - added external linkage to UK2Node_GetClassDefaults::FindClassPin(). - added an include for the K2Node_GetClassDefaults header file to BlueprintGraphDefinitions.h. - added UK2Node_GetClassDefaults::GetInputClass() as a public API w/ external linkage; moved default 'nullptr' param logic into this impl. - modified FBlueprintEditorUtils::IsVariableUsed() to add an extra check for a GetClassDefaults node with a visible output pin for the variable that's also connected. - modified UK2Node_GetClassDefaults::GetInputClass() to return the generated skeleton class for Blueprint class types. #jira UE-17794 Change 2948638 on 2016/04/19 by Lee.Clark PS4 - Fix SDK compile warnings #jira UE-29647 Change 2948401 on 2016/04/19 by Taizyd.Korambayil #jira UE-29250 Revuilt Lighting for Landscapes Map Change 2948398 on 2016/04/19 by Mark.Satterthwaite Add a Mac Metal ES2 shader platform to allow the various ES2 emulation modes to work in the Editor. Fix various issues with the shader code to ensure that Metal can run with ES2 shader code at least in my limited test cases in QAGame. #jira UE-29170 Change 2948366 on 2016/04/19 by Taizyd.Korambayil #jira UE-29109 Replaced Box Mesh with BSP Floor Change 2948360 on 2016/04/19 by Maciej.Mroz merged from Dev-Blueprints 2947488 #jira UE-29115 Nativized BulletTrain - cannot shoot targets in intro tutorial #jira UE-28965 Packaging Project with Nativize Blueprint Assets Prevents Overlap Events from Firing #jira UE-29559 - fixed private enum access - fixed private bitfield access - removed forced PostLoad - add BodyInstance.FixupData call to fix ResponseChannels - ignored RelativeLocation and RelativeRotation in converted root component - fixed AttachToComponent (UE-29559) Change 2948358 on 2016/04/19 by Maciej.Mroz merged from Dev-Blueprints 2947953 #jira UE-29605 Wrong bullet trails in nativized ShowUp Fixed USimpleConstructionScript::GetSceneRootComponentTemplate. Change 2948357 on 2016/04/19 by Maciej.Mroz merged from Dev-Blueprints 2947984 #jira UE-29374 Crash when hovering over Create Widget node in blueprints Safe UK2Node_ConstructObjectFromClass::GetPinHoverText. Change 2948353 on 2016/04/19 by Maciej.Mroz merged from Dev-Blueprints 2948095 #jira UE-29246 ExpandEnumAsExecs + UMETA(Hidden) Crashes Blueprint Compile "Hidden" and "Spacer" elementa from an enum does not generated exec pins for "ExpandEnumAsExecs" Change 2948332 on 2016/04/19 by Benn.Gallagher Fixed old pins being left as non-transactional #jira UE-13801 Change 2948203 on 2016/04/19 by Lee.Clark PS4 - Use SDK 3.508.031 #jira UEPLAT-1225 Change 2948168 on 2016/04/19 by mason.seay Updating test content: -Added Husk AI to level to test placed AI -Updated Spawn Husk BP to destroy itself to prevent spawn spamming #jira UE-29618 Change 2948153 on 2016/04/19 by Benn.Gallagher Missed mesh update for Owen IK fix. #jira UE-22540 Change 2948130 on 2016/04/19 by Benn.Gallagher Fixed old Owen punch IK setup so it no longer jitters when placing the hands on the surface. #jira UE-22540 Change 2948117 on 2016/04/19 by Taizyd.Korambayil #jira UE-28477 Resaved Template Map's to fix Warning Toast on Templates Change 2948063 on 2016/04/19 by Lina.Halper - Anim composite notify change for better - Fixed all nested anim notify - Merging CL 2944396 using //UE4/Dev-Framework_to_//UE4/Release-4.12 #jira : UE-29101 Change 2948060 on 2016/04/19 by Lina.Halper Fix for composite section metadata saving for montage Merging CL 2944397 using //UE4/Dev-Framework_to_//UE4/Release-4.12 #jira : UE-29228 Change 2948029 on 2016/04/19 by Ben.Marsh EC: Prevent automatically pushing CIS builds to the launcher; the changelist might be run more than once. Change 2947986 on 2016/04/19 by Benn.Gallagher Fixed BP callable functions that affect skeletal mesh component transforms not working when simulating physics. #jira UE-27783 Change 2947976 on 2016/04/19 by Mark.Satterthwaite Duplicate CL #2943702 from 4.11.2: Change the way Metal validates the render-target state so that in FMetalContext::PrepareToDraw it can issue a last-ditch attempt to restore the render-targets. This won't fix the cause of the Mac Metal crashes but it might mitigate some of them and provide more information about why they are occurring. #jira UE-29006 Change 2947975 on 2016/04/19 by Mark.Satterthwaite Duplicate CL #2945061 from UE4-UT: Address UT issue UE-29150 directly in the UT branch: users without a sufficiently up-to-date Xcode won't have the 'metal' offline shader compiler so will have to use the slower online compiled text shader format. #jira UE-29150 Change 2947679 on 2016/04/19 by Jack.Porter Fixed 4.12 branch not compiling with the 1.0.8 Vulkan SDK #jira UE-29601 Change 2947657 on 2016/04/18 by Jack.Porter Update protostar reflection capture contents #jira UE-29600 Change 2947301 on 2016/04/18 by Ben.Marsh EC: Fix trigger ready emails failing to send due to recipient list being a space-separated list of addresses rather than an array reference. Change 2947263 on 2016/04/18 by Marc.Audy Merging CL# 2945921 //UE4/Release-4.11 to //UE4/Release-4.12 Ensure that all OwnedComponents in an Actor are duplicated for PIE even if not referenced by a property, unless that component is explicitly transient #jira UE-29209 Change 2946984 on 2016/04/18 by Ben.Marsh GUBP: Allow Ocean cooks in the release branch (fixes build startup failures) Change 2946870 on 2016/04/18 by Ben.Marsh Remaking CL 2946810 to fix compile error in ShooterGame editor. Change 2946859 on 2016/04/18 by Ben.Marsh GUBP: Don't exclude Ocean from builds in the release branch. Change 2946847 on 2016/04/18 by Ben.Marsh GUBP: Fix warning on every build step due to OrionGame_Win32_Mono no longer existing. Change 2946771 on 2016/04/18 by Ben.Marsh EC: Correct initial agent type for release branches. Causing full branch syncs on all agents. Change 2946641 on 2016/04/18 by Ben.Marsh EC: Remove rogue comma causing branch definition parsing to fail. Change 2946592 on 2016/04/18 by Ben.Marsh EC: Adding branch definition for 4.12 release #lockdown Nick.Penwarden [CL 2962354 by Ben Marsh in Main branch]
2016-05-01 17:37:41 -04:00
float MouseFractionX = MyGeometry.AbsoluteToLocal(MouseEvent.GetScreenSpacePosition()).X / MyGeometry.GetLocalSize().X;
TSharedPtr<FSequencer> Sequencer = WeakSequencer.Pin();
Copying //UE4/Release-Staging-4.12 to //UE4/Dev-Main (Source: //UE4/Release-4.12 @ 2955635) ========================== MAJOR FEATURES + CHANGES ========================== Change 2955635 on 2016/04/26 by Max.Chen Sequencer: Fix filtering so that folders that contain filtered nodes will also appear. #jira UE-28213 Change 2955617 on 2016/04/25 by Dmitriy.Dyomin Better fix for: Post processing rendering artifacts Nexus 6 this device on Android 5.0.1 does not support BGRA8888 texture as a color attachment #jira: UE-24067 Change 2955522 on 2016/04/25 by Max.Chen Sequencer: Fix crash when resolving object guid and context is null. #jira UE-29916 Change 2955504 on 2016/04/25 by Alexis.Matte #jira UE-29926 Fix build error for SplineComponent. I just move variable under #if !UE_BUILD_SHIPPING instead #if WITH_EDITORONLY_DATA to fix all build flavor, please feel free to adjust according to what the initial fix was suppose to do. Change 2955500 on 2016/04/25 by Dan.Oconnor Integration of 2955445 from Dev-BP #jira UE-29012 Change 2955234 on 2016/04/25 by Lina.Halper Fixed tool tip of twist node #jira : UE-29907 Change 2955211 on 2016/04/25 by Ben.Marsh Exclude all plugins which aren't required for a project (ie. don't have any content or modules for the current target) from its target receipt. Prevents dependencies on .uplugin files whose dependencies are otherwise compiled out. Re-enable PS4Media plugin by default. #jira UE-29842 Change 2955155 on 2016/04/25 by Jamie.Dale Fixed an issue where text committed via a focus loss might not display the correct text if it was changed during commit #jira UE-28756 Change 2955144 on 2016/04/25 by Jamie.Dale Fixed a case where editable text controls would fail to select their text when focused There was an order of operations issue between the options to select all text and move the cursor to the end of the document, which caused the cursor move to happen after the select all, and undo the selection. The order of these operations has now been flipped. #jira UE-29818 #jira UE-29772 Change 2955136 on 2016/04/25 by Chad.Taylor Merging to 4.12: Morpheus latency fix. Late update tracking frame was getting unnecessarily buffered an extra frame on the RHI thread. Removed buffering and the issue is fixed. #jira UE-22581 Change 2955134 on 2016/04/25 by Lina.Halper Removed code that blocks moving actor when they don't have physics asset #jira : UE-29796 #code review: Benn.Gallagher Change 2955130 on 2016/04/25 by Zak.Middleton #ue4 - (4.12) Don't reject low distance MTD, it could cause us to not process some valid overlaps. (copy of 2955001 in Main) #jira UE-29531 #lockdown Nick.Penwarden Change 2955098 on 2016/04/25 by Marc.Audy Don't spawn a child actor on the client if the server is going to have created one and be replicating it to the client #jira UE-7539 Change 2955049 on 2016/04/25 by Richard.TalbotWatkin Changes to how SplineComponents debug render. Added a SetDrawDebug method to control whether a spline is rendered. Also extended the facility to non-editor builds. #jira UE-29753 - Add ability to display a SplineComponent in-game Change 2955040 on 2016/04/25 by Chris.Gagnon Fixed Initializer Order Warning in hot reload ctor. #jira UE-28811, UE-28960 Change 2954995 on 2016/04/25 by Marc.Audy Make USceneComponent::Pre/PostNetReceive and PostRepNotifies protected instead of private so that subclasses can implement replication behaviors #jira UE-29909 Change 2954970 on 2016/04/25 by Peter.Sauerbrei fix for openwrite with O_APPEND flag #jira UE-28417 Change 2954917 on 2016/04/25 by Chris.Gagnon Moved a desired change from Main to 4.12 Added input settings to: - control if the viewport locks the mouse on acquire capture. - control if the viewport acquires capture on the application launch (first window activate). #jira UE-28811, UE-28960 parity with 4.11 (UE-28811, UE-28960 would be reintroduced without this) Change 2954908 on 2016/04/25 by Alexis.Matte #jira UE-29478 Prevent modal dialog to use 100% of a core Change 2954888 on 2016/04/25 by Marcus.Wassmer Fix compile issue with chinese locale #jira UE-29708 Change 2954813 on 2016/04/25 by Lina.Halper Fix when not re-validating the correct asset #jira : UE-29789 #code review: Martin.Wilson Change 2954810 on 2016/04/25 by mason.seay Updated map to improve coverage #jira UE-29618 Change 2954785 on 2016/04/25 by Max.Chen Sequencer: Always spawn sequencer spawnables. Disregard collision settings. #jira UE-29825 Change 2954781 on 2016/04/25 by mason.seay Test map for Audio Occlusion trace channels #jira UE-29618 Change 2954684 on 2016/04/25 by Marc.Audy Add GetIsReplicated accessor to AActor Deprecate specific GameplayAbility class implementations that was exposing bReplicates #jira UE-29897 Change 2954675 on 2016/04/25 by Alexis.Matte #jira UE-25430 Light Intensity value in FBX is a ratio. So I just multiply the default intensity value by the ratio to have something closer to the look in the DCCs Change 2954669 on 2016/04/25 by Alexis.Matte #jira UE-29507 Import of rigid mesh animation is broken Change 2954579 on 2016/04/25 by Ben.Marsh Temporarily stop the PS4Media plugin being enabled by default, so the UE4Game built for the binary release doesn't depend on it. Will implement whitelist/blacklist for platforms later. #jira UE-29842 Change 2954556 on 2016/04/25 by Taizyd.Korambayil #jira UE-29877 Setup ThirdPersonCharacter based on correct Code Class Change 2954552 on 2016/04/25 by Taizyd.Korambayil #jira UE-29877 Deleting BP class Change 2954498 on 2016/04/25 by Ryan.Gerleve Fix for remote player controllers reporting that they're actually local player controllers after a seamless travel on the server. Transition actors to the new level in a second pass after non-transitioning actors are handled. #jira UE-29213 Change 2954446 on 2016/04/25 by Max.Chen Sequencer: Fixed spawning actors with instance or multiple owned components - Also fixed issue where recorded actors were sometimes set as transient, meaning they didn't get saved #jira UE-29774, UE-29859 Change 2954430 on 2016/04/25 by Marc.Audy Don't schedule a tick function with a tick interval that was disabled while it was pending rescheduling #jira UE-29118 #jira UE-29747 Change 2954292 on 2016/04/25 by Richard.TalbotWatkin Replicated from //UE4/Dev-Editor CL 2946363 (by Frank.Fella) CurveEditorViewportClient - Bounds check when box selecting. Prevents crashing when the box is outside the viewport. #jira UE-29265 - Crash when drag selecting curve keys in matinee Change 2954262 on 2016/04/25 by Graeme.Thornton Fixed a editor crash when destroying linkers half way through a package EndLoad #jira UE-29437 Change 2954239 on 2016/04/25 by Marc.Audy Fix error message #jira UE-00000 Change 2954177 on 2016/04/25 by Dmitriy.Dyomin Fixed: Hidden surface removal is not enabled on PowerVR Android devices #jira UE-29871 Change 2954026 on 2016/04/24 by Josh.Adams [Somehow most files got unchecked in my previous checkin, grr] - ProtoStar content/config updates (enabled TAA in the levels, disabled es2 shaders, hides the Unbuilt lighting warning on Android) #lockdown nick.penwarden #jira UE-29863 Change 2954025 on 2016/04/24 by Josh.Adams - ProtoStar content/config updates (enabled TAA in the levels, disabled es2 shaders, hides the Unbuilt lighting warning on Android) #lockdown nick.penwarden #jira UE-29863 Change 2953946 on 2016/04/24 by Max.Chen Sequencer: Fix crash on undo of a sub section. #jira UE-29856 Change 2953898 on 2016/04/23 by mitchell.wilson #jira UE-29618 Adding subscene_001 sequence for nonlinear workflow testing Change 2953859 on 2016/04/23 by Maciej.Mroz Merged from Dev-Blueprints 2953858 #jira UE-29790 Editor crashes when opening KiteDemo Change 2953764 on 2016/04/23 by Max.Chen Sequencer: Remove "Experimental" tag on the Level Sequence Actor #jira UETOOl-625 Change 2953763 on 2016/04/23 by Max.Chen Cinematics: Change text to "Edit Existing Cinematics" #jira UE-29102 Change 2953762 on 2016/04/23 by Max.Chen Sequencer: Follow up time slider hit testing fix. Don't hit test the selection range if it's empty. This was causing false positives when hovering close to the ranges. #jira UE-29658 Change 2953652 on 2016/04/22 by Rolando.Caloca UE4.12 - vk - Workaround driver bugs wrt texture format caps #jira UE-28140 Change 2953596 on 2016/04/22 by Marcus.Wassmer #jira UE-20276 Merging dual normal clearcoat shading model. 2863683 2871229 2876362 2876573 2884007 2901595 Change 2953594 on 2016/04/22 by Chris.Babcock Disable crash handler for VulkanRHI on Android to prevent sig11 on loading driver #jira UE-29851 #ue4 #android Change 2953520 on 2016/04/22 by Rolando.Caloca UE4.12 - vk - Enable deferred resource deletion - Added one resource heap per memory type - Improved DumpMemory() - Added ensures for missing format features #jira UE-28140 Change 2953459 on 2016/04/22 by Taizyd.Korambayil #jira UE-29748 Resaved Maps to Fix EC Build Warnings #jira UE-29744 Change 2953448 on 2016/04/22 by Ryan.Gerleve Fix Mac/Linux compile. #jira UE-29545 Change 2953311 on 2016/04/22 by Ryan.Gerleve Fix for infinite hang when loading a replay from within an actor tick while demo.AsyncLoadWorld is false. LoadMap for the replay is now deferred using the existing PendingNetGame mechanism. Added virtual UPendingNetGame::LoadMapCompleted function so that the base PendingNetGame and DemoPendingNetGame can have different behavior. To keep things simpler, also parse all replay metadata and streaming levels after the LoadMap call. #jira UE-29545 Change 2953219 on 2016/04/22 by mason.seay Test map for show collision features #jira UE-29618 Change 2953199 on 2016/04/22 by Phillip.Kavan [UE-29449] Fix InitProperties() optimization for Blueprint class instances when array property values differ in size. change summary: - improved UBlueprintGeneratedClass::BuildCustomArrayPropertyListForPostConstruction() by continuing to emit only delta entries for array values that exceed the default array value's size; previously we emitted a NULL in this case to signal a need to initialize all remaining array values in InitProperties(), even if they didn't differ from the default value of the inner property (which in most cases would already have been set at construction time, and thus potentially incurred a redundant copy iteration for each entry) - modified FObjectInitializer::InitArrayPropertyFromCustomList() to no longer reset the array value on the instance prior to initialization - added code to properly resize the array on the instance prior to initialization (if it differs in size from the default array value) - removed code that handled a NULL property value in the custom property list stream (this is no longer necessary, see above) - modified FObjectInitializer::InitProperties() to restore the post-construction optimization for Blueprint class instances (back to being enabled by default) #jira UE-29449 Change 2953195 on 2016/04/22 by Max.Chen Sequencer: Fix crash in actor reference track in the cached guid to actor map. #jira UE-27523 Change 2953124 on 2016/04/22 by Rolando.Caloca UE4.12 - vk - Increase temp frame buffer #jira UE-28140 Change 2953121 on 2016/04/22 by Chris.Babcock Rebuilt lighting for all levels #jira UE-29809 Change 2953073 on 2016/04/22 by mason.seay Test assets for notifies in animation composites and montages #jira UE-29618 Change 2952960 on 2016/04/22 by Richard.TalbotWatkin Changed eye dropper operation so that LMB click selects a color, and pressing Esc cancels the selection and restores the old color. #jira UE-28410 - Eye dropper selects color without clicking Change 2952934 on 2016/04/22 by Allan.Bentham Ensure pool's refractive index >= 1 #jira UE-29777 Change 2952881 on 2016/04/22 by Jamie.Dale Better fix for UE-28560 that doesn't regress thumbnail rendering We now just silence the warning if dealing with an inactive world. #jira UE-28560 Change 2952867 on 2016/04/22 by Thomas.Sarkanen Fix issues with matinee-controlled anim instances Regression caused by us no longer saving off the anim sequence between updates. #jira UE-29812 - Protostar Neutrino spawns but does not Animate or move. Change 2952826 on 2016/04/22 by Maciej.Mroz Merged from Dev-Blueprints 2952820 #jira UE-28895 Nativizing a blueprint project causes the next non-nativizing package attempt to fail Change 2952819 on 2016/04/22 by Josh.Adams - Fixed crash in a Vulkan shader printout #lockdown nick.penwarden #jira UE-29820 Change 2952817 on 2016/04/22 by Rolando.Caloca UE4.12 - vk - Revert back to simple layouts #jira UE-28140 Change 2952792 on 2016/04/22 by Jamie.Dale Removed some code that caused worlds loaded by the Content Browser to be initialized before they were ready Supposedly this code existed for world thumbnail rendering, however only the active editor world generates a thumbnail, so initializing other worlds wasn't having any effect and thumbnails look identical to before. #jira UE-28560 Change 2952783 on 2016/04/22 by Taizyd.Korambayil #jira UE-28477 Resaved Flying Template Map Change 2952767 on 2016/04/22 by Taizyd.Korambayil #jira UE-29736 Resaved Map to Fix EC Warnings Change 2952762 on 2016/04/22 by Allan.Bentham Update reflection capture to contain only room5 content. #jira UE-29777 Change 2952749 on 2016/04/22 by Taizyd.Korambayil #jira UE-29740 Resaved Material and Map to Fix Empty Engine Version Error Change 2952688 on 2016/04/22 by Martin.Wilson Fix for BP notifies not displaying when they derive from an abstract base class #jira UE-28556 Change 2952685 on 2016/04/22 by Thomas.Sarkanen Fix CIS for non-editor builds #jira UE-29308 - Fix crash from GC-ed animation asset Change 2952664 on 2016/04/22 by Thomas.Sarkanen Made up/down behaviour for console history consistent and reverted to old ordering by default Pressing up or down now brings up history. Sorting can now be optionally bottom-to-top or top-to-bottom. Default behaviour is preserved to what it was before the recent changes. #jira UE-29595 - Console autocomplete behavior is non-intuitive / frustrating Change 2952655 on 2016/04/22 by Jamie.Dale Changed the class filter to use an expression evaluator This makes it consistent with the other filters in the editor #jira UE-29811 Change 2952647 on 2016/04/22 by Allan.Bentham Back out changelist 2951539 #jira UE-29777 Change 2952618 on 2016/04/22 by Benn.Gallagher Fixed naming error in rotation multiplier node #jira UE-29583 Change 2952612 on 2016/04/22 by Thomas.Sarkanen Fix garbage collection and undo/redo issues with anim instance proxy UObject-based properties are now cached each update on the proxy and nulled-out outside of evaluate/update phases. Moved some initialization code for CurrentAsset/CurrentVertexAnim from the proxy back to the instance (as its is encapsulated there now). #jira UE-29308 - Fix crash from GC-ed animation asset Change 2952608 on 2016/04/22 by Richard.TalbotWatkin Changed 'Recently Used Levels' and 'Favorite Levels' to hold long package names instead of absolute paths. This means they are now project-relative and will remain valid even if the project location changes. #jira UE-29731 - Editor map recent files are not project relative, leading to missing links when moving projects. Change 2952599 on 2016/04/22 by Dmitriy.Dyomin Disabled vulkan pipeline cache as it causes rendering artifacts right now #jira UE-29807 Change 2952540 on 2016/04/22 by Maciej.Mroz #jira UE-29787 Obsolete nativized files are never removed merged from Dev-Blueprints 2952531 Change 2952372 on 2016/04/21 by Josh.Adams - Fixed Vk memory allocations when reusing free pages #lockdown nick.penwarden #jira ue-29802 Change 2952350 on 2016/04/21 by Eric.Newman Added support for UEReleaseTesting backends to Orion and Ocean #jira op-3640 Change 2952140 on 2016/04/21 by Dan.Oconnor Demoted back to warning to fix regressions in content examples, in main we've added the ability to elevate warnings to errors, but no reason to rush that feature into 4.12 #jira UE-28971 Change 2952135 on 2016/04/21 by Jeff.Farris Fixed issue in PlayerCameraManager where the priority-based sorting of CameraModifiers wasn't sorting properly. Manual re-implementation of CL 2948123 in 4.12 branch. #jira UE-29634 Change 2952121 on 2016/04/21 by Lee.Clark PS4 - 4.12 - Fix staging and deploying of system prxs #jira UE-29801 Change 2952120 on 2016/04/21 by Rolando.Caloca UE4.12 - vk - Move descriptor allocation to BSS #jira UE-21840 Change 2952027 on 2016/04/21 by Rolando.Caloca UE4.12 - vk - Fix descriptor sets lifetimes - Fix crash with null texture #jira UE-28140 Change 2951890 on 2016/04/21 by Eric.Newman Updating locked common dependencies for OrionService #jira OP-3640 Change 2951863 on 2016/04/21 by Eric.Newman Updating locked dependencies for UE 4.12 OrionService #jira OP-3640 Change 2951852 on 2016/04/21 by Owen.Stupka Fixed meteors destruct location #jira UE-29714 Change 2951739 on 2016/04/21 by Max.Chen Sequencer: Follow up for integral keys. #jira UE-29791 Change 2951717 on 2016/04/21 by Rolando.Caloca UE4.12 - Fix shader platform names #jira UE-28140 Change 2951714 on 2016/04/21 by Max.Chen Sequencer: Fix setting a key if it already exists at the current time. #jira UE-29791 Change 2951708 on 2016/04/21 by Rolando.Caloca UE4.12 - vk - Separate upload cmd buffer #jira UE-28140 Change 2951653 on 2016/04/21 by Marc.Audy If a child actor component is destroyed during garbage collection, do not rename, instead clear the caching mechanisms so that a new name is chosen if a new child is created in the future Remove now unused bRenameRequired parameter #jira UE-29612 Change 2951619 on 2016/04/21 by Chris.Babcock Move bCreateRenderStateForHiddenComponents out of WITH_EDITOR #jira UE-29786 #ue4 Change 2951603 on 2016/04/21 by Cody.Albert #jira UE-29785 Revert Github readme page back to original Change 2951599 on 2016/04/21 by Ryan.Gerleve Fix assert when attempting to record a replay when the map has a placed actor that writes replay external data (such as ACharacter) #jira UE-29778 Change 2951558 on 2016/04/21 by Chris.Babcock Always rename destroyed child actor #jira UE-29709 #ue4 Change 2951552 on 2016/04/21 by James.Golding Remove old code for handling 'show collision' in game, uses same method as editor now, fixes hidden meshes showing up in game when doing 'show collision' #jira UE-29303 Change 2951539 on 2016/04/21 by Allan.Bentham Use screenuv for distortion with ES2/31. #jira UE-29777 Change 2951535 on 2016/04/21 by Max.Chen We need to test if the hmd is enabled if it exists. Otherwise, this will return true even if we aren't rendering in stereo if there's an hmd plugin loaded. #jira UE-29711 Change 2951521 on 2016/04/21 by Taizyd.Korambayil #jira UE-29746 Replaced Deprecated Time Handler node in GameLevel_GM Change 2951492 on 2016/04/21 by Jeremiah.Waldron Fix for Android IAP information reporting back incorrectly. #jira UE-29776 Change 2951486 on 2016/04/21 by Taizyd.Korambayil #jira UE-29741 Updated Infiltrator Demo Project to open with the correct Map Change 2951450 on 2016/04/21 by Gareth.Martin Fix non-editor build #jira UE-16525 Change 2951380 on 2016/04/21 by Gareth.Martin Fix Landscape layer blend nodes not updating connections correctly when an input is changed from weight/alpha (one input) to height blend (two inputs) or vice-versa #jira UE-16525 Change 2951357 on 2016/04/21 by Richard.TalbotWatkin Fixed a crash when pushing a new menu leads to a window activation change which would result in the old root menu being dismissed. #jira UE-27981 - [CrashReport] Crash When Attempting to Select Variable Type After Clearing the Name Field Change 2951352 on 2016/04/21 by Richard.TalbotWatkin Added slider bar thickness as a new property in FSliderStyle. #jira UE-19173 - SSlider is not fully stylable Change 2951344 on 2016/04/21 by Gareth.Martin Fix bounds calculation for landscape splines that was causing the first landscape spline point to be invisible and later points to flicker. - Also fixes landscape spline lines not showing up on a flat landscape #jira UE-25114 Change 2951326 on 2016/04/21 by Taizyd.Korambayil #jira UE-28477 Resaving Maps Change 2951271 on 2016/04/21 by Jamie.Dale Fixed a crash when pasting a path containing a class into the asset view of the Content Browser #jira UE-29616 Change 2951237 on 2016/04/21 by Jack.Porter Fix black screen on PC due to planar reflections #jira UE-29664 Change 2951184 on 2016/04/21 by Jamie.Dale Fixed crash in FCurveStructCustomization when no objects were selected for editing #jira UE-29638 Change 2951177 on 2016/04/21 by Ben.Marsh Fix hot reload from IDE failing when project is up to date. UBT returns an exit code of 2, and any non-zero exit code is treated as an error by Visual Studio. Build.bat was not correctly forwarding on the exit code at all prior to CL 2790858. #jira UE-29757 Change 2951171 on 2016/04/21 by Matthew.Griffin Fixed issue with Rebuild not working when installed in Program Files (x86) The brackets seem to cause lots of problems in combination with the if/else ones #jira UE-29648 Change 2951163 on 2016/04/21 by Jamie.Dale Changed the text customization to use the property handle functions to get/set the text value That ensures that it both transacts and notifies correctly. Added new functions to deal with multiple objects selection efficiently with the existing IEditableTextProperty API: - FPropertyHandleBase::SetPerObjectValue - FPropertyHandleBase::GetPerObjectValue - FPropertyHandleBase::GetNumPerObjectValues These replace the need to cache the raw pointers. #jira UE-20223 Change 2951103 on 2016/04/21 by Thomas.Sarkanen Un-deprecated blueprint functions for attachment/detachment Renamed functions to <FuncName> (Deprecated). Hid functions in the BP context menu so new ones cant be added. #jira UE-23216 - "Snap to Target, Keep World Scale" when attaching doesn't work properly if parent is scaled. Change 2951101 on 2016/04/21 by Allan.Bentham Enable mobile HQ DoF #jira UE-29765 Change 2951097 on 2016/04/21 by Thomas.Sarkanen Standalone games now benefit from parallel anim update if possible We now simply use the fact we want root motion to determine if we need to run immediately. #jira UE-29431 - Parallel anim update does not work in non-multiplayer games Change 2951036 on 2016/04/21 by Lee.Clark PS4 - Fix WinDualShock working with VS2015 #jira UE-29088 Change 2951034 on 2016/04/21 by Jack.Porter ProtoStar: Removed content not needed by remaining maps, resaved all content to fix version 0 issues #jira UE-29666 Change 2950995 on 2016/04/21 by Jack.Porter ProtoStar - delete unneeded maps #jira UE-29665 Change 2950787 on 2016/04/20 by Nick.Darnell SuperSearch - Moving the settings object into a seperate plugin to avoid there needing to be a circular dependency between SuperSearch and UnrealEd. #jira UE-29749 #codeview Ben.Marsh Change 2950786 on 2016/04/20 by Nick.Darnell Back out changelist 2950769 - Going to re-enable super search - about to move the settings into a plugin to prevent the circular reference. #jira UE-29749 Change 2950769 on 2016/04/20 by Ben.Marsh Comment out editor integration for super search to fix problems with the circular dependencies breaking hot reload and compiling QAGame in binary release. Change 2950724 on 2016/04/20 by Lina.Halper Support for negative scaling for mirroring - Merging CL 2950718 using //UE4/Dev-Framework_to_//UE4/Release-4.12 #jira: UE-27453 Change 2950293 on 2016/04/20 by andrew.porter Correcting sequencer test content #jira UE-29618 Change 2950283 on 2016/04/20 by Marc.Audy Don't route FlushPressedKeys on PIE shut down #jira UE-28734 Change 2950071 on 2016/04/20 by mason.seay Adjusted translation retargeting on head bone of UE4_Mannequin -Needed for anim bp test. Tested animations and did not see any fallout from change. If there is, it can be reverted. #jira UE-29618 Change 2950049 on 2016/04/20 by Mark.Satterthwaite Undo CL #2949690 and instead on Mac where we want to be able to capture videos of gameplay we just insert an intermediate texture as the back-buffer and use a manual blit to the drawable prior to present. This also changes the code to enforce that the back-buffer render-target should never be nil as the code & Metal API itself assumes that this situation cannot occur but it would appear from continued crashes inside PrepareToDraw that it actually can in the field. This will address another potential cause of UE-29006. #jira UE-29006 #jira UE-29140 Change 2949977 on 2016/04/20 by Max.Chen Sequencer: Add FieldOfView to default tracks for CameraActor. Add FieldOfView to exclusion list for CineCameraActor. #jira UE-29660 Change 2949836 on 2016/04/20 by Gareth.Martin Fix landscape components flickering when perfectly flat (bounds size is 0) - This often happens for newly created landscapes #jira UE-29262 Change 2949768 on 2016/04/20 by Thomas.Sarkanen Moving parent & grouped child actors now does not result in deltas being applied twice Grouping and attachment now interact correctly. Also fixed up according to coding standard. Discovered and proposed by David.Bliss2 (Rocksteady). #jira UE-29233 - Delta applied twice when moving parent and grouped child actors From UDN: https://udn.unrealengine.com/questions/286537/moving-parent-grouped-child-actors-results-in-delt.html Change 2949759 on 2016/04/20 by Thomas.Sarkanen Fix split pins not working as anim graph node inputs Limit surface area of this change by only modifying the anim BP compiler. A better version might be to move the call in the general blueprint compiler but it is riskier. #jira UE-12326 - Splitting a struct in an Anim Blueprint does not work Change 2949739 on 2016/04/20 by Thomas.Sarkanen Fix layered bone per blend accessed from a struct in the fast-path Made sure that the fallback event is always built (logic was still split so if PatchFunctionNamesAndCopyRecordsInto aborted because of some unhandled case if might not have an event to call). Covered struct source->array dest case. Indicator icon is now built from the copy record itself, ensuring it is accurate to actual runtime data. #jira UE-29389 - Fast-Path: Layered Blend per Bone node failing to grab updated values from struct. Change 2949715 on 2016/04/20 by Max.Chen Sequencer: Fix mouse wheel zoom so it defaults to zooming in on the current time/frame. This is a toggleable option in the Editor Preferences (Zoom Position = Current Time or Mouse Position) #jira UE-29661 Change 2949712 on 2016/04/20 by Taizyd.Korambayil #jira UE-28544 adjusted Player crosshair to be centered Change 2949710 on 2016/04/20 by Alexis.Matte #jira UE-29477 Pixel Inspector, UI get polish and adding "scene color" inspect property Change 2949706 on 2016/04/20 by Alexis.Matte #jira UE-29475 #jira UE-29476 Favorite allow all UProperty to be favorite (the FStruct is now supported) Favorite scrollig is auto adjust to avoid scrolling when adding/removing a favorite Change 2949691 on 2016/04/20 by Mark.Satterthwaite Fix typo from previous commit - retain not release... #jira UE-29140 Change 2949690 on 2016/04/20 by Mark.Satterthwaite Double-buffer the Metal viewport's back-buffer so that we can access the contents of the back-buffer after EndDrawingViewport is called until BeginDrawingViewport is called again on this viewport, this makes it possible to capture movies on Metal. #jira UE-29140 Change 2949616 on 2016/04/20 by Marc.Audy 'Merge' latest version of Vulkan from Dev-Rendering to Release-4.12 #jira UE-00000 Change 2949572 on 2016/04/20 by Jamie.Dale Fixed crash undoing a text property changed caused by a null entry in the array #jira UE-20223 Change 2949562 on 2016/04/20 by Alexis.Matte #jira UE-29447 Fix the batch fbx import "not show options" dialog where some option can be different. Change 2949560 on 2016/04/20 by Alexis.Matte #jira UE-28898 Avoid importing multiple static mesh in the same package Change 2949547 on 2016/04/20 by Mark.Satterthwaite You must use STENCIL_COMPONENT_SWIZZLE to access the stencil component of a texture - not all APIs can swizzle it into .g automatically. #jira UE-29672 Change 2949443 on 2016/04/20 by Allan.Bentham Disable sRGB textures when ES31 feature level is set. Only use vk's sRGB formats when feature level > ES3_1 #jira UE-29623 Change 2949428 on 2016/04/20 by Allan.Bentham Back out changelist 2949405 #jira UE-29623 Change 2949405 on 2016/04/20 by Allan.Bentham Disable sRGB textures when ES31 feature level is set. Only use vk's sRGB formats when feature level > ES3_1 #jira UE-29623 Merging using Dev-Mobile_->_Release-4.12 Change 2949391 on 2016/04/20 by Richard.TalbotWatkin PIE with multiple windows now starts focused on Client 1, or the server if not a dedicated server. Added a new virtual call UEditorEngine::OnLoginPIEAllComplete, called when all clients have been successfully logged in when starting PIE. The default behavior is to set focus to the first client. #jira UE-26037 - Cumbersome workflow when running PIE with 2 clients #jira UE-26905 - First client window does not gain focus or mouse control when launching two clients Change 2949389 on 2016/04/20 by Richard.TalbotWatkin Fixed regression which was saving the viewport config settings incorrectly. Viewports are keyed by their layout on the same key as the config key, hence we do not need to prepend the SpecificLayoutString when saving out the config data when iterating through a layout's viewports. #jira UE-29058 - Viewport settings are not saved after shutting down editor Change 2949388 on 2016/04/20 by Richard.TalbotWatkin Change auto-reimport settings so that "Detect Changes on Startup" defaults to true. Also removed the warning of potential unwanted behaviour when working in conjunction with source control; this is no longer necessary now that there is a prompt prior to auto-reimport. #jira UE-29257 - Auto import does not import assets Change 2949203 on 2016/04/19 by Max.Chen Sequencer: Fix spawnables not getting default tracks. #jira UE-29644 Change 2949202 on 2016/04/19 by Max.Chen Sequencer: Fix particles not firing on loop. #jira UE-27881 Change 2949201 on 2016/04/19 by Max.Chen Sequencer: Fix multiple labels support #jira UE-26812 Change 2949200 on 2016/04/19 by Max.Chen Sequencer: Expose settings sequencer settings in the Editor Preferences page. Note, UMG and Niagara have separate sequencer settings pages. #jira UE-29516 Change 2949197 on 2016/04/19 by Max.Chen Sequencer: Fix unwind rotation when keying rotation so that rotations are always set to the nearest. #jira UE-22228 Change 2949196 on 2016/04/19 by Max.Chen Sequencer: Disable selection range drawing if it's empty so that playback range dragging can take precedence when they overlap. This fixes a bug where you can't drag the starting playback range when sequencer starts up. #jira UE-29657 Change 2949195 on 2016/04/19 by Max.Chen MovieSceneCapture: Default image compression quality to 100 (rather than 75). #jira UE-29657 Change 2949194 on 2016/04/19 by Max.Chen Sequencer: Matinee to Level Sequence fix for mapping properties correctly. This fixes focus distance not getting set properly on the conversion. #jira UETOOL-467 Change 2949193 on 2016/04/19 by Max.Chen Sequencer - Fix issues with level visibility. + Don't mark sub-levels as dirty when the track evaluates. + Fix an issue where sequencer gets into a refresh loop because drawing thumbnails causes levels to be added which was rebuilding the tree, which was redrawing thumbnails. + Null check for when an objects world is null but the track is still evaluating. + Remove UnrealEd references. #jira UE-25668 Change 2948990 on 2016/04/19 by Aaron.McLeran #jira UE-29654 FadeIn invalidates Audio Components in 4.11 Change 2948890 on 2016/04/19 by Jamie.Dale Downgraded an assert in SPathView::LoadSettings to avoid a common crash when a saved path no longer exists #jira UE-28858 Change 2948860 on 2016/04/19 by Mike.Beach Mirroring CL 2940334 (from Dev-Blueprints): Bettering CreateEvent node errors, so users are able to recover from API changes (not clearing the function name field, calling out the function by name in the error, etc.) #jira UE-28911 Change 2948857 on 2016/04/19 by Jamie.Dale Added an Asset Localization context menu to the Content Browser This allows you to create, edit, and view localized assets from any source asset, as well as edit and view source assets from any localized asset. #jira UE-29493 Change 2948854 on 2016/04/19 by Jamie.Dale UAT now stages all project translation targets #jira UE-20248 Change 2948831 on 2016/04/19 by Mike.Beach Mirroring CL 2945994 (from Dev-Blueprints): Pasting EdGraphNodes will no longer query sub-nodes for compatibility if the root cannot be pasted (for things like collapsed graphs, and anim state-machine nodes). #jira UE-29035 Change 2948825 on 2016/04/19 by Jamie.Dale Fixed shadow warning #jira UE-29212 Change 2948812 on 2016/04/19 by Marc.Audy Gracefully handle failure to load configurable engine classes #jira UE-26527 Change 2948791 on 2016/04/19 by Jamie.Dale Fixed regression in SEditableText bIsCaretMovedWhenGainFocus when using auto-complete Fixed regression in FSlateEditableTextLayout::SetText that caused it to call OnTextChanged when nothing had changed #jira UE-29494 #jira UE-28886 Change 2948761 on 2016/04/19 by Jamie.Dale Sub-fonts are now only used when they contain the character to be rendered #jira UE-29212 Change 2948718 on 2016/04/19 by Jamie.Dale Fixed an issue where FEnginePackageLocalizationCache could be initialized before CoreUObject was ready This is now done lazily, either when the first CDO tries to load an asset (which is after CoreUObject is ready), or after the first call to ProcessNewlyLoadedUObjects (if no CDO loads an asset). #jira UE-29649 Change 2948717 on 2016/04/19 by Jamie.Dale Removed the AssetRegistry's dependency on MessageLog It was only there to add a category that was only ever used by the AssetTools module. #jira UE-29649 Change 2948683 on 2016/04/19 by Phillip.Kavan [UE-18419] Fix GetClassDefaults nodes to update properly in response to structural BP class changes. change summary: - modified UK2Node_GetClassDefaults::CreateOutputPins() to bind/unbind delegate handlers for the OnChanged() & OnCompile() events for BP class types. #jira UE-18419 Change 2948681 on 2016/04/19 by Phillip.Kavan [UE-17794] The "Delete Unused Variable" feature now considers the GetClassDefaults node as well. change summary: - added external linkage to UK2Node_GetClassDefaults::FindClassPin(). - added an include for the K2Node_GetClassDefaults header file to BlueprintGraphDefinitions.h. - added UK2Node_GetClassDefaults::GetInputClass() as a public API w/ external linkage; moved default 'nullptr' param logic into this impl. - modified FBlueprintEditorUtils::IsVariableUsed() to add an extra check for a GetClassDefaults node with a visible output pin for the variable that's also connected. - modified UK2Node_GetClassDefaults::GetInputClass() to return the generated skeleton class for Blueprint class types. #jira UE-17794 Change 2948638 on 2016/04/19 by Lee.Clark PS4 - Fix SDK compile warnings #jira UE-29647 Change 2948401 on 2016/04/19 by Taizyd.Korambayil #jira UE-29250 Revuilt Lighting for Landscapes Map Change 2948398 on 2016/04/19 by Mark.Satterthwaite Add a Mac Metal ES2 shader platform to allow the various ES2 emulation modes to work in the Editor. Fix various issues with the shader code to ensure that Metal can run with ES2 shader code at least in my limited test cases in QAGame. #jira UE-29170 Change 2948366 on 2016/04/19 by Taizyd.Korambayil #jira UE-29109 Replaced Box Mesh with BSP Floor Change 2948360 on 2016/04/19 by Maciej.Mroz merged from Dev-Blueprints 2947488 #jira UE-29115 Nativized BulletTrain - cannot shoot targets in intro tutorial #jira UE-28965 Packaging Project with Nativize Blueprint Assets Prevents Overlap Events from Firing #jira UE-29559 - fixed private enum access - fixed private bitfield access - removed forced PostLoad - add BodyInstance.FixupData call to fix ResponseChannels - ignored RelativeLocation and RelativeRotation in converted root component - fixed AttachToComponent (UE-29559) Change 2948358 on 2016/04/19 by Maciej.Mroz merged from Dev-Blueprints 2947953 #jira UE-29605 Wrong bullet trails in nativized ShowUp Fixed USimpleConstructionScript::GetSceneRootComponentTemplate. Change 2948357 on 2016/04/19 by Maciej.Mroz merged from Dev-Blueprints 2947984 #jira UE-29374 Crash when hovering over Create Widget node in blueprints Safe UK2Node_ConstructObjectFromClass::GetPinHoverText. Change 2948353 on 2016/04/19 by Maciej.Mroz merged from Dev-Blueprints 2948095 #jira UE-29246 ExpandEnumAsExecs + UMETA(Hidden) Crashes Blueprint Compile "Hidden" and "Spacer" elementa from an enum does not generated exec pins for "ExpandEnumAsExecs" Change 2948332 on 2016/04/19 by Benn.Gallagher Fixed old pins being left as non-transactional #jira UE-13801 Change 2948203 on 2016/04/19 by Lee.Clark PS4 - Use SDK 3.508.031 #jira UEPLAT-1225 Change 2948168 on 2016/04/19 by mason.seay Updating test content: -Added Husk AI to level to test placed AI -Updated Spawn Husk BP to destroy itself to prevent spawn spamming #jira UE-29618 Change 2948153 on 2016/04/19 by Benn.Gallagher Missed mesh update for Owen IK fix. #jira UE-22540 Change 2948130 on 2016/04/19 by Benn.Gallagher Fixed old Owen punch IK setup so it no longer jitters when placing the hands on the surface. #jira UE-22540 Change 2948117 on 2016/04/19 by Taizyd.Korambayil #jira UE-28477 Resaved Template Map's to fix Warning Toast on Templates Change 2948063 on 2016/04/19 by Lina.Halper - Anim composite notify change for better - Fixed all nested anim notify - Merging CL 2944396 using //UE4/Dev-Framework_to_//UE4/Release-4.12 #jira : UE-29101 Change 2948060 on 2016/04/19 by Lina.Halper Fix for composite section metadata saving for montage Merging CL 2944397 using //UE4/Dev-Framework_to_//UE4/Release-4.12 #jira : UE-29228 Change 2948029 on 2016/04/19 by Ben.Marsh EC: Prevent automatically pushing CIS builds to the launcher; the changelist might be run more than once. Change 2947986 on 2016/04/19 by Benn.Gallagher Fixed BP callable functions that affect skeletal mesh component transforms not working when simulating physics. #jira UE-27783 Change 2947976 on 2016/04/19 by Mark.Satterthwaite Duplicate CL #2943702 from 4.11.2: Change the way Metal validates the render-target state so that in FMetalContext::PrepareToDraw it can issue a last-ditch attempt to restore the render-targets. This won't fix the cause of the Mac Metal crashes but it might mitigate some of them and provide more information about why they are occurring. #jira UE-29006 Change 2947975 on 2016/04/19 by Mark.Satterthwaite Duplicate CL #2945061 from UE4-UT: Address UT issue UE-29150 directly in the UT branch: users without a sufficiently up-to-date Xcode won't have the 'metal' offline shader compiler so will have to use the slower online compiled text shader format. #jira UE-29150 Change 2947679 on 2016/04/19 by Jack.Porter Fixed 4.12 branch not compiling with the 1.0.8 Vulkan SDK #jira UE-29601 Change 2947657 on 2016/04/18 by Jack.Porter Update protostar reflection capture contents #jira UE-29600 Change 2947301 on 2016/04/18 by Ben.Marsh EC: Fix trigger ready emails failing to send due to recipient list being a space-separated list of addresses rather than an array reference. Change 2947263 on 2016/04/18 by Marc.Audy Merging CL# 2945921 //UE4/Release-4.11 to //UE4/Release-4.12 Ensure that all OwnedComponents in an Actor are duplicated for PIE even if not referenced by a property, unless that component is explicitly transient #jira UE-29209 Change 2946984 on 2016/04/18 by Ben.Marsh GUBP: Allow Ocean cooks in the release branch (fixes build startup failures) Change 2946870 on 2016/04/18 by Ben.Marsh Remaking CL 2946810 to fix compile error in ShooterGame editor. Change 2946859 on 2016/04/18 by Ben.Marsh GUBP: Don't exclude Ocean from builds in the release branch. Change 2946847 on 2016/04/18 by Ben.Marsh GUBP: Fix warning on every build step due to OrionGame_Win32_Mono no longer existing. Change 2946771 on 2016/04/18 by Ben.Marsh EC: Correct initial agent type for release branches. Causing full branch syncs on all agents. Change 2946641 on 2016/04/18 by Ben.Marsh EC: Remove rogue comma causing branch definition parsing to fail. Change 2946592 on 2016/04/18 by Ben.Marsh EC: Adding branch definition for 4.12 release #lockdown Nick.Penwarden [CL 2962354 by Ben Marsh in Main branch]
2016-05-01 17:37:41 -04:00
// If zooming on the current time, adjust mouse fractionX
if (Sequencer.IsValid() && Sequencer->GetSequencerSettings()->GetZoomPosition() == ESequencerZoomPosition::SZP_CurrentTime)
Copying //UE4/Release-Staging-4.12 to //UE4/Dev-Main (Source: //UE4/Release-4.12 @ 2955635) ========================== MAJOR FEATURES + CHANGES ========================== Change 2955635 on 2016/04/26 by Max.Chen Sequencer: Fix filtering so that folders that contain filtered nodes will also appear. #jira UE-28213 Change 2955617 on 2016/04/25 by Dmitriy.Dyomin Better fix for: Post processing rendering artifacts Nexus 6 this device on Android 5.0.1 does not support BGRA8888 texture as a color attachment #jira: UE-24067 Change 2955522 on 2016/04/25 by Max.Chen Sequencer: Fix crash when resolving object guid and context is null. #jira UE-29916 Change 2955504 on 2016/04/25 by Alexis.Matte #jira UE-29926 Fix build error for SplineComponent. I just move variable under #if !UE_BUILD_SHIPPING instead #if WITH_EDITORONLY_DATA to fix all build flavor, please feel free to adjust according to what the initial fix was suppose to do. Change 2955500 on 2016/04/25 by Dan.Oconnor Integration of 2955445 from Dev-BP #jira UE-29012 Change 2955234 on 2016/04/25 by Lina.Halper Fixed tool tip of twist node #jira : UE-29907 Change 2955211 on 2016/04/25 by Ben.Marsh Exclude all plugins which aren't required for a project (ie. don't have any content or modules for the current target) from its target receipt. Prevents dependencies on .uplugin files whose dependencies are otherwise compiled out. Re-enable PS4Media plugin by default. #jira UE-29842 Change 2955155 on 2016/04/25 by Jamie.Dale Fixed an issue where text committed via a focus loss might not display the correct text if it was changed during commit #jira UE-28756 Change 2955144 on 2016/04/25 by Jamie.Dale Fixed a case where editable text controls would fail to select their text when focused There was an order of operations issue between the options to select all text and move the cursor to the end of the document, which caused the cursor move to happen after the select all, and undo the selection. The order of these operations has now been flipped. #jira UE-29818 #jira UE-29772 Change 2955136 on 2016/04/25 by Chad.Taylor Merging to 4.12: Morpheus latency fix. Late update tracking frame was getting unnecessarily buffered an extra frame on the RHI thread. Removed buffering and the issue is fixed. #jira UE-22581 Change 2955134 on 2016/04/25 by Lina.Halper Removed code that blocks moving actor when they don't have physics asset #jira : UE-29796 #code review: Benn.Gallagher Change 2955130 on 2016/04/25 by Zak.Middleton #ue4 - (4.12) Don't reject low distance MTD, it could cause us to not process some valid overlaps. (copy of 2955001 in Main) #jira UE-29531 #lockdown Nick.Penwarden Change 2955098 on 2016/04/25 by Marc.Audy Don't spawn a child actor on the client if the server is going to have created one and be replicating it to the client #jira UE-7539 Change 2955049 on 2016/04/25 by Richard.TalbotWatkin Changes to how SplineComponents debug render. Added a SetDrawDebug method to control whether a spline is rendered. Also extended the facility to non-editor builds. #jira UE-29753 - Add ability to display a SplineComponent in-game Change 2955040 on 2016/04/25 by Chris.Gagnon Fixed Initializer Order Warning in hot reload ctor. #jira UE-28811, UE-28960 Change 2954995 on 2016/04/25 by Marc.Audy Make USceneComponent::Pre/PostNetReceive and PostRepNotifies protected instead of private so that subclasses can implement replication behaviors #jira UE-29909 Change 2954970 on 2016/04/25 by Peter.Sauerbrei fix for openwrite with O_APPEND flag #jira UE-28417 Change 2954917 on 2016/04/25 by Chris.Gagnon Moved a desired change from Main to 4.12 Added input settings to: - control if the viewport locks the mouse on acquire capture. - control if the viewport acquires capture on the application launch (first window activate). #jira UE-28811, UE-28960 parity with 4.11 (UE-28811, UE-28960 would be reintroduced without this) Change 2954908 on 2016/04/25 by Alexis.Matte #jira UE-29478 Prevent modal dialog to use 100% of a core Change 2954888 on 2016/04/25 by Marcus.Wassmer Fix compile issue with chinese locale #jira UE-29708 Change 2954813 on 2016/04/25 by Lina.Halper Fix when not re-validating the correct asset #jira : UE-29789 #code review: Martin.Wilson Change 2954810 on 2016/04/25 by mason.seay Updated map to improve coverage #jira UE-29618 Change 2954785 on 2016/04/25 by Max.Chen Sequencer: Always spawn sequencer spawnables. Disregard collision settings. #jira UE-29825 Change 2954781 on 2016/04/25 by mason.seay Test map for Audio Occlusion trace channels #jira UE-29618 Change 2954684 on 2016/04/25 by Marc.Audy Add GetIsReplicated accessor to AActor Deprecate specific GameplayAbility class implementations that was exposing bReplicates #jira UE-29897 Change 2954675 on 2016/04/25 by Alexis.Matte #jira UE-25430 Light Intensity value in FBX is a ratio. So I just multiply the default intensity value by the ratio to have something closer to the look in the DCCs Change 2954669 on 2016/04/25 by Alexis.Matte #jira UE-29507 Import of rigid mesh animation is broken Change 2954579 on 2016/04/25 by Ben.Marsh Temporarily stop the PS4Media plugin being enabled by default, so the UE4Game built for the binary release doesn't depend on it. Will implement whitelist/blacklist for platforms later. #jira UE-29842 Change 2954556 on 2016/04/25 by Taizyd.Korambayil #jira UE-29877 Setup ThirdPersonCharacter based on correct Code Class Change 2954552 on 2016/04/25 by Taizyd.Korambayil #jira UE-29877 Deleting BP class Change 2954498 on 2016/04/25 by Ryan.Gerleve Fix for remote player controllers reporting that they're actually local player controllers after a seamless travel on the server. Transition actors to the new level in a second pass after non-transitioning actors are handled. #jira UE-29213 Change 2954446 on 2016/04/25 by Max.Chen Sequencer: Fixed spawning actors with instance or multiple owned components - Also fixed issue where recorded actors were sometimes set as transient, meaning they didn't get saved #jira UE-29774, UE-29859 Change 2954430 on 2016/04/25 by Marc.Audy Don't schedule a tick function with a tick interval that was disabled while it was pending rescheduling #jira UE-29118 #jira UE-29747 Change 2954292 on 2016/04/25 by Richard.TalbotWatkin Replicated from //UE4/Dev-Editor CL 2946363 (by Frank.Fella) CurveEditorViewportClient - Bounds check when box selecting. Prevents crashing when the box is outside the viewport. #jira UE-29265 - Crash when drag selecting curve keys in matinee Change 2954262 on 2016/04/25 by Graeme.Thornton Fixed a editor crash when destroying linkers half way through a package EndLoad #jira UE-29437 Change 2954239 on 2016/04/25 by Marc.Audy Fix error message #jira UE-00000 Change 2954177 on 2016/04/25 by Dmitriy.Dyomin Fixed: Hidden surface removal is not enabled on PowerVR Android devices #jira UE-29871 Change 2954026 on 2016/04/24 by Josh.Adams [Somehow most files got unchecked in my previous checkin, grr] - ProtoStar content/config updates (enabled TAA in the levels, disabled es2 shaders, hides the Unbuilt lighting warning on Android) #lockdown nick.penwarden #jira UE-29863 Change 2954025 on 2016/04/24 by Josh.Adams - ProtoStar content/config updates (enabled TAA in the levels, disabled es2 shaders, hides the Unbuilt lighting warning on Android) #lockdown nick.penwarden #jira UE-29863 Change 2953946 on 2016/04/24 by Max.Chen Sequencer: Fix crash on undo of a sub section. #jira UE-29856 Change 2953898 on 2016/04/23 by mitchell.wilson #jira UE-29618 Adding subscene_001 sequence for nonlinear workflow testing Change 2953859 on 2016/04/23 by Maciej.Mroz Merged from Dev-Blueprints 2953858 #jira UE-29790 Editor crashes when opening KiteDemo Change 2953764 on 2016/04/23 by Max.Chen Sequencer: Remove "Experimental" tag on the Level Sequence Actor #jira UETOOl-625 Change 2953763 on 2016/04/23 by Max.Chen Cinematics: Change text to "Edit Existing Cinematics" #jira UE-29102 Change 2953762 on 2016/04/23 by Max.Chen Sequencer: Follow up time slider hit testing fix. Don't hit test the selection range if it's empty. This was causing false positives when hovering close to the ranges. #jira UE-29658 Change 2953652 on 2016/04/22 by Rolando.Caloca UE4.12 - vk - Workaround driver bugs wrt texture format caps #jira UE-28140 Change 2953596 on 2016/04/22 by Marcus.Wassmer #jira UE-20276 Merging dual normal clearcoat shading model. 2863683 2871229 2876362 2876573 2884007 2901595 Change 2953594 on 2016/04/22 by Chris.Babcock Disable crash handler for VulkanRHI on Android to prevent sig11 on loading driver #jira UE-29851 #ue4 #android Change 2953520 on 2016/04/22 by Rolando.Caloca UE4.12 - vk - Enable deferred resource deletion - Added one resource heap per memory type - Improved DumpMemory() - Added ensures for missing format features #jira UE-28140 Change 2953459 on 2016/04/22 by Taizyd.Korambayil #jira UE-29748 Resaved Maps to Fix EC Build Warnings #jira UE-29744 Change 2953448 on 2016/04/22 by Ryan.Gerleve Fix Mac/Linux compile. #jira UE-29545 Change 2953311 on 2016/04/22 by Ryan.Gerleve Fix for infinite hang when loading a replay from within an actor tick while demo.AsyncLoadWorld is false. LoadMap for the replay is now deferred using the existing PendingNetGame mechanism. Added virtual UPendingNetGame::LoadMapCompleted function so that the base PendingNetGame and DemoPendingNetGame can have different behavior. To keep things simpler, also parse all replay metadata and streaming levels after the LoadMap call. #jira UE-29545 Change 2953219 on 2016/04/22 by mason.seay Test map for show collision features #jira UE-29618 Change 2953199 on 2016/04/22 by Phillip.Kavan [UE-29449] Fix InitProperties() optimization for Blueprint class instances when array property values differ in size. change summary: - improved UBlueprintGeneratedClass::BuildCustomArrayPropertyListForPostConstruction() by continuing to emit only delta entries for array values that exceed the default array value's size; previously we emitted a NULL in this case to signal a need to initialize all remaining array values in InitProperties(), even if they didn't differ from the default value of the inner property (which in most cases would already have been set at construction time, and thus potentially incurred a redundant copy iteration for each entry) - modified FObjectInitializer::InitArrayPropertyFromCustomList() to no longer reset the array value on the instance prior to initialization - added code to properly resize the array on the instance prior to initialization (if it differs in size from the default array value) - removed code that handled a NULL property value in the custom property list stream (this is no longer necessary, see above) - modified FObjectInitializer::InitProperties() to restore the post-construction optimization for Blueprint class instances (back to being enabled by default) #jira UE-29449 Change 2953195 on 2016/04/22 by Max.Chen Sequencer: Fix crash in actor reference track in the cached guid to actor map. #jira UE-27523 Change 2953124 on 2016/04/22 by Rolando.Caloca UE4.12 - vk - Increase temp frame buffer #jira UE-28140 Change 2953121 on 2016/04/22 by Chris.Babcock Rebuilt lighting for all levels #jira UE-29809 Change 2953073 on 2016/04/22 by mason.seay Test assets for notifies in animation composites and montages #jira UE-29618 Change 2952960 on 2016/04/22 by Richard.TalbotWatkin Changed eye dropper operation so that LMB click selects a color, and pressing Esc cancels the selection and restores the old color. #jira UE-28410 - Eye dropper selects color without clicking Change 2952934 on 2016/04/22 by Allan.Bentham Ensure pool's refractive index >= 1 #jira UE-29777 Change 2952881 on 2016/04/22 by Jamie.Dale Better fix for UE-28560 that doesn't regress thumbnail rendering We now just silence the warning if dealing with an inactive world. #jira UE-28560 Change 2952867 on 2016/04/22 by Thomas.Sarkanen Fix issues with matinee-controlled anim instances Regression caused by us no longer saving off the anim sequence between updates. #jira UE-29812 - Protostar Neutrino spawns but does not Animate or move. Change 2952826 on 2016/04/22 by Maciej.Mroz Merged from Dev-Blueprints 2952820 #jira UE-28895 Nativizing a blueprint project causes the next non-nativizing package attempt to fail Change 2952819 on 2016/04/22 by Josh.Adams - Fixed crash in a Vulkan shader printout #lockdown nick.penwarden #jira UE-29820 Change 2952817 on 2016/04/22 by Rolando.Caloca UE4.12 - vk - Revert back to simple layouts #jira UE-28140 Change 2952792 on 2016/04/22 by Jamie.Dale Removed some code that caused worlds loaded by the Content Browser to be initialized before they were ready Supposedly this code existed for world thumbnail rendering, however only the active editor world generates a thumbnail, so initializing other worlds wasn't having any effect and thumbnails look identical to before. #jira UE-28560 Change 2952783 on 2016/04/22 by Taizyd.Korambayil #jira UE-28477 Resaved Flying Template Map Change 2952767 on 2016/04/22 by Taizyd.Korambayil #jira UE-29736 Resaved Map to Fix EC Warnings Change 2952762 on 2016/04/22 by Allan.Bentham Update reflection capture to contain only room5 content. #jira UE-29777 Change 2952749 on 2016/04/22 by Taizyd.Korambayil #jira UE-29740 Resaved Material and Map to Fix Empty Engine Version Error Change 2952688 on 2016/04/22 by Martin.Wilson Fix for BP notifies not displaying when they derive from an abstract base class #jira UE-28556 Change 2952685 on 2016/04/22 by Thomas.Sarkanen Fix CIS for non-editor builds #jira UE-29308 - Fix crash from GC-ed animation asset Change 2952664 on 2016/04/22 by Thomas.Sarkanen Made up/down behaviour for console history consistent and reverted to old ordering by default Pressing up or down now brings up history. Sorting can now be optionally bottom-to-top or top-to-bottom. Default behaviour is preserved to what it was before the recent changes. #jira UE-29595 - Console autocomplete behavior is non-intuitive / frustrating Change 2952655 on 2016/04/22 by Jamie.Dale Changed the class filter to use an expression evaluator This makes it consistent with the other filters in the editor #jira UE-29811 Change 2952647 on 2016/04/22 by Allan.Bentham Back out changelist 2951539 #jira UE-29777 Change 2952618 on 2016/04/22 by Benn.Gallagher Fixed naming error in rotation multiplier node #jira UE-29583 Change 2952612 on 2016/04/22 by Thomas.Sarkanen Fix garbage collection and undo/redo issues with anim instance proxy UObject-based properties are now cached each update on the proxy and nulled-out outside of evaluate/update phases. Moved some initialization code for CurrentAsset/CurrentVertexAnim from the proxy back to the instance (as its is encapsulated there now). #jira UE-29308 - Fix crash from GC-ed animation asset Change 2952608 on 2016/04/22 by Richard.TalbotWatkin Changed 'Recently Used Levels' and 'Favorite Levels' to hold long package names instead of absolute paths. This means they are now project-relative and will remain valid even if the project location changes. #jira UE-29731 - Editor map recent files are not project relative, leading to missing links when moving projects. Change 2952599 on 2016/04/22 by Dmitriy.Dyomin Disabled vulkan pipeline cache as it causes rendering artifacts right now #jira UE-29807 Change 2952540 on 2016/04/22 by Maciej.Mroz #jira UE-29787 Obsolete nativized files are never removed merged from Dev-Blueprints 2952531 Change 2952372 on 2016/04/21 by Josh.Adams - Fixed Vk memory allocations when reusing free pages #lockdown nick.penwarden #jira ue-29802 Change 2952350 on 2016/04/21 by Eric.Newman Added support for UEReleaseTesting backends to Orion and Ocean #jira op-3640 Change 2952140 on 2016/04/21 by Dan.Oconnor Demoted back to warning to fix regressions in content examples, in main we've added the ability to elevate warnings to errors, but no reason to rush that feature into 4.12 #jira UE-28971 Change 2952135 on 2016/04/21 by Jeff.Farris Fixed issue in PlayerCameraManager where the priority-based sorting of CameraModifiers wasn't sorting properly. Manual re-implementation of CL 2948123 in 4.12 branch. #jira UE-29634 Change 2952121 on 2016/04/21 by Lee.Clark PS4 - 4.12 - Fix staging and deploying of system prxs #jira UE-29801 Change 2952120 on 2016/04/21 by Rolando.Caloca UE4.12 - vk - Move descriptor allocation to BSS #jira UE-21840 Change 2952027 on 2016/04/21 by Rolando.Caloca UE4.12 - vk - Fix descriptor sets lifetimes - Fix crash with null texture #jira UE-28140 Change 2951890 on 2016/04/21 by Eric.Newman Updating locked common dependencies for OrionService #jira OP-3640 Change 2951863 on 2016/04/21 by Eric.Newman Updating locked dependencies for UE 4.12 OrionService #jira OP-3640 Change 2951852 on 2016/04/21 by Owen.Stupka Fixed meteors destruct location #jira UE-29714 Change 2951739 on 2016/04/21 by Max.Chen Sequencer: Follow up for integral keys. #jira UE-29791 Change 2951717 on 2016/04/21 by Rolando.Caloca UE4.12 - Fix shader platform names #jira UE-28140 Change 2951714 on 2016/04/21 by Max.Chen Sequencer: Fix setting a key if it already exists at the current time. #jira UE-29791 Change 2951708 on 2016/04/21 by Rolando.Caloca UE4.12 - vk - Separate upload cmd buffer #jira UE-28140 Change 2951653 on 2016/04/21 by Marc.Audy If a child actor component is destroyed during garbage collection, do not rename, instead clear the caching mechanisms so that a new name is chosen if a new child is created in the future Remove now unused bRenameRequired parameter #jira UE-29612 Change 2951619 on 2016/04/21 by Chris.Babcock Move bCreateRenderStateForHiddenComponents out of WITH_EDITOR #jira UE-29786 #ue4 Change 2951603 on 2016/04/21 by Cody.Albert #jira UE-29785 Revert Github readme page back to original Change 2951599 on 2016/04/21 by Ryan.Gerleve Fix assert when attempting to record a replay when the map has a placed actor that writes replay external data (such as ACharacter) #jira UE-29778 Change 2951558 on 2016/04/21 by Chris.Babcock Always rename destroyed child actor #jira UE-29709 #ue4 Change 2951552 on 2016/04/21 by James.Golding Remove old code for handling 'show collision' in game, uses same method as editor now, fixes hidden meshes showing up in game when doing 'show collision' #jira UE-29303 Change 2951539 on 2016/04/21 by Allan.Bentham Use screenuv for distortion with ES2/31. #jira UE-29777 Change 2951535 on 2016/04/21 by Max.Chen We need to test if the hmd is enabled if it exists. Otherwise, this will return true even if we aren't rendering in stereo if there's an hmd plugin loaded. #jira UE-29711 Change 2951521 on 2016/04/21 by Taizyd.Korambayil #jira UE-29746 Replaced Deprecated Time Handler node in GameLevel_GM Change 2951492 on 2016/04/21 by Jeremiah.Waldron Fix for Android IAP information reporting back incorrectly. #jira UE-29776 Change 2951486 on 2016/04/21 by Taizyd.Korambayil #jira UE-29741 Updated Infiltrator Demo Project to open with the correct Map Change 2951450 on 2016/04/21 by Gareth.Martin Fix non-editor build #jira UE-16525 Change 2951380 on 2016/04/21 by Gareth.Martin Fix Landscape layer blend nodes not updating connections correctly when an input is changed from weight/alpha (one input) to height blend (two inputs) or vice-versa #jira UE-16525 Change 2951357 on 2016/04/21 by Richard.TalbotWatkin Fixed a crash when pushing a new menu leads to a window activation change which would result in the old root menu being dismissed. #jira UE-27981 - [CrashReport] Crash When Attempting to Select Variable Type After Clearing the Name Field Change 2951352 on 2016/04/21 by Richard.TalbotWatkin Added slider bar thickness as a new property in FSliderStyle. #jira UE-19173 - SSlider is not fully stylable Change 2951344 on 2016/04/21 by Gareth.Martin Fix bounds calculation for landscape splines that was causing the first landscape spline point to be invisible and later points to flicker. - Also fixes landscape spline lines not showing up on a flat landscape #jira UE-25114 Change 2951326 on 2016/04/21 by Taizyd.Korambayil #jira UE-28477 Resaving Maps Change 2951271 on 2016/04/21 by Jamie.Dale Fixed a crash when pasting a path containing a class into the asset view of the Content Browser #jira UE-29616 Change 2951237 on 2016/04/21 by Jack.Porter Fix black screen on PC due to planar reflections #jira UE-29664 Change 2951184 on 2016/04/21 by Jamie.Dale Fixed crash in FCurveStructCustomization when no objects were selected for editing #jira UE-29638 Change 2951177 on 2016/04/21 by Ben.Marsh Fix hot reload from IDE failing when project is up to date. UBT returns an exit code of 2, and any non-zero exit code is treated as an error by Visual Studio. Build.bat was not correctly forwarding on the exit code at all prior to CL 2790858. #jira UE-29757 Change 2951171 on 2016/04/21 by Matthew.Griffin Fixed issue with Rebuild not working when installed in Program Files (x86) The brackets seem to cause lots of problems in combination with the if/else ones #jira UE-29648 Change 2951163 on 2016/04/21 by Jamie.Dale Changed the text customization to use the property handle functions to get/set the text value That ensures that it both transacts and notifies correctly. Added new functions to deal with multiple objects selection efficiently with the existing IEditableTextProperty API: - FPropertyHandleBase::SetPerObjectValue - FPropertyHandleBase::GetPerObjectValue - FPropertyHandleBase::GetNumPerObjectValues These replace the need to cache the raw pointers. #jira UE-20223 Change 2951103 on 2016/04/21 by Thomas.Sarkanen Un-deprecated blueprint functions for attachment/detachment Renamed functions to <FuncName> (Deprecated). Hid functions in the BP context menu so new ones cant be added. #jira UE-23216 - "Snap to Target, Keep World Scale" when attaching doesn't work properly if parent is scaled. Change 2951101 on 2016/04/21 by Allan.Bentham Enable mobile HQ DoF #jira UE-29765 Change 2951097 on 2016/04/21 by Thomas.Sarkanen Standalone games now benefit from parallel anim update if possible We now simply use the fact we want root motion to determine if we need to run immediately. #jira UE-29431 - Parallel anim update does not work in non-multiplayer games Change 2951036 on 2016/04/21 by Lee.Clark PS4 - Fix WinDualShock working with VS2015 #jira UE-29088 Change 2951034 on 2016/04/21 by Jack.Porter ProtoStar: Removed content not needed by remaining maps, resaved all content to fix version 0 issues #jira UE-29666 Change 2950995 on 2016/04/21 by Jack.Porter ProtoStar - delete unneeded maps #jira UE-29665 Change 2950787 on 2016/04/20 by Nick.Darnell SuperSearch - Moving the settings object into a seperate plugin to avoid there needing to be a circular dependency between SuperSearch and UnrealEd. #jira UE-29749 #codeview Ben.Marsh Change 2950786 on 2016/04/20 by Nick.Darnell Back out changelist 2950769 - Going to re-enable super search - about to move the settings into a plugin to prevent the circular reference. #jira UE-29749 Change 2950769 on 2016/04/20 by Ben.Marsh Comment out editor integration for super search to fix problems with the circular dependencies breaking hot reload and compiling QAGame in binary release. Change 2950724 on 2016/04/20 by Lina.Halper Support for negative scaling for mirroring - Merging CL 2950718 using //UE4/Dev-Framework_to_//UE4/Release-4.12 #jira: UE-27453 Change 2950293 on 2016/04/20 by andrew.porter Correcting sequencer test content #jira UE-29618 Change 2950283 on 2016/04/20 by Marc.Audy Don't route FlushPressedKeys on PIE shut down #jira UE-28734 Change 2950071 on 2016/04/20 by mason.seay Adjusted translation retargeting on head bone of UE4_Mannequin -Needed for anim bp test. Tested animations and did not see any fallout from change. If there is, it can be reverted. #jira UE-29618 Change 2950049 on 2016/04/20 by Mark.Satterthwaite Undo CL #2949690 and instead on Mac where we want to be able to capture videos of gameplay we just insert an intermediate texture as the back-buffer and use a manual blit to the drawable prior to present. This also changes the code to enforce that the back-buffer render-target should never be nil as the code & Metal API itself assumes that this situation cannot occur but it would appear from continued crashes inside PrepareToDraw that it actually can in the field. This will address another potential cause of UE-29006. #jira UE-29006 #jira UE-29140 Change 2949977 on 2016/04/20 by Max.Chen Sequencer: Add FieldOfView to default tracks for CameraActor. Add FieldOfView to exclusion list for CineCameraActor. #jira UE-29660 Change 2949836 on 2016/04/20 by Gareth.Martin Fix landscape components flickering when perfectly flat (bounds size is 0) - This often happens for newly created landscapes #jira UE-29262 Change 2949768 on 2016/04/20 by Thomas.Sarkanen Moving parent & grouped child actors now does not result in deltas being applied twice Grouping and attachment now interact correctly. Also fixed up according to coding standard. Discovered and proposed by David.Bliss2 (Rocksteady). #jira UE-29233 - Delta applied twice when moving parent and grouped child actors From UDN: https://udn.unrealengine.com/questions/286537/moving-parent-grouped-child-actors-results-in-delt.html Change 2949759 on 2016/04/20 by Thomas.Sarkanen Fix split pins not working as anim graph node inputs Limit surface area of this change by only modifying the anim BP compiler. A better version might be to move the call in the general blueprint compiler but it is riskier. #jira UE-12326 - Splitting a struct in an Anim Blueprint does not work Change 2949739 on 2016/04/20 by Thomas.Sarkanen Fix layered bone per blend accessed from a struct in the fast-path Made sure that the fallback event is always built (logic was still split so if PatchFunctionNamesAndCopyRecordsInto aborted because of some unhandled case if might not have an event to call). Covered struct source->array dest case. Indicator icon is now built from the copy record itself, ensuring it is accurate to actual runtime data. #jira UE-29389 - Fast-Path: Layered Blend per Bone node failing to grab updated values from struct. Change 2949715 on 2016/04/20 by Max.Chen Sequencer: Fix mouse wheel zoom so it defaults to zooming in on the current time/frame. This is a toggleable option in the Editor Preferences (Zoom Position = Current Time or Mouse Position) #jira UE-29661 Change 2949712 on 2016/04/20 by Taizyd.Korambayil #jira UE-28544 adjusted Player crosshair to be centered Change 2949710 on 2016/04/20 by Alexis.Matte #jira UE-29477 Pixel Inspector, UI get polish and adding "scene color" inspect property Change 2949706 on 2016/04/20 by Alexis.Matte #jira UE-29475 #jira UE-29476 Favorite allow all UProperty to be favorite (the FStruct is now supported) Favorite scrollig is auto adjust to avoid scrolling when adding/removing a favorite Change 2949691 on 2016/04/20 by Mark.Satterthwaite Fix typo from previous commit - retain not release... #jira UE-29140 Change 2949690 on 2016/04/20 by Mark.Satterthwaite Double-buffer the Metal viewport's back-buffer so that we can access the contents of the back-buffer after EndDrawingViewport is called until BeginDrawingViewport is called again on this viewport, this makes it possible to capture movies on Metal. #jira UE-29140 Change 2949616 on 2016/04/20 by Marc.Audy 'Merge' latest version of Vulkan from Dev-Rendering to Release-4.12 #jira UE-00000 Change 2949572 on 2016/04/20 by Jamie.Dale Fixed crash undoing a text property changed caused by a null entry in the array #jira UE-20223 Change 2949562 on 2016/04/20 by Alexis.Matte #jira UE-29447 Fix the batch fbx import "not show options" dialog where some option can be different. Change 2949560 on 2016/04/20 by Alexis.Matte #jira UE-28898 Avoid importing multiple static mesh in the same package Change 2949547 on 2016/04/20 by Mark.Satterthwaite You must use STENCIL_COMPONENT_SWIZZLE to access the stencil component of a texture - not all APIs can swizzle it into .g automatically. #jira UE-29672 Change 2949443 on 2016/04/20 by Allan.Bentham Disable sRGB textures when ES31 feature level is set. Only use vk's sRGB formats when feature level > ES3_1 #jira UE-29623 Change 2949428 on 2016/04/20 by Allan.Bentham Back out changelist 2949405 #jira UE-29623 Change 2949405 on 2016/04/20 by Allan.Bentham Disable sRGB textures when ES31 feature level is set. Only use vk's sRGB formats when feature level > ES3_1 #jira UE-29623 Merging using Dev-Mobile_->_Release-4.12 Change 2949391 on 2016/04/20 by Richard.TalbotWatkin PIE with multiple windows now starts focused on Client 1, or the server if not a dedicated server. Added a new virtual call UEditorEngine::OnLoginPIEAllComplete, called when all clients have been successfully logged in when starting PIE. The default behavior is to set focus to the first client. #jira UE-26037 - Cumbersome workflow when running PIE with 2 clients #jira UE-26905 - First client window does not gain focus or mouse control when launching two clients Change 2949389 on 2016/04/20 by Richard.TalbotWatkin Fixed regression which was saving the viewport config settings incorrectly. Viewports are keyed by their layout on the same key as the config key, hence we do not need to prepend the SpecificLayoutString when saving out the config data when iterating through a layout's viewports. #jira UE-29058 - Viewport settings are not saved after shutting down editor Change 2949388 on 2016/04/20 by Richard.TalbotWatkin Change auto-reimport settings so that "Detect Changes on Startup" defaults to true. Also removed the warning of potential unwanted behaviour when working in conjunction with source control; this is no longer necessary now that there is a prompt prior to auto-reimport. #jira UE-29257 - Auto import does not import assets Change 2949203 on 2016/04/19 by Max.Chen Sequencer: Fix spawnables not getting default tracks. #jira UE-29644 Change 2949202 on 2016/04/19 by Max.Chen Sequencer: Fix particles not firing on loop. #jira UE-27881 Change 2949201 on 2016/04/19 by Max.Chen Sequencer: Fix multiple labels support #jira UE-26812 Change 2949200 on 2016/04/19 by Max.Chen Sequencer: Expose settings sequencer settings in the Editor Preferences page. Note, UMG and Niagara have separate sequencer settings pages. #jira UE-29516 Change 2949197 on 2016/04/19 by Max.Chen Sequencer: Fix unwind rotation when keying rotation so that rotations are always set to the nearest. #jira UE-22228 Change 2949196 on 2016/04/19 by Max.Chen Sequencer: Disable selection range drawing if it's empty so that playback range dragging can take precedence when they overlap. This fixes a bug where you can't drag the starting playback range when sequencer starts up. #jira UE-29657 Change 2949195 on 2016/04/19 by Max.Chen MovieSceneCapture: Default image compression quality to 100 (rather than 75). #jira UE-29657 Change 2949194 on 2016/04/19 by Max.Chen Sequencer: Matinee to Level Sequence fix for mapping properties correctly. This fixes focus distance not getting set properly on the conversion. #jira UETOOL-467 Change 2949193 on 2016/04/19 by Max.Chen Sequencer - Fix issues with level visibility. + Don't mark sub-levels as dirty when the track evaluates. + Fix an issue where sequencer gets into a refresh loop because drawing thumbnails causes levels to be added which was rebuilding the tree, which was redrawing thumbnails. + Null check for when an objects world is null but the track is still evaluating. + Remove UnrealEd references. #jira UE-25668 Change 2948990 on 2016/04/19 by Aaron.McLeran #jira UE-29654 FadeIn invalidates Audio Components in 4.11 Change 2948890 on 2016/04/19 by Jamie.Dale Downgraded an assert in SPathView::LoadSettings to avoid a common crash when a saved path no longer exists #jira UE-28858 Change 2948860 on 2016/04/19 by Mike.Beach Mirroring CL 2940334 (from Dev-Blueprints): Bettering CreateEvent node errors, so users are able to recover from API changes (not clearing the function name field, calling out the function by name in the error, etc.) #jira UE-28911 Change 2948857 on 2016/04/19 by Jamie.Dale Added an Asset Localization context menu to the Content Browser This allows you to create, edit, and view localized assets from any source asset, as well as edit and view source assets from any localized asset. #jira UE-29493 Change 2948854 on 2016/04/19 by Jamie.Dale UAT now stages all project translation targets #jira UE-20248 Change 2948831 on 2016/04/19 by Mike.Beach Mirroring CL 2945994 (from Dev-Blueprints): Pasting EdGraphNodes will no longer query sub-nodes for compatibility if the root cannot be pasted (for things like collapsed graphs, and anim state-machine nodes). #jira UE-29035 Change 2948825 on 2016/04/19 by Jamie.Dale Fixed shadow warning #jira UE-29212 Change 2948812 on 2016/04/19 by Marc.Audy Gracefully handle failure to load configurable engine classes #jira UE-26527 Change 2948791 on 2016/04/19 by Jamie.Dale Fixed regression in SEditableText bIsCaretMovedWhenGainFocus when using auto-complete Fixed regression in FSlateEditableTextLayout::SetText that caused it to call OnTextChanged when nothing had changed #jira UE-29494 #jira UE-28886 Change 2948761 on 2016/04/19 by Jamie.Dale Sub-fonts are now only used when they contain the character to be rendered #jira UE-29212 Change 2948718 on 2016/04/19 by Jamie.Dale Fixed an issue where FEnginePackageLocalizationCache could be initialized before CoreUObject was ready This is now done lazily, either when the first CDO tries to load an asset (which is after CoreUObject is ready), or after the first call to ProcessNewlyLoadedUObjects (if no CDO loads an asset). #jira UE-29649 Change 2948717 on 2016/04/19 by Jamie.Dale Removed the AssetRegistry's dependency on MessageLog It was only there to add a category that was only ever used by the AssetTools module. #jira UE-29649 Change 2948683 on 2016/04/19 by Phillip.Kavan [UE-18419] Fix GetClassDefaults nodes to update properly in response to structural BP class changes. change summary: - modified UK2Node_GetClassDefaults::CreateOutputPins() to bind/unbind delegate handlers for the OnChanged() & OnCompile() events for BP class types. #jira UE-18419 Change 2948681 on 2016/04/19 by Phillip.Kavan [UE-17794] The "Delete Unused Variable" feature now considers the GetClassDefaults node as well. change summary: - added external linkage to UK2Node_GetClassDefaults::FindClassPin(). - added an include for the K2Node_GetClassDefaults header file to BlueprintGraphDefinitions.h. - added UK2Node_GetClassDefaults::GetInputClass() as a public API w/ external linkage; moved default 'nullptr' param logic into this impl. - modified FBlueprintEditorUtils::IsVariableUsed() to add an extra check for a GetClassDefaults node with a visible output pin for the variable that's also connected. - modified UK2Node_GetClassDefaults::GetInputClass() to return the generated skeleton class for Blueprint class types. #jira UE-17794 Change 2948638 on 2016/04/19 by Lee.Clark PS4 - Fix SDK compile warnings #jira UE-29647 Change 2948401 on 2016/04/19 by Taizyd.Korambayil #jira UE-29250 Revuilt Lighting for Landscapes Map Change 2948398 on 2016/04/19 by Mark.Satterthwaite Add a Mac Metal ES2 shader platform to allow the various ES2 emulation modes to work in the Editor. Fix various issues with the shader code to ensure that Metal can run with ES2 shader code at least in my limited test cases in QAGame. #jira UE-29170 Change 2948366 on 2016/04/19 by Taizyd.Korambayil #jira UE-29109 Replaced Box Mesh with BSP Floor Change 2948360 on 2016/04/19 by Maciej.Mroz merged from Dev-Blueprints 2947488 #jira UE-29115 Nativized BulletTrain - cannot shoot targets in intro tutorial #jira UE-28965 Packaging Project with Nativize Blueprint Assets Prevents Overlap Events from Firing #jira UE-29559 - fixed private enum access - fixed private bitfield access - removed forced PostLoad - add BodyInstance.FixupData call to fix ResponseChannels - ignored RelativeLocation and RelativeRotation in converted root component - fixed AttachToComponent (UE-29559) Change 2948358 on 2016/04/19 by Maciej.Mroz merged from Dev-Blueprints 2947953 #jira UE-29605 Wrong bullet trails in nativized ShowUp Fixed USimpleConstructionScript::GetSceneRootComponentTemplate. Change 2948357 on 2016/04/19 by Maciej.Mroz merged from Dev-Blueprints 2947984 #jira UE-29374 Crash when hovering over Create Widget node in blueprints Safe UK2Node_ConstructObjectFromClass::GetPinHoverText. Change 2948353 on 2016/04/19 by Maciej.Mroz merged from Dev-Blueprints 2948095 #jira UE-29246 ExpandEnumAsExecs + UMETA(Hidden) Crashes Blueprint Compile "Hidden" and "Spacer" elementa from an enum does not generated exec pins for "ExpandEnumAsExecs" Change 2948332 on 2016/04/19 by Benn.Gallagher Fixed old pins being left as non-transactional #jira UE-13801 Change 2948203 on 2016/04/19 by Lee.Clark PS4 - Use SDK 3.508.031 #jira UEPLAT-1225 Change 2948168 on 2016/04/19 by mason.seay Updating test content: -Added Husk AI to level to test placed AI -Updated Spawn Husk BP to destroy itself to prevent spawn spamming #jira UE-29618 Change 2948153 on 2016/04/19 by Benn.Gallagher Missed mesh update for Owen IK fix. #jira UE-22540 Change 2948130 on 2016/04/19 by Benn.Gallagher Fixed old Owen punch IK setup so it no longer jitters when placing the hands on the surface. #jira UE-22540 Change 2948117 on 2016/04/19 by Taizyd.Korambayil #jira UE-28477 Resaved Template Map's to fix Warning Toast on Templates Change 2948063 on 2016/04/19 by Lina.Halper - Anim composite notify change for better - Fixed all nested anim notify - Merging CL 2944396 using //UE4/Dev-Framework_to_//UE4/Release-4.12 #jira : UE-29101 Change 2948060 on 2016/04/19 by Lina.Halper Fix for composite section metadata saving for montage Merging CL 2944397 using //UE4/Dev-Framework_to_//UE4/Release-4.12 #jira : UE-29228 Change 2948029 on 2016/04/19 by Ben.Marsh EC: Prevent automatically pushing CIS builds to the launcher; the changelist might be run more than once. Change 2947986 on 2016/04/19 by Benn.Gallagher Fixed BP callable functions that affect skeletal mesh component transforms not working when simulating physics. #jira UE-27783 Change 2947976 on 2016/04/19 by Mark.Satterthwaite Duplicate CL #2943702 from 4.11.2: Change the way Metal validates the render-target state so that in FMetalContext::PrepareToDraw it can issue a last-ditch attempt to restore the render-targets. This won't fix the cause of the Mac Metal crashes but it might mitigate some of them and provide more information about why they are occurring. #jira UE-29006 Change 2947975 on 2016/04/19 by Mark.Satterthwaite Duplicate CL #2945061 from UE4-UT: Address UT issue UE-29150 directly in the UT branch: users without a sufficiently up-to-date Xcode won't have the 'metal' offline shader compiler so will have to use the slower online compiled text shader format. #jira UE-29150 Change 2947679 on 2016/04/19 by Jack.Porter Fixed 4.12 branch not compiling with the 1.0.8 Vulkan SDK #jira UE-29601 Change 2947657 on 2016/04/18 by Jack.Porter Update protostar reflection capture contents #jira UE-29600 Change 2947301 on 2016/04/18 by Ben.Marsh EC: Fix trigger ready emails failing to send due to recipient list being a space-separated list of addresses rather than an array reference. Change 2947263 on 2016/04/18 by Marc.Audy Merging CL# 2945921 //UE4/Release-4.11 to //UE4/Release-4.12 Ensure that all OwnedComponents in an Actor are duplicated for PIE even if not referenced by a property, unless that component is explicitly transient #jira UE-29209 Change 2946984 on 2016/04/18 by Ben.Marsh GUBP: Allow Ocean cooks in the release branch (fixes build startup failures) Change 2946870 on 2016/04/18 by Ben.Marsh Remaking CL 2946810 to fix compile error in ShooterGame editor. Change 2946859 on 2016/04/18 by Ben.Marsh GUBP: Don't exclude Ocean from builds in the release branch. Change 2946847 on 2016/04/18 by Ben.Marsh GUBP: Fix warning on every build step due to OrionGame_Win32_Mono no longer existing. Change 2946771 on 2016/04/18 by Ben.Marsh EC: Correct initial agent type for release branches. Causing full branch syncs on all agents. Change 2946641 on 2016/04/18 by Ben.Marsh EC: Remove rogue comma causing branch definition parsing to fail. Change 2946592 on 2016/04/18 by Ben.Marsh EC: Adding branch definition for 4.12 release #lockdown Nick.Penwarden [CL 2962354 by Ben Marsh in Main branch]
2016-05-01 17:37:41 -04:00
{
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 4044339) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3947021 by Max.Chen Sequencer: Don't preserve root component when copying object properties. A spawnable empty actor, has a root component that is generated by the empty actor factory. If the object template's root component is preserved when copying from the spawnable empty actor, the root component will not be copied over. Therefore, we need to NOT preserve the root component when copying object properties. #jira UE-55825 Change 3947366 by Max.Preussner WmfMedia: Better log output Change 3947367 by Max.Preussner MfMedia: Better detection of compressed format properties on Windows Change 3949102 by Max.Chen Sequencer: Remove SequenceActorTag when converting to possessable. #jira UE-56206 Change 3949207 by andrew.porter EngineTest: Set the screenshot nodes resolution to 1280x720 Change 3949404 by Max.Chen Sequencer: More informative tooltip for "Rerun Construction Scripts" option. It now says "Rerun construction scripts every frame on actors that have 'Rerun Construction Script in Sequencer' enabled in their class settings". Change 3950067 by Matt.Hoffman Renamed UAutomatedLevelSequenceCapture's StartFrame and EndFrame to CustomStartFrame/CustomEndFrame to reflect that it is user-overriden. This will also resolve upgrade issues due to the variable datatype changing. #jira UE-56189 Change 3950193 by JohnHenry.Carawon Updating my latest MovieRendering test content. Change 3950757 by JohnHenry.Carawon More updates to MovieRendering test content Change 3952059 by Max.Chen Resave LevelVisibility_SubLevels to fix data loss conversion warning of OpacityMaskConstant #jira UE-56086 Change 3952283 by Max.Chen Sequencer: Disable dropping level sequence assets as spawnables. #jira UE-56120 Change 3952422 by Max.Chen Sequence Recorder: Add button to record from the current player. #jira UE-55942 Change 3952987 by JohnHenry.Carawon MovieRendering Test Content - Fixing camera bindings and changing the override binding actor Change 3953823 by Mike.Zyracki Fix for Bad FBX Import Tangents not scaled by frame rate. After looking at this again it seems that a set of MovieScene:: overiddes for the channel traits wasn't set correctly, so use the ADL idiom to use MovieScene, which can then call Optimize in the correct namespace. With this we can now correctly use the passed in tolerance. There was also a redundant set of Optimize calls so that it could happen twice so removed them, and needed an extra check in the float channel Optimize. Also since we need to set auto tangents no matter if we optimize we don't set that parameter(though leave it since it's used by context menu key reduction). Finally fixed speed issue with trajectories caused by calculating way too many substeps. Reverted back to a time based step size for consistency. #jira UE-56193 Change 3954317 by Matt.Hoffman Adding a key to the last frame of a section no longer causes a crash. Keys can already be moved to be on the last frame of a section so now you can just add a key there directly. #jira UE-56255 Change 3954326 by Matt.Hoffman Dilating a section that is only infinite on one side no longer causes a crash. #jira UE-56260 Change 3954486 by Max.Chen PR #4580: Exposes IsReversed() from UMovieSceneSequencePlayer (Contributed by alanedwardes) Change 3955238 by Max.Preussner Messaging: Enabled delayed message routing https://github.com/EpicGames/UnrealEngine/pull/4574 #jira UE-56247 Change 3955901 by Max.Preussner MediaFrameworkTest: Added developer test for overriding desired media player plug-in at runtime. Change 3955922 by Andrew.Porter QAGame: Updating movie rendering content in dev folder Change 3956004 by andrew.porter QAGame: Adding MPC track to movie rendering test content Change 3956510 by Max.Chen Sequencer: Fix fbx camera import of static properties so that they are imported before default tracks are created. Otherwise, the default tracks inherit the default properties of the camera, rather than the values from the fbx. #jira UE-56311 Change 3957613 by Max.Preussner MediaUtils: Added code documentation to media player facade Change 3958005 by Max.Preussner MediaUtils: Added method to get number of sinks Change 3958934 by Max.Chen Sequencer: Fix keys getting added and sequence getting erroneously re-evaluated when auto key is off. Only apply defaults if there are no keys. Only modify the movie scene section before creating keys or setting defaults. #jira UE-55903 Change 3959687 by Andrew.Rodham Sequencer: Fixed visibility track external values being inverted #jira UE-56324 Change 3960507 by Max.Preussner Core: Fixed incorrect rounding in FMath::DivideAndRoundNearest Change 3962047 by JohnHenry.Carawon MovieRendering Test Content Changes: - Add Lightmass Importance Volumes to sublevel to fix warnings - Rebuilt Lighting - Add a third sequence for Gamut testing - Resaved the sound master.uasset to fix warning Change 3962211 by Mike.Zyracki Add Frame Numbers to selected animation sections. Added MapTimeToAnimation to MovieSceneSkeletalAnimation so that we could get it from the Skeleton Animation track Editor. Since the thickness of the frame line can change based upon frame rate and zoom we need to calculate it similarly to how the time slider controller does it. Those calculations were private so we had to expose FScrubRangeToScreen and GetScubberPixelRange from the TimeSliderController. Also needed to know if the section itself was selected so added a bIsSelected flag to the section Painter. Also fixed a bug where you couldn't add a section if other sections existed at different times in MovieScenePropertyTrack and could crash due to the check(). #jira UESEQ-395 Change 3962497 by Max.Preussner Core: Added new string formatting argument to FTimespan Change 3963662 by Max.Chen CineCamera: Flip VistaVision width and height. Change 3963731 by Max.Preussner MediaCompositing: Implemented sequence recording support for media track Change 3964195 by Andrew.Rodham Sequencer: Set inverted property correctly for newly created visibility track sections - Also clamp evaluation for key editors to the bounds of the section so we're not displaying values outside of the section bounds when the cursor is not on the bounds #jira UE-56324 #coderevew Max.Chen Change 3964196 by Andrew.Rodham Sequencer: Fixed crash when attempting to render sections that resulted in a negative intersection with the view range Change 3964275 by Andrew.Rodham Sequencer: Fixed MovieScene::ClampToDiscreteRange for infinite range bounds Change 3964364 by Andrew.Rodham Curve Editor: Reduce minimum vertical view range when zooming to fit Change 3965091 by Max.Chen Sequencer Recorder: Refresh next sequence if empty when starting a recording, otherwise, use existing name. #jira UE-56469 Change 3965148 by Max.Chen Sequence Recorder: Move Record to Possessable to "Actor Recording" group Change 3965162 by Max.Chen Sequence Recorder: Always break out of immersive mode when done recording, even when stopping recording during countdown. #jira UE-56407 Change 3965214 by Max.Preussner QAGame: Enabled ImagePlate plug-in Change 3965574 by Max.Preussner SimpleComposure: Reorganized & upgraded content to work with new Media Track #jira UE-56488 Change 3965651 by Max.Preussner MediaCompositing: Ignoring seek-on-open if media not seekable Change 3966075 by Christina.TempelaarL Sequencer: Added Final Cut Pro 7 XML Export functionality #jira UESEQ-358 Change 3966087 by Matt.Hoffman Adding a single key to the Particle Toggle track now makes an infinite range section that is displayed in the UI. #jira UE-56295 Change 3966547 by Andrew.Rodham Sequencer: Fixed rounding errors when drawing the section background on boolean sections - Logic was using time in sectonds which caused rounding errors on evaluation and flickering red/green stripes when dragging keys around #jira UE-56324 Change 3966563 by Andrew.Rodham Curve Editor: Key editor interface improvements - SKeyEditInterface has a few problems - it does not update in real time when editing properties, and does not support multi-edit which makes it unsuitable for use with the curve editor - We now take a different approach for editing keys by gathering a set of proxy UObjects for each key that is currently selected. These objects are added as top level objects to the details panel which means they support multi edit as you'd expect from any other details panel in the editor. - Proxy objects are updated every tick for the curve editor if they implement the ICurveEditorKeyProxy interface, which allows them to refresh their current value. - Ideally, the same mechanisms would be used in the main sequence interface, and we would be generating the proxy classes at runtime based on the key value type, but that work remains a separate task from this initial offering. #jira UE-56165 Change 3966564 by Andrew.Rodham Curve Editor: Expand to frame when adding or moving keys in the curve editor Change 3967051 by andrew.porter MediaFrameworkTest: Set the CameraPlayer_Video texture to auto clear Change 3967141 by Andrew.Rodham Sequencer: Keep track of spawned objects that have been modified and only re-save such object's default spawnable state on destruction - Now that we're taking this approach, I've remove serveral redundant bits of functionality in the spawn register such as making some spawnables read-only, and the PreSave binding for Sequencer. - We now hook into all object pre-saves to make sure we handle the case where the sequences are saved through the content browser or elsewhere. #jira UE-47686 Change 3967170 by Andrew.Rodham Sequencer: Added the ability to possess anim instances as object bindings - This allows full and direct animation of properties on UAnimInstance, and animation blueprints - Object Bindings are made by first possessing a skeletal mesh component, then choosing the + Add button where its anim instance will be listed - Added a new function to UMovieSceneSequence to gather previously cached objects that should now be invalidated. Anim instances will be re-resolved if a new UAnimInstance is assigned to USkeletalMeshComponent::GetAnimInstance. - ObjectBindingIDs for anim instances are just represented by an entry in a set of GUIDs. We only ever resolve such bindings through USkeletalMeshComponent::GetAnimInstance. - Only currently supported on LevelSequences #jira UE-56132 Change 3967195 by Max.Preussner Core: Updated TRangeSet to use TCallTraits Change 3967345 by JohnHenry.Carawon Test Content Changes - first iteration of spacing out the examples in the shots. Change 3967572 by Max.Chen Sequencer: Fix setting PreviousPlayEvalPosition until after we've tested whether it's set. #jira UE-56518 Change 3967750 by Max.Chen Audio: Set duration based on number of input channels, rather than number of channels to serialize. This fixes an issue where audio split into 2 channels is set to a duration that's twice as long. #jira UE-56430 Change 3967836 by Max.Chen Sequencer: Allow for animating array elements within ustruct properties #jira UE-55887 Change 3968506 by Matt.Hoffman Fixed ambiguous conversions for seconds and frames being overriden by ambiguous conversion to Timecode (in frames). Change 3968748 by Max.Chen Sequencer: Make the event properties submenu widget larger. #jira UE-55557 Change 3968862 by Max.Chen Sequencer: Recursive expansion when shift is down #jira UE-52139 #pr 4194 Change 3968863 by Max.Chen Sequencer: Bind rename command to selected track so that F2 shortcut start renaming #jira UE-52139 #pr 4194 Change 3968872 by Max.Chen Sequencer: Rekey the selected key at the current time. #jira UESEQ-396 Change 3968938 by Max.Chen Cine Camera: Add option to toggle the behavior of locking the rail mount to the orientation of the spline. By default, the option is off, no change in behavior. #jira UE-55815 Change 3968958 by Andrew.Rodham Sequencer: Consider vertical position when hittesting keys #jira UE-56256 Change 3969643 by Max.Preussner Core: Rounding timespans created from double values towards nearest ticks Change 3969646 by Max.Preussner MediaUtils: Implemented timeout mechanism for block-on-fetch feature Change 3969776 by Mike.Zyracki Added Skip Anim Notifiers Toggle per what was in Matinee. Investigated the Enable Root Motion toggle as also discussed but it's implementation is directly contained by the animation asset and unlike animation notifies there seems to be no exposure to interactively disable it during a playback tick. Note if we are generating thumbnails we still automtically disable notifies in the editor to avoid annoying noise playback. Note that if Enable Root Motion/Root locked is specified in the animation asset it does correctly effect the Sequencer. #jira UESEQ-399 Change 3969835 by Matt.Hoffman Playback Range and Selection Range use unified logic for adding themselves as potential snap locations which properly handles inclusive/exclusive bounds. This resolves an issue where having an unset selection range caused a potential snap location to be added on frame 0 and 1 (internal resolution) which caused a misalignment when placing objects near frame 0. This also removes the one frame offset on setting Selection Range to bring behavior inline with other ranges. #jira UE-55420 Change 3969885 by Max.Preussner MediaAssets: Don't register media player CDO with media ticker Change 3971129 by Andrew.Rodham Sequencer: Fixed UMovieSceneSequencePlayer::GotToEndAndStop() not taking into account for start time This is a remnant from when the times were always specified in 0-duration space, rather than actual sequence times. Change 3972056 by JohnHenry.Carawon More updates to Test Content. I continued spacing out the examples in the sequence so that they have a consistent number of frames between each example and during the start/end of the example. Also removed the Marcie sublevel. Change 3972066 by Andrew.Porter MediaFrameworkTest: Setting Marcie folder to be never cooked in package settings Change 3972675 by Matt.Hoffman Splitting Subsequence Sections no longer sets an incorrect playback range on the subsequence when the subsequence has a different internal resolution than the owning sequence. #jira UE-55453 Change 3973376 by Max.Preussner ImgMedia: Zero is the only valid video track for image sequences Change 3973489 by Max.Preussner Launch: Build rules cleanup pass - don't use Media, MediaUtils on server apps - don't link against Media (include-only dependency) - don't include from MediaAssets (dynamic load only) Change 3973760 by Max.Preussner MediaUtils: Moved AppMediaTimeSource implementation into its own file; added logging Change 3973765 by Max.Preussner ImgMedia: Disallowing seek beyond media length Change 3973855 by Max.Preussner MediaFrameworkTest: Updated developer test content Change 3973858 by Max.Preussner MediaCompositing: Blocking on media player time instead of media sample time (the former may not be hit in the current frame) Change 3974988 by Max.Chen Sequencer: Fix trim left so that it also sets the start offset for audio and skeletal animation sections. #jira UE-57015 Change 3976101 by Matt.Hoffman Sequencer will now focus the scroll view on newly created items. #jira UE-56492 Change 3976203 by Max.Chen Property Editor: Add DetailsViewArgs for ColumnWidth. Defaults to 0.65f, no change in existing behavior. Change 3976205 by Max.Chen Sequencer: Set better column widths for sequencer. #jira UE-55557 Change 3976206 by Max.Chen Sequencer: Added menu category for import/export Change 3976265 by Matt.Hoffman Tracks within Object Binding Nodes will now sort using the old behavior so that components are added above other track types. #jira UE-56473 Change 3976901 by Max.Chen Sequencer: Add event names to event track section #jira UESEQ-353 Change 3977878 by Max.Preussner Media: Moved media framework ticking stats into Media module Change 3977982 by Max.Chen Sequencer: Add Edit->Reset section length to duration of source (ie. audio, skeletal animation, shot length) Added MovieSceneSection::GetDefaultDuration and MovieScene::HasDefaultDuration #jira UESEQ-392 Change 3977994 by Max.Preussner Media: Fetching and rendering media samples before viewports are rendered (to ensure frame sync for in-level media playback) #jira UE-53975 Change 3978188 by Matt.Hoffman Easing Curves are now clipped by the sequence's PlayRange when testing against an infinite section. This causes blended sequences to finish their blend when the section starts/ends instead of always using 25% of the total section length to determine default blend range. #jira UE-56362 Change 3978676 by Max.Preussner MediaCompositing: Fixed first frame of rendered out media track missing #jira UE-53975 Change 3978684 by Max.Preussner MediaCompositing: Enabled media track frame sync feature #jira UE-53975 Change 3980026 by Matt.Hoffman Keys can be selected on folded out sections (such as an audio track expanded to show volume and pitch) again. #jira UE-57169 Change 3981614 by Max.Preussner MediaUtils: Added missing subtitle sample queue flush Change 3982311 by Max.Preussner MediaCompositing: Added safeguard for zero length media sources Change 3982389 by andrew.porter QAGame: Adding media track test content into FrameAccuracySubscene Change 3983661 by Max.Chen Sequencer: Add level name to spawn a spawnable into. Add sublevel menu option to set the level #jira UESEQ-390 Change 3983712 by Andrew.Rodham Sequencer: Purge legacy blueprint spawnables from LevelSequence packages #tests Ran a preflight for cooking fortnite, ocean and Orion. Only orion shows up this edge case, and will require a re-save of the EndCines level #jira UE-39173 Change 3983787 by Max.Preussner MediaCompositing: Moved compile time switch for block-on-fetch into media player facade Change 3983812 by Andrew.Rodham Sequencer: Exposed default level sequence instance data to blueprints Change 3984373 by Max.Preussner Media: Added API for quering whether player plug-in supports block on fetch Block on fetch allows Sequencer and other systems to block the game thread until a desired video frame has been decoded. Change 3984670 by JohnHenry.Carawon Movie Rendering Test Content progress. Saving the state of the content. There is a bug where things got replaced with particle emitters and I think it was because I tried to copy paste an animation track into a separate skeletal mesh track. Change 3985097 by Max.Chen Sequencer: Rename Reset to AutoSize Change GetAutoSizeDuration to return TOptional<FFrameTime> #jira UESEQ-392 Change 3986043 by Max.Chen Sequencer: Fix crash when attach/path duration is less than 0. #jira UE-57310 Change 3986373 by Max.Chen Sequencer: Add support for deleting tracks and channels which equates to setting the channel mask. #jira UE-52951 Change 3986375 by Max.Chen Sequencer: Add Create Pose Asset to skeletal animation section. This allows animators to blend animations in sequencer and create new pose assets from them. #jira UESEQ-408 Change 3986796 by Andrew.Rodham Sequencer: Fixed stale object references remaining in ULevelSequence::BindingReferences when using convert to spawnable/possessable - We used to convert objects by creating a new binding, then re-assigning its GUID, which meant we didn't have to do any further object fixup, but the code to achieve this was confusing and led to a vulnerability where object references would not be cleaned up correctly due to the newly created possessable essentially being a temporary object that's immediately thrown away. - To address this, there is now a function for porting all the contents of one object binding to another, and handles the correct fixup required for parent/child object bindings for both spawnables and possessables. - Also added codepath to remove any stale object references from the level sequence reference map on PostLoad (this piggy-backs off the PurgeLegacyBlueprints object version which is close close enough to this change to be identical) #tests Verified that existing sequences with stale references get cleaned up on load. Verified that repreatedly converting from spawnable<->possessable cleans up references correctly. Change 3987807 by JohnHenry.Carawon Updates to the MovieRendering Test Content. - Fixed the spawnable actors that were overwritten - Shortend the Lighting example and combined the Intensity and Color tracks - Organized the Sequence and WorldOutliner to group the examples. Change 3988151 by Max.Chen Cine Camera: Enable keying the "Enable Look at Tracking" toggle. Change 3988880 by Max.Chen Sequencer: Support enter to add asset for all sequencer track editors that have asset pickers. #jira UE-57367 Change 3988953 by Max.Chen Sequencer: Make the track color picker focusable so that it will close when you click away or lose focus. #jira UE-57210 Change 3988962 by Max.Chen MovieSceneCapture: Fix EDL export so that it takes into account movie scene frame resolution and desired frame rate. #jira UE-57365 Change 3988964 by Max.Chen Movie Scene Capture: Clarified tooltip for bRelativeFrameNumbers. If you specify custom start/end frames for the recording, they will be relative to the playback range. #jira UE-57308 Change 3989442 by Max.Chen Fix CIS Change 3991548 by Matt.Hoffman Dragging the time slider no longer causes the time slider to ignore snap-to-interval with "Snap to Keys While Scrubbing" when no keys are in range. #jira UE-57417 Change 3991598 by Matt.Hoffman Snap to Key while scrubbing now mirrors the behavior of "jump to next key". When there are no tracks selected it snaps to all keys and when there are tracks selected it snaps to only keys from that track. This also resolves an issue where deleting an object did not remove it from the Sequencer's selection. Undoing a delete already doesn't seem to restore your selection, so removing it from your selection shouldn't change that behavior. #jira UE-57417 Change 3991603 by Max.Chen Sequencer: Disable EditAnywhere for some section properties #jira UE-53530 Change 3992240 by Max.Preussner MediaAssets: Implemented dynamic audio sample rate adjustment based on audio/media clock drift #jira FORT-70638 Change 3992911 by Andrew.Rodham Sequencer: Fixed saving spawnable state using the wrong spawned object - We now track the object binding ID so that we can apply the spawned object to the correct spawnable when the asset is saved #jira UE-57353 Change 3992914 by Max.Chen Movie Scene Capture: Fix compression quality not being set. The compression interface wasn't being found through query interface, so no compression was being set. Reworked finding it through the output pins. Tested running various compression values. #jira-UE-55488 Change 3992919 by Max.Chen Sequencer: Convert to possessable now uses object template instead of copying properties (ie. see LevelSequenceActorSpawner). This fixes MIDs getting lost when converting to spawnable and back to possessable. #jira UE-52400 Change 3993184 by Max.Chen Sequencer: Don't show +Transform/+Path/+Attach track if the actor has the "Mobility" property hidden. Set the Landscape, LandscapeProxy and InstancedFoliage "Mobility" property to be hidden since it is static is not supposed to be dynamically movable. #jira UE-56347 Change 3993238 by Max.Chen Sequencer: Test for hidden mobility in creating keys as well. Refactored to HasHiddenMobility() #jira UE-56347 Change 3993978 by Max.Chen Cine Camera: Enable keying the "Enable Look at Tracking" toggle. #jira UE-57489 Change 3994039 by Max.Chen Landscape: Add Mobility to hidecategories on landscape component #jira UE-56347 Change 3994626 by JohnHenry.Carawon Updated Movie Rendering Test Content. - Fixed the overridden spawnables to their proper object types. Change 3994653 by Christina.TempelaarL Sequencer: Added Final Cut Pro 7 XML Import functionality, improved Export functionality #jira UESEQ-358 Change 3995609 by Max.Chen UMG: Add support for 2d transform mask (translation, rotation, scale, shear) #jira UE-52951 Change 3995778 by JohnHenry.Carawon Movie Rendering Test Content Updates - Adjusted Lights example - Adjusted Camera example - Added Marcie sublevel back in Change 3995942 by JohnHenry.Carawon QAGame: Moving Movie Rendering test content from Developer folder to Sequencer folder Also adjusted level visibility, lights and camera example. Change 3995993 by Christina.TempelaarL Sequencer: FCPXML Export updates - only export sections if in playback range and media exists, warn if media does not exist. Other updates - removed unused methods and variables, fixed message context naming to be more accurate #jira UESEQ-358 Change 3996595 by andrew.porter QAGame: Updating Marcie content in TrackEvaluation level to use Image Plate Change 3996614 by andrew.porter QAGame: Adding color test sequence to the sublevel Change 3996643 by Max.Chen Sequencer: Fix fbx animation export - rotation and scale channels were flipped. #jira UE-57509 #jira UE-57512 #jira UE-57514 Change 3996652 by Max.Preussner Messaging: Fixed delayed messaging using incorrect current time after message router sleep Based on https://github.com/EpicGames/UnrealEngine/pull/4601 Change 3996801 by Max.Chen Sequencer: Fix folder active state for non key area sections. Look at track node sections as well as key areas. #jira UE-57550 Change 3997098 by Matt.Hoffman Cleaned up some remaining ToDo's in STimeRange. Change 3998339 by Max.Preussner Sockets: Added documentation for socket receive functions Change 3998359 by Max.Preussner MediaUtils: Started to implement media recorder helper class Currently only supports BGRA frames in CPU memory. Supporting other formats and buffer types will require conversions on render-thread. I recommend refactoring out the existing conversion code in FMediaTextureResource into a reusable helper class in the MediaUtils module. This should be a good starting point though. Change 3998417 by Matt.Hoffman Keys and Sections can now be moved at the same time inside of Sequencer. Keys can now snap to Sections (and vice versa) instead of just to other Keys. Sections can now be duplicated like keys can. #jira UE-56995 Change 3998427 by JohnHenry.Carawon QAGame: Updating test content for the Movie Rendering feature. - Added an auto activate particle to the beginning of the sequence (it's not part of the sequence at all) - Added an event receiver blueprint to the Events example - Added a particle emitter to both sublevels - Added a camera cut to the end that switches to a separate camera - The camera zoom in, focus and Look At sections are all separate (not overlapping in the sequence) - Added a second actor for the camera Look At - Added a Visibility section for the Actor Hidden In Game track that has possessable and spawnable cube and light Change 3998537 by Max.Chen Sequence Recorder: Restore immersive mode when stopping the sequence even if not in PIE. #jira UE-56407 Change 3999809 by Matt.Hoffman Removed the "Go To" box from Sequencer and instead placed the current time as an always visible control. The previous shortcut (Ctrl + G) now focuses the new widget directly. #jira UESEQ-376 Change 4000543 by Christina.TempelaarL Sequencer: Moving editor-only code from runtime module MovieSceneCapture to editor module MovieSceneTools. Moved EDL and FCP XML exporters as well as Automated Level Scene Capture. #jira UESEQ-358 Change 4000706 by Matt.Hoffman Entering multiple time strings without a number no longer crashes Sequencer. #jira UE-57672 Change 4001051 by andrew.porter MediaFrameworkTest: Fixing up some image sources pointing to the wrong location Change 4001191 by andrew.porter QAGame: Adding some quick EDL/XML test content to dev folder Change 4001243 by Max.Chen Sequencer: Fix import EDL out of range. #jira UE-57665 Change 4001856 by Matt.Hoffman Selecting keys and sections at the same time now also works with animation and audio sections. #jira UE-57716 Change 4002021 by Max.Chen Sequence Recorder: Fix sequence name incrementing. If external recording sets the sequence name, use it. Otherwise, use the recording name from the recording group or the recording settings. #jira UE-57712 Change 4002618 by Max.Chen Viewport: Update the look at location when updating to a locked actor. This fixes an issue so that popping the view out of a locked actor and manipulating the view will not jump to the previous look at location. #jira UE-57725 Change 4002979 by Matt.Hoffman Fixes several edge cases with the end time range that was causing confusion about what the last frame of the sequence was. Dragging the End Frame slider will no longer be off by one tick and jumping to the end via the UI controls now properly respects snapping and stays inside the play range instead of falling outside of it. Overall behavior does not change though and End Frame should be considered an exclusive frame so that frames 0-150 results in a 150 frame long animation (which is frames 0-149). #jira UE-56367 Change 4003185 by Matt.Hoffman Fixed a regression that prevented a section from being dragged upwards past row 0 which normally resulted in all other rows moving down. #jira UE-57717 Change 4003193 by JohnHenry.Carawon QAGame: Updates to test content - Shortened frames between the examples from 95 to 30 - Separated camera setting tracks - Lighting example now switches directly from constant red - green - blue Change 4003369 by Max.Chen Sequence Recorder: Refresh next sequence regardless of internally stored sequence name. #jira UE-55757 Change 4003586 by JohnHenry.Carawon QAGame: Test Content Updates - Level Visibility track now ends to that the levels are not visible when we move to the next example - Shortened camera section, removed Z tranform so that we just move left to right and shortened the overall length Change 4004414 by Max.Chen Movie Scene Capture: Fix regression where rendering with shot handles would only render the first shot. 3972166 addressed an issue where an extra frame would be rendered by finalizing right when the end frame was reached. This was hit on the first shot end frame, so instead, do this only for when the last shot is being rendered. #jira UE-57314 Change 4004765 by Christina.TempelaarL Sequencer: Fixed bugs in FCP XML import/export. - Export: fixed sequence default resolution. - Export: fixed XML files with no shots. - Export: all sections clipped to playback range. - Export: fixed incorrect section start/end times due to precision issues. - Import: fixed incorrectly adding cinematic tracks. - Import: fixed bugs creating new sections. #jira UE-57660 #jira UE-57662 #jira UE-57655 #jira UE-57761 Change 4005119 by Max.Chen Sequencer: Export/import at play rate Change 4005195 by Max.Chen UMG: Finish UMG evaluation on stop. Added object version so that existing UMG assets do not change. #tests - Newly created UMG animation with sections set to restore state now return to their original state. Existing UMG animations with sections set to restore state do not return to their original state. #jira UE-52285 Change 4005377 by Michael.Karambelas QAGame: Moving TM-SequenceRecorder and related content out of my developer folder and into /Content/Sequencer/SequencerRecorder/* Change 4005417 by Michael.Karambelas QAGame: Fixed a BP compiler in the Level Blueprint of TM-SequencerRecorder. Change 4005634 by Michael.Karambelas QAGame: Fix up missing content and broken level sequence in TM-SequenceRecorder after move Change 4006324 by Max.Chen Sequencer: Reset if the focused movie scene is null. This fixes a crash if the user is focused in on a shot and undo takes the user past the point of where the shot was created. #jira UE-57752 #jira UE-47661 Change 4007006 by Max.Chen Sequencer: Fix FindAvailableRowIndex so that it returns the max row index (and not +1) since it doesn't find any conflicting rows. #jira UE-57717 Change 4007907 by Max.Chen Sequencer: Fix crash if there's no animation Change 4007948 by andrew.porter QAGame: added test content to dev folder for Record World Space Change 4008636 by Max.Chen Sequencer: Fix import fbx not setting values properly and creating additional cameras unncessarily. #jira UE-57864 Change 4008759 by Max.Chen Sequencer: Follow up fix for import cameras #jira UE-57864 Change 4009994 by Matt.Hoffman Dragging the left or right handles of the Time Range slider in Sequencer will now zoom your view in on the current center of the screen. This prevents the view from being translating as you tried to zoom in which caused issues at high zoom levels. #jira UESEQ-407 Change 4010169 by Christina.TempelaarL Sequencer: FCP XML fixes. - FCP XML export - no longer clips to playback range - FCP XML and EDL export - fixed missing last frame of some sections after exporting to Premiere. - Automated level capture, EDL export - use RoundToFrame instead of FloorToFrame for computing section start/end frames after frame rate conversion. #jira UE-57802 - partial fix, movie scene capture still needs to render full section rather than clip against playback. Change 4010287 by Mike.Zyracki Add quaternion interpolation option to UMovieScene3DTransformSection. This mimics how Matinee used to work by bascially finding the keys between a time and interpolating the angles as quat's between them. As noted in the code the algorithm needs to handle the case when the x,y,z Rotation keys all aren't at the same time which was not handled by Matinee. Also like Matinee, when in quaternion interoplation mode, we need to not display the function cuves since the interpolated and key values are now all different. (Would like to show them but that's a bigger refactor for perhaps just a one off needed by quaternions). I added a virtual function UMovieSceneSection::ShowCurveForChannel for this since it needs to be dynamic, not on construction of IKeyArea's, and could be useful for other sections. I could though move the method to just UMovieScene3DTransformSection and do a cast instead. Looked into doing a unit test for this but after talking with Andrew P we will work on doign an automated test in EngineQA since that will provide more coverage. Will also add a video the jira. #jira UESEQ-403 Change 4010713 by Mike.Zyracki Added option to key a group of transform channels instead of just the changed channel, or all of them. This is useful for quaternion interpolations where you want rotation keys to be aligned but also useful for other workflows like animating FK Pose to Pose. Change 4010715 by Andrew.Porter MediaFrameworkTest: Setting LogMediaUtils logging from VeryVerbose to Verbose to cut back on the spam Change 4013048 by Max.Chen Sequencer: Fix play/jump status. Update the player status for all position methods (Scrub, Jump, Play). Jump means Stopped. Correctly use PlayTo or JumpTo based on position method. In PlayInternal, JumpTo with the Stopped state (rather than playing state). #jira UE-57844 Change 4013479 by andrew.porter QAGame: Added content in TM-SequenceRecorder to test recording a property on a Cine Camera Component; Press 3 to trigger manual focus distance to increment on a timer Change 4014323 by Max.Chen Sequencer: Fix SetPlaybackPosition so that it jumps or plays based on playback status. #jira UE-57844 Change 4015888 by Max.Chen Sequencer: Fix crash on paste. UMovieSceneSections were gathered from the track node's track. For sub track mode, we want to gather only those sections on that track node row. #jira UE-57951 Change 4015943 by Max.Chen Sequencer: Fix moving shots up when the mouse pos goes outside of the virtual track area. #jira UE-57717 Change 4016293 by Max.Chen Sequencer: Fix relative frame playback end frame calculation so that custom start/end frames remain in the space of the sequence and are not relative. #jira UE-57308 Change 4017075 by Andrew.Rodham Sequencer: Corrected initial evaluation range used when calling UMovieSceneSequencPlayer::Play() Change 4017270 by Christina.TempelaarL Sequencer: FCPXML importer and movie scene capture - Use CeilToFrame when converting section start/end frame times to frame numbers in FCPXML and movie scene capture. - Added support for clip metadata in FCPXML. - Got rid of redundant TokenizedError message class, no longer needed now that FCPXML is in editor directory. - Added log messages currently commented out due to exception, still testing. #UESEQ-358 Change 4018370 by Christina.TempelaarL Sequencer: fixed FCPXML log messages regarding sections with start/end not divisible by display rate. #UESEQ-358 Change 4018378 by Christina.TempelaarL Sequencer: fixed error in previous changelist. #UESEQ-358 Change 4019457 by Max.Chen Sequencer: Show event names only when the event track is selected #jira UE-57897 Change 4022806 by Max.Chen Sequencer: Fix crash on movie scene capture dialog shutdown if movie capture wasn't even started. #jira UE-58106 Change 4022894 by Max.Chen Sequence Recorder: Wrap OpenEditorForAssets after sequence recording within GIsEditor #jira UE-58084 Change 4024487 by Max.Chen Sequencer: Add tooltip for quat interpolation #jira UE-58113 Change 4024562 by Max.Chen Sequencer: Change path/attach track sequence binding id to currently focused sequence id so that bindings can be created in subsequences Change 4027414 by JohnHenry.Carawon QAGame: Checking in content that shows a bug with using particles systems and Delay Before Shot Warm Up. Change 4028990 by Max.Chen Sequencer: Fix evaluate sub sequences in isolation. This check was added with the compile on the fly logic. Not sure why it was necessary but it seems like the sub sequence data needs to be updated in order to evaluate sub sequences in isolation. #jira UE-58184 Change 4029004 by Max.Chen Sequencer: Ensure that old binding references are removed when re-assigning actors in sequencer #jira UE-57898 Change 4030997 by JohnHenry.Carawon QAGame: Fixing name of the master sequence Change 4031785 by Michael.Karambelas QAGame: Added an instance of ThirdPerson Run to TM-SequenceRecorder for Record to Possessable test. Change 4035548 by Andrew.Rodham Sequencer: Changed FMovieSceneEvaluationTemplate::TemplateSignature to be a serial number to address non-deterministic cooking issues - This commit is related to the repro steps found in 3914599 and 3934307, both of which have been verified with this new change. - Copy of 4031684 from //Fortnite/Main/... #jira FORT-84852 Change 4036312 by Max.Chen Sequencer: Fix zoom view range so that it uses the passed in InZoomDelta Change 4036318 by Max.Chen Sequencer: Auto size now returns a range and defaults to the channel proxy range so that keyed regions can also be autosized. Change 4036322 by Max.Chen Forgot missing change Change 4036360 by Max.Chen Sequencer: Fix play rate calculation when skeletal animation section play rate changes. Change 4037163 by Mike.Zyracki Weighted Tangent Implementation Tricky thing is that you need to solve a cubic in order to get the bezier weights for the time part of the curve. See https://www.gamedev.net/forums/topic/474094-help-function-curves-for-animation-interpolation/ Maya provides an implementation in it's dev kit but I didn't use it since it was horribly slow and uses an iterative solution to solve the cubic needed. Instead I use an old algorithm (Cardano's method), to solve the cubic which should be much faster. Though relative simple to code from principles I just went ahead and used a version from Graphics Gems 1. I put this cubic solver directly in MovieSceneFloatChannel.cpp, but will need to move it when we support Rich Curve, maybe to FMath:: (which would probalby require some other functions for solving quartics, etc.. for completeness.). Also note we resolve this on every evaluation but dont' need to if the interval the time is evaluating hasn't had any change in values or tangents. So again when we support FRichCurve we can create a Weighted Evaluating class that can hold the cache. Also with the tangent drags I got rid of the Cardinal position that was used to calculate non-weight tangents from the key point and just quickly getting a direction. With weighted tangents we need to use the delta instead (otherwise when moving multiple they would all get the same weight based upon distance to the cardinal point. ) For mixed tangents types what I'm defaulting to non weighted if the interval doesn't match. May need to do weighted instead, not sure. What's left is just FBX import, for tomorrow. #jira UESEQ-76 Change 4037435 by Mike.Zyracki Fix fo build warnings from weighted tangent submission. #trivial Change 4038091 by Michael.Karambelas QAGame: Updated a Sequence Recorder group in TM-SequenceRecorder that had an actor missing the animation. Change 4038374 by Andrew.Rodham Sequencer: Refined scrubber styling for level sequences and actor sequences - Scrubber now shows a block the width of a dsplay rate frame, plus a line for the actual evaluated time. UMG reverts back to the previous styling (no block) - Keys that are outside of the playback range are now drawn with a subdued effect - Tick labels are no longer drawn when directly underneath the scrubber Change 4038490 by Max.Chen Sequencer: Expose tangent weight values in details panel. Change 4038620 by Andrew.Rodham Sequencer: Advanced time panel polish #jira UESEQ-426 Change 4038677 by Max.Chen Movie Scene Capture: Redirector for MovieSceneTools.AutomatedLevelSequenceCapture #jira UE-58248 Change 4039739 by Max.Chen Sequencer: Media track should only be supported by Level Sequence Change 4040024 by JohnHenry.Carawon QAGame: Fix EventReciever and OverrideBinding example The level sequence was set to none so the fix was to set it back to TrackEvaluation_Master. Change 4040610 by Andrew.Rodham Curve Editor: Moved weighted tangent switchers to a single toggle command (CTRL+W) and added an icon #jira 58383 Change 4040882 by Mike.Zyracki Keep broken when turning on weighted #jira UE-58435 Change 4041089 by andrew.porter QAGame: Sequence for Long Tangents bug Change 4041498 by Mike.Zyracki Turn off weighted when going auto to prevent large tangents. Do it both in UI and when doing AutoSetTangents() to really make sure it doesn't happen. #jira UE-58452 Change 4041752 by andrew.porter MediaFrameworkTest: Adding some better logging for setting rates when not supported. Also ignoring commiting URL when there is no text Change 4041896 by Matt.Hoffman The transform dialog box now transforms selected keys and sections, instead of just keys. #jira UE-58265 [CL 4044405 by Max Chen in Main branch]
2018-05-02 10:10:00 -04:00
const double ScrubPosition = TimeSliderArgs.ScrubPosition.Get() / GetTickResolution();
if (GetViewRange().Contains(ScrubPosition))
Copying //UE4/Release-Staging-4.12 to //UE4/Dev-Main (Source: //UE4/Release-4.12 @ 2955635) ========================== MAJOR FEATURES + CHANGES ========================== Change 2955635 on 2016/04/26 by Max.Chen Sequencer: Fix filtering so that folders that contain filtered nodes will also appear. #jira UE-28213 Change 2955617 on 2016/04/25 by Dmitriy.Dyomin Better fix for: Post processing rendering artifacts Nexus 6 this device on Android 5.0.1 does not support BGRA8888 texture as a color attachment #jira: UE-24067 Change 2955522 on 2016/04/25 by Max.Chen Sequencer: Fix crash when resolving object guid and context is null. #jira UE-29916 Change 2955504 on 2016/04/25 by Alexis.Matte #jira UE-29926 Fix build error for SplineComponent. I just move variable under #if !UE_BUILD_SHIPPING instead #if WITH_EDITORONLY_DATA to fix all build flavor, please feel free to adjust according to what the initial fix was suppose to do. Change 2955500 on 2016/04/25 by Dan.Oconnor Integration of 2955445 from Dev-BP #jira UE-29012 Change 2955234 on 2016/04/25 by Lina.Halper Fixed tool tip of twist node #jira : UE-29907 Change 2955211 on 2016/04/25 by Ben.Marsh Exclude all plugins which aren't required for a project (ie. don't have any content or modules for the current target) from its target receipt. Prevents dependencies on .uplugin files whose dependencies are otherwise compiled out. Re-enable PS4Media plugin by default. #jira UE-29842 Change 2955155 on 2016/04/25 by Jamie.Dale Fixed an issue where text committed via a focus loss might not display the correct text if it was changed during commit #jira UE-28756 Change 2955144 on 2016/04/25 by Jamie.Dale Fixed a case where editable text controls would fail to select their text when focused There was an order of operations issue between the options to select all text and move the cursor to the end of the document, which caused the cursor move to happen after the select all, and undo the selection. The order of these operations has now been flipped. #jira UE-29818 #jira UE-29772 Change 2955136 on 2016/04/25 by Chad.Taylor Merging to 4.12: Morpheus latency fix. Late update tracking frame was getting unnecessarily buffered an extra frame on the RHI thread. Removed buffering and the issue is fixed. #jira UE-22581 Change 2955134 on 2016/04/25 by Lina.Halper Removed code that blocks moving actor when they don't have physics asset #jira : UE-29796 #code review: Benn.Gallagher Change 2955130 on 2016/04/25 by Zak.Middleton #ue4 - (4.12) Don't reject low distance MTD, it could cause us to not process some valid overlaps. (copy of 2955001 in Main) #jira UE-29531 #lockdown Nick.Penwarden Change 2955098 on 2016/04/25 by Marc.Audy Don't spawn a child actor on the client if the server is going to have created one and be replicating it to the client #jira UE-7539 Change 2955049 on 2016/04/25 by Richard.TalbotWatkin Changes to how SplineComponents debug render. Added a SetDrawDebug method to control whether a spline is rendered. Also extended the facility to non-editor builds. #jira UE-29753 - Add ability to display a SplineComponent in-game Change 2955040 on 2016/04/25 by Chris.Gagnon Fixed Initializer Order Warning in hot reload ctor. #jira UE-28811, UE-28960 Change 2954995 on 2016/04/25 by Marc.Audy Make USceneComponent::Pre/PostNetReceive and PostRepNotifies protected instead of private so that subclasses can implement replication behaviors #jira UE-29909 Change 2954970 on 2016/04/25 by Peter.Sauerbrei fix for openwrite with O_APPEND flag #jira UE-28417 Change 2954917 on 2016/04/25 by Chris.Gagnon Moved a desired change from Main to 4.12 Added input settings to: - control if the viewport locks the mouse on acquire capture. - control if the viewport acquires capture on the application launch (first window activate). #jira UE-28811, UE-28960 parity with 4.11 (UE-28811, UE-28960 would be reintroduced without this) Change 2954908 on 2016/04/25 by Alexis.Matte #jira UE-29478 Prevent modal dialog to use 100% of a core Change 2954888 on 2016/04/25 by Marcus.Wassmer Fix compile issue with chinese locale #jira UE-29708 Change 2954813 on 2016/04/25 by Lina.Halper Fix when not re-validating the correct asset #jira : UE-29789 #code review: Martin.Wilson Change 2954810 on 2016/04/25 by mason.seay Updated map to improve coverage #jira UE-29618 Change 2954785 on 2016/04/25 by Max.Chen Sequencer: Always spawn sequencer spawnables. Disregard collision settings. #jira UE-29825 Change 2954781 on 2016/04/25 by mason.seay Test map for Audio Occlusion trace channels #jira UE-29618 Change 2954684 on 2016/04/25 by Marc.Audy Add GetIsReplicated accessor to AActor Deprecate specific GameplayAbility class implementations that was exposing bReplicates #jira UE-29897 Change 2954675 on 2016/04/25 by Alexis.Matte #jira UE-25430 Light Intensity value in FBX is a ratio. So I just multiply the default intensity value by the ratio to have something closer to the look in the DCCs Change 2954669 on 2016/04/25 by Alexis.Matte #jira UE-29507 Import of rigid mesh animation is broken Change 2954579 on 2016/04/25 by Ben.Marsh Temporarily stop the PS4Media plugin being enabled by default, so the UE4Game built for the binary release doesn't depend on it. Will implement whitelist/blacklist for platforms later. #jira UE-29842 Change 2954556 on 2016/04/25 by Taizyd.Korambayil #jira UE-29877 Setup ThirdPersonCharacter based on correct Code Class Change 2954552 on 2016/04/25 by Taizyd.Korambayil #jira UE-29877 Deleting BP class Change 2954498 on 2016/04/25 by Ryan.Gerleve Fix for remote player controllers reporting that they're actually local player controllers after a seamless travel on the server. Transition actors to the new level in a second pass after non-transitioning actors are handled. #jira UE-29213 Change 2954446 on 2016/04/25 by Max.Chen Sequencer: Fixed spawning actors with instance or multiple owned components - Also fixed issue where recorded actors were sometimes set as transient, meaning they didn't get saved #jira UE-29774, UE-29859 Change 2954430 on 2016/04/25 by Marc.Audy Don't schedule a tick function with a tick interval that was disabled while it was pending rescheduling #jira UE-29118 #jira UE-29747 Change 2954292 on 2016/04/25 by Richard.TalbotWatkin Replicated from //UE4/Dev-Editor CL 2946363 (by Frank.Fella) CurveEditorViewportClient - Bounds check when box selecting. Prevents crashing when the box is outside the viewport. #jira UE-29265 - Crash when drag selecting curve keys in matinee Change 2954262 on 2016/04/25 by Graeme.Thornton Fixed a editor crash when destroying linkers half way through a package EndLoad #jira UE-29437 Change 2954239 on 2016/04/25 by Marc.Audy Fix error message #jira UE-00000 Change 2954177 on 2016/04/25 by Dmitriy.Dyomin Fixed: Hidden surface removal is not enabled on PowerVR Android devices #jira UE-29871 Change 2954026 on 2016/04/24 by Josh.Adams [Somehow most files got unchecked in my previous checkin, grr] - ProtoStar content/config updates (enabled TAA in the levels, disabled es2 shaders, hides the Unbuilt lighting warning on Android) #lockdown nick.penwarden #jira UE-29863 Change 2954025 on 2016/04/24 by Josh.Adams - ProtoStar content/config updates (enabled TAA in the levels, disabled es2 shaders, hides the Unbuilt lighting warning on Android) #lockdown nick.penwarden #jira UE-29863 Change 2953946 on 2016/04/24 by Max.Chen Sequencer: Fix crash on undo of a sub section. #jira UE-29856 Change 2953898 on 2016/04/23 by mitchell.wilson #jira UE-29618 Adding subscene_001 sequence for nonlinear workflow testing Change 2953859 on 2016/04/23 by Maciej.Mroz Merged from Dev-Blueprints 2953858 #jira UE-29790 Editor crashes when opening KiteDemo Change 2953764 on 2016/04/23 by Max.Chen Sequencer: Remove "Experimental" tag on the Level Sequence Actor #jira UETOOl-625 Change 2953763 on 2016/04/23 by Max.Chen Cinematics: Change text to "Edit Existing Cinematics" #jira UE-29102 Change 2953762 on 2016/04/23 by Max.Chen Sequencer: Follow up time slider hit testing fix. Don't hit test the selection range if it's empty. This was causing false positives when hovering close to the ranges. #jira UE-29658 Change 2953652 on 2016/04/22 by Rolando.Caloca UE4.12 - vk - Workaround driver bugs wrt texture format caps #jira UE-28140 Change 2953596 on 2016/04/22 by Marcus.Wassmer #jira UE-20276 Merging dual normal clearcoat shading model. 2863683 2871229 2876362 2876573 2884007 2901595 Change 2953594 on 2016/04/22 by Chris.Babcock Disable crash handler for VulkanRHI on Android to prevent sig11 on loading driver #jira UE-29851 #ue4 #android Change 2953520 on 2016/04/22 by Rolando.Caloca UE4.12 - vk - Enable deferred resource deletion - Added one resource heap per memory type - Improved DumpMemory() - Added ensures for missing format features #jira UE-28140 Change 2953459 on 2016/04/22 by Taizyd.Korambayil #jira UE-29748 Resaved Maps to Fix EC Build Warnings #jira UE-29744 Change 2953448 on 2016/04/22 by Ryan.Gerleve Fix Mac/Linux compile. #jira UE-29545 Change 2953311 on 2016/04/22 by Ryan.Gerleve Fix for infinite hang when loading a replay from within an actor tick while demo.AsyncLoadWorld is false. LoadMap for the replay is now deferred using the existing PendingNetGame mechanism. Added virtual UPendingNetGame::LoadMapCompleted function so that the base PendingNetGame and DemoPendingNetGame can have different behavior. To keep things simpler, also parse all replay metadata and streaming levels after the LoadMap call. #jira UE-29545 Change 2953219 on 2016/04/22 by mason.seay Test map for show collision features #jira UE-29618 Change 2953199 on 2016/04/22 by Phillip.Kavan [UE-29449] Fix InitProperties() optimization for Blueprint class instances when array property values differ in size. change summary: - improved UBlueprintGeneratedClass::BuildCustomArrayPropertyListForPostConstruction() by continuing to emit only delta entries for array values that exceed the default array value's size; previously we emitted a NULL in this case to signal a need to initialize all remaining array values in InitProperties(), even if they didn't differ from the default value of the inner property (which in most cases would already have been set at construction time, and thus potentially incurred a redundant copy iteration for each entry) - modified FObjectInitializer::InitArrayPropertyFromCustomList() to no longer reset the array value on the instance prior to initialization - added code to properly resize the array on the instance prior to initialization (if it differs in size from the default array value) - removed code that handled a NULL property value in the custom property list stream (this is no longer necessary, see above) - modified FObjectInitializer::InitProperties() to restore the post-construction optimization for Blueprint class instances (back to being enabled by default) #jira UE-29449 Change 2953195 on 2016/04/22 by Max.Chen Sequencer: Fix crash in actor reference track in the cached guid to actor map. #jira UE-27523 Change 2953124 on 2016/04/22 by Rolando.Caloca UE4.12 - vk - Increase temp frame buffer #jira UE-28140 Change 2953121 on 2016/04/22 by Chris.Babcock Rebuilt lighting for all levels #jira UE-29809 Change 2953073 on 2016/04/22 by mason.seay Test assets for notifies in animation composites and montages #jira UE-29618 Change 2952960 on 2016/04/22 by Richard.TalbotWatkin Changed eye dropper operation so that LMB click selects a color, and pressing Esc cancels the selection and restores the old color. #jira UE-28410 - Eye dropper selects color without clicking Change 2952934 on 2016/04/22 by Allan.Bentham Ensure pool's refractive index >= 1 #jira UE-29777 Change 2952881 on 2016/04/22 by Jamie.Dale Better fix for UE-28560 that doesn't regress thumbnail rendering We now just silence the warning if dealing with an inactive world. #jira UE-28560 Change 2952867 on 2016/04/22 by Thomas.Sarkanen Fix issues with matinee-controlled anim instances Regression caused by us no longer saving off the anim sequence between updates. #jira UE-29812 - Protostar Neutrino spawns but does not Animate or move. Change 2952826 on 2016/04/22 by Maciej.Mroz Merged from Dev-Blueprints 2952820 #jira UE-28895 Nativizing a blueprint project causes the next non-nativizing package attempt to fail Change 2952819 on 2016/04/22 by Josh.Adams - Fixed crash in a Vulkan shader printout #lockdown nick.penwarden #jira UE-29820 Change 2952817 on 2016/04/22 by Rolando.Caloca UE4.12 - vk - Revert back to simple layouts #jira UE-28140 Change 2952792 on 2016/04/22 by Jamie.Dale Removed some code that caused worlds loaded by the Content Browser to be initialized before they were ready Supposedly this code existed for world thumbnail rendering, however only the active editor world generates a thumbnail, so initializing other worlds wasn't having any effect and thumbnails look identical to before. #jira UE-28560 Change 2952783 on 2016/04/22 by Taizyd.Korambayil #jira UE-28477 Resaved Flying Template Map Change 2952767 on 2016/04/22 by Taizyd.Korambayil #jira UE-29736 Resaved Map to Fix EC Warnings Change 2952762 on 2016/04/22 by Allan.Bentham Update reflection capture to contain only room5 content. #jira UE-29777 Change 2952749 on 2016/04/22 by Taizyd.Korambayil #jira UE-29740 Resaved Material and Map to Fix Empty Engine Version Error Change 2952688 on 2016/04/22 by Martin.Wilson Fix for BP notifies not displaying when they derive from an abstract base class #jira UE-28556 Change 2952685 on 2016/04/22 by Thomas.Sarkanen Fix CIS for non-editor builds #jira UE-29308 - Fix crash from GC-ed animation asset Change 2952664 on 2016/04/22 by Thomas.Sarkanen Made up/down behaviour for console history consistent and reverted to old ordering by default Pressing up or down now brings up history. Sorting can now be optionally bottom-to-top or top-to-bottom. Default behaviour is preserved to what it was before the recent changes. #jira UE-29595 - Console autocomplete behavior is non-intuitive / frustrating Change 2952655 on 2016/04/22 by Jamie.Dale Changed the class filter to use an expression evaluator This makes it consistent with the other filters in the editor #jira UE-29811 Change 2952647 on 2016/04/22 by Allan.Bentham Back out changelist 2951539 #jira UE-29777 Change 2952618 on 2016/04/22 by Benn.Gallagher Fixed naming error in rotation multiplier node #jira UE-29583 Change 2952612 on 2016/04/22 by Thomas.Sarkanen Fix garbage collection and undo/redo issues with anim instance proxy UObject-based properties are now cached each update on the proxy and nulled-out outside of evaluate/update phases. Moved some initialization code for CurrentAsset/CurrentVertexAnim from the proxy back to the instance (as its is encapsulated there now). #jira UE-29308 - Fix crash from GC-ed animation asset Change 2952608 on 2016/04/22 by Richard.TalbotWatkin Changed 'Recently Used Levels' and 'Favorite Levels' to hold long package names instead of absolute paths. This means they are now project-relative and will remain valid even if the project location changes. #jira UE-29731 - Editor map recent files are not project relative, leading to missing links when moving projects. Change 2952599 on 2016/04/22 by Dmitriy.Dyomin Disabled vulkan pipeline cache as it causes rendering artifacts right now #jira UE-29807 Change 2952540 on 2016/04/22 by Maciej.Mroz #jira UE-29787 Obsolete nativized files are never removed merged from Dev-Blueprints 2952531 Change 2952372 on 2016/04/21 by Josh.Adams - Fixed Vk memory allocations when reusing free pages #lockdown nick.penwarden #jira ue-29802 Change 2952350 on 2016/04/21 by Eric.Newman Added support for UEReleaseTesting backends to Orion and Ocean #jira op-3640 Change 2952140 on 2016/04/21 by Dan.Oconnor Demoted back to warning to fix regressions in content examples, in main we've added the ability to elevate warnings to errors, but no reason to rush that feature into 4.12 #jira UE-28971 Change 2952135 on 2016/04/21 by Jeff.Farris Fixed issue in PlayerCameraManager where the priority-based sorting of CameraModifiers wasn't sorting properly. Manual re-implementation of CL 2948123 in 4.12 branch. #jira UE-29634 Change 2952121 on 2016/04/21 by Lee.Clark PS4 - 4.12 - Fix staging and deploying of system prxs #jira UE-29801 Change 2952120 on 2016/04/21 by Rolando.Caloca UE4.12 - vk - Move descriptor allocation to BSS #jira UE-21840 Change 2952027 on 2016/04/21 by Rolando.Caloca UE4.12 - vk - Fix descriptor sets lifetimes - Fix crash with null texture #jira UE-28140 Change 2951890 on 2016/04/21 by Eric.Newman Updating locked common dependencies for OrionService #jira OP-3640 Change 2951863 on 2016/04/21 by Eric.Newman Updating locked dependencies for UE 4.12 OrionService #jira OP-3640 Change 2951852 on 2016/04/21 by Owen.Stupka Fixed meteors destruct location #jira UE-29714 Change 2951739 on 2016/04/21 by Max.Chen Sequencer: Follow up for integral keys. #jira UE-29791 Change 2951717 on 2016/04/21 by Rolando.Caloca UE4.12 - Fix shader platform names #jira UE-28140 Change 2951714 on 2016/04/21 by Max.Chen Sequencer: Fix setting a key if it already exists at the current time. #jira UE-29791 Change 2951708 on 2016/04/21 by Rolando.Caloca UE4.12 - vk - Separate upload cmd buffer #jira UE-28140 Change 2951653 on 2016/04/21 by Marc.Audy If a child actor component is destroyed during garbage collection, do not rename, instead clear the caching mechanisms so that a new name is chosen if a new child is created in the future Remove now unused bRenameRequired parameter #jira UE-29612 Change 2951619 on 2016/04/21 by Chris.Babcock Move bCreateRenderStateForHiddenComponents out of WITH_EDITOR #jira UE-29786 #ue4 Change 2951603 on 2016/04/21 by Cody.Albert #jira UE-29785 Revert Github readme page back to original Change 2951599 on 2016/04/21 by Ryan.Gerleve Fix assert when attempting to record a replay when the map has a placed actor that writes replay external data (such as ACharacter) #jira UE-29778 Change 2951558 on 2016/04/21 by Chris.Babcock Always rename destroyed child actor #jira UE-29709 #ue4 Change 2951552 on 2016/04/21 by James.Golding Remove old code for handling 'show collision' in game, uses same method as editor now, fixes hidden meshes showing up in game when doing 'show collision' #jira UE-29303 Change 2951539 on 2016/04/21 by Allan.Bentham Use screenuv for distortion with ES2/31. #jira UE-29777 Change 2951535 on 2016/04/21 by Max.Chen We need to test if the hmd is enabled if it exists. Otherwise, this will return true even if we aren't rendering in stereo if there's an hmd plugin loaded. #jira UE-29711 Change 2951521 on 2016/04/21 by Taizyd.Korambayil #jira UE-29746 Replaced Deprecated Time Handler node in GameLevel_GM Change 2951492 on 2016/04/21 by Jeremiah.Waldron Fix for Android IAP information reporting back incorrectly. #jira UE-29776 Change 2951486 on 2016/04/21 by Taizyd.Korambayil #jira UE-29741 Updated Infiltrator Demo Project to open with the correct Map Change 2951450 on 2016/04/21 by Gareth.Martin Fix non-editor build #jira UE-16525 Change 2951380 on 2016/04/21 by Gareth.Martin Fix Landscape layer blend nodes not updating connections correctly when an input is changed from weight/alpha (one input) to height blend (two inputs) or vice-versa #jira UE-16525 Change 2951357 on 2016/04/21 by Richard.TalbotWatkin Fixed a crash when pushing a new menu leads to a window activation change which would result in the old root menu being dismissed. #jira UE-27981 - [CrashReport] Crash When Attempting to Select Variable Type After Clearing the Name Field Change 2951352 on 2016/04/21 by Richard.TalbotWatkin Added slider bar thickness as a new property in FSliderStyle. #jira UE-19173 - SSlider is not fully stylable Change 2951344 on 2016/04/21 by Gareth.Martin Fix bounds calculation for landscape splines that was causing the first landscape spline point to be invisible and later points to flicker. - Also fixes landscape spline lines not showing up on a flat landscape #jira UE-25114 Change 2951326 on 2016/04/21 by Taizyd.Korambayil #jira UE-28477 Resaving Maps Change 2951271 on 2016/04/21 by Jamie.Dale Fixed a crash when pasting a path containing a class into the asset view of the Content Browser #jira UE-29616 Change 2951237 on 2016/04/21 by Jack.Porter Fix black screen on PC due to planar reflections #jira UE-29664 Change 2951184 on 2016/04/21 by Jamie.Dale Fixed crash in FCurveStructCustomization when no objects were selected for editing #jira UE-29638 Change 2951177 on 2016/04/21 by Ben.Marsh Fix hot reload from IDE failing when project is up to date. UBT returns an exit code of 2, and any non-zero exit code is treated as an error by Visual Studio. Build.bat was not correctly forwarding on the exit code at all prior to CL 2790858. #jira UE-29757 Change 2951171 on 2016/04/21 by Matthew.Griffin Fixed issue with Rebuild not working when installed in Program Files (x86) The brackets seem to cause lots of problems in combination with the if/else ones #jira UE-29648 Change 2951163 on 2016/04/21 by Jamie.Dale Changed the text customization to use the property handle functions to get/set the text value That ensures that it both transacts and notifies correctly. Added new functions to deal with multiple objects selection efficiently with the existing IEditableTextProperty API: - FPropertyHandleBase::SetPerObjectValue - FPropertyHandleBase::GetPerObjectValue - FPropertyHandleBase::GetNumPerObjectValues These replace the need to cache the raw pointers. #jira UE-20223 Change 2951103 on 2016/04/21 by Thomas.Sarkanen Un-deprecated blueprint functions for attachment/detachment Renamed functions to <FuncName> (Deprecated). Hid functions in the BP context menu so new ones cant be added. #jira UE-23216 - "Snap to Target, Keep World Scale" when attaching doesn't work properly if parent is scaled. Change 2951101 on 2016/04/21 by Allan.Bentham Enable mobile HQ DoF #jira UE-29765 Change 2951097 on 2016/04/21 by Thomas.Sarkanen Standalone games now benefit from parallel anim update if possible We now simply use the fact we want root motion to determine if we need to run immediately. #jira UE-29431 - Parallel anim update does not work in non-multiplayer games Change 2951036 on 2016/04/21 by Lee.Clark PS4 - Fix WinDualShock working with VS2015 #jira UE-29088 Change 2951034 on 2016/04/21 by Jack.Porter ProtoStar: Removed content not needed by remaining maps, resaved all content to fix version 0 issues #jira UE-29666 Change 2950995 on 2016/04/21 by Jack.Porter ProtoStar - delete unneeded maps #jira UE-29665 Change 2950787 on 2016/04/20 by Nick.Darnell SuperSearch - Moving the settings object into a seperate plugin to avoid there needing to be a circular dependency between SuperSearch and UnrealEd. #jira UE-29749 #codeview Ben.Marsh Change 2950786 on 2016/04/20 by Nick.Darnell Back out changelist 2950769 - Going to re-enable super search - about to move the settings into a plugin to prevent the circular reference. #jira UE-29749 Change 2950769 on 2016/04/20 by Ben.Marsh Comment out editor integration for super search to fix problems with the circular dependencies breaking hot reload and compiling QAGame in binary release. Change 2950724 on 2016/04/20 by Lina.Halper Support for negative scaling for mirroring - Merging CL 2950718 using //UE4/Dev-Framework_to_//UE4/Release-4.12 #jira: UE-27453 Change 2950293 on 2016/04/20 by andrew.porter Correcting sequencer test content #jira UE-29618 Change 2950283 on 2016/04/20 by Marc.Audy Don't route FlushPressedKeys on PIE shut down #jira UE-28734 Change 2950071 on 2016/04/20 by mason.seay Adjusted translation retargeting on head bone of UE4_Mannequin -Needed for anim bp test. Tested animations and did not see any fallout from change. If there is, it can be reverted. #jira UE-29618 Change 2950049 on 2016/04/20 by Mark.Satterthwaite Undo CL #2949690 and instead on Mac where we want to be able to capture videos of gameplay we just insert an intermediate texture as the back-buffer and use a manual blit to the drawable prior to present. This also changes the code to enforce that the back-buffer render-target should never be nil as the code & Metal API itself assumes that this situation cannot occur but it would appear from continued crashes inside PrepareToDraw that it actually can in the field. This will address another potential cause of UE-29006. #jira UE-29006 #jira UE-29140 Change 2949977 on 2016/04/20 by Max.Chen Sequencer: Add FieldOfView to default tracks for CameraActor. Add FieldOfView to exclusion list for CineCameraActor. #jira UE-29660 Change 2949836 on 2016/04/20 by Gareth.Martin Fix landscape components flickering when perfectly flat (bounds size is 0) - This often happens for newly created landscapes #jira UE-29262 Change 2949768 on 2016/04/20 by Thomas.Sarkanen Moving parent & grouped child actors now does not result in deltas being applied twice Grouping and attachment now interact correctly. Also fixed up according to coding standard. Discovered and proposed by David.Bliss2 (Rocksteady). #jira UE-29233 - Delta applied twice when moving parent and grouped child actors From UDN: https://udn.unrealengine.com/questions/286537/moving-parent-grouped-child-actors-results-in-delt.html Change 2949759 on 2016/04/20 by Thomas.Sarkanen Fix split pins not working as anim graph node inputs Limit surface area of this change by only modifying the anim BP compiler. A better version might be to move the call in the general blueprint compiler but it is riskier. #jira UE-12326 - Splitting a struct in an Anim Blueprint does not work Change 2949739 on 2016/04/20 by Thomas.Sarkanen Fix layered bone per blend accessed from a struct in the fast-path Made sure that the fallback event is always built (logic was still split so if PatchFunctionNamesAndCopyRecordsInto aborted because of some unhandled case if might not have an event to call). Covered struct source->array dest case. Indicator icon is now built from the copy record itself, ensuring it is accurate to actual runtime data. #jira UE-29389 - Fast-Path: Layered Blend per Bone node failing to grab updated values from struct. Change 2949715 on 2016/04/20 by Max.Chen Sequencer: Fix mouse wheel zoom so it defaults to zooming in on the current time/frame. This is a toggleable option in the Editor Preferences (Zoom Position = Current Time or Mouse Position) #jira UE-29661 Change 2949712 on 2016/04/20 by Taizyd.Korambayil #jira UE-28544 adjusted Player crosshair to be centered Change 2949710 on 2016/04/20 by Alexis.Matte #jira UE-29477 Pixel Inspector, UI get polish and adding "scene color" inspect property Change 2949706 on 2016/04/20 by Alexis.Matte #jira UE-29475 #jira UE-29476 Favorite allow all UProperty to be favorite (the FStruct is now supported) Favorite scrollig is auto adjust to avoid scrolling when adding/removing a favorite Change 2949691 on 2016/04/20 by Mark.Satterthwaite Fix typo from previous commit - retain not release... #jira UE-29140 Change 2949690 on 2016/04/20 by Mark.Satterthwaite Double-buffer the Metal viewport's back-buffer so that we can access the contents of the back-buffer after EndDrawingViewport is called until BeginDrawingViewport is called again on this viewport, this makes it possible to capture movies on Metal. #jira UE-29140 Change 2949616 on 2016/04/20 by Marc.Audy 'Merge' latest version of Vulkan from Dev-Rendering to Release-4.12 #jira UE-00000 Change 2949572 on 2016/04/20 by Jamie.Dale Fixed crash undoing a text property changed caused by a null entry in the array #jira UE-20223 Change 2949562 on 2016/04/20 by Alexis.Matte #jira UE-29447 Fix the batch fbx import "not show options" dialog where some option can be different. Change 2949560 on 2016/04/20 by Alexis.Matte #jira UE-28898 Avoid importing multiple static mesh in the same package Change 2949547 on 2016/04/20 by Mark.Satterthwaite You must use STENCIL_COMPONENT_SWIZZLE to access the stencil component of a texture - not all APIs can swizzle it into .g automatically. #jira UE-29672 Change 2949443 on 2016/04/20 by Allan.Bentham Disable sRGB textures when ES31 feature level is set. Only use vk's sRGB formats when feature level > ES3_1 #jira UE-29623 Change 2949428 on 2016/04/20 by Allan.Bentham Back out changelist 2949405 #jira UE-29623 Change 2949405 on 2016/04/20 by Allan.Bentham Disable sRGB textures when ES31 feature level is set. Only use vk's sRGB formats when feature level > ES3_1 #jira UE-29623 Merging using Dev-Mobile_->_Release-4.12 Change 2949391 on 2016/04/20 by Richard.TalbotWatkin PIE with multiple windows now starts focused on Client 1, or the server if not a dedicated server. Added a new virtual call UEditorEngine::OnLoginPIEAllComplete, called when all clients have been successfully logged in when starting PIE. The default behavior is to set focus to the first client. #jira UE-26037 - Cumbersome workflow when running PIE with 2 clients #jira UE-26905 - First client window does not gain focus or mouse control when launching two clients Change 2949389 on 2016/04/20 by Richard.TalbotWatkin Fixed regression which was saving the viewport config settings incorrectly. Viewports are keyed by their layout on the same key as the config key, hence we do not need to prepend the SpecificLayoutString when saving out the config data when iterating through a layout's viewports. #jira UE-29058 - Viewport settings are not saved after shutting down editor Change 2949388 on 2016/04/20 by Richard.TalbotWatkin Change auto-reimport settings so that "Detect Changes on Startup" defaults to true. Also removed the warning of potential unwanted behaviour when working in conjunction with source control; this is no longer necessary now that there is a prompt prior to auto-reimport. #jira UE-29257 - Auto import does not import assets Change 2949203 on 2016/04/19 by Max.Chen Sequencer: Fix spawnables not getting default tracks. #jira UE-29644 Change 2949202 on 2016/04/19 by Max.Chen Sequencer: Fix particles not firing on loop. #jira UE-27881 Change 2949201 on 2016/04/19 by Max.Chen Sequencer: Fix multiple labels support #jira UE-26812 Change 2949200 on 2016/04/19 by Max.Chen Sequencer: Expose settings sequencer settings in the Editor Preferences page. Note, UMG and Niagara have separate sequencer settings pages. #jira UE-29516 Change 2949197 on 2016/04/19 by Max.Chen Sequencer: Fix unwind rotation when keying rotation so that rotations are always set to the nearest. #jira UE-22228 Change 2949196 on 2016/04/19 by Max.Chen Sequencer: Disable selection range drawing if it's empty so that playback range dragging can take precedence when they overlap. This fixes a bug where you can't drag the starting playback range when sequencer starts up. #jira UE-29657 Change 2949195 on 2016/04/19 by Max.Chen MovieSceneCapture: Default image compression quality to 100 (rather than 75). #jira UE-29657 Change 2949194 on 2016/04/19 by Max.Chen Sequencer: Matinee to Level Sequence fix for mapping properties correctly. This fixes focus distance not getting set properly on the conversion. #jira UETOOL-467 Change 2949193 on 2016/04/19 by Max.Chen Sequencer - Fix issues with level visibility. + Don't mark sub-levels as dirty when the track evaluates. + Fix an issue where sequencer gets into a refresh loop because drawing thumbnails causes levels to be added which was rebuilding the tree, which was redrawing thumbnails. + Null check for when an objects world is null but the track is still evaluating. + Remove UnrealEd references. #jira UE-25668 Change 2948990 on 2016/04/19 by Aaron.McLeran #jira UE-29654 FadeIn invalidates Audio Components in 4.11 Change 2948890 on 2016/04/19 by Jamie.Dale Downgraded an assert in SPathView::LoadSettings to avoid a common crash when a saved path no longer exists #jira UE-28858 Change 2948860 on 2016/04/19 by Mike.Beach Mirroring CL 2940334 (from Dev-Blueprints): Bettering CreateEvent node errors, so users are able to recover from API changes (not clearing the function name field, calling out the function by name in the error, etc.) #jira UE-28911 Change 2948857 on 2016/04/19 by Jamie.Dale Added an Asset Localization context menu to the Content Browser This allows you to create, edit, and view localized assets from any source asset, as well as edit and view source assets from any localized asset. #jira UE-29493 Change 2948854 on 2016/04/19 by Jamie.Dale UAT now stages all project translation targets #jira UE-20248 Change 2948831 on 2016/04/19 by Mike.Beach Mirroring CL 2945994 (from Dev-Blueprints): Pasting EdGraphNodes will no longer query sub-nodes for compatibility if the root cannot be pasted (for things like collapsed graphs, and anim state-machine nodes). #jira UE-29035 Change 2948825 on 2016/04/19 by Jamie.Dale Fixed shadow warning #jira UE-29212 Change 2948812 on 2016/04/19 by Marc.Audy Gracefully handle failure to load configurable engine classes #jira UE-26527 Change 2948791 on 2016/04/19 by Jamie.Dale Fixed regression in SEditableText bIsCaretMovedWhenGainFocus when using auto-complete Fixed regression in FSlateEditableTextLayout::SetText that caused it to call OnTextChanged when nothing had changed #jira UE-29494 #jira UE-28886 Change 2948761 on 2016/04/19 by Jamie.Dale Sub-fonts are now only used when they contain the character to be rendered #jira UE-29212 Change 2948718 on 2016/04/19 by Jamie.Dale Fixed an issue where FEnginePackageLocalizationCache could be initialized before CoreUObject was ready This is now done lazily, either when the first CDO tries to load an asset (which is after CoreUObject is ready), or after the first call to ProcessNewlyLoadedUObjects (if no CDO loads an asset). #jira UE-29649 Change 2948717 on 2016/04/19 by Jamie.Dale Removed the AssetRegistry's dependency on MessageLog It was only there to add a category that was only ever used by the AssetTools module. #jira UE-29649 Change 2948683 on 2016/04/19 by Phillip.Kavan [UE-18419] Fix GetClassDefaults nodes to update properly in response to structural BP class changes. change summary: - modified UK2Node_GetClassDefaults::CreateOutputPins() to bind/unbind delegate handlers for the OnChanged() & OnCompile() events for BP class types. #jira UE-18419 Change 2948681 on 2016/04/19 by Phillip.Kavan [UE-17794] The "Delete Unused Variable" feature now considers the GetClassDefaults node as well. change summary: - added external linkage to UK2Node_GetClassDefaults::FindClassPin(). - added an include for the K2Node_GetClassDefaults header file to BlueprintGraphDefinitions.h. - added UK2Node_GetClassDefaults::GetInputClass() as a public API w/ external linkage; moved default 'nullptr' param logic into this impl. - modified FBlueprintEditorUtils::IsVariableUsed() to add an extra check for a GetClassDefaults node with a visible output pin for the variable that's also connected. - modified UK2Node_GetClassDefaults::GetInputClass() to return the generated skeleton class for Blueprint class types. #jira UE-17794 Change 2948638 on 2016/04/19 by Lee.Clark PS4 - Fix SDK compile warnings #jira UE-29647 Change 2948401 on 2016/04/19 by Taizyd.Korambayil #jira UE-29250 Revuilt Lighting for Landscapes Map Change 2948398 on 2016/04/19 by Mark.Satterthwaite Add a Mac Metal ES2 shader platform to allow the various ES2 emulation modes to work in the Editor. Fix various issues with the shader code to ensure that Metal can run with ES2 shader code at least in my limited test cases in QAGame. #jira UE-29170 Change 2948366 on 2016/04/19 by Taizyd.Korambayil #jira UE-29109 Replaced Box Mesh with BSP Floor Change 2948360 on 2016/04/19 by Maciej.Mroz merged from Dev-Blueprints 2947488 #jira UE-29115 Nativized BulletTrain - cannot shoot targets in intro tutorial #jira UE-28965 Packaging Project with Nativize Blueprint Assets Prevents Overlap Events from Firing #jira UE-29559 - fixed private enum access - fixed private bitfield access - removed forced PostLoad - add BodyInstance.FixupData call to fix ResponseChannels - ignored RelativeLocation and RelativeRotation in converted root component - fixed AttachToComponent (UE-29559) Change 2948358 on 2016/04/19 by Maciej.Mroz merged from Dev-Blueprints 2947953 #jira UE-29605 Wrong bullet trails in nativized ShowUp Fixed USimpleConstructionScript::GetSceneRootComponentTemplate. Change 2948357 on 2016/04/19 by Maciej.Mroz merged from Dev-Blueprints 2947984 #jira UE-29374 Crash when hovering over Create Widget node in blueprints Safe UK2Node_ConstructObjectFromClass::GetPinHoverText. Change 2948353 on 2016/04/19 by Maciej.Mroz merged from Dev-Blueprints 2948095 #jira UE-29246 ExpandEnumAsExecs + UMETA(Hidden) Crashes Blueprint Compile "Hidden" and "Spacer" elementa from an enum does not generated exec pins for "ExpandEnumAsExecs" Change 2948332 on 2016/04/19 by Benn.Gallagher Fixed old pins being left as non-transactional #jira UE-13801 Change 2948203 on 2016/04/19 by Lee.Clark PS4 - Use SDK 3.508.031 #jira UEPLAT-1225 Change 2948168 on 2016/04/19 by mason.seay Updating test content: -Added Husk AI to level to test placed AI -Updated Spawn Husk BP to destroy itself to prevent spawn spamming #jira UE-29618 Change 2948153 on 2016/04/19 by Benn.Gallagher Missed mesh update for Owen IK fix. #jira UE-22540 Change 2948130 on 2016/04/19 by Benn.Gallagher Fixed old Owen punch IK setup so it no longer jitters when placing the hands on the surface. #jira UE-22540 Change 2948117 on 2016/04/19 by Taizyd.Korambayil #jira UE-28477 Resaved Template Map's to fix Warning Toast on Templates Change 2948063 on 2016/04/19 by Lina.Halper - Anim composite notify change for better - Fixed all nested anim notify - Merging CL 2944396 using //UE4/Dev-Framework_to_//UE4/Release-4.12 #jira : UE-29101 Change 2948060 on 2016/04/19 by Lina.Halper Fix for composite section metadata saving for montage Merging CL 2944397 using //UE4/Dev-Framework_to_//UE4/Release-4.12 #jira : UE-29228 Change 2948029 on 2016/04/19 by Ben.Marsh EC: Prevent automatically pushing CIS builds to the launcher; the changelist might be run more than once. Change 2947986 on 2016/04/19 by Benn.Gallagher Fixed BP callable functions that affect skeletal mesh component transforms not working when simulating physics. #jira UE-27783 Change 2947976 on 2016/04/19 by Mark.Satterthwaite Duplicate CL #2943702 from 4.11.2: Change the way Metal validates the render-target state so that in FMetalContext::PrepareToDraw it can issue a last-ditch attempt to restore the render-targets. This won't fix the cause of the Mac Metal crashes but it might mitigate some of them and provide more information about why they are occurring. #jira UE-29006 Change 2947975 on 2016/04/19 by Mark.Satterthwaite Duplicate CL #2945061 from UE4-UT: Address UT issue UE-29150 directly in the UT branch: users without a sufficiently up-to-date Xcode won't have the 'metal' offline shader compiler so will have to use the slower online compiled text shader format. #jira UE-29150 Change 2947679 on 2016/04/19 by Jack.Porter Fixed 4.12 branch not compiling with the 1.0.8 Vulkan SDK #jira UE-29601 Change 2947657 on 2016/04/18 by Jack.Porter Update protostar reflection capture contents #jira UE-29600 Change 2947301 on 2016/04/18 by Ben.Marsh EC: Fix trigger ready emails failing to send due to recipient list being a space-separated list of addresses rather than an array reference. Change 2947263 on 2016/04/18 by Marc.Audy Merging CL# 2945921 //UE4/Release-4.11 to //UE4/Release-4.12 Ensure that all OwnedComponents in an Actor are duplicated for PIE even if not referenced by a property, unless that component is explicitly transient #jira UE-29209 Change 2946984 on 2016/04/18 by Ben.Marsh GUBP: Allow Ocean cooks in the release branch (fixes build startup failures) Change 2946870 on 2016/04/18 by Ben.Marsh Remaking CL 2946810 to fix compile error in ShooterGame editor. Change 2946859 on 2016/04/18 by Ben.Marsh GUBP: Don't exclude Ocean from builds in the release branch. Change 2946847 on 2016/04/18 by Ben.Marsh GUBP: Fix warning on every build step due to OrionGame_Win32_Mono no longer existing. Change 2946771 on 2016/04/18 by Ben.Marsh EC: Correct initial agent type for release branches. Causing full branch syncs on all agents. Change 2946641 on 2016/04/18 by Ben.Marsh EC: Remove rogue comma causing branch definition parsing to fail. Change 2946592 on 2016/04/18 by Ben.Marsh EC: Adding branch definition for 4.12 release #lockdown Nick.Penwarden [CL 2962354 by Ben Marsh in Main branch]
2016-05-01 17:37:41 -04:00
{
FScrubRangeToScreen RangeToScreen(GetViewRange(), MyGeometry.Size);
Copying //UE4/Release-Staging-4.12 to //UE4/Dev-Main (Source: //UE4/Release-4.12 @ 2955635) ========================== MAJOR FEATURES + CHANGES ========================== Change 2955635 on 2016/04/26 by Max.Chen Sequencer: Fix filtering so that folders that contain filtered nodes will also appear. #jira UE-28213 Change 2955617 on 2016/04/25 by Dmitriy.Dyomin Better fix for: Post processing rendering artifacts Nexus 6 this device on Android 5.0.1 does not support BGRA8888 texture as a color attachment #jira: UE-24067 Change 2955522 on 2016/04/25 by Max.Chen Sequencer: Fix crash when resolving object guid and context is null. #jira UE-29916 Change 2955504 on 2016/04/25 by Alexis.Matte #jira UE-29926 Fix build error for SplineComponent. I just move variable under #if !UE_BUILD_SHIPPING instead #if WITH_EDITORONLY_DATA to fix all build flavor, please feel free to adjust according to what the initial fix was suppose to do. Change 2955500 on 2016/04/25 by Dan.Oconnor Integration of 2955445 from Dev-BP #jira UE-29012 Change 2955234 on 2016/04/25 by Lina.Halper Fixed tool tip of twist node #jira : UE-29907 Change 2955211 on 2016/04/25 by Ben.Marsh Exclude all plugins which aren't required for a project (ie. don't have any content or modules for the current target) from its target receipt. Prevents dependencies on .uplugin files whose dependencies are otherwise compiled out. Re-enable PS4Media plugin by default. #jira UE-29842 Change 2955155 on 2016/04/25 by Jamie.Dale Fixed an issue where text committed via a focus loss might not display the correct text if it was changed during commit #jira UE-28756 Change 2955144 on 2016/04/25 by Jamie.Dale Fixed a case where editable text controls would fail to select their text when focused There was an order of operations issue between the options to select all text and move the cursor to the end of the document, which caused the cursor move to happen after the select all, and undo the selection. The order of these operations has now been flipped. #jira UE-29818 #jira UE-29772 Change 2955136 on 2016/04/25 by Chad.Taylor Merging to 4.12: Morpheus latency fix. Late update tracking frame was getting unnecessarily buffered an extra frame on the RHI thread. Removed buffering and the issue is fixed. #jira UE-22581 Change 2955134 on 2016/04/25 by Lina.Halper Removed code that blocks moving actor when they don't have physics asset #jira : UE-29796 #code review: Benn.Gallagher Change 2955130 on 2016/04/25 by Zak.Middleton #ue4 - (4.12) Don't reject low distance MTD, it could cause us to not process some valid overlaps. (copy of 2955001 in Main) #jira UE-29531 #lockdown Nick.Penwarden Change 2955098 on 2016/04/25 by Marc.Audy Don't spawn a child actor on the client if the server is going to have created one and be replicating it to the client #jira UE-7539 Change 2955049 on 2016/04/25 by Richard.TalbotWatkin Changes to how SplineComponents debug render. Added a SetDrawDebug method to control whether a spline is rendered. Also extended the facility to non-editor builds. #jira UE-29753 - Add ability to display a SplineComponent in-game Change 2955040 on 2016/04/25 by Chris.Gagnon Fixed Initializer Order Warning in hot reload ctor. #jira UE-28811, UE-28960 Change 2954995 on 2016/04/25 by Marc.Audy Make USceneComponent::Pre/PostNetReceive and PostRepNotifies protected instead of private so that subclasses can implement replication behaviors #jira UE-29909 Change 2954970 on 2016/04/25 by Peter.Sauerbrei fix for openwrite with O_APPEND flag #jira UE-28417 Change 2954917 on 2016/04/25 by Chris.Gagnon Moved a desired change from Main to 4.12 Added input settings to: - control if the viewport locks the mouse on acquire capture. - control if the viewport acquires capture on the application launch (first window activate). #jira UE-28811, UE-28960 parity with 4.11 (UE-28811, UE-28960 would be reintroduced without this) Change 2954908 on 2016/04/25 by Alexis.Matte #jira UE-29478 Prevent modal dialog to use 100% of a core Change 2954888 on 2016/04/25 by Marcus.Wassmer Fix compile issue with chinese locale #jira UE-29708 Change 2954813 on 2016/04/25 by Lina.Halper Fix when not re-validating the correct asset #jira : UE-29789 #code review: Martin.Wilson Change 2954810 on 2016/04/25 by mason.seay Updated map to improve coverage #jira UE-29618 Change 2954785 on 2016/04/25 by Max.Chen Sequencer: Always spawn sequencer spawnables. Disregard collision settings. #jira UE-29825 Change 2954781 on 2016/04/25 by mason.seay Test map for Audio Occlusion trace channels #jira UE-29618 Change 2954684 on 2016/04/25 by Marc.Audy Add GetIsReplicated accessor to AActor Deprecate specific GameplayAbility class implementations that was exposing bReplicates #jira UE-29897 Change 2954675 on 2016/04/25 by Alexis.Matte #jira UE-25430 Light Intensity value in FBX is a ratio. So I just multiply the default intensity value by the ratio to have something closer to the look in the DCCs Change 2954669 on 2016/04/25 by Alexis.Matte #jira UE-29507 Import of rigid mesh animation is broken Change 2954579 on 2016/04/25 by Ben.Marsh Temporarily stop the PS4Media plugin being enabled by default, so the UE4Game built for the binary release doesn't depend on it. Will implement whitelist/blacklist for platforms later. #jira UE-29842 Change 2954556 on 2016/04/25 by Taizyd.Korambayil #jira UE-29877 Setup ThirdPersonCharacter based on correct Code Class Change 2954552 on 2016/04/25 by Taizyd.Korambayil #jira UE-29877 Deleting BP class Change 2954498 on 2016/04/25 by Ryan.Gerleve Fix for remote player controllers reporting that they're actually local player controllers after a seamless travel on the server. Transition actors to the new level in a second pass after non-transitioning actors are handled. #jira UE-29213 Change 2954446 on 2016/04/25 by Max.Chen Sequencer: Fixed spawning actors with instance or multiple owned components - Also fixed issue where recorded actors were sometimes set as transient, meaning they didn't get saved #jira UE-29774, UE-29859 Change 2954430 on 2016/04/25 by Marc.Audy Don't schedule a tick function with a tick interval that was disabled while it was pending rescheduling #jira UE-29118 #jira UE-29747 Change 2954292 on 2016/04/25 by Richard.TalbotWatkin Replicated from //UE4/Dev-Editor CL 2946363 (by Frank.Fella) CurveEditorViewportClient - Bounds check when box selecting. Prevents crashing when the box is outside the viewport. #jira UE-29265 - Crash when drag selecting curve keys in matinee Change 2954262 on 2016/04/25 by Graeme.Thornton Fixed a editor crash when destroying linkers half way through a package EndLoad #jira UE-29437 Change 2954239 on 2016/04/25 by Marc.Audy Fix error message #jira UE-00000 Change 2954177 on 2016/04/25 by Dmitriy.Dyomin Fixed: Hidden surface removal is not enabled on PowerVR Android devices #jira UE-29871 Change 2954026 on 2016/04/24 by Josh.Adams [Somehow most files got unchecked in my previous checkin, grr] - ProtoStar content/config updates (enabled TAA in the levels, disabled es2 shaders, hides the Unbuilt lighting warning on Android) #lockdown nick.penwarden #jira UE-29863 Change 2954025 on 2016/04/24 by Josh.Adams - ProtoStar content/config updates (enabled TAA in the levels, disabled es2 shaders, hides the Unbuilt lighting warning on Android) #lockdown nick.penwarden #jira UE-29863 Change 2953946 on 2016/04/24 by Max.Chen Sequencer: Fix crash on undo of a sub section. #jira UE-29856 Change 2953898 on 2016/04/23 by mitchell.wilson #jira UE-29618 Adding subscene_001 sequence for nonlinear workflow testing Change 2953859 on 2016/04/23 by Maciej.Mroz Merged from Dev-Blueprints 2953858 #jira UE-29790 Editor crashes when opening KiteDemo Change 2953764 on 2016/04/23 by Max.Chen Sequencer: Remove "Experimental" tag on the Level Sequence Actor #jira UETOOl-625 Change 2953763 on 2016/04/23 by Max.Chen Cinematics: Change text to "Edit Existing Cinematics" #jira UE-29102 Change 2953762 on 2016/04/23 by Max.Chen Sequencer: Follow up time slider hit testing fix. Don't hit test the selection range if it's empty. This was causing false positives when hovering close to the ranges. #jira UE-29658 Change 2953652 on 2016/04/22 by Rolando.Caloca UE4.12 - vk - Workaround driver bugs wrt texture format caps #jira UE-28140 Change 2953596 on 2016/04/22 by Marcus.Wassmer #jira UE-20276 Merging dual normal clearcoat shading model. 2863683 2871229 2876362 2876573 2884007 2901595 Change 2953594 on 2016/04/22 by Chris.Babcock Disable crash handler for VulkanRHI on Android to prevent sig11 on loading driver #jira UE-29851 #ue4 #android Change 2953520 on 2016/04/22 by Rolando.Caloca UE4.12 - vk - Enable deferred resource deletion - Added one resource heap per memory type - Improved DumpMemory() - Added ensures for missing format features #jira UE-28140 Change 2953459 on 2016/04/22 by Taizyd.Korambayil #jira UE-29748 Resaved Maps to Fix EC Build Warnings #jira UE-29744 Change 2953448 on 2016/04/22 by Ryan.Gerleve Fix Mac/Linux compile. #jira UE-29545 Change 2953311 on 2016/04/22 by Ryan.Gerleve Fix for infinite hang when loading a replay from within an actor tick while demo.AsyncLoadWorld is false. LoadMap for the replay is now deferred using the existing PendingNetGame mechanism. Added virtual UPendingNetGame::LoadMapCompleted function so that the base PendingNetGame and DemoPendingNetGame can have different behavior. To keep things simpler, also parse all replay metadata and streaming levels after the LoadMap call. #jira UE-29545 Change 2953219 on 2016/04/22 by mason.seay Test map for show collision features #jira UE-29618 Change 2953199 on 2016/04/22 by Phillip.Kavan [UE-29449] Fix InitProperties() optimization for Blueprint class instances when array property values differ in size. change summary: - improved UBlueprintGeneratedClass::BuildCustomArrayPropertyListForPostConstruction() by continuing to emit only delta entries for array values that exceed the default array value's size; previously we emitted a NULL in this case to signal a need to initialize all remaining array values in InitProperties(), even if they didn't differ from the default value of the inner property (which in most cases would already have been set at construction time, and thus potentially incurred a redundant copy iteration for each entry) - modified FObjectInitializer::InitArrayPropertyFromCustomList() to no longer reset the array value on the instance prior to initialization - added code to properly resize the array on the instance prior to initialization (if it differs in size from the default array value) - removed code that handled a NULL property value in the custom property list stream (this is no longer necessary, see above) - modified FObjectInitializer::InitProperties() to restore the post-construction optimization for Blueprint class instances (back to being enabled by default) #jira UE-29449 Change 2953195 on 2016/04/22 by Max.Chen Sequencer: Fix crash in actor reference track in the cached guid to actor map. #jira UE-27523 Change 2953124 on 2016/04/22 by Rolando.Caloca UE4.12 - vk - Increase temp frame buffer #jira UE-28140 Change 2953121 on 2016/04/22 by Chris.Babcock Rebuilt lighting for all levels #jira UE-29809 Change 2953073 on 2016/04/22 by mason.seay Test assets for notifies in animation composites and montages #jira UE-29618 Change 2952960 on 2016/04/22 by Richard.TalbotWatkin Changed eye dropper operation so that LMB click selects a color, and pressing Esc cancels the selection and restores the old color. #jira UE-28410 - Eye dropper selects color without clicking Change 2952934 on 2016/04/22 by Allan.Bentham Ensure pool's refractive index >= 1 #jira UE-29777 Change 2952881 on 2016/04/22 by Jamie.Dale Better fix for UE-28560 that doesn't regress thumbnail rendering We now just silence the warning if dealing with an inactive world. #jira UE-28560 Change 2952867 on 2016/04/22 by Thomas.Sarkanen Fix issues with matinee-controlled anim instances Regression caused by us no longer saving off the anim sequence between updates. #jira UE-29812 - Protostar Neutrino spawns but does not Animate or move. Change 2952826 on 2016/04/22 by Maciej.Mroz Merged from Dev-Blueprints 2952820 #jira UE-28895 Nativizing a blueprint project causes the next non-nativizing package attempt to fail Change 2952819 on 2016/04/22 by Josh.Adams - Fixed crash in a Vulkan shader printout #lockdown nick.penwarden #jira UE-29820 Change 2952817 on 2016/04/22 by Rolando.Caloca UE4.12 - vk - Revert back to simple layouts #jira UE-28140 Change 2952792 on 2016/04/22 by Jamie.Dale Removed some code that caused worlds loaded by the Content Browser to be initialized before they were ready Supposedly this code existed for world thumbnail rendering, however only the active editor world generates a thumbnail, so initializing other worlds wasn't having any effect and thumbnails look identical to before. #jira UE-28560 Change 2952783 on 2016/04/22 by Taizyd.Korambayil #jira UE-28477 Resaved Flying Template Map Change 2952767 on 2016/04/22 by Taizyd.Korambayil #jira UE-29736 Resaved Map to Fix EC Warnings Change 2952762 on 2016/04/22 by Allan.Bentham Update reflection capture to contain only room5 content. #jira UE-29777 Change 2952749 on 2016/04/22 by Taizyd.Korambayil #jira UE-29740 Resaved Material and Map to Fix Empty Engine Version Error Change 2952688 on 2016/04/22 by Martin.Wilson Fix for BP notifies not displaying when they derive from an abstract base class #jira UE-28556 Change 2952685 on 2016/04/22 by Thomas.Sarkanen Fix CIS for non-editor builds #jira UE-29308 - Fix crash from GC-ed animation asset Change 2952664 on 2016/04/22 by Thomas.Sarkanen Made up/down behaviour for console history consistent and reverted to old ordering by default Pressing up or down now brings up history. Sorting can now be optionally bottom-to-top or top-to-bottom. Default behaviour is preserved to what it was before the recent changes. #jira UE-29595 - Console autocomplete behavior is non-intuitive / frustrating Change 2952655 on 2016/04/22 by Jamie.Dale Changed the class filter to use an expression evaluator This makes it consistent with the other filters in the editor #jira UE-29811 Change 2952647 on 2016/04/22 by Allan.Bentham Back out changelist 2951539 #jira UE-29777 Change 2952618 on 2016/04/22 by Benn.Gallagher Fixed naming error in rotation multiplier node #jira UE-29583 Change 2952612 on 2016/04/22 by Thomas.Sarkanen Fix garbage collection and undo/redo issues with anim instance proxy UObject-based properties are now cached each update on the proxy and nulled-out outside of evaluate/update phases. Moved some initialization code for CurrentAsset/CurrentVertexAnim from the proxy back to the instance (as its is encapsulated there now). #jira UE-29308 - Fix crash from GC-ed animation asset Change 2952608 on 2016/04/22 by Richard.TalbotWatkin Changed 'Recently Used Levels' and 'Favorite Levels' to hold long package names instead of absolute paths. This means they are now project-relative and will remain valid even if the project location changes. #jira UE-29731 - Editor map recent files are not project relative, leading to missing links when moving projects. Change 2952599 on 2016/04/22 by Dmitriy.Dyomin Disabled vulkan pipeline cache as it causes rendering artifacts right now #jira UE-29807 Change 2952540 on 2016/04/22 by Maciej.Mroz #jira UE-29787 Obsolete nativized files are never removed merged from Dev-Blueprints 2952531 Change 2952372 on 2016/04/21 by Josh.Adams - Fixed Vk memory allocations when reusing free pages #lockdown nick.penwarden #jira ue-29802 Change 2952350 on 2016/04/21 by Eric.Newman Added support for UEReleaseTesting backends to Orion and Ocean #jira op-3640 Change 2952140 on 2016/04/21 by Dan.Oconnor Demoted back to warning to fix regressions in content examples, in main we've added the ability to elevate warnings to errors, but no reason to rush that feature into 4.12 #jira UE-28971 Change 2952135 on 2016/04/21 by Jeff.Farris Fixed issue in PlayerCameraManager where the priority-based sorting of CameraModifiers wasn't sorting properly. Manual re-implementation of CL 2948123 in 4.12 branch. #jira UE-29634 Change 2952121 on 2016/04/21 by Lee.Clark PS4 - 4.12 - Fix staging and deploying of system prxs #jira UE-29801 Change 2952120 on 2016/04/21 by Rolando.Caloca UE4.12 - vk - Move descriptor allocation to BSS #jira UE-21840 Change 2952027 on 2016/04/21 by Rolando.Caloca UE4.12 - vk - Fix descriptor sets lifetimes - Fix crash with null texture #jira UE-28140 Change 2951890 on 2016/04/21 by Eric.Newman Updating locked common dependencies for OrionService #jira OP-3640 Change 2951863 on 2016/04/21 by Eric.Newman Updating locked dependencies for UE 4.12 OrionService #jira OP-3640 Change 2951852 on 2016/04/21 by Owen.Stupka Fixed meteors destruct location #jira UE-29714 Change 2951739 on 2016/04/21 by Max.Chen Sequencer: Follow up for integral keys. #jira UE-29791 Change 2951717 on 2016/04/21 by Rolando.Caloca UE4.12 - Fix shader platform names #jira UE-28140 Change 2951714 on 2016/04/21 by Max.Chen Sequencer: Fix setting a key if it already exists at the current time. #jira UE-29791 Change 2951708 on 2016/04/21 by Rolando.Caloca UE4.12 - vk - Separate upload cmd buffer #jira UE-28140 Change 2951653 on 2016/04/21 by Marc.Audy If a child actor component is destroyed during garbage collection, do not rename, instead clear the caching mechanisms so that a new name is chosen if a new child is created in the future Remove now unused bRenameRequired parameter #jira UE-29612 Change 2951619 on 2016/04/21 by Chris.Babcock Move bCreateRenderStateForHiddenComponents out of WITH_EDITOR #jira UE-29786 #ue4 Change 2951603 on 2016/04/21 by Cody.Albert #jira UE-29785 Revert Github readme page back to original Change 2951599 on 2016/04/21 by Ryan.Gerleve Fix assert when attempting to record a replay when the map has a placed actor that writes replay external data (such as ACharacter) #jira UE-29778 Change 2951558 on 2016/04/21 by Chris.Babcock Always rename destroyed child actor #jira UE-29709 #ue4 Change 2951552 on 2016/04/21 by James.Golding Remove old code for handling 'show collision' in game, uses same method as editor now, fixes hidden meshes showing up in game when doing 'show collision' #jira UE-29303 Change 2951539 on 2016/04/21 by Allan.Bentham Use screenuv for distortion with ES2/31. #jira UE-29777 Change 2951535 on 2016/04/21 by Max.Chen We need to test if the hmd is enabled if it exists. Otherwise, this will return true even if we aren't rendering in stereo if there's an hmd plugin loaded. #jira UE-29711 Change 2951521 on 2016/04/21 by Taizyd.Korambayil #jira UE-29746 Replaced Deprecated Time Handler node in GameLevel_GM Change 2951492 on 2016/04/21 by Jeremiah.Waldron Fix for Android IAP information reporting back incorrectly. #jira UE-29776 Change 2951486 on 2016/04/21 by Taizyd.Korambayil #jira UE-29741 Updated Infiltrator Demo Project to open with the correct Map Change 2951450 on 2016/04/21 by Gareth.Martin Fix non-editor build #jira UE-16525 Change 2951380 on 2016/04/21 by Gareth.Martin Fix Landscape layer blend nodes not updating connections correctly when an input is changed from weight/alpha (one input) to height blend (two inputs) or vice-versa #jira UE-16525 Change 2951357 on 2016/04/21 by Richard.TalbotWatkin Fixed a crash when pushing a new menu leads to a window activation change which would result in the old root menu being dismissed. #jira UE-27981 - [CrashReport] Crash When Attempting to Select Variable Type After Clearing the Name Field Change 2951352 on 2016/04/21 by Richard.TalbotWatkin Added slider bar thickness as a new property in FSliderStyle. #jira UE-19173 - SSlider is not fully stylable Change 2951344 on 2016/04/21 by Gareth.Martin Fix bounds calculation for landscape splines that was causing the first landscape spline point to be invisible and later points to flicker. - Also fixes landscape spline lines not showing up on a flat landscape #jira UE-25114 Change 2951326 on 2016/04/21 by Taizyd.Korambayil #jira UE-28477 Resaving Maps Change 2951271 on 2016/04/21 by Jamie.Dale Fixed a crash when pasting a path containing a class into the asset view of the Content Browser #jira UE-29616 Change 2951237 on 2016/04/21 by Jack.Porter Fix black screen on PC due to planar reflections #jira UE-29664 Change 2951184 on 2016/04/21 by Jamie.Dale Fixed crash in FCurveStructCustomization when no objects were selected for editing #jira UE-29638 Change 2951177 on 2016/04/21 by Ben.Marsh Fix hot reload from IDE failing when project is up to date. UBT returns an exit code of 2, and any non-zero exit code is treated as an error by Visual Studio. Build.bat was not correctly forwarding on the exit code at all prior to CL 2790858. #jira UE-29757 Change 2951171 on 2016/04/21 by Matthew.Griffin Fixed issue with Rebuild not working when installed in Program Files (x86) The brackets seem to cause lots of problems in combination with the if/else ones #jira UE-29648 Change 2951163 on 2016/04/21 by Jamie.Dale Changed the text customization to use the property handle functions to get/set the text value That ensures that it both transacts and notifies correctly. Added new functions to deal with multiple objects selection efficiently with the existing IEditableTextProperty API: - FPropertyHandleBase::SetPerObjectValue - FPropertyHandleBase::GetPerObjectValue - FPropertyHandleBase::GetNumPerObjectValues These replace the need to cache the raw pointers. #jira UE-20223 Change 2951103 on 2016/04/21 by Thomas.Sarkanen Un-deprecated blueprint functions for attachment/detachment Renamed functions to <FuncName> (Deprecated). Hid functions in the BP context menu so new ones cant be added. #jira UE-23216 - "Snap to Target, Keep World Scale" when attaching doesn't work properly if parent is scaled. Change 2951101 on 2016/04/21 by Allan.Bentham Enable mobile HQ DoF #jira UE-29765 Change 2951097 on 2016/04/21 by Thomas.Sarkanen Standalone games now benefit from parallel anim update if possible We now simply use the fact we want root motion to determine if we need to run immediately. #jira UE-29431 - Parallel anim update does not work in non-multiplayer games Change 2951036 on 2016/04/21 by Lee.Clark PS4 - Fix WinDualShock working with VS2015 #jira UE-29088 Change 2951034 on 2016/04/21 by Jack.Porter ProtoStar: Removed content not needed by remaining maps, resaved all content to fix version 0 issues #jira UE-29666 Change 2950995 on 2016/04/21 by Jack.Porter ProtoStar - delete unneeded maps #jira UE-29665 Change 2950787 on 2016/04/20 by Nick.Darnell SuperSearch - Moving the settings object into a seperate plugin to avoid there needing to be a circular dependency between SuperSearch and UnrealEd. #jira UE-29749 #codeview Ben.Marsh Change 2950786 on 2016/04/20 by Nick.Darnell Back out changelist 2950769 - Going to re-enable super search - about to move the settings into a plugin to prevent the circular reference. #jira UE-29749 Change 2950769 on 2016/04/20 by Ben.Marsh Comment out editor integration for super search to fix problems with the circular dependencies breaking hot reload and compiling QAGame in binary release. Change 2950724 on 2016/04/20 by Lina.Halper Support for negative scaling for mirroring - Merging CL 2950718 using //UE4/Dev-Framework_to_//UE4/Release-4.12 #jira: UE-27453 Change 2950293 on 2016/04/20 by andrew.porter Correcting sequencer test content #jira UE-29618 Change 2950283 on 2016/04/20 by Marc.Audy Don't route FlushPressedKeys on PIE shut down #jira UE-28734 Change 2950071 on 2016/04/20 by mason.seay Adjusted translation retargeting on head bone of UE4_Mannequin -Needed for anim bp test. Tested animations and did not see any fallout from change. If there is, it can be reverted. #jira UE-29618 Change 2950049 on 2016/04/20 by Mark.Satterthwaite Undo CL #2949690 and instead on Mac where we want to be able to capture videos of gameplay we just insert an intermediate texture as the back-buffer and use a manual blit to the drawable prior to present. This also changes the code to enforce that the back-buffer render-target should never be nil as the code & Metal API itself assumes that this situation cannot occur but it would appear from continued crashes inside PrepareToDraw that it actually can in the field. This will address another potential cause of UE-29006. #jira UE-29006 #jira UE-29140 Change 2949977 on 2016/04/20 by Max.Chen Sequencer: Add FieldOfView to default tracks for CameraActor. Add FieldOfView to exclusion list for CineCameraActor. #jira UE-29660 Change 2949836 on 2016/04/20 by Gareth.Martin Fix landscape components flickering when perfectly flat (bounds size is 0) - This often happens for newly created landscapes #jira UE-29262 Change 2949768 on 2016/04/20 by Thomas.Sarkanen Moving parent & grouped child actors now does not result in deltas being applied twice Grouping and attachment now interact correctly. Also fixed up according to coding standard. Discovered and proposed by David.Bliss2 (Rocksteady). #jira UE-29233 - Delta applied twice when moving parent and grouped child actors From UDN: https://udn.unrealengine.com/questions/286537/moving-parent-grouped-child-actors-results-in-delt.html Change 2949759 on 2016/04/20 by Thomas.Sarkanen Fix split pins not working as anim graph node inputs Limit surface area of this change by only modifying the anim BP compiler. A better version might be to move the call in the general blueprint compiler but it is riskier. #jira UE-12326 - Splitting a struct in an Anim Blueprint does not work Change 2949739 on 2016/04/20 by Thomas.Sarkanen Fix layered bone per blend accessed from a struct in the fast-path Made sure that the fallback event is always built (logic was still split so if PatchFunctionNamesAndCopyRecordsInto aborted because of some unhandled case if might not have an event to call). Covered struct source->array dest case. Indicator icon is now built from the copy record itself, ensuring it is accurate to actual runtime data. #jira UE-29389 - Fast-Path: Layered Blend per Bone node failing to grab updated values from struct. Change 2949715 on 2016/04/20 by Max.Chen Sequencer: Fix mouse wheel zoom so it defaults to zooming in on the current time/frame. This is a toggleable option in the Editor Preferences (Zoom Position = Current Time or Mouse Position) #jira UE-29661 Change 2949712 on 2016/04/20 by Taizyd.Korambayil #jira UE-28544 adjusted Player crosshair to be centered Change 2949710 on 2016/04/20 by Alexis.Matte #jira UE-29477 Pixel Inspector, UI get polish and adding "scene color" inspect property Change 2949706 on 2016/04/20 by Alexis.Matte #jira UE-29475 #jira UE-29476 Favorite allow all UProperty to be favorite (the FStruct is now supported) Favorite scrollig is auto adjust to avoid scrolling when adding/removing a favorite Change 2949691 on 2016/04/20 by Mark.Satterthwaite Fix typo from previous commit - retain not release... #jira UE-29140 Change 2949690 on 2016/04/20 by Mark.Satterthwaite Double-buffer the Metal viewport's back-buffer so that we can access the contents of the back-buffer after EndDrawingViewport is called until BeginDrawingViewport is called again on this viewport, this makes it possible to capture movies on Metal. #jira UE-29140 Change 2949616 on 2016/04/20 by Marc.Audy 'Merge' latest version of Vulkan from Dev-Rendering to Release-4.12 #jira UE-00000 Change 2949572 on 2016/04/20 by Jamie.Dale Fixed crash undoing a text property changed caused by a null entry in the array #jira UE-20223 Change 2949562 on 2016/04/20 by Alexis.Matte #jira UE-29447 Fix the batch fbx import "not show options" dialog where some option can be different. Change 2949560 on 2016/04/20 by Alexis.Matte #jira UE-28898 Avoid importing multiple static mesh in the same package Change 2949547 on 2016/04/20 by Mark.Satterthwaite You must use STENCIL_COMPONENT_SWIZZLE to access the stencil component of a texture - not all APIs can swizzle it into .g automatically. #jira UE-29672 Change 2949443 on 2016/04/20 by Allan.Bentham Disable sRGB textures when ES31 feature level is set. Only use vk's sRGB formats when feature level > ES3_1 #jira UE-29623 Change 2949428 on 2016/04/20 by Allan.Bentham Back out changelist 2949405 #jira UE-29623 Change 2949405 on 2016/04/20 by Allan.Bentham Disable sRGB textures when ES31 feature level is set. Only use vk's sRGB formats when feature level > ES3_1 #jira UE-29623 Merging using Dev-Mobile_->_Release-4.12 Change 2949391 on 2016/04/20 by Richard.TalbotWatkin PIE with multiple windows now starts focused on Client 1, or the server if not a dedicated server. Added a new virtual call UEditorEngine::OnLoginPIEAllComplete, called when all clients have been successfully logged in when starting PIE. The default behavior is to set focus to the first client. #jira UE-26037 - Cumbersome workflow when running PIE with 2 clients #jira UE-26905 - First client window does not gain focus or mouse control when launching two clients Change 2949389 on 2016/04/20 by Richard.TalbotWatkin Fixed regression which was saving the viewport config settings incorrectly. Viewports are keyed by their layout on the same key as the config key, hence we do not need to prepend the SpecificLayoutString when saving out the config data when iterating through a layout's viewports. #jira UE-29058 - Viewport settings are not saved after shutting down editor Change 2949388 on 2016/04/20 by Richard.TalbotWatkin Change auto-reimport settings so that "Detect Changes on Startup" defaults to true. Also removed the warning of potential unwanted behaviour when working in conjunction with source control; this is no longer necessary now that there is a prompt prior to auto-reimport. #jira UE-29257 - Auto import does not import assets Change 2949203 on 2016/04/19 by Max.Chen Sequencer: Fix spawnables not getting default tracks. #jira UE-29644 Change 2949202 on 2016/04/19 by Max.Chen Sequencer: Fix particles not firing on loop. #jira UE-27881 Change 2949201 on 2016/04/19 by Max.Chen Sequencer: Fix multiple labels support #jira UE-26812 Change 2949200 on 2016/04/19 by Max.Chen Sequencer: Expose settings sequencer settings in the Editor Preferences page. Note, UMG and Niagara have separate sequencer settings pages. #jira UE-29516 Change 2949197 on 2016/04/19 by Max.Chen Sequencer: Fix unwind rotation when keying rotation so that rotations are always set to the nearest. #jira UE-22228 Change 2949196 on 2016/04/19 by Max.Chen Sequencer: Disable selection range drawing if it's empty so that playback range dragging can take precedence when they overlap. This fixes a bug where you can't drag the starting playback range when sequencer starts up. #jira UE-29657 Change 2949195 on 2016/04/19 by Max.Chen MovieSceneCapture: Default image compression quality to 100 (rather than 75). #jira UE-29657 Change 2949194 on 2016/04/19 by Max.Chen Sequencer: Matinee to Level Sequence fix for mapping properties correctly. This fixes focus distance not getting set properly on the conversion. #jira UETOOL-467 Change 2949193 on 2016/04/19 by Max.Chen Sequencer - Fix issues with level visibility. + Don't mark sub-levels as dirty when the track evaluates. + Fix an issue where sequencer gets into a refresh loop because drawing thumbnails causes levels to be added which was rebuilding the tree, which was redrawing thumbnails. + Null check for when an objects world is null but the track is still evaluating. + Remove UnrealEd references. #jira UE-25668 Change 2948990 on 2016/04/19 by Aaron.McLeran #jira UE-29654 FadeIn invalidates Audio Components in 4.11 Change 2948890 on 2016/04/19 by Jamie.Dale Downgraded an assert in SPathView::LoadSettings to avoid a common crash when a saved path no longer exists #jira UE-28858 Change 2948860 on 2016/04/19 by Mike.Beach Mirroring CL 2940334 (from Dev-Blueprints): Bettering CreateEvent node errors, so users are able to recover from API changes (not clearing the function name field, calling out the function by name in the error, etc.) #jira UE-28911 Change 2948857 on 2016/04/19 by Jamie.Dale Added an Asset Localization context menu to the Content Browser This allows you to create, edit, and view localized assets from any source asset, as well as edit and view source assets from any localized asset. #jira UE-29493 Change 2948854 on 2016/04/19 by Jamie.Dale UAT now stages all project translation targets #jira UE-20248 Change 2948831 on 2016/04/19 by Mike.Beach Mirroring CL 2945994 (from Dev-Blueprints): Pasting EdGraphNodes will no longer query sub-nodes for compatibility if the root cannot be pasted (for things like collapsed graphs, and anim state-machine nodes). #jira UE-29035 Change 2948825 on 2016/04/19 by Jamie.Dale Fixed shadow warning #jira UE-29212 Change 2948812 on 2016/04/19 by Marc.Audy Gracefully handle failure to load configurable engine classes #jira UE-26527 Change 2948791 on 2016/04/19 by Jamie.Dale Fixed regression in SEditableText bIsCaretMovedWhenGainFocus when using auto-complete Fixed regression in FSlateEditableTextLayout::SetText that caused it to call OnTextChanged when nothing had changed #jira UE-29494 #jira UE-28886 Change 2948761 on 2016/04/19 by Jamie.Dale Sub-fonts are now only used when they contain the character to be rendered #jira UE-29212 Change 2948718 on 2016/04/19 by Jamie.Dale Fixed an issue where FEnginePackageLocalizationCache could be initialized before CoreUObject was ready This is now done lazily, either when the first CDO tries to load an asset (which is after CoreUObject is ready), or after the first call to ProcessNewlyLoadedUObjects (if no CDO loads an asset). #jira UE-29649 Change 2948717 on 2016/04/19 by Jamie.Dale Removed the AssetRegistry's dependency on MessageLog It was only there to add a category that was only ever used by the AssetTools module. #jira UE-29649 Change 2948683 on 2016/04/19 by Phillip.Kavan [UE-18419] Fix GetClassDefaults nodes to update properly in response to structural BP class changes. change summary: - modified UK2Node_GetClassDefaults::CreateOutputPins() to bind/unbind delegate handlers for the OnChanged() & OnCompile() events for BP class types. #jira UE-18419 Change 2948681 on 2016/04/19 by Phillip.Kavan [UE-17794] The "Delete Unused Variable" feature now considers the GetClassDefaults node as well. change summary: - added external linkage to UK2Node_GetClassDefaults::FindClassPin(). - added an include for the K2Node_GetClassDefaults header file to BlueprintGraphDefinitions.h. - added UK2Node_GetClassDefaults::GetInputClass() as a public API w/ external linkage; moved default 'nullptr' param logic into this impl. - modified FBlueprintEditorUtils::IsVariableUsed() to add an extra check for a GetClassDefaults node with a visible output pin for the variable that's also connected. - modified UK2Node_GetClassDefaults::GetInputClass() to return the generated skeleton class for Blueprint class types. #jira UE-17794 Change 2948638 on 2016/04/19 by Lee.Clark PS4 - Fix SDK compile warnings #jira UE-29647 Change 2948401 on 2016/04/19 by Taizyd.Korambayil #jira UE-29250 Revuilt Lighting for Landscapes Map Change 2948398 on 2016/04/19 by Mark.Satterthwaite Add a Mac Metal ES2 shader platform to allow the various ES2 emulation modes to work in the Editor. Fix various issues with the shader code to ensure that Metal can run with ES2 shader code at least in my limited test cases in QAGame. #jira UE-29170 Change 2948366 on 2016/04/19 by Taizyd.Korambayil #jira UE-29109 Replaced Box Mesh with BSP Floor Change 2948360 on 2016/04/19 by Maciej.Mroz merged from Dev-Blueprints 2947488 #jira UE-29115 Nativized BulletTrain - cannot shoot targets in intro tutorial #jira UE-28965 Packaging Project with Nativize Blueprint Assets Prevents Overlap Events from Firing #jira UE-29559 - fixed private enum access - fixed private bitfield access - removed forced PostLoad - add BodyInstance.FixupData call to fix ResponseChannels - ignored RelativeLocation and RelativeRotation in converted root component - fixed AttachToComponent (UE-29559) Change 2948358 on 2016/04/19 by Maciej.Mroz merged from Dev-Blueprints 2947953 #jira UE-29605 Wrong bullet trails in nativized ShowUp Fixed USimpleConstructionScript::GetSceneRootComponentTemplate. Change 2948357 on 2016/04/19 by Maciej.Mroz merged from Dev-Blueprints 2947984 #jira UE-29374 Crash when hovering over Create Widget node in blueprints Safe UK2Node_ConstructObjectFromClass::GetPinHoverText. Change 2948353 on 2016/04/19 by Maciej.Mroz merged from Dev-Blueprints 2948095 #jira UE-29246 ExpandEnumAsExecs + UMETA(Hidden) Crashes Blueprint Compile "Hidden" and "Spacer" elementa from an enum does not generated exec pins for "ExpandEnumAsExecs" Change 2948332 on 2016/04/19 by Benn.Gallagher Fixed old pins being left as non-transactional #jira UE-13801 Change 2948203 on 2016/04/19 by Lee.Clark PS4 - Use SDK 3.508.031 #jira UEPLAT-1225 Change 2948168 on 2016/04/19 by mason.seay Updating test content: -Added Husk AI to level to test placed AI -Updated Spawn Husk BP to destroy itself to prevent spawn spamming #jira UE-29618 Change 2948153 on 2016/04/19 by Benn.Gallagher Missed mesh update for Owen IK fix. #jira UE-22540 Change 2948130 on 2016/04/19 by Benn.Gallagher Fixed old Owen punch IK setup so it no longer jitters when placing the hands on the surface. #jira UE-22540 Change 2948117 on 2016/04/19 by Taizyd.Korambayil #jira UE-28477 Resaved Template Map's to fix Warning Toast on Templates Change 2948063 on 2016/04/19 by Lina.Halper - Anim composite notify change for better - Fixed all nested anim notify - Merging CL 2944396 using //UE4/Dev-Framework_to_//UE4/Release-4.12 #jira : UE-29101 Change 2948060 on 2016/04/19 by Lina.Halper Fix for composite section metadata saving for montage Merging CL 2944397 using //UE4/Dev-Framework_to_//UE4/Release-4.12 #jira : UE-29228 Change 2948029 on 2016/04/19 by Ben.Marsh EC: Prevent automatically pushing CIS builds to the launcher; the changelist might be run more than once. Change 2947986 on 2016/04/19 by Benn.Gallagher Fixed BP callable functions that affect skeletal mesh component transforms not working when simulating physics. #jira UE-27783 Change 2947976 on 2016/04/19 by Mark.Satterthwaite Duplicate CL #2943702 from 4.11.2: Change the way Metal validates the render-target state so that in FMetalContext::PrepareToDraw it can issue a last-ditch attempt to restore the render-targets. This won't fix the cause of the Mac Metal crashes but it might mitigate some of them and provide more information about why they are occurring. #jira UE-29006 Change 2947975 on 2016/04/19 by Mark.Satterthwaite Duplicate CL #2945061 from UE4-UT: Address UT issue UE-29150 directly in the UT branch: users without a sufficiently up-to-date Xcode won't have the 'metal' offline shader compiler so will have to use the slower online compiled text shader format. #jira UE-29150 Change 2947679 on 2016/04/19 by Jack.Porter Fixed 4.12 branch not compiling with the 1.0.8 Vulkan SDK #jira UE-29601 Change 2947657 on 2016/04/18 by Jack.Porter Update protostar reflection capture contents #jira UE-29600 Change 2947301 on 2016/04/18 by Ben.Marsh EC: Fix trigger ready emails failing to send due to recipient list being a space-separated list of addresses rather than an array reference. Change 2947263 on 2016/04/18 by Marc.Audy Merging CL# 2945921 //UE4/Release-4.11 to //UE4/Release-4.12 Ensure that all OwnedComponents in an Actor are duplicated for PIE even if not referenced by a property, unless that component is explicitly transient #jira UE-29209 Change 2946984 on 2016/04/18 by Ben.Marsh GUBP: Allow Ocean cooks in the release branch (fixes build startup failures) Change 2946870 on 2016/04/18 by Ben.Marsh Remaking CL 2946810 to fix compile error in ShooterGame editor. Change 2946859 on 2016/04/18 by Ben.Marsh GUBP: Don't exclude Ocean from builds in the release branch. Change 2946847 on 2016/04/18 by Ben.Marsh GUBP: Fix warning on every build step due to OrionGame_Win32_Mono no longer existing. Change 2946771 on 2016/04/18 by Ben.Marsh EC: Correct initial agent type for release branches. Causing full branch syncs on all agents. Change 2946641 on 2016/04/18 by Ben.Marsh EC: Remove rogue comma causing branch definition parsing to fail. Change 2946592 on 2016/04/18 by Ben.Marsh EC: Adding branch definition for 4.12 release #lockdown Nick.Penwarden [CL 2962354 by Ben Marsh in Main branch]
2016-05-01 17:37:41 -04:00
float TimePosition = RangeToScreen.InputToLocalX(ScrubPosition);
MouseFractionX = TimePosition / MyGeometry.GetLocalSize().X;
}
}
const float ZoomDelta = -0.2f * MouseEvent.GetWheelDelta();
if (ZoomByDelta(ZoomDelta, MouseFractionX))
{
return FReply::Handled();
}
}
Copying //UE4/Dev-Sequencer to Dev-Main (//UE4/Dev-Main) #lockdown nick.penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2719576 on 2015/10/07 by Chris.Wood Added check for stale BP classes in FKismetCompilerUtilities::IsTypeCompatibleWithProperty() to stop compiler errors during reinstancing. [UE-19795] - UMG Compiler error when adding variable to nested Widget Change 2721474 on 2015/10/08 by Andrew.Rodham Sequencer: Movie render operations now successfully capture UMG UI Change 2724958 on 2015/10/12 by Chris.Wood Added missing resource cleanup code to UMG widgets [UE-21874] - UWIdget classes with missing ReleaseSlateResources() overrides Added ReleaseSlateResources() to ListView, TileView and Slider widgets to reset shared pointers to slate widgets. Change 2733562 on 2015/10/19 by Andrew.Rodham Sequencer: Fixed spawnables not working in sub-sequences - The issue here was that sequence track instance updates had no knowledge of which sub-sequence they were being evaluated within. We now pass the active sequence instance into the relevant track instance functions. - Also addressed some issues to do with save/restore state not getting called correctly on master tracks of sequence instances - Tidied up spawn track editor Change 2735264 on 2015/10/20 by Chris.Wood Improved Engine analytics handling for Editor and games [UE-21892] - Improve how Engine analytics are handled for Editor and games Changes: Added Privacy section to Editor settings Exposed editor analytics flag in Privacy options Added Details Customization to make this type of bool property clearer with extra info and hyperlink Changed AreEditorAnalyticsEnable() to use new flag Prevented analytics init when disabled by user Sending event and shutting down analytics when user opts out Add in-game project setting for anonymous game usage data Renamed and moved bHardwareSurveyEnabled Added message about exposing in-game setting to end users Added anonymous GUID id for in-game analytics Moved end user settings to global config (defaultengine.ini) Placeholder loc text on new options for now, pending legal wording sign-off Change 2735866 on 2015/10/20 by Max.Preussner Async: Added ability to register an optional callback function that is executed when a Future completes Change 2739793 on 2015/10/23 by Andrew.Rodham Sequencer: Refined movie scene capturing to ensure frame accuracies are maintained - Aborting an in-progress capture now gracefully terminates the process (through a remote session command) to ensure it still creates a valid video - Level sequece movie capture will now pick up a corresponding level sequence in the world, and use that to capture with. A new actor will be spawned at runtime with the correct asset, should one not already exist. - Made -nomovie actually work - Refined how active movie captures are managed - Added option to 'stage' a sequence before starting the capture. This feature will set the sequence on its first frame for the preroll, to ensure that PPP effects are allowed time to stabilize Change 2744402 on 2015/10/28 by Max.Preussner Sequencer: Separated track display names from track identifier names; code cleanup Change 2745953 on 2015/10/29 by Max.Chen Sequencer: Attach to socket. Relative attachments. #jira UETOOL-463 Change 2747028 on 2015/10/29 by Max.Preussner Sequencer: Another overhaul of track display name handling; code and documentation cleanup pass. Change 2758888 on 2015/11/09 by Chris.Wood Integrating changes - 4.10 to Dev-Sequencer From 4.10 branch fixes: Added check for debugger present when reporting abnormal termination to analytics. [UE-22844] CL 2750764 Added FSystemWideCriticalSection for desktop platforms. Used by analytics to lock access to editor instances list in the OS. [UE-22844] CL 2753661 Updating wording in privacy settings text. [UE-21892] CL 2753709 Mac and Linux CIS fix [UE-22844] CL 2755381 Change 2761287 on 2015/11/10 by Max.Chen Sequencer: Add null check when updating the UMG preview if the sequencer doesn't exist/has been closed. #jira UE-5206 Change 2764945 on 2015/11/12 by Max.Preussner Core: Templatized TypeContainer implementation to allow for thread-safe objects; updated unit test Also fixes UE-13850 Change 2765036 on 2015/11/12 by Max.Preussner UdpMessaging: Fixed message serialization unit test (UE-22571) #jira: UE-22571 Change 2766149 on 2015/11/13 by Max.Preussner Media: Implemented event that gets triggered when playback reached the end of media Also fixes looping. Change 2768157 on 2015/11/16 by Max.Preussner Media: Added .m4a to supported WMF file extensions Change 2769200 on 2015/11/16 by Max.Chen Editor: Add broadcast messages when snapping objects. #jira UE-22680 Change 2773066 on 2015/11/19 by Chris.Wood Upload crashes from CRC to Data Router [UECORE-249] - Integrate Crash Report Client with the Data Router Upload to Receiver still active as we are running both in parallel for now.
2015-12-11 13:52:32 -05:00
else if (MouseEvent.IsShiftDown())
{
PanByDelta(-MouseEvent.GetWheelDelta());
return FReply::Handled();
}
return FReply::Unhandled();
}
FCursorReply FSequencerTimeSliderController::OnCursorQuery( TSharedRef<const SWidget> WidgetOwner, const FGeometry& MyGeometry, const FPointerEvent& CursorEvent ) const
{
TSharedPtr<FSequencer> Sequencer = WeakSequencer.Pin();
if (!Sequencer.IsValid())
{
return FCursorReply::Unhandled();
}
FScrubRangeToScreen RangeToScreen(GetViewRange(), MyGeometry.Size);
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 4044339) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3947021 by Max.Chen Sequencer: Don't preserve root component when copying object properties. A spawnable empty actor, has a root component that is generated by the empty actor factory. If the object template's root component is preserved when copying from the spawnable empty actor, the root component will not be copied over. Therefore, we need to NOT preserve the root component when copying object properties. #jira UE-55825 Change 3947366 by Max.Preussner WmfMedia: Better log output Change 3947367 by Max.Preussner MfMedia: Better detection of compressed format properties on Windows Change 3949102 by Max.Chen Sequencer: Remove SequenceActorTag when converting to possessable. #jira UE-56206 Change 3949207 by andrew.porter EngineTest: Set the screenshot nodes resolution to 1280x720 Change 3949404 by Max.Chen Sequencer: More informative tooltip for "Rerun Construction Scripts" option. It now says "Rerun construction scripts every frame on actors that have 'Rerun Construction Script in Sequencer' enabled in their class settings". Change 3950067 by Matt.Hoffman Renamed UAutomatedLevelSequenceCapture's StartFrame and EndFrame to CustomStartFrame/CustomEndFrame to reflect that it is user-overriden. This will also resolve upgrade issues due to the variable datatype changing. #jira UE-56189 Change 3950193 by JohnHenry.Carawon Updating my latest MovieRendering test content. Change 3950757 by JohnHenry.Carawon More updates to MovieRendering test content Change 3952059 by Max.Chen Resave LevelVisibility_SubLevels to fix data loss conversion warning of OpacityMaskConstant #jira UE-56086 Change 3952283 by Max.Chen Sequencer: Disable dropping level sequence assets as spawnables. #jira UE-56120 Change 3952422 by Max.Chen Sequence Recorder: Add button to record from the current player. #jira UE-55942 Change 3952987 by JohnHenry.Carawon MovieRendering Test Content - Fixing camera bindings and changing the override binding actor Change 3953823 by Mike.Zyracki Fix for Bad FBX Import Tangents not scaled by frame rate. After looking at this again it seems that a set of MovieScene:: overiddes for the channel traits wasn't set correctly, so use the ADL idiom to use MovieScene, which can then call Optimize in the correct namespace. With this we can now correctly use the passed in tolerance. There was also a redundant set of Optimize calls so that it could happen twice so removed them, and needed an extra check in the float channel Optimize. Also since we need to set auto tangents no matter if we optimize we don't set that parameter(though leave it since it's used by context menu key reduction). Finally fixed speed issue with trajectories caused by calculating way too many substeps. Reverted back to a time based step size for consistency. #jira UE-56193 Change 3954317 by Matt.Hoffman Adding a key to the last frame of a section no longer causes a crash. Keys can already be moved to be on the last frame of a section so now you can just add a key there directly. #jira UE-56255 Change 3954326 by Matt.Hoffman Dilating a section that is only infinite on one side no longer causes a crash. #jira UE-56260 Change 3954486 by Max.Chen PR #4580: Exposes IsReversed() from UMovieSceneSequencePlayer (Contributed by alanedwardes) Change 3955238 by Max.Preussner Messaging: Enabled delayed message routing https://github.com/EpicGames/UnrealEngine/pull/4574 #jira UE-56247 Change 3955901 by Max.Preussner MediaFrameworkTest: Added developer test for overriding desired media player plug-in at runtime. Change 3955922 by Andrew.Porter QAGame: Updating movie rendering content in dev folder Change 3956004 by andrew.porter QAGame: Adding MPC track to movie rendering test content Change 3956510 by Max.Chen Sequencer: Fix fbx camera import of static properties so that they are imported before default tracks are created. Otherwise, the default tracks inherit the default properties of the camera, rather than the values from the fbx. #jira UE-56311 Change 3957613 by Max.Preussner MediaUtils: Added code documentation to media player facade Change 3958005 by Max.Preussner MediaUtils: Added method to get number of sinks Change 3958934 by Max.Chen Sequencer: Fix keys getting added and sequence getting erroneously re-evaluated when auto key is off. Only apply defaults if there are no keys. Only modify the movie scene section before creating keys or setting defaults. #jira UE-55903 Change 3959687 by Andrew.Rodham Sequencer: Fixed visibility track external values being inverted #jira UE-56324 Change 3960507 by Max.Preussner Core: Fixed incorrect rounding in FMath::DivideAndRoundNearest Change 3962047 by JohnHenry.Carawon MovieRendering Test Content Changes: - Add Lightmass Importance Volumes to sublevel to fix warnings - Rebuilt Lighting - Add a third sequence for Gamut testing - Resaved the sound master.uasset to fix warning Change 3962211 by Mike.Zyracki Add Frame Numbers to selected animation sections. Added MapTimeToAnimation to MovieSceneSkeletalAnimation so that we could get it from the Skeleton Animation track Editor. Since the thickness of the frame line can change based upon frame rate and zoom we need to calculate it similarly to how the time slider controller does it. Those calculations were private so we had to expose FScrubRangeToScreen and GetScubberPixelRange from the TimeSliderController. Also needed to know if the section itself was selected so added a bIsSelected flag to the section Painter. Also fixed a bug where you couldn't add a section if other sections existed at different times in MovieScenePropertyTrack and could crash due to the check(). #jira UESEQ-395 Change 3962497 by Max.Preussner Core: Added new string formatting argument to FTimespan Change 3963662 by Max.Chen CineCamera: Flip VistaVision width and height. Change 3963731 by Max.Preussner MediaCompositing: Implemented sequence recording support for media track Change 3964195 by Andrew.Rodham Sequencer: Set inverted property correctly for newly created visibility track sections - Also clamp evaluation for key editors to the bounds of the section so we're not displaying values outside of the section bounds when the cursor is not on the bounds #jira UE-56324 #coderevew Max.Chen Change 3964196 by Andrew.Rodham Sequencer: Fixed crash when attempting to render sections that resulted in a negative intersection with the view range Change 3964275 by Andrew.Rodham Sequencer: Fixed MovieScene::ClampToDiscreteRange for infinite range bounds Change 3964364 by Andrew.Rodham Curve Editor: Reduce minimum vertical view range when zooming to fit Change 3965091 by Max.Chen Sequencer Recorder: Refresh next sequence if empty when starting a recording, otherwise, use existing name. #jira UE-56469 Change 3965148 by Max.Chen Sequence Recorder: Move Record to Possessable to "Actor Recording" group Change 3965162 by Max.Chen Sequence Recorder: Always break out of immersive mode when done recording, even when stopping recording during countdown. #jira UE-56407 Change 3965214 by Max.Preussner QAGame: Enabled ImagePlate plug-in Change 3965574 by Max.Preussner SimpleComposure: Reorganized & upgraded content to work with new Media Track #jira UE-56488 Change 3965651 by Max.Preussner MediaCompositing: Ignoring seek-on-open if media not seekable Change 3966075 by Christina.TempelaarL Sequencer: Added Final Cut Pro 7 XML Export functionality #jira UESEQ-358 Change 3966087 by Matt.Hoffman Adding a single key to the Particle Toggle track now makes an infinite range section that is displayed in the UI. #jira UE-56295 Change 3966547 by Andrew.Rodham Sequencer: Fixed rounding errors when drawing the section background on boolean sections - Logic was using time in sectonds which caused rounding errors on evaluation and flickering red/green stripes when dragging keys around #jira UE-56324 Change 3966563 by Andrew.Rodham Curve Editor: Key editor interface improvements - SKeyEditInterface has a few problems - it does not update in real time when editing properties, and does not support multi-edit which makes it unsuitable for use with the curve editor - We now take a different approach for editing keys by gathering a set of proxy UObjects for each key that is currently selected. These objects are added as top level objects to the details panel which means they support multi edit as you'd expect from any other details panel in the editor. - Proxy objects are updated every tick for the curve editor if they implement the ICurveEditorKeyProxy interface, which allows them to refresh their current value. - Ideally, the same mechanisms would be used in the main sequence interface, and we would be generating the proxy classes at runtime based on the key value type, but that work remains a separate task from this initial offering. #jira UE-56165 Change 3966564 by Andrew.Rodham Curve Editor: Expand to frame when adding or moving keys in the curve editor Change 3967051 by andrew.porter MediaFrameworkTest: Set the CameraPlayer_Video texture to auto clear Change 3967141 by Andrew.Rodham Sequencer: Keep track of spawned objects that have been modified and only re-save such object's default spawnable state on destruction - Now that we're taking this approach, I've remove serveral redundant bits of functionality in the spawn register such as making some spawnables read-only, and the PreSave binding for Sequencer. - We now hook into all object pre-saves to make sure we handle the case where the sequences are saved through the content browser or elsewhere. #jira UE-47686 Change 3967170 by Andrew.Rodham Sequencer: Added the ability to possess anim instances as object bindings - This allows full and direct animation of properties on UAnimInstance, and animation blueprints - Object Bindings are made by first possessing a skeletal mesh component, then choosing the + Add button where its anim instance will be listed - Added a new function to UMovieSceneSequence to gather previously cached objects that should now be invalidated. Anim instances will be re-resolved if a new UAnimInstance is assigned to USkeletalMeshComponent::GetAnimInstance. - ObjectBindingIDs for anim instances are just represented by an entry in a set of GUIDs. We only ever resolve such bindings through USkeletalMeshComponent::GetAnimInstance. - Only currently supported on LevelSequences #jira UE-56132 Change 3967195 by Max.Preussner Core: Updated TRangeSet to use TCallTraits Change 3967345 by JohnHenry.Carawon Test Content Changes - first iteration of spacing out the examples in the shots. Change 3967572 by Max.Chen Sequencer: Fix setting PreviousPlayEvalPosition until after we've tested whether it's set. #jira UE-56518 Change 3967750 by Max.Chen Audio: Set duration based on number of input channels, rather than number of channels to serialize. This fixes an issue where audio split into 2 channels is set to a duration that's twice as long. #jira UE-56430 Change 3967836 by Max.Chen Sequencer: Allow for animating array elements within ustruct properties #jira UE-55887 Change 3968506 by Matt.Hoffman Fixed ambiguous conversions for seconds and frames being overriden by ambiguous conversion to Timecode (in frames). Change 3968748 by Max.Chen Sequencer: Make the event properties submenu widget larger. #jira UE-55557 Change 3968862 by Max.Chen Sequencer: Recursive expansion when shift is down #jira UE-52139 #pr 4194 Change 3968863 by Max.Chen Sequencer: Bind rename command to selected track so that F2 shortcut start renaming #jira UE-52139 #pr 4194 Change 3968872 by Max.Chen Sequencer: Rekey the selected key at the current time. #jira UESEQ-396 Change 3968938 by Max.Chen Cine Camera: Add option to toggle the behavior of locking the rail mount to the orientation of the spline. By default, the option is off, no change in behavior. #jira UE-55815 Change 3968958 by Andrew.Rodham Sequencer: Consider vertical position when hittesting keys #jira UE-56256 Change 3969643 by Max.Preussner Core: Rounding timespans created from double values towards nearest ticks Change 3969646 by Max.Preussner MediaUtils: Implemented timeout mechanism for block-on-fetch feature Change 3969776 by Mike.Zyracki Added Skip Anim Notifiers Toggle per what was in Matinee. Investigated the Enable Root Motion toggle as also discussed but it's implementation is directly contained by the animation asset and unlike animation notifies there seems to be no exposure to interactively disable it during a playback tick. Note if we are generating thumbnails we still automtically disable notifies in the editor to avoid annoying noise playback. Note that if Enable Root Motion/Root locked is specified in the animation asset it does correctly effect the Sequencer. #jira UESEQ-399 Change 3969835 by Matt.Hoffman Playback Range and Selection Range use unified logic for adding themselves as potential snap locations which properly handles inclusive/exclusive bounds. This resolves an issue where having an unset selection range caused a potential snap location to be added on frame 0 and 1 (internal resolution) which caused a misalignment when placing objects near frame 0. This also removes the one frame offset on setting Selection Range to bring behavior inline with other ranges. #jira UE-55420 Change 3969885 by Max.Preussner MediaAssets: Don't register media player CDO with media ticker Change 3971129 by Andrew.Rodham Sequencer: Fixed UMovieSceneSequencePlayer::GotToEndAndStop() not taking into account for start time This is a remnant from when the times were always specified in 0-duration space, rather than actual sequence times. Change 3972056 by JohnHenry.Carawon More updates to Test Content. I continued spacing out the examples in the sequence so that they have a consistent number of frames between each example and during the start/end of the example. Also removed the Marcie sublevel. Change 3972066 by Andrew.Porter MediaFrameworkTest: Setting Marcie folder to be never cooked in package settings Change 3972675 by Matt.Hoffman Splitting Subsequence Sections no longer sets an incorrect playback range on the subsequence when the subsequence has a different internal resolution than the owning sequence. #jira UE-55453 Change 3973376 by Max.Preussner ImgMedia: Zero is the only valid video track for image sequences Change 3973489 by Max.Preussner Launch: Build rules cleanup pass - don't use Media, MediaUtils on server apps - don't link against Media (include-only dependency) - don't include from MediaAssets (dynamic load only) Change 3973760 by Max.Preussner MediaUtils: Moved AppMediaTimeSource implementation into its own file; added logging Change 3973765 by Max.Preussner ImgMedia: Disallowing seek beyond media length Change 3973855 by Max.Preussner MediaFrameworkTest: Updated developer test content Change 3973858 by Max.Preussner MediaCompositing: Blocking on media player time instead of media sample time (the former may not be hit in the current frame) Change 3974988 by Max.Chen Sequencer: Fix trim left so that it also sets the start offset for audio and skeletal animation sections. #jira UE-57015 Change 3976101 by Matt.Hoffman Sequencer will now focus the scroll view on newly created items. #jira UE-56492 Change 3976203 by Max.Chen Property Editor: Add DetailsViewArgs for ColumnWidth. Defaults to 0.65f, no change in existing behavior. Change 3976205 by Max.Chen Sequencer: Set better column widths for sequencer. #jira UE-55557 Change 3976206 by Max.Chen Sequencer: Added menu category for import/export Change 3976265 by Matt.Hoffman Tracks within Object Binding Nodes will now sort using the old behavior so that components are added above other track types. #jira UE-56473 Change 3976901 by Max.Chen Sequencer: Add event names to event track section #jira UESEQ-353 Change 3977878 by Max.Preussner Media: Moved media framework ticking stats into Media module Change 3977982 by Max.Chen Sequencer: Add Edit->Reset section length to duration of source (ie. audio, skeletal animation, shot length) Added MovieSceneSection::GetDefaultDuration and MovieScene::HasDefaultDuration #jira UESEQ-392 Change 3977994 by Max.Preussner Media: Fetching and rendering media samples before viewports are rendered (to ensure frame sync for in-level media playback) #jira UE-53975 Change 3978188 by Matt.Hoffman Easing Curves are now clipped by the sequence's PlayRange when testing against an infinite section. This causes blended sequences to finish their blend when the section starts/ends instead of always using 25% of the total section length to determine default blend range. #jira UE-56362 Change 3978676 by Max.Preussner MediaCompositing: Fixed first frame of rendered out media track missing #jira UE-53975 Change 3978684 by Max.Preussner MediaCompositing: Enabled media track frame sync feature #jira UE-53975 Change 3980026 by Matt.Hoffman Keys can be selected on folded out sections (such as an audio track expanded to show volume and pitch) again. #jira UE-57169 Change 3981614 by Max.Preussner MediaUtils: Added missing subtitle sample queue flush Change 3982311 by Max.Preussner MediaCompositing: Added safeguard for zero length media sources Change 3982389 by andrew.porter QAGame: Adding media track test content into FrameAccuracySubscene Change 3983661 by Max.Chen Sequencer: Add level name to spawn a spawnable into. Add sublevel menu option to set the level #jira UESEQ-390 Change 3983712 by Andrew.Rodham Sequencer: Purge legacy blueprint spawnables from LevelSequence packages #tests Ran a preflight for cooking fortnite, ocean and Orion. Only orion shows up this edge case, and will require a re-save of the EndCines level #jira UE-39173 Change 3983787 by Max.Preussner MediaCompositing: Moved compile time switch for block-on-fetch into media player facade Change 3983812 by Andrew.Rodham Sequencer: Exposed default level sequence instance data to blueprints Change 3984373 by Max.Preussner Media: Added API for quering whether player plug-in supports block on fetch Block on fetch allows Sequencer and other systems to block the game thread until a desired video frame has been decoded. Change 3984670 by JohnHenry.Carawon Movie Rendering Test Content progress. Saving the state of the content. There is a bug where things got replaced with particle emitters and I think it was because I tried to copy paste an animation track into a separate skeletal mesh track. Change 3985097 by Max.Chen Sequencer: Rename Reset to AutoSize Change GetAutoSizeDuration to return TOptional<FFrameTime> #jira UESEQ-392 Change 3986043 by Max.Chen Sequencer: Fix crash when attach/path duration is less than 0. #jira UE-57310 Change 3986373 by Max.Chen Sequencer: Add support for deleting tracks and channels which equates to setting the channel mask. #jira UE-52951 Change 3986375 by Max.Chen Sequencer: Add Create Pose Asset to skeletal animation section. This allows animators to blend animations in sequencer and create new pose assets from them. #jira UESEQ-408 Change 3986796 by Andrew.Rodham Sequencer: Fixed stale object references remaining in ULevelSequence::BindingReferences when using convert to spawnable/possessable - We used to convert objects by creating a new binding, then re-assigning its GUID, which meant we didn't have to do any further object fixup, but the code to achieve this was confusing and led to a vulnerability where object references would not be cleaned up correctly due to the newly created possessable essentially being a temporary object that's immediately thrown away. - To address this, there is now a function for porting all the contents of one object binding to another, and handles the correct fixup required for parent/child object bindings for both spawnables and possessables. - Also added codepath to remove any stale object references from the level sequence reference map on PostLoad (this piggy-backs off the PurgeLegacyBlueprints object version which is close close enough to this change to be identical) #tests Verified that existing sequences with stale references get cleaned up on load. Verified that repreatedly converting from spawnable<->possessable cleans up references correctly. Change 3987807 by JohnHenry.Carawon Updates to the MovieRendering Test Content. - Fixed the spawnable actors that were overwritten - Shortend the Lighting example and combined the Intensity and Color tracks - Organized the Sequence and WorldOutliner to group the examples. Change 3988151 by Max.Chen Cine Camera: Enable keying the "Enable Look at Tracking" toggle. Change 3988880 by Max.Chen Sequencer: Support enter to add asset for all sequencer track editors that have asset pickers. #jira UE-57367 Change 3988953 by Max.Chen Sequencer: Make the track color picker focusable so that it will close when you click away or lose focus. #jira UE-57210 Change 3988962 by Max.Chen MovieSceneCapture: Fix EDL export so that it takes into account movie scene frame resolution and desired frame rate. #jira UE-57365 Change 3988964 by Max.Chen Movie Scene Capture: Clarified tooltip for bRelativeFrameNumbers. If you specify custom start/end frames for the recording, they will be relative to the playback range. #jira UE-57308 Change 3989442 by Max.Chen Fix CIS Change 3991548 by Matt.Hoffman Dragging the time slider no longer causes the time slider to ignore snap-to-interval with "Snap to Keys While Scrubbing" when no keys are in range. #jira UE-57417 Change 3991598 by Matt.Hoffman Snap to Key while scrubbing now mirrors the behavior of "jump to next key". When there are no tracks selected it snaps to all keys and when there are tracks selected it snaps to only keys from that track. This also resolves an issue where deleting an object did not remove it from the Sequencer's selection. Undoing a delete already doesn't seem to restore your selection, so removing it from your selection shouldn't change that behavior. #jira UE-57417 Change 3991603 by Max.Chen Sequencer: Disable EditAnywhere for some section properties #jira UE-53530 Change 3992240 by Max.Preussner MediaAssets: Implemented dynamic audio sample rate adjustment based on audio/media clock drift #jira FORT-70638 Change 3992911 by Andrew.Rodham Sequencer: Fixed saving spawnable state using the wrong spawned object - We now track the object binding ID so that we can apply the spawned object to the correct spawnable when the asset is saved #jira UE-57353 Change 3992914 by Max.Chen Movie Scene Capture: Fix compression quality not being set. The compression interface wasn't being found through query interface, so no compression was being set. Reworked finding it through the output pins. Tested running various compression values. #jira-UE-55488 Change 3992919 by Max.Chen Sequencer: Convert to possessable now uses object template instead of copying properties (ie. see LevelSequenceActorSpawner). This fixes MIDs getting lost when converting to spawnable and back to possessable. #jira UE-52400 Change 3993184 by Max.Chen Sequencer: Don't show +Transform/+Path/+Attach track if the actor has the "Mobility" property hidden. Set the Landscape, LandscapeProxy and InstancedFoliage "Mobility" property to be hidden since it is static is not supposed to be dynamically movable. #jira UE-56347 Change 3993238 by Max.Chen Sequencer: Test for hidden mobility in creating keys as well. Refactored to HasHiddenMobility() #jira UE-56347 Change 3993978 by Max.Chen Cine Camera: Enable keying the "Enable Look at Tracking" toggle. #jira UE-57489 Change 3994039 by Max.Chen Landscape: Add Mobility to hidecategories on landscape component #jira UE-56347 Change 3994626 by JohnHenry.Carawon Updated Movie Rendering Test Content. - Fixed the overridden spawnables to their proper object types. Change 3994653 by Christina.TempelaarL Sequencer: Added Final Cut Pro 7 XML Import functionality, improved Export functionality #jira UESEQ-358 Change 3995609 by Max.Chen UMG: Add support for 2d transform mask (translation, rotation, scale, shear) #jira UE-52951 Change 3995778 by JohnHenry.Carawon Movie Rendering Test Content Updates - Adjusted Lights example - Adjusted Camera example - Added Marcie sublevel back in Change 3995942 by JohnHenry.Carawon QAGame: Moving Movie Rendering test content from Developer folder to Sequencer folder Also adjusted level visibility, lights and camera example. Change 3995993 by Christina.TempelaarL Sequencer: FCPXML Export updates - only export sections if in playback range and media exists, warn if media does not exist. Other updates - removed unused methods and variables, fixed message context naming to be more accurate #jira UESEQ-358 Change 3996595 by andrew.porter QAGame: Updating Marcie content in TrackEvaluation level to use Image Plate Change 3996614 by andrew.porter QAGame: Adding color test sequence to the sublevel Change 3996643 by Max.Chen Sequencer: Fix fbx animation export - rotation and scale channels were flipped. #jira UE-57509 #jira UE-57512 #jira UE-57514 Change 3996652 by Max.Preussner Messaging: Fixed delayed messaging using incorrect current time after message router sleep Based on https://github.com/EpicGames/UnrealEngine/pull/4601 Change 3996801 by Max.Chen Sequencer: Fix folder active state for non key area sections. Look at track node sections as well as key areas. #jira UE-57550 Change 3997098 by Matt.Hoffman Cleaned up some remaining ToDo's in STimeRange. Change 3998339 by Max.Preussner Sockets: Added documentation for socket receive functions Change 3998359 by Max.Preussner MediaUtils: Started to implement media recorder helper class Currently only supports BGRA frames in CPU memory. Supporting other formats and buffer types will require conversions on render-thread. I recommend refactoring out the existing conversion code in FMediaTextureResource into a reusable helper class in the MediaUtils module. This should be a good starting point though. Change 3998417 by Matt.Hoffman Keys and Sections can now be moved at the same time inside of Sequencer. Keys can now snap to Sections (and vice versa) instead of just to other Keys. Sections can now be duplicated like keys can. #jira UE-56995 Change 3998427 by JohnHenry.Carawon QAGame: Updating test content for the Movie Rendering feature. - Added an auto activate particle to the beginning of the sequence (it's not part of the sequence at all) - Added an event receiver blueprint to the Events example - Added a particle emitter to both sublevels - Added a camera cut to the end that switches to a separate camera - The camera zoom in, focus and Look At sections are all separate (not overlapping in the sequence) - Added a second actor for the camera Look At - Added a Visibility section for the Actor Hidden In Game track that has possessable and spawnable cube and light Change 3998537 by Max.Chen Sequence Recorder: Restore immersive mode when stopping the sequence even if not in PIE. #jira UE-56407 Change 3999809 by Matt.Hoffman Removed the "Go To" box from Sequencer and instead placed the current time as an always visible control. The previous shortcut (Ctrl + G) now focuses the new widget directly. #jira UESEQ-376 Change 4000543 by Christina.TempelaarL Sequencer: Moving editor-only code from runtime module MovieSceneCapture to editor module MovieSceneTools. Moved EDL and FCP XML exporters as well as Automated Level Scene Capture. #jira UESEQ-358 Change 4000706 by Matt.Hoffman Entering multiple time strings without a number no longer crashes Sequencer. #jira UE-57672 Change 4001051 by andrew.porter MediaFrameworkTest: Fixing up some image sources pointing to the wrong location Change 4001191 by andrew.porter QAGame: Adding some quick EDL/XML test content to dev folder Change 4001243 by Max.Chen Sequencer: Fix import EDL out of range. #jira UE-57665 Change 4001856 by Matt.Hoffman Selecting keys and sections at the same time now also works with animation and audio sections. #jira UE-57716 Change 4002021 by Max.Chen Sequence Recorder: Fix sequence name incrementing. If external recording sets the sequence name, use it. Otherwise, use the recording name from the recording group or the recording settings. #jira UE-57712 Change 4002618 by Max.Chen Viewport: Update the look at location when updating to a locked actor. This fixes an issue so that popping the view out of a locked actor and manipulating the view will not jump to the previous look at location. #jira UE-57725 Change 4002979 by Matt.Hoffman Fixes several edge cases with the end time range that was causing confusion about what the last frame of the sequence was. Dragging the End Frame slider will no longer be off by one tick and jumping to the end via the UI controls now properly respects snapping and stays inside the play range instead of falling outside of it. Overall behavior does not change though and End Frame should be considered an exclusive frame so that frames 0-150 results in a 150 frame long animation (which is frames 0-149). #jira UE-56367 Change 4003185 by Matt.Hoffman Fixed a regression that prevented a section from being dragged upwards past row 0 which normally resulted in all other rows moving down. #jira UE-57717 Change 4003193 by JohnHenry.Carawon QAGame: Updates to test content - Shortened frames between the examples from 95 to 30 - Separated camera setting tracks - Lighting example now switches directly from constant red - green - blue Change 4003369 by Max.Chen Sequence Recorder: Refresh next sequence regardless of internally stored sequence name. #jira UE-55757 Change 4003586 by JohnHenry.Carawon QAGame: Test Content Updates - Level Visibility track now ends to that the levels are not visible when we move to the next example - Shortened camera section, removed Z tranform so that we just move left to right and shortened the overall length Change 4004414 by Max.Chen Movie Scene Capture: Fix regression where rendering with shot handles would only render the first shot. 3972166 addressed an issue where an extra frame would be rendered by finalizing right when the end frame was reached. This was hit on the first shot end frame, so instead, do this only for when the last shot is being rendered. #jira UE-57314 Change 4004765 by Christina.TempelaarL Sequencer: Fixed bugs in FCP XML import/export. - Export: fixed sequence default resolution. - Export: fixed XML files with no shots. - Export: all sections clipped to playback range. - Export: fixed incorrect section start/end times due to precision issues. - Import: fixed incorrectly adding cinematic tracks. - Import: fixed bugs creating new sections. #jira UE-57660 #jira UE-57662 #jira UE-57655 #jira UE-57761 Change 4005119 by Max.Chen Sequencer: Export/import at play rate Change 4005195 by Max.Chen UMG: Finish UMG evaluation on stop. Added object version so that existing UMG assets do not change. #tests - Newly created UMG animation with sections set to restore state now return to their original state. Existing UMG animations with sections set to restore state do not return to their original state. #jira UE-52285 Change 4005377 by Michael.Karambelas QAGame: Moving TM-SequenceRecorder and related content out of my developer folder and into /Content/Sequencer/SequencerRecorder/* Change 4005417 by Michael.Karambelas QAGame: Fixed a BP compiler in the Level Blueprint of TM-SequencerRecorder. Change 4005634 by Michael.Karambelas QAGame: Fix up missing content and broken level sequence in TM-SequenceRecorder after move Change 4006324 by Max.Chen Sequencer: Reset if the focused movie scene is null. This fixes a crash if the user is focused in on a shot and undo takes the user past the point of where the shot was created. #jira UE-57752 #jira UE-47661 Change 4007006 by Max.Chen Sequencer: Fix FindAvailableRowIndex so that it returns the max row index (and not +1) since it doesn't find any conflicting rows. #jira UE-57717 Change 4007907 by Max.Chen Sequencer: Fix crash if there's no animation Change 4007948 by andrew.porter QAGame: added test content to dev folder for Record World Space Change 4008636 by Max.Chen Sequencer: Fix import fbx not setting values properly and creating additional cameras unncessarily. #jira UE-57864 Change 4008759 by Max.Chen Sequencer: Follow up fix for import cameras #jira UE-57864 Change 4009994 by Matt.Hoffman Dragging the left or right handles of the Time Range slider in Sequencer will now zoom your view in on the current center of the screen. This prevents the view from being translating as you tried to zoom in which caused issues at high zoom levels. #jira UESEQ-407 Change 4010169 by Christina.TempelaarL Sequencer: FCP XML fixes. - FCP XML export - no longer clips to playback range - FCP XML and EDL export - fixed missing last frame of some sections after exporting to Premiere. - Automated level capture, EDL export - use RoundToFrame instead of FloorToFrame for computing section start/end frames after frame rate conversion. #jira UE-57802 - partial fix, movie scene capture still needs to render full section rather than clip against playback. Change 4010287 by Mike.Zyracki Add quaternion interpolation option to UMovieScene3DTransformSection. This mimics how Matinee used to work by bascially finding the keys between a time and interpolating the angles as quat's between them. As noted in the code the algorithm needs to handle the case when the x,y,z Rotation keys all aren't at the same time which was not handled by Matinee. Also like Matinee, when in quaternion interoplation mode, we need to not display the function cuves since the interpolated and key values are now all different. (Would like to show them but that's a bigger refactor for perhaps just a one off needed by quaternions). I added a virtual function UMovieSceneSection::ShowCurveForChannel for this since it needs to be dynamic, not on construction of IKeyArea's, and could be useful for other sections. I could though move the method to just UMovieScene3DTransformSection and do a cast instead. Looked into doing a unit test for this but after talking with Andrew P we will work on doign an automated test in EngineQA since that will provide more coverage. Will also add a video the jira. #jira UESEQ-403 Change 4010713 by Mike.Zyracki Added option to key a group of transform channels instead of just the changed channel, or all of them. This is useful for quaternion interpolations where you want rotation keys to be aligned but also useful for other workflows like animating FK Pose to Pose. Change 4010715 by Andrew.Porter MediaFrameworkTest: Setting LogMediaUtils logging from VeryVerbose to Verbose to cut back on the spam Change 4013048 by Max.Chen Sequencer: Fix play/jump status. Update the player status for all position methods (Scrub, Jump, Play). Jump means Stopped. Correctly use PlayTo or JumpTo based on position method. In PlayInternal, JumpTo with the Stopped state (rather than playing state). #jira UE-57844 Change 4013479 by andrew.porter QAGame: Added content in TM-SequenceRecorder to test recording a property on a Cine Camera Component; Press 3 to trigger manual focus distance to increment on a timer Change 4014323 by Max.Chen Sequencer: Fix SetPlaybackPosition so that it jumps or plays based on playback status. #jira UE-57844 Change 4015888 by Max.Chen Sequencer: Fix crash on paste. UMovieSceneSections were gathered from the track node's track. For sub track mode, we want to gather only those sections on that track node row. #jira UE-57951 Change 4015943 by Max.Chen Sequencer: Fix moving shots up when the mouse pos goes outside of the virtual track area. #jira UE-57717 Change 4016293 by Max.Chen Sequencer: Fix relative frame playback end frame calculation so that custom start/end frames remain in the space of the sequence and are not relative. #jira UE-57308 Change 4017075 by Andrew.Rodham Sequencer: Corrected initial evaluation range used when calling UMovieSceneSequencPlayer::Play() Change 4017270 by Christina.TempelaarL Sequencer: FCPXML importer and movie scene capture - Use CeilToFrame when converting section start/end frame times to frame numbers in FCPXML and movie scene capture. - Added support for clip metadata in FCPXML. - Got rid of redundant TokenizedError message class, no longer needed now that FCPXML is in editor directory. - Added log messages currently commented out due to exception, still testing. #UESEQ-358 Change 4018370 by Christina.TempelaarL Sequencer: fixed FCPXML log messages regarding sections with start/end not divisible by display rate. #UESEQ-358 Change 4018378 by Christina.TempelaarL Sequencer: fixed error in previous changelist. #UESEQ-358 Change 4019457 by Max.Chen Sequencer: Show event names only when the event track is selected #jira UE-57897 Change 4022806 by Max.Chen Sequencer: Fix crash on movie scene capture dialog shutdown if movie capture wasn't even started. #jira UE-58106 Change 4022894 by Max.Chen Sequence Recorder: Wrap OpenEditorForAssets after sequence recording within GIsEditor #jira UE-58084 Change 4024487 by Max.Chen Sequencer: Add tooltip for quat interpolation #jira UE-58113 Change 4024562 by Max.Chen Sequencer: Change path/attach track sequence binding id to currently focused sequence id so that bindings can be created in subsequences Change 4027414 by JohnHenry.Carawon QAGame: Checking in content that shows a bug with using particles systems and Delay Before Shot Warm Up. Change 4028990 by Max.Chen Sequencer: Fix evaluate sub sequences in isolation. This check was added with the compile on the fly logic. Not sure why it was necessary but it seems like the sub sequence data needs to be updated in order to evaluate sub sequences in isolation. #jira UE-58184 Change 4029004 by Max.Chen Sequencer: Ensure that old binding references are removed when re-assigning actors in sequencer #jira UE-57898 Change 4030997 by JohnHenry.Carawon QAGame: Fixing name of the master sequence Change 4031785 by Michael.Karambelas QAGame: Added an instance of ThirdPerson Run to TM-SequenceRecorder for Record to Possessable test. Change 4035548 by Andrew.Rodham Sequencer: Changed FMovieSceneEvaluationTemplate::TemplateSignature to be a serial number to address non-deterministic cooking issues - This commit is related to the repro steps found in 3914599 and 3934307, both of which have been verified with this new change. - Copy of 4031684 from //Fortnite/Main/... #jira FORT-84852 Change 4036312 by Max.Chen Sequencer: Fix zoom view range so that it uses the passed in InZoomDelta Change 4036318 by Max.Chen Sequencer: Auto size now returns a range and defaults to the channel proxy range so that keyed regions can also be autosized. Change 4036322 by Max.Chen Forgot missing change Change 4036360 by Max.Chen Sequencer: Fix play rate calculation when skeletal animation section play rate changes. Change 4037163 by Mike.Zyracki Weighted Tangent Implementation Tricky thing is that you need to solve a cubic in order to get the bezier weights for the time part of the curve. See https://www.gamedev.net/forums/topic/474094-help-function-curves-for-animation-interpolation/ Maya provides an implementation in it's dev kit but I didn't use it since it was horribly slow and uses an iterative solution to solve the cubic needed. Instead I use an old algorithm (Cardano's method), to solve the cubic which should be much faster. Though relative simple to code from principles I just went ahead and used a version from Graphics Gems 1. I put this cubic solver directly in MovieSceneFloatChannel.cpp, but will need to move it when we support Rich Curve, maybe to FMath:: (which would probalby require some other functions for solving quartics, etc.. for completeness.). Also note we resolve this on every evaluation but dont' need to if the interval the time is evaluating hasn't had any change in values or tangents. So again when we support FRichCurve we can create a Weighted Evaluating class that can hold the cache. Also with the tangent drags I got rid of the Cardinal position that was used to calculate non-weight tangents from the key point and just quickly getting a direction. With weighted tangents we need to use the delta instead (otherwise when moving multiple they would all get the same weight based upon distance to the cardinal point. ) For mixed tangents types what I'm defaulting to non weighted if the interval doesn't match. May need to do weighted instead, not sure. What's left is just FBX import, for tomorrow. #jira UESEQ-76 Change 4037435 by Mike.Zyracki Fix fo build warnings from weighted tangent submission. #trivial Change 4038091 by Michael.Karambelas QAGame: Updated a Sequence Recorder group in TM-SequenceRecorder that had an actor missing the animation. Change 4038374 by Andrew.Rodham Sequencer: Refined scrubber styling for level sequences and actor sequences - Scrubber now shows a block the width of a dsplay rate frame, plus a line for the actual evaluated time. UMG reverts back to the previous styling (no block) - Keys that are outside of the playback range are now drawn with a subdued effect - Tick labels are no longer drawn when directly underneath the scrubber Change 4038490 by Max.Chen Sequencer: Expose tangent weight values in details panel. Change 4038620 by Andrew.Rodham Sequencer: Advanced time panel polish #jira UESEQ-426 Change 4038677 by Max.Chen Movie Scene Capture: Redirector for MovieSceneTools.AutomatedLevelSequenceCapture #jira UE-58248 Change 4039739 by Max.Chen Sequencer: Media track should only be supported by Level Sequence Change 4040024 by JohnHenry.Carawon QAGame: Fix EventReciever and OverrideBinding example The level sequence was set to none so the fix was to set it back to TrackEvaluation_Master. Change 4040610 by Andrew.Rodham Curve Editor: Moved weighted tangent switchers to a single toggle command (CTRL+W) and added an icon #jira 58383 Change 4040882 by Mike.Zyracki Keep broken when turning on weighted #jira UE-58435 Change 4041089 by andrew.porter QAGame: Sequence for Long Tangents bug Change 4041498 by Mike.Zyracki Turn off weighted when going auto to prevent large tangents. Do it both in UI and when doing AutoSetTangents() to really make sure it doesn't happen. #jira UE-58452 Change 4041752 by andrew.porter MediaFrameworkTest: Adding some better logging for setting rates when not supported. Also ignoring commiting URL when there is no text Change 4041896 by Matt.Hoffman The transform dialog box now transforms selected keys and sections, instead of just keys. #jira UE-58265 [CL 4044405 by Max Chen in Main branch]
2018-05-02 10:10:00 -04:00
const FFrameRate TickResolution = GetTickResolution();
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3946692) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3801826 by Max.Chen PR #4304: Level Sequence crash fix - Guarded against dereferencing null componen. (Contributed by DSDambuster) Change 3801828 by Max.Chen PR #4302: Movie Scene Visibility Template unitialised variable, causing random . (Contributed by DSDambuster) Change 3801837 by Max.Chen Sequencer: Delay spawning/construction for convert to possessable. This fixes a bug where property values would be lost when converting back and forth from possessable to spawnable. #jira UE-52400 Change 3801841 by Max.Chen Sequencer: Make spacer nodes not selectable. PR #4194: Improvements to Sequencer (Contributed by projectgheist) #jira UE-53117 #jira UE-52139 Change 3804183 by Max.Preussner MediaAssets: Added missing lock in media sound component Change 3805414 by Max.Preussner MediaAssets: Setting valid GUID when initializing media texture resource Change 3819578 by Max.Chen PR #4370: When enabling the "MovieCapture", do not turn off the Stereo-3D display. (Contributed by yehaike) #jira UE-53647 Change 3823414 by Max.Chen Curve Editor: Lock down the first and last keys in the redundant keys removal range so that they're unaffected. #jira UE-53591 Change 3826406 by Max.Chen Sequencer: Move OnStartedPlaying() to within first update in UpdateTimeCursorPosition(). This fixes an issue where setting the hud/player visibility was getting stomped on later. #jira UE-52772 Change 3827044 by Max.Preussner MediaAssets: Added sprite visualization to media sound component #jira UE-53594 Change 3827988 by Max.Preussner MediaPlayerAssets: Fixed Media Texture is not linked to Media Player when created together #jira UE-53532 Change 3828506 by Max.Preussner MediaPlayerEditor: Added attenuation visualizer for media sound components #jira UE-53594 Change 3832590 by andrew.porter EngineTest: Added a keep state check in Property Animation sequencer test Change 3833053 by andrew.porter EngineTest: Adding Hierarchical Bias test Change 3835683 by andrew.porter EngineTest: Adding UMG Animation screenshot test Change 3836076 by Max.Chen Sequencer: Fix audio volume and pitch multiplier deprecation. Change 3836230 by andrew.porter EngineTest: Adding Sequence Bone Position automation test Change 3836347 by Max.Chen Sequencer: Fixes to shot name parsing. When a shot doesn't contain a shot number, assume, [ShotName]_[TakeNumber]. When duplicating a shot, put the new shot in the same path of the original shot, so that the take numbers will increment properly. #jira UE-51868 Change 3836552 by Max.Chen Sequencer: Sub section now has a takes menu Change 3838094 by Max.Chen UMG: Fix template finish not getting called on stop. This fixes a bug where sections aren't restored when finished. #jira UE-52285 Change 3838708 by Max.Chen Sequencer: Add notification when the blend type is changed. #jira UE-54046 Change 3840295 by Max.Chen Sequencer: Fix copy/paste crash for lights #jira UE-54084 Change 3840957 by Mike.Zyracki Added Show Only Keyable and Show Only Animated to the filter list in the property editor. Added IsPropertyAnimated to IDetailKeyframe Interface which already had support for showing properties which are keyable (which is used for the key icon next to the properties.). Could have created another interface but then would have had to mimic the sequencer binding, releasing also, so this seemed best way. One issue still left is that custom built detail items currently don't store associated properties(usually) and so certain properties, in particulalry transforms, won't show up as keyable or animated. Note this also shows up with the keyable icon not showing up next to transform tracks, and other filters like Show Only Modified not working with transforms/customs. Not sure best way to tackle this. #jira UESEQ-328 Change 3841756 by Max.Chen Sequencer: Fix unbound possessable components when pasting spawnables. #jira UE-54104 Change 3843950 by andrew.porter EngineTest: Renaming LevelStreaming tests/content to LevelVisibility Change 3844082 by Mike.Zyracki Missing file for animated filter in property editor. When finding if a track is animated we need to find it but we can't easily induce the MovieTrack class for any particular property. So we don't set a class for it and just search by it's ID and name. #jira UESEQ-328 Change 3846902 by Max.Preussner ImgMedia: Fixed image media player never finished initialization if loading failed #jira UE-54247 Change 3849820 by Mike.Zyracki Reassigning deleted widgets didn't work since the menu extender mechanism needs a valid UObject in order to perform an operation on it. So to fix we replaced GetObjectBindingContextMenuExtender in WidgetBlueprint with new delegate mechanism (OnBuildCustomContextMenuForGuid) that supports FGuid in addition to UObjects which is needed to handle re-binding deleted widgets. Note that the default sequencer hacks this for replacing deleted actors in SequencerObjectBindingNode to check to see if a LevelSequence is active. We could move to this mechanism there also. #jira UE-53163 Change 3852211 by Max.Chen UMG: Indicate name of the property that is not bound. #jira UE-54350 Change 3854120 by Max.Chen Sequencer: Fix sibling folders being allowed to have the same folder name. #jira UE-54363 Change 3854627 by Max.Chen Sequencer: Step to next/previous key should work for all tracks if there aren't any selected. #jira UESEQ-391 Change 3855825 by andrew.porter EngineTest: Adding animation blending automation test Change 3855950 by andrew.porter EngineTest: Adding correct expected valuues to animation blending test Change 3856237 by Matt.Hoffman UESEQ-336 - Sequencer Track Reordering Adds the ability to re-order Master Tracks, Folders and Object Bindings within sequencer hierarchies (including UMG). Adds the ability to do a one-off sorting of the content under the old sorting behavior if the user wants to reset their layout to how it was under legacy behavior. Modifies SequencerTrackNodes, SequencerFolderNodes and SequencerObjectBindingNodes to handle CanDrop/OnDrop for above, below and ontop of. Fixes a Slate Issue that forcibly expanded a TreeviewRow if an item handled OnDrop. Slate will now only forcibly expand the row if the item says the drop happened ontop of the item, and not above or below it like it previously did. Change 3856503 by andrew.porter EngineTest: Adding automation test for using animation blueprint with blend multi node in sequencer Change 3857875 by Max.Chen Sequencer: Assign the sequence id after the template is compiled. #jira UE-54462 Change 3858344 by Max.Chen Sequencer: Prevent Goto and Transform boxes from overlapping by allowing them to be visible at the same time in an autosized horizontal box. Also, added close button to the goto box. PR #4425: Prevent Goto and Transform boxes from overlapping in Sequencer ... (Contributed by projectgheist) #jira UE-54210 Change 3860566 by andrew.porter MediaFrameworkTest: Set the option to index 0 for the audio and video track list by default Change 3860654 by andrew.porter EngineTest: Enabling Camera Cut + FOV test Change 3860981 by andrew.porter EngineTest: Updating skeletal mesh tests with a delay after set playback position Change 3861256 by Max.Chen Sequencer: Add all bindings if none selected. #jira-54440 Change 3862154 by Andrew.Rodham Added TimeManagement module Change 3862424 by andrew.porter EngineTest: Turned on the test Bone Positions with Blend Multi Node Change 3862573 by andrew.porter EngineTest: Adding test to compare bone positions in a sequence that is blending an animation that is using an AnimBP Change 3865117 by Max.Chen Sequencer: Stop auto scroll on mouse release of movement. #jira UE-31212 Change 3865303 by Max.Chen Sequencer: Add drag and drop transactions #jira UE-54662 Change 3865304 by Max.Chen Sequencer: Fix crash when an actor factory is not found. Change 3865361 by Max.Chen Sequencer: Don't change the camera/shot lock button when popping out of a sequence. #jira UE-54665 Change 3865412 by Max.Chen Sequencer: Determine whether a transform track is for a camera by using the spawned object or template #jira UE-54666 Change 3865685 by Max.Chen Sequencer: Clear autoscrub offset when stopping autoscroll #jira UE-31212 Change 3865886 by Max.Chen Sequence Recorder: Log an error if the number of frames changes while recording. This can happen if the skeleton changes while recording. #jira UE-48715 Change 3866925 by Andrew.Porter MediaFrameworkTest: Changing the current PNG test video image sequence to 1024 x 576 Change 3867705 by andrew.porter QAGame: Adding Audio Sort Sequence to dev folder Change 3867890 by andrew.porter QAGame: Adding a sequence for testing a sorting crash to my dev folder Change 3872628 by Max.Chen Movie Scene Capture: Split delay before warmup into split delay before shot warmup so that there's separate controls for when the movie scene capture warmups up vs. shot boundaries. Change 3873131 by Matt.Hoffman UE-54732 - Crash reordering a folder with a track. This was caused by folders being the only type of track to check if someone was putting a parent track into a child track. Object Binding tracks and Tracks now check as well so that you can't use the above/below drop targets to add parents as children. This also fixed a typo in the localization keys. #jira UE-54732 Change 3873301 by Mike.Zyracki Added ability to support continous euler angle changes when changing rotations, in particularly with the rotation gizmo's. To do this we effectively added a form an of 'euler filter'(https://en.wikipedia.org/wiki/Euler_filter) to find the closest euler angle to the current euler angle. Three functions were added to FRotator to make this possible, one to get the euler angle that's has the same rotation as it, one to get the difference between two euler angles via Manhattan distance and a third using the previous two to choose a Rotator value that's closest to it. We then use these functions before calling UComponent::SetRelativeRotation to make sure we use the correct Euler after the Quat conversion. We also no longer limit(bound) the euler angles to -180,180, which is obviously necessary to avoid flips. I also changed how we caluclate yaw and roll when pitch is -90 or 90 to make it the standard approach of zeroing out roll and just setting yaw. Main reasons are the previous implementation had precision issues so things like 180, 90, -180 would show up due to numbers being nearly zero but negative,(this would break any smooth interpolations), and this facilitates having a 'gimbal' rotation mode (like Maya, Blender etc..) if we ever want that also. If needed we could keep the previous implementation but would need to add some FMath::IsNearlyZero checks, with less performance. Note we only do this special filtering when applying delta's to actors or components in the editors, which then call UComponent::SetRelativeRotationExact, which is a new function to foces the RelativeRotation to be equal to the new rotation. This allows us to store un-nomalized Rotators at the cost that the RotationCache may be broken. We didn't change any of the other UComponent functions that set rotations (via Quats or Transforms) so they will still be bounded and unwound. In SetInternalWorldLocationAndRotation we only set the rotation if the rotation has changed, which fixes the rotation getting changed and re-normalized if just translate happens. In TransformTrackEditor, we correclty use the bUndwing flag and in MovieScene3DTransformSection there was an un-needed winding check there, it will be unwound earlier if needed, which happens if Sequence Recording is happening. Max we should talk about what to do about this . Note the euler angle drag via the widget is still bound to 0-360. I think we should just unbound that now since the rotations value are now unbound. This review now includes fixes suggested by Zak. #jira UE-UE-22228 Change 3873483 by Matt.Hoffman Sequencer Tracks can now be inserted above the spacer at the bottom of the tree. #jira UE-54706 Change 3873899 by Max.Chen Sequencer: Add section selection throbbing Change 3873908 by Max.Chen Movie Scene Capture: Added logging per frame Change 3873924 by Matt.Hoffman Adds the ability to store Sequence Recorder setups into profiles that stay with the map and can be re-loaded later. Profiles store the Actor Recordings so the settings for each actor should carry with them. #jira UESEQ-339 Change 3874726 by Matt.Hoffman Disable drag-and-drop targets on spacers that come between rows in Sequencer. This prevents extra drag/drop targets showing up between each row. #jira UE-54706 Change 3874862 by Matt.Hoffman Audio Track no longer gets reordered when adding sub-audio tracks, as sub-tracks are no longer counted towards the sorting order index when normalizing indexes. #jira UE-54727 Change 3875905 by Matt.Hoffman Disable Fade Track UI if a fade track already exists in the sequence. #jira UESEQ-393 Change 3876163 by Max.Chen Sequencer: Swap the camera object to the camera component's owner if it's not the same. #jira UE-54874 Change 3876971 by Andrew.Porter EngineTest: Moved Media Player Seek test to new folder. Also enabled the test with new ground truth image. Change 3877040 by Max.Chen Cine Camera: Split camera properties to two groups, "Camera Options" and "Camera Settings". The cine camera now hides properties in the "Camera Settings" group so that properties like bConstrainAspectRatio (in the "Camera Options" group) can be visible. #jira UE-54192 Change 3877763 by Max.Chen Curve Editor: Fix curve changed on end drag so that only curves that had keys/tangents that were changed receive notification, otherwise all loaded curves were getting notified that they were changed. #jira UE-54951 Change 3878234 by Matt.Hoffman Disable "Drop Below" targets for Sequencer Tree nodes to prevent a confusing UX issue where dropping underneath a Object Binding Node puts it after the object binding node but the UI looks like it's inserting it inside the Object Binding node. #jira UE-54743 Change 3879359 by Mike.Zyracki If a track is inactive we dim it a bit which seems to be the UE4 way to show inactive or disabled state. We changed the active logic so that all subtracks need to be inactive for the track to also be inactive(instead of all active for active). This conforms to how the active state actually works, e.g if you have two sections and only one is active the track is still active above it. #jira UESEQ-388 Change 3879462 by Max.Chen Sequencer: Allow dragging onto a particular row which would move out any overlapping sections to make space for the newly created section. Newly created sections are now selected and throbbed to draw attention to themselves. #jira UE-54664 Change 3879464 by Max.Chen Sequencer: Fixed overlapping ranges being inserted into the evaluation field during compilation - The issue was that track segments that had been combined with adjacent segments (due to them being identical) would potentially cause a subsequently compiled frame to overlap with a range that had already been inserted into the evaluation field. - The insertion code previously asserted that only minor overlaps were catered for (due to fp rounding errors) and assumed that a supplied range could not entirely contain any other range in the field. - The solution is to supply the insertion time along with the range to know exactly where the data should live in the field, and crop the range to the maximum allowable space between adjacent ranges. #jira UE-54922 Change 3879590 by Matt.Hoffman Items that are now added to the Sequencer via the "+Track" menu will be selected after being added. Items can now be added inside of folders instead of just to the root level. #jira UE-27397 Change 3879612 by Mike.Zyracki Display Nodes with no children are always active. #jira UESEQ-388 Change 3879730 by Matt.Hoffman Sequence Recorder's actor recording groups now remove items from the group when removed via the UI. #jira UESEQ-339 Change 3880256 by Mike.Zyracki Fix issue with inactive display with folders and other track nodes. #jira UESEQ-388 Change 3883491 by Max.Chen Fix issue where tick is skipped due to last ticked pose isn't cleared after AnimInstance changes. Copy from Release-4.19 #jira UE-51323 Change 3883603 by Max.Chen Movie Scene Capture: Add option toggle disable screen percentage. By default this is on (no change in current behavior). #jira UE-51898 Change 3885074 by Max.Preussner MediaCompositing: Resetting media texture & freeing resource on section end; removed dead code Change 3887220 by Max.Preussner MediaCompositing: Defaulted media section duration to 1 sec (since we do not know the actual duration in most cases) Change 3887478 by Matt.Hoffman Sequences now show [Inactive] in their title bars when they're disabled. This helps communicate why a sequence isn't being evaluated. #jira UE-51469 Change 3888985 by Max.Chen Movie Scene Capture: Clamp HDR Compression Quality between 0 and 1. #jira UE-55136 Change 3893519 by Max.Chen Sequence Recorder: Clarified tooltip for bRecordNearbySpawnedActors - spawned actors will still be recorded if they match the ActorFilter. #jira UE-55238 Change 3893546 by Max.Chen Sequence Recorder: If a selected actor already has a recording, add a blank recording. #jira UE-55239 Change 3894044 by Max.Preussner MediaCompositing: Added support for seeking into a media section Change 3894310 by andrew.porter MediaFrameworkTest: Adding Img media sources for 1080 and 2160 ravent test content Change 3894426 by Max.Preussner MediaAssets: Letting media textures with AutoClear retain their clear color when player is reset Change 3895717 by Max.Chen Sequencer: Null checks to prevent crash when saving the default state of a spawnable #jira UE-55304 Change 3897388 by Max.Chen Sequencer: Don't update current time to be within the view range when stepping into a sequence. #jira UE-55322 Change 3897452 by Max.Chen Audio: Fix crash when trying to record audio without any active capture devices. Log warning if the number of input channels is not 1 or 2. #jira UE-55223 Change 3897619 by Max.Preussner MediaCompositing: Removed commented out code Change 3898072 by Max.Chen Sequencer: Override the animation asset in the player state if it doesn't match the animation asset that's being evaluated. #jira UE-55328 Change 3898272 by Max.Preussner MediaPlayerEditor: Made slate brush constants static Change 3898704 by Max.Chen Sequencer: Skip if the binding id's sequence can't be found. #jira UE-55337 Change 3899855 by Max.Preussner MediaCompositingEditor: Added cache state visualization to media track Change 3900300 by Max.Preussner MediaCompositingEditor: Added loop indicators to media sections Change 3900694 by Max.Preussner ImfMedia: Looping cache only when player is looping Change 3900892 by Max.Preussner Stats: Added stats category for media framework Change 3900954 by Max.Preussner MediaCompositing: Don't evaluate at the end of media section Change 3901348 by Max.Preussner Core: Replaced TLruCache autos for better readability Change 3901655 by Max.Preussner ImgMedia: Added more perf stats to EXR reader Change 3901972 by Max.Preussner MediaAssets: Added getter for media player in media sound components Change 3902233 by Max.Preussner MediaAssets: Enabling media textures to receive samples right after player is assigned Change 3902238 by Max.Preussner MediaCompositing: Working around init/shutdown idiosyncracies in sequencer Change 3904045 by Max.Chen Sequencer: Fix copy/paste crash. Only process UMovieSceneCopyableBinding and objects that can be spawned by the movie scene spawn register. #jira UE-55314 Change 3905605 by Max.Chen Sequencer: Restrict spawnables from being created if they have a ClassWithin that UMovieScene is not a child of. #jira UE-55429 Change 3906550 by Max.Chen Sequencer: Add media track icon #jira UE-55480 Change 3907101 by Max.Chen Sequence Recorder: Fix bugs related to not recording a level sequence. There were certain assumptions that creating a level sequence meant that sequence recording was in progress. This is not always the case - the recorders can record animation assets and not create a level sequence. Changed the notion of IsRecording() to having at least one actor recording that is recording. Countdown timer, recording displays, etc should function if IsRecording() and not based on whether a level sequence is created. #jira UE-55485 Change 3907247 by Max.Chen Sequence Recorder: Fix crash not removing PrepareToCleanseEditorObject delegate. Repros when opening sequence recorder, closing it, and then opening or creating a level. Change 3910343 by Max.Preussner Core: Added async helper for executing functions on a given thread pool Change 3910346 by Max.Preussner ImgMedia: Added separate thread pools for loading/decoding and deleting image frames Change 3910829 by Max.Preussner Profiler: Increased visible range of profiler graph Change 3910841 by Max.Preussner MediaCompositing: Displaying asset name instead of full media source path in media section Change 3910870 by Max.Preussner ImgMedia: Using deallocation thread pool only in debug builds Change 3919642 by Max.Chen Sequence Recorder: Clarify active tooltip #jira UE-55661 Change 3919660 by Max.Chen Sequencer: Sequence template source signatures are now also compared to catch the case where a sub-sequence asset has been saved but not modified - The following sequence of events exposes this issue: - Create a master sequence with a single shot that spawns a cube - Add this sequence to a level and set it to auto-play - Save everything and restart - Resave just the inner shot asset without opening it - PIE - The inner shot never spawns its cube because its template was wiped on save, but its signature never changed. Since the master sequence previously didn't check the template source signature, it ends up trying to evaluate an empty template. #jira UE-55626 #jira UE-55490 Change 3921825 by Max.Chen Sequencer: "Run Construction Script in Sequencer" is off by default for blueprints but on for Sequencer. This allows the content author to switch it on for specific blueprints and sequencer will be default, run those with construction scripts enabled. Change 3922232 by Max.Chen Sequence Recorder: Reset countdelay on stop. #jira UE-55755 Change 3922306 by Max.Chen Sequence Recorder: Don't automatically mark transforms to be recorded by sequence recorder. Instead, log a warning if the user toggled it off to warn that the resulting animation might not match gameplay. #jira UE-55758 Change 3922912 by Max.Chen Sequence Recorder: Fix refresh next sequence name #jira UE-55757 Change 3927654 by Max.Chen Movie Scene Capture: Added format mapping for the name of the current camera #jira UE-55769 PR #4537 Change 3927658 by Max.Chen Sequencer: Added fbx property mapping for "FocusDistance" to "FocusSettings.ManualFocusDistance" #jira UE-55782 Change 3932022 by Max.Chen Sequencer: Add import animation track section to next available row index. #jira UE-55892 Change 3933919 by Max.Chen Sequencer: Jump to playback start frame and not 0 to start playback for recording. #jira UE-55933 Change 3934307 by Andrew.Rodham Sequencer: Add template signature that is re-generated every time the base template is regenerated, which invalidates evaluation fields This fixes an issue where the same sequence is instantiated multiple times in a sequence. If the source sequence was saved, its template would be wiped, which would invalidate the template ID When an instance tries to evaluate the master template, it would only invalidate a range in the evaluation field that was the hull of any invalid sub sequences overlapping the current time, potentially leaving invalid data in the evaluation field at positions later (or earlier) on in the sequence When the sub template was re-generated, it receives the same SequenceSignature as it had before (because the sequence hasn't actually changed), which causes the stale evaluation field data to fail the IsDirty check (because the sequence is the same as it thought, but the *template* has changed) This has been addressed be adding a signature to templates themselves, and checking both the template signature and sequence signature as a part of the IsDirty check. This ensures that we regenerate if either the template, or the sequence have changed. #jira UE-55934 Change 3936327 by Andrew.Rodham Sequencer: Removed increment when trimming right UMovieSceneSection::TrimSection already explicity assigns an exclusive bound to the time passed in. The new behavior means we can trim a section to the right, and insert another section without changing the time to create adjacent sections. #jira UE-42652 Change 3936328 by Andrew.Rodham Fixed KeyFrameManipulator assignment operators and copy/move constructors - These types are potentially self-referential so cannot use default constructors/assignment Change 3936330 by Andrew.Rodham Converted UMGSequencePlayer to use frames internally #jira UE-54878 Change 3936726 by Max.Chen Sequencer: Set track node as the parent of the key area node. The key area switcher needs the object binding id from the parent object binding node. Without this, the binding to the external value fails. #jira UE-55931 Change 3936775 by Max.Chen Sequencer: Should stop or loop should compare DurationFrames with Current Time from StartTime. The bug is that if you set 30 warmup frames in movie rendering for a range of 0-100, the FrameRange will be starting at -30 and have a duration of 130. Without this fix, the playback will continue until frame 130, rather than 100. #jira UE-55933 Change 3936935 by Matt.Hoffman Easing Curves are now represented in Play Rate resolution instead of internal resolution. #jira UE-55937 Change 3937069 by Matt.Hoffman Users can toggle if the is infinite on each side, limited by which tracks support infinite ranges. #jira UE-55891 Change 3937516 by Max.Preussner ImgMedia: Added support for single-threaded platforms #jira UE-55986 Change 3937826 by Max.Preussner MediaAssets: Disabling media sound components on HTML5 if AudioMixer is not enabled Change 3937997 by Max.Chen Curve Editor: Add Zoom to Fit Curves so that selected curves from Sequencer can be focused on. Tested that undo doesn't re-zoom. #jira UE-55935 Change 3938000 by Max.Chen Sequencer: Stop all sounds before generating audio waveforms. #jira UE-55951 Change 3938376 by Max.Preussner XGEController: Disabled XGE Controller in single-threaded apps to prevent crash Change 3938444 by Max.Preussner Core: Added async support for single-threaded applications Change 3938445 by Max.Preussner Networking: Added support for single-threaded applications in UDP socket sender/receiver Change 3938447 by Max.Preussner Messaging: Added support for single-threaded applications Change 3939432 by Max.Chen Sequence Recorder: Append command list to global level editor actions so that shortcuts are accessible in level editor. #jira UE-55798 Change 3940229 by Andrew.Rodham Added prospective display rate upgrade to UMovieScene::PostLoad - There was previously some very odd behaviour that would assign the fixed frame interval only when a sub sequence was focused in SSequencer. This meant that many sequences could have a frame interval of 0 set in the data. - Under the old method of snap interval display this would have fallen back to getting the display interval from the sequencer settings, but we no longer look at these. - The USequencerSettings properties have been removed and in their place, a prospective data upgrade for sequences that have a fixed frame interval old 0fps that sets the play rate to the previous defaults based off the old USequencerSettings defaults. - This could end up 'changing' the display rate for sequences where the user has changed the snap interval in the settings for a particular sequence editor, but there's not much we can do about that given we don't have access to the USequencerSettings classes in UMovieScene #jira UE-55919 Change 3940277 by Andrew.Rodham Sequencer: Added ability to default frame resolutions and play rates for newly created actor sequences Change 3940378 by Andrew.Rodham Sequencer: Post move import dialog now defaults to the playback framerate of the sequence, and floors to frame numbers Change 3940559 by Andrew.Rodham Reinstated primed or recording sequence color Change 3940642 by Max.Preussner ImagePlate: Removed image plate media playback functionality Change 3940843 by Max.Preussner Core: Made TCircularQueue actually thread-safe; improved code comments Change 3940860 by Max.Chen Sequencer: Changed StructNameToKey to StructPathToKey Previously, keying a PropertyPath of [RenderTransform][Shear][X] would get trimmed to X, which doesn't map to a channel name as considered by Sequencer2dTransformTrackEditor. Instead, trim the resulting property path to [Shear][X] so that track editors can determine the desired struct path and channels to key. #jira UE-52966 Change 3941292 by Mike.Zyracki Fix for trajectories out of range not showing up. 1) If we had no key data we would pop the time, so wouldn't get the section ranges. 2) Calculating of upper bound was wrong, checking against -1 and not key == num of keys when doing algo::lower_bound. 3) No need to do the Bck-- for the bakward iterators since we fixed #2. We start now from the upper bound correctly. 4) If we had no keys (at section start,end) we would incorrectly say we were any key type, so since we draw constant keys as dashed we would do so incorrectly around section end points. #jira UE-55929 Change 3941424 by Max.Chen Curve Editor: Change Zoom to Fit to use TArrayView Change 3941498 by Max.Preussner Core: Added FMath::DivideAndRoundNearest function Change 3942097 by Matt.Hoffman Drop Frame Timecode Support for NTSC rates. Change 3942104 by Matt.Hoffman Sequence Recorder Group is no longer visible inside the World Outliner after using one. #jira 55266 Change 3942107 by Max.Chen Sequencer: Resurrect logic to find or extend an existing section when adding keys. Change 3942330 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942339 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942507 by Andrew.Rodham Sequencer: We no longer pad the time overlap threshold with a small number that is not scaled by the current zoom level - The presence of this pad was causing keys that were far apart to be grouped when zoomed in a long way Change 3942509 by Andrew.Rodham Sequencer: Only pad total view range, rather than section range as well when retrieving keys to render - This stops us from rendering keys that are within the view range, but outside the section range Change 3942512 by Andrew.Rodham Added transactions to some sequencer details customizations Change 3942513 by Andrew.Rodham Sequencer: Reinstated validation checks to UMovieSceneSection::SetStartFrame and SetEndFrame, changed erroneous uses to use SetRange Change 3942560 by Andrew.Rodham Pass by rvalue reference to appease error C2719 on Win32 ('InChannels': formal parameter with requested alignment of 8 won't be aligned) Change 3942697 by Andrew.Rodham Newly Created Level Sequences and Actor Sequences now default to 24000 fps frame resolution (+/- ~24hrs range, supporting all integer rates + 23.976) Change 3942700 by Andrew.Rodham Sequencer: Added legacy out-of-bounds errors for times that are not supported by the current legacy upgrade frame resolution Change 3942989 by Max.Preussner Core: Fixed circular queue count calculation Change 3943538 by Max.Preussner MediaAssets: Reverted workaround for procedural audio log spam in HTML5 (Actor component initialization cannot be skipped if the component is used in a level) Change 3944071 by Max.Preussner QAGame: Fixed Media Texture keeps last frame of Media when PIE ends #jira UE-53360 Change 3944292 by Max.Chen Sequencer: Added extra flags to ensure that asset initialization does not occur on template actor sequences #jira UE-56113 Change 3944364 by Max.Chen Sequencer: Prevent circular shot/master tracks. Tested adding master -> child -> master as drag and drop cinematic shot tracks and sub tracks as well as through the + button. #jira UE-56091 Change 3944422 by Max.Chen Sequence Recorder: Disable transform recording if off. #jira UE-56061 Change 3944745 by Andrew.Rodham Sequencer: Key rendering fixes - Fixed assert that occured when keys happened to reside on some times due to KeyTime + TimeOverlapThreshold - KeyTime being slightly larger TimeOverlapThreshold - Fixed keys sometimes being clipped when zoomed right in due to lack of half-frame offset - Added missing documentation to MovieSceneTimeHelpers.h #jira UE-56107 Change 3945231 by Andrew.Rodham Sequencer: Reconstruct channel proxy on Serialize to catch all cases of undo/redo, PostLoad and duplication #jira UE-56089 Change 3945301 by Andrew.Rodham Sequencer: Added safety checks during initial sequence recording to guard against applying negative or 0-sized sequence ranges #jira UE-56125 Change 3946627 by Max.Preussner Fortnite: Fixed game crashes closing editor while in PIE - Pure virtual function being called #jira UE-56144 [CL 3946896 by Max Chen in Main branch]
2018-03-14 22:09:33 -04:00
const bool bLockedPlayRange = TimeSliderArgs.IsPlaybackRangeLocked.Get();
const float HitTestPixel = MyGeometry.AbsoluteToLocal(CursorEvent.GetScreenSpacePosition()).X;
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 4044339) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3947021 by Max.Chen Sequencer: Don't preserve root component when copying object properties. A spawnable empty actor, has a root component that is generated by the empty actor factory. If the object template's root component is preserved when copying from the spawnable empty actor, the root component will not be copied over. Therefore, we need to NOT preserve the root component when copying object properties. #jira UE-55825 Change 3947366 by Max.Preussner WmfMedia: Better log output Change 3947367 by Max.Preussner MfMedia: Better detection of compressed format properties on Windows Change 3949102 by Max.Chen Sequencer: Remove SequenceActorTag when converting to possessable. #jira UE-56206 Change 3949207 by andrew.porter EngineTest: Set the screenshot nodes resolution to 1280x720 Change 3949404 by Max.Chen Sequencer: More informative tooltip for "Rerun Construction Scripts" option. It now says "Rerun construction scripts every frame on actors that have 'Rerun Construction Script in Sequencer' enabled in their class settings". Change 3950067 by Matt.Hoffman Renamed UAutomatedLevelSequenceCapture's StartFrame and EndFrame to CustomStartFrame/CustomEndFrame to reflect that it is user-overriden. This will also resolve upgrade issues due to the variable datatype changing. #jira UE-56189 Change 3950193 by JohnHenry.Carawon Updating my latest MovieRendering test content. Change 3950757 by JohnHenry.Carawon More updates to MovieRendering test content Change 3952059 by Max.Chen Resave LevelVisibility_SubLevels to fix data loss conversion warning of OpacityMaskConstant #jira UE-56086 Change 3952283 by Max.Chen Sequencer: Disable dropping level sequence assets as spawnables. #jira UE-56120 Change 3952422 by Max.Chen Sequence Recorder: Add button to record from the current player. #jira UE-55942 Change 3952987 by JohnHenry.Carawon MovieRendering Test Content - Fixing camera bindings and changing the override binding actor Change 3953823 by Mike.Zyracki Fix for Bad FBX Import Tangents not scaled by frame rate. After looking at this again it seems that a set of MovieScene:: overiddes for the channel traits wasn't set correctly, so use the ADL idiom to use MovieScene, which can then call Optimize in the correct namespace. With this we can now correctly use the passed in tolerance. There was also a redundant set of Optimize calls so that it could happen twice so removed them, and needed an extra check in the float channel Optimize. Also since we need to set auto tangents no matter if we optimize we don't set that parameter(though leave it since it's used by context menu key reduction). Finally fixed speed issue with trajectories caused by calculating way too many substeps. Reverted back to a time based step size for consistency. #jira UE-56193 Change 3954317 by Matt.Hoffman Adding a key to the last frame of a section no longer causes a crash. Keys can already be moved to be on the last frame of a section so now you can just add a key there directly. #jira UE-56255 Change 3954326 by Matt.Hoffman Dilating a section that is only infinite on one side no longer causes a crash. #jira UE-56260 Change 3954486 by Max.Chen PR #4580: Exposes IsReversed() from UMovieSceneSequencePlayer (Contributed by alanedwardes) Change 3955238 by Max.Preussner Messaging: Enabled delayed message routing https://github.com/EpicGames/UnrealEngine/pull/4574 #jira UE-56247 Change 3955901 by Max.Preussner MediaFrameworkTest: Added developer test for overriding desired media player plug-in at runtime. Change 3955922 by Andrew.Porter QAGame: Updating movie rendering content in dev folder Change 3956004 by andrew.porter QAGame: Adding MPC track to movie rendering test content Change 3956510 by Max.Chen Sequencer: Fix fbx camera import of static properties so that they are imported before default tracks are created. Otherwise, the default tracks inherit the default properties of the camera, rather than the values from the fbx. #jira UE-56311 Change 3957613 by Max.Preussner MediaUtils: Added code documentation to media player facade Change 3958005 by Max.Preussner MediaUtils: Added method to get number of sinks Change 3958934 by Max.Chen Sequencer: Fix keys getting added and sequence getting erroneously re-evaluated when auto key is off. Only apply defaults if there are no keys. Only modify the movie scene section before creating keys or setting defaults. #jira UE-55903 Change 3959687 by Andrew.Rodham Sequencer: Fixed visibility track external values being inverted #jira UE-56324 Change 3960507 by Max.Preussner Core: Fixed incorrect rounding in FMath::DivideAndRoundNearest Change 3962047 by JohnHenry.Carawon MovieRendering Test Content Changes: - Add Lightmass Importance Volumes to sublevel to fix warnings - Rebuilt Lighting - Add a third sequence for Gamut testing - Resaved the sound master.uasset to fix warning Change 3962211 by Mike.Zyracki Add Frame Numbers to selected animation sections. Added MapTimeToAnimation to MovieSceneSkeletalAnimation so that we could get it from the Skeleton Animation track Editor. Since the thickness of the frame line can change based upon frame rate and zoom we need to calculate it similarly to how the time slider controller does it. Those calculations were private so we had to expose FScrubRangeToScreen and GetScubberPixelRange from the TimeSliderController. Also needed to know if the section itself was selected so added a bIsSelected flag to the section Painter. Also fixed a bug where you couldn't add a section if other sections existed at different times in MovieScenePropertyTrack and could crash due to the check(). #jira UESEQ-395 Change 3962497 by Max.Preussner Core: Added new string formatting argument to FTimespan Change 3963662 by Max.Chen CineCamera: Flip VistaVision width and height. Change 3963731 by Max.Preussner MediaCompositing: Implemented sequence recording support for media track Change 3964195 by Andrew.Rodham Sequencer: Set inverted property correctly for newly created visibility track sections - Also clamp evaluation for key editors to the bounds of the section so we're not displaying values outside of the section bounds when the cursor is not on the bounds #jira UE-56324 #coderevew Max.Chen Change 3964196 by Andrew.Rodham Sequencer: Fixed crash when attempting to render sections that resulted in a negative intersection with the view range Change 3964275 by Andrew.Rodham Sequencer: Fixed MovieScene::ClampToDiscreteRange for infinite range bounds Change 3964364 by Andrew.Rodham Curve Editor: Reduce minimum vertical view range when zooming to fit Change 3965091 by Max.Chen Sequencer Recorder: Refresh next sequence if empty when starting a recording, otherwise, use existing name. #jira UE-56469 Change 3965148 by Max.Chen Sequence Recorder: Move Record to Possessable to "Actor Recording" group Change 3965162 by Max.Chen Sequence Recorder: Always break out of immersive mode when done recording, even when stopping recording during countdown. #jira UE-56407 Change 3965214 by Max.Preussner QAGame: Enabled ImagePlate plug-in Change 3965574 by Max.Preussner SimpleComposure: Reorganized & upgraded content to work with new Media Track #jira UE-56488 Change 3965651 by Max.Preussner MediaCompositing: Ignoring seek-on-open if media not seekable Change 3966075 by Christina.TempelaarL Sequencer: Added Final Cut Pro 7 XML Export functionality #jira UESEQ-358 Change 3966087 by Matt.Hoffman Adding a single key to the Particle Toggle track now makes an infinite range section that is displayed in the UI. #jira UE-56295 Change 3966547 by Andrew.Rodham Sequencer: Fixed rounding errors when drawing the section background on boolean sections - Logic was using time in sectonds which caused rounding errors on evaluation and flickering red/green stripes when dragging keys around #jira UE-56324 Change 3966563 by Andrew.Rodham Curve Editor: Key editor interface improvements - SKeyEditInterface has a few problems - it does not update in real time when editing properties, and does not support multi-edit which makes it unsuitable for use with the curve editor - We now take a different approach for editing keys by gathering a set of proxy UObjects for each key that is currently selected. These objects are added as top level objects to the details panel which means they support multi edit as you'd expect from any other details panel in the editor. - Proxy objects are updated every tick for the curve editor if they implement the ICurveEditorKeyProxy interface, which allows them to refresh their current value. - Ideally, the same mechanisms would be used in the main sequence interface, and we would be generating the proxy classes at runtime based on the key value type, but that work remains a separate task from this initial offering. #jira UE-56165 Change 3966564 by Andrew.Rodham Curve Editor: Expand to frame when adding or moving keys in the curve editor Change 3967051 by andrew.porter MediaFrameworkTest: Set the CameraPlayer_Video texture to auto clear Change 3967141 by Andrew.Rodham Sequencer: Keep track of spawned objects that have been modified and only re-save such object's default spawnable state on destruction - Now that we're taking this approach, I've remove serveral redundant bits of functionality in the spawn register such as making some spawnables read-only, and the PreSave binding for Sequencer. - We now hook into all object pre-saves to make sure we handle the case where the sequences are saved through the content browser or elsewhere. #jira UE-47686 Change 3967170 by Andrew.Rodham Sequencer: Added the ability to possess anim instances as object bindings - This allows full and direct animation of properties on UAnimInstance, and animation blueprints - Object Bindings are made by first possessing a skeletal mesh component, then choosing the + Add button where its anim instance will be listed - Added a new function to UMovieSceneSequence to gather previously cached objects that should now be invalidated. Anim instances will be re-resolved if a new UAnimInstance is assigned to USkeletalMeshComponent::GetAnimInstance. - ObjectBindingIDs for anim instances are just represented by an entry in a set of GUIDs. We only ever resolve such bindings through USkeletalMeshComponent::GetAnimInstance. - Only currently supported on LevelSequences #jira UE-56132 Change 3967195 by Max.Preussner Core: Updated TRangeSet to use TCallTraits Change 3967345 by JohnHenry.Carawon Test Content Changes - first iteration of spacing out the examples in the shots. Change 3967572 by Max.Chen Sequencer: Fix setting PreviousPlayEvalPosition until after we've tested whether it's set. #jira UE-56518 Change 3967750 by Max.Chen Audio: Set duration based on number of input channels, rather than number of channels to serialize. This fixes an issue where audio split into 2 channels is set to a duration that's twice as long. #jira UE-56430 Change 3967836 by Max.Chen Sequencer: Allow for animating array elements within ustruct properties #jira UE-55887 Change 3968506 by Matt.Hoffman Fixed ambiguous conversions for seconds and frames being overriden by ambiguous conversion to Timecode (in frames). Change 3968748 by Max.Chen Sequencer: Make the event properties submenu widget larger. #jira UE-55557 Change 3968862 by Max.Chen Sequencer: Recursive expansion when shift is down #jira UE-52139 #pr 4194 Change 3968863 by Max.Chen Sequencer: Bind rename command to selected track so that F2 shortcut start renaming #jira UE-52139 #pr 4194 Change 3968872 by Max.Chen Sequencer: Rekey the selected key at the current time. #jira UESEQ-396 Change 3968938 by Max.Chen Cine Camera: Add option to toggle the behavior of locking the rail mount to the orientation of the spline. By default, the option is off, no change in behavior. #jira UE-55815 Change 3968958 by Andrew.Rodham Sequencer: Consider vertical position when hittesting keys #jira UE-56256 Change 3969643 by Max.Preussner Core: Rounding timespans created from double values towards nearest ticks Change 3969646 by Max.Preussner MediaUtils: Implemented timeout mechanism for block-on-fetch feature Change 3969776 by Mike.Zyracki Added Skip Anim Notifiers Toggle per what was in Matinee. Investigated the Enable Root Motion toggle as also discussed but it's implementation is directly contained by the animation asset and unlike animation notifies there seems to be no exposure to interactively disable it during a playback tick. Note if we are generating thumbnails we still automtically disable notifies in the editor to avoid annoying noise playback. Note that if Enable Root Motion/Root locked is specified in the animation asset it does correctly effect the Sequencer. #jira UESEQ-399 Change 3969835 by Matt.Hoffman Playback Range and Selection Range use unified logic for adding themselves as potential snap locations which properly handles inclusive/exclusive bounds. This resolves an issue where having an unset selection range caused a potential snap location to be added on frame 0 and 1 (internal resolution) which caused a misalignment when placing objects near frame 0. This also removes the one frame offset on setting Selection Range to bring behavior inline with other ranges. #jira UE-55420 Change 3969885 by Max.Preussner MediaAssets: Don't register media player CDO with media ticker Change 3971129 by Andrew.Rodham Sequencer: Fixed UMovieSceneSequencePlayer::GotToEndAndStop() not taking into account for start time This is a remnant from when the times were always specified in 0-duration space, rather than actual sequence times. Change 3972056 by JohnHenry.Carawon More updates to Test Content. I continued spacing out the examples in the sequence so that they have a consistent number of frames between each example and during the start/end of the example. Also removed the Marcie sublevel. Change 3972066 by Andrew.Porter MediaFrameworkTest: Setting Marcie folder to be never cooked in package settings Change 3972675 by Matt.Hoffman Splitting Subsequence Sections no longer sets an incorrect playback range on the subsequence when the subsequence has a different internal resolution than the owning sequence. #jira UE-55453 Change 3973376 by Max.Preussner ImgMedia: Zero is the only valid video track for image sequences Change 3973489 by Max.Preussner Launch: Build rules cleanup pass - don't use Media, MediaUtils on server apps - don't link against Media (include-only dependency) - don't include from MediaAssets (dynamic load only) Change 3973760 by Max.Preussner MediaUtils: Moved AppMediaTimeSource implementation into its own file; added logging Change 3973765 by Max.Preussner ImgMedia: Disallowing seek beyond media length Change 3973855 by Max.Preussner MediaFrameworkTest: Updated developer test content Change 3973858 by Max.Preussner MediaCompositing: Blocking on media player time instead of media sample time (the former may not be hit in the current frame) Change 3974988 by Max.Chen Sequencer: Fix trim left so that it also sets the start offset for audio and skeletal animation sections. #jira UE-57015 Change 3976101 by Matt.Hoffman Sequencer will now focus the scroll view on newly created items. #jira UE-56492 Change 3976203 by Max.Chen Property Editor: Add DetailsViewArgs for ColumnWidth. Defaults to 0.65f, no change in existing behavior. Change 3976205 by Max.Chen Sequencer: Set better column widths for sequencer. #jira UE-55557 Change 3976206 by Max.Chen Sequencer: Added menu category for import/export Change 3976265 by Matt.Hoffman Tracks within Object Binding Nodes will now sort using the old behavior so that components are added above other track types. #jira UE-56473 Change 3976901 by Max.Chen Sequencer: Add event names to event track section #jira UESEQ-353 Change 3977878 by Max.Preussner Media: Moved media framework ticking stats into Media module Change 3977982 by Max.Chen Sequencer: Add Edit->Reset section length to duration of source (ie. audio, skeletal animation, shot length) Added MovieSceneSection::GetDefaultDuration and MovieScene::HasDefaultDuration #jira UESEQ-392 Change 3977994 by Max.Preussner Media: Fetching and rendering media samples before viewports are rendered (to ensure frame sync for in-level media playback) #jira UE-53975 Change 3978188 by Matt.Hoffman Easing Curves are now clipped by the sequence's PlayRange when testing against an infinite section. This causes blended sequences to finish their blend when the section starts/ends instead of always using 25% of the total section length to determine default blend range. #jira UE-56362 Change 3978676 by Max.Preussner MediaCompositing: Fixed first frame of rendered out media track missing #jira UE-53975 Change 3978684 by Max.Preussner MediaCompositing: Enabled media track frame sync feature #jira UE-53975 Change 3980026 by Matt.Hoffman Keys can be selected on folded out sections (such as an audio track expanded to show volume and pitch) again. #jira UE-57169 Change 3981614 by Max.Preussner MediaUtils: Added missing subtitle sample queue flush Change 3982311 by Max.Preussner MediaCompositing: Added safeguard for zero length media sources Change 3982389 by andrew.porter QAGame: Adding media track test content into FrameAccuracySubscene Change 3983661 by Max.Chen Sequencer: Add level name to spawn a spawnable into. Add sublevel menu option to set the level #jira UESEQ-390 Change 3983712 by Andrew.Rodham Sequencer: Purge legacy blueprint spawnables from LevelSequence packages #tests Ran a preflight for cooking fortnite, ocean and Orion. Only orion shows up this edge case, and will require a re-save of the EndCines level #jira UE-39173 Change 3983787 by Max.Preussner MediaCompositing: Moved compile time switch for block-on-fetch into media player facade Change 3983812 by Andrew.Rodham Sequencer: Exposed default level sequence instance data to blueprints Change 3984373 by Max.Preussner Media: Added API for quering whether player plug-in supports block on fetch Block on fetch allows Sequencer and other systems to block the game thread until a desired video frame has been decoded. Change 3984670 by JohnHenry.Carawon Movie Rendering Test Content progress. Saving the state of the content. There is a bug where things got replaced with particle emitters and I think it was because I tried to copy paste an animation track into a separate skeletal mesh track. Change 3985097 by Max.Chen Sequencer: Rename Reset to AutoSize Change GetAutoSizeDuration to return TOptional<FFrameTime> #jira UESEQ-392 Change 3986043 by Max.Chen Sequencer: Fix crash when attach/path duration is less than 0. #jira UE-57310 Change 3986373 by Max.Chen Sequencer: Add support for deleting tracks and channels which equates to setting the channel mask. #jira UE-52951 Change 3986375 by Max.Chen Sequencer: Add Create Pose Asset to skeletal animation section. This allows animators to blend animations in sequencer and create new pose assets from them. #jira UESEQ-408 Change 3986796 by Andrew.Rodham Sequencer: Fixed stale object references remaining in ULevelSequence::BindingReferences when using convert to spawnable/possessable - We used to convert objects by creating a new binding, then re-assigning its GUID, which meant we didn't have to do any further object fixup, but the code to achieve this was confusing and led to a vulnerability where object references would not be cleaned up correctly due to the newly created possessable essentially being a temporary object that's immediately thrown away. - To address this, there is now a function for porting all the contents of one object binding to another, and handles the correct fixup required for parent/child object bindings for both spawnables and possessables. - Also added codepath to remove any stale object references from the level sequence reference map on PostLoad (this piggy-backs off the PurgeLegacyBlueprints object version which is close close enough to this change to be identical) #tests Verified that existing sequences with stale references get cleaned up on load. Verified that repreatedly converting from spawnable<->possessable cleans up references correctly. Change 3987807 by JohnHenry.Carawon Updates to the MovieRendering Test Content. - Fixed the spawnable actors that were overwritten - Shortend the Lighting example and combined the Intensity and Color tracks - Organized the Sequence and WorldOutliner to group the examples. Change 3988151 by Max.Chen Cine Camera: Enable keying the "Enable Look at Tracking" toggle. Change 3988880 by Max.Chen Sequencer: Support enter to add asset for all sequencer track editors that have asset pickers. #jira UE-57367 Change 3988953 by Max.Chen Sequencer: Make the track color picker focusable so that it will close when you click away or lose focus. #jira UE-57210 Change 3988962 by Max.Chen MovieSceneCapture: Fix EDL export so that it takes into account movie scene frame resolution and desired frame rate. #jira UE-57365 Change 3988964 by Max.Chen Movie Scene Capture: Clarified tooltip for bRelativeFrameNumbers. If you specify custom start/end frames for the recording, they will be relative to the playback range. #jira UE-57308 Change 3989442 by Max.Chen Fix CIS Change 3991548 by Matt.Hoffman Dragging the time slider no longer causes the time slider to ignore snap-to-interval with "Snap to Keys While Scrubbing" when no keys are in range. #jira UE-57417 Change 3991598 by Matt.Hoffman Snap to Key while scrubbing now mirrors the behavior of "jump to next key". When there are no tracks selected it snaps to all keys and when there are tracks selected it snaps to only keys from that track. This also resolves an issue where deleting an object did not remove it from the Sequencer's selection. Undoing a delete already doesn't seem to restore your selection, so removing it from your selection shouldn't change that behavior. #jira UE-57417 Change 3991603 by Max.Chen Sequencer: Disable EditAnywhere for some section properties #jira UE-53530 Change 3992240 by Max.Preussner MediaAssets: Implemented dynamic audio sample rate adjustment based on audio/media clock drift #jira FORT-70638 Change 3992911 by Andrew.Rodham Sequencer: Fixed saving spawnable state using the wrong spawned object - We now track the object binding ID so that we can apply the spawned object to the correct spawnable when the asset is saved #jira UE-57353 Change 3992914 by Max.Chen Movie Scene Capture: Fix compression quality not being set. The compression interface wasn't being found through query interface, so no compression was being set. Reworked finding it through the output pins. Tested running various compression values. #jira-UE-55488 Change 3992919 by Max.Chen Sequencer: Convert to possessable now uses object template instead of copying properties (ie. see LevelSequenceActorSpawner). This fixes MIDs getting lost when converting to spawnable and back to possessable. #jira UE-52400 Change 3993184 by Max.Chen Sequencer: Don't show +Transform/+Path/+Attach track if the actor has the "Mobility" property hidden. Set the Landscape, LandscapeProxy and InstancedFoliage "Mobility" property to be hidden since it is static is not supposed to be dynamically movable. #jira UE-56347 Change 3993238 by Max.Chen Sequencer: Test for hidden mobility in creating keys as well. Refactored to HasHiddenMobility() #jira UE-56347 Change 3993978 by Max.Chen Cine Camera: Enable keying the "Enable Look at Tracking" toggle. #jira UE-57489 Change 3994039 by Max.Chen Landscape: Add Mobility to hidecategories on landscape component #jira UE-56347 Change 3994626 by JohnHenry.Carawon Updated Movie Rendering Test Content. - Fixed the overridden spawnables to their proper object types. Change 3994653 by Christina.TempelaarL Sequencer: Added Final Cut Pro 7 XML Import functionality, improved Export functionality #jira UESEQ-358 Change 3995609 by Max.Chen UMG: Add support for 2d transform mask (translation, rotation, scale, shear) #jira UE-52951 Change 3995778 by JohnHenry.Carawon Movie Rendering Test Content Updates - Adjusted Lights example - Adjusted Camera example - Added Marcie sublevel back in Change 3995942 by JohnHenry.Carawon QAGame: Moving Movie Rendering test content from Developer folder to Sequencer folder Also adjusted level visibility, lights and camera example. Change 3995993 by Christina.TempelaarL Sequencer: FCPXML Export updates - only export sections if in playback range and media exists, warn if media does not exist. Other updates - removed unused methods and variables, fixed message context naming to be more accurate #jira UESEQ-358 Change 3996595 by andrew.porter QAGame: Updating Marcie content in TrackEvaluation level to use Image Plate Change 3996614 by andrew.porter QAGame: Adding color test sequence to the sublevel Change 3996643 by Max.Chen Sequencer: Fix fbx animation export - rotation and scale channels were flipped. #jira UE-57509 #jira UE-57512 #jira UE-57514 Change 3996652 by Max.Preussner Messaging: Fixed delayed messaging using incorrect current time after message router sleep Based on https://github.com/EpicGames/UnrealEngine/pull/4601 Change 3996801 by Max.Chen Sequencer: Fix folder active state for non key area sections. Look at track node sections as well as key areas. #jira UE-57550 Change 3997098 by Matt.Hoffman Cleaned up some remaining ToDo's in STimeRange. Change 3998339 by Max.Preussner Sockets: Added documentation for socket receive functions Change 3998359 by Max.Preussner MediaUtils: Started to implement media recorder helper class Currently only supports BGRA frames in CPU memory. Supporting other formats and buffer types will require conversions on render-thread. I recommend refactoring out the existing conversion code in FMediaTextureResource into a reusable helper class in the MediaUtils module. This should be a good starting point though. Change 3998417 by Matt.Hoffman Keys and Sections can now be moved at the same time inside of Sequencer. Keys can now snap to Sections (and vice versa) instead of just to other Keys. Sections can now be duplicated like keys can. #jira UE-56995 Change 3998427 by JohnHenry.Carawon QAGame: Updating test content for the Movie Rendering feature. - Added an auto activate particle to the beginning of the sequence (it's not part of the sequence at all) - Added an event receiver blueprint to the Events example - Added a particle emitter to both sublevels - Added a camera cut to the end that switches to a separate camera - The camera zoom in, focus and Look At sections are all separate (not overlapping in the sequence) - Added a second actor for the camera Look At - Added a Visibility section for the Actor Hidden In Game track that has possessable and spawnable cube and light Change 3998537 by Max.Chen Sequence Recorder: Restore immersive mode when stopping the sequence even if not in PIE. #jira UE-56407 Change 3999809 by Matt.Hoffman Removed the "Go To" box from Sequencer and instead placed the current time as an always visible control. The previous shortcut (Ctrl + G) now focuses the new widget directly. #jira UESEQ-376 Change 4000543 by Christina.TempelaarL Sequencer: Moving editor-only code from runtime module MovieSceneCapture to editor module MovieSceneTools. Moved EDL and FCP XML exporters as well as Automated Level Scene Capture. #jira UESEQ-358 Change 4000706 by Matt.Hoffman Entering multiple time strings without a number no longer crashes Sequencer. #jira UE-57672 Change 4001051 by andrew.porter MediaFrameworkTest: Fixing up some image sources pointing to the wrong location Change 4001191 by andrew.porter QAGame: Adding some quick EDL/XML test content to dev folder Change 4001243 by Max.Chen Sequencer: Fix import EDL out of range. #jira UE-57665 Change 4001856 by Matt.Hoffman Selecting keys and sections at the same time now also works with animation and audio sections. #jira UE-57716 Change 4002021 by Max.Chen Sequence Recorder: Fix sequence name incrementing. If external recording sets the sequence name, use it. Otherwise, use the recording name from the recording group or the recording settings. #jira UE-57712 Change 4002618 by Max.Chen Viewport: Update the look at location when updating to a locked actor. This fixes an issue so that popping the view out of a locked actor and manipulating the view will not jump to the previous look at location. #jira UE-57725 Change 4002979 by Matt.Hoffman Fixes several edge cases with the end time range that was causing confusion about what the last frame of the sequence was. Dragging the End Frame slider will no longer be off by one tick and jumping to the end via the UI controls now properly respects snapping and stays inside the play range instead of falling outside of it. Overall behavior does not change though and End Frame should be considered an exclusive frame so that frames 0-150 results in a 150 frame long animation (which is frames 0-149). #jira UE-56367 Change 4003185 by Matt.Hoffman Fixed a regression that prevented a section from being dragged upwards past row 0 which normally resulted in all other rows moving down. #jira UE-57717 Change 4003193 by JohnHenry.Carawon QAGame: Updates to test content - Shortened frames between the examples from 95 to 30 - Separated camera setting tracks - Lighting example now switches directly from constant red - green - blue Change 4003369 by Max.Chen Sequence Recorder: Refresh next sequence regardless of internally stored sequence name. #jira UE-55757 Change 4003586 by JohnHenry.Carawon QAGame: Test Content Updates - Level Visibility track now ends to that the levels are not visible when we move to the next example - Shortened camera section, removed Z tranform so that we just move left to right and shortened the overall length Change 4004414 by Max.Chen Movie Scene Capture: Fix regression where rendering with shot handles would only render the first shot. 3972166 addressed an issue where an extra frame would be rendered by finalizing right when the end frame was reached. This was hit on the first shot end frame, so instead, do this only for when the last shot is being rendered. #jira UE-57314 Change 4004765 by Christina.TempelaarL Sequencer: Fixed bugs in FCP XML import/export. - Export: fixed sequence default resolution. - Export: fixed XML files with no shots. - Export: all sections clipped to playback range. - Export: fixed incorrect section start/end times due to precision issues. - Import: fixed incorrectly adding cinematic tracks. - Import: fixed bugs creating new sections. #jira UE-57660 #jira UE-57662 #jira UE-57655 #jira UE-57761 Change 4005119 by Max.Chen Sequencer: Export/import at play rate Change 4005195 by Max.Chen UMG: Finish UMG evaluation on stop. Added object version so that existing UMG assets do not change. #tests - Newly created UMG animation with sections set to restore state now return to their original state. Existing UMG animations with sections set to restore state do not return to their original state. #jira UE-52285 Change 4005377 by Michael.Karambelas QAGame: Moving TM-SequenceRecorder and related content out of my developer folder and into /Content/Sequencer/SequencerRecorder/* Change 4005417 by Michael.Karambelas QAGame: Fixed a BP compiler in the Level Blueprint of TM-SequencerRecorder. Change 4005634 by Michael.Karambelas QAGame: Fix up missing content and broken level sequence in TM-SequenceRecorder after move Change 4006324 by Max.Chen Sequencer: Reset if the focused movie scene is null. This fixes a crash if the user is focused in on a shot and undo takes the user past the point of where the shot was created. #jira UE-57752 #jira UE-47661 Change 4007006 by Max.Chen Sequencer: Fix FindAvailableRowIndex so that it returns the max row index (and not +1) since it doesn't find any conflicting rows. #jira UE-57717 Change 4007907 by Max.Chen Sequencer: Fix crash if there's no animation Change 4007948 by andrew.porter QAGame: added test content to dev folder for Record World Space Change 4008636 by Max.Chen Sequencer: Fix import fbx not setting values properly and creating additional cameras unncessarily. #jira UE-57864 Change 4008759 by Max.Chen Sequencer: Follow up fix for import cameras #jira UE-57864 Change 4009994 by Matt.Hoffman Dragging the left or right handles of the Time Range slider in Sequencer will now zoom your view in on the current center of the screen. This prevents the view from being translating as you tried to zoom in which caused issues at high zoom levels. #jira UESEQ-407 Change 4010169 by Christina.TempelaarL Sequencer: FCP XML fixes. - FCP XML export - no longer clips to playback range - FCP XML and EDL export - fixed missing last frame of some sections after exporting to Premiere. - Automated level capture, EDL export - use RoundToFrame instead of FloorToFrame for computing section start/end frames after frame rate conversion. #jira UE-57802 - partial fix, movie scene capture still needs to render full section rather than clip against playback. Change 4010287 by Mike.Zyracki Add quaternion interpolation option to UMovieScene3DTransformSection. This mimics how Matinee used to work by bascially finding the keys between a time and interpolating the angles as quat's between them. As noted in the code the algorithm needs to handle the case when the x,y,z Rotation keys all aren't at the same time which was not handled by Matinee. Also like Matinee, when in quaternion interoplation mode, we need to not display the function cuves since the interpolated and key values are now all different. (Would like to show them but that's a bigger refactor for perhaps just a one off needed by quaternions). I added a virtual function UMovieSceneSection::ShowCurveForChannel for this since it needs to be dynamic, not on construction of IKeyArea's, and could be useful for other sections. I could though move the method to just UMovieScene3DTransformSection and do a cast instead. Looked into doing a unit test for this but after talking with Andrew P we will work on doign an automated test in EngineQA since that will provide more coverage. Will also add a video the jira. #jira UESEQ-403 Change 4010713 by Mike.Zyracki Added option to key a group of transform channels instead of just the changed channel, or all of them. This is useful for quaternion interpolations where you want rotation keys to be aligned but also useful for other workflows like animating FK Pose to Pose. Change 4010715 by Andrew.Porter MediaFrameworkTest: Setting LogMediaUtils logging from VeryVerbose to Verbose to cut back on the spam Change 4013048 by Max.Chen Sequencer: Fix play/jump status. Update the player status for all position methods (Scrub, Jump, Play). Jump means Stopped. Correctly use PlayTo or JumpTo based on position method. In PlayInternal, JumpTo with the Stopped state (rather than playing state). #jira UE-57844 Change 4013479 by andrew.porter QAGame: Added content in TM-SequenceRecorder to test recording a property on a Cine Camera Component; Press 3 to trigger manual focus distance to increment on a timer Change 4014323 by Max.Chen Sequencer: Fix SetPlaybackPosition so that it jumps or plays based on playback status. #jira UE-57844 Change 4015888 by Max.Chen Sequencer: Fix crash on paste. UMovieSceneSections were gathered from the track node's track. For sub track mode, we want to gather only those sections on that track node row. #jira UE-57951 Change 4015943 by Max.Chen Sequencer: Fix moving shots up when the mouse pos goes outside of the virtual track area. #jira UE-57717 Change 4016293 by Max.Chen Sequencer: Fix relative frame playback end frame calculation so that custom start/end frames remain in the space of the sequence and are not relative. #jira UE-57308 Change 4017075 by Andrew.Rodham Sequencer: Corrected initial evaluation range used when calling UMovieSceneSequencPlayer::Play() Change 4017270 by Christina.TempelaarL Sequencer: FCPXML importer and movie scene capture - Use CeilToFrame when converting section start/end frame times to frame numbers in FCPXML and movie scene capture. - Added support for clip metadata in FCPXML. - Got rid of redundant TokenizedError message class, no longer needed now that FCPXML is in editor directory. - Added log messages currently commented out due to exception, still testing. #UESEQ-358 Change 4018370 by Christina.TempelaarL Sequencer: fixed FCPXML log messages regarding sections with start/end not divisible by display rate. #UESEQ-358 Change 4018378 by Christina.TempelaarL Sequencer: fixed error in previous changelist. #UESEQ-358 Change 4019457 by Max.Chen Sequencer: Show event names only when the event track is selected #jira UE-57897 Change 4022806 by Max.Chen Sequencer: Fix crash on movie scene capture dialog shutdown if movie capture wasn't even started. #jira UE-58106 Change 4022894 by Max.Chen Sequence Recorder: Wrap OpenEditorForAssets after sequence recording within GIsEditor #jira UE-58084 Change 4024487 by Max.Chen Sequencer: Add tooltip for quat interpolation #jira UE-58113 Change 4024562 by Max.Chen Sequencer: Change path/attach track sequence binding id to currently focused sequence id so that bindings can be created in subsequences Change 4027414 by JohnHenry.Carawon QAGame: Checking in content that shows a bug with using particles systems and Delay Before Shot Warm Up. Change 4028990 by Max.Chen Sequencer: Fix evaluate sub sequences in isolation. This check was added with the compile on the fly logic. Not sure why it was necessary but it seems like the sub sequence data needs to be updated in order to evaluate sub sequences in isolation. #jira UE-58184 Change 4029004 by Max.Chen Sequencer: Ensure that old binding references are removed when re-assigning actors in sequencer #jira UE-57898 Change 4030997 by JohnHenry.Carawon QAGame: Fixing name of the master sequence Change 4031785 by Michael.Karambelas QAGame: Added an instance of ThirdPerson Run to TM-SequenceRecorder for Record to Possessable test. Change 4035548 by Andrew.Rodham Sequencer: Changed FMovieSceneEvaluationTemplate::TemplateSignature to be a serial number to address non-deterministic cooking issues - This commit is related to the repro steps found in 3914599 and 3934307, both of which have been verified with this new change. - Copy of 4031684 from //Fortnite/Main/... #jira FORT-84852 Change 4036312 by Max.Chen Sequencer: Fix zoom view range so that it uses the passed in InZoomDelta Change 4036318 by Max.Chen Sequencer: Auto size now returns a range and defaults to the channel proxy range so that keyed regions can also be autosized. Change 4036322 by Max.Chen Forgot missing change Change 4036360 by Max.Chen Sequencer: Fix play rate calculation when skeletal animation section play rate changes. Change 4037163 by Mike.Zyracki Weighted Tangent Implementation Tricky thing is that you need to solve a cubic in order to get the bezier weights for the time part of the curve. See https://www.gamedev.net/forums/topic/474094-help-function-curves-for-animation-interpolation/ Maya provides an implementation in it's dev kit but I didn't use it since it was horribly slow and uses an iterative solution to solve the cubic needed. Instead I use an old algorithm (Cardano's method), to solve the cubic which should be much faster. Though relative simple to code from principles I just went ahead and used a version from Graphics Gems 1. I put this cubic solver directly in MovieSceneFloatChannel.cpp, but will need to move it when we support Rich Curve, maybe to FMath:: (which would probalby require some other functions for solving quartics, etc.. for completeness.). Also note we resolve this on every evaluation but dont' need to if the interval the time is evaluating hasn't had any change in values or tangents. So again when we support FRichCurve we can create a Weighted Evaluating class that can hold the cache. Also with the tangent drags I got rid of the Cardinal position that was used to calculate non-weight tangents from the key point and just quickly getting a direction. With weighted tangents we need to use the delta instead (otherwise when moving multiple they would all get the same weight based upon distance to the cardinal point. ) For mixed tangents types what I'm defaulting to non weighted if the interval doesn't match. May need to do weighted instead, not sure. What's left is just FBX import, for tomorrow. #jira UESEQ-76 Change 4037435 by Mike.Zyracki Fix fo build warnings from weighted tangent submission. #trivial Change 4038091 by Michael.Karambelas QAGame: Updated a Sequence Recorder group in TM-SequenceRecorder that had an actor missing the animation. Change 4038374 by Andrew.Rodham Sequencer: Refined scrubber styling for level sequences and actor sequences - Scrubber now shows a block the width of a dsplay rate frame, plus a line for the actual evaluated time. UMG reverts back to the previous styling (no block) - Keys that are outside of the playback range are now drawn with a subdued effect - Tick labels are no longer drawn when directly underneath the scrubber Change 4038490 by Max.Chen Sequencer: Expose tangent weight values in details panel. Change 4038620 by Andrew.Rodham Sequencer: Advanced time panel polish #jira UESEQ-426 Change 4038677 by Max.Chen Movie Scene Capture: Redirector for MovieSceneTools.AutomatedLevelSequenceCapture #jira UE-58248 Change 4039739 by Max.Chen Sequencer: Media track should only be supported by Level Sequence Change 4040024 by JohnHenry.Carawon QAGame: Fix EventReciever and OverrideBinding example The level sequence was set to none so the fix was to set it back to TrackEvaluation_Master. Change 4040610 by Andrew.Rodham Curve Editor: Moved weighted tangent switchers to a single toggle command (CTRL+W) and added an icon #jira 58383 Change 4040882 by Mike.Zyracki Keep broken when turning on weighted #jira UE-58435 Change 4041089 by andrew.porter QAGame: Sequence for Long Tangents bug Change 4041498 by Mike.Zyracki Turn off weighted when going auto to prevent large tangents. Do it both in UI and when doing AutoSetTangents() to really make sure it doesn't happen. #jira UE-58452 Change 4041752 by andrew.porter MediaFrameworkTest: Adding some better logging for setting rates when not supported. Also ignoring commiting URL when there is no text Change 4041896 by Matt.Hoffman The transform dialog box now transforms selected keys and sections, instead of just keys. #jira UE-58265 [CL 4044405 by Max Chen in Main branch]
2018-05-02 10:10:00 -04:00
const bool bHitScrubber = GetHitTestScrubPixelMetrics(RangeToScreen).HandleRangePx.Contains(HitTestPixel);
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3946692) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3801826 by Max.Chen PR #4304: Level Sequence crash fix - Guarded against dereferencing null componen. (Contributed by DSDambuster) Change 3801828 by Max.Chen PR #4302: Movie Scene Visibility Template unitialised variable, causing random . (Contributed by DSDambuster) Change 3801837 by Max.Chen Sequencer: Delay spawning/construction for convert to possessable. This fixes a bug where property values would be lost when converting back and forth from possessable to spawnable. #jira UE-52400 Change 3801841 by Max.Chen Sequencer: Make spacer nodes not selectable. PR #4194: Improvements to Sequencer (Contributed by projectgheist) #jira UE-53117 #jira UE-52139 Change 3804183 by Max.Preussner MediaAssets: Added missing lock in media sound component Change 3805414 by Max.Preussner MediaAssets: Setting valid GUID when initializing media texture resource Change 3819578 by Max.Chen PR #4370: When enabling the "MovieCapture", do not turn off the Stereo-3D display. (Contributed by yehaike) #jira UE-53647 Change 3823414 by Max.Chen Curve Editor: Lock down the first and last keys in the redundant keys removal range so that they're unaffected. #jira UE-53591 Change 3826406 by Max.Chen Sequencer: Move OnStartedPlaying() to within first update in UpdateTimeCursorPosition(). This fixes an issue where setting the hud/player visibility was getting stomped on later. #jira UE-52772 Change 3827044 by Max.Preussner MediaAssets: Added sprite visualization to media sound component #jira UE-53594 Change 3827988 by Max.Preussner MediaPlayerAssets: Fixed Media Texture is not linked to Media Player when created together #jira UE-53532 Change 3828506 by Max.Preussner MediaPlayerEditor: Added attenuation visualizer for media sound components #jira UE-53594 Change 3832590 by andrew.porter EngineTest: Added a keep state check in Property Animation sequencer test Change 3833053 by andrew.porter EngineTest: Adding Hierarchical Bias test Change 3835683 by andrew.porter EngineTest: Adding UMG Animation screenshot test Change 3836076 by Max.Chen Sequencer: Fix audio volume and pitch multiplier deprecation. Change 3836230 by andrew.porter EngineTest: Adding Sequence Bone Position automation test Change 3836347 by Max.Chen Sequencer: Fixes to shot name parsing. When a shot doesn't contain a shot number, assume, [ShotName]_[TakeNumber]. When duplicating a shot, put the new shot in the same path of the original shot, so that the take numbers will increment properly. #jira UE-51868 Change 3836552 by Max.Chen Sequencer: Sub section now has a takes menu Change 3838094 by Max.Chen UMG: Fix template finish not getting called on stop. This fixes a bug where sections aren't restored when finished. #jira UE-52285 Change 3838708 by Max.Chen Sequencer: Add notification when the blend type is changed. #jira UE-54046 Change 3840295 by Max.Chen Sequencer: Fix copy/paste crash for lights #jira UE-54084 Change 3840957 by Mike.Zyracki Added Show Only Keyable and Show Only Animated to the filter list in the property editor. Added IsPropertyAnimated to IDetailKeyframe Interface which already had support for showing properties which are keyable (which is used for the key icon next to the properties.). Could have created another interface but then would have had to mimic the sequencer binding, releasing also, so this seemed best way. One issue still left is that custom built detail items currently don't store associated properties(usually) and so certain properties, in particulalry transforms, won't show up as keyable or animated. Note this also shows up with the keyable icon not showing up next to transform tracks, and other filters like Show Only Modified not working with transforms/customs. Not sure best way to tackle this. #jira UESEQ-328 Change 3841756 by Max.Chen Sequencer: Fix unbound possessable components when pasting spawnables. #jira UE-54104 Change 3843950 by andrew.porter EngineTest: Renaming LevelStreaming tests/content to LevelVisibility Change 3844082 by Mike.Zyracki Missing file for animated filter in property editor. When finding if a track is animated we need to find it but we can't easily induce the MovieTrack class for any particular property. So we don't set a class for it and just search by it's ID and name. #jira UESEQ-328 Change 3846902 by Max.Preussner ImgMedia: Fixed image media player never finished initialization if loading failed #jira UE-54247 Change 3849820 by Mike.Zyracki Reassigning deleted widgets didn't work since the menu extender mechanism needs a valid UObject in order to perform an operation on it. So to fix we replaced GetObjectBindingContextMenuExtender in WidgetBlueprint with new delegate mechanism (OnBuildCustomContextMenuForGuid) that supports FGuid in addition to UObjects which is needed to handle re-binding deleted widgets. Note that the default sequencer hacks this for replacing deleted actors in SequencerObjectBindingNode to check to see if a LevelSequence is active. We could move to this mechanism there also. #jira UE-53163 Change 3852211 by Max.Chen UMG: Indicate name of the property that is not bound. #jira UE-54350 Change 3854120 by Max.Chen Sequencer: Fix sibling folders being allowed to have the same folder name. #jira UE-54363 Change 3854627 by Max.Chen Sequencer: Step to next/previous key should work for all tracks if there aren't any selected. #jira UESEQ-391 Change 3855825 by andrew.porter EngineTest: Adding animation blending automation test Change 3855950 by andrew.porter EngineTest: Adding correct expected valuues to animation blending test Change 3856237 by Matt.Hoffman UESEQ-336 - Sequencer Track Reordering Adds the ability to re-order Master Tracks, Folders and Object Bindings within sequencer hierarchies (including UMG). Adds the ability to do a one-off sorting of the content under the old sorting behavior if the user wants to reset their layout to how it was under legacy behavior. Modifies SequencerTrackNodes, SequencerFolderNodes and SequencerObjectBindingNodes to handle CanDrop/OnDrop for above, below and ontop of. Fixes a Slate Issue that forcibly expanded a TreeviewRow if an item handled OnDrop. Slate will now only forcibly expand the row if the item says the drop happened ontop of the item, and not above or below it like it previously did. Change 3856503 by andrew.porter EngineTest: Adding automation test for using animation blueprint with blend multi node in sequencer Change 3857875 by Max.Chen Sequencer: Assign the sequence id after the template is compiled. #jira UE-54462 Change 3858344 by Max.Chen Sequencer: Prevent Goto and Transform boxes from overlapping by allowing them to be visible at the same time in an autosized horizontal box. Also, added close button to the goto box. PR #4425: Prevent Goto and Transform boxes from overlapping in Sequencer ... (Contributed by projectgheist) #jira UE-54210 Change 3860566 by andrew.porter MediaFrameworkTest: Set the option to index 0 for the audio and video track list by default Change 3860654 by andrew.porter EngineTest: Enabling Camera Cut + FOV test Change 3860981 by andrew.porter EngineTest: Updating skeletal mesh tests with a delay after set playback position Change 3861256 by Max.Chen Sequencer: Add all bindings if none selected. #jira-54440 Change 3862154 by Andrew.Rodham Added TimeManagement module Change 3862424 by andrew.porter EngineTest: Turned on the test Bone Positions with Blend Multi Node Change 3862573 by andrew.porter EngineTest: Adding test to compare bone positions in a sequence that is blending an animation that is using an AnimBP Change 3865117 by Max.Chen Sequencer: Stop auto scroll on mouse release of movement. #jira UE-31212 Change 3865303 by Max.Chen Sequencer: Add drag and drop transactions #jira UE-54662 Change 3865304 by Max.Chen Sequencer: Fix crash when an actor factory is not found. Change 3865361 by Max.Chen Sequencer: Don't change the camera/shot lock button when popping out of a sequence. #jira UE-54665 Change 3865412 by Max.Chen Sequencer: Determine whether a transform track is for a camera by using the spawned object or template #jira UE-54666 Change 3865685 by Max.Chen Sequencer: Clear autoscrub offset when stopping autoscroll #jira UE-31212 Change 3865886 by Max.Chen Sequence Recorder: Log an error if the number of frames changes while recording. This can happen if the skeleton changes while recording. #jira UE-48715 Change 3866925 by Andrew.Porter MediaFrameworkTest: Changing the current PNG test video image sequence to 1024 x 576 Change 3867705 by andrew.porter QAGame: Adding Audio Sort Sequence to dev folder Change 3867890 by andrew.porter QAGame: Adding a sequence for testing a sorting crash to my dev folder Change 3872628 by Max.Chen Movie Scene Capture: Split delay before warmup into split delay before shot warmup so that there's separate controls for when the movie scene capture warmups up vs. shot boundaries. Change 3873131 by Matt.Hoffman UE-54732 - Crash reordering a folder with a track. This was caused by folders being the only type of track to check if someone was putting a parent track into a child track. Object Binding tracks and Tracks now check as well so that you can't use the above/below drop targets to add parents as children. This also fixed a typo in the localization keys. #jira UE-54732 Change 3873301 by Mike.Zyracki Added ability to support continous euler angle changes when changing rotations, in particularly with the rotation gizmo's. To do this we effectively added a form an of 'euler filter'(https://en.wikipedia.org/wiki/Euler_filter) to find the closest euler angle to the current euler angle. Three functions were added to FRotator to make this possible, one to get the euler angle that's has the same rotation as it, one to get the difference between two euler angles via Manhattan distance and a third using the previous two to choose a Rotator value that's closest to it. We then use these functions before calling UComponent::SetRelativeRotation to make sure we use the correct Euler after the Quat conversion. We also no longer limit(bound) the euler angles to -180,180, which is obviously necessary to avoid flips. I also changed how we caluclate yaw and roll when pitch is -90 or 90 to make it the standard approach of zeroing out roll and just setting yaw. Main reasons are the previous implementation had precision issues so things like 180, 90, -180 would show up due to numbers being nearly zero but negative,(this would break any smooth interpolations), and this facilitates having a 'gimbal' rotation mode (like Maya, Blender etc..) if we ever want that also. If needed we could keep the previous implementation but would need to add some FMath::IsNearlyZero checks, with less performance. Note we only do this special filtering when applying delta's to actors or components in the editors, which then call UComponent::SetRelativeRotationExact, which is a new function to foces the RelativeRotation to be equal to the new rotation. This allows us to store un-nomalized Rotators at the cost that the RotationCache may be broken. We didn't change any of the other UComponent functions that set rotations (via Quats or Transforms) so they will still be bounded and unwound. In SetInternalWorldLocationAndRotation we only set the rotation if the rotation has changed, which fixes the rotation getting changed and re-normalized if just translate happens. In TransformTrackEditor, we correclty use the bUndwing flag and in MovieScene3DTransformSection there was an un-needed winding check there, it will be unwound earlier if needed, which happens if Sequence Recording is happening. Max we should talk about what to do about this . Note the euler angle drag via the widget is still bound to 0-360. I think we should just unbound that now since the rotations value are now unbound. This review now includes fixes suggested by Zak. #jira UE-UE-22228 Change 3873483 by Matt.Hoffman Sequencer Tracks can now be inserted above the spacer at the bottom of the tree. #jira UE-54706 Change 3873899 by Max.Chen Sequencer: Add section selection throbbing Change 3873908 by Max.Chen Movie Scene Capture: Added logging per frame Change 3873924 by Matt.Hoffman Adds the ability to store Sequence Recorder setups into profiles that stay with the map and can be re-loaded later. Profiles store the Actor Recordings so the settings for each actor should carry with them. #jira UESEQ-339 Change 3874726 by Matt.Hoffman Disable drag-and-drop targets on spacers that come between rows in Sequencer. This prevents extra drag/drop targets showing up between each row. #jira UE-54706 Change 3874862 by Matt.Hoffman Audio Track no longer gets reordered when adding sub-audio tracks, as sub-tracks are no longer counted towards the sorting order index when normalizing indexes. #jira UE-54727 Change 3875905 by Matt.Hoffman Disable Fade Track UI if a fade track already exists in the sequence. #jira UESEQ-393 Change 3876163 by Max.Chen Sequencer: Swap the camera object to the camera component's owner if it's not the same. #jira UE-54874 Change 3876971 by Andrew.Porter EngineTest: Moved Media Player Seek test to new folder. Also enabled the test with new ground truth image. Change 3877040 by Max.Chen Cine Camera: Split camera properties to two groups, "Camera Options" and "Camera Settings". The cine camera now hides properties in the "Camera Settings" group so that properties like bConstrainAspectRatio (in the "Camera Options" group) can be visible. #jira UE-54192 Change 3877763 by Max.Chen Curve Editor: Fix curve changed on end drag so that only curves that had keys/tangents that were changed receive notification, otherwise all loaded curves were getting notified that they were changed. #jira UE-54951 Change 3878234 by Matt.Hoffman Disable "Drop Below" targets for Sequencer Tree nodes to prevent a confusing UX issue where dropping underneath a Object Binding Node puts it after the object binding node but the UI looks like it's inserting it inside the Object Binding node. #jira UE-54743 Change 3879359 by Mike.Zyracki If a track is inactive we dim it a bit which seems to be the UE4 way to show inactive or disabled state. We changed the active logic so that all subtracks need to be inactive for the track to also be inactive(instead of all active for active). This conforms to how the active state actually works, e.g if you have two sections and only one is active the track is still active above it. #jira UESEQ-388 Change 3879462 by Max.Chen Sequencer: Allow dragging onto a particular row which would move out any overlapping sections to make space for the newly created section. Newly created sections are now selected and throbbed to draw attention to themselves. #jira UE-54664 Change 3879464 by Max.Chen Sequencer: Fixed overlapping ranges being inserted into the evaluation field during compilation - The issue was that track segments that had been combined with adjacent segments (due to them being identical) would potentially cause a subsequently compiled frame to overlap with a range that had already been inserted into the evaluation field. - The insertion code previously asserted that only minor overlaps were catered for (due to fp rounding errors) and assumed that a supplied range could not entirely contain any other range in the field. - The solution is to supply the insertion time along with the range to know exactly where the data should live in the field, and crop the range to the maximum allowable space between adjacent ranges. #jira UE-54922 Change 3879590 by Matt.Hoffman Items that are now added to the Sequencer via the "+Track" menu will be selected after being added. Items can now be added inside of folders instead of just to the root level. #jira UE-27397 Change 3879612 by Mike.Zyracki Display Nodes with no children are always active. #jira UESEQ-388 Change 3879730 by Matt.Hoffman Sequence Recorder's actor recording groups now remove items from the group when removed via the UI. #jira UESEQ-339 Change 3880256 by Mike.Zyracki Fix issue with inactive display with folders and other track nodes. #jira UESEQ-388 Change 3883491 by Max.Chen Fix issue where tick is skipped due to last ticked pose isn't cleared after AnimInstance changes. Copy from Release-4.19 #jira UE-51323 Change 3883603 by Max.Chen Movie Scene Capture: Add option toggle disable screen percentage. By default this is on (no change in current behavior). #jira UE-51898 Change 3885074 by Max.Preussner MediaCompositing: Resetting media texture & freeing resource on section end; removed dead code Change 3887220 by Max.Preussner MediaCompositing: Defaulted media section duration to 1 sec (since we do not know the actual duration in most cases) Change 3887478 by Matt.Hoffman Sequences now show [Inactive] in their title bars when they're disabled. This helps communicate why a sequence isn't being evaluated. #jira UE-51469 Change 3888985 by Max.Chen Movie Scene Capture: Clamp HDR Compression Quality between 0 and 1. #jira UE-55136 Change 3893519 by Max.Chen Sequence Recorder: Clarified tooltip for bRecordNearbySpawnedActors - spawned actors will still be recorded if they match the ActorFilter. #jira UE-55238 Change 3893546 by Max.Chen Sequence Recorder: If a selected actor already has a recording, add a blank recording. #jira UE-55239 Change 3894044 by Max.Preussner MediaCompositing: Added support for seeking into a media section Change 3894310 by andrew.porter MediaFrameworkTest: Adding Img media sources for 1080 and 2160 ravent test content Change 3894426 by Max.Preussner MediaAssets: Letting media textures with AutoClear retain their clear color when player is reset Change 3895717 by Max.Chen Sequencer: Null checks to prevent crash when saving the default state of a spawnable #jira UE-55304 Change 3897388 by Max.Chen Sequencer: Don't update current time to be within the view range when stepping into a sequence. #jira UE-55322 Change 3897452 by Max.Chen Audio: Fix crash when trying to record audio without any active capture devices. Log warning if the number of input channels is not 1 or 2. #jira UE-55223 Change 3897619 by Max.Preussner MediaCompositing: Removed commented out code Change 3898072 by Max.Chen Sequencer: Override the animation asset in the player state if it doesn't match the animation asset that's being evaluated. #jira UE-55328 Change 3898272 by Max.Preussner MediaPlayerEditor: Made slate brush constants static Change 3898704 by Max.Chen Sequencer: Skip if the binding id's sequence can't be found. #jira UE-55337 Change 3899855 by Max.Preussner MediaCompositingEditor: Added cache state visualization to media track Change 3900300 by Max.Preussner MediaCompositingEditor: Added loop indicators to media sections Change 3900694 by Max.Preussner ImfMedia: Looping cache only when player is looping Change 3900892 by Max.Preussner Stats: Added stats category for media framework Change 3900954 by Max.Preussner MediaCompositing: Don't evaluate at the end of media section Change 3901348 by Max.Preussner Core: Replaced TLruCache autos for better readability Change 3901655 by Max.Preussner ImgMedia: Added more perf stats to EXR reader Change 3901972 by Max.Preussner MediaAssets: Added getter for media player in media sound components Change 3902233 by Max.Preussner MediaAssets: Enabling media textures to receive samples right after player is assigned Change 3902238 by Max.Preussner MediaCompositing: Working around init/shutdown idiosyncracies in sequencer Change 3904045 by Max.Chen Sequencer: Fix copy/paste crash. Only process UMovieSceneCopyableBinding and objects that can be spawned by the movie scene spawn register. #jira UE-55314 Change 3905605 by Max.Chen Sequencer: Restrict spawnables from being created if they have a ClassWithin that UMovieScene is not a child of. #jira UE-55429 Change 3906550 by Max.Chen Sequencer: Add media track icon #jira UE-55480 Change 3907101 by Max.Chen Sequence Recorder: Fix bugs related to not recording a level sequence. There were certain assumptions that creating a level sequence meant that sequence recording was in progress. This is not always the case - the recorders can record animation assets and not create a level sequence. Changed the notion of IsRecording() to having at least one actor recording that is recording. Countdown timer, recording displays, etc should function if IsRecording() and not based on whether a level sequence is created. #jira UE-55485 Change 3907247 by Max.Chen Sequence Recorder: Fix crash not removing PrepareToCleanseEditorObject delegate. Repros when opening sequence recorder, closing it, and then opening or creating a level. Change 3910343 by Max.Preussner Core: Added async helper for executing functions on a given thread pool Change 3910346 by Max.Preussner ImgMedia: Added separate thread pools for loading/decoding and deleting image frames Change 3910829 by Max.Preussner Profiler: Increased visible range of profiler graph Change 3910841 by Max.Preussner MediaCompositing: Displaying asset name instead of full media source path in media section Change 3910870 by Max.Preussner ImgMedia: Using deallocation thread pool only in debug builds Change 3919642 by Max.Chen Sequence Recorder: Clarify active tooltip #jira UE-55661 Change 3919660 by Max.Chen Sequencer: Sequence template source signatures are now also compared to catch the case where a sub-sequence asset has been saved but not modified - The following sequence of events exposes this issue: - Create a master sequence with a single shot that spawns a cube - Add this sequence to a level and set it to auto-play - Save everything and restart - Resave just the inner shot asset without opening it - PIE - The inner shot never spawns its cube because its template was wiped on save, but its signature never changed. Since the master sequence previously didn't check the template source signature, it ends up trying to evaluate an empty template. #jira UE-55626 #jira UE-55490 Change 3921825 by Max.Chen Sequencer: "Run Construction Script in Sequencer" is off by default for blueprints but on for Sequencer. This allows the content author to switch it on for specific blueprints and sequencer will be default, run those with construction scripts enabled. Change 3922232 by Max.Chen Sequence Recorder: Reset countdelay on stop. #jira UE-55755 Change 3922306 by Max.Chen Sequence Recorder: Don't automatically mark transforms to be recorded by sequence recorder. Instead, log a warning if the user toggled it off to warn that the resulting animation might not match gameplay. #jira UE-55758 Change 3922912 by Max.Chen Sequence Recorder: Fix refresh next sequence name #jira UE-55757 Change 3927654 by Max.Chen Movie Scene Capture: Added format mapping for the name of the current camera #jira UE-55769 PR #4537 Change 3927658 by Max.Chen Sequencer: Added fbx property mapping for "FocusDistance" to "FocusSettings.ManualFocusDistance" #jira UE-55782 Change 3932022 by Max.Chen Sequencer: Add import animation track section to next available row index. #jira UE-55892 Change 3933919 by Max.Chen Sequencer: Jump to playback start frame and not 0 to start playback for recording. #jira UE-55933 Change 3934307 by Andrew.Rodham Sequencer: Add template signature that is re-generated every time the base template is regenerated, which invalidates evaluation fields This fixes an issue where the same sequence is instantiated multiple times in a sequence. If the source sequence was saved, its template would be wiped, which would invalidate the template ID When an instance tries to evaluate the master template, it would only invalidate a range in the evaluation field that was the hull of any invalid sub sequences overlapping the current time, potentially leaving invalid data in the evaluation field at positions later (or earlier) on in the sequence When the sub template was re-generated, it receives the same SequenceSignature as it had before (because the sequence hasn't actually changed), which causes the stale evaluation field data to fail the IsDirty check (because the sequence is the same as it thought, but the *template* has changed) This has been addressed be adding a signature to templates themselves, and checking both the template signature and sequence signature as a part of the IsDirty check. This ensures that we regenerate if either the template, or the sequence have changed. #jira UE-55934 Change 3936327 by Andrew.Rodham Sequencer: Removed increment when trimming right UMovieSceneSection::TrimSection already explicity assigns an exclusive bound to the time passed in. The new behavior means we can trim a section to the right, and insert another section without changing the time to create adjacent sections. #jira UE-42652 Change 3936328 by Andrew.Rodham Fixed KeyFrameManipulator assignment operators and copy/move constructors - These types are potentially self-referential so cannot use default constructors/assignment Change 3936330 by Andrew.Rodham Converted UMGSequencePlayer to use frames internally #jira UE-54878 Change 3936726 by Max.Chen Sequencer: Set track node as the parent of the key area node. The key area switcher needs the object binding id from the parent object binding node. Without this, the binding to the external value fails. #jira UE-55931 Change 3936775 by Max.Chen Sequencer: Should stop or loop should compare DurationFrames with Current Time from StartTime. The bug is that if you set 30 warmup frames in movie rendering for a range of 0-100, the FrameRange will be starting at -30 and have a duration of 130. Without this fix, the playback will continue until frame 130, rather than 100. #jira UE-55933 Change 3936935 by Matt.Hoffman Easing Curves are now represented in Play Rate resolution instead of internal resolution. #jira UE-55937 Change 3937069 by Matt.Hoffman Users can toggle if the is infinite on each side, limited by which tracks support infinite ranges. #jira UE-55891 Change 3937516 by Max.Preussner ImgMedia: Added support for single-threaded platforms #jira UE-55986 Change 3937826 by Max.Preussner MediaAssets: Disabling media sound components on HTML5 if AudioMixer is not enabled Change 3937997 by Max.Chen Curve Editor: Add Zoom to Fit Curves so that selected curves from Sequencer can be focused on. Tested that undo doesn't re-zoom. #jira UE-55935 Change 3938000 by Max.Chen Sequencer: Stop all sounds before generating audio waveforms. #jira UE-55951 Change 3938376 by Max.Preussner XGEController: Disabled XGE Controller in single-threaded apps to prevent crash Change 3938444 by Max.Preussner Core: Added async support for single-threaded applications Change 3938445 by Max.Preussner Networking: Added support for single-threaded applications in UDP socket sender/receiver Change 3938447 by Max.Preussner Messaging: Added support for single-threaded applications Change 3939432 by Max.Chen Sequence Recorder: Append command list to global level editor actions so that shortcuts are accessible in level editor. #jira UE-55798 Change 3940229 by Andrew.Rodham Added prospective display rate upgrade to UMovieScene::PostLoad - There was previously some very odd behaviour that would assign the fixed frame interval only when a sub sequence was focused in SSequencer. This meant that many sequences could have a frame interval of 0 set in the data. - Under the old method of snap interval display this would have fallen back to getting the display interval from the sequencer settings, but we no longer look at these. - The USequencerSettings properties have been removed and in their place, a prospective data upgrade for sequences that have a fixed frame interval old 0fps that sets the play rate to the previous defaults based off the old USequencerSettings defaults. - This could end up 'changing' the display rate for sequences where the user has changed the snap interval in the settings for a particular sequence editor, but there's not much we can do about that given we don't have access to the USequencerSettings classes in UMovieScene #jira UE-55919 Change 3940277 by Andrew.Rodham Sequencer: Added ability to default frame resolutions and play rates for newly created actor sequences Change 3940378 by Andrew.Rodham Sequencer: Post move import dialog now defaults to the playback framerate of the sequence, and floors to frame numbers Change 3940559 by Andrew.Rodham Reinstated primed or recording sequence color Change 3940642 by Max.Preussner ImagePlate: Removed image plate media playback functionality Change 3940843 by Max.Preussner Core: Made TCircularQueue actually thread-safe; improved code comments Change 3940860 by Max.Chen Sequencer: Changed StructNameToKey to StructPathToKey Previously, keying a PropertyPath of [RenderTransform][Shear][X] would get trimmed to X, which doesn't map to a channel name as considered by Sequencer2dTransformTrackEditor. Instead, trim the resulting property path to [Shear][X] so that track editors can determine the desired struct path and channels to key. #jira UE-52966 Change 3941292 by Mike.Zyracki Fix for trajectories out of range not showing up. 1) If we had no key data we would pop the time, so wouldn't get the section ranges. 2) Calculating of upper bound was wrong, checking against -1 and not key == num of keys when doing algo::lower_bound. 3) No need to do the Bck-- for the bakward iterators since we fixed #2. We start now from the upper bound correctly. 4) If we had no keys (at section start,end) we would incorrectly say we were any key type, so since we draw constant keys as dashed we would do so incorrectly around section end points. #jira UE-55929 Change 3941424 by Max.Chen Curve Editor: Change Zoom to Fit to use TArrayView Change 3941498 by Max.Preussner Core: Added FMath::DivideAndRoundNearest function Change 3942097 by Matt.Hoffman Drop Frame Timecode Support for NTSC rates. Change 3942104 by Matt.Hoffman Sequence Recorder Group is no longer visible inside the World Outliner after using one. #jira 55266 Change 3942107 by Max.Chen Sequencer: Resurrect logic to find or extend an existing section when adding keys. Change 3942330 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942339 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942507 by Andrew.Rodham Sequencer: We no longer pad the time overlap threshold with a small number that is not scaled by the current zoom level - The presence of this pad was causing keys that were far apart to be grouped when zoomed in a long way Change 3942509 by Andrew.Rodham Sequencer: Only pad total view range, rather than section range as well when retrieving keys to render - This stops us from rendering keys that are within the view range, but outside the section range Change 3942512 by Andrew.Rodham Added transactions to some sequencer details customizations Change 3942513 by Andrew.Rodham Sequencer: Reinstated validation checks to UMovieSceneSection::SetStartFrame and SetEndFrame, changed erroneous uses to use SetRange Change 3942560 by Andrew.Rodham Pass by rvalue reference to appease error C2719 on Win32 ('InChannels': formal parameter with requested alignment of 8 won't be aligned) Change 3942697 by Andrew.Rodham Newly Created Level Sequences and Actor Sequences now default to 24000 fps frame resolution (+/- ~24hrs range, supporting all integer rates + 23.976) Change 3942700 by Andrew.Rodham Sequencer: Added legacy out-of-bounds errors for times that are not supported by the current legacy upgrade frame resolution Change 3942989 by Max.Preussner Core: Fixed circular queue count calculation Change 3943538 by Max.Preussner MediaAssets: Reverted workaround for procedural audio log spam in HTML5 (Actor component initialization cannot be skipped if the component is used in a level) Change 3944071 by Max.Preussner QAGame: Fixed Media Texture keeps last frame of Media when PIE ends #jira UE-53360 Change 3944292 by Max.Chen Sequencer: Added extra flags to ensure that asset initialization does not occur on template actor sequences #jira UE-56113 Change 3944364 by Max.Chen Sequencer: Prevent circular shot/master tracks. Tested adding master -> child -> master as drag and drop cinematic shot tracks and sub tracks as well as through the + button. #jira UE-56091 Change 3944422 by Max.Chen Sequence Recorder: Disable transform recording if off. #jira UE-56061 Change 3944745 by Andrew.Rodham Sequencer: Key rendering fixes - Fixed assert that occured when keys happened to reside on some times due to KeyTime + TimeOverlapThreshold - KeyTime being slightly larger TimeOverlapThreshold - Fixed keys sometimes being clipped when zoomed right in due to lack of half-frame offset - Added missing documentation to MovieSceneTimeHelpers.h #jira UE-56107 Change 3945231 by Andrew.Rodham Sequencer: Reconstruct channel proxy on Serialize to catch all cases of undo/redo, PostLoad and duplication #jira UE-56089 Change 3945301 by Andrew.Rodham Sequencer: Added safety checks during initial sequence recording to guard against applying negative or 0-sized sequence ranges #jira UE-56125 Change 3946627 by Max.Preussner Fortnite: Fixed game crashes closing editor while in PIE - Pure virtual function being called #jira UE-56144 [CL 3946896 by Max Chen in Main branch]
2018-03-14 22:09:33 -04:00
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 4044339) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3947021 by Max.Chen Sequencer: Don't preserve root component when copying object properties. A spawnable empty actor, has a root component that is generated by the empty actor factory. If the object template's root component is preserved when copying from the spawnable empty actor, the root component will not be copied over. Therefore, we need to NOT preserve the root component when copying object properties. #jira UE-55825 Change 3947366 by Max.Preussner WmfMedia: Better log output Change 3947367 by Max.Preussner MfMedia: Better detection of compressed format properties on Windows Change 3949102 by Max.Chen Sequencer: Remove SequenceActorTag when converting to possessable. #jira UE-56206 Change 3949207 by andrew.porter EngineTest: Set the screenshot nodes resolution to 1280x720 Change 3949404 by Max.Chen Sequencer: More informative tooltip for "Rerun Construction Scripts" option. It now says "Rerun construction scripts every frame on actors that have 'Rerun Construction Script in Sequencer' enabled in their class settings". Change 3950067 by Matt.Hoffman Renamed UAutomatedLevelSequenceCapture's StartFrame and EndFrame to CustomStartFrame/CustomEndFrame to reflect that it is user-overriden. This will also resolve upgrade issues due to the variable datatype changing. #jira UE-56189 Change 3950193 by JohnHenry.Carawon Updating my latest MovieRendering test content. Change 3950757 by JohnHenry.Carawon More updates to MovieRendering test content Change 3952059 by Max.Chen Resave LevelVisibility_SubLevels to fix data loss conversion warning of OpacityMaskConstant #jira UE-56086 Change 3952283 by Max.Chen Sequencer: Disable dropping level sequence assets as spawnables. #jira UE-56120 Change 3952422 by Max.Chen Sequence Recorder: Add button to record from the current player. #jira UE-55942 Change 3952987 by JohnHenry.Carawon MovieRendering Test Content - Fixing camera bindings and changing the override binding actor Change 3953823 by Mike.Zyracki Fix for Bad FBX Import Tangents not scaled by frame rate. After looking at this again it seems that a set of MovieScene:: overiddes for the channel traits wasn't set correctly, so use the ADL idiom to use MovieScene, which can then call Optimize in the correct namespace. With this we can now correctly use the passed in tolerance. There was also a redundant set of Optimize calls so that it could happen twice so removed them, and needed an extra check in the float channel Optimize. Also since we need to set auto tangents no matter if we optimize we don't set that parameter(though leave it since it's used by context menu key reduction). Finally fixed speed issue with trajectories caused by calculating way too many substeps. Reverted back to a time based step size for consistency. #jira UE-56193 Change 3954317 by Matt.Hoffman Adding a key to the last frame of a section no longer causes a crash. Keys can already be moved to be on the last frame of a section so now you can just add a key there directly. #jira UE-56255 Change 3954326 by Matt.Hoffman Dilating a section that is only infinite on one side no longer causes a crash. #jira UE-56260 Change 3954486 by Max.Chen PR #4580: Exposes IsReversed() from UMovieSceneSequencePlayer (Contributed by alanedwardes) Change 3955238 by Max.Preussner Messaging: Enabled delayed message routing https://github.com/EpicGames/UnrealEngine/pull/4574 #jira UE-56247 Change 3955901 by Max.Preussner MediaFrameworkTest: Added developer test for overriding desired media player plug-in at runtime. Change 3955922 by Andrew.Porter QAGame: Updating movie rendering content in dev folder Change 3956004 by andrew.porter QAGame: Adding MPC track to movie rendering test content Change 3956510 by Max.Chen Sequencer: Fix fbx camera import of static properties so that they are imported before default tracks are created. Otherwise, the default tracks inherit the default properties of the camera, rather than the values from the fbx. #jira UE-56311 Change 3957613 by Max.Preussner MediaUtils: Added code documentation to media player facade Change 3958005 by Max.Preussner MediaUtils: Added method to get number of sinks Change 3958934 by Max.Chen Sequencer: Fix keys getting added and sequence getting erroneously re-evaluated when auto key is off. Only apply defaults if there are no keys. Only modify the movie scene section before creating keys or setting defaults. #jira UE-55903 Change 3959687 by Andrew.Rodham Sequencer: Fixed visibility track external values being inverted #jira UE-56324 Change 3960507 by Max.Preussner Core: Fixed incorrect rounding in FMath::DivideAndRoundNearest Change 3962047 by JohnHenry.Carawon MovieRendering Test Content Changes: - Add Lightmass Importance Volumes to sublevel to fix warnings - Rebuilt Lighting - Add a third sequence for Gamut testing - Resaved the sound master.uasset to fix warning Change 3962211 by Mike.Zyracki Add Frame Numbers to selected animation sections. Added MapTimeToAnimation to MovieSceneSkeletalAnimation so that we could get it from the Skeleton Animation track Editor. Since the thickness of the frame line can change based upon frame rate and zoom we need to calculate it similarly to how the time slider controller does it. Those calculations were private so we had to expose FScrubRangeToScreen and GetScubberPixelRange from the TimeSliderController. Also needed to know if the section itself was selected so added a bIsSelected flag to the section Painter. Also fixed a bug where you couldn't add a section if other sections existed at different times in MovieScenePropertyTrack and could crash due to the check(). #jira UESEQ-395 Change 3962497 by Max.Preussner Core: Added new string formatting argument to FTimespan Change 3963662 by Max.Chen CineCamera: Flip VistaVision width and height. Change 3963731 by Max.Preussner MediaCompositing: Implemented sequence recording support for media track Change 3964195 by Andrew.Rodham Sequencer: Set inverted property correctly for newly created visibility track sections - Also clamp evaluation for key editors to the bounds of the section so we're not displaying values outside of the section bounds when the cursor is not on the bounds #jira UE-56324 #coderevew Max.Chen Change 3964196 by Andrew.Rodham Sequencer: Fixed crash when attempting to render sections that resulted in a negative intersection with the view range Change 3964275 by Andrew.Rodham Sequencer: Fixed MovieScene::ClampToDiscreteRange for infinite range bounds Change 3964364 by Andrew.Rodham Curve Editor: Reduce minimum vertical view range when zooming to fit Change 3965091 by Max.Chen Sequencer Recorder: Refresh next sequence if empty when starting a recording, otherwise, use existing name. #jira UE-56469 Change 3965148 by Max.Chen Sequence Recorder: Move Record to Possessable to "Actor Recording" group Change 3965162 by Max.Chen Sequence Recorder: Always break out of immersive mode when done recording, even when stopping recording during countdown. #jira UE-56407 Change 3965214 by Max.Preussner QAGame: Enabled ImagePlate plug-in Change 3965574 by Max.Preussner SimpleComposure: Reorganized & upgraded content to work with new Media Track #jira UE-56488 Change 3965651 by Max.Preussner MediaCompositing: Ignoring seek-on-open if media not seekable Change 3966075 by Christina.TempelaarL Sequencer: Added Final Cut Pro 7 XML Export functionality #jira UESEQ-358 Change 3966087 by Matt.Hoffman Adding a single key to the Particle Toggle track now makes an infinite range section that is displayed in the UI. #jira UE-56295 Change 3966547 by Andrew.Rodham Sequencer: Fixed rounding errors when drawing the section background on boolean sections - Logic was using time in sectonds which caused rounding errors on evaluation and flickering red/green stripes when dragging keys around #jira UE-56324 Change 3966563 by Andrew.Rodham Curve Editor: Key editor interface improvements - SKeyEditInterface has a few problems - it does not update in real time when editing properties, and does not support multi-edit which makes it unsuitable for use with the curve editor - We now take a different approach for editing keys by gathering a set of proxy UObjects for each key that is currently selected. These objects are added as top level objects to the details panel which means they support multi edit as you'd expect from any other details panel in the editor. - Proxy objects are updated every tick for the curve editor if they implement the ICurveEditorKeyProxy interface, which allows them to refresh their current value. - Ideally, the same mechanisms would be used in the main sequence interface, and we would be generating the proxy classes at runtime based on the key value type, but that work remains a separate task from this initial offering. #jira UE-56165 Change 3966564 by Andrew.Rodham Curve Editor: Expand to frame when adding or moving keys in the curve editor Change 3967051 by andrew.porter MediaFrameworkTest: Set the CameraPlayer_Video texture to auto clear Change 3967141 by Andrew.Rodham Sequencer: Keep track of spawned objects that have been modified and only re-save such object's default spawnable state on destruction - Now that we're taking this approach, I've remove serveral redundant bits of functionality in the spawn register such as making some spawnables read-only, and the PreSave binding for Sequencer. - We now hook into all object pre-saves to make sure we handle the case where the sequences are saved through the content browser or elsewhere. #jira UE-47686 Change 3967170 by Andrew.Rodham Sequencer: Added the ability to possess anim instances as object bindings - This allows full and direct animation of properties on UAnimInstance, and animation blueprints - Object Bindings are made by first possessing a skeletal mesh component, then choosing the + Add button where its anim instance will be listed - Added a new function to UMovieSceneSequence to gather previously cached objects that should now be invalidated. Anim instances will be re-resolved if a new UAnimInstance is assigned to USkeletalMeshComponent::GetAnimInstance. - ObjectBindingIDs for anim instances are just represented by an entry in a set of GUIDs. We only ever resolve such bindings through USkeletalMeshComponent::GetAnimInstance. - Only currently supported on LevelSequences #jira UE-56132 Change 3967195 by Max.Preussner Core: Updated TRangeSet to use TCallTraits Change 3967345 by JohnHenry.Carawon Test Content Changes - first iteration of spacing out the examples in the shots. Change 3967572 by Max.Chen Sequencer: Fix setting PreviousPlayEvalPosition until after we've tested whether it's set. #jira UE-56518 Change 3967750 by Max.Chen Audio: Set duration based on number of input channels, rather than number of channels to serialize. This fixes an issue where audio split into 2 channels is set to a duration that's twice as long. #jira UE-56430 Change 3967836 by Max.Chen Sequencer: Allow for animating array elements within ustruct properties #jira UE-55887 Change 3968506 by Matt.Hoffman Fixed ambiguous conversions for seconds and frames being overriden by ambiguous conversion to Timecode (in frames). Change 3968748 by Max.Chen Sequencer: Make the event properties submenu widget larger. #jira UE-55557 Change 3968862 by Max.Chen Sequencer: Recursive expansion when shift is down #jira UE-52139 #pr 4194 Change 3968863 by Max.Chen Sequencer: Bind rename command to selected track so that F2 shortcut start renaming #jira UE-52139 #pr 4194 Change 3968872 by Max.Chen Sequencer: Rekey the selected key at the current time. #jira UESEQ-396 Change 3968938 by Max.Chen Cine Camera: Add option to toggle the behavior of locking the rail mount to the orientation of the spline. By default, the option is off, no change in behavior. #jira UE-55815 Change 3968958 by Andrew.Rodham Sequencer: Consider vertical position when hittesting keys #jira UE-56256 Change 3969643 by Max.Preussner Core: Rounding timespans created from double values towards nearest ticks Change 3969646 by Max.Preussner MediaUtils: Implemented timeout mechanism for block-on-fetch feature Change 3969776 by Mike.Zyracki Added Skip Anim Notifiers Toggle per what was in Matinee. Investigated the Enable Root Motion toggle as also discussed but it's implementation is directly contained by the animation asset and unlike animation notifies there seems to be no exposure to interactively disable it during a playback tick. Note if we are generating thumbnails we still automtically disable notifies in the editor to avoid annoying noise playback. Note that if Enable Root Motion/Root locked is specified in the animation asset it does correctly effect the Sequencer. #jira UESEQ-399 Change 3969835 by Matt.Hoffman Playback Range and Selection Range use unified logic for adding themselves as potential snap locations which properly handles inclusive/exclusive bounds. This resolves an issue where having an unset selection range caused a potential snap location to be added on frame 0 and 1 (internal resolution) which caused a misalignment when placing objects near frame 0. This also removes the one frame offset on setting Selection Range to bring behavior inline with other ranges. #jira UE-55420 Change 3969885 by Max.Preussner MediaAssets: Don't register media player CDO with media ticker Change 3971129 by Andrew.Rodham Sequencer: Fixed UMovieSceneSequencePlayer::GotToEndAndStop() not taking into account for start time This is a remnant from when the times were always specified in 0-duration space, rather than actual sequence times. Change 3972056 by JohnHenry.Carawon More updates to Test Content. I continued spacing out the examples in the sequence so that they have a consistent number of frames between each example and during the start/end of the example. Also removed the Marcie sublevel. Change 3972066 by Andrew.Porter MediaFrameworkTest: Setting Marcie folder to be never cooked in package settings Change 3972675 by Matt.Hoffman Splitting Subsequence Sections no longer sets an incorrect playback range on the subsequence when the subsequence has a different internal resolution than the owning sequence. #jira UE-55453 Change 3973376 by Max.Preussner ImgMedia: Zero is the only valid video track for image sequences Change 3973489 by Max.Preussner Launch: Build rules cleanup pass - don't use Media, MediaUtils on server apps - don't link against Media (include-only dependency) - don't include from MediaAssets (dynamic load only) Change 3973760 by Max.Preussner MediaUtils: Moved AppMediaTimeSource implementation into its own file; added logging Change 3973765 by Max.Preussner ImgMedia: Disallowing seek beyond media length Change 3973855 by Max.Preussner MediaFrameworkTest: Updated developer test content Change 3973858 by Max.Preussner MediaCompositing: Blocking on media player time instead of media sample time (the former may not be hit in the current frame) Change 3974988 by Max.Chen Sequencer: Fix trim left so that it also sets the start offset for audio and skeletal animation sections. #jira UE-57015 Change 3976101 by Matt.Hoffman Sequencer will now focus the scroll view on newly created items. #jira UE-56492 Change 3976203 by Max.Chen Property Editor: Add DetailsViewArgs for ColumnWidth. Defaults to 0.65f, no change in existing behavior. Change 3976205 by Max.Chen Sequencer: Set better column widths for sequencer. #jira UE-55557 Change 3976206 by Max.Chen Sequencer: Added menu category for import/export Change 3976265 by Matt.Hoffman Tracks within Object Binding Nodes will now sort using the old behavior so that components are added above other track types. #jira UE-56473 Change 3976901 by Max.Chen Sequencer: Add event names to event track section #jira UESEQ-353 Change 3977878 by Max.Preussner Media: Moved media framework ticking stats into Media module Change 3977982 by Max.Chen Sequencer: Add Edit->Reset section length to duration of source (ie. audio, skeletal animation, shot length) Added MovieSceneSection::GetDefaultDuration and MovieScene::HasDefaultDuration #jira UESEQ-392 Change 3977994 by Max.Preussner Media: Fetching and rendering media samples before viewports are rendered (to ensure frame sync for in-level media playback) #jira UE-53975 Change 3978188 by Matt.Hoffman Easing Curves are now clipped by the sequence's PlayRange when testing against an infinite section. This causes blended sequences to finish their blend when the section starts/ends instead of always using 25% of the total section length to determine default blend range. #jira UE-56362 Change 3978676 by Max.Preussner MediaCompositing: Fixed first frame of rendered out media track missing #jira UE-53975 Change 3978684 by Max.Preussner MediaCompositing: Enabled media track frame sync feature #jira UE-53975 Change 3980026 by Matt.Hoffman Keys can be selected on folded out sections (such as an audio track expanded to show volume and pitch) again. #jira UE-57169 Change 3981614 by Max.Preussner MediaUtils: Added missing subtitle sample queue flush Change 3982311 by Max.Preussner MediaCompositing: Added safeguard for zero length media sources Change 3982389 by andrew.porter QAGame: Adding media track test content into FrameAccuracySubscene Change 3983661 by Max.Chen Sequencer: Add level name to spawn a spawnable into. Add sublevel menu option to set the level #jira UESEQ-390 Change 3983712 by Andrew.Rodham Sequencer: Purge legacy blueprint spawnables from LevelSequence packages #tests Ran a preflight for cooking fortnite, ocean and Orion. Only orion shows up this edge case, and will require a re-save of the EndCines level #jira UE-39173 Change 3983787 by Max.Preussner MediaCompositing: Moved compile time switch for block-on-fetch into media player facade Change 3983812 by Andrew.Rodham Sequencer: Exposed default level sequence instance data to blueprints Change 3984373 by Max.Preussner Media: Added API for quering whether player plug-in supports block on fetch Block on fetch allows Sequencer and other systems to block the game thread until a desired video frame has been decoded. Change 3984670 by JohnHenry.Carawon Movie Rendering Test Content progress. Saving the state of the content. There is a bug where things got replaced with particle emitters and I think it was because I tried to copy paste an animation track into a separate skeletal mesh track. Change 3985097 by Max.Chen Sequencer: Rename Reset to AutoSize Change GetAutoSizeDuration to return TOptional<FFrameTime> #jira UESEQ-392 Change 3986043 by Max.Chen Sequencer: Fix crash when attach/path duration is less than 0. #jira UE-57310 Change 3986373 by Max.Chen Sequencer: Add support for deleting tracks and channels which equates to setting the channel mask. #jira UE-52951 Change 3986375 by Max.Chen Sequencer: Add Create Pose Asset to skeletal animation section. This allows animators to blend animations in sequencer and create new pose assets from them. #jira UESEQ-408 Change 3986796 by Andrew.Rodham Sequencer: Fixed stale object references remaining in ULevelSequence::BindingReferences when using convert to spawnable/possessable - We used to convert objects by creating a new binding, then re-assigning its GUID, which meant we didn't have to do any further object fixup, but the code to achieve this was confusing and led to a vulnerability where object references would not be cleaned up correctly due to the newly created possessable essentially being a temporary object that's immediately thrown away. - To address this, there is now a function for porting all the contents of one object binding to another, and handles the correct fixup required for parent/child object bindings for both spawnables and possessables. - Also added codepath to remove any stale object references from the level sequence reference map on PostLoad (this piggy-backs off the PurgeLegacyBlueprints object version which is close close enough to this change to be identical) #tests Verified that existing sequences with stale references get cleaned up on load. Verified that repreatedly converting from spawnable<->possessable cleans up references correctly. Change 3987807 by JohnHenry.Carawon Updates to the MovieRendering Test Content. - Fixed the spawnable actors that were overwritten - Shortend the Lighting example and combined the Intensity and Color tracks - Organized the Sequence and WorldOutliner to group the examples. Change 3988151 by Max.Chen Cine Camera: Enable keying the "Enable Look at Tracking" toggle. Change 3988880 by Max.Chen Sequencer: Support enter to add asset for all sequencer track editors that have asset pickers. #jira UE-57367 Change 3988953 by Max.Chen Sequencer: Make the track color picker focusable so that it will close when you click away or lose focus. #jira UE-57210 Change 3988962 by Max.Chen MovieSceneCapture: Fix EDL export so that it takes into account movie scene frame resolution and desired frame rate. #jira UE-57365 Change 3988964 by Max.Chen Movie Scene Capture: Clarified tooltip for bRelativeFrameNumbers. If you specify custom start/end frames for the recording, they will be relative to the playback range. #jira UE-57308 Change 3989442 by Max.Chen Fix CIS Change 3991548 by Matt.Hoffman Dragging the time slider no longer causes the time slider to ignore snap-to-interval with "Snap to Keys While Scrubbing" when no keys are in range. #jira UE-57417 Change 3991598 by Matt.Hoffman Snap to Key while scrubbing now mirrors the behavior of "jump to next key". When there are no tracks selected it snaps to all keys and when there are tracks selected it snaps to only keys from that track. This also resolves an issue where deleting an object did not remove it from the Sequencer's selection. Undoing a delete already doesn't seem to restore your selection, so removing it from your selection shouldn't change that behavior. #jira UE-57417 Change 3991603 by Max.Chen Sequencer: Disable EditAnywhere for some section properties #jira UE-53530 Change 3992240 by Max.Preussner MediaAssets: Implemented dynamic audio sample rate adjustment based on audio/media clock drift #jira FORT-70638 Change 3992911 by Andrew.Rodham Sequencer: Fixed saving spawnable state using the wrong spawned object - We now track the object binding ID so that we can apply the spawned object to the correct spawnable when the asset is saved #jira UE-57353 Change 3992914 by Max.Chen Movie Scene Capture: Fix compression quality not being set. The compression interface wasn't being found through query interface, so no compression was being set. Reworked finding it through the output pins. Tested running various compression values. #jira-UE-55488 Change 3992919 by Max.Chen Sequencer: Convert to possessable now uses object template instead of copying properties (ie. see LevelSequenceActorSpawner). This fixes MIDs getting lost when converting to spawnable and back to possessable. #jira UE-52400 Change 3993184 by Max.Chen Sequencer: Don't show +Transform/+Path/+Attach track if the actor has the "Mobility" property hidden. Set the Landscape, LandscapeProxy and InstancedFoliage "Mobility" property to be hidden since it is static is not supposed to be dynamically movable. #jira UE-56347 Change 3993238 by Max.Chen Sequencer: Test for hidden mobility in creating keys as well. Refactored to HasHiddenMobility() #jira UE-56347 Change 3993978 by Max.Chen Cine Camera: Enable keying the "Enable Look at Tracking" toggle. #jira UE-57489 Change 3994039 by Max.Chen Landscape: Add Mobility to hidecategories on landscape component #jira UE-56347 Change 3994626 by JohnHenry.Carawon Updated Movie Rendering Test Content. - Fixed the overridden spawnables to their proper object types. Change 3994653 by Christina.TempelaarL Sequencer: Added Final Cut Pro 7 XML Import functionality, improved Export functionality #jira UESEQ-358 Change 3995609 by Max.Chen UMG: Add support for 2d transform mask (translation, rotation, scale, shear) #jira UE-52951 Change 3995778 by JohnHenry.Carawon Movie Rendering Test Content Updates - Adjusted Lights example - Adjusted Camera example - Added Marcie sublevel back in Change 3995942 by JohnHenry.Carawon QAGame: Moving Movie Rendering test content from Developer folder to Sequencer folder Also adjusted level visibility, lights and camera example. Change 3995993 by Christina.TempelaarL Sequencer: FCPXML Export updates - only export sections if in playback range and media exists, warn if media does not exist. Other updates - removed unused methods and variables, fixed message context naming to be more accurate #jira UESEQ-358 Change 3996595 by andrew.porter QAGame: Updating Marcie content in TrackEvaluation level to use Image Plate Change 3996614 by andrew.porter QAGame: Adding color test sequence to the sublevel Change 3996643 by Max.Chen Sequencer: Fix fbx animation export - rotation and scale channels were flipped. #jira UE-57509 #jira UE-57512 #jira UE-57514 Change 3996652 by Max.Preussner Messaging: Fixed delayed messaging using incorrect current time after message router sleep Based on https://github.com/EpicGames/UnrealEngine/pull/4601 Change 3996801 by Max.Chen Sequencer: Fix folder active state for non key area sections. Look at track node sections as well as key areas. #jira UE-57550 Change 3997098 by Matt.Hoffman Cleaned up some remaining ToDo's in STimeRange. Change 3998339 by Max.Preussner Sockets: Added documentation for socket receive functions Change 3998359 by Max.Preussner MediaUtils: Started to implement media recorder helper class Currently only supports BGRA frames in CPU memory. Supporting other formats and buffer types will require conversions on render-thread. I recommend refactoring out the existing conversion code in FMediaTextureResource into a reusable helper class in the MediaUtils module. This should be a good starting point though. Change 3998417 by Matt.Hoffman Keys and Sections can now be moved at the same time inside of Sequencer. Keys can now snap to Sections (and vice versa) instead of just to other Keys. Sections can now be duplicated like keys can. #jira UE-56995 Change 3998427 by JohnHenry.Carawon QAGame: Updating test content for the Movie Rendering feature. - Added an auto activate particle to the beginning of the sequence (it's not part of the sequence at all) - Added an event receiver blueprint to the Events example - Added a particle emitter to both sublevels - Added a camera cut to the end that switches to a separate camera - The camera zoom in, focus and Look At sections are all separate (not overlapping in the sequence) - Added a second actor for the camera Look At - Added a Visibility section for the Actor Hidden In Game track that has possessable and spawnable cube and light Change 3998537 by Max.Chen Sequence Recorder: Restore immersive mode when stopping the sequence even if not in PIE. #jira UE-56407 Change 3999809 by Matt.Hoffman Removed the "Go To" box from Sequencer and instead placed the current time as an always visible control. The previous shortcut (Ctrl + G) now focuses the new widget directly. #jira UESEQ-376 Change 4000543 by Christina.TempelaarL Sequencer: Moving editor-only code from runtime module MovieSceneCapture to editor module MovieSceneTools. Moved EDL and FCP XML exporters as well as Automated Level Scene Capture. #jira UESEQ-358 Change 4000706 by Matt.Hoffman Entering multiple time strings without a number no longer crashes Sequencer. #jira UE-57672 Change 4001051 by andrew.porter MediaFrameworkTest: Fixing up some image sources pointing to the wrong location Change 4001191 by andrew.porter QAGame: Adding some quick EDL/XML test content to dev folder Change 4001243 by Max.Chen Sequencer: Fix import EDL out of range. #jira UE-57665 Change 4001856 by Matt.Hoffman Selecting keys and sections at the same time now also works with animation and audio sections. #jira UE-57716 Change 4002021 by Max.Chen Sequence Recorder: Fix sequence name incrementing. If external recording sets the sequence name, use it. Otherwise, use the recording name from the recording group or the recording settings. #jira UE-57712 Change 4002618 by Max.Chen Viewport: Update the look at location when updating to a locked actor. This fixes an issue so that popping the view out of a locked actor and manipulating the view will not jump to the previous look at location. #jira UE-57725 Change 4002979 by Matt.Hoffman Fixes several edge cases with the end time range that was causing confusion about what the last frame of the sequence was. Dragging the End Frame slider will no longer be off by one tick and jumping to the end via the UI controls now properly respects snapping and stays inside the play range instead of falling outside of it. Overall behavior does not change though and End Frame should be considered an exclusive frame so that frames 0-150 results in a 150 frame long animation (which is frames 0-149). #jira UE-56367 Change 4003185 by Matt.Hoffman Fixed a regression that prevented a section from being dragged upwards past row 0 which normally resulted in all other rows moving down. #jira UE-57717 Change 4003193 by JohnHenry.Carawon QAGame: Updates to test content - Shortened frames between the examples from 95 to 30 - Separated camera setting tracks - Lighting example now switches directly from constant red - green - blue Change 4003369 by Max.Chen Sequence Recorder: Refresh next sequence regardless of internally stored sequence name. #jira UE-55757 Change 4003586 by JohnHenry.Carawon QAGame: Test Content Updates - Level Visibility track now ends to that the levels are not visible when we move to the next example - Shortened camera section, removed Z tranform so that we just move left to right and shortened the overall length Change 4004414 by Max.Chen Movie Scene Capture: Fix regression where rendering with shot handles would only render the first shot. 3972166 addressed an issue where an extra frame would be rendered by finalizing right when the end frame was reached. This was hit on the first shot end frame, so instead, do this only for when the last shot is being rendered. #jira UE-57314 Change 4004765 by Christina.TempelaarL Sequencer: Fixed bugs in FCP XML import/export. - Export: fixed sequence default resolution. - Export: fixed XML files with no shots. - Export: all sections clipped to playback range. - Export: fixed incorrect section start/end times due to precision issues. - Import: fixed incorrectly adding cinematic tracks. - Import: fixed bugs creating new sections. #jira UE-57660 #jira UE-57662 #jira UE-57655 #jira UE-57761 Change 4005119 by Max.Chen Sequencer: Export/import at play rate Change 4005195 by Max.Chen UMG: Finish UMG evaluation on stop. Added object version so that existing UMG assets do not change. #tests - Newly created UMG animation with sections set to restore state now return to their original state. Existing UMG animations with sections set to restore state do not return to their original state. #jira UE-52285 Change 4005377 by Michael.Karambelas QAGame: Moving TM-SequenceRecorder and related content out of my developer folder and into /Content/Sequencer/SequencerRecorder/* Change 4005417 by Michael.Karambelas QAGame: Fixed a BP compiler in the Level Blueprint of TM-SequencerRecorder. Change 4005634 by Michael.Karambelas QAGame: Fix up missing content and broken level sequence in TM-SequenceRecorder after move Change 4006324 by Max.Chen Sequencer: Reset if the focused movie scene is null. This fixes a crash if the user is focused in on a shot and undo takes the user past the point of where the shot was created. #jira UE-57752 #jira UE-47661 Change 4007006 by Max.Chen Sequencer: Fix FindAvailableRowIndex so that it returns the max row index (and not +1) since it doesn't find any conflicting rows. #jira UE-57717 Change 4007907 by Max.Chen Sequencer: Fix crash if there's no animation Change 4007948 by andrew.porter QAGame: added test content to dev folder for Record World Space Change 4008636 by Max.Chen Sequencer: Fix import fbx not setting values properly and creating additional cameras unncessarily. #jira UE-57864 Change 4008759 by Max.Chen Sequencer: Follow up fix for import cameras #jira UE-57864 Change 4009994 by Matt.Hoffman Dragging the left or right handles of the Time Range slider in Sequencer will now zoom your view in on the current center of the screen. This prevents the view from being translating as you tried to zoom in which caused issues at high zoom levels. #jira UESEQ-407 Change 4010169 by Christina.TempelaarL Sequencer: FCP XML fixes. - FCP XML export - no longer clips to playback range - FCP XML and EDL export - fixed missing last frame of some sections after exporting to Premiere. - Automated level capture, EDL export - use RoundToFrame instead of FloorToFrame for computing section start/end frames after frame rate conversion. #jira UE-57802 - partial fix, movie scene capture still needs to render full section rather than clip against playback. Change 4010287 by Mike.Zyracki Add quaternion interpolation option to UMovieScene3DTransformSection. This mimics how Matinee used to work by bascially finding the keys between a time and interpolating the angles as quat's between them. As noted in the code the algorithm needs to handle the case when the x,y,z Rotation keys all aren't at the same time which was not handled by Matinee. Also like Matinee, when in quaternion interoplation mode, we need to not display the function cuves since the interpolated and key values are now all different. (Would like to show them but that's a bigger refactor for perhaps just a one off needed by quaternions). I added a virtual function UMovieSceneSection::ShowCurveForChannel for this since it needs to be dynamic, not on construction of IKeyArea's, and could be useful for other sections. I could though move the method to just UMovieScene3DTransformSection and do a cast instead. Looked into doing a unit test for this but after talking with Andrew P we will work on doign an automated test in EngineQA since that will provide more coverage. Will also add a video the jira. #jira UESEQ-403 Change 4010713 by Mike.Zyracki Added option to key a group of transform channels instead of just the changed channel, or all of them. This is useful for quaternion interpolations where you want rotation keys to be aligned but also useful for other workflows like animating FK Pose to Pose. Change 4010715 by Andrew.Porter MediaFrameworkTest: Setting LogMediaUtils logging from VeryVerbose to Verbose to cut back on the spam Change 4013048 by Max.Chen Sequencer: Fix play/jump status. Update the player status for all position methods (Scrub, Jump, Play). Jump means Stopped. Correctly use PlayTo or JumpTo based on position method. In PlayInternal, JumpTo with the Stopped state (rather than playing state). #jira UE-57844 Change 4013479 by andrew.porter QAGame: Added content in TM-SequenceRecorder to test recording a property on a Cine Camera Component; Press 3 to trigger manual focus distance to increment on a timer Change 4014323 by Max.Chen Sequencer: Fix SetPlaybackPosition so that it jumps or plays based on playback status. #jira UE-57844 Change 4015888 by Max.Chen Sequencer: Fix crash on paste. UMovieSceneSections were gathered from the track node's track. For sub track mode, we want to gather only those sections on that track node row. #jira UE-57951 Change 4015943 by Max.Chen Sequencer: Fix moving shots up when the mouse pos goes outside of the virtual track area. #jira UE-57717 Change 4016293 by Max.Chen Sequencer: Fix relative frame playback end frame calculation so that custom start/end frames remain in the space of the sequence and are not relative. #jira UE-57308 Change 4017075 by Andrew.Rodham Sequencer: Corrected initial evaluation range used when calling UMovieSceneSequencPlayer::Play() Change 4017270 by Christina.TempelaarL Sequencer: FCPXML importer and movie scene capture - Use CeilToFrame when converting section start/end frame times to frame numbers in FCPXML and movie scene capture. - Added support for clip metadata in FCPXML. - Got rid of redundant TokenizedError message class, no longer needed now that FCPXML is in editor directory. - Added log messages currently commented out due to exception, still testing. #UESEQ-358 Change 4018370 by Christina.TempelaarL Sequencer: fixed FCPXML log messages regarding sections with start/end not divisible by display rate. #UESEQ-358 Change 4018378 by Christina.TempelaarL Sequencer: fixed error in previous changelist. #UESEQ-358 Change 4019457 by Max.Chen Sequencer: Show event names only when the event track is selected #jira UE-57897 Change 4022806 by Max.Chen Sequencer: Fix crash on movie scene capture dialog shutdown if movie capture wasn't even started. #jira UE-58106 Change 4022894 by Max.Chen Sequence Recorder: Wrap OpenEditorForAssets after sequence recording within GIsEditor #jira UE-58084 Change 4024487 by Max.Chen Sequencer: Add tooltip for quat interpolation #jira UE-58113 Change 4024562 by Max.Chen Sequencer: Change path/attach track sequence binding id to currently focused sequence id so that bindings can be created in subsequences Change 4027414 by JohnHenry.Carawon QAGame: Checking in content that shows a bug with using particles systems and Delay Before Shot Warm Up. Change 4028990 by Max.Chen Sequencer: Fix evaluate sub sequences in isolation. This check was added with the compile on the fly logic. Not sure why it was necessary but it seems like the sub sequence data needs to be updated in order to evaluate sub sequences in isolation. #jira UE-58184 Change 4029004 by Max.Chen Sequencer: Ensure that old binding references are removed when re-assigning actors in sequencer #jira UE-57898 Change 4030997 by JohnHenry.Carawon QAGame: Fixing name of the master sequence Change 4031785 by Michael.Karambelas QAGame: Added an instance of ThirdPerson Run to TM-SequenceRecorder for Record to Possessable test. Change 4035548 by Andrew.Rodham Sequencer: Changed FMovieSceneEvaluationTemplate::TemplateSignature to be a serial number to address non-deterministic cooking issues - This commit is related to the repro steps found in 3914599 and 3934307, both of which have been verified with this new change. - Copy of 4031684 from //Fortnite/Main/... #jira FORT-84852 Change 4036312 by Max.Chen Sequencer: Fix zoom view range so that it uses the passed in InZoomDelta Change 4036318 by Max.Chen Sequencer: Auto size now returns a range and defaults to the channel proxy range so that keyed regions can also be autosized. Change 4036322 by Max.Chen Forgot missing change Change 4036360 by Max.Chen Sequencer: Fix play rate calculation when skeletal animation section play rate changes. Change 4037163 by Mike.Zyracki Weighted Tangent Implementation Tricky thing is that you need to solve a cubic in order to get the bezier weights for the time part of the curve. See https://www.gamedev.net/forums/topic/474094-help-function-curves-for-animation-interpolation/ Maya provides an implementation in it's dev kit but I didn't use it since it was horribly slow and uses an iterative solution to solve the cubic needed. Instead I use an old algorithm (Cardano's method), to solve the cubic which should be much faster. Though relative simple to code from principles I just went ahead and used a version from Graphics Gems 1. I put this cubic solver directly in MovieSceneFloatChannel.cpp, but will need to move it when we support Rich Curve, maybe to FMath:: (which would probalby require some other functions for solving quartics, etc.. for completeness.). Also note we resolve this on every evaluation but dont' need to if the interval the time is evaluating hasn't had any change in values or tangents. So again when we support FRichCurve we can create a Weighted Evaluating class that can hold the cache. Also with the tangent drags I got rid of the Cardinal position that was used to calculate non-weight tangents from the key point and just quickly getting a direction. With weighted tangents we need to use the delta instead (otherwise when moving multiple they would all get the same weight based upon distance to the cardinal point. ) For mixed tangents types what I'm defaulting to non weighted if the interval doesn't match. May need to do weighted instead, not sure. What's left is just FBX import, for tomorrow. #jira UESEQ-76 Change 4037435 by Mike.Zyracki Fix fo build warnings from weighted tangent submission. #trivial Change 4038091 by Michael.Karambelas QAGame: Updated a Sequence Recorder group in TM-SequenceRecorder that had an actor missing the animation. Change 4038374 by Andrew.Rodham Sequencer: Refined scrubber styling for level sequences and actor sequences - Scrubber now shows a block the width of a dsplay rate frame, plus a line for the actual evaluated time. UMG reverts back to the previous styling (no block) - Keys that are outside of the playback range are now drawn with a subdued effect - Tick labels are no longer drawn when directly underneath the scrubber Change 4038490 by Max.Chen Sequencer: Expose tangent weight values in details panel. Change 4038620 by Andrew.Rodham Sequencer: Advanced time panel polish #jira UESEQ-426 Change 4038677 by Max.Chen Movie Scene Capture: Redirector for MovieSceneTools.AutomatedLevelSequenceCapture #jira UE-58248 Change 4039739 by Max.Chen Sequencer: Media track should only be supported by Level Sequence Change 4040024 by JohnHenry.Carawon QAGame: Fix EventReciever and OverrideBinding example The level sequence was set to none so the fix was to set it back to TrackEvaluation_Master. Change 4040610 by Andrew.Rodham Curve Editor: Moved weighted tangent switchers to a single toggle command (CTRL+W) and added an icon #jira 58383 Change 4040882 by Mike.Zyracki Keep broken when turning on weighted #jira UE-58435 Change 4041089 by andrew.porter QAGame: Sequence for Long Tangents bug Change 4041498 by Mike.Zyracki Turn off weighted when going auto to prevent large tangents. Do it both in UI and when doing AutoSetTangents() to really make sure it doesn't happen. #jira UE-58452 Change 4041752 by andrew.porter MediaFrameworkTest: Adding some better logging for setting rates when not supported. Also ignoring commiting URL when there is no text Change 4041896 by Matt.Hoffman The transform dialog box now transforms selected keys and sections, instead of just keys. #jira UE-58265 [CL 4044405 by Max Chen in Main branch]
2018-05-02 10:10:00 -04:00
TRange<double> SelectionRange = TimeSliderArgs.SelectionRange.Get() / TickResolution;
TRange<double> PlaybackRange = TimeSliderArgs.PlaybackRange.Get() / TickResolution;
Copying //UE4/Dev-Editor to //UE4/Dev-Main (Source: //UE4/Dev-Editor @ 3431234) #lockdown Nick.Penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 3323393 on 2017/02/27 by Ben.Cosh This fixes an issue with actor details component selection causing actor selection to get out of sync across undo operations #Jira UE-40753 - [CrashReport] UE4Editor_LevelEditor!FLevelEditorActionCallbacks::Paste_CanExecute() [leveleditoractions.cpp:1602] #Proj Engine Change 3379355 on 2017/04/04 by Lauren.Ridge Adding sort priorities to Material Parameters and Parameter Groups. If sort priorities are equal, fallback to alphabetical sort. Default sort priority is 0, can be set on the parameter in the base material. Parameters are still sorted within groups.Group sort priority is set on the main material preferences. Change 3379389 on 2017/04/04 by Nick.Darnell Core - Removing several old macros that were referring to EMIT_DEPRECATED_WARNING_MESSAGE, which is no longer defined in the engine, so these macros are double deprecated. Change 3379551 on 2017/04/04 by Nick.Darnell Automation - Adding more logging to the automation controller when generating reports. Change 3379554 on 2017/04/04 by Nick.Darnell UMG - Making the WidgetComponent make more things caneditconst in the editor depending on what the settings are to make it more obvious what works in certain contexts. Change 3379565 on 2017/04/04 by Nick.Darnell UMG - Deprecating OPTIONA_BINDING, moving to PROPERTY_BINDING in place and you'll need to define a PROPERTY_BINDING_IMPLEMENTATION. Will make bindings safer to call from blueprints. Change 3379576 on 2017/04/04 by Lauren.Ridge Parameter group dropdown now sorts alphabetically Change 3379592 on 2017/04/04 by JeanMichel.Dignard Fbx Morph Targets import optimisation - Only reimport the points for each morphs and compute the tangents for the wedges affected by those points. - Removed the full skeletal mesh rebuild on each morph target import. - Allow MeshUtilities::ComputeTangents_MikkTSpace to only recompute the tangents that are zero. Gains around 7.30 mins for 785 morph targets in mikkt space and 1.30 mins using built-in normals, with provided test file. #jira UE-34125 Change 3380260 on 2017/04/04 by Nick.Darnell UMG - Fixing some OPTIONAL_BINDINGS that needed to be converted. Change 3380551 on 2017/04/05 by Andrew.Rodham Sequencer: Fixed ImplIndex sometimes not relating to the source data index when compiling at the track level #jira UE-43446 Change 3380555 on 2017/04/05 by Andrew.Rodham Sequencer: Automated unit tests for the segment and track compilers Change 3380647 on 2017/04/05 by Nick.Darnell UMG - Tweaking some stuff on the experimental rich textblock. Change 3380719 on 2017/04/05 by Yannick.Lange Fix 'Compile FortniteClient Mac' and 'Compile Ocean iOS' Failed with Material.cpp errors. Wrapping WITH_EDITOR around ParameterGroupData. #jira UE-43667 Change 3380765 on 2017/04/05 by Nick.Darnell UMG - Fixing a few more instances of OPTIONAL_BINDING. Change 3380786 on 2017/04/05 by Yannick.Lange Wrap SortPriority in GetParameterSortPriority with WITH_EDITOR. Change 3380872 on 2017/04/05 by Matt.Kuhlenschmidt PR #3453: UE-43004: YesNo MessageDialog instead of YesNoCancel (Contributed by projectgheist) Change 3381635 on 2017/04/05 by Matt.Kuhlenschmidt Expose static mesh material accessors to blueprints #jira UE-43631 Change 3381643 on 2017/04/05 by Matt.Kuhlenschmidt Added a way to enable or disable the component transform units display independently from unit display anywhere else. This is off by default Change 3381705 on 2017/04/05 by Yannick.Lange - Slate application multiple input pre-processors. - Remove ViewportWorldInteractionManager, let ViewportWorldInteraction handle it's own input pre-processor. Change 3381959 on 2017/04/05 by Yannick.Lange Back out changelist 3381705. Old changelist. Change 3382049 on 2017/04/05 by Yannick.Lange - Slate application multiple input pre-processors in a wrapper class. - Remove ViewportWorldInteractionManager, let ViewportWorldInteraction handle it's own input pre-processor. - Deprecated SetInputPreProcessor, but made it work with RegisterInputPreProcessor and UnregisterInputPreProcessor. Change 3382450 on 2017/04/06 by Andrew.Rodham Sequencer: Fixed 'ambiguous' overloaded constructor for UT linux server builds Change 3382468 on 2017/04/06 by Yannick.Lange Rename AllowWorldMovement parameter to bAllow. Change 3382474 on 2017/04/06 by Yannick.Lange Make GetInteractors constant because we dont want it to be possible to change this arrray. Change 3382492 on 2017/04/06 by Yannick.Lange VR Editor: Floating UI's are stored in a map with FNames as key. Change 3382502 on 2017/04/06 by Yannick.Lange VR Editor: Use asset container for auto scaler sound. Change 3382589 on 2017/04/06 by Nick.Darnell Slate - Upgrading usages of SetInputPreprocessor. Also adjusting the API for the new preprocessor functions to have an option to remove all, which was what several usages expected. Also updated the deprecated version of SetInputPreprocessor to removeall if null is provided for the remove, mimicing the old functionality. Change 3382594 on 2017/04/06 by Nick.Darnell UMG - Deprecating GetMousePositionScaledByDPI, this function has too many issues, and I don't want to break buggy backwards compatability, so just going to deprecate it instead. For replacement, you can now access an FGeometry representing the viewport (after DPI scale has been added to the transform stack), and also the FGeometry for a Player's Screen widget host, which might be constrained for splitscreen, or camera aspect. Change 3382672 on 2017/04/06 by Nick.Darnell Build - Fixing incremental build. Change 3382674 on 2017/04/06 by Nick.Darnell Removing a hack added by launcher. Change 3382697 on 2017/04/06 by Matt.Kuhlenschmidt Fixed plugin browser auto-resizing when scrolling. Gave it a proper splitter Change 3382875 on 2017/04/06 by Michael.Trepka Modified FMacApplication::OnCursorLock() to avoid a thread safety problem with using TSharedPtr/Ref<FMacWindow> of the same window on main and game threads simultaneously. #jira FORT-34952 Change 3383303 on 2017/04/06 by Lauren.Ridge Adding sort priority to texture parameter code Change 3383561 on 2017/04/06 by Jamie.Dale Fixed MaximumIntegralDigits incorrectly including group separators in its count Change 3383570 on 2017/04/06 by Jamie.Dale Added regression tests for formatting a number with MaximumIntegralDigits and group separators enabled Change 3384507 on 2017/04/07 by Lauren.Ridge Mesh painting no longer paints on invisible components. Toggling visiblity refreshes the selected set. #jira UE-21172 Change 3384804 on 2017/04/07 by Joe.Graf Fixed a clang error on Linux due to missing virtual destructor when deleting through the interface pointer #CodeReview: marc.audy #rb: n/a Change 3385011 on 2017/04/07 by Matt.Kuhlenschmidt Fix dirtying levels just by copying actors if the level contains a foliage actor. The foliage system makes lazy asset pointers #jira UE-43750 Change 3385127 on 2017/04/07 by Lauren.Ridge Adding WITHEDITOR to OnDragDropCheckOverride Change 3385241 on 2017/04/07 by Jamie.Dale Removing warning if asking for a null or empty localization provider Change 3385442 on 2017/04/07 by Arciel.Rekman Fix a number of problems with Linux splash. - Thread safety (UE-40354). - Inconsistent font (UE-35000). - Change by Cengiz Terzibas. Change 3385708 on 2017/04/08 by Lauren.Ridge Resaving VREditor asset container with engine version Change 3385711 on 2017/04/08 by Arciel.Rekman Speculative fix for a non-unity Linux build. Change 3386120 on 2017/04/10 by Matt.Kuhlenschmidt Fix stats not being enabled when in simulate Change 3386289 on 2017/04/10 by Matt.Kuhlenschmidt PR #3466: Git plugin: add option to autoconfigure Git LFS (Contributed by SRombauts) Change 3386301 on 2017/04/10 by Matt.Kuhlenschmidt PR #3470: Git Plugin: disable "Keep Files Checked Out" checkbox on Submit to Source Control Window (Contributed by SRombauts) Change 3386381 on 2017/04/10 by Michael.Trepka PR #3461: Mac doesn't return the correct exit code (Contributed by projectgheist) Change 3388223 on 2017/04/11 by matt.kuhlenschmidt Deleted collection: MattKTest Change 3388808 on 2017/04/11 by Lauren.Ridge Reset arrows now only display for non-default values in the Material Instance editor. Reset to default arrows now are placed in the correct location for SObjectPropertyEntryBox and SPropertyEditorAsset. SResetToDefaultPropertyEditor now takes a property handle in the constructor, instead of an FPropertyEditor. #jira UE-20882 Change 3388843 on 2017/04/11 by Lauren.Ridge Forward declaring custom reset override. Fix for incremental build error Change 3388950 on 2017/04/11 by Nick.Darnell PR #3450: UMG "Lock" Feature (Contributed by GBX-ABair). Epic Edit: Made some changes to make it work with named slots, added an option not to always recursively itterate the children, also removed the dependency on SWidget changes. Change 3388996 on 2017/04/11 by Matt.Kuhlenschmidt Removed crashtracker Change 3389004 on 2017/04/11 by Lauren.Ridge Fix for automated test error - additional safety check for if the reset button has been successfully created. Change 3389056 on 2017/04/11 by Matt.Kuhlenschmidt Removed editor live streaming Change 3389077 on 2017/04/11 by Jamie.Dale Removing QAGame config change Change 3389078 on 2017/04/11 by Nick.Darnell Fortnite - Fixing an input preprocessor warning. Change 3389136 on 2017/04/11 by Nick.Darnell Slate - Removing deprecated 'aspect ratio' locking box cells, never really worked, deprecated a long time ago. Change 3389147 on 2017/04/11 by Nick.Darnell UMG - Fixing a critical error with the alignment of the lock icon. #jira UE-43881 Change 3389401 on 2017/04/11 by Nick.Darnell UMG - Adds a designer option to control respecting the locked mode. Change 3389638 on 2017/04/11 by Nick.Darnell UMG - Adding the Widget Reflector button to the widget designer. Change 3389639 on 2017/04/11 by Nick.Darnell UMG - Tweaking the respect lock icon. Change 3390032 on 2017/04/12 by JeanMichel.Dignard Fixed project generation when using subfolders in Target.SolutionDirectory (ie: SolutionDirectory = "Programs\MyProgram") Change 3390033 on 2017/04/12 by Matt.Kuhlenschmidt PR #3472: Exposed Distributions to Game Projects and Plugins (Contributed by StormtideGames) Change 3390041 on 2017/04/12 by Matt.Kuhlenschmidt PR #3446: Add missing TryLock to PThreadCriticalSection and add RAII helper for try locking. (Contributed by Laurie-Hedge) Change 3390196 on 2017/04/12 by Lauren.Ridge Fix for crash on opening assets without reset to default button enable Change 3390414 on 2017/04/12 by Matt.Kuhlenschmidt PR #3300: UE-5528: Added check for empty startup tutorial path (Contributed by projectgheist) #jira UE-5528 Change 3390427 on 2017/04/12 by Jamie.Dale Fixed not being able to set pure whitespace values on FText properties #jira UE-42007 Change 3390712 on 2017/04/12 by Jamie.Dale Content Browser search now takes the display names of properties into account #jira UE-39564 Change 3390897 on 2017/04/12 by Nick.Darnell Slate - Changing the order that the tabs draw in so that the draw front to back, instead of back to front. Change 3390900 on 2017/04/12 by Nick.Darnell Making a Cast CastChecked in UScaleBox. Change 3390907 on 2017/04/12 by Nick.Darnell UMG - Adding GetMousePositionOnPlatform and GetMousePositionOnViewport as other replacements that people can use rather than GetMousePositionScaledByDPI. Change 3390934 on 2017/04/12 by Cody.Albert Fix to set correct draw layer in FSlateElementBatcher::AddElements Change 3390966 on 2017/04/12 by Nick.Darnell Input - Force inline some core input functions. Change 3391207 on 2017/04/12 by Jamie.Dale Fixed moving a folder containing a level not moving the level Also removed some redundant usage of ContentBrowserUtils::GetUnloadedAssets #jira UE-42091 Change 3391327 on 2017/04/12 by Mike.Fricker Removed Twitch support and GameLiveStreaming Change 3391405 on 2017/04/12 by Mike.Fricker Removed Twitch support and GameLiveStreaming (part 2) Change 3391407 on 2017/04/12 by Mike.Fricker Removed some remaining EditorLiveStreaming and CrashTracker code Change 3392296 on 2017/04/13 by Yannick.Lange VR Editor: New assets in asset containers for gizmo rotation. Change 3392332 on 2017/04/13 by Nick.Darnell Slate - Removing delegate hooks from the safezone and scalebox widget when the widgets are cleaned up. Change 3392349 on 2017/04/13 by Cody.Albert Corrected typo Change 3392688 on 2017/04/13 by Yannick.Lange VR Editor: Resaved asset containers Change 3392905 on 2017/04/13 by Jamie.Dale Fixed FPaths::ChangeExtension and FPaths::SetExtension stomping over the path part of a filename if the name part of the had no extension but the path contained a dot, eg) C:/First.Last/file Change 3393514 on 2017/04/13 by Yannick.Lange VR Editor: Temp direct interaction pointer. Change 3393930 on 2017/04/14 by Yannick.Lange VR Editor: Remove unused transform gizmo Change 3394084 on 2017/04/14 by Max.Chen Audio Capture: No longer beta Change 3394499 on 2017/04/14 by Cody.Albert Updated UMovieSceneSpawnTrack::PostLoad to call ConditionalPostLoad on bool track before converting it to a spawn track #rnx Change 3395703 on 2017/04/17 by Yannick.Lange Duplicate from Release-4.16 CL 3394172 Viewport Interaction: Fix disable animation when aiming for gizmo stretch handles. #jira UE-43964 Change 3395794 on 2017/04/17 by Mike.Fricker #rn Fixed FastXML not loading XML files with attributes delimited by single quote characters Change 3395945 on 2017/04/17 by Yannick.Lange VR Editor: Swap end and start of laser, because they start of laser was using end mesh. Change 3396253 on 2017/04/17 by Michael.Dupuis #jiraUE-43693: While moving foliage instance between levels, UI count was'nt updating properly Moved MoveSelectedFoliageToLevel to EdModeFoliage as we required more treatment than was done in LevelCollectionModel Ask to save foliage type as asset while moving between level foliage instances containing local foliage type Change 3396291 on 2017/04/17 by Michael.Dupuis #jira UE-35029: Added a cache for mesh bounds so if the bounds changed we can rebuild the occlusion tree Added possibility to register on bounds changed of a static mesh in editor mode Rebuild the occlusion tree if the mesh bounds changed Rebuild the occlusion tree if we change the mesh associated with a foliage type Optimize some operation to not Rebuild the occlusion tree for every instance added/remove instead it's done at the end of the operation Change 3396293 on 2017/04/17 by Michael.Dupuis #jira UE-40685: Improve Collision With World algo, to support painting pitch rotated instance or not on a flat terrain or slope respecting the specified ground angles Change 3397660 on 2017/04/18 by Matt.Kuhlenschmidt PR #3480: Git plugin: improve/cleanup init and settings (Contributed by SRombauts) Change 3397675 on 2017/04/18 by Alex.Delesky #jira UE-42383 - Adds a delegate to the placement mode module to allow users to register custom categories and listen to when they should be refreshed. Change 3397818 on 2017/04/18 by Yannick.Lange ViewportInteraction and VR Editor: - Replace GENERATED_UCLASS_BODY with GENERATED_BODY. - Remove destructors for uobjects. Change 3397832 on 2017/04/18 by Yannick.Lange VR Editor: Remove unused vreditorbuttoon Change 3397884 on 2017/04/18 by Yannick.Lange VREditor: Addition to 3397832, remove unused vreditorbuttoon. Change 3397985 on 2017/04/18 by Michael.Trepka Another attempt to solve the issue with dsymutil failing with an error saying the input file did not exist. We now check for the input file's existence in a loop 30 times (once a second) before trying to call dsymutil. Also, added a FixDylibDependencies as a prerequisite for dSYM generation. #jira UE-43900 Change 3398030 on 2017/04/18 by Jamie.Dale Fixed outline changes not automatically updating the text layout used by a text block #jira UE-42116 Change 3398039 on 2017/04/18 by Jamie.Dale Unified asset drag-and-drop FAssetDragDropOp now handles both assets and asset paths, and FAssetPathDragDropOp has been removed. This allows assets and folders to be drag-dropped at the same time in the Content Browser. #jira UE-39208 Change 3398074 on 2017/04/18 by Michael.Dupuis Fixed crash in cooking fortnite Change 3398351 on 2017/04/18 by Alex.Delesky Fixing PlacementMode module build error Change 3398513 on 2017/04/18 by Yannick.Lange VR Editor: - Remove unused previousvreditor member. - Removing extensions when exiting vr mode without having to find the extensions. Change 3398540 on 2017/04/18 by Alex.Delesky Removing a private PlacementMode header that was included in a public one. Change 3399434 on 2017/04/19 by Matt.Kuhlenschmidt Remove uncessary files from p4 Change 3400657 on 2017/04/19 by Jamie.Dale Fixed potential underflow when using negative digit ranges with FastDecimalFormat Change 3400722 on 2017/04/19 by Jamie.Dale Removed some check's that could trip with malformed data Change 3401811 on 2017/04/20 by Jamie.Dale Improved the display of asset tags in the Content Browser - Numeric tags are now displayed pretty printed. - Numeric tags can now be displayed as a memory value (the numeric value should be in bytes). - Dimensional tags are now split and each part pretty printed. - Date/Time tags are now stored as a timestamp (which has the side effect of sorting correctly) and displayed as a localized date/time. - The column view now shows the same display values as the tooltips do. - The tooltip now uses the tag meta-data display name (if set). - The tag meta-data display name can now be used as an alias in the Content Browser search. #jira UE-34090 Change 3401868 on 2017/04/20 by Cody.Albert Add screenshot save directory parameter to editor and project settings #rn Added options to the settings menu to specify screenshot save directory Change 3402107 on 2017/04/20 by Jamie.Dale Cleaned up the "View Options" menu in the Content Browser Re-organized some of the settings into better groups, and fixed some places where items would still be shown in the asset view when some of these content filter options were disabled (either via a setting, or via the UI). Change 3402283 on 2017/04/20 by Jamie.Dale Creating a folder in the Content Browser now creates the folder on disk, and cancelling a folder naming now removes the temporary folder #jira UE-8892 Change 3402572 on 2017/04/20 by Alex.Delesky #jira UE-42421 PR #3311: Improved log messages (Contributed by projectgheist) Change 3403226 on 2017/04/21 by Yannick.Lange VR Editor: - Removed previous quick menu floating UI panel. - Added the concept of a info display floating UI panel. - Used info display for showing sequencer timer. Change 3403277 on 2017/04/21 by Yannick.Lange VR Editor: - Set window mesh for info display panel. - Add option to null out widget when hidden. Change 3403289 on 2017/04/21 by Yannick.Lange VR Editor: Don't load VREditorAssetContainer asset when starting editor. Change 3403353 on 2017/04/21 by Yannick.Lange VR Editor: Fix variable 'RelativeOffset' is uninitialized when used within its own initialization. Change 3404183 on 2017/04/21 by Matt.Kuhlenschmidt Fix typo Change 3405378 on 2017/04/24 by Alex.Delesky #jira UE-42550 - Audio thumbnails should never rerender now, even with real-time thumbnails enabled Change 3405382 on 2017/04/24 by Alex.Delesky #jira UE-42097 - The Main Frame window will no longer steadily grow if it's closed while not maximized Change 3405384 on 2017/04/24 by Alex.Delesky #jira UE-43985 - Duplicating Force Feedback, Sound Wave, or Sound Cue assets from the context menu after right-clicking on the playback controls will now correctly select the newly created asset for rename. Change 3405386 on 2017/04/24 by Alex.Delesky #jire UE-42239 - Blueprints that have been duplicated from another blueprint will now render their thumbnails correctly instead of displaying a flat black thumbnail. Change 3405388 on 2017/04/24 by Alex.Delesky #jira UE-43241 - Blueprint classes that derive from notplaceable classes (such as SpectatorPawn and GameMode) can no longer be placed within the level editor via the right-click Add/Replace menus Change 3405394 on 2017/04/24 by Alex.Delesky #jira UE-42137 - Users can no longer access the widget object of a Widget Component from within actor construction scripts Change 3405429 on 2017/04/24 by Alex.Delesky Fixing a naming issue for CL 3405378 Change 3405579 on 2017/04/24 by Cody.Albert Fixed bad include from CL#1401868 #jira UE-44238 Change 3406716 on 2017/04/24 by Max.Chen Sequencer: Add attach/detach rules for attach section. #jira UE-40970 Change 3406718 on 2017/04/24 by Max.Chen Sequencer: Set component velocity for attached objects #jira UE-36337 Change 3406721 on 2017/04/24 by Max.Chen Sequencer: Re-evaluate on stop. This fixes a situation where if you set the playback position to the end of a sequence while it's playing, the sequence will stop playing but won't re-evaluate to the end of the sequence. #jira UE-43966 Change 3406726 on 2017/04/24 by Max.Chen Sequencer: Added StopAndGoToEnd() function to player #jira UE-43967 Change 3406727 on 2017/04/24 by Max.Chen Sequencer: Add cinematic options to level sequence player #jira UE-39388 Change 3407097 on 2017/04/25 by Yannick.Lange VR Editor: Temp asset for free rotation handle gizmo. Change 3407123 on 2017/04/25 by Michael.Dupuis #jira UE-44329: Only display the message in attended mode and editor (so user can actually perform the save) Change 3407135 on 2017/04/25 by Max.Chen Sequencer: Load level sequence asynchronously. #jira UE-43807 Change 3407137 on 2017/04/25 by Shaun.Kime Fixing comments to refer to correct function name. Change 3407138 on 2017/04/25 by Max.Chen Sequencer: Mark actor that the spawnable duplicates as a transient so that the level isn't dirtied. Then clear the transient flag on the object template. #jira UE-30007 Change 3407139 on 2017/04/25 by Max.Chen Sequencer: Fix active marker in sub, cinematic, control rig sections. #jira UE-44235 Change 3407229 on 2017/04/25 by Max.Chen Sequencer: Prioritize buttons over label. #jira UE-26813 Change 3407343 on 2017/04/25 by Matt.Kuhlenschmidt Added a world accessor to blutilties so they can operate on the editor world (spawn,destroy actors etc) Change 3407401 on 2017/04/25 by Nick.Darnell Slate - Adding a Round function to SlateRect. Also adding a way to convert a Transform2D to a full matrix. Change 3407842 on 2017/04/25 by Matt.Kuhlenschmidt Made AssetTools a uobject interface so it could be access from script. A few methods were deprecated and renamed to enforce a consistent UI. Now all asset tools methods that expose a dialog have "WithDialog" in their name to differentiate them from methods that do not open dialogs and could be used by scripts for automation. C++ users may still access IAssetTools but should not ever need to use the UAssetTools interface class Change 3407890 on 2017/04/25 by Matt.Kuhlenschmidt Removed temp method Change 3408084 on 2017/04/25 by Matt.Kuhlenschmidt Exposed source control helpers to script Change 3408163 on 2017/04/25 by Matt.Kuhlenschmidt Deprecated actor grouping methods on UUnrealEdEngine and moved their functionality into their own class( UActorGroupingUtils). There is a new editor config setting to set which grouping utils class is used and defaults to the base class. The new utility methods are exposed to script. Change 3408220 on 2017/04/25 by Alex.Delesky #jira UE-43387 - The Levels window will now support the organization of streaming levels using editor-only folders. Change 3408239 on 2017/04/25 by Matt.Kuhlenschmidt Added a file helpers API to script. This one is a wrapper around FEditorFileUtils for now to work around some issues exposing legacy methods to script but FEditorFileUtils will be deprecated soon Change 3408314 on 2017/04/25 by Jamie.Dale Fixed typo Change 3408911 on 2017/04/25 by Max.Chen Level Editor: Delegate for when viewport tab content changes. #jira UE-37805 Change 3408912 on 2017/04/25 by Max.Chen Sequencer: Transport controls are added when viewport content changes and only to viewports that support it (ie. cinematic viewport doesn't allow it since it has its own transport controls). This fixes issues where transport controls wouldn't be visible in newly created viewports and also would get disabled when switching from default to cinematic and back to default. #jira UE-37805 Change 3409073 on 2017/04/26 by Yannick.Lange VR Editor: Fix starting point of lasers. Change 3409330 on 2017/04/26 by Matt.Kuhlenschmidt Fix CIS Change 3409497 on 2017/04/26 by Alexis.Matte Fix crash importing animation with skeleton that do not match the fbx skeleton. #jira UE-43865 Change 3409530 on 2017/04/26 by Michael.Dupuis #jira UE-44329: Only display the log if we're not running a commandlet Change 3409559 on 2017/04/26 by Alex.Delesky #jira none - Fixing case of header include for CL 3408220 Change 3409577 on 2017/04/26 by Yannick.Lange VR Editor: being able to push/pull along the laser using touchpad or analog stick when transforming object towards laser impact. Change 3409614 on 2017/04/26 by Max.Chen Sequencer: Add Scrub() to movie scene player. Change 3409658 on 2017/04/26 by Jamie.Dale Made the handling of null item selection consistent in SComboBox If the selection was initially null and the combo was closed, it would previously pass through the null entry to its child SListView, which would then always think the selection was changing when the combo was opened and cause it to immediately close again. Change 3409659 on 2017/04/26 by Jamie.Dale Added preset Unicode block range selection to the font editor UI #jira UE-44312 Change 3409755 on 2017/04/26 by Max.Chen Sequencer: Back out bIsUISound for scrubbing. Change 3410015 on 2017/04/26 by Max.Chen Sequencer: Fix crash on asynchronous level sequence player load. #jira UE-43807 Change 3410094 on 2017/04/26 by Max.Chen Slate: Enter edit mode and return handled if not read only. Change 3410151 on 2017/04/26 by Michael.Trepka Fix for building EngineTest project on Mac Change 3410930 on 2017/04/27 by Matt.Kuhlenschmidt Expose editor visibility methods on Actor to blueprint/script Change 3411164 on 2017/04/27 by Matt.Kuhlenschmidt Fix crash when repeatedly spaming ctrl+s and ctrl+shift+s to save. PR #3511: UE-44098: Replace check with if-statement (Contributed by projectgheist) Change 3411187 on 2017/04/27 by Jamie.Dale No longer attempt to use the game culture override in the editor Change 3411443 on 2017/04/27 by Alex.Delesky #jira UE-43730, UE-43703 - Material Instances will now correctly use their preview meshes when being edited, or will use their parent's preview mesh if their preview mesh has not been set and the parent's is valid. Change 3411809 on 2017/04/27 by Max.Chen Sequencer: Prioritize buttons over label. #jira UE-26813 Change 3411810 on 2017/04/27 by Cody.Albert Scrollbox now properly calls Invalidate while scrolling Change 3411892 on 2017/04/27 by Alex.Delesky #jira UE-40031 PR #3065: Ignore .vs folder when initializing git projects (Contributed by mattiascibien) Change 3412002 on 2017/04/27 by Jamie.Dale Fixed crash when using an invalid regex pattern #jira UE-44340 Change 3412009 on 2017/04/27 by Cody.Albert Fixed Invalidation Panel to apply scale only to volatile elements, correcting an issue with Cache Relative Positions Change 3412631 on 2017/04/27 by Jamie.Dale Implemented support for hiding empty folders in the Content Browser "Empty" in this case is defined as folders that recursively don't contain assets or classes. Folders that have been created by the user or have at any point contained content during the current editing session are always shown. This also fixes some places where the content filters would miss certain folders (usually due to missing checks when processing AssetRegistry events), and allows asset and path views to be synced to folder selections (as well as asset selections), which improves the experience when renaming folders, and navigating the Content Browser history. #jira UE-40038 Change 3413023 on 2017/04/27 by Max.Chen Sequencer: Fix filtering so that it includes parent nodes only and doesn't recurse through to add their children. Change 3413309 on 2017/04/28 by Jamie.Dale Fixed shadow warning Change 3413327 on 2017/04/28 by Jamie.Dale Added code to sanitize some known strings before passing them to ICU Change 3413486 on 2017/04/28 by Matt.Kuhlenschmidt Allow AssetRenameData to be exposed to blueprints/script Change 3413630 on 2017/04/28 by Jamie.Dale Moved FUnicodeBlockRange into Slate so that it can be used for C++ defined fonts as well as those defined in the font editor Change 3414164 on 2017/04/28 by Jamie.Dale Removing some type-unsafe placement new array additions Change 3414497 on 2017/04/28 by Yannick.Lange ViewportInteraction: - Add arcball sphere asset. - Add opacity parameter to translucent gizmo material. Change 3415021 on 2017/04/28 by Max.Chen Sequencer: Remove spacer nodes at the top and bottom of the node tree. This fixes the artifact of having spaces at the top and bottom which get selected when you click on the space and when you press Home and End to go to the top or bottom of the tree. #jira UE-28931 Change 3415786 on 2017/05/01 by Matt.Kuhlenschmidt #rn PR #3518: Allow PaintedVertices to be sized down (Contributed by jasoncalvert) Change 3415836 on 2017/05/01 by Alex.Delesky #jira UE-39203 - You can now summon the reference viewer from the content browser using the keyboard shortcut. Change 3415837 on 2017/05/01 by Alex.Delesky #jira UE-34947 - When the user attempts to download an IDE from within the editor (due to needing one to add a C++ class), the window that hosts the widget will now close if it's a modal window. Change 3415839 on 2017/05/01 by Alex.Delesky #jira UE-42049 PR #3266: Profiler: added Thread filter (Contributed by StefanoProsperi) Change 3415842 on 2017/05/01 by Michael.Dupuis #jira UE-44514 : Removed the warning as it's causing more issue than it fixes. Change 3416511 on 2017/05/01 by Matt.Kuhlenschmidt Make UHT generate WITH_EDITOR guards around UFunctions generated in a WITH_EDITOR C++ block. This prevents these functions from being generated in non-editor builds Change 3416520 on 2017/05/01 by Yannick.Lange Viewport Interaction: - Toggle ViewportWorldInteraction with command for desktop testing without having to use VREditor. - Add helper function to add a unique extension by subclass. Change 3416956 on 2017/05/01 by Matt.Kuhlenschmidt Exposed EditorLevelUtils to script. This allows creation of streaming levels, setting the current level and moving actors between levels Change 3416964 on 2017/05/01 by Matt.Kuhlenschmidt Prevent foliage from marking actors dirty as HISM components are added and removed from the scene. Change 3416988 on 2017/05/01 by Lauren.Ridge PR #3122: UE-40262: Color tabs according to asset type (Contributed by projectgheist) Changed the highlight style to be around the icon and match the content browser color and style. #jira UE-40437 Change 3418014 on 2017/05/02 by Yannick.Lange Viewport Interaction: Remove material members from base transform gizmo and use asset container to get materials. Change 3418087 on 2017/05/02 by Lauren.Ridge Adding minor tab icon surrounds Change 3418602 on 2017/05/02 by Jamie.Dale Fixed a crash that could occur due to bad data in the asset registry It was possible for FAssetRegistry::PrioritizeSearchPath to re-order the BackgroundAssetResults in response to callback from FAssetRegistry::AssetSearchDataGathered, which caused integrity issues with the array, and would lead to results being missed, or an existing result being processed twice (which due to certain assumptions would result in it being deleted, and bad data being left in the asset registry). These results lists now use a custom type that prevents the mutation of items that have already been processed but not yet trimmed. Change 3418702 on 2017/05/02 by Matt.Kuhlenschmidt Fix USD files that reference other USD files not finding the referenced files by relative path. Requires USD third party changes only Change 3419071 on 2017/05/02 by Arciel.Rekman UBT: optimize FixDeps step on Linux. - Removes the need to re-link unrelated engine libraries when recompiling a code project. - Makes builds faster on machines with multiple cores. - The module that has circularly referenced dependencies is considered cross-referenced itself. - Tested compilation on Linux (native & cross) and Mac (native). Change 3419240 on 2017/05/02 by Cody.Albert Bound widgets in animation tracks can no longer be swapped with widgets from a different widget blueprint, which would lead to a crash Change 3420011 on 2017/05/02 by Max.Chen Sequencer: Fix scrubber hit testing so that the time scrubber is really favored over the playback ranges. #jira UE-44569 Change 3420507 on 2017/05/03 by Lauren.Ridge Selecting a camera or other preview actor in VR Mode now creates a floating in-world viewport. Also deselect all Actors when moving into and out of VR Mode Change 3420643 on 2017/05/03 by andrew.porter QAGame - Adding test content to QA-Sequencer for using spawnables with override bindings Change 3420678 on 2017/05/03 by andrew.porter QAGame: Updating override binding sequence Change 3420961 on 2017/05/03 by Jamie.Dale Exposed some missing Internationalization functions to BPs Change 3422767 on 2017/05/04 by Yannick.Lange ViewportInteraction: Extensibility for dragging on gizmo handles Removed ETransformGizmoInteractionType completely and replaced it with UViewportDragOperation. Using the ETransformGizmoInteractionType enum made external extensibility impossible. Now every gizmo handle group has a component called UViewportDragOperationComponent which holds a UViewportDragOperation of a certain type. This UViewportDragOperation can be inherited to create a custom method to calculate a new transform for the objects when dragging the gizmo handle. Change 3422789 on 2017/05/04 by Yannick.Lange ViewportInteraction: Fix duplicate console variable. Change 3422817 on 2017/05/04 by Andrew.Rodham Sequencer: Changed level sequence object references to always use a package and object path based lookup - Newly created binding references now consist of a package name and an inner object path for actors, and just an inner object path for components. The package name is fixed up dynamically for PIE, which means it can work correctly for multiplayer PIE, and when levels are streamed in during PIE (functionality previously unavailable to lazy object ptrs) - Added a way of rebinding all possessable objects in the current sequence (Rebind Possessable References) - Level sequence binding references no longer use native serialization now that TMap serialization is fully supported. - Multiple bindings are now supported in the API layer of level sequence references, although this is not yet exposed to the sequencer UI. #jira UE-44490 Change 3422826 on 2017/05/04 by Andrew.Rodham Removed erroneous braces Change 3422874 on 2017/05/04 by James.Golding Adding MaterialEditingLibrary to allow manipulation of materials within the editor. - Refactored code out of MaterialEditor where possible Marked some material types as BP-accessible, to allow to editor-Blueprint access. Remove unused 'bSkipPrim' property from Set/CheckMaterialUsage Change 3422942 on 2017/05/04 by Lauren.Ridge Tab padding adjustment to allow tabs with icons to be the same height as tabs without Change 3423090 on 2017/05/04 by Jamie.Dale Added a way to get the source package path for a localized package path Added tests for the localized package path checks. Change 3423133 on 2017/05/04 by Jamie.Dale Fixed a bug where a trailing quote without a newline at the end of a CSV file would be added to the parsed text rather than converted to a terminator Change 3423301 on 2017/05/04 by Max.Chen Sequencer: Add JumpToPosition which updates to a position in a scrubbing state. Change 3423344 on 2017/05/04 by Jamie.Dale Updated localized asset group caching so that it works in non-cooked builds Change 3423486 on 2017/05/04 by Lauren.Ridge Fixing deselection code in VWI Change 3423502 on 2017/05/04 by Jamie.Dale Adding automated localization tests Change 3424219 on 2017/05/04 by Yannick.Lange - Hide FWidget when ViewportWorldInteraction starts. - Added option to EditorViewportClient to not render FWidget without using FWidget::SetDefaultVisibility. Change 3425116 on 2017/05/05 by Matt.Kuhlenschmidt PR #3527: Modified comments (Contributed by projectgheist) Change 3425239 on 2017/05/05 by Matt.Kuhlenschmidt Fix shutdown crash in projects that unregister asset tools in UObjects being destroyed at shutdown. Change 3425241 on 2017/05/05 by Max.Chen Sequencer: Components aren't deselected from the sequencer tree view when they get deselected in the viewport/outliner. #jira UE-44559 Change 3425286 on 2017/05/05 by Jamie.Dale Text duplicated as part of a widget archetype now maintains its existing key #jira UE-44715 Change 3425477 on 2017/05/05 by Andrew.Rodham Sequencer: Do not deprecate legacy object references since they still need to be serialized on save - Also re-add identical via equality operator so that serialization works again Change 3425681 on 2017/05/05 by Jamie.Dale Fixed fallback font height/baseline measuring Change 3426137 on 2017/05/05 by Jamie.Dale Removing PPF_Localized It's an old UE3-ism that's no longer tested anywhere Change 3427434 on 2017/05/07 by Yannick.Lange ViewportInteraction: Null check for viewport. Change 3427905 on 2017/05/08 by Matt.Kuhlenschmidt Removed the concept of a global selection annotation. This poses a major problem when more than one selection set is clearing it. If more than one selection set is in a transaction the last one to be serialized will clear and rebuild the annotation thus causing out of sync issues with component and actor selection sets. This change introduces the concept of a per-selection set annotation to avoid being out of sync. Actor and ActorComponent now override IsSelected (editor only) to make use of these selections. #jira UE-44655 Change 3428738 on 2017/05/08 by Matt.Kuhlenschmidt Fix other usage of USelection not having a selection annotation #jira UE-44786 Change 3429562 on 2017/05/08 by Matt.Kuhlenschmidt Fix crash on platforms without a cursor #jira UE-44815 Change 3429862 on 2017/05/08 by tim.gautier QAGame: Enable Include CrashReporter in Project Settings Change 3430385 on 2017/05/09 by Lauren.Ridge Resetting user focus to game viewport after movie finishes playback #jira UE-44785 Change 3430695 on 2017/05/09 by Lauren.Ridge Fix for crash on leaving in the middle of a loading movie #jira UE-44834 Change 3431234 on 2017/05/09 by Matt.Kuhlenschmidt Fixed movie player setting all users to focus which breaks VR controllers [CL 3432852 by Matt Kuhlenschmidt in Main branch]
2017-05-10 11:49:32 -04:00
if (MouseDragType == DRAG_SCRUBBING_TIME)
{
return FCursorReply::Unhandled();
}
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3946692) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3801826 by Max.Chen PR #4304: Level Sequence crash fix - Guarded against dereferencing null componen. (Contributed by DSDambuster) Change 3801828 by Max.Chen PR #4302: Movie Scene Visibility Template unitialised variable, causing random . (Contributed by DSDambuster) Change 3801837 by Max.Chen Sequencer: Delay spawning/construction for convert to possessable. This fixes a bug where property values would be lost when converting back and forth from possessable to spawnable. #jira UE-52400 Change 3801841 by Max.Chen Sequencer: Make spacer nodes not selectable. PR #4194: Improvements to Sequencer (Contributed by projectgheist) #jira UE-53117 #jira UE-52139 Change 3804183 by Max.Preussner MediaAssets: Added missing lock in media sound component Change 3805414 by Max.Preussner MediaAssets: Setting valid GUID when initializing media texture resource Change 3819578 by Max.Chen PR #4370: When enabling the "MovieCapture", do not turn off the Stereo-3D display. (Contributed by yehaike) #jira UE-53647 Change 3823414 by Max.Chen Curve Editor: Lock down the first and last keys in the redundant keys removal range so that they're unaffected. #jira UE-53591 Change 3826406 by Max.Chen Sequencer: Move OnStartedPlaying() to within first update in UpdateTimeCursorPosition(). This fixes an issue where setting the hud/player visibility was getting stomped on later. #jira UE-52772 Change 3827044 by Max.Preussner MediaAssets: Added sprite visualization to media sound component #jira UE-53594 Change 3827988 by Max.Preussner MediaPlayerAssets: Fixed Media Texture is not linked to Media Player when created together #jira UE-53532 Change 3828506 by Max.Preussner MediaPlayerEditor: Added attenuation visualizer for media sound components #jira UE-53594 Change 3832590 by andrew.porter EngineTest: Added a keep state check in Property Animation sequencer test Change 3833053 by andrew.porter EngineTest: Adding Hierarchical Bias test Change 3835683 by andrew.porter EngineTest: Adding UMG Animation screenshot test Change 3836076 by Max.Chen Sequencer: Fix audio volume and pitch multiplier deprecation. Change 3836230 by andrew.porter EngineTest: Adding Sequence Bone Position automation test Change 3836347 by Max.Chen Sequencer: Fixes to shot name parsing. When a shot doesn't contain a shot number, assume, [ShotName]_[TakeNumber]. When duplicating a shot, put the new shot in the same path of the original shot, so that the take numbers will increment properly. #jira UE-51868 Change 3836552 by Max.Chen Sequencer: Sub section now has a takes menu Change 3838094 by Max.Chen UMG: Fix template finish not getting called on stop. This fixes a bug where sections aren't restored when finished. #jira UE-52285 Change 3838708 by Max.Chen Sequencer: Add notification when the blend type is changed. #jira UE-54046 Change 3840295 by Max.Chen Sequencer: Fix copy/paste crash for lights #jira UE-54084 Change 3840957 by Mike.Zyracki Added Show Only Keyable and Show Only Animated to the filter list in the property editor. Added IsPropertyAnimated to IDetailKeyframe Interface which already had support for showing properties which are keyable (which is used for the key icon next to the properties.). Could have created another interface but then would have had to mimic the sequencer binding, releasing also, so this seemed best way. One issue still left is that custom built detail items currently don't store associated properties(usually) and so certain properties, in particulalry transforms, won't show up as keyable or animated. Note this also shows up with the keyable icon not showing up next to transform tracks, and other filters like Show Only Modified not working with transforms/customs. Not sure best way to tackle this. #jira UESEQ-328 Change 3841756 by Max.Chen Sequencer: Fix unbound possessable components when pasting spawnables. #jira UE-54104 Change 3843950 by andrew.porter EngineTest: Renaming LevelStreaming tests/content to LevelVisibility Change 3844082 by Mike.Zyracki Missing file for animated filter in property editor. When finding if a track is animated we need to find it but we can't easily induce the MovieTrack class for any particular property. So we don't set a class for it and just search by it's ID and name. #jira UESEQ-328 Change 3846902 by Max.Preussner ImgMedia: Fixed image media player never finished initialization if loading failed #jira UE-54247 Change 3849820 by Mike.Zyracki Reassigning deleted widgets didn't work since the menu extender mechanism needs a valid UObject in order to perform an operation on it. So to fix we replaced GetObjectBindingContextMenuExtender in WidgetBlueprint with new delegate mechanism (OnBuildCustomContextMenuForGuid) that supports FGuid in addition to UObjects which is needed to handle re-binding deleted widgets. Note that the default sequencer hacks this for replacing deleted actors in SequencerObjectBindingNode to check to see if a LevelSequence is active. We could move to this mechanism there also. #jira UE-53163 Change 3852211 by Max.Chen UMG: Indicate name of the property that is not bound. #jira UE-54350 Change 3854120 by Max.Chen Sequencer: Fix sibling folders being allowed to have the same folder name. #jira UE-54363 Change 3854627 by Max.Chen Sequencer: Step to next/previous key should work for all tracks if there aren't any selected. #jira UESEQ-391 Change 3855825 by andrew.porter EngineTest: Adding animation blending automation test Change 3855950 by andrew.porter EngineTest: Adding correct expected valuues to animation blending test Change 3856237 by Matt.Hoffman UESEQ-336 - Sequencer Track Reordering Adds the ability to re-order Master Tracks, Folders and Object Bindings within sequencer hierarchies (including UMG). Adds the ability to do a one-off sorting of the content under the old sorting behavior if the user wants to reset their layout to how it was under legacy behavior. Modifies SequencerTrackNodes, SequencerFolderNodes and SequencerObjectBindingNodes to handle CanDrop/OnDrop for above, below and ontop of. Fixes a Slate Issue that forcibly expanded a TreeviewRow if an item handled OnDrop. Slate will now only forcibly expand the row if the item says the drop happened ontop of the item, and not above or below it like it previously did. Change 3856503 by andrew.porter EngineTest: Adding automation test for using animation blueprint with blend multi node in sequencer Change 3857875 by Max.Chen Sequencer: Assign the sequence id after the template is compiled. #jira UE-54462 Change 3858344 by Max.Chen Sequencer: Prevent Goto and Transform boxes from overlapping by allowing them to be visible at the same time in an autosized horizontal box. Also, added close button to the goto box. PR #4425: Prevent Goto and Transform boxes from overlapping in Sequencer ... (Contributed by projectgheist) #jira UE-54210 Change 3860566 by andrew.porter MediaFrameworkTest: Set the option to index 0 for the audio and video track list by default Change 3860654 by andrew.porter EngineTest: Enabling Camera Cut + FOV test Change 3860981 by andrew.porter EngineTest: Updating skeletal mesh tests with a delay after set playback position Change 3861256 by Max.Chen Sequencer: Add all bindings if none selected. #jira-54440 Change 3862154 by Andrew.Rodham Added TimeManagement module Change 3862424 by andrew.porter EngineTest: Turned on the test Bone Positions with Blend Multi Node Change 3862573 by andrew.porter EngineTest: Adding test to compare bone positions in a sequence that is blending an animation that is using an AnimBP Change 3865117 by Max.Chen Sequencer: Stop auto scroll on mouse release of movement. #jira UE-31212 Change 3865303 by Max.Chen Sequencer: Add drag and drop transactions #jira UE-54662 Change 3865304 by Max.Chen Sequencer: Fix crash when an actor factory is not found. Change 3865361 by Max.Chen Sequencer: Don't change the camera/shot lock button when popping out of a sequence. #jira UE-54665 Change 3865412 by Max.Chen Sequencer: Determine whether a transform track is for a camera by using the spawned object or template #jira UE-54666 Change 3865685 by Max.Chen Sequencer: Clear autoscrub offset when stopping autoscroll #jira UE-31212 Change 3865886 by Max.Chen Sequence Recorder: Log an error if the number of frames changes while recording. This can happen if the skeleton changes while recording. #jira UE-48715 Change 3866925 by Andrew.Porter MediaFrameworkTest: Changing the current PNG test video image sequence to 1024 x 576 Change 3867705 by andrew.porter QAGame: Adding Audio Sort Sequence to dev folder Change 3867890 by andrew.porter QAGame: Adding a sequence for testing a sorting crash to my dev folder Change 3872628 by Max.Chen Movie Scene Capture: Split delay before warmup into split delay before shot warmup so that there's separate controls for when the movie scene capture warmups up vs. shot boundaries. Change 3873131 by Matt.Hoffman UE-54732 - Crash reordering a folder with a track. This was caused by folders being the only type of track to check if someone was putting a parent track into a child track. Object Binding tracks and Tracks now check as well so that you can't use the above/below drop targets to add parents as children. This also fixed a typo in the localization keys. #jira UE-54732 Change 3873301 by Mike.Zyracki Added ability to support continous euler angle changes when changing rotations, in particularly with the rotation gizmo's. To do this we effectively added a form an of 'euler filter'(https://en.wikipedia.org/wiki/Euler_filter) to find the closest euler angle to the current euler angle. Three functions were added to FRotator to make this possible, one to get the euler angle that's has the same rotation as it, one to get the difference between two euler angles via Manhattan distance and a third using the previous two to choose a Rotator value that's closest to it. We then use these functions before calling UComponent::SetRelativeRotation to make sure we use the correct Euler after the Quat conversion. We also no longer limit(bound) the euler angles to -180,180, which is obviously necessary to avoid flips. I also changed how we caluclate yaw and roll when pitch is -90 or 90 to make it the standard approach of zeroing out roll and just setting yaw. Main reasons are the previous implementation had precision issues so things like 180, 90, -180 would show up due to numbers being nearly zero but negative,(this would break any smooth interpolations), and this facilitates having a 'gimbal' rotation mode (like Maya, Blender etc..) if we ever want that also. If needed we could keep the previous implementation but would need to add some FMath::IsNearlyZero checks, with less performance. Note we only do this special filtering when applying delta's to actors or components in the editors, which then call UComponent::SetRelativeRotationExact, which is a new function to foces the RelativeRotation to be equal to the new rotation. This allows us to store un-nomalized Rotators at the cost that the RotationCache may be broken. We didn't change any of the other UComponent functions that set rotations (via Quats or Transforms) so they will still be bounded and unwound. In SetInternalWorldLocationAndRotation we only set the rotation if the rotation has changed, which fixes the rotation getting changed and re-normalized if just translate happens. In TransformTrackEditor, we correclty use the bUndwing flag and in MovieScene3DTransformSection there was an un-needed winding check there, it will be unwound earlier if needed, which happens if Sequence Recording is happening. Max we should talk about what to do about this . Note the euler angle drag via the widget is still bound to 0-360. I think we should just unbound that now since the rotations value are now unbound. This review now includes fixes suggested by Zak. #jira UE-UE-22228 Change 3873483 by Matt.Hoffman Sequencer Tracks can now be inserted above the spacer at the bottom of the tree. #jira UE-54706 Change 3873899 by Max.Chen Sequencer: Add section selection throbbing Change 3873908 by Max.Chen Movie Scene Capture: Added logging per frame Change 3873924 by Matt.Hoffman Adds the ability to store Sequence Recorder setups into profiles that stay with the map and can be re-loaded later. Profiles store the Actor Recordings so the settings for each actor should carry with them. #jira UESEQ-339 Change 3874726 by Matt.Hoffman Disable drag-and-drop targets on spacers that come between rows in Sequencer. This prevents extra drag/drop targets showing up between each row. #jira UE-54706 Change 3874862 by Matt.Hoffman Audio Track no longer gets reordered when adding sub-audio tracks, as sub-tracks are no longer counted towards the sorting order index when normalizing indexes. #jira UE-54727 Change 3875905 by Matt.Hoffman Disable Fade Track UI if a fade track already exists in the sequence. #jira UESEQ-393 Change 3876163 by Max.Chen Sequencer: Swap the camera object to the camera component's owner if it's not the same. #jira UE-54874 Change 3876971 by Andrew.Porter EngineTest: Moved Media Player Seek test to new folder. Also enabled the test with new ground truth image. Change 3877040 by Max.Chen Cine Camera: Split camera properties to two groups, "Camera Options" and "Camera Settings". The cine camera now hides properties in the "Camera Settings" group so that properties like bConstrainAspectRatio (in the "Camera Options" group) can be visible. #jira UE-54192 Change 3877763 by Max.Chen Curve Editor: Fix curve changed on end drag so that only curves that had keys/tangents that were changed receive notification, otherwise all loaded curves were getting notified that they were changed. #jira UE-54951 Change 3878234 by Matt.Hoffman Disable "Drop Below" targets for Sequencer Tree nodes to prevent a confusing UX issue where dropping underneath a Object Binding Node puts it after the object binding node but the UI looks like it's inserting it inside the Object Binding node. #jira UE-54743 Change 3879359 by Mike.Zyracki If a track is inactive we dim it a bit which seems to be the UE4 way to show inactive or disabled state. We changed the active logic so that all subtracks need to be inactive for the track to also be inactive(instead of all active for active). This conforms to how the active state actually works, e.g if you have two sections and only one is active the track is still active above it. #jira UESEQ-388 Change 3879462 by Max.Chen Sequencer: Allow dragging onto a particular row which would move out any overlapping sections to make space for the newly created section. Newly created sections are now selected and throbbed to draw attention to themselves. #jira UE-54664 Change 3879464 by Max.Chen Sequencer: Fixed overlapping ranges being inserted into the evaluation field during compilation - The issue was that track segments that had been combined with adjacent segments (due to them being identical) would potentially cause a subsequently compiled frame to overlap with a range that had already been inserted into the evaluation field. - The insertion code previously asserted that only minor overlaps were catered for (due to fp rounding errors) and assumed that a supplied range could not entirely contain any other range in the field. - The solution is to supply the insertion time along with the range to know exactly where the data should live in the field, and crop the range to the maximum allowable space between adjacent ranges. #jira UE-54922 Change 3879590 by Matt.Hoffman Items that are now added to the Sequencer via the "+Track" menu will be selected after being added. Items can now be added inside of folders instead of just to the root level. #jira UE-27397 Change 3879612 by Mike.Zyracki Display Nodes with no children are always active. #jira UESEQ-388 Change 3879730 by Matt.Hoffman Sequence Recorder's actor recording groups now remove items from the group when removed via the UI. #jira UESEQ-339 Change 3880256 by Mike.Zyracki Fix issue with inactive display with folders and other track nodes. #jira UESEQ-388 Change 3883491 by Max.Chen Fix issue where tick is skipped due to last ticked pose isn't cleared after AnimInstance changes. Copy from Release-4.19 #jira UE-51323 Change 3883603 by Max.Chen Movie Scene Capture: Add option toggle disable screen percentage. By default this is on (no change in current behavior). #jira UE-51898 Change 3885074 by Max.Preussner MediaCompositing: Resetting media texture & freeing resource on section end; removed dead code Change 3887220 by Max.Preussner MediaCompositing: Defaulted media section duration to 1 sec (since we do not know the actual duration in most cases) Change 3887478 by Matt.Hoffman Sequences now show [Inactive] in their title bars when they're disabled. This helps communicate why a sequence isn't being evaluated. #jira UE-51469 Change 3888985 by Max.Chen Movie Scene Capture: Clamp HDR Compression Quality between 0 and 1. #jira UE-55136 Change 3893519 by Max.Chen Sequence Recorder: Clarified tooltip for bRecordNearbySpawnedActors - spawned actors will still be recorded if they match the ActorFilter. #jira UE-55238 Change 3893546 by Max.Chen Sequence Recorder: If a selected actor already has a recording, add a blank recording. #jira UE-55239 Change 3894044 by Max.Preussner MediaCompositing: Added support for seeking into a media section Change 3894310 by andrew.porter MediaFrameworkTest: Adding Img media sources for 1080 and 2160 ravent test content Change 3894426 by Max.Preussner MediaAssets: Letting media textures with AutoClear retain their clear color when player is reset Change 3895717 by Max.Chen Sequencer: Null checks to prevent crash when saving the default state of a spawnable #jira UE-55304 Change 3897388 by Max.Chen Sequencer: Don't update current time to be within the view range when stepping into a sequence. #jira UE-55322 Change 3897452 by Max.Chen Audio: Fix crash when trying to record audio without any active capture devices. Log warning if the number of input channels is not 1 or 2. #jira UE-55223 Change 3897619 by Max.Preussner MediaCompositing: Removed commented out code Change 3898072 by Max.Chen Sequencer: Override the animation asset in the player state if it doesn't match the animation asset that's being evaluated. #jira UE-55328 Change 3898272 by Max.Preussner MediaPlayerEditor: Made slate brush constants static Change 3898704 by Max.Chen Sequencer: Skip if the binding id's sequence can't be found. #jira UE-55337 Change 3899855 by Max.Preussner MediaCompositingEditor: Added cache state visualization to media track Change 3900300 by Max.Preussner MediaCompositingEditor: Added loop indicators to media sections Change 3900694 by Max.Preussner ImfMedia: Looping cache only when player is looping Change 3900892 by Max.Preussner Stats: Added stats category for media framework Change 3900954 by Max.Preussner MediaCompositing: Don't evaluate at the end of media section Change 3901348 by Max.Preussner Core: Replaced TLruCache autos for better readability Change 3901655 by Max.Preussner ImgMedia: Added more perf stats to EXR reader Change 3901972 by Max.Preussner MediaAssets: Added getter for media player in media sound components Change 3902233 by Max.Preussner MediaAssets: Enabling media textures to receive samples right after player is assigned Change 3902238 by Max.Preussner MediaCompositing: Working around init/shutdown idiosyncracies in sequencer Change 3904045 by Max.Chen Sequencer: Fix copy/paste crash. Only process UMovieSceneCopyableBinding and objects that can be spawned by the movie scene spawn register. #jira UE-55314 Change 3905605 by Max.Chen Sequencer: Restrict spawnables from being created if they have a ClassWithin that UMovieScene is not a child of. #jira UE-55429 Change 3906550 by Max.Chen Sequencer: Add media track icon #jira UE-55480 Change 3907101 by Max.Chen Sequence Recorder: Fix bugs related to not recording a level sequence. There were certain assumptions that creating a level sequence meant that sequence recording was in progress. This is not always the case - the recorders can record animation assets and not create a level sequence. Changed the notion of IsRecording() to having at least one actor recording that is recording. Countdown timer, recording displays, etc should function if IsRecording() and not based on whether a level sequence is created. #jira UE-55485 Change 3907247 by Max.Chen Sequence Recorder: Fix crash not removing PrepareToCleanseEditorObject delegate. Repros when opening sequence recorder, closing it, and then opening or creating a level. Change 3910343 by Max.Preussner Core: Added async helper for executing functions on a given thread pool Change 3910346 by Max.Preussner ImgMedia: Added separate thread pools for loading/decoding and deleting image frames Change 3910829 by Max.Preussner Profiler: Increased visible range of profiler graph Change 3910841 by Max.Preussner MediaCompositing: Displaying asset name instead of full media source path in media section Change 3910870 by Max.Preussner ImgMedia: Using deallocation thread pool only in debug builds Change 3919642 by Max.Chen Sequence Recorder: Clarify active tooltip #jira UE-55661 Change 3919660 by Max.Chen Sequencer: Sequence template source signatures are now also compared to catch the case where a sub-sequence asset has been saved but not modified - The following sequence of events exposes this issue: - Create a master sequence with a single shot that spawns a cube - Add this sequence to a level and set it to auto-play - Save everything and restart - Resave just the inner shot asset without opening it - PIE - The inner shot never spawns its cube because its template was wiped on save, but its signature never changed. Since the master sequence previously didn't check the template source signature, it ends up trying to evaluate an empty template. #jira UE-55626 #jira UE-55490 Change 3921825 by Max.Chen Sequencer: "Run Construction Script in Sequencer" is off by default for blueprints but on for Sequencer. This allows the content author to switch it on for specific blueprints and sequencer will be default, run those with construction scripts enabled. Change 3922232 by Max.Chen Sequence Recorder: Reset countdelay on stop. #jira UE-55755 Change 3922306 by Max.Chen Sequence Recorder: Don't automatically mark transforms to be recorded by sequence recorder. Instead, log a warning if the user toggled it off to warn that the resulting animation might not match gameplay. #jira UE-55758 Change 3922912 by Max.Chen Sequence Recorder: Fix refresh next sequence name #jira UE-55757 Change 3927654 by Max.Chen Movie Scene Capture: Added format mapping for the name of the current camera #jira UE-55769 PR #4537 Change 3927658 by Max.Chen Sequencer: Added fbx property mapping for "FocusDistance" to "FocusSettings.ManualFocusDistance" #jira UE-55782 Change 3932022 by Max.Chen Sequencer: Add import animation track section to next available row index. #jira UE-55892 Change 3933919 by Max.Chen Sequencer: Jump to playback start frame and not 0 to start playback for recording. #jira UE-55933 Change 3934307 by Andrew.Rodham Sequencer: Add template signature that is re-generated every time the base template is regenerated, which invalidates evaluation fields This fixes an issue where the same sequence is instantiated multiple times in a sequence. If the source sequence was saved, its template would be wiped, which would invalidate the template ID When an instance tries to evaluate the master template, it would only invalidate a range in the evaluation field that was the hull of any invalid sub sequences overlapping the current time, potentially leaving invalid data in the evaluation field at positions later (or earlier) on in the sequence When the sub template was re-generated, it receives the same SequenceSignature as it had before (because the sequence hasn't actually changed), which causes the stale evaluation field data to fail the IsDirty check (because the sequence is the same as it thought, but the *template* has changed) This has been addressed be adding a signature to templates themselves, and checking both the template signature and sequence signature as a part of the IsDirty check. This ensures that we regenerate if either the template, or the sequence have changed. #jira UE-55934 Change 3936327 by Andrew.Rodham Sequencer: Removed increment when trimming right UMovieSceneSection::TrimSection already explicity assigns an exclusive bound to the time passed in. The new behavior means we can trim a section to the right, and insert another section without changing the time to create adjacent sections. #jira UE-42652 Change 3936328 by Andrew.Rodham Fixed KeyFrameManipulator assignment operators and copy/move constructors - These types are potentially self-referential so cannot use default constructors/assignment Change 3936330 by Andrew.Rodham Converted UMGSequencePlayer to use frames internally #jira UE-54878 Change 3936726 by Max.Chen Sequencer: Set track node as the parent of the key area node. The key area switcher needs the object binding id from the parent object binding node. Without this, the binding to the external value fails. #jira UE-55931 Change 3936775 by Max.Chen Sequencer: Should stop or loop should compare DurationFrames with Current Time from StartTime. The bug is that if you set 30 warmup frames in movie rendering for a range of 0-100, the FrameRange will be starting at -30 and have a duration of 130. Without this fix, the playback will continue until frame 130, rather than 100. #jira UE-55933 Change 3936935 by Matt.Hoffman Easing Curves are now represented in Play Rate resolution instead of internal resolution. #jira UE-55937 Change 3937069 by Matt.Hoffman Users can toggle if the is infinite on each side, limited by which tracks support infinite ranges. #jira UE-55891 Change 3937516 by Max.Preussner ImgMedia: Added support for single-threaded platforms #jira UE-55986 Change 3937826 by Max.Preussner MediaAssets: Disabling media sound components on HTML5 if AudioMixer is not enabled Change 3937997 by Max.Chen Curve Editor: Add Zoom to Fit Curves so that selected curves from Sequencer can be focused on. Tested that undo doesn't re-zoom. #jira UE-55935 Change 3938000 by Max.Chen Sequencer: Stop all sounds before generating audio waveforms. #jira UE-55951 Change 3938376 by Max.Preussner XGEController: Disabled XGE Controller in single-threaded apps to prevent crash Change 3938444 by Max.Preussner Core: Added async support for single-threaded applications Change 3938445 by Max.Preussner Networking: Added support for single-threaded applications in UDP socket sender/receiver Change 3938447 by Max.Preussner Messaging: Added support for single-threaded applications Change 3939432 by Max.Chen Sequence Recorder: Append command list to global level editor actions so that shortcuts are accessible in level editor. #jira UE-55798 Change 3940229 by Andrew.Rodham Added prospective display rate upgrade to UMovieScene::PostLoad - There was previously some very odd behaviour that would assign the fixed frame interval only when a sub sequence was focused in SSequencer. This meant that many sequences could have a frame interval of 0 set in the data. - Under the old method of snap interval display this would have fallen back to getting the display interval from the sequencer settings, but we no longer look at these. - The USequencerSettings properties have been removed and in their place, a prospective data upgrade for sequences that have a fixed frame interval old 0fps that sets the play rate to the previous defaults based off the old USequencerSettings defaults. - This could end up 'changing' the display rate for sequences where the user has changed the snap interval in the settings for a particular sequence editor, but there's not much we can do about that given we don't have access to the USequencerSettings classes in UMovieScene #jira UE-55919 Change 3940277 by Andrew.Rodham Sequencer: Added ability to default frame resolutions and play rates for newly created actor sequences Change 3940378 by Andrew.Rodham Sequencer: Post move import dialog now defaults to the playback framerate of the sequence, and floors to frame numbers Change 3940559 by Andrew.Rodham Reinstated primed or recording sequence color Change 3940642 by Max.Preussner ImagePlate: Removed image plate media playback functionality Change 3940843 by Max.Preussner Core: Made TCircularQueue actually thread-safe; improved code comments Change 3940860 by Max.Chen Sequencer: Changed StructNameToKey to StructPathToKey Previously, keying a PropertyPath of [RenderTransform][Shear][X] would get trimmed to X, which doesn't map to a channel name as considered by Sequencer2dTransformTrackEditor. Instead, trim the resulting property path to [Shear][X] so that track editors can determine the desired struct path and channels to key. #jira UE-52966 Change 3941292 by Mike.Zyracki Fix for trajectories out of range not showing up. 1) If we had no key data we would pop the time, so wouldn't get the section ranges. 2) Calculating of upper bound was wrong, checking against -1 and not key == num of keys when doing algo::lower_bound. 3) No need to do the Bck-- for the bakward iterators since we fixed #2. We start now from the upper bound correctly. 4) If we had no keys (at section start,end) we would incorrectly say we were any key type, so since we draw constant keys as dashed we would do so incorrectly around section end points. #jira UE-55929 Change 3941424 by Max.Chen Curve Editor: Change Zoom to Fit to use TArrayView Change 3941498 by Max.Preussner Core: Added FMath::DivideAndRoundNearest function Change 3942097 by Matt.Hoffman Drop Frame Timecode Support for NTSC rates. Change 3942104 by Matt.Hoffman Sequence Recorder Group is no longer visible inside the World Outliner after using one. #jira 55266 Change 3942107 by Max.Chen Sequencer: Resurrect logic to find or extend an existing section when adding keys. Change 3942330 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942339 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942507 by Andrew.Rodham Sequencer: We no longer pad the time overlap threshold with a small number that is not scaled by the current zoom level - The presence of this pad was causing keys that were far apart to be grouped when zoomed in a long way Change 3942509 by Andrew.Rodham Sequencer: Only pad total view range, rather than section range as well when retrieving keys to render - This stops us from rendering keys that are within the view range, but outside the section range Change 3942512 by Andrew.Rodham Added transactions to some sequencer details customizations Change 3942513 by Andrew.Rodham Sequencer: Reinstated validation checks to UMovieSceneSection::SetStartFrame and SetEndFrame, changed erroneous uses to use SetRange Change 3942560 by Andrew.Rodham Pass by rvalue reference to appease error C2719 on Win32 ('InChannels': formal parameter with requested alignment of 8 won't be aligned) Change 3942697 by Andrew.Rodham Newly Created Level Sequences and Actor Sequences now default to 24000 fps frame resolution (+/- ~24hrs range, supporting all integer rates + 23.976) Change 3942700 by Andrew.Rodham Sequencer: Added legacy out-of-bounds errors for times that are not supported by the current legacy upgrade frame resolution Change 3942989 by Max.Preussner Core: Fixed circular queue count calculation Change 3943538 by Max.Preussner MediaAssets: Reverted workaround for procedural audio log spam in HTML5 (Actor component initialization cannot be skipped if the component is used in a level) Change 3944071 by Max.Preussner QAGame: Fixed Media Texture keeps last frame of Media when PIE ends #jira UE-53360 Change 3944292 by Max.Chen Sequencer: Added extra flags to ensure that asset initialization does not occur on template actor sequences #jira UE-56113 Change 3944364 by Max.Chen Sequencer: Prevent circular shot/master tracks. Tested adding master -> child -> master as drag and drop cinematic shot tracks and sub tracks as well as through the + button. #jira UE-56091 Change 3944422 by Max.Chen Sequence Recorder: Disable transform recording if off. #jira UE-56061 Change 3944745 by Andrew.Rodham Sequencer: Key rendering fixes - Fixed assert that occured when keys happened to reside on some times due to KeyTime + TimeOverlapThreshold - KeyTime being slightly larger TimeOverlapThreshold - Fixed keys sometimes being clipped when zoomed right in due to lack of half-frame offset - Added missing documentation to MovieSceneTimeHelpers.h #jira UE-56107 Change 3945231 by Andrew.Rodham Sequencer: Reconstruct channel proxy on Serialize to catch all cases of undo/redo, PostLoad and duplication #jira UE-56089 Change 3945301 by Andrew.Rodham Sequencer: Added safety checks during initial sequence recording to guard against applying negative or 0-sized sequence ranges #jira UE-56125 Change 3946627 by Max.Preussner Fortnite: Fixed game crashes closing editor while in PIE - Pure virtual function being called #jira UE-56144 [CL 3946896 by Max Chen in Main branch]
2018-03-14 22:09:33 -04:00
// Use L/R resize cursor if we're dragging or hovering a playback range bound
Copying //UE4/Dev-Sequencer to //UE4/Main (Source: //UE4/Dev-Sequencer @ 2945541) ========================== MAJOR FEATURES + CHANGES ========================== Change 2837601 on 2016/01/20 by Thomas.Sarkanen Sequencer: Exposed bool, byte, event, fade, float, slomo, and visibility section keys in context menu Change 2840895 on 2016/01/23 by Thomas.Sarkanen Sequencer: Moved key proxy handling from section into key area; added support for grouped keys; exposed color properties in context menu. Change 2901092 on 2016/03/09 by Thomas.Sarkanen Sequencer: Fixed ensure() and crash when exiting PIE & then playing back in editor Made sure that instances that are playing that have active montages can re-connect to a playing montage if it is already active. We dont stop/start preview/non- preview playback when switching modes right now so I've just made the system robust to the switch when playing back animation. Ensured that instances are kept up to date by hooking into EndPlayMapDelegate. This fires slightly later than OnEndPIE, so it allows us to pick up when instances have been deleted from the world. OnEndPIE is fired before the worlds are shutdown so instances can still be bound to valid (but nearly dead) actors at this point. #jira UE-27898 #jira UE-27899 Change 2901159 on 2016/03/09 by Chris.Bunner Allow EXR frames from SaveHighResScreenshot to be uncompressed (r.SaveUncompressedEXRFrames). Change 2903123 on 2016/03/10 by Max.Chen Sequencer: Add snapping for the in/out range. Change 2903126 on 2016/03/10 by Max.Chen Sequencer: Fix split and trim for cinematic shot sections so that the start offset value is set. Change 2903132 on 2016/03/10 by Max.Chen Sequencer: Create camera here and set it as the current camera cut. Change 2903138 on 2016/03/10 by Max.Chen Sequencer: Improve mechanism for adding objects to Sequencer. Hold down shift while dragging from content browser to add as a spawnable. Hold down ctrl while dragging from content browser to add as a possessable. Change 2903143 on 2016/03/10 by Max.Chen Sequencer: Add 4k to movie capture dialog. #jira UE-28147 Change 2903157 on 2016/03/10 by Max.Chen Sequencer: Pop out of locked camera when popping out of the sequence. #jira UE-27662 Change 2908097 on 2016/03/14 by Andrew.Rodham Sequencer: Added default viewport type onto the viewport types menu - The activation command for a given viewport type no longer toggles it if it's already active, it will just do nothing. - Switching back to the default viewport type can be achieved with SHIFT+D Change 2911869 on 2016/03/16 by Max.Preussner Editor: Caching device proxy manager, so the UI doesn't constantly poll for the TargetDeviceServices module Change 2917943 on 2016/03/22 by Thomas.Sarkanen Sequence Recording: Added "Record New Sequence From Current Player" to sub-sequence track menu This option is only available in PIE. When selected it primes a new seciton for recording against the pawn that is currently being controlled by the player. Change 2917946 on 2016/03/22 by Max.Chen Sequencer: Automatically add and attach a cine camera when dropping a crane or rail. Change 2917954 on 2016/03/22 by Thomas.Sarkanen Fix anim dynamics going crazy on time skips Added new API to FAnimNode_Base: NeedsDynamicReset and ResetDynamics. This allows nodes that subscribe to this interface to be reset on teleport/time skips. Call through to ResetDynamics on zero timestep (ie. skips) in the preview path in Sequencer. Change 2917961 on 2016/03/22 by Frank.Fella Sequencer - Sequencer - Update the color track code to match the behavior in matinee, also remove empty light color tracks from the sequence, and add a missing particle parameter track. Change 2917984 on 2016/03/22 by Max.Chen Sequencer: Fix crash on deleting object binding nodes multiple times. Change 2917986 on 2016/03/22 by Max.Chen Sequencer: Fix if adding multiple camera cuts at the same time with the same duration as an existing camera cut. The camera is replaced in this case. Change 2917994 on 2016/03/22 by Jeff.Farris Support for scene depth picker. Used for focus depth sampling in cine cams. Change 2918003 on 2016/03/22 by Max.Chen Sequencer - Fix selection issues related to keying an undo by moving the selection clear on rebuild to after the tree selection state has been cached by path. Change 2920371 on 2016/03/23 by Max.Preussner UnrealEd: Added a file import path that doesn't load the entire file into memory prior to importing UFactory::StaticImport will now call FactoryCreateFile for both text and binary files. The default implementation will load the file into a buffer/string and call FactoryCreateBinary/FactoryCreateText to preserve legacy behavior. New factories may override FactoryCreateFile to perform their own file processing instead. Change 2923359 on 2016/03/25 by Max.Preussner UnrealEd: Refactored out StaticImportObject code into ImportObject Change 2924887 on 2016/03/28 by Jeff.Farris Sequencer: Camera Anim and Camera Shake tracks now support PostProcess changes in the CameraAnim Change 2927283 on 2016/03/30 by Max.Chen Sequencer: Fix crash resetting default in audio track in sequencer. Fix audio track rename when adding another audio. #jira UE-28836, UE-28859 Change 2928290 on 2016/03/30 by Max.Preussner ContentBrowser: Disabling 'Show in Explorer' context menu option for newly created/unsaved asset(s) Change 2928480 on 2016/03/30 by Max.Preussner AssetTools: Added built-in type category for Media assets Change 2928498 on 2016/03/30 by Max.Preussner AssetTools: Sorting asset type categories alphabetically Change 2932326 on 2016/04/04 by Frank.Fella Sequencer - Add "paste from matinee" support for audio tracks, and add volume support to audio sections in sequencer. Change 2933917 on 2016/04/05 by Max.Preussner Core: Added microseconds support to FTimespan Change 2933920 on 2016/04/05 by Max.Preussner Sockets: Simplified socket timeout assignments Change 2935434 on 2016/04/06 by Max.Chen Sequencer: Deselect possessable before converting it to a spawnable and deleting it. Also, make sure the newly converted spawnables are selected. This fixes a bug where the transform gizmo remains after adding a spawnable. Also, consolidate code for adding possessables to sequencer so that the newly added possessable node will be selected in the widget tree. #jira UE-28215 Change 2935590 on 2016/04/06 by Jeff.Farris Made crane rig preview mesh at the tip move as expected and appear in a reasonable place. Change 2936082 on 2016/04/07 by Max.Chen Sequencer: Attach should use default attach component of the actor if it exists. This fixes a bug where trying to attach to a camera crane rig attaches to the proper component. Change 2936118 on 2016/04/07 by Max.Chen Sequencer: Adding crane/rail with shift now adds the crane/rig as a spawnable and the attached cine camera as a spawnable. An attach track is created for the cine camera spawnable. #jira UE-28308 Change 2937226 on 2016/04/07 by Max.Chen Sequencer: Add invalidation when levels are added or removed.This fixes a bug were if you have a level sequence open and then add a sublevel that the level sequence operates on, it correctly updates the actors from the new sub level. #jira UE-27595 Change 2937263 on 2016/04/07 by Frank.Fella Sequencer - Changed the matinee to sequencer conversion tools so that curve keys set to "clamped auto" import as user tangents since we don't support clamped auto in sequencer. Change 2937273 on 2016/04/07 by Max.Chen Sequencer: No longer experimental/betal and now enabled by default. #jira UETOOl-625 Change 2937694 on 2016/04/08 by Max.Chen Curve Editor: Separate out input and output snapping. #jira UE-27209 Change 2937852 on 2016/04/08 by Andrew.Rodham Sequencer: Spawnables no longer use generated classes - Spawnables now store a template actor instance, rather than a generated class - All relevant code has been converted to use this new approach - Spawnable defaults are now harvested directly from any spawned instances when the movie scene is saved, or when the object is de-spawned. We only do this for spawnables *in the currently active sequence instance*. This approach ensures that instance components and other properties persist. - Currently we don't mark the package as dirty when the defaults are changed. This needs to be addressed. - Some fixes have been made to AActor and Actor Iterators to ensure that actors not contained within a level do not crash. - Spawning optimisations to follow Change 2937956 on 2016/04/08 by Max.Preussner Sequencer: Added selection range commands to general toolbar menu Change 2937981 on 2016/04/08 by Max.Preussner Sequencer: Refactored GetKeyHandles to take a time range for filtering keys Change 2938007 on 2016/04/08 by Max.Preussner Sequencer: Implemented selection range key selection Change 2938184 on 2016/04/08 by Max.Chen Sequencer: Find in Content Browser is now in the top level menubar. #jira UE-21598 Change 2938665 on 2016/04/08 by Frank.Fella UMG - Add support for material animation. Change 2939048 on 2016/04/10 by Max.Chen CineCamera: Change current position on rail to normalize position. Change 2939067 on 2016/04/10 by Max.Chen Sequencer: Add paste color from matinee Change 2939587 on 2016/04/11 by Andrew.Rodham Sequencer: Fixes to spawnable rework - Removed commented out code. - Fixed particle system components not disabling auto activate. - Instance Components are now correctly registered on spawn. - Removed ability to set the editable flag on actors in favor of a delegate assigned to SActorDetails to disable property editing on actors spawned from outside of the currently focused sequence. Change 2939666 on 2016/04/11 by Andrew.Rodham Sequencer: Fixed active sequence ID not being set on creation Change 2940663 on 2016/04/12 by Andrew.Rodham Sequencer: Spawnable object templates now always have the RF_ArchetypeObject flag #jira UE-29337, UE-29339 Change 2940742 on 2016/04/12 by Thomas.Sarkanen Improvements to sequence recording API Sequence recording is now more extensible. Moved the majority of recorders into a seperate module. Cleaned up recorder API, removed bRecord that was only really used once. Added factory class as a modular feature that allows users to register and implement their own recorders. Recorders can supply their own settings classes. These are incorporated into the UI via a details customization so they appear to be seamlessly integrated. Exposed components to record as an advanced setting. Users can use this to gate the components and actors that are recorded. #jira UE-28850 - Update sequence recording API for better extensibility Change 2940828 on 2016/04/12 by Max.Chen Level Editor: Clear the camera preview if the level viewport is locked to the same camera. #jira UE-27489 Change 2941090 on 2016/04/12 by Frank.Fella Sequencer - Fix inconsistencies with the level visibility track. + Add an option to update a track instance when it stops playing due to it's parent movie scene being deactivated as a sub-scene. + Reset level visibility state when the section ends, or when it's parent subsection ends. Change 2941427 on 2016/04/12 by Andrew.Rodham Sequencer: Fixes for recorded dynamic components - Dynamic components are now named uniquely within their owner actor, and are no longer re-bound to new object tracks when detached/re-attached - New dynamic components are created every time a new component is detected on an actor, regardless of whether it was once attached before. This affords recording externally managed components from a component pool. - Section recorders for components that are no longer attached to the actor are now disabled correctly. Change 2941760 on 2016/04/12 by Max.Preussner Editor: Setting up correct material expresions when creating material from normal map texture Change 2941819 on 2016/04/13 by Max.Chen Sequencer: Fire named events in all sublevels. #jira UE-28843 Change 2942052 on 2016/04/13 by Andrew.Rodham Sequencer: Fixed not being able to add dynamic material parameter tracks to spawnables when the object is not spawned #jira UE-24287 Change 2942223 on 2016/04/13 by Max.Preussner Editor: Using built-in function to assign sampler format Change 2942833 on 2016/04/13 by Max.Chen Sequencer: More copy matinee helpers. - Make some sections infinite. - Fix FindPossessableObjectId - Expose FindGroupByName Change 2942944 on 2016/04/13 by Max.Chen Sequencer: Fix anim copy so that it doesn't create an animation clip longer than the next clip's start position. Change 2943313 on 2016/04/14 by Max.Chen Sequencer: Initial matinee to level sequence asset converter. Right click on a matinee actor in the level and choose "Convert to Level Sequence" Current supports: - movement tracks - generic property tracks - particle tracks - anim control tracks - event tracks - audio tracks - visibility track - director track (fade, slomo, camera cuts) Possible todos: - Relative scale3D - Option to create spawnables instead of possessables - Create shots per director track camera cut instead of a direct translation to the camera cut track #jira UETOOL-467 Change 2943596 on 2016/04/14 by Andrew.Rodham Editor: Fixed placement mode scrollbar visibility not working for custom content #jira UE-27191 Change 2943651 on 2016/04/14 by Max.Chen Sequencer: Invalidate the audio waveform when the source changes. #jira UE-29394 Change 2943674 on 2016/04/14 by Max.Chen Sequencer: Store/restore playback state when rebuilding. #jira UE-29452 Change 2943993 on 2016/04/14 by Max.Chen Sequencer: Convert slot name from matinee to level sequence. Change 2944156 on 2016/04/14 by Frank.Fella Sequencer - Fix undo when moving items into folders, and when deleting folder. #jira UE-27368 Change 2944227 on 2016/04/14 by Max.Chen Sequencer: Show curves in the curve editor if one of the parent nodes is selected. For example, if Location is selected, show Location.X, Location.Y, and Location.Z Change 2945057 on 2016/04/15 by Andrew.Rodham Editor: Fixed placement mode scrollbar visibility not working for custom content #jira UE-27191 #lockdown nick.penwarden [CL 2945551 by Max Chen in Main branch]
2016-04-15 14:50:58 -04:00
if ((MouseDragType == DRAG_PLAYBACK_END) ||
(MouseDragType == DRAG_PLAYBACK_START) ||
(MouseDragType == DRAG_SELECTION_START) ||
(MouseDragType == DRAG_SELECTION_END) ||
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3946692) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3801826 by Max.Chen PR #4304: Level Sequence crash fix - Guarded against dereferencing null componen. (Contributed by DSDambuster) Change 3801828 by Max.Chen PR #4302: Movie Scene Visibility Template unitialised variable, causing random . (Contributed by DSDambuster) Change 3801837 by Max.Chen Sequencer: Delay spawning/construction for convert to possessable. This fixes a bug where property values would be lost when converting back and forth from possessable to spawnable. #jira UE-52400 Change 3801841 by Max.Chen Sequencer: Make spacer nodes not selectable. PR #4194: Improvements to Sequencer (Contributed by projectgheist) #jira UE-53117 #jira UE-52139 Change 3804183 by Max.Preussner MediaAssets: Added missing lock in media sound component Change 3805414 by Max.Preussner MediaAssets: Setting valid GUID when initializing media texture resource Change 3819578 by Max.Chen PR #4370: When enabling the "MovieCapture", do not turn off the Stereo-3D display. (Contributed by yehaike) #jira UE-53647 Change 3823414 by Max.Chen Curve Editor: Lock down the first and last keys in the redundant keys removal range so that they're unaffected. #jira UE-53591 Change 3826406 by Max.Chen Sequencer: Move OnStartedPlaying() to within first update in UpdateTimeCursorPosition(). This fixes an issue where setting the hud/player visibility was getting stomped on later. #jira UE-52772 Change 3827044 by Max.Preussner MediaAssets: Added sprite visualization to media sound component #jira UE-53594 Change 3827988 by Max.Preussner MediaPlayerAssets: Fixed Media Texture is not linked to Media Player when created together #jira UE-53532 Change 3828506 by Max.Preussner MediaPlayerEditor: Added attenuation visualizer for media sound components #jira UE-53594 Change 3832590 by andrew.porter EngineTest: Added a keep state check in Property Animation sequencer test Change 3833053 by andrew.porter EngineTest: Adding Hierarchical Bias test Change 3835683 by andrew.porter EngineTest: Adding UMG Animation screenshot test Change 3836076 by Max.Chen Sequencer: Fix audio volume and pitch multiplier deprecation. Change 3836230 by andrew.porter EngineTest: Adding Sequence Bone Position automation test Change 3836347 by Max.Chen Sequencer: Fixes to shot name parsing. When a shot doesn't contain a shot number, assume, [ShotName]_[TakeNumber]. When duplicating a shot, put the new shot in the same path of the original shot, so that the take numbers will increment properly. #jira UE-51868 Change 3836552 by Max.Chen Sequencer: Sub section now has a takes menu Change 3838094 by Max.Chen UMG: Fix template finish not getting called on stop. This fixes a bug where sections aren't restored when finished. #jira UE-52285 Change 3838708 by Max.Chen Sequencer: Add notification when the blend type is changed. #jira UE-54046 Change 3840295 by Max.Chen Sequencer: Fix copy/paste crash for lights #jira UE-54084 Change 3840957 by Mike.Zyracki Added Show Only Keyable and Show Only Animated to the filter list in the property editor. Added IsPropertyAnimated to IDetailKeyframe Interface which already had support for showing properties which are keyable (which is used for the key icon next to the properties.). Could have created another interface but then would have had to mimic the sequencer binding, releasing also, so this seemed best way. One issue still left is that custom built detail items currently don't store associated properties(usually) and so certain properties, in particulalry transforms, won't show up as keyable or animated. Note this also shows up with the keyable icon not showing up next to transform tracks, and other filters like Show Only Modified not working with transforms/customs. Not sure best way to tackle this. #jira UESEQ-328 Change 3841756 by Max.Chen Sequencer: Fix unbound possessable components when pasting spawnables. #jira UE-54104 Change 3843950 by andrew.porter EngineTest: Renaming LevelStreaming tests/content to LevelVisibility Change 3844082 by Mike.Zyracki Missing file for animated filter in property editor. When finding if a track is animated we need to find it but we can't easily induce the MovieTrack class for any particular property. So we don't set a class for it and just search by it's ID and name. #jira UESEQ-328 Change 3846902 by Max.Preussner ImgMedia: Fixed image media player never finished initialization if loading failed #jira UE-54247 Change 3849820 by Mike.Zyracki Reassigning deleted widgets didn't work since the menu extender mechanism needs a valid UObject in order to perform an operation on it. So to fix we replaced GetObjectBindingContextMenuExtender in WidgetBlueprint with new delegate mechanism (OnBuildCustomContextMenuForGuid) that supports FGuid in addition to UObjects which is needed to handle re-binding deleted widgets. Note that the default sequencer hacks this for replacing deleted actors in SequencerObjectBindingNode to check to see if a LevelSequence is active. We could move to this mechanism there also. #jira UE-53163 Change 3852211 by Max.Chen UMG: Indicate name of the property that is not bound. #jira UE-54350 Change 3854120 by Max.Chen Sequencer: Fix sibling folders being allowed to have the same folder name. #jira UE-54363 Change 3854627 by Max.Chen Sequencer: Step to next/previous key should work for all tracks if there aren't any selected. #jira UESEQ-391 Change 3855825 by andrew.porter EngineTest: Adding animation blending automation test Change 3855950 by andrew.porter EngineTest: Adding correct expected valuues to animation blending test Change 3856237 by Matt.Hoffman UESEQ-336 - Sequencer Track Reordering Adds the ability to re-order Master Tracks, Folders and Object Bindings within sequencer hierarchies (including UMG). Adds the ability to do a one-off sorting of the content under the old sorting behavior if the user wants to reset their layout to how it was under legacy behavior. Modifies SequencerTrackNodes, SequencerFolderNodes and SequencerObjectBindingNodes to handle CanDrop/OnDrop for above, below and ontop of. Fixes a Slate Issue that forcibly expanded a TreeviewRow if an item handled OnDrop. Slate will now only forcibly expand the row if the item says the drop happened ontop of the item, and not above or below it like it previously did. Change 3856503 by andrew.porter EngineTest: Adding automation test for using animation blueprint with blend multi node in sequencer Change 3857875 by Max.Chen Sequencer: Assign the sequence id after the template is compiled. #jira UE-54462 Change 3858344 by Max.Chen Sequencer: Prevent Goto and Transform boxes from overlapping by allowing them to be visible at the same time in an autosized horizontal box. Also, added close button to the goto box. PR #4425: Prevent Goto and Transform boxes from overlapping in Sequencer ... (Contributed by projectgheist) #jira UE-54210 Change 3860566 by andrew.porter MediaFrameworkTest: Set the option to index 0 for the audio and video track list by default Change 3860654 by andrew.porter EngineTest: Enabling Camera Cut + FOV test Change 3860981 by andrew.porter EngineTest: Updating skeletal mesh tests with a delay after set playback position Change 3861256 by Max.Chen Sequencer: Add all bindings if none selected. #jira-54440 Change 3862154 by Andrew.Rodham Added TimeManagement module Change 3862424 by andrew.porter EngineTest: Turned on the test Bone Positions with Blend Multi Node Change 3862573 by andrew.porter EngineTest: Adding test to compare bone positions in a sequence that is blending an animation that is using an AnimBP Change 3865117 by Max.Chen Sequencer: Stop auto scroll on mouse release of movement. #jira UE-31212 Change 3865303 by Max.Chen Sequencer: Add drag and drop transactions #jira UE-54662 Change 3865304 by Max.Chen Sequencer: Fix crash when an actor factory is not found. Change 3865361 by Max.Chen Sequencer: Don't change the camera/shot lock button when popping out of a sequence. #jira UE-54665 Change 3865412 by Max.Chen Sequencer: Determine whether a transform track is for a camera by using the spawned object or template #jira UE-54666 Change 3865685 by Max.Chen Sequencer: Clear autoscrub offset when stopping autoscroll #jira UE-31212 Change 3865886 by Max.Chen Sequence Recorder: Log an error if the number of frames changes while recording. This can happen if the skeleton changes while recording. #jira UE-48715 Change 3866925 by Andrew.Porter MediaFrameworkTest: Changing the current PNG test video image sequence to 1024 x 576 Change 3867705 by andrew.porter QAGame: Adding Audio Sort Sequence to dev folder Change 3867890 by andrew.porter QAGame: Adding a sequence for testing a sorting crash to my dev folder Change 3872628 by Max.Chen Movie Scene Capture: Split delay before warmup into split delay before shot warmup so that there's separate controls for when the movie scene capture warmups up vs. shot boundaries. Change 3873131 by Matt.Hoffman UE-54732 - Crash reordering a folder with a track. This was caused by folders being the only type of track to check if someone was putting a parent track into a child track. Object Binding tracks and Tracks now check as well so that you can't use the above/below drop targets to add parents as children. This also fixed a typo in the localization keys. #jira UE-54732 Change 3873301 by Mike.Zyracki Added ability to support continous euler angle changes when changing rotations, in particularly with the rotation gizmo's. To do this we effectively added a form an of 'euler filter'(https://en.wikipedia.org/wiki/Euler_filter) to find the closest euler angle to the current euler angle. Three functions were added to FRotator to make this possible, one to get the euler angle that's has the same rotation as it, one to get the difference between two euler angles via Manhattan distance and a third using the previous two to choose a Rotator value that's closest to it. We then use these functions before calling UComponent::SetRelativeRotation to make sure we use the correct Euler after the Quat conversion. We also no longer limit(bound) the euler angles to -180,180, which is obviously necessary to avoid flips. I also changed how we caluclate yaw and roll when pitch is -90 or 90 to make it the standard approach of zeroing out roll and just setting yaw. Main reasons are the previous implementation had precision issues so things like 180, 90, -180 would show up due to numbers being nearly zero but negative,(this would break any smooth interpolations), and this facilitates having a 'gimbal' rotation mode (like Maya, Blender etc..) if we ever want that also. If needed we could keep the previous implementation but would need to add some FMath::IsNearlyZero checks, with less performance. Note we only do this special filtering when applying delta's to actors or components in the editors, which then call UComponent::SetRelativeRotationExact, which is a new function to foces the RelativeRotation to be equal to the new rotation. This allows us to store un-nomalized Rotators at the cost that the RotationCache may be broken. We didn't change any of the other UComponent functions that set rotations (via Quats or Transforms) so they will still be bounded and unwound. In SetInternalWorldLocationAndRotation we only set the rotation if the rotation has changed, which fixes the rotation getting changed and re-normalized if just translate happens. In TransformTrackEditor, we correclty use the bUndwing flag and in MovieScene3DTransformSection there was an un-needed winding check there, it will be unwound earlier if needed, which happens if Sequence Recording is happening. Max we should talk about what to do about this . Note the euler angle drag via the widget is still bound to 0-360. I think we should just unbound that now since the rotations value are now unbound. This review now includes fixes suggested by Zak. #jira UE-UE-22228 Change 3873483 by Matt.Hoffman Sequencer Tracks can now be inserted above the spacer at the bottom of the tree. #jira UE-54706 Change 3873899 by Max.Chen Sequencer: Add section selection throbbing Change 3873908 by Max.Chen Movie Scene Capture: Added logging per frame Change 3873924 by Matt.Hoffman Adds the ability to store Sequence Recorder setups into profiles that stay with the map and can be re-loaded later. Profiles store the Actor Recordings so the settings for each actor should carry with them. #jira UESEQ-339 Change 3874726 by Matt.Hoffman Disable drag-and-drop targets on spacers that come between rows in Sequencer. This prevents extra drag/drop targets showing up between each row. #jira UE-54706 Change 3874862 by Matt.Hoffman Audio Track no longer gets reordered when adding sub-audio tracks, as sub-tracks are no longer counted towards the sorting order index when normalizing indexes. #jira UE-54727 Change 3875905 by Matt.Hoffman Disable Fade Track UI if a fade track already exists in the sequence. #jira UESEQ-393 Change 3876163 by Max.Chen Sequencer: Swap the camera object to the camera component's owner if it's not the same. #jira UE-54874 Change 3876971 by Andrew.Porter EngineTest: Moved Media Player Seek test to new folder. Also enabled the test with new ground truth image. Change 3877040 by Max.Chen Cine Camera: Split camera properties to two groups, "Camera Options" and "Camera Settings". The cine camera now hides properties in the "Camera Settings" group so that properties like bConstrainAspectRatio (in the "Camera Options" group) can be visible. #jira UE-54192 Change 3877763 by Max.Chen Curve Editor: Fix curve changed on end drag so that only curves that had keys/tangents that were changed receive notification, otherwise all loaded curves were getting notified that they were changed. #jira UE-54951 Change 3878234 by Matt.Hoffman Disable "Drop Below" targets for Sequencer Tree nodes to prevent a confusing UX issue where dropping underneath a Object Binding Node puts it after the object binding node but the UI looks like it's inserting it inside the Object Binding node. #jira UE-54743 Change 3879359 by Mike.Zyracki If a track is inactive we dim it a bit which seems to be the UE4 way to show inactive or disabled state. We changed the active logic so that all subtracks need to be inactive for the track to also be inactive(instead of all active for active). This conforms to how the active state actually works, e.g if you have two sections and only one is active the track is still active above it. #jira UESEQ-388 Change 3879462 by Max.Chen Sequencer: Allow dragging onto a particular row which would move out any overlapping sections to make space for the newly created section. Newly created sections are now selected and throbbed to draw attention to themselves. #jira UE-54664 Change 3879464 by Max.Chen Sequencer: Fixed overlapping ranges being inserted into the evaluation field during compilation - The issue was that track segments that had been combined with adjacent segments (due to them being identical) would potentially cause a subsequently compiled frame to overlap with a range that had already been inserted into the evaluation field. - The insertion code previously asserted that only minor overlaps were catered for (due to fp rounding errors) and assumed that a supplied range could not entirely contain any other range in the field. - The solution is to supply the insertion time along with the range to know exactly where the data should live in the field, and crop the range to the maximum allowable space between adjacent ranges. #jira UE-54922 Change 3879590 by Matt.Hoffman Items that are now added to the Sequencer via the "+Track" menu will be selected after being added. Items can now be added inside of folders instead of just to the root level. #jira UE-27397 Change 3879612 by Mike.Zyracki Display Nodes with no children are always active. #jira UESEQ-388 Change 3879730 by Matt.Hoffman Sequence Recorder's actor recording groups now remove items from the group when removed via the UI. #jira UESEQ-339 Change 3880256 by Mike.Zyracki Fix issue with inactive display with folders and other track nodes. #jira UESEQ-388 Change 3883491 by Max.Chen Fix issue where tick is skipped due to last ticked pose isn't cleared after AnimInstance changes. Copy from Release-4.19 #jira UE-51323 Change 3883603 by Max.Chen Movie Scene Capture: Add option toggle disable screen percentage. By default this is on (no change in current behavior). #jira UE-51898 Change 3885074 by Max.Preussner MediaCompositing: Resetting media texture & freeing resource on section end; removed dead code Change 3887220 by Max.Preussner MediaCompositing: Defaulted media section duration to 1 sec (since we do not know the actual duration in most cases) Change 3887478 by Matt.Hoffman Sequences now show [Inactive] in their title bars when they're disabled. This helps communicate why a sequence isn't being evaluated. #jira UE-51469 Change 3888985 by Max.Chen Movie Scene Capture: Clamp HDR Compression Quality between 0 and 1. #jira UE-55136 Change 3893519 by Max.Chen Sequence Recorder: Clarified tooltip for bRecordNearbySpawnedActors - spawned actors will still be recorded if they match the ActorFilter. #jira UE-55238 Change 3893546 by Max.Chen Sequence Recorder: If a selected actor already has a recording, add a blank recording. #jira UE-55239 Change 3894044 by Max.Preussner MediaCompositing: Added support for seeking into a media section Change 3894310 by andrew.porter MediaFrameworkTest: Adding Img media sources for 1080 and 2160 ravent test content Change 3894426 by Max.Preussner MediaAssets: Letting media textures with AutoClear retain their clear color when player is reset Change 3895717 by Max.Chen Sequencer: Null checks to prevent crash when saving the default state of a spawnable #jira UE-55304 Change 3897388 by Max.Chen Sequencer: Don't update current time to be within the view range when stepping into a sequence. #jira UE-55322 Change 3897452 by Max.Chen Audio: Fix crash when trying to record audio without any active capture devices. Log warning if the number of input channels is not 1 or 2. #jira UE-55223 Change 3897619 by Max.Preussner MediaCompositing: Removed commented out code Change 3898072 by Max.Chen Sequencer: Override the animation asset in the player state if it doesn't match the animation asset that's being evaluated. #jira UE-55328 Change 3898272 by Max.Preussner MediaPlayerEditor: Made slate brush constants static Change 3898704 by Max.Chen Sequencer: Skip if the binding id's sequence can't be found. #jira UE-55337 Change 3899855 by Max.Preussner MediaCompositingEditor: Added cache state visualization to media track Change 3900300 by Max.Preussner MediaCompositingEditor: Added loop indicators to media sections Change 3900694 by Max.Preussner ImfMedia: Looping cache only when player is looping Change 3900892 by Max.Preussner Stats: Added stats category for media framework Change 3900954 by Max.Preussner MediaCompositing: Don't evaluate at the end of media section Change 3901348 by Max.Preussner Core: Replaced TLruCache autos for better readability Change 3901655 by Max.Preussner ImgMedia: Added more perf stats to EXR reader Change 3901972 by Max.Preussner MediaAssets: Added getter for media player in media sound components Change 3902233 by Max.Preussner MediaAssets: Enabling media textures to receive samples right after player is assigned Change 3902238 by Max.Preussner MediaCompositing: Working around init/shutdown idiosyncracies in sequencer Change 3904045 by Max.Chen Sequencer: Fix copy/paste crash. Only process UMovieSceneCopyableBinding and objects that can be spawned by the movie scene spawn register. #jira UE-55314 Change 3905605 by Max.Chen Sequencer: Restrict spawnables from being created if they have a ClassWithin that UMovieScene is not a child of. #jira UE-55429 Change 3906550 by Max.Chen Sequencer: Add media track icon #jira UE-55480 Change 3907101 by Max.Chen Sequence Recorder: Fix bugs related to not recording a level sequence. There were certain assumptions that creating a level sequence meant that sequence recording was in progress. This is not always the case - the recorders can record animation assets and not create a level sequence. Changed the notion of IsRecording() to having at least one actor recording that is recording. Countdown timer, recording displays, etc should function if IsRecording() and not based on whether a level sequence is created. #jira UE-55485 Change 3907247 by Max.Chen Sequence Recorder: Fix crash not removing PrepareToCleanseEditorObject delegate. Repros when opening sequence recorder, closing it, and then opening or creating a level. Change 3910343 by Max.Preussner Core: Added async helper for executing functions on a given thread pool Change 3910346 by Max.Preussner ImgMedia: Added separate thread pools for loading/decoding and deleting image frames Change 3910829 by Max.Preussner Profiler: Increased visible range of profiler graph Change 3910841 by Max.Preussner MediaCompositing: Displaying asset name instead of full media source path in media section Change 3910870 by Max.Preussner ImgMedia: Using deallocation thread pool only in debug builds Change 3919642 by Max.Chen Sequence Recorder: Clarify active tooltip #jira UE-55661 Change 3919660 by Max.Chen Sequencer: Sequence template source signatures are now also compared to catch the case where a sub-sequence asset has been saved but not modified - The following sequence of events exposes this issue: - Create a master sequence with a single shot that spawns a cube - Add this sequence to a level and set it to auto-play - Save everything and restart - Resave just the inner shot asset without opening it - PIE - The inner shot never spawns its cube because its template was wiped on save, but its signature never changed. Since the master sequence previously didn't check the template source signature, it ends up trying to evaluate an empty template. #jira UE-55626 #jira UE-55490 Change 3921825 by Max.Chen Sequencer: "Run Construction Script in Sequencer" is off by default for blueprints but on for Sequencer. This allows the content author to switch it on for specific blueprints and sequencer will be default, run those with construction scripts enabled. Change 3922232 by Max.Chen Sequence Recorder: Reset countdelay on stop. #jira UE-55755 Change 3922306 by Max.Chen Sequence Recorder: Don't automatically mark transforms to be recorded by sequence recorder. Instead, log a warning if the user toggled it off to warn that the resulting animation might not match gameplay. #jira UE-55758 Change 3922912 by Max.Chen Sequence Recorder: Fix refresh next sequence name #jira UE-55757 Change 3927654 by Max.Chen Movie Scene Capture: Added format mapping for the name of the current camera #jira UE-55769 PR #4537 Change 3927658 by Max.Chen Sequencer: Added fbx property mapping for "FocusDistance" to "FocusSettings.ManualFocusDistance" #jira UE-55782 Change 3932022 by Max.Chen Sequencer: Add import animation track section to next available row index. #jira UE-55892 Change 3933919 by Max.Chen Sequencer: Jump to playback start frame and not 0 to start playback for recording. #jira UE-55933 Change 3934307 by Andrew.Rodham Sequencer: Add template signature that is re-generated every time the base template is regenerated, which invalidates evaluation fields This fixes an issue where the same sequence is instantiated multiple times in a sequence. If the source sequence was saved, its template would be wiped, which would invalidate the template ID When an instance tries to evaluate the master template, it would only invalidate a range in the evaluation field that was the hull of any invalid sub sequences overlapping the current time, potentially leaving invalid data in the evaluation field at positions later (or earlier) on in the sequence When the sub template was re-generated, it receives the same SequenceSignature as it had before (because the sequence hasn't actually changed), which causes the stale evaluation field data to fail the IsDirty check (because the sequence is the same as it thought, but the *template* has changed) This has been addressed be adding a signature to templates themselves, and checking both the template signature and sequence signature as a part of the IsDirty check. This ensures that we regenerate if either the template, or the sequence have changed. #jira UE-55934 Change 3936327 by Andrew.Rodham Sequencer: Removed increment when trimming right UMovieSceneSection::TrimSection already explicity assigns an exclusive bound to the time passed in. The new behavior means we can trim a section to the right, and insert another section without changing the time to create adjacent sections. #jira UE-42652 Change 3936328 by Andrew.Rodham Fixed KeyFrameManipulator assignment operators and copy/move constructors - These types are potentially self-referential so cannot use default constructors/assignment Change 3936330 by Andrew.Rodham Converted UMGSequencePlayer to use frames internally #jira UE-54878 Change 3936726 by Max.Chen Sequencer: Set track node as the parent of the key area node. The key area switcher needs the object binding id from the parent object binding node. Without this, the binding to the external value fails. #jira UE-55931 Change 3936775 by Max.Chen Sequencer: Should stop or loop should compare DurationFrames with Current Time from StartTime. The bug is that if you set 30 warmup frames in movie rendering for a range of 0-100, the FrameRange will be starting at -30 and have a duration of 130. Without this fix, the playback will continue until frame 130, rather than 100. #jira UE-55933 Change 3936935 by Matt.Hoffman Easing Curves are now represented in Play Rate resolution instead of internal resolution. #jira UE-55937 Change 3937069 by Matt.Hoffman Users can toggle if the is infinite on each side, limited by which tracks support infinite ranges. #jira UE-55891 Change 3937516 by Max.Preussner ImgMedia: Added support for single-threaded platforms #jira UE-55986 Change 3937826 by Max.Preussner MediaAssets: Disabling media sound components on HTML5 if AudioMixer is not enabled Change 3937997 by Max.Chen Curve Editor: Add Zoom to Fit Curves so that selected curves from Sequencer can be focused on. Tested that undo doesn't re-zoom. #jira UE-55935 Change 3938000 by Max.Chen Sequencer: Stop all sounds before generating audio waveforms. #jira UE-55951 Change 3938376 by Max.Preussner XGEController: Disabled XGE Controller in single-threaded apps to prevent crash Change 3938444 by Max.Preussner Core: Added async support for single-threaded applications Change 3938445 by Max.Preussner Networking: Added support for single-threaded applications in UDP socket sender/receiver Change 3938447 by Max.Preussner Messaging: Added support for single-threaded applications Change 3939432 by Max.Chen Sequence Recorder: Append command list to global level editor actions so that shortcuts are accessible in level editor. #jira UE-55798 Change 3940229 by Andrew.Rodham Added prospective display rate upgrade to UMovieScene::PostLoad - There was previously some very odd behaviour that would assign the fixed frame interval only when a sub sequence was focused in SSequencer. This meant that many sequences could have a frame interval of 0 set in the data. - Under the old method of snap interval display this would have fallen back to getting the display interval from the sequencer settings, but we no longer look at these. - The USequencerSettings properties have been removed and in their place, a prospective data upgrade for sequences that have a fixed frame interval old 0fps that sets the play rate to the previous defaults based off the old USequencerSettings defaults. - This could end up 'changing' the display rate for sequences where the user has changed the snap interval in the settings for a particular sequence editor, but there's not much we can do about that given we don't have access to the USequencerSettings classes in UMovieScene #jira UE-55919 Change 3940277 by Andrew.Rodham Sequencer: Added ability to default frame resolutions and play rates for newly created actor sequences Change 3940378 by Andrew.Rodham Sequencer: Post move import dialog now defaults to the playback framerate of the sequence, and floors to frame numbers Change 3940559 by Andrew.Rodham Reinstated primed or recording sequence color Change 3940642 by Max.Preussner ImagePlate: Removed image plate media playback functionality Change 3940843 by Max.Preussner Core: Made TCircularQueue actually thread-safe; improved code comments Change 3940860 by Max.Chen Sequencer: Changed StructNameToKey to StructPathToKey Previously, keying a PropertyPath of [RenderTransform][Shear][X] would get trimmed to X, which doesn't map to a channel name as considered by Sequencer2dTransformTrackEditor. Instead, trim the resulting property path to [Shear][X] so that track editors can determine the desired struct path and channels to key. #jira UE-52966 Change 3941292 by Mike.Zyracki Fix for trajectories out of range not showing up. 1) If we had no key data we would pop the time, so wouldn't get the section ranges. 2) Calculating of upper bound was wrong, checking against -1 and not key == num of keys when doing algo::lower_bound. 3) No need to do the Bck-- for the bakward iterators since we fixed #2. We start now from the upper bound correctly. 4) If we had no keys (at section start,end) we would incorrectly say we were any key type, so since we draw constant keys as dashed we would do so incorrectly around section end points. #jira UE-55929 Change 3941424 by Max.Chen Curve Editor: Change Zoom to Fit to use TArrayView Change 3941498 by Max.Preussner Core: Added FMath::DivideAndRoundNearest function Change 3942097 by Matt.Hoffman Drop Frame Timecode Support for NTSC rates. Change 3942104 by Matt.Hoffman Sequence Recorder Group is no longer visible inside the World Outliner after using one. #jira 55266 Change 3942107 by Max.Chen Sequencer: Resurrect logic to find or extend an existing section when adding keys. Change 3942330 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942339 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942507 by Andrew.Rodham Sequencer: We no longer pad the time overlap threshold with a small number that is not scaled by the current zoom level - The presence of this pad was causing keys that were far apart to be grouped when zoomed in a long way Change 3942509 by Andrew.Rodham Sequencer: Only pad total view range, rather than section range as well when retrieving keys to render - This stops us from rendering keys that are within the view range, but outside the section range Change 3942512 by Andrew.Rodham Added transactions to some sequencer details customizations Change 3942513 by Andrew.Rodham Sequencer: Reinstated validation checks to UMovieSceneSection::SetStartFrame and SetEndFrame, changed erroneous uses to use SetRange Change 3942560 by Andrew.Rodham Pass by rvalue reference to appease error C2719 on Win32 ('InChannels': formal parameter with requested alignment of 8 won't be aligned) Change 3942697 by Andrew.Rodham Newly Created Level Sequences and Actor Sequences now default to 24000 fps frame resolution (+/- ~24hrs range, supporting all integer rates + 23.976) Change 3942700 by Andrew.Rodham Sequencer: Added legacy out-of-bounds errors for times that are not supported by the current legacy upgrade frame resolution Change 3942989 by Max.Preussner Core: Fixed circular queue count calculation Change 3943538 by Max.Preussner MediaAssets: Reverted workaround for procedural audio log spam in HTML5 (Actor component initialization cannot be skipped if the component is used in a level) Change 3944071 by Max.Preussner QAGame: Fixed Media Texture keeps last frame of Media when PIE ends #jira UE-53360 Change 3944292 by Max.Chen Sequencer: Added extra flags to ensure that asset initialization does not occur on template actor sequences #jira UE-56113 Change 3944364 by Max.Chen Sequencer: Prevent circular shot/master tracks. Tested adding master -> child -> master as drag and drop cinematic shot tracks and sub tracks as well as through the + button. #jira UE-56091 Change 3944422 by Max.Chen Sequence Recorder: Disable transform recording if off. #jira UE-56061 Change 3944745 by Andrew.Rodham Sequencer: Key rendering fixes - Fixed assert that occured when keys happened to reside on some times due to KeyTime + TimeOverlapThreshold - KeyTime being slightly larger TimeOverlapThreshold - Fixed keys sometimes being clipped when zoomed right in due to lack of half-frame offset - Added missing documentation to MovieSceneTimeHelpers.h #jira UE-56107 Change 3945231 by Andrew.Rodham Sequencer: Reconstruct channel proxy on Serialize to catch all cases of undo/redo, PostLoad and duplication #jira UE-56089 Change 3945301 by Andrew.Rodham Sequencer: Added safety checks during initial sequence recording to guard against applying negative or 0-sized sequence ranges #jira UE-56125 Change 3946627 by Max.Preussner Fortnite: Fixed game crashes closing editor while in PIE - Pure virtual function being called #jira UE-56144 [CL 3946896 by Max Chen in Main branch]
2018-03-14 22:09:33 -04:00
(!bLockedPlayRange && !bHitScrubber && HitTestRangeStart(RangeToScreen, PlaybackRange, HitTestPixel)) ||
(!bLockedPlayRange && !bHitScrubber && HitTestRangeEnd( RangeToScreen, PlaybackRange, HitTestPixel)) ||
(!SelectionRange.IsEmpty() && !bHitScrubber && HitTestRangeStart(RangeToScreen, SelectionRange, HitTestPixel)) ||
(!SelectionRange.IsEmpty() && !bHitScrubber && HitTestRangeEnd( RangeToScreen, SelectionRange, HitTestPixel)))
{
return FCursorReply::Cursor(EMouseCursor::ResizeLeftRight);
}
int32 DummyMarkIndex = INDEX_NONE;
if (MouseDragType == DRAG_MARK || (!bHitScrubber && HitTestMark(RangeToScreen, HitTestPixel, DummyMarkIndex)))
{
return FCursorReply::Cursor(EMouseCursor::CardinalCross);
}
return FCursorReply::Unhandled();
}
int32 FSequencerTimeSliderController::OnPaintViewArea( const FGeometry& AllottedGeometry, const FSlateRect& MyCullingRect, FSlateWindowElementList& OutDrawElements, int32 LayerId, bool bEnabled, const FPaintViewAreaArgs& Args ) const
{
TSharedPtr<FSequencer> Sequencer = WeakSequencer.Pin();
if (!Sequencer.IsValid())
{
return LayerId;
}
Copying //UE4/Dev-Editor to //UE4/Dev-Main (Source: //UE4/Dev-Editor @ 3279756) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3229490 on 2016/12/09 by Cody.Albert Integrated fix to support named changelists in SVN Change 3229574 on 2016/12/09 by Simon.Tourangeau Fix actor mobility getting changed on scene reimport #jira UE-39102 Change 3229692 on 2016/12/09 by Cody.Albert Fixing an XML Parser assert when parsing a root tag that completes on the same line. #jira UE-30393 Change 3230582 on 2016/12/12 by Matt.Kuhlenschmidt PR #3024: Correct the outdated error message instructions for how to fix being unable to launch on an iOS device. (Contributed by CleanCut) Change 3231470 on 2016/12/12 by Matt.Kuhlenschmidt Eliminate editor sounds that play when you PIE, simulate or possess the player. They get in the way of game sounds, are annoying to hear when you are constantly starting and stopping pie, and flush async loading that the game might be doing when they load. Change 3231475 on 2016/12/12 by Alex.Delesky #jira UE-39023 - Using the High Resolution screenshot tool with the "custom depth as mask" option checked should no longer crash the editor or a PIE viewport when the screen percentage is not set to 100. Change 3231476 on 2016/12/12 by Alex.Delesky #jira UE-39380 - Thumbnails for static meshes in the foliage paint mode window should now update to show the correct mesh if the thumbnail pool has been exhausted. This also increases the number of foliage thumbnals that can exist onscreen at once. Change 3231477 on 2016/12/12 by Alex.Delesky #jira none - Extending the IPluginWizardDefinition interface to allow it to return the descriptor type of the plugin. This fixes a merge conflict from Odin where the new plugin wizard was modified to allow for multiple template selection. Change 3231479 on 2016/12/12 by Alex.Delesky #jira UE-39376 - Changing the number of players or changing the dedicated server options in PIE settings should now always persist on editor shutdown. Change 3231480 on 2016/12/12 by Alex.Delesky #jira UE-39417 - A texture will now match to update a dropped in file if the source path differs from that of the dropped in file Change 3231508 on 2016/12/12 by Alex.Delesky Removing todo comment #jira none Change 3231603 on 2016/12/12 by Matt.Kuhlenschmidt Exposed a 0-1 UV set and the scaled pixel size for Box and Border brushes Also added a material function that exposes all of the current UV sets with nice names instead of indexed coordinates Change 3231618 on 2016/12/12 by Alex.Delesky #jira UE-38732 - When editing a spin box with a delta value, committing the value with the Enter key and then clearing the focus from the spin box will no longer change the internal value to match the snapped value. Change 3231638 on 2016/12/12 by Matt.Kuhlenschmidt Add RF_Transactional to the list of default flags for creating or importing new assets. All should be transactional by default Change 3231642 on 2016/12/12 by Matt.Kuhlenschmidt Brighten up the output log by default Change 3231648 on 2016/12/12 by Alex.Delesky #jira UE-38033 - Selecting a Named Slot that's part of a widget in a Widget Switcher will now show that widget instead of the widget at index 0. This also applies to any content set inside the named slot. Change 3231666 on 2016/12/12 by Alex.Delesky #jira UE-38952 - Widgets that have been copied and pasted into the same hierarchy will now retain the same name in the hierarchy. This does not fix widgets that have been previously copied and pasted from other widgets, nor copies of those widgets. Change 3231674 on 2016/12/12 by Alex.Delesky #jira UE-37106 - When using or simulating touch for Widget Components, the hover/clicked state will now be accurately determined rather than showing hover on initial touch. Change 3231745 on 2016/12/12 by Alex.Delesky Back out changelist 3231477 to fix build error C2259 Change 3232417 on 2016/12/13 by Simon.Tourangeau Add the following attributes to the Editor.Usage.FBX.Import EngineAnalytics event - FBX Version - Filename Hash - Import Type #jira UE-37453 Change 3232477 on 2016/12/13 by Michael.Dupuis #jira UE-39675 : There was an issue when the Neutral Value == the Min or Max value, so we simply prevent using the concept of neutral value if min or max == neutral as it mean you only want a log on one side. Change 3232571 on 2016/12/13 by Alex.Delesky Back out changelist 3231745 #jira none - Extending the IPluginWizardDefinition interface to allow it to return the descriptor type of the plugin. This fixes a merge conflict from Odin where the new plugin wizard was modified to allow for multiple template selection. Change 3232675 on 2016/12/13 by Alexis.Matte Fix a crash when reordering material with a fbx containing unused materials, add a fbx automation test to prevent similar issue. #jira UE-39692 Change 3232975 on 2016/12/13 by Alex.Delesky Fix to build error C2259 for the IPluginWizardDefinition API change. Change 3233146 on 2016/12/13 by Michael.Dupuis #jira UE-38766 : Added eye dropper to select flatten height Fixed a rounding errors resulting in not flattening to the specified height Fixed a rounding error resulting in LandscapeDataAccess::GetTexHeight not always returning the appropriate value Change 3233153 on 2016/12/13 by Alexis.Matte We cannot anymore change the instance override materials array topology, the topology is limited by the mesh materials array #jira UE-38827 Change 3234406 on 2016/12/14 by Matt.Kuhlenschmidt Fix window handle and device context being accessed by scene viewports after the underlying window has been destroyed by the OS. This is an invalid state on linux and using some vr devices. #jira UE-7388 Change 3234485 on 2016/12/14 by Michael.Dupuis tentative build fix for Mac Change 3234495 on 2016/12/14 by Matt.Kuhlenschmidt Made a setting to control if PIE enter and exit sounds are played. Off by default Change 3236709 on 2016/12/15 by Simon.Tourangeau Fix camera export rotation offset #jira UE-34692 #jira UE-39740 Change 3236782 on 2016/12/15 by Jamie.Dale Fixed EmitTermExpr failing to use the correct package ID FBPTerminal::Source used to be set to the pin, however when pins were moved away from being UObjects, FBPTerminal::SourcePin was added and FBPTerminal::Source is typically null. Change 3236853 on 2016/12/15 by Alexis.Matte Fix the serialization of the staticmesh property FMeshSectionInfoMap Change 3236890 on 2016/12/15 by Matt.Kuhlenschmidt Remove old define Change 3239328 on 2016/12/18 by Richard.TalbotWatkin Fixed Focus Viewport action in Static Mesh Viewport. Problem was that the conversion to Orbit Camera for storing the camera position was trashing the desired position during cvamera transitions. Orbit camera position is now only stored at the end of a transition. #jira UE-39825 - Key "F" for Focus acts Sporadically in the Static Mesh Editor Viewport Change 3239660 on 2016/12/19 by Alex.Delesky #jira UE-38968, UE-36826 - Components attached to actors can now be directly scaled to negative values using the transform gizmo for that component. Change 3239662 on 2016/12/19 by Alex.Delesky #jira UE-39007 - The data table row editor now contains a Reset to Default control. Change 3239663 on 2016/12/19 by Alex.Delesky #jira UE-39698 - Importing CSV files will now show the name of the file in the import dialog. Change 3240696 on 2016/12/20 by Michael.Dupuis #jira UETOOL-1009: Added paddiing to columns view Added auto resize of column when double clicking on splitter handle in the header Remove right number alignment after discussion with Matt K. Change 3240758 on 2016/12/20 by Michael.Dupuis added missing non abstract implementation Change 3240782 on 2016/12/20 by Michael.Dupuis Added missing documentation for content browser column auto resizing Change 3240817 on 2016/12/20 by Alex.Delesky #jira UE-38940 - Copying a Material-Custom node with a tab character should now correctly render the tab. Change 3240834 on 2016/12/20 by Michael.Dupuis tentative fix for build error Change 3240984 on 2016/12/20 by Michael.Dupuis Removed unnecessary functions Change 3241174 on 2016/12/20 by Matt.Kuhlenschmidt Fix compile errors Change 3241966 on 2016/12/21 by Chris.Wood Fixed Typo and changed execution order in "ComboBoxString" Component [UE-38994] - GitHub 2971 : Fixed Typo and changed execution order in "ComboBoxString" Component PR #2971: Fixed Typo and changed execution order in "ComboBoxString" Component (Contributed by eXifreXi) #github https://github.com/EpicGames/UnrealEngine/pull/2971 Change 3242126 on 2016/12/21 by Alexis.Matte Back out changelist 3236853 We have to back out this change list because the change was implement in the 4.15 release branch and the EditorObjectVersion.h change is now implement in the ReleaseObjectVersion.h. Change 3244492 on 2017/01/02 by Jamie.Dale Improved error message Change 3244545 on 2017/01/02 by Nick.Darnell Navigation - Making it so we don't attempt to load HotReload during shutdown, we only access it if it's still loaded. Change 3244549 on 2017/01/02 by Nick.Darnell Slate - Implementing custom hardware cursor loading across Windows, Mac and Linux and supports loading cursors from PAK files. All platforms support loading PNGs through the FHardwareCursor interface. Some platforms support additional formats, for multiresolution support, but there's a naming convention that can be used on PNGs for the same capability. All of it is documented in the FHardwareCursor header. The platform layer for ICursor, now has support for replacing cursor shapes as an override, and can be reset safely. The FHardwareCursor supports loading cursors from raw pixel buffers as well, the plan is to allow for the option to UTextures to also be used for hardware cursors. Now users through C++ can load and replace the hardware cursors with custom ones of their own, e.g. FSlateApplication::Get().RegisterCursor(EMouseCursor::Default, MakeShareable(new FHardwareCursor(FPaths::GameContentDir() / "Slate/FancyPointer", FIntPoint(0,0)))); The next step is to expose a game friendly layer that supports caching cursors, and letting users change them out by name, without a bunch of destruction of OS resources. Change 3244845 on 2017/01/03 by Jamie.Dale Fixing typo #jira UE-39920 Change 3244903 on 2017/01/03 by Jamie.Dale PR #3044: fix link error when FAssetData::PrintAssetData() is used in project (Contributed by kayama-shift) Change 3245125 on 2017/01/03 by Alexis.Matte Put back the dev-editor version because there was some data create before we back it out Change 3246106 on 2017/01/04 by Chris.Wood Removed broken CrashReportReciever pre-upload phase from CrashReportClient. [UE-40153] - CrashReportClient fails when used in legacy mode with a CrashReportReciever Change 3246251 on 2017/01/04 by Alex.Delesky #jira UE-39869 - Moving an asset before saving it and then hitting Save All from the file menu will no longer save the asset in its original location. Change 3246252 on 2017/01/04 by Alex.Delesky #jira UE-39793 - Fixes an issue with the AutoReimporter where specifying a non-existent mount point (a directory in the content browser) would cause a crash when attempting to auto-import an asset from a monitored directory, as well as ensuring that valid mount points will be able to create new assets from auto-import. The "Map Directory To" field when setting directories to monitor for auto-reimport has also been changed to use the content browser path picker instead of relying on the user to manually enter a mount point. Change 3247620 on 2017/01/05 by Nick.Darnell Automation - Removing an adjustment to the number of shots we take for high res shots. Change 3247621 on 2017/01/05 by Nick.Darnell Automation - Adding a few more rendering tests to the cornell box. Change 3247629 on 2017/01/05 by Nick.Darnell Automation - Improving the comparison row display for screenshots so it's obvious what each image represents. Change 3248811 on 2017/01/05 by Matt.Kuhlenschmidt PR #3091: Removed unnecessary UPackage casts (Contributed by projectgheist) Change 3248860 on 2017/01/06 by Matt.Kuhlenschmidt Made the plugin browser select the "built in" category by default instead of the 2D category. There is no reason for a sub-category to be selected first as it makes searching for plugins globally an extra click because you have to click on the base category first Change 3249264 on 2017/01/06 by Matt.Kuhlenschmidt Fixed automation test warnings #jira UE-40198 Change 3249481 on 2017/01/06 by Michael.Dupuis #jira UE-37875 : Fill empty layers of components on assignation or creation Also fill new component added with the tool from neighbours predominance Change 3249505 on 2017/01/06 by Matt.Kuhlenschmidt PR #3093: Include guard cleanup (Contributed by projectgheist) Change 3249544 on 2017/01/06 by Michael.Dupuis #jira UE-40299: validate if UISettings is valid Change 3250738 on 2017/01/09 by Nick.Darnell UMG - The WIC now checks if the Widget is enabled before it claims that it's over an interactable or keyboard focusable widget. #jira UE-39845 Change 3250865 on 2017/01/09 by Nick.Darnell Slate - Updating EAutoCenter and ESizingRule to use the newer enum class style enums. Change 3250867 on 2017/01/09 by Nick.Darnell Slate - Adding more logging to the hardware cursor code so that it reports more information when it doesn't find an exact match when it comes to cursor size. Change 3250936 on 2017/01/09 by Nick.Darnell Automation - Refactoring the screenshot comparison tool to no longer require one one generated report. Doing screenshot comparions now generates individual reports for each failed comparison so that they can be evaluated in bits, and as changes occur as the user reviews aspects, we can remove the reports. There is now async image loading for the comparison view so that it doesn't hitch. Change 3250937 on 2017/01/09 by Nick.Darnell Automation - Adding another example to the CornellBox test. Change 3250958 on 2017/01/09 by Nick.Darnell Slate - Fixing some other cases where people were referring to ESizingRule::Type. Change 3251162 on 2017/01/09 by Nick.Darnell Slate - Fixing some other cases where people were referring to ESizingRule::Type. Change 3251254 on 2017/01/09 by Matt.Kuhlenschmidt Attempt to fix static analysis warnings Change 3251373 on 2017/01/09 by Nick.Darnell Core - Now writing a log warning instead of ensuring if calling LoadModule wouldn't have been safe to do here, depending on load order. Change 3251525 on 2017/01/09 by Nick.Darnell Automation - Fixing a build issue in ImageComparer. Change 3252321 on 2017/01/10 by Alex.Delesky #jira UE-40164 - Importing multiple files to overwrite existing assets such as sounds will now correctly persist the "Yes to All" / "No to All" dialog selections. Change 3252354 on 2017/01/10 by Nick.Darnell Image Compare - Fixing a potential threading hazard in the image comparer. Change 3252356 on 2017/01/10 by Nick.Darnell Automation - The screenshot metadata now captures the commit/CL that the screenshot was taken at and records it in the metadata. Change 3252601 on 2017/01/10 by Alexis.Matte Fbx automation test, reload feature implementation Change 3252761 on 2017/01/10 by Jamie.Dale Fixing some IWYU errors with PCH disabled Change 3252765 on 2017/01/10 by Jamie.Dale Fixing some static analysis warnings Change 3252793 on 2017/01/10 by Jamie.Dale Fixing FText natvis The text data visualizers have to be defined before the text visualizer Change 3253987 on 2017/01/11 by Matt.Kuhlenschmidt PR #3108: Git Plugin: use asynchronous "MarkForAdd" and "CheckIn" operations for the initial commit (Contributed by SRombauts) Change 3254378 on 2017/01/11 by Matt.Kuhlenschmidt Refactor scene importing to allow for plugins to make scene importers Change 3254679 on 2017/01/11 by Matt.Kuhlenschmidt Fix calling LoadModule in perforce source control off the main thread Change 3256472 on 2017/01/12 by Jamie.Dale Improved error reporting from IncludeTool - The error reporting was using zero-based line indices which was misleading. - The error reporting now includes the offending line to remove ambiguity. Change 3256725 on 2017/01/13 by Jamie.Dale IncludeTool can now parse typedef in Fwd headers Change 3256758 on 2017/01/13 by Jamie.Dale Added support for String Tables String Tables provide a way to centralize your localized text into one (or several) known locations, and then reference the entries within a string table from other assets or code in a robust way that allows for easy re-use of localized text. String Tables can be defined in C++ (using the LOCTABLE family of macros), loaded via CSV file, or created as an asset. They can be referenced in C++ using either the LOCTABLE macro, or the static FText::FromStringTable function. INI files can reference them using the LOCTABLE macro syntax, and FText properties in assets can reference them via the advanced settings combo. Change 3257018 on 2017/01/13 by Alexis.Matte FbxAutomationTest fix the import reload operation, it was calling garbagecollect with no keep flag Change 3257168 on 2017/01/13 by Jamie.Dale Removed code that was writing null into bytecode during save Change 3257344 on 2017/01/13 by Jamie.Dale Backing out changelist 3256725, and excluding my header from the scan instead Change 3257426 on 2017/01/13 by Nick.Darnell Slate - Adding the ability to invert alpha when drawing slate textures. Going to be used in the future for rendering render targets for the scene which have inverted alpha. Change 3257572 on 2017/01/13 by Nick.Darnell Slate - Fixing a build error. Change 3257970 on 2017/01/14 by Jamie.Dale Fixing exclude path Change 3258458 on 2017/01/16 by Matt.Kuhlenschmidt PR #3135: GameViewportClient: FOnCloseRequested is now a multicast delegate (Contributed by Nadrin) Change 3258472 on 2017/01/16 by Matt.Kuhlenschmidt PR #3126: Fix to load editor style assets (Contributed by projectgheist) Change 3258473 on 2017/01/16 by Matt.Kuhlenschmidt PR #3124: Fix wrong result with Image-DrawAsBox with PaperSprite. (Contributed by valval88) Change 3258539 on 2017/01/16 by Nick.Darnell Slate - Pixel Snapping has been moved to the GPU for the RHI rendering policy. Additionally, widgets with a render transform of Scale, Rotation or Sheer, and their children are no longer pixel snapped, this should reduce some of jittering seen by users when animations are applied to widgets. NOTE: This only affects render transforms, any transform in layout space is still subject to pixel snapping. Change 3258607 on 2017/01/16 by Nick.Darnell Fixing the mac build. Change 3258661 on 2017/01/16 by Matt.Kuhlenschmidt Actors with experimental components no longer say "Uses experimental class: Actor" when selecting the actor root in the details panel #jira UE-40535 Change 3258678 on 2017/01/16 by Nick.Darnell Platform - Introducing a way to get the mimetype for a file on Windows. Other platforms don't yet have an implementation outside of returning application/unknown. Change 3258924 on 2017/01/16 by Nick.Darnell Platform - Implementing a fallback for the generic platform http, that can do some basic mimetype lookups. Change 3258929 on 2017/01/16 by Nick.Darnell UMG - Fixing the animation to finish the evaluation before it notifies that the animation completed. Change 3259109 on 2017/01/16 by Nick.Darnell Platform - The GetMimeType function now only takes in FilePath, since some platforms will require that actually resolve to a file on disk in order to determine the true mimetype. Change 3259111 on 2017/01/16 by Alexis.Matte Avoid to move the camera when we re-import in the static mesh editor #jira UE-40613 Change 3259275 on 2017/01/16 by Matt.Kuhlenschmidt Fix crash when a slate window is resized and calls into a scene viewport during loading code when the scene viewport is not in a slate hierarchy and thus has no widget Change 3259300 on 2017/01/16 by Nick.Darnell UMG - Introducing PreConstruct and NativePreConstruct to the base UUserWidget. Users can now visualize non-binding based changes in the designer by evaluating a very limited amount of the blueprint code. In the event your user widget crashes on load, due to calling something unsafe, you can disable evaluation in the editor preferences under Widget Designer. Change 3259306 on 2017/01/16 by Nick.Darnell Games - Removing the Game Specific implementations of PreConstruct. Change 3260182 on 2017/01/17 by Matt.Kuhlenschmidt Fix static analysis Change 3261049 on 2017/01/17 by Nick.Darnell Slate - Putting in some fixes for the non-gpu pixel snapping mode, and disabling gpu snapping while we dig into why it looks weird. Change 3261434 on 2017/01/17 by Nick.Darnell Fixing the mac build. Change 3261435 on 2017/01/17 by Nick.Darnell Slate - Tweaking some aspects of the slate rounding code on the GPU. There's still some precision loss somewhere causing subtle differences in where the snap occurs, that's different from previously. Change 3261460 on 2017/01/17 by Nick.Darnell UMG - Tweaking the defintiions of NativePreConstruct, dropping passing in design time since that is readily available in native code. Change 3261833 on 2017/01/18 by Alexis.Matte Fix all warning for fbx automation tests #jira UE-40208 Change 3261874 on 2017/01/18 by Matt.Kuhlenschmidt PR #3136: Fix Submit to Source Control Window for Git plugin : use CanCheckIn() to filter out unmodified assets files (Contributed by SRombauts) Change 3262000 on 2017/01/18 by Jamie.Dale Updated Slate to allocate widgets using MakeShared This saves one allocation per-widget Change 3262003 on 2017/01/18 by Nick.Darnell UMG - Widget Interaction Components now ignore Visible(false) Widget Components when tracing. #jira UE-40523 Change 3262052 on 2017/01/18 by Alexis.Matte Put back the staticmesh skinxx workflow #jira UE-40782 Change 3262775 on 2017/01/18 by Nick.Darnell Slate - Ditching moving vertex rounding to the GPU, some precision issues could not be overcome. Ended up writing a clean way to implement it on the CPU. Change 3262818 on 2017/01/18 by Alex.Delesky #jira UE-40668 - Editor preferences will now save for data pin styles Change 3263679 on 2017/01/19 by Nick.Darnell Slate - Adding some comments to the Slate Vertex Rounder. Change 3265154 on 2017/01/19 by Nick.Darnell Slate/UMG - Putting in some more time into pixel snapping. I've re-introduced the old constructors, and decided to go with the templated approach, as to not break old code that relied on the FSlateVertex working a certain way. Change 3265478 on 2017/01/20 by Chris.Wood Added config support for hang detection time and switching hang detection on/off in UnrealWatchdog [UE-40838] - Make hang time configurable and increase default in UnrealWatchdog Change 3265600 on 2017/01/20 by Nick.Darnell Slate - Making some const local variables const. Change 3265714 on 2017/01/20 by Alex.Delesky #jira UE-40791 - The ForceFeedback thumbnail's Play and Stop icons will now render correctly, and will only be visible while an effect is playing or when the cursor hovers over the icon. Change 3265865 on 2017/01/20 by Alex.Delesky #jira UE-40511 - The Content Browser file path will now update when inside a folder that is deleted from the Sources Panel. Change 3267989 on 2017/01/23 by Jamie.Dale Exposed String Tables to Blueprints Change 3268018 on 2017/01/23 by Jamie.Dale Small API clean-up for string tables Change 3268455 on 2017/01/23 by Matt.Kuhlenschmidt Fix SaveAs (Which says SaveCurrentAs) not saving the current level and only saving the persistent level and then reloading everything thus causing work to be lost if editing a sub-level #jira UE-40930 Change 3269388 on 2017/01/24 by Chris.Wood Refactored tick timing in UnrealWatchdog to stop bug where it doesn't close. [UE-40839] - UnrealWatchdog running and blocking use of Unreal Game Sync for internal users Standalone tool code only - doesn't touch engine Change 3270205 on 2017/01/24 by Cody.Albert Updated FUnrealEdMisc::OnMessageTokenActivated to properly traverse up the outer hierarchy of an object. Change 3270231 on 2017/01/24 by Cody.Albert Renamed and exposed GetFullScreenAlignment and GetViewportAnchors for consistency with the setters Change 3271734 on 2017/01/25 by Michael.Dupuis #jira UE-38631 Add sorting for landscape target layer, user can now sort alphabetical, material based or custom Added a new vertical box SDragNDropVerticalBox to handle drag & drop of FSlot Fixed SDropTarget to only consider the drop action if it was started by it Added visibility toggle to only show used layers in the currently loaded data Change 3271797 on 2017/01/25 by Jamie.Dale Renamed HasBeenAlreadyMadeSharable to DoesSharedInstanceExist as the old name was nonsense Change 3271813 on 2017/01/25 by Jamie.Dale Fixed bad access of a shared this during widget destruction when a context menu was open Change 3271988 on 2017/01/25 by Nick.Darnell Slate - Removing some old checkbox deprecated code from the 4.3 and 4.6 days. Change 3271992 on 2017/01/25 by Nick.Darnell Blueprints - Making the checked call better to log out more information when dragging and dropping a missing property. Change 3272134 on 2017/01/25 by Jamie.Dale Updated the GatherText commandlet to no longer hold a ConfigFile pointer while it runs This pointer is internal to GConfig, and may be updated (or invalidated) when other config files are loaded (as can happen via game code while gathering text). Change 3272301 on 2017/01/25 by Nick.Darnell Slate - More cleanup from the removal of a old legacy enum that people were still using. Change 3273070 on 2017/01/26 by Chris.Wood Fix CIS errors in landscape code from CL 3271734 Change 3273123 on 2017/01/26 by Chris.Wood Fix crash during init of CRC when running packaged without access to main engine config hierarchy. Change 3273194 on 2017/01/26 by Nick.Darnell Fixing some build warnings. Change 3273242 on 2017/01/26 by Michael.Dupuis #jira UE-39948 : if we detect there is multiple levels in the current persistent when we add a new foliage asset we ask to save the foliage as an asset to permit paiting over multiple levels Change 3273279 on 2017/01/26 by Jamie.Dale String Table INI redirects are now in the "Core.StringTable" section (rather than "/Script/Engine.Engine") Change 3273483 on 2017/01/26 by Alex.Delesky #jira UE-32047 - Made changes to the FixupRedirects commandlet to ensure that files that are marked for delete are moved from the default changelist to the pending changelist and submitted when using Perforce. Also makes a slight change to the ResavePackages commandlet to submit files marked for delete. Change 3273568 on 2017/01/26 by Alex.Delesky Modifying changes made to SPluginWizard to have the plugin loading phase determined by the wizard's definition rather than from the first selected template. #jira none Change 3273855 on 2017/01/26 by Alex.Delesky #jira UE-41117 - Updating the tooltip on the "Allow Paint of all LODs" option for mesh paint mode. Change 3274200 on 2017/01/26 by Alex.Delesky For IPluginWizardDefinition, temporarily adding function bodies to two methods instead of having them be pure virtual methods. Change 3274317 on 2017/01/26 by Jamie.Dale Deleting a seemingly corrupted asset that was accidentially submitted Change 3275072 on 2017/01/27 by Michael.Dupuis #jira UE-38631 tweaks Fix typo error Iterate all components, not only active one Force expand the Target Layers widget Change 3275249 on 2017/01/27 by Alexis.Matte Color grading controls: Keep the vector ratio when changing the master slider #jira UETOOL-1098 Change 3275282 on 2017/01/27 by Alexis.Matte Color grading controls: Cosmetic changes #jira UETOOL-1099 Change 3275292 on 2017/01/27 by Alexis.Matte Make sure the build is called once when we import a staticmesh. #jira UE-40947 Change 3275430 on 2017/01/27 by Alexis.Matte Add some fbx automation tests - Import a mesh with no material - Import corrupted asset with no section in a LOD - Import morph targets - Materials name clash - Max Multimap material ordering Change 3275683 on 2017/01/27 by Michael.Dupuis #jira UE-41215 : when saving an asset do not register the transaction, and make sure that the duplicate wont keep a copy in the transaction buffer as an asset can't be undo Change 3276237 on 2017/01/27 by Jamie.Dale Deleting a seemingly corrupted asset that was accidentially submitted Change 3276266 on 2017/01/27 by Jamie.Dale Fix for accessing a potentially null pointer Change 3277065 on 2017/01/30 by Chris.Wood Move crash report temp files to saved config and cleanup on schedule. [UE-39506] - CrashReportClient ini folders are not cleaned when opening the editor Change 3277236 on 2017/01/30 by Matt.Kuhlenschmidt Fix crash when cancelling SaveCurrentLevelAs #jira UE-41182 Change 3277409 on 2017/01/30 by Jamie.Dale Improved text rendering when the last resort font is missing The last resort font is no longer included in shipping builds, so this change makes some improvements to text rendering when it's missing. - The legacy font cache no longer tries to use the last resort font if it's not available (preventing warnings). - The Slate font renderer no longer tries to use the last resort font if it's not available. - Text shaping will use the last resort character if none of the available fonts can render a given character (likely because the last resort font is missing). - HarfBuzz shaped text now uses the fallback character correctly. Change 3277749 on 2017/01/30 by Nick.Darnell Slate - Moving ESlateDrawEffect & ESlateBatchDrawFlag over to be enum class, found cases where users were improperly assuming the enum order, and so now it won't be possible to just treat an int32 or a bool as the draw effect value. Core - Adding EnumHasAllFlags and EnumHasAnyFlags, templated functions to make it easier to check for the existance of a flag on enum classes. Change 3277805 on 2017/01/30 by Nick.Darnell Rendering - Changing some LoadModuleChecked calls to GetModuleChecked, as these calls are not happening on the main thread and are not safe to make. Change 3277914 on 2017/01/30 by Matt.Kuhlenschmidt Fix Niagara slate style warning on startup Change 3278058 on 2017/01/30 by Matt.Kuhlenschmidt Fixed compile error Change 3278132 on 2017/01/30 by Nick.Darnell Fixed compile error Change 3278133 on 2017/01/30 by Matt.Kuhlenschmidt Fixed compile errors Change 3278186 on 2017/01/30 by Nick.Darnell Fixed compile error Change 3278525 on 2017/01/30 by Nick.Darnell Fixed compile error Change 3278534 on 2017/01/30 by Nick.Darnell Automation - Clearing up several warnings/errors with automation results, trying to get Automation Tests to at least yellow before integration. Change 3278941 on 2017/01/31 by Nick.Darnell Fixing a build warning due to build team refactor. Change 3278949 on 2017/01/31 by Nick.Darnell Fixing incrmenetal build issues. Change 3278953 on 2017/01/31 by Nick.Darnell Fixing some incrmental linux build issues. Change 3278964 on 2017/01/31 by Nick.Darnell FIxing more incremental build issues. Change 3279256 on 2017/01/31 by Michael.Dupuis #jira UE-41319 #jira UE-41315 #jira UE-41316 Instead of getting the Landscape Actor, call GetLandscapeProxy so all case are handled, either proxy or landscape actor Change 3279270 on 2017/01/31 by Chad.Garyet re-updating the automation test pool [CL 3279775 by Matt Kuhlenschmidt in Main branch]
2017-01-31 15:22:49 -05:00
const ESlateDrawEffect DrawEffects = bEnabled ? ESlateDrawEffect::None : ESlateDrawEffect::DisabledEffect;
TRange<double> LocalViewRange = GetViewRange();
FScrubRangeToScreen RangeToScreen( LocalViewRange, AllottedGeometry.Size );
if (Args.PlaybackRangeArgs.IsSet())
{
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3178529) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3149443 on 2016/10/03 by Max.Preussner MediaAssets: Better parameter names for MediaPlayer BP functions Change 3149756 on 2016/10/03 by Max.Chen Sequence Recorder: Set some settings to be clamped at 0 (sequence length, recording delay, audio gain, audio input buffer size, nearby actor recording proximity) #jira UE-35233 Change 3149795 on 2016/10/03 by Max.Chen Curve Editor: Set tangent to user when flattening or straightening tangents only when the tangent mode is auto and the interp mode is cubic. #jira UE-36734 Change 3150378 on 2016/10/04 by Max.Preussner PS4Media: Made video buffer sizes for file and HLS sources configurable (UE-36807) #jira UE-36807 Change 3151414 on 2016/10/05 by Max.Chen Sequencer: Fix case where restoring the last view target was getting skipped. It should always restore if the camera object and the unlock if camera actor object is null. #jira UE-35285 Change 3152038 on 2016/10/05 by Max.Preussner UdpMessaging: Code & documentation modernization pass Change 3152471 on 2016/10/05 by Max.Chen Cine Camera: Don't enable/disable actor ticking based soley on actor tracking since actor ticking is needed for other purposes. Instead, always enable actor ticking and only update actor tracking on tick if necessary. This fixes a bug where the cine camera actor won't tick if you hook in event tick. #jira UE-36625 Change 3152692 on 2016/10/05 by Max.Preussner Messaging: API code & documentation modernization pass Mostly removed shared pointer/ref typedefs as they prevent forward declarations and increase include complexity. Change 3153824 on 2016/10/06 by Max.Preussner Messaging: Renamed IConnectionBasedMessagingModule to ITcpMessagingModule and moved it into TcpMessaging I recommend that we refactor this API. The dependency should be reversed, i.e. instead of AndroidDeviceDiscovery depending on the TcpMessaging plug-in module, the Engine should provide a central registry that device discovery modules can notify, and that message transport plug-ins can register with and listen to OnConnectionAdded/Removed events etc. That way it supports an arbitrary number of transport plug-ins, and the Engine is not coupled to any of them. This functionality is not necessarily related to messaging, and the Messaging API is transport agnostic anyway. I'll think about this some more. Change 3153826 on 2016/10/06 by Max.Preussner Messaging: Removed remaining typedefs in IMessageTracer to enable forward declaration and reduce include dependencies Change 3153857 on 2016/10/06 by Max.Chen Sequencer: Set snap time to dragged key on by default. Change 3153980 on 2016/10/06 by Max.Preussner SessionServices: Removed typedefs; code and documentation modernization pass Change 3154313 on 2016/10/06 by Max.Chen Sequencer: Set the paste keys time to the current time, rather than the mouse time. Change 3154332 on 2016/10/06 by Max.Chen Sequencer: Remove click to rename shot functionality in the shot thumbnail. Added rename shot to the shot context menu. Change 3154377 on 2016/10/07 by Max.Chen Sequencer: Add ability to step to beginning and ends of sections/shots using the hotkeys: , and . Change 3154788 on 2016/10/07 by Max.Chen Sequencer: Fix offsets that created when moving multiple sections. The offsets were being created because section bounds were being generated for all sections except for the current section. Instead, they should be computed for all sections except for any that aren't being moved. #jira UE-29152 Change 3159274 on 2016/10/11 by Max.Preussner Core: Documentation fixes Change 3159275 on 2016/10/11 by Max.Preussner UdpMessaging: Added missing header Change 3160746 on 2016/10/12 by Max.Preussner MediaAssets: Added BP functions to query width, height, and aspect ratio of UMediaTexture instances #jira UE-37241 Change 3160975 on 2016/10/12 by Max.Preussner PS4Media: Better logging for SetRate failures Change 3160995 on 2016/10/12 by Max.Preussner MediaPlayerEditor: Fixed Media player selection is ignored if media specifies player overrides (UE-37248) #jira UE-37248 Change 3161066 on 2016/10/12 by Max.Preussner PS4Media: Enforcing minimum 8 byte alignment for media allocations Change 3161069 on 2016/10/12 by Max.Preussner PS4Media: Fixed log spam when setting play rate to current rate Change 3162567 on 2016/10/13 by Max.Preussner PS4Media: Made track switching code more readable Change 3163447 on 2016/10/14 by Max.Preussner PS4Media: Fixed array out of bounds assertions Change 3163772 on 2016/10/14 by Max.Preussner MfMedia: Fixed a number of timing related issues Change 3163980 on 2016/10/15 by Max.Chen Sequencer: Remove folder name numeric padding so that the naming convention is similar to creating objects in the level. Change 3164581 on 2016/10/17 by Andrew.Rodham Sequencer: Ensure global pre-animated state is restored in reverse order Change 3164582 on 2016/10/17 by Andrew.Rodham Sequencer: Ensure pre animated state is restored for all actor components before saving default state Change 3164583 on 2016/10/17 by Andrew.Rodham Sequencer: Re-enabled support for pre and post roll Change 3165464 on 2016/10/17 by Max.Chen Sequencer: Default number frame handles to 0 so that there's no change in behavior when rendering out a master sequence of shots. Handle frames need to enabled explicitly by the user. Copy from Release-4.14 #jira UE-37416 Change 3165483 on 2016/10/17 by Max.Chen Sequencer: Enable restore state for attach section completion Change 3165771 on 2016/10/18 by Andrew.Rodham Sequencer: Force evaluate when rendering thumbnails #jira UE-37321 Change 3166057 on 2016/10/18 by Andrew.Rodham Sequencer: Only set defaults for tracks that have no keys, and where the requested default has changed #jira UE-37285 Change 3166218 on 2016/10/18 by Max.Preussner MediaPlayerEditor: Failure opening media, even though it opened successfully (UE-37470) #jira UE-37470 Change 3166247 on 2016/10/18 by Max.Preussner WmfMedia: Showing progress bar while media is being resolved Change 3166289 on 2016/10/18 by Max.Preussner MfMedia: Showing progress bar while media is being resolved Change 3166993 on 2016/10/18 by Max.Preussner MfMedia: Fixed info string not reset on media close. Change 3166999 on 2016/10/19 by Max.Preussner Media: Fixed NV12 and NV21 support Change 3167008 on 2016/10/19 by Max.Preussner Media: Removed vertical NV12 alignment Change 3167029 on 2016/10/19 by Max.Preussner WmfMedia: Temp fix for RGB32 encoded AVIs rendering upside-down and too bright (UE-37505) #jira UE-37505 Change 3168593 on 2016/10/19 by Max.Chen Sequencer: Change paste at time to local time, so that the paste happens in the local time of the sequence rather than the global time if pasting in a shot level sequence. Change 3168626 on 2016/10/19 by Max.Chen Sequencer: Clamp to view bounds should snap to frame if frame snapping is on. Change 3168627 on 2016/10/19 by Max.Chen Sequencer: Initialize working and view range to be 10% larger than playback range. Change 3168760 on 2016/10/20 by Max.Preussner Media: Revamped media texture buffer management to support padded frames Added support for Windows bitmap buffers. Fixed a number of format, conversion and/or looping issues in WmfMedia and MfMedia. Not all shaders have been updated yet. Change 3169640 on 2016/10/20 by Max.Chen Sequencer: Add current camera to FLevelSequencePlayerSnapshot. Adjust DefaultBurnIn to include a few more parameters like focal length and focus distance. #jira UE-37407 Change 3170677 on 2016/10/21 by Max.Chen Movie Scene Capture: Add toggle to override engine scalability settings to cinematic scalability. #jira UE-36560 Change 3170710 on 2016/10/21 by Max.Preussner Media: Optimized handling of RGB input Change 3170712 on 2016/10/21 by Max.Preussner Media: Fixed NV21 conversion shader scaling Change 3170923 on 2016/10/21 by Max.Preussner UBT: Copied XboxOne project generator fix from Fortnite CL# 3170868 Change 3171494 on 2016/10/23 by Max.Chen Sequencer: Fix fbx export from master sequence not finding bound objects. #jira UE-35752 Change 3171506 on 2016/10/23 by Max.Chen Sequencer: Draw where in and out points of the shot section are, just like subsequences do. Change to only draw the green starting line if StartOffset is negative. #jira UE-35473 Change 3171743 on 2016/10/24 by Andrew.Rodham Editor: Added support for detail customizations on root structs - Also added the ability to add external struct data onto a detail category builder, and property type customization. Change 3171752 on 2016/10/24 by Andrew.Rodham Sequencer: Fixed spawnable ownership - Spawnables are no longer destroyed when the cursor leaves the master playback range. - Spawnable ownership now operates as it previously did before the evaluation rework. - bIgnoreOwnershipInEditor has been removed since its existence was a work around for when we didn't evaluate sub sequences from the master sequence. - FMovieSceneSequenceID is now a struct so that it can be used in array properties - Meta data now exists for each segment of an evaluation field. Currently this only includes the sub sequence IDs that exist at that time, but it may be expanded to include all evaluation entities (tracks + sections) in future so we don't have to calculate that at runtime. Change 3171756 on 2016/10/24 by Andrew.Rodham Sequencer: Added ability to trigger events with parameters - It's now possible to supply an event payload on event track keys which are to be passed to a given event. The structure must match the signature of the event, or a warning will be emitted. - Added a templated TGenericKeyArea, TKeyFrameManipulator and TCurveInterface that allow to generic manipulation of keyframe section data. In time we will port the other key areas over to this representation. - This new architecture affords the common manipulation of time-based keyframes in a value-agnostic manner. Change 3172935 on 2016/10/24 by Max.Preussner MediaPlayerEditor: Fixed MediaPlayer asset not being dirtied when creating media sound wave or texture for it Change 3173947 on 2016/10/25 by Max.Preussner SlateRemote: Disabled plug-in, but enabled server by default Change 3174510 on 2016/10/26 by Max.Chen Sequencer: Fix slomo track crash #jira UE-37802 Change 3174698 on 2016/10/26 by Andrew.Rodham UMG: Fixed objects bound to a panel slot animating their slot's content instead of the slot itself #jira UE-37775 Change 3174780 on 2016/10/26 by Max.Preussner MediaAssets: Accepting decoder defined buffer dimensions for RGB buffers Change 3174789 on 2016/10/26 by Max.Preussner MediaPlayerEditor: Showing desired player name instead of current player name if no media loaded Change 3174817 on 2016/10/26 by Max.Preussner WmfMedia: Added support for Motion JPEG (MJPG) Change 3174825 on 2016/10/26 by Max.Preussner WmfMedia: Added support for non-RGB32 uncompressed formats Change 3174834 on 2016/10/26 by Max.Preussner MediaPlayerAssets: Allow pausing while buffering media Change 3174886 on 2016/10/26 by Andrew.Rodham Core: Fixed range test that was testing incorrect behavior Change 3174889 on 2016/10/26 by Andrew.Rodham Sequencer: Fixed AssignActor behavior - Also ensure that cached object state is invalidated when playback context changes #jira UE-37798 Change 3174905 on 2016/10/26 by Andrew.Rodham Sequencer: Changed assert when failing to create an audio component to a log message - Audio no longer plays when GEngine->UseSound() is false #jira UE-37772 Change 3174980 on 2016/10/26 by Andrew.Rodham Sequencer: Remove warning when event endpoint could not be found for a given context #jira UE-37824 Change 3175001 on 2016/10/26 by Andrew.Rodham Sequencer: Evaluate sequence with EMovieScenePlaybackStatus::Jumping on Pause. - Also protect Pause() against reentrancy when being called from an event Change 3175012 on 2016/10/26 by Max.Chen Sequence Recorder: Fixes an empty working and view range after recording. On StopRecording() update playback range after nullifying the current sequence so that the playback range isn't empty. Added SetViewRange and SetWorkingRange. #jira UE-34191 Change 3177760 on 2016/10/28 by Max.Chen Sequence Recorder: Don't update the current sequence name if it's already set. This fixes a bug where if you pass in a sequence name to record to, it gets reset to the name in the sequence recorder settings. #jira UE-37808 Change 3178529 on 2016/10/28 by Max.Chen Matinee to Level Sequence: Added interface to extend the matinee to level sequence converter #jira UE-37328 #2864 [CL 3178562 by Max Chen in Main branch]
2016-10-28 15:04:38 -04:00
FPaintPlaybackRangeArgs PaintArgs = Args.PlaybackRangeArgs.GetValue();
Copying //UE4/Dev-Editor to //UE4/Dev-Main (Source: //UE4/Dev-Editor @ 3497164) #lockdown Nick.Penwarden #rb none ===================================== MAJOR FEATURES + CHANGES ===================================== Change 3433074 by Matt.Kuhlenschmidt Fix crash when clicking on certian tutorial blueprints. #jira UE-44593 Change 3433075 by Matt.Kuhlenschmidt Remove hittest grid log spam. The underlying problem causing this has been fixed Change 3433077 by Matt.Kuhlenschmidt Fix lighting becoming unbuilt when mesh painting #jira UE-44837 Change 3433081 by Matt.Kuhlenschmidt PR #3553: Crashfix for static array properties (Contributed by Pierdek) Change 3433104 by Alexis.Matte Make sure re-import skeletal mesh follow the import morph option #jira UE-42846 Change 3434825 by Matt.Kuhlenschmidt Fix crash when GC happens while the vr editor radial menu is open. Change 3434831 by Matt.Kuhlenschmidt Added missing file Change 3434868 by Shaun.Kime If you have a reroute node between a Material Function texture input and its usage, the parent material will fail to resolve the reroute node. #jira ue-44670 Change 3434998 by Alexis.Matte Meshes editors material/section panel are now fully transactional - Staticmesh editor: section material slot, section cast shadow, section collision, material slot instance, material slot name - Skeletal mesh editor: material slot instance, material slot name Also fix some transaction description #jira UE-44462 Change 3435195 by Jamie.Dale Fixed incorrect handling of some LTR scripts that require shaping These scripts need to go through HarfBuzz, and this also fixes a case where HarfBuzz wasn't applying font scale correctly. #jira UE-44767 Change 3435199 by Jamie.Dale Fixed some crashes/artifacts with bidirectional text It was possible for a line to compute an incorrect range, which could cause crashes or other highlighting issues. The highlighting logic has also been updated as the old code didn't handle all bidirectional cases correctly. Change 3435200 by Jamie.Dale Fixed a grapheme cluster metrics issue in the font editor viewport The viewport also now respects the default shaping method CVar. Change 3435771 by Alexis.Matte Fix degenerated bounds calculation for skeletalmesh when the skeleton is remove from a re-import (PhysicAsset API change, adding 1 function) #jira UE-44609 Change 3436856 by Jamie.Dale Added some missing Unicode block ranges Change 3436914 by Jamie.Dale Adding some missing combining character ranges to the text shaper Change 3436923 by Alexis.Matte PR #3463: Get bounds for all triangles, not just the first one. WedgeIndex was . (Contributed by DaveC79) #jira UE-43764 Change 3436948 by Jamie.Dale Updated the Portal to use the predefined Unicode block ranges Change 3436961 by Max.Chen Sequencer: Show camera shake/anim track menus even if there aren't any assets. Change 3437244 by Max.Chen Sequencer: Clear locked cameras when releasing Sequencer. #jira UE-44967 Change 3437515 by Arciel.Rekman UBT: improvements for LocalExecutor. - Larger number of parallel jobs on 16GB+ machines. - Use WaitForExit() instead of polling. - Tested on Linux and Mac. Change 3437629 by Matt.Kuhlenschmidt Improve asset import data display in static and skeletal meshes Change 3438047 by Arciel.Rekman Fix overlapping ranges being passed to memcpy(). Change 3438822 by Yannick.Lange ViewportInteraction: Move gizmo handle files to make them private. Change 3438906 by Matt.Kuhlenschmidt PR #3556: Git Plugin: fix new option "init Git LFS" that make assets read-only (master/UE4.17) (Contributed by SRombauts) Change 3438907 by Matt.Kuhlenschmidt PR #3565: add -quality option to buildlighing commandlet (Contributed by kayama-shift) Change 3438908 by Matt.Kuhlenschmidt PR #3558: UE-44862: Always update SColorPicker color on OK button (Contributed by projectgheist) Change 3439393 by Matt.Kuhlenschmidt Force highest LOD for highres screenshots Change 3439819 by Matt.Kuhlenschmidt Turned FAssetData into a struct for some upcoming script exposure of FAssetData Change 3439949 by Arciel.Rekman Fixed selection logic for the UE4_LINUX_USE_LIBCXX environment variable. - Allows disabling libc++ by setting the variable to 0. - Pull request #3576 contributed by jared-improbable. Change 3441078 by Jamie.Dale The culture/language/locale console commands are now available in all build configs Change 3441109 by Jamie.Dale Text containing surrogate pairs now runs through HarfBuzz when shaping in Auto mode This is needed as the kerning-only shaping code assumes that everything is within the BMP Change 3441275 by Matt.Kuhlenschmidt Disable spinning on location and scale. These dont work because we have no notion of infinite spinning Change 3442748 by Yannick.Lange ViewportInteraction: Remove unused console variables. Change 3442775 by James.Golding Add support for editing MaterialFunctions to MaterialEditingLibrary Pull Material recompile/update code into UMaterialEditingLibrary::RecompileMaterial Pull MaterialFunction update code into UMaterialEditingLibrary::UpdateMaterialFunction util Move RebuildMaterialInstanceEditors to UMaterialEditingLibrary Added test content for Material/MaterialFunction editing Add needed BlueprintReadWrite to expressions (constants, function input/output) Expose UMaterialExpressionMaterialFunctionCall::SetMaterialFunction to BP, rename old func (which takes old function) to SetMaterialFunctionEx, also expose GetInputNameWithType Change 3442779 by James.Golding Fix header order Change 3442817 by Yannick.Lange ViewportInteraction: Add can execute checks for level editor commands. Change 3443038 by Michael.Dupuis #jira UE-43377: When you select a foliage actor we will move all instance contained in it to the new level as we can't move a foliage actor Only permit moving foliage instance if there is some selected Change 3443855 by Michael.Dupuis #jira UE-44885: Unregister from PerModuleDataObjects when the object is destroyed Change 3446096 by Max.Chen Sequencer: Add OnFinished() event when a level sequence completes playback #jira UE-45173 Change 3446097 by Max.Chen Sequencer: Evaluate one last time before the sequence is torn down and reset #jira UE-45174 Change 3446242 by Jamie.Dale Fixed caret not appearing in empty text layouts Caret selections have no range, and therefore have no width Change 3446361 by Matt.Kuhlenschmidt Fix WITH_EDITOR only functions causing generated code compile errors when the all functions on the class are WITH_EDITOR Change 3446457 by Alexis.Matte Polish the speed tree import dialog #jira UE-44963 Change 3446946 by Michael.Trepka Modified FWindowsWindow::GetRestoredDimensions to return correct window position for normal windows for which GetWindowPlacement returns position in workspace coordinates #jira UE-37934 Change 3447543 by Arciel.Rekman Reduce VMAs on Linux. - Trades off increased address space (VIRT in terms of ps/htop) for smaller number of distinct mappings (VMAs, virtual memory areas). This decreases possibility to run into vm.max_map_count limit on Linux. - Tested on Linux and Mac. Change 3448468 by Arciel.Rekman Fix race condition during creation of GMalloc. - On Mac GMalloc can be created on two different thread that are racing with each other - app's main thread and a system thread. Change 3449012 by Max.Chen Sequencer: Add time to transform, color and vector key structs so that key times are editable from the key editors. #jira UE-45089 Change 3449018 by Max.Chen Sequencer: Add OnCameraCut event that fires when there is a camera cut. #jira UE-45137 Change 3449195 by Max.Chen Sequencer: Add setting for limit scrubbing to playback range. #jira UE-43502 Change 3449198 by Max.Chen Sequencer: Reorder hierarchical bias so that group priority takes precedence. Change 3449217 by Max.Chen Sequencer: Add setting to activate realtime viewports when in sequencer. Change 3449219 by Max.Chen Sequencer: Focus on search boxes when opened. Change 3449238 by Max.Chen Sequencer: Assign actor should replace the actor itself after it has updated all the components. Also, replace components be fullname rather than by class. Change 3449239 by Max.Chen Sequencer: Fix offsets when moving multiple sections. Dragging should be clamped to the bounds that any of the selected sections hits against the unselected sections. Change 3449241 by Max.Chen Sequencer: Restore section selection after full tree rebuild. Change 3449279 by Max.Chen Sequencer: Set movie scene capture frames only when not using custom frames. This allows the user entered frame numbers to persist in config, rather than overwriting them when doing a "Render Shot" Change 3449280 by Max.Chen Sequencer: Spawn in the persistent level. Otherwise, they get spawned into whatever sublevel is current. #jira UE-44552 Change 3449294 by Max.Chen Sequencer: Null check for sequencer ed mode crash. Change 3449297 by Max.Chen Sequencer: Fix delay in sliding values. Mark changed when sliding values. Mark refresh immediately when committing values since OnValueChanged will be called and needs to have the correct value that was refreshed immediately. #jira UE-42866 Change 3449542 by Max.Chen Sequencer: Fix scrubber hit testing so that the time scrubber is really favored over the playback ranges. #jira UE-44569 Change 3451507 by Matt.Kuhlenschmidt Fix extra slate uv coords not functioning on ES2 Change 3451510 by Matt.Kuhlenschmidt PR #3595: Fixed wrong colour for level status (Contributed by ronve) Change 3451529 by Alexis.Matte fbx scene importer: Make sure we set INVALID_UNIQUE_ID to node that has no attribute. #jira UE-34410 Change 3451611 by Yannick.Lange ViewportInteraction: Dragging gizmo without second pass for snapped calculations. Change 3452134 by Jamie.Dale Fixed constant font cache flushing if a widget had no font set Change 3452239 by Jamie.Dale Fixed constant font measure flushing if a widget had no font set Change 3452243 by Jamie.Dale Removed deprecated code for creating fonts from bulk data Change 3452277 by Jamie.Dale The concept of "stale" composite fonts is now editor-only Change 3452358 by Alexis.Matte Fbx scene importer: Do not remove existing attribute reference from the blueprint if the reimport of the associate mesh attribute is not tick. #jira UE-45232 Change 3452678 by Max.Chen Sequencer: Fix crash on export if there's no shot data. Change 3453057 by Matt.Kuhlenschmidt Exposed asset exporting to script Change 3453782 by Andrew.Rodham Sequencer: Fixed deterministic cooking issues with movie scene data - Movie scene signatures are now initialized in PostInitProperties - A warning is now presented when attempting to cook old data that was never serialized with a signature. - Removed redundant legacy data upgrade logic that could dirty level sequences on load. #jira UE-44912 Change 3453788 by Yannick.Lange ViewportInteraction: Custom scene proxy for gizmo handles. Change 3453938 by Max.Chen Sequencer: Hotkeys (shift , and shift .) to step to next/previous shot #jira UE-45119 Change 3454058 by Michael.Dupuis Fixed StaticAnalysis Change 3454077 by Max.Chen Sequencer: Fix not saving the pre-animated track value when creating a track/key. On pre object change, broadcast property change so that a track or key can be created. That track/key needs to be evaluated immediately so that the pre-animated state can be saved properly. This is done now with RefreshAllImmediately and is only called when a track has been created. Also, added a return value for OnKeyProperty, so that it's known what changed in particular (ie. track created, track modified, etc) Also, fixed transform keying so that if a transform track already exists for the object or the scene component, the existing track is used. #jira UE-45130 Change 3454108 by Nick.Darnell UMG - Fixing the WIC to properly record cursor delta so that scrollbars work. Change 3454109 by Jamie.Dale Cache the text layout source info in non-shipping builds so you can inspect it in the debugger Change 3454202 by Matt.Kuhlenschmidt Fix bogus error message about the number of usable texture coordinates on ES2 when compiling a UI domain material Change 3454390 by Yannick.Lange Fix creating a plugin in a C++ project opens a second instance of Visual Studio. Use SourceCodeAccessor to open solution when necessary. #jira UE-45035 Change 3454564 by Matt.Kuhlenschmidt #rnx Fix deprecation warnings Change 3455471 by Yannick.Lange ViewportInteraction: Fix entering and exiting VR Mode disables gizmo in desktop editor viewport. #jira UE-44965 Change 3456183 by Max.Chen Sequencer: Auto key, auto track refactor. Auto key - create a key when the property changes and there's an existing track. Auto track - create a track when the property changes. This is only exposed in the level sequence editor. All - create a key and a track when the property changes. This is only exposed in VR Editor. None - do nothing. #jira UE-43469 Change 3456349 by Andrew.Rodham Sequencer: Only perform legacy signature checks on instances, and only where signatures match the CDO Change 3456678 by Alexis.Matte Allow to add null level instance override material via the advance material array. But still limit the override material number to the mesh material number. #jira UE-45306 Change 3456945 by Max.Chen UMG: Add restore state to 2d transform section. #jira UE-45372 Change 3457196 by Arciel.Rekman Linux: serialize allocations from the memory pool. Change 3458434 by Max.Chen Sequencer: Remove obsolete set tick prerequites functions. Change 3458671 by James.Golding Added MIC editing support to MaterialEditingLibrary Fix static analysis warning Change 3458888 by Matt.Kuhlenschmidt PR #3615: More detailed log messages for debugging warnings/errors (Contributed by projectgheist) Change 3458893 by Matt.Kuhlenschmidt PR #3583: UE-44960: Delta value wasn't being used (Contributed by projectgheist) Change 3458895 by Matt.Kuhlenschmidt Fix typo Change 3458902 by Matt.Kuhlenschmidt PR #3607: Improved InputKeySelector functionality (Contributed by projectgheist) Change 3458917 by Matt.Kuhlenschmidt Fix crash with invalid object properties in the class picker #jira UE-39000 Change 3458939 by Matt.Kuhlenschmidt Fix compile error Change 3458984 by andrew.porter QAGame: Initial check in of sequencer smoke test map Change 3459510 by Matt.Kuhlenschmidt Fixed ensure when deleting a map that contains build data which also happens to be the currently loaded map. #jira UE-45052 Change 3460985 by Max.Chen Sequencer: Snap play time to keys now allows scrubbing between keys and snaps to key times within a certain screenspace tolerance. #jira UE-45090 Change 3461698 by Arciel.Rekman Avoid using ARRAY_COUNT in Vulkan. - Sometimes those arrays can have no extensions whatsoever, and it is illegal to declare a 0 element C array. Change 3462053 by Max.Chen Sequencer: Show sequencer spawnables in the world outliner and add the icon overlay for spawnables. #jira UE-43470 Change 3462139 by Max.Chen Property Editor: Add objects to FPropertyAndParent Change 3462202 by Arciel.Rekman Fix FSocket::Recv() blocking with Peek when there's no data. Change 3462253 by Nick.Darnell Slate - New Clipping System Clipping is now a stateful choice made during composition of the slate hierarchy. Previously every widget got to respect or modify the clipping rect on an as needed basis. The problem was that clipping was only allowed in the layout space of the widget, and it wasn't possible to properly clip elements with render transforms. The new system permits all kinds of transforms on any widget, and they will all be clipped correctly. It tries to use Scissor Rects as they are much cheaper, but will switch over to stenciling if need be to represent a complicated masking structure with several rotated clipping rects all needed to be combined together. Here are the new clipping states a widget can have, almost all widgets are set to No. Only change it from No if your widget actually needs to clip, generally speaking most widgets don't need to clip. /** * This widget does not clip children, it and all children inherit the clipping area of the last widget that clipped. */ Inherit, /** * This widget clips content the bounds of this widget. It intersects those bounds with any previous clipping area. */ ClipToBounds, /** * This widget clips to its bounds. It does NOT intersect with any existing clipping geometry, it pushes a new clipping * state. Effectively allowing it to render outside the bounds of hierarchy that does clip. * * NOTE: This will NOT allow you ignore the clipping zone that is set to [Yes - Always]. */ ClipToBoundsWithoutIntersecting UMETA(DisplayName = "Yes - Without Intersecting (Advanced)"), /** * This widget clips to its bounds. It intersects those bounds with any previous clipping area. * * NOTE: This clipping area can NOT be ignored, it will always clip children. Useful for hard barriers * in the UI where you never want animations or other effects to break this region. */ ClipToBoundsAlways UMETA(DisplayName = "Yes - Always (Advanced)"), /** * This widget clips to its bounds when it's Desired Size is larger than the allocated geometry * the widget is given. If that occurs, it behaves like [Yes]. * * NOTE: This mode was primarily added for Text, which is often placed into containers that eventually * are resized to not be able to support the length of the text. So rather than needing to tag every * container that could contain text with [Yes], which would result in almost no batching, this mode * was added to dynamically adjust the clipping if needed. The reason not every panel is set to OnDemand, * is because not every panel returns a Desired Size that matches what it plans to render at. */ OnDemand UMETA(DisplayName = "On Demand (Advanced)") - Large API Change - All FSlateDrawElement::Make_____ calls have been deprecated that involved passing in a clipping rect. You no longer should are passed a Clipping rect via OnPaint. You are still passed a rect, but this rect represents a Culling Rect, which is valuable if you need to just out right not paint things the user can't possibly see. If you were previously trying to determine if you should cull widgets, by doing something like this, if ( FSlateRect::DoRectanglesIntersect(MyClippingRect, CurWidget.Geometry.GetRenderBoundingRect()) ) That's no longer a good option since there are ways for widgets to ignore the culling bounds. You should convert anything like above to the one below, if (!SWidget::IsWidgetCulled(MyCullingRect, CurWidget)) To assist in debugging efforts, there are several new debugging console flags in Slate, Slate.ShowClipping 1 - Controls whether we should render a clipping zone outline. Yellow = Axis Scissor Rect Clipping (cheap). Red = Stencil Clipping (expensive). Slate.DebugCulling 1 - Disables pushing clipping or stencil rects to the GPU, but continues to intersect culling rects, so that you can tell if a widget is properly culling children it can't possibly draw. Slate.ShowTextDebugging 1 - Show debugging painting for text rendering. I've added a new Experimental Feathering Option, it adds AA geometry around the outside of Box and Image brushes. Slate.Feathering 1 If you're using RenderDoc or something similar, you can now enable render events for slate, so that you can better grok how we're batching and changing states for each UI render pass. Slate.EnableDrawEvents 1 #jira UE-4659 #rn Change 3462714 by Nick.Darnell Fixing a few more compiler issues with the clipping changes. Change 3462726 by Max.Chen Switch OnEditStructChildContentsChanged to use FObjectWriter instead of FMemoryWriter which supports serializeing UObjects. This fixes a crash when adding actor array elements to a user defined event struct. #jira UE-45431 Change 3462801 by Nick.Darnell Adding a UMG dependency to EngineTestBuild. Change 3462914 by Max.Chen Sequencer: Fix regression where spawnables aren't getting saved. Caused by 3407138 #jira UE-30007 #jira UE-39003 Change 3462946 by Nick.Darnell Automation - Tweaking the UI automation tests converting them over to use the new UI Screenshot automation test. Automation - Adding a blur widget test. Change 3462987 by Matt.Kuhlenschmidt Back out changelist 3458893 Change 3464774 by Matt.Kuhlenschmidt PR #3629: Bugfix: Missing small icon in Project Launcher profile editor (Contributed by aarmbruster) Change 3464785 by Nick.Darnell Fixing some clipping stuff in the editor. Change 3464830 by andrew.porter QAGame: Second pass on sequencer smoke test map Change 3464902 by Nick.Darnell Loading - Adding some additional checks to the the loading code to ensure we're on the main thread. Additionally adding a fix from UDN that prevents deadlocks in the rare case a user hits Alt+Tab in a fullscreen game while in a hard loading screen. Change 3464988 by Max.Chen Sequencer: Add attenuation settings for attached audio components. #jira UE-33080 Change 3465024 by Nick.Darnell MoviePlayer - Impoving the playback mode displaynames. Change 3465074 by Arciel.Rekman Fix shadowing issues of GraphicsPSOInit. Change 3465097 by Matt.Kuhlenschmidt Some refactoring of the details panel Exposed new methods of adding a struct on scope to a details panel and have it work properly with customizations. The scruct on scope has a "fake" ustructproperty that allows the details panel to show the whole struct not just an individual property. Refactored the API for adding rows to details panels to make it more consistent\ AddChildCustomBuilder->AddCustomBuilder AddChildGroup->AddGroup AddChildContent->AddCustomRow AddChildPropert->AddProperty AddChildStructure->AddExternalStructureProperty AddStructure->AddAllExternalStructureProperties AddExternalProperty->AddExternalObjectProperty or AddExternalStructureProperty Change 3465186 by Max.Chen Sequencer: Save the BindingID in the pre animated token producer so that it can be destroyed properly. This fixes a bug where the default state of a spawnable isn't saved. #jira UE-43780 Change 3465315 by Matt.Kuhlenschmidt Fix Fortnite and Orion details panel customization warnings Change 3465424 by Nick.Darnell Automation - Moving the step for setting the link to the automation reports to be set before we start the engine. Change 3465488 by Nick.Darnell Automation - Forcing textures to load before taking screenshot, so that the scene gets another opportunity to render before we render with Slate. This should fix the Blur UI Test. Change 3466277 by Arciel.Rekman Linux: fix window drift when dragging (UE-40380). - Change by Cengiz Terzibas. Change 3466370 by Nick.Darnell UMG - Fixing the colors for the resize handle in the designer. Change 3466372 by Nick.Darnell UMG - Fixing the ruler ticks sometimes not being drawn. Change 3466374 by Nick.Darnell UMG - Fixing the designer showing multiple options for sequencer. Change 3466377 by Nick.Darnell UMG - Cleaning up some clipping bits. Change 3467025 by Andrew.Rodham Re-saving assets that contain legacy (<4.15) movie scene data to remove deterministic cook warning. If conflicts arise during merging of these assets, please ignore the changes made in dev-editor, and accept game-side changes. (CIS step 62283298, jobId 7773146) (CIS step 62283297, jobId 7773146) Change 3467099 by Max.Chen Fix GetObjectPropertyClass ensure logic. This was returning UObject::StaticClass when valid. Change 3467172 by Max.Chen Sequencer: Evaluation optimizations. Also, fixes subsequences not getting expired, leaving dangling spawnables. #jira UE-43690 Change 3467192 by Matt.Kuhlenschmidt Fix transactions getting stuck in the color grading controls. This prevents PIE from working properly and causes shutdown crashes #jira UE-45527 Change 3467251 by Yannick.Lange ViewportInteraction: Fix scale and rotation snap while dragging with two lasers. #jira UE-43489 Change 3467331 by Matt.Kuhlenschmidt Fix D3D shader compiler hard coding shader path and not giving proper warnings when it cannot find the shaders Change 3467335 by Matt.Kuhlenschmidt Remove DarkStyle attribute from SNumericEntryBox and allow a spin box style to be passed to it. Change 3467558 by Max.Chen Scene Outliner: Generic support to add default columns to a scene outliner. Change 3467565 by Jamie.Dale Removing old screenshot data for test Change 3467589 by Nick.Darnell Editor - Random cleanup. Change 3467596 by Nick.Darnell Progress Bar - Exposing Border Padding to UMG. Change 3467600 by Nick.Darnell Slate - Adjusting the rendering of the splitter, previously it could be off by a pixel or two, which becomes more apparent now with the clipping changes. Change 3467601 by Max.Chen Property Editor: Fix static analysis warning Change 3467662 by Nick.Darnell Automation - Fixing a bug with the screenshot comparison tool not replacing (removing) the old screenshot data. Change 3467674 by Max.Chen Property Editor: Fix static analysis warning Change 3467737 by Max.Chen Sequencer: Added OnMovieSceneBindingsChanged delegate Change 3468053 by tim.gautier QAGame: Updating Editor Smoke Map - Updated landscapes into Stations for testing - Added Foliage Sublevel Change 3468194 by Arciel.Rekman Linux: fix problems communicating with various STL-using libs. - Stop hiding global new/delete signatures. - Disable CEF3 since this change uncovers the problem with libcef.so not built to use bundled libpng. Change 3468678 by Max.Chen Sequencer: Set "Sequencer Actor" tag before setting the actor label so that the outliner refreshes after the actor has the tag. Change 3469314 by tim.gautier QAGame: Added Painted Foliage / Spline section to EditorSmoke map Change 3469377 by Nick.Darnell Slate - Fixing some warnings in a couple of sample games due to the clipping changes. #rnx Change 3469767 by Max.Chen Sequencer: Outliner column and sequencer binding data #jira UE-43470 Change 3469974 by Arciel.Rekman Fix code projects not working in Linux installed build. Change 3470082 by Nick.Darnell Slate - The GetRenderer() call on SlateApplication no longer returns a SharedPtr, rather than convert it to a thread safe ptr, going to just make accessing it a raw ptr return, so it can be safely referenced on the game thread while being used on the slate loading thread. Change 3470174 by Nick.Darnell Slate - Get the last widget in a widget path utility. Change 3470176 by Nick.Darnell UMG - User Widgets now have an easy way to know if they're part of or have been removed from the focused widget path, which is handy for doing effects. Change 3470261 by Nick.Darnell Slate - The GetRenderer() call on SlateApplication no longer returns a SharedPtr, rather than convert it to a thread safe ptr, going to just make accessing it a raw ptr return, so it can be safely referenced on the game thread while being used on the slate loading thread. Change 3470286 by Max.Chen Sequencer: Scene Component's HiddenInGame now goes through the VisibilityTrack and the visibility template. Change 3470366 by Nick.Darnell Slate - We now version focus per user, that way during focus events, we can safely abort focus events and state transitions if someone interrrupts the active focus event with something new. Change 3470649 by Matt.Kuhlenschmidt Fix deprecation warnings Change 3470695 by Matt.Kuhlenschmidt Fixed typo #jira UE-45580 Change 3470721 by Matt.Kuhlenschmidt Fix static analysis Change 3471254 by Michael.Dupuis #jira UE-42952: Keep occlusion result per view Change 3471287 by Nick.Darnell UMG - Render Focus Rule now defaults to never. Change 3471291 by Nick.Darnell Slate - Fixing FSlateRenderer* change fallout. Change 3471299 by Nick.Darnell Slate - Fixing FSlateRenderer* change. Change 3471323 by Nick.Darnell Automation - Fixing automation and Static Analysis warning. Change 3471413 by andrew.porter QAGame: Added test content for anim blending and material parameteres to sequencer smoke level Change 3471649 by Max.Chen Sequencer: Modify the track when adding animation #jira UE-45618 Change 3471659 by Matt.Kuhlenschmidt Added a way to check if a movie is playing from the engine. Prevented viewport redraws for canvas loading screens if a slate based loading movie is playing Change 3471734 by Matt.Kuhlenschmidt Added basic material hookup to USD. Similar to FBX it will find materials based on rules specified by the user in the import settings Change 3472176 by Nick.Darnell UMG - Improving the display of the +Track menu in sequencer for UMG. Renamed it from +Add, which is repetitve to +Track. Additionally, the dropdown now shows the currently selected widgets, as well as a submenu containing all the 'important' widgets, so we no longer populate that list with a ton of irrelevant widgets that are just Buton_1 - N, which is pointless in showing people, they'll never guess which is the right button. Change 3472740 by Max.Chen Sequencer: Add GetThisFrameMetaData accessor Change 3472748 by Max.Chen Sequencer: Added OnBeginScrubbing and OnEndScrubbing event delegates Change 3472753 by Max.Chen Sequencer: Add EMovieSceneDataChangeType parameter to OnMovieSceneDataChanged delegate Change 3472870 by Nick.Darnell Clipping - Fixing the deprecated tip for scissor rect boxes to be correct. Removing it's usage from UT. Change 3473340 by Max.Chen Scene Outliner: Add ability to register additional filters Change 3473348 by Max.Chen Details View: Make ForceRefresh virtual. Added accessors to delegates (ie. GetIsPropertyReadOnlyDelegate) Change 3473441 by Max.Chen Sequencer: Autokey Refactor Part 2. Autokey is now a single toggleable state. Allow Edits Mode has 3 states: Allow All Edits - Allow any edits to occur, some of which may produce tracks/keys or modify default properties. Allow Sequencer Edits Only - All edits will produce either a track or a key. Allow Level Edits Only - Properties in the details panel will be disabled if they have a track. #jira UE-45229 Change 3473670 by Nick.Darnell Modules - The module manager no longer returns sharedptrs to IModuleInterfaces, this was the source of rare hard to track down crashes due to a shared ptr reference leak when GetModule was called on non-main threads. We now store a TUniquePtr internally, and only lease out raw pointers. #rn Change 3473711 by Nick.Darnell Disabling the ensure in the module manager. Change 3473747 by Max.Chen Sequencer: Fix tooltip Change 3474091 by Jamie.Dale Added a warning when cooking a UFontFace that is outered to a UFont asset These cause issues with iterative COTF, and should be split off into their own assets (as the UI has been asking people to do for several versions) Change 3475052 by Yannick.Lange VR Editor: Fix Crash when quitting the editor with VR Mode enabled. VR Editor was being enabled when saving the map on closing the editor. #jira UE-45415 Change 3475054 by Yannick.Lange Fix crash when adding a camera to the world in VR Mode the second time. The slate application did not reset when stop dragging in VR Mode, so the second time when starting to drag a camera out of the UI it would already by in a dragging state. #jira UE-45574 Change 3475263 by Nick.Darnell Fixing some additional cases of IModuleInteface SharedPtr usage. Change 3475268 by Max.Chen Sequencer: Set jumped state when looping playback. This fixes an issue where audio doesn't stop and restart when looped. #jira UE-45654 Change 3475269 by Max.Chen Scene Outliner: Additional filters should only apply to actor browsing mode Change 3475407 by Nick.Darnell Fixing some clipping / module shared ptr changes in the launcher code. Change 3475542 by Max.Chen Sequencer: Update thumbnail and section highlighting to use new clipping behavior. #jira UE-45692 #jira UE-45689 Change 3475743 by Michael.Dupuis #jira UE-45183: When updating phyx region take into account simple collision mip Change 3475949 by Arciel.Rekman Remove PhysX deoptimization (no longer needed). - OR-24947 has been closed three months ago. Change 3476022 by Michael.Dupuis #jira UE-45560: Make sure we're not going out of range Change 3476063 by Michael.Dupuis #jira UE-45562: Do not try to unregister from static mesh if no static mesh is specified for the component Change 3476168 by Michael.Trepka Added handling of directory symlinks to FApplePlatformFile::IterateDirectory #jira UE-43704 Change 3476172 by Nick.Darnell Fixing a Imoduleinterface change. Change 3476183 by Jamie.Dale Exposing GoTo/ScrollTo to single-line editable text for API parity with multi-line editable text Change 3476385 by Arciel.Rekman Linux: handle symlinks when iterating directories. Change 3476522 by Michael.Trepka Solved a problem with Mac FMallocTBB::Malloc() returning nullptr for 0 bytes allocations, which is inconsistent with other platforms. On Mac we always scalable_aligned_malloc, which behaves differently than scalable_malloc, so for 0 bytes requests we allocate sizeof(size_t), which is exactly what scalable_malloc does internally in such case. Change 3476806 by Nick.Darnell UMG - Focus the designer after dropping a widget onto the surface. Change 3476809 by Nick.Darnell Curve Editor - Enable Clipping on the curve editor. Change 3477475 by Nick.Darnell Fixing a module interface shared ptr usage in UT. Change 3477553 by Yannick.Lange VR Editor: Removed AssetEditorPanelID and replaced it with TabManagerPanelID. A panel for AssetEditorPanelID was never created making it impossible to open an asset editor. Change 3477734 by Yannick.Lange VR Editor: Fix Warning: SetRelativeScale3D : Invalid Scale entered (X=inf Y=inf Z=inf). Resetting to 1.f. warning when adding CineCameraActor to World from Modes Panel. Make sure to not divide by zero when there is no boundary scale. #jira UE-44933 Change 3477761 by Jamie.Dale Some improvements to avoid loading the native .locres files twice when we don't need to Change 3477780 by Nick.Darnell PR #3250: Return correct VirtualUserIndex (Contributed by projectgheist) Change 3477786 by Nick.Darnell PR #3650: Changed TestNull to accept const pointers. (Contributed by e-agaubatz) Change 3477795 by Nick.Darnell PR #2844: UE-36936: Don't stretch container for Plugin Image (Contributed by projectgheist) Change 3478092 by Nick.Darnell PR #2341: Optional Middle Mouse Button panning in Graph Editor (Contributed by flipswitchingmonkey) Engine Edit - Made some small changes to the enum type, and some naming. Change 3478450 by Nick.Darnell Fixing some uninitialized variable errors. Change 3479827 by Andrew.Rodham Sequencer: Addressed serialization issues with some struct types Change 3479874 by Jamie.Dale Fixed "NativeGameLanguage" not being used correctly during localization initialization Change 3480012 by Andrew.Rodham Sequencer: Fixed loading tagged properties as native for track identifiers #jira UE-45823 Change 3480337 by Alexis.Matte Fix morph target crash missing some valid index check Change 3480804 by Alexis.Matte Fix crash with ColorGradingMode custom detail #jira UE-45638 Change 3480892 by Andrew.Rodham Sequencer: Ensure that movie scene sequences know about the editor object version #jira UE-45842 Change 3481073 by Nick.Darnell Fix the shader compiler error from main in Slate. Change 3481303 by Nick.Darnell UMG - Fixing a bug with the drag handle not working correctly in HDPI mode. Change 3481308 by Nick.Darnell Slate - Tweaking the IsWidgetCulled logic to consider both the layout and rendering bounds. If we do this, we get a much more desireable outcome for people that want to animate widgets and such and plan to have temporary animations to move the widget offscreen, but want the layout bounds to anchor that widget in the visible frame so that it animates even when normally it would be culled b/c the render transform and therefore the renderbounds moved it completely outside the culling rect. Change 3481629 by Max.Chen Sequencer: Add Level Sequence Actor as an output for CreateLevelSequencePlayer() #jira UE-45785 Change 3481899 by Yannick.Lange VR Editor: Added debug modetoggle command with an event that is broadcasted whenever this happens. Currently this is used to show all the floating UIs of the UI system to debug without HMD using VREd.ForceVRMode. Change 3481984 by Michael.Dupuis #jira UE-45845: always validate if we have a static mesh before trying to access it as user can decide to not assign one and use the tools Change 3482047 by Nick.Darnell Slate - Adding some comments to IsWidgetCulled. Change 3482110 by Nick.Darnell Slate - IsWidgetCulled is no longer static and is now called IsChildWidgetCulled. Change 3482136 by Jamie.Dale The CamelCase break iterator now treats digits around character tokens as part of the identifier Change 3482138 by Michael.Dupuis #jira UE-45854: Properly unregister during undo operation Change 3482150 by Michael.Dupuis #jira UE-45845 : Add missing nullcheck for GetStaticMesh Change 3482153 by Nick.Darnell Slate - IsWidgetCulled is no longer static and is now called IsChildWidgetCulled. Change 3482180 by Nick.Darnell UMG - Widget Components do not need to define a widget class to be rendererd, they can have native slate widgets only. This was a regression from main. Change 3482273 by Nick.Darnell UMG - Tweaking some more things about the widget component box outline. Change 3482308 by Alexis.Matte Fixing morph target smooth group support. Do not call FillSkeletalMeshImportData more then once on FbxNode since this fonction is doing some conversion and change the FbxNode, applying those conversion twice do not return the same faces smooth group. #jira UE-45696 Change 3482327 by Nick.Darnell UMG - More tweaks to the WidgetComponent so both shows the box outline, but works in game and VR editor. Change 3482705 by Andrew.Rodham Resaving assets that contain legacy data to suppress CIS warnings. - If conflicts arise in these assets, please take game-side changes and ignore these. Change 3484245 by Max.Chen Sequencer: Evaluate on end scrub. This fixes a bug where audio doesn't evaluate in a stopped position at the end of scrubbing, causing it to not stop all sounds. This fixes a bug introduced from 3365018 where evaluate on end scrub was removed. #jira UE-45905 Change 3484263 by Max.Chen Sequencer: Fix crash on forcing refresh of details panel on release. #jira UE-45911 Change 3484431 by Andrew.Rodham Resaving assets that contain legacy data to suppress CIS warnings. - If conflicts arise in these assets, please take game-side changes and ignore these. Change 3484474 by Alexis.Matte Fix the morph target animation curve name matching. #jira UE-20294 Change 3484475 by Alexis.Matte When removing a LOD, make sure we remove all morph target data associate to the LOD. Change 3484489 by Nick.Darnell PR #3668: UE-45908: Cache debug line locations when performing a LineTraceMulti (Contributed by projectgheist) #jira UE-45908 Change 3484692 by Nick.Darnell Slate - Reverting a change from a game stream. All Arranged Children don't need to allocated 42 to begin with. Do need to initialize WidgetPaths better. Change 3484703 by Nick.Darnell Player Input - Making the input event loop for players obey EKeys::NUM_TOUCH_KEYS, rather than being set to Touch10, as the maximum touch input amount, to make supporting greater than 10 touches easier. Also making the seeding of keys use EKeys::NUM_TOUCH_KEYS. #jira UE-43213 Change 3484918 by Jamie.Dale Fixed font measuring regression with RTL text RTL applies the character count to the next glyph, so it shouldn't process the end of the loop (this was how the older code used to work). Change 3485718 by Nick.Darnell Editor - Removing Super Search & User Feedback button. Change 3485719 by Nick.Darnell Portal - Removing SuperSearch. Change 3485751 by Matt.Kuhlenschmidt Fix crash accessing platformer game menu if the menu is open during a console based load #jira UE-45950 Change 3486047 by Arciel.Rekman Linux: add OpenEXR implementation (UE-40270). #jira UE-40270 Change 3486467 by Max.Chen Sequencer: Reset max tick rate when destroyed. #jira UE-45956 Change 3486477 by Max.Chen Sequencer: Refresh outliner when column is removed. #jira UE-45891 Change 3486667 by Andrew.Rodham Added missing include Change 3486724 by Andrew.Rodham Sequencer: Fixed curves with no default value, and no keys being evaluated and applied to properties - Also fixed an edge case where a zero (but non-animated) channel could be applied to a final transform Change 3486730 by Alexis.Matte In the Auto-Reimport options, hide the mout point only for the default /Game/ folder #UE-45684 Change 3486749 by Alexis.Matte Make sure the parent window of the monitor directory browse folder is set properly #jira UE-45682 Change 3486805 by Matt.Kuhlenschmidt Additional safety against invalid objects being accessed by slate Change 3486848 by Alexis.Matte Make sure Monitor folder feature support root mount point map folder During auto import, give priority to asset import factory over the scene import factory #jira UE-45691 Change 3486879 by Andrew.Rodham Removing obsolete QA assets Change 3486950 by Nick.Darnell PR #2281: Scrollbar missing features and SScrollbar fixes (Contributed by SNikon) Review - made some adjustments from the original. Change 3486954 by Nick.Darnell Slate - Moving the STableViewBase over to the FOverscroll class, rather than it's own clone. Change 3486967 by Nick.Darnell Slate - Fixing some HDPI calculations for fitting new windows on screen, it was using the unscaled size of the widgets for fitting, when it needed to scale them up. Change 3486970 by Andrew.Rodham Sequencer: Delay mouse capture until drag for sequencer time slider - Fixes context menus not opening as a result of mouse capture being taken on mouse down #jira UE-45937 Change 3486984 by Andrew.Rodham Sequencer: Improved blending type iconography Change 3486996 by Nick.Darnell UMG - Adding a way for games to opt-out of the slow widget path, to completely prevent them from being cooked. UMG - The movie data is no longer cloned for each new instance that inhabits. It now keeps a reference to the now publically accessible movie scene data on the class instead. Change 3487070 by Andrew.Rodham Sequencer: Added graphics for key areas that represent empty space Change 3487195 by Andrew.Rodham Sequencer: Changed evaluation groups to always flush implicitly - Due to the latent nature of blended token types, it's no longer safe to rely solely on execution token order between tracks - This fixes an issue where events set in the PostEvaluation stage were executed before blended token actuation Change 3487322 by Nick.Darnell PR #2457: Add .gitdeps.xml-files for plugins support (Contributed by bozaro) Change 3487363 by Nick.Darnell PR #2481: Fix for packing of a project with users plugins (Contributed by yatagarasu25) Change 3487439 by Nick.Darnell PR #2642: Changed private to protected in SVirtualJoystick.h (Contributed by Skylonxe) Change 3487500 by Arciel.Rekman Removed LinuxNativeDialogs. - No longer used; has been superceded by SlateDialogs since UE 4.8 (2 years ago). Change 3487630 by Lauren.Ridge Don't create Landscape Info Maps for Editor Preview Worlds or thumbnail worlds #jira UE-44885 Change 3487864 by Matt.Kuhlenschmidt Exposed the asset registry to blueprints and script. Works in editor scripts and runtime scripts AssetRegistry is now a UInterface object. Blueprint users can access various asset registry methods using the asset registry interface (via GetAssetRegistry) and various static helpers in the AssetRegistryHelpers object C++ users should still continue to use IAssetRegistry. Change 3487879 by Matt.Kuhlenschmidt Renamed asset tools uobject helper to UAssetToolsHelpers Change 3487926 by Lauren.Ridge Fixing reset to default not showing up for custom widgets #jira UE-44164 Change 3488184 by Matt.Kuhlenschmidt PR #3656: Make References/Referencers List copyable (Contributed by user37337) #jira UE-45763 Change 3488240 by Matt.Kuhlenschmidt Fix compiler issue Change 3488350 by Lauren.Ridge Landscape info map transactional state is based on its world's transactional state #jira UE-44885 #jira UE-46019 Change 3488412 by Matt.Kuhlenschmidt Fix reset to default showing up in two different places for some customizations Change 3488413 by Matt.Kuhlenschmidt Fix slate font customization Change 3488414 by Matt.Kuhlenschmidt Fix slate font customization Change 3488415 by Matt.Kuhlenschmidt Missed file Change 3488565 by Arciel.Rekman Add pretty printers for gdb (UETOOL-1171). - Committing shelf by Cengiz.Terzibas, with some modifications. #jira UETOOL-1171 Change 3489094 by Nick.Darnell Slate - The Slate RHI Renderer now caches the TextureLODGroups so that it can properly lookup the filtering of different texture groups that are set to Default, instead of a particular filter override on a texture. Engine/Rendering - Simplifying some of the setup logic in TextureLODSettings so that code is shared for setting them up properly after loading from a config file. Change 3489095 by Nick.Darnell PR #2699: GameViewportClient - Added a method to allow setting the viewport cur. (Contributed by rfenner) Review - Fixed spacing. Change 3489108 by Matt.Kuhlenschmidt Fix deprecation warning Change 3489120 by Nick.Darnell PR #3478: Fix possible UComboBoxString crash (Contributed by nakosung) Change 3489147 by Andrew.Rodham Sequencer: Adding return value to function to appease static analysis - This function is never compiled, and if it is, it won't compile, but static analysis doesn't know that Change 3489264 by Nick.Darnell Testing - Finishing the thought behind an enum comment. Change 3489265 by Nick.Darnell PR #2750: UE-35164: Button padding (Contributed by projectgheist) Change 3489267 by Nick.Darnell PR #3645: UE-45464: Handle SSlider mouse interaction more accurately (Contributed by projectgheist) Change 3489632 by Arciel.Rekman Correctness changes to MallocPoisonProxy. - Missing forwarding functions added. Incorrect comment removed. - Change by Steve.Robb, doing here so it is in 4.17. Change 3489689 by Arciel.Rekman More MallocPoisonProxy changes I missed in previous CL. Change 3489751 by Matt.Kuhlenschmidt Moved editor performance settings out of per-project settings so they can be shared across projects Change 3489837 by Lauren.Ridge Keyboard shortcut for entering/leaving VR Mode is now Alt+V Change 3491082 by Arciel.Rekman Linux: better fix for the crash due to name collision (UE-46040). - Put classes in Sequencer module into Sequencer namespace instead of SceneOutliner namespace. - Undid change in the SceneOutliner module. #jira UE-46040 Change 3491096 by Arciel.Rekman Fix UAT compilation on the newest mono. Change 3491240 by Max.Chen Sequencer: Disable key button when allow level edits only is on. #jira UE-46060 Change 3491406 by Yannick.Lange Fix editor crashes when opening a project that includes a plugin with more than two custom Volume classes. This issue was caused because registering show volume commands is based on finding volume classes. Finding these classes at multiple times resulted in a mismatch of the returned array of volume classes because modules/plugins were still being loaded. #jira UE-45806 Change 3491559 by Alexis.Matte Make sure we use the good preview mesh when doing a preview #jira UE-45963 Change 3491563 by Alexis.Matte Fix crash with staticmesh editor LodLevel selection Change 3491564 by Nick.Darnell UMG - Fixing an offset with the grab handles in HDPI mode. Change 3491595 by Nick.Darnell Editor - Fixing a clipping artifact in the pin type dropdown in the blueprint editor. Change 3491604 by Nick.Darnell Back out changelist 3489265 Change 3491615 by Arciel.Rekman Added malloc replay proxy (Linux only for now). - Allows to dump malloc callstream (without regard to threads) and replay later to study the behavior of different mallocs and/or repro problems. Change 3491684 by Arciel.Rekman Added FMalloc functions I missed. - Also moved function bodies into the .cpp file, this does not make a difference in performance in this case. Change 3491692 by Matt.Kuhlenschmidt Some minor fixes to the static mesh editor - Fix UV combo button looking non-standard on the toolbar - Fix a few combo buttons in the details panel looking too big. Change 3491702 by Arciel.Rekman Do not compile replay proxy-specific code when not used. Change 3491717 by Michael.Dupuis #jira UE-35083: The component is now the owner of the PerInstanceRenderData instead of the proxy Add an Update path to only update specified instances range Always call BuildTreeIfOutdated so we have a standard code path to make sure static mesh are fully loaded before trying to build the tree Moved the Instance Buffer aysnc to the base class, as it's not related to UHierarchicalInstancedStaticMeshComponent Expose a new property to decide if we require dynamic instance buffer Change 3491758 by Matt.Kuhlenschmidt Fix crash on static mesh editor shutdown Change 3491873 by Cody.Albert Fixed clipping issue in Sequencer curve editor #rnx Change 3491956 by Matt.Kuhlenschmidt Fix crash opening the Previewing sub-menu in the level editor settings menu #jira UE-46095 Change 3492046 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3492076 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3492165 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3492222 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3492274 by Michael.Dupuis #jira UE-46105: Fixed Clang warning Change 3492338 by andrew.porter QAGame: Testing ensure when submitting Change 3492371 by Nick.Darnell UMG - Reverting the animation sharing, cossed GLEO regressions in cooking. Will look for a better solution. Change 3492462 by Matt.Kuhlenschmidt Fix ensure checking in files through perforce Change 3492491 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3492505 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3492517 by Jamie.Dale The package localization ID is no longer used at all at runtime, and is now truly editor-only This should have always been the case, but it was leaked into manifest/archives/PO files in 4.14, and while 4.15 removed it from PO files it was still present in the manifest/archives. This change removes it entirely (unless gathering editor-only data, and even then the PO file will still collapse the entries together for translation), and the deprecated 4.14 export behavior will now produce an error if you attempt to use it. After taking this change you'll need to run a gather, import, and compile of your LocRes files to update your game localization to use the new localization IDs. Change 3492630 by Nick.Darnell UMG - Removing some extra cleanup code that's probably overkill and is causing a crash for uses of "Within" in class meta. #jira UE-46124 Change 3492692 by Matt.Kuhlenschmidt Fix drop shadows inheriting the outline color of the font. The outline should still appear but not have a different outline color from fill color Change 3492714 by Matt.Kuhlenschmidt Added outline with drop shadow to font automation test Change 3492737 by Matt.Kuhlenschmidt Fix linux Change 3492992 by tim.gautier Resaving Ocean Widget Blueprints / Sequences to resolve Legacy Sequence Data warnings #jira UE-46132 Change 3493089 by Jamie.Dale Ensure that the composite font of a font asset is flushed when the font object is GC'd Change 3493322 by Jamie.Dale Fixing null crash #jira UE-45758 Change 3494467 by Andrew.Rodham Fix Xbox warning Change 3494852 by tim.gautier QAGame: Changed streaming method of QA-EditorSmoke-Landscape to Always Loaded Change 3494853 by Nick.Darnell Another attempt at fixing the automation blueprint SA warning. Change 3494896 by Arciel.Rekman Fix possible null pointer access during Vulkan init. - May fix static analysis warnings in UE-46142, although warnings seem to be referring to something else. #jira UE-46142 Change 3494987 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3495010 by Matt.Kuhlenschmidt Adding additional logging to track down html5 issue Change 3495212 by Michael.Dupuis #jira UE-46143: Properly init the InstanceRenderData during the cooking phase (required by fortnite) Change 3495536 by Jamie.Dale Updating UGameEngine to call its Super::PreExit after performing its own teardown This prevents UEngine cleaning up resources that UGameEngine still needs. #jira UE-46159 Change 3495551 by Arciel.Rekman Another attempt to fix analyzer problem (UE-46142). Change 3495794 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3495905 by Matt.Kuhlenschmidt Fix USD crash when importing a meshwith no material [CL 3499771 by Matt Kuhlenschmidt in Main branch]
2017-06-19 20:27:30 -04:00
LayerId = DrawPlaybackRange(AllottedGeometry, MyCullingRect, OutDrawElements, LayerId, RangeToScreen, PaintArgs);
LayerId = DrawSubSequenceRange(AllottedGeometry, MyCullingRect, OutDrawElements, LayerId, RangeToScreen, PaintArgs);
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3178529) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3149443 on 2016/10/03 by Max.Preussner MediaAssets: Better parameter names for MediaPlayer BP functions Change 3149756 on 2016/10/03 by Max.Chen Sequence Recorder: Set some settings to be clamped at 0 (sequence length, recording delay, audio gain, audio input buffer size, nearby actor recording proximity) #jira UE-35233 Change 3149795 on 2016/10/03 by Max.Chen Curve Editor: Set tangent to user when flattening or straightening tangents only when the tangent mode is auto and the interp mode is cubic. #jira UE-36734 Change 3150378 on 2016/10/04 by Max.Preussner PS4Media: Made video buffer sizes for file and HLS sources configurable (UE-36807) #jira UE-36807 Change 3151414 on 2016/10/05 by Max.Chen Sequencer: Fix case where restoring the last view target was getting skipped. It should always restore if the camera object and the unlock if camera actor object is null. #jira UE-35285 Change 3152038 on 2016/10/05 by Max.Preussner UdpMessaging: Code & documentation modernization pass Change 3152471 on 2016/10/05 by Max.Chen Cine Camera: Don't enable/disable actor ticking based soley on actor tracking since actor ticking is needed for other purposes. Instead, always enable actor ticking and only update actor tracking on tick if necessary. This fixes a bug where the cine camera actor won't tick if you hook in event tick. #jira UE-36625 Change 3152692 on 2016/10/05 by Max.Preussner Messaging: API code & documentation modernization pass Mostly removed shared pointer/ref typedefs as they prevent forward declarations and increase include complexity. Change 3153824 on 2016/10/06 by Max.Preussner Messaging: Renamed IConnectionBasedMessagingModule to ITcpMessagingModule and moved it into TcpMessaging I recommend that we refactor this API. The dependency should be reversed, i.e. instead of AndroidDeviceDiscovery depending on the TcpMessaging plug-in module, the Engine should provide a central registry that device discovery modules can notify, and that message transport plug-ins can register with and listen to OnConnectionAdded/Removed events etc. That way it supports an arbitrary number of transport plug-ins, and the Engine is not coupled to any of them. This functionality is not necessarily related to messaging, and the Messaging API is transport agnostic anyway. I'll think about this some more. Change 3153826 on 2016/10/06 by Max.Preussner Messaging: Removed remaining typedefs in IMessageTracer to enable forward declaration and reduce include dependencies Change 3153857 on 2016/10/06 by Max.Chen Sequencer: Set snap time to dragged key on by default. Change 3153980 on 2016/10/06 by Max.Preussner SessionServices: Removed typedefs; code and documentation modernization pass Change 3154313 on 2016/10/06 by Max.Chen Sequencer: Set the paste keys time to the current time, rather than the mouse time. Change 3154332 on 2016/10/06 by Max.Chen Sequencer: Remove click to rename shot functionality in the shot thumbnail. Added rename shot to the shot context menu. Change 3154377 on 2016/10/07 by Max.Chen Sequencer: Add ability to step to beginning and ends of sections/shots using the hotkeys: , and . Change 3154788 on 2016/10/07 by Max.Chen Sequencer: Fix offsets that created when moving multiple sections. The offsets were being created because section bounds were being generated for all sections except for the current section. Instead, they should be computed for all sections except for any that aren't being moved. #jira UE-29152 Change 3159274 on 2016/10/11 by Max.Preussner Core: Documentation fixes Change 3159275 on 2016/10/11 by Max.Preussner UdpMessaging: Added missing header Change 3160746 on 2016/10/12 by Max.Preussner MediaAssets: Added BP functions to query width, height, and aspect ratio of UMediaTexture instances #jira UE-37241 Change 3160975 on 2016/10/12 by Max.Preussner PS4Media: Better logging for SetRate failures Change 3160995 on 2016/10/12 by Max.Preussner MediaPlayerEditor: Fixed Media player selection is ignored if media specifies player overrides (UE-37248) #jira UE-37248 Change 3161066 on 2016/10/12 by Max.Preussner PS4Media: Enforcing minimum 8 byte alignment for media allocations Change 3161069 on 2016/10/12 by Max.Preussner PS4Media: Fixed log spam when setting play rate to current rate Change 3162567 on 2016/10/13 by Max.Preussner PS4Media: Made track switching code more readable Change 3163447 on 2016/10/14 by Max.Preussner PS4Media: Fixed array out of bounds assertions Change 3163772 on 2016/10/14 by Max.Preussner MfMedia: Fixed a number of timing related issues Change 3163980 on 2016/10/15 by Max.Chen Sequencer: Remove folder name numeric padding so that the naming convention is similar to creating objects in the level. Change 3164581 on 2016/10/17 by Andrew.Rodham Sequencer: Ensure global pre-animated state is restored in reverse order Change 3164582 on 2016/10/17 by Andrew.Rodham Sequencer: Ensure pre animated state is restored for all actor components before saving default state Change 3164583 on 2016/10/17 by Andrew.Rodham Sequencer: Re-enabled support for pre and post roll Change 3165464 on 2016/10/17 by Max.Chen Sequencer: Default number frame handles to 0 so that there's no change in behavior when rendering out a master sequence of shots. Handle frames need to enabled explicitly by the user. Copy from Release-4.14 #jira UE-37416 Change 3165483 on 2016/10/17 by Max.Chen Sequencer: Enable restore state for attach section completion Change 3165771 on 2016/10/18 by Andrew.Rodham Sequencer: Force evaluate when rendering thumbnails #jira UE-37321 Change 3166057 on 2016/10/18 by Andrew.Rodham Sequencer: Only set defaults for tracks that have no keys, and where the requested default has changed #jira UE-37285 Change 3166218 on 2016/10/18 by Max.Preussner MediaPlayerEditor: Failure opening media, even though it opened successfully (UE-37470) #jira UE-37470 Change 3166247 on 2016/10/18 by Max.Preussner WmfMedia: Showing progress bar while media is being resolved Change 3166289 on 2016/10/18 by Max.Preussner MfMedia: Showing progress bar while media is being resolved Change 3166993 on 2016/10/18 by Max.Preussner MfMedia: Fixed info string not reset on media close. Change 3166999 on 2016/10/19 by Max.Preussner Media: Fixed NV12 and NV21 support Change 3167008 on 2016/10/19 by Max.Preussner Media: Removed vertical NV12 alignment Change 3167029 on 2016/10/19 by Max.Preussner WmfMedia: Temp fix for RGB32 encoded AVIs rendering upside-down and too bright (UE-37505) #jira UE-37505 Change 3168593 on 2016/10/19 by Max.Chen Sequencer: Change paste at time to local time, so that the paste happens in the local time of the sequence rather than the global time if pasting in a shot level sequence. Change 3168626 on 2016/10/19 by Max.Chen Sequencer: Clamp to view bounds should snap to frame if frame snapping is on. Change 3168627 on 2016/10/19 by Max.Chen Sequencer: Initialize working and view range to be 10% larger than playback range. Change 3168760 on 2016/10/20 by Max.Preussner Media: Revamped media texture buffer management to support padded frames Added support for Windows bitmap buffers. Fixed a number of format, conversion and/or looping issues in WmfMedia and MfMedia. Not all shaders have been updated yet. Change 3169640 on 2016/10/20 by Max.Chen Sequencer: Add current camera to FLevelSequencePlayerSnapshot. Adjust DefaultBurnIn to include a few more parameters like focal length and focus distance. #jira UE-37407 Change 3170677 on 2016/10/21 by Max.Chen Movie Scene Capture: Add toggle to override engine scalability settings to cinematic scalability. #jira UE-36560 Change 3170710 on 2016/10/21 by Max.Preussner Media: Optimized handling of RGB input Change 3170712 on 2016/10/21 by Max.Preussner Media: Fixed NV21 conversion shader scaling Change 3170923 on 2016/10/21 by Max.Preussner UBT: Copied XboxOne project generator fix from Fortnite CL# 3170868 Change 3171494 on 2016/10/23 by Max.Chen Sequencer: Fix fbx export from master sequence not finding bound objects. #jira UE-35752 Change 3171506 on 2016/10/23 by Max.Chen Sequencer: Draw where in and out points of the shot section are, just like subsequences do. Change to only draw the green starting line if StartOffset is negative. #jira UE-35473 Change 3171743 on 2016/10/24 by Andrew.Rodham Editor: Added support for detail customizations on root structs - Also added the ability to add external struct data onto a detail category builder, and property type customization. Change 3171752 on 2016/10/24 by Andrew.Rodham Sequencer: Fixed spawnable ownership - Spawnables are no longer destroyed when the cursor leaves the master playback range. - Spawnable ownership now operates as it previously did before the evaluation rework. - bIgnoreOwnershipInEditor has been removed since its existence was a work around for when we didn't evaluate sub sequences from the master sequence. - FMovieSceneSequenceID is now a struct so that it can be used in array properties - Meta data now exists for each segment of an evaluation field. Currently this only includes the sub sequence IDs that exist at that time, but it may be expanded to include all evaluation entities (tracks + sections) in future so we don't have to calculate that at runtime. Change 3171756 on 2016/10/24 by Andrew.Rodham Sequencer: Added ability to trigger events with parameters - It's now possible to supply an event payload on event track keys which are to be passed to a given event. The structure must match the signature of the event, or a warning will be emitted. - Added a templated TGenericKeyArea, TKeyFrameManipulator and TCurveInterface that allow to generic manipulation of keyframe section data. In time we will port the other key areas over to this representation. - This new architecture affords the common manipulation of time-based keyframes in a value-agnostic manner. Change 3172935 on 2016/10/24 by Max.Preussner MediaPlayerEditor: Fixed MediaPlayer asset not being dirtied when creating media sound wave or texture for it Change 3173947 on 2016/10/25 by Max.Preussner SlateRemote: Disabled plug-in, but enabled server by default Change 3174510 on 2016/10/26 by Max.Chen Sequencer: Fix slomo track crash #jira UE-37802 Change 3174698 on 2016/10/26 by Andrew.Rodham UMG: Fixed objects bound to a panel slot animating their slot's content instead of the slot itself #jira UE-37775 Change 3174780 on 2016/10/26 by Max.Preussner MediaAssets: Accepting decoder defined buffer dimensions for RGB buffers Change 3174789 on 2016/10/26 by Max.Preussner MediaPlayerEditor: Showing desired player name instead of current player name if no media loaded Change 3174817 on 2016/10/26 by Max.Preussner WmfMedia: Added support for Motion JPEG (MJPG) Change 3174825 on 2016/10/26 by Max.Preussner WmfMedia: Added support for non-RGB32 uncompressed formats Change 3174834 on 2016/10/26 by Max.Preussner MediaPlayerAssets: Allow pausing while buffering media Change 3174886 on 2016/10/26 by Andrew.Rodham Core: Fixed range test that was testing incorrect behavior Change 3174889 on 2016/10/26 by Andrew.Rodham Sequencer: Fixed AssignActor behavior - Also ensure that cached object state is invalidated when playback context changes #jira UE-37798 Change 3174905 on 2016/10/26 by Andrew.Rodham Sequencer: Changed assert when failing to create an audio component to a log message - Audio no longer plays when GEngine->UseSound() is false #jira UE-37772 Change 3174980 on 2016/10/26 by Andrew.Rodham Sequencer: Remove warning when event endpoint could not be found for a given context #jira UE-37824 Change 3175001 on 2016/10/26 by Andrew.Rodham Sequencer: Evaluate sequence with EMovieScenePlaybackStatus::Jumping on Pause. - Also protect Pause() against reentrancy when being called from an event Change 3175012 on 2016/10/26 by Max.Chen Sequence Recorder: Fixes an empty working and view range after recording. On StopRecording() update playback range after nullifying the current sequence so that the playback range isn't empty. Added SetViewRange and SetWorkingRange. #jira UE-34191 Change 3177760 on 2016/10/28 by Max.Chen Sequence Recorder: Don't update the current sequence name if it's already set. This fixes a bug where if you pass in a sequence name to record to, it gets reset to the name in the sequence recorder settings. #jira UE-37808 Change 3178529 on 2016/10/28 by Max.Chen Matinee to Level Sequence: Added interface to extend the matinee to level sequence converter #jira UE-37328 #2864 [CL 3178562 by Max Chen in Main branch]
2016-10-28 15:04:38 -04:00
PaintArgs.SolidFillOpacity = 0.f;
Copying //UE4/Dev-Editor to //UE4/Dev-Main (Source: //UE4/Dev-Editor @ 3497164) #lockdown Nick.Penwarden #rb none ===================================== MAJOR FEATURES + CHANGES ===================================== Change 3433074 by Matt.Kuhlenschmidt Fix crash when clicking on certian tutorial blueprints. #jira UE-44593 Change 3433075 by Matt.Kuhlenschmidt Remove hittest grid log spam. The underlying problem causing this has been fixed Change 3433077 by Matt.Kuhlenschmidt Fix lighting becoming unbuilt when mesh painting #jira UE-44837 Change 3433081 by Matt.Kuhlenschmidt PR #3553: Crashfix for static array properties (Contributed by Pierdek) Change 3433104 by Alexis.Matte Make sure re-import skeletal mesh follow the import morph option #jira UE-42846 Change 3434825 by Matt.Kuhlenschmidt Fix crash when GC happens while the vr editor radial menu is open. Change 3434831 by Matt.Kuhlenschmidt Added missing file Change 3434868 by Shaun.Kime If you have a reroute node between a Material Function texture input and its usage, the parent material will fail to resolve the reroute node. #jira ue-44670 Change 3434998 by Alexis.Matte Meshes editors material/section panel are now fully transactional - Staticmesh editor: section material slot, section cast shadow, section collision, material slot instance, material slot name - Skeletal mesh editor: material slot instance, material slot name Also fix some transaction description #jira UE-44462 Change 3435195 by Jamie.Dale Fixed incorrect handling of some LTR scripts that require shaping These scripts need to go through HarfBuzz, and this also fixes a case where HarfBuzz wasn't applying font scale correctly. #jira UE-44767 Change 3435199 by Jamie.Dale Fixed some crashes/artifacts with bidirectional text It was possible for a line to compute an incorrect range, which could cause crashes or other highlighting issues. The highlighting logic has also been updated as the old code didn't handle all bidirectional cases correctly. Change 3435200 by Jamie.Dale Fixed a grapheme cluster metrics issue in the font editor viewport The viewport also now respects the default shaping method CVar. Change 3435771 by Alexis.Matte Fix degenerated bounds calculation for skeletalmesh when the skeleton is remove from a re-import (PhysicAsset API change, adding 1 function) #jira UE-44609 Change 3436856 by Jamie.Dale Added some missing Unicode block ranges Change 3436914 by Jamie.Dale Adding some missing combining character ranges to the text shaper Change 3436923 by Alexis.Matte PR #3463: Get bounds for all triangles, not just the first one. WedgeIndex was . (Contributed by DaveC79) #jira UE-43764 Change 3436948 by Jamie.Dale Updated the Portal to use the predefined Unicode block ranges Change 3436961 by Max.Chen Sequencer: Show camera shake/anim track menus even if there aren't any assets. Change 3437244 by Max.Chen Sequencer: Clear locked cameras when releasing Sequencer. #jira UE-44967 Change 3437515 by Arciel.Rekman UBT: improvements for LocalExecutor. - Larger number of parallel jobs on 16GB+ machines. - Use WaitForExit() instead of polling. - Tested on Linux and Mac. Change 3437629 by Matt.Kuhlenschmidt Improve asset import data display in static and skeletal meshes Change 3438047 by Arciel.Rekman Fix overlapping ranges being passed to memcpy(). Change 3438822 by Yannick.Lange ViewportInteraction: Move gizmo handle files to make them private. Change 3438906 by Matt.Kuhlenschmidt PR #3556: Git Plugin: fix new option "init Git LFS" that make assets read-only (master/UE4.17) (Contributed by SRombauts) Change 3438907 by Matt.Kuhlenschmidt PR #3565: add -quality option to buildlighing commandlet (Contributed by kayama-shift) Change 3438908 by Matt.Kuhlenschmidt PR #3558: UE-44862: Always update SColorPicker color on OK button (Contributed by projectgheist) Change 3439393 by Matt.Kuhlenschmidt Force highest LOD for highres screenshots Change 3439819 by Matt.Kuhlenschmidt Turned FAssetData into a struct for some upcoming script exposure of FAssetData Change 3439949 by Arciel.Rekman Fixed selection logic for the UE4_LINUX_USE_LIBCXX environment variable. - Allows disabling libc++ by setting the variable to 0. - Pull request #3576 contributed by jared-improbable. Change 3441078 by Jamie.Dale The culture/language/locale console commands are now available in all build configs Change 3441109 by Jamie.Dale Text containing surrogate pairs now runs through HarfBuzz when shaping in Auto mode This is needed as the kerning-only shaping code assumes that everything is within the BMP Change 3441275 by Matt.Kuhlenschmidt Disable spinning on location and scale. These dont work because we have no notion of infinite spinning Change 3442748 by Yannick.Lange ViewportInteraction: Remove unused console variables. Change 3442775 by James.Golding Add support for editing MaterialFunctions to MaterialEditingLibrary Pull Material recompile/update code into UMaterialEditingLibrary::RecompileMaterial Pull MaterialFunction update code into UMaterialEditingLibrary::UpdateMaterialFunction util Move RebuildMaterialInstanceEditors to UMaterialEditingLibrary Added test content for Material/MaterialFunction editing Add needed BlueprintReadWrite to expressions (constants, function input/output) Expose UMaterialExpressionMaterialFunctionCall::SetMaterialFunction to BP, rename old func (which takes old function) to SetMaterialFunctionEx, also expose GetInputNameWithType Change 3442779 by James.Golding Fix header order Change 3442817 by Yannick.Lange ViewportInteraction: Add can execute checks for level editor commands. Change 3443038 by Michael.Dupuis #jira UE-43377: When you select a foliage actor we will move all instance contained in it to the new level as we can't move a foliage actor Only permit moving foliage instance if there is some selected Change 3443855 by Michael.Dupuis #jira UE-44885: Unregister from PerModuleDataObjects when the object is destroyed Change 3446096 by Max.Chen Sequencer: Add OnFinished() event when a level sequence completes playback #jira UE-45173 Change 3446097 by Max.Chen Sequencer: Evaluate one last time before the sequence is torn down and reset #jira UE-45174 Change 3446242 by Jamie.Dale Fixed caret not appearing in empty text layouts Caret selections have no range, and therefore have no width Change 3446361 by Matt.Kuhlenschmidt Fix WITH_EDITOR only functions causing generated code compile errors when the all functions on the class are WITH_EDITOR Change 3446457 by Alexis.Matte Polish the speed tree import dialog #jira UE-44963 Change 3446946 by Michael.Trepka Modified FWindowsWindow::GetRestoredDimensions to return correct window position for normal windows for which GetWindowPlacement returns position in workspace coordinates #jira UE-37934 Change 3447543 by Arciel.Rekman Reduce VMAs on Linux. - Trades off increased address space (VIRT in terms of ps/htop) for smaller number of distinct mappings (VMAs, virtual memory areas). This decreases possibility to run into vm.max_map_count limit on Linux. - Tested on Linux and Mac. Change 3448468 by Arciel.Rekman Fix race condition during creation of GMalloc. - On Mac GMalloc can be created on two different thread that are racing with each other - app's main thread and a system thread. Change 3449012 by Max.Chen Sequencer: Add time to transform, color and vector key structs so that key times are editable from the key editors. #jira UE-45089 Change 3449018 by Max.Chen Sequencer: Add OnCameraCut event that fires when there is a camera cut. #jira UE-45137 Change 3449195 by Max.Chen Sequencer: Add setting for limit scrubbing to playback range. #jira UE-43502 Change 3449198 by Max.Chen Sequencer: Reorder hierarchical bias so that group priority takes precedence. Change 3449217 by Max.Chen Sequencer: Add setting to activate realtime viewports when in sequencer. Change 3449219 by Max.Chen Sequencer: Focus on search boxes when opened. Change 3449238 by Max.Chen Sequencer: Assign actor should replace the actor itself after it has updated all the components. Also, replace components be fullname rather than by class. Change 3449239 by Max.Chen Sequencer: Fix offsets when moving multiple sections. Dragging should be clamped to the bounds that any of the selected sections hits against the unselected sections. Change 3449241 by Max.Chen Sequencer: Restore section selection after full tree rebuild. Change 3449279 by Max.Chen Sequencer: Set movie scene capture frames only when not using custom frames. This allows the user entered frame numbers to persist in config, rather than overwriting them when doing a "Render Shot" Change 3449280 by Max.Chen Sequencer: Spawn in the persistent level. Otherwise, they get spawned into whatever sublevel is current. #jira UE-44552 Change 3449294 by Max.Chen Sequencer: Null check for sequencer ed mode crash. Change 3449297 by Max.Chen Sequencer: Fix delay in sliding values. Mark changed when sliding values. Mark refresh immediately when committing values since OnValueChanged will be called and needs to have the correct value that was refreshed immediately. #jira UE-42866 Change 3449542 by Max.Chen Sequencer: Fix scrubber hit testing so that the time scrubber is really favored over the playback ranges. #jira UE-44569 Change 3451507 by Matt.Kuhlenschmidt Fix extra slate uv coords not functioning on ES2 Change 3451510 by Matt.Kuhlenschmidt PR #3595: Fixed wrong colour for level status (Contributed by ronve) Change 3451529 by Alexis.Matte fbx scene importer: Make sure we set INVALID_UNIQUE_ID to node that has no attribute. #jira UE-34410 Change 3451611 by Yannick.Lange ViewportInteraction: Dragging gizmo without second pass for snapped calculations. Change 3452134 by Jamie.Dale Fixed constant font cache flushing if a widget had no font set Change 3452239 by Jamie.Dale Fixed constant font measure flushing if a widget had no font set Change 3452243 by Jamie.Dale Removed deprecated code for creating fonts from bulk data Change 3452277 by Jamie.Dale The concept of "stale" composite fonts is now editor-only Change 3452358 by Alexis.Matte Fbx scene importer: Do not remove existing attribute reference from the blueprint if the reimport of the associate mesh attribute is not tick. #jira UE-45232 Change 3452678 by Max.Chen Sequencer: Fix crash on export if there's no shot data. Change 3453057 by Matt.Kuhlenschmidt Exposed asset exporting to script Change 3453782 by Andrew.Rodham Sequencer: Fixed deterministic cooking issues with movie scene data - Movie scene signatures are now initialized in PostInitProperties - A warning is now presented when attempting to cook old data that was never serialized with a signature. - Removed redundant legacy data upgrade logic that could dirty level sequences on load. #jira UE-44912 Change 3453788 by Yannick.Lange ViewportInteraction: Custom scene proxy for gizmo handles. Change 3453938 by Max.Chen Sequencer: Hotkeys (shift , and shift .) to step to next/previous shot #jira UE-45119 Change 3454058 by Michael.Dupuis Fixed StaticAnalysis Change 3454077 by Max.Chen Sequencer: Fix not saving the pre-animated track value when creating a track/key. On pre object change, broadcast property change so that a track or key can be created. That track/key needs to be evaluated immediately so that the pre-animated state can be saved properly. This is done now with RefreshAllImmediately and is only called when a track has been created. Also, added a return value for OnKeyProperty, so that it's known what changed in particular (ie. track created, track modified, etc) Also, fixed transform keying so that if a transform track already exists for the object or the scene component, the existing track is used. #jira UE-45130 Change 3454108 by Nick.Darnell UMG - Fixing the WIC to properly record cursor delta so that scrollbars work. Change 3454109 by Jamie.Dale Cache the text layout source info in non-shipping builds so you can inspect it in the debugger Change 3454202 by Matt.Kuhlenschmidt Fix bogus error message about the number of usable texture coordinates on ES2 when compiling a UI domain material Change 3454390 by Yannick.Lange Fix creating a plugin in a C++ project opens a second instance of Visual Studio. Use SourceCodeAccessor to open solution when necessary. #jira UE-45035 Change 3454564 by Matt.Kuhlenschmidt #rnx Fix deprecation warnings Change 3455471 by Yannick.Lange ViewportInteraction: Fix entering and exiting VR Mode disables gizmo in desktop editor viewport. #jira UE-44965 Change 3456183 by Max.Chen Sequencer: Auto key, auto track refactor. Auto key - create a key when the property changes and there's an existing track. Auto track - create a track when the property changes. This is only exposed in the level sequence editor. All - create a key and a track when the property changes. This is only exposed in VR Editor. None - do nothing. #jira UE-43469 Change 3456349 by Andrew.Rodham Sequencer: Only perform legacy signature checks on instances, and only where signatures match the CDO Change 3456678 by Alexis.Matte Allow to add null level instance override material via the advance material array. But still limit the override material number to the mesh material number. #jira UE-45306 Change 3456945 by Max.Chen UMG: Add restore state to 2d transform section. #jira UE-45372 Change 3457196 by Arciel.Rekman Linux: serialize allocations from the memory pool. Change 3458434 by Max.Chen Sequencer: Remove obsolete set tick prerequites functions. Change 3458671 by James.Golding Added MIC editing support to MaterialEditingLibrary Fix static analysis warning Change 3458888 by Matt.Kuhlenschmidt PR #3615: More detailed log messages for debugging warnings/errors (Contributed by projectgheist) Change 3458893 by Matt.Kuhlenschmidt PR #3583: UE-44960: Delta value wasn't being used (Contributed by projectgheist) Change 3458895 by Matt.Kuhlenschmidt Fix typo Change 3458902 by Matt.Kuhlenschmidt PR #3607: Improved InputKeySelector functionality (Contributed by projectgheist) Change 3458917 by Matt.Kuhlenschmidt Fix crash with invalid object properties in the class picker #jira UE-39000 Change 3458939 by Matt.Kuhlenschmidt Fix compile error Change 3458984 by andrew.porter QAGame: Initial check in of sequencer smoke test map Change 3459510 by Matt.Kuhlenschmidt Fixed ensure when deleting a map that contains build data which also happens to be the currently loaded map. #jira UE-45052 Change 3460985 by Max.Chen Sequencer: Snap play time to keys now allows scrubbing between keys and snaps to key times within a certain screenspace tolerance. #jira UE-45090 Change 3461698 by Arciel.Rekman Avoid using ARRAY_COUNT in Vulkan. - Sometimes those arrays can have no extensions whatsoever, and it is illegal to declare a 0 element C array. Change 3462053 by Max.Chen Sequencer: Show sequencer spawnables in the world outliner and add the icon overlay for spawnables. #jira UE-43470 Change 3462139 by Max.Chen Property Editor: Add objects to FPropertyAndParent Change 3462202 by Arciel.Rekman Fix FSocket::Recv() blocking with Peek when there's no data. Change 3462253 by Nick.Darnell Slate - New Clipping System Clipping is now a stateful choice made during composition of the slate hierarchy. Previously every widget got to respect or modify the clipping rect on an as needed basis. The problem was that clipping was only allowed in the layout space of the widget, and it wasn't possible to properly clip elements with render transforms. The new system permits all kinds of transforms on any widget, and they will all be clipped correctly. It tries to use Scissor Rects as they are much cheaper, but will switch over to stenciling if need be to represent a complicated masking structure with several rotated clipping rects all needed to be combined together. Here are the new clipping states a widget can have, almost all widgets are set to No. Only change it from No if your widget actually needs to clip, generally speaking most widgets don't need to clip. /** * This widget does not clip children, it and all children inherit the clipping area of the last widget that clipped. */ Inherit, /** * This widget clips content the bounds of this widget. It intersects those bounds with any previous clipping area. */ ClipToBounds, /** * This widget clips to its bounds. It does NOT intersect with any existing clipping geometry, it pushes a new clipping * state. Effectively allowing it to render outside the bounds of hierarchy that does clip. * * NOTE: This will NOT allow you ignore the clipping zone that is set to [Yes - Always]. */ ClipToBoundsWithoutIntersecting UMETA(DisplayName = "Yes - Without Intersecting (Advanced)"), /** * This widget clips to its bounds. It intersects those bounds with any previous clipping area. * * NOTE: This clipping area can NOT be ignored, it will always clip children. Useful for hard barriers * in the UI where you never want animations or other effects to break this region. */ ClipToBoundsAlways UMETA(DisplayName = "Yes - Always (Advanced)"), /** * This widget clips to its bounds when it's Desired Size is larger than the allocated geometry * the widget is given. If that occurs, it behaves like [Yes]. * * NOTE: This mode was primarily added for Text, which is often placed into containers that eventually * are resized to not be able to support the length of the text. So rather than needing to tag every * container that could contain text with [Yes], which would result in almost no batching, this mode * was added to dynamically adjust the clipping if needed. The reason not every panel is set to OnDemand, * is because not every panel returns a Desired Size that matches what it plans to render at. */ OnDemand UMETA(DisplayName = "On Demand (Advanced)") - Large API Change - All FSlateDrawElement::Make_____ calls have been deprecated that involved passing in a clipping rect. You no longer should are passed a Clipping rect via OnPaint. You are still passed a rect, but this rect represents a Culling Rect, which is valuable if you need to just out right not paint things the user can't possibly see. If you were previously trying to determine if you should cull widgets, by doing something like this, if ( FSlateRect::DoRectanglesIntersect(MyClippingRect, CurWidget.Geometry.GetRenderBoundingRect()) ) That's no longer a good option since there are ways for widgets to ignore the culling bounds. You should convert anything like above to the one below, if (!SWidget::IsWidgetCulled(MyCullingRect, CurWidget)) To assist in debugging efforts, there are several new debugging console flags in Slate, Slate.ShowClipping 1 - Controls whether we should render a clipping zone outline. Yellow = Axis Scissor Rect Clipping (cheap). Red = Stencil Clipping (expensive). Slate.DebugCulling 1 - Disables pushing clipping or stencil rects to the GPU, but continues to intersect culling rects, so that you can tell if a widget is properly culling children it can't possibly draw. Slate.ShowTextDebugging 1 - Show debugging painting for text rendering. I've added a new Experimental Feathering Option, it adds AA geometry around the outside of Box and Image brushes. Slate.Feathering 1 If you're using RenderDoc or something similar, you can now enable render events for slate, so that you can better grok how we're batching and changing states for each UI render pass. Slate.EnableDrawEvents 1 #jira UE-4659 #rn Change 3462714 by Nick.Darnell Fixing a few more compiler issues with the clipping changes. Change 3462726 by Max.Chen Switch OnEditStructChildContentsChanged to use FObjectWriter instead of FMemoryWriter which supports serializeing UObjects. This fixes a crash when adding actor array elements to a user defined event struct. #jira UE-45431 Change 3462801 by Nick.Darnell Adding a UMG dependency to EngineTestBuild. Change 3462914 by Max.Chen Sequencer: Fix regression where spawnables aren't getting saved. Caused by 3407138 #jira UE-30007 #jira UE-39003 Change 3462946 by Nick.Darnell Automation - Tweaking the UI automation tests converting them over to use the new UI Screenshot automation test. Automation - Adding a blur widget test. Change 3462987 by Matt.Kuhlenschmidt Back out changelist 3458893 Change 3464774 by Matt.Kuhlenschmidt PR #3629: Bugfix: Missing small icon in Project Launcher profile editor (Contributed by aarmbruster) Change 3464785 by Nick.Darnell Fixing some clipping stuff in the editor. Change 3464830 by andrew.porter QAGame: Second pass on sequencer smoke test map Change 3464902 by Nick.Darnell Loading - Adding some additional checks to the the loading code to ensure we're on the main thread. Additionally adding a fix from UDN that prevents deadlocks in the rare case a user hits Alt+Tab in a fullscreen game while in a hard loading screen. Change 3464988 by Max.Chen Sequencer: Add attenuation settings for attached audio components. #jira UE-33080 Change 3465024 by Nick.Darnell MoviePlayer - Impoving the playback mode displaynames. Change 3465074 by Arciel.Rekman Fix shadowing issues of GraphicsPSOInit. Change 3465097 by Matt.Kuhlenschmidt Some refactoring of the details panel Exposed new methods of adding a struct on scope to a details panel and have it work properly with customizations. The scruct on scope has a "fake" ustructproperty that allows the details panel to show the whole struct not just an individual property. Refactored the API for adding rows to details panels to make it more consistent\ AddChildCustomBuilder->AddCustomBuilder AddChildGroup->AddGroup AddChildContent->AddCustomRow AddChildPropert->AddProperty AddChildStructure->AddExternalStructureProperty AddStructure->AddAllExternalStructureProperties AddExternalProperty->AddExternalObjectProperty or AddExternalStructureProperty Change 3465186 by Max.Chen Sequencer: Save the BindingID in the pre animated token producer so that it can be destroyed properly. This fixes a bug where the default state of a spawnable isn't saved. #jira UE-43780 Change 3465315 by Matt.Kuhlenschmidt Fix Fortnite and Orion details panel customization warnings Change 3465424 by Nick.Darnell Automation - Moving the step for setting the link to the automation reports to be set before we start the engine. Change 3465488 by Nick.Darnell Automation - Forcing textures to load before taking screenshot, so that the scene gets another opportunity to render before we render with Slate. This should fix the Blur UI Test. Change 3466277 by Arciel.Rekman Linux: fix window drift when dragging (UE-40380). - Change by Cengiz Terzibas. Change 3466370 by Nick.Darnell UMG - Fixing the colors for the resize handle in the designer. Change 3466372 by Nick.Darnell UMG - Fixing the ruler ticks sometimes not being drawn. Change 3466374 by Nick.Darnell UMG - Fixing the designer showing multiple options for sequencer. Change 3466377 by Nick.Darnell UMG - Cleaning up some clipping bits. Change 3467025 by Andrew.Rodham Re-saving assets that contain legacy (<4.15) movie scene data to remove deterministic cook warning. If conflicts arise during merging of these assets, please ignore the changes made in dev-editor, and accept game-side changes. (CIS step 62283298, jobId 7773146) (CIS step 62283297, jobId 7773146) Change 3467099 by Max.Chen Fix GetObjectPropertyClass ensure logic. This was returning UObject::StaticClass when valid. Change 3467172 by Max.Chen Sequencer: Evaluation optimizations. Also, fixes subsequences not getting expired, leaving dangling spawnables. #jira UE-43690 Change 3467192 by Matt.Kuhlenschmidt Fix transactions getting stuck in the color grading controls. This prevents PIE from working properly and causes shutdown crashes #jira UE-45527 Change 3467251 by Yannick.Lange ViewportInteraction: Fix scale and rotation snap while dragging with two lasers. #jira UE-43489 Change 3467331 by Matt.Kuhlenschmidt Fix D3D shader compiler hard coding shader path and not giving proper warnings when it cannot find the shaders Change 3467335 by Matt.Kuhlenschmidt Remove DarkStyle attribute from SNumericEntryBox and allow a spin box style to be passed to it. Change 3467558 by Max.Chen Scene Outliner: Generic support to add default columns to a scene outliner. Change 3467565 by Jamie.Dale Removing old screenshot data for test Change 3467589 by Nick.Darnell Editor - Random cleanup. Change 3467596 by Nick.Darnell Progress Bar - Exposing Border Padding to UMG. Change 3467600 by Nick.Darnell Slate - Adjusting the rendering of the splitter, previously it could be off by a pixel or two, which becomes more apparent now with the clipping changes. Change 3467601 by Max.Chen Property Editor: Fix static analysis warning Change 3467662 by Nick.Darnell Automation - Fixing a bug with the screenshot comparison tool not replacing (removing) the old screenshot data. Change 3467674 by Max.Chen Property Editor: Fix static analysis warning Change 3467737 by Max.Chen Sequencer: Added OnMovieSceneBindingsChanged delegate Change 3468053 by tim.gautier QAGame: Updating Editor Smoke Map - Updated landscapes into Stations for testing - Added Foliage Sublevel Change 3468194 by Arciel.Rekman Linux: fix problems communicating with various STL-using libs. - Stop hiding global new/delete signatures. - Disable CEF3 since this change uncovers the problem with libcef.so not built to use bundled libpng. Change 3468678 by Max.Chen Sequencer: Set "Sequencer Actor" tag before setting the actor label so that the outliner refreshes after the actor has the tag. Change 3469314 by tim.gautier QAGame: Added Painted Foliage / Spline section to EditorSmoke map Change 3469377 by Nick.Darnell Slate - Fixing some warnings in a couple of sample games due to the clipping changes. #rnx Change 3469767 by Max.Chen Sequencer: Outliner column and sequencer binding data #jira UE-43470 Change 3469974 by Arciel.Rekman Fix code projects not working in Linux installed build. Change 3470082 by Nick.Darnell Slate - The GetRenderer() call on SlateApplication no longer returns a SharedPtr, rather than convert it to a thread safe ptr, going to just make accessing it a raw ptr return, so it can be safely referenced on the game thread while being used on the slate loading thread. Change 3470174 by Nick.Darnell Slate - Get the last widget in a widget path utility. Change 3470176 by Nick.Darnell UMG - User Widgets now have an easy way to know if they're part of or have been removed from the focused widget path, which is handy for doing effects. Change 3470261 by Nick.Darnell Slate - The GetRenderer() call on SlateApplication no longer returns a SharedPtr, rather than convert it to a thread safe ptr, going to just make accessing it a raw ptr return, so it can be safely referenced on the game thread while being used on the slate loading thread. Change 3470286 by Max.Chen Sequencer: Scene Component's HiddenInGame now goes through the VisibilityTrack and the visibility template. Change 3470366 by Nick.Darnell Slate - We now version focus per user, that way during focus events, we can safely abort focus events and state transitions if someone interrrupts the active focus event with something new. Change 3470649 by Matt.Kuhlenschmidt Fix deprecation warnings Change 3470695 by Matt.Kuhlenschmidt Fixed typo #jira UE-45580 Change 3470721 by Matt.Kuhlenschmidt Fix static analysis Change 3471254 by Michael.Dupuis #jira UE-42952: Keep occlusion result per view Change 3471287 by Nick.Darnell UMG - Render Focus Rule now defaults to never. Change 3471291 by Nick.Darnell Slate - Fixing FSlateRenderer* change fallout. Change 3471299 by Nick.Darnell Slate - Fixing FSlateRenderer* change. Change 3471323 by Nick.Darnell Automation - Fixing automation and Static Analysis warning. Change 3471413 by andrew.porter QAGame: Added test content for anim blending and material parameteres to sequencer smoke level Change 3471649 by Max.Chen Sequencer: Modify the track when adding animation #jira UE-45618 Change 3471659 by Matt.Kuhlenschmidt Added a way to check if a movie is playing from the engine. Prevented viewport redraws for canvas loading screens if a slate based loading movie is playing Change 3471734 by Matt.Kuhlenschmidt Added basic material hookup to USD. Similar to FBX it will find materials based on rules specified by the user in the import settings Change 3472176 by Nick.Darnell UMG - Improving the display of the +Track menu in sequencer for UMG. Renamed it from +Add, which is repetitve to +Track. Additionally, the dropdown now shows the currently selected widgets, as well as a submenu containing all the 'important' widgets, so we no longer populate that list with a ton of irrelevant widgets that are just Buton_1 - N, which is pointless in showing people, they'll never guess which is the right button. Change 3472740 by Max.Chen Sequencer: Add GetThisFrameMetaData accessor Change 3472748 by Max.Chen Sequencer: Added OnBeginScrubbing and OnEndScrubbing event delegates Change 3472753 by Max.Chen Sequencer: Add EMovieSceneDataChangeType parameter to OnMovieSceneDataChanged delegate Change 3472870 by Nick.Darnell Clipping - Fixing the deprecated tip for scissor rect boxes to be correct. Removing it's usage from UT. Change 3473340 by Max.Chen Scene Outliner: Add ability to register additional filters Change 3473348 by Max.Chen Details View: Make ForceRefresh virtual. Added accessors to delegates (ie. GetIsPropertyReadOnlyDelegate) Change 3473441 by Max.Chen Sequencer: Autokey Refactor Part 2. Autokey is now a single toggleable state. Allow Edits Mode has 3 states: Allow All Edits - Allow any edits to occur, some of which may produce tracks/keys or modify default properties. Allow Sequencer Edits Only - All edits will produce either a track or a key. Allow Level Edits Only - Properties in the details panel will be disabled if they have a track. #jira UE-45229 Change 3473670 by Nick.Darnell Modules - The module manager no longer returns sharedptrs to IModuleInterfaces, this was the source of rare hard to track down crashes due to a shared ptr reference leak when GetModule was called on non-main threads. We now store a TUniquePtr internally, and only lease out raw pointers. #rn Change 3473711 by Nick.Darnell Disabling the ensure in the module manager. Change 3473747 by Max.Chen Sequencer: Fix tooltip Change 3474091 by Jamie.Dale Added a warning when cooking a UFontFace that is outered to a UFont asset These cause issues with iterative COTF, and should be split off into their own assets (as the UI has been asking people to do for several versions) Change 3475052 by Yannick.Lange VR Editor: Fix Crash when quitting the editor with VR Mode enabled. VR Editor was being enabled when saving the map on closing the editor. #jira UE-45415 Change 3475054 by Yannick.Lange Fix crash when adding a camera to the world in VR Mode the second time. The slate application did not reset when stop dragging in VR Mode, so the second time when starting to drag a camera out of the UI it would already by in a dragging state. #jira UE-45574 Change 3475263 by Nick.Darnell Fixing some additional cases of IModuleInteface SharedPtr usage. Change 3475268 by Max.Chen Sequencer: Set jumped state when looping playback. This fixes an issue where audio doesn't stop and restart when looped. #jira UE-45654 Change 3475269 by Max.Chen Scene Outliner: Additional filters should only apply to actor browsing mode Change 3475407 by Nick.Darnell Fixing some clipping / module shared ptr changes in the launcher code. Change 3475542 by Max.Chen Sequencer: Update thumbnail and section highlighting to use new clipping behavior. #jira UE-45692 #jira UE-45689 Change 3475743 by Michael.Dupuis #jira UE-45183: When updating phyx region take into account simple collision mip Change 3475949 by Arciel.Rekman Remove PhysX deoptimization (no longer needed). - OR-24947 has been closed three months ago. Change 3476022 by Michael.Dupuis #jira UE-45560: Make sure we're not going out of range Change 3476063 by Michael.Dupuis #jira UE-45562: Do not try to unregister from static mesh if no static mesh is specified for the component Change 3476168 by Michael.Trepka Added handling of directory symlinks to FApplePlatformFile::IterateDirectory #jira UE-43704 Change 3476172 by Nick.Darnell Fixing a Imoduleinterface change. Change 3476183 by Jamie.Dale Exposing GoTo/ScrollTo to single-line editable text for API parity with multi-line editable text Change 3476385 by Arciel.Rekman Linux: handle symlinks when iterating directories. Change 3476522 by Michael.Trepka Solved a problem with Mac FMallocTBB::Malloc() returning nullptr for 0 bytes allocations, which is inconsistent with other platforms. On Mac we always scalable_aligned_malloc, which behaves differently than scalable_malloc, so for 0 bytes requests we allocate sizeof(size_t), which is exactly what scalable_malloc does internally in such case. Change 3476806 by Nick.Darnell UMG - Focus the designer after dropping a widget onto the surface. Change 3476809 by Nick.Darnell Curve Editor - Enable Clipping on the curve editor. Change 3477475 by Nick.Darnell Fixing a module interface shared ptr usage in UT. Change 3477553 by Yannick.Lange VR Editor: Removed AssetEditorPanelID and replaced it with TabManagerPanelID. A panel for AssetEditorPanelID was never created making it impossible to open an asset editor. Change 3477734 by Yannick.Lange VR Editor: Fix Warning: SetRelativeScale3D : Invalid Scale entered (X=inf Y=inf Z=inf). Resetting to 1.f. warning when adding CineCameraActor to World from Modes Panel. Make sure to not divide by zero when there is no boundary scale. #jira UE-44933 Change 3477761 by Jamie.Dale Some improvements to avoid loading the native .locres files twice when we don't need to Change 3477780 by Nick.Darnell PR #3250: Return correct VirtualUserIndex (Contributed by projectgheist) Change 3477786 by Nick.Darnell PR #3650: Changed TestNull to accept const pointers. (Contributed by e-agaubatz) Change 3477795 by Nick.Darnell PR #2844: UE-36936: Don't stretch container for Plugin Image (Contributed by projectgheist) Change 3478092 by Nick.Darnell PR #2341: Optional Middle Mouse Button panning in Graph Editor (Contributed by flipswitchingmonkey) Engine Edit - Made some small changes to the enum type, and some naming. Change 3478450 by Nick.Darnell Fixing some uninitialized variable errors. Change 3479827 by Andrew.Rodham Sequencer: Addressed serialization issues with some struct types Change 3479874 by Jamie.Dale Fixed "NativeGameLanguage" not being used correctly during localization initialization Change 3480012 by Andrew.Rodham Sequencer: Fixed loading tagged properties as native for track identifiers #jira UE-45823 Change 3480337 by Alexis.Matte Fix morph target crash missing some valid index check Change 3480804 by Alexis.Matte Fix crash with ColorGradingMode custom detail #jira UE-45638 Change 3480892 by Andrew.Rodham Sequencer: Ensure that movie scene sequences know about the editor object version #jira UE-45842 Change 3481073 by Nick.Darnell Fix the shader compiler error from main in Slate. Change 3481303 by Nick.Darnell UMG - Fixing a bug with the drag handle not working correctly in HDPI mode. Change 3481308 by Nick.Darnell Slate - Tweaking the IsWidgetCulled logic to consider both the layout and rendering bounds. If we do this, we get a much more desireable outcome for people that want to animate widgets and such and plan to have temporary animations to move the widget offscreen, but want the layout bounds to anchor that widget in the visible frame so that it animates even when normally it would be culled b/c the render transform and therefore the renderbounds moved it completely outside the culling rect. Change 3481629 by Max.Chen Sequencer: Add Level Sequence Actor as an output for CreateLevelSequencePlayer() #jira UE-45785 Change 3481899 by Yannick.Lange VR Editor: Added debug modetoggle command with an event that is broadcasted whenever this happens. Currently this is used to show all the floating UIs of the UI system to debug without HMD using VREd.ForceVRMode. Change 3481984 by Michael.Dupuis #jira UE-45845: always validate if we have a static mesh before trying to access it as user can decide to not assign one and use the tools Change 3482047 by Nick.Darnell Slate - Adding some comments to IsWidgetCulled. Change 3482110 by Nick.Darnell Slate - IsWidgetCulled is no longer static and is now called IsChildWidgetCulled. Change 3482136 by Jamie.Dale The CamelCase break iterator now treats digits around character tokens as part of the identifier Change 3482138 by Michael.Dupuis #jira UE-45854: Properly unregister during undo operation Change 3482150 by Michael.Dupuis #jira UE-45845 : Add missing nullcheck for GetStaticMesh Change 3482153 by Nick.Darnell Slate - IsWidgetCulled is no longer static and is now called IsChildWidgetCulled. Change 3482180 by Nick.Darnell UMG - Widget Components do not need to define a widget class to be rendererd, they can have native slate widgets only. This was a regression from main. Change 3482273 by Nick.Darnell UMG - Tweaking some more things about the widget component box outline. Change 3482308 by Alexis.Matte Fixing morph target smooth group support. Do not call FillSkeletalMeshImportData more then once on FbxNode since this fonction is doing some conversion and change the FbxNode, applying those conversion twice do not return the same faces smooth group. #jira UE-45696 Change 3482327 by Nick.Darnell UMG - More tweaks to the WidgetComponent so both shows the box outline, but works in game and VR editor. Change 3482705 by Andrew.Rodham Resaving assets that contain legacy data to suppress CIS warnings. - If conflicts arise in these assets, please take game-side changes and ignore these. Change 3484245 by Max.Chen Sequencer: Evaluate on end scrub. This fixes a bug where audio doesn't evaluate in a stopped position at the end of scrubbing, causing it to not stop all sounds. This fixes a bug introduced from 3365018 where evaluate on end scrub was removed. #jira UE-45905 Change 3484263 by Max.Chen Sequencer: Fix crash on forcing refresh of details panel on release. #jira UE-45911 Change 3484431 by Andrew.Rodham Resaving assets that contain legacy data to suppress CIS warnings. - If conflicts arise in these assets, please take game-side changes and ignore these. Change 3484474 by Alexis.Matte Fix the morph target animation curve name matching. #jira UE-20294 Change 3484475 by Alexis.Matte When removing a LOD, make sure we remove all morph target data associate to the LOD. Change 3484489 by Nick.Darnell PR #3668: UE-45908: Cache debug line locations when performing a LineTraceMulti (Contributed by projectgheist) #jira UE-45908 Change 3484692 by Nick.Darnell Slate - Reverting a change from a game stream. All Arranged Children don't need to allocated 42 to begin with. Do need to initialize WidgetPaths better. Change 3484703 by Nick.Darnell Player Input - Making the input event loop for players obey EKeys::NUM_TOUCH_KEYS, rather than being set to Touch10, as the maximum touch input amount, to make supporting greater than 10 touches easier. Also making the seeding of keys use EKeys::NUM_TOUCH_KEYS. #jira UE-43213 Change 3484918 by Jamie.Dale Fixed font measuring regression with RTL text RTL applies the character count to the next glyph, so it shouldn't process the end of the loop (this was how the older code used to work). Change 3485718 by Nick.Darnell Editor - Removing Super Search & User Feedback button. Change 3485719 by Nick.Darnell Portal - Removing SuperSearch. Change 3485751 by Matt.Kuhlenschmidt Fix crash accessing platformer game menu if the menu is open during a console based load #jira UE-45950 Change 3486047 by Arciel.Rekman Linux: add OpenEXR implementation (UE-40270). #jira UE-40270 Change 3486467 by Max.Chen Sequencer: Reset max tick rate when destroyed. #jira UE-45956 Change 3486477 by Max.Chen Sequencer: Refresh outliner when column is removed. #jira UE-45891 Change 3486667 by Andrew.Rodham Added missing include Change 3486724 by Andrew.Rodham Sequencer: Fixed curves with no default value, and no keys being evaluated and applied to properties - Also fixed an edge case where a zero (but non-animated) channel could be applied to a final transform Change 3486730 by Alexis.Matte In the Auto-Reimport options, hide the mout point only for the default /Game/ folder #UE-45684 Change 3486749 by Alexis.Matte Make sure the parent window of the monitor directory browse folder is set properly #jira UE-45682 Change 3486805 by Matt.Kuhlenschmidt Additional safety against invalid objects being accessed by slate Change 3486848 by Alexis.Matte Make sure Monitor folder feature support root mount point map folder During auto import, give priority to asset import factory over the scene import factory #jira UE-45691 Change 3486879 by Andrew.Rodham Removing obsolete QA assets Change 3486950 by Nick.Darnell PR #2281: Scrollbar missing features and SScrollbar fixes (Contributed by SNikon) Review - made some adjustments from the original. Change 3486954 by Nick.Darnell Slate - Moving the STableViewBase over to the FOverscroll class, rather than it's own clone. Change 3486967 by Nick.Darnell Slate - Fixing some HDPI calculations for fitting new windows on screen, it was using the unscaled size of the widgets for fitting, when it needed to scale them up. Change 3486970 by Andrew.Rodham Sequencer: Delay mouse capture until drag for sequencer time slider - Fixes context menus not opening as a result of mouse capture being taken on mouse down #jira UE-45937 Change 3486984 by Andrew.Rodham Sequencer: Improved blending type iconography Change 3486996 by Nick.Darnell UMG - Adding a way for games to opt-out of the slow widget path, to completely prevent them from being cooked. UMG - The movie data is no longer cloned for each new instance that inhabits. It now keeps a reference to the now publically accessible movie scene data on the class instead. Change 3487070 by Andrew.Rodham Sequencer: Added graphics for key areas that represent empty space Change 3487195 by Andrew.Rodham Sequencer: Changed evaluation groups to always flush implicitly - Due to the latent nature of blended token types, it's no longer safe to rely solely on execution token order between tracks - This fixes an issue where events set in the PostEvaluation stage were executed before blended token actuation Change 3487322 by Nick.Darnell PR #2457: Add .gitdeps.xml-files for plugins support (Contributed by bozaro) Change 3487363 by Nick.Darnell PR #2481: Fix for packing of a project with users plugins (Contributed by yatagarasu25) Change 3487439 by Nick.Darnell PR #2642: Changed private to protected in SVirtualJoystick.h (Contributed by Skylonxe) Change 3487500 by Arciel.Rekman Removed LinuxNativeDialogs. - No longer used; has been superceded by SlateDialogs since UE 4.8 (2 years ago). Change 3487630 by Lauren.Ridge Don't create Landscape Info Maps for Editor Preview Worlds or thumbnail worlds #jira UE-44885 Change 3487864 by Matt.Kuhlenschmidt Exposed the asset registry to blueprints and script. Works in editor scripts and runtime scripts AssetRegistry is now a UInterface object. Blueprint users can access various asset registry methods using the asset registry interface (via GetAssetRegistry) and various static helpers in the AssetRegistryHelpers object C++ users should still continue to use IAssetRegistry. Change 3487879 by Matt.Kuhlenschmidt Renamed asset tools uobject helper to UAssetToolsHelpers Change 3487926 by Lauren.Ridge Fixing reset to default not showing up for custom widgets #jira UE-44164 Change 3488184 by Matt.Kuhlenschmidt PR #3656: Make References/Referencers List copyable (Contributed by user37337) #jira UE-45763 Change 3488240 by Matt.Kuhlenschmidt Fix compiler issue Change 3488350 by Lauren.Ridge Landscape info map transactional state is based on its world's transactional state #jira UE-44885 #jira UE-46019 Change 3488412 by Matt.Kuhlenschmidt Fix reset to default showing up in two different places for some customizations Change 3488413 by Matt.Kuhlenschmidt Fix slate font customization Change 3488414 by Matt.Kuhlenschmidt Fix slate font customization Change 3488415 by Matt.Kuhlenschmidt Missed file Change 3488565 by Arciel.Rekman Add pretty printers for gdb (UETOOL-1171). - Committing shelf by Cengiz.Terzibas, with some modifications. #jira UETOOL-1171 Change 3489094 by Nick.Darnell Slate - The Slate RHI Renderer now caches the TextureLODGroups so that it can properly lookup the filtering of different texture groups that are set to Default, instead of a particular filter override on a texture. Engine/Rendering - Simplifying some of the setup logic in TextureLODSettings so that code is shared for setting them up properly after loading from a config file. Change 3489095 by Nick.Darnell PR #2699: GameViewportClient - Added a method to allow setting the viewport cur. (Contributed by rfenner) Review - Fixed spacing. Change 3489108 by Matt.Kuhlenschmidt Fix deprecation warning Change 3489120 by Nick.Darnell PR #3478: Fix possible UComboBoxString crash (Contributed by nakosung) Change 3489147 by Andrew.Rodham Sequencer: Adding return value to function to appease static analysis - This function is never compiled, and if it is, it won't compile, but static analysis doesn't know that Change 3489264 by Nick.Darnell Testing - Finishing the thought behind an enum comment. Change 3489265 by Nick.Darnell PR #2750: UE-35164: Button padding (Contributed by projectgheist) Change 3489267 by Nick.Darnell PR #3645: UE-45464: Handle SSlider mouse interaction more accurately (Contributed by projectgheist) Change 3489632 by Arciel.Rekman Correctness changes to MallocPoisonProxy. - Missing forwarding functions added. Incorrect comment removed. - Change by Steve.Robb, doing here so it is in 4.17. Change 3489689 by Arciel.Rekman More MallocPoisonProxy changes I missed in previous CL. Change 3489751 by Matt.Kuhlenschmidt Moved editor performance settings out of per-project settings so they can be shared across projects Change 3489837 by Lauren.Ridge Keyboard shortcut for entering/leaving VR Mode is now Alt+V Change 3491082 by Arciel.Rekman Linux: better fix for the crash due to name collision (UE-46040). - Put classes in Sequencer module into Sequencer namespace instead of SceneOutliner namespace. - Undid change in the SceneOutliner module. #jira UE-46040 Change 3491096 by Arciel.Rekman Fix UAT compilation on the newest mono. Change 3491240 by Max.Chen Sequencer: Disable key button when allow level edits only is on. #jira UE-46060 Change 3491406 by Yannick.Lange Fix editor crashes when opening a project that includes a plugin with more than two custom Volume classes. This issue was caused because registering show volume commands is based on finding volume classes. Finding these classes at multiple times resulted in a mismatch of the returned array of volume classes because modules/plugins were still being loaded. #jira UE-45806 Change 3491559 by Alexis.Matte Make sure we use the good preview mesh when doing a preview #jira UE-45963 Change 3491563 by Alexis.Matte Fix crash with staticmesh editor LodLevel selection Change 3491564 by Nick.Darnell UMG - Fixing an offset with the grab handles in HDPI mode. Change 3491595 by Nick.Darnell Editor - Fixing a clipping artifact in the pin type dropdown in the blueprint editor. Change 3491604 by Nick.Darnell Back out changelist 3489265 Change 3491615 by Arciel.Rekman Added malloc replay proxy (Linux only for now). - Allows to dump malloc callstream (without regard to threads) and replay later to study the behavior of different mallocs and/or repro problems. Change 3491684 by Arciel.Rekman Added FMalloc functions I missed. - Also moved function bodies into the .cpp file, this does not make a difference in performance in this case. Change 3491692 by Matt.Kuhlenschmidt Some minor fixes to the static mesh editor - Fix UV combo button looking non-standard on the toolbar - Fix a few combo buttons in the details panel looking too big. Change 3491702 by Arciel.Rekman Do not compile replay proxy-specific code when not used. Change 3491717 by Michael.Dupuis #jira UE-35083: The component is now the owner of the PerInstanceRenderData instead of the proxy Add an Update path to only update specified instances range Always call BuildTreeIfOutdated so we have a standard code path to make sure static mesh are fully loaded before trying to build the tree Moved the Instance Buffer aysnc to the base class, as it's not related to UHierarchicalInstancedStaticMeshComponent Expose a new property to decide if we require dynamic instance buffer Change 3491758 by Matt.Kuhlenschmidt Fix crash on static mesh editor shutdown Change 3491873 by Cody.Albert Fixed clipping issue in Sequencer curve editor #rnx Change 3491956 by Matt.Kuhlenschmidt Fix crash opening the Previewing sub-menu in the level editor settings menu #jira UE-46095 Change 3492046 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3492076 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3492165 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3492222 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3492274 by Michael.Dupuis #jira UE-46105: Fixed Clang warning Change 3492338 by andrew.porter QAGame: Testing ensure when submitting Change 3492371 by Nick.Darnell UMG - Reverting the animation sharing, cossed GLEO regressions in cooking. Will look for a better solution. Change 3492462 by Matt.Kuhlenschmidt Fix ensure checking in files through perforce Change 3492491 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3492505 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3492517 by Jamie.Dale The package localization ID is no longer used at all at runtime, and is now truly editor-only This should have always been the case, but it was leaked into manifest/archives/PO files in 4.14, and while 4.15 removed it from PO files it was still present in the manifest/archives. This change removes it entirely (unless gathering editor-only data, and even then the PO file will still collapse the entries together for translation), and the deprecated 4.14 export behavior will now produce an error if you attempt to use it. After taking this change you'll need to run a gather, import, and compile of your LocRes files to update your game localization to use the new localization IDs. Change 3492630 by Nick.Darnell UMG - Removing some extra cleanup code that's probably overkill and is causing a crash for uses of "Within" in class meta. #jira UE-46124 Change 3492692 by Matt.Kuhlenschmidt Fix drop shadows inheriting the outline color of the font. The outline should still appear but not have a different outline color from fill color Change 3492714 by Matt.Kuhlenschmidt Added outline with drop shadow to font automation test Change 3492737 by Matt.Kuhlenschmidt Fix linux Change 3492992 by tim.gautier Resaving Ocean Widget Blueprints / Sequences to resolve Legacy Sequence Data warnings #jira UE-46132 Change 3493089 by Jamie.Dale Ensure that the composite font of a font asset is flushed when the font object is GC'd Change 3493322 by Jamie.Dale Fixing null crash #jira UE-45758 Change 3494467 by Andrew.Rodham Fix Xbox warning Change 3494852 by tim.gautier QAGame: Changed streaming method of QA-EditorSmoke-Landscape to Always Loaded Change 3494853 by Nick.Darnell Another attempt at fixing the automation blueprint SA warning. Change 3494896 by Arciel.Rekman Fix possible null pointer access during Vulkan init. - May fix static analysis warnings in UE-46142, although warnings seem to be referring to something else. #jira UE-46142 Change 3494987 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3495010 by Matt.Kuhlenschmidt Adding additional logging to track down html5 issue Change 3495212 by Michael.Dupuis #jira UE-46143: Properly init the InstanceRenderData during the cooking phase (required by fortnite) Change 3495536 by Jamie.Dale Updating UGameEngine to call its Super::PreExit after performing its own teardown This prevents UEngine cleaning up resources that UGameEngine still needs. #jira UE-46159 Change 3495551 by Arciel.Rekman Another attempt to fix analyzer problem (UE-46142). Change 3495794 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3495905 by Matt.Kuhlenschmidt Fix USD crash when importing a meshwith no material [CL 3499771 by Matt Kuhlenschmidt in Main branch]
2017-06-19 20:27:30 -04:00
LayerId = DrawSelectionRange(AllottedGeometry, MyCullingRect, OutDrawElements, LayerId, RangeToScreen, PaintArgs);
}
if( Args.bDisplayTickLines )
{
static FLinearColor TickColor(0.f, 0.f, 0.f, 0.3f);
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3946692) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3801826 by Max.Chen PR #4304: Level Sequence crash fix - Guarded against dereferencing null componen. (Contributed by DSDambuster) Change 3801828 by Max.Chen PR #4302: Movie Scene Visibility Template unitialised variable, causing random . (Contributed by DSDambuster) Change 3801837 by Max.Chen Sequencer: Delay spawning/construction for convert to possessable. This fixes a bug where property values would be lost when converting back and forth from possessable to spawnable. #jira UE-52400 Change 3801841 by Max.Chen Sequencer: Make spacer nodes not selectable. PR #4194: Improvements to Sequencer (Contributed by projectgheist) #jira UE-53117 #jira UE-52139 Change 3804183 by Max.Preussner MediaAssets: Added missing lock in media sound component Change 3805414 by Max.Preussner MediaAssets: Setting valid GUID when initializing media texture resource Change 3819578 by Max.Chen PR #4370: When enabling the "MovieCapture", do not turn off the Stereo-3D display. (Contributed by yehaike) #jira UE-53647 Change 3823414 by Max.Chen Curve Editor: Lock down the first and last keys in the redundant keys removal range so that they're unaffected. #jira UE-53591 Change 3826406 by Max.Chen Sequencer: Move OnStartedPlaying() to within first update in UpdateTimeCursorPosition(). This fixes an issue where setting the hud/player visibility was getting stomped on later. #jira UE-52772 Change 3827044 by Max.Preussner MediaAssets: Added sprite visualization to media sound component #jira UE-53594 Change 3827988 by Max.Preussner MediaPlayerAssets: Fixed Media Texture is not linked to Media Player when created together #jira UE-53532 Change 3828506 by Max.Preussner MediaPlayerEditor: Added attenuation visualizer for media sound components #jira UE-53594 Change 3832590 by andrew.porter EngineTest: Added a keep state check in Property Animation sequencer test Change 3833053 by andrew.porter EngineTest: Adding Hierarchical Bias test Change 3835683 by andrew.porter EngineTest: Adding UMG Animation screenshot test Change 3836076 by Max.Chen Sequencer: Fix audio volume and pitch multiplier deprecation. Change 3836230 by andrew.porter EngineTest: Adding Sequence Bone Position automation test Change 3836347 by Max.Chen Sequencer: Fixes to shot name parsing. When a shot doesn't contain a shot number, assume, [ShotName]_[TakeNumber]. When duplicating a shot, put the new shot in the same path of the original shot, so that the take numbers will increment properly. #jira UE-51868 Change 3836552 by Max.Chen Sequencer: Sub section now has a takes menu Change 3838094 by Max.Chen UMG: Fix template finish not getting called on stop. This fixes a bug where sections aren't restored when finished. #jira UE-52285 Change 3838708 by Max.Chen Sequencer: Add notification when the blend type is changed. #jira UE-54046 Change 3840295 by Max.Chen Sequencer: Fix copy/paste crash for lights #jira UE-54084 Change 3840957 by Mike.Zyracki Added Show Only Keyable and Show Only Animated to the filter list in the property editor. Added IsPropertyAnimated to IDetailKeyframe Interface which already had support for showing properties which are keyable (which is used for the key icon next to the properties.). Could have created another interface but then would have had to mimic the sequencer binding, releasing also, so this seemed best way. One issue still left is that custom built detail items currently don't store associated properties(usually) and so certain properties, in particulalry transforms, won't show up as keyable or animated. Note this also shows up with the keyable icon not showing up next to transform tracks, and other filters like Show Only Modified not working with transforms/customs. Not sure best way to tackle this. #jira UESEQ-328 Change 3841756 by Max.Chen Sequencer: Fix unbound possessable components when pasting spawnables. #jira UE-54104 Change 3843950 by andrew.porter EngineTest: Renaming LevelStreaming tests/content to LevelVisibility Change 3844082 by Mike.Zyracki Missing file for animated filter in property editor. When finding if a track is animated we need to find it but we can't easily induce the MovieTrack class for any particular property. So we don't set a class for it and just search by it's ID and name. #jira UESEQ-328 Change 3846902 by Max.Preussner ImgMedia: Fixed image media player never finished initialization if loading failed #jira UE-54247 Change 3849820 by Mike.Zyracki Reassigning deleted widgets didn't work since the menu extender mechanism needs a valid UObject in order to perform an operation on it. So to fix we replaced GetObjectBindingContextMenuExtender in WidgetBlueprint with new delegate mechanism (OnBuildCustomContextMenuForGuid) that supports FGuid in addition to UObjects which is needed to handle re-binding deleted widgets. Note that the default sequencer hacks this for replacing deleted actors in SequencerObjectBindingNode to check to see if a LevelSequence is active. We could move to this mechanism there also. #jira UE-53163 Change 3852211 by Max.Chen UMG: Indicate name of the property that is not bound. #jira UE-54350 Change 3854120 by Max.Chen Sequencer: Fix sibling folders being allowed to have the same folder name. #jira UE-54363 Change 3854627 by Max.Chen Sequencer: Step to next/previous key should work for all tracks if there aren't any selected. #jira UESEQ-391 Change 3855825 by andrew.porter EngineTest: Adding animation blending automation test Change 3855950 by andrew.porter EngineTest: Adding correct expected valuues to animation blending test Change 3856237 by Matt.Hoffman UESEQ-336 - Sequencer Track Reordering Adds the ability to re-order Master Tracks, Folders and Object Bindings within sequencer hierarchies (including UMG). Adds the ability to do a one-off sorting of the content under the old sorting behavior if the user wants to reset their layout to how it was under legacy behavior. Modifies SequencerTrackNodes, SequencerFolderNodes and SequencerObjectBindingNodes to handle CanDrop/OnDrop for above, below and ontop of. Fixes a Slate Issue that forcibly expanded a TreeviewRow if an item handled OnDrop. Slate will now only forcibly expand the row if the item says the drop happened ontop of the item, and not above or below it like it previously did. Change 3856503 by andrew.porter EngineTest: Adding automation test for using animation blueprint with blend multi node in sequencer Change 3857875 by Max.Chen Sequencer: Assign the sequence id after the template is compiled. #jira UE-54462 Change 3858344 by Max.Chen Sequencer: Prevent Goto and Transform boxes from overlapping by allowing them to be visible at the same time in an autosized horizontal box. Also, added close button to the goto box. PR #4425: Prevent Goto and Transform boxes from overlapping in Sequencer ... (Contributed by projectgheist) #jira UE-54210 Change 3860566 by andrew.porter MediaFrameworkTest: Set the option to index 0 for the audio and video track list by default Change 3860654 by andrew.porter EngineTest: Enabling Camera Cut + FOV test Change 3860981 by andrew.porter EngineTest: Updating skeletal mesh tests with a delay after set playback position Change 3861256 by Max.Chen Sequencer: Add all bindings if none selected. #jira-54440 Change 3862154 by Andrew.Rodham Added TimeManagement module Change 3862424 by andrew.porter EngineTest: Turned on the test Bone Positions with Blend Multi Node Change 3862573 by andrew.porter EngineTest: Adding test to compare bone positions in a sequence that is blending an animation that is using an AnimBP Change 3865117 by Max.Chen Sequencer: Stop auto scroll on mouse release of movement. #jira UE-31212 Change 3865303 by Max.Chen Sequencer: Add drag and drop transactions #jira UE-54662 Change 3865304 by Max.Chen Sequencer: Fix crash when an actor factory is not found. Change 3865361 by Max.Chen Sequencer: Don't change the camera/shot lock button when popping out of a sequence. #jira UE-54665 Change 3865412 by Max.Chen Sequencer: Determine whether a transform track is for a camera by using the spawned object or template #jira UE-54666 Change 3865685 by Max.Chen Sequencer: Clear autoscrub offset when stopping autoscroll #jira UE-31212 Change 3865886 by Max.Chen Sequence Recorder: Log an error if the number of frames changes while recording. This can happen if the skeleton changes while recording. #jira UE-48715 Change 3866925 by Andrew.Porter MediaFrameworkTest: Changing the current PNG test video image sequence to 1024 x 576 Change 3867705 by andrew.porter QAGame: Adding Audio Sort Sequence to dev folder Change 3867890 by andrew.porter QAGame: Adding a sequence for testing a sorting crash to my dev folder Change 3872628 by Max.Chen Movie Scene Capture: Split delay before warmup into split delay before shot warmup so that there's separate controls for when the movie scene capture warmups up vs. shot boundaries. Change 3873131 by Matt.Hoffman UE-54732 - Crash reordering a folder with a track. This was caused by folders being the only type of track to check if someone was putting a parent track into a child track. Object Binding tracks and Tracks now check as well so that you can't use the above/below drop targets to add parents as children. This also fixed a typo in the localization keys. #jira UE-54732 Change 3873301 by Mike.Zyracki Added ability to support continous euler angle changes when changing rotations, in particularly with the rotation gizmo's. To do this we effectively added a form an of 'euler filter'(https://en.wikipedia.org/wiki/Euler_filter) to find the closest euler angle to the current euler angle. Three functions were added to FRotator to make this possible, one to get the euler angle that's has the same rotation as it, one to get the difference between two euler angles via Manhattan distance and a third using the previous two to choose a Rotator value that's closest to it. We then use these functions before calling UComponent::SetRelativeRotation to make sure we use the correct Euler after the Quat conversion. We also no longer limit(bound) the euler angles to -180,180, which is obviously necessary to avoid flips. I also changed how we caluclate yaw and roll when pitch is -90 or 90 to make it the standard approach of zeroing out roll and just setting yaw. Main reasons are the previous implementation had precision issues so things like 180, 90, -180 would show up due to numbers being nearly zero but negative,(this would break any smooth interpolations), and this facilitates having a 'gimbal' rotation mode (like Maya, Blender etc..) if we ever want that also. If needed we could keep the previous implementation but would need to add some FMath::IsNearlyZero checks, with less performance. Note we only do this special filtering when applying delta's to actors or components in the editors, which then call UComponent::SetRelativeRotationExact, which is a new function to foces the RelativeRotation to be equal to the new rotation. This allows us to store un-nomalized Rotators at the cost that the RotationCache may be broken. We didn't change any of the other UComponent functions that set rotations (via Quats or Transforms) so they will still be bounded and unwound. In SetInternalWorldLocationAndRotation we only set the rotation if the rotation has changed, which fixes the rotation getting changed and re-normalized if just translate happens. In TransformTrackEditor, we correclty use the bUndwing flag and in MovieScene3DTransformSection there was an un-needed winding check there, it will be unwound earlier if needed, which happens if Sequence Recording is happening. Max we should talk about what to do about this . Note the euler angle drag via the widget is still bound to 0-360. I think we should just unbound that now since the rotations value are now unbound. This review now includes fixes suggested by Zak. #jira UE-UE-22228 Change 3873483 by Matt.Hoffman Sequencer Tracks can now be inserted above the spacer at the bottom of the tree. #jira UE-54706 Change 3873899 by Max.Chen Sequencer: Add section selection throbbing Change 3873908 by Max.Chen Movie Scene Capture: Added logging per frame Change 3873924 by Matt.Hoffman Adds the ability to store Sequence Recorder setups into profiles that stay with the map and can be re-loaded later. Profiles store the Actor Recordings so the settings for each actor should carry with them. #jira UESEQ-339 Change 3874726 by Matt.Hoffman Disable drag-and-drop targets on spacers that come between rows in Sequencer. This prevents extra drag/drop targets showing up between each row. #jira UE-54706 Change 3874862 by Matt.Hoffman Audio Track no longer gets reordered when adding sub-audio tracks, as sub-tracks are no longer counted towards the sorting order index when normalizing indexes. #jira UE-54727 Change 3875905 by Matt.Hoffman Disable Fade Track UI if a fade track already exists in the sequence. #jira UESEQ-393 Change 3876163 by Max.Chen Sequencer: Swap the camera object to the camera component's owner if it's not the same. #jira UE-54874 Change 3876971 by Andrew.Porter EngineTest: Moved Media Player Seek test to new folder. Also enabled the test with new ground truth image. Change 3877040 by Max.Chen Cine Camera: Split camera properties to two groups, "Camera Options" and "Camera Settings". The cine camera now hides properties in the "Camera Settings" group so that properties like bConstrainAspectRatio (in the "Camera Options" group) can be visible. #jira UE-54192 Change 3877763 by Max.Chen Curve Editor: Fix curve changed on end drag so that only curves that had keys/tangents that were changed receive notification, otherwise all loaded curves were getting notified that they were changed. #jira UE-54951 Change 3878234 by Matt.Hoffman Disable "Drop Below" targets for Sequencer Tree nodes to prevent a confusing UX issue where dropping underneath a Object Binding Node puts it after the object binding node but the UI looks like it's inserting it inside the Object Binding node. #jira UE-54743 Change 3879359 by Mike.Zyracki If a track is inactive we dim it a bit which seems to be the UE4 way to show inactive or disabled state. We changed the active logic so that all subtracks need to be inactive for the track to also be inactive(instead of all active for active). This conforms to how the active state actually works, e.g if you have two sections and only one is active the track is still active above it. #jira UESEQ-388 Change 3879462 by Max.Chen Sequencer: Allow dragging onto a particular row which would move out any overlapping sections to make space for the newly created section. Newly created sections are now selected and throbbed to draw attention to themselves. #jira UE-54664 Change 3879464 by Max.Chen Sequencer: Fixed overlapping ranges being inserted into the evaluation field during compilation - The issue was that track segments that had been combined with adjacent segments (due to them being identical) would potentially cause a subsequently compiled frame to overlap with a range that had already been inserted into the evaluation field. - The insertion code previously asserted that only minor overlaps were catered for (due to fp rounding errors) and assumed that a supplied range could not entirely contain any other range in the field. - The solution is to supply the insertion time along with the range to know exactly where the data should live in the field, and crop the range to the maximum allowable space between adjacent ranges. #jira UE-54922 Change 3879590 by Matt.Hoffman Items that are now added to the Sequencer via the "+Track" menu will be selected after being added. Items can now be added inside of folders instead of just to the root level. #jira UE-27397 Change 3879612 by Mike.Zyracki Display Nodes with no children are always active. #jira UESEQ-388 Change 3879730 by Matt.Hoffman Sequence Recorder's actor recording groups now remove items from the group when removed via the UI. #jira UESEQ-339 Change 3880256 by Mike.Zyracki Fix issue with inactive display with folders and other track nodes. #jira UESEQ-388 Change 3883491 by Max.Chen Fix issue where tick is skipped due to last ticked pose isn't cleared after AnimInstance changes. Copy from Release-4.19 #jira UE-51323 Change 3883603 by Max.Chen Movie Scene Capture: Add option toggle disable screen percentage. By default this is on (no change in current behavior). #jira UE-51898 Change 3885074 by Max.Preussner MediaCompositing: Resetting media texture & freeing resource on section end; removed dead code Change 3887220 by Max.Preussner MediaCompositing: Defaulted media section duration to 1 sec (since we do not know the actual duration in most cases) Change 3887478 by Matt.Hoffman Sequences now show [Inactive] in their title bars when they're disabled. This helps communicate why a sequence isn't being evaluated. #jira UE-51469 Change 3888985 by Max.Chen Movie Scene Capture: Clamp HDR Compression Quality between 0 and 1. #jira UE-55136 Change 3893519 by Max.Chen Sequence Recorder: Clarified tooltip for bRecordNearbySpawnedActors - spawned actors will still be recorded if they match the ActorFilter. #jira UE-55238 Change 3893546 by Max.Chen Sequence Recorder: If a selected actor already has a recording, add a blank recording. #jira UE-55239 Change 3894044 by Max.Preussner MediaCompositing: Added support for seeking into a media section Change 3894310 by andrew.porter MediaFrameworkTest: Adding Img media sources for 1080 and 2160 ravent test content Change 3894426 by Max.Preussner MediaAssets: Letting media textures with AutoClear retain their clear color when player is reset Change 3895717 by Max.Chen Sequencer: Null checks to prevent crash when saving the default state of a spawnable #jira UE-55304 Change 3897388 by Max.Chen Sequencer: Don't update current time to be within the view range when stepping into a sequence. #jira UE-55322 Change 3897452 by Max.Chen Audio: Fix crash when trying to record audio without any active capture devices. Log warning if the number of input channels is not 1 or 2. #jira UE-55223 Change 3897619 by Max.Preussner MediaCompositing: Removed commented out code Change 3898072 by Max.Chen Sequencer: Override the animation asset in the player state if it doesn't match the animation asset that's being evaluated. #jira UE-55328 Change 3898272 by Max.Preussner MediaPlayerEditor: Made slate brush constants static Change 3898704 by Max.Chen Sequencer: Skip if the binding id's sequence can't be found. #jira UE-55337 Change 3899855 by Max.Preussner MediaCompositingEditor: Added cache state visualization to media track Change 3900300 by Max.Preussner MediaCompositingEditor: Added loop indicators to media sections Change 3900694 by Max.Preussner ImfMedia: Looping cache only when player is looping Change 3900892 by Max.Preussner Stats: Added stats category for media framework Change 3900954 by Max.Preussner MediaCompositing: Don't evaluate at the end of media section Change 3901348 by Max.Preussner Core: Replaced TLruCache autos for better readability Change 3901655 by Max.Preussner ImgMedia: Added more perf stats to EXR reader Change 3901972 by Max.Preussner MediaAssets: Added getter for media player in media sound components Change 3902233 by Max.Preussner MediaAssets: Enabling media textures to receive samples right after player is assigned Change 3902238 by Max.Preussner MediaCompositing: Working around init/shutdown idiosyncracies in sequencer Change 3904045 by Max.Chen Sequencer: Fix copy/paste crash. Only process UMovieSceneCopyableBinding and objects that can be spawned by the movie scene spawn register. #jira UE-55314 Change 3905605 by Max.Chen Sequencer: Restrict spawnables from being created if they have a ClassWithin that UMovieScene is not a child of. #jira UE-55429 Change 3906550 by Max.Chen Sequencer: Add media track icon #jira UE-55480 Change 3907101 by Max.Chen Sequence Recorder: Fix bugs related to not recording a level sequence. There were certain assumptions that creating a level sequence meant that sequence recording was in progress. This is not always the case - the recorders can record animation assets and not create a level sequence. Changed the notion of IsRecording() to having at least one actor recording that is recording. Countdown timer, recording displays, etc should function if IsRecording() and not based on whether a level sequence is created. #jira UE-55485 Change 3907247 by Max.Chen Sequence Recorder: Fix crash not removing PrepareToCleanseEditorObject delegate. Repros when opening sequence recorder, closing it, and then opening or creating a level. Change 3910343 by Max.Preussner Core: Added async helper for executing functions on a given thread pool Change 3910346 by Max.Preussner ImgMedia: Added separate thread pools for loading/decoding and deleting image frames Change 3910829 by Max.Preussner Profiler: Increased visible range of profiler graph Change 3910841 by Max.Preussner MediaCompositing: Displaying asset name instead of full media source path in media section Change 3910870 by Max.Preussner ImgMedia: Using deallocation thread pool only in debug builds Change 3919642 by Max.Chen Sequence Recorder: Clarify active tooltip #jira UE-55661 Change 3919660 by Max.Chen Sequencer: Sequence template source signatures are now also compared to catch the case where a sub-sequence asset has been saved but not modified - The following sequence of events exposes this issue: - Create a master sequence with a single shot that spawns a cube - Add this sequence to a level and set it to auto-play - Save everything and restart - Resave just the inner shot asset without opening it - PIE - The inner shot never spawns its cube because its template was wiped on save, but its signature never changed. Since the master sequence previously didn't check the template source signature, it ends up trying to evaluate an empty template. #jira UE-55626 #jira UE-55490 Change 3921825 by Max.Chen Sequencer: "Run Construction Script in Sequencer" is off by default for blueprints but on for Sequencer. This allows the content author to switch it on for specific blueprints and sequencer will be default, run those with construction scripts enabled. Change 3922232 by Max.Chen Sequence Recorder: Reset countdelay on stop. #jira UE-55755 Change 3922306 by Max.Chen Sequence Recorder: Don't automatically mark transforms to be recorded by sequence recorder. Instead, log a warning if the user toggled it off to warn that the resulting animation might not match gameplay. #jira UE-55758 Change 3922912 by Max.Chen Sequence Recorder: Fix refresh next sequence name #jira UE-55757 Change 3927654 by Max.Chen Movie Scene Capture: Added format mapping for the name of the current camera #jira UE-55769 PR #4537 Change 3927658 by Max.Chen Sequencer: Added fbx property mapping for "FocusDistance" to "FocusSettings.ManualFocusDistance" #jira UE-55782 Change 3932022 by Max.Chen Sequencer: Add import animation track section to next available row index. #jira UE-55892 Change 3933919 by Max.Chen Sequencer: Jump to playback start frame and not 0 to start playback for recording. #jira UE-55933 Change 3934307 by Andrew.Rodham Sequencer: Add template signature that is re-generated every time the base template is regenerated, which invalidates evaluation fields This fixes an issue where the same sequence is instantiated multiple times in a sequence. If the source sequence was saved, its template would be wiped, which would invalidate the template ID When an instance tries to evaluate the master template, it would only invalidate a range in the evaluation field that was the hull of any invalid sub sequences overlapping the current time, potentially leaving invalid data in the evaluation field at positions later (or earlier) on in the sequence When the sub template was re-generated, it receives the same SequenceSignature as it had before (because the sequence hasn't actually changed), which causes the stale evaluation field data to fail the IsDirty check (because the sequence is the same as it thought, but the *template* has changed) This has been addressed be adding a signature to templates themselves, and checking both the template signature and sequence signature as a part of the IsDirty check. This ensures that we regenerate if either the template, or the sequence have changed. #jira UE-55934 Change 3936327 by Andrew.Rodham Sequencer: Removed increment when trimming right UMovieSceneSection::TrimSection already explicity assigns an exclusive bound to the time passed in. The new behavior means we can trim a section to the right, and insert another section without changing the time to create adjacent sections. #jira UE-42652 Change 3936328 by Andrew.Rodham Fixed KeyFrameManipulator assignment operators and copy/move constructors - These types are potentially self-referential so cannot use default constructors/assignment Change 3936330 by Andrew.Rodham Converted UMGSequencePlayer to use frames internally #jira UE-54878 Change 3936726 by Max.Chen Sequencer: Set track node as the parent of the key area node. The key area switcher needs the object binding id from the parent object binding node. Without this, the binding to the external value fails. #jira UE-55931 Change 3936775 by Max.Chen Sequencer: Should stop or loop should compare DurationFrames with Current Time from StartTime. The bug is that if you set 30 warmup frames in movie rendering for a range of 0-100, the FrameRange will be starting at -30 and have a duration of 130. Without this fix, the playback will continue until frame 130, rather than 100. #jira UE-55933 Change 3936935 by Matt.Hoffman Easing Curves are now represented in Play Rate resolution instead of internal resolution. #jira UE-55937 Change 3937069 by Matt.Hoffman Users can toggle if the is infinite on each side, limited by which tracks support infinite ranges. #jira UE-55891 Change 3937516 by Max.Preussner ImgMedia: Added support for single-threaded platforms #jira UE-55986 Change 3937826 by Max.Preussner MediaAssets: Disabling media sound components on HTML5 if AudioMixer is not enabled Change 3937997 by Max.Chen Curve Editor: Add Zoom to Fit Curves so that selected curves from Sequencer can be focused on. Tested that undo doesn't re-zoom. #jira UE-55935 Change 3938000 by Max.Chen Sequencer: Stop all sounds before generating audio waveforms. #jira UE-55951 Change 3938376 by Max.Preussner XGEController: Disabled XGE Controller in single-threaded apps to prevent crash Change 3938444 by Max.Preussner Core: Added async support for single-threaded applications Change 3938445 by Max.Preussner Networking: Added support for single-threaded applications in UDP socket sender/receiver Change 3938447 by Max.Preussner Messaging: Added support for single-threaded applications Change 3939432 by Max.Chen Sequence Recorder: Append command list to global level editor actions so that shortcuts are accessible in level editor. #jira UE-55798 Change 3940229 by Andrew.Rodham Added prospective display rate upgrade to UMovieScene::PostLoad - There was previously some very odd behaviour that would assign the fixed frame interval only when a sub sequence was focused in SSequencer. This meant that many sequences could have a frame interval of 0 set in the data. - Under the old method of snap interval display this would have fallen back to getting the display interval from the sequencer settings, but we no longer look at these. - The USequencerSettings properties have been removed and in their place, a prospective data upgrade for sequences that have a fixed frame interval old 0fps that sets the play rate to the previous defaults based off the old USequencerSettings defaults. - This could end up 'changing' the display rate for sequences where the user has changed the snap interval in the settings for a particular sequence editor, but there's not much we can do about that given we don't have access to the USequencerSettings classes in UMovieScene #jira UE-55919 Change 3940277 by Andrew.Rodham Sequencer: Added ability to default frame resolutions and play rates for newly created actor sequences Change 3940378 by Andrew.Rodham Sequencer: Post move import dialog now defaults to the playback framerate of the sequence, and floors to frame numbers Change 3940559 by Andrew.Rodham Reinstated primed or recording sequence color Change 3940642 by Max.Preussner ImagePlate: Removed image plate media playback functionality Change 3940843 by Max.Preussner Core: Made TCircularQueue actually thread-safe; improved code comments Change 3940860 by Max.Chen Sequencer: Changed StructNameToKey to StructPathToKey Previously, keying a PropertyPath of [RenderTransform][Shear][X] would get trimmed to X, which doesn't map to a channel name as considered by Sequencer2dTransformTrackEditor. Instead, trim the resulting property path to [Shear][X] so that track editors can determine the desired struct path and channels to key. #jira UE-52966 Change 3941292 by Mike.Zyracki Fix for trajectories out of range not showing up. 1) If we had no key data we would pop the time, so wouldn't get the section ranges. 2) Calculating of upper bound was wrong, checking against -1 and not key == num of keys when doing algo::lower_bound. 3) No need to do the Bck-- for the bakward iterators since we fixed #2. We start now from the upper bound correctly. 4) If we had no keys (at section start,end) we would incorrectly say we were any key type, so since we draw constant keys as dashed we would do so incorrectly around section end points. #jira UE-55929 Change 3941424 by Max.Chen Curve Editor: Change Zoom to Fit to use TArrayView Change 3941498 by Max.Preussner Core: Added FMath::DivideAndRoundNearest function Change 3942097 by Matt.Hoffman Drop Frame Timecode Support for NTSC rates. Change 3942104 by Matt.Hoffman Sequence Recorder Group is no longer visible inside the World Outliner after using one. #jira 55266 Change 3942107 by Max.Chen Sequencer: Resurrect logic to find or extend an existing section when adding keys. Change 3942330 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942339 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942507 by Andrew.Rodham Sequencer: We no longer pad the time overlap threshold with a small number that is not scaled by the current zoom level - The presence of this pad was causing keys that were far apart to be grouped when zoomed in a long way Change 3942509 by Andrew.Rodham Sequencer: Only pad total view range, rather than section range as well when retrieving keys to render - This stops us from rendering keys that are within the view range, but outside the section range Change 3942512 by Andrew.Rodham Added transactions to some sequencer details customizations Change 3942513 by Andrew.Rodham Sequencer: Reinstated validation checks to UMovieSceneSection::SetStartFrame and SetEndFrame, changed erroneous uses to use SetRange Change 3942560 by Andrew.Rodham Pass by rvalue reference to appease error C2719 on Win32 ('InChannels': formal parameter with requested alignment of 8 won't be aligned) Change 3942697 by Andrew.Rodham Newly Created Level Sequences and Actor Sequences now default to 24000 fps frame resolution (+/- ~24hrs range, supporting all integer rates + 23.976) Change 3942700 by Andrew.Rodham Sequencer: Added legacy out-of-bounds errors for times that are not supported by the current legacy upgrade frame resolution Change 3942989 by Max.Preussner Core: Fixed circular queue count calculation Change 3943538 by Max.Preussner MediaAssets: Reverted workaround for procedural audio log spam in HTML5 (Actor component initialization cannot be skipped if the component is used in a level) Change 3944071 by Max.Preussner QAGame: Fixed Media Texture keeps last frame of Media when PIE ends #jira UE-53360 Change 3944292 by Max.Chen Sequencer: Added extra flags to ensure that asset initialization does not occur on template actor sequences #jira UE-56113 Change 3944364 by Max.Chen Sequencer: Prevent circular shot/master tracks. Tested adding master -> child -> master as drag and drop cinematic shot tracks and sub tracks as well as through the + button. #jira UE-56091 Change 3944422 by Max.Chen Sequence Recorder: Disable transform recording if off. #jira UE-56061 Change 3944745 by Andrew.Rodham Sequencer: Key rendering fixes - Fixed assert that occured when keys happened to reside on some times due to KeyTime + TimeOverlapThreshold - KeyTime being slightly larger TimeOverlapThreshold - Fixed keys sometimes being clipped when zoomed right in due to lack of half-frame offset - Added missing documentation to MovieSceneTimeHelpers.h #jira UE-56107 Change 3945231 by Andrew.Rodham Sequencer: Reconstruct channel proxy on Serialize to catch all cases of undo/redo, PostLoad and duplication #jira UE-56089 Change 3945301 by Andrew.Rodham Sequencer: Added safety checks during initial sequence recording to guard against applying negative or 0-sized sequence ranges #jira UE-56125 Change 3946627 by Max.Preussner Fortnite: Fixed game crashes closing editor while in PIE - Pure virtual function being called #jira UE-56144 [CL 3946896 by Max Chen in Main branch]
2018-03-14 22:09:33 -04:00
// Draw major tick lines in the section area
FDrawTickArgs DrawTickArgs;
Copying //UE4/Dev-Sequencer to //UE4/Main ========================== MAJOR FEATURES + CHANGES ========================== Change 2875025 on 2016/02/20 by Andrew.Rodham Sequencer: Cinematic viewport improvements - Added optional letterbox overlay (defaults to 2.35:1) - Added ability to change safe frame colors - Added selected tracks' keys to the transport range - Added buttons for jumping between selected tracks' keyframes on the transport controls - Removed black padding around the viewport where possible - Added ability to specify whether a combo button/menu anchor should close when its parent receives focus - Separated logic of FGroupedKeyArea into FSequencerKeyCollection, so it can be used independently - Added playback range to the viewport frame numbers - All frame numbers are now spin boxes #jira UE-26429 Change 2875026 on 2016/02/20 by Thomas.Sarkanen Added console commands for recording sequences Changed plugin to a developer plugin so we can load it when the editor is in -game mode. Added Exec commands. Added some more logging to help diagnose problems when using commands. Added loading/saving of config for recorder settings (stored in Editor.ini). Also disabled controls in recorder window when recording. Added auto-saving of assets when in non-editor modes. Moved animation settings from UnrealEd to Engine module. Change 2875036 on 2016/02/20 by Max.Chen Sequencer: Call RedrawAllViewports instead of RedrawLevelEditingViewports. In particular, this fixes some update issues when editing values in the key editors. #jira UE-26960 Change 2875046 on 2016/02/20 by Max.Preussner Sequencer: Fix so that clicking on UMG Animations doesn't dirty the scene. #jira UE-26249 Change 2875047 on 2016/02/20 by Max.Chen Sequencer: Add option to toggle display of channel colors/lines. View->Channel Colors Change 2877138 on 2016/02/23 by Max.Chen Sequencer: Select corresponding track node when selecting key or section. Removed active/inactive selection since it was only being used in deletion and the rules for deletion are now dependent upon what is selected - delete keys and sections before deleting outliner nodes. Change 2877143 on 2016/02/23 by Thomas.Sarkanen Added new math function: WindRelativeAnglesDegrees Given two angles in degrees, 'wind' the angle in Angle1 so that it avoids >180 degree flips. Good for winding rotations previously expressed as quaternions into a euler-angle representation. Change 2877147 on 2016/02/23 by Thomas.Sarkanen Added the ability to import sequencer transforms from the root node of an animation sequence Intended for use after re-importing animations from DCC tools. Available in the right-click menu for transform tracks. Also added FindTrackBinding to UMovieScene so track bindings can be recovered from tracks. Change 2877163 on 2016/02/23 by Max.Chen Sequencer: Add option to create keyframe sections as infinite. Sequencer defaults to true, UMG defaults to false. Change 2877165 on 2016/02/23 by Max.Preussner Sequencer: Drawing vertical position lines when dragging keys Change 2878748 on 2016/02/23 by Max.Chen Curve Editor: Switch curve type to user when flatting or straightening tangents. #jira UE-27277 Change 2878799 on 2016/02/23 by Frank.Fella Sequencer - Add folders support to the outliner. Change 2880769 on 2016/02/24 by Andrew.Rodham Sequencer: Added ability to override runtime spawnable ownership in sequencer - This is exposed as an option on spawnables "Keep Alive Outside Playback Range (In Sequencer)" - Enabling this will stop spawnables from being destroyed when scrubbing outside of the playback range #jira UE-27205 Change 2880770 on 2016/02/24 by Thomas.Sarkanen Sequencer: Added countdown and recording indicator display when recording Also fixed extra popups added post-PIE when animation recordings auto shutdown. Change 2880782 on 2016/02/24 by Max.Chen Sequencer: Snapping now also uses the current time as a possible snap time. #jira UE-26306 Change 2880793 on 2016/02/24 by Max.Chen Sequencer: Add +Animation to Animation track so that it's consistent with all other tracks that have a + button. Change 2880812 on 2016/02/24 by Max.Chen Sequencer: Fix adjusting the leading edge of a shot section so that it cuts into the shot rather than adjusts the start time. #jira UE-26306 Change 2881624 on 2016/02/25 by Andrew.Rodham Changing shader version GUID to fix corrupt shaders in ddc Change 2882408 on 2016/02/25 by Thomas.Sarkanen Asset/actors stored in TLazyObjectPtrs can now reference game content from engine This is a legitimate use case as lazy object ptrs are designed to reference assets/actors cross-domain. Change 2882409 on 2016/02/25 by Thomas.Sarkanen [CL 2899785 by Max Chen in Main branch]
2016-03-08 16:55:04 -05:00
{
DrawTickArgs.AllottedGeometry = AllottedGeometry;
DrawTickArgs.bMirrorLabels = false;
DrawTickArgs.bOnlyDrawMajorTicks = true;
DrawTickArgs.TickColor = TickColor;
Copying //UE4/Dev-Editor to //UE4/Dev-Main (Source: //UE4/Dev-Editor @ 3497164) #lockdown Nick.Penwarden #rb none ===================================== MAJOR FEATURES + CHANGES ===================================== Change 3433074 by Matt.Kuhlenschmidt Fix crash when clicking on certian tutorial blueprints. #jira UE-44593 Change 3433075 by Matt.Kuhlenschmidt Remove hittest grid log spam. The underlying problem causing this has been fixed Change 3433077 by Matt.Kuhlenschmidt Fix lighting becoming unbuilt when mesh painting #jira UE-44837 Change 3433081 by Matt.Kuhlenschmidt PR #3553: Crashfix for static array properties (Contributed by Pierdek) Change 3433104 by Alexis.Matte Make sure re-import skeletal mesh follow the import morph option #jira UE-42846 Change 3434825 by Matt.Kuhlenschmidt Fix crash when GC happens while the vr editor radial menu is open. Change 3434831 by Matt.Kuhlenschmidt Added missing file Change 3434868 by Shaun.Kime If you have a reroute node between a Material Function texture input and its usage, the parent material will fail to resolve the reroute node. #jira ue-44670 Change 3434998 by Alexis.Matte Meshes editors material/section panel are now fully transactional - Staticmesh editor: section material slot, section cast shadow, section collision, material slot instance, material slot name - Skeletal mesh editor: material slot instance, material slot name Also fix some transaction description #jira UE-44462 Change 3435195 by Jamie.Dale Fixed incorrect handling of some LTR scripts that require shaping These scripts need to go through HarfBuzz, and this also fixes a case where HarfBuzz wasn't applying font scale correctly. #jira UE-44767 Change 3435199 by Jamie.Dale Fixed some crashes/artifacts with bidirectional text It was possible for a line to compute an incorrect range, which could cause crashes or other highlighting issues. The highlighting logic has also been updated as the old code didn't handle all bidirectional cases correctly. Change 3435200 by Jamie.Dale Fixed a grapheme cluster metrics issue in the font editor viewport The viewport also now respects the default shaping method CVar. Change 3435771 by Alexis.Matte Fix degenerated bounds calculation for skeletalmesh when the skeleton is remove from a re-import (PhysicAsset API change, adding 1 function) #jira UE-44609 Change 3436856 by Jamie.Dale Added some missing Unicode block ranges Change 3436914 by Jamie.Dale Adding some missing combining character ranges to the text shaper Change 3436923 by Alexis.Matte PR #3463: Get bounds for all triangles, not just the first one. WedgeIndex was . (Contributed by DaveC79) #jira UE-43764 Change 3436948 by Jamie.Dale Updated the Portal to use the predefined Unicode block ranges Change 3436961 by Max.Chen Sequencer: Show camera shake/anim track menus even if there aren't any assets. Change 3437244 by Max.Chen Sequencer: Clear locked cameras when releasing Sequencer. #jira UE-44967 Change 3437515 by Arciel.Rekman UBT: improvements for LocalExecutor. - Larger number of parallel jobs on 16GB+ machines. - Use WaitForExit() instead of polling. - Tested on Linux and Mac. Change 3437629 by Matt.Kuhlenschmidt Improve asset import data display in static and skeletal meshes Change 3438047 by Arciel.Rekman Fix overlapping ranges being passed to memcpy(). Change 3438822 by Yannick.Lange ViewportInteraction: Move gizmo handle files to make them private. Change 3438906 by Matt.Kuhlenschmidt PR #3556: Git Plugin: fix new option "init Git LFS" that make assets read-only (master/UE4.17) (Contributed by SRombauts) Change 3438907 by Matt.Kuhlenschmidt PR #3565: add -quality option to buildlighing commandlet (Contributed by kayama-shift) Change 3438908 by Matt.Kuhlenschmidt PR #3558: UE-44862: Always update SColorPicker color on OK button (Contributed by projectgheist) Change 3439393 by Matt.Kuhlenschmidt Force highest LOD for highres screenshots Change 3439819 by Matt.Kuhlenschmidt Turned FAssetData into a struct for some upcoming script exposure of FAssetData Change 3439949 by Arciel.Rekman Fixed selection logic for the UE4_LINUX_USE_LIBCXX environment variable. - Allows disabling libc++ by setting the variable to 0. - Pull request #3576 contributed by jared-improbable. Change 3441078 by Jamie.Dale The culture/language/locale console commands are now available in all build configs Change 3441109 by Jamie.Dale Text containing surrogate pairs now runs through HarfBuzz when shaping in Auto mode This is needed as the kerning-only shaping code assumes that everything is within the BMP Change 3441275 by Matt.Kuhlenschmidt Disable spinning on location and scale. These dont work because we have no notion of infinite spinning Change 3442748 by Yannick.Lange ViewportInteraction: Remove unused console variables. Change 3442775 by James.Golding Add support for editing MaterialFunctions to MaterialEditingLibrary Pull Material recompile/update code into UMaterialEditingLibrary::RecompileMaterial Pull MaterialFunction update code into UMaterialEditingLibrary::UpdateMaterialFunction util Move RebuildMaterialInstanceEditors to UMaterialEditingLibrary Added test content for Material/MaterialFunction editing Add needed BlueprintReadWrite to expressions (constants, function input/output) Expose UMaterialExpressionMaterialFunctionCall::SetMaterialFunction to BP, rename old func (which takes old function) to SetMaterialFunctionEx, also expose GetInputNameWithType Change 3442779 by James.Golding Fix header order Change 3442817 by Yannick.Lange ViewportInteraction: Add can execute checks for level editor commands. Change 3443038 by Michael.Dupuis #jira UE-43377: When you select a foliage actor we will move all instance contained in it to the new level as we can't move a foliage actor Only permit moving foliage instance if there is some selected Change 3443855 by Michael.Dupuis #jira UE-44885: Unregister from PerModuleDataObjects when the object is destroyed Change 3446096 by Max.Chen Sequencer: Add OnFinished() event when a level sequence completes playback #jira UE-45173 Change 3446097 by Max.Chen Sequencer: Evaluate one last time before the sequence is torn down and reset #jira UE-45174 Change 3446242 by Jamie.Dale Fixed caret not appearing in empty text layouts Caret selections have no range, and therefore have no width Change 3446361 by Matt.Kuhlenschmidt Fix WITH_EDITOR only functions causing generated code compile errors when the all functions on the class are WITH_EDITOR Change 3446457 by Alexis.Matte Polish the speed tree import dialog #jira UE-44963 Change 3446946 by Michael.Trepka Modified FWindowsWindow::GetRestoredDimensions to return correct window position for normal windows for which GetWindowPlacement returns position in workspace coordinates #jira UE-37934 Change 3447543 by Arciel.Rekman Reduce VMAs on Linux. - Trades off increased address space (VIRT in terms of ps/htop) for smaller number of distinct mappings (VMAs, virtual memory areas). This decreases possibility to run into vm.max_map_count limit on Linux. - Tested on Linux and Mac. Change 3448468 by Arciel.Rekman Fix race condition during creation of GMalloc. - On Mac GMalloc can be created on two different thread that are racing with each other - app's main thread and a system thread. Change 3449012 by Max.Chen Sequencer: Add time to transform, color and vector key structs so that key times are editable from the key editors. #jira UE-45089 Change 3449018 by Max.Chen Sequencer: Add OnCameraCut event that fires when there is a camera cut. #jira UE-45137 Change 3449195 by Max.Chen Sequencer: Add setting for limit scrubbing to playback range. #jira UE-43502 Change 3449198 by Max.Chen Sequencer: Reorder hierarchical bias so that group priority takes precedence. Change 3449217 by Max.Chen Sequencer: Add setting to activate realtime viewports when in sequencer. Change 3449219 by Max.Chen Sequencer: Focus on search boxes when opened. Change 3449238 by Max.Chen Sequencer: Assign actor should replace the actor itself after it has updated all the components. Also, replace components be fullname rather than by class. Change 3449239 by Max.Chen Sequencer: Fix offsets when moving multiple sections. Dragging should be clamped to the bounds that any of the selected sections hits against the unselected sections. Change 3449241 by Max.Chen Sequencer: Restore section selection after full tree rebuild. Change 3449279 by Max.Chen Sequencer: Set movie scene capture frames only when not using custom frames. This allows the user entered frame numbers to persist in config, rather than overwriting them when doing a "Render Shot" Change 3449280 by Max.Chen Sequencer: Spawn in the persistent level. Otherwise, they get spawned into whatever sublevel is current. #jira UE-44552 Change 3449294 by Max.Chen Sequencer: Null check for sequencer ed mode crash. Change 3449297 by Max.Chen Sequencer: Fix delay in sliding values. Mark changed when sliding values. Mark refresh immediately when committing values since OnValueChanged will be called and needs to have the correct value that was refreshed immediately. #jira UE-42866 Change 3449542 by Max.Chen Sequencer: Fix scrubber hit testing so that the time scrubber is really favored over the playback ranges. #jira UE-44569 Change 3451507 by Matt.Kuhlenschmidt Fix extra slate uv coords not functioning on ES2 Change 3451510 by Matt.Kuhlenschmidt PR #3595: Fixed wrong colour for level status (Contributed by ronve) Change 3451529 by Alexis.Matte fbx scene importer: Make sure we set INVALID_UNIQUE_ID to node that has no attribute. #jira UE-34410 Change 3451611 by Yannick.Lange ViewportInteraction: Dragging gizmo without second pass for snapped calculations. Change 3452134 by Jamie.Dale Fixed constant font cache flushing if a widget had no font set Change 3452239 by Jamie.Dale Fixed constant font measure flushing if a widget had no font set Change 3452243 by Jamie.Dale Removed deprecated code for creating fonts from bulk data Change 3452277 by Jamie.Dale The concept of "stale" composite fonts is now editor-only Change 3452358 by Alexis.Matte Fbx scene importer: Do not remove existing attribute reference from the blueprint if the reimport of the associate mesh attribute is not tick. #jira UE-45232 Change 3452678 by Max.Chen Sequencer: Fix crash on export if there's no shot data. Change 3453057 by Matt.Kuhlenschmidt Exposed asset exporting to script Change 3453782 by Andrew.Rodham Sequencer: Fixed deterministic cooking issues with movie scene data - Movie scene signatures are now initialized in PostInitProperties - A warning is now presented when attempting to cook old data that was never serialized with a signature. - Removed redundant legacy data upgrade logic that could dirty level sequences on load. #jira UE-44912 Change 3453788 by Yannick.Lange ViewportInteraction: Custom scene proxy for gizmo handles. Change 3453938 by Max.Chen Sequencer: Hotkeys (shift , and shift .) to step to next/previous shot #jira UE-45119 Change 3454058 by Michael.Dupuis Fixed StaticAnalysis Change 3454077 by Max.Chen Sequencer: Fix not saving the pre-animated track value when creating a track/key. On pre object change, broadcast property change so that a track or key can be created. That track/key needs to be evaluated immediately so that the pre-animated state can be saved properly. This is done now with RefreshAllImmediately and is only called when a track has been created. Also, added a return value for OnKeyProperty, so that it's known what changed in particular (ie. track created, track modified, etc) Also, fixed transform keying so that if a transform track already exists for the object or the scene component, the existing track is used. #jira UE-45130 Change 3454108 by Nick.Darnell UMG - Fixing the WIC to properly record cursor delta so that scrollbars work. Change 3454109 by Jamie.Dale Cache the text layout source info in non-shipping builds so you can inspect it in the debugger Change 3454202 by Matt.Kuhlenschmidt Fix bogus error message about the number of usable texture coordinates on ES2 when compiling a UI domain material Change 3454390 by Yannick.Lange Fix creating a plugin in a C++ project opens a second instance of Visual Studio. Use SourceCodeAccessor to open solution when necessary. #jira UE-45035 Change 3454564 by Matt.Kuhlenschmidt #rnx Fix deprecation warnings Change 3455471 by Yannick.Lange ViewportInteraction: Fix entering and exiting VR Mode disables gizmo in desktop editor viewport. #jira UE-44965 Change 3456183 by Max.Chen Sequencer: Auto key, auto track refactor. Auto key - create a key when the property changes and there's an existing track. Auto track - create a track when the property changes. This is only exposed in the level sequence editor. All - create a key and a track when the property changes. This is only exposed in VR Editor. None - do nothing. #jira UE-43469 Change 3456349 by Andrew.Rodham Sequencer: Only perform legacy signature checks on instances, and only where signatures match the CDO Change 3456678 by Alexis.Matte Allow to add null level instance override material via the advance material array. But still limit the override material number to the mesh material number. #jira UE-45306 Change 3456945 by Max.Chen UMG: Add restore state to 2d transform section. #jira UE-45372 Change 3457196 by Arciel.Rekman Linux: serialize allocations from the memory pool. Change 3458434 by Max.Chen Sequencer: Remove obsolete set tick prerequites functions. Change 3458671 by James.Golding Added MIC editing support to MaterialEditingLibrary Fix static analysis warning Change 3458888 by Matt.Kuhlenschmidt PR #3615: More detailed log messages for debugging warnings/errors (Contributed by projectgheist) Change 3458893 by Matt.Kuhlenschmidt PR #3583: UE-44960: Delta value wasn't being used (Contributed by projectgheist) Change 3458895 by Matt.Kuhlenschmidt Fix typo Change 3458902 by Matt.Kuhlenschmidt PR #3607: Improved InputKeySelector functionality (Contributed by projectgheist) Change 3458917 by Matt.Kuhlenschmidt Fix crash with invalid object properties in the class picker #jira UE-39000 Change 3458939 by Matt.Kuhlenschmidt Fix compile error Change 3458984 by andrew.porter QAGame: Initial check in of sequencer smoke test map Change 3459510 by Matt.Kuhlenschmidt Fixed ensure when deleting a map that contains build data which also happens to be the currently loaded map. #jira UE-45052 Change 3460985 by Max.Chen Sequencer: Snap play time to keys now allows scrubbing between keys and snaps to key times within a certain screenspace tolerance. #jira UE-45090 Change 3461698 by Arciel.Rekman Avoid using ARRAY_COUNT in Vulkan. - Sometimes those arrays can have no extensions whatsoever, and it is illegal to declare a 0 element C array. Change 3462053 by Max.Chen Sequencer: Show sequencer spawnables in the world outliner and add the icon overlay for spawnables. #jira UE-43470 Change 3462139 by Max.Chen Property Editor: Add objects to FPropertyAndParent Change 3462202 by Arciel.Rekman Fix FSocket::Recv() blocking with Peek when there's no data. Change 3462253 by Nick.Darnell Slate - New Clipping System Clipping is now a stateful choice made during composition of the slate hierarchy. Previously every widget got to respect or modify the clipping rect on an as needed basis. The problem was that clipping was only allowed in the layout space of the widget, and it wasn't possible to properly clip elements with render transforms. The new system permits all kinds of transforms on any widget, and they will all be clipped correctly. It tries to use Scissor Rects as they are much cheaper, but will switch over to stenciling if need be to represent a complicated masking structure with several rotated clipping rects all needed to be combined together. Here are the new clipping states a widget can have, almost all widgets are set to No. Only change it from No if your widget actually needs to clip, generally speaking most widgets don't need to clip. /** * This widget does not clip children, it and all children inherit the clipping area of the last widget that clipped. */ Inherit, /** * This widget clips content the bounds of this widget. It intersects those bounds with any previous clipping area. */ ClipToBounds, /** * This widget clips to its bounds. It does NOT intersect with any existing clipping geometry, it pushes a new clipping * state. Effectively allowing it to render outside the bounds of hierarchy that does clip. * * NOTE: This will NOT allow you ignore the clipping zone that is set to [Yes - Always]. */ ClipToBoundsWithoutIntersecting UMETA(DisplayName = "Yes - Without Intersecting (Advanced)"), /** * This widget clips to its bounds. It intersects those bounds with any previous clipping area. * * NOTE: This clipping area can NOT be ignored, it will always clip children. Useful for hard barriers * in the UI where you never want animations or other effects to break this region. */ ClipToBoundsAlways UMETA(DisplayName = "Yes - Always (Advanced)"), /** * This widget clips to its bounds when it's Desired Size is larger than the allocated geometry * the widget is given. If that occurs, it behaves like [Yes]. * * NOTE: This mode was primarily added for Text, which is often placed into containers that eventually * are resized to not be able to support the length of the text. So rather than needing to tag every * container that could contain text with [Yes], which would result in almost no batching, this mode * was added to dynamically adjust the clipping if needed. The reason not every panel is set to OnDemand, * is because not every panel returns a Desired Size that matches what it plans to render at. */ OnDemand UMETA(DisplayName = "On Demand (Advanced)") - Large API Change - All FSlateDrawElement::Make_____ calls have been deprecated that involved passing in a clipping rect. You no longer should are passed a Clipping rect via OnPaint. You are still passed a rect, but this rect represents a Culling Rect, which is valuable if you need to just out right not paint things the user can't possibly see. If you were previously trying to determine if you should cull widgets, by doing something like this, if ( FSlateRect::DoRectanglesIntersect(MyClippingRect, CurWidget.Geometry.GetRenderBoundingRect()) ) That's no longer a good option since there are ways for widgets to ignore the culling bounds. You should convert anything like above to the one below, if (!SWidget::IsWidgetCulled(MyCullingRect, CurWidget)) To assist in debugging efforts, there are several new debugging console flags in Slate, Slate.ShowClipping 1 - Controls whether we should render a clipping zone outline. Yellow = Axis Scissor Rect Clipping (cheap). Red = Stencil Clipping (expensive). Slate.DebugCulling 1 - Disables pushing clipping or stencil rects to the GPU, but continues to intersect culling rects, so that you can tell if a widget is properly culling children it can't possibly draw. Slate.ShowTextDebugging 1 - Show debugging painting for text rendering. I've added a new Experimental Feathering Option, it adds AA geometry around the outside of Box and Image brushes. Slate.Feathering 1 If you're using RenderDoc or something similar, you can now enable render events for slate, so that you can better grok how we're batching and changing states for each UI render pass. Slate.EnableDrawEvents 1 #jira UE-4659 #rn Change 3462714 by Nick.Darnell Fixing a few more compiler issues with the clipping changes. Change 3462726 by Max.Chen Switch OnEditStructChildContentsChanged to use FObjectWriter instead of FMemoryWriter which supports serializeing UObjects. This fixes a crash when adding actor array elements to a user defined event struct. #jira UE-45431 Change 3462801 by Nick.Darnell Adding a UMG dependency to EngineTestBuild. Change 3462914 by Max.Chen Sequencer: Fix regression where spawnables aren't getting saved. Caused by 3407138 #jira UE-30007 #jira UE-39003 Change 3462946 by Nick.Darnell Automation - Tweaking the UI automation tests converting them over to use the new UI Screenshot automation test. Automation - Adding a blur widget test. Change 3462987 by Matt.Kuhlenschmidt Back out changelist 3458893 Change 3464774 by Matt.Kuhlenschmidt PR #3629: Bugfix: Missing small icon in Project Launcher profile editor (Contributed by aarmbruster) Change 3464785 by Nick.Darnell Fixing some clipping stuff in the editor. Change 3464830 by andrew.porter QAGame: Second pass on sequencer smoke test map Change 3464902 by Nick.Darnell Loading - Adding some additional checks to the the loading code to ensure we're on the main thread. Additionally adding a fix from UDN that prevents deadlocks in the rare case a user hits Alt+Tab in a fullscreen game while in a hard loading screen. Change 3464988 by Max.Chen Sequencer: Add attenuation settings for attached audio components. #jira UE-33080 Change 3465024 by Nick.Darnell MoviePlayer - Impoving the playback mode displaynames. Change 3465074 by Arciel.Rekman Fix shadowing issues of GraphicsPSOInit. Change 3465097 by Matt.Kuhlenschmidt Some refactoring of the details panel Exposed new methods of adding a struct on scope to a details panel and have it work properly with customizations. The scruct on scope has a "fake" ustructproperty that allows the details panel to show the whole struct not just an individual property. Refactored the API for adding rows to details panels to make it more consistent\ AddChildCustomBuilder->AddCustomBuilder AddChildGroup->AddGroup AddChildContent->AddCustomRow AddChildPropert->AddProperty AddChildStructure->AddExternalStructureProperty AddStructure->AddAllExternalStructureProperties AddExternalProperty->AddExternalObjectProperty or AddExternalStructureProperty Change 3465186 by Max.Chen Sequencer: Save the BindingID in the pre animated token producer so that it can be destroyed properly. This fixes a bug where the default state of a spawnable isn't saved. #jira UE-43780 Change 3465315 by Matt.Kuhlenschmidt Fix Fortnite and Orion details panel customization warnings Change 3465424 by Nick.Darnell Automation - Moving the step for setting the link to the automation reports to be set before we start the engine. Change 3465488 by Nick.Darnell Automation - Forcing textures to load before taking screenshot, so that the scene gets another opportunity to render before we render with Slate. This should fix the Blur UI Test. Change 3466277 by Arciel.Rekman Linux: fix window drift when dragging (UE-40380). - Change by Cengiz Terzibas. Change 3466370 by Nick.Darnell UMG - Fixing the colors for the resize handle in the designer. Change 3466372 by Nick.Darnell UMG - Fixing the ruler ticks sometimes not being drawn. Change 3466374 by Nick.Darnell UMG - Fixing the designer showing multiple options for sequencer. Change 3466377 by Nick.Darnell UMG - Cleaning up some clipping bits. Change 3467025 by Andrew.Rodham Re-saving assets that contain legacy (<4.15) movie scene data to remove deterministic cook warning. If conflicts arise during merging of these assets, please ignore the changes made in dev-editor, and accept game-side changes. (CIS step 62283298, jobId 7773146) (CIS step 62283297, jobId 7773146) Change 3467099 by Max.Chen Fix GetObjectPropertyClass ensure logic. This was returning UObject::StaticClass when valid. Change 3467172 by Max.Chen Sequencer: Evaluation optimizations. Also, fixes subsequences not getting expired, leaving dangling spawnables. #jira UE-43690 Change 3467192 by Matt.Kuhlenschmidt Fix transactions getting stuck in the color grading controls. This prevents PIE from working properly and causes shutdown crashes #jira UE-45527 Change 3467251 by Yannick.Lange ViewportInteraction: Fix scale and rotation snap while dragging with two lasers. #jira UE-43489 Change 3467331 by Matt.Kuhlenschmidt Fix D3D shader compiler hard coding shader path and not giving proper warnings when it cannot find the shaders Change 3467335 by Matt.Kuhlenschmidt Remove DarkStyle attribute from SNumericEntryBox and allow a spin box style to be passed to it. Change 3467558 by Max.Chen Scene Outliner: Generic support to add default columns to a scene outliner. Change 3467565 by Jamie.Dale Removing old screenshot data for test Change 3467589 by Nick.Darnell Editor - Random cleanup. Change 3467596 by Nick.Darnell Progress Bar - Exposing Border Padding to UMG. Change 3467600 by Nick.Darnell Slate - Adjusting the rendering of the splitter, previously it could be off by a pixel or two, which becomes more apparent now with the clipping changes. Change 3467601 by Max.Chen Property Editor: Fix static analysis warning Change 3467662 by Nick.Darnell Automation - Fixing a bug with the screenshot comparison tool not replacing (removing) the old screenshot data. Change 3467674 by Max.Chen Property Editor: Fix static analysis warning Change 3467737 by Max.Chen Sequencer: Added OnMovieSceneBindingsChanged delegate Change 3468053 by tim.gautier QAGame: Updating Editor Smoke Map - Updated landscapes into Stations for testing - Added Foliage Sublevel Change 3468194 by Arciel.Rekman Linux: fix problems communicating with various STL-using libs. - Stop hiding global new/delete signatures. - Disable CEF3 since this change uncovers the problem with libcef.so not built to use bundled libpng. Change 3468678 by Max.Chen Sequencer: Set "Sequencer Actor" tag before setting the actor label so that the outliner refreshes after the actor has the tag. Change 3469314 by tim.gautier QAGame: Added Painted Foliage / Spline section to EditorSmoke map Change 3469377 by Nick.Darnell Slate - Fixing some warnings in a couple of sample games due to the clipping changes. #rnx Change 3469767 by Max.Chen Sequencer: Outliner column and sequencer binding data #jira UE-43470 Change 3469974 by Arciel.Rekman Fix code projects not working in Linux installed build. Change 3470082 by Nick.Darnell Slate - The GetRenderer() call on SlateApplication no longer returns a SharedPtr, rather than convert it to a thread safe ptr, going to just make accessing it a raw ptr return, so it can be safely referenced on the game thread while being used on the slate loading thread. Change 3470174 by Nick.Darnell Slate - Get the last widget in a widget path utility. Change 3470176 by Nick.Darnell UMG - User Widgets now have an easy way to know if they're part of or have been removed from the focused widget path, which is handy for doing effects. Change 3470261 by Nick.Darnell Slate - The GetRenderer() call on SlateApplication no longer returns a SharedPtr, rather than convert it to a thread safe ptr, going to just make accessing it a raw ptr return, so it can be safely referenced on the game thread while being used on the slate loading thread. Change 3470286 by Max.Chen Sequencer: Scene Component's HiddenInGame now goes through the VisibilityTrack and the visibility template. Change 3470366 by Nick.Darnell Slate - We now version focus per user, that way during focus events, we can safely abort focus events and state transitions if someone interrrupts the active focus event with something new. Change 3470649 by Matt.Kuhlenschmidt Fix deprecation warnings Change 3470695 by Matt.Kuhlenschmidt Fixed typo #jira UE-45580 Change 3470721 by Matt.Kuhlenschmidt Fix static analysis Change 3471254 by Michael.Dupuis #jira UE-42952: Keep occlusion result per view Change 3471287 by Nick.Darnell UMG - Render Focus Rule now defaults to never. Change 3471291 by Nick.Darnell Slate - Fixing FSlateRenderer* change fallout. Change 3471299 by Nick.Darnell Slate - Fixing FSlateRenderer* change. Change 3471323 by Nick.Darnell Automation - Fixing automation and Static Analysis warning. Change 3471413 by andrew.porter QAGame: Added test content for anim blending and material parameteres to sequencer smoke level Change 3471649 by Max.Chen Sequencer: Modify the track when adding animation #jira UE-45618 Change 3471659 by Matt.Kuhlenschmidt Added a way to check if a movie is playing from the engine. Prevented viewport redraws for canvas loading screens if a slate based loading movie is playing Change 3471734 by Matt.Kuhlenschmidt Added basic material hookup to USD. Similar to FBX it will find materials based on rules specified by the user in the import settings Change 3472176 by Nick.Darnell UMG - Improving the display of the +Track menu in sequencer for UMG. Renamed it from +Add, which is repetitve to +Track. Additionally, the dropdown now shows the currently selected widgets, as well as a submenu containing all the 'important' widgets, so we no longer populate that list with a ton of irrelevant widgets that are just Buton_1 - N, which is pointless in showing people, they'll never guess which is the right button. Change 3472740 by Max.Chen Sequencer: Add GetThisFrameMetaData accessor Change 3472748 by Max.Chen Sequencer: Added OnBeginScrubbing and OnEndScrubbing event delegates Change 3472753 by Max.Chen Sequencer: Add EMovieSceneDataChangeType parameter to OnMovieSceneDataChanged delegate Change 3472870 by Nick.Darnell Clipping - Fixing the deprecated tip for scissor rect boxes to be correct. Removing it's usage from UT. Change 3473340 by Max.Chen Scene Outliner: Add ability to register additional filters Change 3473348 by Max.Chen Details View: Make ForceRefresh virtual. Added accessors to delegates (ie. GetIsPropertyReadOnlyDelegate) Change 3473441 by Max.Chen Sequencer: Autokey Refactor Part 2. Autokey is now a single toggleable state. Allow Edits Mode has 3 states: Allow All Edits - Allow any edits to occur, some of which may produce tracks/keys or modify default properties. Allow Sequencer Edits Only - All edits will produce either a track or a key. Allow Level Edits Only - Properties in the details panel will be disabled if they have a track. #jira UE-45229 Change 3473670 by Nick.Darnell Modules - The module manager no longer returns sharedptrs to IModuleInterfaces, this was the source of rare hard to track down crashes due to a shared ptr reference leak when GetModule was called on non-main threads. We now store a TUniquePtr internally, and only lease out raw pointers. #rn Change 3473711 by Nick.Darnell Disabling the ensure in the module manager. Change 3473747 by Max.Chen Sequencer: Fix tooltip Change 3474091 by Jamie.Dale Added a warning when cooking a UFontFace that is outered to a UFont asset These cause issues with iterative COTF, and should be split off into their own assets (as the UI has been asking people to do for several versions) Change 3475052 by Yannick.Lange VR Editor: Fix Crash when quitting the editor with VR Mode enabled. VR Editor was being enabled when saving the map on closing the editor. #jira UE-45415 Change 3475054 by Yannick.Lange Fix crash when adding a camera to the world in VR Mode the second time. The slate application did not reset when stop dragging in VR Mode, so the second time when starting to drag a camera out of the UI it would already by in a dragging state. #jira UE-45574 Change 3475263 by Nick.Darnell Fixing some additional cases of IModuleInteface SharedPtr usage. Change 3475268 by Max.Chen Sequencer: Set jumped state when looping playback. This fixes an issue where audio doesn't stop and restart when looped. #jira UE-45654 Change 3475269 by Max.Chen Scene Outliner: Additional filters should only apply to actor browsing mode Change 3475407 by Nick.Darnell Fixing some clipping / module shared ptr changes in the launcher code. Change 3475542 by Max.Chen Sequencer: Update thumbnail and section highlighting to use new clipping behavior. #jira UE-45692 #jira UE-45689 Change 3475743 by Michael.Dupuis #jira UE-45183: When updating phyx region take into account simple collision mip Change 3475949 by Arciel.Rekman Remove PhysX deoptimization (no longer needed). - OR-24947 has been closed three months ago. Change 3476022 by Michael.Dupuis #jira UE-45560: Make sure we're not going out of range Change 3476063 by Michael.Dupuis #jira UE-45562: Do not try to unregister from static mesh if no static mesh is specified for the component Change 3476168 by Michael.Trepka Added handling of directory symlinks to FApplePlatformFile::IterateDirectory #jira UE-43704 Change 3476172 by Nick.Darnell Fixing a Imoduleinterface change. Change 3476183 by Jamie.Dale Exposing GoTo/ScrollTo to single-line editable text for API parity with multi-line editable text Change 3476385 by Arciel.Rekman Linux: handle symlinks when iterating directories. Change 3476522 by Michael.Trepka Solved a problem with Mac FMallocTBB::Malloc() returning nullptr for 0 bytes allocations, which is inconsistent with other platforms. On Mac we always scalable_aligned_malloc, which behaves differently than scalable_malloc, so for 0 bytes requests we allocate sizeof(size_t), which is exactly what scalable_malloc does internally in such case. Change 3476806 by Nick.Darnell UMG - Focus the designer after dropping a widget onto the surface. Change 3476809 by Nick.Darnell Curve Editor - Enable Clipping on the curve editor. Change 3477475 by Nick.Darnell Fixing a module interface shared ptr usage in UT. Change 3477553 by Yannick.Lange VR Editor: Removed AssetEditorPanelID and replaced it with TabManagerPanelID. A panel for AssetEditorPanelID was never created making it impossible to open an asset editor. Change 3477734 by Yannick.Lange VR Editor: Fix Warning: SetRelativeScale3D : Invalid Scale entered (X=inf Y=inf Z=inf). Resetting to 1.f. warning when adding CineCameraActor to World from Modes Panel. Make sure to not divide by zero when there is no boundary scale. #jira UE-44933 Change 3477761 by Jamie.Dale Some improvements to avoid loading the native .locres files twice when we don't need to Change 3477780 by Nick.Darnell PR #3250: Return correct VirtualUserIndex (Contributed by projectgheist) Change 3477786 by Nick.Darnell PR #3650: Changed TestNull to accept const pointers. (Contributed by e-agaubatz) Change 3477795 by Nick.Darnell PR #2844: UE-36936: Don't stretch container for Plugin Image (Contributed by projectgheist) Change 3478092 by Nick.Darnell PR #2341: Optional Middle Mouse Button panning in Graph Editor (Contributed by flipswitchingmonkey) Engine Edit - Made some small changes to the enum type, and some naming. Change 3478450 by Nick.Darnell Fixing some uninitialized variable errors. Change 3479827 by Andrew.Rodham Sequencer: Addressed serialization issues with some struct types Change 3479874 by Jamie.Dale Fixed "NativeGameLanguage" not being used correctly during localization initialization Change 3480012 by Andrew.Rodham Sequencer: Fixed loading tagged properties as native for track identifiers #jira UE-45823 Change 3480337 by Alexis.Matte Fix morph target crash missing some valid index check Change 3480804 by Alexis.Matte Fix crash with ColorGradingMode custom detail #jira UE-45638 Change 3480892 by Andrew.Rodham Sequencer: Ensure that movie scene sequences know about the editor object version #jira UE-45842 Change 3481073 by Nick.Darnell Fix the shader compiler error from main in Slate. Change 3481303 by Nick.Darnell UMG - Fixing a bug with the drag handle not working correctly in HDPI mode. Change 3481308 by Nick.Darnell Slate - Tweaking the IsWidgetCulled logic to consider both the layout and rendering bounds. If we do this, we get a much more desireable outcome for people that want to animate widgets and such and plan to have temporary animations to move the widget offscreen, but want the layout bounds to anchor that widget in the visible frame so that it animates even when normally it would be culled b/c the render transform and therefore the renderbounds moved it completely outside the culling rect. Change 3481629 by Max.Chen Sequencer: Add Level Sequence Actor as an output for CreateLevelSequencePlayer() #jira UE-45785 Change 3481899 by Yannick.Lange VR Editor: Added debug modetoggle command with an event that is broadcasted whenever this happens. Currently this is used to show all the floating UIs of the UI system to debug without HMD using VREd.ForceVRMode. Change 3481984 by Michael.Dupuis #jira UE-45845: always validate if we have a static mesh before trying to access it as user can decide to not assign one and use the tools Change 3482047 by Nick.Darnell Slate - Adding some comments to IsWidgetCulled. Change 3482110 by Nick.Darnell Slate - IsWidgetCulled is no longer static and is now called IsChildWidgetCulled. Change 3482136 by Jamie.Dale The CamelCase break iterator now treats digits around character tokens as part of the identifier Change 3482138 by Michael.Dupuis #jira UE-45854: Properly unregister during undo operation Change 3482150 by Michael.Dupuis #jira UE-45845 : Add missing nullcheck for GetStaticMesh Change 3482153 by Nick.Darnell Slate - IsWidgetCulled is no longer static and is now called IsChildWidgetCulled. Change 3482180 by Nick.Darnell UMG - Widget Components do not need to define a widget class to be rendererd, they can have native slate widgets only. This was a regression from main. Change 3482273 by Nick.Darnell UMG - Tweaking some more things about the widget component box outline. Change 3482308 by Alexis.Matte Fixing morph target smooth group support. Do not call FillSkeletalMeshImportData more then once on FbxNode since this fonction is doing some conversion and change the FbxNode, applying those conversion twice do not return the same faces smooth group. #jira UE-45696 Change 3482327 by Nick.Darnell UMG - More tweaks to the WidgetComponent so both shows the box outline, but works in game and VR editor. Change 3482705 by Andrew.Rodham Resaving assets that contain legacy data to suppress CIS warnings. - If conflicts arise in these assets, please take game-side changes and ignore these. Change 3484245 by Max.Chen Sequencer: Evaluate on end scrub. This fixes a bug where audio doesn't evaluate in a stopped position at the end of scrubbing, causing it to not stop all sounds. This fixes a bug introduced from 3365018 where evaluate on end scrub was removed. #jira UE-45905 Change 3484263 by Max.Chen Sequencer: Fix crash on forcing refresh of details panel on release. #jira UE-45911 Change 3484431 by Andrew.Rodham Resaving assets that contain legacy data to suppress CIS warnings. - If conflicts arise in these assets, please take game-side changes and ignore these. Change 3484474 by Alexis.Matte Fix the morph target animation curve name matching. #jira UE-20294 Change 3484475 by Alexis.Matte When removing a LOD, make sure we remove all morph target data associate to the LOD. Change 3484489 by Nick.Darnell PR #3668: UE-45908: Cache debug line locations when performing a LineTraceMulti (Contributed by projectgheist) #jira UE-45908 Change 3484692 by Nick.Darnell Slate - Reverting a change from a game stream. All Arranged Children don't need to allocated 42 to begin with. Do need to initialize WidgetPaths better. Change 3484703 by Nick.Darnell Player Input - Making the input event loop for players obey EKeys::NUM_TOUCH_KEYS, rather than being set to Touch10, as the maximum touch input amount, to make supporting greater than 10 touches easier. Also making the seeding of keys use EKeys::NUM_TOUCH_KEYS. #jira UE-43213 Change 3484918 by Jamie.Dale Fixed font measuring regression with RTL text RTL applies the character count to the next glyph, so it shouldn't process the end of the loop (this was how the older code used to work). Change 3485718 by Nick.Darnell Editor - Removing Super Search & User Feedback button. Change 3485719 by Nick.Darnell Portal - Removing SuperSearch. Change 3485751 by Matt.Kuhlenschmidt Fix crash accessing platformer game menu if the menu is open during a console based load #jira UE-45950 Change 3486047 by Arciel.Rekman Linux: add OpenEXR implementation (UE-40270). #jira UE-40270 Change 3486467 by Max.Chen Sequencer: Reset max tick rate when destroyed. #jira UE-45956 Change 3486477 by Max.Chen Sequencer: Refresh outliner when column is removed. #jira UE-45891 Change 3486667 by Andrew.Rodham Added missing include Change 3486724 by Andrew.Rodham Sequencer: Fixed curves with no default value, and no keys being evaluated and applied to properties - Also fixed an edge case where a zero (but non-animated) channel could be applied to a final transform Change 3486730 by Alexis.Matte In the Auto-Reimport options, hide the mout point only for the default /Game/ folder #UE-45684 Change 3486749 by Alexis.Matte Make sure the parent window of the monitor directory browse folder is set properly #jira UE-45682 Change 3486805 by Matt.Kuhlenschmidt Additional safety against invalid objects being accessed by slate Change 3486848 by Alexis.Matte Make sure Monitor folder feature support root mount point map folder During auto import, give priority to asset import factory over the scene import factory #jira UE-45691 Change 3486879 by Andrew.Rodham Removing obsolete QA assets Change 3486950 by Nick.Darnell PR #2281: Scrollbar missing features and SScrollbar fixes (Contributed by SNikon) Review - made some adjustments from the original. Change 3486954 by Nick.Darnell Slate - Moving the STableViewBase over to the FOverscroll class, rather than it's own clone. Change 3486967 by Nick.Darnell Slate - Fixing some HDPI calculations for fitting new windows on screen, it was using the unscaled size of the widgets for fitting, when it needed to scale them up. Change 3486970 by Andrew.Rodham Sequencer: Delay mouse capture until drag for sequencer time slider - Fixes context menus not opening as a result of mouse capture being taken on mouse down #jira UE-45937 Change 3486984 by Andrew.Rodham Sequencer: Improved blending type iconography Change 3486996 by Nick.Darnell UMG - Adding a way for games to opt-out of the slow widget path, to completely prevent them from being cooked. UMG - The movie data is no longer cloned for each new instance that inhabits. It now keeps a reference to the now publically accessible movie scene data on the class instead. Change 3487070 by Andrew.Rodham Sequencer: Added graphics for key areas that represent empty space Change 3487195 by Andrew.Rodham Sequencer: Changed evaluation groups to always flush implicitly - Due to the latent nature of blended token types, it's no longer safe to rely solely on execution token order between tracks - This fixes an issue where events set in the PostEvaluation stage were executed before blended token actuation Change 3487322 by Nick.Darnell PR #2457: Add .gitdeps.xml-files for plugins support (Contributed by bozaro) Change 3487363 by Nick.Darnell PR #2481: Fix for packing of a project with users plugins (Contributed by yatagarasu25) Change 3487439 by Nick.Darnell PR #2642: Changed private to protected in SVirtualJoystick.h (Contributed by Skylonxe) Change 3487500 by Arciel.Rekman Removed LinuxNativeDialogs. - No longer used; has been superceded by SlateDialogs since UE 4.8 (2 years ago). Change 3487630 by Lauren.Ridge Don't create Landscape Info Maps for Editor Preview Worlds or thumbnail worlds #jira UE-44885 Change 3487864 by Matt.Kuhlenschmidt Exposed the asset registry to blueprints and script. Works in editor scripts and runtime scripts AssetRegistry is now a UInterface object. Blueprint users can access various asset registry methods using the asset registry interface (via GetAssetRegistry) and various static helpers in the AssetRegistryHelpers object C++ users should still continue to use IAssetRegistry. Change 3487879 by Matt.Kuhlenschmidt Renamed asset tools uobject helper to UAssetToolsHelpers Change 3487926 by Lauren.Ridge Fixing reset to default not showing up for custom widgets #jira UE-44164 Change 3488184 by Matt.Kuhlenschmidt PR #3656: Make References/Referencers List copyable (Contributed by user37337) #jira UE-45763 Change 3488240 by Matt.Kuhlenschmidt Fix compiler issue Change 3488350 by Lauren.Ridge Landscape info map transactional state is based on its world's transactional state #jira UE-44885 #jira UE-46019 Change 3488412 by Matt.Kuhlenschmidt Fix reset to default showing up in two different places for some customizations Change 3488413 by Matt.Kuhlenschmidt Fix slate font customization Change 3488414 by Matt.Kuhlenschmidt Fix slate font customization Change 3488415 by Matt.Kuhlenschmidt Missed file Change 3488565 by Arciel.Rekman Add pretty printers for gdb (UETOOL-1171). - Committing shelf by Cengiz.Terzibas, with some modifications. #jira UETOOL-1171 Change 3489094 by Nick.Darnell Slate - The Slate RHI Renderer now caches the TextureLODGroups so that it can properly lookup the filtering of different texture groups that are set to Default, instead of a particular filter override on a texture. Engine/Rendering - Simplifying some of the setup logic in TextureLODSettings so that code is shared for setting them up properly after loading from a config file. Change 3489095 by Nick.Darnell PR #2699: GameViewportClient - Added a method to allow setting the viewport cur. (Contributed by rfenner) Review - Fixed spacing. Change 3489108 by Matt.Kuhlenschmidt Fix deprecation warning Change 3489120 by Nick.Darnell PR #3478: Fix possible UComboBoxString crash (Contributed by nakosung) Change 3489147 by Andrew.Rodham Sequencer: Adding return value to function to appease static analysis - This function is never compiled, and if it is, it won't compile, but static analysis doesn't know that Change 3489264 by Nick.Darnell Testing - Finishing the thought behind an enum comment. Change 3489265 by Nick.Darnell PR #2750: UE-35164: Button padding (Contributed by projectgheist) Change 3489267 by Nick.Darnell PR #3645: UE-45464: Handle SSlider mouse interaction more accurately (Contributed by projectgheist) Change 3489632 by Arciel.Rekman Correctness changes to MallocPoisonProxy. - Missing forwarding functions added. Incorrect comment removed. - Change by Steve.Robb, doing here so it is in 4.17. Change 3489689 by Arciel.Rekman More MallocPoisonProxy changes I missed in previous CL. Change 3489751 by Matt.Kuhlenschmidt Moved editor performance settings out of per-project settings so they can be shared across projects Change 3489837 by Lauren.Ridge Keyboard shortcut for entering/leaving VR Mode is now Alt+V Change 3491082 by Arciel.Rekman Linux: better fix for the crash due to name collision (UE-46040). - Put classes in Sequencer module into Sequencer namespace instead of SceneOutliner namespace. - Undid change in the SceneOutliner module. #jira UE-46040 Change 3491096 by Arciel.Rekman Fix UAT compilation on the newest mono. Change 3491240 by Max.Chen Sequencer: Disable key button when allow level edits only is on. #jira UE-46060 Change 3491406 by Yannick.Lange Fix editor crashes when opening a project that includes a plugin with more than two custom Volume classes. This issue was caused because registering show volume commands is based on finding volume classes. Finding these classes at multiple times resulted in a mismatch of the returned array of volume classes because modules/plugins were still being loaded. #jira UE-45806 Change 3491559 by Alexis.Matte Make sure we use the good preview mesh when doing a preview #jira UE-45963 Change 3491563 by Alexis.Matte Fix crash with staticmesh editor LodLevel selection Change 3491564 by Nick.Darnell UMG - Fixing an offset with the grab handles in HDPI mode. Change 3491595 by Nick.Darnell Editor - Fixing a clipping artifact in the pin type dropdown in the blueprint editor. Change 3491604 by Nick.Darnell Back out changelist 3489265 Change 3491615 by Arciel.Rekman Added malloc replay proxy (Linux only for now). - Allows to dump malloc callstream (without regard to threads) and replay later to study the behavior of different mallocs and/or repro problems. Change 3491684 by Arciel.Rekman Added FMalloc functions I missed. - Also moved function bodies into the .cpp file, this does not make a difference in performance in this case. Change 3491692 by Matt.Kuhlenschmidt Some minor fixes to the static mesh editor - Fix UV combo button looking non-standard on the toolbar - Fix a few combo buttons in the details panel looking too big. Change 3491702 by Arciel.Rekman Do not compile replay proxy-specific code when not used. Change 3491717 by Michael.Dupuis #jira UE-35083: The component is now the owner of the PerInstanceRenderData instead of the proxy Add an Update path to only update specified instances range Always call BuildTreeIfOutdated so we have a standard code path to make sure static mesh are fully loaded before trying to build the tree Moved the Instance Buffer aysnc to the base class, as it's not related to UHierarchicalInstancedStaticMeshComponent Expose a new property to decide if we require dynamic instance buffer Change 3491758 by Matt.Kuhlenschmidt Fix crash on static mesh editor shutdown Change 3491873 by Cody.Albert Fixed clipping issue in Sequencer curve editor #rnx Change 3491956 by Matt.Kuhlenschmidt Fix crash opening the Previewing sub-menu in the level editor settings menu #jira UE-46095 Change 3492046 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3492076 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3492165 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3492222 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3492274 by Michael.Dupuis #jira UE-46105: Fixed Clang warning Change 3492338 by andrew.porter QAGame: Testing ensure when submitting Change 3492371 by Nick.Darnell UMG - Reverting the animation sharing, cossed GLEO regressions in cooking. Will look for a better solution. Change 3492462 by Matt.Kuhlenschmidt Fix ensure checking in files through perforce Change 3492491 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3492505 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3492517 by Jamie.Dale The package localization ID is no longer used at all at runtime, and is now truly editor-only This should have always been the case, but it was leaked into manifest/archives/PO files in 4.14, and while 4.15 removed it from PO files it was still present in the manifest/archives. This change removes it entirely (unless gathering editor-only data, and even then the PO file will still collapse the entries together for translation), and the deprecated 4.14 export behavior will now produce an error if you attempt to use it. After taking this change you'll need to run a gather, import, and compile of your LocRes files to update your game localization to use the new localization IDs. Change 3492630 by Nick.Darnell UMG - Removing some extra cleanup code that's probably overkill and is causing a crash for uses of "Within" in class meta. #jira UE-46124 Change 3492692 by Matt.Kuhlenschmidt Fix drop shadows inheriting the outline color of the font. The outline should still appear but not have a different outline color from fill color Change 3492714 by Matt.Kuhlenschmidt Added outline with drop shadow to font automation test Change 3492737 by Matt.Kuhlenschmidt Fix linux Change 3492992 by tim.gautier Resaving Ocean Widget Blueprints / Sequences to resolve Legacy Sequence Data warnings #jira UE-46132 Change 3493089 by Jamie.Dale Ensure that the composite font of a font asset is flushed when the font object is GC'd Change 3493322 by Jamie.Dale Fixing null crash #jira UE-45758 Change 3494467 by Andrew.Rodham Fix Xbox warning Change 3494852 by tim.gautier QAGame: Changed streaming method of QA-EditorSmoke-Landscape to Always Loaded Change 3494853 by Nick.Darnell Another attempt at fixing the automation blueprint SA warning. Change 3494896 by Arciel.Rekman Fix possible null pointer access during Vulkan init. - May fix static analysis warnings in UE-46142, although warnings seem to be referring to something else. #jira UE-46142 Change 3494987 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3495010 by Matt.Kuhlenschmidt Adding additional logging to track down html5 issue Change 3495212 by Michael.Dupuis #jira UE-46143: Properly init the InstanceRenderData during the cooking phase (required by fortnite) Change 3495536 by Jamie.Dale Updating UGameEngine to call its Super::PreExit after performing its own teardown This prevents UEngine cleaning up resources that UGameEngine still needs. #jira UE-46159 Change 3495551 by Arciel.Rekman Another attempt to fix analyzer problem (UE-46142). Change 3495794 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3495905 by Matt.Kuhlenschmidt Fix USD crash when importing a meshwith no material [CL 3499771 by Matt Kuhlenschmidt in Main branch]
2017-06-19 20:27:30 -04:00
DrawTickArgs.CullingRect = MyCullingRect;
Copying //UE4/Dev-Sequencer to //UE4/Main ========================== MAJOR FEATURES + CHANGES ========================== Change 2875025 on 2016/02/20 by Andrew.Rodham Sequencer: Cinematic viewport improvements - Added optional letterbox overlay (defaults to 2.35:1) - Added ability to change safe frame colors - Added selected tracks' keys to the transport range - Added buttons for jumping between selected tracks' keyframes on the transport controls - Removed black padding around the viewport where possible - Added ability to specify whether a combo button/menu anchor should close when its parent receives focus - Separated logic of FGroupedKeyArea into FSequencerKeyCollection, so it can be used independently - Added playback range to the viewport frame numbers - All frame numbers are now spin boxes #jira UE-26429 Change 2875026 on 2016/02/20 by Thomas.Sarkanen Added console commands for recording sequences Changed plugin to a developer plugin so we can load it when the editor is in -game mode. Added Exec commands. Added some more logging to help diagnose problems when using commands. Added loading/saving of config for recorder settings (stored in Editor.ini). Also disabled controls in recorder window when recording. Added auto-saving of assets when in non-editor modes. Moved animation settings from UnrealEd to Engine module. Change 2875036 on 2016/02/20 by Max.Chen Sequencer: Call RedrawAllViewports instead of RedrawLevelEditingViewports. In particular, this fixes some update issues when editing values in the key editors. #jira UE-26960 Change 2875046 on 2016/02/20 by Max.Preussner Sequencer: Fix so that clicking on UMG Animations doesn't dirty the scene. #jira UE-26249 Change 2875047 on 2016/02/20 by Max.Chen Sequencer: Add option to toggle display of channel colors/lines. View->Channel Colors Change 2877138 on 2016/02/23 by Max.Chen Sequencer: Select corresponding track node when selecting key or section. Removed active/inactive selection since it was only being used in deletion and the rules for deletion are now dependent upon what is selected - delete keys and sections before deleting outliner nodes. Change 2877143 on 2016/02/23 by Thomas.Sarkanen Added new math function: WindRelativeAnglesDegrees Given two angles in degrees, 'wind' the angle in Angle1 so that it avoids >180 degree flips. Good for winding rotations previously expressed as quaternions into a euler-angle representation. Change 2877147 on 2016/02/23 by Thomas.Sarkanen Added the ability to import sequencer transforms from the root node of an animation sequence Intended for use after re-importing animations from DCC tools. Available in the right-click menu for transform tracks. Also added FindTrackBinding to UMovieScene so track bindings can be recovered from tracks. Change 2877163 on 2016/02/23 by Max.Chen Sequencer: Add option to create keyframe sections as infinite. Sequencer defaults to true, UMG defaults to false. Change 2877165 on 2016/02/23 by Max.Preussner Sequencer: Drawing vertical position lines when dragging keys Change 2878748 on 2016/02/23 by Max.Chen Curve Editor: Switch curve type to user when flatting or straightening tangents. #jira UE-27277 Change 2878799 on 2016/02/23 by Frank.Fella Sequencer - Add folders support to the outliner. Change 2880769 on 2016/02/24 by Andrew.Rodham Sequencer: Added ability to override runtime spawnable ownership in sequencer - This is exposed as an option on spawnables "Keep Alive Outside Playback Range (In Sequencer)" - Enabling this will stop spawnables from being destroyed when scrubbing outside of the playback range #jira UE-27205 Change 2880770 on 2016/02/24 by Thomas.Sarkanen Sequencer: Added countdown and recording indicator display when recording Also fixed extra popups added post-PIE when animation recordings auto shutdown. Change 2880782 on 2016/02/24 by Max.Chen Sequencer: Snapping now also uses the current time as a possible snap time. #jira UE-26306 Change 2880793 on 2016/02/24 by Max.Chen Sequencer: Add +Animation to Animation track so that it's consistent with all other tracks that have a + button. Change 2880812 on 2016/02/24 by Max.Chen Sequencer: Fix adjusting the leading edge of a shot section so that it cuts into the shot rather than adjusts the start time. #jira UE-26306 Change 2881624 on 2016/02/25 by Andrew.Rodham Changing shader version GUID to fix corrupt shaders in ddc Change 2882408 on 2016/02/25 by Thomas.Sarkanen Asset/actors stored in TLazyObjectPtrs can now reference game content from engine This is a legitimate use case as lazy object ptrs are designed to reference assets/actors cross-domain. Change 2882409 on 2016/02/25 by Thomas.Sarkanen [CL 2899785 by Max Chen in Main branch]
2016-03-08 16:55:04 -05:00
DrawTickArgs.DrawEffects = DrawEffects;
// Draw major ticks under sections
DrawTickArgs.StartLayer = LayerId-1;
// Draw the tick the entire height of the section area
DrawTickArgs.TickOffset = 0.0f;
DrawTickArgs.MajorTickHeight = AllottedGeometry.Size.Y;
}
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3946692) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3801826 by Max.Chen PR #4304: Level Sequence crash fix - Guarded against dereferencing null componen. (Contributed by DSDambuster) Change 3801828 by Max.Chen PR #4302: Movie Scene Visibility Template unitialised variable, causing random . (Contributed by DSDambuster) Change 3801837 by Max.Chen Sequencer: Delay spawning/construction for convert to possessable. This fixes a bug where property values would be lost when converting back and forth from possessable to spawnable. #jira UE-52400 Change 3801841 by Max.Chen Sequencer: Make spacer nodes not selectable. PR #4194: Improvements to Sequencer (Contributed by projectgheist) #jira UE-53117 #jira UE-52139 Change 3804183 by Max.Preussner MediaAssets: Added missing lock in media sound component Change 3805414 by Max.Preussner MediaAssets: Setting valid GUID when initializing media texture resource Change 3819578 by Max.Chen PR #4370: When enabling the "MovieCapture", do not turn off the Stereo-3D display. (Contributed by yehaike) #jira UE-53647 Change 3823414 by Max.Chen Curve Editor: Lock down the first and last keys in the redundant keys removal range so that they're unaffected. #jira UE-53591 Change 3826406 by Max.Chen Sequencer: Move OnStartedPlaying() to within first update in UpdateTimeCursorPosition(). This fixes an issue where setting the hud/player visibility was getting stomped on later. #jira UE-52772 Change 3827044 by Max.Preussner MediaAssets: Added sprite visualization to media sound component #jira UE-53594 Change 3827988 by Max.Preussner MediaPlayerAssets: Fixed Media Texture is not linked to Media Player when created together #jira UE-53532 Change 3828506 by Max.Preussner MediaPlayerEditor: Added attenuation visualizer for media sound components #jira UE-53594 Change 3832590 by andrew.porter EngineTest: Added a keep state check in Property Animation sequencer test Change 3833053 by andrew.porter EngineTest: Adding Hierarchical Bias test Change 3835683 by andrew.porter EngineTest: Adding UMG Animation screenshot test Change 3836076 by Max.Chen Sequencer: Fix audio volume and pitch multiplier deprecation. Change 3836230 by andrew.porter EngineTest: Adding Sequence Bone Position automation test Change 3836347 by Max.Chen Sequencer: Fixes to shot name parsing. When a shot doesn't contain a shot number, assume, [ShotName]_[TakeNumber]. When duplicating a shot, put the new shot in the same path of the original shot, so that the take numbers will increment properly. #jira UE-51868 Change 3836552 by Max.Chen Sequencer: Sub section now has a takes menu Change 3838094 by Max.Chen UMG: Fix template finish not getting called on stop. This fixes a bug where sections aren't restored when finished. #jira UE-52285 Change 3838708 by Max.Chen Sequencer: Add notification when the blend type is changed. #jira UE-54046 Change 3840295 by Max.Chen Sequencer: Fix copy/paste crash for lights #jira UE-54084 Change 3840957 by Mike.Zyracki Added Show Only Keyable and Show Only Animated to the filter list in the property editor. Added IsPropertyAnimated to IDetailKeyframe Interface which already had support for showing properties which are keyable (which is used for the key icon next to the properties.). Could have created another interface but then would have had to mimic the sequencer binding, releasing also, so this seemed best way. One issue still left is that custom built detail items currently don't store associated properties(usually) and so certain properties, in particulalry transforms, won't show up as keyable or animated. Note this also shows up with the keyable icon not showing up next to transform tracks, and other filters like Show Only Modified not working with transforms/customs. Not sure best way to tackle this. #jira UESEQ-328 Change 3841756 by Max.Chen Sequencer: Fix unbound possessable components when pasting spawnables. #jira UE-54104 Change 3843950 by andrew.porter EngineTest: Renaming LevelStreaming tests/content to LevelVisibility Change 3844082 by Mike.Zyracki Missing file for animated filter in property editor. When finding if a track is animated we need to find it but we can't easily induce the MovieTrack class for any particular property. So we don't set a class for it and just search by it's ID and name. #jira UESEQ-328 Change 3846902 by Max.Preussner ImgMedia: Fixed image media player never finished initialization if loading failed #jira UE-54247 Change 3849820 by Mike.Zyracki Reassigning deleted widgets didn't work since the menu extender mechanism needs a valid UObject in order to perform an operation on it. So to fix we replaced GetObjectBindingContextMenuExtender in WidgetBlueprint with new delegate mechanism (OnBuildCustomContextMenuForGuid) that supports FGuid in addition to UObjects which is needed to handle re-binding deleted widgets. Note that the default sequencer hacks this for replacing deleted actors in SequencerObjectBindingNode to check to see if a LevelSequence is active. We could move to this mechanism there also. #jira UE-53163 Change 3852211 by Max.Chen UMG: Indicate name of the property that is not bound. #jira UE-54350 Change 3854120 by Max.Chen Sequencer: Fix sibling folders being allowed to have the same folder name. #jira UE-54363 Change 3854627 by Max.Chen Sequencer: Step to next/previous key should work for all tracks if there aren't any selected. #jira UESEQ-391 Change 3855825 by andrew.porter EngineTest: Adding animation blending automation test Change 3855950 by andrew.porter EngineTest: Adding correct expected valuues to animation blending test Change 3856237 by Matt.Hoffman UESEQ-336 - Sequencer Track Reordering Adds the ability to re-order Master Tracks, Folders and Object Bindings within sequencer hierarchies (including UMG). Adds the ability to do a one-off sorting of the content under the old sorting behavior if the user wants to reset their layout to how it was under legacy behavior. Modifies SequencerTrackNodes, SequencerFolderNodes and SequencerObjectBindingNodes to handle CanDrop/OnDrop for above, below and ontop of. Fixes a Slate Issue that forcibly expanded a TreeviewRow if an item handled OnDrop. Slate will now only forcibly expand the row if the item says the drop happened ontop of the item, and not above or below it like it previously did. Change 3856503 by andrew.porter EngineTest: Adding automation test for using animation blueprint with blend multi node in sequencer Change 3857875 by Max.Chen Sequencer: Assign the sequence id after the template is compiled. #jira UE-54462 Change 3858344 by Max.Chen Sequencer: Prevent Goto and Transform boxes from overlapping by allowing them to be visible at the same time in an autosized horizontal box. Also, added close button to the goto box. PR #4425: Prevent Goto and Transform boxes from overlapping in Sequencer ... (Contributed by projectgheist) #jira UE-54210 Change 3860566 by andrew.porter MediaFrameworkTest: Set the option to index 0 for the audio and video track list by default Change 3860654 by andrew.porter EngineTest: Enabling Camera Cut + FOV test Change 3860981 by andrew.porter EngineTest: Updating skeletal mesh tests with a delay after set playback position Change 3861256 by Max.Chen Sequencer: Add all bindings if none selected. #jira-54440 Change 3862154 by Andrew.Rodham Added TimeManagement module Change 3862424 by andrew.porter EngineTest: Turned on the test Bone Positions with Blend Multi Node Change 3862573 by andrew.porter EngineTest: Adding test to compare bone positions in a sequence that is blending an animation that is using an AnimBP Change 3865117 by Max.Chen Sequencer: Stop auto scroll on mouse release of movement. #jira UE-31212 Change 3865303 by Max.Chen Sequencer: Add drag and drop transactions #jira UE-54662 Change 3865304 by Max.Chen Sequencer: Fix crash when an actor factory is not found. Change 3865361 by Max.Chen Sequencer: Don't change the camera/shot lock button when popping out of a sequence. #jira UE-54665 Change 3865412 by Max.Chen Sequencer: Determine whether a transform track is for a camera by using the spawned object or template #jira UE-54666 Change 3865685 by Max.Chen Sequencer: Clear autoscrub offset when stopping autoscroll #jira UE-31212 Change 3865886 by Max.Chen Sequence Recorder: Log an error if the number of frames changes while recording. This can happen if the skeleton changes while recording. #jira UE-48715 Change 3866925 by Andrew.Porter MediaFrameworkTest: Changing the current PNG test video image sequence to 1024 x 576 Change 3867705 by andrew.porter QAGame: Adding Audio Sort Sequence to dev folder Change 3867890 by andrew.porter QAGame: Adding a sequence for testing a sorting crash to my dev folder Change 3872628 by Max.Chen Movie Scene Capture: Split delay before warmup into split delay before shot warmup so that there's separate controls for when the movie scene capture warmups up vs. shot boundaries. Change 3873131 by Matt.Hoffman UE-54732 - Crash reordering a folder with a track. This was caused by folders being the only type of track to check if someone was putting a parent track into a child track. Object Binding tracks and Tracks now check as well so that you can't use the above/below drop targets to add parents as children. This also fixed a typo in the localization keys. #jira UE-54732 Change 3873301 by Mike.Zyracki Added ability to support continous euler angle changes when changing rotations, in particularly with the rotation gizmo's. To do this we effectively added a form an of 'euler filter'(https://en.wikipedia.org/wiki/Euler_filter) to find the closest euler angle to the current euler angle. Three functions were added to FRotator to make this possible, one to get the euler angle that's has the same rotation as it, one to get the difference between two euler angles via Manhattan distance and a third using the previous two to choose a Rotator value that's closest to it. We then use these functions before calling UComponent::SetRelativeRotation to make sure we use the correct Euler after the Quat conversion. We also no longer limit(bound) the euler angles to -180,180, which is obviously necessary to avoid flips. I also changed how we caluclate yaw and roll when pitch is -90 or 90 to make it the standard approach of zeroing out roll and just setting yaw. Main reasons are the previous implementation had precision issues so things like 180, 90, -180 would show up due to numbers being nearly zero but negative,(this would break any smooth interpolations), and this facilitates having a 'gimbal' rotation mode (like Maya, Blender etc..) if we ever want that also. If needed we could keep the previous implementation but would need to add some FMath::IsNearlyZero checks, with less performance. Note we only do this special filtering when applying delta's to actors or components in the editors, which then call UComponent::SetRelativeRotationExact, which is a new function to foces the RelativeRotation to be equal to the new rotation. This allows us to store un-nomalized Rotators at the cost that the RotationCache may be broken. We didn't change any of the other UComponent functions that set rotations (via Quats or Transforms) so they will still be bounded and unwound. In SetInternalWorldLocationAndRotation we only set the rotation if the rotation has changed, which fixes the rotation getting changed and re-normalized if just translate happens. In TransformTrackEditor, we correclty use the bUndwing flag and in MovieScene3DTransformSection there was an un-needed winding check there, it will be unwound earlier if needed, which happens if Sequence Recording is happening. Max we should talk about what to do about this . Note the euler angle drag via the widget is still bound to 0-360. I think we should just unbound that now since the rotations value are now unbound. This review now includes fixes suggested by Zak. #jira UE-UE-22228 Change 3873483 by Matt.Hoffman Sequencer Tracks can now be inserted above the spacer at the bottom of the tree. #jira UE-54706 Change 3873899 by Max.Chen Sequencer: Add section selection throbbing Change 3873908 by Max.Chen Movie Scene Capture: Added logging per frame Change 3873924 by Matt.Hoffman Adds the ability to store Sequence Recorder setups into profiles that stay with the map and can be re-loaded later. Profiles store the Actor Recordings so the settings for each actor should carry with them. #jira UESEQ-339 Change 3874726 by Matt.Hoffman Disable drag-and-drop targets on spacers that come between rows in Sequencer. This prevents extra drag/drop targets showing up between each row. #jira UE-54706 Change 3874862 by Matt.Hoffman Audio Track no longer gets reordered when adding sub-audio tracks, as sub-tracks are no longer counted towards the sorting order index when normalizing indexes. #jira UE-54727 Change 3875905 by Matt.Hoffman Disable Fade Track UI if a fade track already exists in the sequence. #jira UESEQ-393 Change 3876163 by Max.Chen Sequencer: Swap the camera object to the camera component's owner if it's not the same. #jira UE-54874 Change 3876971 by Andrew.Porter EngineTest: Moved Media Player Seek test to new folder. Also enabled the test with new ground truth image. Change 3877040 by Max.Chen Cine Camera: Split camera properties to two groups, "Camera Options" and "Camera Settings". The cine camera now hides properties in the "Camera Settings" group so that properties like bConstrainAspectRatio (in the "Camera Options" group) can be visible. #jira UE-54192 Change 3877763 by Max.Chen Curve Editor: Fix curve changed on end drag so that only curves that had keys/tangents that were changed receive notification, otherwise all loaded curves were getting notified that they were changed. #jira UE-54951 Change 3878234 by Matt.Hoffman Disable "Drop Below" targets for Sequencer Tree nodes to prevent a confusing UX issue where dropping underneath a Object Binding Node puts it after the object binding node but the UI looks like it's inserting it inside the Object Binding node. #jira UE-54743 Change 3879359 by Mike.Zyracki If a track is inactive we dim it a bit which seems to be the UE4 way to show inactive or disabled state. We changed the active logic so that all subtracks need to be inactive for the track to also be inactive(instead of all active for active). This conforms to how the active state actually works, e.g if you have two sections and only one is active the track is still active above it. #jira UESEQ-388 Change 3879462 by Max.Chen Sequencer: Allow dragging onto a particular row which would move out any overlapping sections to make space for the newly created section. Newly created sections are now selected and throbbed to draw attention to themselves. #jira UE-54664 Change 3879464 by Max.Chen Sequencer: Fixed overlapping ranges being inserted into the evaluation field during compilation - The issue was that track segments that had been combined with adjacent segments (due to them being identical) would potentially cause a subsequently compiled frame to overlap with a range that had already been inserted into the evaluation field. - The insertion code previously asserted that only minor overlaps were catered for (due to fp rounding errors) and assumed that a supplied range could not entirely contain any other range in the field. - The solution is to supply the insertion time along with the range to know exactly where the data should live in the field, and crop the range to the maximum allowable space between adjacent ranges. #jira UE-54922 Change 3879590 by Matt.Hoffman Items that are now added to the Sequencer via the "+Track" menu will be selected after being added. Items can now be added inside of folders instead of just to the root level. #jira UE-27397 Change 3879612 by Mike.Zyracki Display Nodes with no children are always active. #jira UESEQ-388 Change 3879730 by Matt.Hoffman Sequence Recorder's actor recording groups now remove items from the group when removed via the UI. #jira UESEQ-339 Change 3880256 by Mike.Zyracki Fix issue with inactive display with folders and other track nodes. #jira UESEQ-388 Change 3883491 by Max.Chen Fix issue where tick is skipped due to last ticked pose isn't cleared after AnimInstance changes. Copy from Release-4.19 #jira UE-51323 Change 3883603 by Max.Chen Movie Scene Capture: Add option toggle disable screen percentage. By default this is on (no change in current behavior). #jira UE-51898 Change 3885074 by Max.Preussner MediaCompositing: Resetting media texture & freeing resource on section end; removed dead code Change 3887220 by Max.Preussner MediaCompositing: Defaulted media section duration to 1 sec (since we do not know the actual duration in most cases) Change 3887478 by Matt.Hoffman Sequences now show [Inactive] in their title bars when they're disabled. This helps communicate why a sequence isn't being evaluated. #jira UE-51469 Change 3888985 by Max.Chen Movie Scene Capture: Clamp HDR Compression Quality between 0 and 1. #jira UE-55136 Change 3893519 by Max.Chen Sequence Recorder: Clarified tooltip for bRecordNearbySpawnedActors - spawned actors will still be recorded if they match the ActorFilter. #jira UE-55238 Change 3893546 by Max.Chen Sequence Recorder: If a selected actor already has a recording, add a blank recording. #jira UE-55239 Change 3894044 by Max.Preussner MediaCompositing: Added support for seeking into a media section Change 3894310 by andrew.porter MediaFrameworkTest: Adding Img media sources for 1080 and 2160 ravent test content Change 3894426 by Max.Preussner MediaAssets: Letting media textures with AutoClear retain their clear color when player is reset Change 3895717 by Max.Chen Sequencer: Null checks to prevent crash when saving the default state of a spawnable #jira UE-55304 Change 3897388 by Max.Chen Sequencer: Don't update current time to be within the view range when stepping into a sequence. #jira UE-55322 Change 3897452 by Max.Chen Audio: Fix crash when trying to record audio without any active capture devices. Log warning if the number of input channels is not 1 or 2. #jira UE-55223 Change 3897619 by Max.Preussner MediaCompositing: Removed commented out code Change 3898072 by Max.Chen Sequencer: Override the animation asset in the player state if it doesn't match the animation asset that's being evaluated. #jira UE-55328 Change 3898272 by Max.Preussner MediaPlayerEditor: Made slate brush constants static Change 3898704 by Max.Chen Sequencer: Skip if the binding id's sequence can't be found. #jira UE-55337 Change 3899855 by Max.Preussner MediaCompositingEditor: Added cache state visualization to media track Change 3900300 by Max.Preussner MediaCompositingEditor: Added loop indicators to media sections Change 3900694 by Max.Preussner ImfMedia: Looping cache only when player is looping Change 3900892 by Max.Preussner Stats: Added stats category for media framework Change 3900954 by Max.Preussner MediaCompositing: Don't evaluate at the end of media section Change 3901348 by Max.Preussner Core: Replaced TLruCache autos for better readability Change 3901655 by Max.Preussner ImgMedia: Added more perf stats to EXR reader Change 3901972 by Max.Preussner MediaAssets: Added getter for media player in media sound components Change 3902233 by Max.Preussner MediaAssets: Enabling media textures to receive samples right after player is assigned Change 3902238 by Max.Preussner MediaCompositing: Working around init/shutdown idiosyncracies in sequencer Change 3904045 by Max.Chen Sequencer: Fix copy/paste crash. Only process UMovieSceneCopyableBinding and objects that can be spawned by the movie scene spawn register. #jira UE-55314 Change 3905605 by Max.Chen Sequencer: Restrict spawnables from being created if they have a ClassWithin that UMovieScene is not a child of. #jira UE-55429 Change 3906550 by Max.Chen Sequencer: Add media track icon #jira UE-55480 Change 3907101 by Max.Chen Sequence Recorder: Fix bugs related to not recording a level sequence. There were certain assumptions that creating a level sequence meant that sequence recording was in progress. This is not always the case - the recorders can record animation assets and not create a level sequence. Changed the notion of IsRecording() to having at least one actor recording that is recording. Countdown timer, recording displays, etc should function if IsRecording() and not based on whether a level sequence is created. #jira UE-55485 Change 3907247 by Max.Chen Sequence Recorder: Fix crash not removing PrepareToCleanseEditorObject delegate. Repros when opening sequence recorder, closing it, and then opening or creating a level. Change 3910343 by Max.Preussner Core: Added async helper for executing functions on a given thread pool Change 3910346 by Max.Preussner ImgMedia: Added separate thread pools for loading/decoding and deleting image frames Change 3910829 by Max.Preussner Profiler: Increased visible range of profiler graph Change 3910841 by Max.Preussner MediaCompositing: Displaying asset name instead of full media source path in media section Change 3910870 by Max.Preussner ImgMedia: Using deallocation thread pool only in debug builds Change 3919642 by Max.Chen Sequence Recorder: Clarify active tooltip #jira UE-55661 Change 3919660 by Max.Chen Sequencer: Sequence template source signatures are now also compared to catch the case where a sub-sequence asset has been saved but not modified - The following sequence of events exposes this issue: - Create a master sequence with a single shot that spawns a cube - Add this sequence to a level and set it to auto-play - Save everything and restart - Resave just the inner shot asset without opening it - PIE - The inner shot never spawns its cube because its template was wiped on save, but its signature never changed. Since the master sequence previously didn't check the template source signature, it ends up trying to evaluate an empty template. #jira UE-55626 #jira UE-55490 Change 3921825 by Max.Chen Sequencer: "Run Construction Script in Sequencer" is off by default for blueprints but on for Sequencer. This allows the content author to switch it on for specific blueprints and sequencer will be default, run those with construction scripts enabled. Change 3922232 by Max.Chen Sequence Recorder: Reset countdelay on stop. #jira UE-55755 Change 3922306 by Max.Chen Sequence Recorder: Don't automatically mark transforms to be recorded by sequence recorder. Instead, log a warning if the user toggled it off to warn that the resulting animation might not match gameplay. #jira UE-55758 Change 3922912 by Max.Chen Sequence Recorder: Fix refresh next sequence name #jira UE-55757 Change 3927654 by Max.Chen Movie Scene Capture: Added format mapping for the name of the current camera #jira UE-55769 PR #4537 Change 3927658 by Max.Chen Sequencer: Added fbx property mapping for "FocusDistance" to "FocusSettings.ManualFocusDistance" #jira UE-55782 Change 3932022 by Max.Chen Sequencer: Add import animation track section to next available row index. #jira UE-55892 Change 3933919 by Max.Chen Sequencer: Jump to playback start frame and not 0 to start playback for recording. #jira UE-55933 Change 3934307 by Andrew.Rodham Sequencer: Add template signature that is re-generated every time the base template is regenerated, which invalidates evaluation fields This fixes an issue where the same sequence is instantiated multiple times in a sequence. If the source sequence was saved, its template would be wiped, which would invalidate the template ID When an instance tries to evaluate the master template, it would only invalidate a range in the evaluation field that was the hull of any invalid sub sequences overlapping the current time, potentially leaving invalid data in the evaluation field at positions later (or earlier) on in the sequence When the sub template was re-generated, it receives the same SequenceSignature as it had before (because the sequence hasn't actually changed), which causes the stale evaluation field data to fail the IsDirty check (because the sequence is the same as it thought, but the *template* has changed) This has been addressed be adding a signature to templates themselves, and checking both the template signature and sequence signature as a part of the IsDirty check. This ensures that we regenerate if either the template, or the sequence have changed. #jira UE-55934 Change 3936327 by Andrew.Rodham Sequencer: Removed increment when trimming right UMovieSceneSection::TrimSection already explicity assigns an exclusive bound to the time passed in. The new behavior means we can trim a section to the right, and insert another section without changing the time to create adjacent sections. #jira UE-42652 Change 3936328 by Andrew.Rodham Fixed KeyFrameManipulator assignment operators and copy/move constructors - These types are potentially self-referential so cannot use default constructors/assignment Change 3936330 by Andrew.Rodham Converted UMGSequencePlayer to use frames internally #jira UE-54878 Change 3936726 by Max.Chen Sequencer: Set track node as the parent of the key area node. The key area switcher needs the object binding id from the parent object binding node. Without this, the binding to the external value fails. #jira UE-55931 Change 3936775 by Max.Chen Sequencer: Should stop or loop should compare DurationFrames with Current Time from StartTime. The bug is that if you set 30 warmup frames in movie rendering for a range of 0-100, the FrameRange will be starting at -30 and have a duration of 130. Without this fix, the playback will continue until frame 130, rather than 100. #jira UE-55933 Change 3936935 by Matt.Hoffman Easing Curves are now represented in Play Rate resolution instead of internal resolution. #jira UE-55937 Change 3937069 by Matt.Hoffman Users can toggle if the is infinite on each side, limited by which tracks support infinite ranges. #jira UE-55891 Change 3937516 by Max.Preussner ImgMedia: Added support for single-threaded platforms #jira UE-55986 Change 3937826 by Max.Preussner MediaAssets: Disabling media sound components on HTML5 if AudioMixer is not enabled Change 3937997 by Max.Chen Curve Editor: Add Zoom to Fit Curves so that selected curves from Sequencer can be focused on. Tested that undo doesn't re-zoom. #jira UE-55935 Change 3938000 by Max.Chen Sequencer: Stop all sounds before generating audio waveforms. #jira UE-55951 Change 3938376 by Max.Preussner XGEController: Disabled XGE Controller in single-threaded apps to prevent crash Change 3938444 by Max.Preussner Core: Added async support for single-threaded applications Change 3938445 by Max.Preussner Networking: Added support for single-threaded applications in UDP socket sender/receiver Change 3938447 by Max.Preussner Messaging: Added support for single-threaded applications Change 3939432 by Max.Chen Sequence Recorder: Append command list to global level editor actions so that shortcuts are accessible in level editor. #jira UE-55798 Change 3940229 by Andrew.Rodham Added prospective display rate upgrade to UMovieScene::PostLoad - There was previously some very odd behaviour that would assign the fixed frame interval only when a sub sequence was focused in SSequencer. This meant that many sequences could have a frame interval of 0 set in the data. - Under the old method of snap interval display this would have fallen back to getting the display interval from the sequencer settings, but we no longer look at these. - The USequencerSettings properties have been removed and in their place, a prospective data upgrade for sequences that have a fixed frame interval old 0fps that sets the play rate to the previous defaults based off the old USequencerSettings defaults. - This could end up 'changing' the display rate for sequences where the user has changed the snap interval in the settings for a particular sequence editor, but there's not much we can do about that given we don't have access to the USequencerSettings classes in UMovieScene #jira UE-55919 Change 3940277 by Andrew.Rodham Sequencer: Added ability to default frame resolutions and play rates for newly created actor sequences Change 3940378 by Andrew.Rodham Sequencer: Post move import dialog now defaults to the playback framerate of the sequence, and floors to frame numbers Change 3940559 by Andrew.Rodham Reinstated primed or recording sequence color Change 3940642 by Max.Preussner ImagePlate: Removed image plate media playback functionality Change 3940843 by Max.Preussner Core: Made TCircularQueue actually thread-safe; improved code comments Change 3940860 by Max.Chen Sequencer: Changed StructNameToKey to StructPathToKey Previously, keying a PropertyPath of [RenderTransform][Shear][X] would get trimmed to X, which doesn't map to a channel name as considered by Sequencer2dTransformTrackEditor. Instead, trim the resulting property path to [Shear][X] so that track editors can determine the desired struct path and channels to key. #jira UE-52966 Change 3941292 by Mike.Zyracki Fix for trajectories out of range not showing up. 1) If we had no key data we would pop the time, so wouldn't get the section ranges. 2) Calculating of upper bound was wrong, checking against -1 and not key == num of keys when doing algo::lower_bound. 3) No need to do the Bck-- for the bakward iterators since we fixed #2. We start now from the upper bound correctly. 4) If we had no keys (at section start,end) we would incorrectly say we were any key type, so since we draw constant keys as dashed we would do so incorrectly around section end points. #jira UE-55929 Change 3941424 by Max.Chen Curve Editor: Change Zoom to Fit to use TArrayView Change 3941498 by Max.Preussner Core: Added FMath::DivideAndRoundNearest function Change 3942097 by Matt.Hoffman Drop Frame Timecode Support for NTSC rates. Change 3942104 by Matt.Hoffman Sequence Recorder Group is no longer visible inside the World Outliner after using one. #jira 55266 Change 3942107 by Max.Chen Sequencer: Resurrect logic to find or extend an existing section when adding keys. Change 3942330 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942339 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942507 by Andrew.Rodham Sequencer: We no longer pad the time overlap threshold with a small number that is not scaled by the current zoom level - The presence of this pad was causing keys that were far apart to be grouped when zoomed in a long way Change 3942509 by Andrew.Rodham Sequencer: Only pad total view range, rather than section range as well when retrieving keys to render - This stops us from rendering keys that are within the view range, but outside the section range Change 3942512 by Andrew.Rodham Added transactions to some sequencer details customizations Change 3942513 by Andrew.Rodham Sequencer: Reinstated validation checks to UMovieSceneSection::SetStartFrame and SetEndFrame, changed erroneous uses to use SetRange Change 3942560 by Andrew.Rodham Pass by rvalue reference to appease error C2719 on Win32 ('InChannels': formal parameter with requested alignment of 8 won't be aligned) Change 3942697 by Andrew.Rodham Newly Created Level Sequences and Actor Sequences now default to 24000 fps frame resolution (+/- ~24hrs range, supporting all integer rates + 23.976) Change 3942700 by Andrew.Rodham Sequencer: Added legacy out-of-bounds errors for times that are not supported by the current legacy upgrade frame resolution Change 3942989 by Max.Preussner Core: Fixed circular queue count calculation Change 3943538 by Max.Preussner MediaAssets: Reverted workaround for procedural audio log spam in HTML5 (Actor component initialization cannot be skipped if the component is used in a level) Change 3944071 by Max.Preussner QAGame: Fixed Media Texture keeps last frame of Media when PIE ends #jira UE-53360 Change 3944292 by Max.Chen Sequencer: Added extra flags to ensure that asset initialization does not occur on template actor sequences #jira UE-56113 Change 3944364 by Max.Chen Sequencer: Prevent circular shot/master tracks. Tested adding master -> child -> master as drag and drop cinematic shot tracks and sub tracks as well as through the + button. #jira UE-56091 Change 3944422 by Max.Chen Sequence Recorder: Disable transform recording if off. #jira UE-56061 Change 3944745 by Andrew.Rodham Sequencer: Key rendering fixes - Fixed assert that occured when keys happened to reside on some times due to KeyTime + TimeOverlapThreshold - KeyTime being slightly larger TimeOverlapThreshold - Fixed keys sometimes being clipped when zoomed right in due to lack of half-frame offset - Added missing documentation to MovieSceneTimeHelpers.h #jira UE-56107 Change 3945231 by Andrew.Rodham Sequencer: Reconstruct channel proxy on Serialize to catch all cases of undo/redo, PostLoad and duplication #jira UE-56089 Change 3945301 by Andrew.Rodham Sequencer: Added safety checks during initial sequence recording to guard against applying negative or 0-sized sequence ranges #jira UE-56125 Change 3946627 by Max.Preussner Fortnite: Fixed game crashes closing editor while in PIE - Pure virtual function being called #jira UE-56144 [CL 3946896 by Max Chen in Main branch]
2018-03-14 22:09:33 -04:00
DrawTicks( OutDrawElements, LocalViewRange, RangeToScreen, DrawTickArgs );
}
if (Args.bDisplayMarkedFrames)
{
LayerId = DrawMarkedFrames(AllottedGeometry, RangeToScreen, OutDrawElements, LayerId, DrawEffects, false);
}
LayerId = DrawVerticalFrames(AllottedGeometry, RangeToScreen, OutDrawElements, LayerId, DrawEffects);
if( Args.bDisplayScrubPosition )
{
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 4044339) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3947021 by Max.Chen Sequencer: Don't preserve root component when copying object properties. A spawnable empty actor, has a root component that is generated by the empty actor factory. If the object template's root component is preserved when copying from the spawnable empty actor, the root component will not be copied over. Therefore, we need to NOT preserve the root component when copying object properties. #jira UE-55825 Change 3947366 by Max.Preussner WmfMedia: Better log output Change 3947367 by Max.Preussner MfMedia: Better detection of compressed format properties on Windows Change 3949102 by Max.Chen Sequencer: Remove SequenceActorTag when converting to possessable. #jira UE-56206 Change 3949207 by andrew.porter EngineTest: Set the screenshot nodes resolution to 1280x720 Change 3949404 by Max.Chen Sequencer: More informative tooltip for "Rerun Construction Scripts" option. It now says "Rerun construction scripts every frame on actors that have 'Rerun Construction Script in Sequencer' enabled in their class settings". Change 3950067 by Matt.Hoffman Renamed UAutomatedLevelSequenceCapture's StartFrame and EndFrame to CustomStartFrame/CustomEndFrame to reflect that it is user-overriden. This will also resolve upgrade issues due to the variable datatype changing. #jira UE-56189 Change 3950193 by JohnHenry.Carawon Updating my latest MovieRendering test content. Change 3950757 by JohnHenry.Carawon More updates to MovieRendering test content Change 3952059 by Max.Chen Resave LevelVisibility_SubLevels to fix data loss conversion warning of OpacityMaskConstant #jira UE-56086 Change 3952283 by Max.Chen Sequencer: Disable dropping level sequence assets as spawnables. #jira UE-56120 Change 3952422 by Max.Chen Sequence Recorder: Add button to record from the current player. #jira UE-55942 Change 3952987 by JohnHenry.Carawon MovieRendering Test Content - Fixing camera bindings and changing the override binding actor Change 3953823 by Mike.Zyracki Fix for Bad FBX Import Tangents not scaled by frame rate. After looking at this again it seems that a set of MovieScene:: overiddes for the channel traits wasn't set correctly, so use the ADL idiom to use MovieScene, which can then call Optimize in the correct namespace. With this we can now correctly use the passed in tolerance. There was also a redundant set of Optimize calls so that it could happen twice so removed them, and needed an extra check in the float channel Optimize. Also since we need to set auto tangents no matter if we optimize we don't set that parameter(though leave it since it's used by context menu key reduction). Finally fixed speed issue with trajectories caused by calculating way too many substeps. Reverted back to a time based step size for consistency. #jira UE-56193 Change 3954317 by Matt.Hoffman Adding a key to the last frame of a section no longer causes a crash. Keys can already be moved to be on the last frame of a section so now you can just add a key there directly. #jira UE-56255 Change 3954326 by Matt.Hoffman Dilating a section that is only infinite on one side no longer causes a crash. #jira UE-56260 Change 3954486 by Max.Chen PR #4580: Exposes IsReversed() from UMovieSceneSequencePlayer (Contributed by alanedwardes) Change 3955238 by Max.Preussner Messaging: Enabled delayed message routing https://github.com/EpicGames/UnrealEngine/pull/4574 #jira UE-56247 Change 3955901 by Max.Preussner MediaFrameworkTest: Added developer test for overriding desired media player plug-in at runtime. Change 3955922 by Andrew.Porter QAGame: Updating movie rendering content in dev folder Change 3956004 by andrew.porter QAGame: Adding MPC track to movie rendering test content Change 3956510 by Max.Chen Sequencer: Fix fbx camera import of static properties so that they are imported before default tracks are created. Otherwise, the default tracks inherit the default properties of the camera, rather than the values from the fbx. #jira UE-56311 Change 3957613 by Max.Preussner MediaUtils: Added code documentation to media player facade Change 3958005 by Max.Preussner MediaUtils: Added method to get number of sinks Change 3958934 by Max.Chen Sequencer: Fix keys getting added and sequence getting erroneously re-evaluated when auto key is off. Only apply defaults if there are no keys. Only modify the movie scene section before creating keys or setting defaults. #jira UE-55903 Change 3959687 by Andrew.Rodham Sequencer: Fixed visibility track external values being inverted #jira UE-56324 Change 3960507 by Max.Preussner Core: Fixed incorrect rounding in FMath::DivideAndRoundNearest Change 3962047 by JohnHenry.Carawon MovieRendering Test Content Changes: - Add Lightmass Importance Volumes to sublevel to fix warnings - Rebuilt Lighting - Add a third sequence for Gamut testing - Resaved the sound master.uasset to fix warning Change 3962211 by Mike.Zyracki Add Frame Numbers to selected animation sections. Added MapTimeToAnimation to MovieSceneSkeletalAnimation so that we could get it from the Skeleton Animation track Editor. Since the thickness of the frame line can change based upon frame rate and zoom we need to calculate it similarly to how the time slider controller does it. Those calculations were private so we had to expose FScrubRangeToScreen and GetScubberPixelRange from the TimeSliderController. Also needed to know if the section itself was selected so added a bIsSelected flag to the section Painter. Also fixed a bug where you couldn't add a section if other sections existed at different times in MovieScenePropertyTrack and could crash due to the check(). #jira UESEQ-395 Change 3962497 by Max.Preussner Core: Added new string formatting argument to FTimespan Change 3963662 by Max.Chen CineCamera: Flip VistaVision width and height. Change 3963731 by Max.Preussner MediaCompositing: Implemented sequence recording support for media track Change 3964195 by Andrew.Rodham Sequencer: Set inverted property correctly for newly created visibility track sections - Also clamp evaluation for key editors to the bounds of the section so we're not displaying values outside of the section bounds when the cursor is not on the bounds #jira UE-56324 #coderevew Max.Chen Change 3964196 by Andrew.Rodham Sequencer: Fixed crash when attempting to render sections that resulted in a negative intersection with the view range Change 3964275 by Andrew.Rodham Sequencer: Fixed MovieScene::ClampToDiscreteRange for infinite range bounds Change 3964364 by Andrew.Rodham Curve Editor: Reduce minimum vertical view range when zooming to fit Change 3965091 by Max.Chen Sequencer Recorder: Refresh next sequence if empty when starting a recording, otherwise, use existing name. #jira UE-56469 Change 3965148 by Max.Chen Sequence Recorder: Move Record to Possessable to "Actor Recording" group Change 3965162 by Max.Chen Sequence Recorder: Always break out of immersive mode when done recording, even when stopping recording during countdown. #jira UE-56407 Change 3965214 by Max.Preussner QAGame: Enabled ImagePlate plug-in Change 3965574 by Max.Preussner SimpleComposure: Reorganized & upgraded content to work with new Media Track #jira UE-56488 Change 3965651 by Max.Preussner MediaCompositing: Ignoring seek-on-open if media not seekable Change 3966075 by Christina.TempelaarL Sequencer: Added Final Cut Pro 7 XML Export functionality #jira UESEQ-358 Change 3966087 by Matt.Hoffman Adding a single key to the Particle Toggle track now makes an infinite range section that is displayed in the UI. #jira UE-56295 Change 3966547 by Andrew.Rodham Sequencer: Fixed rounding errors when drawing the section background on boolean sections - Logic was using time in sectonds which caused rounding errors on evaluation and flickering red/green stripes when dragging keys around #jira UE-56324 Change 3966563 by Andrew.Rodham Curve Editor: Key editor interface improvements - SKeyEditInterface has a few problems - it does not update in real time when editing properties, and does not support multi-edit which makes it unsuitable for use with the curve editor - We now take a different approach for editing keys by gathering a set of proxy UObjects for each key that is currently selected. These objects are added as top level objects to the details panel which means they support multi edit as you'd expect from any other details panel in the editor. - Proxy objects are updated every tick for the curve editor if they implement the ICurveEditorKeyProxy interface, which allows them to refresh their current value. - Ideally, the same mechanisms would be used in the main sequence interface, and we would be generating the proxy classes at runtime based on the key value type, but that work remains a separate task from this initial offering. #jira UE-56165 Change 3966564 by Andrew.Rodham Curve Editor: Expand to frame when adding or moving keys in the curve editor Change 3967051 by andrew.porter MediaFrameworkTest: Set the CameraPlayer_Video texture to auto clear Change 3967141 by Andrew.Rodham Sequencer: Keep track of spawned objects that have been modified and only re-save such object's default spawnable state on destruction - Now that we're taking this approach, I've remove serveral redundant bits of functionality in the spawn register such as making some spawnables read-only, and the PreSave binding for Sequencer. - We now hook into all object pre-saves to make sure we handle the case where the sequences are saved through the content browser or elsewhere. #jira UE-47686 Change 3967170 by Andrew.Rodham Sequencer: Added the ability to possess anim instances as object bindings - This allows full and direct animation of properties on UAnimInstance, and animation blueprints - Object Bindings are made by first possessing a skeletal mesh component, then choosing the + Add button where its anim instance will be listed - Added a new function to UMovieSceneSequence to gather previously cached objects that should now be invalidated. Anim instances will be re-resolved if a new UAnimInstance is assigned to USkeletalMeshComponent::GetAnimInstance. - ObjectBindingIDs for anim instances are just represented by an entry in a set of GUIDs. We only ever resolve such bindings through USkeletalMeshComponent::GetAnimInstance. - Only currently supported on LevelSequences #jira UE-56132 Change 3967195 by Max.Preussner Core: Updated TRangeSet to use TCallTraits Change 3967345 by JohnHenry.Carawon Test Content Changes - first iteration of spacing out the examples in the shots. Change 3967572 by Max.Chen Sequencer: Fix setting PreviousPlayEvalPosition until after we've tested whether it's set. #jira UE-56518 Change 3967750 by Max.Chen Audio: Set duration based on number of input channels, rather than number of channels to serialize. This fixes an issue where audio split into 2 channels is set to a duration that's twice as long. #jira UE-56430 Change 3967836 by Max.Chen Sequencer: Allow for animating array elements within ustruct properties #jira UE-55887 Change 3968506 by Matt.Hoffman Fixed ambiguous conversions for seconds and frames being overriden by ambiguous conversion to Timecode (in frames). Change 3968748 by Max.Chen Sequencer: Make the event properties submenu widget larger. #jira UE-55557 Change 3968862 by Max.Chen Sequencer: Recursive expansion when shift is down #jira UE-52139 #pr 4194 Change 3968863 by Max.Chen Sequencer: Bind rename command to selected track so that F2 shortcut start renaming #jira UE-52139 #pr 4194 Change 3968872 by Max.Chen Sequencer: Rekey the selected key at the current time. #jira UESEQ-396 Change 3968938 by Max.Chen Cine Camera: Add option to toggle the behavior of locking the rail mount to the orientation of the spline. By default, the option is off, no change in behavior. #jira UE-55815 Change 3968958 by Andrew.Rodham Sequencer: Consider vertical position when hittesting keys #jira UE-56256 Change 3969643 by Max.Preussner Core: Rounding timespans created from double values towards nearest ticks Change 3969646 by Max.Preussner MediaUtils: Implemented timeout mechanism for block-on-fetch feature Change 3969776 by Mike.Zyracki Added Skip Anim Notifiers Toggle per what was in Matinee. Investigated the Enable Root Motion toggle as also discussed but it's implementation is directly contained by the animation asset and unlike animation notifies there seems to be no exposure to interactively disable it during a playback tick. Note if we are generating thumbnails we still automtically disable notifies in the editor to avoid annoying noise playback. Note that if Enable Root Motion/Root locked is specified in the animation asset it does correctly effect the Sequencer. #jira UESEQ-399 Change 3969835 by Matt.Hoffman Playback Range and Selection Range use unified logic for adding themselves as potential snap locations which properly handles inclusive/exclusive bounds. This resolves an issue where having an unset selection range caused a potential snap location to be added on frame 0 and 1 (internal resolution) which caused a misalignment when placing objects near frame 0. This also removes the one frame offset on setting Selection Range to bring behavior inline with other ranges. #jira UE-55420 Change 3969885 by Max.Preussner MediaAssets: Don't register media player CDO with media ticker Change 3971129 by Andrew.Rodham Sequencer: Fixed UMovieSceneSequencePlayer::GotToEndAndStop() not taking into account for start time This is a remnant from when the times were always specified in 0-duration space, rather than actual sequence times. Change 3972056 by JohnHenry.Carawon More updates to Test Content. I continued spacing out the examples in the sequence so that they have a consistent number of frames between each example and during the start/end of the example. Also removed the Marcie sublevel. Change 3972066 by Andrew.Porter MediaFrameworkTest: Setting Marcie folder to be never cooked in package settings Change 3972675 by Matt.Hoffman Splitting Subsequence Sections no longer sets an incorrect playback range on the subsequence when the subsequence has a different internal resolution than the owning sequence. #jira UE-55453 Change 3973376 by Max.Preussner ImgMedia: Zero is the only valid video track for image sequences Change 3973489 by Max.Preussner Launch: Build rules cleanup pass - don't use Media, MediaUtils on server apps - don't link against Media (include-only dependency) - don't include from MediaAssets (dynamic load only) Change 3973760 by Max.Preussner MediaUtils: Moved AppMediaTimeSource implementation into its own file; added logging Change 3973765 by Max.Preussner ImgMedia: Disallowing seek beyond media length Change 3973855 by Max.Preussner MediaFrameworkTest: Updated developer test content Change 3973858 by Max.Preussner MediaCompositing: Blocking on media player time instead of media sample time (the former may not be hit in the current frame) Change 3974988 by Max.Chen Sequencer: Fix trim left so that it also sets the start offset for audio and skeletal animation sections. #jira UE-57015 Change 3976101 by Matt.Hoffman Sequencer will now focus the scroll view on newly created items. #jira UE-56492 Change 3976203 by Max.Chen Property Editor: Add DetailsViewArgs for ColumnWidth. Defaults to 0.65f, no change in existing behavior. Change 3976205 by Max.Chen Sequencer: Set better column widths for sequencer. #jira UE-55557 Change 3976206 by Max.Chen Sequencer: Added menu category for import/export Change 3976265 by Matt.Hoffman Tracks within Object Binding Nodes will now sort using the old behavior so that components are added above other track types. #jira UE-56473 Change 3976901 by Max.Chen Sequencer: Add event names to event track section #jira UESEQ-353 Change 3977878 by Max.Preussner Media: Moved media framework ticking stats into Media module Change 3977982 by Max.Chen Sequencer: Add Edit->Reset section length to duration of source (ie. audio, skeletal animation, shot length) Added MovieSceneSection::GetDefaultDuration and MovieScene::HasDefaultDuration #jira UESEQ-392 Change 3977994 by Max.Preussner Media: Fetching and rendering media samples before viewports are rendered (to ensure frame sync for in-level media playback) #jira UE-53975 Change 3978188 by Matt.Hoffman Easing Curves are now clipped by the sequence's PlayRange when testing against an infinite section. This causes blended sequences to finish their blend when the section starts/ends instead of always using 25% of the total section length to determine default blend range. #jira UE-56362 Change 3978676 by Max.Preussner MediaCompositing: Fixed first frame of rendered out media track missing #jira UE-53975 Change 3978684 by Max.Preussner MediaCompositing: Enabled media track frame sync feature #jira UE-53975 Change 3980026 by Matt.Hoffman Keys can be selected on folded out sections (such as an audio track expanded to show volume and pitch) again. #jira UE-57169 Change 3981614 by Max.Preussner MediaUtils: Added missing subtitle sample queue flush Change 3982311 by Max.Preussner MediaCompositing: Added safeguard for zero length media sources Change 3982389 by andrew.porter QAGame: Adding media track test content into FrameAccuracySubscene Change 3983661 by Max.Chen Sequencer: Add level name to spawn a spawnable into. Add sublevel menu option to set the level #jira UESEQ-390 Change 3983712 by Andrew.Rodham Sequencer: Purge legacy blueprint spawnables from LevelSequence packages #tests Ran a preflight for cooking fortnite, ocean and Orion. Only orion shows up this edge case, and will require a re-save of the EndCines level #jira UE-39173 Change 3983787 by Max.Preussner MediaCompositing: Moved compile time switch for block-on-fetch into media player facade Change 3983812 by Andrew.Rodham Sequencer: Exposed default level sequence instance data to blueprints Change 3984373 by Max.Preussner Media: Added API for quering whether player plug-in supports block on fetch Block on fetch allows Sequencer and other systems to block the game thread until a desired video frame has been decoded. Change 3984670 by JohnHenry.Carawon Movie Rendering Test Content progress. Saving the state of the content. There is a bug where things got replaced with particle emitters and I think it was because I tried to copy paste an animation track into a separate skeletal mesh track. Change 3985097 by Max.Chen Sequencer: Rename Reset to AutoSize Change GetAutoSizeDuration to return TOptional<FFrameTime> #jira UESEQ-392 Change 3986043 by Max.Chen Sequencer: Fix crash when attach/path duration is less than 0. #jira UE-57310 Change 3986373 by Max.Chen Sequencer: Add support for deleting tracks and channels which equates to setting the channel mask. #jira UE-52951 Change 3986375 by Max.Chen Sequencer: Add Create Pose Asset to skeletal animation section. This allows animators to blend animations in sequencer and create new pose assets from them. #jira UESEQ-408 Change 3986796 by Andrew.Rodham Sequencer: Fixed stale object references remaining in ULevelSequence::BindingReferences when using convert to spawnable/possessable - We used to convert objects by creating a new binding, then re-assigning its GUID, which meant we didn't have to do any further object fixup, but the code to achieve this was confusing and led to a vulnerability where object references would not be cleaned up correctly due to the newly created possessable essentially being a temporary object that's immediately thrown away. - To address this, there is now a function for porting all the contents of one object binding to another, and handles the correct fixup required for parent/child object bindings for both spawnables and possessables. - Also added codepath to remove any stale object references from the level sequence reference map on PostLoad (this piggy-backs off the PurgeLegacyBlueprints object version which is close close enough to this change to be identical) #tests Verified that existing sequences with stale references get cleaned up on load. Verified that repreatedly converting from spawnable<->possessable cleans up references correctly. Change 3987807 by JohnHenry.Carawon Updates to the MovieRendering Test Content. - Fixed the spawnable actors that were overwritten - Shortend the Lighting example and combined the Intensity and Color tracks - Organized the Sequence and WorldOutliner to group the examples. Change 3988151 by Max.Chen Cine Camera: Enable keying the "Enable Look at Tracking" toggle. Change 3988880 by Max.Chen Sequencer: Support enter to add asset for all sequencer track editors that have asset pickers. #jira UE-57367 Change 3988953 by Max.Chen Sequencer: Make the track color picker focusable so that it will close when you click away or lose focus. #jira UE-57210 Change 3988962 by Max.Chen MovieSceneCapture: Fix EDL export so that it takes into account movie scene frame resolution and desired frame rate. #jira UE-57365 Change 3988964 by Max.Chen Movie Scene Capture: Clarified tooltip for bRelativeFrameNumbers. If you specify custom start/end frames for the recording, they will be relative to the playback range. #jira UE-57308 Change 3989442 by Max.Chen Fix CIS Change 3991548 by Matt.Hoffman Dragging the time slider no longer causes the time slider to ignore snap-to-interval with "Snap to Keys While Scrubbing" when no keys are in range. #jira UE-57417 Change 3991598 by Matt.Hoffman Snap to Key while scrubbing now mirrors the behavior of "jump to next key". When there are no tracks selected it snaps to all keys and when there are tracks selected it snaps to only keys from that track. This also resolves an issue where deleting an object did not remove it from the Sequencer's selection. Undoing a delete already doesn't seem to restore your selection, so removing it from your selection shouldn't change that behavior. #jira UE-57417 Change 3991603 by Max.Chen Sequencer: Disable EditAnywhere for some section properties #jira UE-53530 Change 3992240 by Max.Preussner MediaAssets: Implemented dynamic audio sample rate adjustment based on audio/media clock drift #jira FORT-70638 Change 3992911 by Andrew.Rodham Sequencer: Fixed saving spawnable state using the wrong spawned object - We now track the object binding ID so that we can apply the spawned object to the correct spawnable when the asset is saved #jira UE-57353 Change 3992914 by Max.Chen Movie Scene Capture: Fix compression quality not being set. The compression interface wasn't being found through query interface, so no compression was being set. Reworked finding it through the output pins. Tested running various compression values. #jira-UE-55488 Change 3992919 by Max.Chen Sequencer: Convert to possessable now uses object template instead of copying properties (ie. see LevelSequenceActorSpawner). This fixes MIDs getting lost when converting to spawnable and back to possessable. #jira UE-52400 Change 3993184 by Max.Chen Sequencer: Don't show +Transform/+Path/+Attach track if the actor has the "Mobility" property hidden. Set the Landscape, LandscapeProxy and InstancedFoliage "Mobility" property to be hidden since it is static is not supposed to be dynamically movable. #jira UE-56347 Change 3993238 by Max.Chen Sequencer: Test for hidden mobility in creating keys as well. Refactored to HasHiddenMobility() #jira UE-56347 Change 3993978 by Max.Chen Cine Camera: Enable keying the "Enable Look at Tracking" toggle. #jira UE-57489 Change 3994039 by Max.Chen Landscape: Add Mobility to hidecategories on landscape component #jira UE-56347 Change 3994626 by JohnHenry.Carawon Updated Movie Rendering Test Content. - Fixed the overridden spawnables to their proper object types. Change 3994653 by Christina.TempelaarL Sequencer: Added Final Cut Pro 7 XML Import functionality, improved Export functionality #jira UESEQ-358 Change 3995609 by Max.Chen UMG: Add support for 2d transform mask (translation, rotation, scale, shear) #jira UE-52951 Change 3995778 by JohnHenry.Carawon Movie Rendering Test Content Updates - Adjusted Lights example - Adjusted Camera example - Added Marcie sublevel back in Change 3995942 by JohnHenry.Carawon QAGame: Moving Movie Rendering test content from Developer folder to Sequencer folder Also adjusted level visibility, lights and camera example. Change 3995993 by Christina.TempelaarL Sequencer: FCPXML Export updates - only export sections if in playback range and media exists, warn if media does not exist. Other updates - removed unused methods and variables, fixed message context naming to be more accurate #jira UESEQ-358 Change 3996595 by andrew.porter QAGame: Updating Marcie content in TrackEvaluation level to use Image Plate Change 3996614 by andrew.porter QAGame: Adding color test sequence to the sublevel Change 3996643 by Max.Chen Sequencer: Fix fbx animation export - rotation and scale channels were flipped. #jira UE-57509 #jira UE-57512 #jira UE-57514 Change 3996652 by Max.Preussner Messaging: Fixed delayed messaging using incorrect current time after message router sleep Based on https://github.com/EpicGames/UnrealEngine/pull/4601 Change 3996801 by Max.Chen Sequencer: Fix folder active state for non key area sections. Look at track node sections as well as key areas. #jira UE-57550 Change 3997098 by Matt.Hoffman Cleaned up some remaining ToDo's in STimeRange. Change 3998339 by Max.Preussner Sockets: Added documentation for socket receive functions Change 3998359 by Max.Preussner MediaUtils: Started to implement media recorder helper class Currently only supports BGRA frames in CPU memory. Supporting other formats and buffer types will require conversions on render-thread. I recommend refactoring out the existing conversion code in FMediaTextureResource into a reusable helper class in the MediaUtils module. This should be a good starting point though. Change 3998417 by Matt.Hoffman Keys and Sections can now be moved at the same time inside of Sequencer. Keys can now snap to Sections (and vice versa) instead of just to other Keys. Sections can now be duplicated like keys can. #jira UE-56995 Change 3998427 by JohnHenry.Carawon QAGame: Updating test content for the Movie Rendering feature. - Added an auto activate particle to the beginning of the sequence (it's not part of the sequence at all) - Added an event receiver blueprint to the Events example - Added a particle emitter to both sublevels - Added a camera cut to the end that switches to a separate camera - The camera zoom in, focus and Look At sections are all separate (not overlapping in the sequence) - Added a second actor for the camera Look At - Added a Visibility section for the Actor Hidden In Game track that has possessable and spawnable cube and light Change 3998537 by Max.Chen Sequence Recorder: Restore immersive mode when stopping the sequence even if not in PIE. #jira UE-56407 Change 3999809 by Matt.Hoffman Removed the "Go To" box from Sequencer and instead placed the current time as an always visible control. The previous shortcut (Ctrl + G) now focuses the new widget directly. #jira UESEQ-376 Change 4000543 by Christina.TempelaarL Sequencer: Moving editor-only code from runtime module MovieSceneCapture to editor module MovieSceneTools. Moved EDL and FCP XML exporters as well as Automated Level Scene Capture. #jira UESEQ-358 Change 4000706 by Matt.Hoffman Entering multiple time strings without a number no longer crashes Sequencer. #jira UE-57672 Change 4001051 by andrew.porter MediaFrameworkTest: Fixing up some image sources pointing to the wrong location Change 4001191 by andrew.porter QAGame: Adding some quick EDL/XML test content to dev folder Change 4001243 by Max.Chen Sequencer: Fix import EDL out of range. #jira UE-57665 Change 4001856 by Matt.Hoffman Selecting keys and sections at the same time now also works with animation and audio sections. #jira UE-57716 Change 4002021 by Max.Chen Sequence Recorder: Fix sequence name incrementing. If external recording sets the sequence name, use it. Otherwise, use the recording name from the recording group or the recording settings. #jira UE-57712 Change 4002618 by Max.Chen Viewport: Update the look at location when updating to a locked actor. This fixes an issue so that popping the view out of a locked actor and manipulating the view will not jump to the previous look at location. #jira UE-57725 Change 4002979 by Matt.Hoffman Fixes several edge cases with the end time range that was causing confusion about what the last frame of the sequence was. Dragging the End Frame slider will no longer be off by one tick and jumping to the end via the UI controls now properly respects snapping and stays inside the play range instead of falling outside of it. Overall behavior does not change though and End Frame should be considered an exclusive frame so that frames 0-150 results in a 150 frame long animation (which is frames 0-149). #jira UE-56367 Change 4003185 by Matt.Hoffman Fixed a regression that prevented a section from being dragged upwards past row 0 which normally resulted in all other rows moving down. #jira UE-57717 Change 4003193 by JohnHenry.Carawon QAGame: Updates to test content - Shortened frames between the examples from 95 to 30 - Separated camera setting tracks - Lighting example now switches directly from constant red - green - blue Change 4003369 by Max.Chen Sequence Recorder: Refresh next sequence regardless of internally stored sequence name. #jira UE-55757 Change 4003586 by JohnHenry.Carawon QAGame: Test Content Updates - Level Visibility track now ends to that the levels are not visible when we move to the next example - Shortened camera section, removed Z tranform so that we just move left to right and shortened the overall length Change 4004414 by Max.Chen Movie Scene Capture: Fix regression where rendering with shot handles would only render the first shot. 3972166 addressed an issue where an extra frame would be rendered by finalizing right when the end frame was reached. This was hit on the first shot end frame, so instead, do this only for when the last shot is being rendered. #jira UE-57314 Change 4004765 by Christina.TempelaarL Sequencer: Fixed bugs in FCP XML import/export. - Export: fixed sequence default resolution. - Export: fixed XML files with no shots. - Export: all sections clipped to playback range. - Export: fixed incorrect section start/end times due to precision issues. - Import: fixed incorrectly adding cinematic tracks. - Import: fixed bugs creating new sections. #jira UE-57660 #jira UE-57662 #jira UE-57655 #jira UE-57761 Change 4005119 by Max.Chen Sequencer: Export/import at play rate Change 4005195 by Max.Chen UMG: Finish UMG evaluation on stop. Added object version so that existing UMG assets do not change. #tests - Newly created UMG animation with sections set to restore state now return to their original state. Existing UMG animations with sections set to restore state do not return to their original state. #jira UE-52285 Change 4005377 by Michael.Karambelas QAGame: Moving TM-SequenceRecorder and related content out of my developer folder and into /Content/Sequencer/SequencerRecorder/* Change 4005417 by Michael.Karambelas QAGame: Fixed a BP compiler in the Level Blueprint of TM-SequencerRecorder. Change 4005634 by Michael.Karambelas QAGame: Fix up missing content and broken level sequence in TM-SequenceRecorder after move Change 4006324 by Max.Chen Sequencer: Reset if the focused movie scene is null. This fixes a crash if the user is focused in on a shot and undo takes the user past the point of where the shot was created. #jira UE-57752 #jira UE-47661 Change 4007006 by Max.Chen Sequencer: Fix FindAvailableRowIndex so that it returns the max row index (and not +1) since it doesn't find any conflicting rows. #jira UE-57717 Change 4007907 by Max.Chen Sequencer: Fix crash if there's no animation Change 4007948 by andrew.porter QAGame: added test content to dev folder for Record World Space Change 4008636 by Max.Chen Sequencer: Fix import fbx not setting values properly and creating additional cameras unncessarily. #jira UE-57864 Change 4008759 by Max.Chen Sequencer: Follow up fix for import cameras #jira UE-57864 Change 4009994 by Matt.Hoffman Dragging the left or right handles of the Time Range slider in Sequencer will now zoom your view in on the current center of the screen. This prevents the view from being translating as you tried to zoom in which caused issues at high zoom levels. #jira UESEQ-407 Change 4010169 by Christina.TempelaarL Sequencer: FCP XML fixes. - FCP XML export - no longer clips to playback range - FCP XML and EDL export - fixed missing last frame of some sections after exporting to Premiere. - Automated level capture, EDL export - use RoundToFrame instead of FloorToFrame for computing section start/end frames after frame rate conversion. #jira UE-57802 - partial fix, movie scene capture still needs to render full section rather than clip against playback. Change 4010287 by Mike.Zyracki Add quaternion interpolation option to UMovieScene3DTransformSection. This mimics how Matinee used to work by bascially finding the keys between a time and interpolating the angles as quat's between them. As noted in the code the algorithm needs to handle the case when the x,y,z Rotation keys all aren't at the same time which was not handled by Matinee. Also like Matinee, when in quaternion interoplation mode, we need to not display the function cuves since the interpolated and key values are now all different. (Would like to show them but that's a bigger refactor for perhaps just a one off needed by quaternions). I added a virtual function UMovieSceneSection::ShowCurveForChannel for this since it needs to be dynamic, not on construction of IKeyArea's, and could be useful for other sections. I could though move the method to just UMovieScene3DTransformSection and do a cast instead. Looked into doing a unit test for this but after talking with Andrew P we will work on doign an automated test in EngineQA since that will provide more coverage. Will also add a video the jira. #jira UESEQ-403 Change 4010713 by Mike.Zyracki Added option to key a group of transform channels instead of just the changed channel, or all of them. This is useful for quaternion interpolations where you want rotation keys to be aligned but also useful for other workflows like animating FK Pose to Pose. Change 4010715 by Andrew.Porter MediaFrameworkTest: Setting LogMediaUtils logging from VeryVerbose to Verbose to cut back on the spam Change 4013048 by Max.Chen Sequencer: Fix play/jump status. Update the player status for all position methods (Scrub, Jump, Play). Jump means Stopped. Correctly use PlayTo or JumpTo based on position method. In PlayInternal, JumpTo with the Stopped state (rather than playing state). #jira UE-57844 Change 4013479 by andrew.porter QAGame: Added content in TM-SequenceRecorder to test recording a property on a Cine Camera Component; Press 3 to trigger manual focus distance to increment on a timer Change 4014323 by Max.Chen Sequencer: Fix SetPlaybackPosition so that it jumps or plays based on playback status. #jira UE-57844 Change 4015888 by Max.Chen Sequencer: Fix crash on paste. UMovieSceneSections were gathered from the track node's track. For sub track mode, we want to gather only those sections on that track node row. #jira UE-57951 Change 4015943 by Max.Chen Sequencer: Fix moving shots up when the mouse pos goes outside of the virtual track area. #jira UE-57717 Change 4016293 by Max.Chen Sequencer: Fix relative frame playback end frame calculation so that custom start/end frames remain in the space of the sequence and are not relative. #jira UE-57308 Change 4017075 by Andrew.Rodham Sequencer: Corrected initial evaluation range used when calling UMovieSceneSequencPlayer::Play() Change 4017270 by Christina.TempelaarL Sequencer: FCPXML importer and movie scene capture - Use CeilToFrame when converting section start/end frame times to frame numbers in FCPXML and movie scene capture. - Added support for clip metadata in FCPXML. - Got rid of redundant TokenizedError message class, no longer needed now that FCPXML is in editor directory. - Added log messages currently commented out due to exception, still testing. #UESEQ-358 Change 4018370 by Christina.TempelaarL Sequencer: fixed FCPXML log messages regarding sections with start/end not divisible by display rate. #UESEQ-358 Change 4018378 by Christina.TempelaarL Sequencer: fixed error in previous changelist. #UESEQ-358 Change 4019457 by Max.Chen Sequencer: Show event names only when the event track is selected #jira UE-57897 Change 4022806 by Max.Chen Sequencer: Fix crash on movie scene capture dialog shutdown if movie capture wasn't even started. #jira UE-58106 Change 4022894 by Max.Chen Sequence Recorder: Wrap OpenEditorForAssets after sequence recording within GIsEditor #jira UE-58084 Change 4024487 by Max.Chen Sequencer: Add tooltip for quat interpolation #jira UE-58113 Change 4024562 by Max.Chen Sequencer: Change path/attach track sequence binding id to currently focused sequence id so that bindings can be created in subsequences Change 4027414 by JohnHenry.Carawon QAGame: Checking in content that shows a bug with using particles systems and Delay Before Shot Warm Up. Change 4028990 by Max.Chen Sequencer: Fix evaluate sub sequences in isolation. This check was added with the compile on the fly logic. Not sure why it was necessary but it seems like the sub sequence data needs to be updated in order to evaluate sub sequences in isolation. #jira UE-58184 Change 4029004 by Max.Chen Sequencer: Ensure that old binding references are removed when re-assigning actors in sequencer #jira UE-57898 Change 4030997 by JohnHenry.Carawon QAGame: Fixing name of the master sequence Change 4031785 by Michael.Karambelas QAGame: Added an instance of ThirdPerson Run to TM-SequenceRecorder for Record to Possessable test. Change 4035548 by Andrew.Rodham Sequencer: Changed FMovieSceneEvaluationTemplate::TemplateSignature to be a serial number to address non-deterministic cooking issues - This commit is related to the repro steps found in 3914599 and 3934307, both of which have been verified with this new change. - Copy of 4031684 from //Fortnite/Main/... #jira FORT-84852 Change 4036312 by Max.Chen Sequencer: Fix zoom view range so that it uses the passed in InZoomDelta Change 4036318 by Max.Chen Sequencer: Auto size now returns a range and defaults to the channel proxy range so that keyed regions can also be autosized. Change 4036322 by Max.Chen Forgot missing change Change 4036360 by Max.Chen Sequencer: Fix play rate calculation when skeletal animation section play rate changes. Change 4037163 by Mike.Zyracki Weighted Tangent Implementation Tricky thing is that you need to solve a cubic in order to get the bezier weights for the time part of the curve. See https://www.gamedev.net/forums/topic/474094-help-function-curves-for-animation-interpolation/ Maya provides an implementation in it's dev kit but I didn't use it since it was horribly slow and uses an iterative solution to solve the cubic needed. Instead I use an old algorithm (Cardano's method), to solve the cubic which should be much faster. Though relative simple to code from principles I just went ahead and used a version from Graphics Gems 1. I put this cubic solver directly in MovieSceneFloatChannel.cpp, but will need to move it when we support Rich Curve, maybe to FMath:: (which would probalby require some other functions for solving quartics, etc.. for completeness.). Also note we resolve this on every evaluation but dont' need to if the interval the time is evaluating hasn't had any change in values or tangents. So again when we support FRichCurve we can create a Weighted Evaluating class that can hold the cache. Also with the tangent drags I got rid of the Cardinal position that was used to calculate non-weight tangents from the key point and just quickly getting a direction. With weighted tangents we need to use the delta instead (otherwise when moving multiple they would all get the same weight based upon distance to the cardinal point. ) For mixed tangents types what I'm defaulting to non weighted if the interval doesn't match. May need to do weighted instead, not sure. What's left is just FBX import, for tomorrow. #jira UESEQ-76 Change 4037435 by Mike.Zyracki Fix fo build warnings from weighted tangent submission. #trivial Change 4038091 by Michael.Karambelas QAGame: Updated a Sequence Recorder group in TM-SequenceRecorder that had an actor missing the animation. Change 4038374 by Andrew.Rodham Sequencer: Refined scrubber styling for level sequences and actor sequences - Scrubber now shows a block the width of a dsplay rate frame, plus a line for the actual evaluated time. UMG reverts back to the previous styling (no block) - Keys that are outside of the playback range are now drawn with a subdued effect - Tick labels are no longer drawn when directly underneath the scrubber Change 4038490 by Max.Chen Sequencer: Expose tangent weight values in details panel. Change 4038620 by Andrew.Rodham Sequencer: Advanced time panel polish #jira UESEQ-426 Change 4038677 by Max.Chen Movie Scene Capture: Redirector for MovieSceneTools.AutomatedLevelSequenceCapture #jira UE-58248 Change 4039739 by Max.Chen Sequencer: Media track should only be supported by Level Sequence Change 4040024 by JohnHenry.Carawon QAGame: Fix EventReciever and OverrideBinding example The level sequence was set to none so the fix was to set it back to TrackEvaluation_Master. Change 4040610 by Andrew.Rodham Curve Editor: Moved weighted tangent switchers to a single toggle command (CTRL+W) and added an icon #jira 58383 Change 4040882 by Mike.Zyracki Keep broken when turning on weighted #jira UE-58435 Change 4041089 by andrew.porter QAGame: Sequence for Long Tangents bug Change 4041498 by Mike.Zyracki Turn off weighted when going auto to prevent large tangents. Do it both in UI and when doing AutoSetTangents() to really make sure it doesn't happen. #jira UE-58452 Change 4041752 by andrew.porter MediaFrameworkTest: Adding some better logging for setting rates when not supported. Also ignoring commiting URL when there is no text Change 4041896 by Matt.Hoffman The transform dialog box now transforms selected keys and sections, instead of just keys. #jira UE-58265 [CL 4044405 by Max Chen in Main branch]
2018-05-02 10:10:00 -04:00
FQualifiedFrameTime ScrubPosition = FQualifiedFrameTime(TimeSliderArgs.ScrubPosition.Get(), GetTickResolution());
FScrubberMetrics ScrubMetrics = GetScrubPixelMetrics(ScrubPosition, RangeToScreen);
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 4044339) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3947021 by Max.Chen Sequencer: Don't preserve root component when copying object properties. A spawnable empty actor, has a root component that is generated by the empty actor factory. If the object template's root component is preserved when copying from the spawnable empty actor, the root component will not be copied over. Therefore, we need to NOT preserve the root component when copying object properties. #jira UE-55825 Change 3947366 by Max.Preussner WmfMedia: Better log output Change 3947367 by Max.Preussner MfMedia: Better detection of compressed format properties on Windows Change 3949102 by Max.Chen Sequencer: Remove SequenceActorTag when converting to possessable. #jira UE-56206 Change 3949207 by andrew.porter EngineTest: Set the screenshot nodes resolution to 1280x720 Change 3949404 by Max.Chen Sequencer: More informative tooltip for "Rerun Construction Scripts" option. It now says "Rerun construction scripts every frame on actors that have 'Rerun Construction Script in Sequencer' enabled in their class settings". Change 3950067 by Matt.Hoffman Renamed UAutomatedLevelSequenceCapture's StartFrame and EndFrame to CustomStartFrame/CustomEndFrame to reflect that it is user-overriden. This will also resolve upgrade issues due to the variable datatype changing. #jira UE-56189 Change 3950193 by JohnHenry.Carawon Updating my latest MovieRendering test content. Change 3950757 by JohnHenry.Carawon More updates to MovieRendering test content Change 3952059 by Max.Chen Resave LevelVisibility_SubLevels to fix data loss conversion warning of OpacityMaskConstant #jira UE-56086 Change 3952283 by Max.Chen Sequencer: Disable dropping level sequence assets as spawnables. #jira UE-56120 Change 3952422 by Max.Chen Sequence Recorder: Add button to record from the current player. #jira UE-55942 Change 3952987 by JohnHenry.Carawon MovieRendering Test Content - Fixing camera bindings and changing the override binding actor Change 3953823 by Mike.Zyracki Fix for Bad FBX Import Tangents not scaled by frame rate. After looking at this again it seems that a set of MovieScene:: overiddes for the channel traits wasn't set correctly, so use the ADL idiom to use MovieScene, which can then call Optimize in the correct namespace. With this we can now correctly use the passed in tolerance. There was also a redundant set of Optimize calls so that it could happen twice so removed them, and needed an extra check in the float channel Optimize. Also since we need to set auto tangents no matter if we optimize we don't set that parameter(though leave it since it's used by context menu key reduction). Finally fixed speed issue with trajectories caused by calculating way too many substeps. Reverted back to a time based step size for consistency. #jira UE-56193 Change 3954317 by Matt.Hoffman Adding a key to the last frame of a section no longer causes a crash. Keys can already be moved to be on the last frame of a section so now you can just add a key there directly. #jira UE-56255 Change 3954326 by Matt.Hoffman Dilating a section that is only infinite on one side no longer causes a crash. #jira UE-56260 Change 3954486 by Max.Chen PR #4580: Exposes IsReversed() from UMovieSceneSequencePlayer (Contributed by alanedwardes) Change 3955238 by Max.Preussner Messaging: Enabled delayed message routing https://github.com/EpicGames/UnrealEngine/pull/4574 #jira UE-56247 Change 3955901 by Max.Preussner MediaFrameworkTest: Added developer test for overriding desired media player plug-in at runtime. Change 3955922 by Andrew.Porter QAGame: Updating movie rendering content in dev folder Change 3956004 by andrew.porter QAGame: Adding MPC track to movie rendering test content Change 3956510 by Max.Chen Sequencer: Fix fbx camera import of static properties so that they are imported before default tracks are created. Otherwise, the default tracks inherit the default properties of the camera, rather than the values from the fbx. #jira UE-56311 Change 3957613 by Max.Preussner MediaUtils: Added code documentation to media player facade Change 3958005 by Max.Preussner MediaUtils: Added method to get number of sinks Change 3958934 by Max.Chen Sequencer: Fix keys getting added and sequence getting erroneously re-evaluated when auto key is off. Only apply defaults if there are no keys. Only modify the movie scene section before creating keys or setting defaults. #jira UE-55903 Change 3959687 by Andrew.Rodham Sequencer: Fixed visibility track external values being inverted #jira UE-56324 Change 3960507 by Max.Preussner Core: Fixed incorrect rounding in FMath::DivideAndRoundNearest Change 3962047 by JohnHenry.Carawon MovieRendering Test Content Changes: - Add Lightmass Importance Volumes to sublevel to fix warnings - Rebuilt Lighting - Add a third sequence for Gamut testing - Resaved the sound master.uasset to fix warning Change 3962211 by Mike.Zyracki Add Frame Numbers to selected animation sections. Added MapTimeToAnimation to MovieSceneSkeletalAnimation so that we could get it from the Skeleton Animation track Editor. Since the thickness of the frame line can change based upon frame rate and zoom we need to calculate it similarly to how the time slider controller does it. Those calculations were private so we had to expose FScrubRangeToScreen and GetScubberPixelRange from the TimeSliderController. Also needed to know if the section itself was selected so added a bIsSelected flag to the section Painter. Also fixed a bug where you couldn't add a section if other sections existed at different times in MovieScenePropertyTrack and could crash due to the check(). #jira UESEQ-395 Change 3962497 by Max.Preussner Core: Added new string formatting argument to FTimespan Change 3963662 by Max.Chen CineCamera: Flip VistaVision width and height. Change 3963731 by Max.Preussner MediaCompositing: Implemented sequence recording support for media track Change 3964195 by Andrew.Rodham Sequencer: Set inverted property correctly for newly created visibility track sections - Also clamp evaluation for key editors to the bounds of the section so we're not displaying values outside of the section bounds when the cursor is not on the bounds #jira UE-56324 #coderevew Max.Chen Change 3964196 by Andrew.Rodham Sequencer: Fixed crash when attempting to render sections that resulted in a negative intersection with the view range Change 3964275 by Andrew.Rodham Sequencer: Fixed MovieScene::ClampToDiscreteRange for infinite range bounds Change 3964364 by Andrew.Rodham Curve Editor: Reduce minimum vertical view range when zooming to fit Change 3965091 by Max.Chen Sequencer Recorder: Refresh next sequence if empty when starting a recording, otherwise, use existing name. #jira UE-56469 Change 3965148 by Max.Chen Sequence Recorder: Move Record to Possessable to "Actor Recording" group Change 3965162 by Max.Chen Sequence Recorder: Always break out of immersive mode when done recording, even when stopping recording during countdown. #jira UE-56407 Change 3965214 by Max.Preussner QAGame: Enabled ImagePlate plug-in Change 3965574 by Max.Preussner SimpleComposure: Reorganized & upgraded content to work with new Media Track #jira UE-56488 Change 3965651 by Max.Preussner MediaCompositing: Ignoring seek-on-open if media not seekable Change 3966075 by Christina.TempelaarL Sequencer: Added Final Cut Pro 7 XML Export functionality #jira UESEQ-358 Change 3966087 by Matt.Hoffman Adding a single key to the Particle Toggle track now makes an infinite range section that is displayed in the UI. #jira UE-56295 Change 3966547 by Andrew.Rodham Sequencer: Fixed rounding errors when drawing the section background on boolean sections - Logic was using time in sectonds which caused rounding errors on evaluation and flickering red/green stripes when dragging keys around #jira UE-56324 Change 3966563 by Andrew.Rodham Curve Editor: Key editor interface improvements - SKeyEditInterface has a few problems - it does not update in real time when editing properties, and does not support multi-edit which makes it unsuitable for use with the curve editor - We now take a different approach for editing keys by gathering a set of proxy UObjects for each key that is currently selected. These objects are added as top level objects to the details panel which means they support multi edit as you'd expect from any other details panel in the editor. - Proxy objects are updated every tick for the curve editor if they implement the ICurveEditorKeyProxy interface, which allows them to refresh their current value. - Ideally, the same mechanisms would be used in the main sequence interface, and we would be generating the proxy classes at runtime based on the key value type, but that work remains a separate task from this initial offering. #jira UE-56165 Change 3966564 by Andrew.Rodham Curve Editor: Expand to frame when adding or moving keys in the curve editor Change 3967051 by andrew.porter MediaFrameworkTest: Set the CameraPlayer_Video texture to auto clear Change 3967141 by Andrew.Rodham Sequencer: Keep track of spawned objects that have been modified and only re-save such object's default spawnable state on destruction - Now that we're taking this approach, I've remove serveral redundant bits of functionality in the spawn register such as making some spawnables read-only, and the PreSave binding for Sequencer. - We now hook into all object pre-saves to make sure we handle the case where the sequences are saved through the content browser or elsewhere. #jira UE-47686 Change 3967170 by Andrew.Rodham Sequencer: Added the ability to possess anim instances as object bindings - This allows full and direct animation of properties on UAnimInstance, and animation blueprints - Object Bindings are made by first possessing a skeletal mesh component, then choosing the + Add button where its anim instance will be listed - Added a new function to UMovieSceneSequence to gather previously cached objects that should now be invalidated. Anim instances will be re-resolved if a new UAnimInstance is assigned to USkeletalMeshComponent::GetAnimInstance. - ObjectBindingIDs for anim instances are just represented by an entry in a set of GUIDs. We only ever resolve such bindings through USkeletalMeshComponent::GetAnimInstance. - Only currently supported on LevelSequences #jira UE-56132 Change 3967195 by Max.Preussner Core: Updated TRangeSet to use TCallTraits Change 3967345 by JohnHenry.Carawon Test Content Changes - first iteration of spacing out the examples in the shots. Change 3967572 by Max.Chen Sequencer: Fix setting PreviousPlayEvalPosition until after we've tested whether it's set. #jira UE-56518 Change 3967750 by Max.Chen Audio: Set duration based on number of input channels, rather than number of channels to serialize. This fixes an issue where audio split into 2 channels is set to a duration that's twice as long. #jira UE-56430 Change 3967836 by Max.Chen Sequencer: Allow for animating array elements within ustruct properties #jira UE-55887 Change 3968506 by Matt.Hoffman Fixed ambiguous conversions for seconds and frames being overriden by ambiguous conversion to Timecode (in frames). Change 3968748 by Max.Chen Sequencer: Make the event properties submenu widget larger. #jira UE-55557 Change 3968862 by Max.Chen Sequencer: Recursive expansion when shift is down #jira UE-52139 #pr 4194 Change 3968863 by Max.Chen Sequencer: Bind rename command to selected track so that F2 shortcut start renaming #jira UE-52139 #pr 4194 Change 3968872 by Max.Chen Sequencer: Rekey the selected key at the current time. #jira UESEQ-396 Change 3968938 by Max.Chen Cine Camera: Add option to toggle the behavior of locking the rail mount to the orientation of the spline. By default, the option is off, no change in behavior. #jira UE-55815 Change 3968958 by Andrew.Rodham Sequencer: Consider vertical position when hittesting keys #jira UE-56256 Change 3969643 by Max.Preussner Core: Rounding timespans created from double values towards nearest ticks Change 3969646 by Max.Preussner MediaUtils: Implemented timeout mechanism for block-on-fetch feature Change 3969776 by Mike.Zyracki Added Skip Anim Notifiers Toggle per what was in Matinee. Investigated the Enable Root Motion toggle as also discussed but it's implementation is directly contained by the animation asset and unlike animation notifies there seems to be no exposure to interactively disable it during a playback tick. Note if we are generating thumbnails we still automtically disable notifies in the editor to avoid annoying noise playback. Note that if Enable Root Motion/Root locked is specified in the animation asset it does correctly effect the Sequencer. #jira UESEQ-399 Change 3969835 by Matt.Hoffman Playback Range and Selection Range use unified logic for adding themselves as potential snap locations which properly handles inclusive/exclusive bounds. This resolves an issue where having an unset selection range caused a potential snap location to be added on frame 0 and 1 (internal resolution) which caused a misalignment when placing objects near frame 0. This also removes the one frame offset on setting Selection Range to bring behavior inline with other ranges. #jira UE-55420 Change 3969885 by Max.Preussner MediaAssets: Don't register media player CDO with media ticker Change 3971129 by Andrew.Rodham Sequencer: Fixed UMovieSceneSequencePlayer::GotToEndAndStop() not taking into account for start time This is a remnant from when the times were always specified in 0-duration space, rather than actual sequence times. Change 3972056 by JohnHenry.Carawon More updates to Test Content. I continued spacing out the examples in the sequence so that they have a consistent number of frames between each example and during the start/end of the example. Also removed the Marcie sublevel. Change 3972066 by Andrew.Porter MediaFrameworkTest: Setting Marcie folder to be never cooked in package settings Change 3972675 by Matt.Hoffman Splitting Subsequence Sections no longer sets an incorrect playback range on the subsequence when the subsequence has a different internal resolution than the owning sequence. #jira UE-55453 Change 3973376 by Max.Preussner ImgMedia: Zero is the only valid video track for image sequences Change 3973489 by Max.Preussner Launch: Build rules cleanup pass - don't use Media, MediaUtils on server apps - don't link against Media (include-only dependency) - don't include from MediaAssets (dynamic load only) Change 3973760 by Max.Preussner MediaUtils: Moved AppMediaTimeSource implementation into its own file; added logging Change 3973765 by Max.Preussner ImgMedia: Disallowing seek beyond media length Change 3973855 by Max.Preussner MediaFrameworkTest: Updated developer test content Change 3973858 by Max.Preussner MediaCompositing: Blocking on media player time instead of media sample time (the former may not be hit in the current frame) Change 3974988 by Max.Chen Sequencer: Fix trim left so that it also sets the start offset for audio and skeletal animation sections. #jira UE-57015 Change 3976101 by Matt.Hoffman Sequencer will now focus the scroll view on newly created items. #jira UE-56492 Change 3976203 by Max.Chen Property Editor: Add DetailsViewArgs for ColumnWidth. Defaults to 0.65f, no change in existing behavior. Change 3976205 by Max.Chen Sequencer: Set better column widths for sequencer. #jira UE-55557 Change 3976206 by Max.Chen Sequencer: Added menu category for import/export Change 3976265 by Matt.Hoffman Tracks within Object Binding Nodes will now sort using the old behavior so that components are added above other track types. #jira UE-56473 Change 3976901 by Max.Chen Sequencer: Add event names to event track section #jira UESEQ-353 Change 3977878 by Max.Preussner Media: Moved media framework ticking stats into Media module Change 3977982 by Max.Chen Sequencer: Add Edit->Reset section length to duration of source (ie. audio, skeletal animation, shot length) Added MovieSceneSection::GetDefaultDuration and MovieScene::HasDefaultDuration #jira UESEQ-392 Change 3977994 by Max.Preussner Media: Fetching and rendering media samples before viewports are rendered (to ensure frame sync for in-level media playback) #jira UE-53975 Change 3978188 by Matt.Hoffman Easing Curves are now clipped by the sequence's PlayRange when testing against an infinite section. This causes blended sequences to finish their blend when the section starts/ends instead of always using 25% of the total section length to determine default blend range. #jira UE-56362 Change 3978676 by Max.Preussner MediaCompositing: Fixed first frame of rendered out media track missing #jira UE-53975 Change 3978684 by Max.Preussner MediaCompositing: Enabled media track frame sync feature #jira UE-53975 Change 3980026 by Matt.Hoffman Keys can be selected on folded out sections (such as an audio track expanded to show volume and pitch) again. #jira UE-57169 Change 3981614 by Max.Preussner MediaUtils: Added missing subtitle sample queue flush Change 3982311 by Max.Preussner MediaCompositing: Added safeguard for zero length media sources Change 3982389 by andrew.porter QAGame: Adding media track test content into FrameAccuracySubscene Change 3983661 by Max.Chen Sequencer: Add level name to spawn a spawnable into. Add sublevel menu option to set the level #jira UESEQ-390 Change 3983712 by Andrew.Rodham Sequencer: Purge legacy blueprint spawnables from LevelSequence packages #tests Ran a preflight for cooking fortnite, ocean and Orion. Only orion shows up this edge case, and will require a re-save of the EndCines level #jira UE-39173 Change 3983787 by Max.Preussner MediaCompositing: Moved compile time switch for block-on-fetch into media player facade Change 3983812 by Andrew.Rodham Sequencer: Exposed default level sequence instance data to blueprints Change 3984373 by Max.Preussner Media: Added API for quering whether player plug-in supports block on fetch Block on fetch allows Sequencer and other systems to block the game thread until a desired video frame has been decoded. Change 3984670 by JohnHenry.Carawon Movie Rendering Test Content progress. Saving the state of the content. There is a bug where things got replaced with particle emitters and I think it was because I tried to copy paste an animation track into a separate skeletal mesh track. Change 3985097 by Max.Chen Sequencer: Rename Reset to AutoSize Change GetAutoSizeDuration to return TOptional<FFrameTime> #jira UESEQ-392 Change 3986043 by Max.Chen Sequencer: Fix crash when attach/path duration is less than 0. #jira UE-57310 Change 3986373 by Max.Chen Sequencer: Add support for deleting tracks and channels which equates to setting the channel mask. #jira UE-52951 Change 3986375 by Max.Chen Sequencer: Add Create Pose Asset to skeletal animation section. This allows animators to blend animations in sequencer and create new pose assets from them. #jira UESEQ-408 Change 3986796 by Andrew.Rodham Sequencer: Fixed stale object references remaining in ULevelSequence::BindingReferences when using convert to spawnable/possessable - We used to convert objects by creating a new binding, then re-assigning its GUID, which meant we didn't have to do any further object fixup, but the code to achieve this was confusing and led to a vulnerability where object references would not be cleaned up correctly due to the newly created possessable essentially being a temporary object that's immediately thrown away. - To address this, there is now a function for porting all the contents of one object binding to another, and handles the correct fixup required for parent/child object bindings for both spawnables and possessables. - Also added codepath to remove any stale object references from the level sequence reference map on PostLoad (this piggy-backs off the PurgeLegacyBlueprints object version which is close close enough to this change to be identical) #tests Verified that existing sequences with stale references get cleaned up on load. Verified that repreatedly converting from spawnable<->possessable cleans up references correctly. Change 3987807 by JohnHenry.Carawon Updates to the MovieRendering Test Content. - Fixed the spawnable actors that were overwritten - Shortend the Lighting example and combined the Intensity and Color tracks - Organized the Sequence and WorldOutliner to group the examples. Change 3988151 by Max.Chen Cine Camera: Enable keying the "Enable Look at Tracking" toggle. Change 3988880 by Max.Chen Sequencer: Support enter to add asset for all sequencer track editors that have asset pickers. #jira UE-57367 Change 3988953 by Max.Chen Sequencer: Make the track color picker focusable so that it will close when you click away or lose focus. #jira UE-57210 Change 3988962 by Max.Chen MovieSceneCapture: Fix EDL export so that it takes into account movie scene frame resolution and desired frame rate. #jira UE-57365 Change 3988964 by Max.Chen Movie Scene Capture: Clarified tooltip for bRelativeFrameNumbers. If you specify custom start/end frames for the recording, they will be relative to the playback range. #jira UE-57308 Change 3989442 by Max.Chen Fix CIS Change 3991548 by Matt.Hoffman Dragging the time slider no longer causes the time slider to ignore snap-to-interval with "Snap to Keys While Scrubbing" when no keys are in range. #jira UE-57417 Change 3991598 by Matt.Hoffman Snap to Key while scrubbing now mirrors the behavior of "jump to next key". When there are no tracks selected it snaps to all keys and when there are tracks selected it snaps to only keys from that track. This also resolves an issue where deleting an object did not remove it from the Sequencer's selection. Undoing a delete already doesn't seem to restore your selection, so removing it from your selection shouldn't change that behavior. #jira UE-57417 Change 3991603 by Max.Chen Sequencer: Disable EditAnywhere for some section properties #jira UE-53530 Change 3992240 by Max.Preussner MediaAssets: Implemented dynamic audio sample rate adjustment based on audio/media clock drift #jira FORT-70638 Change 3992911 by Andrew.Rodham Sequencer: Fixed saving spawnable state using the wrong spawned object - We now track the object binding ID so that we can apply the spawned object to the correct spawnable when the asset is saved #jira UE-57353 Change 3992914 by Max.Chen Movie Scene Capture: Fix compression quality not being set. The compression interface wasn't being found through query interface, so no compression was being set. Reworked finding it through the output pins. Tested running various compression values. #jira-UE-55488 Change 3992919 by Max.Chen Sequencer: Convert to possessable now uses object template instead of copying properties (ie. see LevelSequenceActorSpawner). This fixes MIDs getting lost when converting to spawnable and back to possessable. #jira UE-52400 Change 3993184 by Max.Chen Sequencer: Don't show +Transform/+Path/+Attach track if the actor has the "Mobility" property hidden. Set the Landscape, LandscapeProxy and InstancedFoliage "Mobility" property to be hidden since it is static is not supposed to be dynamically movable. #jira UE-56347 Change 3993238 by Max.Chen Sequencer: Test for hidden mobility in creating keys as well. Refactored to HasHiddenMobility() #jira UE-56347 Change 3993978 by Max.Chen Cine Camera: Enable keying the "Enable Look at Tracking" toggle. #jira UE-57489 Change 3994039 by Max.Chen Landscape: Add Mobility to hidecategories on landscape component #jira UE-56347 Change 3994626 by JohnHenry.Carawon Updated Movie Rendering Test Content. - Fixed the overridden spawnables to their proper object types. Change 3994653 by Christina.TempelaarL Sequencer: Added Final Cut Pro 7 XML Import functionality, improved Export functionality #jira UESEQ-358 Change 3995609 by Max.Chen UMG: Add support for 2d transform mask (translation, rotation, scale, shear) #jira UE-52951 Change 3995778 by JohnHenry.Carawon Movie Rendering Test Content Updates - Adjusted Lights example - Adjusted Camera example - Added Marcie sublevel back in Change 3995942 by JohnHenry.Carawon QAGame: Moving Movie Rendering test content from Developer folder to Sequencer folder Also adjusted level visibility, lights and camera example. Change 3995993 by Christina.TempelaarL Sequencer: FCPXML Export updates - only export sections if in playback range and media exists, warn if media does not exist. Other updates - removed unused methods and variables, fixed message context naming to be more accurate #jira UESEQ-358 Change 3996595 by andrew.porter QAGame: Updating Marcie content in TrackEvaluation level to use Image Plate Change 3996614 by andrew.porter QAGame: Adding color test sequence to the sublevel Change 3996643 by Max.Chen Sequencer: Fix fbx animation export - rotation and scale channels were flipped. #jira UE-57509 #jira UE-57512 #jira UE-57514 Change 3996652 by Max.Preussner Messaging: Fixed delayed messaging using incorrect current time after message router sleep Based on https://github.com/EpicGames/UnrealEngine/pull/4601 Change 3996801 by Max.Chen Sequencer: Fix folder active state for non key area sections. Look at track node sections as well as key areas. #jira UE-57550 Change 3997098 by Matt.Hoffman Cleaned up some remaining ToDo's in STimeRange. Change 3998339 by Max.Preussner Sockets: Added documentation for socket receive functions Change 3998359 by Max.Preussner MediaUtils: Started to implement media recorder helper class Currently only supports BGRA frames in CPU memory. Supporting other formats and buffer types will require conversions on render-thread. I recommend refactoring out the existing conversion code in FMediaTextureResource into a reusable helper class in the MediaUtils module. This should be a good starting point though. Change 3998417 by Matt.Hoffman Keys and Sections can now be moved at the same time inside of Sequencer. Keys can now snap to Sections (and vice versa) instead of just to other Keys. Sections can now be duplicated like keys can. #jira UE-56995 Change 3998427 by JohnHenry.Carawon QAGame: Updating test content for the Movie Rendering feature. - Added an auto activate particle to the beginning of the sequence (it's not part of the sequence at all) - Added an event receiver blueprint to the Events example - Added a particle emitter to both sublevels - Added a camera cut to the end that switches to a separate camera - The camera zoom in, focus and Look At sections are all separate (not overlapping in the sequence) - Added a second actor for the camera Look At - Added a Visibility section for the Actor Hidden In Game track that has possessable and spawnable cube and light Change 3998537 by Max.Chen Sequence Recorder: Restore immersive mode when stopping the sequence even if not in PIE. #jira UE-56407 Change 3999809 by Matt.Hoffman Removed the "Go To" box from Sequencer and instead placed the current time as an always visible control. The previous shortcut (Ctrl + G) now focuses the new widget directly. #jira UESEQ-376 Change 4000543 by Christina.TempelaarL Sequencer: Moving editor-only code from runtime module MovieSceneCapture to editor module MovieSceneTools. Moved EDL and FCP XML exporters as well as Automated Level Scene Capture. #jira UESEQ-358 Change 4000706 by Matt.Hoffman Entering multiple time strings without a number no longer crashes Sequencer. #jira UE-57672 Change 4001051 by andrew.porter MediaFrameworkTest: Fixing up some image sources pointing to the wrong location Change 4001191 by andrew.porter QAGame: Adding some quick EDL/XML test content to dev folder Change 4001243 by Max.Chen Sequencer: Fix import EDL out of range. #jira UE-57665 Change 4001856 by Matt.Hoffman Selecting keys and sections at the same time now also works with animation and audio sections. #jira UE-57716 Change 4002021 by Max.Chen Sequence Recorder: Fix sequence name incrementing. If external recording sets the sequence name, use it. Otherwise, use the recording name from the recording group or the recording settings. #jira UE-57712 Change 4002618 by Max.Chen Viewport: Update the look at location when updating to a locked actor. This fixes an issue so that popping the view out of a locked actor and manipulating the view will not jump to the previous look at location. #jira UE-57725 Change 4002979 by Matt.Hoffman Fixes several edge cases with the end time range that was causing confusion about what the last frame of the sequence was. Dragging the End Frame slider will no longer be off by one tick and jumping to the end via the UI controls now properly respects snapping and stays inside the play range instead of falling outside of it. Overall behavior does not change though and End Frame should be considered an exclusive frame so that frames 0-150 results in a 150 frame long animation (which is frames 0-149). #jira UE-56367 Change 4003185 by Matt.Hoffman Fixed a regression that prevented a section from being dragged upwards past row 0 which normally resulted in all other rows moving down. #jira UE-57717 Change 4003193 by JohnHenry.Carawon QAGame: Updates to test content - Shortened frames between the examples from 95 to 30 - Separated camera setting tracks - Lighting example now switches directly from constant red - green - blue Change 4003369 by Max.Chen Sequence Recorder: Refresh next sequence regardless of internally stored sequence name. #jira UE-55757 Change 4003586 by JohnHenry.Carawon QAGame: Test Content Updates - Level Visibility track now ends to that the levels are not visible when we move to the next example - Shortened camera section, removed Z tranform so that we just move left to right and shortened the overall length Change 4004414 by Max.Chen Movie Scene Capture: Fix regression where rendering with shot handles would only render the first shot. 3972166 addressed an issue where an extra frame would be rendered by finalizing right when the end frame was reached. This was hit on the first shot end frame, so instead, do this only for when the last shot is being rendered. #jira UE-57314 Change 4004765 by Christina.TempelaarL Sequencer: Fixed bugs in FCP XML import/export. - Export: fixed sequence default resolution. - Export: fixed XML files with no shots. - Export: all sections clipped to playback range. - Export: fixed incorrect section start/end times due to precision issues. - Import: fixed incorrectly adding cinematic tracks. - Import: fixed bugs creating new sections. #jira UE-57660 #jira UE-57662 #jira UE-57655 #jira UE-57761 Change 4005119 by Max.Chen Sequencer: Export/import at play rate Change 4005195 by Max.Chen UMG: Finish UMG evaluation on stop. Added object version so that existing UMG assets do not change. #tests - Newly created UMG animation with sections set to restore state now return to their original state. Existing UMG animations with sections set to restore state do not return to their original state. #jira UE-52285 Change 4005377 by Michael.Karambelas QAGame: Moving TM-SequenceRecorder and related content out of my developer folder and into /Content/Sequencer/SequencerRecorder/* Change 4005417 by Michael.Karambelas QAGame: Fixed a BP compiler in the Level Blueprint of TM-SequencerRecorder. Change 4005634 by Michael.Karambelas QAGame: Fix up missing content and broken level sequence in TM-SequenceRecorder after move Change 4006324 by Max.Chen Sequencer: Reset if the focused movie scene is null. This fixes a crash if the user is focused in on a shot and undo takes the user past the point of where the shot was created. #jira UE-57752 #jira UE-47661 Change 4007006 by Max.Chen Sequencer: Fix FindAvailableRowIndex so that it returns the max row index (and not +1) since it doesn't find any conflicting rows. #jira UE-57717 Change 4007907 by Max.Chen Sequencer: Fix crash if there's no animation Change 4007948 by andrew.porter QAGame: added test content to dev folder for Record World Space Change 4008636 by Max.Chen Sequencer: Fix import fbx not setting values properly and creating additional cameras unncessarily. #jira UE-57864 Change 4008759 by Max.Chen Sequencer: Follow up fix for import cameras #jira UE-57864 Change 4009994 by Matt.Hoffman Dragging the left or right handles of the Time Range slider in Sequencer will now zoom your view in on the current center of the screen. This prevents the view from being translating as you tried to zoom in which caused issues at high zoom levels. #jira UESEQ-407 Change 4010169 by Christina.TempelaarL Sequencer: FCP XML fixes. - FCP XML export - no longer clips to playback range - FCP XML and EDL export - fixed missing last frame of some sections after exporting to Premiere. - Automated level capture, EDL export - use RoundToFrame instead of FloorToFrame for computing section start/end frames after frame rate conversion. #jira UE-57802 - partial fix, movie scene capture still needs to render full section rather than clip against playback. Change 4010287 by Mike.Zyracki Add quaternion interpolation option to UMovieScene3DTransformSection. This mimics how Matinee used to work by bascially finding the keys between a time and interpolating the angles as quat's between them. As noted in the code the algorithm needs to handle the case when the x,y,z Rotation keys all aren't at the same time which was not handled by Matinee. Also like Matinee, when in quaternion interoplation mode, we need to not display the function cuves since the interpolated and key values are now all different. (Would like to show them but that's a bigger refactor for perhaps just a one off needed by quaternions). I added a virtual function UMovieSceneSection::ShowCurveForChannel for this since it needs to be dynamic, not on construction of IKeyArea's, and could be useful for other sections. I could though move the method to just UMovieScene3DTransformSection and do a cast instead. Looked into doing a unit test for this but after talking with Andrew P we will work on doign an automated test in EngineQA since that will provide more coverage. Will also add a video the jira. #jira UESEQ-403 Change 4010713 by Mike.Zyracki Added option to key a group of transform channels instead of just the changed channel, or all of them. This is useful for quaternion interpolations where you want rotation keys to be aligned but also useful for other workflows like animating FK Pose to Pose. Change 4010715 by Andrew.Porter MediaFrameworkTest: Setting LogMediaUtils logging from VeryVerbose to Verbose to cut back on the spam Change 4013048 by Max.Chen Sequencer: Fix play/jump status. Update the player status for all position methods (Scrub, Jump, Play). Jump means Stopped. Correctly use PlayTo or JumpTo based on position method. In PlayInternal, JumpTo with the Stopped state (rather than playing state). #jira UE-57844 Change 4013479 by andrew.porter QAGame: Added content in TM-SequenceRecorder to test recording a property on a Cine Camera Component; Press 3 to trigger manual focus distance to increment on a timer Change 4014323 by Max.Chen Sequencer: Fix SetPlaybackPosition so that it jumps or plays based on playback status. #jira UE-57844 Change 4015888 by Max.Chen Sequencer: Fix crash on paste. UMovieSceneSections were gathered from the track node's track. For sub track mode, we want to gather only those sections on that track node row. #jira UE-57951 Change 4015943 by Max.Chen Sequencer: Fix moving shots up when the mouse pos goes outside of the virtual track area. #jira UE-57717 Change 4016293 by Max.Chen Sequencer: Fix relative frame playback end frame calculation so that custom start/end frames remain in the space of the sequence and are not relative. #jira UE-57308 Change 4017075 by Andrew.Rodham Sequencer: Corrected initial evaluation range used when calling UMovieSceneSequencPlayer::Play() Change 4017270 by Christina.TempelaarL Sequencer: FCPXML importer and movie scene capture - Use CeilToFrame when converting section start/end frame times to frame numbers in FCPXML and movie scene capture. - Added support for clip metadata in FCPXML. - Got rid of redundant TokenizedError message class, no longer needed now that FCPXML is in editor directory. - Added log messages currently commented out due to exception, still testing. #UESEQ-358 Change 4018370 by Christina.TempelaarL Sequencer: fixed FCPXML log messages regarding sections with start/end not divisible by display rate. #UESEQ-358 Change 4018378 by Christina.TempelaarL Sequencer: fixed error in previous changelist. #UESEQ-358 Change 4019457 by Max.Chen Sequencer: Show event names only when the event track is selected #jira UE-57897 Change 4022806 by Max.Chen Sequencer: Fix crash on movie scene capture dialog shutdown if movie capture wasn't even started. #jira UE-58106 Change 4022894 by Max.Chen Sequence Recorder: Wrap OpenEditorForAssets after sequence recording within GIsEditor #jira UE-58084 Change 4024487 by Max.Chen Sequencer: Add tooltip for quat interpolation #jira UE-58113 Change 4024562 by Max.Chen Sequencer: Change path/attach track sequence binding id to currently focused sequence id so that bindings can be created in subsequences Change 4027414 by JohnHenry.Carawon QAGame: Checking in content that shows a bug with using particles systems and Delay Before Shot Warm Up. Change 4028990 by Max.Chen Sequencer: Fix evaluate sub sequences in isolation. This check was added with the compile on the fly logic. Not sure why it was necessary but it seems like the sub sequence data needs to be updated in order to evaluate sub sequences in isolation. #jira UE-58184 Change 4029004 by Max.Chen Sequencer: Ensure that old binding references are removed when re-assigning actors in sequencer #jira UE-57898 Change 4030997 by JohnHenry.Carawon QAGame: Fixing name of the master sequence Change 4031785 by Michael.Karambelas QAGame: Added an instance of ThirdPerson Run to TM-SequenceRecorder for Record to Possessable test. Change 4035548 by Andrew.Rodham Sequencer: Changed FMovieSceneEvaluationTemplate::TemplateSignature to be a serial number to address non-deterministic cooking issues - This commit is related to the repro steps found in 3914599 and 3934307, both of which have been verified with this new change. - Copy of 4031684 from //Fortnite/Main/... #jira FORT-84852 Change 4036312 by Max.Chen Sequencer: Fix zoom view range so that it uses the passed in InZoomDelta Change 4036318 by Max.Chen Sequencer: Auto size now returns a range and defaults to the channel proxy range so that keyed regions can also be autosized. Change 4036322 by Max.Chen Forgot missing change Change 4036360 by Max.Chen Sequencer: Fix play rate calculation when skeletal animation section play rate changes. Change 4037163 by Mike.Zyracki Weighted Tangent Implementation Tricky thing is that you need to solve a cubic in order to get the bezier weights for the time part of the curve. See https://www.gamedev.net/forums/topic/474094-help-function-curves-for-animation-interpolation/ Maya provides an implementation in it's dev kit but I didn't use it since it was horribly slow and uses an iterative solution to solve the cubic needed. Instead I use an old algorithm (Cardano's method), to solve the cubic which should be much faster. Though relative simple to code from principles I just went ahead and used a version from Graphics Gems 1. I put this cubic solver directly in MovieSceneFloatChannel.cpp, but will need to move it when we support Rich Curve, maybe to FMath:: (which would probalby require some other functions for solving quartics, etc.. for completeness.). Also note we resolve this on every evaluation but dont' need to if the interval the time is evaluating hasn't had any change in values or tangents. So again when we support FRichCurve we can create a Weighted Evaluating class that can hold the cache. Also with the tangent drags I got rid of the Cardinal position that was used to calculate non-weight tangents from the key point and just quickly getting a direction. With weighted tangents we need to use the delta instead (otherwise when moving multiple they would all get the same weight based upon distance to the cardinal point. ) For mixed tangents types what I'm defaulting to non weighted if the interval doesn't match. May need to do weighted instead, not sure. What's left is just FBX import, for tomorrow. #jira UESEQ-76 Change 4037435 by Mike.Zyracki Fix fo build warnings from weighted tangent submission. #trivial Change 4038091 by Michael.Karambelas QAGame: Updated a Sequence Recorder group in TM-SequenceRecorder that had an actor missing the animation. Change 4038374 by Andrew.Rodham Sequencer: Refined scrubber styling for level sequences and actor sequences - Scrubber now shows a block the width of a dsplay rate frame, plus a line for the actual evaluated time. UMG reverts back to the previous styling (no block) - Keys that are outside of the playback range are now drawn with a subdued effect - Tick labels are no longer drawn when directly underneath the scrubber Change 4038490 by Max.Chen Sequencer: Expose tangent weight values in details panel. Change 4038620 by Andrew.Rodham Sequencer: Advanced time panel polish #jira UESEQ-426 Change 4038677 by Max.Chen Movie Scene Capture: Redirector for MovieSceneTools.AutomatedLevelSequenceCapture #jira UE-58248 Change 4039739 by Max.Chen Sequencer: Media track should only be supported by Level Sequence Change 4040024 by JohnHenry.Carawon QAGame: Fix EventReciever and OverrideBinding example The level sequence was set to none so the fix was to set it back to TrackEvaluation_Master. Change 4040610 by Andrew.Rodham Curve Editor: Moved weighted tangent switchers to a single toggle command (CTRL+W) and added an icon #jira 58383 Change 4040882 by Mike.Zyracki Keep broken when turning on weighted #jira UE-58435 Change 4041089 by andrew.porter QAGame: Sequence for Long Tangents bug Change 4041498 by Mike.Zyracki Turn off weighted when going auto to prevent large tangents. Do it both in UI and when doing AutoSetTangents() to really make sure it doesn't happen. #jira UE-58452 Change 4041752 by andrew.porter MediaFrameworkTest: Adding some better logging for setting rates when not supported. Also ignoring commiting URL when there is no text Change 4041896 by Matt.Hoffman The transform dialog box now transforms selected keys and sections, instead of just keys. #jira UE-58265 [CL 4044405 by Max Chen in Main branch]
2018-05-02 10:10:00 -04:00
if (ScrubMetrics.bDrawExtents)
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3946692) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3801826 by Max.Chen PR #4304: Level Sequence crash fix - Guarded against dereferencing null componen. (Contributed by DSDambuster) Change 3801828 by Max.Chen PR #4302: Movie Scene Visibility Template unitialised variable, causing random . (Contributed by DSDambuster) Change 3801837 by Max.Chen Sequencer: Delay spawning/construction for convert to possessable. This fixes a bug where property values would be lost when converting back and forth from possessable to spawnable. #jira UE-52400 Change 3801841 by Max.Chen Sequencer: Make spacer nodes not selectable. PR #4194: Improvements to Sequencer (Contributed by projectgheist) #jira UE-53117 #jira UE-52139 Change 3804183 by Max.Preussner MediaAssets: Added missing lock in media sound component Change 3805414 by Max.Preussner MediaAssets: Setting valid GUID when initializing media texture resource Change 3819578 by Max.Chen PR #4370: When enabling the "MovieCapture", do not turn off the Stereo-3D display. (Contributed by yehaike) #jira UE-53647 Change 3823414 by Max.Chen Curve Editor: Lock down the first and last keys in the redundant keys removal range so that they're unaffected. #jira UE-53591 Change 3826406 by Max.Chen Sequencer: Move OnStartedPlaying() to within first update in UpdateTimeCursorPosition(). This fixes an issue where setting the hud/player visibility was getting stomped on later. #jira UE-52772 Change 3827044 by Max.Preussner MediaAssets: Added sprite visualization to media sound component #jira UE-53594 Change 3827988 by Max.Preussner MediaPlayerAssets: Fixed Media Texture is not linked to Media Player when created together #jira UE-53532 Change 3828506 by Max.Preussner MediaPlayerEditor: Added attenuation visualizer for media sound components #jira UE-53594 Change 3832590 by andrew.porter EngineTest: Added a keep state check in Property Animation sequencer test Change 3833053 by andrew.porter EngineTest: Adding Hierarchical Bias test Change 3835683 by andrew.porter EngineTest: Adding UMG Animation screenshot test Change 3836076 by Max.Chen Sequencer: Fix audio volume and pitch multiplier deprecation. Change 3836230 by andrew.porter EngineTest: Adding Sequence Bone Position automation test Change 3836347 by Max.Chen Sequencer: Fixes to shot name parsing. When a shot doesn't contain a shot number, assume, [ShotName]_[TakeNumber]. When duplicating a shot, put the new shot in the same path of the original shot, so that the take numbers will increment properly. #jira UE-51868 Change 3836552 by Max.Chen Sequencer: Sub section now has a takes menu Change 3838094 by Max.Chen UMG: Fix template finish not getting called on stop. This fixes a bug where sections aren't restored when finished. #jira UE-52285 Change 3838708 by Max.Chen Sequencer: Add notification when the blend type is changed. #jira UE-54046 Change 3840295 by Max.Chen Sequencer: Fix copy/paste crash for lights #jira UE-54084 Change 3840957 by Mike.Zyracki Added Show Only Keyable and Show Only Animated to the filter list in the property editor. Added IsPropertyAnimated to IDetailKeyframe Interface which already had support for showing properties which are keyable (which is used for the key icon next to the properties.). Could have created another interface but then would have had to mimic the sequencer binding, releasing also, so this seemed best way. One issue still left is that custom built detail items currently don't store associated properties(usually) and so certain properties, in particulalry transforms, won't show up as keyable or animated. Note this also shows up with the keyable icon not showing up next to transform tracks, and other filters like Show Only Modified not working with transforms/customs. Not sure best way to tackle this. #jira UESEQ-328 Change 3841756 by Max.Chen Sequencer: Fix unbound possessable components when pasting spawnables. #jira UE-54104 Change 3843950 by andrew.porter EngineTest: Renaming LevelStreaming tests/content to LevelVisibility Change 3844082 by Mike.Zyracki Missing file for animated filter in property editor. When finding if a track is animated we need to find it but we can't easily induce the MovieTrack class for any particular property. So we don't set a class for it and just search by it's ID and name. #jira UESEQ-328 Change 3846902 by Max.Preussner ImgMedia: Fixed image media player never finished initialization if loading failed #jira UE-54247 Change 3849820 by Mike.Zyracki Reassigning deleted widgets didn't work since the menu extender mechanism needs a valid UObject in order to perform an operation on it. So to fix we replaced GetObjectBindingContextMenuExtender in WidgetBlueprint with new delegate mechanism (OnBuildCustomContextMenuForGuid) that supports FGuid in addition to UObjects which is needed to handle re-binding deleted widgets. Note that the default sequencer hacks this for replacing deleted actors in SequencerObjectBindingNode to check to see if a LevelSequence is active. We could move to this mechanism there also. #jira UE-53163 Change 3852211 by Max.Chen UMG: Indicate name of the property that is not bound. #jira UE-54350 Change 3854120 by Max.Chen Sequencer: Fix sibling folders being allowed to have the same folder name. #jira UE-54363 Change 3854627 by Max.Chen Sequencer: Step to next/previous key should work for all tracks if there aren't any selected. #jira UESEQ-391 Change 3855825 by andrew.porter EngineTest: Adding animation blending automation test Change 3855950 by andrew.porter EngineTest: Adding correct expected valuues to animation blending test Change 3856237 by Matt.Hoffman UESEQ-336 - Sequencer Track Reordering Adds the ability to re-order Master Tracks, Folders and Object Bindings within sequencer hierarchies (including UMG). Adds the ability to do a one-off sorting of the content under the old sorting behavior if the user wants to reset their layout to how it was under legacy behavior. Modifies SequencerTrackNodes, SequencerFolderNodes and SequencerObjectBindingNodes to handle CanDrop/OnDrop for above, below and ontop of. Fixes a Slate Issue that forcibly expanded a TreeviewRow if an item handled OnDrop. Slate will now only forcibly expand the row if the item says the drop happened ontop of the item, and not above or below it like it previously did. Change 3856503 by andrew.porter EngineTest: Adding automation test for using animation blueprint with blend multi node in sequencer Change 3857875 by Max.Chen Sequencer: Assign the sequence id after the template is compiled. #jira UE-54462 Change 3858344 by Max.Chen Sequencer: Prevent Goto and Transform boxes from overlapping by allowing them to be visible at the same time in an autosized horizontal box. Also, added close button to the goto box. PR #4425: Prevent Goto and Transform boxes from overlapping in Sequencer ... (Contributed by projectgheist) #jira UE-54210 Change 3860566 by andrew.porter MediaFrameworkTest: Set the option to index 0 for the audio and video track list by default Change 3860654 by andrew.porter EngineTest: Enabling Camera Cut + FOV test Change 3860981 by andrew.porter EngineTest: Updating skeletal mesh tests with a delay after set playback position Change 3861256 by Max.Chen Sequencer: Add all bindings if none selected. #jira-54440 Change 3862154 by Andrew.Rodham Added TimeManagement module Change 3862424 by andrew.porter EngineTest: Turned on the test Bone Positions with Blend Multi Node Change 3862573 by andrew.porter EngineTest: Adding test to compare bone positions in a sequence that is blending an animation that is using an AnimBP Change 3865117 by Max.Chen Sequencer: Stop auto scroll on mouse release of movement. #jira UE-31212 Change 3865303 by Max.Chen Sequencer: Add drag and drop transactions #jira UE-54662 Change 3865304 by Max.Chen Sequencer: Fix crash when an actor factory is not found. Change 3865361 by Max.Chen Sequencer: Don't change the camera/shot lock button when popping out of a sequence. #jira UE-54665 Change 3865412 by Max.Chen Sequencer: Determine whether a transform track is for a camera by using the spawned object or template #jira UE-54666 Change 3865685 by Max.Chen Sequencer: Clear autoscrub offset when stopping autoscroll #jira UE-31212 Change 3865886 by Max.Chen Sequence Recorder: Log an error if the number of frames changes while recording. This can happen if the skeleton changes while recording. #jira UE-48715 Change 3866925 by Andrew.Porter MediaFrameworkTest: Changing the current PNG test video image sequence to 1024 x 576 Change 3867705 by andrew.porter QAGame: Adding Audio Sort Sequence to dev folder Change 3867890 by andrew.porter QAGame: Adding a sequence for testing a sorting crash to my dev folder Change 3872628 by Max.Chen Movie Scene Capture: Split delay before warmup into split delay before shot warmup so that there's separate controls for when the movie scene capture warmups up vs. shot boundaries. Change 3873131 by Matt.Hoffman UE-54732 - Crash reordering a folder with a track. This was caused by folders being the only type of track to check if someone was putting a parent track into a child track. Object Binding tracks and Tracks now check as well so that you can't use the above/below drop targets to add parents as children. This also fixed a typo in the localization keys. #jira UE-54732 Change 3873301 by Mike.Zyracki Added ability to support continous euler angle changes when changing rotations, in particularly with the rotation gizmo's. To do this we effectively added a form an of 'euler filter'(https://en.wikipedia.org/wiki/Euler_filter) to find the closest euler angle to the current euler angle. Three functions were added to FRotator to make this possible, one to get the euler angle that's has the same rotation as it, one to get the difference between two euler angles via Manhattan distance and a third using the previous two to choose a Rotator value that's closest to it. We then use these functions before calling UComponent::SetRelativeRotation to make sure we use the correct Euler after the Quat conversion. We also no longer limit(bound) the euler angles to -180,180, which is obviously necessary to avoid flips. I also changed how we caluclate yaw and roll when pitch is -90 or 90 to make it the standard approach of zeroing out roll and just setting yaw. Main reasons are the previous implementation had precision issues so things like 180, 90, -180 would show up due to numbers being nearly zero but negative,(this would break any smooth interpolations), and this facilitates having a 'gimbal' rotation mode (like Maya, Blender etc..) if we ever want that also. If needed we could keep the previous implementation but would need to add some FMath::IsNearlyZero checks, with less performance. Note we only do this special filtering when applying delta's to actors or components in the editors, which then call UComponent::SetRelativeRotationExact, which is a new function to foces the RelativeRotation to be equal to the new rotation. This allows us to store un-nomalized Rotators at the cost that the RotationCache may be broken. We didn't change any of the other UComponent functions that set rotations (via Quats or Transforms) so they will still be bounded and unwound. In SetInternalWorldLocationAndRotation we only set the rotation if the rotation has changed, which fixes the rotation getting changed and re-normalized if just translate happens. In TransformTrackEditor, we correclty use the bUndwing flag and in MovieScene3DTransformSection there was an un-needed winding check there, it will be unwound earlier if needed, which happens if Sequence Recording is happening. Max we should talk about what to do about this . Note the euler angle drag via the widget is still bound to 0-360. I think we should just unbound that now since the rotations value are now unbound. This review now includes fixes suggested by Zak. #jira UE-UE-22228 Change 3873483 by Matt.Hoffman Sequencer Tracks can now be inserted above the spacer at the bottom of the tree. #jira UE-54706 Change 3873899 by Max.Chen Sequencer: Add section selection throbbing Change 3873908 by Max.Chen Movie Scene Capture: Added logging per frame Change 3873924 by Matt.Hoffman Adds the ability to store Sequence Recorder setups into profiles that stay with the map and can be re-loaded later. Profiles store the Actor Recordings so the settings for each actor should carry with them. #jira UESEQ-339 Change 3874726 by Matt.Hoffman Disable drag-and-drop targets on spacers that come between rows in Sequencer. This prevents extra drag/drop targets showing up between each row. #jira UE-54706 Change 3874862 by Matt.Hoffman Audio Track no longer gets reordered when adding sub-audio tracks, as sub-tracks are no longer counted towards the sorting order index when normalizing indexes. #jira UE-54727 Change 3875905 by Matt.Hoffman Disable Fade Track UI if a fade track already exists in the sequence. #jira UESEQ-393 Change 3876163 by Max.Chen Sequencer: Swap the camera object to the camera component's owner if it's not the same. #jira UE-54874 Change 3876971 by Andrew.Porter EngineTest: Moved Media Player Seek test to new folder. Also enabled the test with new ground truth image. Change 3877040 by Max.Chen Cine Camera: Split camera properties to two groups, "Camera Options" and "Camera Settings". The cine camera now hides properties in the "Camera Settings" group so that properties like bConstrainAspectRatio (in the "Camera Options" group) can be visible. #jira UE-54192 Change 3877763 by Max.Chen Curve Editor: Fix curve changed on end drag so that only curves that had keys/tangents that were changed receive notification, otherwise all loaded curves were getting notified that they were changed. #jira UE-54951 Change 3878234 by Matt.Hoffman Disable "Drop Below" targets for Sequencer Tree nodes to prevent a confusing UX issue where dropping underneath a Object Binding Node puts it after the object binding node but the UI looks like it's inserting it inside the Object Binding node. #jira UE-54743 Change 3879359 by Mike.Zyracki If a track is inactive we dim it a bit which seems to be the UE4 way to show inactive or disabled state. We changed the active logic so that all subtracks need to be inactive for the track to also be inactive(instead of all active for active). This conforms to how the active state actually works, e.g if you have two sections and only one is active the track is still active above it. #jira UESEQ-388 Change 3879462 by Max.Chen Sequencer: Allow dragging onto a particular row which would move out any overlapping sections to make space for the newly created section. Newly created sections are now selected and throbbed to draw attention to themselves. #jira UE-54664 Change 3879464 by Max.Chen Sequencer: Fixed overlapping ranges being inserted into the evaluation field during compilation - The issue was that track segments that had been combined with adjacent segments (due to them being identical) would potentially cause a subsequently compiled frame to overlap with a range that had already been inserted into the evaluation field. - The insertion code previously asserted that only minor overlaps were catered for (due to fp rounding errors) and assumed that a supplied range could not entirely contain any other range in the field. - The solution is to supply the insertion time along with the range to know exactly where the data should live in the field, and crop the range to the maximum allowable space between adjacent ranges. #jira UE-54922 Change 3879590 by Matt.Hoffman Items that are now added to the Sequencer via the "+Track" menu will be selected after being added. Items can now be added inside of folders instead of just to the root level. #jira UE-27397 Change 3879612 by Mike.Zyracki Display Nodes with no children are always active. #jira UESEQ-388 Change 3879730 by Matt.Hoffman Sequence Recorder's actor recording groups now remove items from the group when removed via the UI. #jira UESEQ-339 Change 3880256 by Mike.Zyracki Fix issue with inactive display with folders and other track nodes. #jira UESEQ-388 Change 3883491 by Max.Chen Fix issue where tick is skipped due to last ticked pose isn't cleared after AnimInstance changes. Copy from Release-4.19 #jira UE-51323 Change 3883603 by Max.Chen Movie Scene Capture: Add option toggle disable screen percentage. By default this is on (no change in current behavior). #jira UE-51898 Change 3885074 by Max.Preussner MediaCompositing: Resetting media texture & freeing resource on section end; removed dead code Change 3887220 by Max.Preussner MediaCompositing: Defaulted media section duration to 1 sec (since we do not know the actual duration in most cases) Change 3887478 by Matt.Hoffman Sequences now show [Inactive] in their title bars when they're disabled. This helps communicate why a sequence isn't being evaluated. #jira UE-51469 Change 3888985 by Max.Chen Movie Scene Capture: Clamp HDR Compression Quality between 0 and 1. #jira UE-55136 Change 3893519 by Max.Chen Sequence Recorder: Clarified tooltip for bRecordNearbySpawnedActors - spawned actors will still be recorded if they match the ActorFilter. #jira UE-55238 Change 3893546 by Max.Chen Sequence Recorder: If a selected actor already has a recording, add a blank recording. #jira UE-55239 Change 3894044 by Max.Preussner MediaCompositing: Added support for seeking into a media section Change 3894310 by andrew.porter MediaFrameworkTest: Adding Img media sources for 1080 and 2160 ravent test content Change 3894426 by Max.Preussner MediaAssets: Letting media textures with AutoClear retain their clear color when player is reset Change 3895717 by Max.Chen Sequencer: Null checks to prevent crash when saving the default state of a spawnable #jira UE-55304 Change 3897388 by Max.Chen Sequencer: Don't update current time to be within the view range when stepping into a sequence. #jira UE-55322 Change 3897452 by Max.Chen Audio: Fix crash when trying to record audio without any active capture devices. Log warning if the number of input channels is not 1 or 2. #jira UE-55223 Change 3897619 by Max.Preussner MediaCompositing: Removed commented out code Change 3898072 by Max.Chen Sequencer: Override the animation asset in the player state if it doesn't match the animation asset that's being evaluated. #jira UE-55328 Change 3898272 by Max.Preussner MediaPlayerEditor: Made slate brush constants static Change 3898704 by Max.Chen Sequencer: Skip if the binding id's sequence can't be found. #jira UE-55337 Change 3899855 by Max.Preussner MediaCompositingEditor: Added cache state visualization to media track Change 3900300 by Max.Preussner MediaCompositingEditor: Added loop indicators to media sections Change 3900694 by Max.Preussner ImfMedia: Looping cache only when player is looping Change 3900892 by Max.Preussner Stats: Added stats category for media framework Change 3900954 by Max.Preussner MediaCompositing: Don't evaluate at the end of media section Change 3901348 by Max.Preussner Core: Replaced TLruCache autos for better readability Change 3901655 by Max.Preussner ImgMedia: Added more perf stats to EXR reader Change 3901972 by Max.Preussner MediaAssets: Added getter for media player in media sound components Change 3902233 by Max.Preussner MediaAssets: Enabling media textures to receive samples right after player is assigned Change 3902238 by Max.Preussner MediaCompositing: Working around init/shutdown idiosyncracies in sequencer Change 3904045 by Max.Chen Sequencer: Fix copy/paste crash. Only process UMovieSceneCopyableBinding and objects that can be spawned by the movie scene spawn register. #jira UE-55314 Change 3905605 by Max.Chen Sequencer: Restrict spawnables from being created if they have a ClassWithin that UMovieScene is not a child of. #jira UE-55429 Change 3906550 by Max.Chen Sequencer: Add media track icon #jira UE-55480 Change 3907101 by Max.Chen Sequence Recorder: Fix bugs related to not recording a level sequence. There were certain assumptions that creating a level sequence meant that sequence recording was in progress. This is not always the case - the recorders can record animation assets and not create a level sequence. Changed the notion of IsRecording() to having at least one actor recording that is recording. Countdown timer, recording displays, etc should function if IsRecording() and not based on whether a level sequence is created. #jira UE-55485 Change 3907247 by Max.Chen Sequence Recorder: Fix crash not removing PrepareToCleanseEditorObject delegate. Repros when opening sequence recorder, closing it, and then opening or creating a level. Change 3910343 by Max.Preussner Core: Added async helper for executing functions on a given thread pool Change 3910346 by Max.Preussner ImgMedia: Added separate thread pools for loading/decoding and deleting image frames Change 3910829 by Max.Preussner Profiler: Increased visible range of profiler graph Change 3910841 by Max.Preussner MediaCompositing: Displaying asset name instead of full media source path in media section Change 3910870 by Max.Preussner ImgMedia: Using deallocation thread pool only in debug builds Change 3919642 by Max.Chen Sequence Recorder: Clarify active tooltip #jira UE-55661 Change 3919660 by Max.Chen Sequencer: Sequence template source signatures are now also compared to catch the case where a sub-sequence asset has been saved but not modified - The following sequence of events exposes this issue: - Create a master sequence with a single shot that spawns a cube - Add this sequence to a level and set it to auto-play - Save everything and restart - Resave just the inner shot asset without opening it - PIE - The inner shot never spawns its cube because its template was wiped on save, but its signature never changed. Since the master sequence previously didn't check the template source signature, it ends up trying to evaluate an empty template. #jira UE-55626 #jira UE-55490 Change 3921825 by Max.Chen Sequencer: "Run Construction Script in Sequencer" is off by default for blueprints but on for Sequencer. This allows the content author to switch it on for specific blueprints and sequencer will be default, run those with construction scripts enabled. Change 3922232 by Max.Chen Sequence Recorder: Reset countdelay on stop. #jira UE-55755 Change 3922306 by Max.Chen Sequence Recorder: Don't automatically mark transforms to be recorded by sequence recorder. Instead, log a warning if the user toggled it off to warn that the resulting animation might not match gameplay. #jira UE-55758 Change 3922912 by Max.Chen Sequence Recorder: Fix refresh next sequence name #jira UE-55757 Change 3927654 by Max.Chen Movie Scene Capture: Added format mapping for the name of the current camera #jira UE-55769 PR #4537 Change 3927658 by Max.Chen Sequencer: Added fbx property mapping for "FocusDistance" to "FocusSettings.ManualFocusDistance" #jira UE-55782 Change 3932022 by Max.Chen Sequencer: Add import animation track section to next available row index. #jira UE-55892 Change 3933919 by Max.Chen Sequencer: Jump to playback start frame and not 0 to start playback for recording. #jira UE-55933 Change 3934307 by Andrew.Rodham Sequencer: Add template signature that is re-generated every time the base template is regenerated, which invalidates evaluation fields This fixes an issue where the same sequence is instantiated multiple times in a sequence. If the source sequence was saved, its template would be wiped, which would invalidate the template ID When an instance tries to evaluate the master template, it would only invalidate a range in the evaluation field that was the hull of any invalid sub sequences overlapping the current time, potentially leaving invalid data in the evaluation field at positions later (or earlier) on in the sequence When the sub template was re-generated, it receives the same SequenceSignature as it had before (because the sequence hasn't actually changed), which causes the stale evaluation field data to fail the IsDirty check (because the sequence is the same as it thought, but the *template* has changed) This has been addressed be adding a signature to templates themselves, and checking both the template signature and sequence signature as a part of the IsDirty check. This ensures that we regenerate if either the template, or the sequence have changed. #jira UE-55934 Change 3936327 by Andrew.Rodham Sequencer: Removed increment when trimming right UMovieSceneSection::TrimSection already explicity assigns an exclusive bound to the time passed in. The new behavior means we can trim a section to the right, and insert another section without changing the time to create adjacent sections. #jira UE-42652 Change 3936328 by Andrew.Rodham Fixed KeyFrameManipulator assignment operators and copy/move constructors - These types are potentially self-referential so cannot use default constructors/assignment Change 3936330 by Andrew.Rodham Converted UMGSequencePlayer to use frames internally #jira UE-54878 Change 3936726 by Max.Chen Sequencer: Set track node as the parent of the key area node. The key area switcher needs the object binding id from the parent object binding node. Without this, the binding to the external value fails. #jira UE-55931 Change 3936775 by Max.Chen Sequencer: Should stop or loop should compare DurationFrames with Current Time from StartTime. The bug is that if you set 30 warmup frames in movie rendering for a range of 0-100, the FrameRange will be starting at -30 and have a duration of 130. Without this fix, the playback will continue until frame 130, rather than 100. #jira UE-55933 Change 3936935 by Matt.Hoffman Easing Curves are now represented in Play Rate resolution instead of internal resolution. #jira UE-55937 Change 3937069 by Matt.Hoffman Users can toggle if the is infinite on each side, limited by which tracks support infinite ranges. #jira UE-55891 Change 3937516 by Max.Preussner ImgMedia: Added support for single-threaded platforms #jira UE-55986 Change 3937826 by Max.Preussner MediaAssets: Disabling media sound components on HTML5 if AudioMixer is not enabled Change 3937997 by Max.Chen Curve Editor: Add Zoom to Fit Curves so that selected curves from Sequencer can be focused on. Tested that undo doesn't re-zoom. #jira UE-55935 Change 3938000 by Max.Chen Sequencer: Stop all sounds before generating audio waveforms. #jira UE-55951 Change 3938376 by Max.Preussner XGEController: Disabled XGE Controller in single-threaded apps to prevent crash Change 3938444 by Max.Preussner Core: Added async support for single-threaded applications Change 3938445 by Max.Preussner Networking: Added support for single-threaded applications in UDP socket sender/receiver Change 3938447 by Max.Preussner Messaging: Added support for single-threaded applications Change 3939432 by Max.Chen Sequence Recorder: Append command list to global level editor actions so that shortcuts are accessible in level editor. #jira UE-55798 Change 3940229 by Andrew.Rodham Added prospective display rate upgrade to UMovieScene::PostLoad - There was previously some very odd behaviour that would assign the fixed frame interval only when a sub sequence was focused in SSequencer. This meant that many sequences could have a frame interval of 0 set in the data. - Under the old method of snap interval display this would have fallen back to getting the display interval from the sequencer settings, but we no longer look at these. - The USequencerSettings properties have been removed and in their place, a prospective data upgrade for sequences that have a fixed frame interval old 0fps that sets the play rate to the previous defaults based off the old USequencerSettings defaults. - This could end up 'changing' the display rate for sequences where the user has changed the snap interval in the settings for a particular sequence editor, but there's not much we can do about that given we don't have access to the USequencerSettings classes in UMovieScene #jira UE-55919 Change 3940277 by Andrew.Rodham Sequencer: Added ability to default frame resolutions and play rates for newly created actor sequences Change 3940378 by Andrew.Rodham Sequencer: Post move import dialog now defaults to the playback framerate of the sequence, and floors to frame numbers Change 3940559 by Andrew.Rodham Reinstated primed or recording sequence color Change 3940642 by Max.Preussner ImagePlate: Removed image plate media playback functionality Change 3940843 by Max.Preussner Core: Made TCircularQueue actually thread-safe; improved code comments Change 3940860 by Max.Chen Sequencer: Changed StructNameToKey to StructPathToKey Previously, keying a PropertyPath of [RenderTransform][Shear][X] would get trimmed to X, which doesn't map to a channel name as considered by Sequencer2dTransformTrackEditor. Instead, trim the resulting property path to [Shear][X] so that track editors can determine the desired struct path and channels to key. #jira UE-52966 Change 3941292 by Mike.Zyracki Fix for trajectories out of range not showing up. 1) If we had no key data we would pop the time, so wouldn't get the section ranges. 2) Calculating of upper bound was wrong, checking against -1 and not key == num of keys when doing algo::lower_bound. 3) No need to do the Bck-- for the bakward iterators since we fixed #2. We start now from the upper bound correctly. 4) If we had no keys (at section start,end) we would incorrectly say we were any key type, so since we draw constant keys as dashed we would do so incorrectly around section end points. #jira UE-55929 Change 3941424 by Max.Chen Curve Editor: Change Zoom to Fit to use TArrayView Change 3941498 by Max.Preussner Core: Added FMath::DivideAndRoundNearest function Change 3942097 by Matt.Hoffman Drop Frame Timecode Support for NTSC rates. Change 3942104 by Matt.Hoffman Sequence Recorder Group is no longer visible inside the World Outliner after using one. #jira 55266 Change 3942107 by Max.Chen Sequencer: Resurrect logic to find or extend an existing section when adding keys. Change 3942330 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942339 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942507 by Andrew.Rodham Sequencer: We no longer pad the time overlap threshold with a small number that is not scaled by the current zoom level - The presence of this pad was causing keys that were far apart to be grouped when zoomed in a long way Change 3942509 by Andrew.Rodham Sequencer: Only pad total view range, rather than section range as well when retrieving keys to render - This stops us from rendering keys that are within the view range, but outside the section range Change 3942512 by Andrew.Rodham Added transactions to some sequencer details customizations Change 3942513 by Andrew.Rodham Sequencer: Reinstated validation checks to UMovieSceneSection::SetStartFrame and SetEndFrame, changed erroneous uses to use SetRange Change 3942560 by Andrew.Rodham Pass by rvalue reference to appease error C2719 on Win32 ('InChannels': formal parameter with requested alignment of 8 won't be aligned) Change 3942697 by Andrew.Rodham Newly Created Level Sequences and Actor Sequences now default to 24000 fps frame resolution (+/- ~24hrs range, supporting all integer rates + 23.976) Change 3942700 by Andrew.Rodham Sequencer: Added legacy out-of-bounds errors for times that are not supported by the current legacy upgrade frame resolution Change 3942989 by Max.Preussner Core: Fixed circular queue count calculation Change 3943538 by Max.Preussner MediaAssets: Reverted workaround for procedural audio log spam in HTML5 (Actor component initialization cannot be skipped if the component is used in a level) Change 3944071 by Max.Preussner QAGame: Fixed Media Texture keeps last frame of Media when PIE ends #jira UE-53360 Change 3944292 by Max.Chen Sequencer: Added extra flags to ensure that asset initialization does not occur on template actor sequences #jira UE-56113 Change 3944364 by Max.Chen Sequencer: Prevent circular shot/master tracks. Tested adding master -> child -> master as drag and drop cinematic shot tracks and sub tracks as well as through the + button. #jira UE-56091 Change 3944422 by Max.Chen Sequence Recorder: Disable transform recording if off. #jira UE-56061 Change 3944745 by Andrew.Rodham Sequencer: Key rendering fixes - Fixed assert that occured when keys happened to reside on some times due to KeyTime + TimeOverlapThreshold - KeyTime being slightly larger TimeOverlapThreshold - Fixed keys sometimes being clipped when zoomed right in due to lack of half-frame offset - Added missing documentation to MovieSceneTimeHelpers.h #jira UE-56107 Change 3945231 by Andrew.Rodham Sequencer: Reconstruct channel proxy on Serialize to catch all cases of undo/redo, PostLoad and duplication #jira UE-56089 Change 3945301 by Andrew.Rodham Sequencer: Added safety checks during initial sequence recording to guard against applying negative or 0-sized sequence ranges #jira UE-56125 Change 3946627 by Max.Preussner Fortnite: Fixed game crashes closing editor while in PIE - Pure virtual function being called #jira UE-56144 [CL 3946896 by Max Chen in Main branch]
2018-03-14 22:09:33 -04:00
{
// Draw a box for the scrub position
FSlateDrawElement::MakeBox(
OutDrawElements,
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 4044339) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3947021 by Max.Chen Sequencer: Don't preserve root component when copying object properties. A spawnable empty actor, has a root component that is generated by the empty actor factory. If the object template's root component is preserved when copying from the spawnable empty actor, the root component will not be copied over. Therefore, we need to NOT preserve the root component when copying object properties. #jira UE-55825 Change 3947366 by Max.Preussner WmfMedia: Better log output Change 3947367 by Max.Preussner MfMedia: Better detection of compressed format properties on Windows Change 3949102 by Max.Chen Sequencer: Remove SequenceActorTag when converting to possessable. #jira UE-56206 Change 3949207 by andrew.porter EngineTest: Set the screenshot nodes resolution to 1280x720 Change 3949404 by Max.Chen Sequencer: More informative tooltip for "Rerun Construction Scripts" option. It now says "Rerun construction scripts every frame on actors that have 'Rerun Construction Script in Sequencer' enabled in their class settings". Change 3950067 by Matt.Hoffman Renamed UAutomatedLevelSequenceCapture's StartFrame and EndFrame to CustomStartFrame/CustomEndFrame to reflect that it is user-overriden. This will also resolve upgrade issues due to the variable datatype changing. #jira UE-56189 Change 3950193 by JohnHenry.Carawon Updating my latest MovieRendering test content. Change 3950757 by JohnHenry.Carawon More updates to MovieRendering test content Change 3952059 by Max.Chen Resave LevelVisibility_SubLevels to fix data loss conversion warning of OpacityMaskConstant #jira UE-56086 Change 3952283 by Max.Chen Sequencer: Disable dropping level sequence assets as spawnables. #jira UE-56120 Change 3952422 by Max.Chen Sequence Recorder: Add button to record from the current player. #jira UE-55942 Change 3952987 by JohnHenry.Carawon MovieRendering Test Content - Fixing camera bindings and changing the override binding actor Change 3953823 by Mike.Zyracki Fix for Bad FBX Import Tangents not scaled by frame rate. After looking at this again it seems that a set of MovieScene:: overiddes for the channel traits wasn't set correctly, so use the ADL idiom to use MovieScene, which can then call Optimize in the correct namespace. With this we can now correctly use the passed in tolerance. There was also a redundant set of Optimize calls so that it could happen twice so removed them, and needed an extra check in the float channel Optimize. Also since we need to set auto tangents no matter if we optimize we don't set that parameter(though leave it since it's used by context menu key reduction). Finally fixed speed issue with trajectories caused by calculating way too many substeps. Reverted back to a time based step size for consistency. #jira UE-56193 Change 3954317 by Matt.Hoffman Adding a key to the last frame of a section no longer causes a crash. Keys can already be moved to be on the last frame of a section so now you can just add a key there directly. #jira UE-56255 Change 3954326 by Matt.Hoffman Dilating a section that is only infinite on one side no longer causes a crash. #jira UE-56260 Change 3954486 by Max.Chen PR #4580: Exposes IsReversed() from UMovieSceneSequencePlayer (Contributed by alanedwardes) Change 3955238 by Max.Preussner Messaging: Enabled delayed message routing https://github.com/EpicGames/UnrealEngine/pull/4574 #jira UE-56247 Change 3955901 by Max.Preussner MediaFrameworkTest: Added developer test for overriding desired media player plug-in at runtime. Change 3955922 by Andrew.Porter QAGame: Updating movie rendering content in dev folder Change 3956004 by andrew.porter QAGame: Adding MPC track to movie rendering test content Change 3956510 by Max.Chen Sequencer: Fix fbx camera import of static properties so that they are imported before default tracks are created. Otherwise, the default tracks inherit the default properties of the camera, rather than the values from the fbx. #jira UE-56311 Change 3957613 by Max.Preussner MediaUtils: Added code documentation to media player facade Change 3958005 by Max.Preussner MediaUtils: Added method to get number of sinks Change 3958934 by Max.Chen Sequencer: Fix keys getting added and sequence getting erroneously re-evaluated when auto key is off. Only apply defaults if there are no keys. Only modify the movie scene section before creating keys or setting defaults. #jira UE-55903 Change 3959687 by Andrew.Rodham Sequencer: Fixed visibility track external values being inverted #jira UE-56324 Change 3960507 by Max.Preussner Core: Fixed incorrect rounding in FMath::DivideAndRoundNearest Change 3962047 by JohnHenry.Carawon MovieRendering Test Content Changes: - Add Lightmass Importance Volumes to sublevel to fix warnings - Rebuilt Lighting - Add a third sequence for Gamut testing - Resaved the sound master.uasset to fix warning Change 3962211 by Mike.Zyracki Add Frame Numbers to selected animation sections. Added MapTimeToAnimation to MovieSceneSkeletalAnimation so that we could get it from the Skeleton Animation track Editor. Since the thickness of the frame line can change based upon frame rate and zoom we need to calculate it similarly to how the time slider controller does it. Those calculations were private so we had to expose FScrubRangeToScreen and GetScubberPixelRange from the TimeSliderController. Also needed to know if the section itself was selected so added a bIsSelected flag to the section Painter. Also fixed a bug where you couldn't add a section if other sections existed at different times in MovieScenePropertyTrack and could crash due to the check(). #jira UESEQ-395 Change 3962497 by Max.Preussner Core: Added new string formatting argument to FTimespan Change 3963662 by Max.Chen CineCamera: Flip VistaVision width and height. Change 3963731 by Max.Preussner MediaCompositing: Implemented sequence recording support for media track Change 3964195 by Andrew.Rodham Sequencer: Set inverted property correctly for newly created visibility track sections - Also clamp evaluation for key editors to the bounds of the section so we're not displaying values outside of the section bounds when the cursor is not on the bounds #jira UE-56324 #coderevew Max.Chen Change 3964196 by Andrew.Rodham Sequencer: Fixed crash when attempting to render sections that resulted in a negative intersection with the view range Change 3964275 by Andrew.Rodham Sequencer: Fixed MovieScene::ClampToDiscreteRange for infinite range bounds Change 3964364 by Andrew.Rodham Curve Editor: Reduce minimum vertical view range when zooming to fit Change 3965091 by Max.Chen Sequencer Recorder: Refresh next sequence if empty when starting a recording, otherwise, use existing name. #jira UE-56469 Change 3965148 by Max.Chen Sequence Recorder: Move Record to Possessable to "Actor Recording" group Change 3965162 by Max.Chen Sequence Recorder: Always break out of immersive mode when done recording, even when stopping recording during countdown. #jira UE-56407 Change 3965214 by Max.Preussner QAGame: Enabled ImagePlate plug-in Change 3965574 by Max.Preussner SimpleComposure: Reorganized & upgraded content to work with new Media Track #jira UE-56488 Change 3965651 by Max.Preussner MediaCompositing: Ignoring seek-on-open if media not seekable Change 3966075 by Christina.TempelaarL Sequencer: Added Final Cut Pro 7 XML Export functionality #jira UESEQ-358 Change 3966087 by Matt.Hoffman Adding a single key to the Particle Toggle track now makes an infinite range section that is displayed in the UI. #jira UE-56295 Change 3966547 by Andrew.Rodham Sequencer: Fixed rounding errors when drawing the section background on boolean sections - Logic was using time in sectonds which caused rounding errors on evaluation and flickering red/green stripes when dragging keys around #jira UE-56324 Change 3966563 by Andrew.Rodham Curve Editor: Key editor interface improvements - SKeyEditInterface has a few problems - it does not update in real time when editing properties, and does not support multi-edit which makes it unsuitable for use with the curve editor - We now take a different approach for editing keys by gathering a set of proxy UObjects for each key that is currently selected. These objects are added as top level objects to the details panel which means they support multi edit as you'd expect from any other details panel in the editor. - Proxy objects are updated every tick for the curve editor if they implement the ICurveEditorKeyProxy interface, which allows them to refresh their current value. - Ideally, the same mechanisms would be used in the main sequence interface, and we would be generating the proxy classes at runtime based on the key value type, but that work remains a separate task from this initial offering. #jira UE-56165 Change 3966564 by Andrew.Rodham Curve Editor: Expand to frame when adding or moving keys in the curve editor Change 3967051 by andrew.porter MediaFrameworkTest: Set the CameraPlayer_Video texture to auto clear Change 3967141 by Andrew.Rodham Sequencer: Keep track of spawned objects that have been modified and only re-save such object's default spawnable state on destruction - Now that we're taking this approach, I've remove serveral redundant bits of functionality in the spawn register such as making some spawnables read-only, and the PreSave binding for Sequencer. - We now hook into all object pre-saves to make sure we handle the case where the sequences are saved through the content browser or elsewhere. #jira UE-47686 Change 3967170 by Andrew.Rodham Sequencer: Added the ability to possess anim instances as object bindings - This allows full and direct animation of properties on UAnimInstance, and animation blueprints - Object Bindings are made by first possessing a skeletal mesh component, then choosing the + Add button where its anim instance will be listed - Added a new function to UMovieSceneSequence to gather previously cached objects that should now be invalidated. Anim instances will be re-resolved if a new UAnimInstance is assigned to USkeletalMeshComponent::GetAnimInstance. - ObjectBindingIDs for anim instances are just represented by an entry in a set of GUIDs. We only ever resolve such bindings through USkeletalMeshComponent::GetAnimInstance. - Only currently supported on LevelSequences #jira UE-56132 Change 3967195 by Max.Preussner Core: Updated TRangeSet to use TCallTraits Change 3967345 by JohnHenry.Carawon Test Content Changes - first iteration of spacing out the examples in the shots. Change 3967572 by Max.Chen Sequencer: Fix setting PreviousPlayEvalPosition until after we've tested whether it's set. #jira UE-56518 Change 3967750 by Max.Chen Audio: Set duration based on number of input channels, rather than number of channels to serialize. This fixes an issue where audio split into 2 channels is set to a duration that's twice as long. #jira UE-56430 Change 3967836 by Max.Chen Sequencer: Allow for animating array elements within ustruct properties #jira UE-55887 Change 3968506 by Matt.Hoffman Fixed ambiguous conversions for seconds and frames being overriden by ambiguous conversion to Timecode (in frames). Change 3968748 by Max.Chen Sequencer: Make the event properties submenu widget larger. #jira UE-55557 Change 3968862 by Max.Chen Sequencer: Recursive expansion when shift is down #jira UE-52139 #pr 4194 Change 3968863 by Max.Chen Sequencer: Bind rename command to selected track so that F2 shortcut start renaming #jira UE-52139 #pr 4194 Change 3968872 by Max.Chen Sequencer: Rekey the selected key at the current time. #jira UESEQ-396 Change 3968938 by Max.Chen Cine Camera: Add option to toggle the behavior of locking the rail mount to the orientation of the spline. By default, the option is off, no change in behavior. #jira UE-55815 Change 3968958 by Andrew.Rodham Sequencer: Consider vertical position when hittesting keys #jira UE-56256 Change 3969643 by Max.Preussner Core: Rounding timespans created from double values towards nearest ticks Change 3969646 by Max.Preussner MediaUtils: Implemented timeout mechanism for block-on-fetch feature Change 3969776 by Mike.Zyracki Added Skip Anim Notifiers Toggle per what was in Matinee. Investigated the Enable Root Motion toggle as also discussed but it's implementation is directly contained by the animation asset and unlike animation notifies there seems to be no exposure to interactively disable it during a playback tick. Note if we are generating thumbnails we still automtically disable notifies in the editor to avoid annoying noise playback. Note that if Enable Root Motion/Root locked is specified in the animation asset it does correctly effect the Sequencer. #jira UESEQ-399 Change 3969835 by Matt.Hoffman Playback Range and Selection Range use unified logic for adding themselves as potential snap locations which properly handles inclusive/exclusive bounds. This resolves an issue where having an unset selection range caused a potential snap location to be added on frame 0 and 1 (internal resolution) which caused a misalignment when placing objects near frame 0. This also removes the one frame offset on setting Selection Range to bring behavior inline with other ranges. #jira UE-55420 Change 3969885 by Max.Preussner MediaAssets: Don't register media player CDO with media ticker Change 3971129 by Andrew.Rodham Sequencer: Fixed UMovieSceneSequencePlayer::GotToEndAndStop() not taking into account for start time This is a remnant from when the times were always specified in 0-duration space, rather than actual sequence times. Change 3972056 by JohnHenry.Carawon More updates to Test Content. I continued spacing out the examples in the sequence so that they have a consistent number of frames between each example and during the start/end of the example. Also removed the Marcie sublevel. Change 3972066 by Andrew.Porter MediaFrameworkTest: Setting Marcie folder to be never cooked in package settings Change 3972675 by Matt.Hoffman Splitting Subsequence Sections no longer sets an incorrect playback range on the subsequence when the subsequence has a different internal resolution than the owning sequence. #jira UE-55453 Change 3973376 by Max.Preussner ImgMedia: Zero is the only valid video track for image sequences Change 3973489 by Max.Preussner Launch: Build rules cleanup pass - don't use Media, MediaUtils on server apps - don't link against Media (include-only dependency) - don't include from MediaAssets (dynamic load only) Change 3973760 by Max.Preussner MediaUtils: Moved AppMediaTimeSource implementation into its own file; added logging Change 3973765 by Max.Preussner ImgMedia: Disallowing seek beyond media length Change 3973855 by Max.Preussner MediaFrameworkTest: Updated developer test content Change 3973858 by Max.Preussner MediaCompositing: Blocking on media player time instead of media sample time (the former may not be hit in the current frame) Change 3974988 by Max.Chen Sequencer: Fix trim left so that it also sets the start offset for audio and skeletal animation sections. #jira UE-57015 Change 3976101 by Matt.Hoffman Sequencer will now focus the scroll view on newly created items. #jira UE-56492 Change 3976203 by Max.Chen Property Editor: Add DetailsViewArgs for ColumnWidth. Defaults to 0.65f, no change in existing behavior. Change 3976205 by Max.Chen Sequencer: Set better column widths for sequencer. #jira UE-55557 Change 3976206 by Max.Chen Sequencer: Added menu category for import/export Change 3976265 by Matt.Hoffman Tracks within Object Binding Nodes will now sort using the old behavior so that components are added above other track types. #jira UE-56473 Change 3976901 by Max.Chen Sequencer: Add event names to event track section #jira UESEQ-353 Change 3977878 by Max.Preussner Media: Moved media framework ticking stats into Media module Change 3977982 by Max.Chen Sequencer: Add Edit->Reset section length to duration of source (ie. audio, skeletal animation, shot length) Added MovieSceneSection::GetDefaultDuration and MovieScene::HasDefaultDuration #jira UESEQ-392 Change 3977994 by Max.Preussner Media: Fetching and rendering media samples before viewports are rendered (to ensure frame sync for in-level media playback) #jira UE-53975 Change 3978188 by Matt.Hoffman Easing Curves are now clipped by the sequence's PlayRange when testing against an infinite section. This causes blended sequences to finish their blend when the section starts/ends instead of always using 25% of the total section length to determine default blend range. #jira UE-56362 Change 3978676 by Max.Preussner MediaCompositing: Fixed first frame of rendered out media track missing #jira UE-53975 Change 3978684 by Max.Preussner MediaCompositing: Enabled media track frame sync feature #jira UE-53975 Change 3980026 by Matt.Hoffman Keys can be selected on folded out sections (such as an audio track expanded to show volume and pitch) again. #jira UE-57169 Change 3981614 by Max.Preussner MediaUtils: Added missing subtitle sample queue flush Change 3982311 by Max.Preussner MediaCompositing: Added safeguard for zero length media sources Change 3982389 by andrew.porter QAGame: Adding media track test content into FrameAccuracySubscene Change 3983661 by Max.Chen Sequencer: Add level name to spawn a spawnable into. Add sublevel menu option to set the level #jira UESEQ-390 Change 3983712 by Andrew.Rodham Sequencer: Purge legacy blueprint spawnables from LevelSequence packages #tests Ran a preflight for cooking fortnite, ocean and Orion. Only orion shows up this edge case, and will require a re-save of the EndCines level #jira UE-39173 Change 3983787 by Max.Preussner MediaCompositing: Moved compile time switch for block-on-fetch into media player facade Change 3983812 by Andrew.Rodham Sequencer: Exposed default level sequence instance data to blueprints Change 3984373 by Max.Preussner Media: Added API for quering whether player plug-in supports block on fetch Block on fetch allows Sequencer and other systems to block the game thread until a desired video frame has been decoded. Change 3984670 by JohnHenry.Carawon Movie Rendering Test Content progress. Saving the state of the content. There is a bug where things got replaced with particle emitters and I think it was because I tried to copy paste an animation track into a separate skeletal mesh track. Change 3985097 by Max.Chen Sequencer: Rename Reset to AutoSize Change GetAutoSizeDuration to return TOptional<FFrameTime> #jira UESEQ-392 Change 3986043 by Max.Chen Sequencer: Fix crash when attach/path duration is less than 0. #jira UE-57310 Change 3986373 by Max.Chen Sequencer: Add support for deleting tracks and channels which equates to setting the channel mask. #jira UE-52951 Change 3986375 by Max.Chen Sequencer: Add Create Pose Asset to skeletal animation section. This allows animators to blend animations in sequencer and create new pose assets from them. #jira UESEQ-408 Change 3986796 by Andrew.Rodham Sequencer: Fixed stale object references remaining in ULevelSequence::BindingReferences when using convert to spawnable/possessable - We used to convert objects by creating a new binding, then re-assigning its GUID, which meant we didn't have to do any further object fixup, but the code to achieve this was confusing and led to a vulnerability where object references would not be cleaned up correctly due to the newly created possessable essentially being a temporary object that's immediately thrown away. - To address this, there is now a function for porting all the contents of one object binding to another, and handles the correct fixup required for parent/child object bindings for both spawnables and possessables. - Also added codepath to remove any stale object references from the level sequence reference map on PostLoad (this piggy-backs off the PurgeLegacyBlueprints object version which is close close enough to this change to be identical) #tests Verified that existing sequences with stale references get cleaned up on load. Verified that repreatedly converting from spawnable<->possessable cleans up references correctly. Change 3987807 by JohnHenry.Carawon Updates to the MovieRendering Test Content. - Fixed the spawnable actors that were overwritten - Shortend the Lighting example and combined the Intensity and Color tracks - Organized the Sequence and WorldOutliner to group the examples. Change 3988151 by Max.Chen Cine Camera: Enable keying the "Enable Look at Tracking" toggle. Change 3988880 by Max.Chen Sequencer: Support enter to add asset for all sequencer track editors that have asset pickers. #jira UE-57367 Change 3988953 by Max.Chen Sequencer: Make the track color picker focusable so that it will close when you click away or lose focus. #jira UE-57210 Change 3988962 by Max.Chen MovieSceneCapture: Fix EDL export so that it takes into account movie scene frame resolution and desired frame rate. #jira UE-57365 Change 3988964 by Max.Chen Movie Scene Capture: Clarified tooltip for bRelativeFrameNumbers. If you specify custom start/end frames for the recording, they will be relative to the playback range. #jira UE-57308 Change 3989442 by Max.Chen Fix CIS Change 3991548 by Matt.Hoffman Dragging the time slider no longer causes the time slider to ignore snap-to-interval with "Snap to Keys While Scrubbing" when no keys are in range. #jira UE-57417 Change 3991598 by Matt.Hoffman Snap to Key while scrubbing now mirrors the behavior of "jump to next key". When there are no tracks selected it snaps to all keys and when there are tracks selected it snaps to only keys from that track. This also resolves an issue where deleting an object did not remove it from the Sequencer's selection. Undoing a delete already doesn't seem to restore your selection, so removing it from your selection shouldn't change that behavior. #jira UE-57417 Change 3991603 by Max.Chen Sequencer: Disable EditAnywhere for some section properties #jira UE-53530 Change 3992240 by Max.Preussner MediaAssets: Implemented dynamic audio sample rate adjustment based on audio/media clock drift #jira FORT-70638 Change 3992911 by Andrew.Rodham Sequencer: Fixed saving spawnable state using the wrong spawned object - We now track the object binding ID so that we can apply the spawned object to the correct spawnable when the asset is saved #jira UE-57353 Change 3992914 by Max.Chen Movie Scene Capture: Fix compression quality not being set. The compression interface wasn't being found through query interface, so no compression was being set. Reworked finding it through the output pins. Tested running various compression values. #jira-UE-55488 Change 3992919 by Max.Chen Sequencer: Convert to possessable now uses object template instead of copying properties (ie. see LevelSequenceActorSpawner). This fixes MIDs getting lost when converting to spawnable and back to possessable. #jira UE-52400 Change 3993184 by Max.Chen Sequencer: Don't show +Transform/+Path/+Attach track if the actor has the "Mobility" property hidden. Set the Landscape, LandscapeProxy and InstancedFoliage "Mobility" property to be hidden since it is static is not supposed to be dynamically movable. #jira UE-56347 Change 3993238 by Max.Chen Sequencer: Test for hidden mobility in creating keys as well. Refactored to HasHiddenMobility() #jira UE-56347 Change 3993978 by Max.Chen Cine Camera: Enable keying the "Enable Look at Tracking" toggle. #jira UE-57489 Change 3994039 by Max.Chen Landscape: Add Mobility to hidecategories on landscape component #jira UE-56347 Change 3994626 by JohnHenry.Carawon Updated Movie Rendering Test Content. - Fixed the overridden spawnables to their proper object types. Change 3994653 by Christina.TempelaarL Sequencer: Added Final Cut Pro 7 XML Import functionality, improved Export functionality #jira UESEQ-358 Change 3995609 by Max.Chen UMG: Add support for 2d transform mask (translation, rotation, scale, shear) #jira UE-52951 Change 3995778 by JohnHenry.Carawon Movie Rendering Test Content Updates - Adjusted Lights example - Adjusted Camera example - Added Marcie sublevel back in Change 3995942 by JohnHenry.Carawon QAGame: Moving Movie Rendering test content from Developer folder to Sequencer folder Also adjusted level visibility, lights and camera example. Change 3995993 by Christina.TempelaarL Sequencer: FCPXML Export updates - only export sections if in playback range and media exists, warn if media does not exist. Other updates - removed unused methods and variables, fixed message context naming to be more accurate #jira UESEQ-358 Change 3996595 by andrew.porter QAGame: Updating Marcie content in TrackEvaluation level to use Image Plate Change 3996614 by andrew.porter QAGame: Adding color test sequence to the sublevel Change 3996643 by Max.Chen Sequencer: Fix fbx animation export - rotation and scale channels were flipped. #jira UE-57509 #jira UE-57512 #jira UE-57514 Change 3996652 by Max.Preussner Messaging: Fixed delayed messaging using incorrect current time after message router sleep Based on https://github.com/EpicGames/UnrealEngine/pull/4601 Change 3996801 by Max.Chen Sequencer: Fix folder active state for non key area sections. Look at track node sections as well as key areas. #jira UE-57550 Change 3997098 by Matt.Hoffman Cleaned up some remaining ToDo's in STimeRange. Change 3998339 by Max.Preussner Sockets: Added documentation for socket receive functions Change 3998359 by Max.Preussner MediaUtils: Started to implement media recorder helper class Currently only supports BGRA frames in CPU memory. Supporting other formats and buffer types will require conversions on render-thread. I recommend refactoring out the existing conversion code in FMediaTextureResource into a reusable helper class in the MediaUtils module. This should be a good starting point though. Change 3998417 by Matt.Hoffman Keys and Sections can now be moved at the same time inside of Sequencer. Keys can now snap to Sections (and vice versa) instead of just to other Keys. Sections can now be duplicated like keys can. #jira UE-56995 Change 3998427 by JohnHenry.Carawon QAGame: Updating test content for the Movie Rendering feature. - Added an auto activate particle to the beginning of the sequence (it's not part of the sequence at all) - Added an event receiver blueprint to the Events example - Added a particle emitter to both sublevels - Added a camera cut to the end that switches to a separate camera - The camera zoom in, focus and Look At sections are all separate (not overlapping in the sequence) - Added a second actor for the camera Look At - Added a Visibility section for the Actor Hidden In Game track that has possessable and spawnable cube and light Change 3998537 by Max.Chen Sequence Recorder: Restore immersive mode when stopping the sequence even if not in PIE. #jira UE-56407 Change 3999809 by Matt.Hoffman Removed the "Go To" box from Sequencer and instead placed the current time as an always visible control. The previous shortcut (Ctrl + G) now focuses the new widget directly. #jira UESEQ-376 Change 4000543 by Christina.TempelaarL Sequencer: Moving editor-only code from runtime module MovieSceneCapture to editor module MovieSceneTools. Moved EDL and FCP XML exporters as well as Automated Level Scene Capture. #jira UESEQ-358 Change 4000706 by Matt.Hoffman Entering multiple time strings without a number no longer crashes Sequencer. #jira UE-57672 Change 4001051 by andrew.porter MediaFrameworkTest: Fixing up some image sources pointing to the wrong location Change 4001191 by andrew.porter QAGame: Adding some quick EDL/XML test content to dev folder Change 4001243 by Max.Chen Sequencer: Fix import EDL out of range. #jira UE-57665 Change 4001856 by Matt.Hoffman Selecting keys and sections at the same time now also works with animation and audio sections. #jira UE-57716 Change 4002021 by Max.Chen Sequence Recorder: Fix sequence name incrementing. If external recording sets the sequence name, use it. Otherwise, use the recording name from the recording group or the recording settings. #jira UE-57712 Change 4002618 by Max.Chen Viewport: Update the look at location when updating to a locked actor. This fixes an issue so that popping the view out of a locked actor and manipulating the view will not jump to the previous look at location. #jira UE-57725 Change 4002979 by Matt.Hoffman Fixes several edge cases with the end time range that was causing confusion about what the last frame of the sequence was. Dragging the End Frame slider will no longer be off by one tick and jumping to the end via the UI controls now properly respects snapping and stays inside the play range instead of falling outside of it. Overall behavior does not change though and End Frame should be considered an exclusive frame so that frames 0-150 results in a 150 frame long animation (which is frames 0-149). #jira UE-56367 Change 4003185 by Matt.Hoffman Fixed a regression that prevented a section from being dragged upwards past row 0 which normally resulted in all other rows moving down. #jira UE-57717 Change 4003193 by JohnHenry.Carawon QAGame: Updates to test content - Shortened frames between the examples from 95 to 30 - Separated camera setting tracks - Lighting example now switches directly from constant red - green - blue Change 4003369 by Max.Chen Sequence Recorder: Refresh next sequence regardless of internally stored sequence name. #jira UE-55757 Change 4003586 by JohnHenry.Carawon QAGame: Test Content Updates - Level Visibility track now ends to that the levels are not visible when we move to the next example - Shortened camera section, removed Z tranform so that we just move left to right and shortened the overall length Change 4004414 by Max.Chen Movie Scene Capture: Fix regression where rendering with shot handles would only render the first shot. 3972166 addressed an issue where an extra frame would be rendered by finalizing right when the end frame was reached. This was hit on the first shot end frame, so instead, do this only for when the last shot is being rendered. #jira UE-57314 Change 4004765 by Christina.TempelaarL Sequencer: Fixed bugs in FCP XML import/export. - Export: fixed sequence default resolution. - Export: fixed XML files with no shots. - Export: all sections clipped to playback range. - Export: fixed incorrect section start/end times due to precision issues. - Import: fixed incorrectly adding cinematic tracks. - Import: fixed bugs creating new sections. #jira UE-57660 #jira UE-57662 #jira UE-57655 #jira UE-57761 Change 4005119 by Max.Chen Sequencer: Export/import at play rate Change 4005195 by Max.Chen UMG: Finish UMG evaluation on stop. Added object version so that existing UMG assets do not change. #tests - Newly created UMG animation with sections set to restore state now return to their original state. Existing UMG animations with sections set to restore state do not return to their original state. #jira UE-52285 Change 4005377 by Michael.Karambelas QAGame: Moving TM-SequenceRecorder and related content out of my developer folder and into /Content/Sequencer/SequencerRecorder/* Change 4005417 by Michael.Karambelas QAGame: Fixed a BP compiler in the Level Blueprint of TM-SequencerRecorder. Change 4005634 by Michael.Karambelas QAGame: Fix up missing content and broken level sequence in TM-SequenceRecorder after move Change 4006324 by Max.Chen Sequencer: Reset if the focused movie scene is null. This fixes a crash if the user is focused in on a shot and undo takes the user past the point of where the shot was created. #jira UE-57752 #jira UE-47661 Change 4007006 by Max.Chen Sequencer: Fix FindAvailableRowIndex so that it returns the max row index (and not +1) since it doesn't find any conflicting rows. #jira UE-57717 Change 4007907 by Max.Chen Sequencer: Fix crash if there's no animation Change 4007948 by andrew.porter QAGame: added test content to dev folder for Record World Space Change 4008636 by Max.Chen Sequencer: Fix import fbx not setting values properly and creating additional cameras unncessarily. #jira UE-57864 Change 4008759 by Max.Chen Sequencer: Follow up fix for import cameras #jira UE-57864 Change 4009994 by Matt.Hoffman Dragging the left or right handles of the Time Range slider in Sequencer will now zoom your view in on the current center of the screen. This prevents the view from being translating as you tried to zoom in which caused issues at high zoom levels. #jira UESEQ-407 Change 4010169 by Christina.TempelaarL Sequencer: FCP XML fixes. - FCP XML export - no longer clips to playback range - FCP XML and EDL export - fixed missing last frame of some sections after exporting to Premiere. - Automated level capture, EDL export - use RoundToFrame instead of FloorToFrame for computing section start/end frames after frame rate conversion. #jira UE-57802 - partial fix, movie scene capture still needs to render full section rather than clip against playback. Change 4010287 by Mike.Zyracki Add quaternion interpolation option to UMovieScene3DTransformSection. This mimics how Matinee used to work by bascially finding the keys between a time and interpolating the angles as quat's between them. As noted in the code the algorithm needs to handle the case when the x,y,z Rotation keys all aren't at the same time which was not handled by Matinee. Also like Matinee, when in quaternion interoplation mode, we need to not display the function cuves since the interpolated and key values are now all different. (Would like to show them but that's a bigger refactor for perhaps just a one off needed by quaternions). I added a virtual function UMovieSceneSection::ShowCurveForChannel for this since it needs to be dynamic, not on construction of IKeyArea's, and could be useful for other sections. I could though move the method to just UMovieScene3DTransformSection and do a cast instead. Looked into doing a unit test for this but after talking with Andrew P we will work on doign an automated test in EngineQA since that will provide more coverage. Will also add a video the jira. #jira UESEQ-403 Change 4010713 by Mike.Zyracki Added option to key a group of transform channels instead of just the changed channel, or all of them. This is useful for quaternion interpolations where you want rotation keys to be aligned but also useful for other workflows like animating FK Pose to Pose. Change 4010715 by Andrew.Porter MediaFrameworkTest: Setting LogMediaUtils logging from VeryVerbose to Verbose to cut back on the spam Change 4013048 by Max.Chen Sequencer: Fix play/jump status. Update the player status for all position methods (Scrub, Jump, Play). Jump means Stopped. Correctly use PlayTo or JumpTo based on position method. In PlayInternal, JumpTo with the Stopped state (rather than playing state). #jira UE-57844 Change 4013479 by andrew.porter QAGame: Added content in TM-SequenceRecorder to test recording a property on a Cine Camera Component; Press 3 to trigger manual focus distance to increment on a timer Change 4014323 by Max.Chen Sequencer: Fix SetPlaybackPosition so that it jumps or plays based on playback status. #jira UE-57844 Change 4015888 by Max.Chen Sequencer: Fix crash on paste. UMovieSceneSections were gathered from the track node's track. For sub track mode, we want to gather only those sections on that track node row. #jira UE-57951 Change 4015943 by Max.Chen Sequencer: Fix moving shots up when the mouse pos goes outside of the virtual track area. #jira UE-57717 Change 4016293 by Max.Chen Sequencer: Fix relative frame playback end frame calculation so that custom start/end frames remain in the space of the sequence and are not relative. #jira UE-57308 Change 4017075 by Andrew.Rodham Sequencer: Corrected initial evaluation range used when calling UMovieSceneSequencPlayer::Play() Change 4017270 by Christina.TempelaarL Sequencer: FCPXML importer and movie scene capture - Use CeilToFrame when converting section start/end frame times to frame numbers in FCPXML and movie scene capture. - Added support for clip metadata in FCPXML. - Got rid of redundant TokenizedError message class, no longer needed now that FCPXML is in editor directory. - Added log messages currently commented out due to exception, still testing. #UESEQ-358 Change 4018370 by Christina.TempelaarL Sequencer: fixed FCPXML log messages regarding sections with start/end not divisible by display rate. #UESEQ-358 Change 4018378 by Christina.TempelaarL Sequencer: fixed error in previous changelist. #UESEQ-358 Change 4019457 by Max.Chen Sequencer: Show event names only when the event track is selected #jira UE-57897 Change 4022806 by Max.Chen Sequencer: Fix crash on movie scene capture dialog shutdown if movie capture wasn't even started. #jira UE-58106 Change 4022894 by Max.Chen Sequence Recorder: Wrap OpenEditorForAssets after sequence recording within GIsEditor #jira UE-58084 Change 4024487 by Max.Chen Sequencer: Add tooltip for quat interpolation #jira UE-58113 Change 4024562 by Max.Chen Sequencer: Change path/attach track sequence binding id to currently focused sequence id so that bindings can be created in subsequences Change 4027414 by JohnHenry.Carawon QAGame: Checking in content that shows a bug with using particles systems and Delay Before Shot Warm Up. Change 4028990 by Max.Chen Sequencer: Fix evaluate sub sequences in isolation. This check was added with the compile on the fly logic. Not sure why it was necessary but it seems like the sub sequence data needs to be updated in order to evaluate sub sequences in isolation. #jira UE-58184 Change 4029004 by Max.Chen Sequencer: Ensure that old binding references are removed when re-assigning actors in sequencer #jira UE-57898 Change 4030997 by JohnHenry.Carawon QAGame: Fixing name of the master sequence Change 4031785 by Michael.Karambelas QAGame: Added an instance of ThirdPerson Run to TM-SequenceRecorder for Record to Possessable test. Change 4035548 by Andrew.Rodham Sequencer: Changed FMovieSceneEvaluationTemplate::TemplateSignature to be a serial number to address non-deterministic cooking issues - This commit is related to the repro steps found in 3914599 and 3934307, both of which have been verified with this new change. - Copy of 4031684 from //Fortnite/Main/... #jira FORT-84852 Change 4036312 by Max.Chen Sequencer: Fix zoom view range so that it uses the passed in InZoomDelta Change 4036318 by Max.Chen Sequencer: Auto size now returns a range and defaults to the channel proxy range so that keyed regions can also be autosized. Change 4036322 by Max.Chen Forgot missing change Change 4036360 by Max.Chen Sequencer: Fix play rate calculation when skeletal animation section play rate changes. Change 4037163 by Mike.Zyracki Weighted Tangent Implementation Tricky thing is that you need to solve a cubic in order to get the bezier weights for the time part of the curve. See https://www.gamedev.net/forums/topic/474094-help-function-curves-for-animation-interpolation/ Maya provides an implementation in it's dev kit but I didn't use it since it was horribly slow and uses an iterative solution to solve the cubic needed. Instead I use an old algorithm (Cardano's method), to solve the cubic which should be much faster. Though relative simple to code from principles I just went ahead and used a version from Graphics Gems 1. I put this cubic solver directly in MovieSceneFloatChannel.cpp, but will need to move it when we support Rich Curve, maybe to FMath:: (which would probalby require some other functions for solving quartics, etc.. for completeness.). Also note we resolve this on every evaluation but dont' need to if the interval the time is evaluating hasn't had any change in values or tangents. So again when we support FRichCurve we can create a Weighted Evaluating class that can hold the cache. Also with the tangent drags I got rid of the Cardinal position that was used to calculate non-weight tangents from the key point and just quickly getting a direction. With weighted tangents we need to use the delta instead (otherwise when moving multiple they would all get the same weight based upon distance to the cardinal point. ) For mixed tangents types what I'm defaulting to non weighted if the interval doesn't match. May need to do weighted instead, not sure. What's left is just FBX import, for tomorrow. #jira UESEQ-76 Change 4037435 by Mike.Zyracki Fix fo build warnings from weighted tangent submission. #trivial Change 4038091 by Michael.Karambelas QAGame: Updated a Sequence Recorder group in TM-SequenceRecorder that had an actor missing the animation. Change 4038374 by Andrew.Rodham Sequencer: Refined scrubber styling for level sequences and actor sequences - Scrubber now shows a block the width of a dsplay rate frame, plus a line for the actual evaluated time. UMG reverts back to the previous styling (no block) - Keys that are outside of the playback range are now drawn with a subdued effect - Tick labels are no longer drawn when directly underneath the scrubber Change 4038490 by Max.Chen Sequencer: Expose tangent weight values in details panel. Change 4038620 by Andrew.Rodham Sequencer: Advanced time panel polish #jira UESEQ-426 Change 4038677 by Max.Chen Movie Scene Capture: Redirector for MovieSceneTools.AutomatedLevelSequenceCapture #jira UE-58248 Change 4039739 by Max.Chen Sequencer: Media track should only be supported by Level Sequence Change 4040024 by JohnHenry.Carawon QAGame: Fix EventReciever and OverrideBinding example The level sequence was set to none so the fix was to set it back to TrackEvaluation_Master. Change 4040610 by Andrew.Rodham Curve Editor: Moved weighted tangent switchers to a single toggle command (CTRL+W) and added an icon #jira 58383 Change 4040882 by Mike.Zyracki Keep broken when turning on weighted #jira UE-58435 Change 4041089 by andrew.porter QAGame: Sequence for Long Tangents bug Change 4041498 by Mike.Zyracki Turn off weighted when going auto to prevent large tangents. Do it both in UI and when doing AutoSetTangents() to really make sure it doesn't happen. #jira UE-58452 Change 4041752 by andrew.porter MediaFrameworkTest: Adding some better logging for setting rates when not supported. Also ignoring commiting URL when there is no text Change 4041896 by Matt.Hoffman The transform dialog box now transforms selected keys and sections, instead of just keys. #jira UE-58265 [CL 4044405 by Max Chen in Main branch]
2018-05-02 10:10:00 -04:00
LayerId + 1,
AllottedGeometry.ToPaintGeometry(FVector2D(ScrubMetrics.FrameExtentsPx.GetLowerBoundValue(), 0.0f), FVector2D(ScrubMetrics.FrameExtentsPx.Size<float>(), AllottedGeometry.Size.Y)),
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3946692) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3801826 by Max.Chen PR #4304: Level Sequence crash fix - Guarded against dereferencing null componen. (Contributed by DSDambuster) Change 3801828 by Max.Chen PR #4302: Movie Scene Visibility Template unitialised variable, causing random . (Contributed by DSDambuster) Change 3801837 by Max.Chen Sequencer: Delay spawning/construction for convert to possessable. This fixes a bug where property values would be lost when converting back and forth from possessable to spawnable. #jira UE-52400 Change 3801841 by Max.Chen Sequencer: Make spacer nodes not selectable. PR #4194: Improvements to Sequencer (Contributed by projectgheist) #jira UE-53117 #jira UE-52139 Change 3804183 by Max.Preussner MediaAssets: Added missing lock in media sound component Change 3805414 by Max.Preussner MediaAssets: Setting valid GUID when initializing media texture resource Change 3819578 by Max.Chen PR #4370: When enabling the "MovieCapture", do not turn off the Stereo-3D display. (Contributed by yehaike) #jira UE-53647 Change 3823414 by Max.Chen Curve Editor: Lock down the first and last keys in the redundant keys removal range so that they're unaffected. #jira UE-53591 Change 3826406 by Max.Chen Sequencer: Move OnStartedPlaying() to within first update in UpdateTimeCursorPosition(). This fixes an issue where setting the hud/player visibility was getting stomped on later. #jira UE-52772 Change 3827044 by Max.Preussner MediaAssets: Added sprite visualization to media sound component #jira UE-53594 Change 3827988 by Max.Preussner MediaPlayerAssets: Fixed Media Texture is not linked to Media Player when created together #jira UE-53532 Change 3828506 by Max.Preussner MediaPlayerEditor: Added attenuation visualizer for media sound components #jira UE-53594 Change 3832590 by andrew.porter EngineTest: Added a keep state check in Property Animation sequencer test Change 3833053 by andrew.porter EngineTest: Adding Hierarchical Bias test Change 3835683 by andrew.porter EngineTest: Adding UMG Animation screenshot test Change 3836076 by Max.Chen Sequencer: Fix audio volume and pitch multiplier deprecation. Change 3836230 by andrew.porter EngineTest: Adding Sequence Bone Position automation test Change 3836347 by Max.Chen Sequencer: Fixes to shot name parsing. When a shot doesn't contain a shot number, assume, [ShotName]_[TakeNumber]. When duplicating a shot, put the new shot in the same path of the original shot, so that the take numbers will increment properly. #jira UE-51868 Change 3836552 by Max.Chen Sequencer: Sub section now has a takes menu Change 3838094 by Max.Chen UMG: Fix template finish not getting called on stop. This fixes a bug where sections aren't restored when finished. #jira UE-52285 Change 3838708 by Max.Chen Sequencer: Add notification when the blend type is changed. #jira UE-54046 Change 3840295 by Max.Chen Sequencer: Fix copy/paste crash for lights #jira UE-54084 Change 3840957 by Mike.Zyracki Added Show Only Keyable and Show Only Animated to the filter list in the property editor. Added IsPropertyAnimated to IDetailKeyframe Interface which already had support for showing properties which are keyable (which is used for the key icon next to the properties.). Could have created another interface but then would have had to mimic the sequencer binding, releasing also, so this seemed best way. One issue still left is that custom built detail items currently don't store associated properties(usually) and so certain properties, in particulalry transforms, won't show up as keyable or animated. Note this also shows up with the keyable icon not showing up next to transform tracks, and other filters like Show Only Modified not working with transforms/customs. Not sure best way to tackle this. #jira UESEQ-328 Change 3841756 by Max.Chen Sequencer: Fix unbound possessable components when pasting spawnables. #jira UE-54104 Change 3843950 by andrew.porter EngineTest: Renaming LevelStreaming tests/content to LevelVisibility Change 3844082 by Mike.Zyracki Missing file for animated filter in property editor. When finding if a track is animated we need to find it but we can't easily induce the MovieTrack class for any particular property. So we don't set a class for it and just search by it's ID and name. #jira UESEQ-328 Change 3846902 by Max.Preussner ImgMedia: Fixed image media player never finished initialization if loading failed #jira UE-54247 Change 3849820 by Mike.Zyracki Reassigning deleted widgets didn't work since the menu extender mechanism needs a valid UObject in order to perform an operation on it. So to fix we replaced GetObjectBindingContextMenuExtender in WidgetBlueprint with new delegate mechanism (OnBuildCustomContextMenuForGuid) that supports FGuid in addition to UObjects which is needed to handle re-binding deleted widgets. Note that the default sequencer hacks this for replacing deleted actors in SequencerObjectBindingNode to check to see if a LevelSequence is active. We could move to this mechanism there also. #jira UE-53163 Change 3852211 by Max.Chen UMG: Indicate name of the property that is not bound. #jira UE-54350 Change 3854120 by Max.Chen Sequencer: Fix sibling folders being allowed to have the same folder name. #jira UE-54363 Change 3854627 by Max.Chen Sequencer: Step to next/previous key should work for all tracks if there aren't any selected. #jira UESEQ-391 Change 3855825 by andrew.porter EngineTest: Adding animation blending automation test Change 3855950 by andrew.porter EngineTest: Adding correct expected valuues to animation blending test Change 3856237 by Matt.Hoffman UESEQ-336 - Sequencer Track Reordering Adds the ability to re-order Master Tracks, Folders and Object Bindings within sequencer hierarchies (including UMG). Adds the ability to do a one-off sorting of the content under the old sorting behavior if the user wants to reset their layout to how it was under legacy behavior. Modifies SequencerTrackNodes, SequencerFolderNodes and SequencerObjectBindingNodes to handle CanDrop/OnDrop for above, below and ontop of. Fixes a Slate Issue that forcibly expanded a TreeviewRow if an item handled OnDrop. Slate will now only forcibly expand the row if the item says the drop happened ontop of the item, and not above or below it like it previously did. Change 3856503 by andrew.porter EngineTest: Adding automation test for using animation blueprint with blend multi node in sequencer Change 3857875 by Max.Chen Sequencer: Assign the sequence id after the template is compiled. #jira UE-54462 Change 3858344 by Max.Chen Sequencer: Prevent Goto and Transform boxes from overlapping by allowing them to be visible at the same time in an autosized horizontal box. Also, added close button to the goto box. PR #4425: Prevent Goto and Transform boxes from overlapping in Sequencer ... (Contributed by projectgheist) #jira UE-54210 Change 3860566 by andrew.porter MediaFrameworkTest: Set the option to index 0 for the audio and video track list by default Change 3860654 by andrew.porter EngineTest: Enabling Camera Cut + FOV test Change 3860981 by andrew.porter EngineTest: Updating skeletal mesh tests with a delay after set playback position Change 3861256 by Max.Chen Sequencer: Add all bindings if none selected. #jira-54440 Change 3862154 by Andrew.Rodham Added TimeManagement module Change 3862424 by andrew.porter EngineTest: Turned on the test Bone Positions with Blend Multi Node Change 3862573 by andrew.porter EngineTest: Adding test to compare bone positions in a sequence that is blending an animation that is using an AnimBP Change 3865117 by Max.Chen Sequencer: Stop auto scroll on mouse release of movement. #jira UE-31212 Change 3865303 by Max.Chen Sequencer: Add drag and drop transactions #jira UE-54662 Change 3865304 by Max.Chen Sequencer: Fix crash when an actor factory is not found. Change 3865361 by Max.Chen Sequencer: Don't change the camera/shot lock button when popping out of a sequence. #jira UE-54665 Change 3865412 by Max.Chen Sequencer: Determine whether a transform track is for a camera by using the spawned object or template #jira UE-54666 Change 3865685 by Max.Chen Sequencer: Clear autoscrub offset when stopping autoscroll #jira UE-31212 Change 3865886 by Max.Chen Sequence Recorder: Log an error if the number of frames changes while recording. This can happen if the skeleton changes while recording. #jira UE-48715 Change 3866925 by Andrew.Porter MediaFrameworkTest: Changing the current PNG test video image sequence to 1024 x 576 Change 3867705 by andrew.porter QAGame: Adding Audio Sort Sequence to dev folder Change 3867890 by andrew.porter QAGame: Adding a sequence for testing a sorting crash to my dev folder Change 3872628 by Max.Chen Movie Scene Capture: Split delay before warmup into split delay before shot warmup so that there's separate controls for when the movie scene capture warmups up vs. shot boundaries. Change 3873131 by Matt.Hoffman UE-54732 - Crash reordering a folder with a track. This was caused by folders being the only type of track to check if someone was putting a parent track into a child track. Object Binding tracks and Tracks now check as well so that you can't use the above/below drop targets to add parents as children. This also fixed a typo in the localization keys. #jira UE-54732 Change 3873301 by Mike.Zyracki Added ability to support continous euler angle changes when changing rotations, in particularly with the rotation gizmo's. To do this we effectively added a form an of 'euler filter'(https://en.wikipedia.org/wiki/Euler_filter) to find the closest euler angle to the current euler angle. Three functions were added to FRotator to make this possible, one to get the euler angle that's has the same rotation as it, one to get the difference between two euler angles via Manhattan distance and a third using the previous two to choose a Rotator value that's closest to it. We then use these functions before calling UComponent::SetRelativeRotation to make sure we use the correct Euler after the Quat conversion. We also no longer limit(bound) the euler angles to -180,180, which is obviously necessary to avoid flips. I also changed how we caluclate yaw and roll when pitch is -90 or 90 to make it the standard approach of zeroing out roll and just setting yaw. Main reasons are the previous implementation had precision issues so things like 180, 90, -180 would show up due to numbers being nearly zero but negative,(this would break any smooth interpolations), and this facilitates having a 'gimbal' rotation mode (like Maya, Blender etc..) if we ever want that also. If needed we could keep the previous implementation but would need to add some FMath::IsNearlyZero checks, with less performance. Note we only do this special filtering when applying delta's to actors or components in the editors, which then call UComponent::SetRelativeRotationExact, which is a new function to foces the RelativeRotation to be equal to the new rotation. This allows us to store un-nomalized Rotators at the cost that the RotationCache may be broken. We didn't change any of the other UComponent functions that set rotations (via Quats or Transforms) so they will still be bounded and unwound. In SetInternalWorldLocationAndRotation we only set the rotation if the rotation has changed, which fixes the rotation getting changed and re-normalized if just translate happens. In TransformTrackEditor, we correclty use the bUndwing flag and in MovieScene3DTransformSection there was an un-needed winding check there, it will be unwound earlier if needed, which happens if Sequence Recording is happening. Max we should talk about what to do about this . Note the euler angle drag via the widget is still bound to 0-360. I think we should just unbound that now since the rotations value are now unbound. This review now includes fixes suggested by Zak. #jira UE-UE-22228 Change 3873483 by Matt.Hoffman Sequencer Tracks can now be inserted above the spacer at the bottom of the tree. #jira UE-54706 Change 3873899 by Max.Chen Sequencer: Add section selection throbbing Change 3873908 by Max.Chen Movie Scene Capture: Added logging per frame Change 3873924 by Matt.Hoffman Adds the ability to store Sequence Recorder setups into profiles that stay with the map and can be re-loaded later. Profiles store the Actor Recordings so the settings for each actor should carry with them. #jira UESEQ-339 Change 3874726 by Matt.Hoffman Disable drag-and-drop targets on spacers that come between rows in Sequencer. This prevents extra drag/drop targets showing up between each row. #jira UE-54706 Change 3874862 by Matt.Hoffman Audio Track no longer gets reordered when adding sub-audio tracks, as sub-tracks are no longer counted towards the sorting order index when normalizing indexes. #jira UE-54727 Change 3875905 by Matt.Hoffman Disable Fade Track UI if a fade track already exists in the sequence. #jira UESEQ-393 Change 3876163 by Max.Chen Sequencer: Swap the camera object to the camera component's owner if it's not the same. #jira UE-54874 Change 3876971 by Andrew.Porter EngineTest: Moved Media Player Seek test to new folder. Also enabled the test with new ground truth image. Change 3877040 by Max.Chen Cine Camera: Split camera properties to two groups, "Camera Options" and "Camera Settings". The cine camera now hides properties in the "Camera Settings" group so that properties like bConstrainAspectRatio (in the "Camera Options" group) can be visible. #jira UE-54192 Change 3877763 by Max.Chen Curve Editor: Fix curve changed on end drag so that only curves that had keys/tangents that were changed receive notification, otherwise all loaded curves were getting notified that they were changed. #jira UE-54951 Change 3878234 by Matt.Hoffman Disable "Drop Below" targets for Sequencer Tree nodes to prevent a confusing UX issue where dropping underneath a Object Binding Node puts it after the object binding node but the UI looks like it's inserting it inside the Object Binding node. #jira UE-54743 Change 3879359 by Mike.Zyracki If a track is inactive we dim it a bit which seems to be the UE4 way to show inactive or disabled state. We changed the active logic so that all subtracks need to be inactive for the track to also be inactive(instead of all active for active). This conforms to how the active state actually works, e.g if you have two sections and only one is active the track is still active above it. #jira UESEQ-388 Change 3879462 by Max.Chen Sequencer: Allow dragging onto a particular row which would move out any overlapping sections to make space for the newly created section. Newly created sections are now selected and throbbed to draw attention to themselves. #jira UE-54664 Change 3879464 by Max.Chen Sequencer: Fixed overlapping ranges being inserted into the evaluation field during compilation - The issue was that track segments that had been combined with adjacent segments (due to them being identical) would potentially cause a subsequently compiled frame to overlap with a range that had already been inserted into the evaluation field. - The insertion code previously asserted that only minor overlaps were catered for (due to fp rounding errors) and assumed that a supplied range could not entirely contain any other range in the field. - The solution is to supply the insertion time along with the range to know exactly where the data should live in the field, and crop the range to the maximum allowable space between adjacent ranges. #jira UE-54922 Change 3879590 by Matt.Hoffman Items that are now added to the Sequencer via the "+Track" menu will be selected after being added. Items can now be added inside of folders instead of just to the root level. #jira UE-27397 Change 3879612 by Mike.Zyracki Display Nodes with no children are always active. #jira UESEQ-388 Change 3879730 by Matt.Hoffman Sequence Recorder's actor recording groups now remove items from the group when removed via the UI. #jira UESEQ-339 Change 3880256 by Mike.Zyracki Fix issue with inactive display with folders and other track nodes. #jira UESEQ-388 Change 3883491 by Max.Chen Fix issue where tick is skipped due to last ticked pose isn't cleared after AnimInstance changes. Copy from Release-4.19 #jira UE-51323 Change 3883603 by Max.Chen Movie Scene Capture: Add option toggle disable screen percentage. By default this is on (no change in current behavior). #jira UE-51898 Change 3885074 by Max.Preussner MediaCompositing: Resetting media texture & freeing resource on section end; removed dead code Change 3887220 by Max.Preussner MediaCompositing: Defaulted media section duration to 1 sec (since we do not know the actual duration in most cases) Change 3887478 by Matt.Hoffman Sequences now show [Inactive] in their title bars when they're disabled. This helps communicate why a sequence isn't being evaluated. #jira UE-51469 Change 3888985 by Max.Chen Movie Scene Capture: Clamp HDR Compression Quality between 0 and 1. #jira UE-55136 Change 3893519 by Max.Chen Sequence Recorder: Clarified tooltip for bRecordNearbySpawnedActors - spawned actors will still be recorded if they match the ActorFilter. #jira UE-55238 Change 3893546 by Max.Chen Sequence Recorder: If a selected actor already has a recording, add a blank recording. #jira UE-55239 Change 3894044 by Max.Preussner MediaCompositing: Added support for seeking into a media section Change 3894310 by andrew.porter MediaFrameworkTest: Adding Img media sources for 1080 and 2160 ravent test content Change 3894426 by Max.Preussner MediaAssets: Letting media textures with AutoClear retain their clear color when player is reset Change 3895717 by Max.Chen Sequencer: Null checks to prevent crash when saving the default state of a spawnable #jira UE-55304 Change 3897388 by Max.Chen Sequencer: Don't update current time to be within the view range when stepping into a sequence. #jira UE-55322 Change 3897452 by Max.Chen Audio: Fix crash when trying to record audio without any active capture devices. Log warning if the number of input channels is not 1 or 2. #jira UE-55223 Change 3897619 by Max.Preussner MediaCompositing: Removed commented out code Change 3898072 by Max.Chen Sequencer: Override the animation asset in the player state if it doesn't match the animation asset that's being evaluated. #jira UE-55328 Change 3898272 by Max.Preussner MediaPlayerEditor: Made slate brush constants static Change 3898704 by Max.Chen Sequencer: Skip if the binding id's sequence can't be found. #jira UE-55337 Change 3899855 by Max.Preussner MediaCompositingEditor: Added cache state visualization to media track Change 3900300 by Max.Preussner MediaCompositingEditor: Added loop indicators to media sections Change 3900694 by Max.Preussner ImfMedia: Looping cache only when player is looping Change 3900892 by Max.Preussner Stats: Added stats category for media framework Change 3900954 by Max.Preussner MediaCompositing: Don't evaluate at the end of media section Change 3901348 by Max.Preussner Core: Replaced TLruCache autos for better readability Change 3901655 by Max.Preussner ImgMedia: Added more perf stats to EXR reader Change 3901972 by Max.Preussner MediaAssets: Added getter for media player in media sound components Change 3902233 by Max.Preussner MediaAssets: Enabling media textures to receive samples right after player is assigned Change 3902238 by Max.Preussner MediaCompositing: Working around init/shutdown idiosyncracies in sequencer Change 3904045 by Max.Chen Sequencer: Fix copy/paste crash. Only process UMovieSceneCopyableBinding and objects that can be spawned by the movie scene spawn register. #jira UE-55314 Change 3905605 by Max.Chen Sequencer: Restrict spawnables from being created if they have a ClassWithin that UMovieScene is not a child of. #jira UE-55429 Change 3906550 by Max.Chen Sequencer: Add media track icon #jira UE-55480 Change 3907101 by Max.Chen Sequence Recorder: Fix bugs related to not recording a level sequence. There were certain assumptions that creating a level sequence meant that sequence recording was in progress. This is not always the case - the recorders can record animation assets and not create a level sequence. Changed the notion of IsRecording() to having at least one actor recording that is recording. Countdown timer, recording displays, etc should function if IsRecording() and not based on whether a level sequence is created. #jira UE-55485 Change 3907247 by Max.Chen Sequence Recorder: Fix crash not removing PrepareToCleanseEditorObject delegate. Repros when opening sequence recorder, closing it, and then opening or creating a level. Change 3910343 by Max.Preussner Core: Added async helper for executing functions on a given thread pool Change 3910346 by Max.Preussner ImgMedia: Added separate thread pools for loading/decoding and deleting image frames Change 3910829 by Max.Preussner Profiler: Increased visible range of profiler graph Change 3910841 by Max.Preussner MediaCompositing: Displaying asset name instead of full media source path in media section Change 3910870 by Max.Preussner ImgMedia: Using deallocation thread pool only in debug builds Change 3919642 by Max.Chen Sequence Recorder: Clarify active tooltip #jira UE-55661 Change 3919660 by Max.Chen Sequencer: Sequence template source signatures are now also compared to catch the case where a sub-sequence asset has been saved but not modified - The following sequence of events exposes this issue: - Create a master sequence with a single shot that spawns a cube - Add this sequence to a level and set it to auto-play - Save everything and restart - Resave just the inner shot asset without opening it - PIE - The inner shot never spawns its cube because its template was wiped on save, but its signature never changed. Since the master sequence previously didn't check the template source signature, it ends up trying to evaluate an empty template. #jira UE-55626 #jira UE-55490 Change 3921825 by Max.Chen Sequencer: "Run Construction Script in Sequencer" is off by default for blueprints but on for Sequencer. This allows the content author to switch it on for specific blueprints and sequencer will be default, run those with construction scripts enabled. Change 3922232 by Max.Chen Sequence Recorder: Reset countdelay on stop. #jira UE-55755 Change 3922306 by Max.Chen Sequence Recorder: Don't automatically mark transforms to be recorded by sequence recorder. Instead, log a warning if the user toggled it off to warn that the resulting animation might not match gameplay. #jira UE-55758 Change 3922912 by Max.Chen Sequence Recorder: Fix refresh next sequence name #jira UE-55757 Change 3927654 by Max.Chen Movie Scene Capture: Added format mapping for the name of the current camera #jira UE-55769 PR #4537 Change 3927658 by Max.Chen Sequencer: Added fbx property mapping for "FocusDistance" to "FocusSettings.ManualFocusDistance" #jira UE-55782 Change 3932022 by Max.Chen Sequencer: Add import animation track section to next available row index. #jira UE-55892 Change 3933919 by Max.Chen Sequencer: Jump to playback start frame and not 0 to start playback for recording. #jira UE-55933 Change 3934307 by Andrew.Rodham Sequencer: Add template signature that is re-generated every time the base template is regenerated, which invalidates evaluation fields This fixes an issue where the same sequence is instantiated multiple times in a sequence. If the source sequence was saved, its template would be wiped, which would invalidate the template ID When an instance tries to evaluate the master template, it would only invalidate a range in the evaluation field that was the hull of any invalid sub sequences overlapping the current time, potentially leaving invalid data in the evaluation field at positions later (or earlier) on in the sequence When the sub template was re-generated, it receives the same SequenceSignature as it had before (because the sequence hasn't actually changed), which causes the stale evaluation field data to fail the IsDirty check (because the sequence is the same as it thought, but the *template* has changed) This has been addressed be adding a signature to templates themselves, and checking both the template signature and sequence signature as a part of the IsDirty check. This ensures that we regenerate if either the template, or the sequence have changed. #jira UE-55934 Change 3936327 by Andrew.Rodham Sequencer: Removed increment when trimming right UMovieSceneSection::TrimSection already explicity assigns an exclusive bound to the time passed in. The new behavior means we can trim a section to the right, and insert another section without changing the time to create adjacent sections. #jira UE-42652 Change 3936328 by Andrew.Rodham Fixed KeyFrameManipulator assignment operators and copy/move constructors - These types are potentially self-referential so cannot use default constructors/assignment Change 3936330 by Andrew.Rodham Converted UMGSequencePlayer to use frames internally #jira UE-54878 Change 3936726 by Max.Chen Sequencer: Set track node as the parent of the key area node. The key area switcher needs the object binding id from the parent object binding node. Without this, the binding to the external value fails. #jira UE-55931 Change 3936775 by Max.Chen Sequencer: Should stop or loop should compare DurationFrames with Current Time from StartTime. The bug is that if you set 30 warmup frames in movie rendering for a range of 0-100, the FrameRange will be starting at -30 and have a duration of 130. Without this fix, the playback will continue until frame 130, rather than 100. #jira UE-55933 Change 3936935 by Matt.Hoffman Easing Curves are now represented in Play Rate resolution instead of internal resolution. #jira UE-55937 Change 3937069 by Matt.Hoffman Users can toggle if the is infinite on each side, limited by which tracks support infinite ranges. #jira UE-55891 Change 3937516 by Max.Preussner ImgMedia: Added support for single-threaded platforms #jira UE-55986 Change 3937826 by Max.Preussner MediaAssets: Disabling media sound components on HTML5 if AudioMixer is not enabled Change 3937997 by Max.Chen Curve Editor: Add Zoom to Fit Curves so that selected curves from Sequencer can be focused on. Tested that undo doesn't re-zoom. #jira UE-55935 Change 3938000 by Max.Chen Sequencer: Stop all sounds before generating audio waveforms. #jira UE-55951 Change 3938376 by Max.Preussner XGEController: Disabled XGE Controller in single-threaded apps to prevent crash Change 3938444 by Max.Preussner Core: Added async support for single-threaded applications Change 3938445 by Max.Preussner Networking: Added support for single-threaded applications in UDP socket sender/receiver Change 3938447 by Max.Preussner Messaging: Added support for single-threaded applications Change 3939432 by Max.Chen Sequence Recorder: Append command list to global level editor actions so that shortcuts are accessible in level editor. #jira UE-55798 Change 3940229 by Andrew.Rodham Added prospective display rate upgrade to UMovieScene::PostLoad - There was previously some very odd behaviour that would assign the fixed frame interval only when a sub sequence was focused in SSequencer. This meant that many sequences could have a frame interval of 0 set in the data. - Under the old method of snap interval display this would have fallen back to getting the display interval from the sequencer settings, but we no longer look at these. - The USequencerSettings properties have been removed and in their place, a prospective data upgrade for sequences that have a fixed frame interval old 0fps that sets the play rate to the previous defaults based off the old USequencerSettings defaults. - This could end up 'changing' the display rate for sequences where the user has changed the snap interval in the settings for a particular sequence editor, but there's not much we can do about that given we don't have access to the USequencerSettings classes in UMovieScene #jira UE-55919 Change 3940277 by Andrew.Rodham Sequencer: Added ability to default frame resolutions and play rates for newly created actor sequences Change 3940378 by Andrew.Rodham Sequencer: Post move import dialog now defaults to the playback framerate of the sequence, and floors to frame numbers Change 3940559 by Andrew.Rodham Reinstated primed or recording sequence color Change 3940642 by Max.Preussner ImagePlate: Removed image plate media playback functionality Change 3940843 by Max.Preussner Core: Made TCircularQueue actually thread-safe; improved code comments Change 3940860 by Max.Chen Sequencer: Changed StructNameToKey to StructPathToKey Previously, keying a PropertyPath of [RenderTransform][Shear][X] would get trimmed to X, which doesn't map to a channel name as considered by Sequencer2dTransformTrackEditor. Instead, trim the resulting property path to [Shear][X] so that track editors can determine the desired struct path and channels to key. #jira UE-52966 Change 3941292 by Mike.Zyracki Fix for trajectories out of range not showing up. 1) If we had no key data we would pop the time, so wouldn't get the section ranges. 2) Calculating of upper bound was wrong, checking against -1 and not key == num of keys when doing algo::lower_bound. 3) No need to do the Bck-- for the bakward iterators since we fixed #2. We start now from the upper bound correctly. 4) If we had no keys (at section start,end) we would incorrectly say we were any key type, so since we draw constant keys as dashed we would do so incorrectly around section end points. #jira UE-55929 Change 3941424 by Max.Chen Curve Editor: Change Zoom to Fit to use TArrayView Change 3941498 by Max.Preussner Core: Added FMath::DivideAndRoundNearest function Change 3942097 by Matt.Hoffman Drop Frame Timecode Support for NTSC rates. Change 3942104 by Matt.Hoffman Sequence Recorder Group is no longer visible inside the World Outliner after using one. #jira 55266 Change 3942107 by Max.Chen Sequencer: Resurrect logic to find or extend an existing section when adding keys. Change 3942330 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942339 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942507 by Andrew.Rodham Sequencer: We no longer pad the time overlap threshold with a small number that is not scaled by the current zoom level - The presence of this pad was causing keys that were far apart to be grouped when zoomed in a long way Change 3942509 by Andrew.Rodham Sequencer: Only pad total view range, rather than section range as well when retrieving keys to render - This stops us from rendering keys that are within the view range, but outside the section range Change 3942512 by Andrew.Rodham Added transactions to some sequencer details customizations Change 3942513 by Andrew.Rodham Sequencer: Reinstated validation checks to UMovieSceneSection::SetStartFrame and SetEndFrame, changed erroneous uses to use SetRange Change 3942560 by Andrew.Rodham Pass by rvalue reference to appease error C2719 on Win32 ('InChannels': formal parameter with requested alignment of 8 won't be aligned) Change 3942697 by Andrew.Rodham Newly Created Level Sequences and Actor Sequences now default to 24000 fps frame resolution (+/- ~24hrs range, supporting all integer rates + 23.976) Change 3942700 by Andrew.Rodham Sequencer: Added legacy out-of-bounds errors for times that are not supported by the current legacy upgrade frame resolution Change 3942989 by Max.Preussner Core: Fixed circular queue count calculation Change 3943538 by Max.Preussner MediaAssets: Reverted workaround for procedural audio log spam in HTML5 (Actor component initialization cannot be skipped if the component is used in a level) Change 3944071 by Max.Preussner QAGame: Fixed Media Texture keeps last frame of Media when PIE ends #jira UE-53360 Change 3944292 by Max.Chen Sequencer: Added extra flags to ensure that asset initialization does not occur on template actor sequences #jira UE-56113 Change 3944364 by Max.Chen Sequencer: Prevent circular shot/master tracks. Tested adding master -> child -> master as drag and drop cinematic shot tracks and sub tracks as well as through the + button. #jira UE-56091 Change 3944422 by Max.Chen Sequence Recorder: Disable transform recording if off. #jira UE-56061 Change 3944745 by Andrew.Rodham Sequencer: Key rendering fixes - Fixed assert that occured when keys happened to reside on some times due to KeyTime + TimeOverlapThreshold - KeyTime being slightly larger TimeOverlapThreshold - Fixed keys sometimes being clipped when zoomed right in due to lack of half-frame offset - Added missing documentation to MovieSceneTimeHelpers.h #jira UE-56107 Change 3945231 by Andrew.Rodham Sequencer: Reconstruct channel proxy on Serialize to catch all cases of undo/redo, PostLoad and duplication #jira UE-56089 Change 3945301 by Andrew.Rodham Sequencer: Added safety checks during initial sequence recording to guard against applying negative or 0-sized sequence ranges #jira UE-56125 Change 3946627 by Max.Preussner Fortnite: Fixed game crashes closing editor while in PIE - Pure virtual function being called #jira UE-56144 [CL 3946896 by Max Chen in Main branch]
2018-03-14 22:09:33 -04:00
ScrubFillBrush,
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 4044339) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3947021 by Max.Chen Sequencer: Don't preserve root component when copying object properties. A spawnable empty actor, has a root component that is generated by the empty actor factory. If the object template's root component is preserved when copying from the spawnable empty actor, the root component will not be copied over. Therefore, we need to NOT preserve the root component when copying object properties. #jira UE-55825 Change 3947366 by Max.Preussner WmfMedia: Better log output Change 3947367 by Max.Preussner MfMedia: Better detection of compressed format properties on Windows Change 3949102 by Max.Chen Sequencer: Remove SequenceActorTag when converting to possessable. #jira UE-56206 Change 3949207 by andrew.porter EngineTest: Set the screenshot nodes resolution to 1280x720 Change 3949404 by Max.Chen Sequencer: More informative tooltip for "Rerun Construction Scripts" option. It now says "Rerun construction scripts every frame on actors that have 'Rerun Construction Script in Sequencer' enabled in their class settings". Change 3950067 by Matt.Hoffman Renamed UAutomatedLevelSequenceCapture's StartFrame and EndFrame to CustomStartFrame/CustomEndFrame to reflect that it is user-overriden. This will also resolve upgrade issues due to the variable datatype changing. #jira UE-56189 Change 3950193 by JohnHenry.Carawon Updating my latest MovieRendering test content. Change 3950757 by JohnHenry.Carawon More updates to MovieRendering test content Change 3952059 by Max.Chen Resave LevelVisibility_SubLevels to fix data loss conversion warning of OpacityMaskConstant #jira UE-56086 Change 3952283 by Max.Chen Sequencer: Disable dropping level sequence assets as spawnables. #jira UE-56120 Change 3952422 by Max.Chen Sequence Recorder: Add button to record from the current player. #jira UE-55942 Change 3952987 by JohnHenry.Carawon MovieRendering Test Content - Fixing camera bindings and changing the override binding actor Change 3953823 by Mike.Zyracki Fix for Bad FBX Import Tangents not scaled by frame rate. After looking at this again it seems that a set of MovieScene:: overiddes for the channel traits wasn't set correctly, so use the ADL idiom to use MovieScene, which can then call Optimize in the correct namespace. With this we can now correctly use the passed in tolerance. There was also a redundant set of Optimize calls so that it could happen twice so removed them, and needed an extra check in the float channel Optimize. Also since we need to set auto tangents no matter if we optimize we don't set that parameter(though leave it since it's used by context menu key reduction). Finally fixed speed issue with trajectories caused by calculating way too many substeps. Reverted back to a time based step size for consistency. #jira UE-56193 Change 3954317 by Matt.Hoffman Adding a key to the last frame of a section no longer causes a crash. Keys can already be moved to be on the last frame of a section so now you can just add a key there directly. #jira UE-56255 Change 3954326 by Matt.Hoffman Dilating a section that is only infinite on one side no longer causes a crash. #jira UE-56260 Change 3954486 by Max.Chen PR #4580: Exposes IsReversed() from UMovieSceneSequencePlayer (Contributed by alanedwardes) Change 3955238 by Max.Preussner Messaging: Enabled delayed message routing https://github.com/EpicGames/UnrealEngine/pull/4574 #jira UE-56247 Change 3955901 by Max.Preussner MediaFrameworkTest: Added developer test for overriding desired media player plug-in at runtime. Change 3955922 by Andrew.Porter QAGame: Updating movie rendering content in dev folder Change 3956004 by andrew.porter QAGame: Adding MPC track to movie rendering test content Change 3956510 by Max.Chen Sequencer: Fix fbx camera import of static properties so that they are imported before default tracks are created. Otherwise, the default tracks inherit the default properties of the camera, rather than the values from the fbx. #jira UE-56311 Change 3957613 by Max.Preussner MediaUtils: Added code documentation to media player facade Change 3958005 by Max.Preussner MediaUtils: Added method to get number of sinks Change 3958934 by Max.Chen Sequencer: Fix keys getting added and sequence getting erroneously re-evaluated when auto key is off. Only apply defaults if there are no keys. Only modify the movie scene section before creating keys or setting defaults. #jira UE-55903 Change 3959687 by Andrew.Rodham Sequencer: Fixed visibility track external values being inverted #jira UE-56324 Change 3960507 by Max.Preussner Core: Fixed incorrect rounding in FMath::DivideAndRoundNearest Change 3962047 by JohnHenry.Carawon MovieRendering Test Content Changes: - Add Lightmass Importance Volumes to sublevel to fix warnings - Rebuilt Lighting - Add a third sequence for Gamut testing - Resaved the sound master.uasset to fix warning Change 3962211 by Mike.Zyracki Add Frame Numbers to selected animation sections. Added MapTimeToAnimation to MovieSceneSkeletalAnimation so that we could get it from the Skeleton Animation track Editor. Since the thickness of the frame line can change based upon frame rate and zoom we need to calculate it similarly to how the time slider controller does it. Those calculations were private so we had to expose FScrubRangeToScreen and GetScubberPixelRange from the TimeSliderController. Also needed to know if the section itself was selected so added a bIsSelected flag to the section Painter. Also fixed a bug where you couldn't add a section if other sections existed at different times in MovieScenePropertyTrack and could crash due to the check(). #jira UESEQ-395 Change 3962497 by Max.Preussner Core: Added new string formatting argument to FTimespan Change 3963662 by Max.Chen CineCamera: Flip VistaVision width and height. Change 3963731 by Max.Preussner MediaCompositing: Implemented sequence recording support for media track Change 3964195 by Andrew.Rodham Sequencer: Set inverted property correctly for newly created visibility track sections - Also clamp evaluation for key editors to the bounds of the section so we're not displaying values outside of the section bounds when the cursor is not on the bounds #jira UE-56324 #coderevew Max.Chen Change 3964196 by Andrew.Rodham Sequencer: Fixed crash when attempting to render sections that resulted in a negative intersection with the view range Change 3964275 by Andrew.Rodham Sequencer: Fixed MovieScene::ClampToDiscreteRange for infinite range bounds Change 3964364 by Andrew.Rodham Curve Editor: Reduce minimum vertical view range when zooming to fit Change 3965091 by Max.Chen Sequencer Recorder: Refresh next sequence if empty when starting a recording, otherwise, use existing name. #jira UE-56469 Change 3965148 by Max.Chen Sequence Recorder: Move Record to Possessable to "Actor Recording" group Change 3965162 by Max.Chen Sequence Recorder: Always break out of immersive mode when done recording, even when stopping recording during countdown. #jira UE-56407 Change 3965214 by Max.Preussner QAGame: Enabled ImagePlate plug-in Change 3965574 by Max.Preussner SimpleComposure: Reorganized & upgraded content to work with new Media Track #jira UE-56488 Change 3965651 by Max.Preussner MediaCompositing: Ignoring seek-on-open if media not seekable Change 3966075 by Christina.TempelaarL Sequencer: Added Final Cut Pro 7 XML Export functionality #jira UESEQ-358 Change 3966087 by Matt.Hoffman Adding a single key to the Particle Toggle track now makes an infinite range section that is displayed in the UI. #jira UE-56295 Change 3966547 by Andrew.Rodham Sequencer: Fixed rounding errors when drawing the section background on boolean sections - Logic was using time in sectonds which caused rounding errors on evaluation and flickering red/green stripes when dragging keys around #jira UE-56324 Change 3966563 by Andrew.Rodham Curve Editor: Key editor interface improvements - SKeyEditInterface has a few problems - it does not update in real time when editing properties, and does not support multi-edit which makes it unsuitable for use with the curve editor - We now take a different approach for editing keys by gathering a set of proxy UObjects for each key that is currently selected. These objects are added as top level objects to the details panel which means they support multi edit as you'd expect from any other details panel in the editor. - Proxy objects are updated every tick for the curve editor if they implement the ICurveEditorKeyProxy interface, which allows them to refresh their current value. - Ideally, the same mechanisms would be used in the main sequence interface, and we would be generating the proxy classes at runtime based on the key value type, but that work remains a separate task from this initial offering. #jira UE-56165 Change 3966564 by Andrew.Rodham Curve Editor: Expand to frame when adding or moving keys in the curve editor Change 3967051 by andrew.porter MediaFrameworkTest: Set the CameraPlayer_Video texture to auto clear Change 3967141 by Andrew.Rodham Sequencer: Keep track of spawned objects that have been modified and only re-save such object's default spawnable state on destruction - Now that we're taking this approach, I've remove serveral redundant bits of functionality in the spawn register such as making some spawnables read-only, and the PreSave binding for Sequencer. - We now hook into all object pre-saves to make sure we handle the case where the sequences are saved through the content browser or elsewhere. #jira UE-47686 Change 3967170 by Andrew.Rodham Sequencer: Added the ability to possess anim instances as object bindings - This allows full and direct animation of properties on UAnimInstance, and animation blueprints - Object Bindings are made by first possessing a skeletal mesh component, then choosing the + Add button where its anim instance will be listed - Added a new function to UMovieSceneSequence to gather previously cached objects that should now be invalidated. Anim instances will be re-resolved if a new UAnimInstance is assigned to USkeletalMeshComponent::GetAnimInstance. - ObjectBindingIDs for anim instances are just represented by an entry in a set of GUIDs. We only ever resolve such bindings through USkeletalMeshComponent::GetAnimInstance. - Only currently supported on LevelSequences #jira UE-56132 Change 3967195 by Max.Preussner Core: Updated TRangeSet to use TCallTraits Change 3967345 by JohnHenry.Carawon Test Content Changes - first iteration of spacing out the examples in the shots. Change 3967572 by Max.Chen Sequencer: Fix setting PreviousPlayEvalPosition until after we've tested whether it's set. #jira UE-56518 Change 3967750 by Max.Chen Audio: Set duration based on number of input channels, rather than number of channels to serialize. This fixes an issue where audio split into 2 channels is set to a duration that's twice as long. #jira UE-56430 Change 3967836 by Max.Chen Sequencer: Allow for animating array elements within ustruct properties #jira UE-55887 Change 3968506 by Matt.Hoffman Fixed ambiguous conversions for seconds and frames being overriden by ambiguous conversion to Timecode (in frames). Change 3968748 by Max.Chen Sequencer: Make the event properties submenu widget larger. #jira UE-55557 Change 3968862 by Max.Chen Sequencer: Recursive expansion when shift is down #jira UE-52139 #pr 4194 Change 3968863 by Max.Chen Sequencer: Bind rename command to selected track so that F2 shortcut start renaming #jira UE-52139 #pr 4194 Change 3968872 by Max.Chen Sequencer: Rekey the selected key at the current time. #jira UESEQ-396 Change 3968938 by Max.Chen Cine Camera: Add option to toggle the behavior of locking the rail mount to the orientation of the spline. By default, the option is off, no change in behavior. #jira UE-55815 Change 3968958 by Andrew.Rodham Sequencer: Consider vertical position when hittesting keys #jira UE-56256 Change 3969643 by Max.Preussner Core: Rounding timespans created from double values towards nearest ticks Change 3969646 by Max.Preussner MediaUtils: Implemented timeout mechanism for block-on-fetch feature Change 3969776 by Mike.Zyracki Added Skip Anim Notifiers Toggle per what was in Matinee. Investigated the Enable Root Motion toggle as also discussed but it's implementation is directly contained by the animation asset and unlike animation notifies there seems to be no exposure to interactively disable it during a playback tick. Note if we are generating thumbnails we still automtically disable notifies in the editor to avoid annoying noise playback. Note that if Enable Root Motion/Root locked is specified in the animation asset it does correctly effect the Sequencer. #jira UESEQ-399 Change 3969835 by Matt.Hoffman Playback Range and Selection Range use unified logic for adding themselves as potential snap locations which properly handles inclusive/exclusive bounds. This resolves an issue where having an unset selection range caused a potential snap location to be added on frame 0 and 1 (internal resolution) which caused a misalignment when placing objects near frame 0. This also removes the one frame offset on setting Selection Range to bring behavior inline with other ranges. #jira UE-55420 Change 3969885 by Max.Preussner MediaAssets: Don't register media player CDO with media ticker Change 3971129 by Andrew.Rodham Sequencer: Fixed UMovieSceneSequencePlayer::GotToEndAndStop() not taking into account for start time This is a remnant from when the times were always specified in 0-duration space, rather than actual sequence times. Change 3972056 by JohnHenry.Carawon More updates to Test Content. I continued spacing out the examples in the sequence so that they have a consistent number of frames between each example and during the start/end of the example. Also removed the Marcie sublevel. Change 3972066 by Andrew.Porter MediaFrameworkTest: Setting Marcie folder to be never cooked in package settings Change 3972675 by Matt.Hoffman Splitting Subsequence Sections no longer sets an incorrect playback range on the subsequence when the subsequence has a different internal resolution than the owning sequence. #jira UE-55453 Change 3973376 by Max.Preussner ImgMedia: Zero is the only valid video track for image sequences Change 3973489 by Max.Preussner Launch: Build rules cleanup pass - don't use Media, MediaUtils on server apps - don't link against Media (include-only dependency) - don't include from MediaAssets (dynamic load only) Change 3973760 by Max.Preussner MediaUtils: Moved AppMediaTimeSource implementation into its own file; added logging Change 3973765 by Max.Preussner ImgMedia: Disallowing seek beyond media length Change 3973855 by Max.Preussner MediaFrameworkTest: Updated developer test content Change 3973858 by Max.Preussner MediaCompositing: Blocking on media player time instead of media sample time (the former may not be hit in the current frame) Change 3974988 by Max.Chen Sequencer: Fix trim left so that it also sets the start offset for audio and skeletal animation sections. #jira UE-57015 Change 3976101 by Matt.Hoffman Sequencer will now focus the scroll view on newly created items. #jira UE-56492 Change 3976203 by Max.Chen Property Editor: Add DetailsViewArgs for ColumnWidth. Defaults to 0.65f, no change in existing behavior. Change 3976205 by Max.Chen Sequencer: Set better column widths for sequencer. #jira UE-55557 Change 3976206 by Max.Chen Sequencer: Added menu category for import/export Change 3976265 by Matt.Hoffman Tracks within Object Binding Nodes will now sort using the old behavior so that components are added above other track types. #jira UE-56473 Change 3976901 by Max.Chen Sequencer: Add event names to event track section #jira UESEQ-353 Change 3977878 by Max.Preussner Media: Moved media framework ticking stats into Media module Change 3977982 by Max.Chen Sequencer: Add Edit->Reset section length to duration of source (ie. audio, skeletal animation, shot length) Added MovieSceneSection::GetDefaultDuration and MovieScene::HasDefaultDuration #jira UESEQ-392 Change 3977994 by Max.Preussner Media: Fetching and rendering media samples before viewports are rendered (to ensure frame sync for in-level media playback) #jira UE-53975 Change 3978188 by Matt.Hoffman Easing Curves are now clipped by the sequence's PlayRange when testing against an infinite section. This causes blended sequences to finish their blend when the section starts/ends instead of always using 25% of the total section length to determine default blend range. #jira UE-56362 Change 3978676 by Max.Preussner MediaCompositing: Fixed first frame of rendered out media track missing #jira UE-53975 Change 3978684 by Max.Preussner MediaCompositing: Enabled media track frame sync feature #jira UE-53975 Change 3980026 by Matt.Hoffman Keys can be selected on folded out sections (such as an audio track expanded to show volume and pitch) again. #jira UE-57169 Change 3981614 by Max.Preussner MediaUtils: Added missing subtitle sample queue flush Change 3982311 by Max.Preussner MediaCompositing: Added safeguard for zero length media sources Change 3982389 by andrew.porter QAGame: Adding media track test content into FrameAccuracySubscene Change 3983661 by Max.Chen Sequencer: Add level name to spawn a spawnable into. Add sublevel menu option to set the level #jira UESEQ-390 Change 3983712 by Andrew.Rodham Sequencer: Purge legacy blueprint spawnables from LevelSequence packages #tests Ran a preflight for cooking fortnite, ocean and Orion. Only orion shows up this edge case, and will require a re-save of the EndCines level #jira UE-39173 Change 3983787 by Max.Preussner MediaCompositing: Moved compile time switch for block-on-fetch into media player facade Change 3983812 by Andrew.Rodham Sequencer: Exposed default level sequence instance data to blueprints Change 3984373 by Max.Preussner Media: Added API for quering whether player plug-in supports block on fetch Block on fetch allows Sequencer and other systems to block the game thread until a desired video frame has been decoded. Change 3984670 by JohnHenry.Carawon Movie Rendering Test Content progress. Saving the state of the content. There is a bug where things got replaced with particle emitters and I think it was because I tried to copy paste an animation track into a separate skeletal mesh track. Change 3985097 by Max.Chen Sequencer: Rename Reset to AutoSize Change GetAutoSizeDuration to return TOptional<FFrameTime> #jira UESEQ-392 Change 3986043 by Max.Chen Sequencer: Fix crash when attach/path duration is less than 0. #jira UE-57310 Change 3986373 by Max.Chen Sequencer: Add support for deleting tracks and channels which equates to setting the channel mask. #jira UE-52951 Change 3986375 by Max.Chen Sequencer: Add Create Pose Asset to skeletal animation section. This allows animators to blend animations in sequencer and create new pose assets from them. #jira UESEQ-408 Change 3986796 by Andrew.Rodham Sequencer: Fixed stale object references remaining in ULevelSequence::BindingReferences when using convert to spawnable/possessable - We used to convert objects by creating a new binding, then re-assigning its GUID, which meant we didn't have to do any further object fixup, but the code to achieve this was confusing and led to a vulnerability where object references would not be cleaned up correctly due to the newly created possessable essentially being a temporary object that's immediately thrown away. - To address this, there is now a function for porting all the contents of one object binding to another, and handles the correct fixup required for parent/child object bindings for both spawnables and possessables. - Also added codepath to remove any stale object references from the level sequence reference map on PostLoad (this piggy-backs off the PurgeLegacyBlueprints object version which is close close enough to this change to be identical) #tests Verified that existing sequences with stale references get cleaned up on load. Verified that repreatedly converting from spawnable<->possessable cleans up references correctly. Change 3987807 by JohnHenry.Carawon Updates to the MovieRendering Test Content. - Fixed the spawnable actors that were overwritten - Shortend the Lighting example and combined the Intensity and Color tracks - Organized the Sequence and WorldOutliner to group the examples. Change 3988151 by Max.Chen Cine Camera: Enable keying the "Enable Look at Tracking" toggle. Change 3988880 by Max.Chen Sequencer: Support enter to add asset for all sequencer track editors that have asset pickers. #jira UE-57367 Change 3988953 by Max.Chen Sequencer: Make the track color picker focusable so that it will close when you click away or lose focus. #jira UE-57210 Change 3988962 by Max.Chen MovieSceneCapture: Fix EDL export so that it takes into account movie scene frame resolution and desired frame rate. #jira UE-57365 Change 3988964 by Max.Chen Movie Scene Capture: Clarified tooltip for bRelativeFrameNumbers. If you specify custom start/end frames for the recording, they will be relative to the playback range. #jira UE-57308 Change 3989442 by Max.Chen Fix CIS Change 3991548 by Matt.Hoffman Dragging the time slider no longer causes the time slider to ignore snap-to-interval with "Snap to Keys While Scrubbing" when no keys are in range. #jira UE-57417 Change 3991598 by Matt.Hoffman Snap to Key while scrubbing now mirrors the behavior of "jump to next key". When there are no tracks selected it snaps to all keys and when there are tracks selected it snaps to only keys from that track. This also resolves an issue where deleting an object did not remove it from the Sequencer's selection. Undoing a delete already doesn't seem to restore your selection, so removing it from your selection shouldn't change that behavior. #jira UE-57417 Change 3991603 by Max.Chen Sequencer: Disable EditAnywhere for some section properties #jira UE-53530 Change 3992240 by Max.Preussner MediaAssets: Implemented dynamic audio sample rate adjustment based on audio/media clock drift #jira FORT-70638 Change 3992911 by Andrew.Rodham Sequencer: Fixed saving spawnable state using the wrong spawned object - We now track the object binding ID so that we can apply the spawned object to the correct spawnable when the asset is saved #jira UE-57353 Change 3992914 by Max.Chen Movie Scene Capture: Fix compression quality not being set. The compression interface wasn't being found through query interface, so no compression was being set. Reworked finding it through the output pins. Tested running various compression values. #jira-UE-55488 Change 3992919 by Max.Chen Sequencer: Convert to possessable now uses object template instead of copying properties (ie. see LevelSequenceActorSpawner). This fixes MIDs getting lost when converting to spawnable and back to possessable. #jira UE-52400 Change 3993184 by Max.Chen Sequencer: Don't show +Transform/+Path/+Attach track if the actor has the "Mobility" property hidden. Set the Landscape, LandscapeProxy and InstancedFoliage "Mobility" property to be hidden since it is static is not supposed to be dynamically movable. #jira UE-56347 Change 3993238 by Max.Chen Sequencer: Test for hidden mobility in creating keys as well. Refactored to HasHiddenMobility() #jira UE-56347 Change 3993978 by Max.Chen Cine Camera: Enable keying the "Enable Look at Tracking" toggle. #jira UE-57489 Change 3994039 by Max.Chen Landscape: Add Mobility to hidecategories on landscape component #jira UE-56347 Change 3994626 by JohnHenry.Carawon Updated Movie Rendering Test Content. - Fixed the overridden spawnables to their proper object types. Change 3994653 by Christina.TempelaarL Sequencer: Added Final Cut Pro 7 XML Import functionality, improved Export functionality #jira UESEQ-358 Change 3995609 by Max.Chen UMG: Add support for 2d transform mask (translation, rotation, scale, shear) #jira UE-52951 Change 3995778 by JohnHenry.Carawon Movie Rendering Test Content Updates - Adjusted Lights example - Adjusted Camera example - Added Marcie sublevel back in Change 3995942 by JohnHenry.Carawon QAGame: Moving Movie Rendering test content from Developer folder to Sequencer folder Also adjusted level visibility, lights and camera example. Change 3995993 by Christina.TempelaarL Sequencer: FCPXML Export updates - only export sections if in playback range and media exists, warn if media does not exist. Other updates - removed unused methods and variables, fixed message context naming to be more accurate #jira UESEQ-358 Change 3996595 by andrew.porter QAGame: Updating Marcie content in TrackEvaluation level to use Image Plate Change 3996614 by andrew.porter QAGame: Adding color test sequence to the sublevel Change 3996643 by Max.Chen Sequencer: Fix fbx animation export - rotation and scale channels were flipped. #jira UE-57509 #jira UE-57512 #jira UE-57514 Change 3996652 by Max.Preussner Messaging: Fixed delayed messaging using incorrect current time after message router sleep Based on https://github.com/EpicGames/UnrealEngine/pull/4601 Change 3996801 by Max.Chen Sequencer: Fix folder active state for non key area sections. Look at track node sections as well as key areas. #jira UE-57550 Change 3997098 by Matt.Hoffman Cleaned up some remaining ToDo's in STimeRange. Change 3998339 by Max.Preussner Sockets: Added documentation for socket receive functions Change 3998359 by Max.Preussner MediaUtils: Started to implement media recorder helper class Currently only supports BGRA frames in CPU memory. Supporting other formats and buffer types will require conversions on render-thread. I recommend refactoring out the existing conversion code in FMediaTextureResource into a reusable helper class in the MediaUtils module. This should be a good starting point though. Change 3998417 by Matt.Hoffman Keys and Sections can now be moved at the same time inside of Sequencer. Keys can now snap to Sections (and vice versa) instead of just to other Keys. Sections can now be duplicated like keys can. #jira UE-56995 Change 3998427 by JohnHenry.Carawon QAGame: Updating test content for the Movie Rendering feature. - Added an auto activate particle to the beginning of the sequence (it's not part of the sequence at all) - Added an event receiver blueprint to the Events example - Added a particle emitter to both sublevels - Added a camera cut to the end that switches to a separate camera - The camera zoom in, focus and Look At sections are all separate (not overlapping in the sequence) - Added a second actor for the camera Look At - Added a Visibility section for the Actor Hidden In Game track that has possessable and spawnable cube and light Change 3998537 by Max.Chen Sequence Recorder: Restore immersive mode when stopping the sequence even if not in PIE. #jira UE-56407 Change 3999809 by Matt.Hoffman Removed the "Go To" box from Sequencer and instead placed the current time as an always visible control. The previous shortcut (Ctrl + G) now focuses the new widget directly. #jira UESEQ-376 Change 4000543 by Christina.TempelaarL Sequencer: Moving editor-only code from runtime module MovieSceneCapture to editor module MovieSceneTools. Moved EDL and FCP XML exporters as well as Automated Level Scene Capture. #jira UESEQ-358 Change 4000706 by Matt.Hoffman Entering multiple time strings without a number no longer crashes Sequencer. #jira UE-57672 Change 4001051 by andrew.porter MediaFrameworkTest: Fixing up some image sources pointing to the wrong location Change 4001191 by andrew.porter QAGame: Adding some quick EDL/XML test content to dev folder Change 4001243 by Max.Chen Sequencer: Fix import EDL out of range. #jira UE-57665 Change 4001856 by Matt.Hoffman Selecting keys and sections at the same time now also works with animation and audio sections. #jira UE-57716 Change 4002021 by Max.Chen Sequence Recorder: Fix sequence name incrementing. If external recording sets the sequence name, use it. Otherwise, use the recording name from the recording group or the recording settings. #jira UE-57712 Change 4002618 by Max.Chen Viewport: Update the look at location when updating to a locked actor. This fixes an issue so that popping the view out of a locked actor and manipulating the view will not jump to the previous look at location. #jira UE-57725 Change 4002979 by Matt.Hoffman Fixes several edge cases with the end time range that was causing confusion about what the last frame of the sequence was. Dragging the End Frame slider will no longer be off by one tick and jumping to the end via the UI controls now properly respects snapping and stays inside the play range instead of falling outside of it. Overall behavior does not change though and End Frame should be considered an exclusive frame so that frames 0-150 results in a 150 frame long animation (which is frames 0-149). #jira UE-56367 Change 4003185 by Matt.Hoffman Fixed a regression that prevented a section from being dragged upwards past row 0 which normally resulted in all other rows moving down. #jira UE-57717 Change 4003193 by JohnHenry.Carawon QAGame: Updates to test content - Shortened frames between the examples from 95 to 30 - Separated camera setting tracks - Lighting example now switches directly from constant red - green - blue Change 4003369 by Max.Chen Sequence Recorder: Refresh next sequence regardless of internally stored sequence name. #jira UE-55757 Change 4003586 by JohnHenry.Carawon QAGame: Test Content Updates - Level Visibility track now ends to that the levels are not visible when we move to the next example - Shortened camera section, removed Z tranform so that we just move left to right and shortened the overall length Change 4004414 by Max.Chen Movie Scene Capture: Fix regression where rendering with shot handles would only render the first shot. 3972166 addressed an issue where an extra frame would be rendered by finalizing right when the end frame was reached. This was hit on the first shot end frame, so instead, do this only for when the last shot is being rendered. #jira UE-57314 Change 4004765 by Christina.TempelaarL Sequencer: Fixed bugs in FCP XML import/export. - Export: fixed sequence default resolution. - Export: fixed XML files with no shots. - Export: all sections clipped to playback range. - Export: fixed incorrect section start/end times due to precision issues. - Import: fixed incorrectly adding cinematic tracks. - Import: fixed bugs creating new sections. #jira UE-57660 #jira UE-57662 #jira UE-57655 #jira UE-57761 Change 4005119 by Max.Chen Sequencer: Export/import at play rate Change 4005195 by Max.Chen UMG: Finish UMG evaluation on stop. Added object version so that existing UMG assets do not change. #tests - Newly created UMG animation with sections set to restore state now return to their original state. Existing UMG animations with sections set to restore state do not return to their original state. #jira UE-52285 Change 4005377 by Michael.Karambelas QAGame: Moving TM-SequenceRecorder and related content out of my developer folder and into /Content/Sequencer/SequencerRecorder/* Change 4005417 by Michael.Karambelas QAGame: Fixed a BP compiler in the Level Blueprint of TM-SequencerRecorder. Change 4005634 by Michael.Karambelas QAGame: Fix up missing content and broken level sequence in TM-SequenceRecorder after move Change 4006324 by Max.Chen Sequencer: Reset if the focused movie scene is null. This fixes a crash if the user is focused in on a shot and undo takes the user past the point of where the shot was created. #jira UE-57752 #jira UE-47661 Change 4007006 by Max.Chen Sequencer: Fix FindAvailableRowIndex so that it returns the max row index (and not +1) since it doesn't find any conflicting rows. #jira UE-57717 Change 4007907 by Max.Chen Sequencer: Fix crash if there's no animation Change 4007948 by andrew.porter QAGame: added test content to dev folder for Record World Space Change 4008636 by Max.Chen Sequencer: Fix import fbx not setting values properly and creating additional cameras unncessarily. #jira UE-57864 Change 4008759 by Max.Chen Sequencer: Follow up fix for import cameras #jira UE-57864 Change 4009994 by Matt.Hoffman Dragging the left or right handles of the Time Range slider in Sequencer will now zoom your view in on the current center of the screen. This prevents the view from being translating as you tried to zoom in which caused issues at high zoom levels. #jira UESEQ-407 Change 4010169 by Christina.TempelaarL Sequencer: FCP XML fixes. - FCP XML export - no longer clips to playback range - FCP XML and EDL export - fixed missing last frame of some sections after exporting to Premiere. - Automated level capture, EDL export - use RoundToFrame instead of FloorToFrame for computing section start/end frames after frame rate conversion. #jira UE-57802 - partial fix, movie scene capture still needs to render full section rather than clip against playback. Change 4010287 by Mike.Zyracki Add quaternion interpolation option to UMovieScene3DTransformSection. This mimics how Matinee used to work by bascially finding the keys between a time and interpolating the angles as quat's between them. As noted in the code the algorithm needs to handle the case when the x,y,z Rotation keys all aren't at the same time which was not handled by Matinee. Also like Matinee, when in quaternion interoplation mode, we need to not display the function cuves since the interpolated and key values are now all different. (Would like to show them but that's a bigger refactor for perhaps just a one off needed by quaternions). I added a virtual function UMovieSceneSection::ShowCurveForChannel for this since it needs to be dynamic, not on construction of IKeyArea's, and could be useful for other sections. I could though move the method to just UMovieScene3DTransformSection and do a cast instead. Looked into doing a unit test for this but after talking with Andrew P we will work on doign an automated test in EngineQA since that will provide more coverage. Will also add a video the jira. #jira UESEQ-403 Change 4010713 by Mike.Zyracki Added option to key a group of transform channels instead of just the changed channel, or all of them. This is useful for quaternion interpolations where you want rotation keys to be aligned but also useful for other workflows like animating FK Pose to Pose. Change 4010715 by Andrew.Porter MediaFrameworkTest: Setting LogMediaUtils logging from VeryVerbose to Verbose to cut back on the spam Change 4013048 by Max.Chen Sequencer: Fix play/jump status. Update the player status for all position methods (Scrub, Jump, Play). Jump means Stopped. Correctly use PlayTo or JumpTo based on position method. In PlayInternal, JumpTo with the Stopped state (rather than playing state). #jira UE-57844 Change 4013479 by andrew.porter QAGame: Added content in TM-SequenceRecorder to test recording a property on a Cine Camera Component; Press 3 to trigger manual focus distance to increment on a timer Change 4014323 by Max.Chen Sequencer: Fix SetPlaybackPosition so that it jumps or plays based on playback status. #jira UE-57844 Change 4015888 by Max.Chen Sequencer: Fix crash on paste. UMovieSceneSections were gathered from the track node's track. For sub track mode, we want to gather only those sections on that track node row. #jira UE-57951 Change 4015943 by Max.Chen Sequencer: Fix moving shots up when the mouse pos goes outside of the virtual track area. #jira UE-57717 Change 4016293 by Max.Chen Sequencer: Fix relative frame playback end frame calculation so that custom start/end frames remain in the space of the sequence and are not relative. #jira UE-57308 Change 4017075 by Andrew.Rodham Sequencer: Corrected initial evaluation range used when calling UMovieSceneSequencPlayer::Play() Change 4017270 by Christina.TempelaarL Sequencer: FCPXML importer and movie scene capture - Use CeilToFrame when converting section start/end frame times to frame numbers in FCPXML and movie scene capture. - Added support for clip metadata in FCPXML. - Got rid of redundant TokenizedError message class, no longer needed now that FCPXML is in editor directory. - Added log messages currently commented out due to exception, still testing. #UESEQ-358 Change 4018370 by Christina.TempelaarL Sequencer: fixed FCPXML log messages regarding sections with start/end not divisible by display rate. #UESEQ-358 Change 4018378 by Christina.TempelaarL Sequencer: fixed error in previous changelist. #UESEQ-358 Change 4019457 by Max.Chen Sequencer: Show event names only when the event track is selected #jira UE-57897 Change 4022806 by Max.Chen Sequencer: Fix crash on movie scene capture dialog shutdown if movie capture wasn't even started. #jira UE-58106 Change 4022894 by Max.Chen Sequence Recorder: Wrap OpenEditorForAssets after sequence recording within GIsEditor #jira UE-58084 Change 4024487 by Max.Chen Sequencer: Add tooltip for quat interpolation #jira UE-58113 Change 4024562 by Max.Chen Sequencer: Change path/attach track sequence binding id to currently focused sequence id so that bindings can be created in subsequences Change 4027414 by JohnHenry.Carawon QAGame: Checking in content that shows a bug with using particles systems and Delay Before Shot Warm Up. Change 4028990 by Max.Chen Sequencer: Fix evaluate sub sequences in isolation. This check was added with the compile on the fly logic. Not sure why it was necessary but it seems like the sub sequence data needs to be updated in order to evaluate sub sequences in isolation. #jira UE-58184 Change 4029004 by Max.Chen Sequencer: Ensure that old binding references are removed when re-assigning actors in sequencer #jira UE-57898 Change 4030997 by JohnHenry.Carawon QAGame: Fixing name of the master sequence Change 4031785 by Michael.Karambelas QAGame: Added an instance of ThirdPerson Run to TM-SequenceRecorder for Record to Possessable test. Change 4035548 by Andrew.Rodham Sequencer: Changed FMovieSceneEvaluationTemplate::TemplateSignature to be a serial number to address non-deterministic cooking issues - This commit is related to the repro steps found in 3914599 and 3934307, both of which have been verified with this new change. - Copy of 4031684 from //Fortnite/Main/... #jira FORT-84852 Change 4036312 by Max.Chen Sequencer: Fix zoom view range so that it uses the passed in InZoomDelta Change 4036318 by Max.Chen Sequencer: Auto size now returns a range and defaults to the channel proxy range so that keyed regions can also be autosized. Change 4036322 by Max.Chen Forgot missing change Change 4036360 by Max.Chen Sequencer: Fix play rate calculation when skeletal animation section play rate changes. Change 4037163 by Mike.Zyracki Weighted Tangent Implementation Tricky thing is that you need to solve a cubic in order to get the bezier weights for the time part of the curve. See https://www.gamedev.net/forums/topic/474094-help-function-curves-for-animation-interpolation/ Maya provides an implementation in it's dev kit but I didn't use it since it was horribly slow and uses an iterative solution to solve the cubic needed. Instead I use an old algorithm (Cardano's method), to solve the cubic which should be much faster. Though relative simple to code from principles I just went ahead and used a version from Graphics Gems 1. I put this cubic solver directly in MovieSceneFloatChannel.cpp, but will need to move it when we support Rich Curve, maybe to FMath:: (which would probalby require some other functions for solving quartics, etc.. for completeness.). Also note we resolve this on every evaluation but dont' need to if the interval the time is evaluating hasn't had any change in values or tangents. So again when we support FRichCurve we can create a Weighted Evaluating class that can hold the cache. Also with the tangent drags I got rid of the Cardinal position that was used to calculate non-weight tangents from the key point and just quickly getting a direction. With weighted tangents we need to use the delta instead (otherwise when moving multiple they would all get the same weight based upon distance to the cardinal point. ) For mixed tangents types what I'm defaulting to non weighted if the interval doesn't match. May need to do weighted instead, not sure. What's left is just FBX import, for tomorrow. #jira UESEQ-76 Change 4037435 by Mike.Zyracki Fix fo build warnings from weighted tangent submission. #trivial Change 4038091 by Michael.Karambelas QAGame: Updated a Sequence Recorder group in TM-SequenceRecorder that had an actor missing the animation. Change 4038374 by Andrew.Rodham Sequencer: Refined scrubber styling for level sequences and actor sequences - Scrubber now shows a block the width of a dsplay rate frame, plus a line for the actual evaluated time. UMG reverts back to the previous styling (no block) - Keys that are outside of the playback range are now drawn with a subdued effect - Tick labels are no longer drawn when directly underneath the scrubber Change 4038490 by Max.Chen Sequencer: Expose tangent weight values in details panel. Change 4038620 by Andrew.Rodham Sequencer: Advanced time panel polish #jira UESEQ-426 Change 4038677 by Max.Chen Movie Scene Capture: Redirector for MovieSceneTools.AutomatedLevelSequenceCapture #jira UE-58248 Change 4039739 by Max.Chen Sequencer: Media track should only be supported by Level Sequence Change 4040024 by JohnHenry.Carawon QAGame: Fix EventReciever and OverrideBinding example The level sequence was set to none so the fix was to set it back to TrackEvaluation_Master. Change 4040610 by Andrew.Rodham Curve Editor: Moved weighted tangent switchers to a single toggle command (CTRL+W) and added an icon #jira 58383 Change 4040882 by Mike.Zyracki Keep broken when turning on weighted #jira UE-58435 Change 4041089 by andrew.porter QAGame: Sequence for Long Tangents bug Change 4041498 by Mike.Zyracki Turn off weighted when going auto to prevent large tangents. Do it both in UI and when doing AutoSetTangents() to really make sure it doesn't happen. #jira UE-58452 Change 4041752 by andrew.porter MediaFrameworkTest: Adding some better logging for setting rates when not supported. Also ignoring commiting URL when there is no text Change 4041896 by Matt.Hoffman The transform dialog box now transforms selected keys and sections, instead of just keys. #jira UE-58265 [CL 4044405 by Max Chen in Main branch]
2018-05-02 10:10:00 -04:00
DrawEffects,
FLinearColor::White.CopyWithNewOpacity(0.5f)
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3946692) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3801826 by Max.Chen PR #4304: Level Sequence crash fix - Guarded against dereferencing null componen. (Contributed by DSDambuster) Change 3801828 by Max.Chen PR #4302: Movie Scene Visibility Template unitialised variable, causing random . (Contributed by DSDambuster) Change 3801837 by Max.Chen Sequencer: Delay spawning/construction for convert to possessable. This fixes a bug where property values would be lost when converting back and forth from possessable to spawnable. #jira UE-52400 Change 3801841 by Max.Chen Sequencer: Make spacer nodes not selectable. PR #4194: Improvements to Sequencer (Contributed by projectgheist) #jira UE-53117 #jira UE-52139 Change 3804183 by Max.Preussner MediaAssets: Added missing lock in media sound component Change 3805414 by Max.Preussner MediaAssets: Setting valid GUID when initializing media texture resource Change 3819578 by Max.Chen PR #4370: When enabling the "MovieCapture", do not turn off the Stereo-3D display. (Contributed by yehaike) #jira UE-53647 Change 3823414 by Max.Chen Curve Editor: Lock down the first and last keys in the redundant keys removal range so that they're unaffected. #jira UE-53591 Change 3826406 by Max.Chen Sequencer: Move OnStartedPlaying() to within first update in UpdateTimeCursorPosition(). This fixes an issue where setting the hud/player visibility was getting stomped on later. #jira UE-52772 Change 3827044 by Max.Preussner MediaAssets: Added sprite visualization to media sound component #jira UE-53594 Change 3827988 by Max.Preussner MediaPlayerAssets: Fixed Media Texture is not linked to Media Player when created together #jira UE-53532 Change 3828506 by Max.Preussner MediaPlayerEditor: Added attenuation visualizer for media sound components #jira UE-53594 Change 3832590 by andrew.porter EngineTest: Added a keep state check in Property Animation sequencer test Change 3833053 by andrew.porter EngineTest: Adding Hierarchical Bias test Change 3835683 by andrew.porter EngineTest: Adding UMG Animation screenshot test Change 3836076 by Max.Chen Sequencer: Fix audio volume and pitch multiplier deprecation. Change 3836230 by andrew.porter EngineTest: Adding Sequence Bone Position automation test Change 3836347 by Max.Chen Sequencer: Fixes to shot name parsing. When a shot doesn't contain a shot number, assume, [ShotName]_[TakeNumber]. When duplicating a shot, put the new shot in the same path of the original shot, so that the take numbers will increment properly. #jira UE-51868 Change 3836552 by Max.Chen Sequencer: Sub section now has a takes menu Change 3838094 by Max.Chen UMG: Fix template finish not getting called on stop. This fixes a bug where sections aren't restored when finished. #jira UE-52285 Change 3838708 by Max.Chen Sequencer: Add notification when the blend type is changed. #jira UE-54046 Change 3840295 by Max.Chen Sequencer: Fix copy/paste crash for lights #jira UE-54084 Change 3840957 by Mike.Zyracki Added Show Only Keyable and Show Only Animated to the filter list in the property editor. Added IsPropertyAnimated to IDetailKeyframe Interface which already had support for showing properties which are keyable (which is used for the key icon next to the properties.). Could have created another interface but then would have had to mimic the sequencer binding, releasing also, so this seemed best way. One issue still left is that custom built detail items currently don't store associated properties(usually) and so certain properties, in particulalry transforms, won't show up as keyable or animated. Note this also shows up with the keyable icon not showing up next to transform tracks, and other filters like Show Only Modified not working with transforms/customs. Not sure best way to tackle this. #jira UESEQ-328 Change 3841756 by Max.Chen Sequencer: Fix unbound possessable components when pasting spawnables. #jira UE-54104 Change 3843950 by andrew.porter EngineTest: Renaming LevelStreaming tests/content to LevelVisibility Change 3844082 by Mike.Zyracki Missing file for animated filter in property editor. When finding if a track is animated we need to find it but we can't easily induce the MovieTrack class for any particular property. So we don't set a class for it and just search by it's ID and name. #jira UESEQ-328 Change 3846902 by Max.Preussner ImgMedia: Fixed image media player never finished initialization if loading failed #jira UE-54247 Change 3849820 by Mike.Zyracki Reassigning deleted widgets didn't work since the menu extender mechanism needs a valid UObject in order to perform an operation on it. So to fix we replaced GetObjectBindingContextMenuExtender in WidgetBlueprint with new delegate mechanism (OnBuildCustomContextMenuForGuid) that supports FGuid in addition to UObjects which is needed to handle re-binding deleted widgets. Note that the default sequencer hacks this for replacing deleted actors in SequencerObjectBindingNode to check to see if a LevelSequence is active. We could move to this mechanism there also. #jira UE-53163 Change 3852211 by Max.Chen UMG: Indicate name of the property that is not bound. #jira UE-54350 Change 3854120 by Max.Chen Sequencer: Fix sibling folders being allowed to have the same folder name. #jira UE-54363 Change 3854627 by Max.Chen Sequencer: Step to next/previous key should work for all tracks if there aren't any selected. #jira UESEQ-391 Change 3855825 by andrew.porter EngineTest: Adding animation blending automation test Change 3855950 by andrew.porter EngineTest: Adding correct expected valuues to animation blending test Change 3856237 by Matt.Hoffman UESEQ-336 - Sequencer Track Reordering Adds the ability to re-order Master Tracks, Folders and Object Bindings within sequencer hierarchies (including UMG). Adds the ability to do a one-off sorting of the content under the old sorting behavior if the user wants to reset their layout to how it was under legacy behavior. Modifies SequencerTrackNodes, SequencerFolderNodes and SequencerObjectBindingNodes to handle CanDrop/OnDrop for above, below and ontop of. Fixes a Slate Issue that forcibly expanded a TreeviewRow if an item handled OnDrop. Slate will now only forcibly expand the row if the item says the drop happened ontop of the item, and not above or below it like it previously did. Change 3856503 by andrew.porter EngineTest: Adding automation test for using animation blueprint with blend multi node in sequencer Change 3857875 by Max.Chen Sequencer: Assign the sequence id after the template is compiled. #jira UE-54462 Change 3858344 by Max.Chen Sequencer: Prevent Goto and Transform boxes from overlapping by allowing them to be visible at the same time in an autosized horizontal box. Also, added close button to the goto box. PR #4425: Prevent Goto and Transform boxes from overlapping in Sequencer ... (Contributed by projectgheist) #jira UE-54210 Change 3860566 by andrew.porter MediaFrameworkTest: Set the option to index 0 for the audio and video track list by default Change 3860654 by andrew.porter EngineTest: Enabling Camera Cut + FOV test Change 3860981 by andrew.porter EngineTest: Updating skeletal mesh tests with a delay after set playback position Change 3861256 by Max.Chen Sequencer: Add all bindings if none selected. #jira-54440 Change 3862154 by Andrew.Rodham Added TimeManagement module Change 3862424 by andrew.porter EngineTest: Turned on the test Bone Positions with Blend Multi Node Change 3862573 by andrew.porter EngineTest: Adding test to compare bone positions in a sequence that is blending an animation that is using an AnimBP Change 3865117 by Max.Chen Sequencer: Stop auto scroll on mouse release of movement. #jira UE-31212 Change 3865303 by Max.Chen Sequencer: Add drag and drop transactions #jira UE-54662 Change 3865304 by Max.Chen Sequencer: Fix crash when an actor factory is not found. Change 3865361 by Max.Chen Sequencer: Don't change the camera/shot lock button when popping out of a sequence. #jira UE-54665 Change 3865412 by Max.Chen Sequencer: Determine whether a transform track is for a camera by using the spawned object or template #jira UE-54666 Change 3865685 by Max.Chen Sequencer: Clear autoscrub offset when stopping autoscroll #jira UE-31212 Change 3865886 by Max.Chen Sequence Recorder: Log an error if the number of frames changes while recording. This can happen if the skeleton changes while recording. #jira UE-48715 Change 3866925 by Andrew.Porter MediaFrameworkTest: Changing the current PNG test video image sequence to 1024 x 576 Change 3867705 by andrew.porter QAGame: Adding Audio Sort Sequence to dev folder Change 3867890 by andrew.porter QAGame: Adding a sequence for testing a sorting crash to my dev folder Change 3872628 by Max.Chen Movie Scene Capture: Split delay before warmup into split delay before shot warmup so that there's separate controls for when the movie scene capture warmups up vs. shot boundaries. Change 3873131 by Matt.Hoffman UE-54732 - Crash reordering a folder with a track. This was caused by folders being the only type of track to check if someone was putting a parent track into a child track. Object Binding tracks and Tracks now check as well so that you can't use the above/below drop targets to add parents as children. This also fixed a typo in the localization keys. #jira UE-54732 Change 3873301 by Mike.Zyracki Added ability to support continous euler angle changes when changing rotations, in particularly with the rotation gizmo's. To do this we effectively added a form an of 'euler filter'(https://en.wikipedia.org/wiki/Euler_filter) to find the closest euler angle to the current euler angle. Three functions were added to FRotator to make this possible, one to get the euler angle that's has the same rotation as it, one to get the difference between two euler angles via Manhattan distance and a third using the previous two to choose a Rotator value that's closest to it. We then use these functions before calling UComponent::SetRelativeRotation to make sure we use the correct Euler after the Quat conversion. We also no longer limit(bound) the euler angles to -180,180, which is obviously necessary to avoid flips. I also changed how we caluclate yaw and roll when pitch is -90 or 90 to make it the standard approach of zeroing out roll and just setting yaw. Main reasons are the previous implementation had precision issues so things like 180, 90, -180 would show up due to numbers being nearly zero but negative,(this would break any smooth interpolations), and this facilitates having a 'gimbal' rotation mode (like Maya, Blender etc..) if we ever want that also. If needed we could keep the previous implementation but would need to add some FMath::IsNearlyZero checks, with less performance. Note we only do this special filtering when applying delta's to actors or components in the editors, which then call UComponent::SetRelativeRotationExact, which is a new function to foces the RelativeRotation to be equal to the new rotation. This allows us to store un-nomalized Rotators at the cost that the RotationCache may be broken. We didn't change any of the other UComponent functions that set rotations (via Quats or Transforms) so they will still be bounded and unwound. In SetInternalWorldLocationAndRotation we only set the rotation if the rotation has changed, which fixes the rotation getting changed and re-normalized if just translate happens. In TransformTrackEditor, we correclty use the bUndwing flag and in MovieScene3DTransformSection there was an un-needed winding check there, it will be unwound earlier if needed, which happens if Sequence Recording is happening. Max we should talk about what to do about this . Note the euler angle drag via the widget is still bound to 0-360. I think we should just unbound that now since the rotations value are now unbound. This review now includes fixes suggested by Zak. #jira UE-UE-22228 Change 3873483 by Matt.Hoffman Sequencer Tracks can now be inserted above the spacer at the bottom of the tree. #jira UE-54706 Change 3873899 by Max.Chen Sequencer: Add section selection throbbing Change 3873908 by Max.Chen Movie Scene Capture: Added logging per frame Change 3873924 by Matt.Hoffman Adds the ability to store Sequence Recorder setups into profiles that stay with the map and can be re-loaded later. Profiles store the Actor Recordings so the settings for each actor should carry with them. #jira UESEQ-339 Change 3874726 by Matt.Hoffman Disable drag-and-drop targets on spacers that come between rows in Sequencer. This prevents extra drag/drop targets showing up between each row. #jira UE-54706 Change 3874862 by Matt.Hoffman Audio Track no longer gets reordered when adding sub-audio tracks, as sub-tracks are no longer counted towards the sorting order index when normalizing indexes. #jira UE-54727 Change 3875905 by Matt.Hoffman Disable Fade Track UI if a fade track already exists in the sequence. #jira UESEQ-393 Change 3876163 by Max.Chen Sequencer: Swap the camera object to the camera component's owner if it's not the same. #jira UE-54874 Change 3876971 by Andrew.Porter EngineTest: Moved Media Player Seek test to new folder. Also enabled the test with new ground truth image. Change 3877040 by Max.Chen Cine Camera: Split camera properties to two groups, "Camera Options" and "Camera Settings". The cine camera now hides properties in the "Camera Settings" group so that properties like bConstrainAspectRatio (in the "Camera Options" group) can be visible. #jira UE-54192 Change 3877763 by Max.Chen Curve Editor: Fix curve changed on end drag so that only curves that had keys/tangents that were changed receive notification, otherwise all loaded curves were getting notified that they were changed. #jira UE-54951 Change 3878234 by Matt.Hoffman Disable "Drop Below" targets for Sequencer Tree nodes to prevent a confusing UX issue where dropping underneath a Object Binding Node puts it after the object binding node but the UI looks like it's inserting it inside the Object Binding node. #jira UE-54743 Change 3879359 by Mike.Zyracki If a track is inactive we dim it a bit which seems to be the UE4 way to show inactive or disabled state. We changed the active logic so that all subtracks need to be inactive for the track to also be inactive(instead of all active for active). This conforms to how the active state actually works, e.g if you have two sections and only one is active the track is still active above it. #jira UESEQ-388 Change 3879462 by Max.Chen Sequencer: Allow dragging onto a particular row which would move out any overlapping sections to make space for the newly created section. Newly created sections are now selected and throbbed to draw attention to themselves. #jira UE-54664 Change 3879464 by Max.Chen Sequencer: Fixed overlapping ranges being inserted into the evaluation field during compilation - The issue was that track segments that had been combined with adjacent segments (due to them being identical) would potentially cause a subsequently compiled frame to overlap with a range that had already been inserted into the evaluation field. - The insertion code previously asserted that only minor overlaps were catered for (due to fp rounding errors) and assumed that a supplied range could not entirely contain any other range in the field. - The solution is to supply the insertion time along with the range to know exactly where the data should live in the field, and crop the range to the maximum allowable space between adjacent ranges. #jira UE-54922 Change 3879590 by Matt.Hoffman Items that are now added to the Sequencer via the "+Track" menu will be selected after being added. Items can now be added inside of folders instead of just to the root level. #jira UE-27397 Change 3879612 by Mike.Zyracki Display Nodes with no children are always active. #jira UESEQ-388 Change 3879730 by Matt.Hoffman Sequence Recorder's actor recording groups now remove items from the group when removed via the UI. #jira UESEQ-339 Change 3880256 by Mike.Zyracki Fix issue with inactive display with folders and other track nodes. #jira UESEQ-388 Change 3883491 by Max.Chen Fix issue where tick is skipped due to last ticked pose isn't cleared after AnimInstance changes. Copy from Release-4.19 #jira UE-51323 Change 3883603 by Max.Chen Movie Scene Capture: Add option toggle disable screen percentage. By default this is on (no change in current behavior). #jira UE-51898 Change 3885074 by Max.Preussner MediaCompositing: Resetting media texture & freeing resource on section end; removed dead code Change 3887220 by Max.Preussner MediaCompositing: Defaulted media section duration to 1 sec (since we do not know the actual duration in most cases) Change 3887478 by Matt.Hoffman Sequences now show [Inactive] in their title bars when they're disabled. This helps communicate why a sequence isn't being evaluated. #jira UE-51469 Change 3888985 by Max.Chen Movie Scene Capture: Clamp HDR Compression Quality between 0 and 1. #jira UE-55136 Change 3893519 by Max.Chen Sequence Recorder: Clarified tooltip for bRecordNearbySpawnedActors - spawned actors will still be recorded if they match the ActorFilter. #jira UE-55238 Change 3893546 by Max.Chen Sequence Recorder: If a selected actor already has a recording, add a blank recording. #jira UE-55239 Change 3894044 by Max.Preussner MediaCompositing: Added support for seeking into a media section Change 3894310 by andrew.porter MediaFrameworkTest: Adding Img media sources for 1080 and 2160 ravent test content Change 3894426 by Max.Preussner MediaAssets: Letting media textures with AutoClear retain their clear color when player is reset Change 3895717 by Max.Chen Sequencer: Null checks to prevent crash when saving the default state of a spawnable #jira UE-55304 Change 3897388 by Max.Chen Sequencer: Don't update current time to be within the view range when stepping into a sequence. #jira UE-55322 Change 3897452 by Max.Chen Audio: Fix crash when trying to record audio without any active capture devices. Log warning if the number of input channels is not 1 or 2. #jira UE-55223 Change 3897619 by Max.Preussner MediaCompositing: Removed commented out code Change 3898072 by Max.Chen Sequencer: Override the animation asset in the player state if it doesn't match the animation asset that's being evaluated. #jira UE-55328 Change 3898272 by Max.Preussner MediaPlayerEditor: Made slate brush constants static Change 3898704 by Max.Chen Sequencer: Skip if the binding id's sequence can't be found. #jira UE-55337 Change 3899855 by Max.Preussner MediaCompositingEditor: Added cache state visualization to media track Change 3900300 by Max.Preussner MediaCompositingEditor: Added loop indicators to media sections Change 3900694 by Max.Preussner ImfMedia: Looping cache only when player is looping Change 3900892 by Max.Preussner Stats: Added stats category for media framework Change 3900954 by Max.Preussner MediaCompositing: Don't evaluate at the end of media section Change 3901348 by Max.Preussner Core: Replaced TLruCache autos for better readability Change 3901655 by Max.Preussner ImgMedia: Added more perf stats to EXR reader Change 3901972 by Max.Preussner MediaAssets: Added getter for media player in media sound components Change 3902233 by Max.Preussner MediaAssets: Enabling media textures to receive samples right after player is assigned Change 3902238 by Max.Preussner MediaCompositing: Working around init/shutdown idiosyncracies in sequencer Change 3904045 by Max.Chen Sequencer: Fix copy/paste crash. Only process UMovieSceneCopyableBinding and objects that can be spawned by the movie scene spawn register. #jira UE-55314 Change 3905605 by Max.Chen Sequencer: Restrict spawnables from being created if they have a ClassWithin that UMovieScene is not a child of. #jira UE-55429 Change 3906550 by Max.Chen Sequencer: Add media track icon #jira UE-55480 Change 3907101 by Max.Chen Sequence Recorder: Fix bugs related to not recording a level sequence. There were certain assumptions that creating a level sequence meant that sequence recording was in progress. This is not always the case - the recorders can record animation assets and not create a level sequence. Changed the notion of IsRecording() to having at least one actor recording that is recording. Countdown timer, recording displays, etc should function if IsRecording() and not based on whether a level sequence is created. #jira UE-55485 Change 3907247 by Max.Chen Sequence Recorder: Fix crash not removing PrepareToCleanseEditorObject delegate. Repros when opening sequence recorder, closing it, and then opening or creating a level. Change 3910343 by Max.Preussner Core: Added async helper for executing functions on a given thread pool Change 3910346 by Max.Preussner ImgMedia: Added separate thread pools for loading/decoding and deleting image frames Change 3910829 by Max.Preussner Profiler: Increased visible range of profiler graph Change 3910841 by Max.Preussner MediaCompositing: Displaying asset name instead of full media source path in media section Change 3910870 by Max.Preussner ImgMedia: Using deallocation thread pool only in debug builds Change 3919642 by Max.Chen Sequence Recorder: Clarify active tooltip #jira UE-55661 Change 3919660 by Max.Chen Sequencer: Sequence template source signatures are now also compared to catch the case where a sub-sequence asset has been saved but not modified - The following sequence of events exposes this issue: - Create a master sequence with a single shot that spawns a cube - Add this sequence to a level and set it to auto-play - Save everything and restart - Resave just the inner shot asset without opening it - PIE - The inner shot never spawns its cube because its template was wiped on save, but its signature never changed. Since the master sequence previously didn't check the template source signature, it ends up trying to evaluate an empty template. #jira UE-55626 #jira UE-55490 Change 3921825 by Max.Chen Sequencer: "Run Construction Script in Sequencer" is off by default for blueprints but on for Sequencer. This allows the content author to switch it on for specific blueprints and sequencer will be default, run those with construction scripts enabled. Change 3922232 by Max.Chen Sequence Recorder: Reset countdelay on stop. #jira UE-55755 Change 3922306 by Max.Chen Sequence Recorder: Don't automatically mark transforms to be recorded by sequence recorder. Instead, log a warning if the user toggled it off to warn that the resulting animation might not match gameplay. #jira UE-55758 Change 3922912 by Max.Chen Sequence Recorder: Fix refresh next sequence name #jira UE-55757 Change 3927654 by Max.Chen Movie Scene Capture: Added format mapping for the name of the current camera #jira UE-55769 PR #4537 Change 3927658 by Max.Chen Sequencer: Added fbx property mapping for "FocusDistance" to "FocusSettings.ManualFocusDistance" #jira UE-55782 Change 3932022 by Max.Chen Sequencer: Add import animation track section to next available row index. #jira UE-55892 Change 3933919 by Max.Chen Sequencer: Jump to playback start frame and not 0 to start playback for recording. #jira UE-55933 Change 3934307 by Andrew.Rodham Sequencer: Add template signature that is re-generated every time the base template is regenerated, which invalidates evaluation fields This fixes an issue where the same sequence is instantiated multiple times in a sequence. If the source sequence was saved, its template would be wiped, which would invalidate the template ID When an instance tries to evaluate the master template, it would only invalidate a range in the evaluation field that was the hull of any invalid sub sequences overlapping the current time, potentially leaving invalid data in the evaluation field at positions later (or earlier) on in the sequence When the sub template was re-generated, it receives the same SequenceSignature as it had before (because the sequence hasn't actually changed), which causes the stale evaluation field data to fail the IsDirty check (because the sequence is the same as it thought, but the *template* has changed) This has been addressed be adding a signature to templates themselves, and checking both the template signature and sequence signature as a part of the IsDirty check. This ensures that we regenerate if either the template, or the sequence have changed. #jira UE-55934 Change 3936327 by Andrew.Rodham Sequencer: Removed increment when trimming right UMovieSceneSection::TrimSection already explicity assigns an exclusive bound to the time passed in. The new behavior means we can trim a section to the right, and insert another section without changing the time to create adjacent sections. #jira UE-42652 Change 3936328 by Andrew.Rodham Fixed KeyFrameManipulator assignment operators and copy/move constructors - These types are potentially self-referential so cannot use default constructors/assignment Change 3936330 by Andrew.Rodham Converted UMGSequencePlayer to use frames internally #jira UE-54878 Change 3936726 by Max.Chen Sequencer: Set track node as the parent of the key area node. The key area switcher needs the object binding id from the parent object binding node. Without this, the binding to the external value fails. #jira UE-55931 Change 3936775 by Max.Chen Sequencer: Should stop or loop should compare DurationFrames with Current Time from StartTime. The bug is that if you set 30 warmup frames in movie rendering for a range of 0-100, the FrameRange will be starting at -30 and have a duration of 130. Without this fix, the playback will continue until frame 130, rather than 100. #jira UE-55933 Change 3936935 by Matt.Hoffman Easing Curves are now represented in Play Rate resolution instead of internal resolution. #jira UE-55937 Change 3937069 by Matt.Hoffman Users can toggle if the is infinite on each side, limited by which tracks support infinite ranges. #jira UE-55891 Change 3937516 by Max.Preussner ImgMedia: Added support for single-threaded platforms #jira UE-55986 Change 3937826 by Max.Preussner MediaAssets: Disabling media sound components on HTML5 if AudioMixer is not enabled Change 3937997 by Max.Chen Curve Editor: Add Zoom to Fit Curves so that selected curves from Sequencer can be focused on. Tested that undo doesn't re-zoom. #jira UE-55935 Change 3938000 by Max.Chen Sequencer: Stop all sounds before generating audio waveforms. #jira UE-55951 Change 3938376 by Max.Preussner XGEController: Disabled XGE Controller in single-threaded apps to prevent crash Change 3938444 by Max.Preussner Core: Added async support for single-threaded applications Change 3938445 by Max.Preussner Networking: Added support for single-threaded applications in UDP socket sender/receiver Change 3938447 by Max.Preussner Messaging: Added support for single-threaded applications Change 3939432 by Max.Chen Sequence Recorder: Append command list to global level editor actions so that shortcuts are accessible in level editor. #jira UE-55798 Change 3940229 by Andrew.Rodham Added prospective display rate upgrade to UMovieScene::PostLoad - There was previously some very odd behaviour that would assign the fixed frame interval only when a sub sequence was focused in SSequencer. This meant that many sequences could have a frame interval of 0 set in the data. - Under the old method of snap interval display this would have fallen back to getting the display interval from the sequencer settings, but we no longer look at these. - The USequencerSettings properties have been removed and in their place, a prospective data upgrade for sequences that have a fixed frame interval old 0fps that sets the play rate to the previous defaults based off the old USequencerSettings defaults. - This could end up 'changing' the display rate for sequences where the user has changed the snap interval in the settings for a particular sequence editor, but there's not much we can do about that given we don't have access to the USequencerSettings classes in UMovieScene #jira UE-55919 Change 3940277 by Andrew.Rodham Sequencer: Added ability to default frame resolutions and play rates for newly created actor sequences Change 3940378 by Andrew.Rodham Sequencer: Post move import dialog now defaults to the playback framerate of the sequence, and floors to frame numbers Change 3940559 by Andrew.Rodham Reinstated primed or recording sequence color Change 3940642 by Max.Preussner ImagePlate: Removed image plate media playback functionality Change 3940843 by Max.Preussner Core: Made TCircularQueue actually thread-safe; improved code comments Change 3940860 by Max.Chen Sequencer: Changed StructNameToKey to StructPathToKey Previously, keying a PropertyPath of [RenderTransform][Shear][X] would get trimmed to X, which doesn't map to a channel name as considered by Sequencer2dTransformTrackEditor. Instead, trim the resulting property path to [Shear][X] so that track editors can determine the desired struct path and channels to key. #jira UE-52966 Change 3941292 by Mike.Zyracki Fix for trajectories out of range not showing up. 1) If we had no key data we would pop the time, so wouldn't get the section ranges. 2) Calculating of upper bound was wrong, checking against -1 and not key == num of keys when doing algo::lower_bound. 3) No need to do the Bck-- for the bakward iterators since we fixed #2. We start now from the upper bound correctly. 4) If we had no keys (at section start,end) we would incorrectly say we were any key type, so since we draw constant keys as dashed we would do so incorrectly around section end points. #jira UE-55929 Change 3941424 by Max.Chen Curve Editor: Change Zoom to Fit to use TArrayView Change 3941498 by Max.Preussner Core: Added FMath::DivideAndRoundNearest function Change 3942097 by Matt.Hoffman Drop Frame Timecode Support for NTSC rates. Change 3942104 by Matt.Hoffman Sequence Recorder Group is no longer visible inside the World Outliner after using one. #jira 55266 Change 3942107 by Max.Chen Sequencer: Resurrect logic to find or extend an existing section when adding keys. Change 3942330 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942339 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942507 by Andrew.Rodham Sequencer: We no longer pad the time overlap threshold with a small number that is not scaled by the current zoom level - The presence of this pad was causing keys that were far apart to be grouped when zoomed in a long way Change 3942509 by Andrew.Rodham Sequencer: Only pad total view range, rather than section range as well when retrieving keys to render - This stops us from rendering keys that are within the view range, but outside the section range Change 3942512 by Andrew.Rodham Added transactions to some sequencer details customizations Change 3942513 by Andrew.Rodham Sequencer: Reinstated validation checks to UMovieSceneSection::SetStartFrame and SetEndFrame, changed erroneous uses to use SetRange Change 3942560 by Andrew.Rodham Pass by rvalue reference to appease error C2719 on Win32 ('InChannels': formal parameter with requested alignment of 8 won't be aligned) Change 3942697 by Andrew.Rodham Newly Created Level Sequences and Actor Sequences now default to 24000 fps frame resolution (+/- ~24hrs range, supporting all integer rates + 23.976) Change 3942700 by Andrew.Rodham Sequencer: Added legacy out-of-bounds errors for times that are not supported by the current legacy upgrade frame resolution Change 3942989 by Max.Preussner Core: Fixed circular queue count calculation Change 3943538 by Max.Preussner MediaAssets: Reverted workaround for procedural audio log spam in HTML5 (Actor component initialization cannot be skipped if the component is used in a level) Change 3944071 by Max.Preussner QAGame: Fixed Media Texture keeps last frame of Media when PIE ends #jira UE-53360 Change 3944292 by Max.Chen Sequencer: Added extra flags to ensure that asset initialization does not occur on template actor sequences #jira UE-56113 Change 3944364 by Max.Chen Sequencer: Prevent circular shot/master tracks. Tested adding master -> child -> master as drag and drop cinematic shot tracks and sub tracks as well as through the + button. #jira UE-56091 Change 3944422 by Max.Chen Sequence Recorder: Disable transform recording if off. #jira UE-56061 Change 3944745 by Andrew.Rodham Sequencer: Key rendering fixes - Fixed assert that occured when keys happened to reside on some times due to KeyTime + TimeOverlapThreshold - KeyTime being slightly larger TimeOverlapThreshold - Fixed keys sometimes being clipped when zoomed right in due to lack of half-frame offset - Added missing documentation to MovieSceneTimeHelpers.h #jira UE-56107 Change 3945231 by Andrew.Rodham Sequencer: Reconstruct channel proxy on Serialize to catch all cases of undo/redo, PostLoad and duplication #jira UE-56089 Change 3945301 by Andrew.Rodham Sequencer: Added safety checks during initial sequence recording to guard against applying negative or 0-sized sequence ranges #jira UE-56125 Change 3946627 by Max.Preussner Fortnite: Fixed game crashes closing editor while in PIE - Pure virtual function being called #jira UE-56144 [CL 3946896 by Max Chen in Main branch]
2018-03-14 22:09:33 -04:00
);
}
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 4044339) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3947021 by Max.Chen Sequencer: Don't preserve root component when copying object properties. A spawnable empty actor, has a root component that is generated by the empty actor factory. If the object template's root component is preserved when copying from the spawnable empty actor, the root component will not be copied over. Therefore, we need to NOT preserve the root component when copying object properties. #jira UE-55825 Change 3947366 by Max.Preussner WmfMedia: Better log output Change 3947367 by Max.Preussner MfMedia: Better detection of compressed format properties on Windows Change 3949102 by Max.Chen Sequencer: Remove SequenceActorTag when converting to possessable. #jira UE-56206 Change 3949207 by andrew.porter EngineTest: Set the screenshot nodes resolution to 1280x720 Change 3949404 by Max.Chen Sequencer: More informative tooltip for "Rerun Construction Scripts" option. It now says "Rerun construction scripts every frame on actors that have 'Rerun Construction Script in Sequencer' enabled in their class settings". Change 3950067 by Matt.Hoffman Renamed UAutomatedLevelSequenceCapture's StartFrame and EndFrame to CustomStartFrame/CustomEndFrame to reflect that it is user-overriden. This will also resolve upgrade issues due to the variable datatype changing. #jira UE-56189 Change 3950193 by JohnHenry.Carawon Updating my latest MovieRendering test content. Change 3950757 by JohnHenry.Carawon More updates to MovieRendering test content Change 3952059 by Max.Chen Resave LevelVisibility_SubLevels to fix data loss conversion warning of OpacityMaskConstant #jira UE-56086 Change 3952283 by Max.Chen Sequencer: Disable dropping level sequence assets as spawnables. #jira UE-56120 Change 3952422 by Max.Chen Sequence Recorder: Add button to record from the current player. #jira UE-55942 Change 3952987 by JohnHenry.Carawon MovieRendering Test Content - Fixing camera bindings and changing the override binding actor Change 3953823 by Mike.Zyracki Fix for Bad FBX Import Tangents not scaled by frame rate. After looking at this again it seems that a set of MovieScene:: overiddes for the channel traits wasn't set correctly, so use the ADL idiom to use MovieScene, which can then call Optimize in the correct namespace. With this we can now correctly use the passed in tolerance. There was also a redundant set of Optimize calls so that it could happen twice so removed them, and needed an extra check in the float channel Optimize. Also since we need to set auto tangents no matter if we optimize we don't set that parameter(though leave it since it's used by context menu key reduction). Finally fixed speed issue with trajectories caused by calculating way too many substeps. Reverted back to a time based step size for consistency. #jira UE-56193 Change 3954317 by Matt.Hoffman Adding a key to the last frame of a section no longer causes a crash. Keys can already be moved to be on the last frame of a section so now you can just add a key there directly. #jira UE-56255 Change 3954326 by Matt.Hoffman Dilating a section that is only infinite on one side no longer causes a crash. #jira UE-56260 Change 3954486 by Max.Chen PR #4580: Exposes IsReversed() from UMovieSceneSequencePlayer (Contributed by alanedwardes) Change 3955238 by Max.Preussner Messaging: Enabled delayed message routing https://github.com/EpicGames/UnrealEngine/pull/4574 #jira UE-56247 Change 3955901 by Max.Preussner MediaFrameworkTest: Added developer test for overriding desired media player plug-in at runtime. Change 3955922 by Andrew.Porter QAGame: Updating movie rendering content in dev folder Change 3956004 by andrew.porter QAGame: Adding MPC track to movie rendering test content Change 3956510 by Max.Chen Sequencer: Fix fbx camera import of static properties so that they are imported before default tracks are created. Otherwise, the default tracks inherit the default properties of the camera, rather than the values from the fbx. #jira UE-56311 Change 3957613 by Max.Preussner MediaUtils: Added code documentation to media player facade Change 3958005 by Max.Preussner MediaUtils: Added method to get number of sinks Change 3958934 by Max.Chen Sequencer: Fix keys getting added and sequence getting erroneously re-evaluated when auto key is off. Only apply defaults if there are no keys. Only modify the movie scene section before creating keys or setting defaults. #jira UE-55903 Change 3959687 by Andrew.Rodham Sequencer: Fixed visibility track external values being inverted #jira UE-56324 Change 3960507 by Max.Preussner Core: Fixed incorrect rounding in FMath::DivideAndRoundNearest Change 3962047 by JohnHenry.Carawon MovieRendering Test Content Changes: - Add Lightmass Importance Volumes to sublevel to fix warnings - Rebuilt Lighting - Add a third sequence for Gamut testing - Resaved the sound master.uasset to fix warning Change 3962211 by Mike.Zyracki Add Frame Numbers to selected animation sections. Added MapTimeToAnimation to MovieSceneSkeletalAnimation so that we could get it from the Skeleton Animation track Editor. Since the thickness of the frame line can change based upon frame rate and zoom we need to calculate it similarly to how the time slider controller does it. Those calculations were private so we had to expose FScrubRangeToScreen and GetScubberPixelRange from the TimeSliderController. Also needed to know if the section itself was selected so added a bIsSelected flag to the section Painter. Also fixed a bug where you couldn't add a section if other sections existed at different times in MovieScenePropertyTrack and could crash due to the check(). #jira UESEQ-395 Change 3962497 by Max.Preussner Core: Added new string formatting argument to FTimespan Change 3963662 by Max.Chen CineCamera: Flip VistaVision width and height. Change 3963731 by Max.Preussner MediaCompositing: Implemented sequence recording support for media track Change 3964195 by Andrew.Rodham Sequencer: Set inverted property correctly for newly created visibility track sections - Also clamp evaluation for key editors to the bounds of the section so we're not displaying values outside of the section bounds when the cursor is not on the bounds #jira UE-56324 #coderevew Max.Chen Change 3964196 by Andrew.Rodham Sequencer: Fixed crash when attempting to render sections that resulted in a negative intersection with the view range Change 3964275 by Andrew.Rodham Sequencer: Fixed MovieScene::ClampToDiscreteRange for infinite range bounds Change 3964364 by Andrew.Rodham Curve Editor: Reduce minimum vertical view range when zooming to fit Change 3965091 by Max.Chen Sequencer Recorder: Refresh next sequence if empty when starting a recording, otherwise, use existing name. #jira UE-56469 Change 3965148 by Max.Chen Sequence Recorder: Move Record to Possessable to "Actor Recording" group Change 3965162 by Max.Chen Sequence Recorder: Always break out of immersive mode when done recording, even when stopping recording during countdown. #jira UE-56407 Change 3965214 by Max.Preussner QAGame: Enabled ImagePlate plug-in Change 3965574 by Max.Preussner SimpleComposure: Reorganized & upgraded content to work with new Media Track #jira UE-56488 Change 3965651 by Max.Preussner MediaCompositing: Ignoring seek-on-open if media not seekable Change 3966075 by Christina.TempelaarL Sequencer: Added Final Cut Pro 7 XML Export functionality #jira UESEQ-358 Change 3966087 by Matt.Hoffman Adding a single key to the Particle Toggle track now makes an infinite range section that is displayed in the UI. #jira UE-56295 Change 3966547 by Andrew.Rodham Sequencer: Fixed rounding errors when drawing the section background on boolean sections - Logic was using time in sectonds which caused rounding errors on evaluation and flickering red/green stripes when dragging keys around #jira UE-56324 Change 3966563 by Andrew.Rodham Curve Editor: Key editor interface improvements - SKeyEditInterface has a few problems - it does not update in real time when editing properties, and does not support multi-edit which makes it unsuitable for use with the curve editor - We now take a different approach for editing keys by gathering a set of proxy UObjects for each key that is currently selected. These objects are added as top level objects to the details panel which means they support multi edit as you'd expect from any other details panel in the editor. - Proxy objects are updated every tick for the curve editor if they implement the ICurveEditorKeyProxy interface, which allows them to refresh their current value. - Ideally, the same mechanisms would be used in the main sequence interface, and we would be generating the proxy classes at runtime based on the key value type, but that work remains a separate task from this initial offering. #jira UE-56165 Change 3966564 by Andrew.Rodham Curve Editor: Expand to frame when adding or moving keys in the curve editor Change 3967051 by andrew.porter MediaFrameworkTest: Set the CameraPlayer_Video texture to auto clear Change 3967141 by Andrew.Rodham Sequencer: Keep track of spawned objects that have been modified and only re-save such object's default spawnable state on destruction - Now that we're taking this approach, I've remove serveral redundant bits of functionality in the spawn register such as making some spawnables read-only, and the PreSave binding for Sequencer. - We now hook into all object pre-saves to make sure we handle the case where the sequences are saved through the content browser or elsewhere. #jira UE-47686 Change 3967170 by Andrew.Rodham Sequencer: Added the ability to possess anim instances as object bindings - This allows full and direct animation of properties on UAnimInstance, and animation blueprints - Object Bindings are made by first possessing a skeletal mesh component, then choosing the + Add button where its anim instance will be listed - Added a new function to UMovieSceneSequence to gather previously cached objects that should now be invalidated. Anim instances will be re-resolved if a new UAnimInstance is assigned to USkeletalMeshComponent::GetAnimInstance. - ObjectBindingIDs for anim instances are just represented by an entry in a set of GUIDs. We only ever resolve such bindings through USkeletalMeshComponent::GetAnimInstance. - Only currently supported on LevelSequences #jira UE-56132 Change 3967195 by Max.Preussner Core: Updated TRangeSet to use TCallTraits Change 3967345 by JohnHenry.Carawon Test Content Changes - first iteration of spacing out the examples in the shots. Change 3967572 by Max.Chen Sequencer: Fix setting PreviousPlayEvalPosition until after we've tested whether it's set. #jira UE-56518 Change 3967750 by Max.Chen Audio: Set duration based on number of input channels, rather than number of channels to serialize. This fixes an issue where audio split into 2 channels is set to a duration that's twice as long. #jira UE-56430 Change 3967836 by Max.Chen Sequencer: Allow for animating array elements within ustruct properties #jira UE-55887 Change 3968506 by Matt.Hoffman Fixed ambiguous conversions for seconds and frames being overriden by ambiguous conversion to Timecode (in frames). Change 3968748 by Max.Chen Sequencer: Make the event properties submenu widget larger. #jira UE-55557 Change 3968862 by Max.Chen Sequencer: Recursive expansion when shift is down #jira UE-52139 #pr 4194 Change 3968863 by Max.Chen Sequencer: Bind rename command to selected track so that F2 shortcut start renaming #jira UE-52139 #pr 4194 Change 3968872 by Max.Chen Sequencer: Rekey the selected key at the current time. #jira UESEQ-396 Change 3968938 by Max.Chen Cine Camera: Add option to toggle the behavior of locking the rail mount to the orientation of the spline. By default, the option is off, no change in behavior. #jira UE-55815 Change 3968958 by Andrew.Rodham Sequencer: Consider vertical position when hittesting keys #jira UE-56256 Change 3969643 by Max.Preussner Core: Rounding timespans created from double values towards nearest ticks Change 3969646 by Max.Preussner MediaUtils: Implemented timeout mechanism for block-on-fetch feature Change 3969776 by Mike.Zyracki Added Skip Anim Notifiers Toggle per what was in Matinee. Investigated the Enable Root Motion toggle as also discussed but it's implementation is directly contained by the animation asset and unlike animation notifies there seems to be no exposure to interactively disable it during a playback tick. Note if we are generating thumbnails we still automtically disable notifies in the editor to avoid annoying noise playback. Note that if Enable Root Motion/Root locked is specified in the animation asset it does correctly effect the Sequencer. #jira UESEQ-399 Change 3969835 by Matt.Hoffman Playback Range and Selection Range use unified logic for adding themselves as potential snap locations which properly handles inclusive/exclusive bounds. This resolves an issue where having an unset selection range caused a potential snap location to be added on frame 0 and 1 (internal resolution) which caused a misalignment when placing objects near frame 0. This also removes the one frame offset on setting Selection Range to bring behavior inline with other ranges. #jira UE-55420 Change 3969885 by Max.Preussner MediaAssets: Don't register media player CDO with media ticker Change 3971129 by Andrew.Rodham Sequencer: Fixed UMovieSceneSequencePlayer::GotToEndAndStop() not taking into account for start time This is a remnant from when the times were always specified in 0-duration space, rather than actual sequence times. Change 3972056 by JohnHenry.Carawon More updates to Test Content. I continued spacing out the examples in the sequence so that they have a consistent number of frames between each example and during the start/end of the example. Also removed the Marcie sublevel. Change 3972066 by Andrew.Porter MediaFrameworkTest: Setting Marcie folder to be never cooked in package settings Change 3972675 by Matt.Hoffman Splitting Subsequence Sections no longer sets an incorrect playback range on the subsequence when the subsequence has a different internal resolution than the owning sequence. #jira UE-55453 Change 3973376 by Max.Preussner ImgMedia: Zero is the only valid video track for image sequences Change 3973489 by Max.Preussner Launch: Build rules cleanup pass - don't use Media, MediaUtils on server apps - don't link against Media (include-only dependency) - don't include from MediaAssets (dynamic load only) Change 3973760 by Max.Preussner MediaUtils: Moved AppMediaTimeSource implementation into its own file; added logging Change 3973765 by Max.Preussner ImgMedia: Disallowing seek beyond media length Change 3973855 by Max.Preussner MediaFrameworkTest: Updated developer test content Change 3973858 by Max.Preussner MediaCompositing: Blocking on media player time instead of media sample time (the former may not be hit in the current frame) Change 3974988 by Max.Chen Sequencer: Fix trim left so that it also sets the start offset for audio and skeletal animation sections. #jira UE-57015 Change 3976101 by Matt.Hoffman Sequencer will now focus the scroll view on newly created items. #jira UE-56492 Change 3976203 by Max.Chen Property Editor: Add DetailsViewArgs for ColumnWidth. Defaults to 0.65f, no change in existing behavior. Change 3976205 by Max.Chen Sequencer: Set better column widths for sequencer. #jira UE-55557 Change 3976206 by Max.Chen Sequencer: Added menu category for import/export Change 3976265 by Matt.Hoffman Tracks within Object Binding Nodes will now sort using the old behavior so that components are added above other track types. #jira UE-56473 Change 3976901 by Max.Chen Sequencer: Add event names to event track section #jira UESEQ-353 Change 3977878 by Max.Preussner Media: Moved media framework ticking stats into Media module Change 3977982 by Max.Chen Sequencer: Add Edit->Reset section length to duration of source (ie. audio, skeletal animation, shot length) Added MovieSceneSection::GetDefaultDuration and MovieScene::HasDefaultDuration #jira UESEQ-392 Change 3977994 by Max.Preussner Media: Fetching and rendering media samples before viewports are rendered (to ensure frame sync for in-level media playback) #jira UE-53975 Change 3978188 by Matt.Hoffman Easing Curves are now clipped by the sequence's PlayRange when testing against an infinite section. This causes blended sequences to finish their blend when the section starts/ends instead of always using 25% of the total section length to determine default blend range. #jira UE-56362 Change 3978676 by Max.Preussner MediaCompositing: Fixed first frame of rendered out media track missing #jira UE-53975 Change 3978684 by Max.Preussner MediaCompositing: Enabled media track frame sync feature #jira UE-53975 Change 3980026 by Matt.Hoffman Keys can be selected on folded out sections (such as an audio track expanded to show volume and pitch) again. #jira UE-57169 Change 3981614 by Max.Preussner MediaUtils: Added missing subtitle sample queue flush Change 3982311 by Max.Preussner MediaCompositing: Added safeguard for zero length media sources Change 3982389 by andrew.porter QAGame: Adding media track test content into FrameAccuracySubscene Change 3983661 by Max.Chen Sequencer: Add level name to spawn a spawnable into. Add sublevel menu option to set the level #jira UESEQ-390 Change 3983712 by Andrew.Rodham Sequencer: Purge legacy blueprint spawnables from LevelSequence packages #tests Ran a preflight for cooking fortnite, ocean and Orion. Only orion shows up this edge case, and will require a re-save of the EndCines level #jira UE-39173 Change 3983787 by Max.Preussner MediaCompositing: Moved compile time switch for block-on-fetch into media player facade Change 3983812 by Andrew.Rodham Sequencer: Exposed default level sequence instance data to blueprints Change 3984373 by Max.Preussner Media: Added API for quering whether player plug-in supports block on fetch Block on fetch allows Sequencer and other systems to block the game thread until a desired video frame has been decoded. Change 3984670 by JohnHenry.Carawon Movie Rendering Test Content progress. Saving the state of the content. There is a bug where things got replaced with particle emitters and I think it was because I tried to copy paste an animation track into a separate skeletal mesh track. Change 3985097 by Max.Chen Sequencer: Rename Reset to AutoSize Change GetAutoSizeDuration to return TOptional<FFrameTime> #jira UESEQ-392 Change 3986043 by Max.Chen Sequencer: Fix crash when attach/path duration is less than 0. #jira UE-57310 Change 3986373 by Max.Chen Sequencer: Add support for deleting tracks and channels which equates to setting the channel mask. #jira UE-52951 Change 3986375 by Max.Chen Sequencer: Add Create Pose Asset to skeletal animation section. This allows animators to blend animations in sequencer and create new pose assets from them. #jira UESEQ-408 Change 3986796 by Andrew.Rodham Sequencer: Fixed stale object references remaining in ULevelSequence::BindingReferences when using convert to spawnable/possessable - We used to convert objects by creating a new binding, then re-assigning its GUID, which meant we didn't have to do any further object fixup, but the code to achieve this was confusing and led to a vulnerability where object references would not be cleaned up correctly due to the newly created possessable essentially being a temporary object that's immediately thrown away. - To address this, there is now a function for porting all the contents of one object binding to another, and handles the correct fixup required for parent/child object bindings for both spawnables and possessables. - Also added codepath to remove any stale object references from the level sequence reference map on PostLoad (this piggy-backs off the PurgeLegacyBlueprints object version which is close close enough to this change to be identical) #tests Verified that existing sequences with stale references get cleaned up on load. Verified that repreatedly converting from spawnable<->possessable cleans up references correctly. Change 3987807 by JohnHenry.Carawon Updates to the MovieRendering Test Content. - Fixed the spawnable actors that were overwritten - Shortend the Lighting example and combined the Intensity and Color tracks - Organized the Sequence and WorldOutliner to group the examples. Change 3988151 by Max.Chen Cine Camera: Enable keying the "Enable Look at Tracking" toggle. Change 3988880 by Max.Chen Sequencer: Support enter to add asset for all sequencer track editors that have asset pickers. #jira UE-57367 Change 3988953 by Max.Chen Sequencer: Make the track color picker focusable so that it will close when you click away or lose focus. #jira UE-57210 Change 3988962 by Max.Chen MovieSceneCapture: Fix EDL export so that it takes into account movie scene frame resolution and desired frame rate. #jira UE-57365 Change 3988964 by Max.Chen Movie Scene Capture: Clarified tooltip for bRelativeFrameNumbers. If you specify custom start/end frames for the recording, they will be relative to the playback range. #jira UE-57308 Change 3989442 by Max.Chen Fix CIS Change 3991548 by Matt.Hoffman Dragging the time slider no longer causes the time slider to ignore snap-to-interval with "Snap to Keys While Scrubbing" when no keys are in range. #jira UE-57417 Change 3991598 by Matt.Hoffman Snap to Key while scrubbing now mirrors the behavior of "jump to next key". When there are no tracks selected it snaps to all keys and when there are tracks selected it snaps to only keys from that track. This also resolves an issue where deleting an object did not remove it from the Sequencer's selection. Undoing a delete already doesn't seem to restore your selection, so removing it from your selection shouldn't change that behavior. #jira UE-57417 Change 3991603 by Max.Chen Sequencer: Disable EditAnywhere for some section properties #jira UE-53530 Change 3992240 by Max.Preussner MediaAssets: Implemented dynamic audio sample rate adjustment based on audio/media clock drift #jira FORT-70638 Change 3992911 by Andrew.Rodham Sequencer: Fixed saving spawnable state using the wrong spawned object - We now track the object binding ID so that we can apply the spawned object to the correct spawnable when the asset is saved #jira UE-57353 Change 3992914 by Max.Chen Movie Scene Capture: Fix compression quality not being set. The compression interface wasn't being found through query interface, so no compression was being set. Reworked finding it through the output pins. Tested running various compression values. #jira-UE-55488 Change 3992919 by Max.Chen Sequencer: Convert to possessable now uses object template instead of copying properties (ie. see LevelSequenceActorSpawner). This fixes MIDs getting lost when converting to spawnable and back to possessable. #jira UE-52400 Change 3993184 by Max.Chen Sequencer: Don't show +Transform/+Path/+Attach track if the actor has the "Mobility" property hidden. Set the Landscape, LandscapeProxy and InstancedFoliage "Mobility" property to be hidden since it is static is not supposed to be dynamically movable. #jira UE-56347 Change 3993238 by Max.Chen Sequencer: Test for hidden mobility in creating keys as well. Refactored to HasHiddenMobility() #jira UE-56347 Change 3993978 by Max.Chen Cine Camera: Enable keying the "Enable Look at Tracking" toggle. #jira UE-57489 Change 3994039 by Max.Chen Landscape: Add Mobility to hidecategories on landscape component #jira UE-56347 Change 3994626 by JohnHenry.Carawon Updated Movie Rendering Test Content. - Fixed the overridden spawnables to their proper object types. Change 3994653 by Christina.TempelaarL Sequencer: Added Final Cut Pro 7 XML Import functionality, improved Export functionality #jira UESEQ-358 Change 3995609 by Max.Chen UMG: Add support for 2d transform mask (translation, rotation, scale, shear) #jira UE-52951 Change 3995778 by JohnHenry.Carawon Movie Rendering Test Content Updates - Adjusted Lights example - Adjusted Camera example - Added Marcie sublevel back in Change 3995942 by JohnHenry.Carawon QAGame: Moving Movie Rendering test content from Developer folder to Sequencer folder Also adjusted level visibility, lights and camera example. Change 3995993 by Christina.TempelaarL Sequencer: FCPXML Export updates - only export sections if in playback range and media exists, warn if media does not exist. Other updates - removed unused methods and variables, fixed message context naming to be more accurate #jira UESEQ-358 Change 3996595 by andrew.porter QAGame: Updating Marcie content in TrackEvaluation level to use Image Plate Change 3996614 by andrew.porter QAGame: Adding color test sequence to the sublevel Change 3996643 by Max.Chen Sequencer: Fix fbx animation export - rotation and scale channels were flipped. #jira UE-57509 #jira UE-57512 #jira UE-57514 Change 3996652 by Max.Preussner Messaging: Fixed delayed messaging using incorrect current time after message router sleep Based on https://github.com/EpicGames/UnrealEngine/pull/4601 Change 3996801 by Max.Chen Sequencer: Fix folder active state for non key area sections. Look at track node sections as well as key areas. #jira UE-57550 Change 3997098 by Matt.Hoffman Cleaned up some remaining ToDo's in STimeRange. Change 3998339 by Max.Preussner Sockets: Added documentation for socket receive functions Change 3998359 by Max.Preussner MediaUtils: Started to implement media recorder helper class Currently only supports BGRA frames in CPU memory. Supporting other formats and buffer types will require conversions on render-thread. I recommend refactoring out the existing conversion code in FMediaTextureResource into a reusable helper class in the MediaUtils module. This should be a good starting point though. Change 3998417 by Matt.Hoffman Keys and Sections can now be moved at the same time inside of Sequencer. Keys can now snap to Sections (and vice versa) instead of just to other Keys. Sections can now be duplicated like keys can. #jira UE-56995 Change 3998427 by JohnHenry.Carawon QAGame: Updating test content for the Movie Rendering feature. - Added an auto activate particle to the beginning of the sequence (it's not part of the sequence at all) - Added an event receiver blueprint to the Events example - Added a particle emitter to both sublevels - Added a camera cut to the end that switches to a separate camera - The camera zoom in, focus and Look At sections are all separate (not overlapping in the sequence) - Added a second actor for the camera Look At - Added a Visibility section for the Actor Hidden In Game track that has possessable and spawnable cube and light Change 3998537 by Max.Chen Sequence Recorder: Restore immersive mode when stopping the sequence even if not in PIE. #jira UE-56407 Change 3999809 by Matt.Hoffman Removed the "Go To" box from Sequencer and instead placed the current time as an always visible control. The previous shortcut (Ctrl + G) now focuses the new widget directly. #jira UESEQ-376 Change 4000543 by Christina.TempelaarL Sequencer: Moving editor-only code from runtime module MovieSceneCapture to editor module MovieSceneTools. Moved EDL and FCP XML exporters as well as Automated Level Scene Capture. #jira UESEQ-358 Change 4000706 by Matt.Hoffman Entering multiple time strings without a number no longer crashes Sequencer. #jira UE-57672 Change 4001051 by andrew.porter MediaFrameworkTest: Fixing up some image sources pointing to the wrong location Change 4001191 by andrew.porter QAGame: Adding some quick EDL/XML test content to dev folder Change 4001243 by Max.Chen Sequencer: Fix import EDL out of range. #jira UE-57665 Change 4001856 by Matt.Hoffman Selecting keys and sections at the same time now also works with animation and audio sections. #jira UE-57716 Change 4002021 by Max.Chen Sequence Recorder: Fix sequence name incrementing. If external recording sets the sequence name, use it. Otherwise, use the recording name from the recording group or the recording settings. #jira UE-57712 Change 4002618 by Max.Chen Viewport: Update the look at location when updating to a locked actor. This fixes an issue so that popping the view out of a locked actor and manipulating the view will not jump to the previous look at location. #jira UE-57725 Change 4002979 by Matt.Hoffman Fixes several edge cases with the end time range that was causing confusion about what the last frame of the sequence was. Dragging the End Frame slider will no longer be off by one tick and jumping to the end via the UI controls now properly respects snapping and stays inside the play range instead of falling outside of it. Overall behavior does not change though and End Frame should be considered an exclusive frame so that frames 0-150 results in a 150 frame long animation (which is frames 0-149). #jira UE-56367 Change 4003185 by Matt.Hoffman Fixed a regression that prevented a section from being dragged upwards past row 0 which normally resulted in all other rows moving down. #jira UE-57717 Change 4003193 by JohnHenry.Carawon QAGame: Updates to test content - Shortened frames between the examples from 95 to 30 - Separated camera setting tracks - Lighting example now switches directly from constant red - green - blue Change 4003369 by Max.Chen Sequence Recorder: Refresh next sequence regardless of internally stored sequence name. #jira UE-55757 Change 4003586 by JohnHenry.Carawon QAGame: Test Content Updates - Level Visibility track now ends to that the levels are not visible when we move to the next example - Shortened camera section, removed Z tranform so that we just move left to right and shortened the overall length Change 4004414 by Max.Chen Movie Scene Capture: Fix regression where rendering with shot handles would only render the first shot. 3972166 addressed an issue where an extra frame would be rendered by finalizing right when the end frame was reached. This was hit on the first shot end frame, so instead, do this only for when the last shot is being rendered. #jira UE-57314 Change 4004765 by Christina.TempelaarL Sequencer: Fixed bugs in FCP XML import/export. - Export: fixed sequence default resolution. - Export: fixed XML files with no shots. - Export: all sections clipped to playback range. - Export: fixed incorrect section start/end times due to precision issues. - Import: fixed incorrectly adding cinematic tracks. - Import: fixed bugs creating new sections. #jira UE-57660 #jira UE-57662 #jira UE-57655 #jira UE-57761 Change 4005119 by Max.Chen Sequencer: Export/import at play rate Change 4005195 by Max.Chen UMG: Finish UMG evaluation on stop. Added object version so that existing UMG assets do not change. #tests - Newly created UMG animation with sections set to restore state now return to their original state. Existing UMG animations with sections set to restore state do not return to their original state. #jira UE-52285 Change 4005377 by Michael.Karambelas QAGame: Moving TM-SequenceRecorder and related content out of my developer folder and into /Content/Sequencer/SequencerRecorder/* Change 4005417 by Michael.Karambelas QAGame: Fixed a BP compiler in the Level Blueprint of TM-SequencerRecorder. Change 4005634 by Michael.Karambelas QAGame: Fix up missing content and broken level sequence in TM-SequenceRecorder after move Change 4006324 by Max.Chen Sequencer: Reset if the focused movie scene is null. This fixes a crash if the user is focused in on a shot and undo takes the user past the point of where the shot was created. #jira UE-57752 #jira UE-47661 Change 4007006 by Max.Chen Sequencer: Fix FindAvailableRowIndex so that it returns the max row index (and not +1) since it doesn't find any conflicting rows. #jira UE-57717 Change 4007907 by Max.Chen Sequencer: Fix crash if there's no animation Change 4007948 by andrew.porter QAGame: added test content to dev folder for Record World Space Change 4008636 by Max.Chen Sequencer: Fix import fbx not setting values properly and creating additional cameras unncessarily. #jira UE-57864 Change 4008759 by Max.Chen Sequencer: Follow up fix for import cameras #jira UE-57864 Change 4009994 by Matt.Hoffman Dragging the left or right handles of the Time Range slider in Sequencer will now zoom your view in on the current center of the screen. This prevents the view from being translating as you tried to zoom in which caused issues at high zoom levels. #jira UESEQ-407 Change 4010169 by Christina.TempelaarL Sequencer: FCP XML fixes. - FCP XML export - no longer clips to playback range - FCP XML and EDL export - fixed missing last frame of some sections after exporting to Premiere. - Automated level capture, EDL export - use RoundToFrame instead of FloorToFrame for computing section start/end frames after frame rate conversion. #jira UE-57802 - partial fix, movie scene capture still needs to render full section rather than clip against playback. Change 4010287 by Mike.Zyracki Add quaternion interpolation option to UMovieScene3DTransformSection. This mimics how Matinee used to work by bascially finding the keys between a time and interpolating the angles as quat's between them. As noted in the code the algorithm needs to handle the case when the x,y,z Rotation keys all aren't at the same time which was not handled by Matinee. Also like Matinee, when in quaternion interoplation mode, we need to not display the function cuves since the interpolated and key values are now all different. (Would like to show them but that's a bigger refactor for perhaps just a one off needed by quaternions). I added a virtual function UMovieSceneSection::ShowCurveForChannel for this since it needs to be dynamic, not on construction of IKeyArea's, and could be useful for other sections. I could though move the method to just UMovieScene3DTransformSection and do a cast instead. Looked into doing a unit test for this but after talking with Andrew P we will work on doign an automated test in EngineQA since that will provide more coverage. Will also add a video the jira. #jira UESEQ-403 Change 4010713 by Mike.Zyracki Added option to key a group of transform channels instead of just the changed channel, or all of them. This is useful for quaternion interpolations where you want rotation keys to be aligned but also useful for other workflows like animating FK Pose to Pose. Change 4010715 by Andrew.Porter MediaFrameworkTest: Setting LogMediaUtils logging from VeryVerbose to Verbose to cut back on the spam Change 4013048 by Max.Chen Sequencer: Fix play/jump status. Update the player status for all position methods (Scrub, Jump, Play). Jump means Stopped. Correctly use PlayTo or JumpTo based on position method. In PlayInternal, JumpTo with the Stopped state (rather than playing state). #jira UE-57844 Change 4013479 by andrew.porter QAGame: Added content in TM-SequenceRecorder to test recording a property on a Cine Camera Component; Press 3 to trigger manual focus distance to increment on a timer Change 4014323 by Max.Chen Sequencer: Fix SetPlaybackPosition so that it jumps or plays based on playback status. #jira UE-57844 Change 4015888 by Max.Chen Sequencer: Fix crash on paste. UMovieSceneSections were gathered from the track node's track. For sub track mode, we want to gather only those sections on that track node row. #jira UE-57951 Change 4015943 by Max.Chen Sequencer: Fix moving shots up when the mouse pos goes outside of the virtual track area. #jira UE-57717 Change 4016293 by Max.Chen Sequencer: Fix relative frame playback end frame calculation so that custom start/end frames remain in the space of the sequence and are not relative. #jira UE-57308 Change 4017075 by Andrew.Rodham Sequencer: Corrected initial evaluation range used when calling UMovieSceneSequencPlayer::Play() Change 4017270 by Christina.TempelaarL Sequencer: FCPXML importer and movie scene capture - Use CeilToFrame when converting section start/end frame times to frame numbers in FCPXML and movie scene capture. - Added support for clip metadata in FCPXML. - Got rid of redundant TokenizedError message class, no longer needed now that FCPXML is in editor directory. - Added log messages currently commented out due to exception, still testing. #UESEQ-358 Change 4018370 by Christina.TempelaarL Sequencer: fixed FCPXML log messages regarding sections with start/end not divisible by display rate. #UESEQ-358 Change 4018378 by Christina.TempelaarL Sequencer: fixed error in previous changelist. #UESEQ-358 Change 4019457 by Max.Chen Sequencer: Show event names only when the event track is selected #jira UE-57897 Change 4022806 by Max.Chen Sequencer: Fix crash on movie scene capture dialog shutdown if movie capture wasn't even started. #jira UE-58106 Change 4022894 by Max.Chen Sequence Recorder: Wrap OpenEditorForAssets after sequence recording within GIsEditor #jira UE-58084 Change 4024487 by Max.Chen Sequencer: Add tooltip for quat interpolation #jira UE-58113 Change 4024562 by Max.Chen Sequencer: Change path/attach track sequence binding id to currently focused sequence id so that bindings can be created in subsequences Change 4027414 by JohnHenry.Carawon QAGame: Checking in content that shows a bug with using particles systems and Delay Before Shot Warm Up. Change 4028990 by Max.Chen Sequencer: Fix evaluate sub sequences in isolation. This check was added with the compile on the fly logic. Not sure why it was necessary but it seems like the sub sequence data needs to be updated in order to evaluate sub sequences in isolation. #jira UE-58184 Change 4029004 by Max.Chen Sequencer: Ensure that old binding references are removed when re-assigning actors in sequencer #jira UE-57898 Change 4030997 by JohnHenry.Carawon QAGame: Fixing name of the master sequence Change 4031785 by Michael.Karambelas QAGame: Added an instance of ThirdPerson Run to TM-SequenceRecorder for Record to Possessable test. Change 4035548 by Andrew.Rodham Sequencer: Changed FMovieSceneEvaluationTemplate::TemplateSignature to be a serial number to address non-deterministic cooking issues - This commit is related to the repro steps found in 3914599 and 3934307, both of which have been verified with this new change. - Copy of 4031684 from //Fortnite/Main/... #jira FORT-84852 Change 4036312 by Max.Chen Sequencer: Fix zoom view range so that it uses the passed in InZoomDelta Change 4036318 by Max.Chen Sequencer: Auto size now returns a range and defaults to the channel proxy range so that keyed regions can also be autosized. Change 4036322 by Max.Chen Forgot missing change Change 4036360 by Max.Chen Sequencer: Fix play rate calculation when skeletal animation section play rate changes. Change 4037163 by Mike.Zyracki Weighted Tangent Implementation Tricky thing is that you need to solve a cubic in order to get the bezier weights for the time part of the curve. See https://www.gamedev.net/forums/topic/474094-help-function-curves-for-animation-interpolation/ Maya provides an implementation in it's dev kit but I didn't use it since it was horribly slow and uses an iterative solution to solve the cubic needed. Instead I use an old algorithm (Cardano's method), to solve the cubic which should be much faster. Though relative simple to code from principles I just went ahead and used a version from Graphics Gems 1. I put this cubic solver directly in MovieSceneFloatChannel.cpp, but will need to move it when we support Rich Curve, maybe to FMath:: (which would probalby require some other functions for solving quartics, etc.. for completeness.). Also note we resolve this on every evaluation but dont' need to if the interval the time is evaluating hasn't had any change in values or tangents. So again when we support FRichCurve we can create a Weighted Evaluating class that can hold the cache. Also with the tangent drags I got rid of the Cardinal position that was used to calculate non-weight tangents from the key point and just quickly getting a direction. With weighted tangents we need to use the delta instead (otherwise when moving multiple they would all get the same weight based upon distance to the cardinal point. ) For mixed tangents types what I'm defaulting to non weighted if the interval doesn't match. May need to do weighted instead, not sure. What's left is just FBX import, for tomorrow. #jira UESEQ-76 Change 4037435 by Mike.Zyracki Fix fo build warnings from weighted tangent submission. #trivial Change 4038091 by Michael.Karambelas QAGame: Updated a Sequence Recorder group in TM-SequenceRecorder that had an actor missing the animation. Change 4038374 by Andrew.Rodham Sequencer: Refined scrubber styling for level sequences and actor sequences - Scrubber now shows a block the width of a dsplay rate frame, plus a line for the actual evaluated time. UMG reverts back to the previous styling (no block) - Keys that are outside of the playback range are now drawn with a subdued effect - Tick labels are no longer drawn when directly underneath the scrubber Change 4038490 by Max.Chen Sequencer: Expose tangent weight values in details panel. Change 4038620 by Andrew.Rodham Sequencer: Advanced time panel polish #jira UESEQ-426 Change 4038677 by Max.Chen Movie Scene Capture: Redirector for MovieSceneTools.AutomatedLevelSequenceCapture #jira UE-58248 Change 4039739 by Max.Chen Sequencer: Media track should only be supported by Level Sequence Change 4040024 by JohnHenry.Carawon QAGame: Fix EventReciever and OverrideBinding example The level sequence was set to none so the fix was to set it back to TrackEvaluation_Master. Change 4040610 by Andrew.Rodham Curve Editor: Moved weighted tangent switchers to a single toggle command (CTRL+W) and added an icon #jira 58383 Change 4040882 by Mike.Zyracki Keep broken when turning on weighted #jira UE-58435 Change 4041089 by andrew.porter QAGame: Sequence for Long Tangents bug Change 4041498 by Mike.Zyracki Turn off weighted when going auto to prevent large tangents. Do it both in UI and when doing AutoSetTangents() to really make sure it doesn't happen. #jira UE-58452 Change 4041752 by andrew.porter MediaFrameworkTest: Adding some better logging for setting rates when not supported. Also ignoring commiting URL when there is no text Change 4041896 by Matt.Hoffman The transform dialog box now transforms selected keys and sections, instead of just keys. #jira UE-58265 [CL 4044405 by Max Chen in Main branch]
2018-05-02 10:10:00 -04:00
// Draw a line for the scrub position
TArray<FVector2D> LinePoints;
{
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 4044339) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3947021 by Max.Chen Sequencer: Don't preserve root component when copying object properties. A spawnable empty actor, has a root component that is generated by the empty actor factory. If the object template's root component is preserved when copying from the spawnable empty actor, the root component will not be copied over. Therefore, we need to NOT preserve the root component when copying object properties. #jira UE-55825 Change 3947366 by Max.Preussner WmfMedia: Better log output Change 3947367 by Max.Preussner MfMedia: Better detection of compressed format properties on Windows Change 3949102 by Max.Chen Sequencer: Remove SequenceActorTag when converting to possessable. #jira UE-56206 Change 3949207 by andrew.porter EngineTest: Set the screenshot nodes resolution to 1280x720 Change 3949404 by Max.Chen Sequencer: More informative tooltip for "Rerun Construction Scripts" option. It now says "Rerun construction scripts every frame on actors that have 'Rerun Construction Script in Sequencer' enabled in their class settings". Change 3950067 by Matt.Hoffman Renamed UAutomatedLevelSequenceCapture's StartFrame and EndFrame to CustomStartFrame/CustomEndFrame to reflect that it is user-overriden. This will also resolve upgrade issues due to the variable datatype changing. #jira UE-56189 Change 3950193 by JohnHenry.Carawon Updating my latest MovieRendering test content. Change 3950757 by JohnHenry.Carawon More updates to MovieRendering test content Change 3952059 by Max.Chen Resave LevelVisibility_SubLevels to fix data loss conversion warning of OpacityMaskConstant #jira UE-56086 Change 3952283 by Max.Chen Sequencer: Disable dropping level sequence assets as spawnables. #jira UE-56120 Change 3952422 by Max.Chen Sequence Recorder: Add button to record from the current player. #jira UE-55942 Change 3952987 by JohnHenry.Carawon MovieRendering Test Content - Fixing camera bindings and changing the override binding actor Change 3953823 by Mike.Zyracki Fix for Bad FBX Import Tangents not scaled by frame rate. After looking at this again it seems that a set of MovieScene:: overiddes for the channel traits wasn't set correctly, so use the ADL idiom to use MovieScene, which can then call Optimize in the correct namespace. With this we can now correctly use the passed in tolerance. There was also a redundant set of Optimize calls so that it could happen twice so removed them, and needed an extra check in the float channel Optimize. Also since we need to set auto tangents no matter if we optimize we don't set that parameter(though leave it since it's used by context menu key reduction). Finally fixed speed issue with trajectories caused by calculating way too many substeps. Reverted back to a time based step size for consistency. #jira UE-56193 Change 3954317 by Matt.Hoffman Adding a key to the last frame of a section no longer causes a crash. Keys can already be moved to be on the last frame of a section so now you can just add a key there directly. #jira UE-56255 Change 3954326 by Matt.Hoffman Dilating a section that is only infinite on one side no longer causes a crash. #jira UE-56260 Change 3954486 by Max.Chen PR #4580: Exposes IsReversed() from UMovieSceneSequencePlayer (Contributed by alanedwardes) Change 3955238 by Max.Preussner Messaging: Enabled delayed message routing https://github.com/EpicGames/UnrealEngine/pull/4574 #jira UE-56247 Change 3955901 by Max.Preussner MediaFrameworkTest: Added developer test for overriding desired media player plug-in at runtime. Change 3955922 by Andrew.Porter QAGame: Updating movie rendering content in dev folder Change 3956004 by andrew.porter QAGame: Adding MPC track to movie rendering test content Change 3956510 by Max.Chen Sequencer: Fix fbx camera import of static properties so that they are imported before default tracks are created. Otherwise, the default tracks inherit the default properties of the camera, rather than the values from the fbx. #jira UE-56311 Change 3957613 by Max.Preussner MediaUtils: Added code documentation to media player facade Change 3958005 by Max.Preussner MediaUtils: Added method to get number of sinks Change 3958934 by Max.Chen Sequencer: Fix keys getting added and sequence getting erroneously re-evaluated when auto key is off. Only apply defaults if there are no keys. Only modify the movie scene section before creating keys or setting defaults. #jira UE-55903 Change 3959687 by Andrew.Rodham Sequencer: Fixed visibility track external values being inverted #jira UE-56324 Change 3960507 by Max.Preussner Core: Fixed incorrect rounding in FMath::DivideAndRoundNearest Change 3962047 by JohnHenry.Carawon MovieRendering Test Content Changes: - Add Lightmass Importance Volumes to sublevel to fix warnings - Rebuilt Lighting - Add a third sequence for Gamut testing - Resaved the sound master.uasset to fix warning Change 3962211 by Mike.Zyracki Add Frame Numbers to selected animation sections. Added MapTimeToAnimation to MovieSceneSkeletalAnimation so that we could get it from the Skeleton Animation track Editor. Since the thickness of the frame line can change based upon frame rate and zoom we need to calculate it similarly to how the time slider controller does it. Those calculations were private so we had to expose FScrubRangeToScreen and GetScubberPixelRange from the TimeSliderController. Also needed to know if the section itself was selected so added a bIsSelected flag to the section Painter. Also fixed a bug where you couldn't add a section if other sections existed at different times in MovieScenePropertyTrack and could crash due to the check(). #jira UESEQ-395 Change 3962497 by Max.Preussner Core: Added new string formatting argument to FTimespan Change 3963662 by Max.Chen CineCamera: Flip VistaVision width and height. Change 3963731 by Max.Preussner MediaCompositing: Implemented sequence recording support for media track Change 3964195 by Andrew.Rodham Sequencer: Set inverted property correctly for newly created visibility track sections - Also clamp evaluation for key editors to the bounds of the section so we're not displaying values outside of the section bounds when the cursor is not on the bounds #jira UE-56324 #coderevew Max.Chen Change 3964196 by Andrew.Rodham Sequencer: Fixed crash when attempting to render sections that resulted in a negative intersection with the view range Change 3964275 by Andrew.Rodham Sequencer: Fixed MovieScene::ClampToDiscreteRange for infinite range bounds Change 3964364 by Andrew.Rodham Curve Editor: Reduce minimum vertical view range when zooming to fit Change 3965091 by Max.Chen Sequencer Recorder: Refresh next sequence if empty when starting a recording, otherwise, use existing name. #jira UE-56469 Change 3965148 by Max.Chen Sequence Recorder: Move Record to Possessable to "Actor Recording" group Change 3965162 by Max.Chen Sequence Recorder: Always break out of immersive mode when done recording, even when stopping recording during countdown. #jira UE-56407 Change 3965214 by Max.Preussner QAGame: Enabled ImagePlate plug-in Change 3965574 by Max.Preussner SimpleComposure: Reorganized & upgraded content to work with new Media Track #jira UE-56488 Change 3965651 by Max.Preussner MediaCompositing: Ignoring seek-on-open if media not seekable Change 3966075 by Christina.TempelaarL Sequencer: Added Final Cut Pro 7 XML Export functionality #jira UESEQ-358 Change 3966087 by Matt.Hoffman Adding a single key to the Particle Toggle track now makes an infinite range section that is displayed in the UI. #jira UE-56295 Change 3966547 by Andrew.Rodham Sequencer: Fixed rounding errors when drawing the section background on boolean sections - Logic was using time in sectonds which caused rounding errors on evaluation and flickering red/green stripes when dragging keys around #jira UE-56324 Change 3966563 by Andrew.Rodham Curve Editor: Key editor interface improvements - SKeyEditInterface has a few problems - it does not update in real time when editing properties, and does not support multi-edit which makes it unsuitable for use with the curve editor - We now take a different approach for editing keys by gathering a set of proxy UObjects for each key that is currently selected. These objects are added as top level objects to the details panel which means they support multi edit as you'd expect from any other details panel in the editor. - Proxy objects are updated every tick for the curve editor if they implement the ICurveEditorKeyProxy interface, which allows them to refresh their current value. - Ideally, the same mechanisms would be used in the main sequence interface, and we would be generating the proxy classes at runtime based on the key value type, but that work remains a separate task from this initial offering. #jira UE-56165 Change 3966564 by Andrew.Rodham Curve Editor: Expand to frame when adding or moving keys in the curve editor Change 3967051 by andrew.porter MediaFrameworkTest: Set the CameraPlayer_Video texture to auto clear Change 3967141 by Andrew.Rodham Sequencer: Keep track of spawned objects that have been modified and only re-save such object's default spawnable state on destruction - Now that we're taking this approach, I've remove serveral redundant bits of functionality in the spawn register such as making some spawnables read-only, and the PreSave binding for Sequencer. - We now hook into all object pre-saves to make sure we handle the case where the sequences are saved through the content browser or elsewhere. #jira UE-47686 Change 3967170 by Andrew.Rodham Sequencer: Added the ability to possess anim instances as object bindings - This allows full and direct animation of properties on UAnimInstance, and animation blueprints - Object Bindings are made by first possessing a skeletal mesh component, then choosing the + Add button where its anim instance will be listed - Added a new function to UMovieSceneSequence to gather previously cached objects that should now be invalidated. Anim instances will be re-resolved if a new UAnimInstance is assigned to USkeletalMeshComponent::GetAnimInstance. - ObjectBindingIDs for anim instances are just represented by an entry in a set of GUIDs. We only ever resolve such bindings through USkeletalMeshComponent::GetAnimInstance. - Only currently supported on LevelSequences #jira UE-56132 Change 3967195 by Max.Preussner Core: Updated TRangeSet to use TCallTraits Change 3967345 by JohnHenry.Carawon Test Content Changes - first iteration of spacing out the examples in the shots. Change 3967572 by Max.Chen Sequencer: Fix setting PreviousPlayEvalPosition until after we've tested whether it's set. #jira UE-56518 Change 3967750 by Max.Chen Audio: Set duration based on number of input channels, rather than number of channels to serialize. This fixes an issue where audio split into 2 channels is set to a duration that's twice as long. #jira UE-56430 Change 3967836 by Max.Chen Sequencer: Allow for animating array elements within ustruct properties #jira UE-55887 Change 3968506 by Matt.Hoffman Fixed ambiguous conversions for seconds and frames being overriden by ambiguous conversion to Timecode (in frames). Change 3968748 by Max.Chen Sequencer: Make the event properties submenu widget larger. #jira UE-55557 Change 3968862 by Max.Chen Sequencer: Recursive expansion when shift is down #jira UE-52139 #pr 4194 Change 3968863 by Max.Chen Sequencer: Bind rename command to selected track so that F2 shortcut start renaming #jira UE-52139 #pr 4194 Change 3968872 by Max.Chen Sequencer: Rekey the selected key at the current time. #jira UESEQ-396 Change 3968938 by Max.Chen Cine Camera: Add option to toggle the behavior of locking the rail mount to the orientation of the spline. By default, the option is off, no change in behavior. #jira UE-55815 Change 3968958 by Andrew.Rodham Sequencer: Consider vertical position when hittesting keys #jira UE-56256 Change 3969643 by Max.Preussner Core: Rounding timespans created from double values towards nearest ticks Change 3969646 by Max.Preussner MediaUtils: Implemented timeout mechanism for block-on-fetch feature Change 3969776 by Mike.Zyracki Added Skip Anim Notifiers Toggle per what was in Matinee. Investigated the Enable Root Motion toggle as also discussed but it's implementation is directly contained by the animation asset and unlike animation notifies there seems to be no exposure to interactively disable it during a playback tick. Note if we are generating thumbnails we still automtically disable notifies in the editor to avoid annoying noise playback. Note that if Enable Root Motion/Root locked is specified in the animation asset it does correctly effect the Sequencer. #jira UESEQ-399 Change 3969835 by Matt.Hoffman Playback Range and Selection Range use unified logic for adding themselves as potential snap locations which properly handles inclusive/exclusive bounds. This resolves an issue where having an unset selection range caused a potential snap location to be added on frame 0 and 1 (internal resolution) which caused a misalignment when placing objects near frame 0. This also removes the one frame offset on setting Selection Range to bring behavior inline with other ranges. #jira UE-55420 Change 3969885 by Max.Preussner MediaAssets: Don't register media player CDO with media ticker Change 3971129 by Andrew.Rodham Sequencer: Fixed UMovieSceneSequencePlayer::GotToEndAndStop() not taking into account for start time This is a remnant from when the times were always specified in 0-duration space, rather than actual sequence times. Change 3972056 by JohnHenry.Carawon More updates to Test Content. I continued spacing out the examples in the sequence so that they have a consistent number of frames between each example and during the start/end of the example. Also removed the Marcie sublevel. Change 3972066 by Andrew.Porter MediaFrameworkTest: Setting Marcie folder to be never cooked in package settings Change 3972675 by Matt.Hoffman Splitting Subsequence Sections no longer sets an incorrect playback range on the subsequence when the subsequence has a different internal resolution than the owning sequence. #jira UE-55453 Change 3973376 by Max.Preussner ImgMedia: Zero is the only valid video track for image sequences Change 3973489 by Max.Preussner Launch: Build rules cleanup pass - don't use Media, MediaUtils on server apps - don't link against Media (include-only dependency) - don't include from MediaAssets (dynamic load only) Change 3973760 by Max.Preussner MediaUtils: Moved AppMediaTimeSource implementation into its own file; added logging Change 3973765 by Max.Preussner ImgMedia: Disallowing seek beyond media length Change 3973855 by Max.Preussner MediaFrameworkTest: Updated developer test content Change 3973858 by Max.Preussner MediaCompositing: Blocking on media player time instead of media sample time (the former may not be hit in the current frame) Change 3974988 by Max.Chen Sequencer: Fix trim left so that it also sets the start offset for audio and skeletal animation sections. #jira UE-57015 Change 3976101 by Matt.Hoffman Sequencer will now focus the scroll view on newly created items. #jira UE-56492 Change 3976203 by Max.Chen Property Editor: Add DetailsViewArgs for ColumnWidth. Defaults to 0.65f, no change in existing behavior. Change 3976205 by Max.Chen Sequencer: Set better column widths for sequencer. #jira UE-55557 Change 3976206 by Max.Chen Sequencer: Added menu category for import/export Change 3976265 by Matt.Hoffman Tracks within Object Binding Nodes will now sort using the old behavior so that components are added above other track types. #jira UE-56473 Change 3976901 by Max.Chen Sequencer: Add event names to event track section #jira UESEQ-353 Change 3977878 by Max.Preussner Media: Moved media framework ticking stats into Media module Change 3977982 by Max.Chen Sequencer: Add Edit->Reset section length to duration of source (ie. audio, skeletal animation, shot length) Added MovieSceneSection::GetDefaultDuration and MovieScene::HasDefaultDuration #jira UESEQ-392 Change 3977994 by Max.Preussner Media: Fetching and rendering media samples before viewports are rendered (to ensure frame sync for in-level media playback) #jira UE-53975 Change 3978188 by Matt.Hoffman Easing Curves are now clipped by the sequence's PlayRange when testing against an infinite section. This causes blended sequences to finish their blend when the section starts/ends instead of always using 25% of the total section length to determine default blend range. #jira UE-56362 Change 3978676 by Max.Preussner MediaCompositing: Fixed first frame of rendered out media track missing #jira UE-53975 Change 3978684 by Max.Preussner MediaCompositing: Enabled media track frame sync feature #jira UE-53975 Change 3980026 by Matt.Hoffman Keys can be selected on folded out sections (such as an audio track expanded to show volume and pitch) again. #jira UE-57169 Change 3981614 by Max.Preussner MediaUtils: Added missing subtitle sample queue flush Change 3982311 by Max.Preussner MediaCompositing: Added safeguard for zero length media sources Change 3982389 by andrew.porter QAGame: Adding media track test content into FrameAccuracySubscene Change 3983661 by Max.Chen Sequencer: Add level name to spawn a spawnable into. Add sublevel menu option to set the level #jira UESEQ-390 Change 3983712 by Andrew.Rodham Sequencer: Purge legacy blueprint spawnables from LevelSequence packages #tests Ran a preflight for cooking fortnite, ocean and Orion. Only orion shows up this edge case, and will require a re-save of the EndCines level #jira UE-39173 Change 3983787 by Max.Preussner MediaCompositing: Moved compile time switch for block-on-fetch into media player facade Change 3983812 by Andrew.Rodham Sequencer: Exposed default level sequence instance data to blueprints Change 3984373 by Max.Preussner Media: Added API for quering whether player plug-in supports block on fetch Block on fetch allows Sequencer and other systems to block the game thread until a desired video frame has been decoded. Change 3984670 by JohnHenry.Carawon Movie Rendering Test Content progress. Saving the state of the content. There is a bug where things got replaced with particle emitters and I think it was because I tried to copy paste an animation track into a separate skeletal mesh track. Change 3985097 by Max.Chen Sequencer: Rename Reset to AutoSize Change GetAutoSizeDuration to return TOptional<FFrameTime> #jira UESEQ-392 Change 3986043 by Max.Chen Sequencer: Fix crash when attach/path duration is less than 0. #jira UE-57310 Change 3986373 by Max.Chen Sequencer: Add support for deleting tracks and channels which equates to setting the channel mask. #jira UE-52951 Change 3986375 by Max.Chen Sequencer: Add Create Pose Asset to skeletal animation section. This allows animators to blend animations in sequencer and create new pose assets from them. #jira UESEQ-408 Change 3986796 by Andrew.Rodham Sequencer: Fixed stale object references remaining in ULevelSequence::BindingReferences when using convert to spawnable/possessable - We used to convert objects by creating a new binding, then re-assigning its GUID, which meant we didn't have to do any further object fixup, but the code to achieve this was confusing and led to a vulnerability where object references would not be cleaned up correctly due to the newly created possessable essentially being a temporary object that's immediately thrown away. - To address this, there is now a function for porting all the contents of one object binding to another, and handles the correct fixup required for parent/child object bindings for both spawnables and possessables. - Also added codepath to remove any stale object references from the level sequence reference map on PostLoad (this piggy-backs off the PurgeLegacyBlueprints object version which is close close enough to this change to be identical) #tests Verified that existing sequences with stale references get cleaned up on load. Verified that repreatedly converting from spawnable<->possessable cleans up references correctly. Change 3987807 by JohnHenry.Carawon Updates to the MovieRendering Test Content. - Fixed the spawnable actors that were overwritten - Shortend the Lighting example and combined the Intensity and Color tracks - Organized the Sequence and WorldOutliner to group the examples. Change 3988151 by Max.Chen Cine Camera: Enable keying the "Enable Look at Tracking" toggle. Change 3988880 by Max.Chen Sequencer: Support enter to add asset for all sequencer track editors that have asset pickers. #jira UE-57367 Change 3988953 by Max.Chen Sequencer: Make the track color picker focusable so that it will close when you click away or lose focus. #jira UE-57210 Change 3988962 by Max.Chen MovieSceneCapture: Fix EDL export so that it takes into account movie scene frame resolution and desired frame rate. #jira UE-57365 Change 3988964 by Max.Chen Movie Scene Capture: Clarified tooltip for bRelativeFrameNumbers. If you specify custom start/end frames for the recording, they will be relative to the playback range. #jira UE-57308 Change 3989442 by Max.Chen Fix CIS Change 3991548 by Matt.Hoffman Dragging the time slider no longer causes the time slider to ignore snap-to-interval with "Snap to Keys While Scrubbing" when no keys are in range. #jira UE-57417 Change 3991598 by Matt.Hoffman Snap to Key while scrubbing now mirrors the behavior of "jump to next key". When there are no tracks selected it snaps to all keys and when there are tracks selected it snaps to only keys from that track. This also resolves an issue where deleting an object did not remove it from the Sequencer's selection. Undoing a delete already doesn't seem to restore your selection, so removing it from your selection shouldn't change that behavior. #jira UE-57417 Change 3991603 by Max.Chen Sequencer: Disable EditAnywhere for some section properties #jira UE-53530 Change 3992240 by Max.Preussner MediaAssets: Implemented dynamic audio sample rate adjustment based on audio/media clock drift #jira FORT-70638 Change 3992911 by Andrew.Rodham Sequencer: Fixed saving spawnable state using the wrong spawned object - We now track the object binding ID so that we can apply the spawned object to the correct spawnable when the asset is saved #jira UE-57353 Change 3992914 by Max.Chen Movie Scene Capture: Fix compression quality not being set. The compression interface wasn't being found through query interface, so no compression was being set. Reworked finding it through the output pins. Tested running various compression values. #jira-UE-55488 Change 3992919 by Max.Chen Sequencer: Convert to possessable now uses object template instead of copying properties (ie. see LevelSequenceActorSpawner). This fixes MIDs getting lost when converting to spawnable and back to possessable. #jira UE-52400 Change 3993184 by Max.Chen Sequencer: Don't show +Transform/+Path/+Attach track if the actor has the "Mobility" property hidden. Set the Landscape, LandscapeProxy and InstancedFoliage "Mobility" property to be hidden since it is static is not supposed to be dynamically movable. #jira UE-56347 Change 3993238 by Max.Chen Sequencer: Test for hidden mobility in creating keys as well. Refactored to HasHiddenMobility() #jira UE-56347 Change 3993978 by Max.Chen Cine Camera: Enable keying the "Enable Look at Tracking" toggle. #jira UE-57489 Change 3994039 by Max.Chen Landscape: Add Mobility to hidecategories on landscape component #jira UE-56347 Change 3994626 by JohnHenry.Carawon Updated Movie Rendering Test Content. - Fixed the overridden spawnables to their proper object types. Change 3994653 by Christina.TempelaarL Sequencer: Added Final Cut Pro 7 XML Import functionality, improved Export functionality #jira UESEQ-358 Change 3995609 by Max.Chen UMG: Add support for 2d transform mask (translation, rotation, scale, shear) #jira UE-52951 Change 3995778 by JohnHenry.Carawon Movie Rendering Test Content Updates - Adjusted Lights example - Adjusted Camera example - Added Marcie sublevel back in Change 3995942 by JohnHenry.Carawon QAGame: Moving Movie Rendering test content from Developer folder to Sequencer folder Also adjusted level visibility, lights and camera example. Change 3995993 by Christina.TempelaarL Sequencer: FCPXML Export updates - only export sections if in playback range and media exists, warn if media does not exist. Other updates - removed unused methods and variables, fixed message context naming to be more accurate #jira UESEQ-358 Change 3996595 by andrew.porter QAGame: Updating Marcie content in TrackEvaluation level to use Image Plate Change 3996614 by andrew.porter QAGame: Adding color test sequence to the sublevel Change 3996643 by Max.Chen Sequencer: Fix fbx animation export - rotation and scale channels were flipped. #jira UE-57509 #jira UE-57512 #jira UE-57514 Change 3996652 by Max.Preussner Messaging: Fixed delayed messaging using incorrect current time after message router sleep Based on https://github.com/EpicGames/UnrealEngine/pull/4601 Change 3996801 by Max.Chen Sequencer: Fix folder active state for non key area sections. Look at track node sections as well as key areas. #jira UE-57550 Change 3997098 by Matt.Hoffman Cleaned up some remaining ToDo's in STimeRange. Change 3998339 by Max.Preussner Sockets: Added documentation for socket receive functions Change 3998359 by Max.Preussner MediaUtils: Started to implement media recorder helper class Currently only supports BGRA frames in CPU memory. Supporting other formats and buffer types will require conversions on render-thread. I recommend refactoring out the existing conversion code in FMediaTextureResource into a reusable helper class in the MediaUtils module. This should be a good starting point though. Change 3998417 by Matt.Hoffman Keys and Sections can now be moved at the same time inside of Sequencer. Keys can now snap to Sections (and vice versa) instead of just to other Keys. Sections can now be duplicated like keys can. #jira UE-56995 Change 3998427 by JohnHenry.Carawon QAGame: Updating test content for the Movie Rendering feature. - Added an auto activate particle to the beginning of the sequence (it's not part of the sequence at all) - Added an event receiver blueprint to the Events example - Added a particle emitter to both sublevels - Added a camera cut to the end that switches to a separate camera - The camera zoom in, focus and Look At sections are all separate (not overlapping in the sequence) - Added a second actor for the camera Look At - Added a Visibility section for the Actor Hidden In Game track that has possessable and spawnable cube and light Change 3998537 by Max.Chen Sequence Recorder: Restore immersive mode when stopping the sequence even if not in PIE. #jira UE-56407 Change 3999809 by Matt.Hoffman Removed the "Go To" box from Sequencer and instead placed the current time as an always visible control. The previous shortcut (Ctrl + G) now focuses the new widget directly. #jira UESEQ-376 Change 4000543 by Christina.TempelaarL Sequencer: Moving editor-only code from runtime module MovieSceneCapture to editor module MovieSceneTools. Moved EDL and FCP XML exporters as well as Automated Level Scene Capture. #jira UESEQ-358 Change 4000706 by Matt.Hoffman Entering multiple time strings without a number no longer crashes Sequencer. #jira UE-57672 Change 4001051 by andrew.porter MediaFrameworkTest: Fixing up some image sources pointing to the wrong location Change 4001191 by andrew.porter QAGame: Adding some quick EDL/XML test content to dev folder Change 4001243 by Max.Chen Sequencer: Fix import EDL out of range. #jira UE-57665 Change 4001856 by Matt.Hoffman Selecting keys and sections at the same time now also works with animation and audio sections. #jira UE-57716 Change 4002021 by Max.Chen Sequence Recorder: Fix sequence name incrementing. If external recording sets the sequence name, use it. Otherwise, use the recording name from the recording group or the recording settings. #jira UE-57712 Change 4002618 by Max.Chen Viewport: Update the look at location when updating to a locked actor. This fixes an issue so that popping the view out of a locked actor and manipulating the view will not jump to the previous look at location. #jira UE-57725 Change 4002979 by Matt.Hoffman Fixes several edge cases with the end time range that was causing confusion about what the last frame of the sequence was. Dragging the End Frame slider will no longer be off by one tick and jumping to the end via the UI controls now properly respects snapping and stays inside the play range instead of falling outside of it. Overall behavior does not change though and End Frame should be considered an exclusive frame so that frames 0-150 results in a 150 frame long animation (which is frames 0-149). #jira UE-56367 Change 4003185 by Matt.Hoffman Fixed a regression that prevented a section from being dragged upwards past row 0 which normally resulted in all other rows moving down. #jira UE-57717 Change 4003193 by JohnHenry.Carawon QAGame: Updates to test content - Shortened frames between the examples from 95 to 30 - Separated camera setting tracks - Lighting example now switches directly from constant red - green - blue Change 4003369 by Max.Chen Sequence Recorder: Refresh next sequence regardless of internally stored sequence name. #jira UE-55757 Change 4003586 by JohnHenry.Carawon QAGame: Test Content Updates - Level Visibility track now ends to that the levels are not visible when we move to the next example - Shortened camera section, removed Z tranform so that we just move left to right and shortened the overall length Change 4004414 by Max.Chen Movie Scene Capture: Fix regression where rendering with shot handles would only render the first shot. 3972166 addressed an issue where an extra frame would be rendered by finalizing right when the end frame was reached. This was hit on the first shot end frame, so instead, do this only for when the last shot is being rendered. #jira UE-57314 Change 4004765 by Christina.TempelaarL Sequencer: Fixed bugs in FCP XML import/export. - Export: fixed sequence default resolution. - Export: fixed XML files with no shots. - Export: all sections clipped to playback range. - Export: fixed incorrect section start/end times due to precision issues. - Import: fixed incorrectly adding cinematic tracks. - Import: fixed bugs creating new sections. #jira UE-57660 #jira UE-57662 #jira UE-57655 #jira UE-57761 Change 4005119 by Max.Chen Sequencer: Export/import at play rate Change 4005195 by Max.Chen UMG: Finish UMG evaluation on stop. Added object version so that existing UMG assets do not change. #tests - Newly created UMG animation with sections set to restore state now return to their original state. Existing UMG animations with sections set to restore state do not return to their original state. #jira UE-52285 Change 4005377 by Michael.Karambelas QAGame: Moving TM-SequenceRecorder and related content out of my developer folder and into /Content/Sequencer/SequencerRecorder/* Change 4005417 by Michael.Karambelas QAGame: Fixed a BP compiler in the Level Blueprint of TM-SequencerRecorder. Change 4005634 by Michael.Karambelas QAGame: Fix up missing content and broken level sequence in TM-SequenceRecorder after move Change 4006324 by Max.Chen Sequencer: Reset if the focused movie scene is null. This fixes a crash if the user is focused in on a shot and undo takes the user past the point of where the shot was created. #jira UE-57752 #jira UE-47661 Change 4007006 by Max.Chen Sequencer: Fix FindAvailableRowIndex so that it returns the max row index (and not +1) since it doesn't find any conflicting rows. #jira UE-57717 Change 4007907 by Max.Chen Sequencer: Fix crash if there's no animation Change 4007948 by andrew.porter QAGame: added test content to dev folder for Record World Space Change 4008636 by Max.Chen Sequencer: Fix import fbx not setting values properly and creating additional cameras unncessarily. #jira UE-57864 Change 4008759 by Max.Chen Sequencer: Follow up fix for import cameras #jira UE-57864 Change 4009994 by Matt.Hoffman Dragging the left or right handles of the Time Range slider in Sequencer will now zoom your view in on the current center of the screen. This prevents the view from being translating as you tried to zoom in which caused issues at high zoom levels. #jira UESEQ-407 Change 4010169 by Christina.TempelaarL Sequencer: FCP XML fixes. - FCP XML export - no longer clips to playback range - FCP XML and EDL export - fixed missing last frame of some sections after exporting to Premiere. - Automated level capture, EDL export - use RoundToFrame instead of FloorToFrame for computing section start/end frames after frame rate conversion. #jira UE-57802 - partial fix, movie scene capture still needs to render full section rather than clip against playback. Change 4010287 by Mike.Zyracki Add quaternion interpolation option to UMovieScene3DTransformSection. This mimics how Matinee used to work by bascially finding the keys between a time and interpolating the angles as quat's between them. As noted in the code the algorithm needs to handle the case when the x,y,z Rotation keys all aren't at the same time which was not handled by Matinee. Also like Matinee, when in quaternion interoplation mode, we need to not display the function cuves since the interpolated and key values are now all different. (Would like to show them but that's a bigger refactor for perhaps just a one off needed by quaternions). I added a virtual function UMovieSceneSection::ShowCurveForChannel for this since it needs to be dynamic, not on construction of IKeyArea's, and could be useful for other sections. I could though move the method to just UMovieScene3DTransformSection and do a cast instead. Looked into doing a unit test for this but after talking with Andrew P we will work on doign an automated test in EngineQA since that will provide more coverage. Will also add a video the jira. #jira UESEQ-403 Change 4010713 by Mike.Zyracki Added option to key a group of transform channels instead of just the changed channel, or all of them. This is useful for quaternion interpolations where you want rotation keys to be aligned but also useful for other workflows like animating FK Pose to Pose. Change 4010715 by Andrew.Porter MediaFrameworkTest: Setting LogMediaUtils logging from VeryVerbose to Verbose to cut back on the spam Change 4013048 by Max.Chen Sequencer: Fix play/jump status. Update the player status for all position methods (Scrub, Jump, Play). Jump means Stopped. Correctly use PlayTo or JumpTo based on position method. In PlayInternal, JumpTo with the Stopped state (rather than playing state). #jira UE-57844 Change 4013479 by andrew.porter QAGame: Added content in TM-SequenceRecorder to test recording a property on a Cine Camera Component; Press 3 to trigger manual focus distance to increment on a timer Change 4014323 by Max.Chen Sequencer: Fix SetPlaybackPosition so that it jumps or plays based on playback status. #jira UE-57844 Change 4015888 by Max.Chen Sequencer: Fix crash on paste. UMovieSceneSections were gathered from the track node's track. For sub track mode, we want to gather only those sections on that track node row. #jira UE-57951 Change 4015943 by Max.Chen Sequencer: Fix moving shots up when the mouse pos goes outside of the virtual track area. #jira UE-57717 Change 4016293 by Max.Chen Sequencer: Fix relative frame playback end frame calculation so that custom start/end frames remain in the space of the sequence and are not relative. #jira UE-57308 Change 4017075 by Andrew.Rodham Sequencer: Corrected initial evaluation range used when calling UMovieSceneSequencPlayer::Play() Change 4017270 by Christina.TempelaarL Sequencer: FCPXML importer and movie scene capture - Use CeilToFrame when converting section start/end frame times to frame numbers in FCPXML and movie scene capture. - Added support for clip metadata in FCPXML. - Got rid of redundant TokenizedError message class, no longer needed now that FCPXML is in editor directory. - Added log messages currently commented out due to exception, still testing. #UESEQ-358 Change 4018370 by Christina.TempelaarL Sequencer: fixed FCPXML log messages regarding sections with start/end not divisible by display rate. #UESEQ-358 Change 4018378 by Christina.TempelaarL Sequencer: fixed error in previous changelist. #UESEQ-358 Change 4019457 by Max.Chen Sequencer: Show event names only when the event track is selected #jira UE-57897 Change 4022806 by Max.Chen Sequencer: Fix crash on movie scene capture dialog shutdown if movie capture wasn't even started. #jira UE-58106 Change 4022894 by Max.Chen Sequence Recorder: Wrap OpenEditorForAssets after sequence recording within GIsEditor #jira UE-58084 Change 4024487 by Max.Chen Sequencer: Add tooltip for quat interpolation #jira UE-58113 Change 4024562 by Max.Chen Sequencer: Change path/attach track sequence binding id to currently focused sequence id so that bindings can be created in subsequences Change 4027414 by JohnHenry.Carawon QAGame: Checking in content that shows a bug with using particles systems and Delay Before Shot Warm Up. Change 4028990 by Max.Chen Sequencer: Fix evaluate sub sequences in isolation. This check was added with the compile on the fly logic. Not sure why it was necessary but it seems like the sub sequence data needs to be updated in order to evaluate sub sequences in isolation. #jira UE-58184 Change 4029004 by Max.Chen Sequencer: Ensure that old binding references are removed when re-assigning actors in sequencer #jira UE-57898 Change 4030997 by JohnHenry.Carawon QAGame: Fixing name of the master sequence Change 4031785 by Michael.Karambelas QAGame: Added an instance of ThirdPerson Run to TM-SequenceRecorder for Record to Possessable test. Change 4035548 by Andrew.Rodham Sequencer: Changed FMovieSceneEvaluationTemplate::TemplateSignature to be a serial number to address non-deterministic cooking issues - This commit is related to the repro steps found in 3914599 and 3934307, both of which have been verified with this new change. - Copy of 4031684 from //Fortnite/Main/... #jira FORT-84852 Change 4036312 by Max.Chen Sequencer: Fix zoom view range so that it uses the passed in InZoomDelta Change 4036318 by Max.Chen Sequencer: Auto size now returns a range and defaults to the channel proxy range so that keyed regions can also be autosized. Change 4036322 by Max.Chen Forgot missing change Change 4036360 by Max.Chen Sequencer: Fix play rate calculation when skeletal animation section play rate changes. Change 4037163 by Mike.Zyracki Weighted Tangent Implementation Tricky thing is that you need to solve a cubic in order to get the bezier weights for the time part of the curve. See https://www.gamedev.net/forums/topic/474094-help-function-curves-for-animation-interpolation/ Maya provides an implementation in it's dev kit but I didn't use it since it was horribly slow and uses an iterative solution to solve the cubic needed. Instead I use an old algorithm (Cardano's method), to solve the cubic which should be much faster. Though relative simple to code from principles I just went ahead and used a version from Graphics Gems 1. I put this cubic solver directly in MovieSceneFloatChannel.cpp, but will need to move it when we support Rich Curve, maybe to FMath:: (which would probalby require some other functions for solving quartics, etc.. for completeness.). Also note we resolve this on every evaluation but dont' need to if the interval the time is evaluating hasn't had any change in values or tangents. So again when we support FRichCurve we can create a Weighted Evaluating class that can hold the cache. Also with the tangent drags I got rid of the Cardinal position that was used to calculate non-weight tangents from the key point and just quickly getting a direction. With weighted tangents we need to use the delta instead (otherwise when moving multiple they would all get the same weight based upon distance to the cardinal point. ) For mixed tangents types what I'm defaulting to non weighted if the interval doesn't match. May need to do weighted instead, not sure. What's left is just FBX import, for tomorrow. #jira UESEQ-76 Change 4037435 by Mike.Zyracki Fix fo build warnings from weighted tangent submission. #trivial Change 4038091 by Michael.Karambelas QAGame: Updated a Sequence Recorder group in TM-SequenceRecorder that had an actor missing the animation. Change 4038374 by Andrew.Rodham Sequencer: Refined scrubber styling for level sequences and actor sequences - Scrubber now shows a block the width of a dsplay rate frame, plus a line for the actual evaluated time. UMG reverts back to the previous styling (no block) - Keys that are outside of the playback range are now drawn with a subdued effect - Tick labels are no longer drawn when directly underneath the scrubber Change 4038490 by Max.Chen Sequencer: Expose tangent weight values in details panel. Change 4038620 by Andrew.Rodham Sequencer: Advanced time panel polish #jira UESEQ-426 Change 4038677 by Max.Chen Movie Scene Capture: Redirector for MovieSceneTools.AutomatedLevelSequenceCapture #jira UE-58248 Change 4039739 by Max.Chen Sequencer: Media track should only be supported by Level Sequence Change 4040024 by JohnHenry.Carawon QAGame: Fix EventReciever and OverrideBinding example The level sequence was set to none so the fix was to set it back to TrackEvaluation_Master. Change 4040610 by Andrew.Rodham Curve Editor: Moved weighted tangent switchers to a single toggle command (CTRL+W) and added an icon #jira 58383 Change 4040882 by Mike.Zyracki Keep broken when turning on weighted #jira UE-58435 Change 4041089 by andrew.porter QAGame: Sequence for Long Tangents bug Change 4041498 by Mike.Zyracki Turn off weighted when going auto to prevent large tangents. Do it both in UI and when doing AutoSetTangents() to really make sure it doesn't happen. #jira UE-58452 Change 4041752 by andrew.porter MediaFrameworkTest: Adding some better logging for setting rates when not supported. Also ignoring commiting URL when there is no text Change 4041896 by Matt.Hoffman The transform dialog box now transforms selected keys and sections, instead of just keys. #jira UE-58265 [CL 4044405 by Max Chen in Main branch]
2018-05-02 10:10:00 -04:00
float LinePos = RangeToScreen.InputToLocalX(ScrubPosition.AsSeconds());
LinePoints.AddUninitialized(2);
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 4044339) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3947021 by Max.Chen Sequencer: Don't preserve root component when copying object properties. A spawnable empty actor, has a root component that is generated by the empty actor factory. If the object template's root component is preserved when copying from the spawnable empty actor, the root component will not be copied over. Therefore, we need to NOT preserve the root component when copying object properties. #jira UE-55825 Change 3947366 by Max.Preussner WmfMedia: Better log output Change 3947367 by Max.Preussner MfMedia: Better detection of compressed format properties on Windows Change 3949102 by Max.Chen Sequencer: Remove SequenceActorTag when converting to possessable. #jira UE-56206 Change 3949207 by andrew.porter EngineTest: Set the screenshot nodes resolution to 1280x720 Change 3949404 by Max.Chen Sequencer: More informative tooltip for "Rerun Construction Scripts" option. It now says "Rerun construction scripts every frame on actors that have 'Rerun Construction Script in Sequencer' enabled in their class settings". Change 3950067 by Matt.Hoffman Renamed UAutomatedLevelSequenceCapture's StartFrame and EndFrame to CustomStartFrame/CustomEndFrame to reflect that it is user-overriden. This will also resolve upgrade issues due to the variable datatype changing. #jira UE-56189 Change 3950193 by JohnHenry.Carawon Updating my latest MovieRendering test content. Change 3950757 by JohnHenry.Carawon More updates to MovieRendering test content Change 3952059 by Max.Chen Resave LevelVisibility_SubLevels to fix data loss conversion warning of OpacityMaskConstant #jira UE-56086 Change 3952283 by Max.Chen Sequencer: Disable dropping level sequence assets as spawnables. #jira UE-56120 Change 3952422 by Max.Chen Sequence Recorder: Add button to record from the current player. #jira UE-55942 Change 3952987 by JohnHenry.Carawon MovieRendering Test Content - Fixing camera bindings and changing the override binding actor Change 3953823 by Mike.Zyracki Fix for Bad FBX Import Tangents not scaled by frame rate. After looking at this again it seems that a set of MovieScene:: overiddes for the channel traits wasn't set correctly, so use the ADL idiom to use MovieScene, which can then call Optimize in the correct namespace. With this we can now correctly use the passed in tolerance. There was also a redundant set of Optimize calls so that it could happen twice so removed them, and needed an extra check in the float channel Optimize. Also since we need to set auto tangents no matter if we optimize we don't set that parameter(though leave it since it's used by context menu key reduction). Finally fixed speed issue with trajectories caused by calculating way too many substeps. Reverted back to a time based step size for consistency. #jira UE-56193 Change 3954317 by Matt.Hoffman Adding a key to the last frame of a section no longer causes a crash. Keys can already be moved to be on the last frame of a section so now you can just add a key there directly. #jira UE-56255 Change 3954326 by Matt.Hoffman Dilating a section that is only infinite on one side no longer causes a crash. #jira UE-56260 Change 3954486 by Max.Chen PR #4580: Exposes IsReversed() from UMovieSceneSequencePlayer (Contributed by alanedwardes) Change 3955238 by Max.Preussner Messaging: Enabled delayed message routing https://github.com/EpicGames/UnrealEngine/pull/4574 #jira UE-56247 Change 3955901 by Max.Preussner MediaFrameworkTest: Added developer test for overriding desired media player plug-in at runtime. Change 3955922 by Andrew.Porter QAGame: Updating movie rendering content in dev folder Change 3956004 by andrew.porter QAGame: Adding MPC track to movie rendering test content Change 3956510 by Max.Chen Sequencer: Fix fbx camera import of static properties so that they are imported before default tracks are created. Otherwise, the default tracks inherit the default properties of the camera, rather than the values from the fbx. #jira UE-56311 Change 3957613 by Max.Preussner MediaUtils: Added code documentation to media player facade Change 3958005 by Max.Preussner MediaUtils: Added method to get number of sinks Change 3958934 by Max.Chen Sequencer: Fix keys getting added and sequence getting erroneously re-evaluated when auto key is off. Only apply defaults if there are no keys. Only modify the movie scene section before creating keys or setting defaults. #jira UE-55903 Change 3959687 by Andrew.Rodham Sequencer: Fixed visibility track external values being inverted #jira UE-56324 Change 3960507 by Max.Preussner Core: Fixed incorrect rounding in FMath::DivideAndRoundNearest Change 3962047 by JohnHenry.Carawon MovieRendering Test Content Changes: - Add Lightmass Importance Volumes to sublevel to fix warnings - Rebuilt Lighting - Add a third sequence for Gamut testing - Resaved the sound master.uasset to fix warning Change 3962211 by Mike.Zyracki Add Frame Numbers to selected animation sections. Added MapTimeToAnimation to MovieSceneSkeletalAnimation so that we could get it from the Skeleton Animation track Editor. Since the thickness of the frame line can change based upon frame rate and zoom we need to calculate it similarly to how the time slider controller does it. Those calculations were private so we had to expose FScrubRangeToScreen and GetScubberPixelRange from the TimeSliderController. Also needed to know if the section itself was selected so added a bIsSelected flag to the section Painter. Also fixed a bug where you couldn't add a section if other sections existed at different times in MovieScenePropertyTrack and could crash due to the check(). #jira UESEQ-395 Change 3962497 by Max.Preussner Core: Added new string formatting argument to FTimespan Change 3963662 by Max.Chen CineCamera: Flip VistaVision width and height. Change 3963731 by Max.Preussner MediaCompositing: Implemented sequence recording support for media track Change 3964195 by Andrew.Rodham Sequencer: Set inverted property correctly for newly created visibility track sections - Also clamp evaluation for key editors to the bounds of the section so we're not displaying values outside of the section bounds when the cursor is not on the bounds #jira UE-56324 #coderevew Max.Chen Change 3964196 by Andrew.Rodham Sequencer: Fixed crash when attempting to render sections that resulted in a negative intersection with the view range Change 3964275 by Andrew.Rodham Sequencer: Fixed MovieScene::ClampToDiscreteRange for infinite range bounds Change 3964364 by Andrew.Rodham Curve Editor: Reduce minimum vertical view range when zooming to fit Change 3965091 by Max.Chen Sequencer Recorder: Refresh next sequence if empty when starting a recording, otherwise, use existing name. #jira UE-56469 Change 3965148 by Max.Chen Sequence Recorder: Move Record to Possessable to "Actor Recording" group Change 3965162 by Max.Chen Sequence Recorder: Always break out of immersive mode when done recording, even when stopping recording during countdown. #jira UE-56407 Change 3965214 by Max.Preussner QAGame: Enabled ImagePlate plug-in Change 3965574 by Max.Preussner SimpleComposure: Reorganized & upgraded content to work with new Media Track #jira UE-56488 Change 3965651 by Max.Preussner MediaCompositing: Ignoring seek-on-open if media not seekable Change 3966075 by Christina.TempelaarL Sequencer: Added Final Cut Pro 7 XML Export functionality #jira UESEQ-358 Change 3966087 by Matt.Hoffman Adding a single key to the Particle Toggle track now makes an infinite range section that is displayed in the UI. #jira UE-56295 Change 3966547 by Andrew.Rodham Sequencer: Fixed rounding errors when drawing the section background on boolean sections - Logic was using time in sectonds which caused rounding errors on evaluation and flickering red/green stripes when dragging keys around #jira UE-56324 Change 3966563 by Andrew.Rodham Curve Editor: Key editor interface improvements - SKeyEditInterface has a few problems - it does not update in real time when editing properties, and does not support multi-edit which makes it unsuitable for use with the curve editor - We now take a different approach for editing keys by gathering a set of proxy UObjects for each key that is currently selected. These objects are added as top level objects to the details panel which means they support multi edit as you'd expect from any other details panel in the editor. - Proxy objects are updated every tick for the curve editor if they implement the ICurveEditorKeyProxy interface, which allows them to refresh their current value. - Ideally, the same mechanisms would be used in the main sequence interface, and we would be generating the proxy classes at runtime based on the key value type, but that work remains a separate task from this initial offering. #jira UE-56165 Change 3966564 by Andrew.Rodham Curve Editor: Expand to frame when adding or moving keys in the curve editor Change 3967051 by andrew.porter MediaFrameworkTest: Set the CameraPlayer_Video texture to auto clear Change 3967141 by Andrew.Rodham Sequencer: Keep track of spawned objects that have been modified and only re-save such object's default spawnable state on destruction - Now that we're taking this approach, I've remove serveral redundant bits of functionality in the spawn register such as making some spawnables read-only, and the PreSave binding for Sequencer. - We now hook into all object pre-saves to make sure we handle the case where the sequences are saved through the content browser or elsewhere. #jira UE-47686 Change 3967170 by Andrew.Rodham Sequencer: Added the ability to possess anim instances as object bindings - This allows full and direct animation of properties on UAnimInstance, and animation blueprints - Object Bindings are made by first possessing a skeletal mesh component, then choosing the + Add button where its anim instance will be listed - Added a new function to UMovieSceneSequence to gather previously cached objects that should now be invalidated. Anim instances will be re-resolved if a new UAnimInstance is assigned to USkeletalMeshComponent::GetAnimInstance. - ObjectBindingIDs for anim instances are just represented by an entry in a set of GUIDs. We only ever resolve such bindings through USkeletalMeshComponent::GetAnimInstance. - Only currently supported on LevelSequences #jira UE-56132 Change 3967195 by Max.Preussner Core: Updated TRangeSet to use TCallTraits Change 3967345 by JohnHenry.Carawon Test Content Changes - first iteration of spacing out the examples in the shots. Change 3967572 by Max.Chen Sequencer: Fix setting PreviousPlayEvalPosition until after we've tested whether it's set. #jira UE-56518 Change 3967750 by Max.Chen Audio: Set duration based on number of input channels, rather than number of channels to serialize. This fixes an issue where audio split into 2 channels is set to a duration that's twice as long. #jira UE-56430 Change 3967836 by Max.Chen Sequencer: Allow for animating array elements within ustruct properties #jira UE-55887 Change 3968506 by Matt.Hoffman Fixed ambiguous conversions for seconds and frames being overriden by ambiguous conversion to Timecode (in frames). Change 3968748 by Max.Chen Sequencer: Make the event properties submenu widget larger. #jira UE-55557 Change 3968862 by Max.Chen Sequencer: Recursive expansion when shift is down #jira UE-52139 #pr 4194 Change 3968863 by Max.Chen Sequencer: Bind rename command to selected track so that F2 shortcut start renaming #jira UE-52139 #pr 4194 Change 3968872 by Max.Chen Sequencer: Rekey the selected key at the current time. #jira UESEQ-396 Change 3968938 by Max.Chen Cine Camera: Add option to toggle the behavior of locking the rail mount to the orientation of the spline. By default, the option is off, no change in behavior. #jira UE-55815 Change 3968958 by Andrew.Rodham Sequencer: Consider vertical position when hittesting keys #jira UE-56256 Change 3969643 by Max.Preussner Core: Rounding timespans created from double values towards nearest ticks Change 3969646 by Max.Preussner MediaUtils: Implemented timeout mechanism for block-on-fetch feature Change 3969776 by Mike.Zyracki Added Skip Anim Notifiers Toggle per what was in Matinee. Investigated the Enable Root Motion toggle as also discussed but it's implementation is directly contained by the animation asset and unlike animation notifies there seems to be no exposure to interactively disable it during a playback tick. Note if we are generating thumbnails we still automtically disable notifies in the editor to avoid annoying noise playback. Note that if Enable Root Motion/Root locked is specified in the animation asset it does correctly effect the Sequencer. #jira UESEQ-399 Change 3969835 by Matt.Hoffman Playback Range and Selection Range use unified logic for adding themselves as potential snap locations which properly handles inclusive/exclusive bounds. This resolves an issue where having an unset selection range caused a potential snap location to be added on frame 0 and 1 (internal resolution) which caused a misalignment when placing objects near frame 0. This also removes the one frame offset on setting Selection Range to bring behavior inline with other ranges. #jira UE-55420 Change 3969885 by Max.Preussner MediaAssets: Don't register media player CDO with media ticker Change 3971129 by Andrew.Rodham Sequencer: Fixed UMovieSceneSequencePlayer::GotToEndAndStop() not taking into account for start time This is a remnant from when the times were always specified in 0-duration space, rather than actual sequence times. Change 3972056 by JohnHenry.Carawon More updates to Test Content. I continued spacing out the examples in the sequence so that they have a consistent number of frames between each example and during the start/end of the example. Also removed the Marcie sublevel. Change 3972066 by Andrew.Porter MediaFrameworkTest: Setting Marcie folder to be never cooked in package settings Change 3972675 by Matt.Hoffman Splitting Subsequence Sections no longer sets an incorrect playback range on the subsequence when the subsequence has a different internal resolution than the owning sequence. #jira UE-55453 Change 3973376 by Max.Preussner ImgMedia: Zero is the only valid video track for image sequences Change 3973489 by Max.Preussner Launch: Build rules cleanup pass - don't use Media, MediaUtils on server apps - don't link against Media (include-only dependency) - don't include from MediaAssets (dynamic load only) Change 3973760 by Max.Preussner MediaUtils: Moved AppMediaTimeSource implementation into its own file; added logging Change 3973765 by Max.Preussner ImgMedia: Disallowing seek beyond media length Change 3973855 by Max.Preussner MediaFrameworkTest: Updated developer test content Change 3973858 by Max.Preussner MediaCompositing: Blocking on media player time instead of media sample time (the former may not be hit in the current frame) Change 3974988 by Max.Chen Sequencer: Fix trim left so that it also sets the start offset for audio and skeletal animation sections. #jira UE-57015 Change 3976101 by Matt.Hoffman Sequencer will now focus the scroll view on newly created items. #jira UE-56492 Change 3976203 by Max.Chen Property Editor: Add DetailsViewArgs for ColumnWidth. Defaults to 0.65f, no change in existing behavior. Change 3976205 by Max.Chen Sequencer: Set better column widths for sequencer. #jira UE-55557 Change 3976206 by Max.Chen Sequencer: Added menu category for import/export Change 3976265 by Matt.Hoffman Tracks within Object Binding Nodes will now sort using the old behavior so that components are added above other track types. #jira UE-56473 Change 3976901 by Max.Chen Sequencer: Add event names to event track section #jira UESEQ-353 Change 3977878 by Max.Preussner Media: Moved media framework ticking stats into Media module Change 3977982 by Max.Chen Sequencer: Add Edit->Reset section length to duration of source (ie. audio, skeletal animation, shot length) Added MovieSceneSection::GetDefaultDuration and MovieScene::HasDefaultDuration #jira UESEQ-392 Change 3977994 by Max.Preussner Media: Fetching and rendering media samples before viewports are rendered (to ensure frame sync for in-level media playback) #jira UE-53975 Change 3978188 by Matt.Hoffman Easing Curves are now clipped by the sequence's PlayRange when testing against an infinite section. This causes blended sequences to finish their blend when the section starts/ends instead of always using 25% of the total section length to determine default blend range. #jira UE-56362 Change 3978676 by Max.Preussner MediaCompositing: Fixed first frame of rendered out media track missing #jira UE-53975 Change 3978684 by Max.Preussner MediaCompositing: Enabled media track frame sync feature #jira UE-53975 Change 3980026 by Matt.Hoffman Keys can be selected on folded out sections (such as an audio track expanded to show volume and pitch) again. #jira UE-57169 Change 3981614 by Max.Preussner MediaUtils: Added missing subtitle sample queue flush Change 3982311 by Max.Preussner MediaCompositing: Added safeguard for zero length media sources Change 3982389 by andrew.porter QAGame: Adding media track test content into FrameAccuracySubscene Change 3983661 by Max.Chen Sequencer: Add level name to spawn a spawnable into. Add sublevel menu option to set the level #jira UESEQ-390 Change 3983712 by Andrew.Rodham Sequencer: Purge legacy blueprint spawnables from LevelSequence packages #tests Ran a preflight for cooking fortnite, ocean and Orion. Only orion shows up this edge case, and will require a re-save of the EndCines level #jira UE-39173 Change 3983787 by Max.Preussner MediaCompositing: Moved compile time switch for block-on-fetch into media player facade Change 3983812 by Andrew.Rodham Sequencer: Exposed default level sequence instance data to blueprints Change 3984373 by Max.Preussner Media: Added API for quering whether player plug-in supports block on fetch Block on fetch allows Sequencer and other systems to block the game thread until a desired video frame has been decoded. Change 3984670 by JohnHenry.Carawon Movie Rendering Test Content progress. Saving the state of the content. There is a bug where things got replaced with particle emitters and I think it was because I tried to copy paste an animation track into a separate skeletal mesh track. Change 3985097 by Max.Chen Sequencer: Rename Reset to AutoSize Change GetAutoSizeDuration to return TOptional<FFrameTime> #jira UESEQ-392 Change 3986043 by Max.Chen Sequencer: Fix crash when attach/path duration is less than 0. #jira UE-57310 Change 3986373 by Max.Chen Sequencer: Add support for deleting tracks and channels which equates to setting the channel mask. #jira UE-52951 Change 3986375 by Max.Chen Sequencer: Add Create Pose Asset to skeletal animation section. This allows animators to blend animations in sequencer and create new pose assets from them. #jira UESEQ-408 Change 3986796 by Andrew.Rodham Sequencer: Fixed stale object references remaining in ULevelSequence::BindingReferences when using convert to spawnable/possessable - We used to convert objects by creating a new binding, then re-assigning its GUID, which meant we didn't have to do any further object fixup, but the code to achieve this was confusing and led to a vulnerability where object references would not be cleaned up correctly due to the newly created possessable essentially being a temporary object that's immediately thrown away. - To address this, there is now a function for porting all the contents of one object binding to another, and handles the correct fixup required for parent/child object bindings for both spawnables and possessables. - Also added codepath to remove any stale object references from the level sequence reference map on PostLoad (this piggy-backs off the PurgeLegacyBlueprints object version which is close close enough to this change to be identical) #tests Verified that existing sequences with stale references get cleaned up on load. Verified that repreatedly converting from spawnable<->possessable cleans up references correctly. Change 3987807 by JohnHenry.Carawon Updates to the MovieRendering Test Content. - Fixed the spawnable actors that were overwritten - Shortend the Lighting example and combined the Intensity and Color tracks - Organized the Sequence and WorldOutliner to group the examples. Change 3988151 by Max.Chen Cine Camera: Enable keying the "Enable Look at Tracking" toggle. Change 3988880 by Max.Chen Sequencer: Support enter to add asset for all sequencer track editors that have asset pickers. #jira UE-57367 Change 3988953 by Max.Chen Sequencer: Make the track color picker focusable so that it will close when you click away or lose focus. #jira UE-57210 Change 3988962 by Max.Chen MovieSceneCapture: Fix EDL export so that it takes into account movie scene frame resolution and desired frame rate. #jira UE-57365 Change 3988964 by Max.Chen Movie Scene Capture: Clarified tooltip for bRelativeFrameNumbers. If you specify custom start/end frames for the recording, they will be relative to the playback range. #jira UE-57308 Change 3989442 by Max.Chen Fix CIS Change 3991548 by Matt.Hoffman Dragging the time slider no longer causes the time slider to ignore snap-to-interval with "Snap to Keys While Scrubbing" when no keys are in range. #jira UE-57417 Change 3991598 by Matt.Hoffman Snap to Key while scrubbing now mirrors the behavior of "jump to next key". When there are no tracks selected it snaps to all keys and when there are tracks selected it snaps to only keys from that track. This also resolves an issue where deleting an object did not remove it from the Sequencer's selection. Undoing a delete already doesn't seem to restore your selection, so removing it from your selection shouldn't change that behavior. #jira UE-57417 Change 3991603 by Max.Chen Sequencer: Disable EditAnywhere for some section properties #jira UE-53530 Change 3992240 by Max.Preussner MediaAssets: Implemented dynamic audio sample rate adjustment based on audio/media clock drift #jira FORT-70638 Change 3992911 by Andrew.Rodham Sequencer: Fixed saving spawnable state using the wrong spawned object - We now track the object binding ID so that we can apply the spawned object to the correct spawnable when the asset is saved #jira UE-57353 Change 3992914 by Max.Chen Movie Scene Capture: Fix compression quality not being set. The compression interface wasn't being found through query interface, so no compression was being set. Reworked finding it through the output pins. Tested running various compression values. #jira-UE-55488 Change 3992919 by Max.Chen Sequencer: Convert to possessable now uses object template instead of copying properties (ie. see LevelSequenceActorSpawner). This fixes MIDs getting lost when converting to spawnable and back to possessable. #jira UE-52400 Change 3993184 by Max.Chen Sequencer: Don't show +Transform/+Path/+Attach track if the actor has the "Mobility" property hidden. Set the Landscape, LandscapeProxy and InstancedFoliage "Mobility" property to be hidden since it is static is not supposed to be dynamically movable. #jira UE-56347 Change 3993238 by Max.Chen Sequencer: Test for hidden mobility in creating keys as well. Refactored to HasHiddenMobility() #jira UE-56347 Change 3993978 by Max.Chen Cine Camera: Enable keying the "Enable Look at Tracking" toggle. #jira UE-57489 Change 3994039 by Max.Chen Landscape: Add Mobility to hidecategories on landscape component #jira UE-56347 Change 3994626 by JohnHenry.Carawon Updated Movie Rendering Test Content. - Fixed the overridden spawnables to their proper object types. Change 3994653 by Christina.TempelaarL Sequencer: Added Final Cut Pro 7 XML Import functionality, improved Export functionality #jira UESEQ-358 Change 3995609 by Max.Chen UMG: Add support for 2d transform mask (translation, rotation, scale, shear) #jira UE-52951 Change 3995778 by JohnHenry.Carawon Movie Rendering Test Content Updates - Adjusted Lights example - Adjusted Camera example - Added Marcie sublevel back in Change 3995942 by JohnHenry.Carawon QAGame: Moving Movie Rendering test content from Developer folder to Sequencer folder Also adjusted level visibility, lights and camera example. Change 3995993 by Christina.TempelaarL Sequencer: FCPXML Export updates - only export sections if in playback range and media exists, warn if media does not exist. Other updates - removed unused methods and variables, fixed message context naming to be more accurate #jira UESEQ-358 Change 3996595 by andrew.porter QAGame: Updating Marcie content in TrackEvaluation level to use Image Plate Change 3996614 by andrew.porter QAGame: Adding color test sequence to the sublevel Change 3996643 by Max.Chen Sequencer: Fix fbx animation export - rotation and scale channels were flipped. #jira UE-57509 #jira UE-57512 #jira UE-57514 Change 3996652 by Max.Preussner Messaging: Fixed delayed messaging using incorrect current time after message router sleep Based on https://github.com/EpicGames/UnrealEngine/pull/4601 Change 3996801 by Max.Chen Sequencer: Fix folder active state for non key area sections. Look at track node sections as well as key areas. #jira UE-57550 Change 3997098 by Matt.Hoffman Cleaned up some remaining ToDo's in STimeRange. Change 3998339 by Max.Preussner Sockets: Added documentation for socket receive functions Change 3998359 by Max.Preussner MediaUtils: Started to implement media recorder helper class Currently only supports BGRA frames in CPU memory. Supporting other formats and buffer types will require conversions on render-thread. I recommend refactoring out the existing conversion code in FMediaTextureResource into a reusable helper class in the MediaUtils module. This should be a good starting point though. Change 3998417 by Matt.Hoffman Keys and Sections can now be moved at the same time inside of Sequencer. Keys can now snap to Sections (and vice versa) instead of just to other Keys. Sections can now be duplicated like keys can. #jira UE-56995 Change 3998427 by JohnHenry.Carawon QAGame: Updating test content for the Movie Rendering feature. - Added an auto activate particle to the beginning of the sequence (it's not part of the sequence at all) - Added an event receiver blueprint to the Events example - Added a particle emitter to both sublevels - Added a camera cut to the end that switches to a separate camera - The camera zoom in, focus and Look At sections are all separate (not overlapping in the sequence) - Added a second actor for the camera Look At - Added a Visibility section for the Actor Hidden In Game track that has possessable and spawnable cube and light Change 3998537 by Max.Chen Sequence Recorder: Restore immersive mode when stopping the sequence even if not in PIE. #jira UE-56407 Change 3999809 by Matt.Hoffman Removed the "Go To" box from Sequencer and instead placed the current time as an always visible control. The previous shortcut (Ctrl + G) now focuses the new widget directly. #jira UESEQ-376 Change 4000543 by Christina.TempelaarL Sequencer: Moving editor-only code from runtime module MovieSceneCapture to editor module MovieSceneTools. Moved EDL and FCP XML exporters as well as Automated Level Scene Capture. #jira UESEQ-358 Change 4000706 by Matt.Hoffman Entering multiple time strings without a number no longer crashes Sequencer. #jira UE-57672 Change 4001051 by andrew.porter MediaFrameworkTest: Fixing up some image sources pointing to the wrong location Change 4001191 by andrew.porter QAGame: Adding some quick EDL/XML test content to dev folder Change 4001243 by Max.Chen Sequencer: Fix import EDL out of range. #jira UE-57665 Change 4001856 by Matt.Hoffman Selecting keys and sections at the same time now also works with animation and audio sections. #jira UE-57716 Change 4002021 by Max.Chen Sequence Recorder: Fix sequence name incrementing. If external recording sets the sequence name, use it. Otherwise, use the recording name from the recording group or the recording settings. #jira UE-57712 Change 4002618 by Max.Chen Viewport: Update the look at location when updating to a locked actor. This fixes an issue so that popping the view out of a locked actor and manipulating the view will not jump to the previous look at location. #jira UE-57725 Change 4002979 by Matt.Hoffman Fixes several edge cases with the end time range that was causing confusion about what the last frame of the sequence was. Dragging the End Frame slider will no longer be off by one tick and jumping to the end via the UI controls now properly respects snapping and stays inside the play range instead of falling outside of it. Overall behavior does not change though and End Frame should be considered an exclusive frame so that frames 0-150 results in a 150 frame long animation (which is frames 0-149). #jira UE-56367 Change 4003185 by Matt.Hoffman Fixed a regression that prevented a section from being dragged upwards past row 0 which normally resulted in all other rows moving down. #jira UE-57717 Change 4003193 by JohnHenry.Carawon QAGame: Updates to test content - Shortened frames between the examples from 95 to 30 - Separated camera setting tracks - Lighting example now switches directly from constant red - green - blue Change 4003369 by Max.Chen Sequence Recorder: Refresh next sequence regardless of internally stored sequence name. #jira UE-55757 Change 4003586 by JohnHenry.Carawon QAGame: Test Content Updates - Level Visibility track now ends to that the levels are not visible when we move to the next example - Shortened camera section, removed Z tranform so that we just move left to right and shortened the overall length Change 4004414 by Max.Chen Movie Scene Capture: Fix regression where rendering with shot handles would only render the first shot. 3972166 addressed an issue where an extra frame would be rendered by finalizing right when the end frame was reached. This was hit on the first shot end frame, so instead, do this only for when the last shot is being rendered. #jira UE-57314 Change 4004765 by Christina.TempelaarL Sequencer: Fixed bugs in FCP XML import/export. - Export: fixed sequence default resolution. - Export: fixed XML files with no shots. - Export: all sections clipped to playback range. - Export: fixed incorrect section start/end times due to precision issues. - Import: fixed incorrectly adding cinematic tracks. - Import: fixed bugs creating new sections. #jira UE-57660 #jira UE-57662 #jira UE-57655 #jira UE-57761 Change 4005119 by Max.Chen Sequencer: Export/import at play rate Change 4005195 by Max.Chen UMG: Finish UMG evaluation on stop. Added object version so that existing UMG assets do not change. #tests - Newly created UMG animation with sections set to restore state now return to their original state. Existing UMG animations with sections set to restore state do not return to their original state. #jira UE-52285 Change 4005377 by Michael.Karambelas QAGame: Moving TM-SequenceRecorder and related content out of my developer folder and into /Content/Sequencer/SequencerRecorder/* Change 4005417 by Michael.Karambelas QAGame: Fixed a BP compiler in the Level Blueprint of TM-SequencerRecorder. Change 4005634 by Michael.Karambelas QAGame: Fix up missing content and broken level sequence in TM-SequenceRecorder after move Change 4006324 by Max.Chen Sequencer: Reset if the focused movie scene is null. This fixes a crash if the user is focused in on a shot and undo takes the user past the point of where the shot was created. #jira UE-57752 #jira UE-47661 Change 4007006 by Max.Chen Sequencer: Fix FindAvailableRowIndex so that it returns the max row index (and not +1) since it doesn't find any conflicting rows. #jira UE-57717 Change 4007907 by Max.Chen Sequencer: Fix crash if there's no animation Change 4007948 by andrew.porter QAGame: added test content to dev folder for Record World Space Change 4008636 by Max.Chen Sequencer: Fix import fbx not setting values properly and creating additional cameras unncessarily. #jira UE-57864 Change 4008759 by Max.Chen Sequencer: Follow up fix for import cameras #jira UE-57864 Change 4009994 by Matt.Hoffman Dragging the left or right handles of the Time Range slider in Sequencer will now zoom your view in on the current center of the screen. This prevents the view from being translating as you tried to zoom in which caused issues at high zoom levels. #jira UESEQ-407 Change 4010169 by Christina.TempelaarL Sequencer: FCP XML fixes. - FCP XML export - no longer clips to playback range - FCP XML and EDL export - fixed missing last frame of some sections after exporting to Premiere. - Automated level capture, EDL export - use RoundToFrame instead of FloorToFrame for computing section start/end frames after frame rate conversion. #jira UE-57802 - partial fix, movie scene capture still needs to render full section rather than clip against playback. Change 4010287 by Mike.Zyracki Add quaternion interpolation option to UMovieScene3DTransformSection. This mimics how Matinee used to work by bascially finding the keys between a time and interpolating the angles as quat's between them. As noted in the code the algorithm needs to handle the case when the x,y,z Rotation keys all aren't at the same time which was not handled by Matinee. Also like Matinee, when in quaternion interoplation mode, we need to not display the function cuves since the interpolated and key values are now all different. (Would like to show them but that's a bigger refactor for perhaps just a one off needed by quaternions). I added a virtual function UMovieSceneSection::ShowCurveForChannel for this since it needs to be dynamic, not on construction of IKeyArea's, and could be useful for other sections. I could though move the method to just UMovieScene3DTransformSection and do a cast instead. Looked into doing a unit test for this but after talking with Andrew P we will work on doign an automated test in EngineQA since that will provide more coverage. Will also add a video the jira. #jira UESEQ-403 Change 4010713 by Mike.Zyracki Added option to key a group of transform channels instead of just the changed channel, or all of them. This is useful for quaternion interpolations where you want rotation keys to be aligned but also useful for other workflows like animating FK Pose to Pose. Change 4010715 by Andrew.Porter MediaFrameworkTest: Setting LogMediaUtils logging from VeryVerbose to Verbose to cut back on the spam Change 4013048 by Max.Chen Sequencer: Fix play/jump status. Update the player status for all position methods (Scrub, Jump, Play). Jump means Stopped. Correctly use PlayTo or JumpTo based on position method. In PlayInternal, JumpTo with the Stopped state (rather than playing state). #jira UE-57844 Change 4013479 by andrew.porter QAGame: Added content in TM-SequenceRecorder to test recording a property on a Cine Camera Component; Press 3 to trigger manual focus distance to increment on a timer Change 4014323 by Max.Chen Sequencer: Fix SetPlaybackPosition so that it jumps or plays based on playback status. #jira UE-57844 Change 4015888 by Max.Chen Sequencer: Fix crash on paste. UMovieSceneSections were gathered from the track node's track. For sub track mode, we want to gather only those sections on that track node row. #jira UE-57951 Change 4015943 by Max.Chen Sequencer: Fix moving shots up when the mouse pos goes outside of the virtual track area. #jira UE-57717 Change 4016293 by Max.Chen Sequencer: Fix relative frame playback end frame calculation so that custom start/end frames remain in the space of the sequence and are not relative. #jira UE-57308 Change 4017075 by Andrew.Rodham Sequencer: Corrected initial evaluation range used when calling UMovieSceneSequencPlayer::Play() Change 4017270 by Christina.TempelaarL Sequencer: FCPXML importer and movie scene capture - Use CeilToFrame when converting section start/end frame times to frame numbers in FCPXML and movie scene capture. - Added support for clip metadata in FCPXML. - Got rid of redundant TokenizedError message class, no longer needed now that FCPXML is in editor directory. - Added log messages currently commented out due to exception, still testing. #UESEQ-358 Change 4018370 by Christina.TempelaarL Sequencer: fixed FCPXML log messages regarding sections with start/end not divisible by display rate. #UESEQ-358 Change 4018378 by Christina.TempelaarL Sequencer: fixed error in previous changelist. #UESEQ-358 Change 4019457 by Max.Chen Sequencer: Show event names only when the event track is selected #jira UE-57897 Change 4022806 by Max.Chen Sequencer: Fix crash on movie scene capture dialog shutdown if movie capture wasn't even started. #jira UE-58106 Change 4022894 by Max.Chen Sequence Recorder: Wrap OpenEditorForAssets after sequence recording within GIsEditor #jira UE-58084 Change 4024487 by Max.Chen Sequencer: Add tooltip for quat interpolation #jira UE-58113 Change 4024562 by Max.Chen Sequencer: Change path/attach track sequence binding id to currently focused sequence id so that bindings can be created in subsequences Change 4027414 by JohnHenry.Carawon QAGame: Checking in content that shows a bug with using particles systems and Delay Before Shot Warm Up. Change 4028990 by Max.Chen Sequencer: Fix evaluate sub sequences in isolation. This check was added with the compile on the fly logic. Not sure why it was necessary but it seems like the sub sequence data needs to be updated in order to evaluate sub sequences in isolation. #jira UE-58184 Change 4029004 by Max.Chen Sequencer: Ensure that old binding references are removed when re-assigning actors in sequencer #jira UE-57898 Change 4030997 by JohnHenry.Carawon QAGame: Fixing name of the master sequence Change 4031785 by Michael.Karambelas QAGame: Added an instance of ThirdPerson Run to TM-SequenceRecorder for Record to Possessable test. Change 4035548 by Andrew.Rodham Sequencer: Changed FMovieSceneEvaluationTemplate::TemplateSignature to be a serial number to address non-deterministic cooking issues - This commit is related to the repro steps found in 3914599 and 3934307, both of which have been verified with this new change. - Copy of 4031684 from //Fortnite/Main/... #jira FORT-84852 Change 4036312 by Max.Chen Sequencer: Fix zoom view range so that it uses the passed in InZoomDelta Change 4036318 by Max.Chen Sequencer: Auto size now returns a range and defaults to the channel proxy range so that keyed regions can also be autosized. Change 4036322 by Max.Chen Forgot missing change Change 4036360 by Max.Chen Sequencer: Fix play rate calculation when skeletal animation section play rate changes. Change 4037163 by Mike.Zyracki Weighted Tangent Implementation Tricky thing is that you need to solve a cubic in order to get the bezier weights for the time part of the curve. See https://www.gamedev.net/forums/topic/474094-help-function-curves-for-animation-interpolation/ Maya provides an implementation in it's dev kit but I didn't use it since it was horribly slow and uses an iterative solution to solve the cubic needed. Instead I use an old algorithm (Cardano's method), to solve the cubic which should be much faster. Though relative simple to code from principles I just went ahead and used a version from Graphics Gems 1. I put this cubic solver directly in MovieSceneFloatChannel.cpp, but will need to move it when we support Rich Curve, maybe to FMath:: (which would probalby require some other functions for solving quartics, etc.. for completeness.). Also note we resolve this on every evaluation but dont' need to if the interval the time is evaluating hasn't had any change in values or tangents. So again when we support FRichCurve we can create a Weighted Evaluating class that can hold the cache. Also with the tangent drags I got rid of the Cardinal position that was used to calculate non-weight tangents from the key point and just quickly getting a direction. With weighted tangents we need to use the delta instead (otherwise when moving multiple they would all get the same weight based upon distance to the cardinal point. ) For mixed tangents types what I'm defaulting to non weighted if the interval doesn't match. May need to do weighted instead, not sure. What's left is just FBX import, for tomorrow. #jira UESEQ-76 Change 4037435 by Mike.Zyracki Fix fo build warnings from weighted tangent submission. #trivial Change 4038091 by Michael.Karambelas QAGame: Updated a Sequence Recorder group in TM-SequenceRecorder that had an actor missing the animation. Change 4038374 by Andrew.Rodham Sequencer: Refined scrubber styling for level sequences and actor sequences - Scrubber now shows a block the width of a dsplay rate frame, plus a line for the actual evaluated time. UMG reverts back to the previous styling (no block) - Keys that are outside of the playback range are now drawn with a subdued effect - Tick labels are no longer drawn when directly underneath the scrubber Change 4038490 by Max.Chen Sequencer: Expose tangent weight values in details panel. Change 4038620 by Andrew.Rodham Sequencer: Advanced time panel polish #jira UESEQ-426 Change 4038677 by Max.Chen Movie Scene Capture: Redirector for MovieSceneTools.AutomatedLevelSequenceCapture #jira UE-58248 Change 4039739 by Max.Chen Sequencer: Media track should only be supported by Level Sequence Change 4040024 by JohnHenry.Carawon QAGame: Fix EventReciever and OverrideBinding example The level sequence was set to none so the fix was to set it back to TrackEvaluation_Master. Change 4040610 by Andrew.Rodham Curve Editor: Moved weighted tangent switchers to a single toggle command (CTRL+W) and added an icon #jira 58383 Change 4040882 by Mike.Zyracki Keep broken when turning on weighted #jira UE-58435 Change 4041089 by andrew.porter QAGame: Sequence for Long Tangents bug Change 4041498 by Mike.Zyracki Turn off weighted when going auto to prevent large tangents. Do it both in UI and when doing AutoSetTangents() to really make sure it doesn't happen. #jira UE-58452 Change 4041752 by andrew.porter MediaFrameworkTest: Adding some better logging for setting rates when not supported. Also ignoring commiting URL when there is no text Change 4041896 by Matt.Hoffman The transform dialog box now transforms selected keys and sections, instead of just keys. #jira UE-58265 [CL 4044405 by Max Chen in Main branch]
2018-05-02 10:10:00 -04:00
LinePoints[0] = FVector2D( LinePos, 0.0f );
LinePoints[1] = FVector2D( LinePos, FMath::FloorToFloat( AllottedGeometry.Size.Y ) );
}
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 4044339) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3947021 by Max.Chen Sequencer: Don't preserve root component when copying object properties. A spawnable empty actor, has a root component that is generated by the empty actor factory. If the object template's root component is preserved when copying from the spawnable empty actor, the root component will not be copied over. Therefore, we need to NOT preserve the root component when copying object properties. #jira UE-55825 Change 3947366 by Max.Preussner WmfMedia: Better log output Change 3947367 by Max.Preussner MfMedia: Better detection of compressed format properties on Windows Change 3949102 by Max.Chen Sequencer: Remove SequenceActorTag when converting to possessable. #jira UE-56206 Change 3949207 by andrew.porter EngineTest: Set the screenshot nodes resolution to 1280x720 Change 3949404 by Max.Chen Sequencer: More informative tooltip for "Rerun Construction Scripts" option. It now says "Rerun construction scripts every frame on actors that have 'Rerun Construction Script in Sequencer' enabled in their class settings". Change 3950067 by Matt.Hoffman Renamed UAutomatedLevelSequenceCapture's StartFrame and EndFrame to CustomStartFrame/CustomEndFrame to reflect that it is user-overriden. This will also resolve upgrade issues due to the variable datatype changing. #jira UE-56189 Change 3950193 by JohnHenry.Carawon Updating my latest MovieRendering test content. Change 3950757 by JohnHenry.Carawon More updates to MovieRendering test content Change 3952059 by Max.Chen Resave LevelVisibility_SubLevels to fix data loss conversion warning of OpacityMaskConstant #jira UE-56086 Change 3952283 by Max.Chen Sequencer: Disable dropping level sequence assets as spawnables. #jira UE-56120 Change 3952422 by Max.Chen Sequence Recorder: Add button to record from the current player. #jira UE-55942 Change 3952987 by JohnHenry.Carawon MovieRendering Test Content - Fixing camera bindings and changing the override binding actor Change 3953823 by Mike.Zyracki Fix for Bad FBX Import Tangents not scaled by frame rate. After looking at this again it seems that a set of MovieScene:: overiddes for the channel traits wasn't set correctly, so use the ADL idiom to use MovieScene, which can then call Optimize in the correct namespace. With this we can now correctly use the passed in tolerance. There was also a redundant set of Optimize calls so that it could happen twice so removed them, and needed an extra check in the float channel Optimize. Also since we need to set auto tangents no matter if we optimize we don't set that parameter(though leave it since it's used by context menu key reduction). Finally fixed speed issue with trajectories caused by calculating way too many substeps. Reverted back to a time based step size for consistency. #jira UE-56193 Change 3954317 by Matt.Hoffman Adding a key to the last frame of a section no longer causes a crash. Keys can already be moved to be on the last frame of a section so now you can just add a key there directly. #jira UE-56255 Change 3954326 by Matt.Hoffman Dilating a section that is only infinite on one side no longer causes a crash. #jira UE-56260 Change 3954486 by Max.Chen PR #4580: Exposes IsReversed() from UMovieSceneSequencePlayer (Contributed by alanedwardes) Change 3955238 by Max.Preussner Messaging: Enabled delayed message routing https://github.com/EpicGames/UnrealEngine/pull/4574 #jira UE-56247 Change 3955901 by Max.Preussner MediaFrameworkTest: Added developer test for overriding desired media player plug-in at runtime. Change 3955922 by Andrew.Porter QAGame: Updating movie rendering content in dev folder Change 3956004 by andrew.porter QAGame: Adding MPC track to movie rendering test content Change 3956510 by Max.Chen Sequencer: Fix fbx camera import of static properties so that they are imported before default tracks are created. Otherwise, the default tracks inherit the default properties of the camera, rather than the values from the fbx. #jira UE-56311 Change 3957613 by Max.Preussner MediaUtils: Added code documentation to media player facade Change 3958005 by Max.Preussner MediaUtils: Added method to get number of sinks Change 3958934 by Max.Chen Sequencer: Fix keys getting added and sequence getting erroneously re-evaluated when auto key is off. Only apply defaults if there are no keys. Only modify the movie scene section before creating keys or setting defaults. #jira UE-55903 Change 3959687 by Andrew.Rodham Sequencer: Fixed visibility track external values being inverted #jira UE-56324 Change 3960507 by Max.Preussner Core: Fixed incorrect rounding in FMath::DivideAndRoundNearest Change 3962047 by JohnHenry.Carawon MovieRendering Test Content Changes: - Add Lightmass Importance Volumes to sublevel to fix warnings - Rebuilt Lighting - Add a third sequence for Gamut testing - Resaved the sound master.uasset to fix warning Change 3962211 by Mike.Zyracki Add Frame Numbers to selected animation sections. Added MapTimeToAnimation to MovieSceneSkeletalAnimation so that we could get it from the Skeleton Animation track Editor. Since the thickness of the frame line can change based upon frame rate and zoom we need to calculate it similarly to how the time slider controller does it. Those calculations were private so we had to expose FScrubRangeToScreen and GetScubberPixelRange from the TimeSliderController. Also needed to know if the section itself was selected so added a bIsSelected flag to the section Painter. Also fixed a bug where you couldn't add a section if other sections existed at different times in MovieScenePropertyTrack and could crash due to the check(). #jira UESEQ-395 Change 3962497 by Max.Preussner Core: Added new string formatting argument to FTimespan Change 3963662 by Max.Chen CineCamera: Flip VistaVision width and height. Change 3963731 by Max.Preussner MediaCompositing: Implemented sequence recording support for media track Change 3964195 by Andrew.Rodham Sequencer: Set inverted property correctly for newly created visibility track sections - Also clamp evaluation for key editors to the bounds of the section so we're not displaying values outside of the section bounds when the cursor is not on the bounds #jira UE-56324 #coderevew Max.Chen Change 3964196 by Andrew.Rodham Sequencer: Fixed crash when attempting to render sections that resulted in a negative intersection with the view range Change 3964275 by Andrew.Rodham Sequencer: Fixed MovieScene::ClampToDiscreteRange for infinite range bounds Change 3964364 by Andrew.Rodham Curve Editor: Reduce minimum vertical view range when zooming to fit Change 3965091 by Max.Chen Sequencer Recorder: Refresh next sequence if empty when starting a recording, otherwise, use existing name. #jira UE-56469 Change 3965148 by Max.Chen Sequence Recorder: Move Record to Possessable to "Actor Recording" group Change 3965162 by Max.Chen Sequence Recorder: Always break out of immersive mode when done recording, even when stopping recording during countdown. #jira UE-56407 Change 3965214 by Max.Preussner QAGame: Enabled ImagePlate plug-in Change 3965574 by Max.Preussner SimpleComposure: Reorganized & upgraded content to work with new Media Track #jira UE-56488 Change 3965651 by Max.Preussner MediaCompositing: Ignoring seek-on-open if media not seekable Change 3966075 by Christina.TempelaarL Sequencer: Added Final Cut Pro 7 XML Export functionality #jira UESEQ-358 Change 3966087 by Matt.Hoffman Adding a single key to the Particle Toggle track now makes an infinite range section that is displayed in the UI. #jira UE-56295 Change 3966547 by Andrew.Rodham Sequencer: Fixed rounding errors when drawing the section background on boolean sections - Logic was using time in sectonds which caused rounding errors on evaluation and flickering red/green stripes when dragging keys around #jira UE-56324 Change 3966563 by Andrew.Rodham Curve Editor: Key editor interface improvements - SKeyEditInterface has a few problems - it does not update in real time when editing properties, and does not support multi-edit which makes it unsuitable for use with the curve editor - We now take a different approach for editing keys by gathering a set of proxy UObjects for each key that is currently selected. These objects are added as top level objects to the details panel which means they support multi edit as you'd expect from any other details panel in the editor. - Proxy objects are updated every tick for the curve editor if they implement the ICurveEditorKeyProxy interface, which allows them to refresh their current value. - Ideally, the same mechanisms would be used in the main sequence interface, and we would be generating the proxy classes at runtime based on the key value type, but that work remains a separate task from this initial offering. #jira UE-56165 Change 3966564 by Andrew.Rodham Curve Editor: Expand to frame when adding or moving keys in the curve editor Change 3967051 by andrew.porter MediaFrameworkTest: Set the CameraPlayer_Video texture to auto clear Change 3967141 by Andrew.Rodham Sequencer: Keep track of spawned objects that have been modified and only re-save such object's default spawnable state on destruction - Now that we're taking this approach, I've remove serveral redundant bits of functionality in the spawn register such as making some spawnables read-only, and the PreSave binding for Sequencer. - We now hook into all object pre-saves to make sure we handle the case where the sequences are saved through the content browser or elsewhere. #jira UE-47686 Change 3967170 by Andrew.Rodham Sequencer: Added the ability to possess anim instances as object bindings - This allows full and direct animation of properties on UAnimInstance, and animation blueprints - Object Bindings are made by first possessing a skeletal mesh component, then choosing the + Add button where its anim instance will be listed - Added a new function to UMovieSceneSequence to gather previously cached objects that should now be invalidated. Anim instances will be re-resolved if a new UAnimInstance is assigned to USkeletalMeshComponent::GetAnimInstance. - ObjectBindingIDs for anim instances are just represented by an entry in a set of GUIDs. We only ever resolve such bindings through USkeletalMeshComponent::GetAnimInstance. - Only currently supported on LevelSequences #jira UE-56132 Change 3967195 by Max.Preussner Core: Updated TRangeSet to use TCallTraits Change 3967345 by JohnHenry.Carawon Test Content Changes - first iteration of spacing out the examples in the shots. Change 3967572 by Max.Chen Sequencer: Fix setting PreviousPlayEvalPosition until after we've tested whether it's set. #jira UE-56518 Change 3967750 by Max.Chen Audio: Set duration based on number of input channels, rather than number of channels to serialize. This fixes an issue where audio split into 2 channels is set to a duration that's twice as long. #jira UE-56430 Change 3967836 by Max.Chen Sequencer: Allow for animating array elements within ustruct properties #jira UE-55887 Change 3968506 by Matt.Hoffman Fixed ambiguous conversions for seconds and frames being overriden by ambiguous conversion to Timecode (in frames). Change 3968748 by Max.Chen Sequencer: Make the event properties submenu widget larger. #jira UE-55557 Change 3968862 by Max.Chen Sequencer: Recursive expansion when shift is down #jira UE-52139 #pr 4194 Change 3968863 by Max.Chen Sequencer: Bind rename command to selected track so that F2 shortcut start renaming #jira UE-52139 #pr 4194 Change 3968872 by Max.Chen Sequencer: Rekey the selected key at the current time. #jira UESEQ-396 Change 3968938 by Max.Chen Cine Camera: Add option to toggle the behavior of locking the rail mount to the orientation of the spline. By default, the option is off, no change in behavior. #jira UE-55815 Change 3968958 by Andrew.Rodham Sequencer: Consider vertical position when hittesting keys #jira UE-56256 Change 3969643 by Max.Preussner Core: Rounding timespans created from double values towards nearest ticks Change 3969646 by Max.Preussner MediaUtils: Implemented timeout mechanism for block-on-fetch feature Change 3969776 by Mike.Zyracki Added Skip Anim Notifiers Toggle per what was in Matinee. Investigated the Enable Root Motion toggle as also discussed but it's implementation is directly contained by the animation asset and unlike animation notifies there seems to be no exposure to interactively disable it during a playback tick. Note if we are generating thumbnails we still automtically disable notifies in the editor to avoid annoying noise playback. Note that if Enable Root Motion/Root locked is specified in the animation asset it does correctly effect the Sequencer. #jira UESEQ-399 Change 3969835 by Matt.Hoffman Playback Range and Selection Range use unified logic for adding themselves as potential snap locations which properly handles inclusive/exclusive bounds. This resolves an issue where having an unset selection range caused a potential snap location to be added on frame 0 and 1 (internal resolution) which caused a misalignment when placing objects near frame 0. This also removes the one frame offset on setting Selection Range to bring behavior inline with other ranges. #jira UE-55420 Change 3969885 by Max.Preussner MediaAssets: Don't register media player CDO with media ticker Change 3971129 by Andrew.Rodham Sequencer: Fixed UMovieSceneSequencePlayer::GotToEndAndStop() not taking into account for start time This is a remnant from when the times were always specified in 0-duration space, rather than actual sequence times. Change 3972056 by JohnHenry.Carawon More updates to Test Content. I continued spacing out the examples in the sequence so that they have a consistent number of frames between each example and during the start/end of the example. Also removed the Marcie sublevel. Change 3972066 by Andrew.Porter MediaFrameworkTest: Setting Marcie folder to be never cooked in package settings Change 3972675 by Matt.Hoffman Splitting Subsequence Sections no longer sets an incorrect playback range on the subsequence when the subsequence has a different internal resolution than the owning sequence. #jira UE-55453 Change 3973376 by Max.Preussner ImgMedia: Zero is the only valid video track for image sequences Change 3973489 by Max.Preussner Launch: Build rules cleanup pass - don't use Media, MediaUtils on server apps - don't link against Media (include-only dependency) - don't include from MediaAssets (dynamic load only) Change 3973760 by Max.Preussner MediaUtils: Moved AppMediaTimeSource implementation into its own file; added logging Change 3973765 by Max.Preussner ImgMedia: Disallowing seek beyond media length Change 3973855 by Max.Preussner MediaFrameworkTest: Updated developer test content Change 3973858 by Max.Preussner MediaCompositing: Blocking on media player time instead of media sample time (the former may not be hit in the current frame) Change 3974988 by Max.Chen Sequencer: Fix trim left so that it also sets the start offset for audio and skeletal animation sections. #jira UE-57015 Change 3976101 by Matt.Hoffman Sequencer will now focus the scroll view on newly created items. #jira UE-56492 Change 3976203 by Max.Chen Property Editor: Add DetailsViewArgs for ColumnWidth. Defaults to 0.65f, no change in existing behavior. Change 3976205 by Max.Chen Sequencer: Set better column widths for sequencer. #jira UE-55557 Change 3976206 by Max.Chen Sequencer: Added menu category for import/export Change 3976265 by Matt.Hoffman Tracks within Object Binding Nodes will now sort using the old behavior so that components are added above other track types. #jira UE-56473 Change 3976901 by Max.Chen Sequencer: Add event names to event track section #jira UESEQ-353 Change 3977878 by Max.Preussner Media: Moved media framework ticking stats into Media module Change 3977982 by Max.Chen Sequencer: Add Edit->Reset section length to duration of source (ie. audio, skeletal animation, shot length) Added MovieSceneSection::GetDefaultDuration and MovieScene::HasDefaultDuration #jira UESEQ-392 Change 3977994 by Max.Preussner Media: Fetching and rendering media samples before viewports are rendered (to ensure frame sync for in-level media playback) #jira UE-53975 Change 3978188 by Matt.Hoffman Easing Curves are now clipped by the sequence's PlayRange when testing against an infinite section. This causes blended sequences to finish their blend when the section starts/ends instead of always using 25% of the total section length to determine default blend range. #jira UE-56362 Change 3978676 by Max.Preussner MediaCompositing: Fixed first frame of rendered out media track missing #jira UE-53975 Change 3978684 by Max.Preussner MediaCompositing: Enabled media track frame sync feature #jira UE-53975 Change 3980026 by Matt.Hoffman Keys can be selected on folded out sections (such as an audio track expanded to show volume and pitch) again. #jira UE-57169 Change 3981614 by Max.Preussner MediaUtils: Added missing subtitle sample queue flush Change 3982311 by Max.Preussner MediaCompositing: Added safeguard for zero length media sources Change 3982389 by andrew.porter QAGame: Adding media track test content into FrameAccuracySubscene Change 3983661 by Max.Chen Sequencer: Add level name to spawn a spawnable into. Add sublevel menu option to set the level #jira UESEQ-390 Change 3983712 by Andrew.Rodham Sequencer: Purge legacy blueprint spawnables from LevelSequence packages #tests Ran a preflight for cooking fortnite, ocean and Orion. Only orion shows up this edge case, and will require a re-save of the EndCines level #jira UE-39173 Change 3983787 by Max.Preussner MediaCompositing: Moved compile time switch for block-on-fetch into media player facade Change 3983812 by Andrew.Rodham Sequencer: Exposed default level sequence instance data to blueprints Change 3984373 by Max.Preussner Media: Added API for quering whether player plug-in supports block on fetch Block on fetch allows Sequencer and other systems to block the game thread until a desired video frame has been decoded. Change 3984670 by JohnHenry.Carawon Movie Rendering Test Content progress. Saving the state of the content. There is a bug where things got replaced with particle emitters and I think it was because I tried to copy paste an animation track into a separate skeletal mesh track. Change 3985097 by Max.Chen Sequencer: Rename Reset to AutoSize Change GetAutoSizeDuration to return TOptional<FFrameTime> #jira UESEQ-392 Change 3986043 by Max.Chen Sequencer: Fix crash when attach/path duration is less than 0. #jira UE-57310 Change 3986373 by Max.Chen Sequencer: Add support for deleting tracks and channels which equates to setting the channel mask. #jira UE-52951 Change 3986375 by Max.Chen Sequencer: Add Create Pose Asset to skeletal animation section. This allows animators to blend animations in sequencer and create new pose assets from them. #jira UESEQ-408 Change 3986796 by Andrew.Rodham Sequencer: Fixed stale object references remaining in ULevelSequence::BindingReferences when using convert to spawnable/possessable - We used to convert objects by creating a new binding, then re-assigning its GUID, which meant we didn't have to do any further object fixup, but the code to achieve this was confusing and led to a vulnerability where object references would not be cleaned up correctly due to the newly created possessable essentially being a temporary object that's immediately thrown away. - To address this, there is now a function for porting all the contents of one object binding to another, and handles the correct fixup required for parent/child object bindings for both spawnables and possessables. - Also added codepath to remove any stale object references from the level sequence reference map on PostLoad (this piggy-backs off the PurgeLegacyBlueprints object version which is close close enough to this change to be identical) #tests Verified that existing sequences with stale references get cleaned up on load. Verified that repreatedly converting from spawnable<->possessable cleans up references correctly. Change 3987807 by JohnHenry.Carawon Updates to the MovieRendering Test Content. - Fixed the spawnable actors that were overwritten - Shortend the Lighting example and combined the Intensity and Color tracks - Organized the Sequence and WorldOutliner to group the examples. Change 3988151 by Max.Chen Cine Camera: Enable keying the "Enable Look at Tracking" toggle. Change 3988880 by Max.Chen Sequencer: Support enter to add asset for all sequencer track editors that have asset pickers. #jira UE-57367 Change 3988953 by Max.Chen Sequencer: Make the track color picker focusable so that it will close when you click away or lose focus. #jira UE-57210 Change 3988962 by Max.Chen MovieSceneCapture: Fix EDL export so that it takes into account movie scene frame resolution and desired frame rate. #jira UE-57365 Change 3988964 by Max.Chen Movie Scene Capture: Clarified tooltip for bRelativeFrameNumbers. If you specify custom start/end frames for the recording, they will be relative to the playback range. #jira UE-57308 Change 3989442 by Max.Chen Fix CIS Change 3991548 by Matt.Hoffman Dragging the time slider no longer causes the time slider to ignore snap-to-interval with "Snap to Keys While Scrubbing" when no keys are in range. #jira UE-57417 Change 3991598 by Matt.Hoffman Snap to Key while scrubbing now mirrors the behavior of "jump to next key". When there are no tracks selected it snaps to all keys and when there are tracks selected it snaps to only keys from that track. This also resolves an issue where deleting an object did not remove it from the Sequencer's selection. Undoing a delete already doesn't seem to restore your selection, so removing it from your selection shouldn't change that behavior. #jira UE-57417 Change 3991603 by Max.Chen Sequencer: Disable EditAnywhere for some section properties #jira UE-53530 Change 3992240 by Max.Preussner MediaAssets: Implemented dynamic audio sample rate adjustment based on audio/media clock drift #jira FORT-70638 Change 3992911 by Andrew.Rodham Sequencer: Fixed saving spawnable state using the wrong spawned object - We now track the object binding ID so that we can apply the spawned object to the correct spawnable when the asset is saved #jira UE-57353 Change 3992914 by Max.Chen Movie Scene Capture: Fix compression quality not being set. The compression interface wasn't being found through query interface, so no compression was being set. Reworked finding it through the output pins. Tested running various compression values. #jira-UE-55488 Change 3992919 by Max.Chen Sequencer: Convert to possessable now uses object template instead of copying properties (ie. see LevelSequenceActorSpawner). This fixes MIDs getting lost when converting to spawnable and back to possessable. #jira UE-52400 Change 3993184 by Max.Chen Sequencer: Don't show +Transform/+Path/+Attach track if the actor has the "Mobility" property hidden. Set the Landscape, LandscapeProxy and InstancedFoliage "Mobility" property to be hidden since it is static is not supposed to be dynamically movable. #jira UE-56347 Change 3993238 by Max.Chen Sequencer: Test for hidden mobility in creating keys as well. Refactored to HasHiddenMobility() #jira UE-56347 Change 3993978 by Max.Chen Cine Camera: Enable keying the "Enable Look at Tracking" toggle. #jira UE-57489 Change 3994039 by Max.Chen Landscape: Add Mobility to hidecategories on landscape component #jira UE-56347 Change 3994626 by JohnHenry.Carawon Updated Movie Rendering Test Content. - Fixed the overridden spawnables to their proper object types. Change 3994653 by Christina.TempelaarL Sequencer: Added Final Cut Pro 7 XML Import functionality, improved Export functionality #jira UESEQ-358 Change 3995609 by Max.Chen UMG: Add support for 2d transform mask (translation, rotation, scale, shear) #jira UE-52951 Change 3995778 by JohnHenry.Carawon Movie Rendering Test Content Updates - Adjusted Lights example - Adjusted Camera example - Added Marcie sublevel back in Change 3995942 by JohnHenry.Carawon QAGame: Moving Movie Rendering test content from Developer folder to Sequencer folder Also adjusted level visibility, lights and camera example. Change 3995993 by Christina.TempelaarL Sequencer: FCPXML Export updates - only export sections if in playback range and media exists, warn if media does not exist. Other updates - removed unused methods and variables, fixed message context naming to be more accurate #jira UESEQ-358 Change 3996595 by andrew.porter QAGame: Updating Marcie content in TrackEvaluation level to use Image Plate Change 3996614 by andrew.porter QAGame: Adding color test sequence to the sublevel Change 3996643 by Max.Chen Sequencer: Fix fbx animation export - rotation and scale channels were flipped. #jira UE-57509 #jira UE-57512 #jira UE-57514 Change 3996652 by Max.Preussner Messaging: Fixed delayed messaging using incorrect current time after message router sleep Based on https://github.com/EpicGames/UnrealEngine/pull/4601 Change 3996801 by Max.Chen Sequencer: Fix folder active state for non key area sections. Look at track node sections as well as key areas. #jira UE-57550 Change 3997098 by Matt.Hoffman Cleaned up some remaining ToDo's in STimeRange. Change 3998339 by Max.Preussner Sockets: Added documentation for socket receive functions Change 3998359 by Max.Preussner MediaUtils: Started to implement media recorder helper class Currently only supports BGRA frames in CPU memory. Supporting other formats and buffer types will require conversions on render-thread. I recommend refactoring out the existing conversion code in FMediaTextureResource into a reusable helper class in the MediaUtils module. This should be a good starting point though. Change 3998417 by Matt.Hoffman Keys and Sections can now be moved at the same time inside of Sequencer. Keys can now snap to Sections (and vice versa) instead of just to other Keys. Sections can now be duplicated like keys can. #jira UE-56995 Change 3998427 by JohnHenry.Carawon QAGame: Updating test content for the Movie Rendering feature. - Added an auto activate particle to the beginning of the sequence (it's not part of the sequence at all) - Added an event receiver blueprint to the Events example - Added a particle emitter to both sublevels - Added a camera cut to the end that switches to a separate camera - The camera zoom in, focus and Look At sections are all separate (not overlapping in the sequence) - Added a second actor for the camera Look At - Added a Visibility section for the Actor Hidden In Game track that has possessable and spawnable cube and light Change 3998537 by Max.Chen Sequence Recorder: Restore immersive mode when stopping the sequence even if not in PIE. #jira UE-56407 Change 3999809 by Matt.Hoffman Removed the "Go To" box from Sequencer and instead placed the current time as an always visible control. The previous shortcut (Ctrl + G) now focuses the new widget directly. #jira UESEQ-376 Change 4000543 by Christina.TempelaarL Sequencer: Moving editor-only code from runtime module MovieSceneCapture to editor module MovieSceneTools. Moved EDL and FCP XML exporters as well as Automated Level Scene Capture. #jira UESEQ-358 Change 4000706 by Matt.Hoffman Entering multiple time strings without a number no longer crashes Sequencer. #jira UE-57672 Change 4001051 by andrew.porter MediaFrameworkTest: Fixing up some image sources pointing to the wrong location Change 4001191 by andrew.porter QAGame: Adding some quick EDL/XML test content to dev folder Change 4001243 by Max.Chen Sequencer: Fix import EDL out of range. #jira UE-57665 Change 4001856 by Matt.Hoffman Selecting keys and sections at the same time now also works with animation and audio sections. #jira UE-57716 Change 4002021 by Max.Chen Sequence Recorder: Fix sequence name incrementing. If external recording sets the sequence name, use it. Otherwise, use the recording name from the recording group or the recording settings. #jira UE-57712 Change 4002618 by Max.Chen Viewport: Update the look at location when updating to a locked actor. This fixes an issue so that popping the view out of a locked actor and manipulating the view will not jump to the previous look at location. #jira UE-57725 Change 4002979 by Matt.Hoffman Fixes several edge cases with the end time range that was causing confusion about what the last frame of the sequence was. Dragging the End Frame slider will no longer be off by one tick and jumping to the end via the UI controls now properly respects snapping and stays inside the play range instead of falling outside of it. Overall behavior does not change though and End Frame should be considered an exclusive frame so that frames 0-150 results in a 150 frame long animation (which is frames 0-149). #jira UE-56367 Change 4003185 by Matt.Hoffman Fixed a regression that prevented a section from being dragged upwards past row 0 which normally resulted in all other rows moving down. #jira UE-57717 Change 4003193 by JohnHenry.Carawon QAGame: Updates to test content - Shortened frames between the examples from 95 to 30 - Separated camera setting tracks - Lighting example now switches directly from constant red - green - blue Change 4003369 by Max.Chen Sequence Recorder: Refresh next sequence regardless of internally stored sequence name. #jira UE-55757 Change 4003586 by JohnHenry.Carawon QAGame: Test Content Updates - Level Visibility track now ends to that the levels are not visible when we move to the next example - Shortened camera section, removed Z tranform so that we just move left to right and shortened the overall length Change 4004414 by Max.Chen Movie Scene Capture: Fix regression where rendering with shot handles would only render the first shot. 3972166 addressed an issue where an extra frame would be rendered by finalizing right when the end frame was reached. This was hit on the first shot end frame, so instead, do this only for when the last shot is being rendered. #jira UE-57314 Change 4004765 by Christina.TempelaarL Sequencer: Fixed bugs in FCP XML import/export. - Export: fixed sequence default resolution. - Export: fixed XML files with no shots. - Export: all sections clipped to playback range. - Export: fixed incorrect section start/end times due to precision issues. - Import: fixed incorrectly adding cinematic tracks. - Import: fixed bugs creating new sections. #jira UE-57660 #jira UE-57662 #jira UE-57655 #jira UE-57761 Change 4005119 by Max.Chen Sequencer: Export/import at play rate Change 4005195 by Max.Chen UMG: Finish UMG evaluation on stop. Added object version so that existing UMG assets do not change. #tests - Newly created UMG animation with sections set to restore state now return to their original state. Existing UMG animations with sections set to restore state do not return to their original state. #jira UE-52285 Change 4005377 by Michael.Karambelas QAGame: Moving TM-SequenceRecorder and related content out of my developer folder and into /Content/Sequencer/SequencerRecorder/* Change 4005417 by Michael.Karambelas QAGame: Fixed a BP compiler in the Level Blueprint of TM-SequencerRecorder. Change 4005634 by Michael.Karambelas QAGame: Fix up missing content and broken level sequence in TM-SequenceRecorder after move Change 4006324 by Max.Chen Sequencer: Reset if the focused movie scene is null. This fixes a crash if the user is focused in on a shot and undo takes the user past the point of where the shot was created. #jira UE-57752 #jira UE-47661 Change 4007006 by Max.Chen Sequencer: Fix FindAvailableRowIndex so that it returns the max row index (and not +1) since it doesn't find any conflicting rows. #jira UE-57717 Change 4007907 by Max.Chen Sequencer: Fix crash if there's no animation Change 4007948 by andrew.porter QAGame: added test content to dev folder for Record World Space Change 4008636 by Max.Chen Sequencer: Fix import fbx not setting values properly and creating additional cameras unncessarily. #jira UE-57864 Change 4008759 by Max.Chen Sequencer: Follow up fix for import cameras #jira UE-57864 Change 4009994 by Matt.Hoffman Dragging the left or right handles of the Time Range slider in Sequencer will now zoom your view in on the current center of the screen. This prevents the view from being translating as you tried to zoom in which caused issues at high zoom levels. #jira UESEQ-407 Change 4010169 by Christina.TempelaarL Sequencer: FCP XML fixes. - FCP XML export - no longer clips to playback range - FCP XML and EDL export - fixed missing last frame of some sections after exporting to Premiere. - Automated level capture, EDL export - use RoundToFrame instead of FloorToFrame for computing section start/end frames after frame rate conversion. #jira UE-57802 - partial fix, movie scene capture still needs to render full section rather than clip against playback. Change 4010287 by Mike.Zyracki Add quaternion interpolation option to UMovieScene3DTransformSection. This mimics how Matinee used to work by bascially finding the keys between a time and interpolating the angles as quat's between them. As noted in the code the algorithm needs to handle the case when the x,y,z Rotation keys all aren't at the same time which was not handled by Matinee. Also like Matinee, when in quaternion interoplation mode, we need to not display the function cuves since the interpolated and key values are now all different. (Would like to show them but that's a bigger refactor for perhaps just a one off needed by quaternions). I added a virtual function UMovieSceneSection::ShowCurveForChannel for this since it needs to be dynamic, not on construction of IKeyArea's, and could be useful for other sections. I could though move the method to just UMovieScene3DTransformSection and do a cast instead. Looked into doing a unit test for this but after talking with Andrew P we will work on doign an automated test in EngineQA since that will provide more coverage. Will also add a video the jira. #jira UESEQ-403 Change 4010713 by Mike.Zyracki Added option to key a group of transform channels instead of just the changed channel, or all of them. This is useful for quaternion interpolations where you want rotation keys to be aligned but also useful for other workflows like animating FK Pose to Pose. Change 4010715 by Andrew.Porter MediaFrameworkTest: Setting LogMediaUtils logging from VeryVerbose to Verbose to cut back on the spam Change 4013048 by Max.Chen Sequencer: Fix play/jump status. Update the player status for all position methods (Scrub, Jump, Play). Jump means Stopped. Correctly use PlayTo or JumpTo based on position method. In PlayInternal, JumpTo with the Stopped state (rather than playing state). #jira UE-57844 Change 4013479 by andrew.porter QAGame: Added content in TM-SequenceRecorder to test recording a property on a Cine Camera Component; Press 3 to trigger manual focus distance to increment on a timer Change 4014323 by Max.Chen Sequencer: Fix SetPlaybackPosition so that it jumps or plays based on playback status. #jira UE-57844 Change 4015888 by Max.Chen Sequencer: Fix crash on paste. UMovieSceneSections were gathered from the track node's track. For sub track mode, we want to gather only those sections on that track node row. #jira UE-57951 Change 4015943 by Max.Chen Sequencer: Fix moving shots up when the mouse pos goes outside of the virtual track area. #jira UE-57717 Change 4016293 by Max.Chen Sequencer: Fix relative frame playback end frame calculation so that custom start/end frames remain in the space of the sequence and are not relative. #jira UE-57308 Change 4017075 by Andrew.Rodham Sequencer: Corrected initial evaluation range used when calling UMovieSceneSequencPlayer::Play() Change 4017270 by Christina.TempelaarL Sequencer: FCPXML importer and movie scene capture - Use CeilToFrame when converting section start/end frame times to frame numbers in FCPXML and movie scene capture. - Added support for clip metadata in FCPXML. - Got rid of redundant TokenizedError message class, no longer needed now that FCPXML is in editor directory. - Added log messages currently commented out due to exception, still testing. #UESEQ-358 Change 4018370 by Christina.TempelaarL Sequencer: fixed FCPXML log messages regarding sections with start/end not divisible by display rate. #UESEQ-358 Change 4018378 by Christina.TempelaarL Sequencer: fixed error in previous changelist. #UESEQ-358 Change 4019457 by Max.Chen Sequencer: Show event names only when the event track is selected #jira UE-57897 Change 4022806 by Max.Chen Sequencer: Fix crash on movie scene capture dialog shutdown if movie capture wasn't even started. #jira UE-58106 Change 4022894 by Max.Chen Sequence Recorder: Wrap OpenEditorForAssets after sequence recording within GIsEditor #jira UE-58084 Change 4024487 by Max.Chen Sequencer: Add tooltip for quat interpolation #jira UE-58113 Change 4024562 by Max.Chen Sequencer: Change path/attach track sequence binding id to currently focused sequence id so that bindings can be created in subsequences Change 4027414 by JohnHenry.Carawon QAGame: Checking in content that shows a bug with using particles systems and Delay Before Shot Warm Up. Change 4028990 by Max.Chen Sequencer: Fix evaluate sub sequences in isolation. This check was added with the compile on the fly logic. Not sure why it was necessary but it seems like the sub sequence data needs to be updated in order to evaluate sub sequences in isolation. #jira UE-58184 Change 4029004 by Max.Chen Sequencer: Ensure that old binding references are removed when re-assigning actors in sequencer #jira UE-57898 Change 4030997 by JohnHenry.Carawon QAGame: Fixing name of the master sequence Change 4031785 by Michael.Karambelas QAGame: Added an instance of ThirdPerson Run to TM-SequenceRecorder for Record to Possessable test. Change 4035548 by Andrew.Rodham Sequencer: Changed FMovieSceneEvaluationTemplate::TemplateSignature to be a serial number to address non-deterministic cooking issues - This commit is related to the repro steps found in 3914599 and 3934307, both of which have been verified with this new change. - Copy of 4031684 from //Fortnite/Main/... #jira FORT-84852 Change 4036312 by Max.Chen Sequencer: Fix zoom view range so that it uses the passed in InZoomDelta Change 4036318 by Max.Chen Sequencer: Auto size now returns a range and defaults to the channel proxy range so that keyed regions can also be autosized. Change 4036322 by Max.Chen Forgot missing change Change 4036360 by Max.Chen Sequencer: Fix play rate calculation when skeletal animation section play rate changes. Change 4037163 by Mike.Zyracki Weighted Tangent Implementation Tricky thing is that you need to solve a cubic in order to get the bezier weights for the time part of the curve. See https://www.gamedev.net/forums/topic/474094-help-function-curves-for-animation-interpolation/ Maya provides an implementation in it's dev kit but I didn't use it since it was horribly slow and uses an iterative solution to solve the cubic needed. Instead I use an old algorithm (Cardano's method), to solve the cubic which should be much faster. Though relative simple to code from principles I just went ahead and used a version from Graphics Gems 1. I put this cubic solver directly in MovieSceneFloatChannel.cpp, but will need to move it when we support Rich Curve, maybe to FMath:: (which would probalby require some other functions for solving quartics, etc.. for completeness.). Also note we resolve this on every evaluation but dont' need to if the interval the time is evaluating hasn't had any change in values or tangents. So again when we support FRichCurve we can create a Weighted Evaluating class that can hold the cache. Also with the tangent drags I got rid of the Cardinal position that was used to calculate non-weight tangents from the key point and just quickly getting a direction. With weighted tangents we need to use the delta instead (otherwise when moving multiple they would all get the same weight based upon distance to the cardinal point. ) For mixed tangents types what I'm defaulting to non weighted if the interval doesn't match. May need to do weighted instead, not sure. What's left is just FBX import, for tomorrow. #jira UESEQ-76 Change 4037435 by Mike.Zyracki Fix fo build warnings from weighted tangent submission. #trivial Change 4038091 by Michael.Karambelas QAGame: Updated a Sequence Recorder group in TM-SequenceRecorder that had an actor missing the animation. Change 4038374 by Andrew.Rodham Sequencer: Refined scrubber styling for level sequences and actor sequences - Scrubber now shows a block the width of a dsplay rate frame, plus a line for the actual evaluated time. UMG reverts back to the previous styling (no block) - Keys that are outside of the playback range are now drawn with a subdued effect - Tick labels are no longer drawn when directly underneath the scrubber Change 4038490 by Max.Chen Sequencer: Expose tangent weight values in details panel. Change 4038620 by Andrew.Rodham Sequencer: Advanced time panel polish #jira UESEQ-426 Change 4038677 by Max.Chen Movie Scene Capture: Redirector for MovieSceneTools.AutomatedLevelSequenceCapture #jira UE-58248 Change 4039739 by Max.Chen Sequencer: Media track should only be supported by Level Sequence Change 4040024 by JohnHenry.Carawon QAGame: Fix EventReciever and OverrideBinding example The level sequence was set to none so the fix was to set it back to TrackEvaluation_Master. Change 4040610 by Andrew.Rodham Curve Editor: Moved weighted tangent switchers to a single toggle command (CTRL+W) and added an icon #jira 58383 Change 4040882 by Mike.Zyracki Keep broken when turning on weighted #jira UE-58435 Change 4041089 by andrew.porter QAGame: Sequence for Long Tangents bug Change 4041498 by Mike.Zyracki Turn off weighted when going auto to prevent large tangents. Do it both in UI and when doing AutoSetTangents() to really make sure it doesn't happen. #jira UE-58452 Change 4041752 by andrew.porter MediaFrameworkTest: Adding some better logging for setting rates when not supported. Also ignoring commiting URL when there is no text Change 4041896 by Matt.Hoffman The transform dialog box now transforms selected keys and sections, instead of just keys. #jira UE-58265 [CL 4044405 by Max Chen in Main branch]
2018-05-02 10:10:00 -04:00
FSlateDrawElement::MakeLines(
OutDrawElements,
LayerId+1,
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 4044339) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3947021 by Max.Chen Sequencer: Don't preserve root component when copying object properties. A spawnable empty actor, has a root component that is generated by the empty actor factory. If the object template's root component is preserved when copying from the spawnable empty actor, the root component will not be copied over. Therefore, we need to NOT preserve the root component when copying object properties. #jira UE-55825 Change 3947366 by Max.Preussner WmfMedia: Better log output Change 3947367 by Max.Preussner MfMedia: Better detection of compressed format properties on Windows Change 3949102 by Max.Chen Sequencer: Remove SequenceActorTag when converting to possessable. #jira UE-56206 Change 3949207 by andrew.porter EngineTest: Set the screenshot nodes resolution to 1280x720 Change 3949404 by Max.Chen Sequencer: More informative tooltip for "Rerun Construction Scripts" option. It now says "Rerun construction scripts every frame on actors that have 'Rerun Construction Script in Sequencer' enabled in their class settings". Change 3950067 by Matt.Hoffman Renamed UAutomatedLevelSequenceCapture's StartFrame and EndFrame to CustomStartFrame/CustomEndFrame to reflect that it is user-overriden. This will also resolve upgrade issues due to the variable datatype changing. #jira UE-56189 Change 3950193 by JohnHenry.Carawon Updating my latest MovieRendering test content. Change 3950757 by JohnHenry.Carawon More updates to MovieRendering test content Change 3952059 by Max.Chen Resave LevelVisibility_SubLevels to fix data loss conversion warning of OpacityMaskConstant #jira UE-56086 Change 3952283 by Max.Chen Sequencer: Disable dropping level sequence assets as spawnables. #jira UE-56120 Change 3952422 by Max.Chen Sequence Recorder: Add button to record from the current player. #jira UE-55942 Change 3952987 by JohnHenry.Carawon MovieRendering Test Content - Fixing camera bindings and changing the override binding actor Change 3953823 by Mike.Zyracki Fix for Bad FBX Import Tangents not scaled by frame rate. After looking at this again it seems that a set of MovieScene:: overiddes for the channel traits wasn't set correctly, so use the ADL idiom to use MovieScene, which can then call Optimize in the correct namespace. With this we can now correctly use the passed in tolerance. There was also a redundant set of Optimize calls so that it could happen twice so removed them, and needed an extra check in the float channel Optimize. Also since we need to set auto tangents no matter if we optimize we don't set that parameter(though leave it since it's used by context menu key reduction). Finally fixed speed issue with trajectories caused by calculating way too many substeps. Reverted back to a time based step size for consistency. #jira UE-56193 Change 3954317 by Matt.Hoffman Adding a key to the last frame of a section no longer causes a crash. Keys can already be moved to be on the last frame of a section so now you can just add a key there directly. #jira UE-56255 Change 3954326 by Matt.Hoffman Dilating a section that is only infinite on one side no longer causes a crash. #jira UE-56260 Change 3954486 by Max.Chen PR #4580: Exposes IsReversed() from UMovieSceneSequencePlayer (Contributed by alanedwardes) Change 3955238 by Max.Preussner Messaging: Enabled delayed message routing https://github.com/EpicGames/UnrealEngine/pull/4574 #jira UE-56247 Change 3955901 by Max.Preussner MediaFrameworkTest: Added developer test for overriding desired media player plug-in at runtime. Change 3955922 by Andrew.Porter QAGame: Updating movie rendering content in dev folder Change 3956004 by andrew.porter QAGame: Adding MPC track to movie rendering test content Change 3956510 by Max.Chen Sequencer: Fix fbx camera import of static properties so that they are imported before default tracks are created. Otherwise, the default tracks inherit the default properties of the camera, rather than the values from the fbx. #jira UE-56311 Change 3957613 by Max.Preussner MediaUtils: Added code documentation to media player facade Change 3958005 by Max.Preussner MediaUtils: Added method to get number of sinks Change 3958934 by Max.Chen Sequencer: Fix keys getting added and sequence getting erroneously re-evaluated when auto key is off. Only apply defaults if there are no keys. Only modify the movie scene section before creating keys or setting defaults. #jira UE-55903 Change 3959687 by Andrew.Rodham Sequencer: Fixed visibility track external values being inverted #jira UE-56324 Change 3960507 by Max.Preussner Core: Fixed incorrect rounding in FMath::DivideAndRoundNearest Change 3962047 by JohnHenry.Carawon MovieRendering Test Content Changes: - Add Lightmass Importance Volumes to sublevel to fix warnings - Rebuilt Lighting - Add a third sequence for Gamut testing - Resaved the sound master.uasset to fix warning Change 3962211 by Mike.Zyracki Add Frame Numbers to selected animation sections. Added MapTimeToAnimation to MovieSceneSkeletalAnimation so that we could get it from the Skeleton Animation track Editor. Since the thickness of the frame line can change based upon frame rate and zoom we need to calculate it similarly to how the time slider controller does it. Those calculations were private so we had to expose FScrubRangeToScreen and GetScubberPixelRange from the TimeSliderController. Also needed to know if the section itself was selected so added a bIsSelected flag to the section Painter. Also fixed a bug where you couldn't add a section if other sections existed at different times in MovieScenePropertyTrack and could crash due to the check(). #jira UESEQ-395 Change 3962497 by Max.Preussner Core: Added new string formatting argument to FTimespan Change 3963662 by Max.Chen CineCamera: Flip VistaVision width and height. Change 3963731 by Max.Preussner MediaCompositing: Implemented sequence recording support for media track Change 3964195 by Andrew.Rodham Sequencer: Set inverted property correctly for newly created visibility track sections - Also clamp evaluation for key editors to the bounds of the section so we're not displaying values outside of the section bounds when the cursor is not on the bounds #jira UE-56324 #coderevew Max.Chen Change 3964196 by Andrew.Rodham Sequencer: Fixed crash when attempting to render sections that resulted in a negative intersection with the view range Change 3964275 by Andrew.Rodham Sequencer: Fixed MovieScene::ClampToDiscreteRange for infinite range bounds Change 3964364 by Andrew.Rodham Curve Editor: Reduce minimum vertical view range when zooming to fit Change 3965091 by Max.Chen Sequencer Recorder: Refresh next sequence if empty when starting a recording, otherwise, use existing name. #jira UE-56469 Change 3965148 by Max.Chen Sequence Recorder: Move Record to Possessable to "Actor Recording" group Change 3965162 by Max.Chen Sequence Recorder: Always break out of immersive mode when done recording, even when stopping recording during countdown. #jira UE-56407 Change 3965214 by Max.Preussner QAGame: Enabled ImagePlate plug-in Change 3965574 by Max.Preussner SimpleComposure: Reorganized & upgraded content to work with new Media Track #jira UE-56488 Change 3965651 by Max.Preussner MediaCompositing: Ignoring seek-on-open if media not seekable Change 3966075 by Christina.TempelaarL Sequencer: Added Final Cut Pro 7 XML Export functionality #jira UESEQ-358 Change 3966087 by Matt.Hoffman Adding a single key to the Particle Toggle track now makes an infinite range section that is displayed in the UI. #jira UE-56295 Change 3966547 by Andrew.Rodham Sequencer: Fixed rounding errors when drawing the section background on boolean sections - Logic was using time in sectonds which caused rounding errors on evaluation and flickering red/green stripes when dragging keys around #jira UE-56324 Change 3966563 by Andrew.Rodham Curve Editor: Key editor interface improvements - SKeyEditInterface has a few problems - it does not update in real time when editing properties, and does not support multi-edit which makes it unsuitable for use with the curve editor - We now take a different approach for editing keys by gathering a set of proxy UObjects for each key that is currently selected. These objects are added as top level objects to the details panel which means they support multi edit as you'd expect from any other details panel in the editor. - Proxy objects are updated every tick for the curve editor if they implement the ICurveEditorKeyProxy interface, which allows them to refresh their current value. - Ideally, the same mechanisms would be used in the main sequence interface, and we would be generating the proxy classes at runtime based on the key value type, but that work remains a separate task from this initial offering. #jira UE-56165 Change 3966564 by Andrew.Rodham Curve Editor: Expand to frame when adding or moving keys in the curve editor Change 3967051 by andrew.porter MediaFrameworkTest: Set the CameraPlayer_Video texture to auto clear Change 3967141 by Andrew.Rodham Sequencer: Keep track of spawned objects that have been modified and only re-save such object's default spawnable state on destruction - Now that we're taking this approach, I've remove serveral redundant bits of functionality in the spawn register such as making some spawnables read-only, and the PreSave binding for Sequencer. - We now hook into all object pre-saves to make sure we handle the case where the sequences are saved through the content browser or elsewhere. #jira UE-47686 Change 3967170 by Andrew.Rodham Sequencer: Added the ability to possess anim instances as object bindings - This allows full and direct animation of properties on UAnimInstance, and animation blueprints - Object Bindings are made by first possessing a skeletal mesh component, then choosing the + Add button where its anim instance will be listed - Added a new function to UMovieSceneSequence to gather previously cached objects that should now be invalidated. Anim instances will be re-resolved if a new UAnimInstance is assigned to USkeletalMeshComponent::GetAnimInstance. - ObjectBindingIDs for anim instances are just represented by an entry in a set of GUIDs. We only ever resolve such bindings through USkeletalMeshComponent::GetAnimInstance. - Only currently supported on LevelSequences #jira UE-56132 Change 3967195 by Max.Preussner Core: Updated TRangeSet to use TCallTraits Change 3967345 by JohnHenry.Carawon Test Content Changes - first iteration of spacing out the examples in the shots. Change 3967572 by Max.Chen Sequencer: Fix setting PreviousPlayEvalPosition until after we've tested whether it's set. #jira UE-56518 Change 3967750 by Max.Chen Audio: Set duration based on number of input channels, rather than number of channels to serialize. This fixes an issue where audio split into 2 channels is set to a duration that's twice as long. #jira UE-56430 Change 3967836 by Max.Chen Sequencer: Allow for animating array elements within ustruct properties #jira UE-55887 Change 3968506 by Matt.Hoffman Fixed ambiguous conversions for seconds and frames being overriden by ambiguous conversion to Timecode (in frames). Change 3968748 by Max.Chen Sequencer: Make the event properties submenu widget larger. #jira UE-55557 Change 3968862 by Max.Chen Sequencer: Recursive expansion when shift is down #jira UE-52139 #pr 4194 Change 3968863 by Max.Chen Sequencer: Bind rename command to selected track so that F2 shortcut start renaming #jira UE-52139 #pr 4194 Change 3968872 by Max.Chen Sequencer: Rekey the selected key at the current time. #jira UESEQ-396 Change 3968938 by Max.Chen Cine Camera: Add option to toggle the behavior of locking the rail mount to the orientation of the spline. By default, the option is off, no change in behavior. #jira UE-55815 Change 3968958 by Andrew.Rodham Sequencer: Consider vertical position when hittesting keys #jira UE-56256 Change 3969643 by Max.Preussner Core: Rounding timespans created from double values towards nearest ticks Change 3969646 by Max.Preussner MediaUtils: Implemented timeout mechanism for block-on-fetch feature Change 3969776 by Mike.Zyracki Added Skip Anim Notifiers Toggle per what was in Matinee. Investigated the Enable Root Motion toggle as also discussed but it's implementation is directly contained by the animation asset and unlike animation notifies there seems to be no exposure to interactively disable it during a playback tick. Note if we are generating thumbnails we still automtically disable notifies in the editor to avoid annoying noise playback. Note that if Enable Root Motion/Root locked is specified in the animation asset it does correctly effect the Sequencer. #jira UESEQ-399 Change 3969835 by Matt.Hoffman Playback Range and Selection Range use unified logic for adding themselves as potential snap locations which properly handles inclusive/exclusive bounds. This resolves an issue where having an unset selection range caused a potential snap location to be added on frame 0 and 1 (internal resolution) which caused a misalignment when placing objects near frame 0. This also removes the one frame offset on setting Selection Range to bring behavior inline with other ranges. #jira UE-55420 Change 3969885 by Max.Preussner MediaAssets: Don't register media player CDO with media ticker Change 3971129 by Andrew.Rodham Sequencer: Fixed UMovieSceneSequencePlayer::GotToEndAndStop() not taking into account for start time This is a remnant from when the times were always specified in 0-duration space, rather than actual sequence times. Change 3972056 by JohnHenry.Carawon More updates to Test Content. I continued spacing out the examples in the sequence so that they have a consistent number of frames between each example and during the start/end of the example. Also removed the Marcie sublevel. Change 3972066 by Andrew.Porter MediaFrameworkTest: Setting Marcie folder to be never cooked in package settings Change 3972675 by Matt.Hoffman Splitting Subsequence Sections no longer sets an incorrect playback range on the subsequence when the subsequence has a different internal resolution than the owning sequence. #jira UE-55453 Change 3973376 by Max.Preussner ImgMedia: Zero is the only valid video track for image sequences Change 3973489 by Max.Preussner Launch: Build rules cleanup pass - don't use Media, MediaUtils on server apps - don't link against Media (include-only dependency) - don't include from MediaAssets (dynamic load only) Change 3973760 by Max.Preussner MediaUtils: Moved AppMediaTimeSource implementation into its own file; added logging Change 3973765 by Max.Preussner ImgMedia: Disallowing seek beyond media length Change 3973855 by Max.Preussner MediaFrameworkTest: Updated developer test content Change 3973858 by Max.Preussner MediaCompositing: Blocking on media player time instead of media sample time (the former may not be hit in the current frame) Change 3974988 by Max.Chen Sequencer: Fix trim left so that it also sets the start offset for audio and skeletal animation sections. #jira UE-57015 Change 3976101 by Matt.Hoffman Sequencer will now focus the scroll view on newly created items. #jira UE-56492 Change 3976203 by Max.Chen Property Editor: Add DetailsViewArgs for ColumnWidth. Defaults to 0.65f, no change in existing behavior. Change 3976205 by Max.Chen Sequencer: Set better column widths for sequencer. #jira UE-55557 Change 3976206 by Max.Chen Sequencer: Added menu category for import/export Change 3976265 by Matt.Hoffman Tracks within Object Binding Nodes will now sort using the old behavior so that components are added above other track types. #jira UE-56473 Change 3976901 by Max.Chen Sequencer: Add event names to event track section #jira UESEQ-353 Change 3977878 by Max.Preussner Media: Moved media framework ticking stats into Media module Change 3977982 by Max.Chen Sequencer: Add Edit->Reset section length to duration of source (ie. audio, skeletal animation, shot length) Added MovieSceneSection::GetDefaultDuration and MovieScene::HasDefaultDuration #jira UESEQ-392 Change 3977994 by Max.Preussner Media: Fetching and rendering media samples before viewports are rendered (to ensure frame sync for in-level media playback) #jira UE-53975 Change 3978188 by Matt.Hoffman Easing Curves are now clipped by the sequence's PlayRange when testing against an infinite section. This causes blended sequences to finish their blend when the section starts/ends instead of always using 25% of the total section length to determine default blend range. #jira UE-56362 Change 3978676 by Max.Preussner MediaCompositing: Fixed first frame of rendered out media track missing #jira UE-53975 Change 3978684 by Max.Preussner MediaCompositing: Enabled media track frame sync feature #jira UE-53975 Change 3980026 by Matt.Hoffman Keys can be selected on folded out sections (such as an audio track expanded to show volume and pitch) again. #jira UE-57169 Change 3981614 by Max.Preussner MediaUtils: Added missing subtitle sample queue flush Change 3982311 by Max.Preussner MediaCompositing: Added safeguard for zero length media sources Change 3982389 by andrew.porter QAGame: Adding media track test content into FrameAccuracySubscene Change 3983661 by Max.Chen Sequencer: Add level name to spawn a spawnable into. Add sublevel menu option to set the level #jira UESEQ-390 Change 3983712 by Andrew.Rodham Sequencer: Purge legacy blueprint spawnables from LevelSequence packages #tests Ran a preflight for cooking fortnite, ocean and Orion. Only orion shows up this edge case, and will require a re-save of the EndCines level #jira UE-39173 Change 3983787 by Max.Preussner MediaCompositing: Moved compile time switch for block-on-fetch into media player facade Change 3983812 by Andrew.Rodham Sequencer: Exposed default level sequence instance data to blueprints Change 3984373 by Max.Preussner Media: Added API for quering whether player plug-in supports block on fetch Block on fetch allows Sequencer and other systems to block the game thread until a desired video frame has been decoded. Change 3984670 by JohnHenry.Carawon Movie Rendering Test Content progress. Saving the state of the content. There is a bug where things got replaced with particle emitters and I think it was because I tried to copy paste an animation track into a separate skeletal mesh track. Change 3985097 by Max.Chen Sequencer: Rename Reset to AutoSize Change GetAutoSizeDuration to return TOptional<FFrameTime> #jira UESEQ-392 Change 3986043 by Max.Chen Sequencer: Fix crash when attach/path duration is less than 0. #jira UE-57310 Change 3986373 by Max.Chen Sequencer: Add support for deleting tracks and channels which equates to setting the channel mask. #jira UE-52951 Change 3986375 by Max.Chen Sequencer: Add Create Pose Asset to skeletal animation section. This allows animators to blend animations in sequencer and create new pose assets from them. #jira UESEQ-408 Change 3986796 by Andrew.Rodham Sequencer: Fixed stale object references remaining in ULevelSequence::BindingReferences when using convert to spawnable/possessable - We used to convert objects by creating a new binding, then re-assigning its GUID, which meant we didn't have to do any further object fixup, but the code to achieve this was confusing and led to a vulnerability where object references would not be cleaned up correctly due to the newly created possessable essentially being a temporary object that's immediately thrown away. - To address this, there is now a function for porting all the contents of one object binding to another, and handles the correct fixup required for parent/child object bindings for both spawnables and possessables. - Also added codepath to remove any stale object references from the level sequence reference map on PostLoad (this piggy-backs off the PurgeLegacyBlueprints object version which is close close enough to this change to be identical) #tests Verified that existing sequences with stale references get cleaned up on load. Verified that repreatedly converting from spawnable<->possessable cleans up references correctly. Change 3987807 by JohnHenry.Carawon Updates to the MovieRendering Test Content. - Fixed the spawnable actors that were overwritten - Shortend the Lighting example and combined the Intensity and Color tracks - Organized the Sequence and WorldOutliner to group the examples. Change 3988151 by Max.Chen Cine Camera: Enable keying the "Enable Look at Tracking" toggle. Change 3988880 by Max.Chen Sequencer: Support enter to add asset for all sequencer track editors that have asset pickers. #jira UE-57367 Change 3988953 by Max.Chen Sequencer: Make the track color picker focusable so that it will close when you click away or lose focus. #jira UE-57210 Change 3988962 by Max.Chen MovieSceneCapture: Fix EDL export so that it takes into account movie scene frame resolution and desired frame rate. #jira UE-57365 Change 3988964 by Max.Chen Movie Scene Capture: Clarified tooltip for bRelativeFrameNumbers. If you specify custom start/end frames for the recording, they will be relative to the playback range. #jira UE-57308 Change 3989442 by Max.Chen Fix CIS Change 3991548 by Matt.Hoffman Dragging the time slider no longer causes the time slider to ignore snap-to-interval with "Snap to Keys While Scrubbing" when no keys are in range. #jira UE-57417 Change 3991598 by Matt.Hoffman Snap to Key while scrubbing now mirrors the behavior of "jump to next key". When there are no tracks selected it snaps to all keys and when there are tracks selected it snaps to only keys from that track. This also resolves an issue where deleting an object did not remove it from the Sequencer's selection. Undoing a delete already doesn't seem to restore your selection, so removing it from your selection shouldn't change that behavior. #jira UE-57417 Change 3991603 by Max.Chen Sequencer: Disable EditAnywhere for some section properties #jira UE-53530 Change 3992240 by Max.Preussner MediaAssets: Implemented dynamic audio sample rate adjustment based on audio/media clock drift #jira FORT-70638 Change 3992911 by Andrew.Rodham Sequencer: Fixed saving spawnable state using the wrong spawned object - We now track the object binding ID so that we can apply the spawned object to the correct spawnable when the asset is saved #jira UE-57353 Change 3992914 by Max.Chen Movie Scene Capture: Fix compression quality not being set. The compression interface wasn't being found through query interface, so no compression was being set. Reworked finding it through the output pins. Tested running various compression values. #jira-UE-55488 Change 3992919 by Max.Chen Sequencer: Convert to possessable now uses object template instead of copying properties (ie. see LevelSequenceActorSpawner). This fixes MIDs getting lost when converting to spawnable and back to possessable. #jira UE-52400 Change 3993184 by Max.Chen Sequencer: Don't show +Transform/+Path/+Attach track if the actor has the "Mobility" property hidden. Set the Landscape, LandscapeProxy and InstancedFoliage "Mobility" property to be hidden since it is static is not supposed to be dynamically movable. #jira UE-56347 Change 3993238 by Max.Chen Sequencer: Test for hidden mobility in creating keys as well. Refactored to HasHiddenMobility() #jira UE-56347 Change 3993978 by Max.Chen Cine Camera: Enable keying the "Enable Look at Tracking" toggle. #jira UE-57489 Change 3994039 by Max.Chen Landscape: Add Mobility to hidecategories on landscape component #jira UE-56347 Change 3994626 by JohnHenry.Carawon Updated Movie Rendering Test Content. - Fixed the overridden spawnables to their proper object types. Change 3994653 by Christina.TempelaarL Sequencer: Added Final Cut Pro 7 XML Import functionality, improved Export functionality #jira UESEQ-358 Change 3995609 by Max.Chen UMG: Add support for 2d transform mask (translation, rotation, scale, shear) #jira UE-52951 Change 3995778 by JohnHenry.Carawon Movie Rendering Test Content Updates - Adjusted Lights example - Adjusted Camera example - Added Marcie sublevel back in Change 3995942 by JohnHenry.Carawon QAGame: Moving Movie Rendering test content from Developer folder to Sequencer folder Also adjusted level visibility, lights and camera example. Change 3995993 by Christina.TempelaarL Sequencer: FCPXML Export updates - only export sections if in playback range and media exists, warn if media does not exist. Other updates - removed unused methods and variables, fixed message context naming to be more accurate #jira UESEQ-358 Change 3996595 by andrew.porter QAGame: Updating Marcie content in TrackEvaluation level to use Image Plate Change 3996614 by andrew.porter QAGame: Adding color test sequence to the sublevel Change 3996643 by Max.Chen Sequencer: Fix fbx animation export - rotation and scale channels were flipped. #jira UE-57509 #jira UE-57512 #jira UE-57514 Change 3996652 by Max.Preussner Messaging: Fixed delayed messaging using incorrect current time after message router sleep Based on https://github.com/EpicGames/UnrealEngine/pull/4601 Change 3996801 by Max.Chen Sequencer: Fix folder active state for non key area sections. Look at track node sections as well as key areas. #jira UE-57550 Change 3997098 by Matt.Hoffman Cleaned up some remaining ToDo's in STimeRange. Change 3998339 by Max.Preussner Sockets: Added documentation for socket receive functions Change 3998359 by Max.Preussner MediaUtils: Started to implement media recorder helper class Currently only supports BGRA frames in CPU memory. Supporting other formats and buffer types will require conversions on render-thread. I recommend refactoring out the existing conversion code in FMediaTextureResource into a reusable helper class in the MediaUtils module. This should be a good starting point though. Change 3998417 by Matt.Hoffman Keys and Sections can now be moved at the same time inside of Sequencer. Keys can now snap to Sections (and vice versa) instead of just to other Keys. Sections can now be duplicated like keys can. #jira UE-56995 Change 3998427 by JohnHenry.Carawon QAGame: Updating test content for the Movie Rendering feature. - Added an auto activate particle to the beginning of the sequence (it's not part of the sequence at all) - Added an event receiver blueprint to the Events example - Added a particle emitter to both sublevels - Added a camera cut to the end that switches to a separate camera - The camera zoom in, focus and Look At sections are all separate (not overlapping in the sequence) - Added a second actor for the camera Look At - Added a Visibility section for the Actor Hidden In Game track that has possessable and spawnable cube and light Change 3998537 by Max.Chen Sequence Recorder: Restore immersive mode when stopping the sequence even if not in PIE. #jira UE-56407 Change 3999809 by Matt.Hoffman Removed the "Go To" box from Sequencer and instead placed the current time as an always visible control. The previous shortcut (Ctrl + G) now focuses the new widget directly. #jira UESEQ-376 Change 4000543 by Christina.TempelaarL Sequencer: Moving editor-only code from runtime module MovieSceneCapture to editor module MovieSceneTools. Moved EDL and FCP XML exporters as well as Automated Level Scene Capture. #jira UESEQ-358 Change 4000706 by Matt.Hoffman Entering multiple time strings without a number no longer crashes Sequencer. #jira UE-57672 Change 4001051 by andrew.porter MediaFrameworkTest: Fixing up some image sources pointing to the wrong location Change 4001191 by andrew.porter QAGame: Adding some quick EDL/XML test content to dev folder Change 4001243 by Max.Chen Sequencer: Fix import EDL out of range. #jira UE-57665 Change 4001856 by Matt.Hoffman Selecting keys and sections at the same time now also works with animation and audio sections. #jira UE-57716 Change 4002021 by Max.Chen Sequence Recorder: Fix sequence name incrementing. If external recording sets the sequence name, use it. Otherwise, use the recording name from the recording group or the recording settings. #jira UE-57712 Change 4002618 by Max.Chen Viewport: Update the look at location when updating to a locked actor. This fixes an issue so that popping the view out of a locked actor and manipulating the view will not jump to the previous look at location. #jira UE-57725 Change 4002979 by Matt.Hoffman Fixes several edge cases with the end time range that was causing confusion about what the last frame of the sequence was. Dragging the End Frame slider will no longer be off by one tick and jumping to the end via the UI controls now properly respects snapping and stays inside the play range instead of falling outside of it. Overall behavior does not change though and End Frame should be considered an exclusive frame so that frames 0-150 results in a 150 frame long animation (which is frames 0-149). #jira UE-56367 Change 4003185 by Matt.Hoffman Fixed a regression that prevented a section from being dragged upwards past row 0 which normally resulted in all other rows moving down. #jira UE-57717 Change 4003193 by JohnHenry.Carawon QAGame: Updates to test content - Shortened frames between the examples from 95 to 30 - Separated camera setting tracks - Lighting example now switches directly from constant red - green - blue Change 4003369 by Max.Chen Sequence Recorder: Refresh next sequence regardless of internally stored sequence name. #jira UE-55757 Change 4003586 by JohnHenry.Carawon QAGame: Test Content Updates - Level Visibility track now ends to that the levels are not visible when we move to the next example - Shortened camera section, removed Z tranform so that we just move left to right and shortened the overall length Change 4004414 by Max.Chen Movie Scene Capture: Fix regression where rendering with shot handles would only render the first shot. 3972166 addressed an issue where an extra frame would be rendered by finalizing right when the end frame was reached. This was hit on the first shot end frame, so instead, do this only for when the last shot is being rendered. #jira UE-57314 Change 4004765 by Christina.TempelaarL Sequencer: Fixed bugs in FCP XML import/export. - Export: fixed sequence default resolution. - Export: fixed XML files with no shots. - Export: all sections clipped to playback range. - Export: fixed incorrect section start/end times due to precision issues. - Import: fixed incorrectly adding cinematic tracks. - Import: fixed bugs creating new sections. #jira UE-57660 #jira UE-57662 #jira UE-57655 #jira UE-57761 Change 4005119 by Max.Chen Sequencer: Export/import at play rate Change 4005195 by Max.Chen UMG: Finish UMG evaluation on stop. Added object version so that existing UMG assets do not change. #tests - Newly created UMG animation with sections set to restore state now return to their original state. Existing UMG animations with sections set to restore state do not return to their original state. #jira UE-52285 Change 4005377 by Michael.Karambelas QAGame: Moving TM-SequenceRecorder and related content out of my developer folder and into /Content/Sequencer/SequencerRecorder/* Change 4005417 by Michael.Karambelas QAGame: Fixed a BP compiler in the Level Blueprint of TM-SequencerRecorder. Change 4005634 by Michael.Karambelas QAGame: Fix up missing content and broken level sequence in TM-SequenceRecorder after move Change 4006324 by Max.Chen Sequencer: Reset if the focused movie scene is null. This fixes a crash if the user is focused in on a shot and undo takes the user past the point of where the shot was created. #jira UE-57752 #jira UE-47661 Change 4007006 by Max.Chen Sequencer: Fix FindAvailableRowIndex so that it returns the max row index (and not +1) since it doesn't find any conflicting rows. #jira UE-57717 Change 4007907 by Max.Chen Sequencer: Fix crash if there's no animation Change 4007948 by andrew.porter QAGame: added test content to dev folder for Record World Space Change 4008636 by Max.Chen Sequencer: Fix import fbx not setting values properly and creating additional cameras unncessarily. #jira UE-57864 Change 4008759 by Max.Chen Sequencer: Follow up fix for import cameras #jira UE-57864 Change 4009994 by Matt.Hoffman Dragging the left or right handles of the Time Range slider in Sequencer will now zoom your view in on the current center of the screen. This prevents the view from being translating as you tried to zoom in which caused issues at high zoom levels. #jira UESEQ-407 Change 4010169 by Christina.TempelaarL Sequencer: FCP XML fixes. - FCP XML export - no longer clips to playback range - FCP XML and EDL export - fixed missing last frame of some sections after exporting to Premiere. - Automated level capture, EDL export - use RoundToFrame instead of FloorToFrame for computing section start/end frames after frame rate conversion. #jira UE-57802 - partial fix, movie scene capture still needs to render full section rather than clip against playback. Change 4010287 by Mike.Zyracki Add quaternion interpolation option to UMovieScene3DTransformSection. This mimics how Matinee used to work by bascially finding the keys between a time and interpolating the angles as quat's between them. As noted in the code the algorithm needs to handle the case when the x,y,z Rotation keys all aren't at the same time which was not handled by Matinee. Also like Matinee, when in quaternion interoplation mode, we need to not display the function cuves since the interpolated and key values are now all different. (Would like to show them but that's a bigger refactor for perhaps just a one off needed by quaternions). I added a virtual function UMovieSceneSection::ShowCurveForChannel for this since it needs to be dynamic, not on construction of IKeyArea's, and could be useful for other sections. I could though move the method to just UMovieScene3DTransformSection and do a cast instead. Looked into doing a unit test for this but after talking with Andrew P we will work on doign an automated test in EngineQA since that will provide more coverage. Will also add a video the jira. #jira UESEQ-403 Change 4010713 by Mike.Zyracki Added option to key a group of transform channels instead of just the changed channel, or all of them. This is useful for quaternion interpolations where you want rotation keys to be aligned but also useful for other workflows like animating FK Pose to Pose. Change 4010715 by Andrew.Porter MediaFrameworkTest: Setting LogMediaUtils logging from VeryVerbose to Verbose to cut back on the spam Change 4013048 by Max.Chen Sequencer: Fix play/jump status. Update the player status for all position methods (Scrub, Jump, Play). Jump means Stopped. Correctly use PlayTo or JumpTo based on position method. In PlayInternal, JumpTo with the Stopped state (rather than playing state). #jira UE-57844 Change 4013479 by andrew.porter QAGame: Added content in TM-SequenceRecorder to test recording a property on a Cine Camera Component; Press 3 to trigger manual focus distance to increment on a timer Change 4014323 by Max.Chen Sequencer: Fix SetPlaybackPosition so that it jumps or plays based on playback status. #jira UE-57844 Change 4015888 by Max.Chen Sequencer: Fix crash on paste. UMovieSceneSections were gathered from the track node's track. For sub track mode, we want to gather only those sections on that track node row. #jira UE-57951 Change 4015943 by Max.Chen Sequencer: Fix moving shots up when the mouse pos goes outside of the virtual track area. #jira UE-57717 Change 4016293 by Max.Chen Sequencer: Fix relative frame playback end frame calculation so that custom start/end frames remain in the space of the sequence and are not relative. #jira UE-57308 Change 4017075 by Andrew.Rodham Sequencer: Corrected initial evaluation range used when calling UMovieSceneSequencPlayer::Play() Change 4017270 by Christina.TempelaarL Sequencer: FCPXML importer and movie scene capture - Use CeilToFrame when converting section start/end frame times to frame numbers in FCPXML and movie scene capture. - Added support for clip metadata in FCPXML. - Got rid of redundant TokenizedError message class, no longer needed now that FCPXML is in editor directory. - Added log messages currently commented out due to exception, still testing. #UESEQ-358 Change 4018370 by Christina.TempelaarL Sequencer: fixed FCPXML log messages regarding sections with start/end not divisible by display rate. #UESEQ-358 Change 4018378 by Christina.TempelaarL Sequencer: fixed error in previous changelist. #UESEQ-358 Change 4019457 by Max.Chen Sequencer: Show event names only when the event track is selected #jira UE-57897 Change 4022806 by Max.Chen Sequencer: Fix crash on movie scene capture dialog shutdown if movie capture wasn't even started. #jira UE-58106 Change 4022894 by Max.Chen Sequence Recorder: Wrap OpenEditorForAssets after sequence recording within GIsEditor #jira UE-58084 Change 4024487 by Max.Chen Sequencer: Add tooltip for quat interpolation #jira UE-58113 Change 4024562 by Max.Chen Sequencer: Change path/attach track sequence binding id to currently focused sequence id so that bindings can be created in subsequences Change 4027414 by JohnHenry.Carawon QAGame: Checking in content that shows a bug with using particles systems and Delay Before Shot Warm Up. Change 4028990 by Max.Chen Sequencer: Fix evaluate sub sequences in isolation. This check was added with the compile on the fly logic. Not sure why it was necessary but it seems like the sub sequence data needs to be updated in order to evaluate sub sequences in isolation. #jira UE-58184 Change 4029004 by Max.Chen Sequencer: Ensure that old binding references are removed when re-assigning actors in sequencer #jira UE-57898 Change 4030997 by JohnHenry.Carawon QAGame: Fixing name of the master sequence Change 4031785 by Michael.Karambelas QAGame: Added an instance of ThirdPerson Run to TM-SequenceRecorder for Record to Possessable test. Change 4035548 by Andrew.Rodham Sequencer: Changed FMovieSceneEvaluationTemplate::TemplateSignature to be a serial number to address non-deterministic cooking issues - This commit is related to the repro steps found in 3914599 and 3934307, both of which have been verified with this new change. - Copy of 4031684 from //Fortnite/Main/... #jira FORT-84852 Change 4036312 by Max.Chen Sequencer: Fix zoom view range so that it uses the passed in InZoomDelta Change 4036318 by Max.Chen Sequencer: Auto size now returns a range and defaults to the channel proxy range so that keyed regions can also be autosized. Change 4036322 by Max.Chen Forgot missing change Change 4036360 by Max.Chen Sequencer: Fix play rate calculation when skeletal animation section play rate changes. Change 4037163 by Mike.Zyracki Weighted Tangent Implementation Tricky thing is that you need to solve a cubic in order to get the bezier weights for the time part of the curve. See https://www.gamedev.net/forums/topic/474094-help-function-curves-for-animation-interpolation/ Maya provides an implementation in it's dev kit but I didn't use it since it was horribly slow and uses an iterative solution to solve the cubic needed. Instead I use an old algorithm (Cardano's method), to solve the cubic which should be much faster. Though relative simple to code from principles I just went ahead and used a version from Graphics Gems 1. I put this cubic solver directly in MovieSceneFloatChannel.cpp, but will need to move it when we support Rich Curve, maybe to FMath:: (which would probalby require some other functions for solving quartics, etc.. for completeness.). Also note we resolve this on every evaluation but dont' need to if the interval the time is evaluating hasn't had any change in values or tangents. So again when we support FRichCurve we can create a Weighted Evaluating class that can hold the cache. Also with the tangent drags I got rid of the Cardinal position that was used to calculate non-weight tangents from the key point and just quickly getting a direction. With weighted tangents we need to use the delta instead (otherwise when moving multiple they would all get the same weight based upon distance to the cardinal point. ) For mixed tangents types what I'm defaulting to non weighted if the interval doesn't match. May need to do weighted instead, not sure. What's left is just FBX import, for tomorrow. #jira UESEQ-76 Change 4037435 by Mike.Zyracki Fix fo build warnings from weighted tangent submission. #trivial Change 4038091 by Michael.Karambelas QAGame: Updated a Sequence Recorder group in TM-SequenceRecorder that had an actor missing the animation. Change 4038374 by Andrew.Rodham Sequencer: Refined scrubber styling for level sequences and actor sequences - Scrubber now shows a block the width of a dsplay rate frame, plus a line for the actual evaluated time. UMG reverts back to the previous styling (no block) - Keys that are outside of the playback range are now drawn with a subdued effect - Tick labels are no longer drawn when directly underneath the scrubber Change 4038490 by Max.Chen Sequencer: Expose tangent weight values in details panel. Change 4038620 by Andrew.Rodham Sequencer: Advanced time panel polish #jira UESEQ-426 Change 4038677 by Max.Chen Movie Scene Capture: Redirector for MovieSceneTools.AutomatedLevelSequenceCapture #jira UE-58248 Change 4039739 by Max.Chen Sequencer: Media track should only be supported by Level Sequence Change 4040024 by JohnHenry.Carawon QAGame: Fix EventReciever and OverrideBinding example The level sequence was set to none so the fix was to set it back to TrackEvaluation_Master. Change 4040610 by Andrew.Rodham Curve Editor: Moved weighted tangent switchers to a single toggle command (CTRL+W) and added an icon #jira 58383 Change 4040882 by Mike.Zyracki Keep broken when turning on weighted #jira UE-58435 Change 4041089 by andrew.porter QAGame: Sequence for Long Tangents bug Change 4041498 by Mike.Zyracki Turn off weighted when going auto to prevent large tangents. Do it both in UI and when doing AutoSetTangents() to really make sure it doesn't happen. #jira UE-58452 Change 4041752 by andrew.porter MediaFrameworkTest: Adding some better logging for setting rates when not supported. Also ignoring commiting URL when there is no text Change 4041896 by Matt.Hoffman The transform dialog box now transforms selected keys and sections, instead of just keys. #jira UE-58265 [CL 4044405 by Max Chen in Main branch]
2018-05-02 10:10:00 -04:00
AllottedGeometry.ToPaintGeometry(),
LinePoints,
DrawEffects,
FLinearColor(1.f, 1.f, 1.f, .5f),
false
);
}
return LayerId;
}
TSharedRef<SWidget> FSequencerTimeSliderController::OpenSetPlaybackRangeMenu(const FGeometry& MyGeometry, const FPointerEvent& MouseEvent)
Copying //UE4/Dev-Sequencer to Dev-Main (//UE4/Dev-Main) #lockdown nick.penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2719576 on 2015/10/07 by Chris.Wood Added check for stale BP classes in FKismetCompilerUtilities::IsTypeCompatibleWithProperty() to stop compiler errors during reinstancing. [UE-19795] - UMG Compiler error when adding variable to nested Widget Change 2721474 on 2015/10/08 by Andrew.Rodham Sequencer: Movie render operations now successfully capture UMG UI Change 2724958 on 2015/10/12 by Chris.Wood Added missing resource cleanup code to UMG widgets [UE-21874] - UWIdget classes with missing ReleaseSlateResources() overrides Added ReleaseSlateResources() to ListView, TileView and Slider widgets to reset shared pointers to slate widgets. Change 2733562 on 2015/10/19 by Andrew.Rodham Sequencer: Fixed spawnables not working in sub-sequences - The issue here was that sequence track instance updates had no knowledge of which sub-sequence they were being evaluated within. We now pass the active sequence instance into the relevant track instance functions. - Also addressed some issues to do with save/restore state not getting called correctly on master tracks of sequence instances - Tidied up spawn track editor Change 2735264 on 2015/10/20 by Chris.Wood Improved Engine analytics handling for Editor and games [UE-21892] - Improve how Engine analytics are handled for Editor and games Changes: Added Privacy section to Editor settings Exposed editor analytics flag in Privacy options Added Details Customization to make this type of bool property clearer with extra info and hyperlink Changed AreEditorAnalyticsEnable() to use new flag Prevented analytics init when disabled by user Sending event and shutting down analytics when user opts out Add in-game project setting for anonymous game usage data Renamed and moved bHardwareSurveyEnabled Added message about exposing in-game setting to end users Added anonymous GUID id for in-game analytics Moved end user settings to global config (defaultengine.ini) Placeholder loc text on new options for now, pending legal wording sign-off Change 2735866 on 2015/10/20 by Max.Preussner Async: Added ability to register an optional callback function that is executed when a Future completes Change 2739793 on 2015/10/23 by Andrew.Rodham Sequencer: Refined movie scene capturing to ensure frame accuracies are maintained - Aborting an in-progress capture now gracefully terminates the process (through a remote session command) to ensure it still creates a valid video - Level sequece movie capture will now pick up a corresponding level sequence in the world, and use that to capture with. A new actor will be spawned at runtime with the correct asset, should one not already exist. - Made -nomovie actually work - Refined how active movie captures are managed - Added option to 'stage' a sequence before starting the capture. This feature will set the sequence on its first frame for the preroll, to ensure that PPP effects are allowed time to stabilize Change 2744402 on 2015/10/28 by Max.Preussner Sequencer: Separated track display names from track identifier names; code cleanup Change 2745953 on 2015/10/29 by Max.Chen Sequencer: Attach to socket. Relative attachments. #jira UETOOL-463 Change 2747028 on 2015/10/29 by Max.Preussner Sequencer: Another overhaul of track display name handling; code and documentation cleanup pass. Change 2758888 on 2015/11/09 by Chris.Wood Integrating changes - 4.10 to Dev-Sequencer From 4.10 branch fixes: Added check for debugger present when reporting abnormal termination to analytics. [UE-22844] CL 2750764 Added FSystemWideCriticalSection for desktop platforms. Used by analytics to lock access to editor instances list in the OS. [UE-22844] CL 2753661 Updating wording in privacy settings text. [UE-21892] CL 2753709 Mac and Linux CIS fix [UE-22844] CL 2755381 Change 2761287 on 2015/11/10 by Max.Chen Sequencer: Add null check when updating the UMG preview if the sequencer doesn't exist/has been closed. #jira UE-5206 Change 2764945 on 2015/11/12 by Max.Preussner Core: Templatized TypeContainer implementation to allow for thread-safe objects; updated unit test Also fixes UE-13850 Change 2765036 on 2015/11/12 by Max.Preussner UdpMessaging: Fixed message serialization unit test (UE-22571) #jira: UE-22571 Change 2766149 on 2015/11/13 by Max.Preussner Media: Implemented event that gets triggered when playback reached the end of media Also fixes looping. Change 2768157 on 2015/11/16 by Max.Preussner Media: Added .m4a to supported WMF file extensions Change 2769200 on 2015/11/16 by Max.Chen Editor: Add broadcast messages when snapping objects. #jira UE-22680 Change 2773066 on 2015/11/19 by Chris.Wood Upload crashes from CRC to Data Router [UECORE-249] - Integrate Crash Report Client with the Data Router Upload to Receiver still active as we are running both in parallel for now.
2015-12-11 13:52:32 -05:00
{
FScrubRangeToScreen RangeToScreen = FScrubRangeToScreen(TimeSliderArgs.ViewRange.Get(), MyGeometry.Size);
const float MousePixel = MyGeometry.AbsoluteToLocal(MouseEvent.GetScreenSpacePosition()).X;
FFrameNumber FrameNumber = ComputeFrameTimeFromMouse(MyGeometry, MouseEvent.GetScreenSpacePosition(), RangeToScreen).FrameNumber;
Copying //UE4/Dev-Sequencer to Dev-Main (//UE4/Dev-Main) #lockdown nick.penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2719576 on 2015/10/07 by Chris.Wood Added check for stale BP classes in FKismetCompilerUtilities::IsTypeCompatibleWithProperty() to stop compiler errors during reinstancing. [UE-19795] - UMG Compiler error when adding variable to nested Widget Change 2721474 on 2015/10/08 by Andrew.Rodham Sequencer: Movie render operations now successfully capture UMG UI Change 2724958 on 2015/10/12 by Chris.Wood Added missing resource cleanup code to UMG widgets [UE-21874] - UWIdget classes with missing ReleaseSlateResources() overrides Added ReleaseSlateResources() to ListView, TileView and Slider widgets to reset shared pointers to slate widgets. Change 2733562 on 2015/10/19 by Andrew.Rodham Sequencer: Fixed spawnables not working in sub-sequences - The issue here was that sequence track instance updates had no knowledge of which sub-sequence they were being evaluated within. We now pass the active sequence instance into the relevant track instance functions. - Also addressed some issues to do with save/restore state not getting called correctly on master tracks of sequence instances - Tidied up spawn track editor Change 2735264 on 2015/10/20 by Chris.Wood Improved Engine analytics handling for Editor and games [UE-21892] - Improve how Engine analytics are handled for Editor and games Changes: Added Privacy section to Editor settings Exposed editor analytics flag in Privacy options Added Details Customization to make this type of bool property clearer with extra info and hyperlink Changed AreEditorAnalyticsEnable() to use new flag Prevented analytics init when disabled by user Sending event and shutting down analytics when user opts out Add in-game project setting for anonymous game usage data Renamed and moved bHardwareSurveyEnabled Added message about exposing in-game setting to end users Added anonymous GUID id for in-game analytics Moved end user settings to global config (defaultengine.ini) Placeholder loc text on new options for now, pending legal wording sign-off Change 2735866 on 2015/10/20 by Max.Preussner Async: Added ability to register an optional callback function that is executed when a Future completes Change 2739793 on 2015/10/23 by Andrew.Rodham Sequencer: Refined movie scene capturing to ensure frame accuracies are maintained - Aborting an in-progress capture now gracefully terminates the process (through a remote session command) to ensure it still creates a valid video - Level sequece movie capture will now pick up a corresponding level sequence in the world, and use that to capture with. A new actor will be spawned at runtime with the correct asset, should one not already exist. - Made -nomovie actually work - Refined how active movie captures are managed - Added option to 'stage' a sequence before starting the capture. This feature will set the sequence on its first frame for the preroll, to ensure that PPP effects are allowed time to stabilize Change 2744402 on 2015/10/28 by Max.Preussner Sequencer: Separated track display names from track identifier names; code cleanup Change 2745953 on 2015/10/29 by Max.Chen Sequencer: Attach to socket. Relative attachments. #jira UETOOL-463 Change 2747028 on 2015/10/29 by Max.Preussner Sequencer: Another overhaul of track display name handling; code and documentation cleanup pass. Change 2758888 on 2015/11/09 by Chris.Wood Integrating changes - 4.10 to Dev-Sequencer From 4.10 branch fixes: Added check for debugger present when reporting abnormal termination to analytics. [UE-22844] CL 2750764 Added FSystemWideCriticalSection for desktop platforms. Used by analytics to lock access to editor instances list in the OS. [UE-22844] CL 2753661 Updating wording in privacy settings text. [UE-21892] CL 2753709 Mac and Linux CIS fix [UE-22844] CL 2755381 Change 2761287 on 2015/11/10 by Max.Chen Sequencer: Add null check when updating the UMG preview if the sequencer doesn't exist/has been closed. #jira UE-5206 Change 2764945 on 2015/11/12 by Max.Preussner Core: Templatized TypeContainer implementation to allow for thread-safe objects; updated unit test Also fixes UE-13850 Change 2765036 on 2015/11/12 by Max.Preussner UdpMessaging: Fixed message serialization unit test (UE-22571) #jira: UE-22571 Change 2766149 on 2015/11/13 by Max.Preussner Media: Implemented event that gets triggered when playback reached the end of media Also fixes looping. Change 2768157 on 2015/11/16 by Max.Preussner Media: Added .m4a to supported WMF file extensions Change 2769200 on 2015/11/16 by Max.Chen Editor: Add broadcast messages when snapping objects. #jira UE-22680 Change 2773066 on 2015/11/19 by Chris.Wood Upload crashes from CRC to Data Router [UECORE-249] - Integrate Crash Report Client with the Data Router Upload to Receiver still active as we are running both in parallel for now.
2015-12-11 13:52:32 -05:00
const bool bShouldCloseWindowAfterMenuSelection = true;
FMenuBuilder MenuBuilder(bShouldCloseWindowAfterMenuSelection, nullptr);
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3178529) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3149443 on 2016/10/03 by Max.Preussner MediaAssets: Better parameter names for MediaPlayer BP functions Change 3149756 on 2016/10/03 by Max.Chen Sequence Recorder: Set some settings to be clamped at 0 (sequence length, recording delay, audio gain, audio input buffer size, nearby actor recording proximity) #jira UE-35233 Change 3149795 on 2016/10/03 by Max.Chen Curve Editor: Set tangent to user when flattening or straightening tangents only when the tangent mode is auto and the interp mode is cubic. #jira UE-36734 Change 3150378 on 2016/10/04 by Max.Preussner PS4Media: Made video buffer sizes for file and HLS sources configurable (UE-36807) #jira UE-36807 Change 3151414 on 2016/10/05 by Max.Chen Sequencer: Fix case where restoring the last view target was getting skipped. It should always restore if the camera object and the unlock if camera actor object is null. #jira UE-35285 Change 3152038 on 2016/10/05 by Max.Preussner UdpMessaging: Code & documentation modernization pass Change 3152471 on 2016/10/05 by Max.Chen Cine Camera: Don't enable/disable actor ticking based soley on actor tracking since actor ticking is needed for other purposes. Instead, always enable actor ticking and only update actor tracking on tick if necessary. This fixes a bug where the cine camera actor won't tick if you hook in event tick. #jira UE-36625 Change 3152692 on 2016/10/05 by Max.Preussner Messaging: API code & documentation modernization pass Mostly removed shared pointer/ref typedefs as they prevent forward declarations and increase include complexity. Change 3153824 on 2016/10/06 by Max.Preussner Messaging: Renamed IConnectionBasedMessagingModule to ITcpMessagingModule and moved it into TcpMessaging I recommend that we refactor this API. The dependency should be reversed, i.e. instead of AndroidDeviceDiscovery depending on the TcpMessaging plug-in module, the Engine should provide a central registry that device discovery modules can notify, and that message transport plug-ins can register with and listen to OnConnectionAdded/Removed events etc. That way it supports an arbitrary number of transport plug-ins, and the Engine is not coupled to any of them. This functionality is not necessarily related to messaging, and the Messaging API is transport agnostic anyway. I'll think about this some more. Change 3153826 on 2016/10/06 by Max.Preussner Messaging: Removed remaining typedefs in IMessageTracer to enable forward declaration and reduce include dependencies Change 3153857 on 2016/10/06 by Max.Chen Sequencer: Set snap time to dragged key on by default. Change 3153980 on 2016/10/06 by Max.Preussner SessionServices: Removed typedefs; code and documentation modernization pass Change 3154313 on 2016/10/06 by Max.Chen Sequencer: Set the paste keys time to the current time, rather than the mouse time. Change 3154332 on 2016/10/06 by Max.Chen Sequencer: Remove click to rename shot functionality in the shot thumbnail. Added rename shot to the shot context menu. Change 3154377 on 2016/10/07 by Max.Chen Sequencer: Add ability to step to beginning and ends of sections/shots using the hotkeys: , and . Change 3154788 on 2016/10/07 by Max.Chen Sequencer: Fix offsets that created when moving multiple sections. The offsets were being created because section bounds were being generated for all sections except for the current section. Instead, they should be computed for all sections except for any that aren't being moved. #jira UE-29152 Change 3159274 on 2016/10/11 by Max.Preussner Core: Documentation fixes Change 3159275 on 2016/10/11 by Max.Preussner UdpMessaging: Added missing header Change 3160746 on 2016/10/12 by Max.Preussner MediaAssets: Added BP functions to query width, height, and aspect ratio of UMediaTexture instances #jira UE-37241 Change 3160975 on 2016/10/12 by Max.Preussner PS4Media: Better logging for SetRate failures Change 3160995 on 2016/10/12 by Max.Preussner MediaPlayerEditor: Fixed Media player selection is ignored if media specifies player overrides (UE-37248) #jira UE-37248 Change 3161066 on 2016/10/12 by Max.Preussner PS4Media: Enforcing minimum 8 byte alignment for media allocations Change 3161069 on 2016/10/12 by Max.Preussner PS4Media: Fixed log spam when setting play rate to current rate Change 3162567 on 2016/10/13 by Max.Preussner PS4Media: Made track switching code more readable Change 3163447 on 2016/10/14 by Max.Preussner PS4Media: Fixed array out of bounds assertions Change 3163772 on 2016/10/14 by Max.Preussner MfMedia: Fixed a number of timing related issues Change 3163980 on 2016/10/15 by Max.Chen Sequencer: Remove folder name numeric padding so that the naming convention is similar to creating objects in the level. Change 3164581 on 2016/10/17 by Andrew.Rodham Sequencer: Ensure global pre-animated state is restored in reverse order Change 3164582 on 2016/10/17 by Andrew.Rodham Sequencer: Ensure pre animated state is restored for all actor components before saving default state Change 3164583 on 2016/10/17 by Andrew.Rodham Sequencer: Re-enabled support for pre and post roll Change 3165464 on 2016/10/17 by Max.Chen Sequencer: Default number frame handles to 0 so that there's no change in behavior when rendering out a master sequence of shots. Handle frames need to enabled explicitly by the user. Copy from Release-4.14 #jira UE-37416 Change 3165483 on 2016/10/17 by Max.Chen Sequencer: Enable restore state for attach section completion Change 3165771 on 2016/10/18 by Andrew.Rodham Sequencer: Force evaluate when rendering thumbnails #jira UE-37321 Change 3166057 on 2016/10/18 by Andrew.Rodham Sequencer: Only set defaults for tracks that have no keys, and where the requested default has changed #jira UE-37285 Change 3166218 on 2016/10/18 by Max.Preussner MediaPlayerEditor: Failure opening media, even though it opened successfully (UE-37470) #jira UE-37470 Change 3166247 on 2016/10/18 by Max.Preussner WmfMedia: Showing progress bar while media is being resolved Change 3166289 on 2016/10/18 by Max.Preussner MfMedia: Showing progress bar while media is being resolved Change 3166993 on 2016/10/18 by Max.Preussner MfMedia: Fixed info string not reset on media close. Change 3166999 on 2016/10/19 by Max.Preussner Media: Fixed NV12 and NV21 support Change 3167008 on 2016/10/19 by Max.Preussner Media: Removed vertical NV12 alignment Change 3167029 on 2016/10/19 by Max.Preussner WmfMedia: Temp fix for RGB32 encoded AVIs rendering upside-down and too bright (UE-37505) #jira UE-37505 Change 3168593 on 2016/10/19 by Max.Chen Sequencer: Change paste at time to local time, so that the paste happens in the local time of the sequence rather than the global time if pasting in a shot level sequence. Change 3168626 on 2016/10/19 by Max.Chen Sequencer: Clamp to view bounds should snap to frame if frame snapping is on. Change 3168627 on 2016/10/19 by Max.Chen Sequencer: Initialize working and view range to be 10% larger than playback range. Change 3168760 on 2016/10/20 by Max.Preussner Media: Revamped media texture buffer management to support padded frames Added support for Windows bitmap buffers. Fixed a number of format, conversion and/or looping issues in WmfMedia and MfMedia. Not all shaders have been updated yet. Change 3169640 on 2016/10/20 by Max.Chen Sequencer: Add current camera to FLevelSequencePlayerSnapshot. Adjust DefaultBurnIn to include a few more parameters like focal length and focus distance. #jira UE-37407 Change 3170677 on 2016/10/21 by Max.Chen Movie Scene Capture: Add toggle to override engine scalability settings to cinematic scalability. #jira UE-36560 Change 3170710 on 2016/10/21 by Max.Preussner Media: Optimized handling of RGB input Change 3170712 on 2016/10/21 by Max.Preussner Media: Fixed NV21 conversion shader scaling Change 3170923 on 2016/10/21 by Max.Preussner UBT: Copied XboxOne project generator fix from Fortnite CL# 3170868 Change 3171494 on 2016/10/23 by Max.Chen Sequencer: Fix fbx export from master sequence not finding bound objects. #jira UE-35752 Change 3171506 on 2016/10/23 by Max.Chen Sequencer: Draw where in and out points of the shot section are, just like subsequences do. Change to only draw the green starting line if StartOffset is negative. #jira UE-35473 Change 3171743 on 2016/10/24 by Andrew.Rodham Editor: Added support for detail customizations on root structs - Also added the ability to add external struct data onto a detail category builder, and property type customization. Change 3171752 on 2016/10/24 by Andrew.Rodham Sequencer: Fixed spawnable ownership - Spawnables are no longer destroyed when the cursor leaves the master playback range. - Spawnable ownership now operates as it previously did before the evaluation rework. - bIgnoreOwnershipInEditor has been removed since its existence was a work around for when we didn't evaluate sub sequences from the master sequence. - FMovieSceneSequenceID is now a struct so that it can be used in array properties - Meta data now exists for each segment of an evaluation field. Currently this only includes the sub sequence IDs that exist at that time, but it may be expanded to include all evaluation entities (tracks + sections) in future so we don't have to calculate that at runtime. Change 3171756 on 2016/10/24 by Andrew.Rodham Sequencer: Added ability to trigger events with parameters - It's now possible to supply an event payload on event track keys which are to be passed to a given event. The structure must match the signature of the event, or a warning will be emitted. - Added a templated TGenericKeyArea, TKeyFrameManipulator and TCurveInterface that allow to generic manipulation of keyframe section data. In time we will port the other key areas over to this representation. - This new architecture affords the common manipulation of time-based keyframes in a value-agnostic manner. Change 3172935 on 2016/10/24 by Max.Preussner MediaPlayerEditor: Fixed MediaPlayer asset not being dirtied when creating media sound wave or texture for it Change 3173947 on 2016/10/25 by Max.Preussner SlateRemote: Disabled plug-in, but enabled server by default Change 3174510 on 2016/10/26 by Max.Chen Sequencer: Fix slomo track crash #jira UE-37802 Change 3174698 on 2016/10/26 by Andrew.Rodham UMG: Fixed objects bound to a panel slot animating their slot's content instead of the slot itself #jira UE-37775 Change 3174780 on 2016/10/26 by Max.Preussner MediaAssets: Accepting decoder defined buffer dimensions for RGB buffers Change 3174789 on 2016/10/26 by Max.Preussner MediaPlayerEditor: Showing desired player name instead of current player name if no media loaded Change 3174817 on 2016/10/26 by Max.Preussner WmfMedia: Added support for Motion JPEG (MJPG) Change 3174825 on 2016/10/26 by Max.Preussner WmfMedia: Added support for non-RGB32 uncompressed formats Change 3174834 on 2016/10/26 by Max.Preussner MediaPlayerAssets: Allow pausing while buffering media Change 3174886 on 2016/10/26 by Andrew.Rodham Core: Fixed range test that was testing incorrect behavior Change 3174889 on 2016/10/26 by Andrew.Rodham Sequencer: Fixed AssignActor behavior - Also ensure that cached object state is invalidated when playback context changes #jira UE-37798 Change 3174905 on 2016/10/26 by Andrew.Rodham Sequencer: Changed assert when failing to create an audio component to a log message - Audio no longer plays when GEngine->UseSound() is false #jira UE-37772 Change 3174980 on 2016/10/26 by Andrew.Rodham Sequencer: Remove warning when event endpoint could not be found for a given context #jira UE-37824 Change 3175001 on 2016/10/26 by Andrew.Rodham Sequencer: Evaluate sequence with EMovieScenePlaybackStatus::Jumping on Pause. - Also protect Pause() against reentrancy when being called from an event Change 3175012 on 2016/10/26 by Max.Chen Sequence Recorder: Fixes an empty working and view range after recording. On StopRecording() update playback range after nullifying the current sequence so that the playback range isn't empty. Added SetViewRange and SetWorkingRange. #jira UE-34191 Change 3177760 on 2016/10/28 by Max.Chen Sequence Recorder: Don't update the current sequence name if it's already set. This fixes a bug where if you pass in a sequence name to record to, it gets reset to the name in the sequence recorder settings. #jira UE-37808 Change 3178529 on 2016/10/28 by Max.Chen Matinee to Level Sequence: Added interface to extend the matinee to level sequence converter #jira UE-37328 #2864 [CL 3178562 by Max Chen in Main branch]
2016-10-28 15:04:38 -04:00
FText CurrentTimeText;
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3946692) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3801826 by Max.Chen PR #4304: Level Sequence crash fix - Guarded against dereferencing null componen. (Contributed by DSDambuster) Change 3801828 by Max.Chen PR #4302: Movie Scene Visibility Template unitialised variable, causing random . (Contributed by DSDambuster) Change 3801837 by Max.Chen Sequencer: Delay spawning/construction for convert to possessable. This fixes a bug where property values would be lost when converting back and forth from possessable to spawnable. #jira UE-52400 Change 3801841 by Max.Chen Sequencer: Make spacer nodes not selectable. PR #4194: Improvements to Sequencer (Contributed by projectgheist) #jira UE-53117 #jira UE-52139 Change 3804183 by Max.Preussner MediaAssets: Added missing lock in media sound component Change 3805414 by Max.Preussner MediaAssets: Setting valid GUID when initializing media texture resource Change 3819578 by Max.Chen PR #4370: When enabling the "MovieCapture", do not turn off the Stereo-3D display. (Contributed by yehaike) #jira UE-53647 Change 3823414 by Max.Chen Curve Editor: Lock down the first and last keys in the redundant keys removal range so that they're unaffected. #jira UE-53591 Change 3826406 by Max.Chen Sequencer: Move OnStartedPlaying() to within first update in UpdateTimeCursorPosition(). This fixes an issue where setting the hud/player visibility was getting stomped on later. #jira UE-52772 Change 3827044 by Max.Preussner MediaAssets: Added sprite visualization to media sound component #jira UE-53594 Change 3827988 by Max.Preussner MediaPlayerAssets: Fixed Media Texture is not linked to Media Player when created together #jira UE-53532 Change 3828506 by Max.Preussner MediaPlayerEditor: Added attenuation visualizer for media sound components #jira UE-53594 Change 3832590 by andrew.porter EngineTest: Added a keep state check in Property Animation sequencer test Change 3833053 by andrew.porter EngineTest: Adding Hierarchical Bias test Change 3835683 by andrew.porter EngineTest: Adding UMG Animation screenshot test Change 3836076 by Max.Chen Sequencer: Fix audio volume and pitch multiplier deprecation. Change 3836230 by andrew.porter EngineTest: Adding Sequence Bone Position automation test Change 3836347 by Max.Chen Sequencer: Fixes to shot name parsing. When a shot doesn't contain a shot number, assume, [ShotName]_[TakeNumber]. When duplicating a shot, put the new shot in the same path of the original shot, so that the take numbers will increment properly. #jira UE-51868 Change 3836552 by Max.Chen Sequencer: Sub section now has a takes menu Change 3838094 by Max.Chen UMG: Fix template finish not getting called on stop. This fixes a bug where sections aren't restored when finished. #jira UE-52285 Change 3838708 by Max.Chen Sequencer: Add notification when the blend type is changed. #jira UE-54046 Change 3840295 by Max.Chen Sequencer: Fix copy/paste crash for lights #jira UE-54084 Change 3840957 by Mike.Zyracki Added Show Only Keyable and Show Only Animated to the filter list in the property editor. Added IsPropertyAnimated to IDetailKeyframe Interface which already had support for showing properties which are keyable (which is used for the key icon next to the properties.). Could have created another interface but then would have had to mimic the sequencer binding, releasing also, so this seemed best way. One issue still left is that custom built detail items currently don't store associated properties(usually) and so certain properties, in particulalry transforms, won't show up as keyable or animated. Note this also shows up with the keyable icon not showing up next to transform tracks, and other filters like Show Only Modified not working with transforms/customs. Not sure best way to tackle this. #jira UESEQ-328 Change 3841756 by Max.Chen Sequencer: Fix unbound possessable components when pasting spawnables. #jira UE-54104 Change 3843950 by andrew.porter EngineTest: Renaming LevelStreaming tests/content to LevelVisibility Change 3844082 by Mike.Zyracki Missing file for animated filter in property editor. When finding if a track is animated we need to find it but we can't easily induce the MovieTrack class for any particular property. So we don't set a class for it and just search by it's ID and name. #jira UESEQ-328 Change 3846902 by Max.Preussner ImgMedia: Fixed image media player never finished initialization if loading failed #jira UE-54247 Change 3849820 by Mike.Zyracki Reassigning deleted widgets didn't work since the menu extender mechanism needs a valid UObject in order to perform an operation on it. So to fix we replaced GetObjectBindingContextMenuExtender in WidgetBlueprint with new delegate mechanism (OnBuildCustomContextMenuForGuid) that supports FGuid in addition to UObjects which is needed to handle re-binding deleted widgets. Note that the default sequencer hacks this for replacing deleted actors in SequencerObjectBindingNode to check to see if a LevelSequence is active. We could move to this mechanism there also. #jira UE-53163 Change 3852211 by Max.Chen UMG: Indicate name of the property that is not bound. #jira UE-54350 Change 3854120 by Max.Chen Sequencer: Fix sibling folders being allowed to have the same folder name. #jira UE-54363 Change 3854627 by Max.Chen Sequencer: Step to next/previous key should work for all tracks if there aren't any selected. #jira UESEQ-391 Change 3855825 by andrew.porter EngineTest: Adding animation blending automation test Change 3855950 by andrew.porter EngineTest: Adding correct expected valuues to animation blending test Change 3856237 by Matt.Hoffman UESEQ-336 - Sequencer Track Reordering Adds the ability to re-order Master Tracks, Folders and Object Bindings within sequencer hierarchies (including UMG). Adds the ability to do a one-off sorting of the content under the old sorting behavior if the user wants to reset their layout to how it was under legacy behavior. Modifies SequencerTrackNodes, SequencerFolderNodes and SequencerObjectBindingNodes to handle CanDrop/OnDrop for above, below and ontop of. Fixes a Slate Issue that forcibly expanded a TreeviewRow if an item handled OnDrop. Slate will now only forcibly expand the row if the item says the drop happened ontop of the item, and not above or below it like it previously did. Change 3856503 by andrew.porter EngineTest: Adding automation test for using animation blueprint with blend multi node in sequencer Change 3857875 by Max.Chen Sequencer: Assign the sequence id after the template is compiled. #jira UE-54462 Change 3858344 by Max.Chen Sequencer: Prevent Goto and Transform boxes from overlapping by allowing them to be visible at the same time in an autosized horizontal box. Also, added close button to the goto box. PR #4425: Prevent Goto and Transform boxes from overlapping in Sequencer ... (Contributed by projectgheist) #jira UE-54210 Change 3860566 by andrew.porter MediaFrameworkTest: Set the option to index 0 for the audio and video track list by default Change 3860654 by andrew.porter EngineTest: Enabling Camera Cut + FOV test Change 3860981 by andrew.porter EngineTest: Updating skeletal mesh tests with a delay after set playback position Change 3861256 by Max.Chen Sequencer: Add all bindings if none selected. #jira-54440 Change 3862154 by Andrew.Rodham Added TimeManagement module Change 3862424 by andrew.porter EngineTest: Turned on the test Bone Positions with Blend Multi Node Change 3862573 by andrew.porter EngineTest: Adding test to compare bone positions in a sequence that is blending an animation that is using an AnimBP Change 3865117 by Max.Chen Sequencer: Stop auto scroll on mouse release of movement. #jira UE-31212 Change 3865303 by Max.Chen Sequencer: Add drag and drop transactions #jira UE-54662 Change 3865304 by Max.Chen Sequencer: Fix crash when an actor factory is not found. Change 3865361 by Max.Chen Sequencer: Don't change the camera/shot lock button when popping out of a sequence. #jira UE-54665 Change 3865412 by Max.Chen Sequencer: Determine whether a transform track is for a camera by using the spawned object or template #jira UE-54666 Change 3865685 by Max.Chen Sequencer: Clear autoscrub offset when stopping autoscroll #jira UE-31212 Change 3865886 by Max.Chen Sequence Recorder: Log an error if the number of frames changes while recording. This can happen if the skeleton changes while recording. #jira UE-48715 Change 3866925 by Andrew.Porter MediaFrameworkTest: Changing the current PNG test video image sequence to 1024 x 576 Change 3867705 by andrew.porter QAGame: Adding Audio Sort Sequence to dev folder Change 3867890 by andrew.porter QAGame: Adding a sequence for testing a sorting crash to my dev folder Change 3872628 by Max.Chen Movie Scene Capture: Split delay before warmup into split delay before shot warmup so that there's separate controls for when the movie scene capture warmups up vs. shot boundaries. Change 3873131 by Matt.Hoffman UE-54732 - Crash reordering a folder with a track. This was caused by folders being the only type of track to check if someone was putting a parent track into a child track. Object Binding tracks and Tracks now check as well so that you can't use the above/below drop targets to add parents as children. This also fixed a typo in the localization keys. #jira UE-54732 Change 3873301 by Mike.Zyracki Added ability to support continous euler angle changes when changing rotations, in particularly with the rotation gizmo's. To do this we effectively added a form an of 'euler filter'(https://en.wikipedia.org/wiki/Euler_filter) to find the closest euler angle to the current euler angle. Three functions were added to FRotator to make this possible, one to get the euler angle that's has the same rotation as it, one to get the difference between two euler angles via Manhattan distance and a third using the previous two to choose a Rotator value that's closest to it. We then use these functions before calling UComponent::SetRelativeRotation to make sure we use the correct Euler after the Quat conversion. We also no longer limit(bound) the euler angles to -180,180, which is obviously necessary to avoid flips. I also changed how we caluclate yaw and roll when pitch is -90 or 90 to make it the standard approach of zeroing out roll and just setting yaw. Main reasons are the previous implementation had precision issues so things like 180, 90, -180 would show up due to numbers being nearly zero but negative,(this would break any smooth interpolations), and this facilitates having a 'gimbal' rotation mode (like Maya, Blender etc..) if we ever want that also. If needed we could keep the previous implementation but would need to add some FMath::IsNearlyZero checks, with less performance. Note we only do this special filtering when applying delta's to actors or components in the editors, which then call UComponent::SetRelativeRotationExact, which is a new function to foces the RelativeRotation to be equal to the new rotation. This allows us to store un-nomalized Rotators at the cost that the RotationCache may be broken. We didn't change any of the other UComponent functions that set rotations (via Quats or Transforms) so they will still be bounded and unwound. In SetInternalWorldLocationAndRotation we only set the rotation if the rotation has changed, which fixes the rotation getting changed and re-normalized if just translate happens. In TransformTrackEditor, we correclty use the bUndwing flag and in MovieScene3DTransformSection there was an un-needed winding check there, it will be unwound earlier if needed, which happens if Sequence Recording is happening. Max we should talk about what to do about this . Note the euler angle drag via the widget is still bound to 0-360. I think we should just unbound that now since the rotations value are now unbound. This review now includes fixes suggested by Zak. #jira UE-UE-22228 Change 3873483 by Matt.Hoffman Sequencer Tracks can now be inserted above the spacer at the bottom of the tree. #jira UE-54706 Change 3873899 by Max.Chen Sequencer: Add section selection throbbing Change 3873908 by Max.Chen Movie Scene Capture: Added logging per frame Change 3873924 by Matt.Hoffman Adds the ability to store Sequence Recorder setups into profiles that stay with the map and can be re-loaded later. Profiles store the Actor Recordings so the settings for each actor should carry with them. #jira UESEQ-339 Change 3874726 by Matt.Hoffman Disable drag-and-drop targets on spacers that come between rows in Sequencer. This prevents extra drag/drop targets showing up between each row. #jira UE-54706 Change 3874862 by Matt.Hoffman Audio Track no longer gets reordered when adding sub-audio tracks, as sub-tracks are no longer counted towards the sorting order index when normalizing indexes. #jira UE-54727 Change 3875905 by Matt.Hoffman Disable Fade Track UI if a fade track already exists in the sequence. #jira UESEQ-393 Change 3876163 by Max.Chen Sequencer: Swap the camera object to the camera component's owner if it's not the same. #jira UE-54874 Change 3876971 by Andrew.Porter EngineTest: Moved Media Player Seek test to new folder. Also enabled the test with new ground truth image. Change 3877040 by Max.Chen Cine Camera: Split camera properties to two groups, "Camera Options" and "Camera Settings". The cine camera now hides properties in the "Camera Settings" group so that properties like bConstrainAspectRatio (in the "Camera Options" group) can be visible. #jira UE-54192 Change 3877763 by Max.Chen Curve Editor: Fix curve changed on end drag so that only curves that had keys/tangents that were changed receive notification, otherwise all loaded curves were getting notified that they were changed. #jira UE-54951 Change 3878234 by Matt.Hoffman Disable "Drop Below" targets for Sequencer Tree nodes to prevent a confusing UX issue where dropping underneath a Object Binding Node puts it after the object binding node but the UI looks like it's inserting it inside the Object Binding node. #jira UE-54743 Change 3879359 by Mike.Zyracki If a track is inactive we dim it a bit which seems to be the UE4 way to show inactive or disabled state. We changed the active logic so that all subtracks need to be inactive for the track to also be inactive(instead of all active for active). This conforms to how the active state actually works, e.g if you have two sections and only one is active the track is still active above it. #jira UESEQ-388 Change 3879462 by Max.Chen Sequencer: Allow dragging onto a particular row which would move out any overlapping sections to make space for the newly created section. Newly created sections are now selected and throbbed to draw attention to themselves. #jira UE-54664 Change 3879464 by Max.Chen Sequencer: Fixed overlapping ranges being inserted into the evaluation field during compilation - The issue was that track segments that had been combined with adjacent segments (due to them being identical) would potentially cause a subsequently compiled frame to overlap with a range that had already been inserted into the evaluation field. - The insertion code previously asserted that only minor overlaps were catered for (due to fp rounding errors) and assumed that a supplied range could not entirely contain any other range in the field. - The solution is to supply the insertion time along with the range to know exactly where the data should live in the field, and crop the range to the maximum allowable space between adjacent ranges. #jira UE-54922 Change 3879590 by Matt.Hoffman Items that are now added to the Sequencer via the "+Track" menu will be selected after being added. Items can now be added inside of folders instead of just to the root level. #jira UE-27397 Change 3879612 by Mike.Zyracki Display Nodes with no children are always active. #jira UESEQ-388 Change 3879730 by Matt.Hoffman Sequence Recorder's actor recording groups now remove items from the group when removed via the UI. #jira UESEQ-339 Change 3880256 by Mike.Zyracki Fix issue with inactive display with folders and other track nodes. #jira UESEQ-388 Change 3883491 by Max.Chen Fix issue where tick is skipped due to last ticked pose isn't cleared after AnimInstance changes. Copy from Release-4.19 #jira UE-51323 Change 3883603 by Max.Chen Movie Scene Capture: Add option toggle disable screen percentage. By default this is on (no change in current behavior). #jira UE-51898 Change 3885074 by Max.Preussner MediaCompositing: Resetting media texture & freeing resource on section end; removed dead code Change 3887220 by Max.Preussner MediaCompositing: Defaulted media section duration to 1 sec (since we do not know the actual duration in most cases) Change 3887478 by Matt.Hoffman Sequences now show [Inactive] in their title bars when they're disabled. This helps communicate why a sequence isn't being evaluated. #jira UE-51469 Change 3888985 by Max.Chen Movie Scene Capture: Clamp HDR Compression Quality between 0 and 1. #jira UE-55136 Change 3893519 by Max.Chen Sequence Recorder: Clarified tooltip for bRecordNearbySpawnedActors - spawned actors will still be recorded if they match the ActorFilter. #jira UE-55238 Change 3893546 by Max.Chen Sequence Recorder: If a selected actor already has a recording, add a blank recording. #jira UE-55239 Change 3894044 by Max.Preussner MediaCompositing: Added support for seeking into a media section Change 3894310 by andrew.porter MediaFrameworkTest: Adding Img media sources for 1080 and 2160 ravent test content Change 3894426 by Max.Preussner MediaAssets: Letting media textures with AutoClear retain their clear color when player is reset Change 3895717 by Max.Chen Sequencer: Null checks to prevent crash when saving the default state of a spawnable #jira UE-55304 Change 3897388 by Max.Chen Sequencer: Don't update current time to be within the view range when stepping into a sequence. #jira UE-55322 Change 3897452 by Max.Chen Audio: Fix crash when trying to record audio without any active capture devices. Log warning if the number of input channels is not 1 or 2. #jira UE-55223 Change 3897619 by Max.Preussner MediaCompositing: Removed commented out code Change 3898072 by Max.Chen Sequencer: Override the animation asset in the player state if it doesn't match the animation asset that's being evaluated. #jira UE-55328 Change 3898272 by Max.Preussner MediaPlayerEditor: Made slate brush constants static Change 3898704 by Max.Chen Sequencer: Skip if the binding id's sequence can't be found. #jira UE-55337 Change 3899855 by Max.Preussner MediaCompositingEditor: Added cache state visualization to media track Change 3900300 by Max.Preussner MediaCompositingEditor: Added loop indicators to media sections Change 3900694 by Max.Preussner ImfMedia: Looping cache only when player is looping Change 3900892 by Max.Preussner Stats: Added stats category for media framework Change 3900954 by Max.Preussner MediaCompositing: Don't evaluate at the end of media section Change 3901348 by Max.Preussner Core: Replaced TLruCache autos for better readability Change 3901655 by Max.Preussner ImgMedia: Added more perf stats to EXR reader Change 3901972 by Max.Preussner MediaAssets: Added getter for media player in media sound components Change 3902233 by Max.Preussner MediaAssets: Enabling media textures to receive samples right after player is assigned Change 3902238 by Max.Preussner MediaCompositing: Working around init/shutdown idiosyncracies in sequencer Change 3904045 by Max.Chen Sequencer: Fix copy/paste crash. Only process UMovieSceneCopyableBinding and objects that can be spawned by the movie scene spawn register. #jira UE-55314 Change 3905605 by Max.Chen Sequencer: Restrict spawnables from being created if they have a ClassWithin that UMovieScene is not a child of. #jira UE-55429 Change 3906550 by Max.Chen Sequencer: Add media track icon #jira UE-55480 Change 3907101 by Max.Chen Sequence Recorder: Fix bugs related to not recording a level sequence. There were certain assumptions that creating a level sequence meant that sequence recording was in progress. This is not always the case - the recorders can record animation assets and not create a level sequence. Changed the notion of IsRecording() to having at least one actor recording that is recording. Countdown timer, recording displays, etc should function if IsRecording() and not based on whether a level sequence is created. #jira UE-55485 Change 3907247 by Max.Chen Sequence Recorder: Fix crash not removing PrepareToCleanseEditorObject delegate. Repros when opening sequence recorder, closing it, and then opening or creating a level. Change 3910343 by Max.Preussner Core: Added async helper for executing functions on a given thread pool Change 3910346 by Max.Preussner ImgMedia: Added separate thread pools for loading/decoding and deleting image frames Change 3910829 by Max.Preussner Profiler: Increased visible range of profiler graph Change 3910841 by Max.Preussner MediaCompositing: Displaying asset name instead of full media source path in media section Change 3910870 by Max.Preussner ImgMedia: Using deallocation thread pool only in debug builds Change 3919642 by Max.Chen Sequence Recorder: Clarify active tooltip #jira UE-55661 Change 3919660 by Max.Chen Sequencer: Sequence template source signatures are now also compared to catch the case where a sub-sequence asset has been saved but not modified - The following sequence of events exposes this issue: - Create a master sequence with a single shot that spawns a cube - Add this sequence to a level and set it to auto-play - Save everything and restart - Resave just the inner shot asset without opening it - PIE - The inner shot never spawns its cube because its template was wiped on save, but its signature never changed. Since the master sequence previously didn't check the template source signature, it ends up trying to evaluate an empty template. #jira UE-55626 #jira UE-55490 Change 3921825 by Max.Chen Sequencer: "Run Construction Script in Sequencer" is off by default for blueprints but on for Sequencer. This allows the content author to switch it on for specific blueprints and sequencer will be default, run those with construction scripts enabled. Change 3922232 by Max.Chen Sequence Recorder: Reset countdelay on stop. #jira UE-55755 Change 3922306 by Max.Chen Sequence Recorder: Don't automatically mark transforms to be recorded by sequence recorder. Instead, log a warning if the user toggled it off to warn that the resulting animation might not match gameplay. #jira UE-55758 Change 3922912 by Max.Chen Sequence Recorder: Fix refresh next sequence name #jira UE-55757 Change 3927654 by Max.Chen Movie Scene Capture: Added format mapping for the name of the current camera #jira UE-55769 PR #4537 Change 3927658 by Max.Chen Sequencer: Added fbx property mapping for "FocusDistance" to "FocusSettings.ManualFocusDistance" #jira UE-55782 Change 3932022 by Max.Chen Sequencer: Add import animation track section to next available row index. #jira UE-55892 Change 3933919 by Max.Chen Sequencer: Jump to playback start frame and not 0 to start playback for recording. #jira UE-55933 Change 3934307 by Andrew.Rodham Sequencer: Add template signature that is re-generated every time the base template is regenerated, which invalidates evaluation fields This fixes an issue where the same sequence is instantiated multiple times in a sequence. If the source sequence was saved, its template would be wiped, which would invalidate the template ID When an instance tries to evaluate the master template, it would only invalidate a range in the evaluation field that was the hull of any invalid sub sequences overlapping the current time, potentially leaving invalid data in the evaluation field at positions later (or earlier) on in the sequence When the sub template was re-generated, it receives the same SequenceSignature as it had before (because the sequence hasn't actually changed), which causes the stale evaluation field data to fail the IsDirty check (because the sequence is the same as it thought, but the *template* has changed) This has been addressed be adding a signature to templates themselves, and checking both the template signature and sequence signature as a part of the IsDirty check. This ensures that we regenerate if either the template, or the sequence have changed. #jira UE-55934 Change 3936327 by Andrew.Rodham Sequencer: Removed increment when trimming right UMovieSceneSection::TrimSection already explicity assigns an exclusive bound to the time passed in. The new behavior means we can trim a section to the right, and insert another section without changing the time to create adjacent sections. #jira UE-42652 Change 3936328 by Andrew.Rodham Fixed KeyFrameManipulator assignment operators and copy/move constructors - These types are potentially self-referential so cannot use default constructors/assignment Change 3936330 by Andrew.Rodham Converted UMGSequencePlayer to use frames internally #jira UE-54878 Change 3936726 by Max.Chen Sequencer: Set track node as the parent of the key area node. The key area switcher needs the object binding id from the parent object binding node. Without this, the binding to the external value fails. #jira UE-55931 Change 3936775 by Max.Chen Sequencer: Should stop or loop should compare DurationFrames with Current Time from StartTime. The bug is that if you set 30 warmup frames in movie rendering for a range of 0-100, the FrameRange will be starting at -30 and have a duration of 130. Without this fix, the playback will continue until frame 130, rather than 100. #jira UE-55933 Change 3936935 by Matt.Hoffman Easing Curves are now represented in Play Rate resolution instead of internal resolution. #jira UE-55937 Change 3937069 by Matt.Hoffman Users can toggle if the is infinite on each side, limited by which tracks support infinite ranges. #jira UE-55891 Change 3937516 by Max.Preussner ImgMedia: Added support for single-threaded platforms #jira UE-55986 Change 3937826 by Max.Preussner MediaAssets: Disabling media sound components on HTML5 if AudioMixer is not enabled Change 3937997 by Max.Chen Curve Editor: Add Zoom to Fit Curves so that selected curves from Sequencer can be focused on. Tested that undo doesn't re-zoom. #jira UE-55935 Change 3938000 by Max.Chen Sequencer: Stop all sounds before generating audio waveforms. #jira UE-55951 Change 3938376 by Max.Preussner XGEController: Disabled XGE Controller in single-threaded apps to prevent crash Change 3938444 by Max.Preussner Core: Added async support for single-threaded applications Change 3938445 by Max.Preussner Networking: Added support for single-threaded applications in UDP socket sender/receiver Change 3938447 by Max.Preussner Messaging: Added support for single-threaded applications Change 3939432 by Max.Chen Sequence Recorder: Append command list to global level editor actions so that shortcuts are accessible in level editor. #jira UE-55798 Change 3940229 by Andrew.Rodham Added prospective display rate upgrade to UMovieScene::PostLoad - There was previously some very odd behaviour that would assign the fixed frame interval only when a sub sequence was focused in SSequencer. This meant that many sequences could have a frame interval of 0 set in the data. - Under the old method of snap interval display this would have fallen back to getting the display interval from the sequencer settings, but we no longer look at these. - The USequencerSettings properties have been removed and in their place, a prospective data upgrade for sequences that have a fixed frame interval old 0fps that sets the play rate to the previous defaults based off the old USequencerSettings defaults. - This could end up 'changing' the display rate for sequences where the user has changed the snap interval in the settings for a particular sequence editor, but there's not much we can do about that given we don't have access to the USequencerSettings classes in UMovieScene #jira UE-55919 Change 3940277 by Andrew.Rodham Sequencer: Added ability to default frame resolutions and play rates for newly created actor sequences Change 3940378 by Andrew.Rodham Sequencer: Post move import dialog now defaults to the playback framerate of the sequence, and floors to frame numbers Change 3940559 by Andrew.Rodham Reinstated primed or recording sequence color Change 3940642 by Max.Preussner ImagePlate: Removed image plate media playback functionality Change 3940843 by Max.Preussner Core: Made TCircularQueue actually thread-safe; improved code comments Change 3940860 by Max.Chen Sequencer: Changed StructNameToKey to StructPathToKey Previously, keying a PropertyPath of [RenderTransform][Shear][X] would get trimmed to X, which doesn't map to a channel name as considered by Sequencer2dTransformTrackEditor. Instead, trim the resulting property path to [Shear][X] so that track editors can determine the desired struct path and channels to key. #jira UE-52966 Change 3941292 by Mike.Zyracki Fix for trajectories out of range not showing up. 1) If we had no key data we would pop the time, so wouldn't get the section ranges. 2) Calculating of upper bound was wrong, checking against -1 and not key == num of keys when doing algo::lower_bound. 3) No need to do the Bck-- for the bakward iterators since we fixed #2. We start now from the upper bound correctly. 4) If we had no keys (at section start,end) we would incorrectly say we were any key type, so since we draw constant keys as dashed we would do so incorrectly around section end points. #jira UE-55929 Change 3941424 by Max.Chen Curve Editor: Change Zoom to Fit to use TArrayView Change 3941498 by Max.Preussner Core: Added FMath::DivideAndRoundNearest function Change 3942097 by Matt.Hoffman Drop Frame Timecode Support for NTSC rates. Change 3942104 by Matt.Hoffman Sequence Recorder Group is no longer visible inside the World Outliner after using one. #jira 55266 Change 3942107 by Max.Chen Sequencer: Resurrect logic to find or extend an existing section when adding keys. Change 3942330 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942339 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942507 by Andrew.Rodham Sequencer: We no longer pad the time overlap threshold with a small number that is not scaled by the current zoom level - The presence of this pad was causing keys that were far apart to be grouped when zoomed in a long way Change 3942509 by Andrew.Rodham Sequencer: Only pad total view range, rather than section range as well when retrieving keys to render - This stops us from rendering keys that are within the view range, but outside the section range Change 3942512 by Andrew.Rodham Added transactions to some sequencer details customizations Change 3942513 by Andrew.Rodham Sequencer: Reinstated validation checks to UMovieSceneSection::SetStartFrame and SetEndFrame, changed erroneous uses to use SetRange Change 3942560 by Andrew.Rodham Pass by rvalue reference to appease error C2719 on Win32 ('InChannels': formal parameter with requested alignment of 8 won't be aligned) Change 3942697 by Andrew.Rodham Newly Created Level Sequences and Actor Sequences now default to 24000 fps frame resolution (+/- ~24hrs range, supporting all integer rates + 23.976) Change 3942700 by Andrew.Rodham Sequencer: Added legacy out-of-bounds errors for times that are not supported by the current legacy upgrade frame resolution Change 3942989 by Max.Preussner Core: Fixed circular queue count calculation Change 3943538 by Max.Preussner MediaAssets: Reverted workaround for procedural audio log spam in HTML5 (Actor component initialization cannot be skipped if the component is used in a level) Change 3944071 by Max.Preussner QAGame: Fixed Media Texture keeps last frame of Media when PIE ends #jira UE-53360 Change 3944292 by Max.Chen Sequencer: Added extra flags to ensure that asset initialization does not occur on template actor sequences #jira UE-56113 Change 3944364 by Max.Chen Sequencer: Prevent circular shot/master tracks. Tested adding master -> child -> master as drag and drop cinematic shot tracks and sub tracks as well as through the + button. #jira UE-56091 Change 3944422 by Max.Chen Sequence Recorder: Disable transform recording if off. #jira UE-56061 Change 3944745 by Andrew.Rodham Sequencer: Key rendering fixes - Fixed assert that occured when keys happened to reside on some times due to KeyTime + TimeOverlapThreshold - KeyTime being slightly larger TimeOverlapThreshold - Fixed keys sometimes being clipped when zoomed right in due to lack of half-frame offset - Added missing documentation to MovieSceneTimeHelpers.h #jira UE-56107 Change 3945231 by Andrew.Rodham Sequencer: Reconstruct channel proxy on Serialize to catch all cases of undo/redo, PostLoad and duplication #jira UE-56089 Change 3945301 by Andrew.Rodham Sequencer: Added safety checks during initial sequence recording to guard against applying negative or 0-sized sequence ranges #jira UE-56125 Change 3946627 by Max.Preussner Fortnite: Fixed game crashes closing editor while in PIE - Pure virtual function being called #jira UE-56144 [CL 3946896 by Max Chen in Main branch]
2018-03-14 22:09:33 -04:00
CurrentTimeText = FText::FromString(TimeSliderArgs.NumericTypeInterface->ToString(FrameNumber.Value));
Copying //UE4/Dev-Sequencer to Dev-Main (//UE4/Dev-Main) #lockdown nick.penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2719576 on 2015/10/07 by Chris.Wood Added check for stale BP classes in FKismetCompilerUtilities::IsTypeCompatibleWithProperty() to stop compiler errors during reinstancing. [UE-19795] - UMG Compiler error when adding variable to nested Widget Change 2721474 on 2015/10/08 by Andrew.Rodham Sequencer: Movie render operations now successfully capture UMG UI Change 2724958 on 2015/10/12 by Chris.Wood Added missing resource cleanup code to UMG widgets [UE-21874] - UWIdget classes with missing ReleaseSlateResources() overrides Added ReleaseSlateResources() to ListView, TileView and Slider widgets to reset shared pointers to slate widgets. Change 2733562 on 2015/10/19 by Andrew.Rodham Sequencer: Fixed spawnables not working in sub-sequences - The issue here was that sequence track instance updates had no knowledge of which sub-sequence they were being evaluated within. We now pass the active sequence instance into the relevant track instance functions. - Also addressed some issues to do with save/restore state not getting called correctly on master tracks of sequence instances - Tidied up spawn track editor Change 2735264 on 2015/10/20 by Chris.Wood Improved Engine analytics handling for Editor and games [UE-21892] - Improve how Engine analytics are handled for Editor and games Changes: Added Privacy section to Editor settings Exposed editor analytics flag in Privacy options Added Details Customization to make this type of bool property clearer with extra info and hyperlink Changed AreEditorAnalyticsEnable() to use new flag Prevented analytics init when disabled by user Sending event and shutting down analytics when user opts out Add in-game project setting for anonymous game usage data Renamed and moved bHardwareSurveyEnabled Added message about exposing in-game setting to end users Added anonymous GUID id for in-game analytics Moved end user settings to global config (defaultengine.ini) Placeholder loc text on new options for now, pending legal wording sign-off Change 2735866 on 2015/10/20 by Max.Preussner Async: Added ability to register an optional callback function that is executed when a Future completes Change 2739793 on 2015/10/23 by Andrew.Rodham Sequencer: Refined movie scene capturing to ensure frame accuracies are maintained - Aborting an in-progress capture now gracefully terminates the process (through a remote session command) to ensure it still creates a valid video - Level sequece movie capture will now pick up a corresponding level sequence in the world, and use that to capture with. A new actor will be spawned at runtime with the correct asset, should one not already exist. - Made -nomovie actually work - Refined how active movie captures are managed - Added option to 'stage' a sequence before starting the capture. This feature will set the sequence on its first frame for the preroll, to ensure that PPP effects are allowed time to stabilize Change 2744402 on 2015/10/28 by Max.Preussner Sequencer: Separated track display names from track identifier names; code cleanup Change 2745953 on 2015/10/29 by Max.Chen Sequencer: Attach to socket. Relative attachments. #jira UETOOL-463 Change 2747028 on 2015/10/29 by Max.Preussner Sequencer: Another overhaul of track display name handling; code and documentation cleanup pass. Change 2758888 on 2015/11/09 by Chris.Wood Integrating changes - 4.10 to Dev-Sequencer From 4.10 branch fixes: Added check for debugger present when reporting abnormal termination to analytics. [UE-22844] CL 2750764 Added FSystemWideCriticalSection for desktop platforms. Used by analytics to lock access to editor instances list in the OS. [UE-22844] CL 2753661 Updating wording in privacy settings text. [UE-21892] CL 2753709 Mac and Linux CIS fix [UE-22844] CL 2755381 Change 2761287 on 2015/11/10 by Max.Chen Sequencer: Add null check when updating the UMG preview if the sequencer doesn't exist/has been closed. #jira UE-5206 Change 2764945 on 2015/11/12 by Max.Preussner Core: Templatized TypeContainer implementation to allow for thread-safe objects; updated unit test Also fixes UE-13850 Change 2765036 on 2015/11/12 by Max.Preussner UdpMessaging: Fixed message serialization unit test (UE-22571) #jira: UE-22571 Change 2766149 on 2015/11/13 by Max.Preussner Media: Implemented event that gets triggered when playback reached the end of media Also fixes looping. Change 2768157 on 2015/11/16 by Max.Preussner Media: Added .m4a to supported WMF file extensions Change 2769200 on 2015/11/16 by Max.Chen Editor: Add broadcast messages when snapping objects. #jira UE-22680 Change 2773066 on 2015/11/19 by Chris.Wood Upload crashes from CRC to Data Router [UECORE-249] - Integrate Crash Report Client with the Data Router Upload to Receiver still active as we are running both in parallel for now.
2015-12-11 13:52:32 -05:00
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3946692) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3801826 by Max.Chen PR #4304: Level Sequence crash fix - Guarded against dereferencing null componen. (Contributed by DSDambuster) Change 3801828 by Max.Chen PR #4302: Movie Scene Visibility Template unitialised variable, causing random . (Contributed by DSDambuster) Change 3801837 by Max.Chen Sequencer: Delay spawning/construction for convert to possessable. This fixes a bug where property values would be lost when converting back and forth from possessable to spawnable. #jira UE-52400 Change 3801841 by Max.Chen Sequencer: Make spacer nodes not selectable. PR #4194: Improvements to Sequencer (Contributed by projectgheist) #jira UE-53117 #jira UE-52139 Change 3804183 by Max.Preussner MediaAssets: Added missing lock in media sound component Change 3805414 by Max.Preussner MediaAssets: Setting valid GUID when initializing media texture resource Change 3819578 by Max.Chen PR #4370: When enabling the "MovieCapture", do not turn off the Stereo-3D display. (Contributed by yehaike) #jira UE-53647 Change 3823414 by Max.Chen Curve Editor: Lock down the first and last keys in the redundant keys removal range so that they're unaffected. #jira UE-53591 Change 3826406 by Max.Chen Sequencer: Move OnStartedPlaying() to within first update in UpdateTimeCursorPosition(). This fixes an issue where setting the hud/player visibility was getting stomped on later. #jira UE-52772 Change 3827044 by Max.Preussner MediaAssets: Added sprite visualization to media sound component #jira UE-53594 Change 3827988 by Max.Preussner MediaPlayerAssets: Fixed Media Texture is not linked to Media Player when created together #jira UE-53532 Change 3828506 by Max.Preussner MediaPlayerEditor: Added attenuation visualizer for media sound components #jira UE-53594 Change 3832590 by andrew.porter EngineTest: Added a keep state check in Property Animation sequencer test Change 3833053 by andrew.porter EngineTest: Adding Hierarchical Bias test Change 3835683 by andrew.porter EngineTest: Adding UMG Animation screenshot test Change 3836076 by Max.Chen Sequencer: Fix audio volume and pitch multiplier deprecation. Change 3836230 by andrew.porter EngineTest: Adding Sequence Bone Position automation test Change 3836347 by Max.Chen Sequencer: Fixes to shot name parsing. When a shot doesn't contain a shot number, assume, [ShotName]_[TakeNumber]. When duplicating a shot, put the new shot in the same path of the original shot, so that the take numbers will increment properly. #jira UE-51868 Change 3836552 by Max.Chen Sequencer: Sub section now has a takes menu Change 3838094 by Max.Chen UMG: Fix template finish not getting called on stop. This fixes a bug where sections aren't restored when finished. #jira UE-52285 Change 3838708 by Max.Chen Sequencer: Add notification when the blend type is changed. #jira UE-54046 Change 3840295 by Max.Chen Sequencer: Fix copy/paste crash for lights #jira UE-54084 Change 3840957 by Mike.Zyracki Added Show Only Keyable and Show Only Animated to the filter list in the property editor. Added IsPropertyAnimated to IDetailKeyframe Interface which already had support for showing properties which are keyable (which is used for the key icon next to the properties.). Could have created another interface but then would have had to mimic the sequencer binding, releasing also, so this seemed best way. One issue still left is that custom built detail items currently don't store associated properties(usually) and so certain properties, in particulalry transforms, won't show up as keyable or animated. Note this also shows up with the keyable icon not showing up next to transform tracks, and other filters like Show Only Modified not working with transforms/customs. Not sure best way to tackle this. #jira UESEQ-328 Change 3841756 by Max.Chen Sequencer: Fix unbound possessable components when pasting spawnables. #jira UE-54104 Change 3843950 by andrew.porter EngineTest: Renaming LevelStreaming tests/content to LevelVisibility Change 3844082 by Mike.Zyracki Missing file for animated filter in property editor. When finding if a track is animated we need to find it but we can't easily induce the MovieTrack class for any particular property. So we don't set a class for it and just search by it's ID and name. #jira UESEQ-328 Change 3846902 by Max.Preussner ImgMedia: Fixed image media player never finished initialization if loading failed #jira UE-54247 Change 3849820 by Mike.Zyracki Reassigning deleted widgets didn't work since the menu extender mechanism needs a valid UObject in order to perform an operation on it. So to fix we replaced GetObjectBindingContextMenuExtender in WidgetBlueprint with new delegate mechanism (OnBuildCustomContextMenuForGuid) that supports FGuid in addition to UObjects which is needed to handle re-binding deleted widgets. Note that the default sequencer hacks this for replacing deleted actors in SequencerObjectBindingNode to check to see if a LevelSequence is active. We could move to this mechanism there also. #jira UE-53163 Change 3852211 by Max.Chen UMG: Indicate name of the property that is not bound. #jira UE-54350 Change 3854120 by Max.Chen Sequencer: Fix sibling folders being allowed to have the same folder name. #jira UE-54363 Change 3854627 by Max.Chen Sequencer: Step to next/previous key should work for all tracks if there aren't any selected. #jira UESEQ-391 Change 3855825 by andrew.porter EngineTest: Adding animation blending automation test Change 3855950 by andrew.porter EngineTest: Adding correct expected valuues to animation blending test Change 3856237 by Matt.Hoffman UESEQ-336 - Sequencer Track Reordering Adds the ability to re-order Master Tracks, Folders and Object Bindings within sequencer hierarchies (including UMG). Adds the ability to do a one-off sorting of the content under the old sorting behavior if the user wants to reset their layout to how it was under legacy behavior. Modifies SequencerTrackNodes, SequencerFolderNodes and SequencerObjectBindingNodes to handle CanDrop/OnDrop for above, below and ontop of. Fixes a Slate Issue that forcibly expanded a TreeviewRow if an item handled OnDrop. Slate will now only forcibly expand the row if the item says the drop happened ontop of the item, and not above or below it like it previously did. Change 3856503 by andrew.porter EngineTest: Adding automation test for using animation blueprint with blend multi node in sequencer Change 3857875 by Max.Chen Sequencer: Assign the sequence id after the template is compiled. #jira UE-54462 Change 3858344 by Max.Chen Sequencer: Prevent Goto and Transform boxes from overlapping by allowing them to be visible at the same time in an autosized horizontal box. Also, added close button to the goto box. PR #4425: Prevent Goto and Transform boxes from overlapping in Sequencer ... (Contributed by projectgheist) #jira UE-54210 Change 3860566 by andrew.porter MediaFrameworkTest: Set the option to index 0 for the audio and video track list by default Change 3860654 by andrew.porter EngineTest: Enabling Camera Cut + FOV test Change 3860981 by andrew.porter EngineTest: Updating skeletal mesh tests with a delay after set playback position Change 3861256 by Max.Chen Sequencer: Add all bindings if none selected. #jira-54440 Change 3862154 by Andrew.Rodham Added TimeManagement module Change 3862424 by andrew.porter EngineTest: Turned on the test Bone Positions with Blend Multi Node Change 3862573 by andrew.porter EngineTest: Adding test to compare bone positions in a sequence that is blending an animation that is using an AnimBP Change 3865117 by Max.Chen Sequencer: Stop auto scroll on mouse release of movement. #jira UE-31212 Change 3865303 by Max.Chen Sequencer: Add drag and drop transactions #jira UE-54662 Change 3865304 by Max.Chen Sequencer: Fix crash when an actor factory is not found. Change 3865361 by Max.Chen Sequencer: Don't change the camera/shot lock button when popping out of a sequence. #jira UE-54665 Change 3865412 by Max.Chen Sequencer: Determine whether a transform track is for a camera by using the spawned object or template #jira UE-54666 Change 3865685 by Max.Chen Sequencer: Clear autoscrub offset when stopping autoscroll #jira UE-31212 Change 3865886 by Max.Chen Sequence Recorder: Log an error if the number of frames changes while recording. This can happen if the skeleton changes while recording. #jira UE-48715 Change 3866925 by Andrew.Porter MediaFrameworkTest: Changing the current PNG test video image sequence to 1024 x 576 Change 3867705 by andrew.porter QAGame: Adding Audio Sort Sequence to dev folder Change 3867890 by andrew.porter QAGame: Adding a sequence for testing a sorting crash to my dev folder Change 3872628 by Max.Chen Movie Scene Capture: Split delay before warmup into split delay before shot warmup so that there's separate controls for when the movie scene capture warmups up vs. shot boundaries. Change 3873131 by Matt.Hoffman UE-54732 - Crash reordering a folder with a track. This was caused by folders being the only type of track to check if someone was putting a parent track into a child track. Object Binding tracks and Tracks now check as well so that you can't use the above/below drop targets to add parents as children. This also fixed a typo in the localization keys. #jira UE-54732 Change 3873301 by Mike.Zyracki Added ability to support continous euler angle changes when changing rotations, in particularly with the rotation gizmo's. To do this we effectively added a form an of 'euler filter'(https://en.wikipedia.org/wiki/Euler_filter) to find the closest euler angle to the current euler angle. Three functions were added to FRotator to make this possible, one to get the euler angle that's has the same rotation as it, one to get the difference between two euler angles via Manhattan distance and a third using the previous two to choose a Rotator value that's closest to it. We then use these functions before calling UComponent::SetRelativeRotation to make sure we use the correct Euler after the Quat conversion. We also no longer limit(bound) the euler angles to -180,180, which is obviously necessary to avoid flips. I also changed how we caluclate yaw and roll when pitch is -90 or 90 to make it the standard approach of zeroing out roll and just setting yaw. Main reasons are the previous implementation had precision issues so things like 180, 90, -180 would show up due to numbers being nearly zero but negative,(this would break any smooth interpolations), and this facilitates having a 'gimbal' rotation mode (like Maya, Blender etc..) if we ever want that also. If needed we could keep the previous implementation but would need to add some FMath::IsNearlyZero checks, with less performance. Note we only do this special filtering when applying delta's to actors or components in the editors, which then call UComponent::SetRelativeRotationExact, which is a new function to foces the RelativeRotation to be equal to the new rotation. This allows us to store un-nomalized Rotators at the cost that the RotationCache may be broken. We didn't change any of the other UComponent functions that set rotations (via Quats or Transforms) so they will still be bounded and unwound. In SetInternalWorldLocationAndRotation we only set the rotation if the rotation has changed, which fixes the rotation getting changed and re-normalized if just translate happens. In TransformTrackEditor, we correclty use the bUndwing flag and in MovieScene3DTransformSection there was an un-needed winding check there, it will be unwound earlier if needed, which happens if Sequence Recording is happening. Max we should talk about what to do about this . Note the euler angle drag via the widget is still bound to 0-360. I think we should just unbound that now since the rotations value are now unbound. This review now includes fixes suggested by Zak. #jira UE-UE-22228 Change 3873483 by Matt.Hoffman Sequencer Tracks can now be inserted above the spacer at the bottom of the tree. #jira UE-54706 Change 3873899 by Max.Chen Sequencer: Add section selection throbbing Change 3873908 by Max.Chen Movie Scene Capture: Added logging per frame Change 3873924 by Matt.Hoffman Adds the ability to store Sequence Recorder setups into profiles that stay with the map and can be re-loaded later. Profiles store the Actor Recordings so the settings for each actor should carry with them. #jira UESEQ-339 Change 3874726 by Matt.Hoffman Disable drag-and-drop targets on spacers that come between rows in Sequencer. This prevents extra drag/drop targets showing up between each row. #jira UE-54706 Change 3874862 by Matt.Hoffman Audio Track no longer gets reordered when adding sub-audio tracks, as sub-tracks are no longer counted towards the sorting order index when normalizing indexes. #jira UE-54727 Change 3875905 by Matt.Hoffman Disable Fade Track UI if a fade track already exists in the sequence. #jira UESEQ-393 Change 3876163 by Max.Chen Sequencer: Swap the camera object to the camera component's owner if it's not the same. #jira UE-54874 Change 3876971 by Andrew.Porter EngineTest: Moved Media Player Seek test to new folder. Also enabled the test with new ground truth image. Change 3877040 by Max.Chen Cine Camera: Split camera properties to two groups, "Camera Options" and "Camera Settings". The cine camera now hides properties in the "Camera Settings" group so that properties like bConstrainAspectRatio (in the "Camera Options" group) can be visible. #jira UE-54192 Change 3877763 by Max.Chen Curve Editor: Fix curve changed on end drag so that only curves that had keys/tangents that were changed receive notification, otherwise all loaded curves were getting notified that they were changed. #jira UE-54951 Change 3878234 by Matt.Hoffman Disable "Drop Below" targets for Sequencer Tree nodes to prevent a confusing UX issue where dropping underneath a Object Binding Node puts it after the object binding node but the UI looks like it's inserting it inside the Object Binding node. #jira UE-54743 Change 3879359 by Mike.Zyracki If a track is inactive we dim it a bit which seems to be the UE4 way to show inactive or disabled state. We changed the active logic so that all subtracks need to be inactive for the track to also be inactive(instead of all active for active). This conforms to how the active state actually works, e.g if you have two sections and only one is active the track is still active above it. #jira UESEQ-388 Change 3879462 by Max.Chen Sequencer: Allow dragging onto a particular row which would move out any overlapping sections to make space for the newly created section. Newly created sections are now selected and throbbed to draw attention to themselves. #jira UE-54664 Change 3879464 by Max.Chen Sequencer: Fixed overlapping ranges being inserted into the evaluation field during compilation - The issue was that track segments that had been combined with adjacent segments (due to them being identical) would potentially cause a subsequently compiled frame to overlap with a range that had already been inserted into the evaluation field. - The insertion code previously asserted that only minor overlaps were catered for (due to fp rounding errors) and assumed that a supplied range could not entirely contain any other range in the field. - The solution is to supply the insertion time along with the range to know exactly where the data should live in the field, and crop the range to the maximum allowable space between adjacent ranges. #jira UE-54922 Change 3879590 by Matt.Hoffman Items that are now added to the Sequencer via the "+Track" menu will be selected after being added. Items can now be added inside of folders instead of just to the root level. #jira UE-27397 Change 3879612 by Mike.Zyracki Display Nodes with no children are always active. #jira UESEQ-388 Change 3879730 by Matt.Hoffman Sequence Recorder's actor recording groups now remove items from the group when removed via the UI. #jira UESEQ-339 Change 3880256 by Mike.Zyracki Fix issue with inactive display with folders and other track nodes. #jira UESEQ-388 Change 3883491 by Max.Chen Fix issue where tick is skipped due to last ticked pose isn't cleared after AnimInstance changes. Copy from Release-4.19 #jira UE-51323 Change 3883603 by Max.Chen Movie Scene Capture: Add option toggle disable screen percentage. By default this is on (no change in current behavior). #jira UE-51898 Change 3885074 by Max.Preussner MediaCompositing: Resetting media texture & freeing resource on section end; removed dead code Change 3887220 by Max.Preussner MediaCompositing: Defaulted media section duration to 1 sec (since we do not know the actual duration in most cases) Change 3887478 by Matt.Hoffman Sequences now show [Inactive] in their title bars when they're disabled. This helps communicate why a sequence isn't being evaluated. #jira UE-51469 Change 3888985 by Max.Chen Movie Scene Capture: Clamp HDR Compression Quality between 0 and 1. #jira UE-55136 Change 3893519 by Max.Chen Sequence Recorder: Clarified tooltip for bRecordNearbySpawnedActors - spawned actors will still be recorded if they match the ActorFilter. #jira UE-55238 Change 3893546 by Max.Chen Sequence Recorder: If a selected actor already has a recording, add a blank recording. #jira UE-55239 Change 3894044 by Max.Preussner MediaCompositing: Added support for seeking into a media section Change 3894310 by andrew.porter MediaFrameworkTest: Adding Img media sources for 1080 and 2160 ravent test content Change 3894426 by Max.Preussner MediaAssets: Letting media textures with AutoClear retain their clear color when player is reset Change 3895717 by Max.Chen Sequencer: Null checks to prevent crash when saving the default state of a spawnable #jira UE-55304 Change 3897388 by Max.Chen Sequencer: Don't update current time to be within the view range when stepping into a sequence. #jira UE-55322 Change 3897452 by Max.Chen Audio: Fix crash when trying to record audio without any active capture devices. Log warning if the number of input channels is not 1 or 2. #jira UE-55223 Change 3897619 by Max.Preussner MediaCompositing: Removed commented out code Change 3898072 by Max.Chen Sequencer: Override the animation asset in the player state if it doesn't match the animation asset that's being evaluated. #jira UE-55328 Change 3898272 by Max.Preussner MediaPlayerEditor: Made slate brush constants static Change 3898704 by Max.Chen Sequencer: Skip if the binding id's sequence can't be found. #jira UE-55337 Change 3899855 by Max.Preussner MediaCompositingEditor: Added cache state visualization to media track Change 3900300 by Max.Preussner MediaCompositingEditor: Added loop indicators to media sections Change 3900694 by Max.Preussner ImfMedia: Looping cache only when player is looping Change 3900892 by Max.Preussner Stats: Added stats category for media framework Change 3900954 by Max.Preussner MediaCompositing: Don't evaluate at the end of media section Change 3901348 by Max.Preussner Core: Replaced TLruCache autos for better readability Change 3901655 by Max.Preussner ImgMedia: Added more perf stats to EXR reader Change 3901972 by Max.Preussner MediaAssets: Added getter for media player in media sound components Change 3902233 by Max.Preussner MediaAssets: Enabling media textures to receive samples right after player is assigned Change 3902238 by Max.Preussner MediaCompositing: Working around init/shutdown idiosyncracies in sequencer Change 3904045 by Max.Chen Sequencer: Fix copy/paste crash. Only process UMovieSceneCopyableBinding and objects that can be spawned by the movie scene spawn register. #jira UE-55314 Change 3905605 by Max.Chen Sequencer: Restrict spawnables from being created if they have a ClassWithin that UMovieScene is not a child of. #jira UE-55429 Change 3906550 by Max.Chen Sequencer: Add media track icon #jira UE-55480 Change 3907101 by Max.Chen Sequence Recorder: Fix bugs related to not recording a level sequence. There were certain assumptions that creating a level sequence meant that sequence recording was in progress. This is not always the case - the recorders can record animation assets and not create a level sequence. Changed the notion of IsRecording() to having at least one actor recording that is recording. Countdown timer, recording displays, etc should function if IsRecording() and not based on whether a level sequence is created. #jira UE-55485 Change 3907247 by Max.Chen Sequence Recorder: Fix crash not removing PrepareToCleanseEditorObject delegate. Repros when opening sequence recorder, closing it, and then opening or creating a level. Change 3910343 by Max.Preussner Core: Added async helper for executing functions on a given thread pool Change 3910346 by Max.Preussner ImgMedia: Added separate thread pools for loading/decoding and deleting image frames Change 3910829 by Max.Preussner Profiler: Increased visible range of profiler graph Change 3910841 by Max.Preussner MediaCompositing: Displaying asset name instead of full media source path in media section Change 3910870 by Max.Preussner ImgMedia: Using deallocation thread pool only in debug builds Change 3919642 by Max.Chen Sequence Recorder: Clarify active tooltip #jira UE-55661 Change 3919660 by Max.Chen Sequencer: Sequence template source signatures are now also compared to catch the case where a sub-sequence asset has been saved but not modified - The following sequence of events exposes this issue: - Create a master sequence with a single shot that spawns a cube - Add this sequence to a level and set it to auto-play - Save everything and restart - Resave just the inner shot asset without opening it - PIE - The inner shot never spawns its cube because its template was wiped on save, but its signature never changed. Since the master sequence previously didn't check the template source signature, it ends up trying to evaluate an empty template. #jira UE-55626 #jira UE-55490 Change 3921825 by Max.Chen Sequencer: "Run Construction Script in Sequencer" is off by default for blueprints but on for Sequencer. This allows the content author to switch it on for specific blueprints and sequencer will be default, run those with construction scripts enabled. Change 3922232 by Max.Chen Sequence Recorder: Reset countdelay on stop. #jira UE-55755 Change 3922306 by Max.Chen Sequence Recorder: Don't automatically mark transforms to be recorded by sequence recorder. Instead, log a warning if the user toggled it off to warn that the resulting animation might not match gameplay. #jira UE-55758 Change 3922912 by Max.Chen Sequence Recorder: Fix refresh next sequence name #jira UE-55757 Change 3927654 by Max.Chen Movie Scene Capture: Added format mapping for the name of the current camera #jira UE-55769 PR #4537 Change 3927658 by Max.Chen Sequencer: Added fbx property mapping for "FocusDistance" to "FocusSettings.ManualFocusDistance" #jira UE-55782 Change 3932022 by Max.Chen Sequencer: Add import animation track section to next available row index. #jira UE-55892 Change 3933919 by Max.Chen Sequencer: Jump to playback start frame and not 0 to start playback for recording. #jira UE-55933 Change 3934307 by Andrew.Rodham Sequencer: Add template signature that is re-generated every time the base template is regenerated, which invalidates evaluation fields This fixes an issue where the same sequence is instantiated multiple times in a sequence. If the source sequence was saved, its template would be wiped, which would invalidate the template ID When an instance tries to evaluate the master template, it would only invalidate a range in the evaluation field that was the hull of any invalid sub sequences overlapping the current time, potentially leaving invalid data in the evaluation field at positions later (or earlier) on in the sequence When the sub template was re-generated, it receives the same SequenceSignature as it had before (because the sequence hasn't actually changed), which causes the stale evaluation field data to fail the IsDirty check (because the sequence is the same as it thought, but the *template* has changed) This has been addressed be adding a signature to templates themselves, and checking both the template signature and sequence signature as a part of the IsDirty check. This ensures that we regenerate if either the template, or the sequence have changed. #jira UE-55934 Change 3936327 by Andrew.Rodham Sequencer: Removed increment when trimming right UMovieSceneSection::TrimSection already explicity assigns an exclusive bound to the time passed in. The new behavior means we can trim a section to the right, and insert another section without changing the time to create adjacent sections. #jira UE-42652 Change 3936328 by Andrew.Rodham Fixed KeyFrameManipulator assignment operators and copy/move constructors - These types are potentially self-referential so cannot use default constructors/assignment Change 3936330 by Andrew.Rodham Converted UMGSequencePlayer to use frames internally #jira UE-54878 Change 3936726 by Max.Chen Sequencer: Set track node as the parent of the key area node. The key area switcher needs the object binding id from the parent object binding node. Without this, the binding to the external value fails. #jira UE-55931 Change 3936775 by Max.Chen Sequencer: Should stop or loop should compare DurationFrames with Current Time from StartTime. The bug is that if you set 30 warmup frames in movie rendering for a range of 0-100, the FrameRange will be starting at -30 and have a duration of 130. Without this fix, the playback will continue until frame 130, rather than 100. #jira UE-55933 Change 3936935 by Matt.Hoffman Easing Curves are now represented in Play Rate resolution instead of internal resolution. #jira UE-55937 Change 3937069 by Matt.Hoffman Users can toggle if the is infinite on each side, limited by which tracks support infinite ranges. #jira UE-55891 Change 3937516 by Max.Preussner ImgMedia: Added support for single-threaded platforms #jira UE-55986 Change 3937826 by Max.Preussner MediaAssets: Disabling media sound components on HTML5 if AudioMixer is not enabled Change 3937997 by Max.Chen Curve Editor: Add Zoom to Fit Curves so that selected curves from Sequencer can be focused on. Tested that undo doesn't re-zoom. #jira UE-55935 Change 3938000 by Max.Chen Sequencer: Stop all sounds before generating audio waveforms. #jira UE-55951 Change 3938376 by Max.Preussner XGEController: Disabled XGE Controller in single-threaded apps to prevent crash Change 3938444 by Max.Preussner Core: Added async support for single-threaded applications Change 3938445 by Max.Preussner Networking: Added support for single-threaded applications in UDP socket sender/receiver Change 3938447 by Max.Preussner Messaging: Added support for single-threaded applications Change 3939432 by Max.Chen Sequence Recorder: Append command list to global level editor actions so that shortcuts are accessible in level editor. #jira UE-55798 Change 3940229 by Andrew.Rodham Added prospective display rate upgrade to UMovieScene::PostLoad - There was previously some very odd behaviour that would assign the fixed frame interval only when a sub sequence was focused in SSequencer. This meant that many sequences could have a frame interval of 0 set in the data. - Under the old method of snap interval display this would have fallen back to getting the display interval from the sequencer settings, but we no longer look at these. - The USequencerSettings properties have been removed and in their place, a prospective data upgrade for sequences that have a fixed frame interval old 0fps that sets the play rate to the previous defaults based off the old USequencerSettings defaults. - This could end up 'changing' the display rate for sequences where the user has changed the snap interval in the settings for a particular sequence editor, but there's not much we can do about that given we don't have access to the USequencerSettings classes in UMovieScene #jira UE-55919 Change 3940277 by Andrew.Rodham Sequencer: Added ability to default frame resolutions and play rates for newly created actor sequences Change 3940378 by Andrew.Rodham Sequencer: Post move import dialog now defaults to the playback framerate of the sequence, and floors to frame numbers Change 3940559 by Andrew.Rodham Reinstated primed or recording sequence color Change 3940642 by Max.Preussner ImagePlate: Removed image plate media playback functionality Change 3940843 by Max.Preussner Core: Made TCircularQueue actually thread-safe; improved code comments Change 3940860 by Max.Chen Sequencer: Changed StructNameToKey to StructPathToKey Previously, keying a PropertyPath of [RenderTransform][Shear][X] would get trimmed to X, which doesn't map to a channel name as considered by Sequencer2dTransformTrackEditor. Instead, trim the resulting property path to [Shear][X] so that track editors can determine the desired struct path and channels to key. #jira UE-52966 Change 3941292 by Mike.Zyracki Fix for trajectories out of range not showing up. 1) If we had no key data we would pop the time, so wouldn't get the section ranges. 2) Calculating of upper bound was wrong, checking against -1 and not key == num of keys when doing algo::lower_bound. 3) No need to do the Bck-- for the bakward iterators since we fixed #2. We start now from the upper bound correctly. 4) If we had no keys (at section start,end) we would incorrectly say we were any key type, so since we draw constant keys as dashed we would do so incorrectly around section end points. #jira UE-55929 Change 3941424 by Max.Chen Curve Editor: Change Zoom to Fit to use TArrayView Change 3941498 by Max.Preussner Core: Added FMath::DivideAndRoundNearest function Change 3942097 by Matt.Hoffman Drop Frame Timecode Support for NTSC rates. Change 3942104 by Matt.Hoffman Sequence Recorder Group is no longer visible inside the World Outliner after using one. #jira 55266 Change 3942107 by Max.Chen Sequencer: Resurrect logic to find or extend an existing section when adding keys. Change 3942330 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942339 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942507 by Andrew.Rodham Sequencer: We no longer pad the time overlap threshold with a small number that is not scaled by the current zoom level - The presence of this pad was causing keys that were far apart to be grouped when zoomed in a long way Change 3942509 by Andrew.Rodham Sequencer: Only pad total view range, rather than section range as well when retrieving keys to render - This stops us from rendering keys that are within the view range, but outside the section range Change 3942512 by Andrew.Rodham Added transactions to some sequencer details customizations Change 3942513 by Andrew.Rodham Sequencer: Reinstated validation checks to UMovieSceneSection::SetStartFrame and SetEndFrame, changed erroneous uses to use SetRange Change 3942560 by Andrew.Rodham Pass by rvalue reference to appease error C2719 on Win32 ('InChannels': formal parameter with requested alignment of 8 won't be aligned) Change 3942697 by Andrew.Rodham Newly Created Level Sequences and Actor Sequences now default to 24000 fps frame resolution (+/- ~24hrs range, supporting all integer rates + 23.976) Change 3942700 by Andrew.Rodham Sequencer: Added legacy out-of-bounds errors for times that are not supported by the current legacy upgrade frame resolution Change 3942989 by Max.Preussner Core: Fixed circular queue count calculation Change 3943538 by Max.Preussner MediaAssets: Reverted workaround for procedural audio log spam in HTML5 (Actor component initialization cannot be skipped if the component is used in a level) Change 3944071 by Max.Preussner QAGame: Fixed Media Texture keeps last frame of Media when PIE ends #jira UE-53360 Change 3944292 by Max.Chen Sequencer: Added extra flags to ensure that asset initialization does not occur on template actor sequences #jira UE-56113 Change 3944364 by Max.Chen Sequencer: Prevent circular shot/master tracks. Tested adding master -> child -> master as drag and drop cinematic shot tracks and sub tracks as well as through the + button. #jira UE-56091 Change 3944422 by Max.Chen Sequence Recorder: Disable transform recording if off. #jira UE-56061 Change 3944745 by Andrew.Rodham Sequencer: Key rendering fixes - Fixed assert that occured when keys happened to reside on some times due to KeyTime + TimeOverlapThreshold - KeyTime being slightly larger TimeOverlapThreshold - Fixed keys sometimes being clipped when zoomed right in due to lack of half-frame offset - Added missing documentation to MovieSceneTimeHelpers.h #jira UE-56107 Change 3945231 by Andrew.Rodham Sequencer: Reconstruct channel proxy on Serialize to catch all cases of undo/redo, PostLoad and duplication #jira UE-56089 Change 3945301 by Andrew.Rodham Sequencer: Added safety checks during initial sequence recording to guard against applying negative or 0-sized sequence ranges #jira UE-56125 Change 3946627 by Max.Preussner Fortnite: Fixed game crashes closing editor while in PIE - Pure virtual function being called #jira UE-56144 [CL 3946896 by Max Chen in Main branch]
2018-03-14 22:09:33 -04:00
TRange<FFrameNumber> PlaybackRange = TimeSliderArgs.PlaybackRange.Get();
Copying //UE4/Dev-Sequencer to Dev-Main (//UE4/Dev-Main) #lockdown nick.penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2719576 on 2015/10/07 by Chris.Wood Added check for stale BP classes in FKismetCompilerUtilities::IsTypeCompatibleWithProperty() to stop compiler errors during reinstancing. [UE-19795] - UMG Compiler error when adding variable to nested Widget Change 2721474 on 2015/10/08 by Andrew.Rodham Sequencer: Movie render operations now successfully capture UMG UI Change 2724958 on 2015/10/12 by Chris.Wood Added missing resource cleanup code to UMG widgets [UE-21874] - UWIdget classes with missing ReleaseSlateResources() overrides Added ReleaseSlateResources() to ListView, TileView and Slider widgets to reset shared pointers to slate widgets. Change 2733562 on 2015/10/19 by Andrew.Rodham Sequencer: Fixed spawnables not working in sub-sequences - The issue here was that sequence track instance updates had no knowledge of which sub-sequence they were being evaluated within. We now pass the active sequence instance into the relevant track instance functions. - Also addressed some issues to do with save/restore state not getting called correctly on master tracks of sequence instances - Tidied up spawn track editor Change 2735264 on 2015/10/20 by Chris.Wood Improved Engine analytics handling for Editor and games [UE-21892] - Improve how Engine analytics are handled for Editor and games Changes: Added Privacy section to Editor settings Exposed editor analytics flag in Privacy options Added Details Customization to make this type of bool property clearer with extra info and hyperlink Changed AreEditorAnalyticsEnable() to use new flag Prevented analytics init when disabled by user Sending event and shutting down analytics when user opts out Add in-game project setting for anonymous game usage data Renamed and moved bHardwareSurveyEnabled Added message about exposing in-game setting to end users Added anonymous GUID id for in-game analytics Moved end user settings to global config (defaultengine.ini) Placeholder loc text on new options for now, pending legal wording sign-off Change 2735866 on 2015/10/20 by Max.Preussner Async: Added ability to register an optional callback function that is executed when a Future completes Change 2739793 on 2015/10/23 by Andrew.Rodham Sequencer: Refined movie scene capturing to ensure frame accuracies are maintained - Aborting an in-progress capture now gracefully terminates the process (through a remote session command) to ensure it still creates a valid video - Level sequece movie capture will now pick up a corresponding level sequence in the world, and use that to capture with. A new actor will be spawned at runtime with the correct asset, should one not already exist. - Made -nomovie actually work - Refined how active movie captures are managed - Added option to 'stage' a sequence before starting the capture. This feature will set the sequence on its first frame for the preroll, to ensure that PPP effects are allowed time to stabilize Change 2744402 on 2015/10/28 by Max.Preussner Sequencer: Separated track display names from track identifier names; code cleanup Change 2745953 on 2015/10/29 by Max.Chen Sequencer: Attach to socket. Relative attachments. #jira UETOOL-463 Change 2747028 on 2015/10/29 by Max.Preussner Sequencer: Another overhaul of track display name handling; code and documentation cleanup pass. Change 2758888 on 2015/11/09 by Chris.Wood Integrating changes - 4.10 to Dev-Sequencer From 4.10 branch fixes: Added check for debugger present when reporting abnormal termination to analytics. [UE-22844] CL 2750764 Added FSystemWideCriticalSection for desktop platforms. Used by analytics to lock access to editor instances list in the OS. [UE-22844] CL 2753661 Updating wording in privacy settings text. [UE-21892] CL 2753709 Mac and Linux CIS fix [UE-22844] CL 2755381 Change 2761287 on 2015/11/10 by Max.Chen Sequencer: Add null check when updating the UMG preview if the sequencer doesn't exist/has been closed. #jira UE-5206 Change 2764945 on 2015/11/12 by Max.Preussner Core: Templatized TypeContainer implementation to allow for thread-safe objects; updated unit test Also fixes UE-13850 Change 2765036 on 2015/11/12 by Max.Preussner UdpMessaging: Fixed message serialization unit test (UE-22571) #jira: UE-22571 Change 2766149 on 2015/11/13 by Max.Preussner Media: Implemented event that gets triggered when playback reached the end of media Also fixes looping. Change 2768157 on 2015/11/16 by Max.Preussner Media: Added .m4a to supported WMF file extensions Change 2769200 on 2015/11/16 by Max.Chen Editor: Add broadcast messages when snapping objects. #jira UE-22680 Change 2773066 on 2015/11/19 by Chris.Wood Upload crashes from CRC to Data Router [UECORE-249] - Integrate Crash Report Client with the Data Router Upload to Receiver still active as we are running both in parallel for now.
2015-12-11 13:52:32 -05:00
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3178529) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3149443 on 2016/10/03 by Max.Preussner MediaAssets: Better parameter names for MediaPlayer BP functions Change 3149756 on 2016/10/03 by Max.Chen Sequence Recorder: Set some settings to be clamped at 0 (sequence length, recording delay, audio gain, audio input buffer size, nearby actor recording proximity) #jira UE-35233 Change 3149795 on 2016/10/03 by Max.Chen Curve Editor: Set tangent to user when flattening or straightening tangents only when the tangent mode is auto and the interp mode is cubic. #jira UE-36734 Change 3150378 on 2016/10/04 by Max.Preussner PS4Media: Made video buffer sizes for file and HLS sources configurable (UE-36807) #jira UE-36807 Change 3151414 on 2016/10/05 by Max.Chen Sequencer: Fix case where restoring the last view target was getting skipped. It should always restore if the camera object and the unlock if camera actor object is null. #jira UE-35285 Change 3152038 on 2016/10/05 by Max.Preussner UdpMessaging: Code & documentation modernization pass Change 3152471 on 2016/10/05 by Max.Chen Cine Camera: Don't enable/disable actor ticking based soley on actor tracking since actor ticking is needed for other purposes. Instead, always enable actor ticking and only update actor tracking on tick if necessary. This fixes a bug where the cine camera actor won't tick if you hook in event tick. #jira UE-36625 Change 3152692 on 2016/10/05 by Max.Preussner Messaging: API code & documentation modernization pass Mostly removed shared pointer/ref typedefs as they prevent forward declarations and increase include complexity. Change 3153824 on 2016/10/06 by Max.Preussner Messaging: Renamed IConnectionBasedMessagingModule to ITcpMessagingModule and moved it into TcpMessaging I recommend that we refactor this API. The dependency should be reversed, i.e. instead of AndroidDeviceDiscovery depending on the TcpMessaging plug-in module, the Engine should provide a central registry that device discovery modules can notify, and that message transport plug-ins can register with and listen to OnConnectionAdded/Removed events etc. That way it supports an arbitrary number of transport plug-ins, and the Engine is not coupled to any of them. This functionality is not necessarily related to messaging, and the Messaging API is transport agnostic anyway. I'll think about this some more. Change 3153826 on 2016/10/06 by Max.Preussner Messaging: Removed remaining typedefs in IMessageTracer to enable forward declaration and reduce include dependencies Change 3153857 on 2016/10/06 by Max.Chen Sequencer: Set snap time to dragged key on by default. Change 3153980 on 2016/10/06 by Max.Preussner SessionServices: Removed typedefs; code and documentation modernization pass Change 3154313 on 2016/10/06 by Max.Chen Sequencer: Set the paste keys time to the current time, rather than the mouse time. Change 3154332 on 2016/10/06 by Max.Chen Sequencer: Remove click to rename shot functionality in the shot thumbnail. Added rename shot to the shot context menu. Change 3154377 on 2016/10/07 by Max.Chen Sequencer: Add ability to step to beginning and ends of sections/shots using the hotkeys: , and . Change 3154788 on 2016/10/07 by Max.Chen Sequencer: Fix offsets that created when moving multiple sections. The offsets were being created because section bounds were being generated for all sections except for the current section. Instead, they should be computed for all sections except for any that aren't being moved. #jira UE-29152 Change 3159274 on 2016/10/11 by Max.Preussner Core: Documentation fixes Change 3159275 on 2016/10/11 by Max.Preussner UdpMessaging: Added missing header Change 3160746 on 2016/10/12 by Max.Preussner MediaAssets: Added BP functions to query width, height, and aspect ratio of UMediaTexture instances #jira UE-37241 Change 3160975 on 2016/10/12 by Max.Preussner PS4Media: Better logging for SetRate failures Change 3160995 on 2016/10/12 by Max.Preussner MediaPlayerEditor: Fixed Media player selection is ignored if media specifies player overrides (UE-37248) #jira UE-37248 Change 3161066 on 2016/10/12 by Max.Preussner PS4Media: Enforcing minimum 8 byte alignment for media allocations Change 3161069 on 2016/10/12 by Max.Preussner PS4Media: Fixed log spam when setting play rate to current rate Change 3162567 on 2016/10/13 by Max.Preussner PS4Media: Made track switching code more readable Change 3163447 on 2016/10/14 by Max.Preussner PS4Media: Fixed array out of bounds assertions Change 3163772 on 2016/10/14 by Max.Preussner MfMedia: Fixed a number of timing related issues Change 3163980 on 2016/10/15 by Max.Chen Sequencer: Remove folder name numeric padding so that the naming convention is similar to creating objects in the level. Change 3164581 on 2016/10/17 by Andrew.Rodham Sequencer: Ensure global pre-animated state is restored in reverse order Change 3164582 on 2016/10/17 by Andrew.Rodham Sequencer: Ensure pre animated state is restored for all actor components before saving default state Change 3164583 on 2016/10/17 by Andrew.Rodham Sequencer: Re-enabled support for pre and post roll Change 3165464 on 2016/10/17 by Max.Chen Sequencer: Default number frame handles to 0 so that there's no change in behavior when rendering out a master sequence of shots. Handle frames need to enabled explicitly by the user. Copy from Release-4.14 #jira UE-37416 Change 3165483 on 2016/10/17 by Max.Chen Sequencer: Enable restore state for attach section completion Change 3165771 on 2016/10/18 by Andrew.Rodham Sequencer: Force evaluate when rendering thumbnails #jira UE-37321 Change 3166057 on 2016/10/18 by Andrew.Rodham Sequencer: Only set defaults for tracks that have no keys, and where the requested default has changed #jira UE-37285 Change 3166218 on 2016/10/18 by Max.Preussner MediaPlayerEditor: Failure opening media, even though it opened successfully (UE-37470) #jira UE-37470 Change 3166247 on 2016/10/18 by Max.Preussner WmfMedia: Showing progress bar while media is being resolved Change 3166289 on 2016/10/18 by Max.Preussner MfMedia: Showing progress bar while media is being resolved Change 3166993 on 2016/10/18 by Max.Preussner MfMedia: Fixed info string not reset on media close. Change 3166999 on 2016/10/19 by Max.Preussner Media: Fixed NV12 and NV21 support Change 3167008 on 2016/10/19 by Max.Preussner Media: Removed vertical NV12 alignment Change 3167029 on 2016/10/19 by Max.Preussner WmfMedia: Temp fix for RGB32 encoded AVIs rendering upside-down and too bright (UE-37505) #jira UE-37505 Change 3168593 on 2016/10/19 by Max.Chen Sequencer: Change paste at time to local time, so that the paste happens in the local time of the sequence rather than the global time if pasting in a shot level sequence. Change 3168626 on 2016/10/19 by Max.Chen Sequencer: Clamp to view bounds should snap to frame if frame snapping is on. Change 3168627 on 2016/10/19 by Max.Chen Sequencer: Initialize working and view range to be 10% larger than playback range. Change 3168760 on 2016/10/20 by Max.Preussner Media: Revamped media texture buffer management to support padded frames Added support for Windows bitmap buffers. Fixed a number of format, conversion and/or looping issues in WmfMedia and MfMedia. Not all shaders have been updated yet. Change 3169640 on 2016/10/20 by Max.Chen Sequencer: Add current camera to FLevelSequencePlayerSnapshot. Adjust DefaultBurnIn to include a few more parameters like focal length and focus distance. #jira UE-37407 Change 3170677 on 2016/10/21 by Max.Chen Movie Scene Capture: Add toggle to override engine scalability settings to cinematic scalability. #jira UE-36560 Change 3170710 on 2016/10/21 by Max.Preussner Media: Optimized handling of RGB input Change 3170712 on 2016/10/21 by Max.Preussner Media: Fixed NV21 conversion shader scaling Change 3170923 on 2016/10/21 by Max.Preussner UBT: Copied XboxOne project generator fix from Fortnite CL# 3170868 Change 3171494 on 2016/10/23 by Max.Chen Sequencer: Fix fbx export from master sequence not finding bound objects. #jira UE-35752 Change 3171506 on 2016/10/23 by Max.Chen Sequencer: Draw where in and out points of the shot section are, just like subsequences do. Change to only draw the green starting line if StartOffset is negative. #jira UE-35473 Change 3171743 on 2016/10/24 by Andrew.Rodham Editor: Added support for detail customizations on root structs - Also added the ability to add external struct data onto a detail category builder, and property type customization. Change 3171752 on 2016/10/24 by Andrew.Rodham Sequencer: Fixed spawnable ownership - Spawnables are no longer destroyed when the cursor leaves the master playback range. - Spawnable ownership now operates as it previously did before the evaluation rework. - bIgnoreOwnershipInEditor has been removed since its existence was a work around for when we didn't evaluate sub sequences from the master sequence. - FMovieSceneSequenceID is now a struct so that it can be used in array properties - Meta data now exists for each segment of an evaluation field. Currently this only includes the sub sequence IDs that exist at that time, but it may be expanded to include all evaluation entities (tracks + sections) in future so we don't have to calculate that at runtime. Change 3171756 on 2016/10/24 by Andrew.Rodham Sequencer: Added ability to trigger events with parameters - It's now possible to supply an event payload on event track keys which are to be passed to a given event. The structure must match the signature of the event, or a warning will be emitted. - Added a templated TGenericKeyArea, TKeyFrameManipulator and TCurveInterface that allow to generic manipulation of keyframe section data. In time we will port the other key areas over to this representation. - This new architecture affords the common manipulation of time-based keyframes in a value-agnostic manner. Change 3172935 on 2016/10/24 by Max.Preussner MediaPlayerEditor: Fixed MediaPlayer asset not being dirtied when creating media sound wave or texture for it Change 3173947 on 2016/10/25 by Max.Preussner SlateRemote: Disabled plug-in, but enabled server by default Change 3174510 on 2016/10/26 by Max.Chen Sequencer: Fix slomo track crash #jira UE-37802 Change 3174698 on 2016/10/26 by Andrew.Rodham UMG: Fixed objects bound to a panel slot animating their slot's content instead of the slot itself #jira UE-37775 Change 3174780 on 2016/10/26 by Max.Preussner MediaAssets: Accepting decoder defined buffer dimensions for RGB buffers Change 3174789 on 2016/10/26 by Max.Preussner MediaPlayerEditor: Showing desired player name instead of current player name if no media loaded Change 3174817 on 2016/10/26 by Max.Preussner WmfMedia: Added support for Motion JPEG (MJPG) Change 3174825 on 2016/10/26 by Max.Preussner WmfMedia: Added support for non-RGB32 uncompressed formats Change 3174834 on 2016/10/26 by Max.Preussner MediaPlayerAssets: Allow pausing while buffering media Change 3174886 on 2016/10/26 by Andrew.Rodham Core: Fixed range test that was testing incorrect behavior Change 3174889 on 2016/10/26 by Andrew.Rodham Sequencer: Fixed AssignActor behavior - Also ensure that cached object state is invalidated when playback context changes #jira UE-37798 Change 3174905 on 2016/10/26 by Andrew.Rodham Sequencer: Changed assert when failing to create an audio component to a log message - Audio no longer plays when GEngine->UseSound() is false #jira UE-37772 Change 3174980 on 2016/10/26 by Andrew.Rodham Sequencer: Remove warning when event endpoint could not be found for a given context #jira UE-37824 Change 3175001 on 2016/10/26 by Andrew.Rodham Sequencer: Evaluate sequence with EMovieScenePlaybackStatus::Jumping on Pause. - Also protect Pause() against reentrancy when being called from an event Change 3175012 on 2016/10/26 by Max.Chen Sequence Recorder: Fixes an empty working and view range after recording. On StopRecording() update playback range after nullifying the current sequence so that the playback range isn't empty. Added SetViewRange and SetWorkingRange. #jira UE-34191 Change 3177760 on 2016/10/28 by Max.Chen Sequence Recorder: Don't update the current sequence name if it's already set. This fixes a bug where if you pass in a sequence name to record to, it gets reset to the name in the sequence recorder settings. #jira UE-37808 Change 3178529 on 2016/10/28 by Max.Chen Matinee to Level Sequence: Added interface to extend the matinee to level sequence converter #jira UE-37328 #2864 [CL 3178562 by Max Chen in Main branch]
2016-10-28 15:04:38 -04:00
MenuBuilder.BeginSection("SequencerPlaybackRangeMenu", FText::Format(LOCTEXT("PlaybackRangeTextFormat", "Playback Range ({0}):"), CurrentTimeText));
Copying //UE4/Dev-Sequencer to Dev-Main (//UE4/Dev-Main) #lockdown nick.penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2719576 on 2015/10/07 by Chris.Wood Added check for stale BP classes in FKismetCompilerUtilities::IsTypeCompatibleWithProperty() to stop compiler errors during reinstancing. [UE-19795] - UMG Compiler error when adding variable to nested Widget Change 2721474 on 2015/10/08 by Andrew.Rodham Sequencer: Movie render operations now successfully capture UMG UI Change 2724958 on 2015/10/12 by Chris.Wood Added missing resource cleanup code to UMG widgets [UE-21874] - UWIdget classes with missing ReleaseSlateResources() overrides Added ReleaseSlateResources() to ListView, TileView and Slider widgets to reset shared pointers to slate widgets. Change 2733562 on 2015/10/19 by Andrew.Rodham Sequencer: Fixed spawnables not working in sub-sequences - The issue here was that sequence track instance updates had no knowledge of which sub-sequence they were being evaluated within. We now pass the active sequence instance into the relevant track instance functions. - Also addressed some issues to do with save/restore state not getting called correctly on master tracks of sequence instances - Tidied up spawn track editor Change 2735264 on 2015/10/20 by Chris.Wood Improved Engine analytics handling for Editor and games [UE-21892] - Improve how Engine analytics are handled for Editor and games Changes: Added Privacy section to Editor settings Exposed editor analytics flag in Privacy options Added Details Customization to make this type of bool property clearer with extra info and hyperlink Changed AreEditorAnalyticsEnable() to use new flag Prevented analytics init when disabled by user Sending event and shutting down analytics when user opts out Add in-game project setting for anonymous game usage data Renamed and moved bHardwareSurveyEnabled Added message about exposing in-game setting to end users Added anonymous GUID id for in-game analytics Moved end user settings to global config (defaultengine.ini) Placeholder loc text on new options for now, pending legal wording sign-off Change 2735866 on 2015/10/20 by Max.Preussner Async: Added ability to register an optional callback function that is executed when a Future completes Change 2739793 on 2015/10/23 by Andrew.Rodham Sequencer: Refined movie scene capturing to ensure frame accuracies are maintained - Aborting an in-progress capture now gracefully terminates the process (through a remote session command) to ensure it still creates a valid video - Level sequece movie capture will now pick up a corresponding level sequence in the world, and use that to capture with. A new actor will be spawned at runtime with the correct asset, should one not already exist. - Made -nomovie actually work - Refined how active movie captures are managed - Added option to 'stage' a sequence before starting the capture. This feature will set the sequence on its first frame for the preroll, to ensure that PPP effects are allowed time to stabilize Change 2744402 on 2015/10/28 by Max.Preussner Sequencer: Separated track display names from track identifier names; code cleanup Change 2745953 on 2015/10/29 by Max.Chen Sequencer: Attach to socket. Relative attachments. #jira UETOOL-463 Change 2747028 on 2015/10/29 by Max.Preussner Sequencer: Another overhaul of track display name handling; code and documentation cleanup pass. Change 2758888 on 2015/11/09 by Chris.Wood Integrating changes - 4.10 to Dev-Sequencer From 4.10 branch fixes: Added check for debugger present when reporting abnormal termination to analytics. [UE-22844] CL 2750764 Added FSystemWideCriticalSection for desktop platforms. Used by analytics to lock access to editor instances list in the OS. [UE-22844] CL 2753661 Updating wording in privacy settings text. [UE-21892] CL 2753709 Mac and Linux CIS fix [UE-22844] CL 2755381 Change 2761287 on 2015/11/10 by Max.Chen Sequencer: Add null check when updating the UMG preview if the sequencer doesn't exist/has been closed. #jira UE-5206 Change 2764945 on 2015/11/12 by Max.Preussner Core: Templatized TypeContainer implementation to allow for thread-safe objects; updated unit test Also fixes UE-13850 Change 2765036 on 2015/11/12 by Max.Preussner UdpMessaging: Fixed message serialization unit test (UE-22571) #jira: UE-22571 Change 2766149 on 2015/11/13 by Max.Preussner Media: Implemented event that gets triggered when playback reached the end of media Also fixes looping. Change 2768157 on 2015/11/16 by Max.Preussner Media: Added .m4a to supported WMF file extensions Change 2769200 on 2015/11/16 by Max.Chen Editor: Add broadcast messages when snapping objects. #jira UE-22680 Change 2773066 on 2015/11/19 by Chris.Wood Upload crashes from CRC to Data Router [UECORE-249] - Integrate Crash Report Client with the Data Router Upload to Receiver still active as we are running both in parallel for now.
2015-12-11 13:52:32 -05:00
{
MenuBuilder.AddMenuEntry(
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3178529) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3149443 on 2016/10/03 by Max.Preussner MediaAssets: Better parameter names for MediaPlayer BP functions Change 3149756 on 2016/10/03 by Max.Chen Sequence Recorder: Set some settings to be clamped at 0 (sequence length, recording delay, audio gain, audio input buffer size, nearby actor recording proximity) #jira UE-35233 Change 3149795 on 2016/10/03 by Max.Chen Curve Editor: Set tangent to user when flattening or straightening tangents only when the tangent mode is auto and the interp mode is cubic. #jira UE-36734 Change 3150378 on 2016/10/04 by Max.Preussner PS4Media: Made video buffer sizes for file and HLS sources configurable (UE-36807) #jira UE-36807 Change 3151414 on 2016/10/05 by Max.Chen Sequencer: Fix case where restoring the last view target was getting skipped. It should always restore if the camera object and the unlock if camera actor object is null. #jira UE-35285 Change 3152038 on 2016/10/05 by Max.Preussner UdpMessaging: Code & documentation modernization pass Change 3152471 on 2016/10/05 by Max.Chen Cine Camera: Don't enable/disable actor ticking based soley on actor tracking since actor ticking is needed for other purposes. Instead, always enable actor ticking and only update actor tracking on tick if necessary. This fixes a bug where the cine camera actor won't tick if you hook in event tick. #jira UE-36625 Change 3152692 on 2016/10/05 by Max.Preussner Messaging: API code & documentation modernization pass Mostly removed shared pointer/ref typedefs as they prevent forward declarations and increase include complexity. Change 3153824 on 2016/10/06 by Max.Preussner Messaging: Renamed IConnectionBasedMessagingModule to ITcpMessagingModule and moved it into TcpMessaging I recommend that we refactor this API. The dependency should be reversed, i.e. instead of AndroidDeviceDiscovery depending on the TcpMessaging plug-in module, the Engine should provide a central registry that device discovery modules can notify, and that message transport plug-ins can register with and listen to OnConnectionAdded/Removed events etc. That way it supports an arbitrary number of transport plug-ins, and the Engine is not coupled to any of them. This functionality is not necessarily related to messaging, and the Messaging API is transport agnostic anyway. I'll think about this some more. Change 3153826 on 2016/10/06 by Max.Preussner Messaging: Removed remaining typedefs in IMessageTracer to enable forward declaration and reduce include dependencies Change 3153857 on 2016/10/06 by Max.Chen Sequencer: Set snap time to dragged key on by default. Change 3153980 on 2016/10/06 by Max.Preussner SessionServices: Removed typedefs; code and documentation modernization pass Change 3154313 on 2016/10/06 by Max.Chen Sequencer: Set the paste keys time to the current time, rather than the mouse time. Change 3154332 on 2016/10/06 by Max.Chen Sequencer: Remove click to rename shot functionality in the shot thumbnail. Added rename shot to the shot context menu. Change 3154377 on 2016/10/07 by Max.Chen Sequencer: Add ability to step to beginning and ends of sections/shots using the hotkeys: , and . Change 3154788 on 2016/10/07 by Max.Chen Sequencer: Fix offsets that created when moving multiple sections. The offsets were being created because section bounds were being generated for all sections except for the current section. Instead, they should be computed for all sections except for any that aren't being moved. #jira UE-29152 Change 3159274 on 2016/10/11 by Max.Preussner Core: Documentation fixes Change 3159275 on 2016/10/11 by Max.Preussner UdpMessaging: Added missing header Change 3160746 on 2016/10/12 by Max.Preussner MediaAssets: Added BP functions to query width, height, and aspect ratio of UMediaTexture instances #jira UE-37241 Change 3160975 on 2016/10/12 by Max.Preussner PS4Media: Better logging for SetRate failures Change 3160995 on 2016/10/12 by Max.Preussner MediaPlayerEditor: Fixed Media player selection is ignored if media specifies player overrides (UE-37248) #jira UE-37248 Change 3161066 on 2016/10/12 by Max.Preussner PS4Media: Enforcing minimum 8 byte alignment for media allocations Change 3161069 on 2016/10/12 by Max.Preussner PS4Media: Fixed log spam when setting play rate to current rate Change 3162567 on 2016/10/13 by Max.Preussner PS4Media: Made track switching code more readable Change 3163447 on 2016/10/14 by Max.Preussner PS4Media: Fixed array out of bounds assertions Change 3163772 on 2016/10/14 by Max.Preussner MfMedia: Fixed a number of timing related issues Change 3163980 on 2016/10/15 by Max.Chen Sequencer: Remove folder name numeric padding so that the naming convention is similar to creating objects in the level. Change 3164581 on 2016/10/17 by Andrew.Rodham Sequencer: Ensure global pre-animated state is restored in reverse order Change 3164582 on 2016/10/17 by Andrew.Rodham Sequencer: Ensure pre animated state is restored for all actor components before saving default state Change 3164583 on 2016/10/17 by Andrew.Rodham Sequencer: Re-enabled support for pre and post roll Change 3165464 on 2016/10/17 by Max.Chen Sequencer: Default number frame handles to 0 so that there's no change in behavior when rendering out a master sequence of shots. Handle frames need to enabled explicitly by the user. Copy from Release-4.14 #jira UE-37416 Change 3165483 on 2016/10/17 by Max.Chen Sequencer: Enable restore state for attach section completion Change 3165771 on 2016/10/18 by Andrew.Rodham Sequencer: Force evaluate when rendering thumbnails #jira UE-37321 Change 3166057 on 2016/10/18 by Andrew.Rodham Sequencer: Only set defaults for tracks that have no keys, and where the requested default has changed #jira UE-37285 Change 3166218 on 2016/10/18 by Max.Preussner MediaPlayerEditor: Failure opening media, even though it opened successfully (UE-37470) #jira UE-37470 Change 3166247 on 2016/10/18 by Max.Preussner WmfMedia: Showing progress bar while media is being resolved Change 3166289 on 2016/10/18 by Max.Preussner MfMedia: Showing progress bar while media is being resolved Change 3166993 on 2016/10/18 by Max.Preussner MfMedia: Fixed info string not reset on media close. Change 3166999 on 2016/10/19 by Max.Preussner Media: Fixed NV12 and NV21 support Change 3167008 on 2016/10/19 by Max.Preussner Media: Removed vertical NV12 alignment Change 3167029 on 2016/10/19 by Max.Preussner WmfMedia: Temp fix for RGB32 encoded AVIs rendering upside-down and too bright (UE-37505) #jira UE-37505 Change 3168593 on 2016/10/19 by Max.Chen Sequencer: Change paste at time to local time, so that the paste happens in the local time of the sequence rather than the global time if pasting in a shot level sequence. Change 3168626 on 2016/10/19 by Max.Chen Sequencer: Clamp to view bounds should snap to frame if frame snapping is on. Change 3168627 on 2016/10/19 by Max.Chen Sequencer: Initialize working and view range to be 10% larger than playback range. Change 3168760 on 2016/10/20 by Max.Preussner Media: Revamped media texture buffer management to support padded frames Added support for Windows bitmap buffers. Fixed a number of format, conversion and/or looping issues in WmfMedia and MfMedia. Not all shaders have been updated yet. Change 3169640 on 2016/10/20 by Max.Chen Sequencer: Add current camera to FLevelSequencePlayerSnapshot. Adjust DefaultBurnIn to include a few more parameters like focal length and focus distance. #jira UE-37407 Change 3170677 on 2016/10/21 by Max.Chen Movie Scene Capture: Add toggle to override engine scalability settings to cinematic scalability. #jira UE-36560 Change 3170710 on 2016/10/21 by Max.Preussner Media: Optimized handling of RGB input Change 3170712 on 2016/10/21 by Max.Preussner Media: Fixed NV21 conversion shader scaling Change 3170923 on 2016/10/21 by Max.Preussner UBT: Copied XboxOne project generator fix from Fortnite CL# 3170868 Change 3171494 on 2016/10/23 by Max.Chen Sequencer: Fix fbx export from master sequence not finding bound objects. #jira UE-35752 Change 3171506 on 2016/10/23 by Max.Chen Sequencer: Draw where in and out points of the shot section are, just like subsequences do. Change to only draw the green starting line if StartOffset is negative. #jira UE-35473 Change 3171743 on 2016/10/24 by Andrew.Rodham Editor: Added support for detail customizations on root structs - Also added the ability to add external struct data onto a detail category builder, and property type customization. Change 3171752 on 2016/10/24 by Andrew.Rodham Sequencer: Fixed spawnable ownership - Spawnables are no longer destroyed when the cursor leaves the master playback range. - Spawnable ownership now operates as it previously did before the evaluation rework. - bIgnoreOwnershipInEditor has been removed since its existence was a work around for when we didn't evaluate sub sequences from the master sequence. - FMovieSceneSequenceID is now a struct so that it can be used in array properties - Meta data now exists for each segment of an evaluation field. Currently this only includes the sub sequence IDs that exist at that time, but it may be expanded to include all evaluation entities (tracks + sections) in future so we don't have to calculate that at runtime. Change 3171756 on 2016/10/24 by Andrew.Rodham Sequencer: Added ability to trigger events with parameters - It's now possible to supply an event payload on event track keys which are to be passed to a given event. The structure must match the signature of the event, or a warning will be emitted. - Added a templated TGenericKeyArea, TKeyFrameManipulator and TCurveInterface that allow to generic manipulation of keyframe section data. In time we will port the other key areas over to this representation. - This new architecture affords the common manipulation of time-based keyframes in a value-agnostic manner. Change 3172935 on 2016/10/24 by Max.Preussner MediaPlayerEditor: Fixed MediaPlayer asset not being dirtied when creating media sound wave or texture for it Change 3173947 on 2016/10/25 by Max.Preussner SlateRemote: Disabled plug-in, but enabled server by default Change 3174510 on 2016/10/26 by Max.Chen Sequencer: Fix slomo track crash #jira UE-37802 Change 3174698 on 2016/10/26 by Andrew.Rodham UMG: Fixed objects bound to a panel slot animating their slot's content instead of the slot itself #jira UE-37775 Change 3174780 on 2016/10/26 by Max.Preussner MediaAssets: Accepting decoder defined buffer dimensions for RGB buffers Change 3174789 on 2016/10/26 by Max.Preussner MediaPlayerEditor: Showing desired player name instead of current player name if no media loaded Change 3174817 on 2016/10/26 by Max.Preussner WmfMedia: Added support for Motion JPEG (MJPG) Change 3174825 on 2016/10/26 by Max.Preussner WmfMedia: Added support for non-RGB32 uncompressed formats Change 3174834 on 2016/10/26 by Max.Preussner MediaPlayerAssets: Allow pausing while buffering media Change 3174886 on 2016/10/26 by Andrew.Rodham Core: Fixed range test that was testing incorrect behavior Change 3174889 on 2016/10/26 by Andrew.Rodham Sequencer: Fixed AssignActor behavior - Also ensure that cached object state is invalidated when playback context changes #jira UE-37798 Change 3174905 on 2016/10/26 by Andrew.Rodham Sequencer: Changed assert when failing to create an audio component to a log message - Audio no longer plays when GEngine->UseSound() is false #jira UE-37772 Change 3174980 on 2016/10/26 by Andrew.Rodham Sequencer: Remove warning when event endpoint could not be found for a given context #jira UE-37824 Change 3175001 on 2016/10/26 by Andrew.Rodham Sequencer: Evaluate sequence with EMovieScenePlaybackStatus::Jumping on Pause. - Also protect Pause() against reentrancy when being called from an event Change 3175012 on 2016/10/26 by Max.Chen Sequence Recorder: Fixes an empty working and view range after recording. On StopRecording() update playback range after nullifying the current sequence so that the playback range isn't empty. Added SetViewRange and SetWorkingRange. #jira UE-34191 Change 3177760 on 2016/10/28 by Max.Chen Sequence Recorder: Don't update the current sequence name if it's already set. This fixes a bug where if you pass in a sequence name to record to, it gets reset to the name in the sequence recorder settings. #jira UE-37808 Change 3178529 on 2016/10/28 by Max.Chen Matinee to Level Sequence: Added interface to extend the matinee to level sequence converter #jira UE-37328 #2864 [CL 3178562 by Max Chen in Main branch]
2016-10-28 15:04:38 -04:00
LOCTEXT("SetPlaybackStart", "Set Start Time"),
Copying //UE4/Dev-Sequencer to Dev-Main (//UE4/Dev-Main) #lockdown nick.penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2719576 on 2015/10/07 by Chris.Wood Added check for stale BP classes in FKismetCompilerUtilities::IsTypeCompatibleWithProperty() to stop compiler errors during reinstancing. [UE-19795] - UMG Compiler error when adding variable to nested Widget Change 2721474 on 2015/10/08 by Andrew.Rodham Sequencer: Movie render operations now successfully capture UMG UI Change 2724958 on 2015/10/12 by Chris.Wood Added missing resource cleanup code to UMG widgets [UE-21874] - UWIdget classes with missing ReleaseSlateResources() overrides Added ReleaseSlateResources() to ListView, TileView and Slider widgets to reset shared pointers to slate widgets. Change 2733562 on 2015/10/19 by Andrew.Rodham Sequencer: Fixed spawnables not working in sub-sequences - The issue here was that sequence track instance updates had no knowledge of which sub-sequence they were being evaluated within. We now pass the active sequence instance into the relevant track instance functions. - Also addressed some issues to do with save/restore state not getting called correctly on master tracks of sequence instances - Tidied up spawn track editor Change 2735264 on 2015/10/20 by Chris.Wood Improved Engine analytics handling for Editor and games [UE-21892] - Improve how Engine analytics are handled for Editor and games Changes: Added Privacy section to Editor settings Exposed editor analytics flag in Privacy options Added Details Customization to make this type of bool property clearer with extra info and hyperlink Changed AreEditorAnalyticsEnable() to use new flag Prevented analytics init when disabled by user Sending event and shutting down analytics when user opts out Add in-game project setting for anonymous game usage data Renamed and moved bHardwareSurveyEnabled Added message about exposing in-game setting to end users Added anonymous GUID id for in-game analytics Moved end user settings to global config (defaultengine.ini) Placeholder loc text on new options for now, pending legal wording sign-off Change 2735866 on 2015/10/20 by Max.Preussner Async: Added ability to register an optional callback function that is executed when a Future completes Change 2739793 on 2015/10/23 by Andrew.Rodham Sequencer: Refined movie scene capturing to ensure frame accuracies are maintained - Aborting an in-progress capture now gracefully terminates the process (through a remote session command) to ensure it still creates a valid video - Level sequece movie capture will now pick up a corresponding level sequence in the world, and use that to capture with. A new actor will be spawned at runtime with the correct asset, should one not already exist. - Made -nomovie actually work - Refined how active movie captures are managed - Added option to 'stage' a sequence before starting the capture. This feature will set the sequence on its first frame for the preroll, to ensure that PPP effects are allowed time to stabilize Change 2744402 on 2015/10/28 by Max.Preussner Sequencer: Separated track display names from track identifier names; code cleanup Change 2745953 on 2015/10/29 by Max.Chen Sequencer: Attach to socket. Relative attachments. #jira UETOOL-463 Change 2747028 on 2015/10/29 by Max.Preussner Sequencer: Another overhaul of track display name handling; code and documentation cleanup pass. Change 2758888 on 2015/11/09 by Chris.Wood Integrating changes - 4.10 to Dev-Sequencer From 4.10 branch fixes: Added check for debugger present when reporting abnormal termination to analytics. [UE-22844] CL 2750764 Added FSystemWideCriticalSection for desktop platforms. Used by analytics to lock access to editor instances list in the OS. [UE-22844] CL 2753661 Updating wording in privacy settings text. [UE-21892] CL 2753709 Mac and Linux CIS fix [UE-22844] CL 2755381 Change 2761287 on 2015/11/10 by Max.Chen Sequencer: Add null check when updating the UMG preview if the sequencer doesn't exist/has been closed. #jira UE-5206 Change 2764945 on 2015/11/12 by Max.Preussner Core: Templatized TypeContainer implementation to allow for thread-safe objects; updated unit test Also fixes UE-13850 Change 2765036 on 2015/11/12 by Max.Preussner UdpMessaging: Fixed message serialization unit test (UE-22571) #jira: UE-22571 Change 2766149 on 2015/11/13 by Max.Preussner Media: Implemented event that gets triggered when playback reached the end of media Also fixes looping. Change 2768157 on 2015/11/16 by Max.Preussner Media: Added .m4a to supported WMF file extensions Change 2769200 on 2015/11/16 by Max.Chen Editor: Add broadcast messages when snapping objects. #jira UE-22680 Change 2773066 on 2015/11/19 by Chris.Wood Upload crashes from CRC to Data Router [UECORE-249] - Integrate Crash Report Client with the Data Router Upload to Receiver still active as we are running both in parallel for now.
2015-12-11 13:52:32 -05:00
FText(),
FSlateIcon(),
FUIAction(
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3946692) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3801826 by Max.Chen PR #4304: Level Sequence crash fix - Guarded against dereferencing null componen. (Contributed by DSDambuster) Change 3801828 by Max.Chen PR #4302: Movie Scene Visibility Template unitialised variable, causing random . (Contributed by DSDambuster) Change 3801837 by Max.Chen Sequencer: Delay spawning/construction for convert to possessable. This fixes a bug where property values would be lost when converting back and forth from possessable to spawnable. #jira UE-52400 Change 3801841 by Max.Chen Sequencer: Make spacer nodes not selectable. PR #4194: Improvements to Sequencer (Contributed by projectgheist) #jira UE-53117 #jira UE-52139 Change 3804183 by Max.Preussner MediaAssets: Added missing lock in media sound component Change 3805414 by Max.Preussner MediaAssets: Setting valid GUID when initializing media texture resource Change 3819578 by Max.Chen PR #4370: When enabling the "MovieCapture", do not turn off the Stereo-3D display. (Contributed by yehaike) #jira UE-53647 Change 3823414 by Max.Chen Curve Editor: Lock down the first and last keys in the redundant keys removal range so that they're unaffected. #jira UE-53591 Change 3826406 by Max.Chen Sequencer: Move OnStartedPlaying() to within first update in UpdateTimeCursorPosition(). This fixes an issue where setting the hud/player visibility was getting stomped on later. #jira UE-52772 Change 3827044 by Max.Preussner MediaAssets: Added sprite visualization to media sound component #jira UE-53594 Change 3827988 by Max.Preussner MediaPlayerAssets: Fixed Media Texture is not linked to Media Player when created together #jira UE-53532 Change 3828506 by Max.Preussner MediaPlayerEditor: Added attenuation visualizer for media sound components #jira UE-53594 Change 3832590 by andrew.porter EngineTest: Added a keep state check in Property Animation sequencer test Change 3833053 by andrew.porter EngineTest: Adding Hierarchical Bias test Change 3835683 by andrew.porter EngineTest: Adding UMG Animation screenshot test Change 3836076 by Max.Chen Sequencer: Fix audio volume and pitch multiplier deprecation. Change 3836230 by andrew.porter EngineTest: Adding Sequence Bone Position automation test Change 3836347 by Max.Chen Sequencer: Fixes to shot name parsing. When a shot doesn't contain a shot number, assume, [ShotName]_[TakeNumber]. When duplicating a shot, put the new shot in the same path of the original shot, so that the take numbers will increment properly. #jira UE-51868 Change 3836552 by Max.Chen Sequencer: Sub section now has a takes menu Change 3838094 by Max.Chen UMG: Fix template finish not getting called on stop. This fixes a bug where sections aren't restored when finished. #jira UE-52285 Change 3838708 by Max.Chen Sequencer: Add notification when the blend type is changed. #jira UE-54046 Change 3840295 by Max.Chen Sequencer: Fix copy/paste crash for lights #jira UE-54084 Change 3840957 by Mike.Zyracki Added Show Only Keyable and Show Only Animated to the filter list in the property editor. Added IsPropertyAnimated to IDetailKeyframe Interface which already had support for showing properties which are keyable (which is used for the key icon next to the properties.). Could have created another interface but then would have had to mimic the sequencer binding, releasing also, so this seemed best way. One issue still left is that custom built detail items currently don't store associated properties(usually) and so certain properties, in particulalry transforms, won't show up as keyable or animated. Note this also shows up with the keyable icon not showing up next to transform tracks, and other filters like Show Only Modified not working with transforms/customs. Not sure best way to tackle this. #jira UESEQ-328 Change 3841756 by Max.Chen Sequencer: Fix unbound possessable components when pasting spawnables. #jira UE-54104 Change 3843950 by andrew.porter EngineTest: Renaming LevelStreaming tests/content to LevelVisibility Change 3844082 by Mike.Zyracki Missing file for animated filter in property editor. When finding if a track is animated we need to find it but we can't easily induce the MovieTrack class for any particular property. So we don't set a class for it and just search by it's ID and name. #jira UESEQ-328 Change 3846902 by Max.Preussner ImgMedia: Fixed image media player never finished initialization if loading failed #jira UE-54247 Change 3849820 by Mike.Zyracki Reassigning deleted widgets didn't work since the menu extender mechanism needs a valid UObject in order to perform an operation on it. So to fix we replaced GetObjectBindingContextMenuExtender in WidgetBlueprint with new delegate mechanism (OnBuildCustomContextMenuForGuid) that supports FGuid in addition to UObjects which is needed to handle re-binding deleted widgets. Note that the default sequencer hacks this for replacing deleted actors in SequencerObjectBindingNode to check to see if a LevelSequence is active. We could move to this mechanism there also. #jira UE-53163 Change 3852211 by Max.Chen UMG: Indicate name of the property that is not bound. #jira UE-54350 Change 3854120 by Max.Chen Sequencer: Fix sibling folders being allowed to have the same folder name. #jira UE-54363 Change 3854627 by Max.Chen Sequencer: Step to next/previous key should work for all tracks if there aren't any selected. #jira UESEQ-391 Change 3855825 by andrew.porter EngineTest: Adding animation blending automation test Change 3855950 by andrew.porter EngineTest: Adding correct expected valuues to animation blending test Change 3856237 by Matt.Hoffman UESEQ-336 - Sequencer Track Reordering Adds the ability to re-order Master Tracks, Folders and Object Bindings within sequencer hierarchies (including UMG). Adds the ability to do a one-off sorting of the content under the old sorting behavior if the user wants to reset their layout to how it was under legacy behavior. Modifies SequencerTrackNodes, SequencerFolderNodes and SequencerObjectBindingNodes to handle CanDrop/OnDrop for above, below and ontop of. Fixes a Slate Issue that forcibly expanded a TreeviewRow if an item handled OnDrop. Slate will now only forcibly expand the row if the item says the drop happened ontop of the item, and not above or below it like it previously did. Change 3856503 by andrew.porter EngineTest: Adding automation test for using animation blueprint with blend multi node in sequencer Change 3857875 by Max.Chen Sequencer: Assign the sequence id after the template is compiled. #jira UE-54462 Change 3858344 by Max.Chen Sequencer: Prevent Goto and Transform boxes from overlapping by allowing them to be visible at the same time in an autosized horizontal box. Also, added close button to the goto box. PR #4425: Prevent Goto and Transform boxes from overlapping in Sequencer ... (Contributed by projectgheist) #jira UE-54210 Change 3860566 by andrew.porter MediaFrameworkTest: Set the option to index 0 for the audio and video track list by default Change 3860654 by andrew.porter EngineTest: Enabling Camera Cut + FOV test Change 3860981 by andrew.porter EngineTest: Updating skeletal mesh tests with a delay after set playback position Change 3861256 by Max.Chen Sequencer: Add all bindings if none selected. #jira-54440 Change 3862154 by Andrew.Rodham Added TimeManagement module Change 3862424 by andrew.porter EngineTest: Turned on the test Bone Positions with Blend Multi Node Change 3862573 by andrew.porter EngineTest: Adding test to compare bone positions in a sequence that is blending an animation that is using an AnimBP Change 3865117 by Max.Chen Sequencer: Stop auto scroll on mouse release of movement. #jira UE-31212 Change 3865303 by Max.Chen Sequencer: Add drag and drop transactions #jira UE-54662 Change 3865304 by Max.Chen Sequencer: Fix crash when an actor factory is not found. Change 3865361 by Max.Chen Sequencer: Don't change the camera/shot lock button when popping out of a sequence. #jira UE-54665 Change 3865412 by Max.Chen Sequencer: Determine whether a transform track is for a camera by using the spawned object or template #jira UE-54666 Change 3865685 by Max.Chen Sequencer: Clear autoscrub offset when stopping autoscroll #jira UE-31212 Change 3865886 by Max.Chen Sequence Recorder: Log an error if the number of frames changes while recording. This can happen if the skeleton changes while recording. #jira UE-48715 Change 3866925 by Andrew.Porter MediaFrameworkTest: Changing the current PNG test video image sequence to 1024 x 576 Change 3867705 by andrew.porter QAGame: Adding Audio Sort Sequence to dev folder Change 3867890 by andrew.porter QAGame: Adding a sequence for testing a sorting crash to my dev folder Change 3872628 by Max.Chen Movie Scene Capture: Split delay before warmup into split delay before shot warmup so that there's separate controls for when the movie scene capture warmups up vs. shot boundaries. Change 3873131 by Matt.Hoffman UE-54732 - Crash reordering a folder with a track. This was caused by folders being the only type of track to check if someone was putting a parent track into a child track. Object Binding tracks and Tracks now check as well so that you can't use the above/below drop targets to add parents as children. This also fixed a typo in the localization keys. #jira UE-54732 Change 3873301 by Mike.Zyracki Added ability to support continous euler angle changes when changing rotations, in particularly with the rotation gizmo's. To do this we effectively added a form an of 'euler filter'(https://en.wikipedia.org/wiki/Euler_filter) to find the closest euler angle to the current euler angle. Three functions were added to FRotator to make this possible, one to get the euler angle that's has the same rotation as it, one to get the difference between two euler angles via Manhattan distance and a third using the previous two to choose a Rotator value that's closest to it. We then use these functions before calling UComponent::SetRelativeRotation to make sure we use the correct Euler after the Quat conversion. We also no longer limit(bound) the euler angles to -180,180, which is obviously necessary to avoid flips. I also changed how we caluclate yaw and roll when pitch is -90 or 90 to make it the standard approach of zeroing out roll and just setting yaw. Main reasons are the previous implementation had precision issues so things like 180, 90, -180 would show up due to numbers being nearly zero but negative,(this would break any smooth interpolations), and this facilitates having a 'gimbal' rotation mode (like Maya, Blender etc..) if we ever want that also. If needed we could keep the previous implementation but would need to add some FMath::IsNearlyZero checks, with less performance. Note we only do this special filtering when applying delta's to actors or components in the editors, which then call UComponent::SetRelativeRotationExact, which is a new function to foces the RelativeRotation to be equal to the new rotation. This allows us to store un-nomalized Rotators at the cost that the RotationCache may be broken. We didn't change any of the other UComponent functions that set rotations (via Quats or Transforms) so they will still be bounded and unwound. In SetInternalWorldLocationAndRotation we only set the rotation if the rotation has changed, which fixes the rotation getting changed and re-normalized if just translate happens. In TransformTrackEditor, we correclty use the bUndwing flag and in MovieScene3DTransformSection there was an un-needed winding check there, it will be unwound earlier if needed, which happens if Sequence Recording is happening. Max we should talk about what to do about this . Note the euler angle drag via the widget is still bound to 0-360. I think we should just unbound that now since the rotations value are now unbound. This review now includes fixes suggested by Zak. #jira UE-UE-22228 Change 3873483 by Matt.Hoffman Sequencer Tracks can now be inserted above the spacer at the bottom of the tree. #jira UE-54706 Change 3873899 by Max.Chen Sequencer: Add section selection throbbing Change 3873908 by Max.Chen Movie Scene Capture: Added logging per frame Change 3873924 by Matt.Hoffman Adds the ability to store Sequence Recorder setups into profiles that stay with the map and can be re-loaded later. Profiles store the Actor Recordings so the settings for each actor should carry with them. #jira UESEQ-339 Change 3874726 by Matt.Hoffman Disable drag-and-drop targets on spacers that come between rows in Sequencer. This prevents extra drag/drop targets showing up between each row. #jira UE-54706 Change 3874862 by Matt.Hoffman Audio Track no longer gets reordered when adding sub-audio tracks, as sub-tracks are no longer counted towards the sorting order index when normalizing indexes. #jira UE-54727 Change 3875905 by Matt.Hoffman Disable Fade Track UI if a fade track already exists in the sequence. #jira UESEQ-393 Change 3876163 by Max.Chen Sequencer: Swap the camera object to the camera component's owner if it's not the same. #jira UE-54874 Change 3876971 by Andrew.Porter EngineTest: Moved Media Player Seek test to new folder. Also enabled the test with new ground truth image. Change 3877040 by Max.Chen Cine Camera: Split camera properties to two groups, "Camera Options" and "Camera Settings". The cine camera now hides properties in the "Camera Settings" group so that properties like bConstrainAspectRatio (in the "Camera Options" group) can be visible. #jira UE-54192 Change 3877763 by Max.Chen Curve Editor: Fix curve changed on end drag so that only curves that had keys/tangents that were changed receive notification, otherwise all loaded curves were getting notified that they were changed. #jira UE-54951 Change 3878234 by Matt.Hoffman Disable "Drop Below" targets for Sequencer Tree nodes to prevent a confusing UX issue where dropping underneath a Object Binding Node puts it after the object binding node but the UI looks like it's inserting it inside the Object Binding node. #jira UE-54743 Change 3879359 by Mike.Zyracki If a track is inactive we dim it a bit which seems to be the UE4 way to show inactive or disabled state. We changed the active logic so that all subtracks need to be inactive for the track to also be inactive(instead of all active for active). This conforms to how the active state actually works, e.g if you have two sections and only one is active the track is still active above it. #jira UESEQ-388 Change 3879462 by Max.Chen Sequencer: Allow dragging onto a particular row which would move out any overlapping sections to make space for the newly created section. Newly created sections are now selected and throbbed to draw attention to themselves. #jira UE-54664 Change 3879464 by Max.Chen Sequencer: Fixed overlapping ranges being inserted into the evaluation field during compilation - The issue was that track segments that had been combined with adjacent segments (due to them being identical) would potentially cause a subsequently compiled frame to overlap with a range that had already been inserted into the evaluation field. - The insertion code previously asserted that only minor overlaps were catered for (due to fp rounding errors) and assumed that a supplied range could not entirely contain any other range in the field. - The solution is to supply the insertion time along with the range to know exactly where the data should live in the field, and crop the range to the maximum allowable space between adjacent ranges. #jira UE-54922 Change 3879590 by Matt.Hoffman Items that are now added to the Sequencer via the "+Track" menu will be selected after being added. Items can now be added inside of folders instead of just to the root level. #jira UE-27397 Change 3879612 by Mike.Zyracki Display Nodes with no children are always active. #jira UESEQ-388 Change 3879730 by Matt.Hoffman Sequence Recorder's actor recording groups now remove items from the group when removed via the UI. #jira UESEQ-339 Change 3880256 by Mike.Zyracki Fix issue with inactive display with folders and other track nodes. #jira UESEQ-388 Change 3883491 by Max.Chen Fix issue where tick is skipped due to last ticked pose isn't cleared after AnimInstance changes. Copy from Release-4.19 #jira UE-51323 Change 3883603 by Max.Chen Movie Scene Capture: Add option toggle disable screen percentage. By default this is on (no change in current behavior). #jira UE-51898 Change 3885074 by Max.Preussner MediaCompositing: Resetting media texture & freeing resource on section end; removed dead code Change 3887220 by Max.Preussner MediaCompositing: Defaulted media section duration to 1 sec (since we do not know the actual duration in most cases) Change 3887478 by Matt.Hoffman Sequences now show [Inactive] in their title bars when they're disabled. This helps communicate why a sequence isn't being evaluated. #jira UE-51469 Change 3888985 by Max.Chen Movie Scene Capture: Clamp HDR Compression Quality between 0 and 1. #jira UE-55136 Change 3893519 by Max.Chen Sequence Recorder: Clarified tooltip for bRecordNearbySpawnedActors - spawned actors will still be recorded if they match the ActorFilter. #jira UE-55238 Change 3893546 by Max.Chen Sequence Recorder: If a selected actor already has a recording, add a blank recording. #jira UE-55239 Change 3894044 by Max.Preussner MediaCompositing: Added support for seeking into a media section Change 3894310 by andrew.porter MediaFrameworkTest: Adding Img media sources for 1080 and 2160 ravent test content Change 3894426 by Max.Preussner MediaAssets: Letting media textures with AutoClear retain their clear color when player is reset Change 3895717 by Max.Chen Sequencer: Null checks to prevent crash when saving the default state of a spawnable #jira UE-55304 Change 3897388 by Max.Chen Sequencer: Don't update current time to be within the view range when stepping into a sequence. #jira UE-55322 Change 3897452 by Max.Chen Audio: Fix crash when trying to record audio without any active capture devices. Log warning if the number of input channels is not 1 or 2. #jira UE-55223 Change 3897619 by Max.Preussner MediaCompositing: Removed commented out code Change 3898072 by Max.Chen Sequencer: Override the animation asset in the player state if it doesn't match the animation asset that's being evaluated. #jira UE-55328 Change 3898272 by Max.Preussner MediaPlayerEditor: Made slate brush constants static Change 3898704 by Max.Chen Sequencer: Skip if the binding id's sequence can't be found. #jira UE-55337 Change 3899855 by Max.Preussner MediaCompositingEditor: Added cache state visualization to media track Change 3900300 by Max.Preussner MediaCompositingEditor: Added loop indicators to media sections Change 3900694 by Max.Preussner ImfMedia: Looping cache only when player is looping Change 3900892 by Max.Preussner Stats: Added stats category for media framework Change 3900954 by Max.Preussner MediaCompositing: Don't evaluate at the end of media section Change 3901348 by Max.Preussner Core: Replaced TLruCache autos for better readability Change 3901655 by Max.Preussner ImgMedia: Added more perf stats to EXR reader Change 3901972 by Max.Preussner MediaAssets: Added getter for media player in media sound components Change 3902233 by Max.Preussner MediaAssets: Enabling media textures to receive samples right after player is assigned Change 3902238 by Max.Preussner MediaCompositing: Working around init/shutdown idiosyncracies in sequencer Change 3904045 by Max.Chen Sequencer: Fix copy/paste crash. Only process UMovieSceneCopyableBinding and objects that can be spawned by the movie scene spawn register. #jira UE-55314 Change 3905605 by Max.Chen Sequencer: Restrict spawnables from being created if they have a ClassWithin that UMovieScene is not a child of. #jira UE-55429 Change 3906550 by Max.Chen Sequencer: Add media track icon #jira UE-55480 Change 3907101 by Max.Chen Sequence Recorder: Fix bugs related to not recording a level sequence. There were certain assumptions that creating a level sequence meant that sequence recording was in progress. This is not always the case - the recorders can record animation assets and not create a level sequence. Changed the notion of IsRecording() to having at least one actor recording that is recording. Countdown timer, recording displays, etc should function if IsRecording() and not based on whether a level sequence is created. #jira UE-55485 Change 3907247 by Max.Chen Sequence Recorder: Fix crash not removing PrepareToCleanseEditorObject delegate. Repros when opening sequence recorder, closing it, and then opening or creating a level. Change 3910343 by Max.Preussner Core: Added async helper for executing functions on a given thread pool Change 3910346 by Max.Preussner ImgMedia: Added separate thread pools for loading/decoding and deleting image frames Change 3910829 by Max.Preussner Profiler: Increased visible range of profiler graph Change 3910841 by Max.Preussner MediaCompositing: Displaying asset name instead of full media source path in media section Change 3910870 by Max.Preussner ImgMedia: Using deallocation thread pool only in debug builds Change 3919642 by Max.Chen Sequence Recorder: Clarify active tooltip #jira UE-55661 Change 3919660 by Max.Chen Sequencer: Sequence template source signatures are now also compared to catch the case where a sub-sequence asset has been saved but not modified - The following sequence of events exposes this issue: - Create a master sequence with a single shot that spawns a cube - Add this sequence to a level and set it to auto-play - Save everything and restart - Resave just the inner shot asset without opening it - PIE - The inner shot never spawns its cube because its template was wiped on save, but its signature never changed. Since the master sequence previously didn't check the template source signature, it ends up trying to evaluate an empty template. #jira UE-55626 #jira UE-55490 Change 3921825 by Max.Chen Sequencer: "Run Construction Script in Sequencer" is off by default for blueprints but on for Sequencer. This allows the content author to switch it on for specific blueprints and sequencer will be default, run those with construction scripts enabled. Change 3922232 by Max.Chen Sequence Recorder: Reset countdelay on stop. #jira UE-55755 Change 3922306 by Max.Chen Sequence Recorder: Don't automatically mark transforms to be recorded by sequence recorder. Instead, log a warning if the user toggled it off to warn that the resulting animation might not match gameplay. #jira UE-55758 Change 3922912 by Max.Chen Sequence Recorder: Fix refresh next sequence name #jira UE-55757 Change 3927654 by Max.Chen Movie Scene Capture: Added format mapping for the name of the current camera #jira UE-55769 PR #4537 Change 3927658 by Max.Chen Sequencer: Added fbx property mapping for "FocusDistance" to "FocusSettings.ManualFocusDistance" #jira UE-55782 Change 3932022 by Max.Chen Sequencer: Add import animation track section to next available row index. #jira UE-55892 Change 3933919 by Max.Chen Sequencer: Jump to playback start frame and not 0 to start playback for recording. #jira UE-55933 Change 3934307 by Andrew.Rodham Sequencer: Add template signature that is re-generated every time the base template is regenerated, which invalidates evaluation fields This fixes an issue where the same sequence is instantiated multiple times in a sequence. If the source sequence was saved, its template would be wiped, which would invalidate the template ID When an instance tries to evaluate the master template, it would only invalidate a range in the evaluation field that was the hull of any invalid sub sequences overlapping the current time, potentially leaving invalid data in the evaluation field at positions later (or earlier) on in the sequence When the sub template was re-generated, it receives the same SequenceSignature as it had before (because the sequence hasn't actually changed), which causes the stale evaluation field data to fail the IsDirty check (because the sequence is the same as it thought, but the *template* has changed) This has been addressed be adding a signature to templates themselves, and checking both the template signature and sequence signature as a part of the IsDirty check. This ensures that we regenerate if either the template, or the sequence have changed. #jira UE-55934 Change 3936327 by Andrew.Rodham Sequencer: Removed increment when trimming right UMovieSceneSection::TrimSection already explicity assigns an exclusive bound to the time passed in. The new behavior means we can trim a section to the right, and insert another section without changing the time to create adjacent sections. #jira UE-42652 Change 3936328 by Andrew.Rodham Fixed KeyFrameManipulator assignment operators and copy/move constructors - These types are potentially self-referential so cannot use default constructors/assignment Change 3936330 by Andrew.Rodham Converted UMGSequencePlayer to use frames internally #jira UE-54878 Change 3936726 by Max.Chen Sequencer: Set track node as the parent of the key area node. The key area switcher needs the object binding id from the parent object binding node. Without this, the binding to the external value fails. #jira UE-55931 Change 3936775 by Max.Chen Sequencer: Should stop or loop should compare DurationFrames with Current Time from StartTime. The bug is that if you set 30 warmup frames in movie rendering for a range of 0-100, the FrameRange will be starting at -30 and have a duration of 130. Without this fix, the playback will continue until frame 130, rather than 100. #jira UE-55933 Change 3936935 by Matt.Hoffman Easing Curves are now represented in Play Rate resolution instead of internal resolution. #jira UE-55937 Change 3937069 by Matt.Hoffman Users can toggle if the is infinite on each side, limited by which tracks support infinite ranges. #jira UE-55891 Change 3937516 by Max.Preussner ImgMedia: Added support for single-threaded platforms #jira UE-55986 Change 3937826 by Max.Preussner MediaAssets: Disabling media sound components on HTML5 if AudioMixer is not enabled Change 3937997 by Max.Chen Curve Editor: Add Zoom to Fit Curves so that selected curves from Sequencer can be focused on. Tested that undo doesn't re-zoom. #jira UE-55935 Change 3938000 by Max.Chen Sequencer: Stop all sounds before generating audio waveforms. #jira UE-55951 Change 3938376 by Max.Preussner XGEController: Disabled XGE Controller in single-threaded apps to prevent crash Change 3938444 by Max.Preussner Core: Added async support for single-threaded applications Change 3938445 by Max.Preussner Networking: Added support for single-threaded applications in UDP socket sender/receiver Change 3938447 by Max.Preussner Messaging: Added support for single-threaded applications Change 3939432 by Max.Chen Sequence Recorder: Append command list to global level editor actions so that shortcuts are accessible in level editor. #jira UE-55798 Change 3940229 by Andrew.Rodham Added prospective display rate upgrade to UMovieScene::PostLoad - There was previously some very odd behaviour that would assign the fixed frame interval only when a sub sequence was focused in SSequencer. This meant that many sequences could have a frame interval of 0 set in the data. - Under the old method of snap interval display this would have fallen back to getting the display interval from the sequencer settings, but we no longer look at these. - The USequencerSettings properties have been removed and in their place, a prospective data upgrade for sequences that have a fixed frame interval old 0fps that sets the play rate to the previous defaults based off the old USequencerSettings defaults. - This could end up 'changing' the display rate for sequences where the user has changed the snap interval in the settings for a particular sequence editor, but there's not much we can do about that given we don't have access to the USequencerSettings classes in UMovieScene #jira UE-55919 Change 3940277 by Andrew.Rodham Sequencer: Added ability to default frame resolutions and play rates for newly created actor sequences Change 3940378 by Andrew.Rodham Sequencer: Post move import dialog now defaults to the playback framerate of the sequence, and floors to frame numbers Change 3940559 by Andrew.Rodham Reinstated primed or recording sequence color Change 3940642 by Max.Preussner ImagePlate: Removed image plate media playback functionality Change 3940843 by Max.Preussner Core: Made TCircularQueue actually thread-safe; improved code comments Change 3940860 by Max.Chen Sequencer: Changed StructNameToKey to StructPathToKey Previously, keying a PropertyPath of [RenderTransform][Shear][X] would get trimmed to X, which doesn't map to a channel name as considered by Sequencer2dTransformTrackEditor. Instead, trim the resulting property path to [Shear][X] so that track editors can determine the desired struct path and channels to key. #jira UE-52966 Change 3941292 by Mike.Zyracki Fix for trajectories out of range not showing up. 1) If we had no key data we would pop the time, so wouldn't get the section ranges. 2) Calculating of upper bound was wrong, checking against -1 and not key == num of keys when doing algo::lower_bound. 3) No need to do the Bck-- for the bakward iterators since we fixed #2. We start now from the upper bound correctly. 4) If we had no keys (at section start,end) we would incorrectly say we were any key type, so since we draw constant keys as dashed we would do so incorrectly around section end points. #jira UE-55929 Change 3941424 by Max.Chen Curve Editor: Change Zoom to Fit to use TArrayView Change 3941498 by Max.Preussner Core: Added FMath::DivideAndRoundNearest function Change 3942097 by Matt.Hoffman Drop Frame Timecode Support for NTSC rates. Change 3942104 by Matt.Hoffman Sequence Recorder Group is no longer visible inside the World Outliner after using one. #jira 55266 Change 3942107 by Max.Chen Sequencer: Resurrect logic to find or extend an existing section when adding keys. Change 3942330 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942339 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942507 by Andrew.Rodham Sequencer: We no longer pad the time overlap threshold with a small number that is not scaled by the current zoom level - The presence of this pad was causing keys that were far apart to be grouped when zoomed in a long way Change 3942509 by Andrew.Rodham Sequencer: Only pad total view range, rather than section range as well when retrieving keys to render - This stops us from rendering keys that are within the view range, but outside the section range Change 3942512 by Andrew.Rodham Added transactions to some sequencer details customizations Change 3942513 by Andrew.Rodham Sequencer: Reinstated validation checks to UMovieSceneSection::SetStartFrame and SetEndFrame, changed erroneous uses to use SetRange Change 3942560 by Andrew.Rodham Pass by rvalue reference to appease error C2719 on Win32 ('InChannels': formal parameter with requested alignment of 8 won't be aligned) Change 3942697 by Andrew.Rodham Newly Created Level Sequences and Actor Sequences now default to 24000 fps frame resolution (+/- ~24hrs range, supporting all integer rates + 23.976) Change 3942700 by Andrew.Rodham Sequencer: Added legacy out-of-bounds errors for times that are not supported by the current legacy upgrade frame resolution Change 3942989 by Max.Preussner Core: Fixed circular queue count calculation Change 3943538 by Max.Preussner MediaAssets: Reverted workaround for procedural audio log spam in HTML5 (Actor component initialization cannot be skipped if the component is used in a level) Change 3944071 by Max.Preussner QAGame: Fixed Media Texture keeps last frame of Media when PIE ends #jira UE-53360 Change 3944292 by Max.Chen Sequencer: Added extra flags to ensure that asset initialization does not occur on template actor sequences #jira UE-56113 Change 3944364 by Max.Chen Sequencer: Prevent circular shot/master tracks. Tested adding master -> child -> master as drag and drop cinematic shot tracks and sub tracks as well as through the + button. #jira UE-56091 Change 3944422 by Max.Chen Sequence Recorder: Disable transform recording if off. #jira UE-56061 Change 3944745 by Andrew.Rodham Sequencer: Key rendering fixes - Fixed assert that occured when keys happened to reside on some times due to KeyTime + TimeOverlapThreshold - KeyTime being slightly larger TimeOverlapThreshold - Fixed keys sometimes being clipped when zoomed right in due to lack of half-frame offset - Added missing documentation to MovieSceneTimeHelpers.h #jira UE-56107 Change 3945231 by Andrew.Rodham Sequencer: Reconstruct channel proxy on Serialize to catch all cases of undo/redo, PostLoad and duplication #jira UE-56089 Change 3945301 by Andrew.Rodham Sequencer: Added safety checks during initial sequence recording to guard against applying negative or 0-sized sequence ranges #jira UE-56125 Change 3946627 by Max.Preussner Fortnite: Fixed game crashes closing editor while in PIE - Pure virtual function being called #jira UE-56144 [CL 3946896 by Max Chen in Main branch]
2018-03-14 22:09:33 -04:00
FExecuteAction::CreateLambda([=]{ SetPlaybackRangeStart(FrameNumber); }),
FCanExecuteAction::CreateLambda([=]{ return !TimeSliderArgs.IsPlaybackRangeLocked.Get() && FrameNumber < UE::MovieScene::DiscreteExclusiveUpper(PlaybackRange); })
Copying //UE4/Dev-Sequencer to Dev-Main (//UE4/Dev-Main) #lockdown nick.penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2719576 on 2015/10/07 by Chris.Wood Added check for stale BP classes in FKismetCompilerUtilities::IsTypeCompatibleWithProperty() to stop compiler errors during reinstancing. [UE-19795] - UMG Compiler error when adding variable to nested Widget Change 2721474 on 2015/10/08 by Andrew.Rodham Sequencer: Movie render operations now successfully capture UMG UI Change 2724958 on 2015/10/12 by Chris.Wood Added missing resource cleanup code to UMG widgets [UE-21874] - UWIdget classes with missing ReleaseSlateResources() overrides Added ReleaseSlateResources() to ListView, TileView and Slider widgets to reset shared pointers to slate widgets. Change 2733562 on 2015/10/19 by Andrew.Rodham Sequencer: Fixed spawnables not working in sub-sequences - The issue here was that sequence track instance updates had no knowledge of which sub-sequence they were being evaluated within. We now pass the active sequence instance into the relevant track instance functions. - Also addressed some issues to do with save/restore state not getting called correctly on master tracks of sequence instances - Tidied up spawn track editor Change 2735264 on 2015/10/20 by Chris.Wood Improved Engine analytics handling for Editor and games [UE-21892] - Improve how Engine analytics are handled for Editor and games Changes: Added Privacy section to Editor settings Exposed editor analytics flag in Privacy options Added Details Customization to make this type of bool property clearer with extra info and hyperlink Changed AreEditorAnalyticsEnable() to use new flag Prevented analytics init when disabled by user Sending event and shutting down analytics when user opts out Add in-game project setting for anonymous game usage data Renamed and moved bHardwareSurveyEnabled Added message about exposing in-game setting to end users Added anonymous GUID id for in-game analytics Moved end user settings to global config (defaultengine.ini) Placeholder loc text on new options for now, pending legal wording sign-off Change 2735866 on 2015/10/20 by Max.Preussner Async: Added ability to register an optional callback function that is executed when a Future completes Change 2739793 on 2015/10/23 by Andrew.Rodham Sequencer: Refined movie scene capturing to ensure frame accuracies are maintained - Aborting an in-progress capture now gracefully terminates the process (through a remote session command) to ensure it still creates a valid video - Level sequece movie capture will now pick up a corresponding level sequence in the world, and use that to capture with. A new actor will be spawned at runtime with the correct asset, should one not already exist. - Made -nomovie actually work - Refined how active movie captures are managed - Added option to 'stage' a sequence before starting the capture. This feature will set the sequence on its first frame for the preroll, to ensure that PPP effects are allowed time to stabilize Change 2744402 on 2015/10/28 by Max.Preussner Sequencer: Separated track display names from track identifier names; code cleanup Change 2745953 on 2015/10/29 by Max.Chen Sequencer: Attach to socket. Relative attachments. #jira UETOOL-463 Change 2747028 on 2015/10/29 by Max.Preussner Sequencer: Another overhaul of track display name handling; code and documentation cleanup pass. Change 2758888 on 2015/11/09 by Chris.Wood Integrating changes - 4.10 to Dev-Sequencer From 4.10 branch fixes: Added check for debugger present when reporting abnormal termination to analytics. [UE-22844] CL 2750764 Added FSystemWideCriticalSection for desktop platforms. Used by analytics to lock access to editor instances list in the OS. [UE-22844] CL 2753661 Updating wording in privacy settings text. [UE-21892] CL 2753709 Mac and Linux CIS fix [UE-22844] CL 2755381 Change 2761287 on 2015/11/10 by Max.Chen Sequencer: Add null check when updating the UMG preview if the sequencer doesn't exist/has been closed. #jira UE-5206 Change 2764945 on 2015/11/12 by Max.Preussner Core: Templatized TypeContainer implementation to allow for thread-safe objects; updated unit test Also fixes UE-13850 Change 2765036 on 2015/11/12 by Max.Preussner UdpMessaging: Fixed message serialization unit test (UE-22571) #jira: UE-22571 Change 2766149 on 2015/11/13 by Max.Preussner Media: Implemented event that gets triggered when playback reached the end of media Also fixes looping. Change 2768157 on 2015/11/16 by Max.Preussner Media: Added .m4a to supported WMF file extensions Change 2769200 on 2015/11/16 by Max.Chen Editor: Add broadcast messages when snapping objects. #jira UE-22680 Change 2773066 on 2015/11/19 by Chris.Wood Upload crashes from CRC to Data Router [UECORE-249] - Integrate Crash Report Client with the Data Router Upload to Receiver still active as we are running both in parallel for now.
2015-12-11 13:52:32 -05:00
)
);
MenuBuilder.AddMenuEntry(
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3178529) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3149443 on 2016/10/03 by Max.Preussner MediaAssets: Better parameter names for MediaPlayer BP functions Change 3149756 on 2016/10/03 by Max.Chen Sequence Recorder: Set some settings to be clamped at 0 (sequence length, recording delay, audio gain, audio input buffer size, nearby actor recording proximity) #jira UE-35233 Change 3149795 on 2016/10/03 by Max.Chen Curve Editor: Set tangent to user when flattening or straightening tangents only when the tangent mode is auto and the interp mode is cubic. #jira UE-36734 Change 3150378 on 2016/10/04 by Max.Preussner PS4Media: Made video buffer sizes for file and HLS sources configurable (UE-36807) #jira UE-36807 Change 3151414 on 2016/10/05 by Max.Chen Sequencer: Fix case where restoring the last view target was getting skipped. It should always restore if the camera object and the unlock if camera actor object is null. #jira UE-35285 Change 3152038 on 2016/10/05 by Max.Preussner UdpMessaging: Code & documentation modernization pass Change 3152471 on 2016/10/05 by Max.Chen Cine Camera: Don't enable/disable actor ticking based soley on actor tracking since actor ticking is needed for other purposes. Instead, always enable actor ticking and only update actor tracking on tick if necessary. This fixes a bug where the cine camera actor won't tick if you hook in event tick. #jira UE-36625 Change 3152692 on 2016/10/05 by Max.Preussner Messaging: API code & documentation modernization pass Mostly removed shared pointer/ref typedefs as they prevent forward declarations and increase include complexity. Change 3153824 on 2016/10/06 by Max.Preussner Messaging: Renamed IConnectionBasedMessagingModule to ITcpMessagingModule and moved it into TcpMessaging I recommend that we refactor this API. The dependency should be reversed, i.e. instead of AndroidDeviceDiscovery depending on the TcpMessaging plug-in module, the Engine should provide a central registry that device discovery modules can notify, and that message transport plug-ins can register with and listen to OnConnectionAdded/Removed events etc. That way it supports an arbitrary number of transport plug-ins, and the Engine is not coupled to any of them. This functionality is not necessarily related to messaging, and the Messaging API is transport agnostic anyway. I'll think about this some more. Change 3153826 on 2016/10/06 by Max.Preussner Messaging: Removed remaining typedefs in IMessageTracer to enable forward declaration and reduce include dependencies Change 3153857 on 2016/10/06 by Max.Chen Sequencer: Set snap time to dragged key on by default. Change 3153980 on 2016/10/06 by Max.Preussner SessionServices: Removed typedefs; code and documentation modernization pass Change 3154313 on 2016/10/06 by Max.Chen Sequencer: Set the paste keys time to the current time, rather than the mouse time. Change 3154332 on 2016/10/06 by Max.Chen Sequencer: Remove click to rename shot functionality in the shot thumbnail. Added rename shot to the shot context menu. Change 3154377 on 2016/10/07 by Max.Chen Sequencer: Add ability to step to beginning and ends of sections/shots using the hotkeys: , and . Change 3154788 on 2016/10/07 by Max.Chen Sequencer: Fix offsets that created when moving multiple sections. The offsets were being created because section bounds were being generated for all sections except for the current section. Instead, they should be computed for all sections except for any that aren't being moved. #jira UE-29152 Change 3159274 on 2016/10/11 by Max.Preussner Core: Documentation fixes Change 3159275 on 2016/10/11 by Max.Preussner UdpMessaging: Added missing header Change 3160746 on 2016/10/12 by Max.Preussner MediaAssets: Added BP functions to query width, height, and aspect ratio of UMediaTexture instances #jira UE-37241 Change 3160975 on 2016/10/12 by Max.Preussner PS4Media: Better logging for SetRate failures Change 3160995 on 2016/10/12 by Max.Preussner MediaPlayerEditor: Fixed Media player selection is ignored if media specifies player overrides (UE-37248) #jira UE-37248 Change 3161066 on 2016/10/12 by Max.Preussner PS4Media: Enforcing minimum 8 byte alignment for media allocations Change 3161069 on 2016/10/12 by Max.Preussner PS4Media: Fixed log spam when setting play rate to current rate Change 3162567 on 2016/10/13 by Max.Preussner PS4Media: Made track switching code more readable Change 3163447 on 2016/10/14 by Max.Preussner PS4Media: Fixed array out of bounds assertions Change 3163772 on 2016/10/14 by Max.Preussner MfMedia: Fixed a number of timing related issues Change 3163980 on 2016/10/15 by Max.Chen Sequencer: Remove folder name numeric padding so that the naming convention is similar to creating objects in the level. Change 3164581 on 2016/10/17 by Andrew.Rodham Sequencer: Ensure global pre-animated state is restored in reverse order Change 3164582 on 2016/10/17 by Andrew.Rodham Sequencer: Ensure pre animated state is restored for all actor components before saving default state Change 3164583 on 2016/10/17 by Andrew.Rodham Sequencer: Re-enabled support for pre and post roll Change 3165464 on 2016/10/17 by Max.Chen Sequencer: Default number frame handles to 0 so that there's no change in behavior when rendering out a master sequence of shots. Handle frames need to enabled explicitly by the user. Copy from Release-4.14 #jira UE-37416 Change 3165483 on 2016/10/17 by Max.Chen Sequencer: Enable restore state for attach section completion Change 3165771 on 2016/10/18 by Andrew.Rodham Sequencer: Force evaluate when rendering thumbnails #jira UE-37321 Change 3166057 on 2016/10/18 by Andrew.Rodham Sequencer: Only set defaults for tracks that have no keys, and where the requested default has changed #jira UE-37285 Change 3166218 on 2016/10/18 by Max.Preussner MediaPlayerEditor: Failure opening media, even though it opened successfully (UE-37470) #jira UE-37470 Change 3166247 on 2016/10/18 by Max.Preussner WmfMedia: Showing progress bar while media is being resolved Change 3166289 on 2016/10/18 by Max.Preussner MfMedia: Showing progress bar while media is being resolved Change 3166993 on 2016/10/18 by Max.Preussner MfMedia: Fixed info string not reset on media close. Change 3166999 on 2016/10/19 by Max.Preussner Media: Fixed NV12 and NV21 support Change 3167008 on 2016/10/19 by Max.Preussner Media: Removed vertical NV12 alignment Change 3167029 on 2016/10/19 by Max.Preussner WmfMedia: Temp fix for RGB32 encoded AVIs rendering upside-down and too bright (UE-37505) #jira UE-37505 Change 3168593 on 2016/10/19 by Max.Chen Sequencer: Change paste at time to local time, so that the paste happens in the local time of the sequence rather than the global time if pasting in a shot level sequence. Change 3168626 on 2016/10/19 by Max.Chen Sequencer: Clamp to view bounds should snap to frame if frame snapping is on. Change 3168627 on 2016/10/19 by Max.Chen Sequencer: Initialize working and view range to be 10% larger than playback range. Change 3168760 on 2016/10/20 by Max.Preussner Media: Revamped media texture buffer management to support padded frames Added support for Windows bitmap buffers. Fixed a number of format, conversion and/or looping issues in WmfMedia and MfMedia. Not all shaders have been updated yet. Change 3169640 on 2016/10/20 by Max.Chen Sequencer: Add current camera to FLevelSequencePlayerSnapshot. Adjust DefaultBurnIn to include a few more parameters like focal length and focus distance. #jira UE-37407 Change 3170677 on 2016/10/21 by Max.Chen Movie Scene Capture: Add toggle to override engine scalability settings to cinematic scalability. #jira UE-36560 Change 3170710 on 2016/10/21 by Max.Preussner Media: Optimized handling of RGB input Change 3170712 on 2016/10/21 by Max.Preussner Media: Fixed NV21 conversion shader scaling Change 3170923 on 2016/10/21 by Max.Preussner UBT: Copied XboxOne project generator fix from Fortnite CL# 3170868 Change 3171494 on 2016/10/23 by Max.Chen Sequencer: Fix fbx export from master sequence not finding bound objects. #jira UE-35752 Change 3171506 on 2016/10/23 by Max.Chen Sequencer: Draw where in and out points of the shot section are, just like subsequences do. Change to only draw the green starting line if StartOffset is negative. #jira UE-35473 Change 3171743 on 2016/10/24 by Andrew.Rodham Editor: Added support for detail customizations on root structs - Also added the ability to add external struct data onto a detail category builder, and property type customization. Change 3171752 on 2016/10/24 by Andrew.Rodham Sequencer: Fixed spawnable ownership - Spawnables are no longer destroyed when the cursor leaves the master playback range. - Spawnable ownership now operates as it previously did before the evaluation rework. - bIgnoreOwnershipInEditor has been removed since its existence was a work around for when we didn't evaluate sub sequences from the master sequence. - FMovieSceneSequenceID is now a struct so that it can be used in array properties - Meta data now exists for each segment of an evaluation field. Currently this only includes the sub sequence IDs that exist at that time, but it may be expanded to include all evaluation entities (tracks + sections) in future so we don't have to calculate that at runtime. Change 3171756 on 2016/10/24 by Andrew.Rodham Sequencer: Added ability to trigger events with parameters - It's now possible to supply an event payload on event track keys which are to be passed to a given event. The structure must match the signature of the event, or a warning will be emitted. - Added a templated TGenericKeyArea, TKeyFrameManipulator and TCurveInterface that allow to generic manipulation of keyframe section data. In time we will port the other key areas over to this representation. - This new architecture affords the common manipulation of time-based keyframes in a value-agnostic manner. Change 3172935 on 2016/10/24 by Max.Preussner MediaPlayerEditor: Fixed MediaPlayer asset not being dirtied when creating media sound wave or texture for it Change 3173947 on 2016/10/25 by Max.Preussner SlateRemote: Disabled plug-in, but enabled server by default Change 3174510 on 2016/10/26 by Max.Chen Sequencer: Fix slomo track crash #jira UE-37802 Change 3174698 on 2016/10/26 by Andrew.Rodham UMG: Fixed objects bound to a panel slot animating their slot's content instead of the slot itself #jira UE-37775 Change 3174780 on 2016/10/26 by Max.Preussner MediaAssets: Accepting decoder defined buffer dimensions for RGB buffers Change 3174789 on 2016/10/26 by Max.Preussner MediaPlayerEditor: Showing desired player name instead of current player name if no media loaded Change 3174817 on 2016/10/26 by Max.Preussner WmfMedia: Added support for Motion JPEG (MJPG) Change 3174825 on 2016/10/26 by Max.Preussner WmfMedia: Added support for non-RGB32 uncompressed formats Change 3174834 on 2016/10/26 by Max.Preussner MediaPlayerAssets: Allow pausing while buffering media Change 3174886 on 2016/10/26 by Andrew.Rodham Core: Fixed range test that was testing incorrect behavior Change 3174889 on 2016/10/26 by Andrew.Rodham Sequencer: Fixed AssignActor behavior - Also ensure that cached object state is invalidated when playback context changes #jira UE-37798 Change 3174905 on 2016/10/26 by Andrew.Rodham Sequencer: Changed assert when failing to create an audio component to a log message - Audio no longer plays when GEngine->UseSound() is false #jira UE-37772 Change 3174980 on 2016/10/26 by Andrew.Rodham Sequencer: Remove warning when event endpoint could not be found for a given context #jira UE-37824 Change 3175001 on 2016/10/26 by Andrew.Rodham Sequencer: Evaluate sequence with EMovieScenePlaybackStatus::Jumping on Pause. - Also protect Pause() against reentrancy when being called from an event Change 3175012 on 2016/10/26 by Max.Chen Sequence Recorder: Fixes an empty working and view range after recording. On StopRecording() update playback range after nullifying the current sequence so that the playback range isn't empty. Added SetViewRange and SetWorkingRange. #jira UE-34191 Change 3177760 on 2016/10/28 by Max.Chen Sequence Recorder: Don't update the current sequence name if it's already set. This fixes a bug where if you pass in a sequence name to record to, it gets reset to the name in the sequence recorder settings. #jira UE-37808 Change 3178529 on 2016/10/28 by Max.Chen Matinee to Level Sequence: Added interface to extend the matinee to level sequence converter #jira UE-37328 #2864 [CL 3178562 by Max Chen in Main branch]
2016-10-28 15:04:38 -04:00
LOCTEXT("SetPlaybackEnd", "Set End Time"),
Copying //UE4/Dev-Sequencer to Dev-Main (//UE4/Dev-Main) #lockdown nick.penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2719576 on 2015/10/07 by Chris.Wood Added check for stale BP classes in FKismetCompilerUtilities::IsTypeCompatibleWithProperty() to stop compiler errors during reinstancing. [UE-19795] - UMG Compiler error when adding variable to nested Widget Change 2721474 on 2015/10/08 by Andrew.Rodham Sequencer: Movie render operations now successfully capture UMG UI Change 2724958 on 2015/10/12 by Chris.Wood Added missing resource cleanup code to UMG widgets [UE-21874] - UWIdget classes with missing ReleaseSlateResources() overrides Added ReleaseSlateResources() to ListView, TileView and Slider widgets to reset shared pointers to slate widgets. Change 2733562 on 2015/10/19 by Andrew.Rodham Sequencer: Fixed spawnables not working in sub-sequences - The issue here was that sequence track instance updates had no knowledge of which sub-sequence they were being evaluated within. We now pass the active sequence instance into the relevant track instance functions. - Also addressed some issues to do with save/restore state not getting called correctly on master tracks of sequence instances - Tidied up spawn track editor Change 2735264 on 2015/10/20 by Chris.Wood Improved Engine analytics handling for Editor and games [UE-21892] - Improve how Engine analytics are handled for Editor and games Changes: Added Privacy section to Editor settings Exposed editor analytics flag in Privacy options Added Details Customization to make this type of bool property clearer with extra info and hyperlink Changed AreEditorAnalyticsEnable() to use new flag Prevented analytics init when disabled by user Sending event and shutting down analytics when user opts out Add in-game project setting for anonymous game usage data Renamed and moved bHardwareSurveyEnabled Added message about exposing in-game setting to end users Added anonymous GUID id for in-game analytics Moved end user settings to global config (defaultengine.ini) Placeholder loc text on new options for now, pending legal wording sign-off Change 2735866 on 2015/10/20 by Max.Preussner Async: Added ability to register an optional callback function that is executed when a Future completes Change 2739793 on 2015/10/23 by Andrew.Rodham Sequencer: Refined movie scene capturing to ensure frame accuracies are maintained - Aborting an in-progress capture now gracefully terminates the process (through a remote session command) to ensure it still creates a valid video - Level sequece movie capture will now pick up a corresponding level sequence in the world, and use that to capture with. A new actor will be spawned at runtime with the correct asset, should one not already exist. - Made -nomovie actually work - Refined how active movie captures are managed - Added option to 'stage' a sequence before starting the capture. This feature will set the sequence on its first frame for the preroll, to ensure that PPP effects are allowed time to stabilize Change 2744402 on 2015/10/28 by Max.Preussner Sequencer: Separated track display names from track identifier names; code cleanup Change 2745953 on 2015/10/29 by Max.Chen Sequencer: Attach to socket. Relative attachments. #jira UETOOL-463 Change 2747028 on 2015/10/29 by Max.Preussner Sequencer: Another overhaul of track display name handling; code and documentation cleanup pass. Change 2758888 on 2015/11/09 by Chris.Wood Integrating changes - 4.10 to Dev-Sequencer From 4.10 branch fixes: Added check for debugger present when reporting abnormal termination to analytics. [UE-22844] CL 2750764 Added FSystemWideCriticalSection for desktop platforms. Used by analytics to lock access to editor instances list in the OS. [UE-22844] CL 2753661 Updating wording in privacy settings text. [UE-21892] CL 2753709 Mac and Linux CIS fix [UE-22844] CL 2755381 Change 2761287 on 2015/11/10 by Max.Chen Sequencer: Add null check when updating the UMG preview if the sequencer doesn't exist/has been closed. #jira UE-5206 Change 2764945 on 2015/11/12 by Max.Preussner Core: Templatized TypeContainer implementation to allow for thread-safe objects; updated unit test Also fixes UE-13850 Change 2765036 on 2015/11/12 by Max.Preussner UdpMessaging: Fixed message serialization unit test (UE-22571) #jira: UE-22571 Change 2766149 on 2015/11/13 by Max.Preussner Media: Implemented event that gets triggered when playback reached the end of media Also fixes looping. Change 2768157 on 2015/11/16 by Max.Preussner Media: Added .m4a to supported WMF file extensions Change 2769200 on 2015/11/16 by Max.Chen Editor: Add broadcast messages when snapping objects. #jira UE-22680 Change 2773066 on 2015/11/19 by Chris.Wood Upload crashes from CRC to Data Router [UECORE-249] - Integrate Crash Report Client with the Data Router Upload to Receiver still active as we are running both in parallel for now.
2015-12-11 13:52:32 -05:00
FText(),
FSlateIcon(),
FUIAction(
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3946692) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3801826 by Max.Chen PR #4304: Level Sequence crash fix - Guarded against dereferencing null componen. (Contributed by DSDambuster) Change 3801828 by Max.Chen PR #4302: Movie Scene Visibility Template unitialised variable, causing random . (Contributed by DSDambuster) Change 3801837 by Max.Chen Sequencer: Delay spawning/construction for convert to possessable. This fixes a bug where property values would be lost when converting back and forth from possessable to spawnable. #jira UE-52400 Change 3801841 by Max.Chen Sequencer: Make spacer nodes not selectable. PR #4194: Improvements to Sequencer (Contributed by projectgheist) #jira UE-53117 #jira UE-52139 Change 3804183 by Max.Preussner MediaAssets: Added missing lock in media sound component Change 3805414 by Max.Preussner MediaAssets: Setting valid GUID when initializing media texture resource Change 3819578 by Max.Chen PR #4370: When enabling the "MovieCapture", do not turn off the Stereo-3D display. (Contributed by yehaike) #jira UE-53647 Change 3823414 by Max.Chen Curve Editor: Lock down the first and last keys in the redundant keys removal range so that they're unaffected. #jira UE-53591 Change 3826406 by Max.Chen Sequencer: Move OnStartedPlaying() to within first update in UpdateTimeCursorPosition(). This fixes an issue where setting the hud/player visibility was getting stomped on later. #jira UE-52772 Change 3827044 by Max.Preussner MediaAssets: Added sprite visualization to media sound component #jira UE-53594 Change 3827988 by Max.Preussner MediaPlayerAssets: Fixed Media Texture is not linked to Media Player when created together #jira UE-53532 Change 3828506 by Max.Preussner MediaPlayerEditor: Added attenuation visualizer for media sound components #jira UE-53594 Change 3832590 by andrew.porter EngineTest: Added a keep state check in Property Animation sequencer test Change 3833053 by andrew.porter EngineTest: Adding Hierarchical Bias test Change 3835683 by andrew.porter EngineTest: Adding UMG Animation screenshot test Change 3836076 by Max.Chen Sequencer: Fix audio volume and pitch multiplier deprecation. Change 3836230 by andrew.porter EngineTest: Adding Sequence Bone Position automation test Change 3836347 by Max.Chen Sequencer: Fixes to shot name parsing. When a shot doesn't contain a shot number, assume, [ShotName]_[TakeNumber]. When duplicating a shot, put the new shot in the same path of the original shot, so that the take numbers will increment properly. #jira UE-51868 Change 3836552 by Max.Chen Sequencer: Sub section now has a takes menu Change 3838094 by Max.Chen UMG: Fix template finish not getting called on stop. This fixes a bug where sections aren't restored when finished. #jira UE-52285 Change 3838708 by Max.Chen Sequencer: Add notification when the blend type is changed. #jira UE-54046 Change 3840295 by Max.Chen Sequencer: Fix copy/paste crash for lights #jira UE-54084 Change 3840957 by Mike.Zyracki Added Show Only Keyable and Show Only Animated to the filter list in the property editor. Added IsPropertyAnimated to IDetailKeyframe Interface which already had support for showing properties which are keyable (which is used for the key icon next to the properties.). Could have created another interface but then would have had to mimic the sequencer binding, releasing also, so this seemed best way. One issue still left is that custom built detail items currently don't store associated properties(usually) and so certain properties, in particulalry transforms, won't show up as keyable or animated. Note this also shows up with the keyable icon not showing up next to transform tracks, and other filters like Show Only Modified not working with transforms/customs. Not sure best way to tackle this. #jira UESEQ-328 Change 3841756 by Max.Chen Sequencer: Fix unbound possessable components when pasting spawnables. #jira UE-54104 Change 3843950 by andrew.porter EngineTest: Renaming LevelStreaming tests/content to LevelVisibility Change 3844082 by Mike.Zyracki Missing file for animated filter in property editor. When finding if a track is animated we need to find it but we can't easily induce the MovieTrack class for any particular property. So we don't set a class for it and just search by it's ID and name. #jira UESEQ-328 Change 3846902 by Max.Preussner ImgMedia: Fixed image media player never finished initialization if loading failed #jira UE-54247 Change 3849820 by Mike.Zyracki Reassigning deleted widgets didn't work since the menu extender mechanism needs a valid UObject in order to perform an operation on it. So to fix we replaced GetObjectBindingContextMenuExtender in WidgetBlueprint with new delegate mechanism (OnBuildCustomContextMenuForGuid) that supports FGuid in addition to UObjects which is needed to handle re-binding deleted widgets. Note that the default sequencer hacks this for replacing deleted actors in SequencerObjectBindingNode to check to see if a LevelSequence is active. We could move to this mechanism there also. #jira UE-53163 Change 3852211 by Max.Chen UMG: Indicate name of the property that is not bound. #jira UE-54350 Change 3854120 by Max.Chen Sequencer: Fix sibling folders being allowed to have the same folder name. #jira UE-54363 Change 3854627 by Max.Chen Sequencer: Step to next/previous key should work for all tracks if there aren't any selected. #jira UESEQ-391 Change 3855825 by andrew.porter EngineTest: Adding animation blending automation test Change 3855950 by andrew.porter EngineTest: Adding correct expected valuues to animation blending test Change 3856237 by Matt.Hoffman UESEQ-336 - Sequencer Track Reordering Adds the ability to re-order Master Tracks, Folders and Object Bindings within sequencer hierarchies (including UMG). Adds the ability to do a one-off sorting of the content under the old sorting behavior if the user wants to reset their layout to how it was under legacy behavior. Modifies SequencerTrackNodes, SequencerFolderNodes and SequencerObjectBindingNodes to handle CanDrop/OnDrop for above, below and ontop of. Fixes a Slate Issue that forcibly expanded a TreeviewRow if an item handled OnDrop. Slate will now only forcibly expand the row if the item says the drop happened ontop of the item, and not above or below it like it previously did. Change 3856503 by andrew.porter EngineTest: Adding automation test for using animation blueprint with blend multi node in sequencer Change 3857875 by Max.Chen Sequencer: Assign the sequence id after the template is compiled. #jira UE-54462 Change 3858344 by Max.Chen Sequencer: Prevent Goto and Transform boxes from overlapping by allowing them to be visible at the same time in an autosized horizontal box. Also, added close button to the goto box. PR #4425: Prevent Goto and Transform boxes from overlapping in Sequencer ... (Contributed by projectgheist) #jira UE-54210 Change 3860566 by andrew.porter MediaFrameworkTest: Set the option to index 0 for the audio and video track list by default Change 3860654 by andrew.porter EngineTest: Enabling Camera Cut + FOV test Change 3860981 by andrew.porter EngineTest: Updating skeletal mesh tests with a delay after set playback position Change 3861256 by Max.Chen Sequencer: Add all bindings if none selected. #jira-54440 Change 3862154 by Andrew.Rodham Added TimeManagement module Change 3862424 by andrew.porter EngineTest: Turned on the test Bone Positions with Blend Multi Node Change 3862573 by andrew.porter EngineTest: Adding test to compare bone positions in a sequence that is blending an animation that is using an AnimBP Change 3865117 by Max.Chen Sequencer: Stop auto scroll on mouse release of movement. #jira UE-31212 Change 3865303 by Max.Chen Sequencer: Add drag and drop transactions #jira UE-54662 Change 3865304 by Max.Chen Sequencer: Fix crash when an actor factory is not found. Change 3865361 by Max.Chen Sequencer: Don't change the camera/shot lock button when popping out of a sequence. #jira UE-54665 Change 3865412 by Max.Chen Sequencer: Determine whether a transform track is for a camera by using the spawned object or template #jira UE-54666 Change 3865685 by Max.Chen Sequencer: Clear autoscrub offset when stopping autoscroll #jira UE-31212 Change 3865886 by Max.Chen Sequence Recorder: Log an error if the number of frames changes while recording. This can happen if the skeleton changes while recording. #jira UE-48715 Change 3866925 by Andrew.Porter MediaFrameworkTest: Changing the current PNG test video image sequence to 1024 x 576 Change 3867705 by andrew.porter QAGame: Adding Audio Sort Sequence to dev folder Change 3867890 by andrew.porter QAGame: Adding a sequence for testing a sorting crash to my dev folder Change 3872628 by Max.Chen Movie Scene Capture: Split delay before warmup into split delay before shot warmup so that there's separate controls for when the movie scene capture warmups up vs. shot boundaries. Change 3873131 by Matt.Hoffman UE-54732 - Crash reordering a folder with a track. This was caused by folders being the only type of track to check if someone was putting a parent track into a child track. Object Binding tracks and Tracks now check as well so that you can't use the above/below drop targets to add parents as children. This also fixed a typo in the localization keys. #jira UE-54732 Change 3873301 by Mike.Zyracki Added ability to support continous euler angle changes when changing rotations, in particularly with the rotation gizmo's. To do this we effectively added a form an of 'euler filter'(https://en.wikipedia.org/wiki/Euler_filter) to find the closest euler angle to the current euler angle. Three functions were added to FRotator to make this possible, one to get the euler angle that's has the same rotation as it, one to get the difference between two euler angles via Manhattan distance and a third using the previous two to choose a Rotator value that's closest to it. We then use these functions before calling UComponent::SetRelativeRotation to make sure we use the correct Euler after the Quat conversion. We also no longer limit(bound) the euler angles to -180,180, which is obviously necessary to avoid flips. I also changed how we caluclate yaw and roll when pitch is -90 or 90 to make it the standard approach of zeroing out roll and just setting yaw. Main reasons are the previous implementation had precision issues so things like 180, 90, -180 would show up due to numbers being nearly zero but negative,(this would break any smooth interpolations), and this facilitates having a 'gimbal' rotation mode (like Maya, Blender etc..) if we ever want that also. If needed we could keep the previous implementation but would need to add some FMath::IsNearlyZero checks, with less performance. Note we only do this special filtering when applying delta's to actors or components in the editors, which then call UComponent::SetRelativeRotationExact, which is a new function to foces the RelativeRotation to be equal to the new rotation. This allows us to store un-nomalized Rotators at the cost that the RotationCache may be broken. We didn't change any of the other UComponent functions that set rotations (via Quats or Transforms) so they will still be bounded and unwound. In SetInternalWorldLocationAndRotation we only set the rotation if the rotation has changed, which fixes the rotation getting changed and re-normalized if just translate happens. In TransformTrackEditor, we correclty use the bUndwing flag and in MovieScene3DTransformSection there was an un-needed winding check there, it will be unwound earlier if needed, which happens if Sequence Recording is happening. Max we should talk about what to do about this . Note the euler angle drag via the widget is still bound to 0-360. I think we should just unbound that now since the rotations value are now unbound. This review now includes fixes suggested by Zak. #jira UE-UE-22228 Change 3873483 by Matt.Hoffman Sequencer Tracks can now be inserted above the spacer at the bottom of the tree. #jira UE-54706 Change 3873899 by Max.Chen Sequencer: Add section selection throbbing Change 3873908 by Max.Chen Movie Scene Capture: Added logging per frame Change 3873924 by Matt.Hoffman Adds the ability to store Sequence Recorder setups into profiles that stay with the map and can be re-loaded later. Profiles store the Actor Recordings so the settings for each actor should carry with them. #jira UESEQ-339 Change 3874726 by Matt.Hoffman Disable drag-and-drop targets on spacers that come between rows in Sequencer. This prevents extra drag/drop targets showing up between each row. #jira UE-54706 Change 3874862 by Matt.Hoffman Audio Track no longer gets reordered when adding sub-audio tracks, as sub-tracks are no longer counted towards the sorting order index when normalizing indexes. #jira UE-54727 Change 3875905 by Matt.Hoffman Disable Fade Track UI if a fade track already exists in the sequence. #jira UESEQ-393 Change 3876163 by Max.Chen Sequencer: Swap the camera object to the camera component's owner if it's not the same. #jira UE-54874 Change 3876971 by Andrew.Porter EngineTest: Moved Media Player Seek test to new folder. Also enabled the test with new ground truth image. Change 3877040 by Max.Chen Cine Camera: Split camera properties to two groups, "Camera Options" and "Camera Settings". The cine camera now hides properties in the "Camera Settings" group so that properties like bConstrainAspectRatio (in the "Camera Options" group) can be visible. #jira UE-54192 Change 3877763 by Max.Chen Curve Editor: Fix curve changed on end drag so that only curves that had keys/tangents that were changed receive notification, otherwise all loaded curves were getting notified that they were changed. #jira UE-54951 Change 3878234 by Matt.Hoffman Disable "Drop Below" targets for Sequencer Tree nodes to prevent a confusing UX issue where dropping underneath a Object Binding Node puts it after the object binding node but the UI looks like it's inserting it inside the Object Binding node. #jira UE-54743 Change 3879359 by Mike.Zyracki If a track is inactive we dim it a bit which seems to be the UE4 way to show inactive or disabled state. We changed the active logic so that all subtracks need to be inactive for the track to also be inactive(instead of all active for active). This conforms to how the active state actually works, e.g if you have two sections and only one is active the track is still active above it. #jira UESEQ-388 Change 3879462 by Max.Chen Sequencer: Allow dragging onto a particular row which would move out any overlapping sections to make space for the newly created section. Newly created sections are now selected and throbbed to draw attention to themselves. #jira UE-54664 Change 3879464 by Max.Chen Sequencer: Fixed overlapping ranges being inserted into the evaluation field during compilation - The issue was that track segments that had been combined with adjacent segments (due to them being identical) would potentially cause a subsequently compiled frame to overlap with a range that had already been inserted into the evaluation field. - The insertion code previously asserted that only minor overlaps were catered for (due to fp rounding errors) and assumed that a supplied range could not entirely contain any other range in the field. - The solution is to supply the insertion time along with the range to know exactly where the data should live in the field, and crop the range to the maximum allowable space between adjacent ranges. #jira UE-54922 Change 3879590 by Matt.Hoffman Items that are now added to the Sequencer via the "+Track" menu will be selected after being added. Items can now be added inside of folders instead of just to the root level. #jira UE-27397 Change 3879612 by Mike.Zyracki Display Nodes with no children are always active. #jira UESEQ-388 Change 3879730 by Matt.Hoffman Sequence Recorder's actor recording groups now remove items from the group when removed via the UI. #jira UESEQ-339 Change 3880256 by Mike.Zyracki Fix issue with inactive display with folders and other track nodes. #jira UESEQ-388 Change 3883491 by Max.Chen Fix issue where tick is skipped due to last ticked pose isn't cleared after AnimInstance changes. Copy from Release-4.19 #jira UE-51323 Change 3883603 by Max.Chen Movie Scene Capture: Add option toggle disable screen percentage. By default this is on (no change in current behavior). #jira UE-51898 Change 3885074 by Max.Preussner MediaCompositing: Resetting media texture & freeing resource on section end; removed dead code Change 3887220 by Max.Preussner MediaCompositing: Defaulted media section duration to 1 sec (since we do not know the actual duration in most cases) Change 3887478 by Matt.Hoffman Sequences now show [Inactive] in their title bars when they're disabled. This helps communicate why a sequence isn't being evaluated. #jira UE-51469 Change 3888985 by Max.Chen Movie Scene Capture: Clamp HDR Compression Quality between 0 and 1. #jira UE-55136 Change 3893519 by Max.Chen Sequence Recorder: Clarified tooltip for bRecordNearbySpawnedActors - spawned actors will still be recorded if they match the ActorFilter. #jira UE-55238 Change 3893546 by Max.Chen Sequence Recorder: If a selected actor already has a recording, add a blank recording. #jira UE-55239 Change 3894044 by Max.Preussner MediaCompositing: Added support for seeking into a media section Change 3894310 by andrew.porter MediaFrameworkTest: Adding Img media sources for 1080 and 2160 ravent test content Change 3894426 by Max.Preussner MediaAssets: Letting media textures with AutoClear retain their clear color when player is reset Change 3895717 by Max.Chen Sequencer: Null checks to prevent crash when saving the default state of a spawnable #jira UE-55304 Change 3897388 by Max.Chen Sequencer: Don't update current time to be within the view range when stepping into a sequence. #jira UE-55322 Change 3897452 by Max.Chen Audio: Fix crash when trying to record audio without any active capture devices. Log warning if the number of input channels is not 1 or 2. #jira UE-55223 Change 3897619 by Max.Preussner MediaCompositing: Removed commented out code Change 3898072 by Max.Chen Sequencer: Override the animation asset in the player state if it doesn't match the animation asset that's being evaluated. #jira UE-55328 Change 3898272 by Max.Preussner MediaPlayerEditor: Made slate brush constants static Change 3898704 by Max.Chen Sequencer: Skip if the binding id's sequence can't be found. #jira UE-55337 Change 3899855 by Max.Preussner MediaCompositingEditor: Added cache state visualization to media track Change 3900300 by Max.Preussner MediaCompositingEditor: Added loop indicators to media sections Change 3900694 by Max.Preussner ImfMedia: Looping cache only when player is looping Change 3900892 by Max.Preussner Stats: Added stats category for media framework Change 3900954 by Max.Preussner MediaCompositing: Don't evaluate at the end of media section Change 3901348 by Max.Preussner Core: Replaced TLruCache autos for better readability Change 3901655 by Max.Preussner ImgMedia: Added more perf stats to EXR reader Change 3901972 by Max.Preussner MediaAssets: Added getter for media player in media sound components Change 3902233 by Max.Preussner MediaAssets: Enabling media textures to receive samples right after player is assigned Change 3902238 by Max.Preussner MediaCompositing: Working around init/shutdown idiosyncracies in sequencer Change 3904045 by Max.Chen Sequencer: Fix copy/paste crash. Only process UMovieSceneCopyableBinding and objects that can be spawned by the movie scene spawn register. #jira UE-55314 Change 3905605 by Max.Chen Sequencer: Restrict spawnables from being created if they have a ClassWithin that UMovieScene is not a child of. #jira UE-55429 Change 3906550 by Max.Chen Sequencer: Add media track icon #jira UE-55480 Change 3907101 by Max.Chen Sequence Recorder: Fix bugs related to not recording a level sequence. There were certain assumptions that creating a level sequence meant that sequence recording was in progress. This is not always the case - the recorders can record animation assets and not create a level sequence. Changed the notion of IsRecording() to having at least one actor recording that is recording. Countdown timer, recording displays, etc should function if IsRecording() and not based on whether a level sequence is created. #jira UE-55485 Change 3907247 by Max.Chen Sequence Recorder: Fix crash not removing PrepareToCleanseEditorObject delegate. Repros when opening sequence recorder, closing it, and then opening or creating a level. Change 3910343 by Max.Preussner Core: Added async helper for executing functions on a given thread pool Change 3910346 by Max.Preussner ImgMedia: Added separate thread pools for loading/decoding and deleting image frames Change 3910829 by Max.Preussner Profiler: Increased visible range of profiler graph Change 3910841 by Max.Preussner MediaCompositing: Displaying asset name instead of full media source path in media section Change 3910870 by Max.Preussner ImgMedia: Using deallocation thread pool only in debug builds Change 3919642 by Max.Chen Sequence Recorder: Clarify active tooltip #jira UE-55661 Change 3919660 by Max.Chen Sequencer: Sequence template source signatures are now also compared to catch the case where a sub-sequence asset has been saved but not modified - The following sequence of events exposes this issue: - Create a master sequence with a single shot that spawns a cube - Add this sequence to a level and set it to auto-play - Save everything and restart - Resave just the inner shot asset without opening it - PIE - The inner shot never spawns its cube because its template was wiped on save, but its signature never changed. Since the master sequence previously didn't check the template source signature, it ends up trying to evaluate an empty template. #jira UE-55626 #jira UE-55490 Change 3921825 by Max.Chen Sequencer: "Run Construction Script in Sequencer" is off by default for blueprints but on for Sequencer. This allows the content author to switch it on for specific blueprints and sequencer will be default, run those with construction scripts enabled. Change 3922232 by Max.Chen Sequence Recorder: Reset countdelay on stop. #jira UE-55755 Change 3922306 by Max.Chen Sequence Recorder: Don't automatically mark transforms to be recorded by sequence recorder. Instead, log a warning if the user toggled it off to warn that the resulting animation might not match gameplay. #jira UE-55758 Change 3922912 by Max.Chen Sequence Recorder: Fix refresh next sequence name #jira UE-55757 Change 3927654 by Max.Chen Movie Scene Capture: Added format mapping for the name of the current camera #jira UE-55769 PR #4537 Change 3927658 by Max.Chen Sequencer: Added fbx property mapping for "FocusDistance" to "FocusSettings.ManualFocusDistance" #jira UE-55782 Change 3932022 by Max.Chen Sequencer: Add import animation track section to next available row index. #jira UE-55892 Change 3933919 by Max.Chen Sequencer: Jump to playback start frame and not 0 to start playback for recording. #jira UE-55933 Change 3934307 by Andrew.Rodham Sequencer: Add template signature that is re-generated every time the base template is regenerated, which invalidates evaluation fields This fixes an issue where the same sequence is instantiated multiple times in a sequence. If the source sequence was saved, its template would be wiped, which would invalidate the template ID When an instance tries to evaluate the master template, it would only invalidate a range in the evaluation field that was the hull of any invalid sub sequences overlapping the current time, potentially leaving invalid data in the evaluation field at positions later (or earlier) on in the sequence When the sub template was re-generated, it receives the same SequenceSignature as it had before (because the sequence hasn't actually changed), which causes the stale evaluation field data to fail the IsDirty check (because the sequence is the same as it thought, but the *template* has changed) This has been addressed be adding a signature to templates themselves, and checking both the template signature and sequence signature as a part of the IsDirty check. This ensures that we regenerate if either the template, or the sequence have changed. #jira UE-55934 Change 3936327 by Andrew.Rodham Sequencer: Removed increment when trimming right UMovieSceneSection::TrimSection already explicity assigns an exclusive bound to the time passed in. The new behavior means we can trim a section to the right, and insert another section without changing the time to create adjacent sections. #jira UE-42652 Change 3936328 by Andrew.Rodham Fixed KeyFrameManipulator assignment operators and copy/move constructors - These types are potentially self-referential so cannot use default constructors/assignment Change 3936330 by Andrew.Rodham Converted UMGSequencePlayer to use frames internally #jira UE-54878 Change 3936726 by Max.Chen Sequencer: Set track node as the parent of the key area node. The key area switcher needs the object binding id from the parent object binding node. Without this, the binding to the external value fails. #jira UE-55931 Change 3936775 by Max.Chen Sequencer: Should stop or loop should compare DurationFrames with Current Time from StartTime. The bug is that if you set 30 warmup frames in movie rendering for a range of 0-100, the FrameRange will be starting at -30 and have a duration of 130. Without this fix, the playback will continue until frame 130, rather than 100. #jira UE-55933 Change 3936935 by Matt.Hoffman Easing Curves are now represented in Play Rate resolution instead of internal resolution. #jira UE-55937 Change 3937069 by Matt.Hoffman Users can toggle if the is infinite on each side, limited by which tracks support infinite ranges. #jira UE-55891 Change 3937516 by Max.Preussner ImgMedia: Added support for single-threaded platforms #jira UE-55986 Change 3937826 by Max.Preussner MediaAssets: Disabling media sound components on HTML5 if AudioMixer is not enabled Change 3937997 by Max.Chen Curve Editor: Add Zoom to Fit Curves so that selected curves from Sequencer can be focused on. Tested that undo doesn't re-zoom. #jira UE-55935 Change 3938000 by Max.Chen Sequencer: Stop all sounds before generating audio waveforms. #jira UE-55951 Change 3938376 by Max.Preussner XGEController: Disabled XGE Controller in single-threaded apps to prevent crash Change 3938444 by Max.Preussner Core: Added async support for single-threaded applications Change 3938445 by Max.Preussner Networking: Added support for single-threaded applications in UDP socket sender/receiver Change 3938447 by Max.Preussner Messaging: Added support for single-threaded applications Change 3939432 by Max.Chen Sequence Recorder: Append command list to global level editor actions so that shortcuts are accessible in level editor. #jira UE-55798 Change 3940229 by Andrew.Rodham Added prospective display rate upgrade to UMovieScene::PostLoad - There was previously some very odd behaviour that would assign the fixed frame interval only when a sub sequence was focused in SSequencer. This meant that many sequences could have a frame interval of 0 set in the data. - Under the old method of snap interval display this would have fallen back to getting the display interval from the sequencer settings, but we no longer look at these. - The USequencerSettings properties have been removed and in their place, a prospective data upgrade for sequences that have a fixed frame interval old 0fps that sets the play rate to the previous defaults based off the old USequencerSettings defaults. - This could end up 'changing' the display rate for sequences where the user has changed the snap interval in the settings for a particular sequence editor, but there's not much we can do about that given we don't have access to the USequencerSettings classes in UMovieScene #jira UE-55919 Change 3940277 by Andrew.Rodham Sequencer: Added ability to default frame resolutions and play rates for newly created actor sequences Change 3940378 by Andrew.Rodham Sequencer: Post move import dialog now defaults to the playback framerate of the sequence, and floors to frame numbers Change 3940559 by Andrew.Rodham Reinstated primed or recording sequence color Change 3940642 by Max.Preussner ImagePlate: Removed image plate media playback functionality Change 3940843 by Max.Preussner Core: Made TCircularQueue actually thread-safe; improved code comments Change 3940860 by Max.Chen Sequencer: Changed StructNameToKey to StructPathToKey Previously, keying a PropertyPath of [RenderTransform][Shear][X] would get trimmed to X, which doesn't map to a channel name as considered by Sequencer2dTransformTrackEditor. Instead, trim the resulting property path to [Shear][X] so that track editors can determine the desired struct path and channels to key. #jira UE-52966 Change 3941292 by Mike.Zyracki Fix for trajectories out of range not showing up. 1) If we had no key data we would pop the time, so wouldn't get the section ranges. 2) Calculating of upper bound was wrong, checking against -1 and not key == num of keys when doing algo::lower_bound. 3) No need to do the Bck-- for the bakward iterators since we fixed #2. We start now from the upper bound correctly. 4) If we had no keys (at section start,end) we would incorrectly say we were any key type, so since we draw constant keys as dashed we would do so incorrectly around section end points. #jira UE-55929 Change 3941424 by Max.Chen Curve Editor: Change Zoom to Fit to use TArrayView Change 3941498 by Max.Preussner Core: Added FMath::DivideAndRoundNearest function Change 3942097 by Matt.Hoffman Drop Frame Timecode Support for NTSC rates. Change 3942104 by Matt.Hoffman Sequence Recorder Group is no longer visible inside the World Outliner after using one. #jira 55266 Change 3942107 by Max.Chen Sequencer: Resurrect logic to find or extend an existing section when adding keys. Change 3942330 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942339 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942507 by Andrew.Rodham Sequencer: We no longer pad the time overlap threshold with a small number that is not scaled by the current zoom level - The presence of this pad was causing keys that were far apart to be grouped when zoomed in a long way Change 3942509 by Andrew.Rodham Sequencer: Only pad total view range, rather than section range as well when retrieving keys to render - This stops us from rendering keys that are within the view range, but outside the section range Change 3942512 by Andrew.Rodham Added transactions to some sequencer details customizations Change 3942513 by Andrew.Rodham Sequencer: Reinstated validation checks to UMovieSceneSection::SetStartFrame and SetEndFrame, changed erroneous uses to use SetRange Change 3942560 by Andrew.Rodham Pass by rvalue reference to appease error C2719 on Win32 ('InChannels': formal parameter with requested alignment of 8 won't be aligned) Change 3942697 by Andrew.Rodham Newly Created Level Sequences and Actor Sequences now default to 24000 fps frame resolution (+/- ~24hrs range, supporting all integer rates + 23.976) Change 3942700 by Andrew.Rodham Sequencer: Added legacy out-of-bounds errors for times that are not supported by the current legacy upgrade frame resolution Change 3942989 by Max.Preussner Core: Fixed circular queue count calculation Change 3943538 by Max.Preussner MediaAssets: Reverted workaround for procedural audio log spam in HTML5 (Actor component initialization cannot be skipped if the component is used in a level) Change 3944071 by Max.Preussner QAGame: Fixed Media Texture keeps last frame of Media when PIE ends #jira UE-53360 Change 3944292 by Max.Chen Sequencer: Added extra flags to ensure that asset initialization does not occur on template actor sequences #jira UE-56113 Change 3944364 by Max.Chen Sequencer: Prevent circular shot/master tracks. Tested adding master -> child -> master as drag and drop cinematic shot tracks and sub tracks as well as through the + button. #jira UE-56091 Change 3944422 by Max.Chen Sequence Recorder: Disable transform recording if off. #jira UE-56061 Change 3944745 by Andrew.Rodham Sequencer: Key rendering fixes - Fixed assert that occured when keys happened to reside on some times due to KeyTime + TimeOverlapThreshold - KeyTime being slightly larger TimeOverlapThreshold - Fixed keys sometimes being clipped when zoomed right in due to lack of half-frame offset - Added missing documentation to MovieSceneTimeHelpers.h #jira UE-56107 Change 3945231 by Andrew.Rodham Sequencer: Reconstruct channel proxy on Serialize to catch all cases of undo/redo, PostLoad and duplication #jira UE-56089 Change 3945301 by Andrew.Rodham Sequencer: Added safety checks during initial sequence recording to guard against applying negative or 0-sized sequence ranges #jira UE-56125 Change 3946627 by Max.Preussner Fortnite: Fixed game crashes closing editor while in PIE - Pure virtual function being called #jira UE-56144 [CL 3946896 by Max Chen in Main branch]
2018-03-14 22:09:33 -04:00
FExecuteAction::CreateLambda([=]{ SetPlaybackRangeEnd(FrameNumber); }),
FCanExecuteAction::CreateLambda([=]{ return !TimeSliderArgs.IsPlaybackRangeLocked.Get() && FrameNumber >= UE::MovieScene::DiscreteInclusiveLower(PlaybackRange); })
Copying //UE4/Dev-Sequencer to Dev-Main (//UE4/Dev-Main) #lockdown nick.penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2719576 on 2015/10/07 by Chris.Wood Added check for stale BP classes in FKismetCompilerUtilities::IsTypeCompatibleWithProperty() to stop compiler errors during reinstancing. [UE-19795] - UMG Compiler error when adding variable to nested Widget Change 2721474 on 2015/10/08 by Andrew.Rodham Sequencer: Movie render operations now successfully capture UMG UI Change 2724958 on 2015/10/12 by Chris.Wood Added missing resource cleanup code to UMG widgets [UE-21874] - UWIdget classes with missing ReleaseSlateResources() overrides Added ReleaseSlateResources() to ListView, TileView and Slider widgets to reset shared pointers to slate widgets. Change 2733562 on 2015/10/19 by Andrew.Rodham Sequencer: Fixed spawnables not working in sub-sequences - The issue here was that sequence track instance updates had no knowledge of which sub-sequence they were being evaluated within. We now pass the active sequence instance into the relevant track instance functions. - Also addressed some issues to do with save/restore state not getting called correctly on master tracks of sequence instances - Tidied up spawn track editor Change 2735264 on 2015/10/20 by Chris.Wood Improved Engine analytics handling for Editor and games [UE-21892] - Improve how Engine analytics are handled for Editor and games Changes: Added Privacy section to Editor settings Exposed editor analytics flag in Privacy options Added Details Customization to make this type of bool property clearer with extra info and hyperlink Changed AreEditorAnalyticsEnable() to use new flag Prevented analytics init when disabled by user Sending event and shutting down analytics when user opts out Add in-game project setting for anonymous game usage data Renamed and moved bHardwareSurveyEnabled Added message about exposing in-game setting to end users Added anonymous GUID id for in-game analytics Moved end user settings to global config (defaultengine.ini) Placeholder loc text on new options for now, pending legal wording sign-off Change 2735866 on 2015/10/20 by Max.Preussner Async: Added ability to register an optional callback function that is executed when a Future completes Change 2739793 on 2015/10/23 by Andrew.Rodham Sequencer: Refined movie scene capturing to ensure frame accuracies are maintained - Aborting an in-progress capture now gracefully terminates the process (through a remote session command) to ensure it still creates a valid video - Level sequece movie capture will now pick up a corresponding level sequence in the world, and use that to capture with. A new actor will be spawned at runtime with the correct asset, should one not already exist. - Made -nomovie actually work - Refined how active movie captures are managed - Added option to 'stage' a sequence before starting the capture. This feature will set the sequence on its first frame for the preroll, to ensure that PPP effects are allowed time to stabilize Change 2744402 on 2015/10/28 by Max.Preussner Sequencer: Separated track display names from track identifier names; code cleanup Change 2745953 on 2015/10/29 by Max.Chen Sequencer: Attach to socket. Relative attachments. #jira UETOOL-463 Change 2747028 on 2015/10/29 by Max.Preussner Sequencer: Another overhaul of track display name handling; code and documentation cleanup pass. Change 2758888 on 2015/11/09 by Chris.Wood Integrating changes - 4.10 to Dev-Sequencer From 4.10 branch fixes: Added check for debugger present when reporting abnormal termination to analytics. [UE-22844] CL 2750764 Added FSystemWideCriticalSection for desktop platforms. Used by analytics to lock access to editor instances list in the OS. [UE-22844] CL 2753661 Updating wording in privacy settings text. [UE-21892] CL 2753709 Mac and Linux CIS fix [UE-22844] CL 2755381 Change 2761287 on 2015/11/10 by Max.Chen Sequencer: Add null check when updating the UMG preview if the sequencer doesn't exist/has been closed. #jira UE-5206 Change 2764945 on 2015/11/12 by Max.Preussner Core: Templatized TypeContainer implementation to allow for thread-safe objects; updated unit test Also fixes UE-13850 Change 2765036 on 2015/11/12 by Max.Preussner UdpMessaging: Fixed message serialization unit test (UE-22571) #jira: UE-22571 Change 2766149 on 2015/11/13 by Max.Preussner Media: Implemented event that gets triggered when playback reached the end of media Also fixes looping. Change 2768157 on 2015/11/16 by Max.Preussner Media: Added .m4a to supported WMF file extensions Change 2769200 on 2015/11/16 by Max.Chen Editor: Add broadcast messages when snapping objects. #jira UE-22680 Change 2773066 on 2015/11/19 by Chris.Wood Upload crashes from CRC to Data Router [UECORE-249] - Integrate Crash Report Client with the Data Router Upload to Receiver still active as we are running both in parallel for now.
2015-12-11 13:52:32 -05:00
)
);
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3237992) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3136778 on 2016/09/22 by Max.Preussner Merged Dev-Main to Dev-Sequencer Change 3179199 on 2016/10/29 by Max.Chen Sequencer: Fade only oin the current player context, not on all worlds. Copy from Release-4.14. Copied fix to FadeTrackInstance to FadeTemplate. #jira UE-37939 Change 3179340 on 2016/10/29 by Max.Preussner PS4Media: Fixed audio track dropping first frame Change 3180391 on 2016/10/31 by Max.Preussner UdpMessaging: nulling out message processor in destructor Change 3180459 on 2016/10/31 by Max.Chen Sequencer: Fix copy/paste crash in UMG. Change 3180607 on 2016/10/31 by Andrew.Rodham UMG: Fixed parent bindings not being adhered to correctly. Fixed slot widgets that get recreated not having their object bindings updated. #jira UE-38021 #jira UE-38018 Change 3181405 on 2016/11/01 by Lina.Halper #ANIM/SEQUCNER: sequencer animation blending support including additive - created multiway blend node - extension of two way blend - created anim sequencer instance to be used in sequencer for blending multiple animations and additives - hooked up to sequencer track players - renamed AnimationNode_TwoWay to AnimNode_TwoWay to be consistent with other node names. - Make sure you can't choose montage when selecting animation in Sequencer - Fixed Anim BP playing with multi group montages #code review: Max.Chen Change 3181870 on 2016/11/01 by Andrew.Rodham Sequencer: Made sequence pointers stored in sequence template instances weak object ptrs - We can't guarantee the lifetime of the objects here #jira UE-38051 Change 3182851 on 2016/11/02 by Andrew.Rodham Sequencer: Assert that a GetScriptStructImpl has been overridden correctly on templates Change 3182852 on 2016/11/02 by Andrew.Rodham Sequencer: Added 'Restore Animated State' command (CTRL+R) and button to sequencer toolbar Change 3183161 on 2016/11/02 by Max.Preussner Media: Added supported file extensions & URL schemes Change 3183476 on 2016/11/02 by Max.Preussner Merged Dev-Main to Dev-Sequencer Change 3185181 on 2016/11/03 by Max.Chen Sequencer: Refactor general options button menu into play options and select options. Add Select Sections in Selection Range and Select All in Selection Range. Fix issues with convert to spawanble and convert to possessable. Convert to possessable now deletes the spawn track so that it's not left lying around, which when deleted would end up deleting the converted possessable actor. #jira UE-37854 Change 3185184 on 2016/11/03 by Max.Chen Sequencer: Add hotkey to toggle camera cut track lock/unlock camera. Change 3185409 on 2016/11/03 by Max.Chen Sequencer: Fix crash in skeletal mesh section drawing. #jira UE-38090 Change 3185444 on 2016/11/03 by Max.Chen UMG: Expose label browser for UMG Change 3185662 on 2016/11/03 by Max.Chen Sequencer: Paste track fixes. - Loosen restrictions on paste track destination. This allows the paste to operate on spawnables and on properties that don't have an explicit Set function. - Allow pasting onto all types of tracks, not just property tracks. - Fix when pasting the copied tracks onto multiple objects. Tested pasting transform tracks from possessable to spawnables. Tested pasting skeletal animation tracks from spawnable to possessables. #jira UETOOL-1206 Change 3185920 on 2016/11/03 by Andrew.Porter Adding test content for multiple audio video tracks. Change 3186404 on 2016/11/03 by Max.Preussner Merged Dev-Main to Dev-Sequencer Change 3187957 on 2016/11/04 by Max.Preussner MediaAssets: Exposed CanPlaySource in BP Change 3187988 on 2016/11/05 by Max.Preussner Fixed documentation Change 3188035 on 2016/11/05 by Max.Chen Sequencer: Show camera name in cinematic viewport. #jira UE-28115 Change 3188603 on 2016/11/07 by Max.Preussner WmfMedia: Added missing nullptr check Change 3188788 on 2016/11/07 by Max.Preussner MediaPlayerEditor: Removed property buttons from PlatformMediaSource customization (UE-37948) #jira UE-37948 Change 3188808 on 2016/11/07 by Max.Preussner MediaAssets: Moved media player implementation into reusable class Also moved overlay text handling into separate asset. Change 3188919 on 2016/11/07 by Max.Preussner Media: Changed the handling of invalid media and media that failed to open (UE-38014) #jira UE-38014 Change 3189112 on 2016/11/07 by Max.Preussner WmfMedia: Added rudimentary H.265 HEVC support for Windows 10 (UE-38324) #jira UE-38324 Change 3189376 on 2016/11/07 by Max.Preussner WmfMedia: Removed Windows specific code from factory module Change 3189381 on 2016/11/07 by Max.Preussner Atrac9Audio: Fixed log category Change 3189497 on 2016/11/07 by Max.Preussner Media: Added binary sinks support Change 3189666 on 2016/11/07 by Max.Chen Curve Editor: Add option to show time in frame numbers #jira UE-27210 Change 3190339 on 2016/11/08 by Max.Preussner MediaAssets: Removed SetDesiredPlayerName since the field is public Change 3190342 on 2016/11/08 by Andrew.Porter Adding sequencer test content for animation blueprint Change 3190398 on 2016/11/08 by Max.Preussner Media: Renamed binary tracks to metadata tracks Change 3190458 on 2016/11/08 by andrew.porter Updating Skeleton with new slots. Change 3191167 on 2016/11/08 by Max.Chen Sequencer: Fix crash in validating paste tracks buffer. Validate the tracks instead of actually pasting into temp. #jira UE-38353 Change 3191336 on 2016/11/09 by Andrew.Rodham Slate: Added the ability to set and retrieve a host tab manager from a details view Change 3191338 on 2016/11/09 by Andrew.Rodham Editor: Added the ability to extend default layouts - FLayoutExtender can be used to provide basic tab layout extensions on default themes. - This can be used by external plugins to inject tabs to other interfaces where necessary. - Currently this is supported by the blueprint editor's unified component layout, and the level editor layout. Change 3191346 on 2016/11/09 by Andrew.Rodham Sequencer: Added new (experimental) ActorSequence module and editor - Sequences can now be added to actors via the UActorSequenceComponent. - An embedded sequencer will appear on details panels, with the option to break it out into a tab. - Separated common playback elements from ULevelSequencePlayer into UMovieSceneSequencePlayer, from which specific players can derive. - The majority of level editorintegration with sequencer has been separated out into a separate singleton class that can manage multiple sequencers. - All movie scene data now defaults to instanced, such that it can be duplicated and instanced correctly. - Added read-only mode for sequencer which is used for actor sequence components that come from a blueprint archetype to prevent erroneous editing. Change 3191387 on 2016/11/09 by Andrew.Rodham Orion: Fixed deprecation warnings Change 3191388 on 2016/11/09 by Andrew.Rodham Orion: Added dependency on MovieScene module Change 3191403 on 2016/11/09 by Andrew.Rodham Sequencer: Fix initialization order warning Change 3191428 on 2016/11/09 by Andrew.Rodham Sequencer: Added missing include Change 3191510 on 2016/11/09 by Andrew.Rodham Header include fixes Change 3191599 on 2016/11/09 by Max.Chen Sequencer: Add option to lock the playback range per movie scene. The toggle is stored as editor only and should be a saved value so that it can persist as the asset is passed from user to user. #jira UE-34677 Change 3191664 on 2016/11/09 by Andrew.Rodham Sequencer: Ensure keyframe handlers are only added once Change 3192373 on 2016/11/09 by Max.Preussner MediaAssets: Fixed regression: playlists no longer open Change 3192408 on 2016/11/09 by Max.Preussner MediaAssets: Fixed OpenPlaylistIndex crashing Change 3192878 on 2016/11/09 by Max.Chen Camera Rig: Fix log spam trying to unregister component. #jira UE-38435 Change 3192989 on 2016/11/10 by Andrew.Rodham Slate: Added constructor to appease old VS2013 compiler warning about non-constructible type Change 3192991 on 2016/11/10 by Andrew.Rodham Sequencer: Moved lambda out-of-line to fix static analysis warning Change 3193420 on 2016/11/10 by Max.Preussner MediaAssets: Replaced CopyToResolveTarget with new TransitionTarget API Change 3193478 on 2016/11/10 by Max.Chen Sequencer: Moved Fix Actor References back under the General Options menu. Change 3193870 on 2016/11/10 by Max.Preussner MediaPlayerEditor: Removed additional buttons in per-platform overrides (UE-37948) #jira UE-37948 Change 3193873 on 2016/11/10 by Lina.Halper - Sequencer fix with anim instance reinit - Fixed TMap issue with memory by changing to pointer from ref. #code review: Max.Chen Change 3194184 on 2016/11/10 by Max.Chen Sequencer: Only expand section when setting keys when there are keys. Otherwise if you set the default value while the time position is outside of the section range, the section will expand, which seems undesirable. Change 3194187 on 2016/11/10 by Max.Chen Sequencer: Backwards compatibility if a track no longer supports multiple rows, its sections are split to other duplicate tracks. Change 3194191 on 2016/11/10 by Max.Chen Sequencer: Add audio volume and pitch curves. #jira UE-30009 Change 3194256 on 2016/11/10 by Max.Chen Merging //UE4/Dev-Main to Dev-Sequencer (//UE4/Dev-Sequencer) Change 3194282 on 2016/11/10 by Max.Chen Movie Capture: Add some frame rate bounds. Max frame rate for recording is 200. Min is 1. #jira UE-38502 Change 3194355 on 2016/11/11 by Max.Chen Sequencer: Minimum handle size for time slider scrubber. #jira UE-34676 Change 3194767 on 2016/11/11 by Max.Chen Sequencer: Mark duplicated tracks as changed so that their template gets regenerated. Change 3195094 on 2016/11/11 by Max.Preussner Media: Removing game thread dependencies This change removes game thread dependencies from all media players so that we can use the media framework for startup movies where the game thread is block while loading the Engine. The players now have two new methods, TickPlayer and TickVideo, which need to be called from the external code that owns the players. On the Engine side, this is taken care of by UMediaPlayer, which calls TickPlayer from the game thread and TickVideo from the render thread. In startup movies, this will be taken care of by a special thread. AvfMedia: This change does not fully remove game thread dependencies in AvfMediaPlayer yet. There are some async callbacks scheduled to execute on the game thread that need to be refactored. The execution of these events should be performed in TickPlayer instead. All platform owners, please review these changes for your platform and make sure that everything still works. I have not had time to test all platforms yet. Change 3195396 on 2016/11/11 by Max.Preussner AvfMedia: Removed remaining game thread dependencies Change 3195670 on 2016/11/11 by Max.Preussner MediaUtils: Renamed function Change 3195690 on 2016/11/11 by Max.Preussner MediaAssets: MediaPlayerBase instance is now a field instead of pointer. Change 3195802 on 2016/11/11 by Max.Preussner Media: Removed UMediaPlayer::GetNativePlayer Change 3195843 on 2016/11/11 by Max.Preussner Kismet: Fixed non-unity Change 3195851 on 2016/11/11 by Max.Preussner Fixed typo. Change 3195854 on 2016/11/11 by Max.Preussner MediaUtils: Added missing forward declaration Change 3195937 on 2016/11/11 by Max.Chen Media: CIS Fix Change 3196120 on 2016/11/13 by Max.Chen Sequencer: Weight curve for skeletal animation section. Changed skeletal template evaluation so that it works with multiple animation tracks. The shared track clears all the weights, the section gathers up all the data, and the shared track evaluates the data. Otherwise, the multiple track evaluations would conflict with each other in setting states back and forth. #jira UE-38374, UEFW-128 Change 3196265 on 2016/11/13 by Max.Chen Sequencer: Fix audio waveforms so that they're regenrated when audio start time is changed. #jira UE-38543 Change 3196421 on 2016/11/14 by Andrew.Rodham Sequencer: Fixed modified tracks not being written to the transaction buffer when replacing object bindings #jira UE-38423 Change 3197131 on 2016/11/14 by Max.Chen Sequencer: Null checks. #jira UE-38570, UE-38593 Change 3197209 on 2016/11/14 by Max.Chen Cine Camera: Reset focus smoothing interpolation on PostEditChangeProperty. This fixes an issue where if you enable focus smoothing, the manual focus distance that is input isn't used since the interpolation happens from the last current focus distance. #jira UE-27055 Change 3198691 on 2016/11/15 by Max.Chen Sequence Recorder: Optimize record transforms by setting all the keyframes at once. Also, added option to toggle removing redundant keyframes from the recorded tracks. #jira UE-38489 Change 3198711 on 2016/11/15 by andrew.porter Adding test content for MEdia Framework Track Switching. Change 3199174 on 2016/11/15 by Lina.Halper Sequencer backward compatibility fix with root motion Make sure you could remove root motion fine #jira : UE-38591 Change 3199260 on 2016/11/15 by tim.gautier Updated QA-Media_TrackSwitch - changed Trigger Collision to only detect overlap from PlayerPawn Change 3199663 on 2016/11/15 by Max.Chen Anim Sequencer: Fix deprecation warning for bCanUseParallelUpdateAnimation. Updated to use bUseMultiThreadedAnimationUpdate. Change 3199727 on 2016/11/15 by Max.Chen Matinee to Level Sequence: Set default scale when converting matinee move tracks to sequencer. #jira UE-38688 Change 3199847 on 2016/11/16 by Max.Chen Sequencer: Add menu option to reduce keys of all sections in the current level sequence Change 3200351 on 2016/11/16 by Max.Chen Level Editor/Sequencer: Fixes to allow for component keyframing. The transform track operates on the components that changed, not the actor. The level editor viewport broadcasts begin/end movement on the components that changed. #jira UE-38649, UE-38646 Change 3200474 on 2016/11/16 by Max.Chen Sequencer: Move reduce keys to section context menu. Change 3200888 on 2016/11/16 by Max.Chen Sequencer: Clamp skeletal animation evaluation remapping of time to section bounds. This is necessary when evaluating nearest is enabled and the time is beyond the section bounds. Also, set the shared track template to have higher priority so that it always clears/initializes weights before each section's template adds section params for evaluation. Change 3201633 on 2016/11/17 by Max.Chen Matinee to Level Sequence: Fix matinee 3d scale track conversion to level sequence. Also, added paste matinee vector track to sequencer's vector track. #jira UE-38688 Change 3202458 on 2016/11/17 by Max.Chen Sequencer: Fix track editor commands getting unregistered when switching from one level sequence to another. The sequence of events is: track editor commands get bound when a level sequence is edited. When switching to another level sequence, the existing track editor is released after the new one is registered, causing the commands to ultimately get unbound. #jira UE-38693 Change 3202606 on 2016/11/17 by Max.Chen Actor Sequence: Null check in CanPossessObject for a component's owner. #jira UE-38514 Change 3203522 on 2016/11/17 by Max.Chen Sequencer: Audio start time deprecated in favor of start offset which is an offset into the audio clip. Also, limit the start offset to positive values since you can just crop into the audio clip by dragging the section's start time. Audio track no longer supports multiple rows (should have been checked in along with the audio volume and pitch multiplier curves). #jira UE-38549, UE-38554, UE-38547 Change 3203863 on 2016/11/18 by Andrew.Rodham Engine: Ensure that world settings actor is considered by network object list when sorting the actor list for a level Change 3203865 on 2016/11/18 by Andrew.Rodham Sequencer: Fixed play rate track interaction between servers and clients - The logic for evaluation was previously flawed (it would only run in editor builds). Play rate is now only evaluated on servers and standalone clients, with the time dilation being replicated to network clients. Change 3203900 on 2016/11/18 by Andrew.Rodham Sequencer: Changed CreateLevelSequencePlayer to create a transient level sequence actor #jira UE-37277 Change 3205038 on 2016/11/18 by Max.Preussner Slate: Corrected comment Change 3205046 on 2016/11/18 by Max.Preussner WmfMedia: Added missing nullptr check #jira UE-38825 Change 3205073 on 2016/11/18 by Max.Chen Sequencer: Fix audio upgrade case when start time is 0. Change 3205277 on 2016/11/19 by Max.Preussner Merging //UE4/Dev-Main to Dev-Sequencer (//UE4/Dev-Sequencer) Please take a look at SequencerEdMode.cpp and Sequencer.cpp. I ended up accepting latest Dev-Sequencer, which seemed to be the right thing to do. Change 3205465 on 2016/11/20 by Max.Preussner MovieScene: Fixed non-unity build Change 3205467 on 2016/11/20 by Max.Preussner Engine: Fixed spelling Change 3206264 on 2016/11/21 by Max.Preussner Kismet: Added missing forward declaration Change 3206493 on 2016/11/21 by Max.Preussner PS4Media: Added remaining changes for removing game thread dependencies Change 3206512 on 2016/11/21 by Andrew.Porter Adding test content to QAGame for Sequencer animation weight blending. Change 3206529 on 2016/11/21 by Lina.Halper Fixed anim notifes to work in Sequencer Instance - Give proper delta in editor preview - Make sure not to recreate AnimInstance #jira: UE-38849 #code review:Max.Chen Change 3206552 on 2016/11/21 by Max.Preussner QAGame: Enabled looping by default Change 3207462 on 2016/11/22 by andrew.porter QAGame: updating QA-Sequencer with changes to animation blending test cases Change 3207499 on 2016/11/22 by tim.gautier Added Streaming Sources, added Streaming Source options for BP_MediaPlayer. Specified Media Option Categories with BP_MediaPlayer to clean up details panel. #jira none Change 3207571 on 2016/11/22 by Max.Chen Curve Editor: Expose curve editor settings to Editor Preferences. #jira UE-38907 Change 3207690 on 2016/11/22 by Max.Chen Sequencer: Speculative crash fix for switching UMG animations. #jira UE-29333 Change 3207744 on 2016/11/22 by tim.gautier Removed unnecessary nodes from BP_MediaPlayer. Created a variable visible in the Details Panel to allow the user to specify a URL to Stream media without specifying a Source in-editor. #jira none Change 3207935 on 2016/11/22 by Max.Chen Sequencer: Temporary fix for skeletal animation track scrubbing. Verified that anim notifies still fire when playing and scrubbing. #jira UE-38964 Change 3207938 on 2016/11/22 by Max.Chen Sequence Recorder: Set reduce keys back to true so that there's no change in current behavior. This should be toggled off for performance reasons but in general is nice to have reduced keys. Change 3207950 on 2016/11/22 by Lina.Halper - Fixed so that mesh space additive won't show up in sequencer - Added warning if you change type later or existing ones #jira: UE-38062? Change 3208278 on 2016/11/22 by andrew.porter QAGame: Adjusting level blueprint for test case. Change 3208285 on 2016/11/22 by andrew.porter QAGame: adding SequencerBP animation blueprint. Change 3208538 on 2016/11/23 by Max.Chen Actor Sequence: Fix plugin filename. Change 3208916 on 2016/11/23 by Max.Chen Sequencer: Fix material parameter initialization so that the value is retrieved from the material instance and not the parent material. #jira UE-34317 Change 3208924 on 2016/11/23 by Max.Chen Save As: Cancel should not save over the existing asset. It should just return. Change 3208939 on 2016/11/23 by andrew.porter QAGame: reset some content back to its default state for testing Change 3209053 on 2016/11/23 by Max.Chen Sequencer: Ensure the section id is unique. Change 3209161 on 2016/11/23 by Max.Chen Save As: Follow up fix for cancelling save as. Change 3210540 on 2016/11/26 by Max.Preussner WmfMedia: Reworked fallback stride calculations to fix issues with some exotic video formats Change 3210546 on 2016/11/26 by Max.Preussner WmfMedia: Fixed NV12 vertical buffer alignment Change 3211567 on 2016/11/28 by Max.Preussner Merging //UE4/Dev-Main to Dev-Sequencer (//UE4/Dev-Sequencer) Step 1 of 2 Change 3212408 on 2016/11/28 by Max.Preussner Fixed fallout from Dev-Main merge Change 3212456 on 2016/11/28 by Max.Preussner ActorSequenceEditor: Removed monolithic header dependencies Change 3212562 on 2016/11/28 by Max.Preussner ActorSequenceEditor: Removed monolithic header usage Change 3212649 on 2016/11/28 by Max.Chen Fix CIS Change 3212671 on 2016/11/28 by Max.Chen Sequencer: Add option to restore to the pre animated state. #jira UE-38862 #2953 Change 3212672 on 2016/11/28 by Max.Chen Sequencer: Select object binding node corresponding to selected components and vice versa (select components in level when object binding node is selected) Change 3212673 on 2016/11/28 by Max.Chen Sequencer: Follow-up fix for component keyframing - key area needs to be updated by component. #jira UE-38649 Change 3212676 on 2016/11/28 by Max.Chen Level Editor: PostEditMove should only be called on the actor if it is moved. #jira UE-38646 Change 3212688 on 2016/11/29 by Max.Chen Sequencer: Force refresh event parameters customization when struct contents change but not a full refresh when struct child contents change. #jira UE-39094 Change 3212831 on 2016/11/29 by Andrew.Rodham Disabled ActorSequenceEditor plugin by default while it's experimental Change 3213219 on 2016/11/29 by Max.Preussner AvfMedia: Added missing include Change 3213333 on 2016/11/29 by Andrew.Rodham Sequencer: Added the ability to override bindings when playing back a level sequence on a level sequence actor #jira UETOOL-746 Change 3213905 on 2016/11/29 by Max.Preussner More IWYU fixes for macOS Change 3214203 on 2016/11/29 by Michael.Gay Some demo files to test Sequencer timing. Change 3214205 on 2016/11/29 by Max.Preussner More IWYU fixes for macOS Change 3214548 on 2016/11/29 by Max.Preussner More IWYU fixes for macOS Change 3214564 on 2016/11/29 by Max.Preussner More IWYU fixes Change 3214567 on 2016/11/29 by Max.Chen More IWYU fixes for Win32 Change 3214573 on 2016/11/29 by Max.Preussner More IWYU fixes Change 3214576 on 2016/11/29 by Max.Preussner More IWYU fixes Change 3214621 on 2016/11/30 by Max.Preussner Atrac9Decoder: Fixed log category declaration Change 3214630 on 2016/11/30 by Max.Preussner More IWYU fixes Change 3214747 on 2016/11/30 by Andrew.Rodham Sequencer: Fixed shadow variable Change 3214957 on 2016/11/30 by Andrew.Rodham Core: Changed Algo::Find to use TElementType - This allows it to support c style arrays Change 3215127 on 2016/11/30 by Andrew.Rodham Sequencer: Made burn-in options and init settings instanced - This ensures they work correctly when defined on archetypes and blueprints #jira UE-38645 Change 3215754 on 2016/11/30 by Max.Chen Sequencer: Fix skeletal animation track evaluating tracks in the wrong time space. Cache the evalulation time and weight value in each section's template and then execute with those values in the shared track's template. #jira UE-39145 Change 3216603 on 2016/12/01 by Max.Chen Sequencer: Set audio volume/pitch only if changed. Change 3216613 on 2016/12/01 by Max.Chen Sequencer: Add component selector when there are multiple components that have sockets. This fixes a crash when there are multiple components to attach to. #jira UE-39167 Change 3217175 on 2016/12/01 by Max.Chen Sequencer: Set skeletal animation track evaluation to be upper bound exclusive. This gives better behavior when two clips butt up against each other since the sections would overlap in time and evaluation would normalize they weighted contribution of each. #jira UE-37184 Change 3217292 on 2016/12/01 by Max.Chen Sequencer: Rework upgrading track rows to include overlapping sections. For skeletal animation sections, set weight values based on the evaluation bounds since there was no blending prior to 4.15. Change 3217860 on 2016/12/01 by Max.Preussner Media: Fall-through for media options Change 3217965 on 2016/12/01 by Max.Preussner MediaAssets: Renamed media option name Change 3218470 on 2016/12/01 by Max.Chen Sequencer: Fix start time deprecation value so that negative values are supported. #jira UE-39259 Change 3218473 on 2016/12/01 by Max.Chen Sequencer: Fix crash if start seq length is negative. Change 3219021 on 2016/12/02 by Max.Chen Sequencer: Add multiply and divide to transform box. Change 3219374 on 2016/12/02 by Max.Chen Sequencer: Teleport simulating components when moving them through the transform track. This fixes bugs with recording simulating actors (ie. vehicle game) where recorded actors don't playback with the recorded positions and there are warnings about attempting to move a fully simulated skeletal mesh. #jira UE-38442, UE-38444, UE-38852 Change 3219638 on 2016/12/02 by Max.Preussner Projects: Fixed error message Change 3220584 on 2016/12/03 by Andrew.Rodham Sequencer: Blueprint generated classes are now always removed from level sequences on load in the editor - This ensures that old (and perhaps corrupt) BP generated classes are destroyed #jira UE-39173 Change 3220585 on 2016/12/03 by Andrew.Rodham Editor: Fix EditInstanceOnly properties that aren't variables on the generated class being editable in blueprints Change 3220973 on 2016/12/04 by Max.Chen Fix CIS Change 3222833 on 2016/12/05 by Max.Chen Sequencer: Fixed some recorded components not being generated. #jira UE-34289 Change 3224450 on 2016/12/06 by Max.Chen Sequencer: Fix convert spawnable to posessable. Logic for setting the parent was mistakenly removed in runtime eval. #jira UE-39419 Change 3225301 on 2016/12/07 by Max.Preussner AvfMedia: Added settings class Change 3225304 on 2016/12/07 by Max.Preussner Fixed typo Change 3225723 on 2016/12/07 by Max.Preussner Fixed typo. Change 3225871 on 2016/12/07 by Max.Preussner Forgot to check in Change 3225932 on 2016/12/07 by Max.Preussner Added missing header Change 3226266 on 2016/12/07 by Max.Preussner Media: Fixed various module dependencies Change 3226451 on 2016/12/07 by Max.Preussner Include fixes Change 3226455 on 2016/12/07 by Max.Preussner LevelSequence: Added missing include Change 3227135 on 2016/12/08 by Max.Preussner Merging //UE4/Dev-Main to Dev-Sequencer (//UE4/Dev-Sequencer) Change 3227143 on 2016/12/08 by Max.Preussner LevelSequencer: Added missing header Change 3227731 on 2016/12/08 by Max.Preussner LevelSequencer: Added missing include Change 3228222 on 2016/12/08 by Max.Preussner UBT: Fixed delay load library support for remote compilation to macOS Change 3228266 on 2016/12/08 by Max.Preussner PluginBrowser: Added missing includes Change 3228755 on 2016/12/09 by Andrew.Rodham Sequencer: Fixed copy-paste of event keys - Also added a key-value iterator to TCurveInterface (both const and non-const) #jira UE-39526 Change 3228777 on 2016/12/09 by Luke.Thatcher [PLATFORM] [PS4] [!] Reimplement fixes from Fortnite for PS4 media framework in //UE4/Dev-Sequencer. Based on Original CL 3227137 - Event callback from AvPlayer was enqueing the processing of events over to the player thread, so the "State" member of FPS4MediaPlayer doesn't get updated until the following frame. This breaks cases with multiple calls to SetRate within a single frame. - Removed time check in FPS4MediavideoSampler::Tick. There are cases where the time check failed, even when a new frame was available from the AvPlayer libs. The video sampler now always calls sceAvPlayerGetVideoDataEx. This returns immediately if no frame data is available. - FPS4MediaPlayer::Seek was failing if the video is in a playing/paused state. We now restart the stream if a seek command occurs after the video has stopped (e.g. due to EOF reached). - Shared a single critical section between the FPS4MediaTracks, FPS4MediaVideoSampler and FPS4MediaPlayer objects. Fixes deadlocks between the decoder/player threads where each will be waiting on each others' critical section. [~] Enabled debug warnings from AvPlayer library in non-shipping builds. [~] Changed log levels of UE_LOGs to match their severity. ------------------------- [!] Also, fixed rendering artifacts on videos using a cropping rectangle - e.g. 1080p videos are actually decoded as 1920x1088, with an extra 8 pixels height, which contained garbage. - We determine the final media texture size as the size of the cropping rectangle, and use modified UVs during the YCbCr->RGB converstion shader to do the mapping. Change 3228793 on 2016/12/09 by Andrew.Rodham Sequencer: Edits to actor sequences now correctly mark their parent blueprints for compilation #jira UE-38723 Change 3228877 on 2016/12/09 by Luke.Thatcher [PLATFORM] [PS4] [!] Fix track switching issues in PS4 media player. - Sony's AvPlayer library does not support switching tracks (audio or video) on-the-fly after a stream has begun playback. - The higher level UMediaPlayer enables track 0 automatically, which would be committed to the AvPlayer, and therefore lock out other streams. - Actual track selection is now deferred until the stream is started, after which changing tracks is prohibited. - Tracks must be selected before calling SetRate for the first time. #jira UE-37225 Change 3229501 on 2016/12/09 by Max.Preussner Media: Better display names for media player plug-ins Change 3229515 on 2016/12/09 by Max.Preussner MediaPlayerEditor: Sorting player plug-ins alphabetically; consistent display in both media player editor and media source customization Change 3229716 on 2016/12/09 by andrew.porter Adding PlayRate sequence to my dev folder Change 3230554 on 2016/12/12 by Andrew.Rodham Back out changelist 3220584 - Currently this causes actor instances to fail to load because they are instanced of dead classes. Need to think of a more robust solution here. #jira UE-39398 Change 3230922 on 2016/12/12 by Max.Preussner Merging //UE4/Dev-Main to Dev-Sequencer (//UE4/Dev-Sequencer) Change 3232059 on 2016/12/12 by Max.Preussner MediaUtils: Better error message for when no suitable media player plug-in was found Change 3232097 on 2016/12/13 by Max.Preussner Switch: Temp fix for borked folder name on case-sensitive platforms Change 3232100 on 2016/12/13 by Max.Preussner MediaAssets: Split up UMediaSource into UBaseMediaSource Also added color space related properties Change 3232101 on 2016/12/13 by Max.Preussner Media: Started to implement support for color spaces Change 3232119 on 2016/12/13 by Max.Preussner MediaAssets: Fixed buffer not recreated if color space changed Change 3232799 on 2016/12/13 by Max.Preussner PS4Media: Fixed build #jira UE-39706 Change 3233170 on 2016/12/13 by Max.Preussner Merging //UE4/Dev-Main to Dev-Sequencer (//UE4/Dev-Sequencer) Change 3233250 on 2016/12/13 by Max.Preussner MediaPlayerEditor: Added separator in track menu Change 3233309 on 2016/12/13 by andrew.porter QAGame: Edited text render actors in QA-Media_TrackSwitch Change 3233439 on 2016/12/13 by Chris.Babcock Standardize Android media track DisplayName Change 3233817 on 2016/12/13 by Chris.Babcock Fix virtual keyboard EditableTextBox update when comitted text matches current text from change updates #jira UE-39424 #ue4 #mobile Change 3234421 on 2016/12/14 by Andrew.Rodham Sequencer: Fixed nullptr crash Change 3234423 on 2016/12/14 by Andrew.Rodham Sequencer: Fixed incorrect copying of base-class from compiler rules Change 3234429 on 2016/12/14 by Andrew.Rodham Sequencer: Fixed empty space not being added between the last and penultimate segments when required #jira UE-39442 Change 3234635 on 2016/12/14 by Max.Preussner MediaAssets: Exposed UTexture properties in UMediaTexture Change 3234681 on 2016/12/14 by Max.Preussner MediaAssets: Made MediaTextureResources support -onethread Change 3234878 on 2016/12/14 by Andrew.Rodham Sequencer: Fixed crash with "Evaluate Sub Sequences in Isolation" enabled - This occurred when there were tracks at the root level of the sub sequence, because it would incorrectly hash in the parent ID, rather than just using it directly Change 3234901 on 2016/12/14 by Max.Preussner MediaPlayerEditor: Detail customization improvements Change 3235275 on 2016/12/14 by Chris.Babcock Fix WMF stream ordering to match other players #jira UE-39703 #ue4 #mediaframework Change 3235390 on 2016/12/14 by Max.Preussner DesktopPlatform: Added IniPlatformName to FPlatformInfo; fixed up indentation Change 3235402 on 2016/12/14 by Max.Preussner MediaAssets: Fixed platform player name overrides ignored in packaged builds (UE-39771) #jira UE-39771 Change 3235667 on 2016/12/14 by Max.Preussner Media: Moved enums into separate header file, so they can be shared Change 3235984 on 2016/12/14 by Max.Preussner Back out changelist 3235667 Change 3236040 on 2016/12/14 by Max.Preussner Core: Added modulus operator to FTimespan Change 3236139 on 2016/12/15 by Max.Preussner Core: Added FTimespan::IsZero Change 3236527 on 2016/12/15 by Max.Preussner Fixed initialization order Change 3237101 on 2016/12/15 by Andrew.Rodham Sequencer: Skeletal animation and audio tracks now support multiple rows again. - In practice there were too many edge-cases to account for whilst considering backwards compatability - The impossible scenario was 2 sections on different rows, but evaluating nearest section - this cannot be represented as separate tracks. - Reorganised animation runtime template to use execution tokens rather than ::Initialize to ensure that animation operates correctly on the first frame for spawned objects #jira UE-39442 #jira UE-39725 Change 3237213 on 2016/12/15 by Andrew.Rodham Sequencer: Fixed crash when setting event key properties #jira UE-39347 Change 3237255 on 2016/12/15 by Chris.Babcock Fix Multi with ETC2 and PVRTC selecting ES3.0 instead of 2.0 #jira UE-39839 #ue4 #android Change 3237294 on 2016/12/15 by Andrew.Rodham Sequencer: Fixed shadowed variable warnings Change 3237366 on 2016/12/15 by Max.Preussner Media: Removed color space changes; we'll do these in material graphs instead Change 3237436 on 2016/12/15 by Andrew.Rodham Sequencer: Fixed montages not being stopped for specific animation slots when animation sections were no longer evaluated #jira UE-39847 Change 3237458 on 2016/12/15 by Andrew.Rodham Sequencer: Always force regeneration of templates when PIE to eliminate the posibility of combining stale data Change 3237516 on 2016/12/15 by Max.Preussner Media: Attempting to fix Crash in fortnite just before exiting onboarding (UE-39841) #jira UE-39841 Change 3237532 on 2016/12/15 by Max.Preussner Added missing scope lock Change 3237991 on 2016/12/16 by Max.Preussner PS4Media: Fixed build [CL 3238204 by Max Preussner in Main branch]
2016-12-16 11:17:44 -05:00
MenuBuilder.AddMenuEntry(
LOCTEXT("ToggleLocked", "Locked"),
LOCTEXT("ToggleLockedTooltip", "Lock/Unlock the playback range"),
FSlateIcon(),
FUIAction(
FExecuteAction::CreateLambda([=] { TimeSliderArgs.OnTogglePlaybackRangeLocked.ExecuteIfBound(); }),
FCanExecuteAction(),
FIsActionChecked::CreateLambda([=] { return TimeSliderArgs.IsPlaybackRangeLocked.Get(); })
),
NAME_None,
EUserInterfaceActionType::ToggleButton
);
Copying //UE4/Dev-Sequencer to Dev-Main (//UE4/Dev-Main) #lockdown nick.penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2719576 on 2015/10/07 by Chris.Wood Added check for stale BP classes in FKismetCompilerUtilities::IsTypeCompatibleWithProperty() to stop compiler errors during reinstancing. [UE-19795] - UMG Compiler error when adding variable to nested Widget Change 2721474 on 2015/10/08 by Andrew.Rodham Sequencer: Movie render operations now successfully capture UMG UI Change 2724958 on 2015/10/12 by Chris.Wood Added missing resource cleanup code to UMG widgets [UE-21874] - UWIdget classes with missing ReleaseSlateResources() overrides Added ReleaseSlateResources() to ListView, TileView and Slider widgets to reset shared pointers to slate widgets. Change 2733562 on 2015/10/19 by Andrew.Rodham Sequencer: Fixed spawnables not working in sub-sequences - The issue here was that sequence track instance updates had no knowledge of which sub-sequence they were being evaluated within. We now pass the active sequence instance into the relevant track instance functions. - Also addressed some issues to do with save/restore state not getting called correctly on master tracks of sequence instances - Tidied up spawn track editor Change 2735264 on 2015/10/20 by Chris.Wood Improved Engine analytics handling for Editor and games [UE-21892] - Improve how Engine analytics are handled for Editor and games Changes: Added Privacy section to Editor settings Exposed editor analytics flag in Privacy options Added Details Customization to make this type of bool property clearer with extra info and hyperlink Changed AreEditorAnalyticsEnable() to use new flag Prevented analytics init when disabled by user Sending event and shutting down analytics when user opts out Add in-game project setting for anonymous game usage data Renamed and moved bHardwareSurveyEnabled Added message about exposing in-game setting to end users Added anonymous GUID id for in-game analytics Moved end user settings to global config (defaultengine.ini) Placeholder loc text on new options for now, pending legal wording sign-off Change 2735866 on 2015/10/20 by Max.Preussner Async: Added ability to register an optional callback function that is executed when a Future completes Change 2739793 on 2015/10/23 by Andrew.Rodham Sequencer: Refined movie scene capturing to ensure frame accuracies are maintained - Aborting an in-progress capture now gracefully terminates the process (through a remote session command) to ensure it still creates a valid video - Level sequece movie capture will now pick up a corresponding level sequence in the world, and use that to capture with. A new actor will be spawned at runtime with the correct asset, should one not already exist. - Made -nomovie actually work - Refined how active movie captures are managed - Added option to 'stage' a sequence before starting the capture. This feature will set the sequence on its first frame for the preroll, to ensure that PPP effects are allowed time to stabilize Change 2744402 on 2015/10/28 by Max.Preussner Sequencer: Separated track display names from track identifier names; code cleanup Change 2745953 on 2015/10/29 by Max.Chen Sequencer: Attach to socket. Relative attachments. #jira UETOOL-463 Change 2747028 on 2015/10/29 by Max.Preussner Sequencer: Another overhaul of track display name handling; code and documentation cleanup pass. Change 2758888 on 2015/11/09 by Chris.Wood Integrating changes - 4.10 to Dev-Sequencer From 4.10 branch fixes: Added check for debugger present when reporting abnormal termination to analytics. [UE-22844] CL 2750764 Added FSystemWideCriticalSection for desktop platforms. Used by analytics to lock access to editor instances list in the OS. [UE-22844] CL 2753661 Updating wording in privacy settings text. [UE-21892] CL 2753709 Mac and Linux CIS fix [UE-22844] CL 2755381 Change 2761287 on 2015/11/10 by Max.Chen Sequencer: Add null check when updating the UMG preview if the sequencer doesn't exist/has been closed. #jira UE-5206 Change 2764945 on 2015/11/12 by Max.Preussner Core: Templatized TypeContainer implementation to allow for thread-safe objects; updated unit test Also fixes UE-13850 Change 2765036 on 2015/11/12 by Max.Preussner UdpMessaging: Fixed message serialization unit test (UE-22571) #jira: UE-22571 Change 2766149 on 2015/11/13 by Max.Preussner Media: Implemented event that gets triggered when playback reached the end of media Also fixes looping. Change 2768157 on 2015/11/16 by Max.Preussner Media: Added .m4a to supported WMF file extensions Change 2769200 on 2015/11/16 by Max.Chen Editor: Add broadcast messages when snapping objects. #jira UE-22680 Change 2773066 on 2015/11/19 by Chris.Wood Upload crashes from CRC to Data Router [UECORE-249] - Integrate Crash Report Client with the Data Router Upload to Receiver still active as we are running both in parallel for now.
2015-12-11 13:52:32 -05:00
}
MenuBuilder.EndSection(); // SequencerPlaybackRangeMenu
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3946692) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3801826 by Max.Chen PR #4304: Level Sequence crash fix - Guarded against dereferencing null componen. (Contributed by DSDambuster) Change 3801828 by Max.Chen PR #4302: Movie Scene Visibility Template unitialised variable, causing random . (Contributed by DSDambuster) Change 3801837 by Max.Chen Sequencer: Delay spawning/construction for convert to possessable. This fixes a bug where property values would be lost when converting back and forth from possessable to spawnable. #jira UE-52400 Change 3801841 by Max.Chen Sequencer: Make spacer nodes not selectable. PR #4194: Improvements to Sequencer (Contributed by projectgheist) #jira UE-53117 #jira UE-52139 Change 3804183 by Max.Preussner MediaAssets: Added missing lock in media sound component Change 3805414 by Max.Preussner MediaAssets: Setting valid GUID when initializing media texture resource Change 3819578 by Max.Chen PR #4370: When enabling the "MovieCapture", do not turn off the Stereo-3D display. (Contributed by yehaike) #jira UE-53647 Change 3823414 by Max.Chen Curve Editor: Lock down the first and last keys in the redundant keys removal range so that they're unaffected. #jira UE-53591 Change 3826406 by Max.Chen Sequencer: Move OnStartedPlaying() to within first update in UpdateTimeCursorPosition(). This fixes an issue where setting the hud/player visibility was getting stomped on later. #jira UE-52772 Change 3827044 by Max.Preussner MediaAssets: Added sprite visualization to media sound component #jira UE-53594 Change 3827988 by Max.Preussner MediaPlayerAssets: Fixed Media Texture is not linked to Media Player when created together #jira UE-53532 Change 3828506 by Max.Preussner MediaPlayerEditor: Added attenuation visualizer for media sound components #jira UE-53594 Change 3832590 by andrew.porter EngineTest: Added a keep state check in Property Animation sequencer test Change 3833053 by andrew.porter EngineTest: Adding Hierarchical Bias test Change 3835683 by andrew.porter EngineTest: Adding UMG Animation screenshot test Change 3836076 by Max.Chen Sequencer: Fix audio volume and pitch multiplier deprecation. Change 3836230 by andrew.porter EngineTest: Adding Sequence Bone Position automation test Change 3836347 by Max.Chen Sequencer: Fixes to shot name parsing. When a shot doesn't contain a shot number, assume, [ShotName]_[TakeNumber]. When duplicating a shot, put the new shot in the same path of the original shot, so that the take numbers will increment properly. #jira UE-51868 Change 3836552 by Max.Chen Sequencer: Sub section now has a takes menu Change 3838094 by Max.Chen UMG: Fix template finish not getting called on stop. This fixes a bug where sections aren't restored when finished. #jira UE-52285 Change 3838708 by Max.Chen Sequencer: Add notification when the blend type is changed. #jira UE-54046 Change 3840295 by Max.Chen Sequencer: Fix copy/paste crash for lights #jira UE-54084 Change 3840957 by Mike.Zyracki Added Show Only Keyable and Show Only Animated to the filter list in the property editor. Added IsPropertyAnimated to IDetailKeyframe Interface which already had support for showing properties which are keyable (which is used for the key icon next to the properties.). Could have created another interface but then would have had to mimic the sequencer binding, releasing also, so this seemed best way. One issue still left is that custom built detail items currently don't store associated properties(usually) and so certain properties, in particulalry transforms, won't show up as keyable or animated. Note this also shows up with the keyable icon not showing up next to transform tracks, and other filters like Show Only Modified not working with transforms/customs. Not sure best way to tackle this. #jira UESEQ-328 Change 3841756 by Max.Chen Sequencer: Fix unbound possessable components when pasting spawnables. #jira UE-54104 Change 3843950 by andrew.porter EngineTest: Renaming LevelStreaming tests/content to LevelVisibility Change 3844082 by Mike.Zyracki Missing file for animated filter in property editor. When finding if a track is animated we need to find it but we can't easily induce the MovieTrack class for any particular property. So we don't set a class for it and just search by it's ID and name. #jira UESEQ-328 Change 3846902 by Max.Preussner ImgMedia: Fixed image media player never finished initialization if loading failed #jira UE-54247 Change 3849820 by Mike.Zyracki Reassigning deleted widgets didn't work since the menu extender mechanism needs a valid UObject in order to perform an operation on it. So to fix we replaced GetObjectBindingContextMenuExtender in WidgetBlueprint with new delegate mechanism (OnBuildCustomContextMenuForGuid) that supports FGuid in addition to UObjects which is needed to handle re-binding deleted widgets. Note that the default sequencer hacks this for replacing deleted actors in SequencerObjectBindingNode to check to see if a LevelSequence is active. We could move to this mechanism there also. #jira UE-53163 Change 3852211 by Max.Chen UMG: Indicate name of the property that is not bound. #jira UE-54350 Change 3854120 by Max.Chen Sequencer: Fix sibling folders being allowed to have the same folder name. #jira UE-54363 Change 3854627 by Max.Chen Sequencer: Step to next/previous key should work for all tracks if there aren't any selected. #jira UESEQ-391 Change 3855825 by andrew.porter EngineTest: Adding animation blending automation test Change 3855950 by andrew.porter EngineTest: Adding correct expected valuues to animation blending test Change 3856237 by Matt.Hoffman UESEQ-336 - Sequencer Track Reordering Adds the ability to re-order Master Tracks, Folders and Object Bindings within sequencer hierarchies (including UMG). Adds the ability to do a one-off sorting of the content under the old sorting behavior if the user wants to reset their layout to how it was under legacy behavior. Modifies SequencerTrackNodes, SequencerFolderNodes and SequencerObjectBindingNodes to handle CanDrop/OnDrop for above, below and ontop of. Fixes a Slate Issue that forcibly expanded a TreeviewRow if an item handled OnDrop. Slate will now only forcibly expand the row if the item says the drop happened ontop of the item, and not above or below it like it previously did. Change 3856503 by andrew.porter EngineTest: Adding automation test for using animation blueprint with blend multi node in sequencer Change 3857875 by Max.Chen Sequencer: Assign the sequence id after the template is compiled. #jira UE-54462 Change 3858344 by Max.Chen Sequencer: Prevent Goto and Transform boxes from overlapping by allowing them to be visible at the same time in an autosized horizontal box. Also, added close button to the goto box. PR #4425: Prevent Goto and Transform boxes from overlapping in Sequencer ... (Contributed by projectgheist) #jira UE-54210 Change 3860566 by andrew.porter MediaFrameworkTest: Set the option to index 0 for the audio and video track list by default Change 3860654 by andrew.porter EngineTest: Enabling Camera Cut + FOV test Change 3860981 by andrew.porter EngineTest: Updating skeletal mesh tests with a delay after set playback position Change 3861256 by Max.Chen Sequencer: Add all bindings if none selected. #jira-54440 Change 3862154 by Andrew.Rodham Added TimeManagement module Change 3862424 by andrew.porter EngineTest: Turned on the test Bone Positions with Blend Multi Node Change 3862573 by andrew.porter EngineTest: Adding test to compare bone positions in a sequence that is blending an animation that is using an AnimBP Change 3865117 by Max.Chen Sequencer: Stop auto scroll on mouse release of movement. #jira UE-31212 Change 3865303 by Max.Chen Sequencer: Add drag and drop transactions #jira UE-54662 Change 3865304 by Max.Chen Sequencer: Fix crash when an actor factory is not found. Change 3865361 by Max.Chen Sequencer: Don't change the camera/shot lock button when popping out of a sequence. #jira UE-54665 Change 3865412 by Max.Chen Sequencer: Determine whether a transform track is for a camera by using the spawned object or template #jira UE-54666 Change 3865685 by Max.Chen Sequencer: Clear autoscrub offset when stopping autoscroll #jira UE-31212 Change 3865886 by Max.Chen Sequence Recorder: Log an error if the number of frames changes while recording. This can happen if the skeleton changes while recording. #jira UE-48715 Change 3866925 by Andrew.Porter MediaFrameworkTest: Changing the current PNG test video image sequence to 1024 x 576 Change 3867705 by andrew.porter QAGame: Adding Audio Sort Sequence to dev folder Change 3867890 by andrew.porter QAGame: Adding a sequence for testing a sorting crash to my dev folder Change 3872628 by Max.Chen Movie Scene Capture: Split delay before warmup into split delay before shot warmup so that there's separate controls for when the movie scene capture warmups up vs. shot boundaries. Change 3873131 by Matt.Hoffman UE-54732 - Crash reordering a folder with a track. This was caused by folders being the only type of track to check if someone was putting a parent track into a child track. Object Binding tracks and Tracks now check as well so that you can't use the above/below drop targets to add parents as children. This also fixed a typo in the localization keys. #jira UE-54732 Change 3873301 by Mike.Zyracki Added ability to support continous euler angle changes when changing rotations, in particularly with the rotation gizmo's. To do this we effectively added a form an of 'euler filter'(https://en.wikipedia.org/wiki/Euler_filter) to find the closest euler angle to the current euler angle. Three functions were added to FRotator to make this possible, one to get the euler angle that's has the same rotation as it, one to get the difference between two euler angles via Manhattan distance and a third using the previous two to choose a Rotator value that's closest to it. We then use these functions before calling UComponent::SetRelativeRotation to make sure we use the correct Euler after the Quat conversion. We also no longer limit(bound) the euler angles to -180,180, which is obviously necessary to avoid flips. I also changed how we caluclate yaw and roll when pitch is -90 or 90 to make it the standard approach of zeroing out roll and just setting yaw. Main reasons are the previous implementation had precision issues so things like 180, 90, -180 would show up due to numbers being nearly zero but negative,(this would break any smooth interpolations), and this facilitates having a 'gimbal' rotation mode (like Maya, Blender etc..) if we ever want that also. If needed we could keep the previous implementation but would need to add some FMath::IsNearlyZero checks, with less performance. Note we only do this special filtering when applying delta's to actors or components in the editors, which then call UComponent::SetRelativeRotationExact, which is a new function to foces the RelativeRotation to be equal to the new rotation. This allows us to store un-nomalized Rotators at the cost that the RotationCache may be broken. We didn't change any of the other UComponent functions that set rotations (via Quats or Transforms) so they will still be bounded and unwound. In SetInternalWorldLocationAndRotation we only set the rotation if the rotation has changed, which fixes the rotation getting changed and re-normalized if just translate happens. In TransformTrackEditor, we correclty use the bUndwing flag and in MovieScene3DTransformSection there was an un-needed winding check there, it will be unwound earlier if needed, which happens if Sequence Recording is happening. Max we should talk about what to do about this . Note the euler angle drag via the widget is still bound to 0-360. I think we should just unbound that now since the rotations value are now unbound. This review now includes fixes suggested by Zak. #jira UE-UE-22228 Change 3873483 by Matt.Hoffman Sequencer Tracks can now be inserted above the spacer at the bottom of the tree. #jira UE-54706 Change 3873899 by Max.Chen Sequencer: Add section selection throbbing Change 3873908 by Max.Chen Movie Scene Capture: Added logging per frame Change 3873924 by Matt.Hoffman Adds the ability to store Sequence Recorder setups into profiles that stay with the map and can be re-loaded later. Profiles store the Actor Recordings so the settings for each actor should carry with them. #jira UESEQ-339 Change 3874726 by Matt.Hoffman Disable drag-and-drop targets on spacers that come between rows in Sequencer. This prevents extra drag/drop targets showing up between each row. #jira UE-54706 Change 3874862 by Matt.Hoffman Audio Track no longer gets reordered when adding sub-audio tracks, as sub-tracks are no longer counted towards the sorting order index when normalizing indexes. #jira UE-54727 Change 3875905 by Matt.Hoffman Disable Fade Track UI if a fade track already exists in the sequence. #jira UESEQ-393 Change 3876163 by Max.Chen Sequencer: Swap the camera object to the camera component's owner if it's not the same. #jira UE-54874 Change 3876971 by Andrew.Porter EngineTest: Moved Media Player Seek test to new folder. Also enabled the test with new ground truth image. Change 3877040 by Max.Chen Cine Camera: Split camera properties to two groups, "Camera Options" and "Camera Settings". The cine camera now hides properties in the "Camera Settings" group so that properties like bConstrainAspectRatio (in the "Camera Options" group) can be visible. #jira UE-54192 Change 3877763 by Max.Chen Curve Editor: Fix curve changed on end drag so that only curves that had keys/tangents that were changed receive notification, otherwise all loaded curves were getting notified that they were changed. #jira UE-54951 Change 3878234 by Matt.Hoffman Disable "Drop Below" targets for Sequencer Tree nodes to prevent a confusing UX issue where dropping underneath a Object Binding Node puts it after the object binding node but the UI looks like it's inserting it inside the Object Binding node. #jira UE-54743 Change 3879359 by Mike.Zyracki If a track is inactive we dim it a bit which seems to be the UE4 way to show inactive or disabled state. We changed the active logic so that all subtracks need to be inactive for the track to also be inactive(instead of all active for active). This conforms to how the active state actually works, e.g if you have two sections and only one is active the track is still active above it. #jira UESEQ-388 Change 3879462 by Max.Chen Sequencer: Allow dragging onto a particular row which would move out any overlapping sections to make space for the newly created section. Newly created sections are now selected and throbbed to draw attention to themselves. #jira UE-54664 Change 3879464 by Max.Chen Sequencer: Fixed overlapping ranges being inserted into the evaluation field during compilation - The issue was that track segments that had been combined with adjacent segments (due to them being identical) would potentially cause a subsequently compiled frame to overlap with a range that had already been inserted into the evaluation field. - The insertion code previously asserted that only minor overlaps were catered for (due to fp rounding errors) and assumed that a supplied range could not entirely contain any other range in the field. - The solution is to supply the insertion time along with the range to know exactly where the data should live in the field, and crop the range to the maximum allowable space between adjacent ranges. #jira UE-54922 Change 3879590 by Matt.Hoffman Items that are now added to the Sequencer via the "+Track" menu will be selected after being added. Items can now be added inside of folders instead of just to the root level. #jira UE-27397 Change 3879612 by Mike.Zyracki Display Nodes with no children are always active. #jira UESEQ-388 Change 3879730 by Matt.Hoffman Sequence Recorder's actor recording groups now remove items from the group when removed via the UI. #jira UESEQ-339 Change 3880256 by Mike.Zyracki Fix issue with inactive display with folders and other track nodes. #jira UESEQ-388 Change 3883491 by Max.Chen Fix issue where tick is skipped due to last ticked pose isn't cleared after AnimInstance changes. Copy from Release-4.19 #jira UE-51323 Change 3883603 by Max.Chen Movie Scene Capture: Add option toggle disable screen percentage. By default this is on (no change in current behavior). #jira UE-51898 Change 3885074 by Max.Preussner MediaCompositing: Resetting media texture & freeing resource on section end; removed dead code Change 3887220 by Max.Preussner MediaCompositing: Defaulted media section duration to 1 sec (since we do not know the actual duration in most cases) Change 3887478 by Matt.Hoffman Sequences now show [Inactive] in their title bars when they're disabled. This helps communicate why a sequence isn't being evaluated. #jira UE-51469 Change 3888985 by Max.Chen Movie Scene Capture: Clamp HDR Compression Quality between 0 and 1. #jira UE-55136 Change 3893519 by Max.Chen Sequence Recorder: Clarified tooltip for bRecordNearbySpawnedActors - spawned actors will still be recorded if they match the ActorFilter. #jira UE-55238 Change 3893546 by Max.Chen Sequence Recorder: If a selected actor already has a recording, add a blank recording. #jira UE-55239 Change 3894044 by Max.Preussner MediaCompositing: Added support for seeking into a media section Change 3894310 by andrew.porter MediaFrameworkTest: Adding Img media sources for 1080 and 2160 ravent test content Change 3894426 by Max.Preussner MediaAssets: Letting media textures with AutoClear retain their clear color when player is reset Change 3895717 by Max.Chen Sequencer: Null checks to prevent crash when saving the default state of a spawnable #jira UE-55304 Change 3897388 by Max.Chen Sequencer: Don't update current time to be within the view range when stepping into a sequence. #jira UE-55322 Change 3897452 by Max.Chen Audio: Fix crash when trying to record audio without any active capture devices. Log warning if the number of input channels is not 1 or 2. #jira UE-55223 Change 3897619 by Max.Preussner MediaCompositing: Removed commented out code Change 3898072 by Max.Chen Sequencer: Override the animation asset in the player state if it doesn't match the animation asset that's being evaluated. #jira UE-55328 Change 3898272 by Max.Preussner MediaPlayerEditor: Made slate brush constants static Change 3898704 by Max.Chen Sequencer: Skip if the binding id's sequence can't be found. #jira UE-55337 Change 3899855 by Max.Preussner MediaCompositingEditor: Added cache state visualization to media track Change 3900300 by Max.Preussner MediaCompositingEditor: Added loop indicators to media sections Change 3900694 by Max.Preussner ImfMedia: Looping cache only when player is looping Change 3900892 by Max.Preussner Stats: Added stats category for media framework Change 3900954 by Max.Preussner MediaCompositing: Don't evaluate at the end of media section Change 3901348 by Max.Preussner Core: Replaced TLruCache autos for better readability Change 3901655 by Max.Preussner ImgMedia: Added more perf stats to EXR reader Change 3901972 by Max.Preussner MediaAssets: Added getter for media player in media sound components Change 3902233 by Max.Preussner MediaAssets: Enabling media textures to receive samples right after player is assigned Change 3902238 by Max.Preussner MediaCompositing: Working around init/shutdown idiosyncracies in sequencer Change 3904045 by Max.Chen Sequencer: Fix copy/paste crash. Only process UMovieSceneCopyableBinding and objects that can be spawned by the movie scene spawn register. #jira UE-55314 Change 3905605 by Max.Chen Sequencer: Restrict spawnables from being created if they have a ClassWithin that UMovieScene is not a child of. #jira UE-55429 Change 3906550 by Max.Chen Sequencer: Add media track icon #jira UE-55480 Change 3907101 by Max.Chen Sequence Recorder: Fix bugs related to not recording a level sequence. There were certain assumptions that creating a level sequence meant that sequence recording was in progress. This is not always the case - the recorders can record animation assets and not create a level sequence. Changed the notion of IsRecording() to having at least one actor recording that is recording. Countdown timer, recording displays, etc should function if IsRecording() and not based on whether a level sequence is created. #jira UE-55485 Change 3907247 by Max.Chen Sequence Recorder: Fix crash not removing PrepareToCleanseEditorObject delegate. Repros when opening sequence recorder, closing it, and then opening or creating a level. Change 3910343 by Max.Preussner Core: Added async helper for executing functions on a given thread pool Change 3910346 by Max.Preussner ImgMedia: Added separate thread pools for loading/decoding and deleting image frames Change 3910829 by Max.Preussner Profiler: Increased visible range of profiler graph Change 3910841 by Max.Preussner MediaCompositing: Displaying asset name instead of full media source path in media section Change 3910870 by Max.Preussner ImgMedia: Using deallocation thread pool only in debug builds Change 3919642 by Max.Chen Sequence Recorder: Clarify active tooltip #jira UE-55661 Change 3919660 by Max.Chen Sequencer: Sequence template source signatures are now also compared to catch the case where a sub-sequence asset has been saved but not modified - The following sequence of events exposes this issue: - Create a master sequence with a single shot that spawns a cube - Add this sequence to a level and set it to auto-play - Save everything and restart - Resave just the inner shot asset without opening it - PIE - The inner shot never spawns its cube because its template was wiped on save, but its signature never changed. Since the master sequence previously didn't check the template source signature, it ends up trying to evaluate an empty template. #jira UE-55626 #jira UE-55490 Change 3921825 by Max.Chen Sequencer: "Run Construction Script in Sequencer" is off by default for blueprints but on for Sequencer. This allows the content author to switch it on for specific blueprints and sequencer will be default, run those with construction scripts enabled. Change 3922232 by Max.Chen Sequence Recorder: Reset countdelay on stop. #jira UE-55755 Change 3922306 by Max.Chen Sequence Recorder: Don't automatically mark transforms to be recorded by sequence recorder. Instead, log a warning if the user toggled it off to warn that the resulting animation might not match gameplay. #jira UE-55758 Change 3922912 by Max.Chen Sequence Recorder: Fix refresh next sequence name #jira UE-55757 Change 3927654 by Max.Chen Movie Scene Capture: Added format mapping for the name of the current camera #jira UE-55769 PR #4537 Change 3927658 by Max.Chen Sequencer: Added fbx property mapping for "FocusDistance" to "FocusSettings.ManualFocusDistance" #jira UE-55782 Change 3932022 by Max.Chen Sequencer: Add import animation track section to next available row index. #jira UE-55892 Change 3933919 by Max.Chen Sequencer: Jump to playback start frame and not 0 to start playback for recording. #jira UE-55933 Change 3934307 by Andrew.Rodham Sequencer: Add template signature that is re-generated every time the base template is regenerated, which invalidates evaluation fields This fixes an issue where the same sequence is instantiated multiple times in a sequence. If the source sequence was saved, its template would be wiped, which would invalidate the template ID When an instance tries to evaluate the master template, it would only invalidate a range in the evaluation field that was the hull of any invalid sub sequences overlapping the current time, potentially leaving invalid data in the evaluation field at positions later (or earlier) on in the sequence When the sub template was re-generated, it receives the same SequenceSignature as it had before (because the sequence hasn't actually changed), which causes the stale evaluation field data to fail the IsDirty check (because the sequence is the same as it thought, but the *template* has changed) This has been addressed be adding a signature to templates themselves, and checking both the template signature and sequence signature as a part of the IsDirty check. This ensures that we regenerate if either the template, or the sequence have changed. #jira UE-55934 Change 3936327 by Andrew.Rodham Sequencer: Removed increment when trimming right UMovieSceneSection::TrimSection already explicity assigns an exclusive bound to the time passed in. The new behavior means we can trim a section to the right, and insert another section without changing the time to create adjacent sections. #jira UE-42652 Change 3936328 by Andrew.Rodham Fixed KeyFrameManipulator assignment operators and copy/move constructors - These types are potentially self-referential so cannot use default constructors/assignment Change 3936330 by Andrew.Rodham Converted UMGSequencePlayer to use frames internally #jira UE-54878 Change 3936726 by Max.Chen Sequencer: Set track node as the parent of the key area node. The key area switcher needs the object binding id from the parent object binding node. Without this, the binding to the external value fails. #jira UE-55931 Change 3936775 by Max.Chen Sequencer: Should stop or loop should compare DurationFrames with Current Time from StartTime. The bug is that if you set 30 warmup frames in movie rendering for a range of 0-100, the FrameRange will be starting at -30 and have a duration of 130. Without this fix, the playback will continue until frame 130, rather than 100. #jira UE-55933 Change 3936935 by Matt.Hoffman Easing Curves are now represented in Play Rate resolution instead of internal resolution. #jira UE-55937 Change 3937069 by Matt.Hoffman Users can toggle if the is infinite on each side, limited by which tracks support infinite ranges. #jira UE-55891 Change 3937516 by Max.Preussner ImgMedia: Added support for single-threaded platforms #jira UE-55986 Change 3937826 by Max.Preussner MediaAssets: Disabling media sound components on HTML5 if AudioMixer is not enabled Change 3937997 by Max.Chen Curve Editor: Add Zoom to Fit Curves so that selected curves from Sequencer can be focused on. Tested that undo doesn't re-zoom. #jira UE-55935 Change 3938000 by Max.Chen Sequencer: Stop all sounds before generating audio waveforms. #jira UE-55951 Change 3938376 by Max.Preussner XGEController: Disabled XGE Controller in single-threaded apps to prevent crash Change 3938444 by Max.Preussner Core: Added async support for single-threaded applications Change 3938445 by Max.Preussner Networking: Added support for single-threaded applications in UDP socket sender/receiver Change 3938447 by Max.Preussner Messaging: Added support for single-threaded applications Change 3939432 by Max.Chen Sequence Recorder: Append command list to global level editor actions so that shortcuts are accessible in level editor. #jira UE-55798 Change 3940229 by Andrew.Rodham Added prospective display rate upgrade to UMovieScene::PostLoad - There was previously some very odd behaviour that would assign the fixed frame interval only when a sub sequence was focused in SSequencer. This meant that many sequences could have a frame interval of 0 set in the data. - Under the old method of snap interval display this would have fallen back to getting the display interval from the sequencer settings, but we no longer look at these. - The USequencerSettings properties have been removed and in their place, a prospective data upgrade for sequences that have a fixed frame interval old 0fps that sets the play rate to the previous defaults based off the old USequencerSettings defaults. - This could end up 'changing' the display rate for sequences where the user has changed the snap interval in the settings for a particular sequence editor, but there's not much we can do about that given we don't have access to the USequencerSettings classes in UMovieScene #jira UE-55919 Change 3940277 by Andrew.Rodham Sequencer: Added ability to default frame resolutions and play rates for newly created actor sequences Change 3940378 by Andrew.Rodham Sequencer: Post move import dialog now defaults to the playback framerate of the sequence, and floors to frame numbers Change 3940559 by Andrew.Rodham Reinstated primed or recording sequence color Change 3940642 by Max.Preussner ImagePlate: Removed image plate media playback functionality Change 3940843 by Max.Preussner Core: Made TCircularQueue actually thread-safe; improved code comments Change 3940860 by Max.Chen Sequencer: Changed StructNameToKey to StructPathToKey Previously, keying a PropertyPath of [RenderTransform][Shear][X] would get trimmed to X, which doesn't map to a channel name as considered by Sequencer2dTransformTrackEditor. Instead, trim the resulting property path to [Shear][X] so that track editors can determine the desired struct path and channels to key. #jira UE-52966 Change 3941292 by Mike.Zyracki Fix for trajectories out of range not showing up. 1) If we had no key data we would pop the time, so wouldn't get the section ranges. 2) Calculating of upper bound was wrong, checking against -1 and not key == num of keys when doing algo::lower_bound. 3) No need to do the Bck-- for the bakward iterators since we fixed #2. We start now from the upper bound correctly. 4) If we had no keys (at section start,end) we would incorrectly say we were any key type, so since we draw constant keys as dashed we would do so incorrectly around section end points. #jira UE-55929 Change 3941424 by Max.Chen Curve Editor: Change Zoom to Fit to use TArrayView Change 3941498 by Max.Preussner Core: Added FMath::DivideAndRoundNearest function Change 3942097 by Matt.Hoffman Drop Frame Timecode Support for NTSC rates. Change 3942104 by Matt.Hoffman Sequence Recorder Group is no longer visible inside the World Outliner after using one. #jira 55266 Change 3942107 by Max.Chen Sequencer: Resurrect logic to find or extend an existing section when adding keys. Change 3942330 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942339 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942507 by Andrew.Rodham Sequencer: We no longer pad the time overlap threshold with a small number that is not scaled by the current zoom level - The presence of this pad was causing keys that were far apart to be grouped when zoomed in a long way Change 3942509 by Andrew.Rodham Sequencer: Only pad total view range, rather than section range as well when retrieving keys to render - This stops us from rendering keys that are within the view range, but outside the section range Change 3942512 by Andrew.Rodham Added transactions to some sequencer details customizations Change 3942513 by Andrew.Rodham Sequencer: Reinstated validation checks to UMovieSceneSection::SetStartFrame and SetEndFrame, changed erroneous uses to use SetRange Change 3942560 by Andrew.Rodham Pass by rvalue reference to appease error C2719 on Win32 ('InChannels': formal parameter with requested alignment of 8 won't be aligned) Change 3942697 by Andrew.Rodham Newly Created Level Sequences and Actor Sequences now default to 24000 fps frame resolution (+/- ~24hrs range, supporting all integer rates + 23.976) Change 3942700 by Andrew.Rodham Sequencer: Added legacy out-of-bounds errors for times that are not supported by the current legacy upgrade frame resolution Change 3942989 by Max.Preussner Core: Fixed circular queue count calculation Change 3943538 by Max.Preussner MediaAssets: Reverted workaround for procedural audio log spam in HTML5 (Actor component initialization cannot be skipped if the component is used in a level) Change 3944071 by Max.Preussner QAGame: Fixed Media Texture keeps last frame of Media when PIE ends #jira UE-53360 Change 3944292 by Max.Chen Sequencer: Added extra flags to ensure that asset initialization does not occur on template actor sequences #jira UE-56113 Change 3944364 by Max.Chen Sequencer: Prevent circular shot/master tracks. Tested adding master -> child -> master as drag and drop cinematic shot tracks and sub tracks as well as through the + button. #jira UE-56091 Change 3944422 by Max.Chen Sequence Recorder: Disable transform recording if off. #jira UE-56061 Change 3944745 by Andrew.Rodham Sequencer: Key rendering fixes - Fixed assert that occured when keys happened to reside on some times due to KeyTime + TimeOverlapThreshold - KeyTime being slightly larger TimeOverlapThreshold - Fixed keys sometimes being clipped when zoomed right in due to lack of half-frame offset - Added missing documentation to MovieSceneTimeHelpers.h #jira UE-56107 Change 3945231 by Andrew.Rodham Sequencer: Reconstruct channel proxy on Serialize to catch all cases of undo/redo, PostLoad and duplication #jira UE-56089 Change 3945301 by Andrew.Rodham Sequencer: Added safety checks during initial sequence recording to guard against applying negative or 0-sized sequence ranges #jira UE-56125 Change 3946627 by Max.Preussner Fortnite: Fixed game crashes closing editor while in PIE - Pure virtual function being called #jira UE-56144 [CL 3946896 by Max Chen in Main branch]
2018-03-14 22:09:33 -04:00
TRange<FFrameNumber> SelectionRange = TimeSliderArgs.SelectionRange.Get();
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3178529) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3149443 on 2016/10/03 by Max.Preussner MediaAssets: Better parameter names for MediaPlayer BP functions Change 3149756 on 2016/10/03 by Max.Chen Sequence Recorder: Set some settings to be clamped at 0 (sequence length, recording delay, audio gain, audio input buffer size, nearby actor recording proximity) #jira UE-35233 Change 3149795 on 2016/10/03 by Max.Chen Curve Editor: Set tangent to user when flattening or straightening tangents only when the tangent mode is auto and the interp mode is cubic. #jira UE-36734 Change 3150378 on 2016/10/04 by Max.Preussner PS4Media: Made video buffer sizes for file and HLS sources configurable (UE-36807) #jira UE-36807 Change 3151414 on 2016/10/05 by Max.Chen Sequencer: Fix case where restoring the last view target was getting skipped. It should always restore if the camera object and the unlock if camera actor object is null. #jira UE-35285 Change 3152038 on 2016/10/05 by Max.Preussner UdpMessaging: Code & documentation modernization pass Change 3152471 on 2016/10/05 by Max.Chen Cine Camera: Don't enable/disable actor ticking based soley on actor tracking since actor ticking is needed for other purposes. Instead, always enable actor ticking and only update actor tracking on tick if necessary. This fixes a bug where the cine camera actor won't tick if you hook in event tick. #jira UE-36625 Change 3152692 on 2016/10/05 by Max.Preussner Messaging: API code & documentation modernization pass Mostly removed shared pointer/ref typedefs as they prevent forward declarations and increase include complexity. Change 3153824 on 2016/10/06 by Max.Preussner Messaging: Renamed IConnectionBasedMessagingModule to ITcpMessagingModule and moved it into TcpMessaging I recommend that we refactor this API. The dependency should be reversed, i.e. instead of AndroidDeviceDiscovery depending on the TcpMessaging plug-in module, the Engine should provide a central registry that device discovery modules can notify, and that message transport plug-ins can register with and listen to OnConnectionAdded/Removed events etc. That way it supports an arbitrary number of transport plug-ins, and the Engine is not coupled to any of them. This functionality is not necessarily related to messaging, and the Messaging API is transport agnostic anyway. I'll think about this some more. Change 3153826 on 2016/10/06 by Max.Preussner Messaging: Removed remaining typedefs in IMessageTracer to enable forward declaration and reduce include dependencies Change 3153857 on 2016/10/06 by Max.Chen Sequencer: Set snap time to dragged key on by default. Change 3153980 on 2016/10/06 by Max.Preussner SessionServices: Removed typedefs; code and documentation modernization pass Change 3154313 on 2016/10/06 by Max.Chen Sequencer: Set the paste keys time to the current time, rather than the mouse time. Change 3154332 on 2016/10/06 by Max.Chen Sequencer: Remove click to rename shot functionality in the shot thumbnail. Added rename shot to the shot context menu. Change 3154377 on 2016/10/07 by Max.Chen Sequencer: Add ability to step to beginning and ends of sections/shots using the hotkeys: , and . Change 3154788 on 2016/10/07 by Max.Chen Sequencer: Fix offsets that created when moving multiple sections. The offsets were being created because section bounds were being generated for all sections except for the current section. Instead, they should be computed for all sections except for any that aren't being moved. #jira UE-29152 Change 3159274 on 2016/10/11 by Max.Preussner Core: Documentation fixes Change 3159275 on 2016/10/11 by Max.Preussner UdpMessaging: Added missing header Change 3160746 on 2016/10/12 by Max.Preussner MediaAssets: Added BP functions to query width, height, and aspect ratio of UMediaTexture instances #jira UE-37241 Change 3160975 on 2016/10/12 by Max.Preussner PS4Media: Better logging for SetRate failures Change 3160995 on 2016/10/12 by Max.Preussner MediaPlayerEditor: Fixed Media player selection is ignored if media specifies player overrides (UE-37248) #jira UE-37248 Change 3161066 on 2016/10/12 by Max.Preussner PS4Media: Enforcing minimum 8 byte alignment for media allocations Change 3161069 on 2016/10/12 by Max.Preussner PS4Media: Fixed log spam when setting play rate to current rate Change 3162567 on 2016/10/13 by Max.Preussner PS4Media: Made track switching code more readable Change 3163447 on 2016/10/14 by Max.Preussner PS4Media: Fixed array out of bounds assertions Change 3163772 on 2016/10/14 by Max.Preussner MfMedia: Fixed a number of timing related issues Change 3163980 on 2016/10/15 by Max.Chen Sequencer: Remove folder name numeric padding so that the naming convention is similar to creating objects in the level. Change 3164581 on 2016/10/17 by Andrew.Rodham Sequencer: Ensure global pre-animated state is restored in reverse order Change 3164582 on 2016/10/17 by Andrew.Rodham Sequencer: Ensure pre animated state is restored for all actor components before saving default state Change 3164583 on 2016/10/17 by Andrew.Rodham Sequencer: Re-enabled support for pre and post roll Change 3165464 on 2016/10/17 by Max.Chen Sequencer: Default number frame handles to 0 so that there's no change in behavior when rendering out a master sequence of shots. Handle frames need to enabled explicitly by the user. Copy from Release-4.14 #jira UE-37416 Change 3165483 on 2016/10/17 by Max.Chen Sequencer: Enable restore state for attach section completion Change 3165771 on 2016/10/18 by Andrew.Rodham Sequencer: Force evaluate when rendering thumbnails #jira UE-37321 Change 3166057 on 2016/10/18 by Andrew.Rodham Sequencer: Only set defaults for tracks that have no keys, and where the requested default has changed #jira UE-37285 Change 3166218 on 2016/10/18 by Max.Preussner MediaPlayerEditor: Failure opening media, even though it opened successfully (UE-37470) #jira UE-37470 Change 3166247 on 2016/10/18 by Max.Preussner WmfMedia: Showing progress bar while media is being resolved Change 3166289 on 2016/10/18 by Max.Preussner MfMedia: Showing progress bar while media is being resolved Change 3166993 on 2016/10/18 by Max.Preussner MfMedia: Fixed info string not reset on media close. Change 3166999 on 2016/10/19 by Max.Preussner Media: Fixed NV12 and NV21 support Change 3167008 on 2016/10/19 by Max.Preussner Media: Removed vertical NV12 alignment Change 3167029 on 2016/10/19 by Max.Preussner WmfMedia: Temp fix for RGB32 encoded AVIs rendering upside-down and too bright (UE-37505) #jira UE-37505 Change 3168593 on 2016/10/19 by Max.Chen Sequencer: Change paste at time to local time, so that the paste happens in the local time of the sequence rather than the global time if pasting in a shot level sequence. Change 3168626 on 2016/10/19 by Max.Chen Sequencer: Clamp to view bounds should snap to frame if frame snapping is on. Change 3168627 on 2016/10/19 by Max.Chen Sequencer: Initialize working and view range to be 10% larger than playback range. Change 3168760 on 2016/10/20 by Max.Preussner Media: Revamped media texture buffer management to support padded frames Added support for Windows bitmap buffers. Fixed a number of format, conversion and/or looping issues in WmfMedia and MfMedia. Not all shaders have been updated yet. Change 3169640 on 2016/10/20 by Max.Chen Sequencer: Add current camera to FLevelSequencePlayerSnapshot. Adjust DefaultBurnIn to include a few more parameters like focal length and focus distance. #jira UE-37407 Change 3170677 on 2016/10/21 by Max.Chen Movie Scene Capture: Add toggle to override engine scalability settings to cinematic scalability. #jira UE-36560 Change 3170710 on 2016/10/21 by Max.Preussner Media: Optimized handling of RGB input Change 3170712 on 2016/10/21 by Max.Preussner Media: Fixed NV21 conversion shader scaling Change 3170923 on 2016/10/21 by Max.Preussner UBT: Copied XboxOne project generator fix from Fortnite CL# 3170868 Change 3171494 on 2016/10/23 by Max.Chen Sequencer: Fix fbx export from master sequence not finding bound objects. #jira UE-35752 Change 3171506 on 2016/10/23 by Max.Chen Sequencer: Draw where in and out points of the shot section are, just like subsequences do. Change to only draw the green starting line if StartOffset is negative. #jira UE-35473 Change 3171743 on 2016/10/24 by Andrew.Rodham Editor: Added support for detail customizations on root structs - Also added the ability to add external struct data onto a detail category builder, and property type customization. Change 3171752 on 2016/10/24 by Andrew.Rodham Sequencer: Fixed spawnable ownership - Spawnables are no longer destroyed when the cursor leaves the master playback range. - Spawnable ownership now operates as it previously did before the evaluation rework. - bIgnoreOwnershipInEditor has been removed since its existence was a work around for when we didn't evaluate sub sequences from the master sequence. - FMovieSceneSequenceID is now a struct so that it can be used in array properties - Meta data now exists for each segment of an evaluation field. Currently this only includes the sub sequence IDs that exist at that time, but it may be expanded to include all evaluation entities (tracks + sections) in future so we don't have to calculate that at runtime. Change 3171756 on 2016/10/24 by Andrew.Rodham Sequencer: Added ability to trigger events with parameters - It's now possible to supply an event payload on event track keys which are to be passed to a given event. The structure must match the signature of the event, or a warning will be emitted. - Added a templated TGenericKeyArea, TKeyFrameManipulator and TCurveInterface that allow to generic manipulation of keyframe section data. In time we will port the other key areas over to this representation. - This new architecture affords the common manipulation of time-based keyframes in a value-agnostic manner. Change 3172935 on 2016/10/24 by Max.Preussner MediaPlayerEditor: Fixed MediaPlayer asset not being dirtied when creating media sound wave or texture for it Change 3173947 on 2016/10/25 by Max.Preussner SlateRemote: Disabled plug-in, but enabled server by default Change 3174510 on 2016/10/26 by Max.Chen Sequencer: Fix slomo track crash #jira UE-37802 Change 3174698 on 2016/10/26 by Andrew.Rodham UMG: Fixed objects bound to a panel slot animating their slot's content instead of the slot itself #jira UE-37775 Change 3174780 on 2016/10/26 by Max.Preussner MediaAssets: Accepting decoder defined buffer dimensions for RGB buffers Change 3174789 on 2016/10/26 by Max.Preussner MediaPlayerEditor: Showing desired player name instead of current player name if no media loaded Change 3174817 on 2016/10/26 by Max.Preussner WmfMedia: Added support for Motion JPEG (MJPG) Change 3174825 on 2016/10/26 by Max.Preussner WmfMedia: Added support for non-RGB32 uncompressed formats Change 3174834 on 2016/10/26 by Max.Preussner MediaPlayerAssets: Allow pausing while buffering media Change 3174886 on 2016/10/26 by Andrew.Rodham Core: Fixed range test that was testing incorrect behavior Change 3174889 on 2016/10/26 by Andrew.Rodham Sequencer: Fixed AssignActor behavior - Also ensure that cached object state is invalidated when playback context changes #jira UE-37798 Change 3174905 on 2016/10/26 by Andrew.Rodham Sequencer: Changed assert when failing to create an audio component to a log message - Audio no longer plays when GEngine->UseSound() is false #jira UE-37772 Change 3174980 on 2016/10/26 by Andrew.Rodham Sequencer: Remove warning when event endpoint could not be found for a given context #jira UE-37824 Change 3175001 on 2016/10/26 by Andrew.Rodham Sequencer: Evaluate sequence with EMovieScenePlaybackStatus::Jumping on Pause. - Also protect Pause() against reentrancy when being called from an event Change 3175012 on 2016/10/26 by Max.Chen Sequence Recorder: Fixes an empty working and view range after recording. On StopRecording() update playback range after nullifying the current sequence so that the playback range isn't empty. Added SetViewRange and SetWorkingRange. #jira UE-34191 Change 3177760 on 2016/10/28 by Max.Chen Sequence Recorder: Don't update the current sequence name if it's already set. This fixes a bug where if you pass in a sequence name to record to, it gets reset to the name in the sequence recorder settings. #jira UE-37808 Change 3178529 on 2016/10/28 by Max.Chen Matinee to Level Sequence: Added interface to extend the matinee to level sequence converter #jira UE-37328 #2864 [CL 3178562 by Max Chen in Main branch]
2016-10-28 15:04:38 -04:00
MenuBuilder.BeginSection("SequencerSelectionRangeMenu", FText::Format(LOCTEXT("SelectionRangeTextFormat", "Selection Range ({0}):"), CurrentTimeText));
{
MenuBuilder.AddMenuEntry(
LOCTEXT("SetSelectionStart", "Set Selection Start"),
FText(),
FSlateIcon(),
FUIAction(
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3946692) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3801826 by Max.Chen PR #4304: Level Sequence crash fix - Guarded against dereferencing null componen. (Contributed by DSDambuster) Change 3801828 by Max.Chen PR #4302: Movie Scene Visibility Template unitialised variable, causing random . (Contributed by DSDambuster) Change 3801837 by Max.Chen Sequencer: Delay spawning/construction for convert to possessable. This fixes a bug where property values would be lost when converting back and forth from possessable to spawnable. #jira UE-52400 Change 3801841 by Max.Chen Sequencer: Make spacer nodes not selectable. PR #4194: Improvements to Sequencer (Contributed by projectgheist) #jira UE-53117 #jira UE-52139 Change 3804183 by Max.Preussner MediaAssets: Added missing lock in media sound component Change 3805414 by Max.Preussner MediaAssets: Setting valid GUID when initializing media texture resource Change 3819578 by Max.Chen PR #4370: When enabling the "MovieCapture", do not turn off the Stereo-3D display. (Contributed by yehaike) #jira UE-53647 Change 3823414 by Max.Chen Curve Editor: Lock down the first and last keys in the redundant keys removal range so that they're unaffected. #jira UE-53591 Change 3826406 by Max.Chen Sequencer: Move OnStartedPlaying() to within first update in UpdateTimeCursorPosition(). This fixes an issue where setting the hud/player visibility was getting stomped on later. #jira UE-52772 Change 3827044 by Max.Preussner MediaAssets: Added sprite visualization to media sound component #jira UE-53594 Change 3827988 by Max.Preussner MediaPlayerAssets: Fixed Media Texture is not linked to Media Player when created together #jira UE-53532 Change 3828506 by Max.Preussner MediaPlayerEditor: Added attenuation visualizer for media sound components #jira UE-53594 Change 3832590 by andrew.porter EngineTest: Added a keep state check in Property Animation sequencer test Change 3833053 by andrew.porter EngineTest: Adding Hierarchical Bias test Change 3835683 by andrew.porter EngineTest: Adding UMG Animation screenshot test Change 3836076 by Max.Chen Sequencer: Fix audio volume and pitch multiplier deprecation. Change 3836230 by andrew.porter EngineTest: Adding Sequence Bone Position automation test Change 3836347 by Max.Chen Sequencer: Fixes to shot name parsing. When a shot doesn't contain a shot number, assume, [ShotName]_[TakeNumber]. When duplicating a shot, put the new shot in the same path of the original shot, so that the take numbers will increment properly. #jira UE-51868 Change 3836552 by Max.Chen Sequencer: Sub section now has a takes menu Change 3838094 by Max.Chen UMG: Fix template finish not getting called on stop. This fixes a bug where sections aren't restored when finished. #jira UE-52285 Change 3838708 by Max.Chen Sequencer: Add notification when the blend type is changed. #jira UE-54046 Change 3840295 by Max.Chen Sequencer: Fix copy/paste crash for lights #jira UE-54084 Change 3840957 by Mike.Zyracki Added Show Only Keyable and Show Only Animated to the filter list in the property editor. Added IsPropertyAnimated to IDetailKeyframe Interface which already had support for showing properties which are keyable (which is used for the key icon next to the properties.). Could have created another interface but then would have had to mimic the sequencer binding, releasing also, so this seemed best way. One issue still left is that custom built detail items currently don't store associated properties(usually) and so certain properties, in particulalry transforms, won't show up as keyable or animated. Note this also shows up with the keyable icon not showing up next to transform tracks, and other filters like Show Only Modified not working with transforms/customs. Not sure best way to tackle this. #jira UESEQ-328 Change 3841756 by Max.Chen Sequencer: Fix unbound possessable components when pasting spawnables. #jira UE-54104 Change 3843950 by andrew.porter EngineTest: Renaming LevelStreaming tests/content to LevelVisibility Change 3844082 by Mike.Zyracki Missing file for animated filter in property editor. When finding if a track is animated we need to find it but we can't easily induce the MovieTrack class for any particular property. So we don't set a class for it and just search by it's ID and name. #jira UESEQ-328 Change 3846902 by Max.Preussner ImgMedia: Fixed image media player never finished initialization if loading failed #jira UE-54247 Change 3849820 by Mike.Zyracki Reassigning deleted widgets didn't work since the menu extender mechanism needs a valid UObject in order to perform an operation on it. So to fix we replaced GetObjectBindingContextMenuExtender in WidgetBlueprint with new delegate mechanism (OnBuildCustomContextMenuForGuid) that supports FGuid in addition to UObjects which is needed to handle re-binding deleted widgets. Note that the default sequencer hacks this for replacing deleted actors in SequencerObjectBindingNode to check to see if a LevelSequence is active. We could move to this mechanism there also. #jira UE-53163 Change 3852211 by Max.Chen UMG: Indicate name of the property that is not bound. #jira UE-54350 Change 3854120 by Max.Chen Sequencer: Fix sibling folders being allowed to have the same folder name. #jira UE-54363 Change 3854627 by Max.Chen Sequencer: Step to next/previous key should work for all tracks if there aren't any selected. #jira UESEQ-391 Change 3855825 by andrew.porter EngineTest: Adding animation blending automation test Change 3855950 by andrew.porter EngineTest: Adding correct expected valuues to animation blending test Change 3856237 by Matt.Hoffman UESEQ-336 - Sequencer Track Reordering Adds the ability to re-order Master Tracks, Folders and Object Bindings within sequencer hierarchies (including UMG). Adds the ability to do a one-off sorting of the content under the old sorting behavior if the user wants to reset their layout to how it was under legacy behavior. Modifies SequencerTrackNodes, SequencerFolderNodes and SequencerObjectBindingNodes to handle CanDrop/OnDrop for above, below and ontop of. Fixes a Slate Issue that forcibly expanded a TreeviewRow if an item handled OnDrop. Slate will now only forcibly expand the row if the item says the drop happened ontop of the item, and not above or below it like it previously did. Change 3856503 by andrew.porter EngineTest: Adding automation test for using animation blueprint with blend multi node in sequencer Change 3857875 by Max.Chen Sequencer: Assign the sequence id after the template is compiled. #jira UE-54462 Change 3858344 by Max.Chen Sequencer: Prevent Goto and Transform boxes from overlapping by allowing them to be visible at the same time in an autosized horizontal box. Also, added close button to the goto box. PR #4425: Prevent Goto and Transform boxes from overlapping in Sequencer ... (Contributed by projectgheist) #jira UE-54210 Change 3860566 by andrew.porter MediaFrameworkTest: Set the option to index 0 for the audio and video track list by default Change 3860654 by andrew.porter EngineTest: Enabling Camera Cut + FOV test Change 3860981 by andrew.porter EngineTest: Updating skeletal mesh tests with a delay after set playback position Change 3861256 by Max.Chen Sequencer: Add all bindings if none selected. #jira-54440 Change 3862154 by Andrew.Rodham Added TimeManagement module Change 3862424 by andrew.porter EngineTest: Turned on the test Bone Positions with Blend Multi Node Change 3862573 by andrew.porter EngineTest: Adding test to compare bone positions in a sequence that is blending an animation that is using an AnimBP Change 3865117 by Max.Chen Sequencer: Stop auto scroll on mouse release of movement. #jira UE-31212 Change 3865303 by Max.Chen Sequencer: Add drag and drop transactions #jira UE-54662 Change 3865304 by Max.Chen Sequencer: Fix crash when an actor factory is not found. Change 3865361 by Max.Chen Sequencer: Don't change the camera/shot lock button when popping out of a sequence. #jira UE-54665 Change 3865412 by Max.Chen Sequencer: Determine whether a transform track is for a camera by using the spawned object or template #jira UE-54666 Change 3865685 by Max.Chen Sequencer: Clear autoscrub offset when stopping autoscroll #jira UE-31212 Change 3865886 by Max.Chen Sequence Recorder: Log an error if the number of frames changes while recording. This can happen if the skeleton changes while recording. #jira UE-48715 Change 3866925 by Andrew.Porter MediaFrameworkTest: Changing the current PNG test video image sequence to 1024 x 576 Change 3867705 by andrew.porter QAGame: Adding Audio Sort Sequence to dev folder Change 3867890 by andrew.porter QAGame: Adding a sequence for testing a sorting crash to my dev folder Change 3872628 by Max.Chen Movie Scene Capture: Split delay before warmup into split delay before shot warmup so that there's separate controls for when the movie scene capture warmups up vs. shot boundaries. Change 3873131 by Matt.Hoffman UE-54732 - Crash reordering a folder with a track. This was caused by folders being the only type of track to check if someone was putting a parent track into a child track. Object Binding tracks and Tracks now check as well so that you can't use the above/below drop targets to add parents as children. This also fixed a typo in the localization keys. #jira UE-54732 Change 3873301 by Mike.Zyracki Added ability to support continous euler angle changes when changing rotations, in particularly with the rotation gizmo's. To do this we effectively added a form an of 'euler filter'(https://en.wikipedia.org/wiki/Euler_filter) to find the closest euler angle to the current euler angle. Three functions were added to FRotator to make this possible, one to get the euler angle that's has the same rotation as it, one to get the difference between two euler angles via Manhattan distance and a third using the previous two to choose a Rotator value that's closest to it. We then use these functions before calling UComponent::SetRelativeRotation to make sure we use the correct Euler after the Quat conversion. We also no longer limit(bound) the euler angles to -180,180, which is obviously necessary to avoid flips. I also changed how we caluclate yaw and roll when pitch is -90 or 90 to make it the standard approach of zeroing out roll and just setting yaw. Main reasons are the previous implementation had precision issues so things like 180, 90, -180 would show up due to numbers being nearly zero but negative,(this would break any smooth interpolations), and this facilitates having a 'gimbal' rotation mode (like Maya, Blender etc..) if we ever want that also. If needed we could keep the previous implementation but would need to add some FMath::IsNearlyZero checks, with less performance. Note we only do this special filtering when applying delta's to actors or components in the editors, which then call UComponent::SetRelativeRotationExact, which is a new function to foces the RelativeRotation to be equal to the new rotation. This allows us to store un-nomalized Rotators at the cost that the RotationCache may be broken. We didn't change any of the other UComponent functions that set rotations (via Quats or Transforms) so they will still be bounded and unwound. In SetInternalWorldLocationAndRotation we only set the rotation if the rotation has changed, which fixes the rotation getting changed and re-normalized if just translate happens. In TransformTrackEditor, we correclty use the bUndwing flag and in MovieScene3DTransformSection there was an un-needed winding check there, it will be unwound earlier if needed, which happens if Sequence Recording is happening. Max we should talk about what to do about this . Note the euler angle drag via the widget is still bound to 0-360. I think we should just unbound that now since the rotations value are now unbound. This review now includes fixes suggested by Zak. #jira UE-UE-22228 Change 3873483 by Matt.Hoffman Sequencer Tracks can now be inserted above the spacer at the bottom of the tree. #jira UE-54706 Change 3873899 by Max.Chen Sequencer: Add section selection throbbing Change 3873908 by Max.Chen Movie Scene Capture: Added logging per frame Change 3873924 by Matt.Hoffman Adds the ability to store Sequence Recorder setups into profiles that stay with the map and can be re-loaded later. Profiles store the Actor Recordings so the settings for each actor should carry with them. #jira UESEQ-339 Change 3874726 by Matt.Hoffman Disable drag-and-drop targets on spacers that come between rows in Sequencer. This prevents extra drag/drop targets showing up between each row. #jira UE-54706 Change 3874862 by Matt.Hoffman Audio Track no longer gets reordered when adding sub-audio tracks, as sub-tracks are no longer counted towards the sorting order index when normalizing indexes. #jira UE-54727 Change 3875905 by Matt.Hoffman Disable Fade Track UI if a fade track already exists in the sequence. #jira UESEQ-393 Change 3876163 by Max.Chen Sequencer: Swap the camera object to the camera component's owner if it's not the same. #jira UE-54874 Change 3876971 by Andrew.Porter EngineTest: Moved Media Player Seek test to new folder. Also enabled the test with new ground truth image. Change 3877040 by Max.Chen Cine Camera: Split camera properties to two groups, "Camera Options" and "Camera Settings". The cine camera now hides properties in the "Camera Settings" group so that properties like bConstrainAspectRatio (in the "Camera Options" group) can be visible. #jira UE-54192 Change 3877763 by Max.Chen Curve Editor: Fix curve changed on end drag so that only curves that had keys/tangents that were changed receive notification, otherwise all loaded curves were getting notified that they were changed. #jira UE-54951 Change 3878234 by Matt.Hoffman Disable "Drop Below" targets for Sequencer Tree nodes to prevent a confusing UX issue where dropping underneath a Object Binding Node puts it after the object binding node but the UI looks like it's inserting it inside the Object Binding node. #jira UE-54743 Change 3879359 by Mike.Zyracki If a track is inactive we dim it a bit which seems to be the UE4 way to show inactive or disabled state. We changed the active logic so that all subtracks need to be inactive for the track to also be inactive(instead of all active for active). This conforms to how the active state actually works, e.g if you have two sections and only one is active the track is still active above it. #jira UESEQ-388 Change 3879462 by Max.Chen Sequencer: Allow dragging onto a particular row which would move out any overlapping sections to make space for the newly created section. Newly created sections are now selected and throbbed to draw attention to themselves. #jira UE-54664 Change 3879464 by Max.Chen Sequencer: Fixed overlapping ranges being inserted into the evaluation field during compilation - The issue was that track segments that had been combined with adjacent segments (due to them being identical) would potentially cause a subsequently compiled frame to overlap with a range that had already been inserted into the evaluation field. - The insertion code previously asserted that only minor overlaps were catered for (due to fp rounding errors) and assumed that a supplied range could not entirely contain any other range in the field. - The solution is to supply the insertion time along with the range to know exactly where the data should live in the field, and crop the range to the maximum allowable space between adjacent ranges. #jira UE-54922 Change 3879590 by Matt.Hoffman Items that are now added to the Sequencer via the "+Track" menu will be selected after being added. Items can now be added inside of folders instead of just to the root level. #jira UE-27397 Change 3879612 by Mike.Zyracki Display Nodes with no children are always active. #jira UESEQ-388 Change 3879730 by Matt.Hoffman Sequence Recorder's actor recording groups now remove items from the group when removed via the UI. #jira UESEQ-339 Change 3880256 by Mike.Zyracki Fix issue with inactive display with folders and other track nodes. #jira UESEQ-388 Change 3883491 by Max.Chen Fix issue where tick is skipped due to last ticked pose isn't cleared after AnimInstance changes. Copy from Release-4.19 #jira UE-51323 Change 3883603 by Max.Chen Movie Scene Capture: Add option toggle disable screen percentage. By default this is on (no change in current behavior). #jira UE-51898 Change 3885074 by Max.Preussner MediaCompositing: Resetting media texture & freeing resource on section end; removed dead code Change 3887220 by Max.Preussner MediaCompositing: Defaulted media section duration to 1 sec (since we do not know the actual duration in most cases) Change 3887478 by Matt.Hoffman Sequences now show [Inactive] in their title bars when they're disabled. This helps communicate why a sequence isn't being evaluated. #jira UE-51469 Change 3888985 by Max.Chen Movie Scene Capture: Clamp HDR Compression Quality between 0 and 1. #jira UE-55136 Change 3893519 by Max.Chen Sequence Recorder: Clarified tooltip for bRecordNearbySpawnedActors - spawned actors will still be recorded if they match the ActorFilter. #jira UE-55238 Change 3893546 by Max.Chen Sequence Recorder: If a selected actor already has a recording, add a blank recording. #jira UE-55239 Change 3894044 by Max.Preussner MediaCompositing: Added support for seeking into a media section Change 3894310 by andrew.porter MediaFrameworkTest: Adding Img media sources for 1080 and 2160 ravent test content Change 3894426 by Max.Preussner MediaAssets: Letting media textures with AutoClear retain their clear color when player is reset Change 3895717 by Max.Chen Sequencer: Null checks to prevent crash when saving the default state of a spawnable #jira UE-55304 Change 3897388 by Max.Chen Sequencer: Don't update current time to be within the view range when stepping into a sequence. #jira UE-55322 Change 3897452 by Max.Chen Audio: Fix crash when trying to record audio without any active capture devices. Log warning if the number of input channels is not 1 or 2. #jira UE-55223 Change 3897619 by Max.Preussner MediaCompositing: Removed commented out code Change 3898072 by Max.Chen Sequencer: Override the animation asset in the player state if it doesn't match the animation asset that's being evaluated. #jira UE-55328 Change 3898272 by Max.Preussner MediaPlayerEditor: Made slate brush constants static Change 3898704 by Max.Chen Sequencer: Skip if the binding id's sequence can't be found. #jira UE-55337 Change 3899855 by Max.Preussner MediaCompositingEditor: Added cache state visualization to media track Change 3900300 by Max.Preussner MediaCompositingEditor: Added loop indicators to media sections Change 3900694 by Max.Preussner ImfMedia: Looping cache only when player is looping Change 3900892 by Max.Preussner Stats: Added stats category for media framework Change 3900954 by Max.Preussner MediaCompositing: Don't evaluate at the end of media section Change 3901348 by Max.Preussner Core: Replaced TLruCache autos for better readability Change 3901655 by Max.Preussner ImgMedia: Added more perf stats to EXR reader Change 3901972 by Max.Preussner MediaAssets: Added getter for media player in media sound components Change 3902233 by Max.Preussner MediaAssets: Enabling media textures to receive samples right after player is assigned Change 3902238 by Max.Preussner MediaCompositing: Working around init/shutdown idiosyncracies in sequencer Change 3904045 by Max.Chen Sequencer: Fix copy/paste crash. Only process UMovieSceneCopyableBinding and objects that can be spawned by the movie scene spawn register. #jira UE-55314 Change 3905605 by Max.Chen Sequencer: Restrict spawnables from being created if they have a ClassWithin that UMovieScene is not a child of. #jira UE-55429 Change 3906550 by Max.Chen Sequencer: Add media track icon #jira UE-55480 Change 3907101 by Max.Chen Sequence Recorder: Fix bugs related to not recording a level sequence. There were certain assumptions that creating a level sequence meant that sequence recording was in progress. This is not always the case - the recorders can record animation assets and not create a level sequence. Changed the notion of IsRecording() to having at least one actor recording that is recording. Countdown timer, recording displays, etc should function if IsRecording() and not based on whether a level sequence is created. #jira UE-55485 Change 3907247 by Max.Chen Sequence Recorder: Fix crash not removing PrepareToCleanseEditorObject delegate. Repros when opening sequence recorder, closing it, and then opening or creating a level. Change 3910343 by Max.Preussner Core: Added async helper for executing functions on a given thread pool Change 3910346 by Max.Preussner ImgMedia: Added separate thread pools for loading/decoding and deleting image frames Change 3910829 by Max.Preussner Profiler: Increased visible range of profiler graph Change 3910841 by Max.Preussner MediaCompositing: Displaying asset name instead of full media source path in media section Change 3910870 by Max.Preussner ImgMedia: Using deallocation thread pool only in debug builds Change 3919642 by Max.Chen Sequence Recorder: Clarify active tooltip #jira UE-55661 Change 3919660 by Max.Chen Sequencer: Sequence template source signatures are now also compared to catch the case where a sub-sequence asset has been saved but not modified - The following sequence of events exposes this issue: - Create a master sequence with a single shot that spawns a cube - Add this sequence to a level and set it to auto-play - Save everything and restart - Resave just the inner shot asset without opening it - PIE - The inner shot never spawns its cube because its template was wiped on save, but its signature never changed. Since the master sequence previously didn't check the template source signature, it ends up trying to evaluate an empty template. #jira UE-55626 #jira UE-55490 Change 3921825 by Max.Chen Sequencer: "Run Construction Script in Sequencer" is off by default for blueprints but on for Sequencer. This allows the content author to switch it on for specific blueprints and sequencer will be default, run those with construction scripts enabled. Change 3922232 by Max.Chen Sequence Recorder: Reset countdelay on stop. #jira UE-55755 Change 3922306 by Max.Chen Sequence Recorder: Don't automatically mark transforms to be recorded by sequence recorder. Instead, log a warning if the user toggled it off to warn that the resulting animation might not match gameplay. #jira UE-55758 Change 3922912 by Max.Chen Sequence Recorder: Fix refresh next sequence name #jira UE-55757 Change 3927654 by Max.Chen Movie Scene Capture: Added format mapping for the name of the current camera #jira UE-55769 PR #4537 Change 3927658 by Max.Chen Sequencer: Added fbx property mapping for "FocusDistance" to "FocusSettings.ManualFocusDistance" #jira UE-55782 Change 3932022 by Max.Chen Sequencer: Add import animation track section to next available row index. #jira UE-55892 Change 3933919 by Max.Chen Sequencer: Jump to playback start frame and not 0 to start playback for recording. #jira UE-55933 Change 3934307 by Andrew.Rodham Sequencer: Add template signature that is re-generated every time the base template is regenerated, which invalidates evaluation fields This fixes an issue where the same sequence is instantiated multiple times in a sequence. If the source sequence was saved, its template would be wiped, which would invalidate the template ID When an instance tries to evaluate the master template, it would only invalidate a range in the evaluation field that was the hull of any invalid sub sequences overlapping the current time, potentially leaving invalid data in the evaluation field at positions later (or earlier) on in the sequence When the sub template was re-generated, it receives the same SequenceSignature as it had before (because the sequence hasn't actually changed), which causes the stale evaluation field data to fail the IsDirty check (because the sequence is the same as it thought, but the *template* has changed) This has been addressed be adding a signature to templates themselves, and checking both the template signature and sequence signature as a part of the IsDirty check. This ensures that we regenerate if either the template, or the sequence have changed. #jira UE-55934 Change 3936327 by Andrew.Rodham Sequencer: Removed increment when trimming right UMovieSceneSection::TrimSection already explicity assigns an exclusive bound to the time passed in. The new behavior means we can trim a section to the right, and insert another section without changing the time to create adjacent sections. #jira UE-42652 Change 3936328 by Andrew.Rodham Fixed KeyFrameManipulator assignment operators and copy/move constructors - These types are potentially self-referential so cannot use default constructors/assignment Change 3936330 by Andrew.Rodham Converted UMGSequencePlayer to use frames internally #jira UE-54878 Change 3936726 by Max.Chen Sequencer: Set track node as the parent of the key area node. The key area switcher needs the object binding id from the parent object binding node. Without this, the binding to the external value fails. #jira UE-55931 Change 3936775 by Max.Chen Sequencer: Should stop or loop should compare DurationFrames with Current Time from StartTime. The bug is that if you set 30 warmup frames in movie rendering for a range of 0-100, the FrameRange will be starting at -30 and have a duration of 130. Without this fix, the playback will continue until frame 130, rather than 100. #jira UE-55933 Change 3936935 by Matt.Hoffman Easing Curves are now represented in Play Rate resolution instead of internal resolution. #jira UE-55937 Change 3937069 by Matt.Hoffman Users can toggle if the is infinite on each side, limited by which tracks support infinite ranges. #jira UE-55891 Change 3937516 by Max.Preussner ImgMedia: Added support for single-threaded platforms #jira UE-55986 Change 3937826 by Max.Preussner MediaAssets: Disabling media sound components on HTML5 if AudioMixer is not enabled Change 3937997 by Max.Chen Curve Editor: Add Zoom to Fit Curves so that selected curves from Sequencer can be focused on. Tested that undo doesn't re-zoom. #jira UE-55935 Change 3938000 by Max.Chen Sequencer: Stop all sounds before generating audio waveforms. #jira UE-55951 Change 3938376 by Max.Preussner XGEController: Disabled XGE Controller in single-threaded apps to prevent crash Change 3938444 by Max.Preussner Core: Added async support for single-threaded applications Change 3938445 by Max.Preussner Networking: Added support for single-threaded applications in UDP socket sender/receiver Change 3938447 by Max.Preussner Messaging: Added support for single-threaded applications Change 3939432 by Max.Chen Sequence Recorder: Append command list to global level editor actions so that shortcuts are accessible in level editor. #jira UE-55798 Change 3940229 by Andrew.Rodham Added prospective display rate upgrade to UMovieScene::PostLoad - There was previously some very odd behaviour that would assign the fixed frame interval only when a sub sequence was focused in SSequencer. This meant that many sequences could have a frame interval of 0 set in the data. - Under the old method of snap interval display this would have fallen back to getting the display interval from the sequencer settings, but we no longer look at these. - The USequencerSettings properties have been removed and in their place, a prospective data upgrade for sequences that have a fixed frame interval old 0fps that sets the play rate to the previous defaults based off the old USequencerSettings defaults. - This could end up 'changing' the display rate for sequences where the user has changed the snap interval in the settings for a particular sequence editor, but there's not much we can do about that given we don't have access to the USequencerSettings classes in UMovieScene #jira UE-55919 Change 3940277 by Andrew.Rodham Sequencer: Added ability to default frame resolutions and play rates for newly created actor sequences Change 3940378 by Andrew.Rodham Sequencer: Post move import dialog now defaults to the playback framerate of the sequence, and floors to frame numbers Change 3940559 by Andrew.Rodham Reinstated primed or recording sequence color Change 3940642 by Max.Preussner ImagePlate: Removed image plate media playback functionality Change 3940843 by Max.Preussner Core: Made TCircularQueue actually thread-safe; improved code comments Change 3940860 by Max.Chen Sequencer: Changed StructNameToKey to StructPathToKey Previously, keying a PropertyPath of [RenderTransform][Shear][X] would get trimmed to X, which doesn't map to a channel name as considered by Sequencer2dTransformTrackEditor. Instead, trim the resulting property path to [Shear][X] so that track editors can determine the desired struct path and channels to key. #jira UE-52966 Change 3941292 by Mike.Zyracki Fix for trajectories out of range not showing up. 1) If we had no key data we would pop the time, so wouldn't get the section ranges. 2) Calculating of upper bound was wrong, checking against -1 and not key == num of keys when doing algo::lower_bound. 3) No need to do the Bck-- for the bakward iterators since we fixed #2. We start now from the upper bound correctly. 4) If we had no keys (at section start,end) we would incorrectly say we were any key type, so since we draw constant keys as dashed we would do so incorrectly around section end points. #jira UE-55929 Change 3941424 by Max.Chen Curve Editor: Change Zoom to Fit to use TArrayView Change 3941498 by Max.Preussner Core: Added FMath::DivideAndRoundNearest function Change 3942097 by Matt.Hoffman Drop Frame Timecode Support for NTSC rates. Change 3942104 by Matt.Hoffman Sequence Recorder Group is no longer visible inside the World Outliner after using one. #jira 55266 Change 3942107 by Max.Chen Sequencer: Resurrect logic to find or extend an existing section when adding keys. Change 3942330 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942339 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942507 by Andrew.Rodham Sequencer: We no longer pad the time overlap threshold with a small number that is not scaled by the current zoom level - The presence of this pad was causing keys that were far apart to be grouped when zoomed in a long way Change 3942509 by Andrew.Rodham Sequencer: Only pad total view range, rather than section range as well when retrieving keys to render - This stops us from rendering keys that are within the view range, but outside the section range Change 3942512 by Andrew.Rodham Added transactions to some sequencer details customizations Change 3942513 by Andrew.Rodham Sequencer: Reinstated validation checks to UMovieSceneSection::SetStartFrame and SetEndFrame, changed erroneous uses to use SetRange Change 3942560 by Andrew.Rodham Pass by rvalue reference to appease error C2719 on Win32 ('InChannels': formal parameter with requested alignment of 8 won't be aligned) Change 3942697 by Andrew.Rodham Newly Created Level Sequences and Actor Sequences now default to 24000 fps frame resolution (+/- ~24hrs range, supporting all integer rates + 23.976) Change 3942700 by Andrew.Rodham Sequencer: Added legacy out-of-bounds errors for times that are not supported by the current legacy upgrade frame resolution Change 3942989 by Max.Preussner Core: Fixed circular queue count calculation Change 3943538 by Max.Preussner MediaAssets: Reverted workaround for procedural audio log spam in HTML5 (Actor component initialization cannot be skipped if the component is used in a level) Change 3944071 by Max.Preussner QAGame: Fixed Media Texture keeps last frame of Media when PIE ends #jira UE-53360 Change 3944292 by Max.Chen Sequencer: Added extra flags to ensure that asset initialization does not occur on template actor sequences #jira UE-56113 Change 3944364 by Max.Chen Sequencer: Prevent circular shot/master tracks. Tested adding master -> child -> master as drag and drop cinematic shot tracks and sub tracks as well as through the + button. #jira UE-56091 Change 3944422 by Max.Chen Sequence Recorder: Disable transform recording if off. #jira UE-56061 Change 3944745 by Andrew.Rodham Sequencer: Key rendering fixes - Fixed assert that occured when keys happened to reside on some times due to KeyTime + TimeOverlapThreshold - KeyTime being slightly larger TimeOverlapThreshold - Fixed keys sometimes being clipped when zoomed right in due to lack of half-frame offset - Added missing documentation to MovieSceneTimeHelpers.h #jira UE-56107 Change 3945231 by Andrew.Rodham Sequencer: Reconstruct channel proxy on Serialize to catch all cases of undo/redo, PostLoad and duplication #jira UE-56089 Change 3945301 by Andrew.Rodham Sequencer: Added safety checks during initial sequence recording to guard against applying negative or 0-sized sequence ranges #jira UE-56125 Change 3946627 by Max.Preussner Fortnite: Fixed game crashes closing editor while in PIE - Pure virtual function being called #jira UE-56144 [CL 3946896 by Max Chen in Main branch]
2018-03-14 22:09:33 -04:00
FExecuteAction::CreateLambda([=]{ SetSelectionRangeStart(FrameNumber); }),
FCanExecuteAction::CreateLambda([=]{ return SelectionRange.IsEmpty() || FrameNumber < UE::MovieScene::DiscreteExclusiveUpper(SelectionRange); })
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3178529) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3149443 on 2016/10/03 by Max.Preussner MediaAssets: Better parameter names for MediaPlayer BP functions Change 3149756 on 2016/10/03 by Max.Chen Sequence Recorder: Set some settings to be clamped at 0 (sequence length, recording delay, audio gain, audio input buffer size, nearby actor recording proximity) #jira UE-35233 Change 3149795 on 2016/10/03 by Max.Chen Curve Editor: Set tangent to user when flattening or straightening tangents only when the tangent mode is auto and the interp mode is cubic. #jira UE-36734 Change 3150378 on 2016/10/04 by Max.Preussner PS4Media: Made video buffer sizes for file and HLS sources configurable (UE-36807) #jira UE-36807 Change 3151414 on 2016/10/05 by Max.Chen Sequencer: Fix case where restoring the last view target was getting skipped. It should always restore if the camera object and the unlock if camera actor object is null. #jira UE-35285 Change 3152038 on 2016/10/05 by Max.Preussner UdpMessaging: Code & documentation modernization pass Change 3152471 on 2016/10/05 by Max.Chen Cine Camera: Don't enable/disable actor ticking based soley on actor tracking since actor ticking is needed for other purposes. Instead, always enable actor ticking and only update actor tracking on tick if necessary. This fixes a bug where the cine camera actor won't tick if you hook in event tick. #jira UE-36625 Change 3152692 on 2016/10/05 by Max.Preussner Messaging: API code & documentation modernization pass Mostly removed shared pointer/ref typedefs as they prevent forward declarations and increase include complexity. Change 3153824 on 2016/10/06 by Max.Preussner Messaging: Renamed IConnectionBasedMessagingModule to ITcpMessagingModule and moved it into TcpMessaging I recommend that we refactor this API. The dependency should be reversed, i.e. instead of AndroidDeviceDiscovery depending on the TcpMessaging plug-in module, the Engine should provide a central registry that device discovery modules can notify, and that message transport plug-ins can register with and listen to OnConnectionAdded/Removed events etc. That way it supports an arbitrary number of transport plug-ins, and the Engine is not coupled to any of them. This functionality is not necessarily related to messaging, and the Messaging API is transport agnostic anyway. I'll think about this some more. Change 3153826 on 2016/10/06 by Max.Preussner Messaging: Removed remaining typedefs in IMessageTracer to enable forward declaration and reduce include dependencies Change 3153857 on 2016/10/06 by Max.Chen Sequencer: Set snap time to dragged key on by default. Change 3153980 on 2016/10/06 by Max.Preussner SessionServices: Removed typedefs; code and documentation modernization pass Change 3154313 on 2016/10/06 by Max.Chen Sequencer: Set the paste keys time to the current time, rather than the mouse time. Change 3154332 on 2016/10/06 by Max.Chen Sequencer: Remove click to rename shot functionality in the shot thumbnail. Added rename shot to the shot context menu. Change 3154377 on 2016/10/07 by Max.Chen Sequencer: Add ability to step to beginning and ends of sections/shots using the hotkeys: , and . Change 3154788 on 2016/10/07 by Max.Chen Sequencer: Fix offsets that created when moving multiple sections. The offsets were being created because section bounds were being generated for all sections except for the current section. Instead, they should be computed for all sections except for any that aren't being moved. #jira UE-29152 Change 3159274 on 2016/10/11 by Max.Preussner Core: Documentation fixes Change 3159275 on 2016/10/11 by Max.Preussner UdpMessaging: Added missing header Change 3160746 on 2016/10/12 by Max.Preussner MediaAssets: Added BP functions to query width, height, and aspect ratio of UMediaTexture instances #jira UE-37241 Change 3160975 on 2016/10/12 by Max.Preussner PS4Media: Better logging for SetRate failures Change 3160995 on 2016/10/12 by Max.Preussner MediaPlayerEditor: Fixed Media player selection is ignored if media specifies player overrides (UE-37248) #jira UE-37248 Change 3161066 on 2016/10/12 by Max.Preussner PS4Media: Enforcing minimum 8 byte alignment for media allocations Change 3161069 on 2016/10/12 by Max.Preussner PS4Media: Fixed log spam when setting play rate to current rate Change 3162567 on 2016/10/13 by Max.Preussner PS4Media: Made track switching code more readable Change 3163447 on 2016/10/14 by Max.Preussner PS4Media: Fixed array out of bounds assertions Change 3163772 on 2016/10/14 by Max.Preussner MfMedia: Fixed a number of timing related issues Change 3163980 on 2016/10/15 by Max.Chen Sequencer: Remove folder name numeric padding so that the naming convention is similar to creating objects in the level. Change 3164581 on 2016/10/17 by Andrew.Rodham Sequencer: Ensure global pre-animated state is restored in reverse order Change 3164582 on 2016/10/17 by Andrew.Rodham Sequencer: Ensure pre animated state is restored for all actor components before saving default state Change 3164583 on 2016/10/17 by Andrew.Rodham Sequencer: Re-enabled support for pre and post roll Change 3165464 on 2016/10/17 by Max.Chen Sequencer: Default number frame handles to 0 so that there's no change in behavior when rendering out a master sequence of shots. Handle frames need to enabled explicitly by the user. Copy from Release-4.14 #jira UE-37416 Change 3165483 on 2016/10/17 by Max.Chen Sequencer: Enable restore state for attach section completion Change 3165771 on 2016/10/18 by Andrew.Rodham Sequencer: Force evaluate when rendering thumbnails #jira UE-37321 Change 3166057 on 2016/10/18 by Andrew.Rodham Sequencer: Only set defaults for tracks that have no keys, and where the requested default has changed #jira UE-37285 Change 3166218 on 2016/10/18 by Max.Preussner MediaPlayerEditor: Failure opening media, even though it opened successfully (UE-37470) #jira UE-37470 Change 3166247 on 2016/10/18 by Max.Preussner WmfMedia: Showing progress bar while media is being resolved Change 3166289 on 2016/10/18 by Max.Preussner MfMedia: Showing progress bar while media is being resolved Change 3166993 on 2016/10/18 by Max.Preussner MfMedia: Fixed info string not reset on media close. Change 3166999 on 2016/10/19 by Max.Preussner Media: Fixed NV12 and NV21 support Change 3167008 on 2016/10/19 by Max.Preussner Media: Removed vertical NV12 alignment Change 3167029 on 2016/10/19 by Max.Preussner WmfMedia: Temp fix for RGB32 encoded AVIs rendering upside-down and too bright (UE-37505) #jira UE-37505 Change 3168593 on 2016/10/19 by Max.Chen Sequencer: Change paste at time to local time, so that the paste happens in the local time of the sequence rather than the global time if pasting in a shot level sequence. Change 3168626 on 2016/10/19 by Max.Chen Sequencer: Clamp to view bounds should snap to frame if frame snapping is on. Change 3168627 on 2016/10/19 by Max.Chen Sequencer: Initialize working and view range to be 10% larger than playback range. Change 3168760 on 2016/10/20 by Max.Preussner Media: Revamped media texture buffer management to support padded frames Added support for Windows bitmap buffers. Fixed a number of format, conversion and/or looping issues in WmfMedia and MfMedia. Not all shaders have been updated yet. Change 3169640 on 2016/10/20 by Max.Chen Sequencer: Add current camera to FLevelSequencePlayerSnapshot. Adjust DefaultBurnIn to include a few more parameters like focal length and focus distance. #jira UE-37407 Change 3170677 on 2016/10/21 by Max.Chen Movie Scene Capture: Add toggle to override engine scalability settings to cinematic scalability. #jira UE-36560 Change 3170710 on 2016/10/21 by Max.Preussner Media: Optimized handling of RGB input Change 3170712 on 2016/10/21 by Max.Preussner Media: Fixed NV21 conversion shader scaling Change 3170923 on 2016/10/21 by Max.Preussner UBT: Copied XboxOne project generator fix from Fortnite CL# 3170868 Change 3171494 on 2016/10/23 by Max.Chen Sequencer: Fix fbx export from master sequence not finding bound objects. #jira UE-35752 Change 3171506 on 2016/10/23 by Max.Chen Sequencer: Draw where in and out points of the shot section are, just like subsequences do. Change to only draw the green starting line if StartOffset is negative. #jira UE-35473 Change 3171743 on 2016/10/24 by Andrew.Rodham Editor: Added support for detail customizations on root structs - Also added the ability to add external struct data onto a detail category builder, and property type customization. Change 3171752 on 2016/10/24 by Andrew.Rodham Sequencer: Fixed spawnable ownership - Spawnables are no longer destroyed when the cursor leaves the master playback range. - Spawnable ownership now operates as it previously did before the evaluation rework. - bIgnoreOwnershipInEditor has been removed since its existence was a work around for when we didn't evaluate sub sequences from the master sequence. - FMovieSceneSequenceID is now a struct so that it can be used in array properties - Meta data now exists for each segment of an evaluation field. Currently this only includes the sub sequence IDs that exist at that time, but it may be expanded to include all evaluation entities (tracks + sections) in future so we don't have to calculate that at runtime. Change 3171756 on 2016/10/24 by Andrew.Rodham Sequencer: Added ability to trigger events with parameters - It's now possible to supply an event payload on event track keys which are to be passed to a given event. The structure must match the signature of the event, or a warning will be emitted. - Added a templated TGenericKeyArea, TKeyFrameManipulator and TCurveInterface that allow to generic manipulation of keyframe section data. In time we will port the other key areas over to this representation. - This new architecture affords the common manipulation of time-based keyframes in a value-agnostic manner. Change 3172935 on 2016/10/24 by Max.Preussner MediaPlayerEditor: Fixed MediaPlayer asset not being dirtied when creating media sound wave or texture for it Change 3173947 on 2016/10/25 by Max.Preussner SlateRemote: Disabled plug-in, but enabled server by default Change 3174510 on 2016/10/26 by Max.Chen Sequencer: Fix slomo track crash #jira UE-37802 Change 3174698 on 2016/10/26 by Andrew.Rodham UMG: Fixed objects bound to a panel slot animating their slot's content instead of the slot itself #jira UE-37775 Change 3174780 on 2016/10/26 by Max.Preussner MediaAssets: Accepting decoder defined buffer dimensions for RGB buffers Change 3174789 on 2016/10/26 by Max.Preussner MediaPlayerEditor: Showing desired player name instead of current player name if no media loaded Change 3174817 on 2016/10/26 by Max.Preussner WmfMedia: Added support for Motion JPEG (MJPG) Change 3174825 on 2016/10/26 by Max.Preussner WmfMedia: Added support for non-RGB32 uncompressed formats Change 3174834 on 2016/10/26 by Max.Preussner MediaPlayerAssets: Allow pausing while buffering media Change 3174886 on 2016/10/26 by Andrew.Rodham Core: Fixed range test that was testing incorrect behavior Change 3174889 on 2016/10/26 by Andrew.Rodham Sequencer: Fixed AssignActor behavior - Also ensure that cached object state is invalidated when playback context changes #jira UE-37798 Change 3174905 on 2016/10/26 by Andrew.Rodham Sequencer: Changed assert when failing to create an audio component to a log message - Audio no longer plays when GEngine->UseSound() is false #jira UE-37772 Change 3174980 on 2016/10/26 by Andrew.Rodham Sequencer: Remove warning when event endpoint could not be found for a given context #jira UE-37824 Change 3175001 on 2016/10/26 by Andrew.Rodham Sequencer: Evaluate sequence with EMovieScenePlaybackStatus::Jumping on Pause. - Also protect Pause() against reentrancy when being called from an event Change 3175012 on 2016/10/26 by Max.Chen Sequence Recorder: Fixes an empty working and view range after recording. On StopRecording() update playback range after nullifying the current sequence so that the playback range isn't empty. Added SetViewRange and SetWorkingRange. #jira UE-34191 Change 3177760 on 2016/10/28 by Max.Chen Sequence Recorder: Don't update the current sequence name if it's already set. This fixes a bug where if you pass in a sequence name to record to, it gets reset to the name in the sequence recorder settings. #jira UE-37808 Change 3178529 on 2016/10/28 by Max.Chen Matinee to Level Sequence: Added interface to extend the matinee to level sequence converter #jira UE-37328 #2864 [CL 3178562 by Max Chen in Main branch]
2016-10-28 15:04:38 -04:00
)
);
MenuBuilder.AddMenuEntry(
LOCTEXT("SetSelectionEnd", "Set Selection End"),
FText(),
FSlateIcon(),
FUIAction(
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3946692) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3801826 by Max.Chen PR #4304: Level Sequence crash fix - Guarded against dereferencing null componen. (Contributed by DSDambuster) Change 3801828 by Max.Chen PR #4302: Movie Scene Visibility Template unitialised variable, causing random . (Contributed by DSDambuster) Change 3801837 by Max.Chen Sequencer: Delay spawning/construction for convert to possessable. This fixes a bug where property values would be lost when converting back and forth from possessable to spawnable. #jira UE-52400 Change 3801841 by Max.Chen Sequencer: Make spacer nodes not selectable. PR #4194: Improvements to Sequencer (Contributed by projectgheist) #jira UE-53117 #jira UE-52139 Change 3804183 by Max.Preussner MediaAssets: Added missing lock in media sound component Change 3805414 by Max.Preussner MediaAssets: Setting valid GUID when initializing media texture resource Change 3819578 by Max.Chen PR #4370: When enabling the "MovieCapture", do not turn off the Stereo-3D display. (Contributed by yehaike) #jira UE-53647 Change 3823414 by Max.Chen Curve Editor: Lock down the first and last keys in the redundant keys removal range so that they're unaffected. #jira UE-53591 Change 3826406 by Max.Chen Sequencer: Move OnStartedPlaying() to within first update in UpdateTimeCursorPosition(). This fixes an issue where setting the hud/player visibility was getting stomped on later. #jira UE-52772 Change 3827044 by Max.Preussner MediaAssets: Added sprite visualization to media sound component #jira UE-53594 Change 3827988 by Max.Preussner MediaPlayerAssets: Fixed Media Texture is not linked to Media Player when created together #jira UE-53532 Change 3828506 by Max.Preussner MediaPlayerEditor: Added attenuation visualizer for media sound components #jira UE-53594 Change 3832590 by andrew.porter EngineTest: Added a keep state check in Property Animation sequencer test Change 3833053 by andrew.porter EngineTest: Adding Hierarchical Bias test Change 3835683 by andrew.porter EngineTest: Adding UMG Animation screenshot test Change 3836076 by Max.Chen Sequencer: Fix audio volume and pitch multiplier deprecation. Change 3836230 by andrew.porter EngineTest: Adding Sequence Bone Position automation test Change 3836347 by Max.Chen Sequencer: Fixes to shot name parsing. When a shot doesn't contain a shot number, assume, [ShotName]_[TakeNumber]. When duplicating a shot, put the new shot in the same path of the original shot, so that the take numbers will increment properly. #jira UE-51868 Change 3836552 by Max.Chen Sequencer: Sub section now has a takes menu Change 3838094 by Max.Chen UMG: Fix template finish not getting called on stop. This fixes a bug where sections aren't restored when finished. #jira UE-52285 Change 3838708 by Max.Chen Sequencer: Add notification when the blend type is changed. #jira UE-54046 Change 3840295 by Max.Chen Sequencer: Fix copy/paste crash for lights #jira UE-54084 Change 3840957 by Mike.Zyracki Added Show Only Keyable and Show Only Animated to the filter list in the property editor. Added IsPropertyAnimated to IDetailKeyframe Interface which already had support for showing properties which are keyable (which is used for the key icon next to the properties.). Could have created another interface but then would have had to mimic the sequencer binding, releasing also, so this seemed best way. One issue still left is that custom built detail items currently don't store associated properties(usually) and so certain properties, in particulalry transforms, won't show up as keyable or animated. Note this also shows up with the keyable icon not showing up next to transform tracks, and other filters like Show Only Modified not working with transforms/customs. Not sure best way to tackle this. #jira UESEQ-328 Change 3841756 by Max.Chen Sequencer: Fix unbound possessable components when pasting spawnables. #jira UE-54104 Change 3843950 by andrew.porter EngineTest: Renaming LevelStreaming tests/content to LevelVisibility Change 3844082 by Mike.Zyracki Missing file for animated filter in property editor. When finding if a track is animated we need to find it but we can't easily induce the MovieTrack class for any particular property. So we don't set a class for it and just search by it's ID and name. #jira UESEQ-328 Change 3846902 by Max.Preussner ImgMedia: Fixed image media player never finished initialization if loading failed #jira UE-54247 Change 3849820 by Mike.Zyracki Reassigning deleted widgets didn't work since the menu extender mechanism needs a valid UObject in order to perform an operation on it. So to fix we replaced GetObjectBindingContextMenuExtender in WidgetBlueprint with new delegate mechanism (OnBuildCustomContextMenuForGuid) that supports FGuid in addition to UObjects which is needed to handle re-binding deleted widgets. Note that the default sequencer hacks this for replacing deleted actors in SequencerObjectBindingNode to check to see if a LevelSequence is active. We could move to this mechanism there also. #jira UE-53163 Change 3852211 by Max.Chen UMG: Indicate name of the property that is not bound. #jira UE-54350 Change 3854120 by Max.Chen Sequencer: Fix sibling folders being allowed to have the same folder name. #jira UE-54363 Change 3854627 by Max.Chen Sequencer: Step to next/previous key should work for all tracks if there aren't any selected. #jira UESEQ-391 Change 3855825 by andrew.porter EngineTest: Adding animation blending automation test Change 3855950 by andrew.porter EngineTest: Adding correct expected valuues to animation blending test Change 3856237 by Matt.Hoffman UESEQ-336 - Sequencer Track Reordering Adds the ability to re-order Master Tracks, Folders and Object Bindings within sequencer hierarchies (including UMG). Adds the ability to do a one-off sorting of the content under the old sorting behavior if the user wants to reset their layout to how it was under legacy behavior. Modifies SequencerTrackNodes, SequencerFolderNodes and SequencerObjectBindingNodes to handle CanDrop/OnDrop for above, below and ontop of. Fixes a Slate Issue that forcibly expanded a TreeviewRow if an item handled OnDrop. Slate will now only forcibly expand the row if the item says the drop happened ontop of the item, and not above or below it like it previously did. Change 3856503 by andrew.porter EngineTest: Adding automation test for using animation blueprint with blend multi node in sequencer Change 3857875 by Max.Chen Sequencer: Assign the sequence id after the template is compiled. #jira UE-54462 Change 3858344 by Max.Chen Sequencer: Prevent Goto and Transform boxes from overlapping by allowing them to be visible at the same time in an autosized horizontal box. Also, added close button to the goto box. PR #4425: Prevent Goto and Transform boxes from overlapping in Sequencer ... (Contributed by projectgheist) #jira UE-54210 Change 3860566 by andrew.porter MediaFrameworkTest: Set the option to index 0 for the audio and video track list by default Change 3860654 by andrew.porter EngineTest: Enabling Camera Cut + FOV test Change 3860981 by andrew.porter EngineTest: Updating skeletal mesh tests with a delay after set playback position Change 3861256 by Max.Chen Sequencer: Add all bindings if none selected. #jira-54440 Change 3862154 by Andrew.Rodham Added TimeManagement module Change 3862424 by andrew.porter EngineTest: Turned on the test Bone Positions with Blend Multi Node Change 3862573 by andrew.porter EngineTest: Adding test to compare bone positions in a sequence that is blending an animation that is using an AnimBP Change 3865117 by Max.Chen Sequencer: Stop auto scroll on mouse release of movement. #jira UE-31212 Change 3865303 by Max.Chen Sequencer: Add drag and drop transactions #jira UE-54662 Change 3865304 by Max.Chen Sequencer: Fix crash when an actor factory is not found. Change 3865361 by Max.Chen Sequencer: Don't change the camera/shot lock button when popping out of a sequence. #jira UE-54665 Change 3865412 by Max.Chen Sequencer: Determine whether a transform track is for a camera by using the spawned object or template #jira UE-54666 Change 3865685 by Max.Chen Sequencer: Clear autoscrub offset when stopping autoscroll #jira UE-31212 Change 3865886 by Max.Chen Sequence Recorder: Log an error if the number of frames changes while recording. This can happen if the skeleton changes while recording. #jira UE-48715 Change 3866925 by Andrew.Porter MediaFrameworkTest: Changing the current PNG test video image sequence to 1024 x 576 Change 3867705 by andrew.porter QAGame: Adding Audio Sort Sequence to dev folder Change 3867890 by andrew.porter QAGame: Adding a sequence for testing a sorting crash to my dev folder Change 3872628 by Max.Chen Movie Scene Capture: Split delay before warmup into split delay before shot warmup so that there's separate controls for when the movie scene capture warmups up vs. shot boundaries. Change 3873131 by Matt.Hoffman UE-54732 - Crash reordering a folder with a track. This was caused by folders being the only type of track to check if someone was putting a parent track into a child track. Object Binding tracks and Tracks now check as well so that you can't use the above/below drop targets to add parents as children. This also fixed a typo in the localization keys. #jira UE-54732 Change 3873301 by Mike.Zyracki Added ability to support continous euler angle changes when changing rotations, in particularly with the rotation gizmo's. To do this we effectively added a form an of 'euler filter'(https://en.wikipedia.org/wiki/Euler_filter) to find the closest euler angle to the current euler angle. Three functions were added to FRotator to make this possible, one to get the euler angle that's has the same rotation as it, one to get the difference between two euler angles via Manhattan distance and a third using the previous two to choose a Rotator value that's closest to it. We then use these functions before calling UComponent::SetRelativeRotation to make sure we use the correct Euler after the Quat conversion. We also no longer limit(bound) the euler angles to -180,180, which is obviously necessary to avoid flips. I also changed how we caluclate yaw and roll when pitch is -90 or 90 to make it the standard approach of zeroing out roll and just setting yaw. Main reasons are the previous implementation had precision issues so things like 180, 90, -180 would show up due to numbers being nearly zero but negative,(this would break any smooth interpolations), and this facilitates having a 'gimbal' rotation mode (like Maya, Blender etc..) if we ever want that also. If needed we could keep the previous implementation but would need to add some FMath::IsNearlyZero checks, with less performance. Note we only do this special filtering when applying delta's to actors or components in the editors, which then call UComponent::SetRelativeRotationExact, which is a new function to foces the RelativeRotation to be equal to the new rotation. This allows us to store un-nomalized Rotators at the cost that the RotationCache may be broken. We didn't change any of the other UComponent functions that set rotations (via Quats or Transforms) so they will still be bounded and unwound. In SetInternalWorldLocationAndRotation we only set the rotation if the rotation has changed, which fixes the rotation getting changed and re-normalized if just translate happens. In TransformTrackEditor, we correclty use the bUndwing flag and in MovieScene3DTransformSection there was an un-needed winding check there, it will be unwound earlier if needed, which happens if Sequence Recording is happening. Max we should talk about what to do about this . Note the euler angle drag via the widget is still bound to 0-360. I think we should just unbound that now since the rotations value are now unbound. This review now includes fixes suggested by Zak. #jira UE-UE-22228 Change 3873483 by Matt.Hoffman Sequencer Tracks can now be inserted above the spacer at the bottom of the tree. #jira UE-54706 Change 3873899 by Max.Chen Sequencer: Add section selection throbbing Change 3873908 by Max.Chen Movie Scene Capture: Added logging per frame Change 3873924 by Matt.Hoffman Adds the ability to store Sequence Recorder setups into profiles that stay with the map and can be re-loaded later. Profiles store the Actor Recordings so the settings for each actor should carry with them. #jira UESEQ-339 Change 3874726 by Matt.Hoffman Disable drag-and-drop targets on spacers that come between rows in Sequencer. This prevents extra drag/drop targets showing up between each row. #jira UE-54706 Change 3874862 by Matt.Hoffman Audio Track no longer gets reordered when adding sub-audio tracks, as sub-tracks are no longer counted towards the sorting order index when normalizing indexes. #jira UE-54727 Change 3875905 by Matt.Hoffman Disable Fade Track UI if a fade track already exists in the sequence. #jira UESEQ-393 Change 3876163 by Max.Chen Sequencer: Swap the camera object to the camera component's owner if it's not the same. #jira UE-54874 Change 3876971 by Andrew.Porter EngineTest: Moved Media Player Seek test to new folder. Also enabled the test with new ground truth image. Change 3877040 by Max.Chen Cine Camera: Split camera properties to two groups, "Camera Options" and "Camera Settings". The cine camera now hides properties in the "Camera Settings" group so that properties like bConstrainAspectRatio (in the "Camera Options" group) can be visible. #jira UE-54192 Change 3877763 by Max.Chen Curve Editor: Fix curve changed on end drag so that only curves that had keys/tangents that were changed receive notification, otherwise all loaded curves were getting notified that they were changed. #jira UE-54951 Change 3878234 by Matt.Hoffman Disable "Drop Below" targets for Sequencer Tree nodes to prevent a confusing UX issue where dropping underneath a Object Binding Node puts it after the object binding node but the UI looks like it's inserting it inside the Object Binding node. #jira UE-54743 Change 3879359 by Mike.Zyracki If a track is inactive we dim it a bit which seems to be the UE4 way to show inactive or disabled state. We changed the active logic so that all subtracks need to be inactive for the track to also be inactive(instead of all active for active). This conforms to how the active state actually works, e.g if you have two sections and only one is active the track is still active above it. #jira UESEQ-388 Change 3879462 by Max.Chen Sequencer: Allow dragging onto a particular row which would move out any overlapping sections to make space for the newly created section. Newly created sections are now selected and throbbed to draw attention to themselves. #jira UE-54664 Change 3879464 by Max.Chen Sequencer: Fixed overlapping ranges being inserted into the evaluation field during compilation - The issue was that track segments that had been combined with adjacent segments (due to them being identical) would potentially cause a subsequently compiled frame to overlap with a range that had already been inserted into the evaluation field. - The insertion code previously asserted that only minor overlaps were catered for (due to fp rounding errors) and assumed that a supplied range could not entirely contain any other range in the field. - The solution is to supply the insertion time along with the range to know exactly where the data should live in the field, and crop the range to the maximum allowable space between adjacent ranges. #jira UE-54922 Change 3879590 by Matt.Hoffman Items that are now added to the Sequencer via the "+Track" menu will be selected after being added. Items can now be added inside of folders instead of just to the root level. #jira UE-27397 Change 3879612 by Mike.Zyracki Display Nodes with no children are always active. #jira UESEQ-388 Change 3879730 by Matt.Hoffman Sequence Recorder's actor recording groups now remove items from the group when removed via the UI. #jira UESEQ-339 Change 3880256 by Mike.Zyracki Fix issue with inactive display with folders and other track nodes. #jira UESEQ-388 Change 3883491 by Max.Chen Fix issue where tick is skipped due to last ticked pose isn't cleared after AnimInstance changes. Copy from Release-4.19 #jira UE-51323 Change 3883603 by Max.Chen Movie Scene Capture: Add option toggle disable screen percentage. By default this is on (no change in current behavior). #jira UE-51898 Change 3885074 by Max.Preussner MediaCompositing: Resetting media texture & freeing resource on section end; removed dead code Change 3887220 by Max.Preussner MediaCompositing: Defaulted media section duration to 1 sec (since we do not know the actual duration in most cases) Change 3887478 by Matt.Hoffman Sequences now show [Inactive] in their title bars when they're disabled. This helps communicate why a sequence isn't being evaluated. #jira UE-51469 Change 3888985 by Max.Chen Movie Scene Capture: Clamp HDR Compression Quality between 0 and 1. #jira UE-55136 Change 3893519 by Max.Chen Sequence Recorder: Clarified tooltip for bRecordNearbySpawnedActors - spawned actors will still be recorded if they match the ActorFilter. #jira UE-55238 Change 3893546 by Max.Chen Sequence Recorder: If a selected actor already has a recording, add a blank recording. #jira UE-55239 Change 3894044 by Max.Preussner MediaCompositing: Added support for seeking into a media section Change 3894310 by andrew.porter MediaFrameworkTest: Adding Img media sources for 1080 and 2160 ravent test content Change 3894426 by Max.Preussner MediaAssets: Letting media textures with AutoClear retain their clear color when player is reset Change 3895717 by Max.Chen Sequencer: Null checks to prevent crash when saving the default state of a spawnable #jira UE-55304 Change 3897388 by Max.Chen Sequencer: Don't update current time to be within the view range when stepping into a sequence. #jira UE-55322 Change 3897452 by Max.Chen Audio: Fix crash when trying to record audio without any active capture devices. Log warning if the number of input channels is not 1 or 2. #jira UE-55223 Change 3897619 by Max.Preussner MediaCompositing: Removed commented out code Change 3898072 by Max.Chen Sequencer: Override the animation asset in the player state if it doesn't match the animation asset that's being evaluated. #jira UE-55328 Change 3898272 by Max.Preussner MediaPlayerEditor: Made slate brush constants static Change 3898704 by Max.Chen Sequencer: Skip if the binding id's sequence can't be found. #jira UE-55337 Change 3899855 by Max.Preussner MediaCompositingEditor: Added cache state visualization to media track Change 3900300 by Max.Preussner MediaCompositingEditor: Added loop indicators to media sections Change 3900694 by Max.Preussner ImfMedia: Looping cache only when player is looping Change 3900892 by Max.Preussner Stats: Added stats category for media framework Change 3900954 by Max.Preussner MediaCompositing: Don't evaluate at the end of media section Change 3901348 by Max.Preussner Core: Replaced TLruCache autos for better readability Change 3901655 by Max.Preussner ImgMedia: Added more perf stats to EXR reader Change 3901972 by Max.Preussner MediaAssets: Added getter for media player in media sound components Change 3902233 by Max.Preussner MediaAssets: Enabling media textures to receive samples right after player is assigned Change 3902238 by Max.Preussner MediaCompositing: Working around init/shutdown idiosyncracies in sequencer Change 3904045 by Max.Chen Sequencer: Fix copy/paste crash. Only process UMovieSceneCopyableBinding and objects that can be spawned by the movie scene spawn register. #jira UE-55314 Change 3905605 by Max.Chen Sequencer: Restrict spawnables from being created if they have a ClassWithin that UMovieScene is not a child of. #jira UE-55429 Change 3906550 by Max.Chen Sequencer: Add media track icon #jira UE-55480 Change 3907101 by Max.Chen Sequence Recorder: Fix bugs related to not recording a level sequence. There were certain assumptions that creating a level sequence meant that sequence recording was in progress. This is not always the case - the recorders can record animation assets and not create a level sequence. Changed the notion of IsRecording() to having at least one actor recording that is recording. Countdown timer, recording displays, etc should function if IsRecording() and not based on whether a level sequence is created. #jira UE-55485 Change 3907247 by Max.Chen Sequence Recorder: Fix crash not removing PrepareToCleanseEditorObject delegate. Repros when opening sequence recorder, closing it, and then opening or creating a level. Change 3910343 by Max.Preussner Core: Added async helper for executing functions on a given thread pool Change 3910346 by Max.Preussner ImgMedia: Added separate thread pools for loading/decoding and deleting image frames Change 3910829 by Max.Preussner Profiler: Increased visible range of profiler graph Change 3910841 by Max.Preussner MediaCompositing: Displaying asset name instead of full media source path in media section Change 3910870 by Max.Preussner ImgMedia: Using deallocation thread pool only in debug builds Change 3919642 by Max.Chen Sequence Recorder: Clarify active tooltip #jira UE-55661 Change 3919660 by Max.Chen Sequencer: Sequence template source signatures are now also compared to catch the case where a sub-sequence asset has been saved but not modified - The following sequence of events exposes this issue: - Create a master sequence with a single shot that spawns a cube - Add this sequence to a level and set it to auto-play - Save everything and restart - Resave just the inner shot asset without opening it - PIE - The inner shot never spawns its cube because its template was wiped on save, but its signature never changed. Since the master sequence previously didn't check the template source signature, it ends up trying to evaluate an empty template. #jira UE-55626 #jira UE-55490 Change 3921825 by Max.Chen Sequencer: "Run Construction Script in Sequencer" is off by default for blueprints but on for Sequencer. This allows the content author to switch it on for specific blueprints and sequencer will be default, run those with construction scripts enabled. Change 3922232 by Max.Chen Sequence Recorder: Reset countdelay on stop. #jira UE-55755 Change 3922306 by Max.Chen Sequence Recorder: Don't automatically mark transforms to be recorded by sequence recorder. Instead, log a warning if the user toggled it off to warn that the resulting animation might not match gameplay. #jira UE-55758 Change 3922912 by Max.Chen Sequence Recorder: Fix refresh next sequence name #jira UE-55757 Change 3927654 by Max.Chen Movie Scene Capture: Added format mapping for the name of the current camera #jira UE-55769 PR #4537 Change 3927658 by Max.Chen Sequencer: Added fbx property mapping for "FocusDistance" to "FocusSettings.ManualFocusDistance" #jira UE-55782 Change 3932022 by Max.Chen Sequencer: Add import animation track section to next available row index. #jira UE-55892 Change 3933919 by Max.Chen Sequencer: Jump to playback start frame and not 0 to start playback for recording. #jira UE-55933 Change 3934307 by Andrew.Rodham Sequencer: Add template signature that is re-generated every time the base template is regenerated, which invalidates evaluation fields This fixes an issue where the same sequence is instantiated multiple times in a sequence. If the source sequence was saved, its template would be wiped, which would invalidate the template ID When an instance tries to evaluate the master template, it would only invalidate a range in the evaluation field that was the hull of any invalid sub sequences overlapping the current time, potentially leaving invalid data in the evaluation field at positions later (or earlier) on in the sequence When the sub template was re-generated, it receives the same SequenceSignature as it had before (because the sequence hasn't actually changed), which causes the stale evaluation field data to fail the IsDirty check (because the sequence is the same as it thought, but the *template* has changed) This has been addressed be adding a signature to templates themselves, and checking both the template signature and sequence signature as a part of the IsDirty check. This ensures that we regenerate if either the template, or the sequence have changed. #jira UE-55934 Change 3936327 by Andrew.Rodham Sequencer: Removed increment when trimming right UMovieSceneSection::TrimSection already explicity assigns an exclusive bound to the time passed in. The new behavior means we can trim a section to the right, and insert another section without changing the time to create adjacent sections. #jira UE-42652 Change 3936328 by Andrew.Rodham Fixed KeyFrameManipulator assignment operators and copy/move constructors - These types are potentially self-referential so cannot use default constructors/assignment Change 3936330 by Andrew.Rodham Converted UMGSequencePlayer to use frames internally #jira UE-54878 Change 3936726 by Max.Chen Sequencer: Set track node as the parent of the key area node. The key area switcher needs the object binding id from the parent object binding node. Without this, the binding to the external value fails. #jira UE-55931 Change 3936775 by Max.Chen Sequencer: Should stop or loop should compare DurationFrames with Current Time from StartTime. The bug is that if you set 30 warmup frames in movie rendering for a range of 0-100, the FrameRange will be starting at -30 and have a duration of 130. Without this fix, the playback will continue until frame 130, rather than 100. #jira UE-55933 Change 3936935 by Matt.Hoffman Easing Curves are now represented in Play Rate resolution instead of internal resolution. #jira UE-55937 Change 3937069 by Matt.Hoffman Users can toggle if the is infinite on each side, limited by which tracks support infinite ranges. #jira UE-55891 Change 3937516 by Max.Preussner ImgMedia: Added support for single-threaded platforms #jira UE-55986 Change 3937826 by Max.Preussner MediaAssets: Disabling media sound components on HTML5 if AudioMixer is not enabled Change 3937997 by Max.Chen Curve Editor: Add Zoom to Fit Curves so that selected curves from Sequencer can be focused on. Tested that undo doesn't re-zoom. #jira UE-55935 Change 3938000 by Max.Chen Sequencer: Stop all sounds before generating audio waveforms. #jira UE-55951 Change 3938376 by Max.Preussner XGEController: Disabled XGE Controller in single-threaded apps to prevent crash Change 3938444 by Max.Preussner Core: Added async support for single-threaded applications Change 3938445 by Max.Preussner Networking: Added support for single-threaded applications in UDP socket sender/receiver Change 3938447 by Max.Preussner Messaging: Added support for single-threaded applications Change 3939432 by Max.Chen Sequence Recorder: Append command list to global level editor actions so that shortcuts are accessible in level editor. #jira UE-55798 Change 3940229 by Andrew.Rodham Added prospective display rate upgrade to UMovieScene::PostLoad - There was previously some very odd behaviour that would assign the fixed frame interval only when a sub sequence was focused in SSequencer. This meant that many sequences could have a frame interval of 0 set in the data. - Under the old method of snap interval display this would have fallen back to getting the display interval from the sequencer settings, but we no longer look at these. - The USequencerSettings properties have been removed and in their place, a prospective data upgrade for sequences that have a fixed frame interval old 0fps that sets the play rate to the previous defaults based off the old USequencerSettings defaults. - This could end up 'changing' the display rate for sequences where the user has changed the snap interval in the settings for a particular sequence editor, but there's not much we can do about that given we don't have access to the USequencerSettings classes in UMovieScene #jira UE-55919 Change 3940277 by Andrew.Rodham Sequencer: Added ability to default frame resolutions and play rates for newly created actor sequences Change 3940378 by Andrew.Rodham Sequencer: Post move import dialog now defaults to the playback framerate of the sequence, and floors to frame numbers Change 3940559 by Andrew.Rodham Reinstated primed or recording sequence color Change 3940642 by Max.Preussner ImagePlate: Removed image plate media playback functionality Change 3940843 by Max.Preussner Core: Made TCircularQueue actually thread-safe; improved code comments Change 3940860 by Max.Chen Sequencer: Changed StructNameToKey to StructPathToKey Previously, keying a PropertyPath of [RenderTransform][Shear][X] would get trimmed to X, which doesn't map to a channel name as considered by Sequencer2dTransformTrackEditor. Instead, trim the resulting property path to [Shear][X] so that track editors can determine the desired struct path and channels to key. #jira UE-52966 Change 3941292 by Mike.Zyracki Fix for trajectories out of range not showing up. 1) If we had no key data we would pop the time, so wouldn't get the section ranges. 2) Calculating of upper bound was wrong, checking against -1 and not key == num of keys when doing algo::lower_bound. 3) No need to do the Bck-- for the bakward iterators since we fixed #2. We start now from the upper bound correctly. 4) If we had no keys (at section start,end) we would incorrectly say we were any key type, so since we draw constant keys as dashed we would do so incorrectly around section end points. #jira UE-55929 Change 3941424 by Max.Chen Curve Editor: Change Zoom to Fit to use TArrayView Change 3941498 by Max.Preussner Core: Added FMath::DivideAndRoundNearest function Change 3942097 by Matt.Hoffman Drop Frame Timecode Support for NTSC rates. Change 3942104 by Matt.Hoffman Sequence Recorder Group is no longer visible inside the World Outliner after using one. #jira 55266 Change 3942107 by Max.Chen Sequencer: Resurrect logic to find or extend an existing section when adding keys. Change 3942330 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942339 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942507 by Andrew.Rodham Sequencer: We no longer pad the time overlap threshold with a small number that is not scaled by the current zoom level - The presence of this pad was causing keys that were far apart to be grouped when zoomed in a long way Change 3942509 by Andrew.Rodham Sequencer: Only pad total view range, rather than section range as well when retrieving keys to render - This stops us from rendering keys that are within the view range, but outside the section range Change 3942512 by Andrew.Rodham Added transactions to some sequencer details customizations Change 3942513 by Andrew.Rodham Sequencer: Reinstated validation checks to UMovieSceneSection::SetStartFrame and SetEndFrame, changed erroneous uses to use SetRange Change 3942560 by Andrew.Rodham Pass by rvalue reference to appease error C2719 on Win32 ('InChannels': formal parameter with requested alignment of 8 won't be aligned) Change 3942697 by Andrew.Rodham Newly Created Level Sequences and Actor Sequences now default to 24000 fps frame resolution (+/- ~24hrs range, supporting all integer rates + 23.976) Change 3942700 by Andrew.Rodham Sequencer: Added legacy out-of-bounds errors for times that are not supported by the current legacy upgrade frame resolution Change 3942989 by Max.Preussner Core: Fixed circular queue count calculation Change 3943538 by Max.Preussner MediaAssets: Reverted workaround for procedural audio log spam in HTML5 (Actor component initialization cannot be skipped if the component is used in a level) Change 3944071 by Max.Preussner QAGame: Fixed Media Texture keeps last frame of Media when PIE ends #jira UE-53360 Change 3944292 by Max.Chen Sequencer: Added extra flags to ensure that asset initialization does not occur on template actor sequences #jira UE-56113 Change 3944364 by Max.Chen Sequencer: Prevent circular shot/master tracks. Tested adding master -> child -> master as drag and drop cinematic shot tracks and sub tracks as well as through the + button. #jira UE-56091 Change 3944422 by Max.Chen Sequence Recorder: Disable transform recording if off. #jira UE-56061 Change 3944745 by Andrew.Rodham Sequencer: Key rendering fixes - Fixed assert that occured when keys happened to reside on some times due to KeyTime + TimeOverlapThreshold - KeyTime being slightly larger TimeOverlapThreshold - Fixed keys sometimes being clipped when zoomed right in due to lack of half-frame offset - Added missing documentation to MovieSceneTimeHelpers.h #jira UE-56107 Change 3945231 by Andrew.Rodham Sequencer: Reconstruct channel proxy on Serialize to catch all cases of undo/redo, PostLoad and duplication #jira UE-56089 Change 3945301 by Andrew.Rodham Sequencer: Added safety checks during initial sequence recording to guard against applying negative or 0-sized sequence ranges #jira UE-56125 Change 3946627 by Max.Preussner Fortnite: Fixed game crashes closing editor while in PIE - Pure virtual function being called #jira UE-56144 [CL 3946896 by Max Chen in Main branch]
2018-03-14 22:09:33 -04:00
FExecuteAction::CreateLambda([=]{ SetSelectionRangeEnd(FrameNumber); }),
FCanExecuteAction::CreateLambda([=]{ return SelectionRange.IsEmpty() || FrameNumber >= UE::MovieScene::DiscreteInclusiveLower(SelectionRange); })
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3178529) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3149443 on 2016/10/03 by Max.Preussner MediaAssets: Better parameter names for MediaPlayer BP functions Change 3149756 on 2016/10/03 by Max.Chen Sequence Recorder: Set some settings to be clamped at 0 (sequence length, recording delay, audio gain, audio input buffer size, nearby actor recording proximity) #jira UE-35233 Change 3149795 on 2016/10/03 by Max.Chen Curve Editor: Set tangent to user when flattening or straightening tangents only when the tangent mode is auto and the interp mode is cubic. #jira UE-36734 Change 3150378 on 2016/10/04 by Max.Preussner PS4Media: Made video buffer sizes for file and HLS sources configurable (UE-36807) #jira UE-36807 Change 3151414 on 2016/10/05 by Max.Chen Sequencer: Fix case where restoring the last view target was getting skipped. It should always restore if the camera object and the unlock if camera actor object is null. #jira UE-35285 Change 3152038 on 2016/10/05 by Max.Preussner UdpMessaging: Code & documentation modernization pass Change 3152471 on 2016/10/05 by Max.Chen Cine Camera: Don't enable/disable actor ticking based soley on actor tracking since actor ticking is needed for other purposes. Instead, always enable actor ticking and only update actor tracking on tick if necessary. This fixes a bug where the cine camera actor won't tick if you hook in event tick. #jira UE-36625 Change 3152692 on 2016/10/05 by Max.Preussner Messaging: API code & documentation modernization pass Mostly removed shared pointer/ref typedefs as they prevent forward declarations and increase include complexity. Change 3153824 on 2016/10/06 by Max.Preussner Messaging: Renamed IConnectionBasedMessagingModule to ITcpMessagingModule and moved it into TcpMessaging I recommend that we refactor this API. The dependency should be reversed, i.e. instead of AndroidDeviceDiscovery depending on the TcpMessaging plug-in module, the Engine should provide a central registry that device discovery modules can notify, and that message transport plug-ins can register with and listen to OnConnectionAdded/Removed events etc. That way it supports an arbitrary number of transport plug-ins, and the Engine is not coupled to any of them. This functionality is not necessarily related to messaging, and the Messaging API is transport agnostic anyway. I'll think about this some more. Change 3153826 on 2016/10/06 by Max.Preussner Messaging: Removed remaining typedefs in IMessageTracer to enable forward declaration and reduce include dependencies Change 3153857 on 2016/10/06 by Max.Chen Sequencer: Set snap time to dragged key on by default. Change 3153980 on 2016/10/06 by Max.Preussner SessionServices: Removed typedefs; code and documentation modernization pass Change 3154313 on 2016/10/06 by Max.Chen Sequencer: Set the paste keys time to the current time, rather than the mouse time. Change 3154332 on 2016/10/06 by Max.Chen Sequencer: Remove click to rename shot functionality in the shot thumbnail. Added rename shot to the shot context menu. Change 3154377 on 2016/10/07 by Max.Chen Sequencer: Add ability to step to beginning and ends of sections/shots using the hotkeys: , and . Change 3154788 on 2016/10/07 by Max.Chen Sequencer: Fix offsets that created when moving multiple sections. The offsets were being created because section bounds were being generated for all sections except for the current section. Instead, they should be computed for all sections except for any that aren't being moved. #jira UE-29152 Change 3159274 on 2016/10/11 by Max.Preussner Core: Documentation fixes Change 3159275 on 2016/10/11 by Max.Preussner UdpMessaging: Added missing header Change 3160746 on 2016/10/12 by Max.Preussner MediaAssets: Added BP functions to query width, height, and aspect ratio of UMediaTexture instances #jira UE-37241 Change 3160975 on 2016/10/12 by Max.Preussner PS4Media: Better logging for SetRate failures Change 3160995 on 2016/10/12 by Max.Preussner MediaPlayerEditor: Fixed Media player selection is ignored if media specifies player overrides (UE-37248) #jira UE-37248 Change 3161066 on 2016/10/12 by Max.Preussner PS4Media: Enforcing minimum 8 byte alignment for media allocations Change 3161069 on 2016/10/12 by Max.Preussner PS4Media: Fixed log spam when setting play rate to current rate Change 3162567 on 2016/10/13 by Max.Preussner PS4Media: Made track switching code more readable Change 3163447 on 2016/10/14 by Max.Preussner PS4Media: Fixed array out of bounds assertions Change 3163772 on 2016/10/14 by Max.Preussner MfMedia: Fixed a number of timing related issues Change 3163980 on 2016/10/15 by Max.Chen Sequencer: Remove folder name numeric padding so that the naming convention is similar to creating objects in the level. Change 3164581 on 2016/10/17 by Andrew.Rodham Sequencer: Ensure global pre-animated state is restored in reverse order Change 3164582 on 2016/10/17 by Andrew.Rodham Sequencer: Ensure pre animated state is restored for all actor components before saving default state Change 3164583 on 2016/10/17 by Andrew.Rodham Sequencer: Re-enabled support for pre and post roll Change 3165464 on 2016/10/17 by Max.Chen Sequencer: Default number frame handles to 0 so that there's no change in behavior when rendering out a master sequence of shots. Handle frames need to enabled explicitly by the user. Copy from Release-4.14 #jira UE-37416 Change 3165483 on 2016/10/17 by Max.Chen Sequencer: Enable restore state for attach section completion Change 3165771 on 2016/10/18 by Andrew.Rodham Sequencer: Force evaluate when rendering thumbnails #jira UE-37321 Change 3166057 on 2016/10/18 by Andrew.Rodham Sequencer: Only set defaults for tracks that have no keys, and where the requested default has changed #jira UE-37285 Change 3166218 on 2016/10/18 by Max.Preussner MediaPlayerEditor: Failure opening media, even though it opened successfully (UE-37470) #jira UE-37470 Change 3166247 on 2016/10/18 by Max.Preussner WmfMedia: Showing progress bar while media is being resolved Change 3166289 on 2016/10/18 by Max.Preussner MfMedia: Showing progress bar while media is being resolved Change 3166993 on 2016/10/18 by Max.Preussner MfMedia: Fixed info string not reset on media close. Change 3166999 on 2016/10/19 by Max.Preussner Media: Fixed NV12 and NV21 support Change 3167008 on 2016/10/19 by Max.Preussner Media: Removed vertical NV12 alignment Change 3167029 on 2016/10/19 by Max.Preussner WmfMedia: Temp fix for RGB32 encoded AVIs rendering upside-down and too bright (UE-37505) #jira UE-37505 Change 3168593 on 2016/10/19 by Max.Chen Sequencer: Change paste at time to local time, so that the paste happens in the local time of the sequence rather than the global time if pasting in a shot level sequence. Change 3168626 on 2016/10/19 by Max.Chen Sequencer: Clamp to view bounds should snap to frame if frame snapping is on. Change 3168627 on 2016/10/19 by Max.Chen Sequencer: Initialize working and view range to be 10% larger than playback range. Change 3168760 on 2016/10/20 by Max.Preussner Media: Revamped media texture buffer management to support padded frames Added support for Windows bitmap buffers. Fixed a number of format, conversion and/or looping issues in WmfMedia and MfMedia. Not all shaders have been updated yet. Change 3169640 on 2016/10/20 by Max.Chen Sequencer: Add current camera to FLevelSequencePlayerSnapshot. Adjust DefaultBurnIn to include a few more parameters like focal length and focus distance. #jira UE-37407 Change 3170677 on 2016/10/21 by Max.Chen Movie Scene Capture: Add toggle to override engine scalability settings to cinematic scalability. #jira UE-36560 Change 3170710 on 2016/10/21 by Max.Preussner Media: Optimized handling of RGB input Change 3170712 on 2016/10/21 by Max.Preussner Media: Fixed NV21 conversion shader scaling Change 3170923 on 2016/10/21 by Max.Preussner UBT: Copied XboxOne project generator fix from Fortnite CL# 3170868 Change 3171494 on 2016/10/23 by Max.Chen Sequencer: Fix fbx export from master sequence not finding bound objects. #jira UE-35752 Change 3171506 on 2016/10/23 by Max.Chen Sequencer: Draw where in and out points of the shot section are, just like subsequences do. Change to only draw the green starting line if StartOffset is negative. #jira UE-35473 Change 3171743 on 2016/10/24 by Andrew.Rodham Editor: Added support for detail customizations on root structs - Also added the ability to add external struct data onto a detail category builder, and property type customization. Change 3171752 on 2016/10/24 by Andrew.Rodham Sequencer: Fixed spawnable ownership - Spawnables are no longer destroyed when the cursor leaves the master playback range. - Spawnable ownership now operates as it previously did before the evaluation rework. - bIgnoreOwnershipInEditor has been removed since its existence was a work around for when we didn't evaluate sub sequences from the master sequence. - FMovieSceneSequenceID is now a struct so that it can be used in array properties - Meta data now exists for each segment of an evaluation field. Currently this only includes the sub sequence IDs that exist at that time, but it may be expanded to include all evaluation entities (tracks + sections) in future so we don't have to calculate that at runtime. Change 3171756 on 2016/10/24 by Andrew.Rodham Sequencer: Added ability to trigger events with parameters - It's now possible to supply an event payload on event track keys which are to be passed to a given event. The structure must match the signature of the event, or a warning will be emitted. - Added a templated TGenericKeyArea, TKeyFrameManipulator and TCurveInterface that allow to generic manipulation of keyframe section data. In time we will port the other key areas over to this representation. - This new architecture affords the common manipulation of time-based keyframes in a value-agnostic manner. Change 3172935 on 2016/10/24 by Max.Preussner MediaPlayerEditor: Fixed MediaPlayer asset not being dirtied when creating media sound wave or texture for it Change 3173947 on 2016/10/25 by Max.Preussner SlateRemote: Disabled plug-in, but enabled server by default Change 3174510 on 2016/10/26 by Max.Chen Sequencer: Fix slomo track crash #jira UE-37802 Change 3174698 on 2016/10/26 by Andrew.Rodham UMG: Fixed objects bound to a panel slot animating their slot's content instead of the slot itself #jira UE-37775 Change 3174780 on 2016/10/26 by Max.Preussner MediaAssets: Accepting decoder defined buffer dimensions for RGB buffers Change 3174789 on 2016/10/26 by Max.Preussner MediaPlayerEditor: Showing desired player name instead of current player name if no media loaded Change 3174817 on 2016/10/26 by Max.Preussner WmfMedia: Added support for Motion JPEG (MJPG) Change 3174825 on 2016/10/26 by Max.Preussner WmfMedia: Added support for non-RGB32 uncompressed formats Change 3174834 on 2016/10/26 by Max.Preussner MediaPlayerAssets: Allow pausing while buffering media Change 3174886 on 2016/10/26 by Andrew.Rodham Core: Fixed range test that was testing incorrect behavior Change 3174889 on 2016/10/26 by Andrew.Rodham Sequencer: Fixed AssignActor behavior - Also ensure that cached object state is invalidated when playback context changes #jira UE-37798 Change 3174905 on 2016/10/26 by Andrew.Rodham Sequencer: Changed assert when failing to create an audio component to a log message - Audio no longer plays when GEngine->UseSound() is false #jira UE-37772 Change 3174980 on 2016/10/26 by Andrew.Rodham Sequencer: Remove warning when event endpoint could not be found for a given context #jira UE-37824 Change 3175001 on 2016/10/26 by Andrew.Rodham Sequencer: Evaluate sequence with EMovieScenePlaybackStatus::Jumping on Pause. - Also protect Pause() against reentrancy when being called from an event Change 3175012 on 2016/10/26 by Max.Chen Sequence Recorder: Fixes an empty working and view range after recording. On StopRecording() update playback range after nullifying the current sequence so that the playback range isn't empty. Added SetViewRange and SetWorkingRange. #jira UE-34191 Change 3177760 on 2016/10/28 by Max.Chen Sequence Recorder: Don't update the current sequence name if it's already set. This fixes a bug where if you pass in a sequence name to record to, it gets reset to the name in the sequence recorder settings. #jira UE-37808 Change 3178529 on 2016/10/28 by Max.Chen Matinee to Level Sequence: Added interface to extend the matinee to level sequence converter #jira UE-37328 #2864 [CL 3178562 by Max Chen in Main branch]
2016-10-28 15:04:38 -04:00
)
);
MenuBuilder.AddMenuEntry(
LOCTEXT("ClearSelectionRange", "Clear Selection Range"),
FText(),
FSlateIcon(),
FUIAction(
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3946692) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3801826 by Max.Chen PR #4304: Level Sequence crash fix - Guarded against dereferencing null componen. (Contributed by DSDambuster) Change 3801828 by Max.Chen PR #4302: Movie Scene Visibility Template unitialised variable, causing random . (Contributed by DSDambuster) Change 3801837 by Max.Chen Sequencer: Delay spawning/construction for convert to possessable. This fixes a bug where property values would be lost when converting back and forth from possessable to spawnable. #jira UE-52400 Change 3801841 by Max.Chen Sequencer: Make spacer nodes not selectable. PR #4194: Improvements to Sequencer (Contributed by projectgheist) #jira UE-53117 #jira UE-52139 Change 3804183 by Max.Preussner MediaAssets: Added missing lock in media sound component Change 3805414 by Max.Preussner MediaAssets: Setting valid GUID when initializing media texture resource Change 3819578 by Max.Chen PR #4370: When enabling the "MovieCapture", do not turn off the Stereo-3D display. (Contributed by yehaike) #jira UE-53647 Change 3823414 by Max.Chen Curve Editor: Lock down the first and last keys in the redundant keys removal range so that they're unaffected. #jira UE-53591 Change 3826406 by Max.Chen Sequencer: Move OnStartedPlaying() to within first update in UpdateTimeCursorPosition(). This fixes an issue where setting the hud/player visibility was getting stomped on later. #jira UE-52772 Change 3827044 by Max.Preussner MediaAssets: Added sprite visualization to media sound component #jira UE-53594 Change 3827988 by Max.Preussner MediaPlayerAssets: Fixed Media Texture is not linked to Media Player when created together #jira UE-53532 Change 3828506 by Max.Preussner MediaPlayerEditor: Added attenuation visualizer for media sound components #jira UE-53594 Change 3832590 by andrew.porter EngineTest: Added a keep state check in Property Animation sequencer test Change 3833053 by andrew.porter EngineTest: Adding Hierarchical Bias test Change 3835683 by andrew.porter EngineTest: Adding UMG Animation screenshot test Change 3836076 by Max.Chen Sequencer: Fix audio volume and pitch multiplier deprecation. Change 3836230 by andrew.porter EngineTest: Adding Sequence Bone Position automation test Change 3836347 by Max.Chen Sequencer: Fixes to shot name parsing. When a shot doesn't contain a shot number, assume, [ShotName]_[TakeNumber]. When duplicating a shot, put the new shot in the same path of the original shot, so that the take numbers will increment properly. #jira UE-51868 Change 3836552 by Max.Chen Sequencer: Sub section now has a takes menu Change 3838094 by Max.Chen UMG: Fix template finish not getting called on stop. This fixes a bug where sections aren't restored when finished. #jira UE-52285 Change 3838708 by Max.Chen Sequencer: Add notification when the blend type is changed. #jira UE-54046 Change 3840295 by Max.Chen Sequencer: Fix copy/paste crash for lights #jira UE-54084 Change 3840957 by Mike.Zyracki Added Show Only Keyable and Show Only Animated to the filter list in the property editor. Added IsPropertyAnimated to IDetailKeyframe Interface which already had support for showing properties which are keyable (which is used for the key icon next to the properties.). Could have created another interface but then would have had to mimic the sequencer binding, releasing also, so this seemed best way. One issue still left is that custom built detail items currently don't store associated properties(usually) and so certain properties, in particulalry transforms, won't show up as keyable or animated. Note this also shows up with the keyable icon not showing up next to transform tracks, and other filters like Show Only Modified not working with transforms/customs. Not sure best way to tackle this. #jira UESEQ-328 Change 3841756 by Max.Chen Sequencer: Fix unbound possessable components when pasting spawnables. #jira UE-54104 Change 3843950 by andrew.porter EngineTest: Renaming LevelStreaming tests/content to LevelVisibility Change 3844082 by Mike.Zyracki Missing file for animated filter in property editor. When finding if a track is animated we need to find it but we can't easily induce the MovieTrack class for any particular property. So we don't set a class for it and just search by it's ID and name. #jira UESEQ-328 Change 3846902 by Max.Preussner ImgMedia: Fixed image media player never finished initialization if loading failed #jira UE-54247 Change 3849820 by Mike.Zyracki Reassigning deleted widgets didn't work since the menu extender mechanism needs a valid UObject in order to perform an operation on it. So to fix we replaced GetObjectBindingContextMenuExtender in WidgetBlueprint with new delegate mechanism (OnBuildCustomContextMenuForGuid) that supports FGuid in addition to UObjects which is needed to handle re-binding deleted widgets. Note that the default sequencer hacks this for replacing deleted actors in SequencerObjectBindingNode to check to see if a LevelSequence is active. We could move to this mechanism there also. #jira UE-53163 Change 3852211 by Max.Chen UMG: Indicate name of the property that is not bound. #jira UE-54350 Change 3854120 by Max.Chen Sequencer: Fix sibling folders being allowed to have the same folder name. #jira UE-54363 Change 3854627 by Max.Chen Sequencer: Step to next/previous key should work for all tracks if there aren't any selected. #jira UESEQ-391 Change 3855825 by andrew.porter EngineTest: Adding animation blending automation test Change 3855950 by andrew.porter EngineTest: Adding correct expected valuues to animation blending test Change 3856237 by Matt.Hoffman UESEQ-336 - Sequencer Track Reordering Adds the ability to re-order Master Tracks, Folders and Object Bindings within sequencer hierarchies (including UMG). Adds the ability to do a one-off sorting of the content under the old sorting behavior if the user wants to reset their layout to how it was under legacy behavior. Modifies SequencerTrackNodes, SequencerFolderNodes and SequencerObjectBindingNodes to handle CanDrop/OnDrop for above, below and ontop of. Fixes a Slate Issue that forcibly expanded a TreeviewRow if an item handled OnDrop. Slate will now only forcibly expand the row if the item says the drop happened ontop of the item, and not above or below it like it previously did. Change 3856503 by andrew.porter EngineTest: Adding automation test for using animation blueprint with blend multi node in sequencer Change 3857875 by Max.Chen Sequencer: Assign the sequence id after the template is compiled. #jira UE-54462 Change 3858344 by Max.Chen Sequencer: Prevent Goto and Transform boxes from overlapping by allowing them to be visible at the same time in an autosized horizontal box. Also, added close button to the goto box. PR #4425: Prevent Goto and Transform boxes from overlapping in Sequencer ... (Contributed by projectgheist) #jira UE-54210 Change 3860566 by andrew.porter MediaFrameworkTest: Set the option to index 0 for the audio and video track list by default Change 3860654 by andrew.porter EngineTest: Enabling Camera Cut + FOV test Change 3860981 by andrew.porter EngineTest: Updating skeletal mesh tests with a delay after set playback position Change 3861256 by Max.Chen Sequencer: Add all bindings if none selected. #jira-54440 Change 3862154 by Andrew.Rodham Added TimeManagement module Change 3862424 by andrew.porter EngineTest: Turned on the test Bone Positions with Blend Multi Node Change 3862573 by andrew.porter EngineTest: Adding test to compare bone positions in a sequence that is blending an animation that is using an AnimBP Change 3865117 by Max.Chen Sequencer: Stop auto scroll on mouse release of movement. #jira UE-31212 Change 3865303 by Max.Chen Sequencer: Add drag and drop transactions #jira UE-54662 Change 3865304 by Max.Chen Sequencer: Fix crash when an actor factory is not found. Change 3865361 by Max.Chen Sequencer: Don't change the camera/shot lock button when popping out of a sequence. #jira UE-54665 Change 3865412 by Max.Chen Sequencer: Determine whether a transform track is for a camera by using the spawned object or template #jira UE-54666 Change 3865685 by Max.Chen Sequencer: Clear autoscrub offset when stopping autoscroll #jira UE-31212 Change 3865886 by Max.Chen Sequence Recorder: Log an error if the number of frames changes while recording. This can happen if the skeleton changes while recording. #jira UE-48715 Change 3866925 by Andrew.Porter MediaFrameworkTest: Changing the current PNG test video image sequence to 1024 x 576 Change 3867705 by andrew.porter QAGame: Adding Audio Sort Sequence to dev folder Change 3867890 by andrew.porter QAGame: Adding a sequence for testing a sorting crash to my dev folder Change 3872628 by Max.Chen Movie Scene Capture: Split delay before warmup into split delay before shot warmup so that there's separate controls for when the movie scene capture warmups up vs. shot boundaries. Change 3873131 by Matt.Hoffman UE-54732 - Crash reordering a folder with a track. This was caused by folders being the only type of track to check if someone was putting a parent track into a child track. Object Binding tracks and Tracks now check as well so that you can't use the above/below drop targets to add parents as children. This also fixed a typo in the localization keys. #jira UE-54732 Change 3873301 by Mike.Zyracki Added ability to support continous euler angle changes when changing rotations, in particularly with the rotation gizmo's. To do this we effectively added a form an of 'euler filter'(https://en.wikipedia.org/wiki/Euler_filter) to find the closest euler angle to the current euler angle. Three functions were added to FRotator to make this possible, one to get the euler angle that's has the same rotation as it, one to get the difference between two euler angles via Manhattan distance and a third using the previous two to choose a Rotator value that's closest to it. We then use these functions before calling UComponent::SetRelativeRotation to make sure we use the correct Euler after the Quat conversion. We also no longer limit(bound) the euler angles to -180,180, which is obviously necessary to avoid flips. I also changed how we caluclate yaw and roll when pitch is -90 or 90 to make it the standard approach of zeroing out roll and just setting yaw. Main reasons are the previous implementation had precision issues so things like 180, 90, -180 would show up due to numbers being nearly zero but negative,(this would break any smooth interpolations), and this facilitates having a 'gimbal' rotation mode (like Maya, Blender etc..) if we ever want that also. If needed we could keep the previous implementation but would need to add some FMath::IsNearlyZero checks, with less performance. Note we only do this special filtering when applying delta's to actors or components in the editors, which then call UComponent::SetRelativeRotationExact, which is a new function to foces the RelativeRotation to be equal to the new rotation. This allows us to store un-nomalized Rotators at the cost that the RotationCache may be broken. We didn't change any of the other UComponent functions that set rotations (via Quats or Transforms) so they will still be bounded and unwound. In SetInternalWorldLocationAndRotation we only set the rotation if the rotation has changed, which fixes the rotation getting changed and re-normalized if just translate happens. In TransformTrackEditor, we correclty use the bUndwing flag and in MovieScene3DTransformSection there was an un-needed winding check there, it will be unwound earlier if needed, which happens if Sequence Recording is happening. Max we should talk about what to do about this . Note the euler angle drag via the widget is still bound to 0-360. I think we should just unbound that now since the rotations value are now unbound. This review now includes fixes suggested by Zak. #jira UE-UE-22228 Change 3873483 by Matt.Hoffman Sequencer Tracks can now be inserted above the spacer at the bottom of the tree. #jira UE-54706 Change 3873899 by Max.Chen Sequencer: Add section selection throbbing Change 3873908 by Max.Chen Movie Scene Capture: Added logging per frame Change 3873924 by Matt.Hoffman Adds the ability to store Sequence Recorder setups into profiles that stay with the map and can be re-loaded later. Profiles store the Actor Recordings so the settings for each actor should carry with them. #jira UESEQ-339 Change 3874726 by Matt.Hoffman Disable drag-and-drop targets on spacers that come between rows in Sequencer. This prevents extra drag/drop targets showing up between each row. #jira UE-54706 Change 3874862 by Matt.Hoffman Audio Track no longer gets reordered when adding sub-audio tracks, as sub-tracks are no longer counted towards the sorting order index when normalizing indexes. #jira UE-54727 Change 3875905 by Matt.Hoffman Disable Fade Track UI if a fade track already exists in the sequence. #jira UESEQ-393 Change 3876163 by Max.Chen Sequencer: Swap the camera object to the camera component's owner if it's not the same. #jira UE-54874 Change 3876971 by Andrew.Porter EngineTest: Moved Media Player Seek test to new folder. Also enabled the test with new ground truth image. Change 3877040 by Max.Chen Cine Camera: Split camera properties to two groups, "Camera Options" and "Camera Settings". The cine camera now hides properties in the "Camera Settings" group so that properties like bConstrainAspectRatio (in the "Camera Options" group) can be visible. #jira UE-54192 Change 3877763 by Max.Chen Curve Editor: Fix curve changed on end drag so that only curves that had keys/tangents that were changed receive notification, otherwise all loaded curves were getting notified that they were changed. #jira UE-54951 Change 3878234 by Matt.Hoffman Disable "Drop Below" targets for Sequencer Tree nodes to prevent a confusing UX issue where dropping underneath a Object Binding Node puts it after the object binding node but the UI looks like it's inserting it inside the Object Binding node. #jira UE-54743 Change 3879359 by Mike.Zyracki If a track is inactive we dim it a bit which seems to be the UE4 way to show inactive or disabled state. We changed the active logic so that all subtracks need to be inactive for the track to also be inactive(instead of all active for active). This conforms to how the active state actually works, e.g if you have two sections and only one is active the track is still active above it. #jira UESEQ-388 Change 3879462 by Max.Chen Sequencer: Allow dragging onto a particular row which would move out any overlapping sections to make space for the newly created section. Newly created sections are now selected and throbbed to draw attention to themselves. #jira UE-54664 Change 3879464 by Max.Chen Sequencer: Fixed overlapping ranges being inserted into the evaluation field during compilation - The issue was that track segments that had been combined with adjacent segments (due to them being identical) would potentially cause a subsequently compiled frame to overlap with a range that had already been inserted into the evaluation field. - The insertion code previously asserted that only minor overlaps were catered for (due to fp rounding errors) and assumed that a supplied range could not entirely contain any other range in the field. - The solution is to supply the insertion time along with the range to know exactly where the data should live in the field, and crop the range to the maximum allowable space between adjacent ranges. #jira UE-54922 Change 3879590 by Matt.Hoffman Items that are now added to the Sequencer via the "+Track" menu will be selected after being added. Items can now be added inside of folders instead of just to the root level. #jira UE-27397 Change 3879612 by Mike.Zyracki Display Nodes with no children are always active. #jira UESEQ-388 Change 3879730 by Matt.Hoffman Sequence Recorder's actor recording groups now remove items from the group when removed via the UI. #jira UESEQ-339 Change 3880256 by Mike.Zyracki Fix issue with inactive display with folders and other track nodes. #jira UESEQ-388 Change 3883491 by Max.Chen Fix issue where tick is skipped due to last ticked pose isn't cleared after AnimInstance changes. Copy from Release-4.19 #jira UE-51323 Change 3883603 by Max.Chen Movie Scene Capture: Add option toggle disable screen percentage. By default this is on (no change in current behavior). #jira UE-51898 Change 3885074 by Max.Preussner MediaCompositing: Resetting media texture & freeing resource on section end; removed dead code Change 3887220 by Max.Preussner MediaCompositing: Defaulted media section duration to 1 sec (since we do not know the actual duration in most cases) Change 3887478 by Matt.Hoffman Sequences now show [Inactive] in their title bars when they're disabled. This helps communicate why a sequence isn't being evaluated. #jira UE-51469 Change 3888985 by Max.Chen Movie Scene Capture: Clamp HDR Compression Quality between 0 and 1. #jira UE-55136 Change 3893519 by Max.Chen Sequence Recorder: Clarified tooltip for bRecordNearbySpawnedActors - spawned actors will still be recorded if they match the ActorFilter. #jira UE-55238 Change 3893546 by Max.Chen Sequence Recorder: If a selected actor already has a recording, add a blank recording. #jira UE-55239 Change 3894044 by Max.Preussner MediaCompositing: Added support for seeking into a media section Change 3894310 by andrew.porter MediaFrameworkTest: Adding Img media sources for 1080 and 2160 ravent test content Change 3894426 by Max.Preussner MediaAssets: Letting media textures with AutoClear retain their clear color when player is reset Change 3895717 by Max.Chen Sequencer: Null checks to prevent crash when saving the default state of a spawnable #jira UE-55304 Change 3897388 by Max.Chen Sequencer: Don't update current time to be within the view range when stepping into a sequence. #jira UE-55322 Change 3897452 by Max.Chen Audio: Fix crash when trying to record audio without any active capture devices. Log warning if the number of input channels is not 1 or 2. #jira UE-55223 Change 3897619 by Max.Preussner MediaCompositing: Removed commented out code Change 3898072 by Max.Chen Sequencer: Override the animation asset in the player state if it doesn't match the animation asset that's being evaluated. #jira UE-55328 Change 3898272 by Max.Preussner MediaPlayerEditor: Made slate brush constants static Change 3898704 by Max.Chen Sequencer: Skip if the binding id's sequence can't be found. #jira UE-55337 Change 3899855 by Max.Preussner MediaCompositingEditor: Added cache state visualization to media track Change 3900300 by Max.Preussner MediaCompositingEditor: Added loop indicators to media sections Change 3900694 by Max.Preussner ImfMedia: Looping cache only when player is looping Change 3900892 by Max.Preussner Stats: Added stats category for media framework Change 3900954 by Max.Preussner MediaCompositing: Don't evaluate at the end of media section Change 3901348 by Max.Preussner Core: Replaced TLruCache autos for better readability Change 3901655 by Max.Preussner ImgMedia: Added more perf stats to EXR reader Change 3901972 by Max.Preussner MediaAssets: Added getter for media player in media sound components Change 3902233 by Max.Preussner MediaAssets: Enabling media textures to receive samples right after player is assigned Change 3902238 by Max.Preussner MediaCompositing: Working around init/shutdown idiosyncracies in sequencer Change 3904045 by Max.Chen Sequencer: Fix copy/paste crash. Only process UMovieSceneCopyableBinding and objects that can be spawned by the movie scene spawn register. #jira UE-55314 Change 3905605 by Max.Chen Sequencer: Restrict spawnables from being created if they have a ClassWithin that UMovieScene is not a child of. #jira UE-55429 Change 3906550 by Max.Chen Sequencer: Add media track icon #jira UE-55480 Change 3907101 by Max.Chen Sequence Recorder: Fix bugs related to not recording a level sequence. There were certain assumptions that creating a level sequence meant that sequence recording was in progress. This is not always the case - the recorders can record animation assets and not create a level sequence. Changed the notion of IsRecording() to having at least one actor recording that is recording. Countdown timer, recording displays, etc should function if IsRecording() and not based on whether a level sequence is created. #jira UE-55485 Change 3907247 by Max.Chen Sequence Recorder: Fix crash not removing PrepareToCleanseEditorObject delegate. Repros when opening sequence recorder, closing it, and then opening or creating a level. Change 3910343 by Max.Preussner Core: Added async helper for executing functions on a given thread pool Change 3910346 by Max.Preussner ImgMedia: Added separate thread pools for loading/decoding and deleting image frames Change 3910829 by Max.Preussner Profiler: Increased visible range of profiler graph Change 3910841 by Max.Preussner MediaCompositing: Displaying asset name instead of full media source path in media section Change 3910870 by Max.Preussner ImgMedia: Using deallocation thread pool only in debug builds Change 3919642 by Max.Chen Sequence Recorder: Clarify active tooltip #jira UE-55661 Change 3919660 by Max.Chen Sequencer: Sequence template source signatures are now also compared to catch the case where a sub-sequence asset has been saved but not modified - The following sequence of events exposes this issue: - Create a master sequence with a single shot that spawns a cube - Add this sequence to a level and set it to auto-play - Save everything and restart - Resave just the inner shot asset without opening it - PIE - The inner shot never spawns its cube because its template was wiped on save, but its signature never changed. Since the master sequence previously didn't check the template source signature, it ends up trying to evaluate an empty template. #jira UE-55626 #jira UE-55490 Change 3921825 by Max.Chen Sequencer: "Run Construction Script in Sequencer" is off by default for blueprints but on for Sequencer. This allows the content author to switch it on for specific blueprints and sequencer will be default, run those with construction scripts enabled. Change 3922232 by Max.Chen Sequence Recorder: Reset countdelay on stop. #jira UE-55755 Change 3922306 by Max.Chen Sequence Recorder: Don't automatically mark transforms to be recorded by sequence recorder. Instead, log a warning if the user toggled it off to warn that the resulting animation might not match gameplay. #jira UE-55758 Change 3922912 by Max.Chen Sequence Recorder: Fix refresh next sequence name #jira UE-55757 Change 3927654 by Max.Chen Movie Scene Capture: Added format mapping for the name of the current camera #jira UE-55769 PR #4537 Change 3927658 by Max.Chen Sequencer: Added fbx property mapping for "FocusDistance" to "FocusSettings.ManualFocusDistance" #jira UE-55782 Change 3932022 by Max.Chen Sequencer: Add import animation track section to next available row index. #jira UE-55892 Change 3933919 by Max.Chen Sequencer: Jump to playback start frame and not 0 to start playback for recording. #jira UE-55933 Change 3934307 by Andrew.Rodham Sequencer: Add template signature that is re-generated every time the base template is regenerated, which invalidates evaluation fields This fixes an issue where the same sequence is instantiated multiple times in a sequence. If the source sequence was saved, its template would be wiped, which would invalidate the template ID When an instance tries to evaluate the master template, it would only invalidate a range in the evaluation field that was the hull of any invalid sub sequences overlapping the current time, potentially leaving invalid data in the evaluation field at positions later (or earlier) on in the sequence When the sub template was re-generated, it receives the same SequenceSignature as it had before (because the sequence hasn't actually changed), which causes the stale evaluation field data to fail the IsDirty check (because the sequence is the same as it thought, but the *template* has changed) This has been addressed be adding a signature to templates themselves, and checking both the template signature and sequence signature as a part of the IsDirty check. This ensures that we regenerate if either the template, or the sequence have changed. #jira UE-55934 Change 3936327 by Andrew.Rodham Sequencer: Removed increment when trimming right UMovieSceneSection::TrimSection already explicity assigns an exclusive bound to the time passed in. The new behavior means we can trim a section to the right, and insert another section without changing the time to create adjacent sections. #jira UE-42652 Change 3936328 by Andrew.Rodham Fixed KeyFrameManipulator assignment operators and copy/move constructors - These types are potentially self-referential so cannot use default constructors/assignment Change 3936330 by Andrew.Rodham Converted UMGSequencePlayer to use frames internally #jira UE-54878 Change 3936726 by Max.Chen Sequencer: Set track node as the parent of the key area node. The key area switcher needs the object binding id from the parent object binding node. Without this, the binding to the external value fails. #jira UE-55931 Change 3936775 by Max.Chen Sequencer: Should stop or loop should compare DurationFrames with Current Time from StartTime. The bug is that if you set 30 warmup frames in movie rendering for a range of 0-100, the FrameRange will be starting at -30 and have a duration of 130. Without this fix, the playback will continue until frame 130, rather than 100. #jira UE-55933 Change 3936935 by Matt.Hoffman Easing Curves are now represented in Play Rate resolution instead of internal resolution. #jira UE-55937 Change 3937069 by Matt.Hoffman Users can toggle if the is infinite on each side, limited by which tracks support infinite ranges. #jira UE-55891 Change 3937516 by Max.Preussner ImgMedia: Added support for single-threaded platforms #jira UE-55986 Change 3937826 by Max.Preussner MediaAssets: Disabling media sound components on HTML5 if AudioMixer is not enabled Change 3937997 by Max.Chen Curve Editor: Add Zoom to Fit Curves so that selected curves from Sequencer can be focused on. Tested that undo doesn't re-zoom. #jira UE-55935 Change 3938000 by Max.Chen Sequencer: Stop all sounds before generating audio waveforms. #jira UE-55951 Change 3938376 by Max.Preussner XGEController: Disabled XGE Controller in single-threaded apps to prevent crash Change 3938444 by Max.Preussner Core: Added async support for single-threaded applications Change 3938445 by Max.Preussner Networking: Added support for single-threaded applications in UDP socket sender/receiver Change 3938447 by Max.Preussner Messaging: Added support for single-threaded applications Change 3939432 by Max.Chen Sequence Recorder: Append command list to global level editor actions so that shortcuts are accessible in level editor. #jira UE-55798 Change 3940229 by Andrew.Rodham Added prospective display rate upgrade to UMovieScene::PostLoad - There was previously some very odd behaviour that would assign the fixed frame interval only when a sub sequence was focused in SSequencer. This meant that many sequences could have a frame interval of 0 set in the data. - Under the old method of snap interval display this would have fallen back to getting the display interval from the sequencer settings, but we no longer look at these. - The USequencerSettings properties have been removed and in their place, a prospective data upgrade for sequences that have a fixed frame interval old 0fps that sets the play rate to the previous defaults based off the old USequencerSettings defaults. - This could end up 'changing' the display rate for sequences where the user has changed the snap interval in the settings for a particular sequence editor, but there's not much we can do about that given we don't have access to the USequencerSettings classes in UMovieScene #jira UE-55919 Change 3940277 by Andrew.Rodham Sequencer: Added ability to default frame resolutions and play rates for newly created actor sequences Change 3940378 by Andrew.Rodham Sequencer: Post move import dialog now defaults to the playback framerate of the sequence, and floors to frame numbers Change 3940559 by Andrew.Rodham Reinstated primed or recording sequence color Change 3940642 by Max.Preussner ImagePlate: Removed image plate media playback functionality Change 3940843 by Max.Preussner Core: Made TCircularQueue actually thread-safe; improved code comments Change 3940860 by Max.Chen Sequencer: Changed StructNameToKey to StructPathToKey Previously, keying a PropertyPath of [RenderTransform][Shear][X] would get trimmed to X, which doesn't map to a channel name as considered by Sequencer2dTransformTrackEditor. Instead, trim the resulting property path to [Shear][X] so that track editors can determine the desired struct path and channels to key. #jira UE-52966 Change 3941292 by Mike.Zyracki Fix for trajectories out of range not showing up. 1) If we had no key data we would pop the time, so wouldn't get the section ranges. 2) Calculating of upper bound was wrong, checking against -1 and not key == num of keys when doing algo::lower_bound. 3) No need to do the Bck-- for the bakward iterators since we fixed #2. We start now from the upper bound correctly. 4) If we had no keys (at section start,end) we would incorrectly say we were any key type, so since we draw constant keys as dashed we would do so incorrectly around section end points. #jira UE-55929 Change 3941424 by Max.Chen Curve Editor: Change Zoom to Fit to use TArrayView Change 3941498 by Max.Preussner Core: Added FMath::DivideAndRoundNearest function Change 3942097 by Matt.Hoffman Drop Frame Timecode Support for NTSC rates. Change 3942104 by Matt.Hoffman Sequence Recorder Group is no longer visible inside the World Outliner after using one. #jira 55266 Change 3942107 by Max.Chen Sequencer: Resurrect logic to find or extend an existing section when adding keys. Change 3942330 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942339 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942507 by Andrew.Rodham Sequencer: We no longer pad the time overlap threshold with a small number that is not scaled by the current zoom level - The presence of this pad was causing keys that were far apart to be grouped when zoomed in a long way Change 3942509 by Andrew.Rodham Sequencer: Only pad total view range, rather than section range as well when retrieving keys to render - This stops us from rendering keys that are within the view range, but outside the section range Change 3942512 by Andrew.Rodham Added transactions to some sequencer details customizations Change 3942513 by Andrew.Rodham Sequencer: Reinstated validation checks to UMovieSceneSection::SetStartFrame and SetEndFrame, changed erroneous uses to use SetRange Change 3942560 by Andrew.Rodham Pass by rvalue reference to appease error C2719 on Win32 ('InChannels': formal parameter with requested alignment of 8 won't be aligned) Change 3942697 by Andrew.Rodham Newly Created Level Sequences and Actor Sequences now default to 24000 fps frame resolution (+/- ~24hrs range, supporting all integer rates + 23.976) Change 3942700 by Andrew.Rodham Sequencer: Added legacy out-of-bounds errors for times that are not supported by the current legacy upgrade frame resolution Change 3942989 by Max.Preussner Core: Fixed circular queue count calculation Change 3943538 by Max.Preussner MediaAssets: Reverted workaround for procedural audio log spam in HTML5 (Actor component initialization cannot be skipped if the component is used in a level) Change 3944071 by Max.Preussner QAGame: Fixed Media Texture keeps last frame of Media when PIE ends #jira UE-53360 Change 3944292 by Max.Chen Sequencer: Added extra flags to ensure that asset initialization does not occur on template actor sequences #jira UE-56113 Change 3944364 by Max.Chen Sequencer: Prevent circular shot/master tracks. Tested adding master -> child -> master as drag and drop cinematic shot tracks and sub tracks as well as through the + button. #jira UE-56091 Change 3944422 by Max.Chen Sequence Recorder: Disable transform recording if off. #jira UE-56061 Change 3944745 by Andrew.Rodham Sequencer: Key rendering fixes - Fixed assert that occured when keys happened to reside on some times due to KeyTime + TimeOverlapThreshold - KeyTime being slightly larger TimeOverlapThreshold - Fixed keys sometimes being clipped when zoomed right in due to lack of half-frame offset - Added missing documentation to MovieSceneTimeHelpers.h #jira UE-56107 Change 3945231 by Andrew.Rodham Sequencer: Reconstruct channel proxy on Serialize to catch all cases of undo/redo, PostLoad and duplication #jira UE-56089 Change 3945301 by Andrew.Rodham Sequencer: Added safety checks during initial sequence recording to guard against applying negative or 0-sized sequence ranges #jira UE-56125 Change 3946627 by Max.Preussner Fortnite: Fixed game crashes closing editor while in PIE - Pure virtual function being called #jira UE-56144 [CL 3946896 by Max Chen in Main branch]
2018-03-14 22:09:33 -04:00
FExecuteAction::CreateLambda([=]{ TimeSliderArgs.OnSelectionRangeChanged.ExecuteIfBound(TRange<FFrameNumber>::Empty()); }),
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3178529) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3149443 on 2016/10/03 by Max.Preussner MediaAssets: Better parameter names for MediaPlayer BP functions Change 3149756 on 2016/10/03 by Max.Chen Sequence Recorder: Set some settings to be clamped at 0 (sequence length, recording delay, audio gain, audio input buffer size, nearby actor recording proximity) #jira UE-35233 Change 3149795 on 2016/10/03 by Max.Chen Curve Editor: Set tangent to user when flattening or straightening tangents only when the tangent mode is auto and the interp mode is cubic. #jira UE-36734 Change 3150378 on 2016/10/04 by Max.Preussner PS4Media: Made video buffer sizes for file and HLS sources configurable (UE-36807) #jira UE-36807 Change 3151414 on 2016/10/05 by Max.Chen Sequencer: Fix case where restoring the last view target was getting skipped. It should always restore if the camera object and the unlock if camera actor object is null. #jira UE-35285 Change 3152038 on 2016/10/05 by Max.Preussner UdpMessaging: Code & documentation modernization pass Change 3152471 on 2016/10/05 by Max.Chen Cine Camera: Don't enable/disable actor ticking based soley on actor tracking since actor ticking is needed for other purposes. Instead, always enable actor ticking and only update actor tracking on tick if necessary. This fixes a bug where the cine camera actor won't tick if you hook in event tick. #jira UE-36625 Change 3152692 on 2016/10/05 by Max.Preussner Messaging: API code & documentation modernization pass Mostly removed shared pointer/ref typedefs as they prevent forward declarations and increase include complexity. Change 3153824 on 2016/10/06 by Max.Preussner Messaging: Renamed IConnectionBasedMessagingModule to ITcpMessagingModule and moved it into TcpMessaging I recommend that we refactor this API. The dependency should be reversed, i.e. instead of AndroidDeviceDiscovery depending on the TcpMessaging plug-in module, the Engine should provide a central registry that device discovery modules can notify, and that message transport plug-ins can register with and listen to OnConnectionAdded/Removed events etc. That way it supports an arbitrary number of transport plug-ins, and the Engine is not coupled to any of them. This functionality is not necessarily related to messaging, and the Messaging API is transport agnostic anyway. I'll think about this some more. Change 3153826 on 2016/10/06 by Max.Preussner Messaging: Removed remaining typedefs in IMessageTracer to enable forward declaration and reduce include dependencies Change 3153857 on 2016/10/06 by Max.Chen Sequencer: Set snap time to dragged key on by default. Change 3153980 on 2016/10/06 by Max.Preussner SessionServices: Removed typedefs; code and documentation modernization pass Change 3154313 on 2016/10/06 by Max.Chen Sequencer: Set the paste keys time to the current time, rather than the mouse time. Change 3154332 on 2016/10/06 by Max.Chen Sequencer: Remove click to rename shot functionality in the shot thumbnail. Added rename shot to the shot context menu. Change 3154377 on 2016/10/07 by Max.Chen Sequencer: Add ability to step to beginning and ends of sections/shots using the hotkeys: , and . Change 3154788 on 2016/10/07 by Max.Chen Sequencer: Fix offsets that created when moving multiple sections. The offsets were being created because section bounds were being generated for all sections except for the current section. Instead, they should be computed for all sections except for any that aren't being moved. #jira UE-29152 Change 3159274 on 2016/10/11 by Max.Preussner Core: Documentation fixes Change 3159275 on 2016/10/11 by Max.Preussner UdpMessaging: Added missing header Change 3160746 on 2016/10/12 by Max.Preussner MediaAssets: Added BP functions to query width, height, and aspect ratio of UMediaTexture instances #jira UE-37241 Change 3160975 on 2016/10/12 by Max.Preussner PS4Media: Better logging for SetRate failures Change 3160995 on 2016/10/12 by Max.Preussner MediaPlayerEditor: Fixed Media player selection is ignored if media specifies player overrides (UE-37248) #jira UE-37248 Change 3161066 on 2016/10/12 by Max.Preussner PS4Media: Enforcing minimum 8 byte alignment for media allocations Change 3161069 on 2016/10/12 by Max.Preussner PS4Media: Fixed log spam when setting play rate to current rate Change 3162567 on 2016/10/13 by Max.Preussner PS4Media: Made track switching code more readable Change 3163447 on 2016/10/14 by Max.Preussner PS4Media: Fixed array out of bounds assertions Change 3163772 on 2016/10/14 by Max.Preussner MfMedia: Fixed a number of timing related issues Change 3163980 on 2016/10/15 by Max.Chen Sequencer: Remove folder name numeric padding so that the naming convention is similar to creating objects in the level. Change 3164581 on 2016/10/17 by Andrew.Rodham Sequencer: Ensure global pre-animated state is restored in reverse order Change 3164582 on 2016/10/17 by Andrew.Rodham Sequencer: Ensure pre animated state is restored for all actor components before saving default state Change 3164583 on 2016/10/17 by Andrew.Rodham Sequencer: Re-enabled support for pre and post roll Change 3165464 on 2016/10/17 by Max.Chen Sequencer: Default number frame handles to 0 so that there's no change in behavior when rendering out a master sequence of shots. Handle frames need to enabled explicitly by the user. Copy from Release-4.14 #jira UE-37416 Change 3165483 on 2016/10/17 by Max.Chen Sequencer: Enable restore state for attach section completion Change 3165771 on 2016/10/18 by Andrew.Rodham Sequencer: Force evaluate when rendering thumbnails #jira UE-37321 Change 3166057 on 2016/10/18 by Andrew.Rodham Sequencer: Only set defaults for tracks that have no keys, and where the requested default has changed #jira UE-37285 Change 3166218 on 2016/10/18 by Max.Preussner MediaPlayerEditor: Failure opening media, even though it opened successfully (UE-37470) #jira UE-37470 Change 3166247 on 2016/10/18 by Max.Preussner WmfMedia: Showing progress bar while media is being resolved Change 3166289 on 2016/10/18 by Max.Preussner MfMedia: Showing progress bar while media is being resolved Change 3166993 on 2016/10/18 by Max.Preussner MfMedia: Fixed info string not reset on media close. Change 3166999 on 2016/10/19 by Max.Preussner Media: Fixed NV12 and NV21 support Change 3167008 on 2016/10/19 by Max.Preussner Media: Removed vertical NV12 alignment Change 3167029 on 2016/10/19 by Max.Preussner WmfMedia: Temp fix for RGB32 encoded AVIs rendering upside-down and too bright (UE-37505) #jira UE-37505 Change 3168593 on 2016/10/19 by Max.Chen Sequencer: Change paste at time to local time, so that the paste happens in the local time of the sequence rather than the global time if pasting in a shot level sequence. Change 3168626 on 2016/10/19 by Max.Chen Sequencer: Clamp to view bounds should snap to frame if frame snapping is on. Change 3168627 on 2016/10/19 by Max.Chen Sequencer: Initialize working and view range to be 10% larger than playback range. Change 3168760 on 2016/10/20 by Max.Preussner Media: Revamped media texture buffer management to support padded frames Added support for Windows bitmap buffers. Fixed a number of format, conversion and/or looping issues in WmfMedia and MfMedia. Not all shaders have been updated yet. Change 3169640 on 2016/10/20 by Max.Chen Sequencer: Add current camera to FLevelSequencePlayerSnapshot. Adjust DefaultBurnIn to include a few more parameters like focal length and focus distance. #jira UE-37407 Change 3170677 on 2016/10/21 by Max.Chen Movie Scene Capture: Add toggle to override engine scalability settings to cinematic scalability. #jira UE-36560 Change 3170710 on 2016/10/21 by Max.Preussner Media: Optimized handling of RGB input Change 3170712 on 2016/10/21 by Max.Preussner Media: Fixed NV21 conversion shader scaling Change 3170923 on 2016/10/21 by Max.Preussner UBT: Copied XboxOne project generator fix from Fortnite CL# 3170868 Change 3171494 on 2016/10/23 by Max.Chen Sequencer: Fix fbx export from master sequence not finding bound objects. #jira UE-35752 Change 3171506 on 2016/10/23 by Max.Chen Sequencer: Draw where in and out points of the shot section are, just like subsequences do. Change to only draw the green starting line if StartOffset is negative. #jira UE-35473 Change 3171743 on 2016/10/24 by Andrew.Rodham Editor: Added support for detail customizations on root structs - Also added the ability to add external struct data onto a detail category builder, and property type customization. Change 3171752 on 2016/10/24 by Andrew.Rodham Sequencer: Fixed spawnable ownership - Spawnables are no longer destroyed when the cursor leaves the master playback range. - Spawnable ownership now operates as it previously did before the evaluation rework. - bIgnoreOwnershipInEditor has been removed since its existence was a work around for when we didn't evaluate sub sequences from the master sequence. - FMovieSceneSequenceID is now a struct so that it can be used in array properties - Meta data now exists for each segment of an evaluation field. Currently this only includes the sub sequence IDs that exist at that time, but it may be expanded to include all evaluation entities (tracks + sections) in future so we don't have to calculate that at runtime. Change 3171756 on 2016/10/24 by Andrew.Rodham Sequencer: Added ability to trigger events with parameters - It's now possible to supply an event payload on event track keys which are to be passed to a given event. The structure must match the signature of the event, or a warning will be emitted. - Added a templated TGenericKeyArea, TKeyFrameManipulator and TCurveInterface that allow to generic manipulation of keyframe section data. In time we will port the other key areas over to this representation. - This new architecture affords the common manipulation of time-based keyframes in a value-agnostic manner. Change 3172935 on 2016/10/24 by Max.Preussner MediaPlayerEditor: Fixed MediaPlayer asset not being dirtied when creating media sound wave or texture for it Change 3173947 on 2016/10/25 by Max.Preussner SlateRemote: Disabled plug-in, but enabled server by default Change 3174510 on 2016/10/26 by Max.Chen Sequencer: Fix slomo track crash #jira UE-37802 Change 3174698 on 2016/10/26 by Andrew.Rodham UMG: Fixed objects bound to a panel slot animating their slot's content instead of the slot itself #jira UE-37775 Change 3174780 on 2016/10/26 by Max.Preussner MediaAssets: Accepting decoder defined buffer dimensions for RGB buffers Change 3174789 on 2016/10/26 by Max.Preussner MediaPlayerEditor: Showing desired player name instead of current player name if no media loaded Change 3174817 on 2016/10/26 by Max.Preussner WmfMedia: Added support for Motion JPEG (MJPG) Change 3174825 on 2016/10/26 by Max.Preussner WmfMedia: Added support for non-RGB32 uncompressed formats Change 3174834 on 2016/10/26 by Max.Preussner MediaPlayerAssets: Allow pausing while buffering media Change 3174886 on 2016/10/26 by Andrew.Rodham Core: Fixed range test that was testing incorrect behavior Change 3174889 on 2016/10/26 by Andrew.Rodham Sequencer: Fixed AssignActor behavior - Also ensure that cached object state is invalidated when playback context changes #jira UE-37798 Change 3174905 on 2016/10/26 by Andrew.Rodham Sequencer: Changed assert when failing to create an audio component to a log message - Audio no longer plays when GEngine->UseSound() is false #jira UE-37772 Change 3174980 on 2016/10/26 by Andrew.Rodham Sequencer: Remove warning when event endpoint could not be found for a given context #jira UE-37824 Change 3175001 on 2016/10/26 by Andrew.Rodham Sequencer: Evaluate sequence with EMovieScenePlaybackStatus::Jumping on Pause. - Also protect Pause() against reentrancy when being called from an event Change 3175012 on 2016/10/26 by Max.Chen Sequence Recorder: Fixes an empty working and view range after recording. On StopRecording() update playback range after nullifying the current sequence so that the playback range isn't empty. Added SetViewRange and SetWorkingRange. #jira UE-34191 Change 3177760 on 2016/10/28 by Max.Chen Sequence Recorder: Don't update the current sequence name if it's already set. This fixes a bug where if you pass in a sequence name to record to, it gets reset to the name in the sequence recorder settings. #jira UE-37808 Change 3178529 on 2016/10/28 by Max.Chen Matinee to Level Sequence: Added interface to extend the matinee to level sequence converter #jira UE-37328 #2864 [CL 3178562 by Max Chen in Main branch]
2016-10-28 15:04:38 -04:00
FCanExecuteAction::CreateLambda([=]{ return !SelectionRange.IsEmpty(); })
)
);
}
MenuBuilder.EndSection(); // SequencerPlaybackRangeMenu
UMovieSceneCompiledDataManager* CompiledDataManager = WeakSequencer.Pin()->GetEvaluationTemplate().GetCompiledDataManager();
const FMovieSceneSequenceHierarchy* Hierarchy = CompiledDataManager->FindHierarchy(WeakSequencer.Pin()->GetEvaluationTemplate().GetCompiledDataID());
if (TimeSliderArgs.ScrubPositionParentChain.IsSet() && Hierarchy)
{
MenuBuilder.BeginSection("SequencerParentChainMenu");
{
TArray<FMovieSceneSequenceID> ParentChain = TimeSliderArgs.ScrubPositionParentChain.Get();
for (FMovieSceneSequenceID ParentID : ParentChain)
{
FText ParentText = WeakSequencer.Pin()->GetRootMovieSceneSequence()->GetDisplayName();
for (const TTuple<FMovieSceneSequenceID, FMovieSceneSubSequenceData>& Pair : Hierarchy->AllSubSequenceData())
{
if (Pair.Key == ParentID && Pair.Value.GetSequence())
{
ParentText = Pair.Value.GetSequence()->GetDisplayName();
break;
}
}
MenuBuilder.AddMenuEntry(
ParentText,
FText::Format(LOCTEXT("DisplayTimeSpace", "Display time in the space of {0}"), ParentText),
FSlateIcon(),
FUIAction(
FExecuteAction::CreateLambda([=] { TimeSliderArgs.OnScrubPositionParentChanged.ExecuteIfBound(ParentID); }),
FCanExecuteAction(),
FIsActionChecked::CreateLambda([=] { return TimeSliderArgs.ScrubPositionParent.Get() == MovieSceneSequenceID::Invalid ? ParentID == TimeSliderArgs.ScrubPositionParentChain.Get().Last() : TimeSliderArgs.ScrubPositionParent.Get() == ParentID; })
),
NAME_None,
EUserInterfaceActionType::RadioButton
);
}
}
MenuBuilder.EndSection(); // Sequencer Parent Chain
}
MenuBuilder.BeginSection("SequencerMarkMenu", FText::Format(LOCTEXT("MarkTextFormat", "Mark ({0}):"), CurrentTimeText));
{
FFrameNumber DisplayFrameNumber = GetDisplayRate().AsFrameNumber(FrameNumber / GetTickResolution());
UMovieScene* MovieScene = WeakSequencer.Pin()->GetFocusedMovieSceneSequence()->GetMovieScene();
bool bHasMarks = MovieScene->GetMarkedFrames().Num() > 0;
int32 MarkedIndex = INDEX_NONE;
HitTestMark(RangeToScreen, MousePixel, MarkedIndex);
if (MarkedIndex != INDEX_NONE)
{
class SMarkedFramePropertyWidget : public SCompoundWidget, public FNotifyHook
{
public:
UMovieScene* MovieSceneToModify;
TSharedPtr<IStructureDetailsView> DetailsView;
SLATE_BEGIN_ARGS(SMarkedFramePropertyWidget){}
SLATE_END_ARGS()
void Construct(const FArguments& InArgs, UMovieScene* InMovieScene, int32 InMarkedFrameIndex)
{
MovieSceneToModify = InMovieScene;
FPropertyEditorModule& PropertyEditorModule = FModuleManager::GetModuleChecked<FPropertyEditorModule>("PropertyEditor");
FDetailsViewArgs DetailsViewArgs;
DetailsViewArgs.bAllowSearch = false;
DetailsViewArgs.bShowScrollBar = false;
DetailsViewArgs.NameAreaSettings = FDetailsViewArgs::HideNameArea;
DetailsViewArgs.NotifyHook = this;
FStructureDetailsViewArgs StructureDetailsViewArgs;
StructureDetailsViewArgs.bShowObjects = true;
StructureDetailsViewArgs.bShowAssets = true;
StructureDetailsViewArgs.bShowClasses = true;
StructureDetailsViewArgs.bShowInterfaces = true;
TSharedPtr<FStructOnScope> StructOnScope = MakeShared<FStructOnScope>(FMovieSceneMarkedFrame::StaticStruct(), (uint8 *)&InMovieScene->GetMarkedFrames()[InMarkedFrameIndex]);
DetailsView = PropertyEditorModule.CreateStructureDetailView(DetailsViewArgs, StructureDetailsViewArgs, nullptr);
DetailsView->SetStructureData(StructOnScope);
ChildSlot
[
DetailsView->GetWidget().ToSharedRef()
];
}
virtual void NotifyPreChange( FProperty* PropertyAboutToChange ) override
{
MovieSceneToModify->Modify();
}
virtual void NotifyPreChange( class FEditPropertyChain* PropertyAboutToChange ) override
{
MovieSceneToModify->Modify();
}
};
TSharedRef<SMarkedFramePropertyWidget> Widget = SNew(SMarkedFramePropertyWidget, MovieScene, MarkedIndex);
Widget->DetailsView->GetDetailsView()->RegisterInstancedCustomPropertyTypeLayout("FrameNumber", FOnGetPropertyTypeCustomizationInstance::CreateSP(this, &FSequencerTimeSliderController::CreateFrameNumberCustomization));
MenuBuilder.AddWidget(Widget, FText::GetEmpty(), false);
}
if (MarkedIndex == INDEX_NONE)
{
MenuBuilder.AddMenuEntry(
LOCTEXT("AddMark", "Add Mark"),
FText(),
FSlateIcon(),
FUIAction(FExecuteAction::CreateLambda( [=]{ AddMarkAtFrame(FrameNumber); }))
);
}
else
{
MenuBuilder.AddMenuEntry(
LOCTEXT("DeleteMark", "Delete Mark"),
FText(),
FSlateIcon(),
FUIAction(FExecuteAction::CreateLambda([=]{ DeleteMarkAtIndex(MarkedIndex); }))
);
}
MenuBuilder.AddMenuEntry(
LOCTEXT("Delete All Marks", "Delete All Marks"),
FText(),
FSlateIcon(),
FUIAction(
FExecuteAction::CreateLambda([=]{ DeleteAllMarks(); }),
FCanExecuteAction::CreateLambda([=]{ return bHasMarks; })
)
);
}
MenuBuilder.EndSection(); // SequencerMarkMenu
Copying //UE4/Dev-Sequencer to Dev-Main (//UE4/Dev-Main) #lockdown nick.penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2719576 on 2015/10/07 by Chris.Wood Added check for stale BP classes in FKismetCompilerUtilities::IsTypeCompatibleWithProperty() to stop compiler errors during reinstancing. [UE-19795] - UMG Compiler error when adding variable to nested Widget Change 2721474 on 2015/10/08 by Andrew.Rodham Sequencer: Movie render operations now successfully capture UMG UI Change 2724958 on 2015/10/12 by Chris.Wood Added missing resource cleanup code to UMG widgets [UE-21874] - UWIdget classes with missing ReleaseSlateResources() overrides Added ReleaseSlateResources() to ListView, TileView and Slider widgets to reset shared pointers to slate widgets. Change 2733562 on 2015/10/19 by Andrew.Rodham Sequencer: Fixed spawnables not working in sub-sequences - The issue here was that sequence track instance updates had no knowledge of which sub-sequence they were being evaluated within. We now pass the active sequence instance into the relevant track instance functions. - Also addressed some issues to do with save/restore state not getting called correctly on master tracks of sequence instances - Tidied up spawn track editor Change 2735264 on 2015/10/20 by Chris.Wood Improved Engine analytics handling for Editor and games [UE-21892] - Improve how Engine analytics are handled for Editor and games Changes: Added Privacy section to Editor settings Exposed editor analytics flag in Privacy options Added Details Customization to make this type of bool property clearer with extra info and hyperlink Changed AreEditorAnalyticsEnable() to use new flag Prevented analytics init when disabled by user Sending event and shutting down analytics when user opts out Add in-game project setting for anonymous game usage data Renamed and moved bHardwareSurveyEnabled Added message about exposing in-game setting to end users Added anonymous GUID id for in-game analytics Moved end user settings to global config (defaultengine.ini) Placeholder loc text on new options for now, pending legal wording sign-off Change 2735866 on 2015/10/20 by Max.Preussner Async: Added ability to register an optional callback function that is executed when a Future completes Change 2739793 on 2015/10/23 by Andrew.Rodham Sequencer: Refined movie scene capturing to ensure frame accuracies are maintained - Aborting an in-progress capture now gracefully terminates the process (through a remote session command) to ensure it still creates a valid video - Level sequece movie capture will now pick up a corresponding level sequence in the world, and use that to capture with. A new actor will be spawned at runtime with the correct asset, should one not already exist. - Made -nomovie actually work - Refined how active movie captures are managed - Added option to 'stage' a sequence before starting the capture. This feature will set the sequence on its first frame for the preroll, to ensure that PPP effects are allowed time to stabilize Change 2744402 on 2015/10/28 by Max.Preussner Sequencer: Separated track display names from track identifier names; code cleanup Change 2745953 on 2015/10/29 by Max.Chen Sequencer: Attach to socket. Relative attachments. #jira UETOOL-463 Change 2747028 on 2015/10/29 by Max.Preussner Sequencer: Another overhaul of track display name handling; code and documentation cleanup pass. Change 2758888 on 2015/11/09 by Chris.Wood Integrating changes - 4.10 to Dev-Sequencer From 4.10 branch fixes: Added check for debugger present when reporting abnormal termination to analytics. [UE-22844] CL 2750764 Added FSystemWideCriticalSection for desktop platforms. Used by analytics to lock access to editor instances list in the OS. [UE-22844] CL 2753661 Updating wording in privacy settings text. [UE-21892] CL 2753709 Mac and Linux CIS fix [UE-22844] CL 2755381 Change 2761287 on 2015/11/10 by Max.Chen Sequencer: Add null check when updating the UMG preview if the sequencer doesn't exist/has been closed. #jira UE-5206 Change 2764945 on 2015/11/12 by Max.Preussner Core: Templatized TypeContainer implementation to allow for thread-safe objects; updated unit test Also fixes UE-13850 Change 2765036 on 2015/11/12 by Max.Preussner UdpMessaging: Fixed message serialization unit test (UE-22571) #jira: UE-22571 Change 2766149 on 2015/11/13 by Max.Preussner Media: Implemented event that gets triggered when playback reached the end of media Also fixes looping. Change 2768157 on 2015/11/16 by Max.Preussner Media: Added .m4a to supported WMF file extensions Change 2769200 on 2015/11/16 by Max.Chen Editor: Add broadcast messages when snapping objects. #jira UE-22680 Change 2773066 on 2015/11/19 by Chris.Wood Upload crashes from CRC to Data Router [UECORE-249] - Integrate Crash Report Client with the Data Router Upload to Receiver still active as we are running both in parallel for now.
2015-12-11 13:52:32 -05:00
return MenuBuilder.MakeWidget();
}
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3946692) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3801826 by Max.Chen PR #4304: Level Sequence crash fix - Guarded against dereferencing null componen. (Contributed by DSDambuster) Change 3801828 by Max.Chen PR #4302: Movie Scene Visibility Template unitialised variable, causing random . (Contributed by DSDambuster) Change 3801837 by Max.Chen Sequencer: Delay spawning/construction for convert to possessable. This fixes a bug where property values would be lost when converting back and forth from possessable to spawnable. #jira UE-52400 Change 3801841 by Max.Chen Sequencer: Make spacer nodes not selectable. PR #4194: Improvements to Sequencer (Contributed by projectgheist) #jira UE-53117 #jira UE-52139 Change 3804183 by Max.Preussner MediaAssets: Added missing lock in media sound component Change 3805414 by Max.Preussner MediaAssets: Setting valid GUID when initializing media texture resource Change 3819578 by Max.Chen PR #4370: When enabling the "MovieCapture", do not turn off the Stereo-3D display. (Contributed by yehaike) #jira UE-53647 Change 3823414 by Max.Chen Curve Editor: Lock down the first and last keys in the redundant keys removal range so that they're unaffected. #jira UE-53591 Change 3826406 by Max.Chen Sequencer: Move OnStartedPlaying() to within first update in UpdateTimeCursorPosition(). This fixes an issue where setting the hud/player visibility was getting stomped on later. #jira UE-52772 Change 3827044 by Max.Preussner MediaAssets: Added sprite visualization to media sound component #jira UE-53594 Change 3827988 by Max.Preussner MediaPlayerAssets: Fixed Media Texture is not linked to Media Player when created together #jira UE-53532 Change 3828506 by Max.Preussner MediaPlayerEditor: Added attenuation visualizer for media sound components #jira UE-53594 Change 3832590 by andrew.porter EngineTest: Added a keep state check in Property Animation sequencer test Change 3833053 by andrew.porter EngineTest: Adding Hierarchical Bias test Change 3835683 by andrew.porter EngineTest: Adding UMG Animation screenshot test Change 3836076 by Max.Chen Sequencer: Fix audio volume and pitch multiplier deprecation. Change 3836230 by andrew.porter EngineTest: Adding Sequence Bone Position automation test Change 3836347 by Max.Chen Sequencer: Fixes to shot name parsing. When a shot doesn't contain a shot number, assume, [ShotName]_[TakeNumber]. When duplicating a shot, put the new shot in the same path of the original shot, so that the take numbers will increment properly. #jira UE-51868 Change 3836552 by Max.Chen Sequencer: Sub section now has a takes menu Change 3838094 by Max.Chen UMG: Fix template finish not getting called on stop. This fixes a bug where sections aren't restored when finished. #jira UE-52285 Change 3838708 by Max.Chen Sequencer: Add notification when the blend type is changed. #jira UE-54046 Change 3840295 by Max.Chen Sequencer: Fix copy/paste crash for lights #jira UE-54084 Change 3840957 by Mike.Zyracki Added Show Only Keyable and Show Only Animated to the filter list in the property editor. Added IsPropertyAnimated to IDetailKeyframe Interface which already had support for showing properties which are keyable (which is used for the key icon next to the properties.). Could have created another interface but then would have had to mimic the sequencer binding, releasing also, so this seemed best way. One issue still left is that custom built detail items currently don't store associated properties(usually) and so certain properties, in particulalry transforms, won't show up as keyable or animated. Note this also shows up with the keyable icon not showing up next to transform tracks, and other filters like Show Only Modified not working with transforms/customs. Not sure best way to tackle this. #jira UESEQ-328 Change 3841756 by Max.Chen Sequencer: Fix unbound possessable components when pasting spawnables. #jira UE-54104 Change 3843950 by andrew.porter EngineTest: Renaming LevelStreaming tests/content to LevelVisibility Change 3844082 by Mike.Zyracki Missing file for animated filter in property editor. When finding if a track is animated we need to find it but we can't easily induce the MovieTrack class for any particular property. So we don't set a class for it and just search by it's ID and name. #jira UESEQ-328 Change 3846902 by Max.Preussner ImgMedia: Fixed image media player never finished initialization if loading failed #jira UE-54247 Change 3849820 by Mike.Zyracki Reassigning deleted widgets didn't work since the menu extender mechanism needs a valid UObject in order to perform an operation on it. So to fix we replaced GetObjectBindingContextMenuExtender in WidgetBlueprint with new delegate mechanism (OnBuildCustomContextMenuForGuid) that supports FGuid in addition to UObjects which is needed to handle re-binding deleted widgets. Note that the default sequencer hacks this for replacing deleted actors in SequencerObjectBindingNode to check to see if a LevelSequence is active. We could move to this mechanism there also. #jira UE-53163 Change 3852211 by Max.Chen UMG: Indicate name of the property that is not bound. #jira UE-54350 Change 3854120 by Max.Chen Sequencer: Fix sibling folders being allowed to have the same folder name. #jira UE-54363 Change 3854627 by Max.Chen Sequencer: Step to next/previous key should work for all tracks if there aren't any selected. #jira UESEQ-391 Change 3855825 by andrew.porter EngineTest: Adding animation blending automation test Change 3855950 by andrew.porter EngineTest: Adding correct expected valuues to animation blending test Change 3856237 by Matt.Hoffman UESEQ-336 - Sequencer Track Reordering Adds the ability to re-order Master Tracks, Folders and Object Bindings within sequencer hierarchies (including UMG). Adds the ability to do a one-off sorting of the content under the old sorting behavior if the user wants to reset their layout to how it was under legacy behavior. Modifies SequencerTrackNodes, SequencerFolderNodes and SequencerObjectBindingNodes to handle CanDrop/OnDrop for above, below and ontop of. Fixes a Slate Issue that forcibly expanded a TreeviewRow if an item handled OnDrop. Slate will now only forcibly expand the row if the item says the drop happened ontop of the item, and not above or below it like it previously did. Change 3856503 by andrew.porter EngineTest: Adding automation test for using animation blueprint with blend multi node in sequencer Change 3857875 by Max.Chen Sequencer: Assign the sequence id after the template is compiled. #jira UE-54462 Change 3858344 by Max.Chen Sequencer: Prevent Goto and Transform boxes from overlapping by allowing them to be visible at the same time in an autosized horizontal box. Also, added close button to the goto box. PR #4425: Prevent Goto and Transform boxes from overlapping in Sequencer ... (Contributed by projectgheist) #jira UE-54210 Change 3860566 by andrew.porter MediaFrameworkTest: Set the option to index 0 for the audio and video track list by default Change 3860654 by andrew.porter EngineTest: Enabling Camera Cut + FOV test Change 3860981 by andrew.porter EngineTest: Updating skeletal mesh tests with a delay after set playback position Change 3861256 by Max.Chen Sequencer: Add all bindings if none selected. #jira-54440 Change 3862154 by Andrew.Rodham Added TimeManagement module Change 3862424 by andrew.porter EngineTest: Turned on the test Bone Positions with Blend Multi Node Change 3862573 by andrew.porter EngineTest: Adding test to compare bone positions in a sequence that is blending an animation that is using an AnimBP Change 3865117 by Max.Chen Sequencer: Stop auto scroll on mouse release of movement. #jira UE-31212 Change 3865303 by Max.Chen Sequencer: Add drag and drop transactions #jira UE-54662 Change 3865304 by Max.Chen Sequencer: Fix crash when an actor factory is not found. Change 3865361 by Max.Chen Sequencer: Don't change the camera/shot lock button when popping out of a sequence. #jira UE-54665 Change 3865412 by Max.Chen Sequencer: Determine whether a transform track is for a camera by using the spawned object or template #jira UE-54666 Change 3865685 by Max.Chen Sequencer: Clear autoscrub offset when stopping autoscroll #jira UE-31212 Change 3865886 by Max.Chen Sequence Recorder: Log an error if the number of frames changes while recording. This can happen if the skeleton changes while recording. #jira UE-48715 Change 3866925 by Andrew.Porter MediaFrameworkTest: Changing the current PNG test video image sequence to 1024 x 576 Change 3867705 by andrew.porter QAGame: Adding Audio Sort Sequence to dev folder Change 3867890 by andrew.porter QAGame: Adding a sequence for testing a sorting crash to my dev folder Change 3872628 by Max.Chen Movie Scene Capture: Split delay before warmup into split delay before shot warmup so that there's separate controls for when the movie scene capture warmups up vs. shot boundaries. Change 3873131 by Matt.Hoffman UE-54732 - Crash reordering a folder with a track. This was caused by folders being the only type of track to check if someone was putting a parent track into a child track. Object Binding tracks and Tracks now check as well so that you can't use the above/below drop targets to add parents as children. This also fixed a typo in the localization keys. #jira UE-54732 Change 3873301 by Mike.Zyracki Added ability to support continous euler angle changes when changing rotations, in particularly with the rotation gizmo's. To do this we effectively added a form an of 'euler filter'(https://en.wikipedia.org/wiki/Euler_filter) to find the closest euler angle to the current euler angle. Three functions were added to FRotator to make this possible, one to get the euler angle that's has the same rotation as it, one to get the difference between two euler angles via Manhattan distance and a third using the previous two to choose a Rotator value that's closest to it. We then use these functions before calling UComponent::SetRelativeRotation to make sure we use the correct Euler after the Quat conversion. We also no longer limit(bound) the euler angles to -180,180, which is obviously necessary to avoid flips. I also changed how we caluclate yaw and roll when pitch is -90 or 90 to make it the standard approach of zeroing out roll and just setting yaw. Main reasons are the previous implementation had precision issues so things like 180, 90, -180 would show up due to numbers being nearly zero but negative,(this would break any smooth interpolations), and this facilitates having a 'gimbal' rotation mode (like Maya, Blender etc..) if we ever want that also. If needed we could keep the previous implementation but would need to add some FMath::IsNearlyZero checks, with less performance. Note we only do this special filtering when applying delta's to actors or components in the editors, which then call UComponent::SetRelativeRotationExact, which is a new function to foces the RelativeRotation to be equal to the new rotation. This allows us to store un-nomalized Rotators at the cost that the RotationCache may be broken. We didn't change any of the other UComponent functions that set rotations (via Quats or Transforms) so they will still be bounded and unwound. In SetInternalWorldLocationAndRotation we only set the rotation if the rotation has changed, which fixes the rotation getting changed and re-normalized if just translate happens. In TransformTrackEditor, we correclty use the bUndwing flag and in MovieScene3DTransformSection there was an un-needed winding check there, it will be unwound earlier if needed, which happens if Sequence Recording is happening. Max we should talk about what to do about this . Note the euler angle drag via the widget is still bound to 0-360. I think we should just unbound that now since the rotations value are now unbound. This review now includes fixes suggested by Zak. #jira UE-UE-22228 Change 3873483 by Matt.Hoffman Sequencer Tracks can now be inserted above the spacer at the bottom of the tree. #jira UE-54706 Change 3873899 by Max.Chen Sequencer: Add section selection throbbing Change 3873908 by Max.Chen Movie Scene Capture: Added logging per frame Change 3873924 by Matt.Hoffman Adds the ability to store Sequence Recorder setups into profiles that stay with the map and can be re-loaded later. Profiles store the Actor Recordings so the settings for each actor should carry with them. #jira UESEQ-339 Change 3874726 by Matt.Hoffman Disable drag-and-drop targets on spacers that come between rows in Sequencer. This prevents extra drag/drop targets showing up between each row. #jira UE-54706 Change 3874862 by Matt.Hoffman Audio Track no longer gets reordered when adding sub-audio tracks, as sub-tracks are no longer counted towards the sorting order index when normalizing indexes. #jira UE-54727 Change 3875905 by Matt.Hoffman Disable Fade Track UI if a fade track already exists in the sequence. #jira UESEQ-393 Change 3876163 by Max.Chen Sequencer: Swap the camera object to the camera component's owner if it's not the same. #jira UE-54874 Change 3876971 by Andrew.Porter EngineTest: Moved Media Player Seek test to new folder. Also enabled the test with new ground truth image. Change 3877040 by Max.Chen Cine Camera: Split camera properties to two groups, "Camera Options" and "Camera Settings". The cine camera now hides properties in the "Camera Settings" group so that properties like bConstrainAspectRatio (in the "Camera Options" group) can be visible. #jira UE-54192 Change 3877763 by Max.Chen Curve Editor: Fix curve changed on end drag so that only curves that had keys/tangents that were changed receive notification, otherwise all loaded curves were getting notified that they were changed. #jira UE-54951 Change 3878234 by Matt.Hoffman Disable "Drop Below" targets for Sequencer Tree nodes to prevent a confusing UX issue where dropping underneath a Object Binding Node puts it after the object binding node but the UI looks like it's inserting it inside the Object Binding node. #jira UE-54743 Change 3879359 by Mike.Zyracki If a track is inactive we dim it a bit which seems to be the UE4 way to show inactive or disabled state. We changed the active logic so that all subtracks need to be inactive for the track to also be inactive(instead of all active for active). This conforms to how the active state actually works, e.g if you have two sections and only one is active the track is still active above it. #jira UESEQ-388 Change 3879462 by Max.Chen Sequencer: Allow dragging onto a particular row which would move out any overlapping sections to make space for the newly created section. Newly created sections are now selected and throbbed to draw attention to themselves. #jira UE-54664 Change 3879464 by Max.Chen Sequencer: Fixed overlapping ranges being inserted into the evaluation field during compilation - The issue was that track segments that had been combined with adjacent segments (due to them being identical) would potentially cause a subsequently compiled frame to overlap with a range that had already been inserted into the evaluation field. - The insertion code previously asserted that only minor overlaps were catered for (due to fp rounding errors) and assumed that a supplied range could not entirely contain any other range in the field. - The solution is to supply the insertion time along with the range to know exactly where the data should live in the field, and crop the range to the maximum allowable space between adjacent ranges. #jira UE-54922 Change 3879590 by Matt.Hoffman Items that are now added to the Sequencer via the "+Track" menu will be selected after being added. Items can now be added inside of folders instead of just to the root level. #jira UE-27397 Change 3879612 by Mike.Zyracki Display Nodes with no children are always active. #jira UESEQ-388 Change 3879730 by Matt.Hoffman Sequence Recorder's actor recording groups now remove items from the group when removed via the UI. #jira UESEQ-339 Change 3880256 by Mike.Zyracki Fix issue with inactive display with folders and other track nodes. #jira UESEQ-388 Change 3883491 by Max.Chen Fix issue where tick is skipped due to last ticked pose isn't cleared after AnimInstance changes. Copy from Release-4.19 #jira UE-51323 Change 3883603 by Max.Chen Movie Scene Capture: Add option toggle disable screen percentage. By default this is on (no change in current behavior). #jira UE-51898 Change 3885074 by Max.Preussner MediaCompositing: Resetting media texture & freeing resource on section end; removed dead code Change 3887220 by Max.Preussner MediaCompositing: Defaulted media section duration to 1 sec (since we do not know the actual duration in most cases) Change 3887478 by Matt.Hoffman Sequences now show [Inactive] in their title bars when they're disabled. This helps communicate why a sequence isn't being evaluated. #jira UE-51469 Change 3888985 by Max.Chen Movie Scene Capture: Clamp HDR Compression Quality between 0 and 1. #jira UE-55136 Change 3893519 by Max.Chen Sequence Recorder: Clarified tooltip for bRecordNearbySpawnedActors - spawned actors will still be recorded if they match the ActorFilter. #jira UE-55238 Change 3893546 by Max.Chen Sequence Recorder: If a selected actor already has a recording, add a blank recording. #jira UE-55239 Change 3894044 by Max.Preussner MediaCompositing: Added support for seeking into a media section Change 3894310 by andrew.porter MediaFrameworkTest: Adding Img media sources for 1080 and 2160 ravent test content Change 3894426 by Max.Preussner MediaAssets: Letting media textures with AutoClear retain their clear color when player is reset Change 3895717 by Max.Chen Sequencer: Null checks to prevent crash when saving the default state of a spawnable #jira UE-55304 Change 3897388 by Max.Chen Sequencer: Don't update current time to be within the view range when stepping into a sequence. #jira UE-55322 Change 3897452 by Max.Chen Audio: Fix crash when trying to record audio without any active capture devices. Log warning if the number of input channels is not 1 or 2. #jira UE-55223 Change 3897619 by Max.Preussner MediaCompositing: Removed commented out code Change 3898072 by Max.Chen Sequencer: Override the animation asset in the player state if it doesn't match the animation asset that's being evaluated. #jira UE-55328 Change 3898272 by Max.Preussner MediaPlayerEditor: Made slate brush constants static Change 3898704 by Max.Chen Sequencer: Skip if the binding id's sequence can't be found. #jira UE-55337 Change 3899855 by Max.Preussner MediaCompositingEditor: Added cache state visualization to media track Change 3900300 by Max.Preussner MediaCompositingEditor: Added loop indicators to media sections Change 3900694 by Max.Preussner ImfMedia: Looping cache only when player is looping Change 3900892 by Max.Preussner Stats: Added stats category for media framework Change 3900954 by Max.Preussner MediaCompositing: Don't evaluate at the end of media section Change 3901348 by Max.Preussner Core: Replaced TLruCache autos for better readability Change 3901655 by Max.Preussner ImgMedia: Added more perf stats to EXR reader Change 3901972 by Max.Preussner MediaAssets: Added getter for media player in media sound components Change 3902233 by Max.Preussner MediaAssets: Enabling media textures to receive samples right after player is assigned Change 3902238 by Max.Preussner MediaCompositing: Working around init/shutdown idiosyncracies in sequencer Change 3904045 by Max.Chen Sequencer: Fix copy/paste crash. Only process UMovieSceneCopyableBinding and objects that can be spawned by the movie scene spawn register. #jira UE-55314 Change 3905605 by Max.Chen Sequencer: Restrict spawnables from being created if they have a ClassWithin that UMovieScene is not a child of. #jira UE-55429 Change 3906550 by Max.Chen Sequencer: Add media track icon #jira UE-55480 Change 3907101 by Max.Chen Sequence Recorder: Fix bugs related to not recording a level sequence. There were certain assumptions that creating a level sequence meant that sequence recording was in progress. This is not always the case - the recorders can record animation assets and not create a level sequence. Changed the notion of IsRecording() to having at least one actor recording that is recording. Countdown timer, recording displays, etc should function if IsRecording() and not based on whether a level sequence is created. #jira UE-55485 Change 3907247 by Max.Chen Sequence Recorder: Fix crash not removing PrepareToCleanseEditorObject delegate. Repros when opening sequence recorder, closing it, and then opening or creating a level. Change 3910343 by Max.Preussner Core: Added async helper for executing functions on a given thread pool Change 3910346 by Max.Preussner ImgMedia: Added separate thread pools for loading/decoding and deleting image frames Change 3910829 by Max.Preussner Profiler: Increased visible range of profiler graph Change 3910841 by Max.Preussner MediaCompositing: Displaying asset name instead of full media source path in media section Change 3910870 by Max.Preussner ImgMedia: Using deallocation thread pool only in debug builds Change 3919642 by Max.Chen Sequence Recorder: Clarify active tooltip #jira UE-55661 Change 3919660 by Max.Chen Sequencer: Sequence template source signatures are now also compared to catch the case where a sub-sequence asset has been saved but not modified - The following sequence of events exposes this issue: - Create a master sequence with a single shot that spawns a cube - Add this sequence to a level and set it to auto-play - Save everything and restart - Resave just the inner shot asset without opening it - PIE - The inner shot never spawns its cube because its template was wiped on save, but its signature never changed. Since the master sequence previously didn't check the template source signature, it ends up trying to evaluate an empty template. #jira UE-55626 #jira UE-55490 Change 3921825 by Max.Chen Sequencer: "Run Construction Script in Sequencer" is off by default for blueprints but on for Sequencer. This allows the content author to switch it on for specific blueprints and sequencer will be default, run those with construction scripts enabled. Change 3922232 by Max.Chen Sequence Recorder: Reset countdelay on stop. #jira UE-55755 Change 3922306 by Max.Chen Sequence Recorder: Don't automatically mark transforms to be recorded by sequence recorder. Instead, log a warning if the user toggled it off to warn that the resulting animation might not match gameplay. #jira UE-55758 Change 3922912 by Max.Chen Sequence Recorder: Fix refresh next sequence name #jira UE-55757 Change 3927654 by Max.Chen Movie Scene Capture: Added format mapping for the name of the current camera #jira UE-55769 PR #4537 Change 3927658 by Max.Chen Sequencer: Added fbx property mapping for "FocusDistance" to "FocusSettings.ManualFocusDistance" #jira UE-55782 Change 3932022 by Max.Chen Sequencer: Add import animation track section to next available row index. #jira UE-55892 Change 3933919 by Max.Chen Sequencer: Jump to playback start frame and not 0 to start playback for recording. #jira UE-55933 Change 3934307 by Andrew.Rodham Sequencer: Add template signature that is re-generated every time the base template is regenerated, which invalidates evaluation fields This fixes an issue where the same sequence is instantiated multiple times in a sequence. If the source sequence was saved, its template would be wiped, which would invalidate the template ID When an instance tries to evaluate the master template, it would only invalidate a range in the evaluation field that was the hull of any invalid sub sequences overlapping the current time, potentially leaving invalid data in the evaluation field at positions later (or earlier) on in the sequence When the sub template was re-generated, it receives the same SequenceSignature as it had before (because the sequence hasn't actually changed), which causes the stale evaluation field data to fail the IsDirty check (because the sequence is the same as it thought, but the *template* has changed) This has been addressed be adding a signature to templates themselves, and checking both the template signature and sequence signature as a part of the IsDirty check. This ensures that we regenerate if either the template, or the sequence have changed. #jira UE-55934 Change 3936327 by Andrew.Rodham Sequencer: Removed increment when trimming right UMovieSceneSection::TrimSection already explicity assigns an exclusive bound to the time passed in. The new behavior means we can trim a section to the right, and insert another section without changing the time to create adjacent sections. #jira UE-42652 Change 3936328 by Andrew.Rodham Fixed KeyFrameManipulator assignment operators and copy/move constructors - These types are potentially self-referential so cannot use default constructors/assignment Change 3936330 by Andrew.Rodham Converted UMGSequencePlayer to use frames internally #jira UE-54878 Change 3936726 by Max.Chen Sequencer: Set track node as the parent of the key area node. The key area switcher needs the object binding id from the parent object binding node. Without this, the binding to the external value fails. #jira UE-55931 Change 3936775 by Max.Chen Sequencer: Should stop or loop should compare DurationFrames with Current Time from StartTime. The bug is that if you set 30 warmup frames in movie rendering for a range of 0-100, the FrameRange will be starting at -30 and have a duration of 130. Without this fix, the playback will continue until frame 130, rather than 100. #jira UE-55933 Change 3936935 by Matt.Hoffman Easing Curves are now represented in Play Rate resolution instead of internal resolution. #jira UE-55937 Change 3937069 by Matt.Hoffman Users can toggle if the is infinite on each side, limited by which tracks support infinite ranges. #jira UE-55891 Change 3937516 by Max.Preussner ImgMedia: Added support for single-threaded platforms #jira UE-55986 Change 3937826 by Max.Preussner MediaAssets: Disabling media sound components on HTML5 if AudioMixer is not enabled Change 3937997 by Max.Chen Curve Editor: Add Zoom to Fit Curves so that selected curves from Sequencer can be focused on. Tested that undo doesn't re-zoom. #jira UE-55935 Change 3938000 by Max.Chen Sequencer: Stop all sounds before generating audio waveforms. #jira UE-55951 Change 3938376 by Max.Preussner XGEController: Disabled XGE Controller in single-threaded apps to prevent crash Change 3938444 by Max.Preussner Core: Added async support for single-threaded applications Change 3938445 by Max.Preussner Networking: Added support for single-threaded applications in UDP socket sender/receiver Change 3938447 by Max.Preussner Messaging: Added support for single-threaded applications Change 3939432 by Max.Chen Sequence Recorder: Append command list to global level editor actions so that shortcuts are accessible in level editor. #jira UE-55798 Change 3940229 by Andrew.Rodham Added prospective display rate upgrade to UMovieScene::PostLoad - There was previously some very odd behaviour that would assign the fixed frame interval only when a sub sequence was focused in SSequencer. This meant that many sequences could have a frame interval of 0 set in the data. - Under the old method of snap interval display this would have fallen back to getting the display interval from the sequencer settings, but we no longer look at these. - The USequencerSettings properties have been removed and in their place, a prospective data upgrade for sequences that have a fixed frame interval old 0fps that sets the play rate to the previous defaults based off the old USequencerSettings defaults. - This could end up 'changing' the display rate for sequences where the user has changed the snap interval in the settings for a particular sequence editor, but there's not much we can do about that given we don't have access to the USequencerSettings classes in UMovieScene #jira UE-55919 Change 3940277 by Andrew.Rodham Sequencer: Added ability to default frame resolutions and play rates for newly created actor sequences Change 3940378 by Andrew.Rodham Sequencer: Post move import dialog now defaults to the playback framerate of the sequence, and floors to frame numbers Change 3940559 by Andrew.Rodham Reinstated primed or recording sequence color Change 3940642 by Max.Preussner ImagePlate: Removed image plate media playback functionality Change 3940843 by Max.Preussner Core: Made TCircularQueue actually thread-safe; improved code comments Change 3940860 by Max.Chen Sequencer: Changed StructNameToKey to StructPathToKey Previously, keying a PropertyPath of [RenderTransform][Shear][X] would get trimmed to X, which doesn't map to a channel name as considered by Sequencer2dTransformTrackEditor. Instead, trim the resulting property path to [Shear][X] so that track editors can determine the desired struct path and channels to key. #jira UE-52966 Change 3941292 by Mike.Zyracki Fix for trajectories out of range not showing up. 1) If we had no key data we would pop the time, so wouldn't get the section ranges. 2) Calculating of upper bound was wrong, checking against -1 and not key == num of keys when doing algo::lower_bound. 3) No need to do the Bck-- for the bakward iterators since we fixed #2. We start now from the upper bound correctly. 4) If we had no keys (at section start,end) we would incorrectly say we were any key type, so since we draw constant keys as dashed we would do so incorrectly around section end points. #jira UE-55929 Change 3941424 by Max.Chen Curve Editor: Change Zoom to Fit to use TArrayView Change 3941498 by Max.Preussner Core: Added FMath::DivideAndRoundNearest function Change 3942097 by Matt.Hoffman Drop Frame Timecode Support for NTSC rates. Change 3942104 by Matt.Hoffman Sequence Recorder Group is no longer visible inside the World Outliner after using one. #jira 55266 Change 3942107 by Max.Chen Sequencer: Resurrect logic to find or extend an existing section when adding keys. Change 3942330 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942339 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942507 by Andrew.Rodham Sequencer: We no longer pad the time overlap threshold with a small number that is not scaled by the current zoom level - The presence of this pad was causing keys that were far apart to be grouped when zoomed in a long way Change 3942509 by Andrew.Rodham Sequencer: Only pad total view range, rather than section range as well when retrieving keys to render - This stops us from rendering keys that are within the view range, but outside the section range Change 3942512 by Andrew.Rodham Added transactions to some sequencer details customizations Change 3942513 by Andrew.Rodham Sequencer: Reinstated validation checks to UMovieSceneSection::SetStartFrame and SetEndFrame, changed erroneous uses to use SetRange Change 3942560 by Andrew.Rodham Pass by rvalue reference to appease error C2719 on Win32 ('InChannels': formal parameter with requested alignment of 8 won't be aligned) Change 3942697 by Andrew.Rodham Newly Created Level Sequences and Actor Sequences now default to 24000 fps frame resolution (+/- ~24hrs range, supporting all integer rates + 23.976) Change 3942700 by Andrew.Rodham Sequencer: Added legacy out-of-bounds errors for times that are not supported by the current legacy upgrade frame resolution Change 3942989 by Max.Preussner Core: Fixed circular queue count calculation Change 3943538 by Max.Preussner MediaAssets: Reverted workaround for procedural audio log spam in HTML5 (Actor component initialization cannot be skipped if the component is used in a level) Change 3944071 by Max.Preussner QAGame: Fixed Media Texture keeps last frame of Media when PIE ends #jira UE-53360 Change 3944292 by Max.Chen Sequencer: Added extra flags to ensure that asset initialization does not occur on template actor sequences #jira UE-56113 Change 3944364 by Max.Chen Sequencer: Prevent circular shot/master tracks. Tested adding master -> child -> master as drag and drop cinematic shot tracks and sub tracks as well as through the + button. #jira UE-56091 Change 3944422 by Max.Chen Sequence Recorder: Disable transform recording if off. #jira UE-56061 Change 3944745 by Andrew.Rodham Sequencer: Key rendering fixes - Fixed assert that occured when keys happened to reside on some times due to KeyTime + TimeOverlapThreshold - KeyTime being slightly larger TimeOverlapThreshold - Fixed keys sometimes being clipped when zoomed right in due to lack of half-frame offset - Added missing documentation to MovieSceneTimeHelpers.h #jira UE-56107 Change 3945231 by Andrew.Rodham Sequencer: Reconstruct channel proxy on Serialize to catch all cases of undo/redo, PostLoad and duplication #jira UE-56089 Change 3945301 by Andrew.Rodham Sequencer: Added safety checks during initial sequence recording to guard against applying negative or 0-sized sequence ranges #jira UE-56125 Change 3946627 by Max.Preussner Fortnite: Fixed game crashes closing editor while in PIE - Pure virtual function being called #jira UE-56144 [CL 3946896 by Max Chen in Main branch]
2018-03-14 22:09:33 -04:00
void FSequencerTimeSliderController::ClampViewRange(double& NewRangeMin, double& NewRangeMax)
{
bool bNeedsClampSet = false;
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3946692) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3801826 by Max.Chen PR #4304: Level Sequence crash fix - Guarded against dereferencing null componen. (Contributed by DSDambuster) Change 3801828 by Max.Chen PR #4302: Movie Scene Visibility Template unitialised variable, causing random . (Contributed by DSDambuster) Change 3801837 by Max.Chen Sequencer: Delay spawning/construction for convert to possessable. This fixes a bug where property values would be lost when converting back and forth from possessable to spawnable. #jira UE-52400 Change 3801841 by Max.Chen Sequencer: Make spacer nodes not selectable. PR #4194: Improvements to Sequencer (Contributed by projectgheist) #jira UE-53117 #jira UE-52139 Change 3804183 by Max.Preussner MediaAssets: Added missing lock in media sound component Change 3805414 by Max.Preussner MediaAssets: Setting valid GUID when initializing media texture resource Change 3819578 by Max.Chen PR #4370: When enabling the "MovieCapture", do not turn off the Stereo-3D display. (Contributed by yehaike) #jira UE-53647 Change 3823414 by Max.Chen Curve Editor: Lock down the first and last keys in the redundant keys removal range so that they're unaffected. #jira UE-53591 Change 3826406 by Max.Chen Sequencer: Move OnStartedPlaying() to within first update in UpdateTimeCursorPosition(). This fixes an issue where setting the hud/player visibility was getting stomped on later. #jira UE-52772 Change 3827044 by Max.Preussner MediaAssets: Added sprite visualization to media sound component #jira UE-53594 Change 3827988 by Max.Preussner MediaPlayerAssets: Fixed Media Texture is not linked to Media Player when created together #jira UE-53532 Change 3828506 by Max.Preussner MediaPlayerEditor: Added attenuation visualizer for media sound components #jira UE-53594 Change 3832590 by andrew.porter EngineTest: Added a keep state check in Property Animation sequencer test Change 3833053 by andrew.porter EngineTest: Adding Hierarchical Bias test Change 3835683 by andrew.porter EngineTest: Adding UMG Animation screenshot test Change 3836076 by Max.Chen Sequencer: Fix audio volume and pitch multiplier deprecation. Change 3836230 by andrew.porter EngineTest: Adding Sequence Bone Position automation test Change 3836347 by Max.Chen Sequencer: Fixes to shot name parsing. When a shot doesn't contain a shot number, assume, [ShotName]_[TakeNumber]. When duplicating a shot, put the new shot in the same path of the original shot, so that the take numbers will increment properly. #jira UE-51868 Change 3836552 by Max.Chen Sequencer: Sub section now has a takes menu Change 3838094 by Max.Chen UMG: Fix template finish not getting called on stop. This fixes a bug where sections aren't restored when finished. #jira UE-52285 Change 3838708 by Max.Chen Sequencer: Add notification when the blend type is changed. #jira UE-54046 Change 3840295 by Max.Chen Sequencer: Fix copy/paste crash for lights #jira UE-54084 Change 3840957 by Mike.Zyracki Added Show Only Keyable and Show Only Animated to the filter list in the property editor. Added IsPropertyAnimated to IDetailKeyframe Interface which already had support for showing properties which are keyable (which is used for the key icon next to the properties.). Could have created another interface but then would have had to mimic the sequencer binding, releasing also, so this seemed best way. One issue still left is that custom built detail items currently don't store associated properties(usually) and so certain properties, in particulalry transforms, won't show up as keyable or animated. Note this also shows up with the keyable icon not showing up next to transform tracks, and other filters like Show Only Modified not working with transforms/customs. Not sure best way to tackle this. #jira UESEQ-328 Change 3841756 by Max.Chen Sequencer: Fix unbound possessable components when pasting spawnables. #jira UE-54104 Change 3843950 by andrew.porter EngineTest: Renaming LevelStreaming tests/content to LevelVisibility Change 3844082 by Mike.Zyracki Missing file for animated filter in property editor. When finding if a track is animated we need to find it but we can't easily induce the MovieTrack class for any particular property. So we don't set a class for it and just search by it's ID and name. #jira UESEQ-328 Change 3846902 by Max.Preussner ImgMedia: Fixed image media player never finished initialization if loading failed #jira UE-54247 Change 3849820 by Mike.Zyracki Reassigning deleted widgets didn't work since the menu extender mechanism needs a valid UObject in order to perform an operation on it. So to fix we replaced GetObjectBindingContextMenuExtender in WidgetBlueprint with new delegate mechanism (OnBuildCustomContextMenuForGuid) that supports FGuid in addition to UObjects which is needed to handle re-binding deleted widgets. Note that the default sequencer hacks this for replacing deleted actors in SequencerObjectBindingNode to check to see if a LevelSequence is active. We could move to this mechanism there also. #jira UE-53163 Change 3852211 by Max.Chen UMG: Indicate name of the property that is not bound. #jira UE-54350 Change 3854120 by Max.Chen Sequencer: Fix sibling folders being allowed to have the same folder name. #jira UE-54363 Change 3854627 by Max.Chen Sequencer: Step to next/previous key should work for all tracks if there aren't any selected. #jira UESEQ-391 Change 3855825 by andrew.porter EngineTest: Adding animation blending automation test Change 3855950 by andrew.porter EngineTest: Adding correct expected valuues to animation blending test Change 3856237 by Matt.Hoffman UESEQ-336 - Sequencer Track Reordering Adds the ability to re-order Master Tracks, Folders and Object Bindings within sequencer hierarchies (including UMG). Adds the ability to do a one-off sorting of the content under the old sorting behavior if the user wants to reset their layout to how it was under legacy behavior. Modifies SequencerTrackNodes, SequencerFolderNodes and SequencerObjectBindingNodes to handle CanDrop/OnDrop for above, below and ontop of. Fixes a Slate Issue that forcibly expanded a TreeviewRow if an item handled OnDrop. Slate will now only forcibly expand the row if the item says the drop happened ontop of the item, and not above or below it like it previously did. Change 3856503 by andrew.porter EngineTest: Adding automation test for using animation blueprint with blend multi node in sequencer Change 3857875 by Max.Chen Sequencer: Assign the sequence id after the template is compiled. #jira UE-54462 Change 3858344 by Max.Chen Sequencer: Prevent Goto and Transform boxes from overlapping by allowing them to be visible at the same time in an autosized horizontal box. Also, added close button to the goto box. PR #4425: Prevent Goto and Transform boxes from overlapping in Sequencer ... (Contributed by projectgheist) #jira UE-54210 Change 3860566 by andrew.porter MediaFrameworkTest: Set the option to index 0 for the audio and video track list by default Change 3860654 by andrew.porter EngineTest: Enabling Camera Cut + FOV test Change 3860981 by andrew.porter EngineTest: Updating skeletal mesh tests with a delay after set playback position Change 3861256 by Max.Chen Sequencer: Add all bindings if none selected. #jira-54440 Change 3862154 by Andrew.Rodham Added TimeManagement module Change 3862424 by andrew.porter EngineTest: Turned on the test Bone Positions with Blend Multi Node Change 3862573 by andrew.porter EngineTest: Adding test to compare bone positions in a sequence that is blending an animation that is using an AnimBP Change 3865117 by Max.Chen Sequencer: Stop auto scroll on mouse release of movement. #jira UE-31212 Change 3865303 by Max.Chen Sequencer: Add drag and drop transactions #jira UE-54662 Change 3865304 by Max.Chen Sequencer: Fix crash when an actor factory is not found. Change 3865361 by Max.Chen Sequencer: Don't change the camera/shot lock button when popping out of a sequence. #jira UE-54665 Change 3865412 by Max.Chen Sequencer: Determine whether a transform track is for a camera by using the spawned object or template #jira UE-54666 Change 3865685 by Max.Chen Sequencer: Clear autoscrub offset when stopping autoscroll #jira UE-31212 Change 3865886 by Max.Chen Sequence Recorder: Log an error if the number of frames changes while recording. This can happen if the skeleton changes while recording. #jira UE-48715 Change 3866925 by Andrew.Porter MediaFrameworkTest: Changing the current PNG test video image sequence to 1024 x 576 Change 3867705 by andrew.porter QAGame: Adding Audio Sort Sequence to dev folder Change 3867890 by andrew.porter QAGame: Adding a sequence for testing a sorting crash to my dev folder Change 3872628 by Max.Chen Movie Scene Capture: Split delay before warmup into split delay before shot warmup so that there's separate controls for when the movie scene capture warmups up vs. shot boundaries. Change 3873131 by Matt.Hoffman UE-54732 - Crash reordering a folder with a track. This was caused by folders being the only type of track to check if someone was putting a parent track into a child track. Object Binding tracks and Tracks now check as well so that you can't use the above/below drop targets to add parents as children. This also fixed a typo in the localization keys. #jira UE-54732 Change 3873301 by Mike.Zyracki Added ability to support continous euler angle changes when changing rotations, in particularly with the rotation gizmo's. To do this we effectively added a form an of 'euler filter'(https://en.wikipedia.org/wiki/Euler_filter) to find the closest euler angle to the current euler angle. Three functions were added to FRotator to make this possible, one to get the euler angle that's has the same rotation as it, one to get the difference between two euler angles via Manhattan distance and a third using the previous two to choose a Rotator value that's closest to it. We then use these functions before calling UComponent::SetRelativeRotation to make sure we use the correct Euler after the Quat conversion. We also no longer limit(bound) the euler angles to -180,180, which is obviously necessary to avoid flips. I also changed how we caluclate yaw and roll when pitch is -90 or 90 to make it the standard approach of zeroing out roll and just setting yaw. Main reasons are the previous implementation had precision issues so things like 180, 90, -180 would show up due to numbers being nearly zero but negative,(this would break any smooth interpolations), and this facilitates having a 'gimbal' rotation mode (like Maya, Blender etc..) if we ever want that also. If needed we could keep the previous implementation but would need to add some FMath::IsNearlyZero checks, with less performance. Note we only do this special filtering when applying delta's to actors or components in the editors, which then call UComponent::SetRelativeRotationExact, which is a new function to foces the RelativeRotation to be equal to the new rotation. This allows us to store un-nomalized Rotators at the cost that the RotationCache may be broken. We didn't change any of the other UComponent functions that set rotations (via Quats or Transforms) so they will still be bounded and unwound. In SetInternalWorldLocationAndRotation we only set the rotation if the rotation has changed, which fixes the rotation getting changed and re-normalized if just translate happens. In TransformTrackEditor, we correclty use the bUndwing flag and in MovieScene3DTransformSection there was an un-needed winding check there, it will be unwound earlier if needed, which happens if Sequence Recording is happening. Max we should talk about what to do about this . Note the euler angle drag via the widget is still bound to 0-360. I think we should just unbound that now since the rotations value are now unbound. This review now includes fixes suggested by Zak. #jira UE-UE-22228 Change 3873483 by Matt.Hoffman Sequencer Tracks can now be inserted above the spacer at the bottom of the tree. #jira UE-54706 Change 3873899 by Max.Chen Sequencer: Add section selection throbbing Change 3873908 by Max.Chen Movie Scene Capture: Added logging per frame Change 3873924 by Matt.Hoffman Adds the ability to store Sequence Recorder setups into profiles that stay with the map and can be re-loaded later. Profiles store the Actor Recordings so the settings for each actor should carry with them. #jira UESEQ-339 Change 3874726 by Matt.Hoffman Disable drag-and-drop targets on spacers that come between rows in Sequencer. This prevents extra drag/drop targets showing up between each row. #jira UE-54706 Change 3874862 by Matt.Hoffman Audio Track no longer gets reordered when adding sub-audio tracks, as sub-tracks are no longer counted towards the sorting order index when normalizing indexes. #jira UE-54727 Change 3875905 by Matt.Hoffman Disable Fade Track UI if a fade track already exists in the sequence. #jira UESEQ-393 Change 3876163 by Max.Chen Sequencer: Swap the camera object to the camera component's owner if it's not the same. #jira UE-54874 Change 3876971 by Andrew.Porter EngineTest: Moved Media Player Seek test to new folder. Also enabled the test with new ground truth image. Change 3877040 by Max.Chen Cine Camera: Split camera properties to two groups, "Camera Options" and "Camera Settings". The cine camera now hides properties in the "Camera Settings" group so that properties like bConstrainAspectRatio (in the "Camera Options" group) can be visible. #jira UE-54192 Change 3877763 by Max.Chen Curve Editor: Fix curve changed on end drag so that only curves that had keys/tangents that were changed receive notification, otherwise all loaded curves were getting notified that they were changed. #jira UE-54951 Change 3878234 by Matt.Hoffman Disable "Drop Below" targets for Sequencer Tree nodes to prevent a confusing UX issue where dropping underneath a Object Binding Node puts it after the object binding node but the UI looks like it's inserting it inside the Object Binding node. #jira UE-54743 Change 3879359 by Mike.Zyracki If a track is inactive we dim it a bit which seems to be the UE4 way to show inactive or disabled state. We changed the active logic so that all subtracks need to be inactive for the track to also be inactive(instead of all active for active). This conforms to how the active state actually works, e.g if you have two sections and only one is active the track is still active above it. #jira UESEQ-388 Change 3879462 by Max.Chen Sequencer: Allow dragging onto a particular row which would move out any overlapping sections to make space for the newly created section. Newly created sections are now selected and throbbed to draw attention to themselves. #jira UE-54664 Change 3879464 by Max.Chen Sequencer: Fixed overlapping ranges being inserted into the evaluation field during compilation - The issue was that track segments that had been combined with adjacent segments (due to them being identical) would potentially cause a subsequently compiled frame to overlap with a range that had already been inserted into the evaluation field. - The insertion code previously asserted that only minor overlaps were catered for (due to fp rounding errors) and assumed that a supplied range could not entirely contain any other range in the field. - The solution is to supply the insertion time along with the range to know exactly where the data should live in the field, and crop the range to the maximum allowable space between adjacent ranges. #jira UE-54922 Change 3879590 by Matt.Hoffman Items that are now added to the Sequencer via the "+Track" menu will be selected after being added. Items can now be added inside of folders instead of just to the root level. #jira UE-27397 Change 3879612 by Mike.Zyracki Display Nodes with no children are always active. #jira UESEQ-388 Change 3879730 by Matt.Hoffman Sequence Recorder's actor recording groups now remove items from the group when removed via the UI. #jira UESEQ-339 Change 3880256 by Mike.Zyracki Fix issue with inactive display with folders and other track nodes. #jira UESEQ-388 Change 3883491 by Max.Chen Fix issue where tick is skipped due to last ticked pose isn't cleared after AnimInstance changes. Copy from Release-4.19 #jira UE-51323 Change 3883603 by Max.Chen Movie Scene Capture: Add option toggle disable screen percentage. By default this is on (no change in current behavior). #jira UE-51898 Change 3885074 by Max.Preussner MediaCompositing: Resetting media texture & freeing resource on section end; removed dead code Change 3887220 by Max.Preussner MediaCompositing: Defaulted media section duration to 1 sec (since we do not know the actual duration in most cases) Change 3887478 by Matt.Hoffman Sequences now show [Inactive] in their title bars when they're disabled. This helps communicate why a sequence isn't being evaluated. #jira UE-51469 Change 3888985 by Max.Chen Movie Scene Capture: Clamp HDR Compression Quality between 0 and 1. #jira UE-55136 Change 3893519 by Max.Chen Sequence Recorder: Clarified tooltip for bRecordNearbySpawnedActors - spawned actors will still be recorded if they match the ActorFilter. #jira UE-55238 Change 3893546 by Max.Chen Sequence Recorder: If a selected actor already has a recording, add a blank recording. #jira UE-55239 Change 3894044 by Max.Preussner MediaCompositing: Added support for seeking into a media section Change 3894310 by andrew.porter MediaFrameworkTest: Adding Img media sources for 1080 and 2160 ravent test content Change 3894426 by Max.Preussner MediaAssets: Letting media textures with AutoClear retain their clear color when player is reset Change 3895717 by Max.Chen Sequencer: Null checks to prevent crash when saving the default state of a spawnable #jira UE-55304 Change 3897388 by Max.Chen Sequencer: Don't update current time to be within the view range when stepping into a sequence. #jira UE-55322 Change 3897452 by Max.Chen Audio: Fix crash when trying to record audio without any active capture devices. Log warning if the number of input channels is not 1 or 2. #jira UE-55223 Change 3897619 by Max.Preussner MediaCompositing: Removed commented out code Change 3898072 by Max.Chen Sequencer: Override the animation asset in the player state if it doesn't match the animation asset that's being evaluated. #jira UE-55328 Change 3898272 by Max.Preussner MediaPlayerEditor: Made slate brush constants static Change 3898704 by Max.Chen Sequencer: Skip if the binding id's sequence can't be found. #jira UE-55337 Change 3899855 by Max.Preussner MediaCompositingEditor: Added cache state visualization to media track Change 3900300 by Max.Preussner MediaCompositingEditor: Added loop indicators to media sections Change 3900694 by Max.Preussner ImfMedia: Looping cache only when player is looping Change 3900892 by Max.Preussner Stats: Added stats category for media framework Change 3900954 by Max.Preussner MediaCompositing: Don't evaluate at the end of media section Change 3901348 by Max.Preussner Core: Replaced TLruCache autos for better readability Change 3901655 by Max.Preussner ImgMedia: Added more perf stats to EXR reader Change 3901972 by Max.Preussner MediaAssets: Added getter for media player in media sound components Change 3902233 by Max.Preussner MediaAssets: Enabling media textures to receive samples right after player is assigned Change 3902238 by Max.Preussner MediaCompositing: Working around init/shutdown idiosyncracies in sequencer Change 3904045 by Max.Chen Sequencer: Fix copy/paste crash. Only process UMovieSceneCopyableBinding and objects that can be spawned by the movie scene spawn register. #jira UE-55314 Change 3905605 by Max.Chen Sequencer: Restrict spawnables from being created if they have a ClassWithin that UMovieScene is not a child of. #jira UE-55429 Change 3906550 by Max.Chen Sequencer: Add media track icon #jira UE-55480 Change 3907101 by Max.Chen Sequence Recorder: Fix bugs related to not recording a level sequence. There were certain assumptions that creating a level sequence meant that sequence recording was in progress. This is not always the case - the recorders can record animation assets and not create a level sequence. Changed the notion of IsRecording() to having at least one actor recording that is recording. Countdown timer, recording displays, etc should function if IsRecording() and not based on whether a level sequence is created. #jira UE-55485 Change 3907247 by Max.Chen Sequence Recorder: Fix crash not removing PrepareToCleanseEditorObject delegate. Repros when opening sequence recorder, closing it, and then opening or creating a level. Change 3910343 by Max.Preussner Core: Added async helper for executing functions on a given thread pool Change 3910346 by Max.Preussner ImgMedia: Added separate thread pools for loading/decoding and deleting image frames Change 3910829 by Max.Preussner Profiler: Increased visible range of profiler graph Change 3910841 by Max.Preussner MediaCompositing: Displaying asset name instead of full media source path in media section Change 3910870 by Max.Preussner ImgMedia: Using deallocation thread pool only in debug builds Change 3919642 by Max.Chen Sequence Recorder: Clarify active tooltip #jira UE-55661 Change 3919660 by Max.Chen Sequencer: Sequence template source signatures are now also compared to catch the case where a sub-sequence asset has been saved but not modified - The following sequence of events exposes this issue: - Create a master sequence with a single shot that spawns a cube - Add this sequence to a level and set it to auto-play - Save everything and restart - Resave just the inner shot asset without opening it - PIE - The inner shot never spawns its cube because its template was wiped on save, but its signature never changed. Since the master sequence previously didn't check the template source signature, it ends up trying to evaluate an empty template. #jira UE-55626 #jira UE-55490 Change 3921825 by Max.Chen Sequencer: "Run Construction Script in Sequencer" is off by default for blueprints but on for Sequencer. This allows the content author to switch it on for specific blueprints and sequencer will be default, run those with construction scripts enabled. Change 3922232 by Max.Chen Sequence Recorder: Reset countdelay on stop. #jira UE-55755 Change 3922306 by Max.Chen Sequence Recorder: Don't automatically mark transforms to be recorded by sequence recorder. Instead, log a warning if the user toggled it off to warn that the resulting animation might not match gameplay. #jira UE-55758 Change 3922912 by Max.Chen Sequence Recorder: Fix refresh next sequence name #jira UE-55757 Change 3927654 by Max.Chen Movie Scene Capture: Added format mapping for the name of the current camera #jira UE-55769 PR #4537 Change 3927658 by Max.Chen Sequencer: Added fbx property mapping for "FocusDistance" to "FocusSettings.ManualFocusDistance" #jira UE-55782 Change 3932022 by Max.Chen Sequencer: Add import animation track section to next available row index. #jira UE-55892 Change 3933919 by Max.Chen Sequencer: Jump to playback start frame and not 0 to start playback for recording. #jira UE-55933 Change 3934307 by Andrew.Rodham Sequencer: Add template signature that is re-generated every time the base template is regenerated, which invalidates evaluation fields This fixes an issue where the same sequence is instantiated multiple times in a sequence. If the source sequence was saved, its template would be wiped, which would invalidate the template ID When an instance tries to evaluate the master template, it would only invalidate a range in the evaluation field that was the hull of any invalid sub sequences overlapping the current time, potentially leaving invalid data in the evaluation field at positions later (or earlier) on in the sequence When the sub template was re-generated, it receives the same SequenceSignature as it had before (because the sequence hasn't actually changed), which causes the stale evaluation field data to fail the IsDirty check (because the sequence is the same as it thought, but the *template* has changed) This has been addressed be adding a signature to templates themselves, and checking both the template signature and sequence signature as a part of the IsDirty check. This ensures that we regenerate if either the template, or the sequence have changed. #jira UE-55934 Change 3936327 by Andrew.Rodham Sequencer: Removed increment when trimming right UMovieSceneSection::TrimSection already explicity assigns an exclusive bound to the time passed in. The new behavior means we can trim a section to the right, and insert another section without changing the time to create adjacent sections. #jira UE-42652 Change 3936328 by Andrew.Rodham Fixed KeyFrameManipulator assignment operators and copy/move constructors - These types are potentially self-referential so cannot use default constructors/assignment Change 3936330 by Andrew.Rodham Converted UMGSequencePlayer to use frames internally #jira UE-54878 Change 3936726 by Max.Chen Sequencer: Set track node as the parent of the key area node. The key area switcher needs the object binding id from the parent object binding node. Without this, the binding to the external value fails. #jira UE-55931 Change 3936775 by Max.Chen Sequencer: Should stop or loop should compare DurationFrames with Current Time from StartTime. The bug is that if you set 30 warmup frames in movie rendering for a range of 0-100, the FrameRange will be starting at -30 and have a duration of 130. Without this fix, the playback will continue until frame 130, rather than 100. #jira UE-55933 Change 3936935 by Matt.Hoffman Easing Curves are now represented in Play Rate resolution instead of internal resolution. #jira UE-55937 Change 3937069 by Matt.Hoffman Users can toggle if the is infinite on each side, limited by which tracks support infinite ranges. #jira UE-55891 Change 3937516 by Max.Preussner ImgMedia: Added support for single-threaded platforms #jira UE-55986 Change 3937826 by Max.Preussner MediaAssets: Disabling media sound components on HTML5 if AudioMixer is not enabled Change 3937997 by Max.Chen Curve Editor: Add Zoom to Fit Curves so that selected curves from Sequencer can be focused on. Tested that undo doesn't re-zoom. #jira UE-55935 Change 3938000 by Max.Chen Sequencer: Stop all sounds before generating audio waveforms. #jira UE-55951 Change 3938376 by Max.Preussner XGEController: Disabled XGE Controller in single-threaded apps to prevent crash Change 3938444 by Max.Preussner Core: Added async support for single-threaded applications Change 3938445 by Max.Preussner Networking: Added support for single-threaded applications in UDP socket sender/receiver Change 3938447 by Max.Preussner Messaging: Added support for single-threaded applications Change 3939432 by Max.Chen Sequence Recorder: Append command list to global level editor actions so that shortcuts are accessible in level editor. #jira UE-55798 Change 3940229 by Andrew.Rodham Added prospective display rate upgrade to UMovieScene::PostLoad - There was previously some very odd behaviour that would assign the fixed frame interval only when a sub sequence was focused in SSequencer. This meant that many sequences could have a frame interval of 0 set in the data. - Under the old method of snap interval display this would have fallen back to getting the display interval from the sequencer settings, but we no longer look at these. - The USequencerSettings properties have been removed and in their place, a prospective data upgrade for sequences that have a fixed frame interval old 0fps that sets the play rate to the previous defaults based off the old USequencerSettings defaults. - This could end up 'changing' the display rate for sequences where the user has changed the snap interval in the settings for a particular sequence editor, but there's not much we can do about that given we don't have access to the USequencerSettings classes in UMovieScene #jira UE-55919 Change 3940277 by Andrew.Rodham Sequencer: Added ability to default frame resolutions and play rates for newly created actor sequences Change 3940378 by Andrew.Rodham Sequencer: Post move import dialog now defaults to the playback framerate of the sequence, and floors to frame numbers Change 3940559 by Andrew.Rodham Reinstated primed or recording sequence color Change 3940642 by Max.Preussner ImagePlate: Removed image plate media playback functionality Change 3940843 by Max.Preussner Core: Made TCircularQueue actually thread-safe; improved code comments Change 3940860 by Max.Chen Sequencer: Changed StructNameToKey to StructPathToKey Previously, keying a PropertyPath of [RenderTransform][Shear][X] would get trimmed to X, which doesn't map to a channel name as considered by Sequencer2dTransformTrackEditor. Instead, trim the resulting property path to [Shear][X] so that track editors can determine the desired struct path and channels to key. #jira UE-52966 Change 3941292 by Mike.Zyracki Fix for trajectories out of range not showing up. 1) If we had no key data we would pop the time, so wouldn't get the section ranges. 2) Calculating of upper bound was wrong, checking against -1 and not key == num of keys when doing algo::lower_bound. 3) No need to do the Bck-- for the bakward iterators since we fixed #2. We start now from the upper bound correctly. 4) If we had no keys (at section start,end) we would incorrectly say we were any key type, so since we draw constant keys as dashed we would do so incorrectly around section end points. #jira UE-55929 Change 3941424 by Max.Chen Curve Editor: Change Zoom to Fit to use TArrayView Change 3941498 by Max.Preussner Core: Added FMath::DivideAndRoundNearest function Change 3942097 by Matt.Hoffman Drop Frame Timecode Support for NTSC rates. Change 3942104 by Matt.Hoffman Sequence Recorder Group is no longer visible inside the World Outliner after using one. #jira 55266 Change 3942107 by Max.Chen Sequencer: Resurrect logic to find or extend an existing section when adding keys. Change 3942330 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942339 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942507 by Andrew.Rodham Sequencer: We no longer pad the time overlap threshold with a small number that is not scaled by the current zoom level - The presence of this pad was causing keys that were far apart to be grouped when zoomed in a long way Change 3942509 by Andrew.Rodham Sequencer: Only pad total view range, rather than section range as well when retrieving keys to render - This stops us from rendering keys that are within the view range, but outside the section range Change 3942512 by Andrew.Rodham Added transactions to some sequencer details customizations Change 3942513 by Andrew.Rodham Sequencer: Reinstated validation checks to UMovieSceneSection::SetStartFrame and SetEndFrame, changed erroneous uses to use SetRange Change 3942560 by Andrew.Rodham Pass by rvalue reference to appease error C2719 on Win32 ('InChannels': formal parameter with requested alignment of 8 won't be aligned) Change 3942697 by Andrew.Rodham Newly Created Level Sequences and Actor Sequences now default to 24000 fps frame resolution (+/- ~24hrs range, supporting all integer rates + 23.976) Change 3942700 by Andrew.Rodham Sequencer: Added legacy out-of-bounds errors for times that are not supported by the current legacy upgrade frame resolution Change 3942989 by Max.Preussner Core: Fixed circular queue count calculation Change 3943538 by Max.Preussner MediaAssets: Reverted workaround for procedural audio log spam in HTML5 (Actor component initialization cannot be skipped if the component is used in a level) Change 3944071 by Max.Preussner QAGame: Fixed Media Texture keeps last frame of Media when PIE ends #jira UE-53360 Change 3944292 by Max.Chen Sequencer: Added extra flags to ensure that asset initialization does not occur on template actor sequences #jira UE-56113 Change 3944364 by Max.Chen Sequencer: Prevent circular shot/master tracks. Tested adding master -> child -> master as drag and drop cinematic shot tracks and sub tracks as well as through the + button. #jira UE-56091 Change 3944422 by Max.Chen Sequence Recorder: Disable transform recording if off. #jira UE-56061 Change 3944745 by Andrew.Rodham Sequencer: Key rendering fixes - Fixed assert that occured when keys happened to reside on some times due to KeyTime + TimeOverlapThreshold - KeyTime being slightly larger TimeOverlapThreshold - Fixed keys sometimes being clipped when zoomed right in due to lack of half-frame offset - Added missing documentation to MovieSceneTimeHelpers.h #jira UE-56107 Change 3945231 by Andrew.Rodham Sequencer: Reconstruct channel proxy on Serialize to catch all cases of undo/redo, PostLoad and duplication #jira UE-56089 Change 3945301 by Andrew.Rodham Sequencer: Added safety checks during initial sequence recording to guard against applying negative or 0-sized sequence ranges #jira UE-56125 Change 3946627 by Max.Preussner Fortnite: Fixed game crashes closing editor while in PIE - Pure virtual function being called #jira UE-56144 [CL 3946896 by Max Chen in Main branch]
2018-03-14 22:09:33 -04:00
double NewClampRangeMin = TimeSliderArgs.ClampRange.Get().GetLowerBoundValue();
if ( NewRangeMin < TimeSliderArgs.ClampRange.Get().GetLowerBoundValue() )
{
NewClampRangeMin = NewRangeMin;
bNeedsClampSet = true;
}
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3946692) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3801826 by Max.Chen PR #4304: Level Sequence crash fix - Guarded against dereferencing null componen. (Contributed by DSDambuster) Change 3801828 by Max.Chen PR #4302: Movie Scene Visibility Template unitialised variable, causing random . (Contributed by DSDambuster) Change 3801837 by Max.Chen Sequencer: Delay spawning/construction for convert to possessable. This fixes a bug where property values would be lost when converting back and forth from possessable to spawnable. #jira UE-52400 Change 3801841 by Max.Chen Sequencer: Make spacer nodes not selectable. PR #4194: Improvements to Sequencer (Contributed by projectgheist) #jira UE-53117 #jira UE-52139 Change 3804183 by Max.Preussner MediaAssets: Added missing lock in media sound component Change 3805414 by Max.Preussner MediaAssets: Setting valid GUID when initializing media texture resource Change 3819578 by Max.Chen PR #4370: When enabling the "MovieCapture", do not turn off the Stereo-3D display. (Contributed by yehaike) #jira UE-53647 Change 3823414 by Max.Chen Curve Editor: Lock down the first and last keys in the redundant keys removal range so that they're unaffected. #jira UE-53591 Change 3826406 by Max.Chen Sequencer: Move OnStartedPlaying() to within first update in UpdateTimeCursorPosition(). This fixes an issue where setting the hud/player visibility was getting stomped on later. #jira UE-52772 Change 3827044 by Max.Preussner MediaAssets: Added sprite visualization to media sound component #jira UE-53594 Change 3827988 by Max.Preussner MediaPlayerAssets: Fixed Media Texture is not linked to Media Player when created together #jira UE-53532 Change 3828506 by Max.Preussner MediaPlayerEditor: Added attenuation visualizer for media sound components #jira UE-53594 Change 3832590 by andrew.porter EngineTest: Added a keep state check in Property Animation sequencer test Change 3833053 by andrew.porter EngineTest: Adding Hierarchical Bias test Change 3835683 by andrew.porter EngineTest: Adding UMG Animation screenshot test Change 3836076 by Max.Chen Sequencer: Fix audio volume and pitch multiplier deprecation. Change 3836230 by andrew.porter EngineTest: Adding Sequence Bone Position automation test Change 3836347 by Max.Chen Sequencer: Fixes to shot name parsing. When a shot doesn't contain a shot number, assume, [ShotName]_[TakeNumber]. When duplicating a shot, put the new shot in the same path of the original shot, so that the take numbers will increment properly. #jira UE-51868 Change 3836552 by Max.Chen Sequencer: Sub section now has a takes menu Change 3838094 by Max.Chen UMG: Fix template finish not getting called on stop. This fixes a bug where sections aren't restored when finished. #jira UE-52285 Change 3838708 by Max.Chen Sequencer: Add notification when the blend type is changed. #jira UE-54046 Change 3840295 by Max.Chen Sequencer: Fix copy/paste crash for lights #jira UE-54084 Change 3840957 by Mike.Zyracki Added Show Only Keyable and Show Only Animated to the filter list in the property editor. Added IsPropertyAnimated to IDetailKeyframe Interface which already had support for showing properties which are keyable (which is used for the key icon next to the properties.). Could have created another interface but then would have had to mimic the sequencer binding, releasing also, so this seemed best way. One issue still left is that custom built detail items currently don't store associated properties(usually) and so certain properties, in particulalry transforms, won't show up as keyable or animated. Note this also shows up with the keyable icon not showing up next to transform tracks, and other filters like Show Only Modified not working with transforms/customs. Not sure best way to tackle this. #jira UESEQ-328 Change 3841756 by Max.Chen Sequencer: Fix unbound possessable components when pasting spawnables. #jira UE-54104 Change 3843950 by andrew.porter EngineTest: Renaming LevelStreaming tests/content to LevelVisibility Change 3844082 by Mike.Zyracki Missing file for animated filter in property editor. When finding if a track is animated we need to find it but we can't easily induce the MovieTrack class for any particular property. So we don't set a class for it and just search by it's ID and name. #jira UESEQ-328 Change 3846902 by Max.Preussner ImgMedia: Fixed image media player never finished initialization if loading failed #jira UE-54247 Change 3849820 by Mike.Zyracki Reassigning deleted widgets didn't work since the menu extender mechanism needs a valid UObject in order to perform an operation on it. So to fix we replaced GetObjectBindingContextMenuExtender in WidgetBlueprint with new delegate mechanism (OnBuildCustomContextMenuForGuid) that supports FGuid in addition to UObjects which is needed to handle re-binding deleted widgets. Note that the default sequencer hacks this for replacing deleted actors in SequencerObjectBindingNode to check to see if a LevelSequence is active. We could move to this mechanism there also. #jira UE-53163 Change 3852211 by Max.Chen UMG: Indicate name of the property that is not bound. #jira UE-54350 Change 3854120 by Max.Chen Sequencer: Fix sibling folders being allowed to have the same folder name. #jira UE-54363 Change 3854627 by Max.Chen Sequencer: Step to next/previous key should work for all tracks if there aren't any selected. #jira UESEQ-391 Change 3855825 by andrew.porter EngineTest: Adding animation blending automation test Change 3855950 by andrew.porter EngineTest: Adding correct expected valuues to animation blending test Change 3856237 by Matt.Hoffman UESEQ-336 - Sequencer Track Reordering Adds the ability to re-order Master Tracks, Folders and Object Bindings within sequencer hierarchies (including UMG). Adds the ability to do a one-off sorting of the content under the old sorting behavior if the user wants to reset their layout to how it was under legacy behavior. Modifies SequencerTrackNodes, SequencerFolderNodes and SequencerObjectBindingNodes to handle CanDrop/OnDrop for above, below and ontop of. Fixes a Slate Issue that forcibly expanded a TreeviewRow if an item handled OnDrop. Slate will now only forcibly expand the row if the item says the drop happened ontop of the item, and not above or below it like it previously did. Change 3856503 by andrew.porter EngineTest: Adding automation test for using animation blueprint with blend multi node in sequencer Change 3857875 by Max.Chen Sequencer: Assign the sequence id after the template is compiled. #jira UE-54462 Change 3858344 by Max.Chen Sequencer: Prevent Goto and Transform boxes from overlapping by allowing them to be visible at the same time in an autosized horizontal box. Also, added close button to the goto box. PR #4425: Prevent Goto and Transform boxes from overlapping in Sequencer ... (Contributed by projectgheist) #jira UE-54210 Change 3860566 by andrew.porter MediaFrameworkTest: Set the option to index 0 for the audio and video track list by default Change 3860654 by andrew.porter EngineTest: Enabling Camera Cut + FOV test Change 3860981 by andrew.porter EngineTest: Updating skeletal mesh tests with a delay after set playback position Change 3861256 by Max.Chen Sequencer: Add all bindings if none selected. #jira-54440 Change 3862154 by Andrew.Rodham Added TimeManagement module Change 3862424 by andrew.porter EngineTest: Turned on the test Bone Positions with Blend Multi Node Change 3862573 by andrew.porter EngineTest: Adding test to compare bone positions in a sequence that is blending an animation that is using an AnimBP Change 3865117 by Max.Chen Sequencer: Stop auto scroll on mouse release of movement. #jira UE-31212 Change 3865303 by Max.Chen Sequencer: Add drag and drop transactions #jira UE-54662 Change 3865304 by Max.Chen Sequencer: Fix crash when an actor factory is not found. Change 3865361 by Max.Chen Sequencer: Don't change the camera/shot lock button when popping out of a sequence. #jira UE-54665 Change 3865412 by Max.Chen Sequencer: Determine whether a transform track is for a camera by using the spawned object or template #jira UE-54666 Change 3865685 by Max.Chen Sequencer: Clear autoscrub offset when stopping autoscroll #jira UE-31212 Change 3865886 by Max.Chen Sequence Recorder: Log an error if the number of frames changes while recording. This can happen if the skeleton changes while recording. #jira UE-48715 Change 3866925 by Andrew.Porter MediaFrameworkTest: Changing the current PNG test video image sequence to 1024 x 576 Change 3867705 by andrew.porter QAGame: Adding Audio Sort Sequence to dev folder Change 3867890 by andrew.porter QAGame: Adding a sequence for testing a sorting crash to my dev folder Change 3872628 by Max.Chen Movie Scene Capture: Split delay before warmup into split delay before shot warmup so that there's separate controls for when the movie scene capture warmups up vs. shot boundaries. Change 3873131 by Matt.Hoffman UE-54732 - Crash reordering a folder with a track. This was caused by folders being the only type of track to check if someone was putting a parent track into a child track. Object Binding tracks and Tracks now check as well so that you can't use the above/below drop targets to add parents as children. This also fixed a typo in the localization keys. #jira UE-54732 Change 3873301 by Mike.Zyracki Added ability to support continous euler angle changes when changing rotations, in particularly with the rotation gizmo's. To do this we effectively added a form an of 'euler filter'(https://en.wikipedia.org/wiki/Euler_filter) to find the closest euler angle to the current euler angle. Three functions were added to FRotator to make this possible, one to get the euler angle that's has the same rotation as it, one to get the difference between two euler angles via Manhattan distance and a third using the previous two to choose a Rotator value that's closest to it. We then use these functions before calling UComponent::SetRelativeRotation to make sure we use the correct Euler after the Quat conversion. We also no longer limit(bound) the euler angles to -180,180, which is obviously necessary to avoid flips. I also changed how we caluclate yaw and roll when pitch is -90 or 90 to make it the standard approach of zeroing out roll and just setting yaw. Main reasons are the previous implementation had precision issues so things like 180, 90, -180 would show up due to numbers being nearly zero but negative,(this would break any smooth interpolations), and this facilitates having a 'gimbal' rotation mode (like Maya, Blender etc..) if we ever want that also. If needed we could keep the previous implementation but would need to add some FMath::IsNearlyZero checks, with less performance. Note we only do this special filtering when applying delta's to actors or components in the editors, which then call UComponent::SetRelativeRotationExact, which is a new function to foces the RelativeRotation to be equal to the new rotation. This allows us to store un-nomalized Rotators at the cost that the RotationCache may be broken. We didn't change any of the other UComponent functions that set rotations (via Quats or Transforms) so they will still be bounded and unwound. In SetInternalWorldLocationAndRotation we only set the rotation if the rotation has changed, which fixes the rotation getting changed and re-normalized if just translate happens. In TransformTrackEditor, we correclty use the bUndwing flag and in MovieScene3DTransformSection there was an un-needed winding check there, it will be unwound earlier if needed, which happens if Sequence Recording is happening. Max we should talk about what to do about this . Note the euler angle drag via the widget is still bound to 0-360. I think we should just unbound that now since the rotations value are now unbound. This review now includes fixes suggested by Zak. #jira UE-UE-22228 Change 3873483 by Matt.Hoffman Sequencer Tracks can now be inserted above the spacer at the bottom of the tree. #jira UE-54706 Change 3873899 by Max.Chen Sequencer: Add section selection throbbing Change 3873908 by Max.Chen Movie Scene Capture: Added logging per frame Change 3873924 by Matt.Hoffman Adds the ability to store Sequence Recorder setups into profiles that stay with the map and can be re-loaded later. Profiles store the Actor Recordings so the settings for each actor should carry with them. #jira UESEQ-339 Change 3874726 by Matt.Hoffman Disable drag-and-drop targets on spacers that come between rows in Sequencer. This prevents extra drag/drop targets showing up between each row. #jira UE-54706 Change 3874862 by Matt.Hoffman Audio Track no longer gets reordered when adding sub-audio tracks, as sub-tracks are no longer counted towards the sorting order index when normalizing indexes. #jira UE-54727 Change 3875905 by Matt.Hoffman Disable Fade Track UI if a fade track already exists in the sequence. #jira UESEQ-393 Change 3876163 by Max.Chen Sequencer: Swap the camera object to the camera component's owner if it's not the same. #jira UE-54874 Change 3876971 by Andrew.Porter EngineTest: Moved Media Player Seek test to new folder. Also enabled the test with new ground truth image. Change 3877040 by Max.Chen Cine Camera: Split camera properties to two groups, "Camera Options" and "Camera Settings". The cine camera now hides properties in the "Camera Settings" group so that properties like bConstrainAspectRatio (in the "Camera Options" group) can be visible. #jira UE-54192 Change 3877763 by Max.Chen Curve Editor: Fix curve changed on end drag so that only curves that had keys/tangents that were changed receive notification, otherwise all loaded curves were getting notified that they were changed. #jira UE-54951 Change 3878234 by Matt.Hoffman Disable "Drop Below" targets for Sequencer Tree nodes to prevent a confusing UX issue where dropping underneath a Object Binding Node puts it after the object binding node but the UI looks like it's inserting it inside the Object Binding node. #jira UE-54743 Change 3879359 by Mike.Zyracki If a track is inactive we dim it a bit which seems to be the UE4 way to show inactive or disabled state. We changed the active logic so that all subtracks need to be inactive for the track to also be inactive(instead of all active for active). This conforms to how the active state actually works, e.g if you have two sections and only one is active the track is still active above it. #jira UESEQ-388 Change 3879462 by Max.Chen Sequencer: Allow dragging onto a particular row which would move out any overlapping sections to make space for the newly created section. Newly created sections are now selected and throbbed to draw attention to themselves. #jira UE-54664 Change 3879464 by Max.Chen Sequencer: Fixed overlapping ranges being inserted into the evaluation field during compilation - The issue was that track segments that had been combined with adjacent segments (due to them being identical) would potentially cause a subsequently compiled frame to overlap with a range that had already been inserted into the evaluation field. - The insertion code previously asserted that only minor overlaps were catered for (due to fp rounding errors) and assumed that a supplied range could not entirely contain any other range in the field. - The solution is to supply the insertion time along with the range to know exactly where the data should live in the field, and crop the range to the maximum allowable space between adjacent ranges. #jira UE-54922 Change 3879590 by Matt.Hoffman Items that are now added to the Sequencer via the "+Track" menu will be selected after being added. Items can now be added inside of folders instead of just to the root level. #jira UE-27397 Change 3879612 by Mike.Zyracki Display Nodes with no children are always active. #jira UESEQ-388 Change 3879730 by Matt.Hoffman Sequence Recorder's actor recording groups now remove items from the group when removed via the UI. #jira UESEQ-339 Change 3880256 by Mike.Zyracki Fix issue with inactive display with folders and other track nodes. #jira UESEQ-388 Change 3883491 by Max.Chen Fix issue where tick is skipped due to last ticked pose isn't cleared after AnimInstance changes. Copy from Release-4.19 #jira UE-51323 Change 3883603 by Max.Chen Movie Scene Capture: Add option toggle disable screen percentage. By default this is on (no change in current behavior). #jira UE-51898 Change 3885074 by Max.Preussner MediaCompositing: Resetting media texture & freeing resource on section end; removed dead code Change 3887220 by Max.Preussner MediaCompositing: Defaulted media section duration to 1 sec (since we do not know the actual duration in most cases) Change 3887478 by Matt.Hoffman Sequences now show [Inactive] in their title bars when they're disabled. This helps communicate why a sequence isn't being evaluated. #jira UE-51469 Change 3888985 by Max.Chen Movie Scene Capture: Clamp HDR Compression Quality between 0 and 1. #jira UE-55136 Change 3893519 by Max.Chen Sequence Recorder: Clarified tooltip for bRecordNearbySpawnedActors - spawned actors will still be recorded if they match the ActorFilter. #jira UE-55238 Change 3893546 by Max.Chen Sequence Recorder: If a selected actor already has a recording, add a blank recording. #jira UE-55239 Change 3894044 by Max.Preussner MediaCompositing: Added support for seeking into a media section Change 3894310 by andrew.porter MediaFrameworkTest: Adding Img media sources for 1080 and 2160 ravent test content Change 3894426 by Max.Preussner MediaAssets: Letting media textures with AutoClear retain their clear color when player is reset Change 3895717 by Max.Chen Sequencer: Null checks to prevent crash when saving the default state of a spawnable #jira UE-55304 Change 3897388 by Max.Chen Sequencer: Don't update current time to be within the view range when stepping into a sequence. #jira UE-55322 Change 3897452 by Max.Chen Audio: Fix crash when trying to record audio without any active capture devices. Log warning if the number of input channels is not 1 or 2. #jira UE-55223 Change 3897619 by Max.Preussner MediaCompositing: Removed commented out code Change 3898072 by Max.Chen Sequencer: Override the animation asset in the player state if it doesn't match the animation asset that's being evaluated. #jira UE-55328 Change 3898272 by Max.Preussner MediaPlayerEditor: Made slate brush constants static Change 3898704 by Max.Chen Sequencer: Skip if the binding id's sequence can't be found. #jira UE-55337 Change 3899855 by Max.Preussner MediaCompositingEditor: Added cache state visualization to media track Change 3900300 by Max.Preussner MediaCompositingEditor: Added loop indicators to media sections Change 3900694 by Max.Preussner ImfMedia: Looping cache only when player is looping Change 3900892 by Max.Preussner Stats: Added stats category for media framework Change 3900954 by Max.Preussner MediaCompositing: Don't evaluate at the end of media section Change 3901348 by Max.Preussner Core: Replaced TLruCache autos for better readability Change 3901655 by Max.Preussner ImgMedia: Added more perf stats to EXR reader Change 3901972 by Max.Preussner MediaAssets: Added getter for media player in media sound components Change 3902233 by Max.Preussner MediaAssets: Enabling media textures to receive samples right after player is assigned Change 3902238 by Max.Preussner MediaCompositing: Working around init/shutdown idiosyncracies in sequencer Change 3904045 by Max.Chen Sequencer: Fix copy/paste crash. Only process UMovieSceneCopyableBinding and objects that can be spawned by the movie scene spawn register. #jira UE-55314 Change 3905605 by Max.Chen Sequencer: Restrict spawnables from being created if they have a ClassWithin that UMovieScene is not a child of. #jira UE-55429 Change 3906550 by Max.Chen Sequencer: Add media track icon #jira UE-55480 Change 3907101 by Max.Chen Sequence Recorder: Fix bugs related to not recording a level sequence. There were certain assumptions that creating a level sequence meant that sequence recording was in progress. This is not always the case - the recorders can record animation assets and not create a level sequence. Changed the notion of IsRecording() to having at least one actor recording that is recording. Countdown timer, recording displays, etc should function if IsRecording() and not based on whether a level sequence is created. #jira UE-55485 Change 3907247 by Max.Chen Sequence Recorder: Fix crash not removing PrepareToCleanseEditorObject delegate. Repros when opening sequence recorder, closing it, and then opening or creating a level. Change 3910343 by Max.Preussner Core: Added async helper for executing functions on a given thread pool Change 3910346 by Max.Preussner ImgMedia: Added separate thread pools for loading/decoding and deleting image frames Change 3910829 by Max.Preussner Profiler: Increased visible range of profiler graph Change 3910841 by Max.Preussner MediaCompositing: Displaying asset name instead of full media source path in media section Change 3910870 by Max.Preussner ImgMedia: Using deallocation thread pool only in debug builds Change 3919642 by Max.Chen Sequence Recorder: Clarify active tooltip #jira UE-55661 Change 3919660 by Max.Chen Sequencer: Sequence template source signatures are now also compared to catch the case where a sub-sequence asset has been saved but not modified - The following sequence of events exposes this issue: - Create a master sequence with a single shot that spawns a cube - Add this sequence to a level and set it to auto-play - Save everything and restart - Resave just the inner shot asset without opening it - PIE - The inner shot never spawns its cube because its template was wiped on save, but its signature never changed. Since the master sequence previously didn't check the template source signature, it ends up trying to evaluate an empty template. #jira UE-55626 #jira UE-55490 Change 3921825 by Max.Chen Sequencer: "Run Construction Script in Sequencer" is off by default for blueprints but on for Sequencer. This allows the content author to switch it on for specific blueprints and sequencer will be default, run those with construction scripts enabled. Change 3922232 by Max.Chen Sequence Recorder: Reset countdelay on stop. #jira UE-55755 Change 3922306 by Max.Chen Sequence Recorder: Don't automatically mark transforms to be recorded by sequence recorder. Instead, log a warning if the user toggled it off to warn that the resulting animation might not match gameplay. #jira UE-55758 Change 3922912 by Max.Chen Sequence Recorder: Fix refresh next sequence name #jira UE-55757 Change 3927654 by Max.Chen Movie Scene Capture: Added format mapping for the name of the current camera #jira UE-55769 PR #4537 Change 3927658 by Max.Chen Sequencer: Added fbx property mapping for "FocusDistance" to "FocusSettings.ManualFocusDistance" #jira UE-55782 Change 3932022 by Max.Chen Sequencer: Add import animation track section to next available row index. #jira UE-55892 Change 3933919 by Max.Chen Sequencer: Jump to playback start frame and not 0 to start playback for recording. #jira UE-55933 Change 3934307 by Andrew.Rodham Sequencer: Add template signature that is re-generated every time the base template is regenerated, which invalidates evaluation fields This fixes an issue where the same sequence is instantiated multiple times in a sequence. If the source sequence was saved, its template would be wiped, which would invalidate the template ID When an instance tries to evaluate the master template, it would only invalidate a range in the evaluation field that was the hull of any invalid sub sequences overlapping the current time, potentially leaving invalid data in the evaluation field at positions later (or earlier) on in the sequence When the sub template was re-generated, it receives the same SequenceSignature as it had before (because the sequence hasn't actually changed), which causes the stale evaluation field data to fail the IsDirty check (because the sequence is the same as it thought, but the *template* has changed) This has been addressed be adding a signature to templates themselves, and checking both the template signature and sequence signature as a part of the IsDirty check. This ensures that we regenerate if either the template, or the sequence have changed. #jira UE-55934 Change 3936327 by Andrew.Rodham Sequencer: Removed increment when trimming right UMovieSceneSection::TrimSection already explicity assigns an exclusive bound to the time passed in. The new behavior means we can trim a section to the right, and insert another section without changing the time to create adjacent sections. #jira UE-42652 Change 3936328 by Andrew.Rodham Fixed KeyFrameManipulator assignment operators and copy/move constructors - These types are potentially self-referential so cannot use default constructors/assignment Change 3936330 by Andrew.Rodham Converted UMGSequencePlayer to use frames internally #jira UE-54878 Change 3936726 by Max.Chen Sequencer: Set track node as the parent of the key area node. The key area switcher needs the object binding id from the parent object binding node. Without this, the binding to the external value fails. #jira UE-55931 Change 3936775 by Max.Chen Sequencer: Should stop or loop should compare DurationFrames with Current Time from StartTime. The bug is that if you set 30 warmup frames in movie rendering for a range of 0-100, the FrameRange will be starting at -30 and have a duration of 130. Without this fix, the playback will continue until frame 130, rather than 100. #jira UE-55933 Change 3936935 by Matt.Hoffman Easing Curves are now represented in Play Rate resolution instead of internal resolution. #jira UE-55937 Change 3937069 by Matt.Hoffman Users can toggle if the is infinite on each side, limited by which tracks support infinite ranges. #jira UE-55891 Change 3937516 by Max.Preussner ImgMedia: Added support for single-threaded platforms #jira UE-55986 Change 3937826 by Max.Preussner MediaAssets: Disabling media sound components on HTML5 if AudioMixer is not enabled Change 3937997 by Max.Chen Curve Editor: Add Zoom to Fit Curves so that selected curves from Sequencer can be focused on. Tested that undo doesn't re-zoom. #jira UE-55935 Change 3938000 by Max.Chen Sequencer: Stop all sounds before generating audio waveforms. #jira UE-55951 Change 3938376 by Max.Preussner XGEController: Disabled XGE Controller in single-threaded apps to prevent crash Change 3938444 by Max.Preussner Core: Added async support for single-threaded applications Change 3938445 by Max.Preussner Networking: Added support for single-threaded applications in UDP socket sender/receiver Change 3938447 by Max.Preussner Messaging: Added support for single-threaded applications Change 3939432 by Max.Chen Sequence Recorder: Append command list to global level editor actions so that shortcuts are accessible in level editor. #jira UE-55798 Change 3940229 by Andrew.Rodham Added prospective display rate upgrade to UMovieScene::PostLoad - There was previously some very odd behaviour that would assign the fixed frame interval only when a sub sequence was focused in SSequencer. This meant that many sequences could have a frame interval of 0 set in the data. - Under the old method of snap interval display this would have fallen back to getting the display interval from the sequencer settings, but we no longer look at these. - The USequencerSettings properties have been removed and in their place, a prospective data upgrade for sequences that have a fixed frame interval old 0fps that sets the play rate to the previous defaults based off the old USequencerSettings defaults. - This could end up 'changing' the display rate for sequences where the user has changed the snap interval in the settings for a particular sequence editor, but there's not much we can do about that given we don't have access to the USequencerSettings classes in UMovieScene #jira UE-55919 Change 3940277 by Andrew.Rodham Sequencer: Added ability to default frame resolutions and play rates for newly created actor sequences Change 3940378 by Andrew.Rodham Sequencer: Post move import dialog now defaults to the playback framerate of the sequence, and floors to frame numbers Change 3940559 by Andrew.Rodham Reinstated primed or recording sequence color Change 3940642 by Max.Preussner ImagePlate: Removed image plate media playback functionality Change 3940843 by Max.Preussner Core: Made TCircularQueue actually thread-safe; improved code comments Change 3940860 by Max.Chen Sequencer: Changed StructNameToKey to StructPathToKey Previously, keying a PropertyPath of [RenderTransform][Shear][X] would get trimmed to X, which doesn't map to a channel name as considered by Sequencer2dTransformTrackEditor. Instead, trim the resulting property path to [Shear][X] so that track editors can determine the desired struct path and channels to key. #jira UE-52966 Change 3941292 by Mike.Zyracki Fix for trajectories out of range not showing up. 1) If we had no key data we would pop the time, so wouldn't get the section ranges. 2) Calculating of upper bound was wrong, checking against -1 and not key == num of keys when doing algo::lower_bound. 3) No need to do the Bck-- for the bakward iterators since we fixed #2. We start now from the upper bound correctly. 4) If we had no keys (at section start,end) we would incorrectly say we were any key type, so since we draw constant keys as dashed we would do so incorrectly around section end points. #jira UE-55929 Change 3941424 by Max.Chen Curve Editor: Change Zoom to Fit to use TArrayView Change 3941498 by Max.Preussner Core: Added FMath::DivideAndRoundNearest function Change 3942097 by Matt.Hoffman Drop Frame Timecode Support for NTSC rates. Change 3942104 by Matt.Hoffman Sequence Recorder Group is no longer visible inside the World Outliner after using one. #jira 55266 Change 3942107 by Max.Chen Sequencer: Resurrect logic to find or extend an existing section when adding keys. Change 3942330 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942339 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942507 by Andrew.Rodham Sequencer: We no longer pad the time overlap threshold with a small number that is not scaled by the current zoom level - The presence of this pad was causing keys that were far apart to be grouped when zoomed in a long way Change 3942509 by Andrew.Rodham Sequencer: Only pad total view range, rather than section range as well when retrieving keys to render - This stops us from rendering keys that are within the view range, but outside the section range Change 3942512 by Andrew.Rodham Added transactions to some sequencer details customizations Change 3942513 by Andrew.Rodham Sequencer: Reinstated validation checks to UMovieSceneSection::SetStartFrame and SetEndFrame, changed erroneous uses to use SetRange Change 3942560 by Andrew.Rodham Pass by rvalue reference to appease error C2719 on Win32 ('InChannels': formal parameter with requested alignment of 8 won't be aligned) Change 3942697 by Andrew.Rodham Newly Created Level Sequences and Actor Sequences now default to 24000 fps frame resolution (+/- ~24hrs range, supporting all integer rates + 23.976) Change 3942700 by Andrew.Rodham Sequencer: Added legacy out-of-bounds errors for times that are not supported by the current legacy upgrade frame resolution Change 3942989 by Max.Preussner Core: Fixed circular queue count calculation Change 3943538 by Max.Preussner MediaAssets: Reverted workaround for procedural audio log spam in HTML5 (Actor component initialization cannot be skipped if the component is used in a level) Change 3944071 by Max.Preussner QAGame: Fixed Media Texture keeps last frame of Media when PIE ends #jira UE-53360 Change 3944292 by Max.Chen Sequencer: Added extra flags to ensure that asset initialization does not occur on template actor sequences #jira UE-56113 Change 3944364 by Max.Chen Sequencer: Prevent circular shot/master tracks. Tested adding master -> child -> master as drag and drop cinematic shot tracks and sub tracks as well as through the + button. #jira UE-56091 Change 3944422 by Max.Chen Sequence Recorder: Disable transform recording if off. #jira UE-56061 Change 3944745 by Andrew.Rodham Sequencer: Key rendering fixes - Fixed assert that occured when keys happened to reside on some times due to KeyTime + TimeOverlapThreshold - KeyTime being slightly larger TimeOverlapThreshold - Fixed keys sometimes being clipped when zoomed right in due to lack of half-frame offset - Added missing documentation to MovieSceneTimeHelpers.h #jira UE-56107 Change 3945231 by Andrew.Rodham Sequencer: Reconstruct channel proxy on Serialize to catch all cases of undo/redo, PostLoad and duplication #jira UE-56089 Change 3945301 by Andrew.Rodham Sequencer: Added safety checks during initial sequence recording to guard against applying negative or 0-sized sequence ranges #jira UE-56125 Change 3946627 by Max.Preussner Fortnite: Fixed game crashes closing editor while in PIE - Pure virtual function being called #jira UE-56144 [CL 3946896 by Max Chen in Main branch]
2018-03-14 22:09:33 -04:00
double NewClampRangeMax = TimeSliderArgs.ClampRange.Get().GetUpperBoundValue();
if ( NewRangeMax > TimeSliderArgs.ClampRange.Get().GetUpperBoundValue() )
{
NewClampRangeMax = NewRangeMax;
bNeedsClampSet = true;
}
if (bNeedsClampSet)
{
SetClampRange(NewClampRangeMin, NewClampRangeMax);
}
}
TSharedRef<IPropertyTypeCustomization> FSequencerTimeSliderController::CreateFrameNumberCustomization()
{
TSharedPtr<ISequencer> SequencerPtr = WeakSequencer.Pin();
return MakeShared<FFrameNumberDetailsCustomization>(SequencerPtr->GetNumericTypeInterface());
}
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3946692) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3801826 by Max.Chen PR #4304: Level Sequence crash fix - Guarded against dereferencing null componen. (Contributed by DSDambuster) Change 3801828 by Max.Chen PR #4302: Movie Scene Visibility Template unitialised variable, causing random . (Contributed by DSDambuster) Change 3801837 by Max.Chen Sequencer: Delay spawning/construction for convert to possessable. This fixes a bug where property values would be lost when converting back and forth from possessable to spawnable. #jira UE-52400 Change 3801841 by Max.Chen Sequencer: Make spacer nodes not selectable. PR #4194: Improvements to Sequencer (Contributed by projectgheist) #jira UE-53117 #jira UE-52139 Change 3804183 by Max.Preussner MediaAssets: Added missing lock in media sound component Change 3805414 by Max.Preussner MediaAssets: Setting valid GUID when initializing media texture resource Change 3819578 by Max.Chen PR #4370: When enabling the "MovieCapture", do not turn off the Stereo-3D display. (Contributed by yehaike) #jira UE-53647 Change 3823414 by Max.Chen Curve Editor: Lock down the first and last keys in the redundant keys removal range so that they're unaffected. #jira UE-53591 Change 3826406 by Max.Chen Sequencer: Move OnStartedPlaying() to within first update in UpdateTimeCursorPosition(). This fixes an issue where setting the hud/player visibility was getting stomped on later. #jira UE-52772 Change 3827044 by Max.Preussner MediaAssets: Added sprite visualization to media sound component #jira UE-53594 Change 3827988 by Max.Preussner MediaPlayerAssets: Fixed Media Texture is not linked to Media Player when created together #jira UE-53532 Change 3828506 by Max.Preussner MediaPlayerEditor: Added attenuation visualizer for media sound components #jira UE-53594 Change 3832590 by andrew.porter EngineTest: Added a keep state check in Property Animation sequencer test Change 3833053 by andrew.porter EngineTest: Adding Hierarchical Bias test Change 3835683 by andrew.porter EngineTest: Adding UMG Animation screenshot test Change 3836076 by Max.Chen Sequencer: Fix audio volume and pitch multiplier deprecation. Change 3836230 by andrew.porter EngineTest: Adding Sequence Bone Position automation test Change 3836347 by Max.Chen Sequencer: Fixes to shot name parsing. When a shot doesn't contain a shot number, assume, [ShotName]_[TakeNumber]. When duplicating a shot, put the new shot in the same path of the original shot, so that the take numbers will increment properly. #jira UE-51868 Change 3836552 by Max.Chen Sequencer: Sub section now has a takes menu Change 3838094 by Max.Chen UMG: Fix template finish not getting called on stop. This fixes a bug where sections aren't restored when finished. #jira UE-52285 Change 3838708 by Max.Chen Sequencer: Add notification when the blend type is changed. #jira UE-54046 Change 3840295 by Max.Chen Sequencer: Fix copy/paste crash for lights #jira UE-54084 Change 3840957 by Mike.Zyracki Added Show Only Keyable and Show Only Animated to the filter list in the property editor. Added IsPropertyAnimated to IDetailKeyframe Interface which already had support for showing properties which are keyable (which is used for the key icon next to the properties.). Could have created another interface but then would have had to mimic the sequencer binding, releasing also, so this seemed best way. One issue still left is that custom built detail items currently don't store associated properties(usually) and so certain properties, in particulalry transforms, won't show up as keyable or animated. Note this also shows up with the keyable icon not showing up next to transform tracks, and other filters like Show Only Modified not working with transforms/customs. Not sure best way to tackle this. #jira UESEQ-328 Change 3841756 by Max.Chen Sequencer: Fix unbound possessable components when pasting spawnables. #jira UE-54104 Change 3843950 by andrew.porter EngineTest: Renaming LevelStreaming tests/content to LevelVisibility Change 3844082 by Mike.Zyracki Missing file for animated filter in property editor. When finding if a track is animated we need to find it but we can't easily induce the MovieTrack class for any particular property. So we don't set a class for it and just search by it's ID and name. #jira UESEQ-328 Change 3846902 by Max.Preussner ImgMedia: Fixed image media player never finished initialization if loading failed #jira UE-54247 Change 3849820 by Mike.Zyracki Reassigning deleted widgets didn't work since the menu extender mechanism needs a valid UObject in order to perform an operation on it. So to fix we replaced GetObjectBindingContextMenuExtender in WidgetBlueprint with new delegate mechanism (OnBuildCustomContextMenuForGuid) that supports FGuid in addition to UObjects which is needed to handle re-binding deleted widgets. Note that the default sequencer hacks this for replacing deleted actors in SequencerObjectBindingNode to check to see if a LevelSequence is active. We could move to this mechanism there also. #jira UE-53163 Change 3852211 by Max.Chen UMG: Indicate name of the property that is not bound. #jira UE-54350 Change 3854120 by Max.Chen Sequencer: Fix sibling folders being allowed to have the same folder name. #jira UE-54363 Change 3854627 by Max.Chen Sequencer: Step to next/previous key should work for all tracks if there aren't any selected. #jira UESEQ-391 Change 3855825 by andrew.porter EngineTest: Adding animation blending automation test Change 3855950 by andrew.porter EngineTest: Adding correct expected valuues to animation blending test Change 3856237 by Matt.Hoffman UESEQ-336 - Sequencer Track Reordering Adds the ability to re-order Master Tracks, Folders and Object Bindings within sequencer hierarchies (including UMG). Adds the ability to do a one-off sorting of the content under the old sorting behavior if the user wants to reset their layout to how it was under legacy behavior. Modifies SequencerTrackNodes, SequencerFolderNodes and SequencerObjectBindingNodes to handle CanDrop/OnDrop for above, below and ontop of. Fixes a Slate Issue that forcibly expanded a TreeviewRow if an item handled OnDrop. Slate will now only forcibly expand the row if the item says the drop happened ontop of the item, and not above or below it like it previously did. Change 3856503 by andrew.porter EngineTest: Adding automation test for using animation blueprint with blend multi node in sequencer Change 3857875 by Max.Chen Sequencer: Assign the sequence id after the template is compiled. #jira UE-54462 Change 3858344 by Max.Chen Sequencer: Prevent Goto and Transform boxes from overlapping by allowing them to be visible at the same time in an autosized horizontal box. Also, added close button to the goto box. PR #4425: Prevent Goto and Transform boxes from overlapping in Sequencer ... (Contributed by projectgheist) #jira UE-54210 Change 3860566 by andrew.porter MediaFrameworkTest: Set the option to index 0 for the audio and video track list by default Change 3860654 by andrew.porter EngineTest: Enabling Camera Cut + FOV test Change 3860981 by andrew.porter EngineTest: Updating skeletal mesh tests with a delay after set playback position Change 3861256 by Max.Chen Sequencer: Add all bindings if none selected. #jira-54440 Change 3862154 by Andrew.Rodham Added TimeManagement module Change 3862424 by andrew.porter EngineTest: Turned on the test Bone Positions with Blend Multi Node Change 3862573 by andrew.porter EngineTest: Adding test to compare bone positions in a sequence that is blending an animation that is using an AnimBP Change 3865117 by Max.Chen Sequencer: Stop auto scroll on mouse release of movement. #jira UE-31212 Change 3865303 by Max.Chen Sequencer: Add drag and drop transactions #jira UE-54662 Change 3865304 by Max.Chen Sequencer: Fix crash when an actor factory is not found. Change 3865361 by Max.Chen Sequencer: Don't change the camera/shot lock button when popping out of a sequence. #jira UE-54665 Change 3865412 by Max.Chen Sequencer: Determine whether a transform track is for a camera by using the spawned object or template #jira UE-54666 Change 3865685 by Max.Chen Sequencer: Clear autoscrub offset when stopping autoscroll #jira UE-31212 Change 3865886 by Max.Chen Sequence Recorder: Log an error if the number of frames changes while recording. This can happen if the skeleton changes while recording. #jira UE-48715 Change 3866925 by Andrew.Porter MediaFrameworkTest: Changing the current PNG test video image sequence to 1024 x 576 Change 3867705 by andrew.porter QAGame: Adding Audio Sort Sequence to dev folder Change 3867890 by andrew.porter QAGame: Adding a sequence for testing a sorting crash to my dev folder Change 3872628 by Max.Chen Movie Scene Capture: Split delay before warmup into split delay before shot warmup so that there's separate controls for when the movie scene capture warmups up vs. shot boundaries. Change 3873131 by Matt.Hoffman UE-54732 - Crash reordering a folder with a track. This was caused by folders being the only type of track to check if someone was putting a parent track into a child track. Object Binding tracks and Tracks now check as well so that you can't use the above/below drop targets to add parents as children. This also fixed a typo in the localization keys. #jira UE-54732 Change 3873301 by Mike.Zyracki Added ability to support continous euler angle changes when changing rotations, in particularly with the rotation gizmo's. To do this we effectively added a form an of 'euler filter'(https://en.wikipedia.org/wiki/Euler_filter) to find the closest euler angle to the current euler angle. Three functions were added to FRotator to make this possible, one to get the euler angle that's has the same rotation as it, one to get the difference between two euler angles via Manhattan distance and a third using the previous two to choose a Rotator value that's closest to it. We then use these functions before calling UComponent::SetRelativeRotation to make sure we use the correct Euler after the Quat conversion. We also no longer limit(bound) the euler angles to -180,180, which is obviously necessary to avoid flips. I also changed how we caluclate yaw and roll when pitch is -90 or 90 to make it the standard approach of zeroing out roll and just setting yaw. Main reasons are the previous implementation had precision issues so things like 180, 90, -180 would show up due to numbers being nearly zero but negative,(this would break any smooth interpolations), and this facilitates having a 'gimbal' rotation mode (like Maya, Blender etc..) if we ever want that also. If needed we could keep the previous implementation but would need to add some FMath::IsNearlyZero checks, with less performance. Note we only do this special filtering when applying delta's to actors or components in the editors, which then call UComponent::SetRelativeRotationExact, which is a new function to foces the RelativeRotation to be equal to the new rotation. This allows us to store un-nomalized Rotators at the cost that the RotationCache may be broken. We didn't change any of the other UComponent functions that set rotations (via Quats or Transforms) so they will still be bounded and unwound. In SetInternalWorldLocationAndRotation we only set the rotation if the rotation has changed, which fixes the rotation getting changed and re-normalized if just translate happens. In TransformTrackEditor, we correclty use the bUndwing flag and in MovieScene3DTransformSection there was an un-needed winding check there, it will be unwound earlier if needed, which happens if Sequence Recording is happening. Max we should talk about what to do about this . Note the euler angle drag via the widget is still bound to 0-360. I think we should just unbound that now since the rotations value are now unbound. This review now includes fixes suggested by Zak. #jira UE-UE-22228 Change 3873483 by Matt.Hoffman Sequencer Tracks can now be inserted above the spacer at the bottom of the tree. #jira UE-54706 Change 3873899 by Max.Chen Sequencer: Add section selection throbbing Change 3873908 by Max.Chen Movie Scene Capture: Added logging per frame Change 3873924 by Matt.Hoffman Adds the ability to store Sequence Recorder setups into profiles that stay with the map and can be re-loaded later. Profiles store the Actor Recordings so the settings for each actor should carry with them. #jira UESEQ-339 Change 3874726 by Matt.Hoffman Disable drag-and-drop targets on spacers that come between rows in Sequencer. This prevents extra drag/drop targets showing up between each row. #jira UE-54706 Change 3874862 by Matt.Hoffman Audio Track no longer gets reordered when adding sub-audio tracks, as sub-tracks are no longer counted towards the sorting order index when normalizing indexes. #jira UE-54727 Change 3875905 by Matt.Hoffman Disable Fade Track UI if a fade track already exists in the sequence. #jira UESEQ-393 Change 3876163 by Max.Chen Sequencer: Swap the camera object to the camera component's owner if it's not the same. #jira UE-54874 Change 3876971 by Andrew.Porter EngineTest: Moved Media Player Seek test to new folder. Also enabled the test with new ground truth image. Change 3877040 by Max.Chen Cine Camera: Split camera properties to two groups, "Camera Options" and "Camera Settings". The cine camera now hides properties in the "Camera Settings" group so that properties like bConstrainAspectRatio (in the "Camera Options" group) can be visible. #jira UE-54192 Change 3877763 by Max.Chen Curve Editor: Fix curve changed on end drag so that only curves that had keys/tangents that were changed receive notification, otherwise all loaded curves were getting notified that they were changed. #jira UE-54951 Change 3878234 by Matt.Hoffman Disable "Drop Below" targets for Sequencer Tree nodes to prevent a confusing UX issue where dropping underneath a Object Binding Node puts it after the object binding node but the UI looks like it's inserting it inside the Object Binding node. #jira UE-54743 Change 3879359 by Mike.Zyracki If a track is inactive we dim it a bit which seems to be the UE4 way to show inactive or disabled state. We changed the active logic so that all subtracks need to be inactive for the track to also be inactive(instead of all active for active). This conforms to how the active state actually works, e.g if you have two sections and only one is active the track is still active above it. #jira UESEQ-388 Change 3879462 by Max.Chen Sequencer: Allow dragging onto a particular row which would move out any overlapping sections to make space for the newly created section. Newly created sections are now selected and throbbed to draw attention to themselves. #jira UE-54664 Change 3879464 by Max.Chen Sequencer: Fixed overlapping ranges being inserted into the evaluation field during compilation - The issue was that track segments that had been combined with adjacent segments (due to them being identical) would potentially cause a subsequently compiled frame to overlap with a range that had already been inserted into the evaluation field. - The insertion code previously asserted that only minor overlaps were catered for (due to fp rounding errors) and assumed that a supplied range could not entirely contain any other range in the field. - The solution is to supply the insertion time along with the range to know exactly where the data should live in the field, and crop the range to the maximum allowable space between adjacent ranges. #jira UE-54922 Change 3879590 by Matt.Hoffman Items that are now added to the Sequencer via the "+Track" menu will be selected after being added. Items can now be added inside of folders instead of just to the root level. #jira UE-27397 Change 3879612 by Mike.Zyracki Display Nodes with no children are always active. #jira UESEQ-388 Change 3879730 by Matt.Hoffman Sequence Recorder's actor recording groups now remove items from the group when removed via the UI. #jira UESEQ-339 Change 3880256 by Mike.Zyracki Fix issue with inactive display with folders and other track nodes. #jira UESEQ-388 Change 3883491 by Max.Chen Fix issue where tick is skipped due to last ticked pose isn't cleared after AnimInstance changes. Copy from Release-4.19 #jira UE-51323 Change 3883603 by Max.Chen Movie Scene Capture: Add option toggle disable screen percentage. By default this is on (no change in current behavior). #jira UE-51898 Change 3885074 by Max.Preussner MediaCompositing: Resetting media texture & freeing resource on section end; removed dead code Change 3887220 by Max.Preussner MediaCompositing: Defaulted media section duration to 1 sec (since we do not know the actual duration in most cases) Change 3887478 by Matt.Hoffman Sequences now show [Inactive] in their title bars when they're disabled. This helps communicate why a sequence isn't being evaluated. #jira UE-51469 Change 3888985 by Max.Chen Movie Scene Capture: Clamp HDR Compression Quality between 0 and 1. #jira UE-55136 Change 3893519 by Max.Chen Sequence Recorder: Clarified tooltip for bRecordNearbySpawnedActors - spawned actors will still be recorded if they match the ActorFilter. #jira UE-55238 Change 3893546 by Max.Chen Sequence Recorder: If a selected actor already has a recording, add a blank recording. #jira UE-55239 Change 3894044 by Max.Preussner MediaCompositing: Added support for seeking into a media section Change 3894310 by andrew.porter MediaFrameworkTest: Adding Img media sources for 1080 and 2160 ravent test content Change 3894426 by Max.Preussner MediaAssets: Letting media textures with AutoClear retain their clear color when player is reset Change 3895717 by Max.Chen Sequencer: Null checks to prevent crash when saving the default state of a spawnable #jira UE-55304 Change 3897388 by Max.Chen Sequencer: Don't update current time to be within the view range when stepping into a sequence. #jira UE-55322 Change 3897452 by Max.Chen Audio: Fix crash when trying to record audio without any active capture devices. Log warning if the number of input channels is not 1 or 2. #jira UE-55223 Change 3897619 by Max.Preussner MediaCompositing: Removed commented out code Change 3898072 by Max.Chen Sequencer: Override the animation asset in the player state if it doesn't match the animation asset that's being evaluated. #jira UE-55328 Change 3898272 by Max.Preussner MediaPlayerEditor: Made slate brush constants static Change 3898704 by Max.Chen Sequencer: Skip if the binding id's sequence can't be found. #jira UE-55337 Change 3899855 by Max.Preussner MediaCompositingEditor: Added cache state visualization to media track Change 3900300 by Max.Preussner MediaCompositingEditor: Added loop indicators to media sections Change 3900694 by Max.Preussner ImfMedia: Looping cache only when player is looping Change 3900892 by Max.Preussner Stats: Added stats category for media framework Change 3900954 by Max.Preussner MediaCompositing: Don't evaluate at the end of media section Change 3901348 by Max.Preussner Core: Replaced TLruCache autos for better readability Change 3901655 by Max.Preussner ImgMedia: Added more perf stats to EXR reader Change 3901972 by Max.Preussner MediaAssets: Added getter for media player in media sound components Change 3902233 by Max.Preussner MediaAssets: Enabling media textures to receive samples right after player is assigned Change 3902238 by Max.Preussner MediaCompositing: Working around init/shutdown idiosyncracies in sequencer Change 3904045 by Max.Chen Sequencer: Fix copy/paste crash. Only process UMovieSceneCopyableBinding and objects that can be spawned by the movie scene spawn register. #jira UE-55314 Change 3905605 by Max.Chen Sequencer: Restrict spawnables from being created if they have a ClassWithin that UMovieScene is not a child of. #jira UE-55429 Change 3906550 by Max.Chen Sequencer: Add media track icon #jira UE-55480 Change 3907101 by Max.Chen Sequence Recorder: Fix bugs related to not recording a level sequence. There were certain assumptions that creating a level sequence meant that sequence recording was in progress. This is not always the case - the recorders can record animation assets and not create a level sequence. Changed the notion of IsRecording() to having at least one actor recording that is recording. Countdown timer, recording displays, etc should function if IsRecording() and not based on whether a level sequence is created. #jira UE-55485 Change 3907247 by Max.Chen Sequence Recorder: Fix crash not removing PrepareToCleanseEditorObject delegate. Repros when opening sequence recorder, closing it, and then opening or creating a level. Change 3910343 by Max.Preussner Core: Added async helper for executing functions on a given thread pool Change 3910346 by Max.Preussner ImgMedia: Added separate thread pools for loading/decoding and deleting image frames Change 3910829 by Max.Preussner Profiler: Increased visible range of profiler graph Change 3910841 by Max.Preussner MediaCompositing: Displaying asset name instead of full media source path in media section Change 3910870 by Max.Preussner ImgMedia: Using deallocation thread pool only in debug builds Change 3919642 by Max.Chen Sequence Recorder: Clarify active tooltip #jira UE-55661 Change 3919660 by Max.Chen Sequencer: Sequence template source signatures are now also compared to catch the case where a sub-sequence asset has been saved but not modified - The following sequence of events exposes this issue: - Create a master sequence with a single shot that spawns a cube - Add this sequence to a level and set it to auto-play - Save everything and restart - Resave just the inner shot asset without opening it - PIE - The inner shot never spawns its cube because its template was wiped on save, but its signature never changed. Since the master sequence previously didn't check the template source signature, it ends up trying to evaluate an empty template. #jira UE-55626 #jira UE-55490 Change 3921825 by Max.Chen Sequencer: "Run Construction Script in Sequencer" is off by default for blueprints but on for Sequencer. This allows the content author to switch it on for specific blueprints and sequencer will be default, run those with construction scripts enabled. Change 3922232 by Max.Chen Sequence Recorder: Reset countdelay on stop. #jira UE-55755 Change 3922306 by Max.Chen Sequence Recorder: Don't automatically mark transforms to be recorded by sequence recorder. Instead, log a warning if the user toggled it off to warn that the resulting animation might not match gameplay. #jira UE-55758 Change 3922912 by Max.Chen Sequence Recorder: Fix refresh next sequence name #jira UE-55757 Change 3927654 by Max.Chen Movie Scene Capture: Added format mapping for the name of the current camera #jira UE-55769 PR #4537 Change 3927658 by Max.Chen Sequencer: Added fbx property mapping for "FocusDistance" to "FocusSettings.ManualFocusDistance" #jira UE-55782 Change 3932022 by Max.Chen Sequencer: Add import animation track section to next available row index. #jira UE-55892 Change 3933919 by Max.Chen Sequencer: Jump to playback start frame and not 0 to start playback for recording. #jira UE-55933 Change 3934307 by Andrew.Rodham Sequencer: Add template signature that is re-generated every time the base template is regenerated, which invalidates evaluation fields This fixes an issue where the same sequence is instantiated multiple times in a sequence. If the source sequence was saved, its template would be wiped, which would invalidate the template ID When an instance tries to evaluate the master template, it would only invalidate a range in the evaluation field that was the hull of any invalid sub sequences overlapping the current time, potentially leaving invalid data in the evaluation field at positions later (or earlier) on in the sequence When the sub template was re-generated, it receives the same SequenceSignature as it had before (because the sequence hasn't actually changed), which causes the stale evaluation field data to fail the IsDirty check (because the sequence is the same as it thought, but the *template* has changed) This has been addressed be adding a signature to templates themselves, and checking both the template signature and sequence signature as a part of the IsDirty check. This ensures that we regenerate if either the template, or the sequence have changed. #jira UE-55934 Change 3936327 by Andrew.Rodham Sequencer: Removed increment when trimming right UMovieSceneSection::TrimSection already explicity assigns an exclusive bound to the time passed in. The new behavior means we can trim a section to the right, and insert another section without changing the time to create adjacent sections. #jira UE-42652 Change 3936328 by Andrew.Rodham Fixed KeyFrameManipulator assignment operators and copy/move constructors - These types are potentially self-referential so cannot use default constructors/assignment Change 3936330 by Andrew.Rodham Converted UMGSequencePlayer to use frames internally #jira UE-54878 Change 3936726 by Max.Chen Sequencer: Set track node as the parent of the key area node. The key area switcher needs the object binding id from the parent object binding node. Without this, the binding to the external value fails. #jira UE-55931 Change 3936775 by Max.Chen Sequencer: Should stop or loop should compare DurationFrames with Current Time from StartTime. The bug is that if you set 30 warmup frames in movie rendering for a range of 0-100, the FrameRange will be starting at -30 and have a duration of 130. Without this fix, the playback will continue until frame 130, rather than 100. #jira UE-55933 Change 3936935 by Matt.Hoffman Easing Curves are now represented in Play Rate resolution instead of internal resolution. #jira UE-55937 Change 3937069 by Matt.Hoffman Users can toggle if the is infinite on each side, limited by which tracks support infinite ranges. #jira UE-55891 Change 3937516 by Max.Preussner ImgMedia: Added support for single-threaded platforms #jira UE-55986 Change 3937826 by Max.Preussner MediaAssets: Disabling media sound components on HTML5 if AudioMixer is not enabled Change 3937997 by Max.Chen Curve Editor: Add Zoom to Fit Curves so that selected curves from Sequencer can be focused on. Tested that undo doesn't re-zoom. #jira UE-55935 Change 3938000 by Max.Chen Sequencer: Stop all sounds before generating audio waveforms. #jira UE-55951 Change 3938376 by Max.Preussner XGEController: Disabled XGE Controller in single-threaded apps to prevent crash Change 3938444 by Max.Preussner Core: Added async support for single-threaded applications Change 3938445 by Max.Preussner Networking: Added support for single-threaded applications in UDP socket sender/receiver Change 3938447 by Max.Preussner Messaging: Added support for single-threaded applications Change 3939432 by Max.Chen Sequence Recorder: Append command list to global level editor actions so that shortcuts are accessible in level editor. #jira UE-55798 Change 3940229 by Andrew.Rodham Added prospective display rate upgrade to UMovieScene::PostLoad - There was previously some very odd behaviour that would assign the fixed frame interval only when a sub sequence was focused in SSequencer. This meant that many sequences could have a frame interval of 0 set in the data. - Under the old method of snap interval display this would have fallen back to getting the display interval from the sequencer settings, but we no longer look at these. - The USequencerSettings properties have been removed and in their place, a prospective data upgrade for sequences that have a fixed frame interval old 0fps that sets the play rate to the previous defaults based off the old USequencerSettings defaults. - This could end up 'changing' the display rate for sequences where the user has changed the snap interval in the settings for a particular sequence editor, but there's not much we can do about that given we don't have access to the USequencerSettings classes in UMovieScene #jira UE-55919 Change 3940277 by Andrew.Rodham Sequencer: Added ability to default frame resolutions and play rates for newly created actor sequences Change 3940378 by Andrew.Rodham Sequencer: Post move import dialog now defaults to the playback framerate of the sequence, and floors to frame numbers Change 3940559 by Andrew.Rodham Reinstated primed or recording sequence color Change 3940642 by Max.Preussner ImagePlate: Removed image plate media playback functionality Change 3940843 by Max.Preussner Core: Made TCircularQueue actually thread-safe; improved code comments Change 3940860 by Max.Chen Sequencer: Changed StructNameToKey to StructPathToKey Previously, keying a PropertyPath of [RenderTransform][Shear][X] would get trimmed to X, which doesn't map to a channel name as considered by Sequencer2dTransformTrackEditor. Instead, trim the resulting property path to [Shear][X] so that track editors can determine the desired struct path and channels to key. #jira UE-52966 Change 3941292 by Mike.Zyracki Fix for trajectories out of range not showing up. 1) If we had no key data we would pop the time, so wouldn't get the section ranges. 2) Calculating of upper bound was wrong, checking against -1 and not key == num of keys when doing algo::lower_bound. 3) No need to do the Bck-- for the bakward iterators since we fixed #2. We start now from the upper bound correctly. 4) If we had no keys (at section start,end) we would incorrectly say we were any key type, so since we draw constant keys as dashed we would do so incorrectly around section end points. #jira UE-55929 Change 3941424 by Max.Chen Curve Editor: Change Zoom to Fit to use TArrayView Change 3941498 by Max.Preussner Core: Added FMath::DivideAndRoundNearest function Change 3942097 by Matt.Hoffman Drop Frame Timecode Support for NTSC rates. Change 3942104 by Matt.Hoffman Sequence Recorder Group is no longer visible inside the World Outliner after using one. #jira 55266 Change 3942107 by Max.Chen Sequencer: Resurrect logic to find or extend an existing section when adding keys. Change 3942330 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942339 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942507 by Andrew.Rodham Sequencer: We no longer pad the time overlap threshold with a small number that is not scaled by the current zoom level - The presence of this pad was causing keys that were far apart to be grouped when zoomed in a long way Change 3942509 by Andrew.Rodham Sequencer: Only pad total view range, rather than section range as well when retrieving keys to render - This stops us from rendering keys that are within the view range, but outside the section range Change 3942512 by Andrew.Rodham Added transactions to some sequencer details customizations Change 3942513 by Andrew.Rodham Sequencer: Reinstated validation checks to UMovieSceneSection::SetStartFrame and SetEndFrame, changed erroneous uses to use SetRange Change 3942560 by Andrew.Rodham Pass by rvalue reference to appease error C2719 on Win32 ('InChannels': formal parameter with requested alignment of 8 won't be aligned) Change 3942697 by Andrew.Rodham Newly Created Level Sequences and Actor Sequences now default to 24000 fps frame resolution (+/- ~24hrs range, supporting all integer rates + 23.976) Change 3942700 by Andrew.Rodham Sequencer: Added legacy out-of-bounds errors for times that are not supported by the current legacy upgrade frame resolution Change 3942989 by Max.Preussner Core: Fixed circular queue count calculation Change 3943538 by Max.Preussner MediaAssets: Reverted workaround for procedural audio log spam in HTML5 (Actor component initialization cannot be skipped if the component is used in a level) Change 3944071 by Max.Preussner QAGame: Fixed Media Texture keeps last frame of Media when PIE ends #jira UE-53360 Change 3944292 by Max.Chen Sequencer: Added extra flags to ensure that asset initialization does not occur on template actor sequences #jira UE-56113 Change 3944364 by Max.Chen Sequencer: Prevent circular shot/master tracks. Tested adding master -> child -> master as drag and drop cinematic shot tracks and sub tracks as well as through the + button. #jira UE-56091 Change 3944422 by Max.Chen Sequence Recorder: Disable transform recording if off. #jira UE-56061 Change 3944745 by Andrew.Rodham Sequencer: Key rendering fixes - Fixed assert that occured when keys happened to reside on some times due to KeyTime + TimeOverlapThreshold - KeyTime being slightly larger TimeOverlapThreshold - Fixed keys sometimes being clipped when zoomed right in due to lack of half-frame offset - Added missing documentation to MovieSceneTimeHelpers.h #jira UE-56107 Change 3945231 by Andrew.Rodham Sequencer: Reconstruct channel proxy on Serialize to catch all cases of undo/redo, PostLoad and duplication #jira UE-56089 Change 3945301 by Andrew.Rodham Sequencer: Added safety checks during initial sequence recording to guard against applying negative or 0-sized sequence ranges #jira UE-56125 Change 3946627 by Max.Preussner Fortnite: Fixed game crashes closing editor while in PIE - Pure virtual function being called #jira UE-56144 [CL 3946896 by Max Chen in Main branch]
2018-03-14 22:09:33 -04:00
void FSequencerTimeSliderController::SetViewRange( double NewRangeMin, double NewRangeMax, EViewRangeInterpolation Interpolation )
{
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3946692) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3801826 by Max.Chen PR #4304: Level Sequence crash fix - Guarded against dereferencing null componen. (Contributed by DSDambuster) Change 3801828 by Max.Chen PR #4302: Movie Scene Visibility Template unitialised variable, causing random . (Contributed by DSDambuster) Change 3801837 by Max.Chen Sequencer: Delay spawning/construction for convert to possessable. This fixes a bug where property values would be lost when converting back and forth from possessable to spawnable. #jira UE-52400 Change 3801841 by Max.Chen Sequencer: Make spacer nodes not selectable. PR #4194: Improvements to Sequencer (Contributed by projectgheist) #jira UE-53117 #jira UE-52139 Change 3804183 by Max.Preussner MediaAssets: Added missing lock in media sound component Change 3805414 by Max.Preussner MediaAssets: Setting valid GUID when initializing media texture resource Change 3819578 by Max.Chen PR #4370: When enabling the "MovieCapture", do not turn off the Stereo-3D display. (Contributed by yehaike) #jira UE-53647 Change 3823414 by Max.Chen Curve Editor: Lock down the first and last keys in the redundant keys removal range so that they're unaffected. #jira UE-53591 Change 3826406 by Max.Chen Sequencer: Move OnStartedPlaying() to within first update in UpdateTimeCursorPosition(). This fixes an issue where setting the hud/player visibility was getting stomped on later. #jira UE-52772 Change 3827044 by Max.Preussner MediaAssets: Added sprite visualization to media sound component #jira UE-53594 Change 3827988 by Max.Preussner MediaPlayerAssets: Fixed Media Texture is not linked to Media Player when created together #jira UE-53532 Change 3828506 by Max.Preussner MediaPlayerEditor: Added attenuation visualizer for media sound components #jira UE-53594 Change 3832590 by andrew.porter EngineTest: Added a keep state check in Property Animation sequencer test Change 3833053 by andrew.porter EngineTest: Adding Hierarchical Bias test Change 3835683 by andrew.porter EngineTest: Adding UMG Animation screenshot test Change 3836076 by Max.Chen Sequencer: Fix audio volume and pitch multiplier deprecation. Change 3836230 by andrew.porter EngineTest: Adding Sequence Bone Position automation test Change 3836347 by Max.Chen Sequencer: Fixes to shot name parsing. When a shot doesn't contain a shot number, assume, [ShotName]_[TakeNumber]. When duplicating a shot, put the new shot in the same path of the original shot, so that the take numbers will increment properly. #jira UE-51868 Change 3836552 by Max.Chen Sequencer: Sub section now has a takes menu Change 3838094 by Max.Chen UMG: Fix template finish not getting called on stop. This fixes a bug where sections aren't restored when finished. #jira UE-52285 Change 3838708 by Max.Chen Sequencer: Add notification when the blend type is changed. #jira UE-54046 Change 3840295 by Max.Chen Sequencer: Fix copy/paste crash for lights #jira UE-54084 Change 3840957 by Mike.Zyracki Added Show Only Keyable and Show Only Animated to the filter list in the property editor. Added IsPropertyAnimated to IDetailKeyframe Interface which already had support for showing properties which are keyable (which is used for the key icon next to the properties.). Could have created another interface but then would have had to mimic the sequencer binding, releasing also, so this seemed best way. One issue still left is that custom built detail items currently don't store associated properties(usually) and so certain properties, in particulalry transforms, won't show up as keyable or animated. Note this also shows up with the keyable icon not showing up next to transform tracks, and other filters like Show Only Modified not working with transforms/customs. Not sure best way to tackle this. #jira UESEQ-328 Change 3841756 by Max.Chen Sequencer: Fix unbound possessable components when pasting spawnables. #jira UE-54104 Change 3843950 by andrew.porter EngineTest: Renaming LevelStreaming tests/content to LevelVisibility Change 3844082 by Mike.Zyracki Missing file for animated filter in property editor. When finding if a track is animated we need to find it but we can't easily induce the MovieTrack class for any particular property. So we don't set a class for it and just search by it's ID and name. #jira UESEQ-328 Change 3846902 by Max.Preussner ImgMedia: Fixed image media player never finished initialization if loading failed #jira UE-54247 Change 3849820 by Mike.Zyracki Reassigning deleted widgets didn't work since the menu extender mechanism needs a valid UObject in order to perform an operation on it. So to fix we replaced GetObjectBindingContextMenuExtender in WidgetBlueprint with new delegate mechanism (OnBuildCustomContextMenuForGuid) that supports FGuid in addition to UObjects which is needed to handle re-binding deleted widgets. Note that the default sequencer hacks this for replacing deleted actors in SequencerObjectBindingNode to check to see if a LevelSequence is active. We could move to this mechanism there also. #jira UE-53163 Change 3852211 by Max.Chen UMG: Indicate name of the property that is not bound. #jira UE-54350 Change 3854120 by Max.Chen Sequencer: Fix sibling folders being allowed to have the same folder name. #jira UE-54363 Change 3854627 by Max.Chen Sequencer: Step to next/previous key should work for all tracks if there aren't any selected. #jira UESEQ-391 Change 3855825 by andrew.porter EngineTest: Adding animation blending automation test Change 3855950 by andrew.porter EngineTest: Adding correct expected valuues to animation blending test Change 3856237 by Matt.Hoffman UESEQ-336 - Sequencer Track Reordering Adds the ability to re-order Master Tracks, Folders and Object Bindings within sequencer hierarchies (including UMG). Adds the ability to do a one-off sorting of the content under the old sorting behavior if the user wants to reset their layout to how it was under legacy behavior. Modifies SequencerTrackNodes, SequencerFolderNodes and SequencerObjectBindingNodes to handle CanDrop/OnDrop for above, below and ontop of. Fixes a Slate Issue that forcibly expanded a TreeviewRow if an item handled OnDrop. Slate will now only forcibly expand the row if the item says the drop happened ontop of the item, and not above or below it like it previously did. Change 3856503 by andrew.porter EngineTest: Adding automation test for using animation blueprint with blend multi node in sequencer Change 3857875 by Max.Chen Sequencer: Assign the sequence id after the template is compiled. #jira UE-54462 Change 3858344 by Max.Chen Sequencer: Prevent Goto and Transform boxes from overlapping by allowing them to be visible at the same time in an autosized horizontal box. Also, added close button to the goto box. PR #4425: Prevent Goto and Transform boxes from overlapping in Sequencer ... (Contributed by projectgheist) #jira UE-54210 Change 3860566 by andrew.porter MediaFrameworkTest: Set the option to index 0 for the audio and video track list by default Change 3860654 by andrew.porter EngineTest: Enabling Camera Cut + FOV test Change 3860981 by andrew.porter EngineTest: Updating skeletal mesh tests with a delay after set playback position Change 3861256 by Max.Chen Sequencer: Add all bindings if none selected. #jira-54440 Change 3862154 by Andrew.Rodham Added TimeManagement module Change 3862424 by andrew.porter EngineTest: Turned on the test Bone Positions with Blend Multi Node Change 3862573 by andrew.porter EngineTest: Adding test to compare bone positions in a sequence that is blending an animation that is using an AnimBP Change 3865117 by Max.Chen Sequencer: Stop auto scroll on mouse release of movement. #jira UE-31212 Change 3865303 by Max.Chen Sequencer: Add drag and drop transactions #jira UE-54662 Change 3865304 by Max.Chen Sequencer: Fix crash when an actor factory is not found. Change 3865361 by Max.Chen Sequencer: Don't change the camera/shot lock button when popping out of a sequence. #jira UE-54665 Change 3865412 by Max.Chen Sequencer: Determine whether a transform track is for a camera by using the spawned object or template #jira UE-54666 Change 3865685 by Max.Chen Sequencer: Clear autoscrub offset when stopping autoscroll #jira UE-31212 Change 3865886 by Max.Chen Sequence Recorder: Log an error if the number of frames changes while recording. This can happen if the skeleton changes while recording. #jira UE-48715 Change 3866925 by Andrew.Porter MediaFrameworkTest: Changing the current PNG test video image sequence to 1024 x 576 Change 3867705 by andrew.porter QAGame: Adding Audio Sort Sequence to dev folder Change 3867890 by andrew.porter QAGame: Adding a sequence for testing a sorting crash to my dev folder Change 3872628 by Max.Chen Movie Scene Capture: Split delay before warmup into split delay before shot warmup so that there's separate controls for when the movie scene capture warmups up vs. shot boundaries. Change 3873131 by Matt.Hoffman UE-54732 - Crash reordering a folder with a track. This was caused by folders being the only type of track to check if someone was putting a parent track into a child track. Object Binding tracks and Tracks now check as well so that you can't use the above/below drop targets to add parents as children. This also fixed a typo in the localization keys. #jira UE-54732 Change 3873301 by Mike.Zyracki Added ability to support continous euler angle changes when changing rotations, in particularly with the rotation gizmo's. To do this we effectively added a form an of 'euler filter'(https://en.wikipedia.org/wiki/Euler_filter) to find the closest euler angle to the current euler angle. Three functions were added to FRotator to make this possible, one to get the euler angle that's has the same rotation as it, one to get the difference between two euler angles via Manhattan distance and a third using the previous two to choose a Rotator value that's closest to it. We then use these functions before calling UComponent::SetRelativeRotation to make sure we use the correct Euler after the Quat conversion. We also no longer limit(bound) the euler angles to -180,180, which is obviously necessary to avoid flips. I also changed how we caluclate yaw and roll when pitch is -90 or 90 to make it the standard approach of zeroing out roll and just setting yaw. Main reasons are the previous implementation had precision issues so things like 180, 90, -180 would show up due to numbers being nearly zero but negative,(this would break any smooth interpolations), and this facilitates having a 'gimbal' rotation mode (like Maya, Blender etc..) if we ever want that also. If needed we could keep the previous implementation but would need to add some FMath::IsNearlyZero checks, with less performance. Note we only do this special filtering when applying delta's to actors or components in the editors, which then call UComponent::SetRelativeRotationExact, which is a new function to foces the RelativeRotation to be equal to the new rotation. This allows us to store un-nomalized Rotators at the cost that the RotationCache may be broken. We didn't change any of the other UComponent functions that set rotations (via Quats or Transforms) so they will still be bounded and unwound. In SetInternalWorldLocationAndRotation we only set the rotation if the rotation has changed, which fixes the rotation getting changed and re-normalized if just translate happens. In TransformTrackEditor, we correclty use the bUndwing flag and in MovieScene3DTransformSection there was an un-needed winding check there, it will be unwound earlier if needed, which happens if Sequence Recording is happening. Max we should talk about what to do about this . Note the euler angle drag via the widget is still bound to 0-360. I think we should just unbound that now since the rotations value are now unbound. This review now includes fixes suggested by Zak. #jira UE-UE-22228 Change 3873483 by Matt.Hoffman Sequencer Tracks can now be inserted above the spacer at the bottom of the tree. #jira UE-54706 Change 3873899 by Max.Chen Sequencer: Add section selection throbbing Change 3873908 by Max.Chen Movie Scene Capture: Added logging per frame Change 3873924 by Matt.Hoffman Adds the ability to store Sequence Recorder setups into profiles that stay with the map and can be re-loaded later. Profiles store the Actor Recordings so the settings for each actor should carry with them. #jira UESEQ-339 Change 3874726 by Matt.Hoffman Disable drag-and-drop targets on spacers that come between rows in Sequencer. This prevents extra drag/drop targets showing up between each row. #jira UE-54706 Change 3874862 by Matt.Hoffman Audio Track no longer gets reordered when adding sub-audio tracks, as sub-tracks are no longer counted towards the sorting order index when normalizing indexes. #jira UE-54727 Change 3875905 by Matt.Hoffman Disable Fade Track UI if a fade track already exists in the sequence. #jira UESEQ-393 Change 3876163 by Max.Chen Sequencer: Swap the camera object to the camera component's owner if it's not the same. #jira UE-54874 Change 3876971 by Andrew.Porter EngineTest: Moved Media Player Seek test to new folder. Also enabled the test with new ground truth image. Change 3877040 by Max.Chen Cine Camera: Split camera properties to two groups, "Camera Options" and "Camera Settings". The cine camera now hides properties in the "Camera Settings" group so that properties like bConstrainAspectRatio (in the "Camera Options" group) can be visible. #jira UE-54192 Change 3877763 by Max.Chen Curve Editor: Fix curve changed on end drag so that only curves that had keys/tangents that were changed receive notification, otherwise all loaded curves were getting notified that they were changed. #jira UE-54951 Change 3878234 by Matt.Hoffman Disable "Drop Below" targets for Sequencer Tree nodes to prevent a confusing UX issue where dropping underneath a Object Binding Node puts it after the object binding node but the UI looks like it's inserting it inside the Object Binding node. #jira UE-54743 Change 3879359 by Mike.Zyracki If a track is inactive we dim it a bit which seems to be the UE4 way to show inactive or disabled state. We changed the active logic so that all subtracks need to be inactive for the track to also be inactive(instead of all active for active). This conforms to how the active state actually works, e.g if you have two sections and only one is active the track is still active above it. #jira UESEQ-388 Change 3879462 by Max.Chen Sequencer: Allow dragging onto a particular row which would move out any overlapping sections to make space for the newly created section. Newly created sections are now selected and throbbed to draw attention to themselves. #jira UE-54664 Change 3879464 by Max.Chen Sequencer: Fixed overlapping ranges being inserted into the evaluation field during compilation - The issue was that track segments that had been combined with adjacent segments (due to them being identical) would potentially cause a subsequently compiled frame to overlap with a range that had already been inserted into the evaluation field. - The insertion code previously asserted that only minor overlaps were catered for (due to fp rounding errors) and assumed that a supplied range could not entirely contain any other range in the field. - The solution is to supply the insertion time along with the range to know exactly where the data should live in the field, and crop the range to the maximum allowable space between adjacent ranges. #jira UE-54922 Change 3879590 by Matt.Hoffman Items that are now added to the Sequencer via the "+Track" menu will be selected after being added. Items can now be added inside of folders instead of just to the root level. #jira UE-27397 Change 3879612 by Mike.Zyracki Display Nodes with no children are always active. #jira UESEQ-388 Change 3879730 by Matt.Hoffman Sequence Recorder's actor recording groups now remove items from the group when removed via the UI. #jira UESEQ-339 Change 3880256 by Mike.Zyracki Fix issue with inactive display with folders and other track nodes. #jira UESEQ-388 Change 3883491 by Max.Chen Fix issue where tick is skipped due to last ticked pose isn't cleared after AnimInstance changes. Copy from Release-4.19 #jira UE-51323 Change 3883603 by Max.Chen Movie Scene Capture: Add option toggle disable screen percentage. By default this is on (no change in current behavior). #jira UE-51898 Change 3885074 by Max.Preussner MediaCompositing: Resetting media texture & freeing resource on section end; removed dead code Change 3887220 by Max.Preussner MediaCompositing: Defaulted media section duration to 1 sec (since we do not know the actual duration in most cases) Change 3887478 by Matt.Hoffman Sequences now show [Inactive] in their title bars when they're disabled. This helps communicate why a sequence isn't being evaluated. #jira UE-51469 Change 3888985 by Max.Chen Movie Scene Capture: Clamp HDR Compression Quality between 0 and 1. #jira UE-55136 Change 3893519 by Max.Chen Sequence Recorder: Clarified tooltip for bRecordNearbySpawnedActors - spawned actors will still be recorded if they match the ActorFilter. #jira UE-55238 Change 3893546 by Max.Chen Sequence Recorder: If a selected actor already has a recording, add a blank recording. #jira UE-55239 Change 3894044 by Max.Preussner MediaCompositing: Added support for seeking into a media section Change 3894310 by andrew.porter MediaFrameworkTest: Adding Img media sources for 1080 and 2160 ravent test content Change 3894426 by Max.Preussner MediaAssets: Letting media textures with AutoClear retain their clear color when player is reset Change 3895717 by Max.Chen Sequencer: Null checks to prevent crash when saving the default state of a spawnable #jira UE-55304 Change 3897388 by Max.Chen Sequencer: Don't update current time to be within the view range when stepping into a sequence. #jira UE-55322 Change 3897452 by Max.Chen Audio: Fix crash when trying to record audio without any active capture devices. Log warning if the number of input channels is not 1 or 2. #jira UE-55223 Change 3897619 by Max.Preussner MediaCompositing: Removed commented out code Change 3898072 by Max.Chen Sequencer: Override the animation asset in the player state if it doesn't match the animation asset that's being evaluated. #jira UE-55328 Change 3898272 by Max.Preussner MediaPlayerEditor: Made slate brush constants static Change 3898704 by Max.Chen Sequencer: Skip if the binding id's sequence can't be found. #jira UE-55337 Change 3899855 by Max.Preussner MediaCompositingEditor: Added cache state visualization to media track Change 3900300 by Max.Preussner MediaCompositingEditor: Added loop indicators to media sections Change 3900694 by Max.Preussner ImfMedia: Looping cache only when player is looping Change 3900892 by Max.Preussner Stats: Added stats category for media framework Change 3900954 by Max.Preussner MediaCompositing: Don't evaluate at the end of media section Change 3901348 by Max.Preussner Core: Replaced TLruCache autos for better readability Change 3901655 by Max.Preussner ImgMedia: Added more perf stats to EXR reader Change 3901972 by Max.Preussner MediaAssets: Added getter for media player in media sound components Change 3902233 by Max.Preussner MediaAssets: Enabling media textures to receive samples right after player is assigned Change 3902238 by Max.Preussner MediaCompositing: Working around init/shutdown idiosyncracies in sequencer Change 3904045 by Max.Chen Sequencer: Fix copy/paste crash. Only process UMovieSceneCopyableBinding and objects that can be spawned by the movie scene spawn register. #jira UE-55314 Change 3905605 by Max.Chen Sequencer: Restrict spawnables from being created if they have a ClassWithin that UMovieScene is not a child of. #jira UE-55429 Change 3906550 by Max.Chen Sequencer: Add media track icon #jira UE-55480 Change 3907101 by Max.Chen Sequence Recorder: Fix bugs related to not recording a level sequence. There were certain assumptions that creating a level sequence meant that sequence recording was in progress. This is not always the case - the recorders can record animation assets and not create a level sequence. Changed the notion of IsRecording() to having at least one actor recording that is recording. Countdown timer, recording displays, etc should function if IsRecording() and not based on whether a level sequence is created. #jira UE-55485 Change 3907247 by Max.Chen Sequence Recorder: Fix crash not removing PrepareToCleanseEditorObject delegate. Repros when opening sequence recorder, closing it, and then opening or creating a level. Change 3910343 by Max.Preussner Core: Added async helper for executing functions on a given thread pool Change 3910346 by Max.Preussner ImgMedia: Added separate thread pools for loading/decoding and deleting image frames Change 3910829 by Max.Preussner Profiler: Increased visible range of profiler graph Change 3910841 by Max.Preussner MediaCompositing: Displaying asset name instead of full media source path in media section Change 3910870 by Max.Preussner ImgMedia: Using deallocation thread pool only in debug builds Change 3919642 by Max.Chen Sequence Recorder: Clarify active tooltip #jira UE-55661 Change 3919660 by Max.Chen Sequencer: Sequence template source signatures are now also compared to catch the case where a sub-sequence asset has been saved but not modified - The following sequence of events exposes this issue: - Create a master sequence with a single shot that spawns a cube - Add this sequence to a level and set it to auto-play - Save everything and restart - Resave just the inner shot asset without opening it - PIE - The inner shot never spawns its cube because its template was wiped on save, but its signature never changed. Since the master sequence previously didn't check the template source signature, it ends up trying to evaluate an empty template. #jira UE-55626 #jira UE-55490 Change 3921825 by Max.Chen Sequencer: "Run Construction Script in Sequencer" is off by default for blueprints but on for Sequencer. This allows the content author to switch it on for specific blueprints and sequencer will be default, run those with construction scripts enabled. Change 3922232 by Max.Chen Sequence Recorder: Reset countdelay on stop. #jira UE-55755 Change 3922306 by Max.Chen Sequence Recorder: Don't automatically mark transforms to be recorded by sequence recorder. Instead, log a warning if the user toggled it off to warn that the resulting animation might not match gameplay. #jira UE-55758 Change 3922912 by Max.Chen Sequence Recorder: Fix refresh next sequence name #jira UE-55757 Change 3927654 by Max.Chen Movie Scene Capture: Added format mapping for the name of the current camera #jira UE-55769 PR #4537 Change 3927658 by Max.Chen Sequencer: Added fbx property mapping for "FocusDistance" to "FocusSettings.ManualFocusDistance" #jira UE-55782 Change 3932022 by Max.Chen Sequencer: Add import animation track section to next available row index. #jira UE-55892 Change 3933919 by Max.Chen Sequencer: Jump to playback start frame and not 0 to start playback for recording. #jira UE-55933 Change 3934307 by Andrew.Rodham Sequencer: Add template signature that is re-generated every time the base template is regenerated, which invalidates evaluation fields This fixes an issue where the same sequence is instantiated multiple times in a sequence. If the source sequence was saved, its template would be wiped, which would invalidate the template ID When an instance tries to evaluate the master template, it would only invalidate a range in the evaluation field that was the hull of any invalid sub sequences overlapping the current time, potentially leaving invalid data in the evaluation field at positions later (or earlier) on in the sequence When the sub template was re-generated, it receives the same SequenceSignature as it had before (because the sequence hasn't actually changed), which causes the stale evaluation field data to fail the IsDirty check (because the sequence is the same as it thought, but the *template* has changed) This has been addressed be adding a signature to templates themselves, and checking both the template signature and sequence signature as a part of the IsDirty check. This ensures that we regenerate if either the template, or the sequence have changed. #jira UE-55934 Change 3936327 by Andrew.Rodham Sequencer: Removed increment when trimming right UMovieSceneSection::TrimSection already explicity assigns an exclusive bound to the time passed in. The new behavior means we can trim a section to the right, and insert another section without changing the time to create adjacent sections. #jira UE-42652 Change 3936328 by Andrew.Rodham Fixed KeyFrameManipulator assignment operators and copy/move constructors - These types are potentially self-referential so cannot use default constructors/assignment Change 3936330 by Andrew.Rodham Converted UMGSequencePlayer to use frames internally #jira UE-54878 Change 3936726 by Max.Chen Sequencer: Set track node as the parent of the key area node. The key area switcher needs the object binding id from the parent object binding node. Without this, the binding to the external value fails. #jira UE-55931 Change 3936775 by Max.Chen Sequencer: Should stop or loop should compare DurationFrames with Current Time from StartTime. The bug is that if you set 30 warmup frames in movie rendering for a range of 0-100, the FrameRange will be starting at -30 and have a duration of 130. Without this fix, the playback will continue until frame 130, rather than 100. #jira UE-55933 Change 3936935 by Matt.Hoffman Easing Curves are now represented in Play Rate resolution instead of internal resolution. #jira UE-55937 Change 3937069 by Matt.Hoffman Users can toggle if the is infinite on each side, limited by which tracks support infinite ranges. #jira UE-55891 Change 3937516 by Max.Preussner ImgMedia: Added support for single-threaded platforms #jira UE-55986 Change 3937826 by Max.Preussner MediaAssets: Disabling media sound components on HTML5 if AudioMixer is not enabled Change 3937997 by Max.Chen Curve Editor: Add Zoom to Fit Curves so that selected curves from Sequencer can be focused on. Tested that undo doesn't re-zoom. #jira UE-55935 Change 3938000 by Max.Chen Sequencer: Stop all sounds before generating audio waveforms. #jira UE-55951 Change 3938376 by Max.Preussner XGEController: Disabled XGE Controller in single-threaded apps to prevent crash Change 3938444 by Max.Preussner Core: Added async support for single-threaded applications Change 3938445 by Max.Preussner Networking: Added support for single-threaded applications in UDP socket sender/receiver Change 3938447 by Max.Preussner Messaging: Added support for single-threaded applications Change 3939432 by Max.Chen Sequence Recorder: Append command list to global level editor actions so that shortcuts are accessible in level editor. #jira UE-55798 Change 3940229 by Andrew.Rodham Added prospective display rate upgrade to UMovieScene::PostLoad - There was previously some very odd behaviour that would assign the fixed frame interval only when a sub sequence was focused in SSequencer. This meant that many sequences could have a frame interval of 0 set in the data. - Under the old method of snap interval display this would have fallen back to getting the display interval from the sequencer settings, but we no longer look at these. - The USequencerSettings properties have been removed and in their place, a prospective data upgrade for sequences that have a fixed frame interval old 0fps that sets the play rate to the previous defaults based off the old USequencerSettings defaults. - This could end up 'changing' the display rate for sequences where the user has changed the snap interval in the settings for a particular sequence editor, but there's not much we can do about that given we don't have access to the USequencerSettings classes in UMovieScene #jira UE-55919 Change 3940277 by Andrew.Rodham Sequencer: Added ability to default frame resolutions and play rates for newly created actor sequences Change 3940378 by Andrew.Rodham Sequencer: Post move import dialog now defaults to the playback framerate of the sequence, and floors to frame numbers Change 3940559 by Andrew.Rodham Reinstated primed or recording sequence color Change 3940642 by Max.Preussner ImagePlate: Removed image plate media playback functionality Change 3940843 by Max.Preussner Core: Made TCircularQueue actually thread-safe; improved code comments Change 3940860 by Max.Chen Sequencer: Changed StructNameToKey to StructPathToKey Previously, keying a PropertyPath of [RenderTransform][Shear][X] would get trimmed to X, which doesn't map to a channel name as considered by Sequencer2dTransformTrackEditor. Instead, trim the resulting property path to [Shear][X] so that track editors can determine the desired struct path and channels to key. #jira UE-52966 Change 3941292 by Mike.Zyracki Fix for trajectories out of range not showing up. 1) If we had no key data we would pop the time, so wouldn't get the section ranges. 2) Calculating of upper bound was wrong, checking against -1 and not key == num of keys when doing algo::lower_bound. 3) No need to do the Bck-- for the bakward iterators since we fixed #2. We start now from the upper bound correctly. 4) If we had no keys (at section start,end) we would incorrectly say we were any key type, so since we draw constant keys as dashed we would do so incorrectly around section end points. #jira UE-55929 Change 3941424 by Max.Chen Curve Editor: Change Zoom to Fit to use TArrayView Change 3941498 by Max.Preussner Core: Added FMath::DivideAndRoundNearest function Change 3942097 by Matt.Hoffman Drop Frame Timecode Support for NTSC rates. Change 3942104 by Matt.Hoffman Sequence Recorder Group is no longer visible inside the World Outliner after using one. #jira 55266 Change 3942107 by Max.Chen Sequencer: Resurrect logic to find or extend an existing section when adding keys. Change 3942330 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942339 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942507 by Andrew.Rodham Sequencer: We no longer pad the time overlap threshold with a small number that is not scaled by the current zoom level - The presence of this pad was causing keys that were far apart to be grouped when zoomed in a long way Change 3942509 by Andrew.Rodham Sequencer: Only pad total view range, rather than section range as well when retrieving keys to render - This stops us from rendering keys that are within the view range, but outside the section range Change 3942512 by Andrew.Rodham Added transactions to some sequencer details customizations Change 3942513 by Andrew.Rodham Sequencer: Reinstated validation checks to UMovieSceneSection::SetStartFrame and SetEndFrame, changed erroneous uses to use SetRange Change 3942560 by Andrew.Rodham Pass by rvalue reference to appease error C2719 on Win32 ('InChannels': formal parameter with requested alignment of 8 won't be aligned) Change 3942697 by Andrew.Rodham Newly Created Level Sequences and Actor Sequences now default to 24000 fps frame resolution (+/- ~24hrs range, supporting all integer rates + 23.976) Change 3942700 by Andrew.Rodham Sequencer: Added legacy out-of-bounds errors for times that are not supported by the current legacy upgrade frame resolution Change 3942989 by Max.Preussner Core: Fixed circular queue count calculation Change 3943538 by Max.Preussner MediaAssets: Reverted workaround for procedural audio log spam in HTML5 (Actor component initialization cannot be skipped if the component is used in a level) Change 3944071 by Max.Preussner QAGame: Fixed Media Texture keeps last frame of Media when PIE ends #jira UE-53360 Change 3944292 by Max.Chen Sequencer: Added extra flags to ensure that asset initialization does not occur on template actor sequences #jira UE-56113 Change 3944364 by Max.Chen Sequencer: Prevent circular shot/master tracks. Tested adding master -> child -> master as drag and drop cinematic shot tracks and sub tracks as well as through the + button. #jira UE-56091 Change 3944422 by Max.Chen Sequence Recorder: Disable transform recording if off. #jira UE-56061 Change 3944745 by Andrew.Rodham Sequencer: Key rendering fixes - Fixed assert that occured when keys happened to reside on some times due to KeyTime + TimeOverlapThreshold - KeyTime being slightly larger TimeOverlapThreshold - Fixed keys sometimes being clipped when zoomed right in due to lack of half-frame offset - Added missing documentation to MovieSceneTimeHelpers.h #jira UE-56107 Change 3945231 by Andrew.Rodham Sequencer: Reconstruct channel proxy on Serialize to catch all cases of undo/redo, PostLoad and duplication #jira UE-56089 Change 3945301 by Andrew.Rodham Sequencer: Added safety checks during initial sequence recording to guard against applying negative or 0-sized sequence ranges #jira UE-56125 Change 3946627 by Max.Preussner Fortnite: Fixed game crashes closing editor while in PIE - Pure virtual function being called #jira UE-56144 [CL 3946896 by Max Chen in Main branch]
2018-03-14 22:09:33 -04:00
// Clamp to a minimum size to avoid zero-sized or negative visible ranges
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 4044339) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3947021 by Max.Chen Sequencer: Don't preserve root component when copying object properties. A spawnable empty actor, has a root component that is generated by the empty actor factory. If the object template's root component is preserved when copying from the spawnable empty actor, the root component will not be copied over. Therefore, we need to NOT preserve the root component when copying object properties. #jira UE-55825 Change 3947366 by Max.Preussner WmfMedia: Better log output Change 3947367 by Max.Preussner MfMedia: Better detection of compressed format properties on Windows Change 3949102 by Max.Chen Sequencer: Remove SequenceActorTag when converting to possessable. #jira UE-56206 Change 3949207 by andrew.porter EngineTest: Set the screenshot nodes resolution to 1280x720 Change 3949404 by Max.Chen Sequencer: More informative tooltip for "Rerun Construction Scripts" option. It now says "Rerun construction scripts every frame on actors that have 'Rerun Construction Script in Sequencer' enabled in their class settings". Change 3950067 by Matt.Hoffman Renamed UAutomatedLevelSequenceCapture's StartFrame and EndFrame to CustomStartFrame/CustomEndFrame to reflect that it is user-overriden. This will also resolve upgrade issues due to the variable datatype changing. #jira UE-56189 Change 3950193 by JohnHenry.Carawon Updating my latest MovieRendering test content. Change 3950757 by JohnHenry.Carawon More updates to MovieRendering test content Change 3952059 by Max.Chen Resave LevelVisibility_SubLevels to fix data loss conversion warning of OpacityMaskConstant #jira UE-56086 Change 3952283 by Max.Chen Sequencer: Disable dropping level sequence assets as spawnables. #jira UE-56120 Change 3952422 by Max.Chen Sequence Recorder: Add button to record from the current player. #jira UE-55942 Change 3952987 by JohnHenry.Carawon MovieRendering Test Content - Fixing camera bindings and changing the override binding actor Change 3953823 by Mike.Zyracki Fix for Bad FBX Import Tangents not scaled by frame rate. After looking at this again it seems that a set of MovieScene:: overiddes for the channel traits wasn't set correctly, so use the ADL idiom to use MovieScene, which can then call Optimize in the correct namespace. With this we can now correctly use the passed in tolerance. There was also a redundant set of Optimize calls so that it could happen twice so removed them, and needed an extra check in the float channel Optimize. Also since we need to set auto tangents no matter if we optimize we don't set that parameter(though leave it since it's used by context menu key reduction). Finally fixed speed issue with trajectories caused by calculating way too many substeps. Reverted back to a time based step size for consistency. #jira UE-56193 Change 3954317 by Matt.Hoffman Adding a key to the last frame of a section no longer causes a crash. Keys can already be moved to be on the last frame of a section so now you can just add a key there directly. #jira UE-56255 Change 3954326 by Matt.Hoffman Dilating a section that is only infinite on one side no longer causes a crash. #jira UE-56260 Change 3954486 by Max.Chen PR #4580: Exposes IsReversed() from UMovieSceneSequencePlayer (Contributed by alanedwardes) Change 3955238 by Max.Preussner Messaging: Enabled delayed message routing https://github.com/EpicGames/UnrealEngine/pull/4574 #jira UE-56247 Change 3955901 by Max.Preussner MediaFrameworkTest: Added developer test for overriding desired media player plug-in at runtime. Change 3955922 by Andrew.Porter QAGame: Updating movie rendering content in dev folder Change 3956004 by andrew.porter QAGame: Adding MPC track to movie rendering test content Change 3956510 by Max.Chen Sequencer: Fix fbx camera import of static properties so that they are imported before default tracks are created. Otherwise, the default tracks inherit the default properties of the camera, rather than the values from the fbx. #jira UE-56311 Change 3957613 by Max.Preussner MediaUtils: Added code documentation to media player facade Change 3958005 by Max.Preussner MediaUtils: Added method to get number of sinks Change 3958934 by Max.Chen Sequencer: Fix keys getting added and sequence getting erroneously re-evaluated when auto key is off. Only apply defaults if there are no keys. Only modify the movie scene section before creating keys or setting defaults. #jira UE-55903 Change 3959687 by Andrew.Rodham Sequencer: Fixed visibility track external values being inverted #jira UE-56324 Change 3960507 by Max.Preussner Core: Fixed incorrect rounding in FMath::DivideAndRoundNearest Change 3962047 by JohnHenry.Carawon MovieRendering Test Content Changes: - Add Lightmass Importance Volumes to sublevel to fix warnings - Rebuilt Lighting - Add a third sequence for Gamut testing - Resaved the sound master.uasset to fix warning Change 3962211 by Mike.Zyracki Add Frame Numbers to selected animation sections. Added MapTimeToAnimation to MovieSceneSkeletalAnimation so that we could get it from the Skeleton Animation track Editor. Since the thickness of the frame line can change based upon frame rate and zoom we need to calculate it similarly to how the time slider controller does it. Those calculations were private so we had to expose FScrubRangeToScreen and GetScubberPixelRange from the TimeSliderController. Also needed to know if the section itself was selected so added a bIsSelected flag to the section Painter. Also fixed a bug where you couldn't add a section if other sections existed at different times in MovieScenePropertyTrack and could crash due to the check(). #jira UESEQ-395 Change 3962497 by Max.Preussner Core: Added new string formatting argument to FTimespan Change 3963662 by Max.Chen CineCamera: Flip VistaVision width and height. Change 3963731 by Max.Preussner MediaCompositing: Implemented sequence recording support for media track Change 3964195 by Andrew.Rodham Sequencer: Set inverted property correctly for newly created visibility track sections - Also clamp evaluation for key editors to the bounds of the section so we're not displaying values outside of the section bounds when the cursor is not on the bounds #jira UE-56324 #coderevew Max.Chen Change 3964196 by Andrew.Rodham Sequencer: Fixed crash when attempting to render sections that resulted in a negative intersection with the view range Change 3964275 by Andrew.Rodham Sequencer: Fixed MovieScene::ClampToDiscreteRange for infinite range bounds Change 3964364 by Andrew.Rodham Curve Editor: Reduce minimum vertical view range when zooming to fit Change 3965091 by Max.Chen Sequencer Recorder: Refresh next sequence if empty when starting a recording, otherwise, use existing name. #jira UE-56469 Change 3965148 by Max.Chen Sequence Recorder: Move Record to Possessable to "Actor Recording" group Change 3965162 by Max.Chen Sequence Recorder: Always break out of immersive mode when done recording, even when stopping recording during countdown. #jira UE-56407 Change 3965214 by Max.Preussner QAGame: Enabled ImagePlate plug-in Change 3965574 by Max.Preussner SimpleComposure: Reorganized & upgraded content to work with new Media Track #jira UE-56488 Change 3965651 by Max.Preussner MediaCompositing: Ignoring seek-on-open if media not seekable Change 3966075 by Christina.TempelaarL Sequencer: Added Final Cut Pro 7 XML Export functionality #jira UESEQ-358 Change 3966087 by Matt.Hoffman Adding a single key to the Particle Toggle track now makes an infinite range section that is displayed in the UI. #jira UE-56295 Change 3966547 by Andrew.Rodham Sequencer: Fixed rounding errors when drawing the section background on boolean sections - Logic was using time in sectonds which caused rounding errors on evaluation and flickering red/green stripes when dragging keys around #jira UE-56324 Change 3966563 by Andrew.Rodham Curve Editor: Key editor interface improvements - SKeyEditInterface has a few problems - it does not update in real time when editing properties, and does not support multi-edit which makes it unsuitable for use with the curve editor - We now take a different approach for editing keys by gathering a set of proxy UObjects for each key that is currently selected. These objects are added as top level objects to the details panel which means they support multi edit as you'd expect from any other details panel in the editor. - Proxy objects are updated every tick for the curve editor if they implement the ICurveEditorKeyProxy interface, which allows them to refresh their current value. - Ideally, the same mechanisms would be used in the main sequence interface, and we would be generating the proxy classes at runtime based on the key value type, but that work remains a separate task from this initial offering. #jira UE-56165 Change 3966564 by Andrew.Rodham Curve Editor: Expand to frame when adding or moving keys in the curve editor Change 3967051 by andrew.porter MediaFrameworkTest: Set the CameraPlayer_Video texture to auto clear Change 3967141 by Andrew.Rodham Sequencer: Keep track of spawned objects that have been modified and only re-save such object's default spawnable state on destruction - Now that we're taking this approach, I've remove serveral redundant bits of functionality in the spawn register such as making some spawnables read-only, and the PreSave binding for Sequencer. - We now hook into all object pre-saves to make sure we handle the case where the sequences are saved through the content browser or elsewhere. #jira UE-47686 Change 3967170 by Andrew.Rodham Sequencer: Added the ability to possess anim instances as object bindings - This allows full and direct animation of properties on UAnimInstance, and animation blueprints - Object Bindings are made by first possessing a skeletal mesh component, then choosing the + Add button where its anim instance will be listed - Added a new function to UMovieSceneSequence to gather previously cached objects that should now be invalidated. Anim instances will be re-resolved if a new UAnimInstance is assigned to USkeletalMeshComponent::GetAnimInstance. - ObjectBindingIDs for anim instances are just represented by an entry in a set of GUIDs. We only ever resolve such bindings through USkeletalMeshComponent::GetAnimInstance. - Only currently supported on LevelSequences #jira UE-56132 Change 3967195 by Max.Preussner Core: Updated TRangeSet to use TCallTraits Change 3967345 by JohnHenry.Carawon Test Content Changes - first iteration of spacing out the examples in the shots. Change 3967572 by Max.Chen Sequencer: Fix setting PreviousPlayEvalPosition until after we've tested whether it's set. #jira UE-56518 Change 3967750 by Max.Chen Audio: Set duration based on number of input channels, rather than number of channels to serialize. This fixes an issue where audio split into 2 channels is set to a duration that's twice as long. #jira UE-56430 Change 3967836 by Max.Chen Sequencer: Allow for animating array elements within ustruct properties #jira UE-55887 Change 3968506 by Matt.Hoffman Fixed ambiguous conversions for seconds and frames being overriden by ambiguous conversion to Timecode (in frames). Change 3968748 by Max.Chen Sequencer: Make the event properties submenu widget larger. #jira UE-55557 Change 3968862 by Max.Chen Sequencer: Recursive expansion when shift is down #jira UE-52139 #pr 4194 Change 3968863 by Max.Chen Sequencer: Bind rename command to selected track so that F2 shortcut start renaming #jira UE-52139 #pr 4194 Change 3968872 by Max.Chen Sequencer: Rekey the selected key at the current time. #jira UESEQ-396 Change 3968938 by Max.Chen Cine Camera: Add option to toggle the behavior of locking the rail mount to the orientation of the spline. By default, the option is off, no change in behavior. #jira UE-55815 Change 3968958 by Andrew.Rodham Sequencer: Consider vertical position when hittesting keys #jira UE-56256 Change 3969643 by Max.Preussner Core: Rounding timespans created from double values towards nearest ticks Change 3969646 by Max.Preussner MediaUtils: Implemented timeout mechanism for block-on-fetch feature Change 3969776 by Mike.Zyracki Added Skip Anim Notifiers Toggle per what was in Matinee. Investigated the Enable Root Motion toggle as also discussed but it's implementation is directly contained by the animation asset and unlike animation notifies there seems to be no exposure to interactively disable it during a playback tick. Note if we are generating thumbnails we still automtically disable notifies in the editor to avoid annoying noise playback. Note that if Enable Root Motion/Root locked is specified in the animation asset it does correctly effect the Sequencer. #jira UESEQ-399 Change 3969835 by Matt.Hoffman Playback Range and Selection Range use unified logic for adding themselves as potential snap locations which properly handles inclusive/exclusive bounds. This resolves an issue where having an unset selection range caused a potential snap location to be added on frame 0 and 1 (internal resolution) which caused a misalignment when placing objects near frame 0. This also removes the one frame offset on setting Selection Range to bring behavior inline with other ranges. #jira UE-55420 Change 3969885 by Max.Preussner MediaAssets: Don't register media player CDO with media ticker Change 3971129 by Andrew.Rodham Sequencer: Fixed UMovieSceneSequencePlayer::GotToEndAndStop() not taking into account for start time This is a remnant from when the times were always specified in 0-duration space, rather than actual sequence times. Change 3972056 by JohnHenry.Carawon More updates to Test Content. I continued spacing out the examples in the sequence so that they have a consistent number of frames between each example and during the start/end of the example. Also removed the Marcie sublevel. Change 3972066 by Andrew.Porter MediaFrameworkTest: Setting Marcie folder to be never cooked in package settings Change 3972675 by Matt.Hoffman Splitting Subsequence Sections no longer sets an incorrect playback range on the subsequence when the subsequence has a different internal resolution than the owning sequence. #jira UE-55453 Change 3973376 by Max.Preussner ImgMedia: Zero is the only valid video track for image sequences Change 3973489 by Max.Preussner Launch: Build rules cleanup pass - don't use Media, MediaUtils on server apps - don't link against Media (include-only dependency) - don't include from MediaAssets (dynamic load only) Change 3973760 by Max.Preussner MediaUtils: Moved AppMediaTimeSource implementation into its own file; added logging Change 3973765 by Max.Preussner ImgMedia: Disallowing seek beyond media length Change 3973855 by Max.Preussner MediaFrameworkTest: Updated developer test content Change 3973858 by Max.Preussner MediaCompositing: Blocking on media player time instead of media sample time (the former may not be hit in the current frame) Change 3974988 by Max.Chen Sequencer: Fix trim left so that it also sets the start offset for audio and skeletal animation sections. #jira UE-57015 Change 3976101 by Matt.Hoffman Sequencer will now focus the scroll view on newly created items. #jira UE-56492 Change 3976203 by Max.Chen Property Editor: Add DetailsViewArgs for ColumnWidth. Defaults to 0.65f, no change in existing behavior. Change 3976205 by Max.Chen Sequencer: Set better column widths for sequencer. #jira UE-55557 Change 3976206 by Max.Chen Sequencer: Added menu category for import/export Change 3976265 by Matt.Hoffman Tracks within Object Binding Nodes will now sort using the old behavior so that components are added above other track types. #jira UE-56473 Change 3976901 by Max.Chen Sequencer: Add event names to event track section #jira UESEQ-353 Change 3977878 by Max.Preussner Media: Moved media framework ticking stats into Media module Change 3977982 by Max.Chen Sequencer: Add Edit->Reset section length to duration of source (ie. audio, skeletal animation, shot length) Added MovieSceneSection::GetDefaultDuration and MovieScene::HasDefaultDuration #jira UESEQ-392 Change 3977994 by Max.Preussner Media: Fetching and rendering media samples before viewports are rendered (to ensure frame sync for in-level media playback) #jira UE-53975 Change 3978188 by Matt.Hoffman Easing Curves are now clipped by the sequence's PlayRange when testing against an infinite section. This causes blended sequences to finish their blend when the section starts/ends instead of always using 25% of the total section length to determine default blend range. #jira UE-56362 Change 3978676 by Max.Preussner MediaCompositing: Fixed first frame of rendered out media track missing #jira UE-53975 Change 3978684 by Max.Preussner MediaCompositing: Enabled media track frame sync feature #jira UE-53975 Change 3980026 by Matt.Hoffman Keys can be selected on folded out sections (such as an audio track expanded to show volume and pitch) again. #jira UE-57169 Change 3981614 by Max.Preussner MediaUtils: Added missing subtitle sample queue flush Change 3982311 by Max.Preussner MediaCompositing: Added safeguard for zero length media sources Change 3982389 by andrew.porter QAGame: Adding media track test content into FrameAccuracySubscene Change 3983661 by Max.Chen Sequencer: Add level name to spawn a spawnable into. Add sublevel menu option to set the level #jira UESEQ-390 Change 3983712 by Andrew.Rodham Sequencer: Purge legacy blueprint spawnables from LevelSequence packages #tests Ran a preflight for cooking fortnite, ocean and Orion. Only orion shows up this edge case, and will require a re-save of the EndCines level #jira UE-39173 Change 3983787 by Max.Preussner MediaCompositing: Moved compile time switch for block-on-fetch into media player facade Change 3983812 by Andrew.Rodham Sequencer: Exposed default level sequence instance data to blueprints Change 3984373 by Max.Preussner Media: Added API for quering whether player plug-in supports block on fetch Block on fetch allows Sequencer and other systems to block the game thread until a desired video frame has been decoded. Change 3984670 by JohnHenry.Carawon Movie Rendering Test Content progress. Saving the state of the content. There is a bug where things got replaced with particle emitters and I think it was because I tried to copy paste an animation track into a separate skeletal mesh track. Change 3985097 by Max.Chen Sequencer: Rename Reset to AutoSize Change GetAutoSizeDuration to return TOptional<FFrameTime> #jira UESEQ-392 Change 3986043 by Max.Chen Sequencer: Fix crash when attach/path duration is less than 0. #jira UE-57310 Change 3986373 by Max.Chen Sequencer: Add support for deleting tracks and channels which equates to setting the channel mask. #jira UE-52951 Change 3986375 by Max.Chen Sequencer: Add Create Pose Asset to skeletal animation section. This allows animators to blend animations in sequencer and create new pose assets from them. #jira UESEQ-408 Change 3986796 by Andrew.Rodham Sequencer: Fixed stale object references remaining in ULevelSequence::BindingReferences when using convert to spawnable/possessable - We used to convert objects by creating a new binding, then re-assigning its GUID, which meant we didn't have to do any further object fixup, but the code to achieve this was confusing and led to a vulnerability where object references would not be cleaned up correctly due to the newly created possessable essentially being a temporary object that's immediately thrown away. - To address this, there is now a function for porting all the contents of one object binding to another, and handles the correct fixup required for parent/child object bindings for both spawnables and possessables. - Also added codepath to remove any stale object references from the level sequence reference map on PostLoad (this piggy-backs off the PurgeLegacyBlueprints object version which is close close enough to this change to be identical) #tests Verified that existing sequences with stale references get cleaned up on load. Verified that repreatedly converting from spawnable<->possessable cleans up references correctly. Change 3987807 by JohnHenry.Carawon Updates to the MovieRendering Test Content. - Fixed the spawnable actors that were overwritten - Shortend the Lighting example and combined the Intensity and Color tracks - Organized the Sequence and WorldOutliner to group the examples. Change 3988151 by Max.Chen Cine Camera: Enable keying the "Enable Look at Tracking" toggle. Change 3988880 by Max.Chen Sequencer: Support enter to add asset for all sequencer track editors that have asset pickers. #jira UE-57367 Change 3988953 by Max.Chen Sequencer: Make the track color picker focusable so that it will close when you click away or lose focus. #jira UE-57210 Change 3988962 by Max.Chen MovieSceneCapture: Fix EDL export so that it takes into account movie scene frame resolution and desired frame rate. #jira UE-57365 Change 3988964 by Max.Chen Movie Scene Capture: Clarified tooltip for bRelativeFrameNumbers. If you specify custom start/end frames for the recording, they will be relative to the playback range. #jira UE-57308 Change 3989442 by Max.Chen Fix CIS Change 3991548 by Matt.Hoffman Dragging the time slider no longer causes the time slider to ignore snap-to-interval with "Snap to Keys While Scrubbing" when no keys are in range. #jira UE-57417 Change 3991598 by Matt.Hoffman Snap to Key while scrubbing now mirrors the behavior of "jump to next key". When there are no tracks selected it snaps to all keys and when there are tracks selected it snaps to only keys from that track. This also resolves an issue where deleting an object did not remove it from the Sequencer's selection. Undoing a delete already doesn't seem to restore your selection, so removing it from your selection shouldn't change that behavior. #jira UE-57417 Change 3991603 by Max.Chen Sequencer: Disable EditAnywhere for some section properties #jira UE-53530 Change 3992240 by Max.Preussner MediaAssets: Implemented dynamic audio sample rate adjustment based on audio/media clock drift #jira FORT-70638 Change 3992911 by Andrew.Rodham Sequencer: Fixed saving spawnable state using the wrong spawned object - We now track the object binding ID so that we can apply the spawned object to the correct spawnable when the asset is saved #jira UE-57353 Change 3992914 by Max.Chen Movie Scene Capture: Fix compression quality not being set. The compression interface wasn't being found through query interface, so no compression was being set. Reworked finding it through the output pins. Tested running various compression values. #jira-UE-55488 Change 3992919 by Max.Chen Sequencer: Convert to possessable now uses object template instead of copying properties (ie. see LevelSequenceActorSpawner). This fixes MIDs getting lost when converting to spawnable and back to possessable. #jira UE-52400 Change 3993184 by Max.Chen Sequencer: Don't show +Transform/+Path/+Attach track if the actor has the "Mobility" property hidden. Set the Landscape, LandscapeProxy and InstancedFoliage "Mobility" property to be hidden since it is static is not supposed to be dynamically movable. #jira UE-56347 Change 3993238 by Max.Chen Sequencer: Test for hidden mobility in creating keys as well. Refactored to HasHiddenMobility() #jira UE-56347 Change 3993978 by Max.Chen Cine Camera: Enable keying the "Enable Look at Tracking" toggle. #jira UE-57489 Change 3994039 by Max.Chen Landscape: Add Mobility to hidecategories on landscape component #jira UE-56347 Change 3994626 by JohnHenry.Carawon Updated Movie Rendering Test Content. - Fixed the overridden spawnables to their proper object types. Change 3994653 by Christina.TempelaarL Sequencer: Added Final Cut Pro 7 XML Import functionality, improved Export functionality #jira UESEQ-358 Change 3995609 by Max.Chen UMG: Add support for 2d transform mask (translation, rotation, scale, shear) #jira UE-52951 Change 3995778 by JohnHenry.Carawon Movie Rendering Test Content Updates - Adjusted Lights example - Adjusted Camera example - Added Marcie sublevel back in Change 3995942 by JohnHenry.Carawon QAGame: Moving Movie Rendering test content from Developer folder to Sequencer folder Also adjusted level visibility, lights and camera example. Change 3995993 by Christina.TempelaarL Sequencer: FCPXML Export updates - only export sections if in playback range and media exists, warn if media does not exist. Other updates - removed unused methods and variables, fixed message context naming to be more accurate #jira UESEQ-358 Change 3996595 by andrew.porter QAGame: Updating Marcie content in TrackEvaluation level to use Image Plate Change 3996614 by andrew.porter QAGame: Adding color test sequence to the sublevel Change 3996643 by Max.Chen Sequencer: Fix fbx animation export - rotation and scale channels were flipped. #jira UE-57509 #jira UE-57512 #jira UE-57514 Change 3996652 by Max.Preussner Messaging: Fixed delayed messaging using incorrect current time after message router sleep Based on https://github.com/EpicGames/UnrealEngine/pull/4601 Change 3996801 by Max.Chen Sequencer: Fix folder active state for non key area sections. Look at track node sections as well as key areas. #jira UE-57550 Change 3997098 by Matt.Hoffman Cleaned up some remaining ToDo's in STimeRange. Change 3998339 by Max.Preussner Sockets: Added documentation for socket receive functions Change 3998359 by Max.Preussner MediaUtils: Started to implement media recorder helper class Currently only supports BGRA frames in CPU memory. Supporting other formats and buffer types will require conversions on render-thread. I recommend refactoring out the existing conversion code in FMediaTextureResource into a reusable helper class in the MediaUtils module. This should be a good starting point though. Change 3998417 by Matt.Hoffman Keys and Sections can now be moved at the same time inside of Sequencer. Keys can now snap to Sections (and vice versa) instead of just to other Keys. Sections can now be duplicated like keys can. #jira UE-56995 Change 3998427 by JohnHenry.Carawon QAGame: Updating test content for the Movie Rendering feature. - Added an auto activate particle to the beginning of the sequence (it's not part of the sequence at all) - Added an event receiver blueprint to the Events example - Added a particle emitter to both sublevels - Added a camera cut to the end that switches to a separate camera - The camera zoom in, focus and Look At sections are all separate (not overlapping in the sequence) - Added a second actor for the camera Look At - Added a Visibility section for the Actor Hidden In Game track that has possessable and spawnable cube and light Change 3998537 by Max.Chen Sequence Recorder: Restore immersive mode when stopping the sequence even if not in PIE. #jira UE-56407 Change 3999809 by Matt.Hoffman Removed the "Go To" box from Sequencer and instead placed the current time as an always visible control. The previous shortcut (Ctrl + G) now focuses the new widget directly. #jira UESEQ-376 Change 4000543 by Christina.TempelaarL Sequencer: Moving editor-only code from runtime module MovieSceneCapture to editor module MovieSceneTools. Moved EDL and FCP XML exporters as well as Automated Level Scene Capture. #jira UESEQ-358 Change 4000706 by Matt.Hoffman Entering multiple time strings without a number no longer crashes Sequencer. #jira UE-57672 Change 4001051 by andrew.porter MediaFrameworkTest: Fixing up some image sources pointing to the wrong location Change 4001191 by andrew.porter QAGame: Adding some quick EDL/XML test content to dev folder Change 4001243 by Max.Chen Sequencer: Fix import EDL out of range. #jira UE-57665 Change 4001856 by Matt.Hoffman Selecting keys and sections at the same time now also works with animation and audio sections. #jira UE-57716 Change 4002021 by Max.Chen Sequence Recorder: Fix sequence name incrementing. If external recording sets the sequence name, use it. Otherwise, use the recording name from the recording group or the recording settings. #jira UE-57712 Change 4002618 by Max.Chen Viewport: Update the look at location when updating to a locked actor. This fixes an issue so that popping the view out of a locked actor and manipulating the view will not jump to the previous look at location. #jira UE-57725 Change 4002979 by Matt.Hoffman Fixes several edge cases with the end time range that was causing confusion about what the last frame of the sequence was. Dragging the End Frame slider will no longer be off by one tick and jumping to the end via the UI controls now properly respects snapping and stays inside the play range instead of falling outside of it. Overall behavior does not change though and End Frame should be considered an exclusive frame so that frames 0-150 results in a 150 frame long animation (which is frames 0-149). #jira UE-56367 Change 4003185 by Matt.Hoffman Fixed a regression that prevented a section from being dragged upwards past row 0 which normally resulted in all other rows moving down. #jira UE-57717 Change 4003193 by JohnHenry.Carawon QAGame: Updates to test content - Shortened frames between the examples from 95 to 30 - Separated camera setting tracks - Lighting example now switches directly from constant red - green - blue Change 4003369 by Max.Chen Sequence Recorder: Refresh next sequence regardless of internally stored sequence name. #jira UE-55757 Change 4003586 by JohnHenry.Carawon QAGame: Test Content Updates - Level Visibility track now ends to that the levels are not visible when we move to the next example - Shortened camera section, removed Z tranform so that we just move left to right and shortened the overall length Change 4004414 by Max.Chen Movie Scene Capture: Fix regression where rendering with shot handles would only render the first shot. 3972166 addressed an issue where an extra frame would be rendered by finalizing right when the end frame was reached. This was hit on the first shot end frame, so instead, do this only for when the last shot is being rendered. #jira UE-57314 Change 4004765 by Christina.TempelaarL Sequencer: Fixed bugs in FCP XML import/export. - Export: fixed sequence default resolution. - Export: fixed XML files with no shots. - Export: all sections clipped to playback range. - Export: fixed incorrect section start/end times due to precision issues. - Import: fixed incorrectly adding cinematic tracks. - Import: fixed bugs creating new sections. #jira UE-57660 #jira UE-57662 #jira UE-57655 #jira UE-57761 Change 4005119 by Max.Chen Sequencer: Export/import at play rate Change 4005195 by Max.Chen UMG: Finish UMG evaluation on stop. Added object version so that existing UMG assets do not change. #tests - Newly created UMG animation with sections set to restore state now return to their original state. Existing UMG animations with sections set to restore state do not return to their original state. #jira UE-52285 Change 4005377 by Michael.Karambelas QAGame: Moving TM-SequenceRecorder and related content out of my developer folder and into /Content/Sequencer/SequencerRecorder/* Change 4005417 by Michael.Karambelas QAGame: Fixed a BP compiler in the Level Blueprint of TM-SequencerRecorder. Change 4005634 by Michael.Karambelas QAGame: Fix up missing content and broken level sequence in TM-SequenceRecorder after move Change 4006324 by Max.Chen Sequencer: Reset if the focused movie scene is null. This fixes a crash if the user is focused in on a shot and undo takes the user past the point of where the shot was created. #jira UE-57752 #jira UE-47661 Change 4007006 by Max.Chen Sequencer: Fix FindAvailableRowIndex so that it returns the max row index (and not +1) since it doesn't find any conflicting rows. #jira UE-57717 Change 4007907 by Max.Chen Sequencer: Fix crash if there's no animation Change 4007948 by andrew.porter QAGame: added test content to dev folder for Record World Space Change 4008636 by Max.Chen Sequencer: Fix import fbx not setting values properly and creating additional cameras unncessarily. #jira UE-57864 Change 4008759 by Max.Chen Sequencer: Follow up fix for import cameras #jira UE-57864 Change 4009994 by Matt.Hoffman Dragging the left or right handles of the Time Range slider in Sequencer will now zoom your view in on the current center of the screen. This prevents the view from being translating as you tried to zoom in which caused issues at high zoom levels. #jira UESEQ-407 Change 4010169 by Christina.TempelaarL Sequencer: FCP XML fixes. - FCP XML export - no longer clips to playback range - FCP XML and EDL export - fixed missing last frame of some sections after exporting to Premiere. - Automated level capture, EDL export - use RoundToFrame instead of FloorToFrame for computing section start/end frames after frame rate conversion. #jira UE-57802 - partial fix, movie scene capture still needs to render full section rather than clip against playback. Change 4010287 by Mike.Zyracki Add quaternion interpolation option to UMovieScene3DTransformSection. This mimics how Matinee used to work by bascially finding the keys between a time and interpolating the angles as quat's between them. As noted in the code the algorithm needs to handle the case when the x,y,z Rotation keys all aren't at the same time which was not handled by Matinee. Also like Matinee, when in quaternion interoplation mode, we need to not display the function cuves since the interpolated and key values are now all different. (Would like to show them but that's a bigger refactor for perhaps just a one off needed by quaternions). I added a virtual function UMovieSceneSection::ShowCurveForChannel for this since it needs to be dynamic, not on construction of IKeyArea's, and could be useful for other sections. I could though move the method to just UMovieScene3DTransformSection and do a cast instead. Looked into doing a unit test for this but after talking with Andrew P we will work on doign an automated test in EngineQA since that will provide more coverage. Will also add a video the jira. #jira UESEQ-403 Change 4010713 by Mike.Zyracki Added option to key a group of transform channels instead of just the changed channel, or all of them. This is useful for quaternion interpolations where you want rotation keys to be aligned but also useful for other workflows like animating FK Pose to Pose. Change 4010715 by Andrew.Porter MediaFrameworkTest: Setting LogMediaUtils logging from VeryVerbose to Verbose to cut back on the spam Change 4013048 by Max.Chen Sequencer: Fix play/jump status. Update the player status for all position methods (Scrub, Jump, Play). Jump means Stopped. Correctly use PlayTo or JumpTo based on position method. In PlayInternal, JumpTo with the Stopped state (rather than playing state). #jira UE-57844 Change 4013479 by andrew.porter QAGame: Added content in TM-SequenceRecorder to test recording a property on a Cine Camera Component; Press 3 to trigger manual focus distance to increment on a timer Change 4014323 by Max.Chen Sequencer: Fix SetPlaybackPosition so that it jumps or plays based on playback status. #jira UE-57844 Change 4015888 by Max.Chen Sequencer: Fix crash on paste. UMovieSceneSections were gathered from the track node's track. For sub track mode, we want to gather only those sections on that track node row. #jira UE-57951 Change 4015943 by Max.Chen Sequencer: Fix moving shots up when the mouse pos goes outside of the virtual track area. #jira UE-57717 Change 4016293 by Max.Chen Sequencer: Fix relative frame playback end frame calculation so that custom start/end frames remain in the space of the sequence and are not relative. #jira UE-57308 Change 4017075 by Andrew.Rodham Sequencer: Corrected initial evaluation range used when calling UMovieSceneSequencPlayer::Play() Change 4017270 by Christina.TempelaarL Sequencer: FCPXML importer and movie scene capture - Use CeilToFrame when converting section start/end frame times to frame numbers in FCPXML and movie scene capture. - Added support for clip metadata in FCPXML. - Got rid of redundant TokenizedError message class, no longer needed now that FCPXML is in editor directory. - Added log messages currently commented out due to exception, still testing. #UESEQ-358 Change 4018370 by Christina.TempelaarL Sequencer: fixed FCPXML log messages regarding sections with start/end not divisible by display rate. #UESEQ-358 Change 4018378 by Christina.TempelaarL Sequencer: fixed error in previous changelist. #UESEQ-358 Change 4019457 by Max.Chen Sequencer: Show event names only when the event track is selected #jira UE-57897 Change 4022806 by Max.Chen Sequencer: Fix crash on movie scene capture dialog shutdown if movie capture wasn't even started. #jira UE-58106 Change 4022894 by Max.Chen Sequence Recorder: Wrap OpenEditorForAssets after sequence recording within GIsEditor #jira UE-58084 Change 4024487 by Max.Chen Sequencer: Add tooltip for quat interpolation #jira UE-58113 Change 4024562 by Max.Chen Sequencer: Change path/attach track sequence binding id to currently focused sequence id so that bindings can be created in subsequences Change 4027414 by JohnHenry.Carawon QAGame: Checking in content that shows a bug with using particles systems and Delay Before Shot Warm Up. Change 4028990 by Max.Chen Sequencer: Fix evaluate sub sequences in isolation. This check was added with the compile on the fly logic. Not sure why it was necessary but it seems like the sub sequence data needs to be updated in order to evaluate sub sequences in isolation. #jira UE-58184 Change 4029004 by Max.Chen Sequencer: Ensure that old binding references are removed when re-assigning actors in sequencer #jira UE-57898 Change 4030997 by JohnHenry.Carawon QAGame: Fixing name of the master sequence Change 4031785 by Michael.Karambelas QAGame: Added an instance of ThirdPerson Run to TM-SequenceRecorder for Record to Possessable test. Change 4035548 by Andrew.Rodham Sequencer: Changed FMovieSceneEvaluationTemplate::TemplateSignature to be a serial number to address non-deterministic cooking issues - This commit is related to the repro steps found in 3914599 and 3934307, both of which have been verified with this new change. - Copy of 4031684 from //Fortnite/Main/... #jira FORT-84852 Change 4036312 by Max.Chen Sequencer: Fix zoom view range so that it uses the passed in InZoomDelta Change 4036318 by Max.Chen Sequencer: Auto size now returns a range and defaults to the channel proxy range so that keyed regions can also be autosized. Change 4036322 by Max.Chen Forgot missing change Change 4036360 by Max.Chen Sequencer: Fix play rate calculation when skeletal animation section play rate changes. Change 4037163 by Mike.Zyracki Weighted Tangent Implementation Tricky thing is that you need to solve a cubic in order to get the bezier weights for the time part of the curve. See https://www.gamedev.net/forums/topic/474094-help-function-curves-for-animation-interpolation/ Maya provides an implementation in it's dev kit but I didn't use it since it was horribly slow and uses an iterative solution to solve the cubic needed. Instead I use an old algorithm (Cardano's method), to solve the cubic which should be much faster. Though relative simple to code from principles I just went ahead and used a version from Graphics Gems 1. I put this cubic solver directly in MovieSceneFloatChannel.cpp, but will need to move it when we support Rich Curve, maybe to FMath:: (which would probalby require some other functions for solving quartics, etc.. for completeness.). Also note we resolve this on every evaluation but dont' need to if the interval the time is evaluating hasn't had any change in values or tangents. So again when we support FRichCurve we can create a Weighted Evaluating class that can hold the cache. Also with the tangent drags I got rid of the Cardinal position that was used to calculate non-weight tangents from the key point and just quickly getting a direction. With weighted tangents we need to use the delta instead (otherwise when moving multiple they would all get the same weight based upon distance to the cardinal point. ) For mixed tangents types what I'm defaulting to non weighted if the interval doesn't match. May need to do weighted instead, not sure. What's left is just FBX import, for tomorrow. #jira UESEQ-76 Change 4037435 by Mike.Zyracki Fix fo build warnings from weighted tangent submission. #trivial Change 4038091 by Michael.Karambelas QAGame: Updated a Sequence Recorder group in TM-SequenceRecorder that had an actor missing the animation. Change 4038374 by Andrew.Rodham Sequencer: Refined scrubber styling for level sequences and actor sequences - Scrubber now shows a block the width of a dsplay rate frame, plus a line for the actual evaluated time. UMG reverts back to the previous styling (no block) - Keys that are outside of the playback range are now drawn with a subdued effect - Tick labels are no longer drawn when directly underneath the scrubber Change 4038490 by Max.Chen Sequencer: Expose tangent weight values in details panel. Change 4038620 by Andrew.Rodham Sequencer: Advanced time panel polish #jira UESEQ-426 Change 4038677 by Max.Chen Movie Scene Capture: Redirector for MovieSceneTools.AutomatedLevelSequenceCapture #jira UE-58248 Change 4039739 by Max.Chen Sequencer: Media track should only be supported by Level Sequence Change 4040024 by JohnHenry.Carawon QAGame: Fix EventReciever and OverrideBinding example The level sequence was set to none so the fix was to set it back to TrackEvaluation_Master. Change 4040610 by Andrew.Rodham Curve Editor: Moved weighted tangent switchers to a single toggle command (CTRL+W) and added an icon #jira 58383 Change 4040882 by Mike.Zyracki Keep broken when turning on weighted #jira UE-58435 Change 4041089 by andrew.porter QAGame: Sequence for Long Tangents bug Change 4041498 by Mike.Zyracki Turn off weighted when going auto to prevent large tangents. Do it both in UI and when doing AutoSetTangents() to really make sure it doesn't happen. #jira UE-58452 Change 4041752 by andrew.porter MediaFrameworkTest: Adding some better logging for setting rates when not supported. Also ignoring commiting URL when there is no text Change 4041896 by Matt.Hoffman The transform dialog box now transforms selected keys and sections, instead of just keys. #jira UE-58265 [CL 4044405 by Max Chen in Main branch]
2018-05-02 10:10:00 -04:00
double MinVisibleTimeRange = FFrameNumber(1) / GetTickResolution();
TRange<double> ExistingViewRange = GetViewRange();
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3946692) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3801826 by Max.Chen PR #4304: Level Sequence crash fix - Guarded against dereferencing null componen. (Contributed by DSDambuster) Change 3801828 by Max.Chen PR #4302: Movie Scene Visibility Template unitialised variable, causing random . (Contributed by DSDambuster) Change 3801837 by Max.Chen Sequencer: Delay spawning/construction for convert to possessable. This fixes a bug where property values would be lost when converting back and forth from possessable to spawnable. #jira UE-52400 Change 3801841 by Max.Chen Sequencer: Make spacer nodes not selectable. PR #4194: Improvements to Sequencer (Contributed by projectgheist) #jira UE-53117 #jira UE-52139 Change 3804183 by Max.Preussner MediaAssets: Added missing lock in media sound component Change 3805414 by Max.Preussner MediaAssets: Setting valid GUID when initializing media texture resource Change 3819578 by Max.Chen PR #4370: When enabling the "MovieCapture", do not turn off the Stereo-3D display. (Contributed by yehaike) #jira UE-53647 Change 3823414 by Max.Chen Curve Editor: Lock down the first and last keys in the redundant keys removal range so that they're unaffected. #jira UE-53591 Change 3826406 by Max.Chen Sequencer: Move OnStartedPlaying() to within first update in UpdateTimeCursorPosition(). This fixes an issue where setting the hud/player visibility was getting stomped on later. #jira UE-52772 Change 3827044 by Max.Preussner MediaAssets: Added sprite visualization to media sound component #jira UE-53594 Change 3827988 by Max.Preussner MediaPlayerAssets: Fixed Media Texture is not linked to Media Player when created together #jira UE-53532 Change 3828506 by Max.Preussner MediaPlayerEditor: Added attenuation visualizer for media sound components #jira UE-53594 Change 3832590 by andrew.porter EngineTest: Added a keep state check in Property Animation sequencer test Change 3833053 by andrew.porter EngineTest: Adding Hierarchical Bias test Change 3835683 by andrew.porter EngineTest: Adding UMG Animation screenshot test Change 3836076 by Max.Chen Sequencer: Fix audio volume and pitch multiplier deprecation. Change 3836230 by andrew.porter EngineTest: Adding Sequence Bone Position automation test Change 3836347 by Max.Chen Sequencer: Fixes to shot name parsing. When a shot doesn't contain a shot number, assume, [ShotName]_[TakeNumber]. When duplicating a shot, put the new shot in the same path of the original shot, so that the take numbers will increment properly. #jira UE-51868 Change 3836552 by Max.Chen Sequencer: Sub section now has a takes menu Change 3838094 by Max.Chen UMG: Fix template finish not getting called on stop. This fixes a bug where sections aren't restored when finished. #jira UE-52285 Change 3838708 by Max.Chen Sequencer: Add notification when the blend type is changed. #jira UE-54046 Change 3840295 by Max.Chen Sequencer: Fix copy/paste crash for lights #jira UE-54084 Change 3840957 by Mike.Zyracki Added Show Only Keyable and Show Only Animated to the filter list in the property editor. Added IsPropertyAnimated to IDetailKeyframe Interface which already had support for showing properties which are keyable (which is used for the key icon next to the properties.). Could have created another interface but then would have had to mimic the sequencer binding, releasing also, so this seemed best way. One issue still left is that custom built detail items currently don't store associated properties(usually) and so certain properties, in particulalry transforms, won't show up as keyable or animated. Note this also shows up with the keyable icon not showing up next to transform tracks, and other filters like Show Only Modified not working with transforms/customs. Not sure best way to tackle this. #jira UESEQ-328 Change 3841756 by Max.Chen Sequencer: Fix unbound possessable components when pasting spawnables. #jira UE-54104 Change 3843950 by andrew.porter EngineTest: Renaming LevelStreaming tests/content to LevelVisibility Change 3844082 by Mike.Zyracki Missing file for animated filter in property editor. When finding if a track is animated we need to find it but we can't easily induce the MovieTrack class for any particular property. So we don't set a class for it and just search by it's ID and name. #jira UESEQ-328 Change 3846902 by Max.Preussner ImgMedia: Fixed image media player never finished initialization if loading failed #jira UE-54247 Change 3849820 by Mike.Zyracki Reassigning deleted widgets didn't work since the menu extender mechanism needs a valid UObject in order to perform an operation on it. So to fix we replaced GetObjectBindingContextMenuExtender in WidgetBlueprint with new delegate mechanism (OnBuildCustomContextMenuForGuid) that supports FGuid in addition to UObjects which is needed to handle re-binding deleted widgets. Note that the default sequencer hacks this for replacing deleted actors in SequencerObjectBindingNode to check to see if a LevelSequence is active. We could move to this mechanism there also. #jira UE-53163 Change 3852211 by Max.Chen UMG: Indicate name of the property that is not bound. #jira UE-54350 Change 3854120 by Max.Chen Sequencer: Fix sibling folders being allowed to have the same folder name. #jira UE-54363 Change 3854627 by Max.Chen Sequencer: Step to next/previous key should work for all tracks if there aren't any selected. #jira UESEQ-391 Change 3855825 by andrew.porter EngineTest: Adding animation blending automation test Change 3855950 by andrew.porter EngineTest: Adding correct expected valuues to animation blending test Change 3856237 by Matt.Hoffman UESEQ-336 - Sequencer Track Reordering Adds the ability to re-order Master Tracks, Folders and Object Bindings within sequencer hierarchies (including UMG). Adds the ability to do a one-off sorting of the content under the old sorting behavior if the user wants to reset their layout to how it was under legacy behavior. Modifies SequencerTrackNodes, SequencerFolderNodes and SequencerObjectBindingNodes to handle CanDrop/OnDrop for above, below and ontop of. Fixes a Slate Issue that forcibly expanded a TreeviewRow if an item handled OnDrop. Slate will now only forcibly expand the row if the item says the drop happened ontop of the item, and not above or below it like it previously did. Change 3856503 by andrew.porter EngineTest: Adding automation test for using animation blueprint with blend multi node in sequencer Change 3857875 by Max.Chen Sequencer: Assign the sequence id after the template is compiled. #jira UE-54462 Change 3858344 by Max.Chen Sequencer: Prevent Goto and Transform boxes from overlapping by allowing them to be visible at the same time in an autosized horizontal box. Also, added close button to the goto box. PR #4425: Prevent Goto and Transform boxes from overlapping in Sequencer ... (Contributed by projectgheist) #jira UE-54210 Change 3860566 by andrew.porter MediaFrameworkTest: Set the option to index 0 for the audio and video track list by default Change 3860654 by andrew.porter EngineTest: Enabling Camera Cut + FOV test Change 3860981 by andrew.porter EngineTest: Updating skeletal mesh tests with a delay after set playback position Change 3861256 by Max.Chen Sequencer: Add all bindings if none selected. #jira-54440 Change 3862154 by Andrew.Rodham Added TimeManagement module Change 3862424 by andrew.porter EngineTest: Turned on the test Bone Positions with Blend Multi Node Change 3862573 by andrew.porter EngineTest: Adding test to compare bone positions in a sequence that is blending an animation that is using an AnimBP Change 3865117 by Max.Chen Sequencer: Stop auto scroll on mouse release of movement. #jira UE-31212 Change 3865303 by Max.Chen Sequencer: Add drag and drop transactions #jira UE-54662 Change 3865304 by Max.Chen Sequencer: Fix crash when an actor factory is not found. Change 3865361 by Max.Chen Sequencer: Don't change the camera/shot lock button when popping out of a sequence. #jira UE-54665 Change 3865412 by Max.Chen Sequencer: Determine whether a transform track is for a camera by using the spawned object or template #jira UE-54666 Change 3865685 by Max.Chen Sequencer: Clear autoscrub offset when stopping autoscroll #jira UE-31212 Change 3865886 by Max.Chen Sequence Recorder: Log an error if the number of frames changes while recording. This can happen if the skeleton changes while recording. #jira UE-48715 Change 3866925 by Andrew.Porter MediaFrameworkTest: Changing the current PNG test video image sequence to 1024 x 576 Change 3867705 by andrew.porter QAGame: Adding Audio Sort Sequence to dev folder Change 3867890 by andrew.porter QAGame: Adding a sequence for testing a sorting crash to my dev folder Change 3872628 by Max.Chen Movie Scene Capture: Split delay before warmup into split delay before shot warmup so that there's separate controls for when the movie scene capture warmups up vs. shot boundaries. Change 3873131 by Matt.Hoffman UE-54732 - Crash reordering a folder with a track. This was caused by folders being the only type of track to check if someone was putting a parent track into a child track. Object Binding tracks and Tracks now check as well so that you can't use the above/below drop targets to add parents as children. This also fixed a typo in the localization keys. #jira UE-54732 Change 3873301 by Mike.Zyracki Added ability to support continous euler angle changes when changing rotations, in particularly with the rotation gizmo's. To do this we effectively added a form an of 'euler filter'(https://en.wikipedia.org/wiki/Euler_filter) to find the closest euler angle to the current euler angle. Three functions were added to FRotator to make this possible, one to get the euler angle that's has the same rotation as it, one to get the difference between two euler angles via Manhattan distance and a third using the previous two to choose a Rotator value that's closest to it. We then use these functions before calling UComponent::SetRelativeRotation to make sure we use the correct Euler after the Quat conversion. We also no longer limit(bound) the euler angles to -180,180, which is obviously necessary to avoid flips. I also changed how we caluclate yaw and roll when pitch is -90 or 90 to make it the standard approach of zeroing out roll and just setting yaw. Main reasons are the previous implementation had precision issues so things like 180, 90, -180 would show up due to numbers being nearly zero but negative,(this would break any smooth interpolations), and this facilitates having a 'gimbal' rotation mode (like Maya, Blender etc..) if we ever want that also. If needed we could keep the previous implementation but would need to add some FMath::IsNearlyZero checks, with less performance. Note we only do this special filtering when applying delta's to actors or components in the editors, which then call UComponent::SetRelativeRotationExact, which is a new function to foces the RelativeRotation to be equal to the new rotation. This allows us to store un-nomalized Rotators at the cost that the RotationCache may be broken. We didn't change any of the other UComponent functions that set rotations (via Quats or Transforms) so they will still be bounded and unwound. In SetInternalWorldLocationAndRotation we only set the rotation if the rotation has changed, which fixes the rotation getting changed and re-normalized if just translate happens. In TransformTrackEditor, we correclty use the bUndwing flag and in MovieScene3DTransformSection there was an un-needed winding check there, it will be unwound earlier if needed, which happens if Sequence Recording is happening. Max we should talk about what to do about this . Note the euler angle drag via the widget is still bound to 0-360. I think we should just unbound that now since the rotations value are now unbound. This review now includes fixes suggested by Zak. #jira UE-UE-22228 Change 3873483 by Matt.Hoffman Sequencer Tracks can now be inserted above the spacer at the bottom of the tree. #jira UE-54706 Change 3873899 by Max.Chen Sequencer: Add section selection throbbing Change 3873908 by Max.Chen Movie Scene Capture: Added logging per frame Change 3873924 by Matt.Hoffman Adds the ability to store Sequence Recorder setups into profiles that stay with the map and can be re-loaded later. Profiles store the Actor Recordings so the settings for each actor should carry with them. #jira UESEQ-339 Change 3874726 by Matt.Hoffman Disable drag-and-drop targets on spacers that come between rows in Sequencer. This prevents extra drag/drop targets showing up between each row. #jira UE-54706 Change 3874862 by Matt.Hoffman Audio Track no longer gets reordered when adding sub-audio tracks, as sub-tracks are no longer counted towards the sorting order index when normalizing indexes. #jira UE-54727 Change 3875905 by Matt.Hoffman Disable Fade Track UI if a fade track already exists in the sequence. #jira UESEQ-393 Change 3876163 by Max.Chen Sequencer: Swap the camera object to the camera component's owner if it's not the same. #jira UE-54874 Change 3876971 by Andrew.Porter EngineTest: Moved Media Player Seek test to new folder. Also enabled the test with new ground truth image. Change 3877040 by Max.Chen Cine Camera: Split camera properties to two groups, "Camera Options" and "Camera Settings". The cine camera now hides properties in the "Camera Settings" group so that properties like bConstrainAspectRatio (in the "Camera Options" group) can be visible. #jira UE-54192 Change 3877763 by Max.Chen Curve Editor: Fix curve changed on end drag so that only curves that had keys/tangents that were changed receive notification, otherwise all loaded curves were getting notified that they were changed. #jira UE-54951 Change 3878234 by Matt.Hoffman Disable "Drop Below" targets for Sequencer Tree nodes to prevent a confusing UX issue where dropping underneath a Object Binding Node puts it after the object binding node but the UI looks like it's inserting it inside the Object Binding node. #jira UE-54743 Change 3879359 by Mike.Zyracki If a track is inactive we dim it a bit which seems to be the UE4 way to show inactive or disabled state. We changed the active logic so that all subtracks need to be inactive for the track to also be inactive(instead of all active for active). This conforms to how the active state actually works, e.g if you have two sections and only one is active the track is still active above it. #jira UESEQ-388 Change 3879462 by Max.Chen Sequencer: Allow dragging onto a particular row which would move out any overlapping sections to make space for the newly created section. Newly created sections are now selected and throbbed to draw attention to themselves. #jira UE-54664 Change 3879464 by Max.Chen Sequencer: Fixed overlapping ranges being inserted into the evaluation field during compilation - The issue was that track segments that had been combined with adjacent segments (due to them being identical) would potentially cause a subsequently compiled frame to overlap with a range that had already been inserted into the evaluation field. - The insertion code previously asserted that only minor overlaps were catered for (due to fp rounding errors) and assumed that a supplied range could not entirely contain any other range in the field. - The solution is to supply the insertion time along with the range to know exactly where the data should live in the field, and crop the range to the maximum allowable space between adjacent ranges. #jira UE-54922 Change 3879590 by Matt.Hoffman Items that are now added to the Sequencer via the "+Track" menu will be selected after being added. Items can now be added inside of folders instead of just to the root level. #jira UE-27397 Change 3879612 by Mike.Zyracki Display Nodes with no children are always active. #jira UESEQ-388 Change 3879730 by Matt.Hoffman Sequence Recorder's actor recording groups now remove items from the group when removed via the UI. #jira UESEQ-339 Change 3880256 by Mike.Zyracki Fix issue with inactive display with folders and other track nodes. #jira UESEQ-388 Change 3883491 by Max.Chen Fix issue where tick is skipped due to last ticked pose isn't cleared after AnimInstance changes. Copy from Release-4.19 #jira UE-51323 Change 3883603 by Max.Chen Movie Scene Capture: Add option toggle disable screen percentage. By default this is on (no change in current behavior). #jira UE-51898 Change 3885074 by Max.Preussner MediaCompositing: Resetting media texture & freeing resource on section end; removed dead code Change 3887220 by Max.Preussner MediaCompositing: Defaulted media section duration to 1 sec (since we do not know the actual duration in most cases) Change 3887478 by Matt.Hoffman Sequences now show [Inactive] in their title bars when they're disabled. This helps communicate why a sequence isn't being evaluated. #jira UE-51469 Change 3888985 by Max.Chen Movie Scene Capture: Clamp HDR Compression Quality between 0 and 1. #jira UE-55136 Change 3893519 by Max.Chen Sequence Recorder: Clarified tooltip for bRecordNearbySpawnedActors - spawned actors will still be recorded if they match the ActorFilter. #jira UE-55238 Change 3893546 by Max.Chen Sequence Recorder: If a selected actor already has a recording, add a blank recording. #jira UE-55239 Change 3894044 by Max.Preussner MediaCompositing: Added support for seeking into a media section Change 3894310 by andrew.porter MediaFrameworkTest: Adding Img media sources for 1080 and 2160 ravent test content Change 3894426 by Max.Preussner MediaAssets: Letting media textures with AutoClear retain their clear color when player is reset Change 3895717 by Max.Chen Sequencer: Null checks to prevent crash when saving the default state of a spawnable #jira UE-55304 Change 3897388 by Max.Chen Sequencer: Don't update current time to be within the view range when stepping into a sequence. #jira UE-55322 Change 3897452 by Max.Chen Audio: Fix crash when trying to record audio without any active capture devices. Log warning if the number of input channels is not 1 or 2. #jira UE-55223 Change 3897619 by Max.Preussner MediaCompositing: Removed commented out code Change 3898072 by Max.Chen Sequencer: Override the animation asset in the player state if it doesn't match the animation asset that's being evaluated. #jira UE-55328 Change 3898272 by Max.Preussner MediaPlayerEditor: Made slate brush constants static Change 3898704 by Max.Chen Sequencer: Skip if the binding id's sequence can't be found. #jira UE-55337 Change 3899855 by Max.Preussner MediaCompositingEditor: Added cache state visualization to media track Change 3900300 by Max.Preussner MediaCompositingEditor: Added loop indicators to media sections Change 3900694 by Max.Preussner ImfMedia: Looping cache only when player is looping Change 3900892 by Max.Preussner Stats: Added stats category for media framework Change 3900954 by Max.Preussner MediaCompositing: Don't evaluate at the end of media section Change 3901348 by Max.Preussner Core: Replaced TLruCache autos for better readability Change 3901655 by Max.Preussner ImgMedia: Added more perf stats to EXR reader Change 3901972 by Max.Preussner MediaAssets: Added getter for media player in media sound components Change 3902233 by Max.Preussner MediaAssets: Enabling media textures to receive samples right after player is assigned Change 3902238 by Max.Preussner MediaCompositing: Working around init/shutdown idiosyncracies in sequencer Change 3904045 by Max.Chen Sequencer: Fix copy/paste crash. Only process UMovieSceneCopyableBinding and objects that can be spawned by the movie scene spawn register. #jira UE-55314 Change 3905605 by Max.Chen Sequencer: Restrict spawnables from being created if they have a ClassWithin that UMovieScene is not a child of. #jira UE-55429 Change 3906550 by Max.Chen Sequencer: Add media track icon #jira UE-55480 Change 3907101 by Max.Chen Sequence Recorder: Fix bugs related to not recording a level sequence. There were certain assumptions that creating a level sequence meant that sequence recording was in progress. This is not always the case - the recorders can record animation assets and not create a level sequence. Changed the notion of IsRecording() to having at least one actor recording that is recording. Countdown timer, recording displays, etc should function if IsRecording() and not based on whether a level sequence is created. #jira UE-55485 Change 3907247 by Max.Chen Sequence Recorder: Fix crash not removing PrepareToCleanseEditorObject delegate. Repros when opening sequence recorder, closing it, and then opening or creating a level. Change 3910343 by Max.Preussner Core: Added async helper for executing functions on a given thread pool Change 3910346 by Max.Preussner ImgMedia: Added separate thread pools for loading/decoding and deleting image frames Change 3910829 by Max.Preussner Profiler: Increased visible range of profiler graph Change 3910841 by Max.Preussner MediaCompositing: Displaying asset name instead of full media source path in media section Change 3910870 by Max.Preussner ImgMedia: Using deallocation thread pool only in debug builds Change 3919642 by Max.Chen Sequence Recorder: Clarify active tooltip #jira UE-55661 Change 3919660 by Max.Chen Sequencer: Sequence template source signatures are now also compared to catch the case where a sub-sequence asset has been saved but not modified - The following sequence of events exposes this issue: - Create a master sequence with a single shot that spawns a cube - Add this sequence to a level and set it to auto-play - Save everything and restart - Resave just the inner shot asset without opening it - PIE - The inner shot never spawns its cube because its template was wiped on save, but its signature never changed. Since the master sequence previously didn't check the template source signature, it ends up trying to evaluate an empty template. #jira UE-55626 #jira UE-55490 Change 3921825 by Max.Chen Sequencer: "Run Construction Script in Sequencer" is off by default for blueprints but on for Sequencer. This allows the content author to switch it on for specific blueprints and sequencer will be default, run those with construction scripts enabled. Change 3922232 by Max.Chen Sequence Recorder: Reset countdelay on stop. #jira UE-55755 Change 3922306 by Max.Chen Sequence Recorder: Don't automatically mark transforms to be recorded by sequence recorder. Instead, log a warning if the user toggled it off to warn that the resulting animation might not match gameplay. #jira UE-55758 Change 3922912 by Max.Chen Sequence Recorder: Fix refresh next sequence name #jira UE-55757 Change 3927654 by Max.Chen Movie Scene Capture: Added format mapping for the name of the current camera #jira UE-55769 PR #4537 Change 3927658 by Max.Chen Sequencer: Added fbx property mapping for "FocusDistance" to "FocusSettings.ManualFocusDistance" #jira UE-55782 Change 3932022 by Max.Chen Sequencer: Add import animation track section to next available row index. #jira UE-55892 Change 3933919 by Max.Chen Sequencer: Jump to playback start frame and not 0 to start playback for recording. #jira UE-55933 Change 3934307 by Andrew.Rodham Sequencer: Add template signature that is re-generated every time the base template is regenerated, which invalidates evaluation fields This fixes an issue where the same sequence is instantiated multiple times in a sequence. If the source sequence was saved, its template would be wiped, which would invalidate the template ID When an instance tries to evaluate the master template, it would only invalidate a range in the evaluation field that was the hull of any invalid sub sequences overlapping the current time, potentially leaving invalid data in the evaluation field at positions later (or earlier) on in the sequence When the sub template was re-generated, it receives the same SequenceSignature as it had before (because the sequence hasn't actually changed), which causes the stale evaluation field data to fail the IsDirty check (because the sequence is the same as it thought, but the *template* has changed) This has been addressed be adding a signature to templates themselves, and checking both the template signature and sequence signature as a part of the IsDirty check. This ensures that we regenerate if either the template, or the sequence have changed. #jira UE-55934 Change 3936327 by Andrew.Rodham Sequencer: Removed increment when trimming right UMovieSceneSection::TrimSection already explicity assigns an exclusive bound to the time passed in. The new behavior means we can trim a section to the right, and insert another section without changing the time to create adjacent sections. #jira UE-42652 Change 3936328 by Andrew.Rodham Fixed KeyFrameManipulator assignment operators and copy/move constructors - These types are potentially self-referential so cannot use default constructors/assignment Change 3936330 by Andrew.Rodham Converted UMGSequencePlayer to use frames internally #jira UE-54878 Change 3936726 by Max.Chen Sequencer: Set track node as the parent of the key area node. The key area switcher needs the object binding id from the parent object binding node. Without this, the binding to the external value fails. #jira UE-55931 Change 3936775 by Max.Chen Sequencer: Should stop or loop should compare DurationFrames with Current Time from StartTime. The bug is that if you set 30 warmup frames in movie rendering for a range of 0-100, the FrameRange will be starting at -30 and have a duration of 130. Without this fix, the playback will continue until frame 130, rather than 100. #jira UE-55933 Change 3936935 by Matt.Hoffman Easing Curves are now represented in Play Rate resolution instead of internal resolution. #jira UE-55937 Change 3937069 by Matt.Hoffman Users can toggle if the is infinite on each side, limited by which tracks support infinite ranges. #jira UE-55891 Change 3937516 by Max.Preussner ImgMedia: Added support for single-threaded platforms #jira UE-55986 Change 3937826 by Max.Preussner MediaAssets: Disabling media sound components on HTML5 if AudioMixer is not enabled Change 3937997 by Max.Chen Curve Editor: Add Zoom to Fit Curves so that selected curves from Sequencer can be focused on. Tested that undo doesn't re-zoom. #jira UE-55935 Change 3938000 by Max.Chen Sequencer: Stop all sounds before generating audio waveforms. #jira UE-55951 Change 3938376 by Max.Preussner XGEController: Disabled XGE Controller in single-threaded apps to prevent crash Change 3938444 by Max.Preussner Core: Added async support for single-threaded applications Change 3938445 by Max.Preussner Networking: Added support for single-threaded applications in UDP socket sender/receiver Change 3938447 by Max.Preussner Messaging: Added support for single-threaded applications Change 3939432 by Max.Chen Sequence Recorder: Append command list to global level editor actions so that shortcuts are accessible in level editor. #jira UE-55798 Change 3940229 by Andrew.Rodham Added prospective display rate upgrade to UMovieScene::PostLoad - There was previously some very odd behaviour that would assign the fixed frame interval only when a sub sequence was focused in SSequencer. This meant that many sequences could have a frame interval of 0 set in the data. - Under the old method of snap interval display this would have fallen back to getting the display interval from the sequencer settings, but we no longer look at these. - The USequencerSettings properties have been removed and in their place, a prospective data upgrade for sequences that have a fixed frame interval old 0fps that sets the play rate to the previous defaults based off the old USequencerSettings defaults. - This could end up 'changing' the display rate for sequences where the user has changed the snap interval in the settings for a particular sequence editor, but there's not much we can do about that given we don't have access to the USequencerSettings classes in UMovieScene #jira UE-55919 Change 3940277 by Andrew.Rodham Sequencer: Added ability to default frame resolutions and play rates for newly created actor sequences Change 3940378 by Andrew.Rodham Sequencer: Post move import dialog now defaults to the playback framerate of the sequence, and floors to frame numbers Change 3940559 by Andrew.Rodham Reinstated primed or recording sequence color Change 3940642 by Max.Preussner ImagePlate: Removed image plate media playback functionality Change 3940843 by Max.Preussner Core: Made TCircularQueue actually thread-safe; improved code comments Change 3940860 by Max.Chen Sequencer: Changed StructNameToKey to StructPathToKey Previously, keying a PropertyPath of [RenderTransform][Shear][X] would get trimmed to X, which doesn't map to a channel name as considered by Sequencer2dTransformTrackEditor. Instead, trim the resulting property path to [Shear][X] so that track editors can determine the desired struct path and channels to key. #jira UE-52966 Change 3941292 by Mike.Zyracki Fix for trajectories out of range not showing up. 1) If we had no key data we would pop the time, so wouldn't get the section ranges. 2) Calculating of upper bound was wrong, checking against -1 and not key == num of keys when doing algo::lower_bound. 3) No need to do the Bck-- for the bakward iterators since we fixed #2. We start now from the upper bound correctly. 4) If we had no keys (at section start,end) we would incorrectly say we were any key type, so since we draw constant keys as dashed we would do so incorrectly around section end points. #jira UE-55929 Change 3941424 by Max.Chen Curve Editor: Change Zoom to Fit to use TArrayView Change 3941498 by Max.Preussner Core: Added FMath::DivideAndRoundNearest function Change 3942097 by Matt.Hoffman Drop Frame Timecode Support for NTSC rates. Change 3942104 by Matt.Hoffman Sequence Recorder Group is no longer visible inside the World Outliner after using one. #jira 55266 Change 3942107 by Max.Chen Sequencer: Resurrect logic to find or extend an existing section when adding keys. Change 3942330 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942339 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942507 by Andrew.Rodham Sequencer: We no longer pad the time overlap threshold with a small number that is not scaled by the current zoom level - The presence of this pad was causing keys that were far apart to be grouped when zoomed in a long way Change 3942509 by Andrew.Rodham Sequencer: Only pad total view range, rather than section range as well when retrieving keys to render - This stops us from rendering keys that are within the view range, but outside the section range Change 3942512 by Andrew.Rodham Added transactions to some sequencer details customizations Change 3942513 by Andrew.Rodham Sequencer: Reinstated validation checks to UMovieSceneSection::SetStartFrame and SetEndFrame, changed erroneous uses to use SetRange Change 3942560 by Andrew.Rodham Pass by rvalue reference to appease error C2719 on Win32 ('InChannels': formal parameter with requested alignment of 8 won't be aligned) Change 3942697 by Andrew.Rodham Newly Created Level Sequences and Actor Sequences now default to 24000 fps frame resolution (+/- ~24hrs range, supporting all integer rates + 23.976) Change 3942700 by Andrew.Rodham Sequencer: Added legacy out-of-bounds errors for times that are not supported by the current legacy upgrade frame resolution Change 3942989 by Max.Preussner Core: Fixed circular queue count calculation Change 3943538 by Max.Preussner MediaAssets: Reverted workaround for procedural audio log spam in HTML5 (Actor component initialization cannot be skipped if the component is used in a level) Change 3944071 by Max.Preussner QAGame: Fixed Media Texture keeps last frame of Media when PIE ends #jira UE-53360 Change 3944292 by Max.Chen Sequencer: Added extra flags to ensure that asset initialization does not occur on template actor sequences #jira UE-56113 Change 3944364 by Max.Chen Sequencer: Prevent circular shot/master tracks. Tested adding master -> child -> master as drag and drop cinematic shot tracks and sub tracks as well as through the + button. #jira UE-56091 Change 3944422 by Max.Chen Sequence Recorder: Disable transform recording if off. #jira UE-56061 Change 3944745 by Andrew.Rodham Sequencer: Key rendering fixes - Fixed assert that occured when keys happened to reside on some times due to KeyTime + TimeOverlapThreshold - KeyTime being slightly larger TimeOverlapThreshold - Fixed keys sometimes being clipped when zoomed right in due to lack of half-frame offset - Added missing documentation to MovieSceneTimeHelpers.h #jira UE-56107 Change 3945231 by Andrew.Rodham Sequencer: Reconstruct channel proxy on Serialize to catch all cases of undo/redo, PostLoad and duplication #jira UE-56089 Change 3945301 by Andrew.Rodham Sequencer: Added safety checks during initial sequence recording to guard against applying negative or 0-sized sequence ranges #jira UE-56125 Change 3946627 by Max.Preussner Fortnite: Fixed game crashes closing editor while in PIE - Pure virtual function being called #jira UE-56144 [CL 3946896 by Max Chen in Main branch]
2018-03-14 22:09:33 -04:00
TRange<double> ExistingClampRange = TimeSliderArgs.ClampRange.Get();
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3946692) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3801826 by Max.Chen PR #4304: Level Sequence crash fix - Guarded against dereferencing null componen. (Contributed by DSDambuster) Change 3801828 by Max.Chen PR #4302: Movie Scene Visibility Template unitialised variable, causing random . (Contributed by DSDambuster) Change 3801837 by Max.Chen Sequencer: Delay spawning/construction for convert to possessable. This fixes a bug where property values would be lost when converting back and forth from possessable to spawnable. #jira UE-52400 Change 3801841 by Max.Chen Sequencer: Make spacer nodes not selectable. PR #4194: Improvements to Sequencer (Contributed by projectgheist) #jira UE-53117 #jira UE-52139 Change 3804183 by Max.Preussner MediaAssets: Added missing lock in media sound component Change 3805414 by Max.Preussner MediaAssets: Setting valid GUID when initializing media texture resource Change 3819578 by Max.Chen PR #4370: When enabling the "MovieCapture", do not turn off the Stereo-3D display. (Contributed by yehaike) #jira UE-53647 Change 3823414 by Max.Chen Curve Editor: Lock down the first and last keys in the redundant keys removal range so that they're unaffected. #jira UE-53591 Change 3826406 by Max.Chen Sequencer: Move OnStartedPlaying() to within first update in UpdateTimeCursorPosition(). This fixes an issue where setting the hud/player visibility was getting stomped on later. #jira UE-52772 Change 3827044 by Max.Preussner MediaAssets: Added sprite visualization to media sound component #jira UE-53594 Change 3827988 by Max.Preussner MediaPlayerAssets: Fixed Media Texture is not linked to Media Player when created together #jira UE-53532 Change 3828506 by Max.Preussner MediaPlayerEditor: Added attenuation visualizer for media sound components #jira UE-53594 Change 3832590 by andrew.porter EngineTest: Added a keep state check in Property Animation sequencer test Change 3833053 by andrew.porter EngineTest: Adding Hierarchical Bias test Change 3835683 by andrew.porter EngineTest: Adding UMG Animation screenshot test Change 3836076 by Max.Chen Sequencer: Fix audio volume and pitch multiplier deprecation. Change 3836230 by andrew.porter EngineTest: Adding Sequence Bone Position automation test Change 3836347 by Max.Chen Sequencer: Fixes to shot name parsing. When a shot doesn't contain a shot number, assume, [ShotName]_[TakeNumber]. When duplicating a shot, put the new shot in the same path of the original shot, so that the take numbers will increment properly. #jira UE-51868 Change 3836552 by Max.Chen Sequencer: Sub section now has a takes menu Change 3838094 by Max.Chen UMG: Fix template finish not getting called on stop. This fixes a bug where sections aren't restored when finished. #jira UE-52285 Change 3838708 by Max.Chen Sequencer: Add notification when the blend type is changed. #jira UE-54046 Change 3840295 by Max.Chen Sequencer: Fix copy/paste crash for lights #jira UE-54084 Change 3840957 by Mike.Zyracki Added Show Only Keyable and Show Only Animated to the filter list in the property editor. Added IsPropertyAnimated to IDetailKeyframe Interface which already had support for showing properties which are keyable (which is used for the key icon next to the properties.). Could have created another interface but then would have had to mimic the sequencer binding, releasing also, so this seemed best way. One issue still left is that custom built detail items currently don't store associated properties(usually) and so certain properties, in particulalry transforms, won't show up as keyable or animated. Note this also shows up with the keyable icon not showing up next to transform tracks, and other filters like Show Only Modified not working with transforms/customs. Not sure best way to tackle this. #jira UESEQ-328 Change 3841756 by Max.Chen Sequencer: Fix unbound possessable components when pasting spawnables. #jira UE-54104 Change 3843950 by andrew.porter EngineTest: Renaming LevelStreaming tests/content to LevelVisibility Change 3844082 by Mike.Zyracki Missing file for animated filter in property editor. When finding if a track is animated we need to find it but we can't easily induce the MovieTrack class for any particular property. So we don't set a class for it and just search by it's ID and name. #jira UESEQ-328 Change 3846902 by Max.Preussner ImgMedia: Fixed image media player never finished initialization if loading failed #jira UE-54247 Change 3849820 by Mike.Zyracki Reassigning deleted widgets didn't work since the menu extender mechanism needs a valid UObject in order to perform an operation on it. So to fix we replaced GetObjectBindingContextMenuExtender in WidgetBlueprint with new delegate mechanism (OnBuildCustomContextMenuForGuid) that supports FGuid in addition to UObjects which is needed to handle re-binding deleted widgets. Note that the default sequencer hacks this for replacing deleted actors in SequencerObjectBindingNode to check to see if a LevelSequence is active. We could move to this mechanism there also. #jira UE-53163 Change 3852211 by Max.Chen UMG: Indicate name of the property that is not bound. #jira UE-54350 Change 3854120 by Max.Chen Sequencer: Fix sibling folders being allowed to have the same folder name. #jira UE-54363 Change 3854627 by Max.Chen Sequencer: Step to next/previous key should work for all tracks if there aren't any selected. #jira UESEQ-391 Change 3855825 by andrew.porter EngineTest: Adding animation blending automation test Change 3855950 by andrew.porter EngineTest: Adding correct expected valuues to animation blending test Change 3856237 by Matt.Hoffman UESEQ-336 - Sequencer Track Reordering Adds the ability to re-order Master Tracks, Folders and Object Bindings within sequencer hierarchies (including UMG). Adds the ability to do a one-off sorting of the content under the old sorting behavior if the user wants to reset their layout to how it was under legacy behavior. Modifies SequencerTrackNodes, SequencerFolderNodes and SequencerObjectBindingNodes to handle CanDrop/OnDrop for above, below and ontop of. Fixes a Slate Issue that forcibly expanded a TreeviewRow if an item handled OnDrop. Slate will now only forcibly expand the row if the item says the drop happened ontop of the item, and not above or below it like it previously did. Change 3856503 by andrew.porter EngineTest: Adding automation test for using animation blueprint with blend multi node in sequencer Change 3857875 by Max.Chen Sequencer: Assign the sequence id after the template is compiled. #jira UE-54462 Change 3858344 by Max.Chen Sequencer: Prevent Goto and Transform boxes from overlapping by allowing them to be visible at the same time in an autosized horizontal box. Also, added close button to the goto box. PR #4425: Prevent Goto and Transform boxes from overlapping in Sequencer ... (Contributed by projectgheist) #jira UE-54210 Change 3860566 by andrew.porter MediaFrameworkTest: Set the option to index 0 for the audio and video track list by default Change 3860654 by andrew.porter EngineTest: Enabling Camera Cut + FOV test Change 3860981 by andrew.porter EngineTest: Updating skeletal mesh tests with a delay after set playback position Change 3861256 by Max.Chen Sequencer: Add all bindings if none selected. #jira-54440 Change 3862154 by Andrew.Rodham Added TimeManagement module Change 3862424 by andrew.porter EngineTest: Turned on the test Bone Positions with Blend Multi Node Change 3862573 by andrew.porter EngineTest: Adding test to compare bone positions in a sequence that is blending an animation that is using an AnimBP Change 3865117 by Max.Chen Sequencer: Stop auto scroll on mouse release of movement. #jira UE-31212 Change 3865303 by Max.Chen Sequencer: Add drag and drop transactions #jira UE-54662 Change 3865304 by Max.Chen Sequencer: Fix crash when an actor factory is not found. Change 3865361 by Max.Chen Sequencer: Don't change the camera/shot lock button when popping out of a sequence. #jira UE-54665 Change 3865412 by Max.Chen Sequencer: Determine whether a transform track is for a camera by using the spawned object or template #jira UE-54666 Change 3865685 by Max.Chen Sequencer: Clear autoscrub offset when stopping autoscroll #jira UE-31212 Change 3865886 by Max.Chen Sequence Recorder: Log an error if the number of frames changes while recording. This can happen if the skeleton changes while recording. #jira UE-48715 Change 3866925 by Andrew.Porter MediaFrameworkTest: Changing the current PNG test video image sequence to 1024 x 576 Change 3867705 by andrew.porter QAGame: Adding Audio Sort Sequence to dev folder Change 3867890 by andrew.porter QAGame: Adding a sequence for testing a sorting crash to my dev folder Change 3872628 by Max.Chen Movie Scene Capture: Split delay before warmup into split delay before shot warmup so that there's separate controls for when the movie scene capture warmups up vs. shot boundaries. Change 3873131 by Matt.Hoffman UE-54732 - Crash reordering a folder with a track. This was caused by folders being the only type of track to check if someone was putting a parent track into a child track. Object Binding tracks and Tracks now check as well so that you can't use the above/below drop targets to add parents as children. This also fixed a typo in the localization keys. #jira UE-54732 Change 3873301 by Mike.Zyracki Added ability to support continous euler angle changes when changing rotations, in particularly with the rotation gizmo's. To do this we effectively added a form an of 'euler filter'(https://en.wikipedia.org/wiki/Euler_filter) to find the closest euler angle to the current euler angle. Three functions were added to FRotator to make this possible, one to get the euler angle that's has the same rotation as it, one to get the difference between two euler angles via Manhattan distance and a third using the previous two to choose a Rotator value that's closest to it. We then use these functions before calling UComponent::SetRelativeRotation to make sure we use the correct Euler after the Quat conversion. We also no longer limit(bound) the euler angles to -180,180, which is obviously necessary to avoid flips. I also changed how we caluclate yaw and roll when pitch is -90 or 90 to make it the standard approach of zeroing out roll and just setting yaw. Main reasons are the previous implementation had precision issues so things like 180, 90, -180 would show up due to numbers being nearly zero but negative,(this would break any smooth interpolations), and this facilitates having a 'gimbal' rotation mode (like Maya, Blender etc..) if we ever want that also. If needed we could keep the previous implementation but would need to add some FMath::IsNearlyZero checks, with less performance. Note we only do this special filtering when applying delta's to actors or components in the editors, which then call UComponent::SetRelativeRotationExact, which is a new function to foces the RelativeRotation to be equal to the new rotation. This allows us to store un-nomalized Rotators at the cost that the RotationCache may be broken. We didn't change any of the other UComponent functions that set rotations (via Quats or Transforms) so they will still be bounded and unwound. In SetInternalWorldLocationAndRotation we only set the rotation if the rotation has changed, which fixes the rotation getting changed and re-normalized if just translate happens. In TransformTrackEditor, we correclty use the bUndwing flag and in MovieScene3DTransformSection there was an un-needed winding check there, it will be unwound earlier if needed, which happens if Sequence Recording is happening. Max we should talk about what to do about this . Note the euler angle drag via the widget is still bound to 0-360. I think we should just unbound that now since the rotations value are now unbound. This review now includes fixes suggested by Zak. #jira UE-UE-22228 Change 3873483 by Matt.Hoffman Sequencer Tracks can now be inserted above the spacer at the bottom of the tree. #jira UE-54706 Change 3873899 by Max.Chen Sequencer: Add section selection throbbing Change 3873908 by Max.Chen Movie Scene Capture: Added logging per frame Change 3873924 by Matt.Hoffman Adds the ability to store Sequence Recorder setups into profiles that stay with the map and can be re-loaded later. Profiles store the Actor Recordings so the settings for each actor should carry with them. #jira UESEQ-339 Change 3874726 by Matt.Hoffman Disable drag-and-drop targets on spacers that come between rows in Sequencer. This prevents extra drag/drop targets showing up between each row. #jira UE-54706 Change 3874862 by Matt.Hoffman Audio Track no longer gets reordered when adding sub-audio tracks, as sub-tracks are no longer counted towards the sorting order index when normalizing indexes. #jira UE-54727 Change 3875905 by Matt.Hoffman Disable Fade Track UI if a fade track already exists in the sequence. #jira UESEQ-393 Change 3876163 by Max.Chen Sequencer: Swap the camera object to the camera component's owner if it's not the same. #jira UE-54874 Change 3876971 by Andrew.Porter EngineTest: Moved Media Player Seek test to new folder. Also enabled the test with new ground truth image. Change 3877040 by Max.Chen Cine Camera: Split camera properties to two groups, "Camera Options" and "Camera Settings". The cine camera now hides properties in the "Camera Settings" group so that properties like bConstrainAspectRatio (in the "Camera Options" group) can be visible. #jira UE-54192 Change 3877763 by Max.Chen Curve Editor: Fix curve changed on end drag so that only curves that had keys/tangents that were changed receive notification, otherwise all loaded curves were getting notified that they were changed. #jira UE-54951 Change 3878234 by Matt.Hoffman Disable "Drop Below" targets for Sequencer Tree nodes to prevent a confusing UX issue where dropping underneath a Object Binding Node puts it after the object binding node but the UI looks like it's inserting it inside the Object Binding node. #jira UE-54743 Change 3879359 by Mike.Zyracki If a track is inactive we dim it a bit which seems to be the UE4 way to show inactive or disabled state. We changed the active logic so that all subtracks need to be inactive for the track to also be inactive(instead of all active for active). This conforms to how the active state actually works, e.g if you have two sections and only one is active the track is still active above it. #jira UESEQ-388 Change 3879462 by Max.Chen Sequencer: Allow dragging onto a particular row which would move out any overlapping sections to make space for the newly created section. Newly created sections are now selected and throbbed to draw attention to themselves. #jira UE-54664 Change 3879464 by Max.Chen Sequencer: Fixed overlapping ranges being inserted into the evaluation field during compilation - The issue was that track segments that had been combined with adjacent segments (due to them being identical) would potentially cause a subsequently compiled frame to overlap with a range that had already been inserted into the evaluation field. - The insertion code previously asserted that only minor overlaps were catered for (due to fp rounding errors) and assumed that a supplied range could not entirely contain any other range in the field. - The solution is to supply the insertion time along with the range to know exactly where the data should live in the field, and crop the range to the maximum allowable space between adjacent ranges. #jira UE-54922 Change 3879590 by Matt.Hoffman Items that are now added to the Sequencer via the "+Track" menu will be selected after being added. Items can now be added inside of folders instead of just to the root level. #jira UE-27397 Change 3879612 by Mike.Zyracki Display Nodes with no children are always active. #jira UESEQ-388 Change 3879730 by Matt.Hoffman Sequence Recorder's actor recording groups now remove items from the group when removed via the UI. #jira UESEQ-339 Change 3880256 by Mike.Zyracki Fix issue with inactive display with folders and other track nodes. #jira UESEQ-388 Change 3883491 by Max.Chen Fix issue where tick is skipped due to last ticked pose isn't cleared after AnimInstance changes. Copy from Release-4.19 #jira UE-51323 Change 3883603 by Max.Chen Movie Scene Capture: Add option toggle disable screen percentage. By default this is on (no change in current behavior). #jira UE-51898 Change 3885074 by Max.Preussner MediaCompositing: Resetting media texture & freeing resource on section end; removed dead code Change 3887220 by Max.Preussner MediaCompositing: Defaulted media section duration to 1 sec (since we do not know the actual duration in most cases) Change 3887478 by Matt.Hoffman Sequences now show [Inactive] in their title bars when they're disabled. This helps communicate why a sequence isn't being evaluated. #jira UE-51469 Change 3888985 by Max.Chen Movie Scene Capture: Clamp HDR Compression Quality between 0 and 1. #jira UE-55136 Change 3893519 by Max.Chen Sequence Recorder: Clarified tooltip for bRecordNearbySpawnedActors - spawned actors will still be recorded if they match the ActorFilter. #jira UE-55238 Change 3893546 by Max.Chen Sequence Recorder: If a selected actor already has a recording, add a blank recording. #jira UE-55239 Change 3894044 by Max.Preussner MediaCompositing: Added support for seeking into a media section Change 3894310 by andrew.porter MediaFrameworkTest: Adding Img media sources for 1080 and 2160 ravent test content Change 3894426 by Max.Preussner MediaAssets: Letting media textures with AutoClear retain their clear color when player is reset Change 3895717 by Max.Chen Sequencer: Null checks to prevent crash when saving the default state of a spawnable #jira UE-55304 Change 3897388 by Max.Chen Sequencer: Don't update current time to be within the view range when stepping into a sequence. #jira UE-55322 Change 3897452 by Max.Chen Audio: Fix crash when trying to record audio without any active capture devices. Log warning if the number of input channels is not 1 or 2. #jira UE-55223 Change 3897619 by Max.Preussner MediaCompositing: Removed commented out code Change 3898072 by Max.Chen Sequencer: Override the animation asset in the player state if it doesn't match the animation asset that's being evaluated. #jira UE-55328 Change 3898272 by Max.Preussner MediaPlayerEditor: Made slate brush constants static Change 3898704 by Max.Chen Sequencer: Skip if the binding id's sequence can't be found. #jira UE-55337 Change 3899855 by Max.Preussner MediaCompositingEditor: Added cache state visualization to media track Change 3900300 by Max.Preussner MediaCompositingEditor: Added loop indicators to media sections Change 3900694 by Max.Preussner ImfMedia: Looping cache only when player is looping Change 3900892 by Max.Preussner Stats: Added stats category for media framework Change 3900954 by Max.Preussner MediaCompositing: Don't evaluate at the end of media section Change 3901348 by Max.Preussner Core: Replaced TLruCache autos for better readability Change 3901655 by Max.Preussner ImgMedia: Added more perf stats to EXR reader Change 3901972 by Max.Preussner MediaAssets: Added getter for media player in media sound components Change 3902233 by Max.Preussner MediaAssets: Enabling media textures to receive samples right after player is assigned Change 3902238 by Max.Preussner MediaCompositing: Working around init/shutdown idiosyncracies in sequencer Change 3904045 by Max.Chen Sequencer: Fix copy/paste crash. Only process UMovieSceneCopyableBinding and objects that can be spawned by the movie scene spawn register. #jira UE-55314 Change 3905605 by Max.Chen Sequencer: Restrict spawnables from being created if they have a ClassWithin that UMovieScene is not a child of. #jira UE-55429 Change 3906550 by Max.Chen Sequencer: Add media track icon #jira UE-55480 Change 3907101 by Max.Chen Sequence Recorder: Fix bugs related to not recording a level sequence. There were certain assumptions that creating a level sequence meant that sequence recording was in progress. This is not always the case - the recorders can record animation assets and not create a level sequence. Changed the notion of IsRecording() to having at least one actor recording that is recording. Countdown timer, recording displays, etc should function if IsRecording() and not based on whether a level sequence is created. #jira UE-55485 Change 3907247 by Max.Chen Sequence Recorder: Fix crash not removing PrepareToCleanseEditorObject delegate. Repros when opening sequence recorder, closing it, and then opening or creating a level. Change 3910343 by Max.Preussner Core: Added async helper for executing functions on a given thread pool Change 3910346 by Max.Preussner ImgMedia: Added separate thread pools for loading/decoding and deleting image frames Change 3910829 by Max.Preussner Profiler: Increased visible range of profiler graph Change 3910841 by Max.Preussner MediaCompositing: Displaying asset name instead of full media source path in media section Change 3910870 by Max.Preussner ImgMedia: Using deallocation thread pool only in debug builds Change 3919642 by Max.Chen Sequence Recorder: Clarify active tooltip #jira UE-55661 Change 3919660 by Max.Chen Sequencer: Sequence template source signatures are now also compared to catch the case where a sub-sequence asset has been saved but not modified - The following sequence of events exposes this issue: - Create a master sequence with a single shot that spawns a cube - Add this sequence to a level and set it to auto-play - Save everything and restart - Resave just the inner shot asset without opening it - PIE - The inner shot never spawns its cube because its template was wiped on save, but its signature never changed. Since the master sequence previously didn't check the template source signature, it ends up trying to evaluate an empty template. #jira UE-55626 #jira UE-55490 Change 3921825 by Max.Chen Sequencer: "Run Construction Script in Sequencer" is off by default for blueprints but on for Sequencer. This allows the content author to switch it on for specific blueprints and sequencer will be default, run those with construction scripts enabled. Change 3922232 by Max.Chen Sequence Recorder: Reset countdelay on stop. #jira UE-55755 Change 3922306 by Max.Chen Sequence Recorder: Don't automatically mark transforms to be recorded by sequence recorder. Instead, log a warning if the user toggled it off to warn that the resulting animation might not match gameplay. #jira UE-55758 Change 3922912 by Max.Chen Sequence Recorder: Fix refresh next sequence name #jira UE-55757 Change 3927654 by Max.Chen Movie Scene Capture: Added format mapping for the name of the current camera #jira UE-55769 PR #4537 Change 3927658 by Max.Chen Sequencer: Added fbx property mapping for "FocusDistance" to "FocusSettings.ManualFocusDistance" #jira UE-55782 Change 3932022 by Max.Chen Sequencer: Add import animation track section to next available row index. #jira UE-55892 Change 3933919 by Max.Chen Sequencer: Jump to playback start frame and not 0 to start playback for recording. #jira UE-55933 Change 3934307 by Andrew.Rodham Sequencer: Add template signature that is re-generated every time the base template is regenerated, which invalidates evaluation fields This fixes an issue where the same sequence is instantiated multiple times in a sequence. If the source sequence was saved, its template would be wiped, which would invalidate the template ID When an instance tries to evaluate the master template, it would only invalidate a range in the evaluation field that was the hull of any invalid sub sequences overlapping the current time, potentially leaving invalid data in the evaluation field at positions later (or earlier) on in the sequence When the sub template was re-generated, it receives the same SequenceSignature as it had before (because the sequence hasn't actually changed), which causes the stale evaluation field data to fail the IsDirty check (because the sequence is the same as it thought, but the *template* has changed) This has been addressed be adding a signature to templates themselves, and checking both the template signature and sequence signature as a part of the IsDirty check. This ensures that we regenerate if either the template, or the sequence have changed. #jira UE-55934 Change 3936327 by Andrew.Rodham Sequencer: Removed increment when trimming right UMovieSceneSection::TrimSection already explicity assigns an exclusive bound to the time passed in. The new behavior means we can trim a section to the right, and insert another section without changing the time to create adjacent sections. #jira UE-42652 Change 3936328 by Andrew.Rodham Fixed KeyFrameManipulator assignment operators and copy/move constructors - These types are potentially self-referential so cannot use default constructors/assignment Change 3936330 by Andrew.Rodham Converted UMGSequencePlayer to use frames internally #jira UE-54878 Change 3936726 by Max.Chen Sequencer: Set track node as the parent of the key area node. The key area switcher needs the object binding id from the parent object binding node. Without this, the binding to the external value fails. #jira UE-55931 Change 3936775 by Max.Chen Sequencer: Should stop or loop should compare DurationFrames with Current Time from StartTime. The bug is that if you set 30 warmup frames in movie rendering for a range of 0-100, the FrameRange will be starting at -30 and have a duration of 130. Without this fix, the playback will continue until frame 130, rather than 100. #jira UE-55933 Change 3936935 by Matt.Hoffman Easing Curves are now represented in Play Rate resolution instead of internal resolution. #jira UE-55937 Change 3937069 by Matt.Hoffman Users can toggle if the is infinite on each side, limited by which tracks support infinite ranges. #jira UE-55891 Change 3937516 by Max.Preussner ImgMedia: Added support for single-threaded platforms #jira UE-55986 Change 3937826 by Max.Preussner MediaAssets: Disabling media sound components on HTML5 if AudioMixer is not enabled Change 3937997 by Max.Chen Curve Editor: Add Zoom to Fit Curves so that selected curves from Sequencer can be focused on. Tested that undo doesn't re-zoom. #jira UE-55935 Change 3938000 by Max.Chen Sequencer: Stop all sounds before generating audio waveforms. #jira UE-55951 Change 3938376 by Max.Preussner XGEController: Disabled XGE Controller in single-threaded apps to prevent crash Change 3938444 by Max.Preussner Core: Added async support for single-threaded applications Change 3938445 by Max.Preussner Networking: Added support for single-threaded applications in UDP socket sender/receiver Change 3938447 by Max.Preussner Messaging: Added support for single-threaded applications Change 3939432 by Max.Chen Sequence Recorder: Append command list to global level editor actions so that shortcuts are accessible in level editor. #jira UE-55798 Change 3940229 by Andrew.Rodham Added prospective display rate upgrade to UMovieScene::PostLoad - There was previously some very odd behaviour that would assign the fixed frame interval only when a sub sequence was focused in SSequencer. This meant that many sequences could have a frame interval of 0 set in the data. - Under the old method of snap interval display this would have fallen back to getting the display interval from the sequencer settings, but we no longer look at these. - The USequencerSettings properties have been removed and in their place, a prospective data upgrade for sequences that have a fixed frame interval old 0fps that sets the play rate to the previous defaults based off the old USequencerSettings defaults. - This could end up 'changing' the display rate for sequences where the user has changed the snap interval in the settings for a particular sequence editor, but there's not much we can do about that given we don't have access to the USequencerSettings classes in UMovieScene #jira UE-55919 Change 3940277 by Andrew.Rodham Sequencer: Added ability to default frame resolutions and play rates for newly created actor sequences Change 3940378 by Andrew.Rodham Sequencer: Post move import dialog now defaults to the playback framerate of the sequence, and floors to frame numbers Change 3940559 by Andrew.Rodham Reinstated primed or recording sequence color Change 3940642 by Max.Preussner ImagePlate: Removed image plate media playback functionality Change 3940843 by Max.Preussner Core: Made TCircularQueue actually thread-safe; improved code comments Change 3940860 by Max.Chen Sequencer: Changed StructNameToKey to StructPathToKey Previously, keying a PropertyPath of [RenderTransform][Shear][X] would get trimmed to X, which doesn't map to a channel name as considered by Sequencer2dTransformTrackEditor. Instead, trim the resulting property path to [Shear][X] so that track editors can determine the desired struct path and channels to key. #jira UE-52966 Change 3941292 by Mike.Zyracki Fix for trajectories out of range not showing up. 1) If we had no key data we would pop the time, so wouldn't get the section ranges. 2) Calculating of upper bound was wrong, checking against -1 and not key == num of keys when doing algo::lower_bound. 3) No need to do the Bck-- for the bakward iterators since we fixed #2. We start now from the upper bound correctly. 4) If we had no keys (at section start,end) we would incorrectly say we were any key type, so since we draw constant keys as dashed we would do so incorrectly around section end points. #jira UE-55929 Change 3941424 by Max.Chen Curve Editor: Change Zoom to Fit to use TArrayView Change 3941498 by Max.Preussner Core: Added FMath::DivideAndRoundNearest function Change 3942097 by Matt.Hoffman Drop Frame Timecode Support for NTSC rates. Change 3942104 by Matt.Hoffman Sequence Recorder Group is no longer visible inside the World Outliner after using one. #jira 55266 Change 3942107 by Max.Chen Sequencer: Resurrect logic to find or extend an existing section when adding keys. Change 3942330 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942339 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942507 by Andrew.Rodham Sequencer: We no longer pad the time overlap threshold with a small number that is not scaled by the current zoom level - The presence of this pad was causing keys that were far apart to be grouped when zoomed in a long way Change 3942509 by Andrew.Rodham Sequencer: Only pad total view range, rather than section range as well when retrieving keys to render - This stops us from rendering keys that are within the view range, but outside the section range Change 3942512 by Andrew.Rodham Added transactions to some sequencer details customizations Change 3942513 by Andrew.Rodham Sequencer: Reinstated validation checks to UMovieSceneSection::SetStartFrame and SetEndFrame, changed erroneous uses to use SetRange Change 3942560 by Andrew.Rodham Pass by rvalue reference to appease error C2719 on Win32 ('InChannels': formal parameter with requested alignment of 8 won't be aligned) Change 3942697 by Andrew.Rodham Newly Created Level Sequences and Actor Sequences now default to 24000 fps frame resolution (+/- ~24hrs range, supporting all integer rates + 23.976) Change 3942700 by Andrew.Rodham Sequencer: Added legacy out-of-bounds errors for times that are not supported by the current legacy upgrade frame resolution Change 3942989 by Max.Preussner Core: Fixed circular queue count calculation Change 3943538 by Max.Preussner MediaAssets: Reverted workaround for procedural audio log spam in HTML5 (Actor component initialization cannot be skipped if the component is used in a level) Change 3944071 by Max.Preussner QAGame: Fixed Media Texture keeps last frame of Media when PIE ends #jira UE-53360 Change 3944292 by Max.Chen Sequencer: Added extra flags to ensure that asset initialization does not occur on template actor sequences #jira UE-56113 Change 3944364 by Max.Chen Sequencer: Prevent circular shot/master tracks. Tested adding master -> child -> master as drag and drop cinematic shot tracks and sub tracks as well as through the + button. #jira UE-56091 Change 3944422 by Max.Chen Sequence Recorder: Disable transform recording if off. #jira UE-56061 Change 3944745 by Andrew.Rodham Sequencer: Key rendering fixes - Fixed assert that occured when keys happened to reside on some times due to KeyTime + TimeOverlapThreshold - KeyTime being slightly larger TimeOverlapThreshold - Fixed keys sometimes being clipped when zoomed right in due to lack of half-frame offset - Added missing documentation to MovieSceneTimeHelpers.h #jira UE-56107 Change 3945231 by Andrew.Rodham Sequencer: Reconstruct channel proxy on Serialize to catch all cases of undo/redo, PostLoad and duplication #jira UE-56089 Change 3945301 by Andrew.Rodham Sequencer: Added safety checks during initial sequence recording to guard against applying negative or 0-sized sequence ranges #jira UE-56125 Change 3946627 by Max.Preussner Fortnite: Fixed game crashes closing editor while in PIE - Pure virtual function being called #jira UE-56144 [CL 3946896 by Max Chen in Main branch]
2018-03-14 22:09:33 -04:00
if (NewRangeMax == ExistingViewRange.GetUpperBoundValue())
{
if (NewRangeMin > NewRangeMax - MinVisibleTimeRange)
{
NewRangeMin = NewRangeMax - MinVisibleTimeRange;
}
}
else if (NewRangeMax < NewRangeMin + MinVisibleTimeRange)
{
NewRangeMax = NewRangeMin + MinVisibleTimeRange;
}
// Clamp to the clamp range
const TRange<double> NewRange = TRange<double>::Intersection(TRange<double>(NewRangeMin, NewRangeMax), ExistingClampRange);
TimeSliderArgs.OnViewRangeChanged.ExecuteIfBound( NewRange, Interpolation );
if( !TimeSliderArgs.ViewRange.IsBound() )
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3946692) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3801826 by Max.Chen PR #4304: Level Sequence crash fix - Guarded against dereferencing null componen. (Contributed by DSDambuster) Change 3801828 by Max.Chen PR #4302: Movie Scene Visibility Template unitialised variable, causing random . (Contributed by DSDambuster) Change 3801837 by Max.Chen Sequencer: Delay spawning/construction for convert to possessable. This fixes a bug where property values would be lost when converting back and forth from possessable to spawnable. #jira UE-52400 Change 3801841 by Max.Chen Sequencer: Make spacer nodes not selectable. PR #4194: Improvements to Sequencer (Contributed by projectgheist) #jira UE-53117 #jira UE-52139 Change 3804183 by Max.Preussner MediaAssets: Added missing lock in media sound component Change 3805414 by Max.Preussner MediaAssets: Setting valid GUID when initializing media texture resource Change 3819578 by Max.Chen PR #4370: When enabling the "MovieCapture", do not turn off the Stereo-3D display. (Contributed by yehaike) #jira UE-53647 Change 3823414 by Max.Chen Curve Editor: Lock down the first and last keys in the redundant keys removal range so that they're unaffected. #jira UE-53591 Change 3826406 by Max.Chen Sequencer: Move OnStartedPlaying() to within first update in UpdateTimeCursorPosition(). This fixes an issue where setting the hud/player visibility was getting stomped on later. #jira UE-52772 Change 3827044 by Max.Preussner MediaAssets: Added sprite visualization to media sound component #jira UE-53594 Change 3827988 by Max.Preussner MediaPlayerAssets: Fixed Media Texture is not linked to Media Player when created together #jira UE-53532 Change 3828506 by Max.Preussner MediaPlayerEditor: Added attenuation visualizer for media sound components #jira UE-53594 Change 3832590 by andrew.porter EngineTest: Added a keep state check in Property Animation sequencer test Change 3833053 by andrew.porter EngineTest: Adding Hierarchical Bias test Change 3835683 by andrew.porter EngineTest: Adding UMG Animation screenshot test Change 3836076 by Max.Chen Sequencer: Fix audio volume and pitch multiplier deprecation. Change 3836230 by andrew.porter EngineTest: Adding Sequence Bone Position automation test Change 3836347 by Max.Chen Sequencer: Fixes to shot name parsing. When a shot doesn't contain a shot number, assume, [ShotName]_[TakeNumber]. When duplicating a shot, put the new shot in the same path of the original shot, so that the take numbers will increment properly. #jira UE-51868 Change 3836552 by Max.Chen Sequencer: Sub section now has a takes menu Change 3838094 by Max.Chen UMG: Fix template finish not getting called on stop. This fixes a bug where sections aren't restored when finished. #jira UE-52285 Change 3838708 by Max.Chen Sequencer: Add notification when the blend type is changed. #jira UE-54046 Change 3840295 by Max.Chen Sequencer: Fix copy/paste crash for lights #jira UE-54084 Change 3840957 by Mike.Zyracki Added Show Only Keyable and Show Only Animated to the filter list in the property editor. Added IsPropertyAnimated to IDetailKeyframe Interface which already had support for showing properties which are keyable (which is used for the key icon next to the properties.). Could have created another interface but then would have had to mimic the sequencer binding, releasing also, so this seemed best way. One issue still left is that custom built detail items currently don't store associated properties(usually) and so certain properties, in particulalry transforms, won't show up as keyable or animated. Note this also shows up with the keyable icon not showing up next to transform tracks, and other filters like Show Only Modified not working with transforms/customs. Not sure best way to tackle this. #jira UESEQ-328 Change 3841756 by Max.Chen Sequencer: Fix unbound possessable components when pasting spawnables. #jira UE-54104 Change 3843950 by andrew.porter EngineTest: Renaming LevelStreaming tests/content to LevelVisibility Change 3844082 by Mike.Zyracki Missing file for animated filter in property editor. When finding if a track is animated we need to find it but we can't easily induce the MovieTrack class for any particular property. So we don't set a class for it and just search by it's ID and name. #jira UESEQ-328 Change 3846902 by Max.Preussner ImgMedia: Fixed image media player never finished initialization if loading failed #jira UE-54247 Change 3849820 by Mike.Zyracki Reassigning deleted widgets didn't work since the menu extender mechanism needs a valid UObject in order to perform an operation on it. So to fix we replaced GetObjectBindingContextMenuExtender in WidgetBlueprint with new delegate mechanism (OnBuildCustomContextMenuForGuid) that supports FGuid in addition to UObjects which is needed to handle re-binding deleted widgets. Note that the default sequencer hacks this for replacing deleted actors in SequencerObjectBindingNode to check to see if a LevelSequence is active. We could move to this mechanism there also. #jira UE-53163 Change 3852211 by Max.Chen UMG: Indicate name of the property that is not bound. #jira UE-54350 Change 3854120 by Max.Chen Sequencer: Fix sibling folders being allowed to have the same folder name. #jira UE-54363 Change 3854627 by Max.Chen Sequencer: Step to next/previous key should work for all tracks if there aren't any selected. #jira UESEQ-391 Change 3855825 by andrew.porter EngineTest: Adding animation blending automation test Change 3855950 by andrew.porter EngineTest: Adding correct expected valuues to animation blending test Change 3856237 by Matt.Hoffman UESEQ-336 - Sequencer Track Reordering Adds the ability to re-order Master Tracks, Folders and Object Bindings within sequencer hierarchies (including UMG). Adds the ability to do a one-off sorting of the content under the old sorting behavior if the user wants to reset their layout to how it was under legacy behavior. Modifies SequencerTrackNodes, SequencerFolderNodes and SequencerObjectBindingNodes to handle CanDrop/OnDrop for above, below and ontop of. Fixes a Slate Issue that forcibly expanded a TreeviewRow if an item handled OnDrop. Slate will now only forcibly expand the row if the item says the drop happened ontop of the item, and not above or below it like it previously did. Change 3856503 by andrew.porter EngineTest: Adding automation test for using animation blueprint with blend multi node in sequencer Change 3857875 by Max.Chen Sequencer: Assign the sequence id after the template is compiled. #jira UE-54462 Change 3858344 by Max.Chen Sequencer: Prevent Goto and Transform boxes from overlapping by allowing them to be visible at the same time in an autosized horizontal box. Also, added close button to the goto box. PR #4425: Prevent Goto and Transform boxes from overlapping in Sequencer ... (Contributed by projectgheist) #jira UE-54210 Change 3860566 by andrew.porter MediaFrameworkTest: Set the option to index 0 for the audio and video track list by default Change 3860654 by andrew.porter EngineTest: Enabling Camera Cut + FOV test Change 3860981 by andrew.porter EngineTest: Updating skeletal mesh tests with a delay after set playback position Change 3861256 by Max.Chen Sequencer: Add all bindings if none selected. #jira-54440 Change 3862154 by Andrew.Rodham Added TimeManagement module Change 3862424 by andrew.porter EngineTest: Turned on the test Bone Positions with Blend Multi Node Change 3862573 by andrew.porter EngineTest: Adding test to compare bone positions in a sequence that is blending an animation that is using an AnimBP Change 3865117 by Max.Chen Sequencer: Stop auto scroll on mouse release of movement. #jira UE-31212 Change 3865303 by Max.Chen Sequencer: Add drag and drop transactions #jira UE-54662 Change 3865304 by Max.Chen Sequencer: Fix crash when an actor factory is not found. Change 3865361 by Max.Chen Sequencer: Don't change the camera/shot lock button when popping out of a sequence. #jira UE-54665 Change 3865412 by Max.Chen Sequencer: Determine whether a transform track is for a camera by using the spawned object or template #jira UE-54666 Change 3865685 by Max.Chen Sequencer: Clear autoscrub offset when stopping autoscroll #jira UE-31212 Change 3865886 by Max.Chen Sequence Recorder: Log an error if the number of frames changes while recording. This can happen if the skeleton changes while recording. #jira UE-48715 Change 3866925 by Andrew.Porter MediaFrameworkTest: Changing the current PNG test video image sequence to 1024 x 576 Change 3867705 by andrew.porter QAGame: Adding Audio Sort Sequence to dev folder Change 3867890 by andrew.porter QAGame: Adding a sequence for testing a sorting crash to my dev folder Change 3872628 by Max.Chen Movie Scene Capture: Split delay before warmup into split delay before shot warmup so that there's separate controls for when the movie scene capture warmups up vs. shot boundaries. Change 3873131 by Matt.Hoffman UE-54732 - Crash reordering a folder with a track. This was caused by folders being the only type of track to check if someone was putting a parent track into a child track. Object Binding tracks and Tracks now check as well so that you can't use the above/below drop targets to add parents as children. This also fixed a typo in the localization keys. #jira UE-54732 Change 3873301 by Mike.Zyracki Added ability to support continous euler angle changes when changing rotations, in particularly with the rotation gizmo's. To do this we effectively added a form an of 'euler filter'(https://en.wikipedia.org/wiki/Euler_filter) to find the closest euler angle to the current euler angle. Three functions were added to FRotator to make this possible, one to get the euler angle that's has the same rotation as it, one to get the difference between two euler angles via Manhattan distance and a third using the previous two to choose a Rotator value that's closest to it. We then use these functions before calling UComponent::SetRelativeRotation to make sure we use the correct Euler after the Quat conversion. We also no longer limit(bound) the euler angles to -180,180, which is obviously necessary to avoid flips. I also changed how we caluclate yaw and roll when pitch is -90 or 90 to make it the standard approach of zeroing out roll and just setting yaw. Main reasons are the previous implementation had precision issues so things like 180, 90, -180 would show up due to numbers being nearly zero but negative,(this would break any smooth interpolations), and this facilitates having a 'gimbal' rotation mode (like Maya, Blender etc..) if we ever want that also. If needed we could keep the previous implementation but would need to add some FMath::IsNearlyZero checks, with less performance. Note we only do this special filtering when applying delta's to actors or components in the editors, which then call UComponent::SetRelativeRotationExact, which is a new function to foces the RelativeRotation to be equal to the new rotation. This allows us to store un-nomalized Rotators at the cost that the RotationCache may be broken. We didn't change any of the other UComponent functions that set rotations (via Quats or Transforms) so they will still be bounded and unwound. In SetInternalWorldLocationAndRotation we only set the rotation if the rotation has changed, which fixes the rotation getting changed and re-normalized if just translate happens. In TransformTrackEditor, we correclty use the bUndwing flag and in MovieScene3DTransformSection there was an un-needed winding check there, it will be unwound earlier if needed, which happens if Sequence Recording is happening. Max we should talk about what to do about this . Note the euler angle drag via the widget is still bound to 0-360. I think we should just unbound that now since the rotations value are now unbound. This review now includes fixes suggested by Zak. #jira UE-UE-22228 Change 3873483 by Matt.Hoffman Sequencer Tracks can now be inserted above the spacer at the bottom of the tree. #jira UE-54706 Change 3873899 by Max.Chen Sequencer: Add section selection throbbing Change 3873908 by Max.Chen Movie Scene Capture: Added logging per frame Change 3873924 by Matt.Hoffman Adds the ability to store Sequence Recorder setups into profiles that stay with the map and can be re-loaded later. Profiles store the Actor Recordings so the settings for each actor should carry with them. #jira UESEQ-339 Change 3874726 by Matt.Hoffman Disable drag-and-drop targets on spacers that come between rows in Sequencer. This prevents extra drag/drop targets showing up between each row. #jira UE-54706 Change 3874862 by Matt.Hoffman Audio Track no longer gets reordered when adding sub-audio tracks, as sub-tracks are no longer counted towards the sorting order index when normalizing indexes. #jira UE-54727 Change 3875905 by Matt.Hoffman Disable Fade Track UI if a fade track already exists in the sequence. #jira UESEQ-393 Change 3876163 by Max.Chen Sequencer: Swap the camera object to the camera component's owner if it's not the same. #jira UE-54874 Change 3876971 by Andrew.Porter EngineTest: Moved Media Player Seek test to new folder. Also enabled the test with new ground truth image. Change 3877040 by Max.Chen Cine Camera: Split camera properties to two groups, "Camera Options" and "Camera Settings". The cine camera now hides properties in the "Camera Settings" group so that properties like bConstrainAspectRatio (in the "Camera Options" group) can be visible. #jira UE-54192 Change 3877763 by Max.Chen Curve Editor: Fix curve changed on end drag so that only curves that had keys/tangents that were changed receive notification, otherwise all loaded curves were getting notified that they were changed. #jira UE-54951 Change 3878234 by Matt.Hoffman Disable "Drop Below" targets for Sequencer Tree nodes to prevent a confusing UX issue where dropping underneath a Object Binding Node puts it after the object binding node but the UI looks like it's inserting it inside the Object Binding node. #jira UE-54743 Change 3879359 by Mike.Zyracki If a track is inactive we dim it a bit which seems to be the UE4 way to show inactive or disabled state. We changed the active logic so that all subtracks need to be inactive for the track to also be inactive(instead of all active for active). This conforms to how the active state actually works, e.g if you have two sections and only one is active the track is still active above it. #jira UESEQ-388 Change 3879462 by Max.Chen Sequencer: Allow dragging onto a particular row which would move out any overlapping sections to make space for the newly created section. Newly created sections are now selected and throbbed to draw attention to themselves. #jira UE-54664 Change 3879464 by Max.Chen Sequencer: Fixed overlapping ranges being inserted into the evaluation field during compilation - The issue was that track segments that had been combined with adjacent segments (due to them being identical) would potentially cause a subsequently compiled frame to overlap with a range that had already been inserted into the evaluation field. - The insertion code previously asserted that only minor overlaps were catered for (due to fp rounding errors) and assumed that a supplied range could not entirely contain any other range in the field. - The solution is to supply the insertion time along with the range to know exactly where the data should live in the field, and crop the range to the maximum allowable space between adjacent ranges. #jira UE-54922 Change 3879590 by Matt.Hoffman Items that are now added to the Sequencer via the "+Track" menu will be selected after being added. Items can now be added inside of folders instead of just to the root level. #jira UE-27397 Change 3879612 by Mike.Zyracki Display Nodes with no children are always active. #jira UESEQ-388 Change 3879730 by Matt.Hoffman Sequence Recorder's actor recording groups now remove items from the group when removed via the UI. #jira UESEQ-339 Change 3880256 by Mike.Zyracki Fix issue with inactive display with folders and other track nodes. #jira UESEQ-388 Change 3883491 by Max.Chen Fix issue where tick is skipped due to last ticked pose isn't cleared after AnimInstance changes. Copy from Release-4.19 #jira UE-51323 Change 3883603 by Max.Chen Movie Scene Capture: Add option toggle disable screen percentage. By default this is on (no change in current behavior). #jira UE-51898 Change 3885074 by Max.Preussner MediaCompositing: Resetting media texture & freeing resource on section end; removed dead code Change 3887220 by Max.Preussner MediaCompositing: Defaulted media section duration to 1 sec (since we do not know the actual duration in most cases) Change 3887478 by Matt.Hoffman Sequences now show [Inactive] in their title bars when they're disabled. This helps communicate why a sequence isn't being evaluated. #jira UE-51469 Change 3888985 by Max.Chen Movie Scene Capture: Clamp HDR Compression Quality between 0 and 1. #jira UE-55136 Change 3893519 by Max.Chen Sequence Recorder: Clarified tooltip for bRecordNearbySpawnedActors - spawned actors will still be recorded if they match the ActorFilter. #jira UE-55238 Change 3893546 by Max.Chen Sequence Recorder: If a selected actor already has a recording, add a blank recording. #jira UE-55239 Change 3894044 by Max.Preussner MediaCompositing: Added support for seeking into a media section Change 3894310 by andrew.porter MediaFrameworkTest: Adding Img media sources for 1080 and 2160 ravent test content Change 3894426 by Max.Preussner MediaAssets: Letting media textures with AutoClear retain their clear color when player is reset Change 3895717 by Max.Chen Sequencer: Null checks to prevent crash when saving the default state of a spawnable #jira UE-55304 Change 3897388 by Max.Chen Sequencer: Don't update current time to be within the view range when stepping into a sequence. #jira UE-55322 Change 3897452 by Max.Chen Audio: Fix crash when trying to record audio without any active capture devices. Log warning if the number of input channels is not 1 or 2. #jira UE-55223 Change 3897619 by Max.Preussner MediaCompositing: Removed commented out code Change 3898072 by Max.Chen Sequencer: Override the animation asset in the player state if it doesn't match the animation asset that's being evaluated. #jira UE-55328 Change 3898272 by Max.Preussner MediaPlayerEditor: Made slate brush constants static Change 3898704 by Max.Chen Sequencer: Skip if the binding id's sequence can't be found. #jira UE-55337 Change 3899855 by Max.Preussner MediaCompositingEditor: Added cache state visualization to media track Change 3900300 by Max.Preussner MediaCompositingEditor: Added loop indicators to media sections Change 3900694 by Max.Preussner ImfMedia: Looping cache only when player is looping Change 3900892 by Max.Preussner Stats: Added stats category for media framework Change 3900954 by Max.Preussner MediaCompositing: Don't evaluate at the end of media section Change 3901348 by Max.Preussner Core: Replaced TLruCache autos for better readability Change 3901655 by Max.Preussner ImgMedia: Added more perf stats to EXR reader Change 3901972 by Max.Preussner MediaAssets: Added getter for media player in media sound components Change 3902233 by Max.Preussner MediaAssets: Enabling media textures to receive samples right after player is assigned Change 3902238 by Max.Preussner MediaCompositing: Working around init/shutdown idiosyncracies in sequencer Change 3904045 by Max.Chen Sequencer: Fix copy/paste crash. Only process UMovieSceneCopyableBinding and objects that can be spawned by the movie scene spawn register. #jira UE-55314 Change 3905605 by Max.Chen Sequencer: Restrict spawnables from being created if they have a ClassWithin that UMovieScene is not a child of. #jira UE-55429 Change 3906550 by Max.Chen Sequencer: Add media track icon #jira UE-55480 Change 3907101 by Max.Chen Sequence Recorder: Fix bugs related to not recording a level sequence. There were certain assumptions that creating a level sequence meant that sequence recording was in progress. This is not always the case - the recorders can record animation assets and not create a level sequence. Changed the notion of IsRecording() to having at least one actor recording that is recording. Countdown timer, recording displays, etc should function if IsRecording() and not based on whether a level sequence is created. #jira UE-55485 Change 3907247 by Max.Chen Sequence Recorder: Fix crash not removing PrepareToCleanseEditorObject delegate. Repros when opening sequence recorder, closing it, and then opening or creating a level. Change 3910343 by Max.Preussner Core: Added async helper for executing functions on a given thread pool Change 3910346 by Max.Preussner ImgMedia: Added separate thread pools for loading/decoding and deleting image frames Change 3910829 by Max.Preussner Profiler: Increased visible range of profiler graph Change 3910841 by Max.Preussner MediaCompositing: Displaying asset name instead of full media source path in media section Change 3910870 by Max.Preussner ImgMedia: Using deallocation thread pool only in debug builds Change 3919642 by Max.Chen Sequence Recorder: Clarify active tooltip #jira UE-55661 Change 3919660 by Max.Chen Sequencer: Sequence template source signatures are now also compared to catch the case where a sub-sequence asset has been saved but not modified - The following sequence of events exposes this issue: - Create a master sequence with a single shot that spawns a cube - Add this sequence to a level and set it to auto-play - Save everything and restart - Resave just the inner shot asset without opening it - PIE - The inner shot never spawns its cube because its template was wiped on save, but its signature never changed. Since the master sequence previously didn't check the template source signature, it ends up trying to evaluate an empty template. #jira UE-55626 #jira UE-55490 Change 3921825 by Max.Chen Sequencer: "Run Construction Script in Sequencer" is off by default for blueprints but on for Sequencer. This allows the content author to switch it on for specific blueprints and sequencer will be default, run those with construction scripts enabled. Change 3922232 by Max.Chen Sequence Recorder: Reset countdelay on stop. #jira UE-55755 Change 3922306 by Max.Chen Sequence Recorder: Don't automatically mark transforms to be recorded by sequence recorder. Instead, log a warning if the user toggled it off to warn that the resulting animation might not match gameplay. #jira UE-55758 Change 3922912 by Max.Chen Sequence Recorder: Fix refresh next sequence name #jira UE-55757 Change 3927654 by Max.Chen Movie Scene Capture: Added format mapping for the name of the current camera #jira UE-55769 PR #4537 Change 3927658 by Max.Chen Sequencer: Added fbx property mapping for "FocusDistance" to "FocusSettings.ManualFocusDistance" #jira UE-55782 Change 3932022 by Max.Chen Sequencer: Add import animation track section to next available row index. #jira UE-55892 Change 3933919 by Max.Chen Sequencer: Jump to playback start frame and not 0 to start playback for recording. #jira UE-55933 Change 3934307 by Andrew.Rodham Sequencer: Add template signature that is re-generated every time the base template is regenerated, which invalidates evaluation fields This fixes an issue where the same sequence is instantiated multiple times in a sequence. If the source sequence was saved, its template would be wiped, which would invalidate the template ID When an instance tries to evaluate the master template, it would only invalidate a range in the evaluation field that was the hull of any invalid sub sequences overlapping the current time, potentially leaving invalid data in the evaluation field at positions later (or earlier) on in the sequence When the sub template was re-generated, it receives the same SequenceSignature as it had before (because the sequence hasn't actually changed), which causes the stale evaluation field data to fail the IsDirty check (because the sequence is the same as it thought, but the *template* has changed) This has been addressed be adding a signature to templates themselves, and checking both the template signature and sequence signature as a part of the IsDirty check. This ensures that we regenerate if either the template, or the sequence have changed. #jira UE-55934 Change 3936327 by Andrew.Rodham Sequencer: Removed increment when trimming right UMovieSceneSection::TrimSection already explicity assigns an exclusive bound to the time passed in. The new behavior means we can trim a section to the right, and insert another section without changing the time to create adjacent sections. #jira UE-42652 Change 3936328 by Andrew.Rodham Fixed KeyFrameManipulator assignment operators and copy/move constructors - These types are potentially self-referential so cannot use default constructors/assignment Change 3936330 by Andrew.Rodham Converted UMGSequencePlayer to use frames internally #jira UE-54878 Change 3936726 by Max.Chen Sequencer: Set track node as the parent of the key area node. The key area switcher needs the object binding id from the parent object binding node. Without this, the binding to the external value fails. #jira UE-55931 Change 3936775 by Max.Chen Sequencer: Should stop or loop should compare DurationFrames with Current Time from StartTime. The bug is that if you set 30 warmup frames in movie rendering for a range of 0-100, the FrameRange will be starting at -30 and have a duration of 130. Without this fix, the playback will continue until frame 130, rather than 100. #jira UE-55933 Change 3936935 by Matt.Hoffman Easing Curves are now represented in Play Rate resolution instead of internal resolution. #jira UE-55937 Change 3937069 by Matt.Hoffman Users can toggle if the is infinite on each side, limited by which tracks support infinite ranges. #jira UE-55891 Change 3937516 by Max.Preussner ImgMedia: Added support for single-threaded platforms #jira UE-55986 Change 3937826 by Max.Preussner MediaAssets: Disabling media sound components on HTML5 if AudioMixer is not enabled Change 3937997 by Max.Chen Curve Editor: Add Zoom to Fit Curves so that selected curves from Sequencer can be focused on. Tested that undo doesn't re-zoom. #jira UE-55935 Change 3938000 by Max.Chen Sequencer: Stop all sounds before generating audio waveforms. #jira UE-55951 Change 3938376 by Max.Preussner XGEController: Disabled XGE Controller in single-threaded apps to prevent crash Change 3938444 by Max.Preussner Core: Added async support for single-threaded applications Change 3938445 by Max.Preussner Networking: Added support for single-threaded applications in UDP socket sender/receiver Change 3938447 by Max.Preussner Messaging: Added support for single-threaded applications Change 3939432 by Max.Chen Sequence Recorder: Append command list to global level editor actions so that shortcuts are accessible in level editor. #jira UE-55798 Change 3940229 by Andrew.Rodham Added prospective display rate upgrade to UMovieScene::PostLoad - There was previously some very odd behaviour that would assign the fixed frame interval only when a sub sequence was focused in SSequencer. This meant that many sequences could have a frame interval of 0 set in the data. - Under the old method of snap interval display this would have fallen back to getting the display interval from the sequencer settings, but we no longer look at these. - The USequencerSettings properties have been removed and in their place, a prospective data upgrade for sequences that have a fixed frame interval old 0fps that sets the play rate to the previous defaults based off the old USequencerSettings defaults. - This could end up 'changing' the display rate for sequences where the user has changed the snap interval in the settings for a particular sequence editor, but there's not much we can do about that given we don't have access to the USequencerSettings classes in UMovieScene #jira UE-55919 Change 3940277 by Andrew.Rodham Sequencer: Added ability to default frame resolutions and play rates for newly created actor sequences Change 3940378 by Andrew.Rodham Sequencer: Post move import dialog now defaults to the playback framerate of the sequence, and floors to frame numbers Change 3940559 by Andrew.Rodham Reinstated primed or recording sequence color Change 3940642 by Max.Preussner ImagePlate: Removed image plate media playback functionality Change 3940843 by Max.Preussner Core: Made TCircularQueue actually thread-safe; improved code comments Change 3940860 by Max.Chen Sequencer: Changed StructNameToKey to StructPathToKey Previously, keying a PropertyPath of [RenderTransform][Shear][X] would get trimmed to X, which doesn't map to a channel name as considered by Sequencer2dTransformTrackEditor. Instead, trim the resulting property path to [Shear][X] so that track editors can determine the desired struct path and channels to key. #jira UE-52966 Change 3941292 by Mike.Zyracki Fix for trajectories out of range not showing up. 1) If we had no key data we would pop the time, so wouldn't get the section ranges. 2) Calculating of upper bound was wrong, checking against -1 and not key == num of keys when doing algo::lower_bound. 3) No need to do the Bck-- for the bakward iterators since we fixed #2. We start now from the upper bound correctly. 4) If we had no keys (at section start,end) we would incorrectly say we were any key type, so since we draw constant keys as dashed we would do so incorrectly around section end points. #jira UE-55929 Change 3941424 by Max.Chen Curve Editor: Change Zoom to Fit to use TArrayView Change 3941498 by Max.Preussner Core: Added FMath::DivideAndRoundNearest function Change 3942097 by Matt.Hoffman Drop Frame Timecode Support for NTSC rates. Change 3942104 by Matt.Hoffman Sequence Recorder Group is no longer visible inside the World Outliner after using one. #jira 55266 Change 3942107 by Max.Chen Sequencer: Resurrect logic to find or extend an existing section when adding keys. Change 3942330 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942339 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942507 by Andrew.Rodham Sequencer: We no longer pad the time overlap threshold with a small number that is not scaled by the current zoom level - The presence of this pad was causing keys that were far apart to be grouped when zoomed in a long way Change 3942509 by Andrew.Rodham Sequencer: Only pad total view range, rather than section range as well when retrieving keys to render - This stops us from rendering keys that are within the view range, but outside the section range Change 3942512 by Andrew.Rodham Added transactions to some sequencer details customizations Change 3942513 by Andrew.Rodham Sequencer: Reinstated validation checks to UMovieSceneSection::SetStartFrame and SetEndFrame, changed erroneous uses to use SetRange Change 3942560 by Andrew.Rodham Pass by rvalue reference to appease error C2719 on Win32 ('InChannels': formal parameter with requested alignment of 8 won't be aligned) Change 3942697 by Andrew.Rodham Newly Created Level Sequences and Actor Sequences now default to 24000 fps frame resolution (+/- ~24hrs range, supporting all integer rates + 23.976) Change 3942700 by Andrew.Rodham Sequencer: Added legacy out-of-bounds errors for times that are not supported by the current legacy upgrade frame resolution Change 3942989 by Max.Preussner Core: Fixed circular queue count calculation Change 3943538 by Max.Preussner MediaAssets: Reverted workaround for procedural audio log spam in HTML5 (Actor component initialization cannot be skipped if the component is used in a level) Change 3944071 by Max.Preussner QAGame: Fixed Media Texture keeps last frame of Media when PIE ends #jira UE-53360 Change 3944292 by Max.Chen Sequencer: Added extra flags to ensure that asset initialization does not occur on template actor sequences #jira UE-56113 Change 3944364 by Max.Chen Sequencer: Prevent circular shot/master tracks. Tested adding master -> child -> master as drag and drop cinematic shot tracks and sub tracks as well as through the + button. #jira UE-56091 Change 3944422 by Max.Chen Sequence Recorder: Disable transform recording if off. #jira UE-56061 Change 3944745 by Andrew.Rodham Sequencer: Key rendering fixes - Fixed assert that occured when keys happened to reside on some times due to KeyTime + TimeOverlapThreshold - KeyTime being slightly larger TimeOverlapThreshold - Fixed keys sometimes being clipped when zoomed right in due to lack of half-frame offset - Added missing documentation to MovieSceneTimeHelpers.h #jira UE-56107 Change 3945231 by Andrew.Rodham Sequencer: Reconstruct channel proxy on Serialize to catch all cases of undo/redo, PostLoad and duplication #jira UE-56089 Change 3945301 by Andrew.Rodham Sequencer: Added safety checks during initial sequence recording to guard against applying negative or 0-sized sequence ranges #jira UE-56125 Change 3946627 by Max.Preussner Fortnite: Fixed game crashes closing editor while in PIE - Pure virtual function being called #jira UE-56144 [CL 3946896 by Max Chen in Main branch]
2018-03-14 22:09:33 -04:00
{
// The output is not bound to a delegate so we'll manage the value ourselves (no animation)
TimeSliderArgs.ViewRange.Set( NewRange );
}
}
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3946692) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3801826 by Max.Chen PR #4304: Level Sequence crash fix - Guarded against dereferencing null componen. (Contributed by DSDambuster) Change 3801828 by Max.Chen PR #4302: Movie Scene Visibility Template unitialised variable, causing random . (Contributed by DSDambuster) Change 3801837 by Max.Chen Sequencer: Delay spawning/construction for convert to possessable. This fixes a bug where property values would be lost when converting back and forth from possessable to spawnable. #jira UE-52400 Change 3801841 by Max.Chen Sequencer: Make spacer nodes not selectable. PR #4194: Improvements to Sequencer (Contributed by projectgheist) #jira UE-53117 #jira UE-52139 Change 3804183 by Max.Preussner MediaAssets: Added missing lock in media sound component Change 3805414 by Max.Preussner MediaAssets: Setting valid GUID when initializing media texture resource Change 3819578 by Max.Chen PR #4370: When enabling the "MovieCapture", do not turn off the Stereo-3D display. (Contributed by yehaike) #jira UE-53647 Change 3823414 by Max.Chen Curve Editor: Lock down the first and last keys in the redundant keys removal range so that they're unaffected. #jira UE-53591 Change 3826406 by Max.Chen Sequencer: Move OnStartedPlaying() to within first update in UpdateTimeCursorPosition(). This fixes an issue where setting the hud/player visibility was getting stomped on later. #jira UE-52772 Change 3827044 by Max.Preussner MediaAssets: Added sprite visualization to media sound component #jira UE-53594 Change 3827988 by Max.Preussner MediaPlayerAssets: Fixed Media Texture is not linked to Media Player when created together #jira UE-53532 Change 3828506 by Max.Preussner MediaPlayerEditor: Added attenuation visualizer for media sound components #jira UE-53594 Change 3832590 by andrew.porter EngineTest: Added a keep state check in Property Animation sequencer test Change 3833053 by andrew.porter EngineTest: Adding Hierarchical Bias test Change 3835683 by andrew.porter EngineTest: Adding UMG Animation screenshot test Change 3836076 by Max.Chen Sequencer: Fix audio volume and pitch multiplier deprecation. Change 3836230 by andrew.porter EngineTest: Adding Sequence Bone Position automation test Change 3836347 by Max.Chen Sequencer: Fixes to shot name parsing. When a shot doesn't contain a shot number, assume, [ShotName]_[TakeNumber]. When duplicating a shot, put the new shot in the same path of the original shot, so that the take numbers will increment properly. #jira UE-51868 Change 3836552 by Max.Chen Sequencer: Sub section now has a takes menu Change 3838094 by Max.Chen UMG: Fix template finish not getting called on stop. This fixes a bug where sections aren't restored when finished. #jira UE-52285 Change 3838708 by Max.Chen Sequencer: Add notification when the blend type is changed. #jira UE-54046 Change 3840295 by Max.Chen Sequencer: Fix copy/paste crash for lights #jira UE-54084 Change 3840957 by Mike.Zyracki Added Show Only Keyable and Show Only Animated to the filter list in the property editor. Added IsPropertyAnimated to IDetailKeyframe Interface which already had support for showing properties which are keyable (which is used for the key icon next to the properties.). Could have created another interface but then would have had to mimic the sequencer binding, releasing also, so this seemed best way. One issue still left is that custom built detail items currently don't store associated properties(usually) and so certain properties, in particulalry transforms, won't show up as keyable or animated. Note this also shows up with the keyable icon not showing up next to transform tracks, and other filters like Show Only Modified not working with transforms/customs. Not sure best way to tackle this. #jira UESEQ-328 Change 3841756 by Max.Chen Sequencer: Fix unbound possessable components when pasting spawnables. #jira UE-54104 Change 3843950 by andrew.porter EngineTest: Renaming LevelStreaming tests/content to LevelVisibility Change 3844082 by Mike.Zyracki Missing file for animated filter in property editor. When finding if a track is animated we need to find it but we can't easily induce the MovieTrack class for any particular property. So we don't set a class for it and just search by it's ID and name. #jira UESEQ-328 Change 3846902 by Max.Preussner ImgMedia: Fixed image media player never finished initialization if loading failed #jira UE-54247 Change 3849820 by Mike.Zyracki Reassigning deleted widgets didn't work since the menu extender mechanism needs a valid UObject in order to perform an operation on it. So to fix we replaced GetObjectBindingContextMenuExtender in WidgetBlueprint with new delegate mechanism (OnBuildCustomContextMenuForGuid) that supports FGuid in addition to UObjects which is needed to handle re-binding deleted widgets. Note that the default sequencer hacks this for replacing deleted actors in SequencerObjectBindingNode to check to see if a LevelSequence is active. We could move to this mechanism there also. #jira UE-53163 Change 3852211 by Max.Chen UMG: Indicate name of the property that is not bound. #jira UE-54350 Change 3854120 by Max.Chen Sequencer: Fix sibling folders being allowed to have the same folder name. #jira UE-54363 Change 3854627 by Max.Chen Sequencer: Step to next/previous key should work for all tracks if there aren't any selected. #jira UESEQ-391 Change 3855825 by andrew.porter EngineTest: Adding animation blending automation test Change 3855950 by andrew.porter EngineTest: Adding correct expected valuues to animation blending test Change 3856237 by Matt.Hoffman UESEQ-336 - Sequencer Track Reordering Adds the ability to re-order Master Tracks, Folders and Object Bindings within sequencer hierarchies (including UMG). Adds the ability to do a one-off sorting of the content under the old sorting behavior if the user wants to reset their layout to how it was under legacy behavior. Modifies SequencerTrackNodes, SequencerFolderNodes and SequencerObjectBindingNodes to handle CanDrop/OnDrop for above, below and ontop of. Fixes a Slate Issue that forcibly expanded a TreeviewRow if an item handled OnDrop. Slate will now only forcibly expand the row if the item says the drop happened ontop of the item, and not above or below it like it previously did. Change 3856503 by andrew.porter EngineTest: Adding automation test for using animation blueprint with blend multi node in sequencer Change 3857875 by Max.Chen Sequencer: Assign the sequence id after the template is compiled. #jira UE-54462 Change 3858344 by Max.Chen Sequencer: Prevent Goto and Transform boxes from overlapping by allowing them to be visible at the same time in an autosized horizontal box. Also, added close button to the goto box. PR #4425: Prevent Goto and Transform boxes from overlapping in Sequencer ... (Contributed by projectgheist) #jira UE-54210 Change 3860566 by andrew.porter MediaFrameworkTest: Set the option to index 0 for the audio and video track list by default Change 3860654 by andrew.porter EngineTest: Enabling Camera Cut + FOV test Change 3860981 by andrew.porter EngineTest: Updating skeletal mesh tests with a delay after set playback position Change 3861256 by Max.Chen Sequencer: Add all bindings if none selected. #jira-54440 Change 3862154 by Andrew.Rodham Added TimeManagement module Change 3862424 by andrew.porter EngineTest: Turned on the test Bone Positions with Blend Multi Node Change 3862573 by andrew.porter EngineTest: Adding test to compare bone positions in a sequence that is blending an animation that is using an AnimBP Change 3865117 by Max.Chen Sequencer: Stop auto scroll on mouse release of movement. #jira UE-31212 Change 3865303 by Max.Chen Sequencer: Add drag and drop transactions #jira UE-54662 Change 3865304 by Max.Chen Sequencer: Fix crash when an actor factory is not found. Change 3865361 by Max.Chen Sequencer: Don't change the camera/shot lock button when popping out of a sequence. #jira UE-54665 Change 3865412 by Max.Chen Sequencer: Determine whether a transform track is for a camera by using the spawned object or template #jira UE-54666 Change 3865685 by Max.Chen Sequencer: Clear autoscrub offset when stopping autoscroll #jira UE-31212 Change 3865886 by Max.Chen Sequence Recorder: Log an error if the number of frames changes while recording. This can happen if the skeleton changes while recording. #jira UE-48715 Change 3866925 by Andrew.Porter MediaFrameworkTest: Changing the current PNG test video image sequence to 1024 x 576 Change 3867705 by andrew.porter QAGame: Adding Audio Sort Sequence to dev folder Change 3867890 by andrew.porter QAGame: Adding a sequence for testing a sorting crash to my dev folder Change 3872628 by Max.Chen Movie Scene Capture: Split delay before warmup into split delay before shot warmup so that there's separate controls for when the movie scene capture warmups up vs. shot boundaries. Change 3873131 by Matt.Hoffman UE-54732 - Crash reordering a folder with a track. This was caused by folders being the only type of track to check if someone was putting a parent track into a child track. Object Binding tracks and Tracks now check as well so that you can't use the above/below drop targets to add parents as children. This also fixed a typo in the localization keys. #jira UE-54732 Change 3873301 by Mike.Zyracki Added ability to support continous euler angle changes when changing rotations, in particularly with the rotation gizmo's. To do this we effectively added a form an of 'euler filter'(https://en.wikipedia.org/wiki/Euler_filter) to find the closest euler angle to the current euler angle. Three functions were added to FRotator to make this possible, one to get the euler angle that's has the same rotation as it, one to get the difference between two euler angles via Manhattan distance and a third using the previous two to choose a Rotator value that's closest to it. We then use these functions before calling UComponent::SetRelativeRotation to make sure we use the correct Euler after the Quat conversion. We also no longer limit(bound) the euler angles to -180,180, which is obviously necessary to avoid flips. I also changed how we caluclate yaw and roll when pitch is -90 or 90 to make it the standard approach of zeroing out roll and just setting yaw. Main reasons are the previous implementation had precision issues so things like 180, 90, -180 would show up due to numbers being nearly zero but negative,(this would break any smooth interpolations), and this facilitates having a 'gimbal' rotation mode (like Maya, Blender etc..) if we ever want that also. If needed we could keep the previous implementation but would need to add some FMath::IsNearlyZero checks, with less performance. Note we only do this special filtering when applying delta's to actors or components in the editors, which then call UComponent::SetRelativeRotationExact, which is a new function to foces the RelativeRotation to be equal to the new rotation. This allows us to store un-nomalized Rotators at the cost that the RotationCache may be broken. We didn't change any of the other UComponent functions that set rotations (via Quats or Transforms) so they will still be bounded and unwound. In SetInternalWorldLocationAndRotation we only set the rotation if the rotation has changed, which fixes the rotation getting changed and re-normalized if just translate happens. In TransformTrackEditor, we correclty use the bUndwing flag and in MovieScene3DTransformSection there was an un-needed winding check there, it will be unwound earlier if needed, which happens if Sequence Recording is happening. Max we should talk about what to do about this . Note the euler angle drag via the widget is still bound to 0-360. I think we should just unbound that now since the rotations value are now unbound. This review now includes fixes suggested by Zak. #jira UE-UE-22228 Change 3873483 by Matt.Hoffman Sequencer Tracks can now be inserted above the spacer at the bottom of the tree. #jira UE-54706 Change 3873899 by Max.Chen Sequencer: Add section selection throbbing Change 3873908 by Max.Chen Movie Scene Capture: Added logging per frame Change 3873924 by Matt.Hoffman Adds the ability to store Sequence Recorder setups into profiles that stay with the map and can be re-loaded later. Profiles store the Actor Recordings so the settings for each actor should carry with them. #jira UESEQ-339 Change 3874726 by Matt.Hoffman Disable drag-and-drop targets on spacers that come between rows in Sequencer. This prevents extra drag/drop targets showing up between each row. #jira UE-54706 Change 3874862 by Matt.Hoffman Audio Track no longer gets reordered when adding sub-audio tracks, as sub-tracks are no longer counted towards the sorting order index when normalizing indexes. #jira UE-54727 Change 3875905 by Matt.Hoffman Disable Fade Track UI if a fade track already exists in the sequence. #jira UESEQ-393 Change 3876163 by Max.Chen Sequencer: Swap the camera object to the camera component's owner if it's not the same. #jira UE-54874 Change 3876971 by Andrew.Porter EngineTest: Moved Media Player Seek test to new folder. Also enabled the test with new ground truth image. Change 3877040 by Max.Chen Cine Camera: Split camera properties to two groups, "Camera Options" and "Camera Settings". The cine camera now hides properties in the "Camera Settings" group so that properties like bConstrainAspectRatio (in the "Camera Options" group) can be visible. #jira UE-54192 Change 3877763 by Max.Chen Curve Editor: Fix curve changed on end drag so that only curves that had keys/tangents that were changed receive notification, otherwise all loaded curves were getting notified that they were changed. #jira UE-54951 Change 3878234 by Matt.Hoffman Disable "Drop Below" targets for Sequencer Tree nodes to prevent a confusing UX issue where dropping underneath a Object Binding Node puts it after the object binding node but the UI looks like it's inserting it inside the Object Binding node. #jira UE-54743 Change 3879359 by Mike.Zyracki If a track is inactive we dim it a bit which seems to be the UE4 way to show inactive or disabled state. We changed the active logic so that all subtracks need to be inactive for the track to also be inactive(instead of all active for active). This conforms to how the active state actually works, e.g if you have two sections and only one is active the track is still active above it. #jira UESEQ-388 Change 3879462 by Max.Chen Sequencer: Allow dragging onto a particular row which would move out any overlapping sections to make space for the newly created section. Newly created sections are now selected and throbbed to draw attention to themselves. #jira UE-54664 Change 3879464 by Max.Chen Sequencer: Fixed overlapping ranges being inserted into the evaluation field during compilation - The issue was that track segments that had been combined with adjacent segments (due to them being identical) would potentially cause a subsequently compiled frame to overlap with a range that had already been inserted into the evaluation field. - The insertion code previously asserted that only minor overlaps were catered for (due to fp rounding errors) and assumed that a supplied range could not entirely contain any other range in the field. - The solution is to supply the insertion time along with the range to know exactly where the data should live in the field, and crop the range to the maximum allowable space between adjacent ranges. #jira UE-54922 Change 3879590 by Matt.Hoffman Items that are now added to the Sequencer via the "+Track" menu will be selected after being added. Items can now be added inside of folders instead of just to the root level. #jira UE-27397 Change 3879612 by Mike.Zyracki Display Nodes with no children are always active. #jira UESEQ-388 Change 3879730 by Matt.Hoffman Sequence Recorder's actor recording groups now remove items from the group when removed via the UI. #jira UESEQ-339 Change 3880256 by Mike.Zyracki Fix issue with inactive display with folders and other track nodes. #jira UESEQ-388 Change 3883491 by Max.Chen Fix issue where tick is skipped due to last ticked pose isn't cleared after AnimInstance changes. Copy from Release-4.19 #jira UE-51323 Change 3883603 by Max.Chen Movie Scene Capture: Add option toggle disable screen percentage. By default this is on (no change in current behavior). #jira UE-51898 Change 3885074 by Max.Preussner MediaCompositing: Resetting media texture & freeing resource on section end; removed dead code Change 3887220 by Max.Preussner MediaCompositing: Defaulted media section duration to 1 sec (since we do not know the actual duration in most cases) Change 3887478 by Matt.Hoffman Sequences now show [Inactive] in their title bars when they're disabled. This helps communicate why a sequence isn't being evaluated. #jira UE-51469 Change 3888985 by Max.Chen Movie Scene Capture: Clamp HDR Compression Quality between 0 and 1. #jira UE-55136 Change 3893519 by Max.Chen Sequence Recorder: Clarified tooltip for bRecordNearbySpawnedActors - spawned actors will still be recorded if they match the ActorFilter. #jira UE-55238 Change 3893546 by Max.Chen Sequence Recorder: If a selected actor already has a recording, add a blank recording. #jira UE-55239 Change 3894044 by Max.Preussner MediaCompositing: Added support for seeking into a media section Change 3894310 by andrew.porter MediaFrameworkTest: Adding Img media sources for 1080 and 2160 ravent test content Change 3894426 by Max.Preussner MediaAssets: Letting media textures with AutoClear retain their clear color when player is reset Change 3895717 by Max.Chen Sequencer: Null checks to prevent crash when saving the default state of a spawnable #jira UE-55304 Change 3897388 by Max.Chen Sequencer: Don't update current time to be within the view range when stepping into a sequence. #jira UE-55322 Change 3897452 by Max.Chen Audio: Fix crash when trying to record audio without any active capture devices. Log warning if the number of input channels is not 1 or 2. #jira UE-55223 Change 3897619 by Max.Preussner MediaCompositing: Removed commented out code Change 3898072 by Max.Chen Sequencer: Override the animation asset in the player state if it doesn't match the animation asset that's being evaluated. #jira UE-55328 Change 3898272 by Max.Preussner MediaPlayerEditor: Made slate brush constants static Change 3898704 by Max.Chen Sequencer: Skip if the binding id's sequence can't be found. #jira UE-55337 Change 3899855 by Max.Preussner MediaCompositingEditor: Added cache state visualization to media track Change 3900300 by Max.Preussner MediaCompositingEditor: Added loop indicators to media sections Change 3900694 by Max.Preussner ImfMedia: Looping cache only when player is looping Change 3900892 by Max.Preussner Stats: Added stats category for media framework Change 3900954 by Max.Preussner MediaCompositing: Don't evaluate at the end of media section Change 3901348 by Max.Preussner Core: Replaced TLruCache autos for better readability Change 3901655 by Max.Preussner ImgMedia: Added more perf stats to EXR reader Change 3901972 by Max.Preussner MediaAssets: Added getter for media player in media sound components Change 3902233 by Max.Preussner MediaAssets: Enabling media textures to receive samples right after player is assigned Change 3902238 by Max.Preussner MediaCompositing: Working around init/shutdown idiosyncracies in sequencer Change 3904045 by Max.Chen Sequencer: Fix copy/paste crash. Only process UMovieSceneCopyableBinding and objects that can be spawned by the movie scene spawn register. #jira UE-55314 Change 3905605 by Max.Chen Sequencer: Restrict spawnables from being created if they have a ClassWithin that UMovieScene is not a child of. #jira UE-55429 Change 3906550 by Max.Chen Sequencer: Add media track icon #jira UE-55480 Change 3907101 by Max.Chen Sequence Recorder: Fix bugs related to not recording a level sequence. There were certain assumptions that creating a level sequence meant that sequence recording was in progress. This is not always the case - the recorders can record animation assets and not create a level sequence. Changed the notion of IsRecording() to having at least one actor recording that is recording. Countdown timer, recording displays, etc should function if IsRecording() and not based on whether a level sequence is created. #jira UE-55485 Change 3907247 by Max.Chen Sequence Recorder: Fix crash not removing PrepareToCleanseEditorObject delegate. Repros when opening sequence recorder, closing it, and then opening or creating a level. Change 3910343 by Max.Preussner Core: Added async helper for executing functions on a given thread pool Change 3910346 by Max.Preussner ImgMedia: Added separate thread pools for loading/decoding and deleting image frames Change 3910829 by Max.Preussner Profiler: Increased visible range of profiler graph Change 3910841 by Max.Preussner MediaCompositing: Displaying asset name instead of full media source path in media section Change 3910870 by Max.Preussner ImgMedia: Using deallocation thread pool only in debug builds Change 3919642 by Max.Chen Sequence Recorder: Clarify active tooltip #jira UE-55661 Change 3919660 by Max.Chen Sequencer: Sequence template source signatures are now also compared to catch the case where a sub-sequence asset has been saved but not modified - The following sequence of events exposes this issue: - Create a master sequence with a single shot that spawns a cube - Add this sequence to a level and set it to auto-play - Save everything and restart - Resave just the inner shot asset without opening it - PIE - The inner shot never spawns its cube because its template was wiped on save, but its signature never changed. Since the master sequence previously didn't check the template source signature, it ends up trying to evaluate an empty template. #jira UE-55626 #jira UE-55490 Change 3921825 by Max.Chen Sequencer: "Run Construction Script in Sequencer" is off by default for blueprints but on for Sequencer. This allows the content author to switch it on for specific blueprints and sequencer will be default, run those with construction scripts enabled. Change 3922232 by Max.Chen Sequence Recorder: Reset countdelay on stop. #jira UE-55755 Change 3922306 by Max.Chen Sequence Recorder: Don't automatically mark transforms to be recorded by sequence recorder. Instead, log a warning if the user toggled it off to warn that the resulting animation might not match gameplay. #jira UE-55758 Change 3922912 by Max.Chen Sequence Recorder: Fix refresh next sequence name #jira UE-55757 Change 3927654 by Max.Chen Movie Scene Capture: Added format mapping for the name of the current camera #jira UE-55769 PR #4537 Change 3927658 by Max.Chen Sequencer: Added fbx property mapping for "FocusDistance" to "FocusSettings.ManualFocusDistance" #jira UE-55782 Change 3932022 by Max.Chen Sequencer: Add import animation track section to next available row index. #jira UE-55892 Change 3933919 by Max.Chen Sequencer: Jump to playback start frame and not 0 to start playback for recording. #jira UE-55933 Change 3934307 by Andrew.Rodham Sequencer: Add template signature that is re-generated every time the base template is regenerated, which invalidates evaluation fields This fixes an issue where the same sequence is instantiated multiple times in a sequence. If the source sequence was saved, its template would be wiped, which would invalidate the template ID When an instance tries to evaluate the master template, it would only invalidate a range in the evaluation field that was the hull of any invalid sub sequences overlapping the current time, potentially leaving invalid data in the evaluation field at positions later (or earlier) on in the sequence When the sub template was re-generated, it receives the same SequenceSignature as it had before (because the sequence hasn't actually changed), which causes the stale evaluation field data to fail the IsDirty check (because the sequence is the same as it thought, but the *template* has changed) This has been addressed be adding a signature to templates themselves, and checking both the template signature and sequence signature as a part of the IsDirty check. This ensures that we regenerate if either the template, or the sequence have changed. #jira UE-55934 Change 3936327 by Andrew.Rodham Sequencer: Removed increment when trimming right UMovieSceneSection::TrimSection already explicity assigns an exclusive bound to the time passed in. The new behavior means we can trim a section to the right, and insert another section without changing the time to create adjacent sections. #jira UE-42652 Change 3936328 by Andrew.Rodham Fixed KeyFrameManipulator assignment operators and copy/move constructors - These types are potentially self-referential so cannot use default constructors/assignment Change 3936330 by Andrew.Rodham Converted UMGSequencePlayer to use frames internally #jira UE-54878 Change 3936726 by Max.Chen Sequencer: Set track node as the parent of the key area node. The key area switcher needs the object binding id from the parent object binding node. Without this, the binding to the external value fails. #jira UE-55931 Change 3936775 by Max.Chen Sequencer: Should stop or loop should compare DurationFrames with Current Time from StartTime. The bug is that if you set 30 warmup frames in movie rendering for a range of 0-100, the FrameRange will be starting at -30 and have a duration of 130. Without this fix, the playback will continue until frame 130, rather than 100. #jira UE-55933 Change 3936935 by Matt.Hoffman Easing Curves are now represented in Play Rate resolution instead of internal resolution. #jira UE-55937 Change 3937069 by Matt.Hoffman Users can toggle if the is infinite on each side, limited by which tracks support infinite ranges. #jira UE-55891 Change 3937516 by Max.Preussner ImgMedia: Added support for single-threaded platforms #jira UE-55986 Change 3937826 by Max.Preussner MediaAssets: Disabling media sound components on HTML5 if AudioMixer is not enabled Change 3937997 by Max.Chen Curve Editor: Add Zoom to Fit Curves so that selected curves from Sequencer can be focused on. Tested that undo doesn't re-zoom. #jira UE-55935 Change 3938000 by Max.Chen Sequencer: Stop all sounds before generating audio waveforms. #jira UE-55951 Change 3938376 by Max.Preussner XGEController: Disabled XGE Controller in single-threaded apps to prevent crash Change 3938444 by Max.Preussner Core: Added async support for single-threaded applications Change 3938445 by Max.Preussner Networking: Added support for single-threaded applications in UDP socket sender/receiver Change 3938447 by Max.Preussner Messaging: Added support for single-threaded applications Change 3939432 by Max.Chen Sequence Recorder: Append command list to global level editor actions so that shortcuts are accessible in level editor. #jira UE-55798 Change 3940229 by Andrew.Rodham Added prospective display rate upgrade to UMovieScene::PostLoad - There was previously some very odd behaviour that would assign the fixed frame interval only when a sub sequence was focused in SSequencer. This meant that many sequences could have a frame interval of 0 set in the data. - Under the old method of snap interval display this would have fallen back to getting the display interval from the sequencer settings, but we no longer look at these. - The USequencerSettings properties have been removed and in their place, a prospective data upgrade for sequences that have a fixed frame interval old 0fps that sets the play rate to the previous defaults based off the old USequencerSettings defaults. - This could end up 'changing' the display rate for sequences where the user has changed the snap interval in the settings for a particular sequence editor, but there's not much we can do about that given we don't have access to the USequencerSettings classes in UMovieScene #jira UE-55919 Change 3940277 by Andrew.Rodham Sequencer: Added ability to default frame resolutions and play rates for newly created actor sequences Change 3940378 by Andrew.Rodham Sequencer: Post move import dialog now defaults to the playback framerate of the sequence, and floors to frame numbers Change 3940559 by Andrew.Rodham Reinstated primed or recording sequence color Change 3940642 by Max.Preussner ImagePlate: Removed image plate media playback functionality Change 3940843 by Max.Preussner Core: Made TCircularQueue actually thread-safe; improved code comments Change 3940860 by Max.Chen Sequencer: Changed StructNameToKey to StructPathToKey Previously, keying a PropertyPath of [RenderTransform][Shear][X] would get trimmed to X, which doesn't map to a channel name as considered by Sequencer2dTransformTrackEditor. Instead, trim the resulting property path to [Shear][X] so that track editors can determine the desired struct path and channels to key. #jira UE-52966 Change 3941292 by Mike.Zyracki Fix for trajectories out of range not showing up. 1) If we had no key data we would pop the time, so wouldn't get the section ranges. 2) Calculating of upper bound was wrong, checking against -1 and not key == num of keys when doing algo::lower_bound. 3) No need to do the Bck-- for the bakward iterators since we fixed #2. We start now from the upper bound correctly. 4) If we had no keys (at section start,end) we would incorrectly say we were any key type, so since we draw constant keys as dashed we would do so incorrectly around section end points. #jira UE-55929 Change 3941424 by Max.Chen Curve Editor: Change Zoom to Fit to use TArrayView Change 3941498 by Max.Preussner Core: Added FMath::DivideAndRoundNearest function Change 3942097 by Matt.Hoffman Drop Frame Timecode Support for NTSC rates. Change 3942104 by Matt.Hoffman Sequence Recorder Group is no longer visible inside the World Outliner after using one. #jira 55266 Change 3942107 by Max.Chen Sequencer: Resurrect logic to find or extend an existing section when adding keys. Change 3942330 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942339 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942507 by Andrew.Rodham Sequencer: We no longer pad the time overlap threshold with a small number that is not scaled by the current zoom level - The presence of this pad was causing keys that were far apart to be grouped when zoomed in a long way Change 3942509 by Andrew.Rodham Sequencer: Only pad total view range, rather than section range as well when retrieving keys to render - This stops us from rendering keys that are within the view range, but outside the section range Change 3942512 by Andrew.Rodham Added transactions to some sequencer details customizations Change 3942513 by Andrew.Rodham Sequencer: Reinstated validation checks to UMovieSceneSection::SetStartFrame and SetEndFrame, changed erroneous uses to use SetRange Change 3942560 by Andrew.Rodham Pass by rvalue reference to appease error C2719 on Win32 ('InChannels': formal parameter with requested alignment of 8 won't be aligned) Change 3942697 by Andrew.Rodham Newly Created Level Sequences and Actor Sequences now default to 24000 fps frame resolution (+/- ~24hrs range, supporting all integer rates + 23.976) Change 3942700 by Andrew.Rodham Sequencer: Added legacy out-of-bounds errors for times that are not supported by the current legacy upgrade frame resolution Change 3942989 by Max.Preussner Core: Fixed circular queue count calculation Change 3943538 by Max.Preussner MediaAssets: Reverted workaround for procedural audio log spam in HTML5 (Actor component initialization cannot be skipped if the component is used in a level) Change 3944071 by Max.Preussner QAGame: Fixed Media Texture keeps last frame of Media when PIE ends #jira UE-53360 Change 3944292 by Max.Chen Sequencer: Added extra flags to ensure that asset initialization does not occur on template actor sequences #jira UE-56113 Change 3944364 by Max.Chen Sequencer: Prevent circular shot/master tracks. Tested adding master -> child -> master as drag and drop cinematic shot tracks and sub tracks as well as through the + button. #jira UE-56091 Change 3944422 by Max.Chen Sequence Recorder: Disable transform recording if off. #jira UE-56061 Change 3944745 by Andrew.Rodham Sequencer: Key rendering fixes - Fixed assert that occured when keys happened to reside on some times due to KeyTime + TimeOverlapThreshold - KeyTime being slightly larger TimeOverlapThreshold - Fixed keys sometimes being clipped when zoomed right in due to lack of half-frame offset - Added missing documentation to MovieSceneTimeHelpers.h #jira UE-56107 Change 3945231 by Andrew.Rodham Sequencer: Reconstruct channel proxy on Serialize to catch all cases of undo/redo, PostLoad and duplication #jira UE-56089 Change 3945301 by Andrew.Rodham Sequencer: Added safety checks during initial sequence recording to guard against applying negative or 0-sized sequence ranges #jira UE-56125 Change 3946627 by Max.Preussner Fortnite: Fixed game crashes closing editor while in PIE - Pure virtual function being called #jira UE-56144 [CL 3946896 by Max Chen in Main branch]
2018-03-14 22:09:33 -04:00
void FSequencerTimeSliderController::SetClampRange( double NewRangeMin, double NewRangeMax )
{
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3946692) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3801826 by Max.Chen PR #4304: Level Sequence crash fix - Guarded against dereferencing null componen. (Contributed by DSDambuster) Change 3801828 by Max.Chen PR #4302: Movie Scene Visibility Template unitialised variable, causing random . (Contributed by DSDambuster) Change 3801837 by Max.Chen Sequencer: Delay spawning/construction for convert to possessable. This fixes a bug where property values would be lost when converting back and forth from possessable to spawnable. #jira UE-52400 Change 3801841 by Max.Chen Sequencer: Make spacer nodes not selectable. PR #4194: Improvements to Sequencer (Contributed by projectgheist) #jira UE-53117 #jira UE-52139 Change 3804183 by Max.Preussner MediaAssets: Added missing lock in media sound component Change 3805414 by Max.Preussner MediaAssets: Setting valid GUID when initializing media texture resource Change 3819578 by Max.Chen PR #4370: When enabling the "MovieCapture", do not turn off the Stereo-3D display. (Contributed by yehaike) #jira UE-53647 Change 3823414 by Max.Chen Curve Editor: Lock down the first and last keys in the redundant keys removal range so that they're unaffected. #jira UE-53591 Change 3826406 by Max.Chen Sequencer: Move OnStartedPlaying() to within first update in UpdateTimeCursorPosition(). This fixes an issue where setting the hud/player visibility was getting stomped on later. #jira UE-52772 Change 3827044 by Max.Preussner MediaAssets: Added sprite visualization to media sound component #jira UE-53594 Change 3827988 by Max.Preussner MediaPlayerAssets: Fixed Media Texture is not linked to Media Player when created together #jira UE-53532 Change 3828506 by Max.Preussner MediaPlayerEditor: Added attenuation visualizer for media sound components #jira UE-53594 Change 3832590 by andrew.porter EngineTest: Added a keep state check in Property Animation sequencer test Change 3833053 by andrew.porter EngineTest: Adding Hierarchical Bias test Change 3835683 by andrew.porter EngineTest: Adding UMG Animation screenshot test Change 3836076 by Max.Chen Sequencer: Fix audio volume and pitch multiplier deprecation. Change 3836230 by andrew.porter EngineTest: Adding Sequence Bone Position automation test Change 3836347 by Max.Chen Sequencer: Fixes to shot name parsing. When a shot doesn't contain a shot number, assume, [ShotName]_[TakeNumber]. When duplicating a shot, put the new shot in the same path of the original shot, so that the take numbers will increment properly. #jira UE-51868 Change 3836552 by Max.Chen Sequencer: Sub section now has a takes menu Change 3838094 by Max.Chen UMG: Fix template finish not getting called on stop. This fixes a bug where sections aren't restored when finished. #jira UE-52285 Change 3838708 by Max.Chen Sequencer: Add notification when the blend type is changed. #jira UE-54046 Change 3840295 by Max.Chen Sequencer: Fix copy/paste crash for lights #jira UE-54084 Change 3840957 by Mike.Zyracki Added Show Only Keyable and Show Only Animated to the filter list in the property editor. Added IsPropertyAnimated to IDetailKeyframe Interface which already had support for showing properties which are keyable (which is used for the key icon next to the properties.). Could have created another interface but then would have had to mimic the sequencer binding, releasing also, so this seemed best way. One issue still left is that custom built detail items currently don't store associated properties(usually) and so certain properties, in particulalry transforms, won't show up as keyable or animated. Note this also shows up with the keyable icon not showing up next to transform tracks, and other filters like Show Only Modified not working with transforms/customs. Not sure best way to tackle this. #jira UESEQ-328 Change 3841756 by Max.Chen Sequencer: Fix unbound possessable components when pasting spawnables. #jira UE-54104 Change 3843950 by andrew.porter EngineTest: Renaming LevelStreaming tests/content to LevelVisibility Change 3844082 by Mike.Zyracki Missing file for animated filter in property editor. When finding if a track is animated we need to find it but we can't easily induce the MovieTrack class for any particular property. So we don't set a class for it and just search by it's ID and name. #jira UESEQ-328 Change 3846902 by Max.Preussner ImgMedia: Fixed image media player never finished initialization if loading failed #jira UE-54247 Change 3849820 by Mike.Zyracki Reassigning deleted widgets didn't work since the menu extender mechanism needs a valid UObject in order to perform an operation on it. So to fix we replaced GetObjectBindingContextMenuExtender in WidgetBlueprint with new delegate mechanism (OnBuildCustomContextMenuForGuid) that supports FGuid in addition to UObjects which is needed to handle re-binding deleted widgets. Note that the default sequencer hacks this for replacing deleted actors in SequencerObjectBindingNode to check to see if a LevelSequence is active. We could move to this mechanism there also. #jira UE-53163 Change 3852211 by Max.Chen UMG: Indicate name of the property that is not bound. #jira UE-54350 Change 3854120 by Max.Chen Sequencer: Fix sibling folders being allowed to have the same folder name. #jira UE-54363 Change 3854627 by Max.Chen Sequencer: Step to next/previous key should work for all tracks if there aren't any selected. #jira UESEQ-391 Change 3855825 by andrew.porter EngineTest: Adding animation blending automation test Change 3855950 by andrew.porter EngineTest: Adding correct expected valuues to animation blending test Change 3856237 by Matt.Hoffman UESEQ-336 - Sequencer Track Reordering Adds the ability to re-order Master Tracks, Folders and Object Bindings within sequencer hierarchies (including UMG). Adds the ability to do a one-off sorting of the content under the old sorting behavior if the user wants to reset their layout to how it was under legacy behavior. Modifies SequencerTrackNodes, SequencerFolderNodes and SequencerObjectBindingNodes to handle CanDrop/OnDrop for above, below and ontop of. Fixes a Slate Issue that forcibly expanded a TreeviewRow if an item handled OnDrop. Slate will now only forcibly expand the row if the item says the drop happened ontop of the item, and not above or below it like it previously did. Change 3856503 by andrew.porter EngineTest: Adding automation test for using animation blueprint with blend multi node in sequencer Change 3857875 by Max.Chen Sequencer: Assign the sequence id after the template is compiled. #jira UE-54462 Change 3858344 by Max.Chen Sequencer: Prevent Goto and Transform boxes from overlapping by allowing them to be visible at the same time in an autosized horizontal box. Also, added close button to the goto box. PR #4425: Prevent Goto and Transform boxes from overlapping in Sequencer ... (Contributed by projectgheist) #jira UE-54210 Change 3860566 by andrew.porter MediaFrameworkTest: Set the option to index 0 for the audio and video track list by default Change 3860654 by andrew.porter EngineTest: Enabling Camera Cut + FOV test Change 3860981 by andrew.porter EngineTest: Updating skeletal mesh tests with a delay after set playback position Change 3861256 by Max.Chen Sequencer: Add all bindings if none selected. #jira-54440 Change 3862154 by Andrew.Rodham Added TimeManagement module Change 3862424 by andrew.porter EngineTest: Turned on the test Bone Positions with Blend Multi Node Change 3862573 by andrew.porter EngineTest: Adding test to compare bone positions in a sequence that is blending an animation that is using an AnimBP Change 3865117 by Max.Chen Sequencer: Stop auto scroll on mouse release of movement. #jira UE-31212 Change 3865303 by Max.Chen Sequencer: Add drag and drop transactions #jira UE-54662 Change 3865304 by Max.Chen Sequencer: Fix crash when an actor factory is not found. Change 3865361 by Max.Chen Sequencer: Don't change the camera/shot lock button when popping out of a sequence. #jira UE-54665 Change 3865412 by Max.Chen Sequencer: Determine whether a transform track is for a camera by using the spawned object or template #jira UE-54666 Change 3865685 by Max.Chen Sequencer: Clear autoscrub offset when stopping autoscroll #jira UE-31212 Change 3865886 by Max.Chen Sequence Recorder: Log an error if the number of frames changes while recording. This can happen if the skeleton changes while recording. #jira UE-48715 Change 3866925 by Andrew.Porter MediaFrameworkTest: Changing the current PNG test video image sequence to 1024 x 576 Change 3867705 by andrew.porter QAGame: Adding Audio Sort Sequence to dev folder Change 3867890 by andrew.porter QAGame: Adding a sequence for testing a sorting crash to my dev folder Change 3872628 by Max.Chen Movie Scene Capture: Split delay before warmup into split delay before shot warmup so that there's separate controls for when the movie scene capture warmups up vs. shot boundaries. Change 3873131 by Matt.Hoffman UE-54732 - Crash reordering a folder with a track. This was caused by folders being the only type of track to check if someone was putting a parent track into a child track. Object Binding tracks and Tracks now check as well so that you can't use the above/below drop targets to add parents as children. This also fixed a typo in the localization keys. #jira UE-54732 Change 3873301 by Mike.Zyracki Added ability to support continous euler angle changes when changing rotations, in particularly with the rotation gizmo's. To do this we effectively added a form an of 'euler filter'(https://en.wikipedia.org/wiki/Euler_filter) to find the closest euler angle to the current euler angle. Three functions were added to FRotator to make this possible, one to get the euler angle that's has the same rotation as it, one to get the difference between two euler angles via Manhattan distance and a third using the previous two to choose a Rotator value that's closest to it. We then use these functions before calling UComponent::SetRelativeRotation to make sure we use the correct Euler after the Quat conversion. We also no longer limit(bound) the euler angles to -180,180, which is obviously necessary to avoid flips. I also changed how we caluclate yaw and roll when pitch is -90 or 90 to make it the standard approach of zeroing out roll and just setting yaw. Main reasons are the previous implementation had precision issues so things like 180, 90, -180 would show up due to numbers being nearly zero but negative,(this would break any smooth interpolations), and this facilitates having a 'gimbal' rotation mode (like Maya, Blender etc..) if we ever want that also. If needed we could keep the previous implementation but would need to add some FMath::IsNearlyZero checks, with less performance. Note we only do this special filtering when applying delta's to actors or components in the editors, which then call UComponent::SetRelativeRotationExact, which is a new function to foces the RelativeRotation to be equal to the new rotation. This allows us to store un-nomalized Rotators at the cost that the RotationCache may be broken. We didn't change any of the other UComponent functions that set rotations (via Quats or Transforms) so they will still be bounded and unwound. In SetInternalWorldLocationAndRotation we only set the rotation if the rotation has changed, which fixes the rotation getting changed and re-normalized if just translate happens. In TransformTrackEditor, we correclty use the bUndwing flag and in MovieScene3DTransformSection there was an un-needed winding check there, it will be unwound earlier if needed, which happens if Sequence Recording is happening. Max we should talk about what to do about this . Note the euler angle drag via the widget is still bound to 0-360. I think we should just unbound that now since the rotations value are now unbound. This review now includes fixes suggested by Zak. #jira UE-UE-22228 Change 3873483 by Matt.Hoffman Sequencer Tracks can now be inserted above the spacer at the bottom of the tree. #jira UE-54706 Change 3873899 by Max.Chen Sequencer: Add section selection throbbing Change 3873908 by Max.Chen Movie Scene Capture: Added logging per frame Change 3873924 by Matt.Hoffman Adds the ability to store Sequence Recorder setups into profiles that stay with the map and can be re-loaded later. Profiles store the Actor Recordings so the settings for each actor should carry with them. #jira UESEQ-339 Change 3874726 by Matt.Hoffman Disable drag-and-drop targets on spacers that come between rows in Sequencer. This prevents extra drag/drop targets showing up between each row. #jira UE-54706 Change 3874862 by Matt.Hoffman Audio Track no longer gets reordered when adding sub-audio tracks, as sub-tracks are no longer counted towards the sorting order index when normalizing indexes. #jira UE-54727 Change 3875905 by Matt.Hoffman Disable Fade Track UI if a fade track already exists in the sequence. #jira UESEQ-393 Change 3876163 by Max.Chen Sequencer: Swap the camera object to the camera component's owner if it's not the same. #jira UE-54874 Change 3876971 by Andrew.Porter EngineTest: Moved Media Player Seek test to new folder. Also enabled the test with new ground truth image. Change 3877040 by Max.Chen Cine Camera: Split camera properties to two groups, "Camera Options" and "Camera Settings". The cine camera now hides properties in the "Camera Settings" group so that properties like bConstrainAspectRatio (in the "Camera Options" group) can be visible. #jira UE-54192 Change 3877763 by Max.Chen Curve Editor: Fix curve changed on end drag so that only curves that had keys/tangents that were changed receive notification, otherwise all loaded curves were getting notified that they were changed. #jira UE-54951 Change 3878234 by Matt.Hoffman Disable "Drop Below" targets for Sequencer Tree nodes to prevent a confusing UX issue where dropping underneath a Object Binding Node puts it after the object binding node but the UI looks like it's inserting it inside the Object Binding node. #jira UE-54743 Change 3879359 by Mike.Zyracki If a track is inactive we dim it a bit which seems to be the UE4 way to show inactive or disabled state. We changed the active logic so that all subtracks need to be inactive for the track to also be inactive(instead of all active for active). This conforms to how the active state actually works, e.g if you have two sections and only one is active the track is still active above it. #jira UESEQ-388 Change 3879462 by Max.Chen Sequencer: Allow dragging onto a particular row which would move out any overlapping sections to make space for the newly created section. Newly created sections are now selected and throbbed to draw attention to themselves. #jira UE-54664 Change 3879464 by Max.Chen Sequencer: Fixed overlapping ranges being inserted into the evaluation field during compilation - The issue was that track segments that had been combined with adjacent segments (due to them being identical) would potentially cause a subsequently compiled frame to overlap with a range that had already been inserted into the evaluation field. - The insertion code previously asserted that only minor overlaps were catered for (due to fp rounding errors) and assumed that a supplied range could not entirely contain any other range in the field. - The solution is to supply the insertion time along with the range to know exactly where the data should live in the field, and crop the range to the maximum allowable space between adjacent ranges. #jira UE-54922 Change 3879590 by Matt.Hoffman Items that are now added to the Sequencer via the "+Track" menu will be selected after being added. Items can now be added inside of folders instead of just to the root level. #jira UE-27397 Change 3879612 by Mike.Zyracki Display Nodes with no children are always active. #jira UESEQ-388 Change 3879730 by Matt.Hoffman Sequence Recorder's actor recording groups now remove items from the group when removed via the UI. #jira UESEQ-339 Change 3880256 by Mike.Zyracki Fix issue with inactive display with folders and other track nodes. #jira UESEQ-388 Change 3883491 by Max.Chen Fix issue where tick is skipped due to last ticked pose isn't cleared after AnimInstance changes. Copy from Release-4.19 #jira UE-51323 Change 3883603 by Max.Chen Movie Scene Capture: Add option toggle disable screen percentage. By default this is on (no change in current behavior). #jira UE-51898 Change 3885074 by Max.Preussner MediaCompositing: Resetting media texture & freeing resource on section end; removed dead code Change 3887220 by Max.Preussner MediaCompositing: Defaulted media section duration to 1 sec (since we do not know the actual duration in most cases) Change 3887478 by Matt.Hoffman Sequences now show [Inactive] in their title bars when they're disabled. This helps communicate why a sequence isn't being evaluated. #jira UE-51469 Change 3888985 by Max.Chen Movie Scene Capture: Clamp HDR Compression Quality between 0 and 1. #jira UE-55136 Change 3893519 by Max.Chen Sequence Recorder: Clarified tooltip for bRecordNearbySpawnedActors - spawned actors will still be recorded if they match the ActorFilter. #jira UE-55238 Change 3893546 by Max.Chen Sequence Recorder: If a selected actor already has a recording, add a blank recording. #jira UE-55239 Change 3894044 by Max.Preussner MediaCompositing: Added support for seeking into a media section Change 3894310 by andrew.porter MediaFrameworkTest: Adding Img media sources for 1080 and 2160 ravent test content Change 3894426 by Max.Preussner MediaAssets: Letting media textures with AutoClear retain their clear color when player is reset Change 3895717 by Max.Chen Sequencer: Null checks to prevent crash when saving the default state of a spawnable #jira UE-55304 Change 3897388 by Max.Chen Sequencer: Don't update current time to be within the view range when stepping into a sequence. #jira UE-55322 Change 3897452 by Max.Chen Audio: Fix crash when trying to record audio without any active capture devices. Log warning if the number of input channels is not 1 or 2. #jira UE-55223 Change 3897619 by Max.Preussner MediaCompositing: Removed commented out code Change 3898072 by Max.Chen Sequencer: Override the animation asset in the player state if it doesn't match the animation asset that's being evaluated. #jira UE-55328 Change 3898272 by Max.Preussner MediaPlayerEditor: Made slate brush constants static Change 3898704 by Max.Chen Sequencer: Skip if the binding id's sequence can't be found. #jira UE-55337 Change 3899855 by Max.Preussner MediaCompositingEditor: Added cache state visualization to media track Change 3900300 by Max.Preussner MediaCompositingEditor: Added loop indicators to media sections Change 3900694 by Max.Preussner ImfMedia: Looping cache only when player is looping Change 3900892 by Max.Preussner Stats: Added stats category for media framework Change 3900954 by Max.Preussner MediaCompositing: Don't evaluate at the end of media section Change 3901348 by Max.Preussner Core: Replaced TLruCache autos for better readability Change 3901655 by Max.Preussner ImgMedia: Added more perf stats to EXR reader Change 3901972 by Max.Preussner MediaAssets: Added getter for media player in media sound components Change 3902233 by Max.Preussner MediaAssets: Enabling media textures to receive samples right after player is assigned Change 3902238 by Max.Preussner MediaCompositing: Working around init/shutdown idiosyncracies in sequencer Change 3904045 by Max.Chen Sequencer: Fix copy/paste crash. Only process UMovieSceneCopyableBinding and objects that can be spawned by the movie scene spawn register. #jira UE-55314 Change 3905605 by Max.Chen Sequencer: Restrict spawnables from being created if they have a ClassWithin that UMovieScene is not a child of. #jira UE-55429 Change 3906550 by Max.Chen Sequencer: Add media track icon #jira UE-55480 Change 3907101 by Max.Chen Sequence Recorder: Fix bugs related to not recording a level sequence. There were certain assumptions that creating a level sequence meant that sequence recording was in progress. This is not always the case - the recorders can record animation assets and not create a level sequence. Changed the notion of IsRecording() to having at least one actor recording that is recording. Countdown timer, recording displays, etc should function if IsRecording() and not based on whether a level sequence is created. #jira UE-55485 Change 3907247 by Max.Chen Sequence Recorder: Fix crash not removing PrepareToCleanseEditorObject delegate. Repros when opening sequence recorder, closing it, and then opening or creating a level. Change 3910343 by Max.Preussner Core: Added async helper for executing functions on a given thread pool Change 3910346 by Max.Preussner ImgMedia: Added separate thread pools for loading/decoding and deleting image frames Change 3910829 by Max.Preussner Profiler: Increased visible range of profiler graph Change 3910841 by Max.Preussner MediaCompositing: Displaying asset name instead of full media source path in media section Change 3910870 by Max.Preussner ImgMedia: Using deallocation thread pool only in debug builds Change 3919642 by Max.Chen Sequence Recorder: Clarify active tooltip #jira UE-55661 Change 3919660 by Max.Chen Sequencer: Sequence template source signatures are now also compared to catch the case where a sub-sequence asset has been saved but not modified - The following sequence of events exposes this issue: - Create a master sequence with a single shot that spawns a cube - Add this sequence to a level and set it to auto-play - Save everything and restart - Resave just the inner shot asset without opening it - PIE - The inner shot never spawns its cube because its template was wiped on save, but its signature never changed. Since the master sequence previously didn't check the template source signature, it ends up trying to evaluate an empty template. #jira UE-55626 #jira UE-55490 Change 3921825 by Max.Chen Sequencer: "Run Construction Script in Sequencer" is off by default for blueprints but on for Sequencer. This allows the content author to switch it on for specific blueprints and sequencer will be default, run those with construction scripts enabled. Change 3922232 by Max.Chen Sequence Recorder: Reset countdelay on stop. #jira UE-55755 Change 3922306 by Max.Chen Sequence Recorder: Don't automatically mark transforms to be recorded by sequence recorder. Instead, log a warning if the user toggled it off to warn that the resulting animation might not match gameplay. #jira UE-55758 Change 3922912 by Max.Chen Sequence Recorder: Fix refresh next sequence name #jira UE-55757 Change 3927654 by Max.Chen Movie Scene Capture: Added format mapping for the name of the current camera #jira UE-55769 PR #4537 Change 3927658 by Max.Chen Sequencer: Added fbx property mapping for "FocusDistance" to "FocusSettings.ManualFocusDistance" #jira UE-55782 Change 3932022 by Max.Chen Sequencer: Add import animation track section to next available row index. #jira UE-55892 Change 3933919 by Max.Chen Sequencer: Jump to playback start frame and not 0 to start playback for recording. #jira UE-55933 Change 3934307 by Andrew.Rodham Sequencer: Add template signature that is re-generated every time the base template is regenerated, which invalidates evaluation fields This fixes an issue where the same sequence is instantiated multiple times in a sequence. If the source sequence was saved, its template would be wiped, which would invalidate the template ID When an instance tries to evaluate the master template, it would only invalidate a range in the evaluation field that was the hull of any invalid sub sequences overlapping the current time, potentially leaving invalid data in the evaluation field at positions later (or earlier) on in the sequence When the sub template was re-generated, it receives the same SequenceSignature as it had before (because the sequence hasn't actually changed), which causes the stale evaluation field data to fail the IsDirty check (because the sequence is the same as it thought, but the *template* has changed) This has been addressed be adding a signature to templates themselves, and checking both the template signature and sequence signature as a part of the IsDirty check. This ensures that we regenerate if either the template, or the sequence have changed. #jira UE-55934 Change 3936327 by Andrew.Rodham Sequencer: Removed increment when trimming right UMovieSceneSection::TrimSection already explicity assigns an exclusive bound to the time passed in. The new behavior means we can trim a section to the right, and insert another section without changing the time to create adjacent sections. #jira UE-42652 Change 3936328 by Andrew.Rodham Fixed KeyFrameManipulator assignment operators and copy/move constructors - These types are potentially self-referential so cannot use default constructors/assignment Change 3936330 by Andrew.Rodham Converted UMGSequencePlayer to use frames internally #jira UE-54878 Change 3936726 by Max.Chen Sequencer: Set track node as the parent of the key area node. The key area switcher needs the object binding id from the parent object binding node. Without this, the binding to the external value fails. #jira UE-55931 Change 3936775 by Max.Chen Sequencer: Should stop or loop should compare DurationFrames with Current Time from StartTime. The bug is that if you set 30 warmup frames in movie rendering for a range of 0-100, the FrameRange will be starting at -30 and have a duration of 130. Without this fix, the playback will continue until frame 130, rather than 100. #jira UE-55933 Change 3936935 by Matt.Hoffman Easing Curves are now represented in Play Rate resolution instead of internal resolution. #jira UE-55937 Change 3937069 by Matt.Hoffman Users can toggle if the is infinite on each side, limited by which tracks support infinite ranges. #jira UE-55891 Change 3937516 by Max.Preussner ImgMedia: Added support for single-threaded platforms #jira UE-55986 Change 3937826 by Max.Preussner MediaAssets: Disabling media sound components on HTML5 if AudioMixer is not enabled Change 3937997 by Max.Chen Curve Editor: Add Zoom to Fit Curves so that selected curves from Sequencer can be focused on. Tested that undo doesn't re-zoom. #jira UE-55935 Change 3938000 by Max.Chen Sequencer: Stop all sounds before generating audio waveforms. #jira UE-55951 Change 3938376 by Max.Preussner XGEController: Disabled XGE Controller in single-threaded apps to prevent crash Change 3938444 by Max.Preussner Core: Added async support for single-threaded applications Change 3938445 by Max.Preussner Networking: Added support for single-threaded applications in UDP socket sender/receiver Change 3938447 by Max.Preussner Messaging: Added support for single-threaded applications Change 3939432 by Max.Chen Sequence Recorder: Append command list to global level editor actions so that shortcuts are accessible in level editor. #jira UE-55798 Change 3940229 by Andrew.Rodham Added prospective display rate upgrade to UMovieScene::PostLoad - There was previously some very odd behaviour that would assign the fixed frame interval only when a sub sequence was focused in SSequencer. This meant that many sequences could have a frame interval of 0 set in the data. - Under the old method of snap interval display this would have fallen back to getting the display interval from the sequencer settings, but we no longer look at these. - The USequencerSettings properties have been removed and in their place, a prospective data upgrade for sequences that have a fixed frame interval old 0fps that sets the play rate to the previous defaults based off the old USequencerSettings defaults. - This could end up 'changing' the display rate for sequences where the user has changed the snap interval in the settings for a particular sequence editor, but there's not much we can do about that given we don't have access to the USequencerSettings classes in UMovieScene #jira UE-55919 Change 3940277 by Andrew.Rodham Sequencer: Added ability to default frame resolutions and play rates for newly created actor sequences Change 3940378 by Andrew.Rodham Sequencer: Post move import dialog now defaults to the playback framerate of the sequence, and floors to frame numbers Change 3940559 by Andrew.Rodham Reinstated primed or recording sequence color Change 3940642 by Max.Preussner ImagePlate: Removed image plate media playback functionality Change 3940843 by Max.Preussner Core: Made TCircularQueue actually thread-safe; improved code comments Change 3940860 by Max.Chen Sequencer: Changed StructNameToKey to StructPathToKey Previously, keying a PropertyPath of [RenderTransform][Shear][X] would get trimmed to X, which doesn't map to a channel name as considered by Sequencer2dTransformTrackEditor. Instead, trim the resulting property path to [Shear][X] so that track editors can determine the desired struct path and channels to key. #jira UE-52966 Change 3941292 by Mike.Zyracki Fix for trajectories out of range not showing up. 1) If we had no key data we would pop the time, so wouldn't get the section ranges. 2) Calculating of upper bound was wrong, checking against -1 and not key == num of keys when doing algo::lower_bound. 3) No need to do the Bck-- for the bakward iterators since we fixed #2. We start now from the upper bound correctly. 4) If we had no keys (at section start,end) we would incorrectly say we were any key type, so since we draw constant keys as dashed we would do so incorrectly around section end points. #jira UE-55929 Change 3941424 by Max.Chen Curve Editor: Change Zoom to Fit to use TArrayView Change 3941498 by Max.Preussner Core: Added FMath::DivideAndRoundNearest function Change 3942097 by Matt.Hoffman Drop Frame Timecode Support for NTSC rates. Change 3942104 by Matt.Hoffman Sequence Recorder Group is no longer visible inside the World Outliner after using one. #jira 55266 Change 3942107 by Max.Chen Sequencer: Resurrect logic to find or extend an existing section when adding keys. Change 3942330 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942339 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942507 by Andrew.Rodham Sequencer: We no longer pad the time overlap threshold with a small number that is not scaled by the current zoom level - The presence of this pad was causing keys that were far apart to be grouped when zoomed in a long way Change 3942509 by Andrew.Rodham Sequencer: Only pad total view range, rather than section range as well when retrieving keys to render - This stops us from rendering keys that are within the view range, but outside the section range Change 3942512 by Andrew.Rodham Added transactions to some sequencer details customizations Change 3942513 by Andrew.Rodham Sequencer: Reinstated validation checks to UMovieSceneSection::SetStartFrame and SetEndFrame, changed erroneous uses to use SetRange Change 3942560 by Andrew.Rodham Pass by rvalue reference to appease error C2719 on Win32 ('InChannels': formal parameter with requested alignment of 8 won't be aligned) Change 3942697 by Andrew.Rodham Newly Created Level Sequences and Actor Sequences now default to 24000 fps frame resolution (+/- ~24hrs range, supporting all integer rates + 23.976) Change 3942700 by Andrew.Rodham Sequencer: Added legacy out-of-bounds errors for times that are not supported by the current legacy upgrade frame resolution Change 3942989 by Max.Preussner Core: Fixed circular queue count calculation Change 3943538 by Max.Preussner MediaAssets: Reverted workaround for procedural audio log spam in HTML5 (Actor component initialization cannot be skipped if the component is used in a level) Change 3944071 by Max.Preussner QAGame: Fixed Media Texture keeps last frame of Media when PIE ends #jira UE-53360 Change 3944292 by Max.Chen Sequencer: Added extra flags to ensure that asset initialization does not occur on template actor sequences #jira UE-56113 Change 3944364 by Max.Chen Sequencer: Prevent circular shot/master tracks. Tested adding master -> child -> master as drag and drop cinematic shot tracks and sub tracks as well as through the + button. #jira UE-56091 Change 3944422 by Max.Chen Sequence Recorder: Disable transform recording if off. #jira UE-56061 Change 3944745 by Andrew.Rodham Sequencer: Key rendering fixes - Fixed assert that occured when keys happened to reside on some times due to KeyTime + TimeOverlapThreshold - KeyTime being slightly larger TimeOverlapThreshold - Fixed keys sometimes being clipped when zoomed right in due to lack of half-frame offset - Added missing documentation to MovieSceneTimeHelpers.h #jira UE-56107 Change 3945231 by Andrew.Rodham Sequencer: Reconstruct channel proxy on Serialize to catch all cases of undo/redo, PostLoad and duplication #jira UE-56089 Change 3945301 by Andrew.Rodham Sequencer: Added safety checks during initial sequence recording to guard against applying negative or 0-sized sequence ranges #jira UE-56125 Change 3946627 by Max.Preussner Fortnite: Fixed game crashes closing editor while in PIE - Pure virtual function being called #jira UE-56144 [CL 3946896 by Max Chen in Main branch]
2018-03-14 22:09:33 -04:00
const TRange<double> NewRange(NewRangeMin, NewRangeMax);
TimeSliderArgs.OnClampRangeChanged.ExecuteIfBound(NewRange);
if( !TimeSliderArgs.ClampRange.IsBound() )
{
// The output is not bound to a delegate so we'll manage the value ourselves (no animation)
TimeSliderArgs.ClampRange.Set(NewRange);
}
}
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3946692) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3801826 by Max.Chen PR #4304: Level Sequence crash fix - Guarded against dereferencing null componen. (Contributed by DSDambuster) Change 3801828 by Max.Chen PR #4302: Movie Scene Visibility Template unitialised variable, causing random . (Contributed by DSDambuster) Change 3801837 by Max.Chen Sequencer: Delay spawning/construction for convert to possessable. This fixes a bug where property values would be lost when converting back and forth from possessable to spawnable. #jira UE-52400 Change 3801841 by Max.Chen Sequencer: Make spacer nodes not selectable. PR #4194: Improvements to Sequencer (Contributed by projectgheist) #jira UE-53117 #jira UE-52139 Change 3804183 by Max.Preussner MediaAssets: Added missing lock in media sound component Change 3805414 by Max.Preussner MediaAssets: Setting valid GUID when initializing media texture resource Change 3819578 by Max.Chen PR #4370: When enabling the "MovieCapture", do not turn off the Stereo-3D display. (Contributed by yehaike) #jira UE-53647 Change 3823414 by Max.Chen Curve Editor: Lock down the first and last keys in the redundant keys removal range so that they're unaffected. #jira UE-53591 Change 3826406 by Max.Chen Sequencer: Move OnStartedPlaying() to within first update in UpdateTimeCursorPosition(). This fixes an issue where setting the hud/player visibility was getting stomped on later. #jira UE-52772 Change 3827044 by Max.Preussner MediaAssets: Added sprite visualization to media sound component #jira UE-53594 Change 3827988 by Max.Preussner MediaPlayerAssets: Fixed Media Texture is not linked to Media Player when created together #jira UE-53532 Change 3828506 by Max.Preussner MediaPlayerEditor: Added attenuation visualizer for media sound components #jira UE-53594 Change 3832590 by andrew.porter EngineTest: Added a keep state check in Property Animation sequencer test Change 3833053 by andrew.porter EngineTest: Adding Hierarchical Bias test Change 3835683 by andrew.porter EngineTest: Adding UMG Animation screenshot test Change 3836076 by Max.Chen Sequencer: Fix audio volume and pitch multiplier deprecation. Change 3836230 by andrew.porter EngineTest: Adding Sequence Bone Position automation test Change 3836347 by Max.Chen Sequencer: Fixes to shot name parsing. When a shot doesn't contain a shot number, assume, [ShotName]_[TakeNumber]. When duplicating a shot, put the new shot in the same path of the original shot, so that the take numbers will increment properly. #jira UE-51868 Change 3836552 by Max.Chen Sequencer: Sub section now has a takes menu Change 3838094 by Max.Chen UMG: Fix template finish not getting called on stop. This fixes a bug where sections aren't restored when finished. #jira UE-52285 Change 3838708 by Max.Chen Sequencer: Add notification when the blend type is changed. #jira UE-54046 Change 3840295 by Max.Chen Sequencer: Fix copy/paste crash for lights #jira UE-54084 Change 3840957 by Mike.Zyracki Added Show Only Keyable and Show Only Animated to the filter list in the property editor. Added IsPropertyAnimated to IDetailKeyframe Interface which already had support for showing properties which are keyable (which is used for the key icon next to the properties.). Could have created another interface but then would have had to mimic the sequencer binding, releasing also, so this seemed best way. One issue still left is that custom built detail items currently don't store associated properties(usually) and so certain properties, in particulalry transforms, won't show up as keyable or animated. Note this also shows up with the keyable icon not showing up next to transform tracks, and other filters like Show Only Modified not working with transforms/customs. Not sure best way to tackle this. #jira UESEQ-328 Change 3841756 by Max.Chen Sequencer: Fix unbound possessable components when pasting spawnables. #jira UE-54104 Change 3843950 by andrew.porter EngineTest: Renaming LevelStreaming tests/content to LevelVisibility Change 3844082 by Mike.Zyracki Missing file for animated filter in property editor. When finding if a track is animated we need to find it but we can't easily induce the MovieTrack class for any particular property. So we don't set a class for it and just search by it's ID and name. #jira UESEQ-328 Change 3846902 by Max.Preussner ImgMedia: Fixed image media player never finished initialization if loading failed #jira UE-54247 Change 3849820 by Mike.Zyracki Reassigning deleted widgets didn't work since the menu extender mechanism needs a valid UObject in order to perform an operation on it. So to fix we replaced GetObjectBindingContextMenuExtender in WidgetBlueprint with new delegate mechanism (OnBuildCustomContextMenuForGuid) that supports FGuid in addition to UObjects which is needed to handle re-binding deleted widgets. Note that the default sequencer hacks this for replacing deleted actors in SequencerObjectBindingNode to check to see if a LevelSequence is active. We could move to this mechanism there also. #jira UE-53163 Change 3852211 by Max.Chen UMG: Indicate name of the property that is not bound. #jira UE-54350 Change 3854120 by Max.Chen Sequencer: Fix sibling folders being allowed to have the same folder name. #jira UE-54363 Change 3854627 by Max.Chen Sequencer: Step to next/previous key should work for all tracks if there aren't any selected. #jira UESEQ-391 Change 3855825 by andrew.porter EngineTest: Adding animation blending automation test Change 3855950 by andrew.porter EngineTest: Adding correct expected valuues to animation blending test Change 3856237 by Matt.Hoffman UESEQ-336 - Sequencer Track Reordering Adds the ability to re-order Master Tracks, Folders and Object Bindings within sequencer hierarchies (including UMG). Adds the ability to do a one-off sorting of the content under the old sorting behavior if the user wants to reset their layout to how it was under legacy behavior. Modifies SequencerTrackNodes, SequencerFolderNodes and SequencerObjectBindingNodes to handle CanDrop/OnDrop for above, below and ontop of. Fixes a Slate Issue that forcibly expanded a TreeviewRow if an item handled OnDrop. Slate will now only forcibly expand the row if the item says the drop happened ontop of the item, and not above or below it like it previously did. Change 3856503 by andrew.porter EngineTest: Adding automation test for using animation blueprint with blend multi node in sequencer Change 3857875 by Max.Chen Sequencer: Assign the sequence id after the template is compiled. #jira UE-54462 Change 3858344 by Max.Chen Sequencer: Prevent Goto and Transform boxes from overlapping by allowing them to be visible at the same time in an autosized horizontal box. Also, added close button to the goto box. PR #4425: Prevent Goto and Transform boxes from overlapping in Sequencer ... (Contributed by projectgheist) #jira UE-54210 Change 3860566 by andrew.porter MediaFrameworkTest: Set the option to index 0 for the audio and video track list by default Change 3860654 by andrew.porter EngineTest: Enabling Camera Cut + FOV test Change 3860981 by andrew.porter EngineTest: Updating skeletal mesh tests with a delay after set playback position Change 3861256 by Max.Chen Sequencer: Add all bindings if none selected. #jira-54440 Change 3862154 by Andrew.Rodham Added TimeManagement module Change 3862424 by andrew.porter EngineTest: Turned on the test Bone Positions with Blend Multi Node Change 3862573 by andrew.porter EngineTest: Adding test to compare bone positions in a sequence that is blending an animation that is using an AnimBP Change 3865117 by Max.Chen Sequencer: Stop auto scroll on mouse release of movement. #jira UE-31212 Change 3865303 by Max.Chen Sequencer: Add drag and drop transactions #jira UE-54662 Change 3865304 by Max.Chen Sequencer: Fix crash when an actor factory is not found. Change 3865361 by Max.Chen Sequencer: Don't change the camera/shot lock button when popping out of a sequence. #jira UE-54665 Change 3865412 by Max.Chen Sequencer: Determine whether a transform track is for a camera by using the spawned object or template #jira UE-54666 Change 3865685 by Max.Chen Sequencer: Clear autoscrub offset when stopping autoscroll #jira UE-31212 Change 3865886 by Max.Chen Sequence Recorder: Log an error if the number of frames changes while recording. This can happen if the skeleton changes while recording. #jira UE-48715 Change 3866925 by Andrew.Porter MediaFrameworkTest: Changing the current PNG test video image sequence to 1024 x 576 Change 3867705 by andrew.porter QAGame: Adding Audio Sort Sequence to dev folder Change 3867890 by andrew.porter QAGame: Adding a sequence for testing a sorting crash to my dev folder Change 3872628 by Max.Chen Movie Scene Capture: Split delay before warmup into split delay before shot warmup so that there's separate controls for when the movie scene capture warmups up vs. shot boundaries. Change 3873131 by Matt.Hoffman UE-54732 - Crash reordering a folder with a track. This was caused by folders being the only type of track to check if someone was putting a parent track into a child track. Object Binding tracks and Tracks now check as well so that you can't use the above/below drop targets to add parents as children. This also fixed a typo in the localization keys. #jira UE-54732 Change 3873301 by Mike.Zyracki Added ability to support continous euler angle changes when changing rotations, in particularly with the rotation gizmo's. To do this we effectively added a form an of 'euler filter'(https://en.wikipedia.org/wiki/Euler_filter) to find the closest euler angle to the current euler angle. Three functions were added to FRotator to make this possible, one to get the euler angle that's has the same rotation as it, one to get the difference between two euler angles via Manhattan distance and a third using the previous two to choose a Rotator value that's closest to it. We then use these functions before calling UComponent::SetRelativeRotation to make sure we use the correct Euler after the Quat conversion. We also no longer limit(bound) the euler angles to -180,180, which is obviously necessary to avoid flips. I also changed how we caluclate yaw and roll when pitch is -90 or 90 to make it the standard approach of zeroing out roll and just setting yaw. Main reasons are the previous implementation had precision issues so things like 180, 90, -180 would show up due to numbers being nearly zero but negative,(this would break any smooth interpolations), and this facilitates having a 'gimbal' rotation mode (like Maya, Blender etc..) if we ever want that also. If needed we could keep the previous implementation but would need to add some FMath::IsNearlyZero checks, with less performance. Note we only do this special filtering when applying delta's to actors or components in the editors, which then call UComponent::SetRelativeRotationExact, which is a new function to foces the RelativeRotation to be equal to the new rotation. This allows us to store un-nomalized Rotators at the cost that the RotationCache may be broken. We didn't change any of the other UComponent functions that set rotations (via Quats or Transforms) so they will still be bounded and unwound. In SetInternalWorldLocationAndRotation we only set the rotation if the rotation has changed, which fixes the rotation getting changed and re-normalized if just translate happens. In TransformTrackEditor, we correclty use the bUndwing flag and in MovieScene3DTransformSection there was an un-needed winding check there, it will be unwound earlier if needed, which happens if Sequence Recording is happening. Max we should talk about what to do about this . Note the euler angle drag via the widget is still bound to 0-360. I think we should just unbound that now since the rotations value are now unbound. This review now includes fixes suggested by Zak. #jira UE-UE-22228 Change 3873483 by Matt.Hoffman Sequencer Tracks can now be inserted above the spacer at the bottom of the tree. #jira UE-54706 Change 3873899 by Max.Chen Sequencer: Add section selection throbbing Change 3873908 by Max.Chen Movie Scene Capture: Added logging per frame Change 3873924 by Matt.Hoffman Adds the ability to store Sequence Recorder setups into profiles that stay with the map and can be re-loaded later. Profiles store the Actor Recordings so the settings for each actor should carry with them. #jira UESEQ-339 Change 3874726 by Matt.Hoffman Disable drag-and-drop targets on spacers that come between rows in Sequencer. This prevents extra drag/drop targets showing up between each row. #jira UE-54706 Change 3874862 by Matt.Hoffman Audio Track no longer gets reordered when adding sub-audio tracks, as sub-tracks are no longer counted towards the sorting order index when normalizing indexes. #jira UE-54727 Change 3875905 by Matt.Hoffman Disable Fade Track UI if a fade track already exists in the sequence. #jira UESEQ-393 Change 3876163 by Max.Chen Sequencer: Swap the camera object to the camera component's owner if it's not the same. #jira UE-54874 Change 3876971 by Andrew.Porter EngineTest: Moved Media Player Seek test to new folder. Also enabled the test with new ground truth image. Change 3877040 by Max.Chen Cine Camera: Split camera properties to two groups, "Camera Options" and "Camera Settings". The cine camera now hides properties in the "Camera Settings" group so that properties like bConstrainAspectRatio (in the "Camera Options" group) can be visible. #jira UE-54192 Change 3877763 by Max.Chen Curve Editor: Fix curve changed on end drag so that only curves that had keys/tangents that were changed receive notification, otherwise all loaded curves were getting notified that they were changed. #jira UE-54951 Change 3878234 by Matt.Hoffman Disable "Drop Below" targets for Sequencer Tree nodes to prevent a confusing UX issue where dropping underneath a Object Binding Node puts it after the object binding node but the UI looks like it's inserting it inside the Object Binding node. #jira UE-54743 Change 3879359 by Mike.Zyracki If a track is inactive we dim it a bit which seems to be the UE4 way to show inactive or disabled state. We changed the active logic so that all subtracks need to be inactive for the track to also be inactive(instead of all active for active). This conforms to how the active state actually works, e.g if you have two sections and only one is active the track is still active above it. #jira UESEQ-388 Change 3879462 by Max.Chen Sequencer: Allow dragging onto a particular row which would move out any overlapping sections to make space for the newly created section. Newly created sections are now selected and throbbed to draw attention to themselves. #jira UE-54664 Change 3879464 by Max.Chen Sequencer: Fixed overlapping ranges being inserted into the evaluation field during compilation - The issue was that track segments that had been combined with adjacent segments (due to them being identical) would potentially cause a subsequently compiled frame to overlap with a range that had already been inserted into the evaluation field. - The insertion code previously asserted that only minor overlaps were catered for (due to fp rounding errors) and assumed that a supplied range could not entirely contain any other range in the field. - The solution is to supply the insertion time along with the range to know exactly where the data should live in the field, and crop the range to the maximum allowable space between adjacent ranges. #jira UE-54922 Change 3879590 by Matt.Hoffman Items that are now added to the Sequencer via the "+Track" menu will be selected after being added. Items can now be added inside of folders instead of just to the root level. #jira UE-27397 Change 3879612 by Mike.Zyracki Display Nodes with no children are always active. #jira UESEQ-388 Change 3879730 by Matt.Hoffman Sequence Recorder's actor recording groups now remove items from the group when removed via the UI. #jira UESEQ-339 Change 3880256 by Mike.Zyracki Fix issue with inactive display with folders and other track nodes. #jira UESEQ-388 Change 3883491 by Max.Chen Fix issue where tick is skipped due to last ticked pose isn't cleared after AnimInstance changes. Copy from Release-4.19 #jira UE-51323 Change 3883603 by Max.Chen Movie Scene Capture: Add option toggle disable screen percentage. By default this is on (no change in current behavior). #jira UE-51898 Change 3885074 by Max.Preussner MediaCompositing: Resetting media texture & freeing resource on section end; removed dead code Change 3887220 by Max.Preussner MediaCompositing: Defaulted media section duration to 1 sec (since we do not know the actual duration in most cases) Change 3887478 by Matt.Hoffman Sequences now show [Inactive] in their title bars when they're disabled. This helps communicate why a sequence isn't being evaluated. #jira UE-51469 Change 3888985 by Max.Chen Movie Scene Capture: Clamp HDR Compression Quality between 0 and 1. #jira UE-55136 Change 3893519 by Max.Chen Sequence Recorder: Clarified tooltip for bRecordNearbySpawnedActors - spawned actors will still be recorded if they match the ActorFilter. #jira UE-55238 Change 3893546 by Max.Chen Sequence Recorder: If a selected actor already has a recording, add a blank recording. #jira UE-55239 Change 3894044 by Max.Preussner MediaCompositing: Added support for seeking into a media section Change 3894310 by andrew.porter MediaFrameworkTest: Adding Img media sources for 1080 and 2160 ravent test content Change 3894426 by Max.Preussner MediaAssets: Letting media textures with AutoClear retain their clear color when player is reset Change 3895717 by Max.Chen Sequencer: Null checks to prevent crash when saving the default state of a spawnable #jira UE-55304 Change 3897388 by Max.Chen Sequencer: Don't update current time to be within the view range when stepping into a sequence. #jira UE-55322 Change 3897452 by Max.Chen Audio: Fix crash when trying to record audio without any active capture devices. Log warning if the number of input channels is not 1 or 2. #jira UE-55223 Change 3897619 by Max.Preussner MediaCompositing: Removed commented out code Change 3898072 by Max.Chen Sequencer: Override the animation asset in the player state if it doesn't match the animation asset that's being evaluated. #jira UE-55328 Change 3898272 by Max.Preussner MediaPlayerEditor: Made slate brush constants static Change 3898704 by Max.Chen Sequencer: Skip if the binding id's sequence can't be found. #jira UE-55337 Change 3899855 by Max.Preussner MediaCompositingEditor: Added cache state visualization to media track Change 3900300 by Max.Preussner MediaCompositingEditor: Added loop indicators to media sections Change 3900694 by Max.Preussner ImfMedia: Looping cache only when player is looping Change 3900892 by Max.Preussner Stats: Added stats category for media framework Change 3900954 by Max.Preussner MediaCompositing: Don't evaluate at the end of media section Change 3901348 by Max.Preussner Core: Replaced TLruCache autos for better readability Change 3901655 by Max.Preussner ImgMedia: Added more perf stats to EXR reader Change 3901972 by Max.Preussner MediaAssets: Added getter for media player in media sound components Change 3902233 by Max.Preussner MediaAssets: Enabling media textures to receive samples right after player is assigned Change 3902238 by Max.Preussner MediaCompositing: Working around init/shutdown idiosyncracies in sequencer Change 3904045 by Max.Chen Sequencer: Fix copy/paste crash. Only process UMovieSceneCopyableBinding and objects that can be spawned by the movie scene spawn register. #jira UE-55314 Change 3905605 by Max.Chen Sequencer: Restrict spawnables from being created if they have a ClassWithin that UMovieScene is not a child of. #jira UE-55429 Change 3906550 by Max.Chen Sequencer: Add media track icon #jira UE-55480 Change 3907101 by Max.Chen Sequence Recorder: Fix bugs related to not recording a level sequence. There were certain assumptions that creating a level sequence meant that sequence recording was in progress. This is not always the case - the recorders can record animation assets and not create a level sequence. Changed the notion of IsRecording() to having at least one actor recording that is recording. Countdown timer, recording displays, etc should function if IsRecording() and not based on whether a level sequence is created. #jira UE-55485 Change 3907247 by Max.Chen Sequence Recorder: Fix crash not removing PrepareToCleanseEditorObject delegate. Repros when opening sequence recorder, closing it, and then opening or creating a level. Change 3910343 by Max.Preussner Core: Added async helper for executing functions on a given thread pool Change 3910346 by Max.Preussner ImgMedia: Added separate thread pools for loading/decoding and deleting image frames Change 3910829 by Max.Preussner Profiler: Increased visible range of profiler graph Change 3910841 by Max.Preussner MediaCompositing: Displaying asset name instead of full media source path in media section Change 3910870 by Max.Preussner ImgMedia: Using deallocation thread pool only in debug builds Change 3919642 by Max.Chen Sequence Recorder: Clarify active tooltip #jira UE-55661 Change 3919660 by Max.Chen Sequencer: Sequence template source signatures are now also compared to catch the case where a sub-sequence asset has been saved but not modified - The following sequence of events exposes this issue: - Create a master sequence with a single shot that spawns a cube - Add this sequence to a level and set it to auto-play - Save everything and restart - Resave just the inner shot asset without opening it - PIE - The inner shot never spawns its cube because its template was wiped on save, but its signature never changed. Since the master sequence previously didn't check the template source signature, it ends up trying to evaluate an empty template. #jira UE-55626 #jira UE-55490 Change 3921825 by Max.Chen Sequencer: "Run Construction Script in Sequencer" is off by default for blueprints but on for Sequencer. This allows the content author to switch it on for specific blueprints and sequencer will be default, run those with construction scripts enabled. Change 3922232 by Max.Chen Sequence Recorder: Reset countdelay on stop. #jira UE-55755 Change 3922306 by Max.Chen Sequence Recorder: Don't automatically mark transforms to be recorded by sequence recorder. Instead, log a warning if the user toggled it off to warn that the resulting animation might not match gameplay. #jira UE-55758 Change 3922912 by Max.Chen Sequence Recorder: Fix refresh next sequence name #jira UE-55757 Change 3927654 by Max.Chen Movie Scene Capture: Added format mapping for the name of the current camera #jira UE-55769 PR #4537 Change 3927658 by Max.Chen Sequencer: Added fbx property mapping for "FocusDistance" to "FocusSettings.ManualFocusDistance" #jira UE-55782 Change 3932022 by Max.Chen Sequencer: Add import animation track section to next available row index. #jira UE-55892 Change 3933919 by Max.Chen Sequencer: Jump to playback start frame and not 0 to start playback for recording. #jira UE-55933 Change 3934307 by Andrew.Rodham Sequencer: Add template signature that is re-generated every time the base template is regenerated, which invalidates evaluation fields This fixes an issue where the same sequence is instantiated multiple times in a sequence. If the source sequence was saved, its template would be wiped, which would invalidate the template ID When an instance tries to evaluate the master template, it would only invalidate a range in the evaluation field that was the hull of any invalid sub sequences overlapping the current time, potentially leaving invalid data in the evaluation field at positions later (or earlier) on in the sequence When the sub template was re-generated, it receives the same SequenceSignature as it had before (because the sequence hasn't actually changed), which causes the stale evaluation field data to fail the IsDirty check (because the sequence is the same as it thought, but the *template* has changed) This has been addressed be adding a signature to templates themselves, and checking both the template signature and sequence signature as a part of the IsDirty check. This ensures that we regenerate if either the template, or the sequence have changed. #jira UE-55934 Change 3936327 by Andrew.Rodham Sequencer: Removed increment when trimming right UMovieSceneSection::TrimSection already explicity assigns an exclusive bound to the time passed in. The new behavior means we can trim a section to the right, and insert another section without changing the time to create adjacent sections. #jira UE-42652 Change 3936328 by Andrew.Rodham Fixed KeyFrameManipulator assignment operators and copy/move constructors - These types are potentially self-referential so cannot use default constructors/assignment Change 3936330 by Andrew.Rodham Converted UMGSequencePlayer to use frames internally #jira UE-54878 Change 3936726 by Max.Chen Sequencer: Set track node as the parent of the key area node. The key area switcher needs the object binding id from the parent object binding node. Without this, the binding to the external value fails. #jira UE-55931 Change 3936775 by Max.Chen Sequencer: Should stop or loop should compare DurationFrames with Current Time from StartTime. The bug is that if you set 30 warmup frames in movie rendering for a range of 0-100, the FrameRange will be starting at -30 and have a duration of 130. Without this fix, the playback will continue until frame 130, rather than 100. #jira UE-55933 Change 3936935 by Matt.Hoffman Easing Curves are now represented in Play Rate resolution instead of internal resolution. #jira UE-55937 Change 3937069 by Matt.Hoffman Users can toggle if the is infinite on each side, limited by which tracks support infinite ranges. #jira UE-55891 Change 3937516 by Max.Preussner ImgMedia: Added support for single-threaded platforms #jira UE-55986 Change 3937826 by Max.Preussner MediaAssets: Disabling media sound components on HTML5 if AudioMixer is not enabled Change 3937997 by Max.Chen Curve Editor: Add Zoom to Fit Curves so that selected curves from Sequencer can be focused on. Tested that undo doesn't re-zoom. #jira UE-55935 Change 3938000 by Max.Chen Sequencer: Stop all sounds before generating audio waveforms. #jira UE-55951 Change 3938376 by Max.Preussner XGEController: Disabled XGE Controller in single-threaded apps to prevent crash Change 3938444 by Max.Preussner Core: Added async support for single-threaded applications Change 3938445 by Max.Preussner Networking: Added support for single-threaded applications in UDP socket sender/receiver Change 3938447 by Max.Preussner Messaging: Added support for single-threaded applications Change 3939432 by Max.Chen Sequence Recorder: Append command list to global level editor actions so that shortcuts are accessible in level editor. #jira UE-55798 Change 3940229 by Andrew.Rodham Added prospective display rate upgrade to UMovieScene::PostLoad - There was previously some very odd behaviour that would assign the fixed frame interval only when a sub sequence was focused in SSequencer. This meant that many sequences could have a frame interval of 0 set in the data. - Under the old method of snap interval display this would have fallen back to getting the display interval from the sequencer settings, but we no longer look at these. - The USequencerSettings properties have been removed and in their place, a prospective data upgrade for sequences that have a fixed frame interval old 0fps that sets the play rate to the previous defaults based off the old USequencerSettings defaults. - This could end up 'changing' the display rate for sequences where the user has changed the snap interval in the settings for a particular sequence editor, but there's not much we can do about that given we don't have access to the USequencerSettings classes in UMovieScene #jira UE-55919 Change 3940277 by Andrew.Rodham Sequencer: Added ability to default frame resolutions and play rates for newly created actor sequences Change 3940378 by Andrew.Rodham Sequencer: Post move import dialog now defaults to the playback framerate of the sequence, and floors to frame numbers Change 3940559 by Andrew.Rodham Reinstated primed or recording sequence color Change 3940642 by Max.Preussner ImagePlate: Removed image plate media playback functionality Change 3940843 by Max.Preussner Core: Made TCircularQueue actually thread-safe; improved code comments Change 3940860 by Max.Chen Sequencer: Changed StructNameToKey to StructPathToKey Previously, keying a PropertyPath of [RenderTransform][Shear][X] would get trimmed to X, which doesn't map to a channel name as considered by Sequencer2dTransformTrackEditor. Instead, trim the resulting property path to [Shear][X] so that track editors can determine the desired struct path and channels to key. #jira UE-52966 Change 3941292 by Mike.Zyracki Fix for trajectories out of range not showing up. 1) If we had no key data we would pop the time, so wouldn't get the section ranges. 2) Calculating of upper bound was wrong, checking against -1 and not key == num of keys when doing algo::lower_bound. 3) No need to do the Bck-- for the bakward iterators since we fixed #2. We start now from the upper bound correctly. 4) If we had no keys (at section start,end) we would incorrectly say we were any key type, so since we draw constant keys as dashed we would do so incorrectly around section end points. #jira UE-55929 Change 3941424 by Max.Chen Curve Editor: Change Zoom to Fit to use TArrayView Change 3941498 by Max.Preussner Core: Added FMath::DivideAndRoundNearest function Change 3942097 by Matt.Hoffman Drop Frame Timecode Support for NTSC rates. Change 3942104 by Matt.Hoffman Sequence Recorder Group is no longer visible inside the World Outliner after using one. #jira 55266 Change 3942107 by Max.Chen Sequencer: Resurrect logic to find or extend an existing section when adding keys. Change 3942330 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942339 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942507 by Andrew.Rodham Sequencer: We no longer pad the time overlap threshold with a small number that is not scaled by the current zoom level - The presence of this pad was causing keys that were far apart to be grouped when zoomed in a long way Change 3942509 by Andrew.Rodham Sequencer: Only pad total view range, rather than section range as well when retrieving keys to render - This stops us from rendering keys that are within the view range, but outside the section range Change 3942512 by Andrew.Rodham Added transactions to some sequencer details customizations Change 3942513 by Andrew.Rodham Sequencer: Reinstated validation checks to UMovieSceneSection::SetStartFrame and SetEndFrame, changed erroneous uses to use SetRange Change 3942560 by Andrew.Rodham Pass by rvalue reference to appease error C2719 on Win32 ('InChannels': formal parameter with requested alignment of 8 won't be aligned) Change 3942697 by Andrew.Rodham Newly Created Level Sequences and Actor Sequences now default to 24000 fps frame resolution (+/- ~24hrs range, supporting all integer rates + 23.976) Change 3942700 by Andrew.Rodham Sequencer: Added legacy out-of-bounds errors for times that are not supported by the current legacy upgrade frame resolution Change 3942989 by Max.Preussner Core: Fixed circular queue count calculation Change 3943538 by Max.Preussner MediaAssets: Reverted workaround for procedural audio log spam in HTML5 (Actor component initialization cannot be skipped if the component is used in a level) Change 3944071 by Max.Preussner QAGame: Fixed Media Texture keeps last frame of Media when PIE ends #jira UE-53360 Change 3944292 by Max.Chen Sequencer: Added extra flags to ensure that asset initialization does not occur on template actor sequences #jira UE-56113 Change 3944364 by Max.Chen Sequencer: Prevent circular shot/master tracks. Tested adding master -> child -> master as drag and drop cinematic shot tracks and sub tracks as well as through the + button. #jira UE-56091 Change 3944422 by Max.Chen Sequence Recorder: Disable transform recording if off. #jira UE-56061 Change 3944745 by Andrew.Rodham Sequencer: Key rendering fixes - Fixed assert that occured when keys happened to reside on some times due to KeyTime + TimeOverlapThreshold - KeyTime being slightly larger TimeOverlapThreshold - Fixed keys sometimes being clipped when zoomed right in due to lack of half-frame offset - Added missing documentation to MovieSceneTimeHelpers.h #jira UE-56107 Change 3945231 by Andrew.Rodham Sequencer: Reconstruct channel proxy on Serialize to catch all cases of undo/redo, PostLoad and duplication #jira UE-56089 Change 3945301 by Andrew.Rodham Sequencer: Added safety checks during initial sequence recording to guard against applying negative or 0-sized sequence ranges #jira UE-56125 Change 3946627 by Max.Preussner Fortnite: Fixed game crashes closing editor while in PIE - Pure virtual function being called #jira UE-56144 [CL 3946896 by Max Chen in Main branch]
2018-03-14 22:09:33 -04:00
void FSequencerTimeSliderController::SetPlayRange( FFrameNumber RangeStart, int32 RangeDuration )
Copying //UE4/Dev-Sequencer to //UE4/Main ========================== MAJOR FEATURES + CHANGES ========================== Change 2875025 on 2016/02/20 by Andrew.Rodham Sequencer: Cinematic viewport improvements - Added optional letterbox overlay (defaults to 2.35:1) - Added ability to change safe frame colors - Added selected tracks' keys to the transport range - Added buttons for jumping between selected tracks' keyframes on the transport controls - Removed black padding around the viewport where possible - Added ability to specify whether a combo button/menu anchor should close when its parent receives focus - Separated logic of FGroupedKeyArea into FSequencerKeyCollection, so it can be used independently - Added playback range to the viewport frame numbers - All frame numbers are now spin boxes #jira UE-26429 Change 2875026 on 2016/02/20 by Thomas.Sarkanen Added console commands for recording sequences Changed plugin to a developer plugin so we can load it when the editor is in -game mode. Added Exec commands. Added some more logging to help diagnose problems when using commands. Added loading/saving of config for recorder settings (stored in Editor.ini). Also disabled controls in recorder window when recording. Added auto-saving of assets when in non-editor modes. Moved animation settings from UnrealEd to Engine module. Change 2875036 on 2016/02/20 by Max.Chen Sequencer: Call RedrawAllViewports instead of RedrawLevelEditingViewports. In particular, this fixes some update issues when editing values in the key editors. #jira UE-26960 Change 2875046 on 2016/02/20 by Max.Preussner Sequencer: Fix so that clicking on UMG Animations doesn't dirty the scene. #jira UE-26249 Change 2875047 on 2016/02/20 by Max.Chen Sequencer: Add option to toggle display of channel colors/lines. View->Channel Colors Change 2877138 on 2016/02/23 by Max.Chen Sequencer: Select corresponding track node when selecting key or section. Removed active/inactive selection since it was only being used in deletion and the rules for deletion are now dependent upon what is selected - delete keys and sections before deleting outliner nodes. Change 2877143 on 2016/02/23 by Thomas.Sarkanen Added new math function: WindRelativeAnglesDegrees Given two angles in degrees, 'wind' the angle in Angle1 so that it avoids >180 degree flips. Good for winding rotations previously expressed as quaternions into a euler-angle representation. Change 2877147 on 2016/02/23 by Thomas.Sarkanen Added the ability to import sequencer transforms from the root node of an animation sequence Intended for use after re-importing animations from DCC tools. Available in the right-click menu for transform tracks. Also added FindTrackBinding to UMovieScene so track bindings can be recovered from tracks. Change 2877163 on 2016/02/23 by Max.Chen Sequencer: Add option to create keyframe sections as infinite. Sequencer defaults to true, UMG defaults to false. Change 2877165 on 2016/02/23 by Max.Preussner Sequencer: Drawing vertical position lines when dragging keys Change 2878748 on 2016/02/23 by Max.Chen Curve Editor: Switch curve type to user when flatting or straightening tangents. #jira UE-27277 Change 2878799 on 2016/02/23 by Frank.Fella Sequencer - Add folders support to the outliner. Change 2880769 on 2016/02/24 by Andrew.Rodham Sequencer: Added ability to override runtime spawnable ownership in sequencer - This is exposed as an option on spawnables "Keep Alive Outside Playback Range (In Sequencer)" - Enabling this will stop spawnables from being destroyed when scrubbing outside of the playback range #jira UE-27205 Change 2880770 on 2016/02/24 by Thomas.Sarkanen Sequencer: Added countdown and recording indicator display when recording Also fixed extra popups added post-PIE when animation recordings auto shutdown. Change 2880782 on 2016/02/24 by Max.Chen Sequencer: Snapping now also uses the current time as a possible snap time. #jira UE-26306 Change 2880793 on 2016/02/24 by Max.Chen Sequencer: Add +Animation to Animation track so that it's consistent with all other tracks that have a + button. Change 2880812 on 2016/02/24 by Max.Chen Sequencer: Fix adjusting the leading edge of a shot section so that it cuts into the shot rather than adjusts the start time. #jira UE-26306 Change 2881624 on 2016/02/25 by Andrew.Rodham Changing shader version GUID to fix corrupt shaders in ddc Change 2882408 on 2016/02/25 by Thomas.Sarkanen Asset/actors stored in TLazyObjectPtrs can now reference game content from engine This is a legitimate use case as lazy object ptrs are designed to reference assets/actors cross-domain. Change 2882409 on 2016/02/25 by Thomas.Sarkanen [CL 2899785 by Max Chen in Main branch]
2016-03-08 16:55:04 -05:00
{
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3946692) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3801826 by Max.Chen PR #4304: Level Sequence crash fix - Guarded against dereferencing null componen. (Contributed by DSDambuster) Change 3801828 by Max.Chen PR #4302: Movie Scene Visibility Template unitialised variable, causing random . (Contributed by DSDambuster) Change 3801837 by Max.Chen Sequencer: Delay spawning/construction for convert to possessable. This fixes a bug where property values would be lost when converting back and forth from possessable to spawnable. #jira UE-52400 Change 3801841 by Max.Chen Sequencer: Make spacer nodes not selectable. PR #4194: Improvements to Sequencer (Contributed by projectgheist) #jira UE-53117 #jira UE-52139 Change 3804183 by Max.Preussner MediaAssets: Added missing lock in media sound component Change 3805414 by Max.Preussner MediaAssets: Setting valid GUID when initializing media texture resource Change 3819578 by Max.Chen PR #4370: When enabling the "MovieCapture", do not turn off the Stereo-3D display. (Contributed by yehaike) #jira UE-53647 Change 3823414 by Max.Chen Curve Editor: Lock down the first and last keys in the redundant keys removal range so that they're unaffected. #jira UE-53591 Change 3826406 by Max.Chen Sequencer: Move OnStartedPlaying() to within first update in UpdateTimeCursorPosition(). This fixes an issue where setting the hud/player visibility was getting stomped on later. #jira UE-52772 Change 3827044 by Max.Preussner MediaAssets: Added sprite visualization to media sound component #jira UE-53594 Change 3827988 by Max.Preussner MediaPlayerAssets: Fixed Media Texture is not linked to Media Player when created together #jira UE-53532 Change 3828506 by Max.Preussner MediaPlayerEditor: Added attenuation visualizer for media sound components #jira UE-53594 Change 3832590 by andrew.porter EngineTest: Added a keep state check in Property Animation sequencer test Change 3833053 by andrew.porter EngineTest: Adding Hierarchical Bias test Change 3835683 by andrew.porter EngineTest: Adding UMG Animation screenshot test Change 3836076 by Max.Chen Sequencer: Fix audio volume and pitch multiplier deprecation. Change 3836230 by andrew.porter EngineTest: Adding Sequence Bone Position automation test Change 3836347 by Max.Chen Sequencer: Fixes to shot name parsing. When a shot doesn't contain a shot number, assume, [ShotName]_[TakeNumber]. When duplicating a shot, put the new shot in the same path of the original shot, so that the take numbers will increment properly. #jira UE-51868 Change 3836552 by Max.Chen Sequencer: Sub section now has a takes menu Change 3838094 by Max.Chen UMG: Fix template finish not getting called on stop. This fixes a bug where sections aren't restored when finished. #jira UE-52285 Change 3838708 by Max.Chen Sequencer: Add notification when the blend type is changed. #jira UE-54046 Change 3840295 by Max.Chen Sequencer: Fix copy/paste crash for lights #jira UE-54084 Change 3840957 by Mike.Zyracki Added Show Only Keyable and Show Only Animated to the filter list in the property editor. Added IsPropertyAnimated to IDetailKeyframe Interface which already had support for showing properties which are keyable (which is used for the key icon next to the properties.). Could have created another interface but then would have had to mimic the sequencer binding, releasing also, so this seemed best way. One issue still left is that custom built detail items currently don't store associated properties(usually) and so certain properties, in particulalry transforms, won't show up as keyable or animated. Note this also shows up with the keyable icon not showing up next to transform tracks, and other filters like Show Only Modified not working with transforms/customs. Not sure best way to tackle this. #jira UESEQ-328 Change 3841756 by Max.Chen Sequencer: Fix unbound possessable components when pasting spawnables. #jira UE-54104 Change 3843950 by andrew.porter EngineTest: Renaming LevelStreaming tests/content to LevelVisibility Change 3844082 by Mike.Zyracki Missing file for animated filter in property editor. When finding if a track is animated we need to find it but we can't easily induce the MovieTrack class for any particular property. So we don't set a class for it and just search by it's ID and name. #jira UESEQ-328 Change 3846902 by Max.Preussner ImgMedia: Fixed image media player never finished initialization if loading failed #jira UE-54247 Change 3849820 by Mike.Zyracki Reassigning deleted widgets didn't work since the menu extender mechanism needs a valid UObject in order to perform an operation on it. So to fix we replaced GetObjectBindingContextMenuExtender in WidgetBlueprint with new delegate mechanism (OnBuildCustomContextMenuForGuid) that supports FGuid in addition to UObjects which is needed to handle re-binding deleted widgets. Note that the default sequencer hacks this for replacing deleted actors in SequencerObjectBindingNode to check to see if a LevelSequence is active. We could move to this mechanism there also. #jira UE-53163 Change 3852211 by Max.Chen UMG: Indicate name of the property that is not bound. #jira UE-54350 Change 3854120 by Max.Chen Sequencer: Fix sibling folders being allowed to have the same folder name. #jira UE-54363 Change 3854627 by Max.Chen Sequencer: Step to next/previous key should work for all tracks if there aren't any selected. #jira UESEQ-391 Change 3855825 by andrew.porter EngineTest: Adding animation blending automation test Change 3855950 by andrew.porter EngineTest: Adding correct expected valuues to animation blending test Change 3856237 by Matt.Hoffman UESEQ-336 - Sequencer Track Reordering Adds the ability to re-order Master Tracks, Folders and Object Bindings within sequencer hierarchies (including UMG). Adds the ability to do a one-off sorting of the content under the old sorting behavior if the user wants to reset their layout to how it was under legacy behavior. Modifies SequencerTrackNodes, SequencerFolderNodes and SequencerObjectBindingNodes to handle CanDrop/OnDrop for above, below and ontop of. Fixes a Slate Issue that forcibly expanded a TreeviewRow if an item handled OnDrop. Slate will now only forcibly expand the row if the item says the drop happened ontop of the item, and not above or below it like it previously did. Change 3856503 by andrew.porter EngineTest: Adding automation test for using animation blueprint with blend multi node in sequencer Change 3857875 by Max.Chen Sequencer: Assign the sequence id after the template is compiled. #jira UE-54462 Change 3858344 by Max.Chen Sequencer: Prevent Goto and Transform boxes from overlapping by allowing them to be visible at the same time in an autosized horizontal box. Also, added close button to the goto box. PR #4425: Prevent Goto and Transform boxes from overlapping in Sequencer ... (Contributed by projectgheist) #jira UE-54210 Change 3860566 by andrew.porter MediaFrameworkTest: Set the option to index 0 for the audio and video track list by default Change 3860654 by andrew.porter EngineTest: Enabling Camera Cut + FOV test Change 3860981 by andrew.porter EngineTest: Updating skeletal mesh tests with a delay after set playback position Change 3861256 by Max.Chen Sequencer: Add all bindings if none selected. #jira-54440 Change 3862154 by Andrew.Rodham Added TimeManagement module Change 3862424 by andrew.porter EngineTest: Turned on the test Bone Positions with Blend Multi Node Change 3862573 by andrew.porter EngineTest: Adding test to compare bone positions in a sequence that is blending an animation that is using an AnimBP Change 3865117 by Max.Chen Sequencer: Stop auto scroll on mouse release of movement. #jira UE-31212 Change 3865303 by Max.Chen Sequencer: Add drag and drop transactions #jira UE-54662 Change 3865304 by Max.Chen Sequencer: Fix crash when an actor factory is not found. Change 3865361 by Max.Chen Sequencer: Don't change the camera/shot lock button when popping out of a sequence. #jira UE-54665 Change 3865412 by Max.Chen Sequencer: Determine whether a transform track is for a camera by using the spawned object or template #jira UE-54666 Change 3865685 by Max.Chen Sequencer: Clear autoscrub offset when stopping autoscroll #jira UE-31212 Change 3865886 by Max.Chen Sequence Recorder: Log an error if the number of frames changes while recording. This can happen if the skeleton changes while recording. #jira UE-48715 Change 3866925 by Andrew.Porter MediaFrameworkTest: Changing the current PNG test video image sequence to 1024 x 576 Change 3867705 by andrew.porter QAGame: Adding Audio Sort Sequence to dev folder Change 3867890 by andrew.porter QAGame: Adding a sequence for testing a sorting crash to my dev folder Change 3872628 by Max.Chen Movie Scene Capture: Split delay before warmup into split delay before shot warmup so that there's separate controls for when the movie scene capture warmups up vs. shot boundaries. Change 3873131 by Matt.Hoffman UE-54732 - Crash reordering a folder with a track. This was caused by folders being the only type of track to check if someone was putting a parent track into a child track. Object Binding tracks and Tracks now check as well so that you can't use the above/below drop targets to add parents as children. This also fixed a typo in the localization keys. #jira UE-54732 Change 3873301 by Mike.Zyracki Added ability to support continous euler angle changes when changing rotations, in particularly with the rotation gizmo's. To do this we effectively added a form an of 'euler filter'(https://en.wikipedia.org/wiki/Euler_filter) to find the closest euler angle to the current euler angle. Three functions were added to FRotator to make this possible, one to get the euler angle that's has the same rotation as it, one to get the difference between two euler angles via Manhattan distance and a third using the previous two to choose a Rotator value that's closest to it. We then use these functions before calling UComponent::SetRelativeRotation to make sure we use the correct Euler after the Quat conversion. We also no longer limit(bound) the euler angles to -180,180, which is obviously necessary to avoid flips. I also changed how we caluclate yaw and roll when pitch is -90 or 90 to make it the standard approach of zeroing out roll and just setting yaw. Main reasons are the previous implementation had precision issues so things like 180, 90, -180 would show up due to numbers being nearly zero but negative,(this would break any smooth interpolations), and this facilitates having a 'gimbal' rotation mode (like Maya, Blender etc..) if we ever want that also. If needed we could keep the previous implementation but would need to add some FMath::IsNearlyZero checks, with less performance. Note we only do this special filtering when applying delta's to actors or components in the editors, which then call UComponent::SetRelativeRotationExact, which is a new function to foces the RelativeRotation to be equal to the new rotation. This allows us to store un-nomalized Rotators at the cost that the RotationCache may be broken. We didn't change any of the other UComponent functions that set rotations (via Quats or Transforms) so they will still be bounded and unwound. In SetInternalWorldLocationAndRotation we only set the rotation if the rotation has changed, which fixes the rotation getting changed and re-normalized if just translate happens. In TransformTrackEditor, we correclty use the bUndwing flag and in MovieScene3DTransformSection there was an un-needed winding check there, it will be unwound earlier if needed, which happens if Sequence Recording is happening. Max we should talk about what to do about this . Note the euler angle drag via the widget is still bound to 0-360. I think we should just unbound that now since the rotations value are now unbound. This review now includes fixes suggested by Zak. #jira UE-UE-22228 Change 3873483 by Matt.Hoffman Sequencer Tracks can now be inserted above the spacer at the bottom of the tree. #jira UE-54706 Change 3873899 by Max.Chen Sequencer: Add section selection throbbing Change 3873908 by Max.Chen Movie Scene Capture: Added logging per frame Change 3873924 by Matt.Hoffman Adds the ability to store Sequence Recorder setups into profiles that stay with the map and can be re-loaded later. Profiles store the Actor Recordings so the settings for each actor should carry with them. #jira UESEQ-339 Change 3874726 by Matt.Hoffman Disable drag-and-drop targets on spacers that come between rows in Sequencer. This prevents extra drag/drop targets showing up between each row. #jira UE-54706 Change 3874862 by Matt.Hoffman Audio Track no longer gets reordered when adding sub-audio tracks, as sub-tracks are no longer counted towards the sorting order index when normalizing indexes. #jira UE-54727 Change 3875905 by Matt.Hoffman Disable Fade Track UI if a fade track already exists in the sequence. #jira UESEQ-393 Change 3876163 by Max.Chen Sequencer: Swap the camera object to the camera component's owner if it's not the same. #jira UE-54874 Change 3876971 by Andrew.Porter EngineTest: Moved Media Player Seek test to new folder. Also enabled the test with new ground truth image. Change 3877040 by Max.Chen Cine Camera: Split camera properties to two groups, "Camera Options" and "Camera Settings". The cine camera now hides properties in the "Camera Settings" group so that properties like bConstrainAspectRatio (in the "Camera Options" group) can be visible. #jira UE-54192 Change 3877763 by Max.Chen Curve Editor: Fix curve changed on end drag so that only curves that had keys/tangents that were changed receive notification, otherwise all loaded curves were getting notified that they were changed. #jira UE-54951 Change 3878234 by Matt.Hoffman Disable "Drop Below" targets for Sequencer Tree nodes to prevent a confusing UX issue where dropping underneath a Object Binding Node puts it after the object binding node but the UI looks like it's inserting it inside the Object Binding node. #jira UE-54743 Change 3879359 by Mike.Zyracki If a track is inactive we dim it a bit which seems to be the UE4 way to show inactive or disabled state. We changed the active logic so that all subtracks need to be inactive for the track to also be inactive(instead of all active for active). This conforms to how the active state actually works, e.g if you have two sections and only one is active the track is still active above it. #jira UESEQ-388 Change 3879462 by Max.Chen Sequencer: Allow dragging onto a particular row which would move out any overlapping sections to make space for the newly created section. Newly created sections are now selected and throbbed to draw attention to themselves. #jira UE-54664 Change 3879464 by Max.Chen Sequencer: Fixed overlapping ranges being inserted into the evaluation field during compilation - The issue was that track segments that had been combined with adjacent segments (due to them being identical) would potentially cause a subsequently compiled frame to overlap with a range that had already been inserted into the evaluation field. - The insertion code previously asserted that only minor overlaps were catered for (due to fp rounding errors) and assumed that a supplied range could not entirely contain any other range in the field. - The solution is to supply the insertion time along with the range to know exactly where the data should live in the field, and crop the range to the maximum allowable space between adjacent ranges. #jira UE-54922 Change 3879590 by Matt.Hoffman Items that are now added to the Sequencer via the "+Track" menu will be selected after being added. Items can now be added inside of folders instead of just to the root level. #jira UE-27397 Change 3879612 by Mike.Zyracki Display Nodes with no children are always active. #jira UESEQ-388 Change 3879730 by Matt.Hoffman Sequence Recorder's actor recording groups now remove items from the group when removed via the UI. #jira UESEQ-339 Change 3880256 by Mike.Zyracki Fix issue with inactive display with folders and other track nodes. #jira UESEQ-388 Change 3883491 by Max.Chen Fix issue where tick is skipped due to last ticked pose isn't cleared after AnimInstance changes. Copy from Release-4.19 #jira UE-51323 Change 3883603 by Max.Chen Movie Scene Capture: Add option toggle disable screen percentage. By default this is on (no change in current behavior). #jira UE-51898 Change 3885074 by Max.Preussner MediaCompositing: Resetting media texture & freeing resource on section end; removed dead code Change 3887220 by Max.Preussner MediaCompositing: Defaulted media section duration to 1 sec (since we do not know the actual duration in most cases) Change 3887478 by Matt.Hoffman Sequences now show [Inactive] in their title bars when they're disabled. This helps communicate why a sequence isn't being evaluated. #jira UE-51469 Change 3888985 by Max.Chen Movie Scene Capture: Clamp HDR Compression Quality between 0 and 1. #jira UE-55136 Change 3893519 by Max.Chen Sequence Recorder: Clarified tooltip for bRecordNearbySpawnedActors - spawned actors will still be recorded if they match the ActorFilter. #jira UE-55238 Change 3893546 by Max.Chen Sequence Recorder: If a selected actor already has a recording, add a blank recording. #jira UE-55239 Change 3894044 by Max.Preussner MediaCompositing: Added support for seeking into a media section Change 3894310 by andrew.porter MediaFrameworkTest: Adding Img media sources for 1080 and 2160 ravent test content Change 3894426 by Max.Preussner MediaAssets: Letting media textures with AutoClear retain their clear color when player is reset Change 3895717 by Max.Chen Sequencer: Null checks to prevent crash when saving the default state of a spawnable #jira UE-55304 Change 3897388 by Max.Chen Sequencer: Don't update current time to be within the view range when stepping into a sequence. #jira UE-55322 Change 3897452 by Max.Chen Audio: Fix crash when trying to record audio without any active capture devices. Log warning if the number of input channels is not 1 or 2. #jira UE-55223 Change 3897619 by Max.Preussner MediaCompositing: Removed commented out code Change 3898072 by Max.Chen Sequencer: Override the animation asset in the player state if it doesn't match the animation asset that's being evaluated. #jira UE-55328 Change 3898272 by Max.Preussner MediaPlayerEditor: Made slate brush constants static Change 3898704 by Max.Chen Sequencer: Skip if the binding id's sequence can't be found. #jira UE-55337 Change 3899855 by Max.Preussner MediaCompositingEditor: Added cache state visualization to media track Change 3900300 by Max.Preussner MediaCompositingEditor: Added loop indicators to media sections Change 3900694 by Max.Preussner ImfMedia: Looping cache only when player is looping Change 3900892 by Max.Preussner Stats: Added stats category for media framework Change 3900954 by Max.Preussner MediaCompositing: Don't evaluate at the end of media section Change 3901348 by Max.Preussner Core: Replaced TLruCache autos for better readability Change 3901655 by Max.Preussner ImgMedia: Added more perf stats to EXR reader Change 3901972 by Max.Preussner MediaAssets: Added getter for media player in media sound components Change 3902233 by Max.Preussner MediaAssets: Enabling media textures to receive samples right after player is assigned Change 3902238 by Max.Preussner MediaCompositing: Working around init/shutdown idiosyncracies in sequencer Change 3904045 by Max.Chen Sequencer: Fix copy/paste crash. Only process UMovieSceneCopyableBinding and objects that can be spawned by the movie scene spawn register. #jira UE-55314 Change 3905605 by Max.Chen Sequencer: Restrict spawnables from being created if they have a ClassWithin that UMovieScene is not a child of. #jira UE-55429 Change 3906550 by Max.Chen Sequencer: Add media track icon #jira UE-55480 Change 3907101 by Max.Chen Sequence Recorder: Fix bugs related to not recording a level sequence. There were certain assumptions that creating a level sequence meant that sequence recording was in progress. This is not always the case - the recorders can record animation assets and not create a level sequence. Changed the notion of IsRecording() to having at least one actor recording that is recording. Countdown timer, recording displays, etc should function if IsRecording() and not based on whether a level sequence is created. #jira UE-55485 Change 3907247 by Max.Chen Sequence Recorder: Fix crash not removing PrepareToCleanseEditorObject delegate. Repros when opening sequence recorder, closing it, and then opening or creating a level. Change 3910343 by Max.Preussner Core: Added async helper for executing functions on a given thread pool Change 3910346 by Max.Preussner ImgMedia: Added separate thread pools for loading/decoding and deleting image frames Change 3910829 by Max.Preussner Profiler: Increased visible range of profiler graph Change 3910841 by Max.Preussner MediaCompositing: Displaying asset name instead of full media source path in media section Change 3910870 by Max.Preussner ImgMedia: Using deallocation thread pool only in debug builds Change 3919642 by Max.Chen Sequence Recorder: Clarify active tooltip #jira UE-55661 Change 3919660 by Max.Chen Sequencer: Sequence template source signatures are now also compared to catch the case where a sub-sequence asset has been saved but not modified - The following sequence of events exposes this issue: - Create a master sequence with a single shot that spawns a cube - Add this sequence to a level and set it to auto-play - Save everything and restart - Resave just the inner shot asset without opening it - PIE - The inner shot never spawns its cube because its template was wiped on save, but its signature never changed. Since the master sequence previously didn't check the template source signature, it ends up trying to evaluate an empty template. #jira UE-55626 #jira UE-55490 Change 3921825 by Max.Chen Sequencer: "Run Construction Script in Sequencer" is off by default for blueprints but on for Sequencer. This allows the content author to switch it on for specific blueprints and sequencer will be default, run those with construction scripts enabled. Change 3922232 by Max.Chen Sequence Recorder: Reset countdelay on stop. #jira UE-55755 Change 3922306 by Max.Chen Sequence Recorder: Don't automatically mark transforms to be recorded by sequence recorder. Instead, log a warning if the user toggled it off to warn that the resulting animation might not match gameplay. #jira UE-55758 Change 3922912 by Max.Chen Sequence Recorder: Fix refresh next sequence name #jira UE-55757 Change 3927654 by Max.Chen Movie Scene Capture: Added format mapping for the name of the current camera #jira UE-55769 PR #4537 Change 3927658 by Max.Chen Sequencer: Added fbx property mapping for "FocusDistance" to "FocusSettings.ManualFocusDistance" #jira UE-55782 Change 3932022 by Max.Chen Sequencer: Add import animation track section to next available row index. #jira UE-55892 Change 3933919 by Max.Chen Sequencer: Jump to playback start frame and not 0 to start playback for recording. #jira UE-55933 Change 3934307 by Andrew.Rodham Sequencer: Add template signature that is re-generated every time the base template is regenerated, which invalidates evaluation fields This fixes an issue where the same sequence is instantiated multiple times in a sequence. If the source sequence was saved, its template would be wiped, which would invalidate the template ID When an instance tries to evaluate the master template, it would only invalidate a range in the evaluation field that was the hull of any invalid sub sequences overlapping the current time, potentially leaving invalid data in the evaluation field at positions later (or earlier) on in the sequence When the sub template was re-generated, it receives the same SequenceSignature as it had before (because the sequence hasn't actually changed), which causes the stale evaluation field data to fail the IsDirty check (because the sequence is the same as it thought, but the *template* has changed) This has been addressed be adding a signature to templates themselves, and checking both the template signature and sequence signature as a part of the IsDirty check. This ensures that we regenerate if either the template, or the sequence have changed. #jira UE-55934 Change 3936327 by Andrew.Rodham Sequencer: Removed increment when trimming right UMovieSceneSection::TrimSection already explicity assigns an exclusive bound to the time passed in. The new behavior means we can trim a section to the right, and insert another section without changing the time to create adjacent sections. #jira UE-42652 Change 3936328 by Andrew.Rodham Fixed KeyFrameManipulator assignment operators and copy/move constructors - These types are potentially self-referential so cannot use default constructors/assignment Change 3936330 by Andrew.Rodham Converted UMGSequencePlayer to use frames internally #jira UE-54878 Change 3936726 by Max.Chen Sequencer: Set track node as the parent of the key area node. The key area switcher needs the object binding id from the parent object binding node. Without this, the binding to the external value fails. #jira UE-55931 Change 3936775 by Max.Chen Sequencer: Should stop or loop should compare DurationFrames with Current Time from StartTime. The bug is that if you set 30 warmup frames in movie rendering for a range of 0-100, the FrameRange will be starting at -30 and have a duration of 130. Without this fix, the playback will continue until frame 130, rather than 100. #jira UE-55933 Change 3936935 by Matt.Hoffman Easing Curves are now represented in Play Rate resolution instead of internal resolution. #jira UE-55937 Change 3937069 by Matt.Hoffman Users can toggle if the is infinite on each side, limited by which tracks support infinite ranges. #jira UE-55891 Change 3937516 by Max.Preussner ImgMedia: Added support for single-threaded platforms #jira UE-55986 Change 3937826 by Max.Preussner MediaAssets: Disabling media sound components on HTML5 if AudioMixer is not enabled Change 3937997 by Max.Chen Curve Editor: Add Zoom to Fit Curves so that selected curves from Sequencer can be focused on. Tested that undo doesn't re-zoom. #jira UE-55935 Change 3938000 by Max.Chen Sequencer: Stop all sounds before generating audio waveforms. #jira UE-55951 Change 3938376 by Max.Preussner XGEController: Disabled XGE Controller in single-threaded apps to prevent crash Change 3938444 by Max.Preussner Core: Added async support for single-threaded applications Change 3938445 by Max.Preussner Networking: Added support for single-threaded applications in UDP socket sender/receiver Change 3938447 by Max.Preussner Messaging: Added support for single-threaded applications Change 3939432 by Max.Chen Sequence Recorder: Append command list to global level editor actions so that shortcuts are accessible in level editor. #jira UE-55798 Change 3940229 by Andrew.Rodham Added prospective display rate upgrade to UMovieScene::PostLoad - There was previously some very odd behaviour that would assign the fixed frame interval only when a sub sequence was focused in SSequencer. This meant that many sequences could have a frame interval of 0 set in the data. - Under the old method of snap interval display this would have fallen back to getting the display interval from the sequencer settings, but we no longer look at these. - The USequencerSettings properties have been removed and in their place, a prospective data upgrade for sequences that have a fixed frame interval old 0fps that sets the play rate to the previous defaults based off the old USequencerSettings defaults. - This could end up 'changing' the display rate for sequences where the user has changed the snap interval in the settings for a particular sequence editor, but there's not much we can do about that given we don't have access to the USequencerSettings classes in UMovieScene #jira UE-55919 Change 3940277 by Andrew.Rodham Sequencer: Added ability to default frame resolutions and play rates for newly created actor sequences Change 3940378 by Andrew.Rodham Sequencer: Post move import dialog now defaults to the playback framerate of the sequence, and floors to frame numbers Change 3940559 by Andrew.Rodham Reinstated primed or recording sequence color Change 3940642 by Max.Preussner ImagePlate: Removed image plate media playback functionality Change 3940843 by Max.Preussner Core: Made TCircularQueue actually thread-safe; improved code comments Change 3940860 by Max.Chen Sequencer: Changed StructNameToKey to StructPathToKey Previously, keying a PropertyPath of [RenderTransform][Shear][X] would get trimmed to X, which doesn't map to a channel name as considered by Sequencer2dTransformTrackEditor. Instead, trim the resulting property path to [Shear][X] so that track editors can determine the desired struct path and channels to key. #jira UE-52966 Change 3941292 by Mike.Zyracki Fix for trajectories out of range not showing up. 1) If we had no key data we would pop the time, so wouldn't get the section ranges. 2) Calculating of upper bound was wrong, checking against -1 and not key == num of keys when doing algo::lower_bound. 3) No need to do the Bck-- for the bakward iterators since we fixed #2. We start now from the upper bound correctly. 4) If we had no keys (at section start,end) we would incorrectly say we were any key type, so since we draw constant keys as dashed we would do so incorrectly around section end points. #jira UE-55929 Change 3941424 by Max.Chen Curve Editor: Change Zoom to Fit to use TArrayView Change 3941498 by Max.Preussner Core: Added FMath::DivideAndRoundNearest function Change 3942097 by Matt.Hoffman Drop Frame Timecode Support for NTSC rates. Change 3942104 by Matt.Hoffman Sequence Recorder Group is no longer visible inside the World Outliner after using one. #jira 55266 Change 3942107 by Max.Chen Sequencer: Resurrect logic to find or extend an existing section when adding keys. Change 3942330 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942339 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942507 by Andrew.Rodham Sequencer: We no longer pad the time overlap threshold with a small number that is not scaled by the current zoom level - The presence of this pad was causing keys that were far apart to be grouped when zoomed in a long way Change 3942509 by Andrew.Rodham Sequencer: Only pad total view range, rather than section range as well when retrieving keys to render - This stops us from rendering keys that are within the view range, but outside the section range Change 3942512 by Andrew.Rodham Added transactions to some sequencer details customizations Change 3942513 by Andrew.Rodham Sequencer: Reinstated validation checks to UMovieSceneSection::SetStartFrame and SetEndFrame, changed erroneous uses to use SetRange Change 3942560 by Andrew.Rodham Pass by rvalue reference to appease error C2719 on Win32 ('InChannels': formal parameter with requested alignment of 8 won't be aligned) Change 3942697 by Andrew.Rodham Newly Created Level Sequences and Actor Sequences now default to 24000 fps frame resolution (+/- ~24hrs range, supporting all integer rates + 23.976) Change 3942700 by Andrew.Rodham Sequencer: Added legacy out-of-bounds errors for times that are not supported by the current legacy upgrade frame resolution Change 3942989 by Max.Preussner Core: Fixed circular queue count calculation Change 3943538 by Max.Preussner MediaAssets: Reverted workaround for procedural audio log spam in HTML5 (Actor component initialization cannot be skipped if the component is used in a level) Change 3944071 by Max.Preussner QAGame: Fixed Media Texture keeps last frame of Media when PIE ends #jira UE-53360 Change 3944292 by Max.Chen Sequencer: Added extra flags to ensure that asset initialization does not occur on template actor sequences #jira UE-56113 Change 3944364 by Max.Chen Sequencer: Prevent circular shot/master tracks. Tested adding master -> child -> master as drag and drop cinematic shot tracks and sub tracks as well as through the + button. #jira UE-56091 Change 3944422 by Max.Chen Sequence Recorder: Disable transform recording if off. #jira UE-56061 Change 3944745 by Andrew.Rodham Sequencer: Key rendering fixes - Fixed assert that occured when keys happened to reside on some times due to KeyTime + TimeOverlapThreshold - KeyTime being slightly larger TimeOverlapThreshold - Fixed keys sometimes being clipped when zoomed right in due to lack of half-frame offset - Added missing documentation to MovieSceneTimeHelpers.h #jira UE-56107 Change 3945231 by Andrew.Rodham Sequencer: Reconstruct channel proxy on Serialize to catch all cases of undo/redo, PostLoad and duplication #jira UE-56089 Change 3945301 by Andrew.Rodham Sequencer: Added safety checks during initial sequence recording to guard against applying negative or 0-sized sequence ranges #jira UE-56125 Change 3946627 by Max.Preussner Fortnite: Fixed game crashes closing editor while in PIE - Pure virtual function being called #jira UE-56144 [CL 3946896 by Max Chen in Main branch]
2018-03-14 22:09:33 -04:00
check(RangeDuration >= 0);
const TRange<FFrameNumber> NewRange(RangeStart, RangeStart + RangeDuration);
Copying //UE4/Dev-Sequencer to //UE4/Main ========================== MAJOR FEATURES + CHANGES ========================== Change 2875025 on 2016/02/20 by Andrew.Rodham Sequencer: Cinematic viewport improvements - Added optional letterbox overlay (defaults to 2.35:1) - Added ability to change safe frame colors - Added selected tracks' keys to the transport range - Added buttons for jumping between selected tracks' keyframes on the transport controls - Removed black padding around the viewport where possible - Added ability to specify whether a combo button/menu anchor should close when its parent receives focus - Separated logic of FGroupedKeyArea into FSequencerKeyCollection, so it can be used independently - Added playback range to the viewport frame numbers - All frame numbers are now spin boxes #jira UE-26429 Change 2875026 on 2016/02/20 by Thomas.Sarkanen Added console commands for recording sequences Changed plugin to a developer plugin so we can load it when the editor is in -game mode. Added Exec commands. Added some more logging to help diagnose problems when using commands. Added loading/saving of config for recorder settings (stored in Editor.ini). Also disabled controls in recorder window when recording. Added auto-saving of assets when in non-editor modes. Moved animation settings from UnrealEd to Engine module. Change 2875036 on 2016/02/20 by Max.Chen Sequencer: Call RedrawAllViewports instead of RedrawLevelEditingViewports. In particular, this fixes some update issues when editing values in the key editors. #jira UE-26960 Change 2875046 on 2016/02/20 by Max.Preussner Sequencer: Fix so that clicking on UMG Animations doesn't dirty the scene. #jira UE-26249 Change 2875047 on 2016/02/20 by Max.Chen Sequencer: Add option to toggle display of channel colors/lines. View->Channel Colors Change 2877138 on 2016/02/23 by Max.Chen Sequencer: Select corresponding track node when selecting key or section. Removed active/inactive selection since it was only being used in deletion and the rules for deletion are now dependent upon what is selected - delete keys and sections before deleting outliner nodes. Change 2877143 on 2016/02/23 by Thomas.Sarkanen Added new math function: WindRelativeAnglesDegrees Given two angles in degrees, 'wind' the angle in Angle1 so that it avoids >180 degree flips. Good for winding rotations previously expressed as quaternions into a euler-angle representation. Change 2877147 on 2016/02/23 by Thomas.Sarkanen Added the ability to import sequencer transforms from the root node of an animation sequence Intended for use after re-importing animations from DCC tools. Available in the right-click menu for transform tracks. Also added FindTrackBinding to UMovieScene so track bindings can be recovered from tracks. Change 2877163 on 2016/02/23 by Max.Chen Sequencer: Add option to create keyframe sections as infinite. Sequencer defaults to true, UMG defaults to false. Change 2877165 on 2016/02/23 by Max.Preussner Sequencer: Drawing vertical position lines when dragging keys Change 2878748 on 2016/02/23 by Max.Chen Curve Editor: Switch curve type to user when flatting or straightening tangents. #jira UE-27277 Change 2878799 on 2016/02/23 by Frank.Fella Sequencer - Add folders support to the outliner. Change 2880769 on 2016/02/24 by Andrew.Rodham Sequencer: Added ability to override runtime spawnable ownership in sequencer - This is exposed as an option on spawnables "Keep Alive Outside Playback Range (In Sequencer)" - Enabling this will stop spawnables from being destroyed when scrubbing outside of the playback range #jira UE-27205 Change 2880770 on 2016/02/24 by Thomas.Sarkanen Sequencer: Added countdown and recording indicator display when recording Also fixed extra popups added post-PIE when animation recordings auto shutdown. Change 2880782 on 2016/02/24 by Max.Chen Sequencer: Snapping now also uses the current time as a possible snap time. #jira UE-26306 Change 2880793 on 2016/02/24 by Max.Chen Sequencer: Add +Animation to Animation track so that it's consistent with all other tracks that have a + button. Change 2880812 on 2016/02/24 by Max.Chen Sequencer: Fix adjusting the leading edge of a shot section so that it cuts into the shot rather than adjusts the start time. #jira UE-26306 Change 2881624 on 2016/02/25 by Andrew.Rodham Changing shader version GUID to fix corrupt shaders in ddc Change 2882408 on 2016/02/25 by Thomas.Sarkanen Asset/actors stored in TLazyObjectPtrs can now reference game content from engine This is a legitimate use case as lazy object ptrs are designed to reference assets/actors cross-domain. Change 2882409 on 2016/02/25 by Thomas.Sarkanen [CL 2899785 by Max Chen in Main branch]
2016-03-08 16:55:04 -05:00
TimeSliderArgs.OnPlaybackRangeChanged.ExecuteIfBound(NewRange);
if( !TimeSliderArgs.PlaybackRange.IsBound() )
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3946692) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3801826 by Max.Chen PR #4304: Level Sequence crash fix - Guarded against dereferencing null componen. (Contributed by DSDambuster) Change 3801828 by Max.Chen PR #4302: Movie Scene Visibility Template unitialised variable, causing random . (Contributed by DSDambuster) Change 3801837 by Max.Chen Sequencer: Delay spawning/construction for convert to possessable. This fixes a bug where property values would be lost when converting back and forth from possessable to spawnable. #jira UE-52400 Change 3801841 by Max.Chen Sequencer: Make spacer nodes not selectable. PR #4194: Improvements to Sequencer (Contributed by projectgheist) #jira UE-53117 #jira UE-52139 Change 3804183 by Max.Preussner MediaAssets: Added missing lock in media sound component Change 3805414 by Max.Preussner MediaAssets: Setting valid GUID when initializing media texture resource Change 3819578 by Max.Chen PR #4370: When enabling the "MovieCapture", do not turn off the Stereo-3D display. (Contributed by yehaike) #jira UE-53647 Change 3823414 by Max.Chen Curve Editor: Lock down the first and last keys in the redundant keys removal range so that they're unaffected. #jira UE-53591 Change 3826406 by Max.Chen Sequencer: Move OnStartedPlaying() to within first update in UpdateTimeCursorPosition(). This fixes an issue where setting the hud/player visibility was getting stomped on later. #jira UE-52772 Change 3827044 by Max.Preussner MediaAssets: Added sprite visualization to media sound component #jira UE-53594 Change 3827988 by Max.Preussner MediaPlayerAssets: Fixed Media Texture is not linked to Media Player when created together #jira UE-53532 Change 3828506 by Max.Preussner MediaPlayerEditor: Added attenuation visualizer for media sound components #jira UE-53594 Change 3832590 by andrew.porter EngineTest: Added a keep state check in Property Animation sequencer test Change 3833053 by andrew.porter EngineTest: Adding Hierarchical Bias test Change 3835683 by andrew.porter EngineTest: Adding UMG Animation screenshot test Change 3836076 by Max.Chen Sequencer: Fix audio volume and pitch multiplier deprecation. Change 3836230 by andrew.porter EngineTest: Adding Sequence Bone Position automation test Change 3836347 by Max.Chen Sequencer: Fixes to shot name parsing. When a shot doesn't contain a shot number, assume, [ShotName]_[TakeNumber]. When duplicating a shot, put the new shot in the same path of the original shot, so that the take numbers will increment properly. #jira UE-51868 Change 3836552 by Max.Chen Sequencer: Sub section now has a takes menu Change 3838094 by Max.Chen UMG: Fix template finish not getting called on stop. This fixes a bug where sections aren't restored when finished. #jira UE-52285 Change 3838708 by Max.Chen Sequencer: Add notification when the blend type is changed. #jira UE-54046 Change 3840295 by Max.Chen Sequencer: Fix copy/paste crash for lights #jira UE-54084 Change 3840957 by Mike.Zyracki Added Show Only Keyable and Show Only Animated to the filter list in the property editor. Added IsPropertyAnimated to IDetailKeyframe Interface which already had support for showing properties which are keyable (which is used for the key icon next to the properties.). Could have created another interface but then would have had to mimic the sequencer binding, releasing also, so this seemed best way. One issue still left is that custom built detail items currently don't store associated properties(usually) and so certain properties, in particulalry transforms, won't show up as keyable or animated. Note this also shows up with the keyable icon not showing up next to transform tracks, and other filters like Show Only Modified not working with transforms/customs. Not sure best way to tackle this. #jira UESEQ-328 Change 3841756 by Max.Chen Sequencer: Fix unbound possessable components when pasting spawnables. #jira UE-54104 Change 3843950 by andrew.porter EngineTest: Renaming LevelStreaming tests/content to LevelVisibility Change 3844082 by Mike.Zyracki Missing file for animated filter in property editor. When finding if a track is animated we need to find it but we can't easily induce the MovieTrack class for any particular property. So we don't set a class for it and just search by it's ID and name. #jira UESEQ-328 Change 3846902 by Max.Preussner ImgMedia: Fixed image media player never finished initialization if loading failed #jira UE-54247 Change 3849820 by Mike.Zyracki Reassigning deleted widgets didn't work since the menu extender mechanism needs a valid UObject in order to perform an operation on it. So to fix we replaced GetObjectBindingContextMenuExtender in WidgetBlueprint with new delegate mechanism (OnBuildCustomContextMenuForGuid) that supports FGuid in addition to UObjects which is needed to handle re-binding deleted widgets. Note that the default sequencer hacks this for replacing deleted actors in SequencerObjectBindingNode to check to see if a LevelSequence is active. We could move to this mechanism there also. #jira UE-53163 Change 3852211 by Max.Chen UMG: Indicate name of the property that is not bound. #jira UE-54350 Change 3854120 by Max.Chen Sequencer: Fix sibling folders being allowed to have the same folder name. #jira UE-54363 Change 3854627 by Max.Chen Sequencer: Step to next/previous key should work for all tracks if there aren't any selected. #jira UESEQ-391 Change 3855825 by andrew.porter EngineTest: Adding animation blending automation test Change 3855950 by andrew.porter EngineTest: Adding correct expected valuues to animation blending test Change 3856237 by Matt.Hoffman UESEQ-336 - Sequencer Track Reordering Adds the ability to re-order Master Tracks, Folders and Object Bindings within sequencer hierarchies (including UMG). Adds the ability to do a one-off sorting of the content under the old sorting behavior if the user wants to reset their layout to how it was under legacy behavior. Modifies SequencerTrackNodes, SequencerFolderNodes and SequencerObjectBindingNodes to handle CanDrop/OnDrop for above, below and ontop of. Fixes a Slate Issue that forcibly expanded a TreeviewRow if an item handled OnDrop. Slate will now only forcibly expand the row if the item says the drop happened ontop of the item, and not above or below it like it previously did. Change 3856503 by andrew.porter EngineTest: Adding automation test for using animation blueprint with blend multi node in sequencer Change 3857875 by Max.Chen Sequencer: Assign the sequence id after the template is compiled. #jira UE-54462 Change 3858344 by Max.Chen Sequencer: Prevent Goto and Transform boxes from overlapping by allowing them to be visible at the same time in an autosized horizontal box. Also, added close button to the goto box. PR #4425: Prevent Goto and Transform boxes from overlapping in Sequencer ... (Contributed by projectgheist) #jira UE-54210 Change 3860566 by andrew.porter MediaFrameworkTest: Set the option to index 0 for the audio and video track list by default Change 3860654 by andrew.porter EngineTest: Enabling Camera Cut + FOV test Change 3860981 by andrew.porter EngineTest: Updating skeletal mesh tests with a delay after set playback position Change 3861256 by Max.Chen Sequencer: Add all bindings if none selected. #jira-54440 Change 3862154 by Andrew.Rodham Added TimeManagement module Change 3862424 by andrew.porter EngineTest: Turned on the test Bone Positions with Blend Multi Node Change 3862573 by andrew.porter EngineTest: Adding test to compare bone positions in a sequence that is blending an animation that is using an AnimBP Change 3865117 by Max.Chen Sequencer: Stop auto scroll on mouse release of movement. #jira UE-31212 Change 3865303 by Max.Chen Sequencer: Add drag and drop transactions #jira UE-54662 Change 3865304 by Max.Chen Sequencer: Fix crash when an actor factory is not found. Change 3865361 by Max.Chen Sequencer: Don't change the camera/shot lock button when popping out of a sequence. #jira UE-54665 Change 3865412 by Max.Chen Sequencer: Determine whether a transform track is for a camera by using the spawned object or template #jira UE-54666 Change 3865685 by Max.Chen Sequencer: Clear autoscrub offset when stopping autoscroll #jira UE-31212 Change 3865886 by Max.Chen Sequence Recorder: Log an error if the number of frames changes while recording. This can happen if the skeleton changes while recording. #jira UE-48715 Change 3866925 by Andrew.Porter MediaFrameworkTest: Changing the current PNG test video image sequence to 1024 x 576 Change 3867705 by andrew.porter QAGame: Adding Audio Sort Sequence to dev folder Change 3867890 by andrew.porter QAGame: Adding a sequence for testing a sorting crash to my dev folder Change 3872628 by Max.Chen Movie Scene Capture: Split delay before warmup into split delay before shot warmup so that there's separate controls for when the movie scene capture warmups up vs. shot boundaries. Change 3873131 by Matt.Hoffman UE-54732 - Crash reordering a folder with a track. This was caused by folders being the only type of track to check if someone was putting a parent track into a child track. Object Binding tracks and Tracks now check as well so that you can't use the above/below drop targets to add parents as children. This also fixed a typo in the localization keys. #jira UE-54732 Change 3873301 by Mike.Zyracki Added ability to support continous euler angle changes when changing rotations, in particularly with the rotation gizmo's. To do this we effectively added a form an of 'euler filter'(https://en.wikipedia.org/wiki/Euler_filter) to find the closest euler angle to the current euler angle. Three functions were added to FRotator to make this possible, one to get the euler angle that's has the same rotation as it, one to get the difference between two euler angles via Manhattan distance and a third using the previous two to choose a Rotator value that's closest to it. We then use these functions before calling UComponent::SetRelativeRotation to make sure we use the correct Euler after the Quat conversion. We also no longer limit(bound) the euler angles to -180,180, which is obviously necessary to avoid flips. I also changed how we caluclate yaw and roll when pitch is -90 or 90 to make it the standard approach of zeroing out roll and just setting yaw. Main reasons are the previous implementation had precision issues so things like 180, 90, -180 would show up due to numbers being nearly zero but negative,(this would break any smooth interpolations), and this facilitates having a 'gimbal' rotation mode (like Maya, Blender etc..) if we ever want that also. If needed we could keep the previous implementation but would need to add some FMath::IsNearlyZero checks, with less performance. Note we only do this special filtering when applying delta's to actors or components in the editors, which then call UComponent::SetRelativeRotationExact, which is a new function to foces the RelativeRotation to be equal to the new rotation. This allows us to store un-nomalized Rotators at the cost that the RotationCache may be broken. We didn't change any of the other UComponent functions that set rotations (via Quats or Transforms) so they will still be bounded and unwound. In SetInternalWorldLocationAndRotation we only set the rotation if the rotation has changed, which fixes the rotation getting changed and re-normalized if just translate happens. In TransformTrackEditor, we correclty use the bUndwing flag and in MovieScene3DTransformSection there was an un-needed winding check there, it will be unwound earlier if needed, which happens if Sequence Recording is happening. Max we should talk about what to do about this . Note the euler angle drag via the widget is still bound to 0-360. I think we should just unbound that now since the rotations value are now unbound. This review now includes fixes suggested by Zak. #jira UE-UE-22228 Change 3873483 by Matt.Hoffman Sequencer Tracks can now be inserted above the spacer at the bottom of the tree. #jira UE-54706 Change 3873899 by Max.Chen Sequencer: Add section selection throbbing Change 3873908 by Max.Chen Movie Scene Capture: Added logging per frame Change 3873924 by Matt.Hoffman Adds the ability to store Sequence Recorder setups into profiles that stay with the map and can be re-loaded later. Profiles store the Actor Recordings so the settings for each actor should carry with them. #jira UESEQ-339 Change 3874726 by Matt.Hoffman Disable drag-and-drop targets on spacers that come between rows in Sequencer. This prevents extra drag/drop targets showing up between each row. #jira UE-54706 Change 3874862 by Matt.Hoffman Audio Track no longer gets reordered when adding sub-audio tracks, as sub-tracks are no longer counted towards the sorting order index when normalizing indexes. #jira UE-54727 Change 3875905 by Matt.Hoffman Disable Fade Track UI if a fade track already exists in the sequence. #jira UESEQ-393 Change 3876163 by Max.Chen Sequencer: Swap the camera object to the camera component's owner if it's not the same. #jira UE-54874 Change 3876971 by Andrew.Porter EngineTest: Moved Media Player Seek test to new folder. Also enabled the test with new ground truth image. Change 3877040 by Max.Chen Cine Camera: Split camera properties to two groups, "Camera Options" and "Camera Settings". The cine camera now hides properties in the "Camera Settings" group so that properties like bConstrainAspectRatio (in the "Camera Options" group) can be visible. #jira UE-54192 Change 3877763 by Max.Chen Curve Editor: Fix curve changed on end drag so that only curves that had keys/tangents that were changed receive notification, otherwise all loaded curves were getting notified that they were changed. #jira UE-54951 Change 3878234 by Matt.Hoffman Disable "Drop Below" targets for Sequencer Tree nodes to prevent a confusing UX issue where dropping underneath a Object Binding Node puts it after the object binding node but the UI looks like it's inserting it inside the Object Binding node. #jira UE-54743 Change 3879359 by Mike.Zyracki If a track is inactive we dim it a bit which seems to be the UE4 way to show inactive or disabled state. We changed the active logic so that all subtracks need to be inactive for the track to also be inactive(instead of all active for active). This conforms to how the active state actually works, e.g if you have two sections and only one is active the track is still active above it. #jira UESEQ-388 Change 3879462 by Max.Chen Sequencer: Allow dragging onto a particular row which would move out any overlapping sections to make space for the newly created section. Newly created sections are now selected and throbbed to draw attention to themselves. #jira UE-54664 Change 3879464 by Max.Chen Sequencer: Fixed overlapping ranges being inserted into the evaluation field during compilation - The issue was that track segments that had been combined with adjacent segments (due to them being identical) would potentially cause a subsequently compiled frame to overlap with a range that had already been inserted into the evaluation field. - The insertion code previously asserted that only minor overlaps were catered for (due to fp rounding errors) and assumed that a supplied range could not entirely contain any other range in the field. - The solution is to supply the insertion time along with the range to know exactly where the data should live in the field, and crop the range to the maximum allowable space between adjacent ranges. #jira UE-54922 Change 3879590 by Matt.Hoffman Items that are now added to the Sequencer via the "+Track" menu will be selected after being added. Items can now be added inside of folders instead of just to the root level. #jira UE-27397 Change 3879612 by Mike.Zyracki Display Nodes with no children are always active. #jira UESEQ-388 Change 3879730 by Matt.Hoffman Sequence Recorder's actor recording groups now remove items from the group when removed via the UI. #jira UESEQ-339 Change 3880256 by Mike.Zyracki Fix issue with inactive display with folders and other track nodes. #jira UESEQ-388 Change 3883491 by Max.Chen Fix issue where tick is skipped due to last ticked pose isn't cleared after AnimInstance changes. Copy from Release-4.19 #jira UE-51323 Change 3883603 by Max.Chen Movie Scene Capture: Add option toggle disable screen percentage. By default this is on (no change in current behavior). #jira UE-51898 Change 3885074 by Max.Preussner MediaCompositing: Resetting media texture & freeing resource on section end; removed dead code Change 3887220 by Max.Preussner MediaCompositing: Defaulted media section duration to 1 sec (since we do not know the actual duration in most cases) Change 3887478 by Matt.Hoffman Sequences now show [Inactive] in their title bars when they're disabled. This helps communicate why a sequence isn't being evaluated. #jira UE-51469 Change 3888985 by Max.Chen Movie Scene Capture: Clamp HDR Compression Quality between 0 and 1. #jira UE-55136 Change 3893519 by Max.Chen Sequence Recorder: Clarified tooltip for bRecordNearbySpawnedActors - spawned actors will still be recorded if they match the ActorFilter. #jira UE-55238 Change 3893546 by Max.Chen Sequence Recorder: If a selected actor already has a recording, add a blank recording. #jira UE-55239 Change 3894044 by Max.Preussner MediaCompositing: Added support for seeking into a media section Change 3894310 by andrew.porter MediaFrameworkTest: Adding Img media sources for 1080 and 2160 ravent test content Change 3894426 by Max.Preussner MediaAssets: Letting media textures with AutoClear retain their clear color when player is reset Change 3895717 by Max.Chen Sequencer: Null checks to prevent crash when saving the default state of a spawnable #jira UE-55304 Change 3897388 by Max.Chen Sequencer: Don't update current time to be within the view range when stepping into a sequence. #jira UE-55322 Change 3897452 by Max.Chen Audio: Fix crash when trying to record audio without any active capture devices. Log warning if the number of input channels is not 1 or 2. #jira UE-55223 Change 3897619 by Max.Preussner MediaCompositing: Removed commented out code Change 3898072 by Max.Chen Sequencer: Override the animation asset in the player state if it doesn't match the animation asset that's being evaluated. #jira UE-55328 Change 3898272 by Max.Preussner MediaPlayerEditor: Made slate brush constants static Change 3898704 by Max.Chen Sequencer: Skip if the binding id's sequence can't be found. #jira UE-55337 Change 3899855 by Max.Preussner MediaCompositingEditor: Added cache state visualization to media track Change 3900300 by Max.Preussner MediaCompositingEditor: Added loop indicators to media sections Change 3900694 by Max.Preussner ImfMedia: Looping cache only when player is looping Change 3900892 by Max.Preussner Stats: Added stats category for media framework Change 3900954 by Max.Preussner MediaCompositing: Don't evaluate at the end of media section Change 3901348 by Max.Preussner Core: Replaced TLruCache autos for better readability Change 3901655 by Max.Preussner ImgMedia: Added more perf stats to EXR reader Change 3901972 by Max.Preussner MediaAssets: Added getter for media player in media sound components Change 3902233 by Max.Preussner MediaAssets: Enabling media textures to receive samples right after player is assigned Change 3902238 by Max.Preussner MediaCompositing: Working around init/shutdown idiosyncracies in sequencer Change 3904045 by Max.Chen Sequencer: Fix copy/paste crash. Only process UMovieSceneCopyableBinding and objects that can be spawned by the movie scene spawn register. #jira UE-55314 Change 3905605 by Max.Chen Sequencer: Restrict spawnables from being created if they have a ClassWithin that UMovieScene is not a child of. #jira UE-55429 Change 3906550 by Max.Chen Sequencer: Add media track icon #jira UE-55480 Change 3907101 by Max.Chen Sequence Recorder: Fix bugs related to not recording a level sequence. There were certain assumptions that creating a level sequence meant that sequence recording was in progress. This is not always the case - the recorders can record animation assets and not create a level sequence. Changed the notion of IsRecording() to having at least one actor recording that is recording. Countdown timer, recording displays, etc should function if IsRecording() and not based on whether a level sequence is created. #jira UE-55485 Change 3907247 by Max.Chen Sequence Recorder: Fix crash not removing PrepareToCleanseEditorObject delegate. Repros when opening sequence recorder, closing it, and then opening or creating a level. Change 3910343 by Max.Preussner Core: Added async helper for executing functions on a given thread pool Change 3910346 by Max.Preussner ImgMedia: Added separate thread pools for loading/decoding and deleting image frames Change 3910829 by Max.Preussner Profiler: Increased visible range of profiler graph Change 3910841 by Max.Preussner MediaCompositing: Displaying asset name instead of full media source path in media section Change 3910870 by Max.Preussner ImgMedia: Using deallocation thread pool only in debug builds Change 3919642 by Max.Chen Sequence Recorder: Clarify active tooltip #jira UE-55661 Change 3919660 by Max.Chen Sequencer: Sequence template source signatures are now also compared to catch the case where a sub-sequence asset has been saved but not modified - The following sequence of events exposes this issue: - Create a master sequence with a single shot that spawns a cube - Add this sequence to a level and set it to auto-play - Save everything and restart - Resave just the inner shot asset without opening it - PIE - The inner shot never spawns its cube because its template was wiped on save, but its signature never changed. Since the master sequence previously didn't check the template source signature, it ends up trying to evaluate an empty template. #jira UE-55626 #jira UE-55490 Change 3921825 by Max.Chen Sequencer: "Run Construction Script in Sequencer" is off by default for blueprints but on for Sequencer. This allows the content author to switch it on for specific blueprints and sequencer will be default, run those with construction scripts enabled. Change 3922232 by Max.Chen Sequence Recorder: Reset countdelay on stop. #jira UE-55755 Change 3922306 by Max.Chen Sequence Recorder: Don't automatically mark transforms to be recorded by sequence recorder. Instead, log a warning if the user toggled it off to warn that the resulting animation might not match gameplay. #jira UE-55758 Change 3922912 by Max.Chen Sequence Recorder: Fix refresh next sequence name #jira UE-55757 Change 3927654 by Max.Chen Movie Scene Capture: Added format mapping for the name of the current camera #jira UE-55769 PR #4537 Change 3927658 by Max.Chen Sequencer: Added fbx property mapping for "FocusDistance" to "FocusSettings.ManualFocusDistance" #jira UE-55782 Change 3932022 by Max.Chen Sequencer: Add import animation track section to next available row index. #jira UE-55892 Change 3933919 by Max.Chen Sequencer: Jump to playback start frame and not 0 to start playback for recording. #jira UE-55933 Change 3934307 by Andrew.Rodham Sequencer: Add template signature that is re-generated every time the base template is regenerated, which invalidates evaluation fields This fixes an issue where the same sequence is instantiated multiple times in a sequence. If the source sequence was saved, its template would be wiped, which would invalidate the template ID When an instance tries to evaluate the master template, it would only invalidate a range in the evaluation field that was the hull of any invalid sub sequences overlapping the current time, potentially leaving invalid data in the evaluation field at positions later (or earlier) on in the sequence When the sub template was re-generated, it receives the same SequenceSignature as it had before (because the sequence hasn't actually changed), which causes the stale evaluation field data to fail the IsDirty check (because the sequence is the same as it thought, but the *template* has changed) This has been addressed be adding a signature to templates themselves, and checking both the template signature and sequence signature as a part of the IsDirty check. This ensures that we regenerate if either the template, or the sequence have changed. #jira UE-55934 Change 3936327 by Andrew.Rodham Sequencer: Removed increment when trimming right UMovieSceneSection::TrimSection already explicity assigns an exclusive bound to the time passed in. The new behavior means we can trim a section to the right, and insert another section without changing the time to create adjacent sections. #jira UE-42652 Change 3936328 by Andrew.Rodham Fixed KeyFrameManipulator assignment operators and copy/move constructors - These types are potentially self-referential so cannot use default constructors/assignment Change 3936330 by Andrew.Rodham Converted UMGSequencePlayer to use frames internally #jira UE-54878 Change 3936726 by Max.Chen Sequencer: Set track node as the parent of the key area node. The key area switcher needs the object binding id from the parent object binding node. Without this, the binding to the external value fails. #jira UE-55931 Change 3936775 by Max.Chen Sequencer: Should stop or loop should compare DurationFrames with Current Time from StartTime. The bug is that if you set 30 warmup frames in movie rendering for a range of 0-100, the FrameRange will be starting at -30 and have a duration of 130. Without this fix, the playback will continue until frame 130, rather than 100. #jira UE-55933 Change 3936935 by Matt.Hoffman Easing Curves are now represented in Play Rate resolution instead of internal resolution. #jira UE-55937 Change 3937069 by Matt.Hoffman Users can toggle if the is infinite on each side, limited by which tracks support infinite ranges. #jira UE-55891 Change 3937516 by Max.Preussner ImgMedia: Added support for single-threaded platforms #jira UE-55986 Change 3937826 by Max.Preussner MediaAssets: Disabling media sound components on HTML5 if AudioMixer is not enabled Change 3937997 by Max.Chen Curve Editor: Add Zoom to Fit Curves so that selected curves from Sequencer can be focused on. Tested that undo doesn't re-zoom. #jira UE-55935 Change 3938000 by Max.Chen Sequencer: Stop all sounds before generating audio waveforms. #jira UE-55951 Change 3938376 by Max.Preussner XGEController: Disabled XGE Controller in single-threaded apps to prevent crash Change 3938444 by Max.Preussner Core: Added async support for single-threaded applications Change 3938445 by Max.Preussner Networking: Added support for single-threaded applications in UDP socket sender/receiver Change 3938447 by Max.Preussner Messaging: Added support for single-threaded applications Change 3939432 by Max.Chen Sequence Recorder: Append command list to global level editor actions so that shortcuts are accessible in level editor. #jira UE-55798 Change 3940229 by Andrew.Rodham Added prospective display rate upgrade to UMovieScene::PostLoad - There was previously some very odd behaviour that would assign the fixed frame interval only when a sub sequence was focused in SSequencer. This meant that many sequences could have a frame interval of 0 set in the data. - Under the old method of snap interval display this would have fallen back to getting the display interval from the sequencer settings, but we no longer look at these. - The USequencerSettings properties have been removed and in their place, a prospective data upgrade for sequences that have a fixed frame interval old 0fps that sets the play rate to the previous defaults based off the old USequencerSettings defaults. - This could end up 'changing' the display rate for sequences where the user has changed the snap interval in the settings for a particular sequence editor, but there's not much we can do about that given we don't have access to the USequencerSettings classes in UMovieScene #jira UE-55919 Change 3940277 by Andrew.Rodham Sequencer: Added ability to default frame resolutions and play rates for newly created actor sequences Change 3940378 by Andrew.Rodham Sequencer: Post move import dialog now defaults to the playback framerate of the sequence, and floors to frame numbers Change 3940559 by Andrew.Rodham Reinstated primed or recording sequence color Change 3940642 by Max.Preussner ImagePlate: Removed image plate media playback functionality Change 3940843 by Max.Preussner Core: Made TCircularQueue actually thread-safe; improved code comments Change 3940860 by Max.Chen Sequencer: Changed StructNameToKey to StructPathToKey Previously, keying a PropertyPath of [RenderTransform][Shear][X] would get trimmed to X, which doesn't map to a channel name as considered by Sequencer2dTransformTrackEditor. Instead, trim the resulting property path to [Shear][X] so that track editors can determine the desired struct path and channels to key. #jira UE-52966 Change 3941292 by Mike.Zyracki Fix for trajectories out of range not showing up. 1) If we had no key data we would pop the time, so wouldn't get the section ranges. 2) Calculating of upper bound was wrong, checking against -1 and not key == num of keys when doing algo::lower_bound. 3) No need to do the Bck-- for the bakward iterators since we fixed #2. We start now from the upper bound correctly. 4) If we had no keys (at section start,end) we would incorrectly say we were any key type, so since we draw constant keys as dashed we would do so incorrectly around section end points. #jira UE-55929 Change 3941424 by Max.Chen Curve Editor: Change Zoom to Fit to use TArrayView Change 3941498 by Max.Preussner Core: Added FMath::DivideAndRoundNearest function Change 3942097 by Matt.Hoffman Drop Frame Timecode Support for NTSC rates. Change 3942104 by Matt.Hoffman Sequence Recorder Group is no longer visible inside the World Outliner after using one. #jira 55266 Change 3942107 by Max.Chen Sequencer: Resurrect logic to find or extend an existing section when adding keys. Change 3942330 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942339 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942507 by Andrew.Rodham Sequencer: We no longer pad the time overlap threshold with a small number that is not scaled by the current zoom level - The presence of this pad was causing keys that were far apart to be grouped when zoomed in a long way Change 3942509 by Andrew.Rodham Sequencer: Only pad total view range, rather than section range as well when retrieving keys to render - This stops us from rendering keys that are within the view range, but outside the section range Change 3942512 by Andrew.Rodham Added transactions to some sequencer details customizations Change 3942513 by Andrew.Rodham Sequencer: Reinstated validation checks to UMovieSceneSection::SetStartFrame and SetEndFrame, changed erroneous uses to use SetRange Change 3942560 by Andrew.Rodham Pass by rvalue reference to appease error C2719 on Win32 ('InChannels': formal parameter with requested alignment of 8 won't be aligned) Change 3942697 by Andrew.Rodham Newly Created Level Sequences and Actor Sequences now default to 24000 fps frame resolution (+/- ~24hrs range, supporting all integer rates + 23.976) Change 3942700 by Andrew.Rodham Sequencer: Added legacy out-of-bounds errors for times that are not supported by the current legacy upgrade frame resolution Change 3942989 by Max.Preussner Core: Fixed circular queue count calculation Change 3943538 by Max.Preussner MediaAssets: Reverted workaround for procedural audio log spam in HTML5 (Actor component initialization cannot be skipped if the component is used in a level) Change 3944071 by Max.Preussner QAGame: Fixed Media Texture keeps last frame of Media when PIE ends #jira UE-53360 Change 3944292 by Max.Chen Sequencer: Added extra flags to ensure that asset initialization does not occur on template actor sequences #jira UE-56113 Change 3944364 by Max.Chen Sequencer: Prevent circular shot/master tracks. Tested adding master -> child -> master as drag and drop cinematic shot tracks and sub tracks as well as through the + button. #jira UE-56091 Change 3944422 by Max.Chen Sequence Recorder: Disable transform recording if off. #jira UE-56061 Change 3944745 by Andrew.Rodham Sequencer: Key rendering fixes - Fixed assert that occured when keys happened to reside on some times due to KeyTime + TimeOverlapThreshold - KeyTime being slightly larger TimeOverlapThreshold - Fixed keys sometimes being clipped when zoomed right in due to lack of half-frame offset - Added missing documentation to MovieSceneTimeHelpers.h #jira UE-56107 Change 3945231 by Andrew.Rodham Sequencer: Reconstruct channel proxy on Serialize to catch all cases of undo/redo, PostLoad and duplication #jira UE-56089 Change 3945301 by Andrew.Rodham Sequencer: Added safety checks during initial sequence recording to guard against applying negative or 0-sized sequence ranges #jira UE-56125 Change 3946627 by Max.Preussner Fortnite: Fixed game crashes closing editor while in PIE - Pure virtual function being called #jira UE-56144 [CL 3946896 by Max Chen in Main branch]
2018-03-14 22:09:33 -04:00
{
Copying //UE4/Dev-Sequencer to //UE4/Main ========================== MAJOR FEATURES + CHANGES ========================== Change 2875025 on 2016/02/20 by Andrew.Rodham Sequencer: Cinematic viewport improvements - Added optional letterbox overlay (defaults to 2.35:1) - Added ability to change safe frame colors - Added selected tracks' keys to the transport range - Added buttons for jumping between selected tracks' keyframes on the transport controls - Removed black padding around the viewport where possible - Added ability to specify whether a combo button/menu anchor should close when its parent receives focus - Separated logic of FGroupedKeyArea into FSequencerKeyCollection, so it can be used independently - Added playback range to the viewport frame numbers - All frame numbers are now spin boxes #jira UE-26429 Change 2875026 on 2016/02/20 by Thomas.Sarkanen Added console commands for recording sequences Changed plugin to a developer plugin so we can load it when the editor is in -game mode. Added Exec commands. Added some more logging to help diagnose problems when using commands. Added loading/saving of config for recorder settings (stored in Editor.ini). Also disabled controls in recorder window when recording. Added auto-saving of assets when in non-editor modes. Moved animation settings from UnrealEd to Engine module. Change 2875036 on 2016/02/20 by Max.Chen Sequencer: Call RedrawAllViewports instead of RedrawLevelEditingViewports. In particular, this fixes some update issues when editing values in the key editors. #jira UE-26960 Change 2875046 on 2016/02/20 by Max.Preussner Sequencer: Fix so that clicking on UMG Animations doesn't dirty the scene. #jira UE-26249 Change 2875047 on 2016/02/20 by Max.Chen Sequencer: Add option to toggle display of channel colors/lines. View->Channel Colors Change 2877138 on 2016/02/23 by Max.Chen Sequencer: Select corresponding track node when selecting key or section. Removed active/inactive selection since it was only being used in deletion and the rules for deletion are now dependent upon what is selected - delete keys and sections before deleting outliner nodes. Change 2877143 on 2016/02/23 by Thomas.Sarkanen Added new math function: WindRelativeAnglesDegrees Given two angles in degrees, 'wind' the angle in Angle1 so that it avoids >180 degree flips. Good for winding rotations previously expressed as quaternions into a euler-angle representation. Change 2877147 on 2016/02/23 by Thomas.Sarkanen Added the ability to import sequencer transforms from the root node of an animation sequence Intended for use after re-importing animations from DCC tools. Available in the right-click menu for transform tracks. Also added FindTrackBinding to UMovieScene so track bindings can be recovered from tracks. Change 2877163 on 2016/02/23 by Max.Chen Sequencer: Add option to create keyframe sections as infinite. Sequencer defaults to true, UMG defaults to false. Change 2877165 on 2016/02/23 by Max.Preussner Sequencer: Drawing vertical position lines when dragging keys Change 2878748 on 2016/02/23 by Max.Chen Curve Editor: Switch curve type to user when flatting or straightening tangents. #jira UE-27277 Change 2878799 on 2016/02/23 by Frank.Fella Sequencer - Add folders support to the outliner. Change 2880769 on 2016/02/24 by Andrew.Rodham Sequencer: Added ability to override runtime spawnable ownership in sequencer - This is exposed as an option on spawnables "Keep Alive Outside Playback Range (In Sequencer)" - Enabling this will stop spawnables from being destroyed when scrubbing outside of the playback range #jira UE-27205 Change 2880770 on 2016/02/24 by Thomas.Sarkanen Sequencer: Added countdown and recording indicator display when recording Also fixed extra popups added post-PIE when animation recordings auto shutdown. Change 2880782 on 2016/02/24 by Max.Chen Sequencer: Snapping now also uses the current time as a possible snap time. #jira UE-26306 Change 2880793 on 2016/02/24 by Max.Chen Sequencer: Add +Animation to Animation track so that it's consistent with all other tracks that have a + button. Change 2880812 on 2016/02/24 by Max.Chen Sequencer: Fix adjusting the leading edge of a shot section so that it cuts into the shot rather than adjusts the start time. #jira UE-26306 Change 2881624 on 2016/02/25 by Andrew.Rodham Changing shader version GUID to fix corrupt shaders in ddc Change 2882408 on 2016/02/25 by Thomas.Sarkanen Asset/actors stored in TLazyObjectPtrs can now reference game content from engine This is a legitimate use case as lazy object ptrs are designed to reference assets/actors cross-domain. Change 2882409 on 2016/02/25 by Thomas.Sarkanen [CL 2899785 by Max Chen in Main branch]
2016-03-08 16:55:04 -05:00
// The output is not bound to a delegate so we'll manage the value ourselves (no animation)
TimeSliderArgs.PlaybackRange.Set(NewRange);
}
}
void FSequencerTimeSliderController::SetSelectionRange(const TRange<FFrameNumber>& NewRange)
{
TimeSliderArgs.OnSelectionRangeChanged.ExecuteIfBound(NewRange);
}
bool FSequencerTimeSliderController::ZoomByDelta( float InDelta, float MousePositionFraction )
{
TRange<double> LocalViewRange = GetViewRange().GetAnimationTarget();
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3946692) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3801826 by Max.Chen PR #4304: Level Sequence crash fix - Guarded against dereferencing null componen. (Contributed by DSDambuster) Change 3801828 by Max.Chen PR #4302: Movie Scene Visibility Template unitialised variable, causing random . (Contributed by DSDambuster) Change 3801837 by Max.Chen Sequencer: Delay spawning/construction for convert to possessable. This fixes a bug where property values would be lost when converting back and forth from possessable to spawnable. #jira UE-52400 Change 3801841 by Max.Chen Sequencer: Make spacer nodes not selectable. PR #4194: Improvements to Sequencer (Contributed by projectgheist) #jira UE-53117 #jira UE-52139 Change 3804183 by Max.Preussner MediaAssets: Added missing lock in media sound component Change 3805414 by Max.Preussner MediaAssets: Setting valid GUID when initializing media texture resource Change 3819578 by Max.Chen PR #4370: When enabling the "MovieCapture", do not turn off the Stereo-3D display. (Contributed by yehaike) #jira UE-53647 Change 3823414 by Max.Chen Curve Editor: Lock down the first and last keys in the redundant keys removal range so that they're unaffected. #jira UE-53591 Change 3826406 by Max.Chen Sequencer: Move OnStartedPlaying() to within first update in UpdateTimeCursorPosition(). This fixes an issue where setting the hud/player visibility was getting stomped on later. #jira UE-52772 Change 3827044 by Max.Preussner MediaAssets: Added sprite visualization to media sound component #jira UE-53594 Change 3827988 by Max.Preussner MediaPlayerAssets: Fixed Media Texture is not linked to Media Player when created together #jira UE-53532 Change 3828506 by Max.Preussner MediaPlayerEditor: Added attenuation visualizer for media sound components #jira UE-53594 Change 3832590 by andrew.porter EngineTest: Added a keep state check in Property Animation sequencer test Change 3833053 by andrew.porter EngineTest: Adding Hierarchical Bias test Change 3835683 by andrew.porter EngineTest: Adding UMG Animation screenshot test Change 3836076 by Max.Chen Sequencer: Fix audio volume and pitch multiplier deprecation. Change 3836230 by andrew.porter EngineTest: Adding Sequence Bone Position automation test Change 3836347 by Max.Chen Sequencer: Fixes to shot name parsing. When a shot doesn't contain a shot number, assume, [ShotName]_[TakeNumber]. When duplicating a shot, put the new shot in the same path of the original shot, so that the take numbers will increment properly. #jira UE-51868 Change 3836552 by Max.Chen Sequencer: Sub section now has a takes menu Change 3838094 by Max.Chen UMG: Fix template finish not getting called on stop. This fixes a bug where sections aren't restored when finished. #jira UE-52285 Change 3838708 by Max.Chen Sequencer: Add notification when the blend type is changed. #jira UE-54046 Change 3840295 by Max.Chen Sequencer: Fix copy/paste crash for lights #jira UE-54084 Change 3840957 by Mike.Zyracki Added Show Only Keyable and Show Only Animated to the filter list in the property editor. Added IsPropertyAnimated to IDetailKeyframe Interface which already had support for showing properties which are keyable (which is used for the key icon next to the properties.). Could have created another interface but then would have had to mimic the sequencer binding, releasing also, so this seemed best way. One issue still left is that custom built detail items currently don't store associated properties(usually) and so certain properties, in particulalry transforms, won't show up as keyable or animated. Note this also shows up with the keyable icon not showing up next to transform tracks, and other filters like Show Only Modified not working with transforms/customs. Not sure best way to tackle this. #jira UESEQ-328 Change 3841756 by Max.Chen Sequencer: Fix unbound possessable components when pasting spawnables. #jira UE-54104 Change 3843950 by andrew.porter EngineTest: Renaming LevelStreaming tests/content to LevelVisibility Change 3844082 by Mike.Zyracki Missing file for animated filter in property editor. When finding if a track is animated we need to find it but we can't easily induce the MovieTrack class for any particular property. So we don't set a class for it and just search by it's ID and name. #jira UESEQ-328 Change 3846902 by Max.Preussner ImgMedia: Fixed image media player never finished initialization if loading failed #jira UE-54247 Change 3849820 by Mike.Zyracki Reassigning deleted widgets didn't work since the menu extender mechanism needs a valid UObject in order to perform an operation on it. So to fix we replaced GetObjectBindingContextMenuExtender in WidgetBlueprint with new delegate mechanism (OnBuildCustomContextMenuForGuid) that supports FGuid in addition to UObjects which is needed to handle re-binding deleted widgets. Note that the default sequencer hacks this for replacing deleted actors in SequencerObjectBindingNode to check to see if a LevelSequence is active. We could move to this mechanism there also. #jira UE-53163 Change 3852211 by Max.Chen UMG: Indicate name of the property that is not bound. #jira UE-54350 Change 3854120 by Max.Chen Sequencer: Fix sibling folders being allowed to have the same folder name. #jira UE-54363 Change 3854627 by Max.Chen Sequencer: Step to next/previous key should work for all tracks if there aren't any selected. #jira UESEQ-391 Change 3855825 by andrew.porter EngineTest: Adding animation blending automation test Change 3855950 by andrew.porter EngineTest: Adding correct expected valuues to animation blending test Change 3856237 by Matt.Hoffman UESEQ-336 - Sequencer Track Reordering Adds the ability to re-order Master Tracks, Folders and Object Bindings within sequencer hierarchies (including UMG). Adds the ability to do a one-off sorting of the content under the old sorting behavior if the user wants to reset their layout to how it was under legacy behavior. Modifies SequencerTrackNodes, SequencerFolderNodes and SequencerObjectBindingNodes to handle CanDrop/OnDrop for above, below and ontop of. Fixes a Slate Issue that forcibly expanded a TreeviewRow if an item handled OnDrop. Slate will now only forcibly expand the row if the item says the drop happened ontop of the item, and not above or below it like it previously did. Change 3856503 by andrew.porter EngineTest: Adding automation test for using animation blueprint with blend multi node in sequencer Change 3857875 by Max.Chen Sequencer: Assign the sequence id after the template is compiled. #jira UE-54462 Change 3858344 by Max.Chen Sequencer: Prevent Goto and Transform boxes from overlapping by allowing them to be visible at the same time in an autosized horizontal box. Also, added close button to the goto box. PR #4425: Prevent Goto and Transform boxes from overlapping in Sequencer ... (Contributed by projectgheist) #jira UE-54210 Change 3860566 by andrew.porter MediaFrameworkTest: Set the option to index 0 for the audio and video track list by default Change 3860654 by andrew.porter EngineTest: Enabling Camera Cut + FOV test Change 3860981 by andrew.porter EngineTest: Updating skeletal mesh tests with a delay after set playback position Change 3861256 by Max.Chen Sequencer: Add all bindings if none selected. #jira-54440 Change 3862154 by Andrew.Rodham Added TimeManagement module Change 3862424 by andrew.porter EngineTest: Turned on the test Bone Positions with Blend Multi Node Change 3862573 by andrew.porter EngineTest: Adding test to compare bone positions in a sequence that is blending an animation that is using an AnimBP Change 3865117 by Max.Chen Sequencer: Stop auto scroll on mouse release of movement. #jira UE-31212 Change 3865303 by Max.Chen Sequencer: Add drag and drop transactions #jira UE-54662 Change 3865304 by Max.Chen Sequencer: Fix crash when an actor factory is not found. Change 3865361 by Max.Chen Sequencer: Don't change the camera/shot lock button when popping out of a sequence. #jira UE-54665 Change 3865412 by Max.Chen Sequencer: Determine whether a transform track is for a camera by using the spawned object or template #jira UE-54666 Change 3865685 by Max.Chen Sequencer: Clear autoscrub offset when stopping autoscroll #jira UE-31212 Change 3865886 by Max.Chen Sequence Recorder: Log an error if the number of frames changes while recording. This can happen if the skeleton changes while recording. #jira UE-48715 Change 3866925 by Andrew.Porter MediaFrameworkTest: Changing the current PNG test video image sequence to 1024 x 576 Change 3867705 by andrew.porter QAGame: Adding Audio Sort Sequence to dev folder Change 3867890 by andrew.porter QAGame: Adding a sequence for testing a sorting crash to my dev folder Change 3872628 by Max.Chen Movie Scene Capture: Split delay before warmup into split delay before shot warmup so that there's separate controls for when the movie scene capture warmups up vs. shot boundaries. Change 3873131 by Matt.Hoffman UE-54732 - Crash reordering a folder with a track. This was caused by folders being the only type of track to check if someone was putting a parent track into a child track. Object Binding tracks and Tracks now check as well so that you can't use the above/below drop targets to add parents as children. This also fixed a typo in the localization keys. #jira UE-54732 Change 3873301 by Mike.Zyracki Added ability to support continous euler angle changes when changing rotations, in particularly with the rotation gizmo's. To do this we effectively added a form an of 'euler filter'(https://en.wikipedia.org/wiki/Euler_filter) to find the closest euler angle to the current euler angle. Three functions were added to FRotator to make this possible, one to get the euler angle that's has the same rotation as it, one to get the difference between two euler angles via Manhattan distance and a third using the previous two to choose a Rotator value that's closest to it. We then use these functions before calling UComponent::SetRelativeRotation to make sure we use the correct Euler after the Quat conversion. We also no longer limit(bound) the euler angles to -180,180, which is obviously necessary to avoid flips. I also changed how we caluclate yaw and roll when pitch is -90 or 90 to make it the standard approach of zeroing out roll and just setting yaw. Main reasons are the previous implementation had precision issues so things like 180, 90, -180 would show up due to numbers being nearly zero but negative,(this would break any smooth interpolations), and this facilitates having a 'gimbal' rotation mode (like Maya, Blender etc..) if we ever want that also. If needed we could keep the previous implementation but would need to add some FMath::IsNearlyZero checks, with less performance. Note we only do this special filtering when applying delta's to actors or components in the editors, which then call UComponent::SetRelativeRotationExact, which is a new function to foces the RelativeRotation to be equal to the new rotation. This allows us to store un-nomalized Rotators at the cost that the RotationCache may be broken. We didn't change any of the other UComponent functions that set rotations (via Quats or Transforms) so they will still be bounded and unwound. In SetInternalWorldLocationAndRotation we only set the rotation if the rotation has changed, which fixes the rotation getting changed and re-normalized if just translate happens. In TransformTrackEditor, we correclty use the bUndwing flag and in MovieScene3DTransformSection there was an un-needed winding check there, it will be unwound earlier if needed, which happens if Sequence Recording is happening. Max we should talk about what to do about this . Note the euler angle drag via the widget is still bound to 0-360. I think we should just unbound that now since the rotations value are now unbound. This review now includes fixes suggested by Zak. #jira UE-UE-22228 Change 3873483 by Matt.Hoffman Sequencer Tracks can now be inserted above the spacer at the bottom of the tree. #jira UE-54706 Change 3873899 by Max.Chen Sequencer: Add section selection throbbing Change 3873908 by Max.Chen Movie Scene Capture: Added logging per frame Change 3873924 by Matt.Hoffman Adds the ability to store Sequence Recorder setups into profiles that stay with the map and can be re-loaded later. Profiles store the Actor Recordings so the settings for each actor should carry with them. #jira UESEQ-339 Change 3874726 by Matt.Hoffman Disable drag-and-drop targets on spacers that come between rows in Sequencer. This prevents extra drag/drop targets showing up between each row. #jira UE-54706 Change 3874862 by Matt.Hoffman Audio Track no longer gets reordered when adding sub-audio tracks, as sub-tracks are no longer counted towards the sorting order index when normalizing indexes. #jira UE-54727 Change 3875905 by Matt.Hoffman Disable Fade Track UI if a fade track already exists in the sequence. #jira UESEQ-393 Change 3876163 by Max.Chen Sequencer: Swap the camera object to the camera component's owner if it's not the same. #jira UE-54874 Change 3876971 by Andrew.Porter EngineTest: Moved Media Player Seek test to new folder. Also enabled the test with new ground truth image. Change 3877040 by Max.Chen Cine Camera: Split camera properties to two groups, "Camera Options" and "Camera Settings". The cine camera now hides properties in the "Camera Settings" group so that properties like bConstrainAspectRatio (in the "Camera Options" group) can be visible. #jira UE-54192 Change 3877763 by Max.Chen Curve Editor: Fix curve changed on end drag so that only curves that had keys/tangents that were changed receive notification, otherwise all loaded curves were getting notified that they were changed. #jira UE-54951 Change 3878234 by Matt.Hoffman Disable "Drop Below" targets for Sequencer Tree nodes to prevent a confusing UX issue where dropping underneath a Object Binding Node puts it after the object binding node but the UI looks like it's inserting it inside the Object Binding node. #jira UE-54743 Change 3879359 by Mike.Zyracki If a track is inactive we dim it a bit which seems to be the UE4 way to show inactive or disabled state. We changed the active logic so that all subtracks need to be inactive for the track to also be inactive(instead of all active for active). This conforms to how the active state actually works, e.g if you have two sections and only one is active the track is still active above it. #jira UESEQ-388 Change 3879462 by Max.Chen Sequencer: Allow dragging onto a particular row which would move out any overlapping sections to make space for the newly created section. Newly created sections are now selected and throbbed to draw attention to themselves. #jira UE-54664 Change 3879464 by Max.Chen Sequencer: Fixed overlapping ranges being inserted into the evaluation field during compilation - The issue was that track segments that had been combined with adjacent segments (due to them being identical) would potentially cause a subsequently compiled frame to overlap with a range that had already been inserted into the evaluation field. - The insertion code previously asserted that only minor overlaps were catered for (due to fp rounding errors) and assumed that a supplied range could not entirely contain any other range in the field. - The solution is to supply the insertion time along with the range to know exactly where the data should live in the field, and crop the range to the maximum allowable space between adjacent ranges. #jira UE-54922 Change 3879590 by Matt.Hoffman Items that are now added to the Sequencer via the "+Track" menu will be selected after being added. Items can now be added inside of folders instead of just to the root level. #jira UE-27397 Change 3879612 by Mike.Zyracki Display Nodes with no children are always active. #jira UESEQ-388 Change 3879730 by Matt.Hoffman Sequence Recorder's actor recording groups now remove items from the group when removed via the UI. #jira UESEQ-339 Change 3880256 by Mike.Zyracki Fix issue with inactive display with folders and other track nodes. #jira UESEQ-388 Change 3883491 by Max.Chen Fix issue where tick is skipped due to last ticked pose isn't cleared after AnimInstance changes. Copy from Release-4.19 #jira UE-51323 Change 3883603 by Max.Chen Movie Scene Capture: Add option toggle disable screen percentage. By default this is on (no change in current behavior). #jira UE-51898 Change 3885074 by Max.Preussner MediaCompositing: Resetting media texture & freeing resource on section end; removed dead code Change 3887220 by Max.Preussner MediaCompositing: Defaulted media section duration to 1 sec (since we do not know the actual duration in most cases) Change 3887478 by Matt.Hoffman Sequences now show [Inactive] in their title bars when they're disabled. This helps communicate why a sequence isn't being evaluated. #jira UE-51469 Change 3888985 by Max.Chen Movie Scene Capture: Clamp HDR Compression Quality between 0 and 1. #jira UE-55136 Change 3893519 by Max.Chen Sequence Recorder: Clarified tooltip for bRecordNearbySpawnedActors - spawned actors will still be recorded if they match the ActorFilter. #jira UE-55238 Change 3893546 by Max.Chen Sequence Recorder: If a selected actor already has a recording, add a blank recording. #jira UE-55239 Change 3894044 by Max.Preussner MediaCompositing: Added support for seeking into a media section Change 3894310 by andrew.porter MediaFrameworkTest: Adding Img media sources for 1080 and 2160 ravent test content Change 3894426 by Max.Preussner MediaAssets: Letting media textures with AutoClear retain their clear color when player is reset Change 3895717 by Max.Chen Sequencer: Null checks to prevent crash when saving the default state of a spawnable #jira UE-55304 Change 3897388 by Max.Chen Sequencer: Don't update current time to be within the view range when stepping into a sequence. #jira UE-55322 Change 3897452 by Max.Chen Audio: Fix crash when trying to record audio without any active capture devices. Log warning if the number of input channels is not 1 or 2. #jira UE-55223 Change 3897619 by Max.Preussner MediaCompositing: Removed commented out code Change 3898072 by Max.Chen Sequencer: Override the animation asset in the player state if it doesn't match the animation asset that's being evaluated. #jira UE-55328 Change 3898272 by Max.Preussner MediaPlayerEditor: Made slate brush constants static Change 3898704 by Max.Chen Sequencer: Skip if the binding id's sequence can't be found. #jira UE-55337 Change 3899855 by Max.Preussner MediaCompositingEditor: Added cache state visualization to media track Change 3900300 by Max.Preussner MediaCompositingEditor: Added loop indicators to media sections Change 3900694 by Max.Preussner ImfMedia: Looping cache only when player is looping Change 3900892 by Max.Preussner Stats: Added stats category for media framework Change 3900954 by Max.Preussner MediaCompositing: Don't evaluate at the end of media section Change 3901348 by Max.Preussner Core: Replaced TLruCache autos for better readability Change 3901655 by Max.Preussner ImgMedia: Added more perf stats to EXR reader Change 3901972 by Max.Preussner MediaAssets: Added getter for media player in media sound components Change 3902233 by Max.Preussner MediaAssets: Enabling media textures to receive samples right after player is assigned Change 3902238 by Max.Preussner MediaCompositing: Working around init/shutdown idiosyncracies in sequencer Change 3904045 by Max.Chen Sequencer: Fix copy/paste crash. Only process UMovieSceneCopyableBinding and objects that can be spawned by the movie scene spawn register. #jira UE-55314 Change 3905605 by Max.Chen Sequencer: Restrict spawnables from being created if they have a ClassWithin that UMovieScene is not a child of. #jira UE-55429 Change 3906550 by Max.Chen Sequencer: Add media track icon #jira UE-55480 Change 3907101 by Max.Chen Sequence Recorder: Fix bugs related to not recording a level sequence. There were certain assumptions that creating a level sequence meant that sequence recording was in progress. This is not always the case - the recorders can record animation assets and not create a level sequence. Changed the notion of IsRecording() to having at least one actor recording that is recording. Countdown timer, recording displays, etc should function if IsRecording() and not based on whether a level sequence is created. #jira UE-55485 Change 3907247 by Max.Chen Sequence Recorder: Fix crash not removing PrepareToCleanseEditorObject delegate. Repros when opening sequence recorder, closing it, and then opening or creating a level. Change 3910343 by Max.Preussner Core: Added async helper for executing functions on a given thread pool Change 3910346 by Max.Preussner ImgMedia: Added separate thread pools for loading/decoding and deleting image frames Change 3910829 by Max.Preussner Profiler: Increased visible range of profiler graph Change 3910841 by Max.Preussner MediaCompositing: Displaying asset name instead of full media source path in media section Change 3910870 by Max.Preussner ImgMedia: Using deallocation thread pool only in debug builds Change 3919642 by Max.Chen Sequence Recorder: Clarify active tooltip #jira UE-55661 Change 3919660 by Max.Chen Sequencer: Sequence template source signatures are now also compared to catch the case where a sub-sequence asset has been saved but not modified - The following sequence of events exposes this issue: - Create a master sequence with a single shot that spawns a cube - Add this sequence to a level and set it to auto-play - Save everything and restart - Resave just the inner shot asset without opening it - PIE - The inner shot never spawns its cube because its template was wiped on save, but its signature never changed. Since the master sequence previously didn't check the template source signature, it ends up trying to evaluate an empty template. #jira UE-55626 #jira UE-55490 Change 3921825 by Max.Chen Sequencer: "Run Construction Script in Sequencer" is off by default for blueprints but on for Sequencer. This allows the content author to switch it on for specific blueprints and sequencer will be default, run those with construction scripts enabled. Change 3922232 by Max.Chen Sequence Recorder: Reset countdelay on stop. #jira UE-55755 Change 3922306 by Max.Chen Sequence Recorder: Don't automatically mark transforms to be recorded by sequence recorder. Instead, log a warning if the user toggled it off to warn that the resulting animation might not match gameplay. #jira UE-55758 Change 3922912 by Max.Chen Sequence Recorder: Fix refresh next sequence name #jira UE-55757 Change 3927654 by Max.Chen Movie Scene Capture: Added format mapping for the name of the current camera #jira UE-55769 PR #4537 Change 3927658 by Max.Chen Sequencer: Added fbx property mapping for "FocusDistance" to "FocusSettings.ManualFocusDistance" #jira UE-55782 Change 3932022 by Max.Chen Sequencer: Add import animation track section to next available row index. #jira UE-55892 Change 3933919 by Max.Chen Sequencer: Jump to playback start frame and not 0 to start playback for recording. #jira UE-55933 Change 3934307 by Andrew.Rodham Sequencer: Add template signature that is re-generated every time the base template is regenerated, which invalidates evaluation fields This fixes an issue where the same sequence is instantiated multiple times in a sequence. If the source sequence was saved, its template would be wiped, which would invalidate the template ID When an instance tries to evaluate the master template, it would only invalidate a range in the evaluation field that was the hull of any invalid sub sequences overlapping the current time, potentially leaving invalid data in the evaluation field at positions later (or earlier) on in the sequence When the sub template was re-generated, it receives the same SequenceSignature as it had before (because the sequence hasn't actually changed), which causes the stale evaluation field data to fail the IsDirty check (because the sequence is the same as it thought, but the *template* has changed) This has been addressed be adding a signature to templates themselves, and checking both the template signature and sequence signature as a part of the IsDirty check. This ensures that we regenerate if either the template, or the sequence have changed. #jira UE-55934 Change 3936327 by Andrew.Rodham Sequencer: Removed increment when trimming right UMovieSceneSection::TrimSection already explicity assigns an exclusive bound to the time passed in. The new behavior means we can trim a section to the right, and insert another section without changing the time to create adjacent sections. #jira UE-42652 Change 3936328 by Andrew.Rodham Fixed KeyFrameManipulator assignment operators and copy/move constructors - These types are potentially self-referential so cannot use default constructors/assignment Change 3936330 by Andrew.Rodham Converted UMGSequencePlayer to use frames internally #jira UE-54878 Change 3936726 by Max.Chen Sequencer: Set track node as the parent of the key area node. The key area switcher needs the object binding id from the parent object binding node. Without this, the binding to the external value fails. #jira UE-55931 Change 3936775 by Max.Chen Sequencer: Should stop or loop should compare DurationFrames with Current Time from StartTime. The bug is that if you set 30 warmup frames in movie rendering for a range of 0-100, the FrameRange will be starting at -30 and have a duration of 130. Without this fix, the playback will continue until frame 130, rather than 100. #jira UE-55933 Change 3936935 by Matt.Hoffman Easing Curves are now represented in Play Rate resolution instead of internal resolution. #jira UE-55937 Change 3937069 by Matt.Hoffman Users can toggle if the is infinite on each side, limited by which tracks support infinite ranges. #jira UE-55891 Change 3937516 by Max.Preussner ImgMedia: Added support for single-threaded platforms #jira UE-55986 Change 3937826 by Max.Preussner MediaAssets: Disabling media sound components on HTML5 if AudioMixer is not enabled Change 3937997 by Max.Chen Curve Editor: Add Zoom to Fit Curves so that selected curves from Sequencer can be focused on. Tested that undo doesn't re-zoom. #jira UE-55935 Change 3938000 by Max.Chen Sequencer: Stop all sounds before generating audio waveforms. #jira UE-55951 Change 3938376 by Max.Preussner XGEController: Disabled XGE Controller in single-threaded apps to prevent crash Change 3938444 by Max.Preussner Core: Added async support for single-threaded applications Change 3938445 by Max.Preussner Networking: Added support for single-threaded applications in UDP socket sender/receiver Change 3938447 by Max.Preussner Messaging: Added support for single-threaded applications Change 3939432 by Max.Chen Sequence Recorder: Append command list to global level editor actions so that shortcuts are accessible in level editor. #jira UE-55798 Change 3940229 by Andrew.Rodham Added prospective display rate upgrade to UMovieScene::PostLoad - There was previously some very odd behaviour that would assign the fixed frame interval only when a sub sequence was focused in SSequencer. This meant that many sequences could have a frame interval of 0 set in the data. - Under the old method of snap interval display this would have fallen back to getting the display interval from the sequencer settings, but we no longer look at these. - The USequencerSettings properties have been removed and in their place, a prospective data upgrade for sequences that have a fixed frame interval old 0fps that sets the play rate to the previous defaults based off the old USequencerSettings defaults. - This could end up 'changing' the display rate for sequences where the user has changed the snap interval in the settings for a particular sequence editor, but there's not much we can do about that given we don't have access to the USequencerSettings classes in UMovieScene #jira UE-55919 Change 3940277 by Andrew.Rodham Sequencer: Added ability to default frame resolutions and play rates for newly created actor sequences Change 3940378 by Andrew.Rodham Sequencer: Post move import dialog now defaults to the playback framerate of the sequence, and floors to frame numbers Change 3940559 by Andrew.Rodham Reinstated primed or recording sequence color Change 3940642 by Max.Preussner ImagePlate: Removed image plate media playback functionality Change 3940843 by Max.Preussner Core: Made TCircularQueue actually thread-safe; improved code comments Change 3940860 by Max.Chen Sequencer: Changed StructNameToKey to StructPathToKey Previously, keying a PropertyPath of [RenderTransform][Shear][X] would get trimmed to X, which doesn't map to a channel name as considered by Sequencer2dTransformTrackEditor. Instead, trim the resulting property path to [Shear][X] so that track editors can determine the desired struct path and channels to key. #jira UE-52966 Change 3941292 by Mike.Zyracki Fix for trajectories out of range not showing up. 1) If we had no key data we would pop the time, so wouldn't get the section ranges. 2) Calculating of upper bound was wrong, checking against -1 and not key == num of keys when doing algo::lower_bound. 3) No need to do the Bck-- for the bakward iterators since we fixed #2. We start now from the upper bound correctly. 4) If we had no keys (at section start,end) we would incorrectly say we were any key type, so since we draw constant keys as dashed we would do so incorrectly around section end points. #jira UE-55929 Change 3941424 by Max.Chen Curve Editor: Change Zoom to Fit to use TArrayView Change 3941498 by Max.Preussner Core: Added FMath::DivideAndRoundNearest function Change 3942097 by Matt.Hoffman Drop Frame Timecode Support for NTSC rates. Change 3942104 by Matt.Hoffman Sequence Recorder Group is no longer visible inside the World Outliner after using one. #jira 55266 Change 3942107 by Max.Chen Sequencer: Resurrect logic to find or extend an existing section when adding keys. Change 3942330 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942339 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942507 by Andrew.Rodham Sequencer: We no longer pad the time overlap threshold with a small number that is not scaled by the current zoom level - The presence of this pad was causing keys that were far apart to be grouped when zoomed in a long way Change 3942509 by Andrew.Rodham Sequencer: Only pad total view range, rather than section range as well when retrieving keys to render - This stops us from rendering keys that are within the view range, but outside the section range Change 3942512 by Andrew.Rodham Added transactions to some sequencer details customizations Change 3942513 by Andrew.Rodham Sequencer: Reinstated validation checks to UMovieSceneSection::SetStartFrame and SetEndFrame, changed erroneous uses to use SetRange Change 3942560 by Andrew.Rodham Pass by rvalue reference to appease error C2719 on Win32 ('InChannels': formal parameter with requested alignment of 8 won't be aligned) Change 3942697 by Andrew.Rodham Newly Created Level Sequences and Actor Sequences now default to 24000 fps frame resolution (+/- ~24hrs range, supporting all integer rates + 23.976) Change 3942700 by Andrew.Rodham Sequencer: Added legacy out-of-bounds errors for times that are not supported by the current legacy upgrade frame resolution Change 3942989 by Max.Preussner Core: Fixed circular queue count calculation Change 3943538 by Max.Preussner MediaAssets: Reverted workaround for procedural audio log spam in HTML5 (Actor component initialization cannot be skipped if the component is used in a level) Change 3944071 by Max.Preussner QAGame: Fixed Media Texture keeps last frame of Media when PIE ends #jira UE-53360 Change 3944292 by Max.Chen Sequencer: Added extra flags to ensure that asset initialization does not occur on template actor sequences #jira UE-56113 Change 3944364 by Max.Chen Sequencer: Prevent circular shot/master tracks. Tested adding master -> child -> master as drag and drop cinematic shot tracks and sub tracks as well as through the + button. #jira UE-56091 Change 3944422 by Max.Chen Sequence Recorder: Disable transform recording if off. #jira UE-56061 Change 3944745 by Andrew.Rodham Sequencer: Key rendering fixes - Fixed assert that occured when keys happened to reside on some times due to KeyTime + TimeOverlapThreshold - KeyTime being slightly larger TimeOverlapThreshold - Fixed keys sometimes being clipped when zoomed right in due to lack of half-frame offset - Added missing documentation to MovieSceneTimeHelpers.h #jira UE-56107 Change 3945231 by Andrew.Rodham Sequencer: Reconstruct channel proxy on Serialize to catch all cases of undo/redo, PostLoad and duplication #jira UE-56089 Change 3945301 by Andrew.Rodham Sequencer: Added safety checks during initial sequence recording to guard against applying negative or 0-sized sequence ranges #jira UE-56125 Change 3946627 by Max.Preussner Fortnite: Fixed game crashes closing editor while in PIE - Pure virtual function being called #jira UE-56144 [CL 3946896 by Max Chen in Main branch]
2018-03-14 22:09:33 -04:00
double LocalViewRangeMax = LocalViewRange.GetUpperBoundValue();
double LocalViewRangeMin = LocalViewRange.GetLowerBoundValue();
const double OutputViewSize = LocalViewRangeMax - LocalViewRangeMin;
const double OutputChange = OutputViewSize * InDelta;
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3946692) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3801826 by Max.Chen PR #4304: Level Sequence crash fix - Guarded against dereferencing null componen. (Contributed by DSDambuster) Change 3801828 by Max.Chen PR #4302: Movie Scene Visibility Template unitialised variable, causing random . (Contributed by DSDambuster) Change 3801837 by Max.Chen Sequencer: Delay spawning/construction for convert to possessable. This fixes a bug where property values would be lost when converting back and forth from possessable to spawnable. #jira UE-52400 Change 3801841 by Max.Chen Sequencer: Make spacer nodes not selectable. PR #4194: Improvements to Sequencer (Contributed by projectgheist) #jira UE-53117 #jira UE-52139 Change 3804183 by Max.Preussner MediaAssets: Added missing lock in media sound component Change 3805414 by Max.Preussner MediaAssets: Setting valid GUID when initializing media texture resource Change 3819578 by Max.Chen PR #4370: When enabling the "MovieCapture", do not turn off the Stereo-3D display. (Contributed by yehaike) #jira UE-53647 Change 3823414 by Max.Chen Curve Editor: Lock down the first and last keys in the redundant keys removal range so that they're unaffected. #jira UE-53591 Change 3826406 by Max.Chen Sequencer: Move OnStartedPlaying() to within first update in UpdateTimeCursorPosition(). This fixes an issue where setting the hud/player visibility was getting stomped on later. #jira UE-52772 Change 3827044 by Max.Preussner MediaAssets: Added sprite visualization to media sound component #jira UE-53594 Change 3827988 by Max.Preussner MediaPlayerAssets: Fixed Media Texture is not linked to Media Player when created together #jira UE-53532 Change 3828506 by Max.Preussner MediaPlayerEditor: Added attenuation visualizer for media sound components #jira UE-53594 Change 3832590 by andrew.porter EngineTest: Added a keep state check in Property Animation sequencer test Change 3833053 by andrew.porter EngineTest: Adding Hierarchical Bias test Change 3835683 by andrew.porter EngineTest: Adding UMG Animation screenshot test Change 3836076 by Max.Chen Sequencer: Fix audio volume and pitch multiplier deprecation. Change 3836230 by andrew.porter EngineTest: Adding Sequence Bone Position automation test Change 3836347 by Max.Chen Sequencer: Fixes to shot name parsing. When a shot doesn't contain a shot number, assume, [ShotName]_[TakeNumber]. When duplicating a shot, put the new shot in the same path of the original shot, so that the take numbers will increment properly. #jira UE-51868 Change 3836552 by Max.Chen Sequencer: Sub section now has a takes menu Change 3838094 by Max.Chen UMG: Fix template finish not getting called on stop. This fixes a bug where sections aren't restored when finished. #jira UE-52285 Change 3838708 by Max.Chen Sequencer: Add notification when the blend type is changed. #jira UE-54046 Change 3840295 by Max.Chen Sequencer: Fix copy/paste crash for lights #jira UE-54084 Change 3840957 by Mike.Zyracki Added Show Only Keyable and Show Only Animated to the filter list in the property editor. Added IsPropertyAnimated to IDetailKeyframe Interface which already had support for showing properties which are keyable (which is used for the key icon next to the properties.). Could have created another interface but then would have had to mimic the sequencer binding, releasing also, so this seemed best way. One issue still left is that custom built detail items currently don't store associated properties(usually) and so certain properties, in particulalry transforms, won't show up as keyable or animated. Note this also shows up with the keyable icon not showing up next to transform tracks, and other filters like Show Only Modified not working with transforms/customs. Not sure best way to tackle this. #jira UESEQ-328 Change 3841756 by Max.Chen Sequencer: Fix unbound possessable components when pasting spawnables. #jira UE-54104 Change 3843950 by andrew.porter EngineTest: Renaming LevelStreaming tests/content to LevelVisibility Change 3844082 by Mike.Zyracki Missing file for animated filter in property editor. When finding if a track is animated we need to find it but we can't easily induce the MovieTrack class for any particular property. So we don't set a class for it and just search by it's ID and name. #jira UESEQ-328 Change 3846902 by Max.Preussner ImgMedia: Fixed image media player never finished initialization if loading failed #jira UE-54247 Change 3849820 by Mike.Zyracki Reassigning deleted widgets didn't work since the menu extender mechanism needs a valid UObject in order to perform an operation on it. So to fix we replaced GetObjectBindingContextMenuExtender in WidgetBlueprint with new delegate mechanism (OnBuildCustomContextMenuForGuid) that supports FGuid in addition to UObjects which is needed to handle re-binding deleted widgets. Note that the default sequencer hacks this for replacing deleted actors in SequencerObjectBindingNode to check to see if a LevelSequence is active. We could move to this mechanism there also. #jira UE-53163 Change 3852211 by Max.Chen UMG: Indicate name of the property that is not bound. #jira UE-54350 Change 3854120 by Max.Chen Sequencer: Fix sibling folders being allowed to have the same folder name. #jira UE-54363 Change 3854627 by Max.Chen Sequencer: Step to next/previous key should work for all tracks if there aren't any selected. #jira UESEQ-391 Change 3855825 by andrew.porter EngineTest: Adding animation blending automation test Change 3855950 by andrew.porter EngineTest: Adding correct expected valuues to animation blending test Change 3856237 by Matt.Hoffman UESEQ-336 - Sequencer Track Reordering Adds the ability to re-order Master Tracks, Folders and Object Bindings within sequencer hierarchies (including UMG). Adds the ability to do a one-off sorting of the content under the old sorting behavior if the user wants to reset their layout to how it was under legacy behavior. Modifies SequencerTrackNodes, SequencerFolderNodes and SequencerObjectBindingNodes to handle CanDrop/OnDrop for above, below and ontop of. Fixes a Slate Issue that forcibly expanded a TreeviewRow if an item handled OnDrop. Slate will now only forcibly expand the row if the item says the drop happened ontop of the item, and not above or below it like it previously did. Change 3856503 by andrew.porter EngineTest: Adding automation test for using animation blueprint with blend multi node in sequencer Change 3857875 by Max.Chen Sequencer: Assign the sequence id after the template is compiled. #jira UE-54462 Change 3858344 by Max.Chen Sequencer: Prevent Goto and Transform boxes from overlapping by allowing them to be visible at the same time in an autosized horizontal box. Also, added close button to the goto box. PR #4425: Prevent Goto and Transform boxes from overlapping in Sequencer ... (Contributed by projectgheist) #jira UE-54210 Change 3860566 by andrew.porter MediaFrameworkTest: Set the option to index 0 for the audio and video track list by default Change 3860654 by andrew.porter EngineTest: Enabling Camera Cut + FOV test Change 3860981 by andrew.porter EngineTest: Updating skeletal mesh tests with a delay after set playback position Change 3861256 by Max.Chen Sequencer: Add all bindings if none selected. #jira-54440 Change 3862154 by Andrew.Rodham Added TimeManagement module Change 3862424 by andrew.porter EngineTest: Turned on the test Bone Positions with Blend Multi Node Change 3862573 by andrew.porter EngineTest: Adding test to compare bone positions in a sequence that is blending an animation that is using an AnimBP Change 3865117 by Max.Chen Sequencer: Stop auto scroll on mouse release of movement. #jira UE-31212 Change 3865303 by Max.Chen Sequencer: Add drag and drop transactions #jira UE-54662 Change 3865304 by Max.Chen Sequencer: Fix crash when an actor factory is not found. Change 3865361 by Max.Chen Sequencer: Don't change the camera/shot lock button when popping out of a sequence. #jira UE-54665 Change 3865412 by Max.Chen Sequencer: Determine whether a transform track is for a camera by using the spawned object or template #jira UE-54666 Change 3865685 by Max.Chen Sequencer: Clear autoscrub offset when stopping autoscroll #jira UE-31212 Change 3865886 by Max.Chen Sequence Recorder: Log an error if the number of frames changes while recording. This can happen if the skeleton changes while recording. #jira UE-48715 Change 3866925 by Andrew.Porter MediaFrameworkTest: Changing the current PNG test video image sequence to 1024 x 576 Change 3867705 by andrew.porter QAGame: Adding Audio Sort Sequence to dev folder Change 3867890 by andrew.porter QAGame: Adding a sequence for testing a sorting crash to my dev folder Change 3872628 by Max.Chen Movie Scene Capture: Split delay before warmup into split delay before shot warmup so that there's separate controls for when the movie scene capture warmups up vs. shot boundaries. Change 3873131 by Matt.Hoffman UE-54732 - Crash reordering a folder with a track. This was caused by folders being the only type of track to check if someone was putting a parent track into a child track. Object Binding tracks and Tracks now check as well so that you can't use the above/below drop targets to add parents as children. This also fixed a typo in the localization keys. #jira UE-54732 Change 3873301 by Mike.Zyracki Added ability to support continous euler angle changes when changing rotations, in particularly with the rotation gizmo's. To do this we effectively added a form an of 'euler filter'(https://en.wikipedia.org/wiki/Euler_filter) to find the closest euler angle to the current euler angle. Three functions were added to FRotator to make this possible, one to get the euler angle that's has the same rotation as it, one to get the difference between two euler angles via Manhattan distance and a third using the previous two to choose a Rotator value that's closest to it. We then use these functions before calling UComponent::SetRelativeRotation to make sure we use the correct Euler after the Quat conversion. We also no longer limit(bound) the euler angles to -180,180, which is obviously necessary to avoid flips. I also changed how we caluclate yaw and roll when pitch is -90 or 90 to make it the standard approach of zeroing out roll and just setting yaw. Main reasons are the previous implementation had precision issues so things like 180, 90, -180 would show up due to numbers being nearly zero but negative,(this would break any smooth interpolations), and this facilitates having a 'gimbal' rotation mode (like Maya, Blender etc..) if we ever want that also. If needed we could keep the previous implementation but would need to add some FMath::IsNearlyZero checks, with less performance. Note we only do this special filtering when applying delta's to actors or components in the editors, which then call UComponent::SetRelativeRotationExact, which is a new function to foces the RelativeRotation to be equal to the new rotation. This allows us to store un-nomalized Rotators at the cost that the RotationCache may be broken. We didn't change any of the other UComponent functions that set rotations (via Quats or Transforms) so they will still be bounded and unwound. In SetInternalWorldLocationAndRotation we only set the rotation if the rotation has changed, which fixes the rotation getting changed and re-normalized if just translate happens. In TransformTrackEditor, we correclty use the bUndwing flag and in MovieScene3DTransformSection there was an un-needed winding check there, it will be unwound earlier if needed, which happens if Sequence Recording is happening. Max we should talk about what to do about this . Note the euler angle drag via the widget is still bound to 0-360. I think we should just unbound that now since the rotations value are now unbound. This review now includes fixes suggested by Zak. #jira UE-UE-22228 Change 3873483 by Matt.Hoffman Sequencer Tracks can now be inserted above the spacer at the bottom of the tree. #jira UE-54706 Change 3873899 by Max.Chen Sequencer: Add section selection throbbing Change 3873908 by Max.Chen Movie Scene Capture: Added logging per frame Change 3873924 by Matt.Hoffman Adds the ability to store Sequence Recorder setups into profiles that stay with the map and can be re-loaded later. Profiles store the Actor Recordings so the settings for each actor should carry with them. #jira UESEQ-339 Change 3874726 by Matt.Hoffman Disable drag-and-drop targets on spacers that come between rows in Sequencer. This prevents extra drag/drop targets showing up between each row. #jira UE-54706 Change 3874862 by Matt.Hoffman Audio Track no longer gets reordered when adding sub-audio tracks, as sub-tracks are no longer counted towards the sorting order index when normalizing indexes. #jira UE-54727 Change 3875905 by Matt.Hoffman Disable Fade Track UI if a fade track already exists in the sequence. #jira UESEQ-393 Change 3876163 by Max.Chen Sequencer: Swap the camera object to the camera component's owner if it's not the same. #jira UE-54874 Change 3876971 by Andrew.Porter EngineTest: Moved Media Player Seek test to new folder. Also enabled the test with new ground truth image. Change 3877040 by Max.Chen Cine Camera: Split camera properties to two groups, "Camera Options" and "Camera Settings". The cine camera now hides properties in the "Camera Settings" group so that properties like bConstrainAspectRatio (in the "Camera Options" group) can be visible. #jira UE-54192 Change 3877763 by Max.Chen Curve Editor: Fix curve changed on end drag so that only curves that had keys/tangents that were changed receive notification, otherwise all loaded curves were getting notified that they were changed. #jira UE-54951 Change 3878234 by Matt.Hoffman Disable "Drop Below" targets for Sequencer Tree nodes to prevent a confusing UX issue where dropping underneath a Object Binding Node puts it after the object binding node but the UI looks like it's inserting it inside the Object Binding node. #jira UE-54743 Change 3879359 by Mike.Zyracki If a track is inactive we dim it a bit which seems to be the UE4 way to show inactive or disabled state. We changed the active logic so that all subtracks need to be inactive for the track to also be inactive(instead of all active for active). This conforms to how the active state actually works, e.g if you have two sections and only one is active the track is still active above it. #jira UESEQ-388 Change 3879462 by Max.Chen Sequencer: Allow dragging onto a particular row which would move out any overlapping sections to make space for the newly created section. Newly created sections are now selected and throbbed to draw attention to themselves. #jira UE-54664 Change 3879464 by Max.Chen Sequencer: Fixed overlapping ranges being inserted into the evaluation field during compilation - The issue was that track segments that had been combined with adjacent segments (due to them being identical) would potentially cause a subsequently compiled frame to overlap with a range that had already been inserted into the evaluation field. - The insertion code previously asserted that only minor overlaps were catered for (due to fp rounding errors) and assumed that a supplied range could not entirely contain any other range in the field. - The solution is to supply the insertion time along with the range to know exactly where the data should live in the field, and crop the range to the maximum allowable space between adjacent ranges. #jira UE-54922 Change 3879590 by Matt.Hoffman Items that are now added to the Sequencer via the "+Track" menu will be selected after being added. Items can now be added inside of folders instead of just to the root level. #jira UE-27397 Change 3879612 by Mike.Zyracki Display Nodes with no children are always active. #jira UESEQ-388 Change 3879730 by Matt.Hoffman Sequence Recorder's actor recording groups now remove items from the group when removed via the UI. #jira UESEQ-339 Change 3880256 by Mike.Zyracki Fix issue with inactive display with folders and other track nodes. #jira UESEQ-388 Change 3883491 by Max.Chen Fix issue where tick is skipped due to last ticked pose isn't cleared after AnimInstance changes. Copy from Release-4.19 #jira UE-51323 Change 3883603 by Max.Chen Movie Scene Capture: Add option toggle disable screen percentage. By default this is on (no change in current behavior). #jira UE-51898 Change 3885074 by Max.Preussner MediaCompositing: Resetting media texture & freeing resource on section end; removed dead code Change 3887220 by Max.Preussner MediaCompositing: Defaulted media section duration to 1 sec (since we do not know the actual duration in most cases) Change 3887478 by Matt.Hoffman Sequences now show [Inactive] in their title bars when they're disabled. This helps communicate why a sequence isn't being evaluated. #jira UE-51469 Change 3888985 by Max.Chen Movie Scene Capture: Clamp HDR Compression Quality between 0 and 1. #jira UE-55136 Change 3893519 by Max.Chen Sequence Recorder: Clarified tooltip for bRecordNearbySpawnedActors - spawned actors will still be recorded if they match the ActorFilter. #jira UE-55238 Change 3893546 by Max.Chen Sequence Recorder: If a selected actor already has a recording, add a blank recording. #jira UE-55239 Change 3894044 by Max.Preussner MediaCompositing: Added support for seeking into a media section Change 3894310 by andrew.porter MediaFrameworkTest: Adding Img media sources for 1080 and 2160 ravent test content Change 3894426 by Max.Preussner MediaAssets: Letting media textures with AutoClear retain their clear color when player is reset Change 3895717 by Max.Chen Sequencer: Null checks to prevent crash when saving the default state of a spawnable #jira UE-55304 Change 3897388 by Max.Chen Sequencer: Don't update current time to be within the view range when stepping into a sequence. #jira UE-55322 Change 3897452 by Max.Chen Audio: Fix crash when trying to record audio without any active capture devices. Log warning if the number of input channels is not 1 or 2. #jira UE-55223 Change 3897619 by Max.Preussner MediaCompositing: Removed commented out code Change 3898072 by Max.Chen Sequencer: Override the animation asset in the player state if it doesn't match the animation asset that's being evaluated. #jira UE-55328 Change 3898272 by Max.Preussner MediaPlayerEditor: Made slate brush constants static Change 3898704 by Max.Chen Sequencer: Skip if the binding id's sequence can't be found. #jira UE-55337 Change 3899855 by Max.Preussner MediaCompositingEditor: Added cache state visualization to media track Change 3900300 by Max.Preussner MediaCompositingEditor: Added loop indicators to media sections Change 3900694 by Max.Preussner ImfMedia: Looping cache only when player is looping Change 3900892 by Max.Preussner Stats: Added stats category for media framework Change 3900954 by Max.Preussner MediaCompositing: Don't evaluate at the end of media section Change 3901348 by Max.Preussner Core: Replaced TLruCache autos for better readability Change 3901655 by Max.Preussner ImgMedia: Added more perf stats to EXR reader Change 3901972 by Max.Preussner MediaAssets: Added getter for media player in media sound components Change 3902233 by Max.Preussner MediaAssets: Enabling media textures to receive samples right after player is assigned Change 3902238 by Max.Preussner MediaCompositing: Working around init/shutdown idiosyncracies in sequencer Change 3904045 by Max.Chen Sequencer: Fix copy/paste crash. Only process UMovieSceneCopyableBinding and objects that can be spawned by the movie scene spawn register. #jira UE-55314 Change 3905605 by Max.Chen Sequencer: Restrict spawnables from being created if they have a ClassWithin that UMovieScene is not a child of. #jira UE-55429 Change 3906550 by Max.Chen Sequencer: Add media track icon #jira UE-55480 Change 3907101 by Max.Chen Sequence Recorder: Fix bugs related to not recording a level sequence. There were certain assumptions that creating a level sequence meant that sequence recording was in progress. This is not always the case - the recorders can record animation assets and not create a level sequence. Changed the notion of IsRecording() to having at least one actor recording that is recording. Countdown timer, recording displays, etc should function if IsRecording() and not based on whether a level sequence is created. #jira UE-55485 Change 3907247 by Max.Chen Sequence Recorder: Fix crash not removing PrepareToCleanseEditorObject delegate. Repros when opening sequence recorder, closing it, and then opening or creating a level. Change 3910343 by Max.Preussner Core: Added async helper for executing functions on a given thread pool Change 3910346 by Max.Preussner ImgMedia: Added separate thread pools for loading/decoding and deleting image frames Change 3910829 by Max.Preussner Profiler: Increased visible range of profiler graph Change 3910841 by Max.Preussner MediaCompositing: Displaying asset name instead of full media source path in media section Change 3910870 by Max.Preussner ImgMedia: Using deallocation thread pool only in debug builds Change 3919642 by Max.Chen Sequence Recorder: Clarify active tooltip #jira UE-55661 Change 3919660 by Max.Chen Sequencer: Sequence template source signatures are now also compared to catch the case where a sub-sequence asset has been saved but not modified - The following sequence of events exposes this issue: - Create a master sequence with a single shot that spawns a cube - Add this sequence to a level and set it to auto-play - Save everything and restart - Resave just the inner shot asset without opening it - PIE - The inner shot never spawns its cube because its template was wiped on save, but its signature never changed. Since the master sequence previously didn't check the template source signature, it ends up trying to evaluate an empty template. #jira UE-55626 #jira UE-55490 Change 3921825 by Max.Chen Sequencer: "Run Construction Script in Sequencer" is off by default for blueprints but on for Sequencer. This allows the content author to switch it on for specific blueprints and sequencer will be default, run those with construction scripts enabled. Change 3922232 by Max.Chen Sequence Recorder: Reset countdelay on stop. #jira UE-55755 Change 3922306 by Max.Chen Sequence Recorder: Don't automatically mark transforms to be recorded by sequence recorder. Instead, log a warning if the user toggled it off to warn that the resulting animation might not match gameplay. #jira UE-55758 Change 3922912 by Max.Chen Sequence Recorder: Fix refresh next sequence name #jira UE-55757 Change 3927654 by Max.Chen Movie Scene Capture: Added format mapping for the name of the current camera #jira UE-55769 PR #4537 Change 3927658 by Max.Chen Sequencer: Added fbx property mapping for "FocusDistance" to "FocusSettings.ManualFocusDistance" #jira UE-55782 Change 3932022 by Max.Chen Sequencer: Add import animation track section to next available row index. #jira UE-55892 Change 3933919 by Max.Chen Sequencer: Jump to playback start frame and not 0 to start playback for recording. #jira UE-55933 Change 3934307 by Andrew.Rodham Sequencer: Add template signature that is re-generated every time the base template is regenerated, which invalidates evaluation fields This fixes an issue where the same sequence is instantiated multiple times in a sequence. If the source sequence was saved, its template would be wiped, which would invalidate the template ID When an instance tries to evaluate the master template, it would only invalidate a range in the evaluation field that was the hull of any invalid sub sequences overlapping the current time, potentially leaving invalid data in the evaluation field at positions later (or earlier) on in the sequence When the sub template was re-generated, it receives the same SequenceSignature as it had before (because the sequence hasn't actually changed), which causes the stale evaluation field data to fail the IsDirty check (because the sequence is the same as it thought, but the *template* has changed) This has been addressed be adding a signature to templates themselves, and checking both the template signature and sequence signature as a part of the IsDirty check. This ensures that we regenerate if either the template, or the sequence have changed. #jira UE-55934 Change 3936327 by Andrew.Rodham Sequencer: Removed increment when trimming right UMovieSceneSection::TrimSection already explicity assigns an exclusive bound to the time passed in. The new behavior means we can trim a section to the right, and insert another section without changing the time to create adjacent sections. #jira UE-42652 Change 3936328 by Andrew.Rodham Fixed KeyFrameManipulator assignment operators and copy/move constructors - These types are potentially self-referential so cannot use default constructors/assignment Change 3936330 by Andrew.Rodham Converted UMGSequencePlayer to use frames internally #jira UE-54878 Change 3936726 by Max.Chen Sequencer: Set track node as the parent of the key area node. The key area switcher needs the object binding id from the parent object binding node. Without this, the binding to the external value fails. #jira UE-55931 Change 3936775 by Max.Chen Sequencer: Should stop or loop should compare DurationFrames with Current Time from StartTime. The bug is that if you set 30 warmup frames in movie rendering for a range of 0-100, the FrameRange will be starting at -30 and have a duration of 130. Without this fix, the playback will continue until frame 130, rather than 100. #jira UE-55933 Change 3936935 by Matt.Hoffman Easing Curves are now represented in Play Rate resolution instead of internal resolution. #jira UE-55937 Change 3937069 by Matt.Hoffman Users can toggle if the is infinite on each side, limited by which tracks support infinite ranges. #jira UE-55891 Change 3937516 by Max.Preussner ImgMedia: Added support for single-threaded platforms #jira UE-55986 Change 3937826 by Max.Preussner MediaAssets: Disabling media sound components on HTML5 if AudioMixer is not enabled Change 3937997 by Max.Chen Curve Editor: Add Zoom to Fit Curves so that selected curves from Sequencer can be focused on. Tested that undo doesn't re-zoom. #jira UE-55935 Change 3938000 by Max.Chen Sequencer: Stop all sounds before generating audio waveforms. #jira UE-55951 Change 3938376 by Max.Preussner XGEController: Disabled XGE Controller in single-threaded apps to prevent crash Change 3938444 by Max.Preussner Core: Added async support for single-threaded applications Change 3938445 by Max.Preussner Networking: Added support for single-threaded applications in UDP socket sender/receiver Change 3938447 by Max.Preussner Messaging: Added support for single-threaded applications Change 3939432 by Max.Chen Sequence Recorder: Append command list to global level editor actions so that shortcuts are accessible in level editor. #jira UE-55798 Change 3940229 by Andrew.Rodham Added prospective display rate upgrade to UMovieScene::PostLoad - There was previously some very odd behaviour that would assign the fixed frame interval only when a sub sequence was focused in SSequencer. This meant that many sequences could have a frame interval of 0 set in the data. - Under the old method of snap interval display this would have fallen back to getting the display interval from the sequencer settings, but we no longer look at these. - The USequencerSettings properties have been removed and in their place, a prospective data upgrade for sequences that have a fixed frame interval old 0fps that sets the play rate to the previous defaults based off the old USequencerSettings defaults. - This could end up 'changing' the display rate for sequences where the user has changed the snap interval in the settings for a particular sequence editor, but there's not much we can do about that given we don't have access to the USequencerSettings classes in UMovieScene #jira UE-55919 Change 3940277 by Andrew.Rodham Sequencer: Added ability to default frame resolutions and play rates for newly created actor sequences Change 3940378 by Andrew.Rodham Sequencer: Post move import dialog now defaults to the playback framerate of the sequence, and floors to frame numbers Change 3940559 by Andrew.Rodham Reinstated primed or recording sequence color Change 3940642 by Max.Preussner ImagePlate: Removed image plate media playback functionality Change 3940843 by Max.Preussner Core: Made TCircularQueue actually thread-safe; improved code comments Change 3940860 by Max.Chen Sequencer: Changed StructNameToKey to StructPathToKey Previously, keying a PropertyPath of [RenderTransform][Shear][X] would get trimmed to X, which doesn't map to a channel name as considered by Sequencer2dTransformTrackEditor. Instead, trim the resulting property path to [Shear][X] so that track editors can determine the desired struct path and channels to key. #jira UE-52966 Change 3941292 by Mike.Zyracki Fix for trajectories out of range not showing up. 1) If we had no key data we would pop the time, so wouldn't get the section ranges. 2) Calculating of upper bound was wrong, checking against -1 and not key == num of keys when doing algo::lower_bound. 3) No need to do the Bck-- for the bakward iterators since we fixed #2. We start now from the upper bound correctly. 4) If we had no keys (at section start,end) we would incorrectly say we were any key type, so since we draw constant keys as dashed we would do so incorrectly around section end points. #jira UE-55929 Change 3941424 by Max.Chen Curve Editor: Change Zoom to Fit to use TArrayView Change 3941498 by Max.Preussner Core: Added FMath::DivideAndRoundNearest function Change 3942097 by Matt.Hoffman Drop Frame Timecode Support for NTSC rates. Change 3942104 by Matt.Hoffman Sequence Recorder Group is no longer visible inside the World Outliner after using one. #jira 55266 Change 3942107 by Max.Chen Sequencer: Resurrect logic to find or extend an existing section when adding keys. Change 3942330 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942339 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942507 by Andrew.Rodham Sequencer: We no longer pad the time overlap threshold with a small number that is not scaled by the current zoom level - The presence of this pad was causing keys that were far apart to be grouped when zoomed in a long way Change 3942509 by Andrew.Rodham Sequencer: Only pad total view range, rather than section range as well when retrieving keys to render - This stops us from rendering keys that are within the view range, but outside the section range Change 3942512 by Andrew.Rodham Added transactions to some sequencer details customizations Change 3942513 by Andrew.Rodham Sequencer: Reinstated validation checks to UMovieSceneSection::SetStartFrame and SetEndFrame, changed erroneous uses to use SetRange Change 3942560 by Andrew.Rodham Pass by rvalue reference to appease error C2719 on Win32 ('InChannels': formal parameter with requested alignment of 8 won't be aligned) Change 3942697 by Andrew.Rodham Newly Created Level Sequences and Actor Sequences now default to 24000 fps frame resolution (+/- ~24hrs range, supporting all integer rates + 23.976) Change 3942700 by Andrew.Rodham Sequencer: Added legacy out-of-bounds errors for times that are not supported by the current legacy upgrade frame resolution Change 3942989 by Max.Preussner Core: Fixed circular queue count calculation Change 3943538 by Max.Preussner MediaAssets: Reverted workaround for procedural audio log spam in HTML5 (Actor component initialization cannot be skipped if the component is used in a level) Change 3944071 by Max.Preussner QAGame: Fixed Media Texture keeps last frame of Media when PIE ends #jira UE-53360 Change 3944292 by Max.Chen Sequencer: Added extra flags to ensure that asset initialization does not occur on template actor sequences #jira UE-56113 Change 3944364 by Max.Chen Sequencer: Prevent circular shot/master tracks. Tested adding master -> child -> master as drag and drop cinematic shot tracks and sub tracks as well as through the + button. #jira UE-56091 Change 3944422 by Max.Chen Sequence Recorder: Disable transform recording if off. #jira UE-56061 Change 3944745 by Andrew.Rodham Sequencer: Key rendering fixes - Fixed assert that occured when keys happened to reside on some times due to KeyTime + TimeOverlapThreshold - KeyTime being slightly larger TimeOverlapThreshold - Fixed keys sometimes being clipped when zoomed right in due to lack of half-frame offset - Added missing documentation to MovieSceneTimeHelpers.h #jira UE-56107 Change 3945231 by Andrew.Rodham Sequencer: Reconstruct channel proxy on Serialize to catch all cases of undo/redo, PostLoad and duplication #jira UE-56089 Change 3945301 by Andrew.Rodham Sequencer: Added safety checks during initial sequence recording to guard against applying negative or 0-sized sequence ranges #jira UE-56125 Change 3946627 by Max.Preussner Fortnite: Fixed game crashes closing editor while in PIE - Pure virtual function being called #jira UE-56144 [CL 3946896 by Max Chen in Main branch]
2018-03-14 22:09:33 -04:00
double NewViewOutputMin = LocalViewRangeMin - (OutputChange * MousePositionFraction);
double NewViewOutputMax = LocalViewRangeMax + (OutputChange * (1.f - MousePositionFraction));
Copying //UE4/Dev-Sequencer to Dev-Main (//UE4/Dev-Main) #lockdown nick.penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2719576 on 2015/10/07 by Chris.Wood Added check for stale BP classes in FKismetCompilerUtilities::IsTypeCompatibleWithProperty() to stop compiler errors during reinstancing. [UE-19795] - UMG Compiler error when adding variable to nested Widget Change 2721474 on 2015/10/08 by Andrew.Rodham Sequencer: Movie render operations now successfully capture UMG UI Change 2724958 on 2015/10/12 by Chris.Wood Added missing resource cleanup code to UMG widgets [UE-21874] - UWIdget classes with missing ReleaseSlateResources() overrides Added ReleaseSlateResources() to ListView, TileView and Slider widgets to reset shared pointers to slate widgets. Change 2733562 on 2015/10/19 by Andrew.Rodham Sequencer: Fixed spawnables not working in sub-sequences - The issue here was that sequence track instance updates had no knowledge of which sub-sequence they were being evaluated within. We now pass the active sequence instance into the relevant track instance functions. - Also addressed some issues to do with save/restore state not getting called correctly on master tracks of sequence instances - Tidied up spawn track editor Change 2735264 on 2015/10/20 by Chris.Wood Improved Engine analytics handling for Editor and games [UE-21892] - Improve how Engine analytics are handled for Editor and games Changes: Added Privacy section to Editor settings Exposed editor analytics flag in Privacy options Added Details Customization to make this type of bool property clearer with extra info and hyperlink Changed AreEditorAnalyticsEnable() to use new flag Prevented analytics init when disabled by user Sending event and shutting down analytics when user opts out Add in-game project setting for anonymous game usage data Renamed and moved bHardwareSurveyEnabled Added message about exposing in-game setting to end users Added anonymous GUID id for in-game analytics Moved end user settings to global config (defaultengine.ini) Placeholder loc text on new options for now, pending legal wording sign-off Change 2735866 on 2015/10/20 by Max.Preussner Async: Added ability to register an optional callback function that is executed when a Future completes Change 2739793 on 2015/10/23 by Andrew.Rodham Sequencer: Refined movie scene capturing to ensure frame accuracies are maintained - Aborting an in-progress capture now gracefully terminates the process (through a remote session command) to ensure it still creates a valid video - Level sequece movie capture will now pick up a corresponding level sequence in the world, and use that to capture with. A new actor will be spawned at runtime with the correct asset, should one not already exist. - Made -nomovie actually work - Refined how active movie captures are managed - Added option to 'stage' a sequence before starting the capture. This feature will set the sequence on its first frame for the preroll, to ensure that PPP effects are allowed time to stabilize Change 2744402 on 2015/10/28 by Max.Preussner Sequencer: Separated track display names from track identifier names; code cleanup Change 2745953 on 2015/10/29 by Max.Chen Sequencer: Attach to socket. Relative attachments. #jira UETOOL-463 Change 2747028 on 2015/10/29 by Max.Preussner Sequencer: Another overhaul of track display name handling; code and documentation cleanup pass. Change 2758888 on 2015/11/09 by Chris.Wood Integrating changes - 4.10 to Dev-Sequencer From 4.10 branch fixes: Added check for debugger present when reporting abnormal termination to analytics. [UE-22844] CL 2750764 Added FSystemWideCriticalSection for desktop platforms. Used by analytics to lock access to editor instances list in the OS. [UE-22844] CL 2753661 Updating wording in privacy settings text. [UE-21892] CL 2753709 Mac and Linux CIS fix [UE-22844] CL 2755381 Change 2761287 on 2015/11/10 by Max.Chen Sequencer: Add null check when updating the UMG preview if the sequencer doesn't exist/has been closed. #jira UE-5206 Change 2764945 on 2015/11/12 by Max.Preussner Core: Templatized TypeContainer implementation to allow for thread-safe objects; updated unit test Also fixes UE-13850 Change 2765036 on 2015/11/12 by Max.Preussner UdpMessaging: Fixed message serialization unit test (UE-22571) #jira: UE-22571 Change 2766149 on 2015/11/13 by Max.Preussner Media: Implemented event that gets triggered when playback reached the end of media Also fixes looping. Change 2768157 on 2015/11/16 by Max.Preussner Media: Added .m4a to supported WMF file extensions Change 2769200 on 2015/11/16 by Max.Chen Editor: Add broadcast messages when snapping objects. #jira UE-22680 Change 2773066 on 2015/11/19 by Chris.Wood Upload crashes from CRC to Data Router [UECORE-249] - Integrate Crash Report Client with the Data Router Upload to Receiver still active as we are running both in parallel for now.
2015-12-11 13:52:32 -05:00
if( NewViewOutputMin < NewViewOutputMax )
{
ClampViewRange(NewViewOutputMin, NewViewOutputMax);
SetViewRange(NewViewOutputMin, NewViewOutputMax, EViewRangeInterpolation::Animated);
return true;
}
return false;
}
void FSequencerTimeSliderController::PanByDelta( float InDelta )
{
TRange<double> LocalViewRange = GetViewRange().GetAnimationTarget();
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3946692) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3801826 by Max.Chen PR #4304: Level Sequence crash fix - Guarded against dereferencing null componen. (Contributed by DSDambuster) Change 3801828 by Max.Chen PR #4302: Movie Scene Visibility Template unitialised variable, causing random . (Contributed by DSDambuster) Change 3801837 by Max.Chen Sequencer: Delay spawning/construction for convert to possessable. This fixes a bug where property values would be lost when converting back and forth from possessable to spawnable. #jira UE-52400 Change 3801841 by Max.Chen Sequencer: Make spacer nodes not selectable. PR #4194: Improvements to Sequencer (Contributed by projectgheist) #jira UE-53117 #jira UE-52139 Change 3804183 by Max.Preussner MediaAssets: Added missing lock in media sound component Change 3805414 by Max.Preussner MediaAssets: Setting valid GUID when initializing media texture resource Change 3819578 by Max.Chen PR #4370: When enabling the "MovieCapture", do not turn off the Stereo-3D display. (Contributed by yehaike) #jira UE-53647 Change 3823414 by Max.Chen Curve Editor: Lock down the first and last keys in the redundant keys removal range so that they're unaffected. #jira UE-53591 Change 3826406 by Max.Chen Sequencer: Move OnStartedPlaying() to within first update in UpdateTimeCursorPosition(). This fixes an issue where setting the hud/player visibility was getting stomped on later. #jira UE-52772 Change 3827044 by Max.Preussner MediaAssets: Added sprite visualization to media sound component #jira UE-53594 Change 3827988 by Max.Preussner MediaPlayerAssets: Fixed Media Texture is not linked to Media Player when created together #jira UE-53532 Change 3828506 by Max.Preussner MediaPlayerEditor: Added attenuation visualizer for media sound components #jira UE-53594 Change 3832590 by andrew.porter EngineTest: Added a keep state check in Property Animation sequencer test Change 3833053 by andrew.porter EngineTest: Adding Hierarchical Bias test Change 3835683 by andrew.porter EngineTest: Adding UMG Animation screenshot test Change 3836076 by Max.Chen Sequencer: Fix audio volume and pitch multiplier deprecation. Change 3836230 by andrew.porter EngineTest: Adding Sequence Bone Position automation test Change 3836347 by Max.Chen Sequencer: Fixes to shot name parsing. When a shot doesn't contain a shot number, assume, [ShotName]_[TakeNumber]. When duplicating a shot, put the new shot in the same path of the original shot, so that the take numbers will increment properly. #jira UE-51868 Change 3836552 by Max.Chen Sequencer: Sub section now has a takes menu Change 3838094 by Max.Chen UMG: Fix template finish not getting called on stop. This fixes a bug where sections aren't restored when finished. #jira UE-52285 Change 3838708 by Max.Chen Sequencer: Add notification when the blend type is changed. #jira UE-54046 Change 3840295 by Max.Chen Sequencer: Fix copy/paste crash for lights #jira UE-54084 Change 3840957 by Mike.Zyracki Added Show Only Keyable and Show Only Animated to the filter list in the property editor. Added IsPropertyAnimated to IDetailKeyframe Interface which already had support for showing properties which are keyable (which is used for the key icon next to the properties.). Could have created another interface but then would have had to mimic the sequencer binding, releasing also, so this seemed best way. One issue still left is that custom built detail items currently don't store associated properties(usually) and so certain properties, in particulalry transforms, won't show up as keyable or animated. Note this also shows up with the keyable icon not showing up next to transform tracks, and other filters like Show Only Modified not working with transforms/customs. Not sure best way to tackle this. #jira UESEQ-328 Change 3841756 by Max.Chen Sequencer: Fix unbound possessable components when pasting spawnables. #jira UE-54104 Change 3843950 by andrew.porter EngineTest: Renaming LevelStreaming tests/content to LevelVisibility Change 3844082 by Mike.Zyracki Missing file for animated filter in property editor. When finding if a track is animated we need to find it but we can't easily induce the MovieTrack class for any particular property. So we don't set a class for it and just search by it's ID and name. #jira UESEQ-328 Change 3846902 by Max.Preussner ImgMedia: Fixed image media player never finished initialization if loading failed #jira UE-54247 Change 3849820 by Mike.Zyracki Reassigning deleted widgets didn't work since the menu extender mechanism needs a valid UObject in order to perform an operation on it. So to fix we replaced GetObjectBindingContextMenuExtender in WidgetBlueprint with new delegate mechanism (OnBuildCustomContextMenuForGuid) that supports FGuid in addition to UObjects which is needed to handle re-binding deleted widgets. Note that the default sequencer hacks this for replacing deleted actors in SequencerObjectBindingNode to check to see if a LevelSequence is active. We could move to this mechanism there also. #jira UE-53163 Change 3852211 by Max.Chen UMG: Indicate name of the property that is not bound. #jira UE-54350 Change 3854120 by Max.Chen Sequencer: Fix sibling folders being allowed to have the same folder name. #jira UE-54363 Change 3854627 by Max.Chen Sequencer: Step to next/previous key should work for all tracks if there aren't any selected. #jira UESEQ-391 Change 3855825 by andrew.porter EngineTest: Adding animation blending automation test Change 3855950 by andrew.porter EngineTest: Adding correct expected valuues to animation blending test Change 3856237 by Matt.Hoffman UESEQ-336 - Sequencer Track Reordering Adds the ability to re-order Master Tracks, Folders and Object Bindings within sequencer hierarchies (including UMG). Adds the ability to do a one-off sorting of the content under the old sorting behavior if the user wants to reset their layout to how it was under legacy behavior. Modifies SequencerTrackNodes, SequencerFolderNodes and SequencerObjectBindingNodes to handle CanDrop/OnDrop for above, below and ontop of. Fixes a Slate Issue that forcibly expanded a TreeviewRow if an item handled OnDrop. Slate will now only forcibly expand the row if the item says the drop happened ontop of the item, and not above or below it like it previously did. Change 3856503 by andrew.porter EngineTest: Adding automation test for using animation blueprint with blend multi node in sequencer Change 3857875 by Max.Chen Sequencer: Assign the sequence id after the template is compiled. #jira UE-54462 Change 3858344 by Max.Chen Sequencer: Prevent Goto and Transform boxes from overlapping by allowing them to be visible at the same time in an autosized horizontal box. Also, added close button to the goto box. PR #4425: Prevent Goto and Transform boxes from overlapping in Sequencer ... (Contributed by projectgheist) #jira UE-54210 Change 3860566 by andrew.porter MediaFrameworkTest: Set the option to index 0 for the audio and video track list by default Change 3860654 by andrew.porter EngineTest: Enabling Camera Cut + FOV test Change 3860981 by andrew.porter EngineTest: Updating skeletal mesh tests with a delay after set playback position Change 3861256 by Max.Chen Sequencer: Add all bindings if none selected. #jira-54440 Change 3862154 by Andrew.Rodham Added TimeManagement module Change 3862424 by andrew.porter EngineTest: Turned on the test Bone Positions with Blend Multi Node Change 3862573 by andrew.porter EngineTest: Adding test to compare bone positions in a sequence that is blending an animation that is using an AnimBP Change 3865117 by Max.Chen Sequencer: Stop auto scroll on mouse release of movement. #jira UE-31212 Change 3865303 by Max.Chen Sequencer: Add drag and drop transactions #jira UE-54662 Change 3865304 by Max.Chen Sequencer: Fix crash when an actor factory is not found. Change 3865361 by Max.Chen Sequencer: Don't change the camera/shot lock button when popping out of a sequence. #jira UE-54665 Change 3865412 by Max.Chen Sequencer: Determine whether a transform track is for a camera by using the spawned object or template #jira UE-54666 Change 3865685 by Max.Chen Sequencer: Clear autoscrub offset when stopping autoscroll #jira UE-31212 Change 3865886 by Max.Chen Sequence Recorder: Log an error if the number of frames changes while recording. This can happen if the skeleton changes while recording. #jira UE-48715 Change 3866925 by Andrew.Porter MediaFrameworkTest: Changing the current PNG test video image sequence to 1024 x 576 Change 3867705 by andrew.porter QAGame: Adding Audio Sort Sequence to dev folder Change 3867890 by andrew.porter QAGame: Adding a sequence for testing a sorting crash to my dev folder Change 3872628 by Max.Chen Movie Scene Capture: Split delay before warmup into split delay before shot warmup so that there's separate controls for when the movie scene capture warmups up vs. shot boundaries. Change 3873131 by Matt.Hoffman UE-54732 - Crash reordering a folder with a track. This was caused by folders being the only type of track to check if someone was putting a parent track into a child track. Object Binding tracks and Tracks now check as well so that you can't use the above/below drop targets to add parents as children. This also fixed a typo in the localization keys. #jira UE-54732 Change 3873301 by Mike.Zyracki Added ability to support continous euler angle changes when changing rotations, in particularly with the rotation gizmo's. To do this we effectively added a form an of 'euler filter'(https://en.wikipedia.org/wiki/Euler_filter) to find the closest euler angle to the current euler angle. Three functions were added to FRotator to make this possible, one to get the euler angle that's has the same rotation as it, one to get the difference between two euler angles via Manhattan distance and a third using the previous two to choose a Rotator value that's closest to it. We then use these functions before calling UComponent::SetRelativeRotation to make sure we use the correct Euler after the Quat conversion. We also no longer limit(bound) the euler angles to -180,180, which is obviously necessary to avoid flips. I also changed how we caluclate yaw and roll when pitch is -90 or 90 to make it the standard approach of zeroing out roll and just setting yaw. Main reasons are the previous implementation had precision issues so things like 180, 90, -180 would show up due to numbers being nearly zero but negative,(this would break any smooth interpolations), and this facilitates having a 'gimbal' rotation mode (like Maya, Blender etc..) if we ever want that also. If needed we could keep the previous implementation but would need to add some FMath::IsNearlyZero checks, with less performance. Note we only do this special filtering when applying delta's to actors or components in the editors, which then call UComponent::SetRelativeRotationExact, which is a new function to foces the RelativeRotation to be equal to the new rotation. This allows us to store un-nomalized Rotators at the cost that the RotationCache may be broken. We didn't change any of the other UComponent functions that set rotations (via Quats or Transforms) so they will still be bounded and unwound. In SetInternalWorldLocationAndRotation we only set the rotation if the rotation has changed, which fixes the rotation getting changed and re-normalized if just translate happens. In TransformTrackEditor, we correclty use the bUndwing flag and in MovieScene3DTransformSection there was an un-needed winding check there, it will be unwound earlier if needed, which happens if Sequence Recording is happening. Max we should talk about what to do about this . Note the euler angle drag via the widget is still bound to 0-360. I think we should just unbound that now since the rotations value are now unbound. This review now includes fixes suggested by Zak. #jira UE-UE-22228 Change 3873483 by Matt.Hoffman Sequencer Tracks can now be inserted above the spacer at the bottom of the tree. #jira UE-54706 Change 3873899 by Max.Chen Sequencer: Add section selection throbbing Change 3873908 by Max.Chen Movie Scene Capture: Added logging per frame Change 3873924 by Matt.Hoffman Adds the ability to store Sequence Recorder setups into profiles that stay with the map and can be re-loaded later. Profiles store the Actor Recordings so the settings for each actor should carry with them. #jira UESEQ-339 Change 3874726 by Matt.Hoffman Disable drag-and-drop targets on spacers that come between rows in Sequencer. This prevents extra drag/drop targets showing up between each row. #jira UE-54706 Change 3874862 by Matt.Hoffman Audio Track no longer gets reordered when adding sub-audio tracks, as sub-tracks are no longer counted towards the sorting order index when normalizing indexes. #jira UE-54727 Change 3875905 by Matt.Hoffman Disable Fade Track UI if a fade track already exists in the sequence. #jira UESEQ-393 Change 3876163 by Max.Chen Sequencer: Swap the camera object to the camera component's owner if it's not the same. #jira UE-54874 Change 3876971 by Andrew.Porter EngineTest: Moved Media Player Seek test to new folder. Also enabled the test with new ground truth image. Change 3877040 by Max.Chen Cine Camera: Split camera properties to two groups, "Camera Options" and "Camera Settings". The cine camera now hides properties in the "Camera Settings" group so that properties like bConstrainAspectRatio (in the "Camera Options" group) can be visible. #jira UE-54192 Change 3877763 by Max.Chen Curve Editor: Fix curve changed on end drag so that only curves that had keys/tangents that were changed receive notification, otherwise all loaded curves were getting notified that they were changed. #jira UE-54951 Change 3878234 by Matt.Hoffman Disable "Drop Below" targets for Sequencer Tree nodes to prevent a confusing UX issue where dropping underneath a Object Binding Node puts it after the object binding node but the UI looks like it's inserting it inside the Object Binding node. #jira UE-54743 Change 3879359 by Mike.Zyracki If a track is inactive we dim it a bit which seems to be the UE4 way to show inactive or disabled state. We changed the active logic so that all subtracks need to be inactive for the track to also be inactive(instead of all active for active). This conforms to how the active state actually works, e.g if you have two sections and only one is active the track is still active above it. #jira UESEQ-388 Change 3879462 by Max.Chen Sequencer: Allow dragging onto a particular row which would move out any overlapping sections to make space for the newly created section. Newly created sections are now selected and throbbed to draw attention to themselves. #jira UE-54664 Change 3879464 by Max.Chen Sequencer: Fixed overlapping ranges being inserted into the evaluation field during compilation - The issue was that track segments that had been combined with adjacent segments (due to them being identical) would potentially cause a subsequently compiled frame to overlap with a range that had already been inserted into the evaluation field. - The insertion code previously asserted that only minor overlaps were catered for (due to fp rounding errors) and assumed that a supplied range could not entirely contain any other range in the field. - The solution is to supply the insertion time along with the range to know exactly where the data should live in the field, and crop the range to the maximum allowable space between adjacent ranges. #jira UE-54922 Change 3879590 by Matt.Hoffman Items that are now added to the Sequencer via the "+Track" menu will be selected after being added. Items can now be added inside of folders instead of just to the root level. #jira UE-27397 Change 3879612 by Mike.Zyracki Display Nodes with no children are always active. #jira UESEQ-388 Change 3879730 by Matt.Hoffman Sequence Recorder's actor recording groups now remove items from the group when removed via the UI. #jira UESEQ-339 Change 3880256 by Mike.Zyracki Fix issue with inactive display with folders and other track nodes. #jira UESEQ-388 Change 3883491 by Max.Chen Fix issue where tick is skipped due to last ticked pose isn't cleared after AnimInstance changes. Copy from Release-4.19 #jira UE-51323 Change 3883603 by Max.Chen Movie Scene Capture: Add option toggle disable screen percentage. By default this is on (no change in current behavior). #jira UE-51898 Change 3885074 by Max.Preussner MediaCompositing: Resetting media texture & freeing resource on section end; removed dead code Change 3887220 by Max.Preussner MediaCompositing: Defaulted media section duration to 1 sec (since we do not know the actual duration in most cases) Change 3887478 by Matt.Hoffman Sequences now show [Inactive] in their title bars when they're disabled. This helps communicate why a sequence isn't being evaluated. #jira UE-51469 Change 3888985 by Max.Chen Movie Scene Capture: Clamp HDR Compression Quality between 0 and 1. #jira UE-55136 Change 3893519 by Max.Chen Sequence Recorder: Clarified tooltip for bRecordNearbySpawnedActors - spawned actors will still be recorded if they match the ActorFilter. #jira UE-55238 Change 3893546 by Max.Chen Sequence Recorder: If a selected actor already has a recording, add a blank recording. #jira UE-55239 Change 3894044 by Max.Preussner MediaCompositing: Added support for seeking into a media section Change 3894310 by andrew.porter MediaFrameworkTest: Adding Img media sources for 1080 and 2160 ravent test content Change 3894426 by Max.Preussner MediaAssets: Letting media textures with AutoClear retain their clear color when player is reset Change 3895717 by Max.Chen Sequencer: Null checks to prevent crash when saving the default state of a spawnable #jira UE-55304 Change 3897388 by Max.Chen Sequencer: Don't update current time to be within the view range when stepping into a sequence. #jira UE-55322 Change 3897452 by Max.Chen Audio: Fix crash when trying to record audio without any active capture devices. Log warning if the number of input channels is not 1 or 2. #jira UE-55223 Change 3897619 by Max.Preussner MediaCompositing: Removed commented out code Change 3898072 by Max.Chen Sequencer: Override the animation asset in the player state if it doesn't match the animation asset that's being evaluated. #jira UE-55328 Change 3898272 by Max.Preussner MediaPlayerEditor: Made slate brush constants static Change 3898704 by Max.Chen Sequencer: Skip if the binding id's sequence can't be found. #jira UE-55337 Change 3899855 by Max.Preussner MediaCompositingEditor: Added cache state visualization to media track Change 3900300 by Max.Preussner MediaCompositingEditor: Added loop indicators to media sections Change 3900694 by Max.Preussner ImfMedia: Looping cache only when player is looping Change 3900892 by Max.Preussner Stats: Added stats category for media framework Change 3900954 by Max.Preussner MediaCompositing: Don't evaluate at the end of media section Change 3901348 by Max.Preussner Core: Replaced TLruCache autos for better readability Change 3901655 by Max.Preussner ImgMedia: Added more perf stats to EXR reader Change 3901972 by Max.Preussner MediaAssets: Added getter for media player in media sound components Change 3902233 by Max.Preussner MediaAssets: Enabling media textures to receive samples right after player is assigned Change 3902238 by Max.Preussner MediaCompositing: Working around init/shutdown idiosyncracies in sequencer Change 3904045 by Max.Chen Sequencer: Fix copy/paste crash. Only process UMovieSceneCopyableBinding and objects that can be spawned by the movie scene spawn register. #jira UE-55314 Change 3905605 by Max.Chen Sequencer: Restrict spawnables from being created if they have a ClassWithin that UMovieScene is not a child of. #jira UE-55429 Change 3906550 by Max.Chen Sequencer: Add media track icon #jira UE-55480 Change 3907101 by Max.Chen Sequence Recorder: Fix bugs related to not recording a level sequence. There were certain assumptions that creating a level sequence meant that sequence recording was in progress. This is not always the case - the recorders can record animation assets and not create a level sequence. Changed the notion of IsRecording() to having at least one actor recording that is recording. Countdown timer, recording displays, etc should function if IsRecording() and not based on whether a level sequence is created. #jira UE-55485 Change 3907247 by Max.Chen Sequence Recorder: Fix crash not removing PrepareToCleanseEditorObject delegate. Repros when opening sequence recorder, closing it, and then opening or creating a level. Change 3910343 by Max.Preussner Core: Added async helper for executing functions on a given thread pool Change 3910346 by Max.Preussner ImgMedia: Added separate thread pools for loading/decoding and deleting image frames Change 3910829 by Max.Preussner Profiler: Increased visible range of profiler graph Change 3910841 by Max.Preussner MediaCompositing: Displaying asset name instead of full media source path in media section Change 3910870 by Max.Preussner ImgMedia: Using deallocation thread pool only in debug builds Change 3919642 by Max.Chen Sequence Recorder: Clarify active tooltip #jira UE-55661 Change 3919660 by Max.Chen Sequencer: Sequence template source signatures are now also compared to catch the case where a sub-sequence asset has been saved but not modified - The following sequence of events exposes this issue: - Create a master sequence with a single shot that spawns a cube - Add this sequence to a level and set it to auto-play - Save everything and restart - Resave just the inner shot asset without opening it - PIE - The inner shot never spawns its cube because its template was wiped on save, but its signature never changed. Since the master sequence previously didn't check the template source signature, it ends up trying to evaluate an empty template. #jira UE-55626 #jira UE-55490 Change 3921825 by Max.Chen Sequencer: "Run Construction Script in Sequencer" is off by default for blueprints but on for Sequencer. This allows the content author to switch it on for specific blueprints and sequencer will be default, run those with construction scripts enabled. Change 3922232 by Max.Chen Sequence Recorder: Reset countdelay on stop. #jira UE-55755 Change 3922306 by Max.Chen Sequence Recorder: Don't automatically mark transforms to be recorded by sequence recorder. Instead, log a warning if the user toggled it off to warn that the resulting animation might not match gameplay. #jira UE-55758 Change 3922912 by Max.Chen Sequence Recorder: Fix refresh next sequence name #jira UE-55757 Change 3927654 by Max.Chen Movie Scene Capture: Added format mapping for the name of the current camera #jira UE-55769 PR #4537 Change 3927658 by Max.Chen Sequencer: Added fbx property mapping for "FocusDistance" to "FocusSettings.ManualFocusDistance" #jira UE-55782 Change 3932022 by Max.Chen Sequencer: Add import animation track section to next available row index. #jira UE-55892 Change 3933919 by Max.Chen Sequencer: Jump to playback start frame and not 0 to start playback for recording. #jira UE-55933 Change 3934307 by Andrew.Rodham Sequencer: Add template signature that is re-generated every time the base template is regenerated, which invalidates evaluation fields This fixes an issue where the same sequence is instantiated multiple times in a sequence. If the source sequence was saved, its template would be wiped, which would invalidate the template ID When an instance tries to evaluate the master template, it would only invalidate a range in the evaluation field that was the hull of any invalid sub sequences overlapping the current time, potentially leaving invalid data in the evaluation field at positions later (or earlier) on in the sequence When the sub template was re-generated, it receives the same SequenceSignature as it had before (because the sequence hasn't actually changed), which causes the stale evaluation field data to fail the IsDirty check (because the sequence is the same as it thought, but the *template* has changed) This has been addressed be adding a signature to templates themselves, and checking both the template signature and sequence signature as a part of the IsDirty check. This ensures that we regenerate if either the template, or the sequence have changed. #jira UE-55934 Change 3936327 by Andrew.Rodham Sequencer: Removed increment when trimming right UMovieSceneSection::TrimSection already explicity assigns an exclusive bound to the time passed in. The new behavior means we can trim a section to the right, and insert another section without changing the time to create adjacent sections. #jira UE-42652 Change 3936328 by Andrew.Rodham Fixed KeyFrameManipulator assignment operators and copy/move constructors - These types are potentially self-referential so cannot use default constructors/assignment Change 3936330 by Andrew.Rodham Converted UMGSequencePlayer to use frames internally #jira UE-54878 Change 3936726 by Max.Chen Sequencer: Set track node as the parent of the key area node. The key area switcher needs the object binding id from the parent object binding node. Without this, the binding to the external value fails. #jira UE-55931 Change 3936775 by Max.Chen Sequencer: Should stop or loop should compare DurationFrames with Current Time from StartTime. The bug is that if you set 30 warmup frames in movie rendering for a range of 0-100, the FrameRange will be starting at -30 and have a duration of 130. Without this fix, the playback will continue until frame 130, rather than 100. #jira UE-55933 Change 3936935 by Matt.Hoffman Easing Curves are now represented in Play Rate resolution instead of internal resolution. #jira UE-55937 Change 3937069 by Matt.Hoffman Users can toggle if the is infinite on each side, limited by which tracks support infinite ranges. #jira UE-55891 Change 3937516 by Max.Preussner ImgMedia: Added support for single-threaded platforms #jira UE-55986 Change 3937826 by Max.Preussner MediaAssets: Disabling media sound components on HTML5 if AudioMixer is not enabled Change 3937997 by Max.Chen Curve Editor: Add Zoom to Fit Curves so that selected curves from Sequencer can be focused on. Tested that undo doesn't re-zoom. #jira UE-55935 Change 3938000 by Max.Chen Sequencer: Stop all sounds before generating audio waveforms. #jira UE-55951 Change 3938376 by Max.Preussner XGEController: Disabled XGE Controller in single-threaded apps to prevent crash Change 3938444 by Max.Preussner Core: Added async support for single-threaded applications Change 3938445 by Max.Preussner Networking: Added support for single-threaded applications in UDP socket sender/receiver Change 3938447 by Max.Preussner Messaging: Added support for single-threaded applications Change 3939432 by Max.Chen Sequence Recorder: Append command list to global level editor actions so that shortcuts are accessible in level editor. #jira UE-55798 Change 3940229 by Andrew.Rodham Added prospective display rate upgrade to UMovieScene::PostLoad - There was previously some very odd behaviour that would assign the fixed frame interval only when a sub sequence was focused in SSequencer. This meant that many sequences could have a frame interval of 0 set in the data. - Under the old method of snap interval display this would have fallen back to getting the display interval from the sequencer settings, but we no longer look at these. - The USequencerSettings properties have been removed and in their place, a prospective data upgrade for sequences that have a fixed frame interval old 0fps that sets the play rate to the previous defaults based off the old USequencerSettings defaults. - This could end up 'changing' the display rate for sequences where the user has changed the snap interval in the settings for a particular sequence editor, but there's not much we can do about that given we don't have access to the USequencerSettings classes in UMovieScene #jira UE-55919 Change 3940277 by Andrew.Rodham Sequencer: Added ability to default frame resolutions and play rates for newly created actor sequences Change 3940378 by Andrew.Rodham Sequencer: Post move import dialog now defaults to the playback framerate of the sequence, and floors to frame numbers Change 3940559 by Andrew.Rodham Reinstated primed or recording sequence color Change 3940642 by Max.Preussner ImagePlate: Removed image plate media playback functionality Change 3940843 by Max.Preussner Core: Made TCircularQueue actually thread-safe; improved code comments Change 3940860 by Max.Chen Sequencer: Changed StructNameToKey to StructPathToKey Previously, keying a PropertyPath of [RenderTransform][Shear][X] would get trimmed to X, which doesn't map to a channel name as considered by Sequencer2dTransformTrackEditor. Instead, trim the resulting property path to [Shear][X] so that track editors can determine the desired struct path and channels to key. #jira UE-52966 Change 3941292 by Mike.Zyracki Fix for trajectories out of range not showing up. 1) If we had no key data we would pop the time, so wouldn't get the section ranges. 2) Calculating of upper bound was wrong, checking against -1 and not key == num of keys when doing algo::lower_bound. 3) No need to do the Bck-- for the bakward iterators since we fixed #2. We start now from the upper bound correctly. 4) If we had no keys (at section start,end) we would incorrectly say we were any key type, so since we draw constant keys as dashed we would do so incorrectly around section end points. #jira UE-55929 Change 3941424 by Max.Chen Curve Editor: Change Zoom to Fit to use TArrayView Change 3941498 by Max.Preussner Core: Added FMath::DivideAndRoundNearest function Change 3942097 by Matt.Hoffman Drop Frame Timecode Support for NTSC rates. Change 3942104 by Matt.Hoffman Sequence Recorder Group is no longer visible inside the World Outliner after using one. #jira 55266 Change 3942107 by Max.Chen Sequencer: Resurrect logic to find or extend an existing section when adding keys. Change 3942330 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942339 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942507 by Andrew.Rodham Sequencer: We no longer pad the time overlap threshold with a small number that is not scaled by the current zoom level - The presence of this pad was causing keys that were far apart to be grouped when zoomed in a long way Change 3942509 by Andrew.Rodham Sequencer: Only pad total view range, rather than section range as well when retrieving keys to render - This stops us from rendering keys that are within the view range, but outside the section range Change 3942512 by Andrew.Rodham Added transactions to some sequencer details customizations Change 3942513 by Andrew.Rodham Sequencer: Reinstated validation checks to UMovieSceneSection::SetStartFrame and SetEndFrame, changed erroneous uses to use SetRange Change 3942560 by Andrew.Rodham Pass by rvalue reference to appease error C2719 on Win32 ('InChannels': formal parameter with requested alignment of 8 won't be aligned) Change 3942697 by Andrew.Rodham Newly Created Level Sequences and Actor Sequences now default to 24000 fps frame resolution (+/- ~24hrs range, supporting all integer rates + 23.976) Change 3942700 by Andrew.Rodham Sequencer: Added legacy out-of-bounds errors for times that are not supported by the current legacy upgrade frame resolution Change 3942989 by Max.Preussner Core: Fixed circular queue count calculation Change 3943538 by Max.Preussner MediaAssets: Reverted workaround for procedural audio log spam in HTML5 (Actor component initialization cannot be skipped if the component is used in a level) Change 3944071 by Max.Preussner QAGame: Fixed Media Texture keeps last frame of Media when PIE ends #jira UE-53360 Change 3944292 by Max.Chen Sequencer: Added extra flags to ensure that asset initialization does not occur on template actor sequences #jira UE-56113 Change 3944364 by Max.Chen Sequencer: Prevent circular shot/master tracks. Tested adding master -> child -> master as drag and drop cinematic shot tracks and sub tracks as well as through the + button. #jira UE-56091 Change 3944422 by Max.Chen Sequence Recorder: Disable transform recording if off. #jira UE-56061 Change 3944745 by Andrew.Rodham Sequencer: Key rendering fixes - Fixed assert that occured when keys happened to reside on some times due to KeyTime + TimeOverlapThreshold - KeyTime being slightly larger TimeOverlapThreshold - Fixed keys sometimes being clipped when zoomed right in due to lack of half-frame offset - Added missing documentation to MovieSceneTimeHelpers.h #jira UE-56107 Change 3945231 by Andrew.Rodham Sequencer: Reconstruct channel proxy on Serialize to catch all cases of undo/redo, PostLoad and duplication #jira UE-56089 Change 3945301 by Andrew.Rodham Sequencer: Added safety checks during initial sequence recording to guard against applying negative or 0-sized sequence ranges #jira UE-56125 Change 3946627 by Max.Preussner Fortnite: Fixed game crashes closing editor while in PIE - Pure virtual function being called #jira UE-56144 [CL 3946896 by Max Chen in Main branch]
2018-03-14 22:09:33 -04:00
double CurrentMin = LocalViewRange.GetLowerBoundValue();
double CurrentMax = LocalViewRange.GetUpperBoundValue();
// Adjust the delta to be a percentage of the current range
InDelta *= ScrubConstants::ScrollPanFraction * (CurrentMax - CurrentMin);
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3946692) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3801826 by Max.Chen PR #4304: Level Sequence crash fix - Guarded against dereferencing null componen. (Contributed by DSDambuster) Change 3801828 by Max.Chen PR #4302: Movie Scene Visibility Template unitialised variable, causing random . (Contributed by DSDambuster) Change 3801837 by Max.Chen Sequencer: Delay spawning/construction for convert to possessable. This fixes a bug where property values would be lost when converting back and forth from possessable to spawnable. #jira UE-52400 Change 3801841 by Max.Chen Sequencer: Make spacer nodes not selectable. PR #4194: Improvements to Sequencer (Contributed by projectgheist) #jira UE-53117 #jira UE-52139 Change 3804183 by Max.Preussner MediaAssets: Added missing lock in media sound component Change 3805414 by Max.Preussner MediaAssets: Setting valid GUID when initializing media texture resource Change 3819578 by Max.Chen PR #4370: When enabling the "MovieCapture", do not turn off the Stereo-3D display. (Contributed by yehaike) #jira UE-53647 Change 3823414 by Max.Chen Curve Editor: Lock down the first and last keys in the redundant keys removal range so that they're unaffected. #jira UE-53591 Change 3826406 by Max.Chen Sequencer: Move OnStartedPlaying() to within first update in UpdateTimeCursorPosition(). This fixes an issue where setting the hud/player visibility was getting stomped on later. #jira UE-52772 Change 3827044 by Max.Preussner MediaAssets: Added sprite visualization to media sound component #jira UE-53594 Change 3827988 by Max.Preussner MediaPlayerAssets: Fixed Media Texture is not linked to Media Player when created together #jira UE-53532 Change 3828506 by Max.Preussner MediaPlayerEditor: Added attenuation visualizer for media sound components #jira UE-53594 Change 3832590 by andrew.porter EngineTest: Added a keep state check in Property Animation sequencer test Change 3833053 by andrew.porter EngineTest: Adding Hierarchical Bias test Change 3835683 by andrew.porter EngineTest: Adding UMG Animation screenshot test Change 3836076 by Max.Chen Sequencer: Fix audio volume and pitch multiplier deprecation. Change 3836230 by andrew.porter EngineTest: Adding Sequence Bone Position automation test Change 3836347 by Max.Chen Sequencer: Fixes to shot name parsing. When a shot doesn't contain a shot number, assume, [ShotName]_[TakeNumber]. When duplicating a shot, put the new shot in the same path of the original shot, so that the take numbers will increment properly. #jira UE-51868 Change 3836552 by Max.Chen Sequencer: Sub section now has a takes menu Change 3838094 by Max.Chen UMG: Fix template finish not getting called on stop. This fixes a bug where sections aren't restored when finished. #jira UE-52285 Change 3838708 by Max.Chen Sequencer: Add notification when the blend type is changed. #jira UE-54046 Change 3840295 by Max.Chen Sequencer: Fix copy/paste crash for lights #jira UE-54084 Change 3840957 by Mike.Zyracki Added Show Only Keyable and Show Only Animated to the filter list in the property editor. Added IsPropertyAnimated to IDetailKeyframe Interface which already had support for showing properties which are keyable (which is used for the key icon next to the properties.). Could have created another interface but then would have had to mimic the sequencer binding, releasing also, so this seemed best way. One issue still left is that custom built detail items currently don't store associated properties(usually) and so certain properties, in particulalry transforms, won't show up as keyable or animated. Note this also shows up with the keyable icon not showing up next to transform tracks, and other filters like Show Only Modified not working with transforms/customs. Not sure best way to tackle this. #jira UESEQ-328 Change 3841756 by Max.Chen Sequencer: Fix unbound possessable components when pasting spawnables. #jira UE-54104 Change 3843950 by andrew.porter EngineTest: Renaming LevelStreaming tests/content to LevelVisibility Change 3844082 by Mike.Zyracki Missing file for animated filter in property editor. When finding if a track is animated we need to find it but we can't easily induce the MovieTrack class for any particular property. So we don't set a class for it and just search by it's ID and name. #jira UESEQ-328 Change 3846902 by Max.Preussner ImgMedia: Fixed image media player never finished initialization if loading failed #jira UE-54247 Change 3849820 by Mike.Zyracki Reassigning deleted widgets didn't work since the menu extender mechanism needs a valid UObject in order to perform an operation on it. So to fix we replaced GetObjectBindingContextMenuExtender in WidgetBlueprint with new delegate mechanism (OnBuildCustomContextMenuForGuid) that supports FGuid in addition to UObjects which is needed to handle re-binding deleted widgets. Note that the default sequencer hacks this for replacing deleted actors in SequencerObjectBindingNode to check to see if a LevelSequence is active. We could move to this mechanism there also. #jira UE-53163 Change 3852211 by Max.Chen UMG: Indicate name of the property that is not bound. #jira UE-54350 Change 3854120 by Max.Chen Sequencer: Fix sibling folders being allowed to have the same folder name. #jira UE-54363 Change 3854627 by Max.Chen Sequencer: Step to next/previous key should work for all tracks if there aren't any selected. #jira UESEQ-391 Change 3855825 by andrew.porter EngineTest: Adding animation blending automation test Change 3855950 by andrew.porter EngineTest: Adding correct expected valuues to animation blending test Change 3856237 by Matt.Hoffman UESEQ-336 - Sequencer Track Reordering Adds the ability to re-order Master Tracks, Folders and Object Bindings within sequencer hierarchies (including UMG). Adds the ability to do a one-off sorting of the content under the old sorting behavior if the user wants to reset their layout to how it was under legacy behavior. Modifies SequencerTrackNodes, SequencerFolderNodes and SequencerObjectBindingNodes to handle CanDrop/OnDrop for above, below and ontop of. Fixes a Slate Issue that forcibly expanded a TreeviewRow if an item handled OnDrop. Slate will now only forcibly expand the row if the item says the drop happened ontop of the item, and not above or below it like it previously did. Change 3856503 by andrew.porter EngineTest: Adding automation test for using animation blueprint with blend multi node in sequencer Change 3857875 by Max.Chen Sequencer: Assign the sequence id after the template is compiled. #jira UE-54462 Change 3858344 by Max.Chen Sequencer: Prevent Goto and Transform boxes from overlapping by allowing them to be visible at the same time in an autosized horizontal box. Also, added close button to the goto box. PR #4425: Prevent Goto and Transform boxes from overlapping in Sequencer ... (Contributed by projectgheist) #jira UE-54210 Change 3860566 by andrew.porter MediaFrameworkTest: Set the option to index 0 for the audio and video track list by default Change 3860654 by andrew.porter EngineTest: Enabling Camera Cut + FOV test Change 3860981 by andrew.porter EngineTest: Updating skeletal mesh tests with a delay after set playback position Change 3861256 by Max.Chen Sequencer: Add all bindings if none selected. #jira-54440 Change 3862154 by Andrew.Rodham Added TimeManagement module Change 3862424 by andrew.porter EngineTest: Turned on the test Bone Positions with Blend Multi Node Change 3862573 by andrew.porter EngineTest: Adding test to compare bone positions in a sequence that is blending an animation that is using an AnimBP Change 3865117 by Max.Chen Sequencer: Stop auto scroll on mouse release of movement. #jira UE-31212 Change 3865303 by Max.Chen Sequencer: Add drag and drop transactions #jira UE-54662 Change 3865304 by Max.Chen Sequencer: Fix crash when an actor factory is not found. Change 3865361 by Max.Chen Sequencer: Don't change the camera/shot lock button when popping out of a sequence. #jira UE-54665 Change 3865412 by Max.Chen Sequencer: Determine whether a transform track is for a camera by using the spawned object or template #jira UE-54666 Change 3865685 by Max.Chen Sequencer: Clear autoscrub offset when stopping autoscroll #jira UE-31212 Change 3865886 by Max.Chen Sequence Recorder: Log an error if the number of frames changes while recording. This can happen if the skeleton changes while recording. #jira UE-48715 Change 3866925 by Andrew.Porter MediaFrameworkTest: Changing the current PNG test video image sequence to 1024 x 576 Change 3867705 by andrew.porter QAGame: Adding Audio Sort Sequence to dev folder Change 3867890 by andrew.porter QAGame: Adding a sequence for testing a sorting crash to my dev folder Change 3872628 by Max.Chen Movie Scene Capture: Split delay before warmup into split delay before shot warmup so that there's separate controls for when the movie scene capture warmups up vs. shot boundaries. Change 3873131 by Matt.Hoffman UE-54732 - Crash reordering a folder with a track. This was caused by folders being the only type of track to check if someone was putting a parent track into a child track. Object Binding tracks and Tracks now check as well so that you can't use the above/below drop targets to add parents as children. This also fixed a typo in the localization keys. #jira UE-54732 Change 3873301 by Mike.Zyracki Added ability to support continous euler angle changes when changing rotations, in particularly with the rotation gizmo's. To do this we effectively added a form an of 'euler filter'(https://en.wikipedia.org/wiki/Euler_filter) to find the closest euler angle to the current euler angle. Three functions were added to FRotator to make this possible, one to get the euler angle that's has the same rotation as it, one to get the difference between two euler angles via Manhattan distance and a third using the previous two to choose a Rotator value that's closest to it. We then use these functions before calling UComponent::SetRelativeRotation to make sure we use the correct Euler after the Quat conversion. We also no longer limit(bound) the euler angles to -180,180, which is obviously necessary to avoid flips. I also changed how we caluclate yaw and roll when pitch is -90 or 90 to make it the standard approach of zeroing out roll and just setting yaw. Main reasons are the previous implementation had precision issues so things like 180, 90, -180 would show up due to numbers being nearly zero but negative,(this would break any smooth interpolations), and this facilitates having a 'gimbal' rotation mode (like Maya, Blender etc..) if we ever want that also. If needed we could keep the previous implementation but would need to add some FMath::IsNearlyZero checks, with less performance. Note we only do this special filtering when applying delta's to actors or components in the editors, which then call UComponent::SetRelativeRotationExact, which is a new function to foces the RelativeRotation to be equal to the new rotation. This allows us to store un-nomalized Rotators at the cost that the RotationCache may be broken. We didn't change any of the other UComponent functions that set rotations (via Quats or Transforms) so they will still be bounded and unwound. In SetInternalWorldLocationAndRotation we only set the rotation if the rotation has changed, which fixes the rotation getting changed and re-normalized if just translate happens. In TransformTrackEditor, we correclty use the bUndwing flag and in MovieScene3DTransformSection there was an un-needed winding check there, it will be unwound earlier if needed, which happens if Sequence Recording is happening. Max we should talk about what to do about this . Note the euler angle drag via the widget is still bound to 0-360. I think we should just unbound that now since the rotations value are now unbound. This review now includes fixes suggested by Zak. #jira UE-UE-22228 Change 3873483 by Matt.Hoffman Sequencer Tracks can now be inserted above the spacer at the bottom of the tree. #jira UE-54706 Change 3873899 by Max.Chen Sequencer: Add section selection throbbing Change 3873908 by Max.Chen Movie Scene Capture: Added logging per frame Change 3873924 by Matt.Hoffman Adds the ability to store Sequence Recorder setups into profiles that stay with the map and can be re-loaded later. Profiles store the Actor Recordings so the settings for each actor should carry with them. #jira UESEQ-339 Change 3874726 by Matt.Hoffman Disable drag-and-drop targets on spacers that come between rows in Sequencer. This prevents extra drag/drop targets showing up between each row. #jira UE-54706 Change 3874862 by Matt.Hoffman Audio Track no longer gets reordered when adding sub-audio tracks, as sub-tracks are no longer counted towards the sorting order index when normalizing indexes. #jira UE-54727 Change 3875905 by Matt.Hoffman Disable Fade Track UI if a fade track already exists in the sequence. #jira UESEQ-393 Change 3876163 by Max.Chen Sequencer: Swap the camera object to the camera component's owner if it's not the same. #jira UE-54874 Change 3876971 by Andrew.Porter EngineTest: Moved Media Player Seek test to new folder. Also enabled the test with new ground truth image. Change 3877040 by Max.Chen Cine Camera: Split camera properties to two groups, "Camera Options" and "Camera Settings". The cine camera now hides properties in the "Camera Settings" group so that properties like bConstrainAspectRatio (in the "Camera Options" group) can be visible. #jira UE-54192 Change 3877763 by Max.Chen Curve Editor: Fix curve changed on end drag so that only curves that had keys/tangents that were changed receive notification, otherwise all loaded curves were getting notified that they were changed. #jira UE-54951 Change 3878234 by Matt.Hoffman Disable "Drop Below" targets for Sequencer Tree nodes to prevent a confusing UX issue where dropping underneath a Object Binding Node puts it after the object binding node but the UI looks like it's inserting it inside the Object Binding node. #jira UE-54743 Change 3879359 by Mike.Zyracki If a track is inactive we dim it a bit which seems to be the UE4 way to show inactive or disabled state. We changed the active logic so that all subtracks need to be inactive for the track to also be inactive(instead of all active for active). This conforms to how the active state actually works, e.g if you have two sections and only one is active the track is still active above it. #jira UESEQ-388 Change 3879462 by Max.Chen Sequencer: Allow dragging onto a particular row which would move out any overlapping sections to make space for the newly created section. Newly created sections are now selected and throbbed to draw attention to themselves. #jira UE-54664 Change 3879464 by Max.Chen Sequencer: Fixed overlapping ranges being inserted into the evaluation field during compilation - The issue was that track segments that had been combined with adjacent segments (due to them being identical) would potentially cause a subsequently compiled frame to overlap with a range that had already been inserted into the evaluation field. - The insertion code previously asserted that only minor overlaps were catered for (due to fp rounding errors) and assumed that a supplied range could not entirely contain any other range in the field. - The solution is to supply the insertion time along with the range to know exactly where the data should live in the field, and crop the range to the maximum allowable space between adjacent ranges. #jira UE-54922 Change 3879590 by Matt.Hoffman Items that are now added to the Sequencer via the "+Track" menu will be selected after being added. Items can now be added inside of folders instead of just to the root level. #jira UE-27397 Change 3879612 by Mike.Zyracki Display Nodes with no children are always active. #jira UESEQ-388 Change 3879730 by Matt.Hoffman Sequence Recorder's actor recording groups now remove items from the group when removed via the UI. #jira UESEQ-339 Change 3880256 by Mike.Zyracki Fix issue with inactive display with folders and other track nodes. #jira UESEQ-388 Change 3883491 by Max.Chen Fix issue where tick is skipped due to last ticked pose isn't cleared after AnimInstance changes. Copy from Release-4.19 #jira UE-51323 Change 3883603 by Max.Chen Movie Scene Capture: Add option toggle disable screen percentage. By default this is on (no change in current behavior). #jira UE-51898 Change 3885074 by Max.Preussner MediaCompositing: Resetting media texture & freeing resource on section end; removed dead code Change 3887220 by Max.Preussner MediaCompositing: Defaulted media section duration to 1 sec (since we do not know the actual duration in most cases) Change 3887478 by Matt.Hoffman Sequences now show [Inactive] in their title bars when they're disabled. This helps communicate why a sequence isn't being evaluated. #jira UE-51469 Change 3888985 by Max.Chen Movie Scene Capture: Clamp HDR Compression Quality between 0 and 1. #jira UE-55136 Change 3893519 by Max.Chen Sequence Recorder: Clarified tooltip for bRecordNearbySpawnedActors - spawned actors will still be recorded if they match the ActorFilter. #jira UE-55238 Change 3893546 by Max.Chen Sequence Recorder: If a selected actor already has a recording, add a blank recording. #jira UE-55239 Change 3894044 by Max.Preussner MediaCompositing: Added support for seeking into a media section Change 3894310 by andrew.porter MediaFrameworkTest: Adding Img media sources for 1080 and 2160 ravent test content Change 3894426 by Max.Preussner MediaAssets: Letting media textures with AutoClear retain their clear color when player is reset Change 3895717 by Max.Chen Sequencer: Null checks to prevent crash when saving the default state of a spawnable #jira UE-55304 Change 3897388 by Max.Chen Sequencer: Don't update current time to be within the view range when stepping into a sequence. #jira UE-55322 Change 3897452 by Max.Chen Audio: Fix crash when trying to record audio without any active capture devices. Log warning if the number of input channels is not 1 or 2. #jira UE-55223 Change 3897619 by Max.Preussner MediaCompositing: Removed commented out code Change 3898072 by Max.Chen Sequencer: Override the animation asset in the player state if it doesn't match the animation asset that's being evaluated. #jira UE-55328 Change 3898272 by Max.Preussner MediaPlayerEditor: Made slate brush constants static Change 3898704 by Max.Chen Sequencer: Skip if the binding id's sequence can't be found. #jira UE-55337 Change 3899855 by Max.Preussner MediaCompositingEditor: Added cache state visualization to media track Change 3900300 by Max.Preussner MediaCompositingEditor: Added loop indicators to media sections Change 3900694 by Max.Preussner ImfMedia: Looping cache only when player is looping Change 3900892 by Max.Preussner Stats: Added stats category for media framework Change 3900954 by Max.Preussner MediaCompositing: Don't evaluate at the end of media section Change 3901348 by Max.Preussner Core: Replaced TLruCache autos for better readability Change 3901655 by Max.Preussner ImgMedia: Added more perf stats to EXR reader Change 3901972 by Max.Preussner MediaAssets: Added getter for media player in media sound components Change 3902233 by Max.Preussner MediaAssets: Enabling media textures to receive samples right after player is assigned Change 3902238 by Max.Preussner MediaCompositing: Working around init/shutdown idiosyncracies in sequencer Change 3904045 by Max.Chen Sequencer: Fix copy/paste crash. Only process UMovieSceneCopyableBinding and objects that can be spawned by the movie scene spawn register. #jira UE-55314 Change 3905605 by Max.Chen Sequencer: Restrict spawnables from being created if they have a ClassWithin that UMovieScene is not a child of. #jira UE-55429 Change 3906550 by Max.Chen Sequencer: Add media track icon #jira UE-55480 Change 3907101 by Max.Chen Sequence Recorder: Fix bugs related to not recording a level sequence. There were certain assumptions that creating a level sequence meant that sequence recording was in progress. This is not always the case - the recorders can record animation assets and not create a level sequence. Changed the notion of IsRecording() to having at least one actor recording that is recording. Countdown timer, recording displays, etc should function if IsRecording() and not based on whether a level sequence is created. #jira UE-55485 Change 3907247 by Max.Chen Sequence Recorder: Fix crash not removing PrepareToCleanseEditorObject delegate. Repros when opening sequence recorder, closing it, and then opening or creating a level. Change 3910343 by Max.Preussner Core: Added async helper for executing functions on a given thread pool Change 3910346 by Max.Preussner ImgMedia: Added separate thread pools for loading/decoding and deleting image frames Change 3910829 by Max.Preussner Profiler: Increased visible range of profiler graph Change 3910841 by Max.Preussner MediaCompositing: Displaying asset name instead of full media source path in media section Change 3910870 by Max.Preussner ImgMedia: Using deallocation thread pool only in debug builds Change 3919642 by Max.Chen Sequence Recorder: Clarify active tooltip #jira UE-55661 Change 3919660 by Max.Chen Sequencer: Sequence template source signatures are now also compared to catch the case where a sub-sequence asset has been saved but not modified - The following sequence of events exposes this issue: - Create a master sequence with a single shot that spawns a cube - Add this sequence to a level and set it to auto-play - Save everything and restart - Resave just the inner shot asset without opening it - PIE - The inner shot never spawns its cube because its template was wiped on save, but its signature never changed. Since the master sequence previously didn't check the template source signature, it ends up trying to evaluate an empty template. #jira UE-55626 #jira UE-55490 Change 3921825 by Max.Chen Sequencer: "Run Construction Script in Sequencer" is off by default for blueprints but on for Sequencer. This allows the content author to switch it on for specific blueprints and sequencer will be default, run those with construction scripts enabled. Change 3922232 by Max.Chen Sequence Recorder: Reset countdelay on stop. #jira UE-55755 Change 3922306 by Max.Chen Sequence Recorder: Don't automatically mark transforms to be recorded by sequence recorder. Instead, log a warning if the user toggled it off to warn that the resulting animation might not match gameplay. #jira UE-55758 Change 3922912 by Max.Chen Sequence Recorder: Fix refresh next sequence name #jira UE-55757 Change 3927654 by Max.Chen Movie Scene Capture: Added format mapping for the name of the current camera #jira UE-55769 PR #4537 Change 3927658 by Max.Chen Sequencer: Added fbx property mapping for "FocusDistance" to "FocusSettings.ManualFocusDistance" #jira UE-55782 Change 3932022 by Max.Chen Sequencer: Add import animation track section to next available row index. #jira UE-55892 Change 3933919 by Max.Chen Sequencer: Jump to playback start frame and not 0 to start playback for recording. #jira UE-55933 Change 3934307 by Andrew.Rodham Sequencer: Add template signature that is re-generated every time the base template is regenerated, which invalidates evaluation fields This fixes an issue where the same sequence is instantiated multiple times in a sequence. If the source sequence was saved, its template would be wiped, which would invalidate the template ID When an instance tries to evaluate the master template, it would only invalidate a range in the evaluation field that was the hull of any invalid sub sequences overlapping the current time, potentially leaving invalid data in the evaluation field at positions later (or earlier) on in the sequence When the sub template was re-generated, it receives the same SequenceSignature as it had before (because the sequence hasn't actually changed), which causes the stale evaluation field data to fail the IsDirty check (because the sequence is the same as it thought, but the *template* has changed) This has been addressed be adding a signature to templates themselves, and checking both the template signature and sequence signature as a part of the IsDirty check. This ensures that we regenerate if either the template, or the sequence have changed. #jira UE-55934 Change 3936327 by Andrew.Rodham Sequencer: Removed increment when trimming right UMovieSceneSection::TrimSection already explicity assigns an exclusive bound to the time passed in. The new behavior means we can trim a section to the right, and insert another section without changing the time to create adjacent sections. #jira UE-42652 Change 3936328 by Andrew.Rodham Fixed KeyFrameManipulator assignment operators and copy/move constructors - These types are potentially self-referential so cannot use default constructors/assignment Change 3936330 by Andrew.Rodham Converted UMGSequencePlayer to use frames internally #jira UE-54878 Change 3936726 by Max.Chen Sequencer: Set track node as the parent of the key area node. The key area switcher needs the object binding id from the parent object binding node. Without this, the binding to the external value fails. #jira UE-55931 Change 3936775 by Max.Chen Sequencer: Should stop or loop should compare DurationFrames with Current Time from StartTime. The bug is that if you set 30 warmup frames in movie rendering for a range of 0-100, the FrameRange will be starting at -30 and have a duration of 130. Without this fix, the playback will continue until frame 130, rather than 100. #jira UE-55933 Change 3936935 by Matt.Hoffman Easing Curves are now represented in Play Rate resolution instead of internal resolution. #jira UE-55937 Change 3937069 by Matt.Hoffman Users can toggle if the is infinite on each side, limited by which tracks support infinite ranges. #jira UE-55891 Change 3937516 by Max.Preussner ImgMedia: Added support for single-threaded platforms #jira UE-55986 Change 3937826 by Max.Preussner MediaAssets: Disabling media sound components on HTML5 if AudioMixer is not enabled Change 3937997 by Max.Chen Curve Editor: Add Zoom to Fit Curves so that selected curves from Sequencer can be focused on. Tested that undo doesn't re-zoom. #jira UE-55935 Change 3938000 by Max.Chen Sequencer: Stop all sounds before generating audio waveforms. #jira UE-55951 Change 3938376 by Max.Preussner XGEController: Disabled XGE Controller in single-threaded apps to prevent crash Change 3938444 by Max.Preussner Core: Added async support for single-threaded applications Change 3938445 by Max.Preussner Networking: Added support for single-threaded applications in UDP socket sender/receiver Change 3938447 by Max.Preussner Messaging: Added support for single-threaded applications Change 3939432 by Max.Chen Sequence Recorder: Append command list to global level editor actions so that shortcuts are accessible in level editor. #jira UE-55798 Change 3940229 by Andrew.Rodham Added prospective display rate upgrade to UMovieScene::PostLoad - There was previously some very odd behaviour that would assign the fixed frame interval only when a sub sequence was focused in SSequencer. This meant that many sequences could have a frame interval of 0 set in the data. - Under the old method of snap interval display this would have fallen back to getting the display interval from the sequencer settings, but we no longer look at these. - The USequencerSettings properties have been removed and in their place, a prospective data upgrade for sequences that have a fixed frame interval old 0fps that sets the play rate to the previous defaults based off the old USequencerSettings defaults. - This could end up 'changing' the display rate for sequences where the user has changed the snap interval in the settings for a particular sequence editor, but there's not much we can do about that given we don't have access to the USequencerSettings classes in UMovieScene #jira UE-55919 Change 3940277 by Andrew.Rodham Sequencer: Added ability to default frame resolutions and play rates for newly created actor sequences Change 3940378 by Andrew.Rodham Sequencer: Post move import dialog now defaults to the playback framerate of the sequence, and floors to frame numbers Change 3940559 by Andrew.Rodham Reinstated primed or recording sequence color Change 3940642 by Max.Preussner ImagePlate: Removed image plate media playback functionality Change 3940843 by Max.Preussner Core: Made TCircularQueue actually thread-safe; improved code comments Change 3940860 by Max.Chen Sequencer: Changed StructNameToKey to StructPathToKey Previously, keying a PropertyPath of [RenderTransform][Shear][X] would get trimmed to X, which doesn't map to a channel name as considered by Sequencer2dTransformTrackEditor. Instead, trim the resulting property path to [Shear][X] so that track editors can determine the desired struct path and channels to key. #jira UE-52966 Change 3941292 by Mike.Zyracki Fix for trajectories out of range not showing up. 1) If we had no key data we would pop the time, so wouldn't get the section ranges. 2) Calculating of upper bound was wrong, checking against -1 and not key == num of keys when doing algo::lower_bound. 3) No need to do the Bck-- for the bakward iterators since we fixed #2. We start now from the upper bound correctly. 4) If we had no keys (at section start,end) we would incorrectly say we were any key type, so since we draw constant keys as dashed we would do so incorrectly around section end points. #jira UE-55929 Change 3941424 by Max.Chen Curve Editor: Change Zoom to Fit to use TArrayView Change 3941498 by Max.Preussner Core: Added FMath::DivideAndRoundNearest function Change 3942097 by Matt.Hoffman Drop Frame Timecode Support for NTSC rates. Change 3942104 by Matt.Hoffman Sequence Recorder Group is no longer visible inside the World Outliner after using one. #jira 55266 Change 3942107 by Max.Chen Sequencer: Resurrect logic to find or extend an existing section when adding keys. Change 3942330 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942339 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942507 by Andrew.Rodham Sequencer: We no longer pad the time overlap threshold with a small number that is not scaled by the current zoom level - The presence of this pad was causing keys that were far apart to be grouped when zoomed in a long way Change 3942509 by Andrew.Rodham Sequencer: Only pad total view range, rather than section range as well when retrieving keys to render - This stops us from rendering keys that are within the view range, but outside the section range Change 3942512 by Andrew.Rodham Added transactions to some sequencer details customizations Change 3942513 by Andrew.Rodham Sequencer: Reinstated validation checks to UMovieSceneSection::SetStartFrame and SetEndFrame, changed erroneous uses to use SetRange Change 3942560 by Andrew.Rodham Pass by rvalue reference to appease error C2719 on Win32 ('InChannels': formal parameter with requested alignment of 8 won't be aligned) Change 3942697 by Andrew.Rodham Newly Created Level Sequences and Actor Sequences now default to 24000 fps frame resolution (+/- ~24hrs range, supporting all integer rates + 23.976) Change 3942700 by Andrew.Rodham Sequencer: Added legacy out-of-bounds errors for times that are not supported by the current legacy upgrade frame resolution Change 3942989 by Max.Preussner Core: Fixed circular queue count calculation Change 3943538 by Max.Preussner MediaAssets: Reverted workaround for procedural audio log spam in HTML5 (Actor component initialization cannot be skipped if the component is used in a level) Change 3944071 by Max.Preussner QAGame: Fixed Media Texture keeps last frame of Media when PIE ends #jira UE-53360 Change 3944292 by Max.Chen Sequencer: Added extra flags to ensure that asset initialization does not occur on template actor sequences #jira UE-56113 Change 3944364 by Max.Chen Sequencer: Prevent circular shot/master tracks. Tested adding master -> child -> master as drag and drop cinematic shot tracks and sub tracks as well as through the + button. #jira UE-56091 Change 3944422 by Max.Chen Sequence Recorder: Disable transform recording if off. #jira UE-56061 Change 3944745 by Andrew.Rodham Sequencer: Key rendering fixes - Fixed assert that occured when keys happened to reside on some times due to KeyTime + TimeOverlapThreshold - KeyTime being slightly larger TimeOverlapThreshold - Fixed keys sometimes being clipped when zoomed right in due to lack of half-frame offset - Added missing documentation to MovieSceneTimeHelpers.h #jira UE-56107 Change 3945231 by Andrew.Rodham Sequencer: Reconstruct channel proxy on Serialize to catch all cases of undo/redo, PostLoad and duplication #jira UE-56089 Change 3945301 by Andrew.Rodham Sequencer: Added safety checks during initial sequence recording to guard against applying negative or 0-sized sequence ranges #jira UE-56125 Change 3946627 by Max.Preussner Fortnite: Fixed game crashes closing editor while in PIE - Pure virtual function being called #jira UE-56144 [CL 3946896 by Max Chen in Main branch]
2018-03-14 22:09:33 -04:00
double NewViewOutputMin = CurrentMin + InDelta;
double NewViewOutputMax = CurrentMax + InDelta;
ClampViewRange(NewViewOutputMin, NewViewOutputMax);
SetViewRange(NewViewOutputMin, NewViewOutputMax, EViewRangeInterpolation::Animated);
}
Copying //UE4/Dev-Sequencer to //UE4/Main ========================== MAJOR FEATURES + CHANGES ========================== Change 2875025 on 2016/02/20 by Andrew.Rodham Sequencer: Cinematic viewport improvements - Added optional letterbox overlay (defaults to 2.35:1) - Added ability to change safe frame colors - Added selected tracks' keys to the transport range - Added buttons for jumping between selected tracks' keyframes on the transport controls - Removed black padding around the viewport where possible - Added ability to specify whether a combo button/menu anchor should close when its parent receives focus - Separated logic of FGroupedKeyArea into FSequencerKeyCollection, so it can be used independently - Added playback range to the viewport frame numbers - All frame numbers are now spin boxes #jira UE-26429 Change 2875026 on 2016/02/20 by Thomas.Sarkanen Added console commands for recording sequences Changed plugin to a developer plugin so we can load it when the editor is in -game mode. Added Exec commands. Added some more logging to help diagnose problems when using commands. Added loading/saving of config for recorder settings (stored in Editor.ini). Also disabled controls in recorder window when recording. Added auto-saving of assets when in non-editor modes. Moved animation settings from UnrealEd to Engine module. Change 2875036 on 2016/02/20 by Max.Chen Sequencer: Call RedrawAllViewports instead of RedrawLevelEditingViewports. In particular, this fixes some update issues when editing values in the key editors. #jira UE-26960 Change 2875046 on 2016/02/20 by Max.Preussner Sequencer: Fix so that clicking on UMG Animations doesn't dirty the scene. #jira UE-26249 Change 2875047 on 2016/02/20 by Max.Chen Sequencer: Add option to toggle display of channel colors/lines. View->Channel Colors Change 2877138 on 2016/02/23 by Max.Chen Sequencer: Select corresponding track node when selecting key or section. Removed active/inactive selection since it was only being used in deletion and the rules for deletion are now dependent upon what is selected - delete keys and sections before deleting outliner nodes. Change 2877143 on 2016/02/23 by Thomas.Sarkanen Added new math function: WindRelativeAnglesDegrees Given two angles in degrees, 'wind' the angle in Angle1 so that it avoids >180 degree flips. Good for winding rotations previously expressed as quaternions into a euler-angle representation. Change 2877147 on 2016/02/23 by Thomas.Sarkanen Added the ability to import sequencer transforms from the root node of an animation sequence Intended for use after re-importing animations from DCC tools. Available in the right-click menu for transform tracks. Also added FindTrackBinding to UMovieScene so track bindings can be recovered from tracks. Change 2877163 on 2016/02/23 by Max.Chen Sequencer: Add option to create keyframe sections as infinite. Sequencer defaults to true, UMG defaults to false. Change 2877165 on 2016/02/23 by Max.Preussner Sequencer: Drawing vertical position lines when dragging keys Change 2878748 on 2016/02/23 by Max.Chen Curve Editor: Switch curve type to user when flatting or straightening tangents. #jira UE-27277 Change 2878799 on 2016/02/23 by Frank.Fella Sequencer - Add folders support to the outliner. Change 2880769 on 2016/02/24 by Andrew.Rodham Sequencer: Added ability to override runtime spawnable ownership in sequencer - This is exposed as an option on spawnables "Keep Alive Outside Playback Range (In Sequencer)" - Enabling this will stop spawnables from being destroyed when scrubbing outside of the playback range #jira UE-27205 Change 2880770 on 2016/02/24 by Thomas.Sarkanen Sequencer: Added countdown and recording indicator display when recording Also fixed extra popups added post-PIE when animation recordings auto shutdown. Change 2880782 on 2016/02/24 by Max.Chen Sequencer: Snapping now also uses the current time as a possible snap time. #jira UE-26306 Change 2880793 on 2016/02/24 by Max.Chen Sequencer: Add +Animation to Animation track so that it's consistent with all other tracks that have a + button. Change 2880812 on 2016/02/24 by Max.Chen Sequencer: Fix adjusting the leading edge of a shot section so that it cuts into the shot rather than adjusts the start time. #jira UE-26306 Change 2881624 on 2016/02/25 by Andrew.Rodham Changing shader version GUID to fix corrupt shaders in ddc Change 2882408 on 2016/02/25 by Thomas.Sarkanen Asset/actors stored in TLazyObjectPtrs can now reference game content from engine This is a legitimate use case as lazy object ptrs are designed to reference assets/actors cross-domain. Change 2882409 on 2016/02/25 by Thomas.Sarkanen [CL 2899785 by Max Chen in Main branch]
2016-03-08 16:55:04 -05:00
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3946692) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3801826 by Max.Chen PR #4304: Level Sequence crash fix - Guarded against dereferencing null componen. (Contributed by DSDambuster) Change 3801828 by Max.Chen PR #4302: Movie Scene Visibility Template unitialised variable, causing random . (Contributed by DSDambuster) Change 3801837 by Max.Chen Sequencer: Delay spawning/construction for convert to possessable. This fixes a bug where property values would be lost when converting back and forth from possessable to spawnable. #jira UE-52400 Change 3801841 by Max.Chen Sequencer: Make spacer nodes not selectable. PR #4194: Improvements to Sequencer (Contributed by projectgheist) #jira UE-53117 #jira UE-52139 Change 3804183 by Max.Preussner MediaAssets: Added missing lock in media sound component Change 3805414 by Max.Preussner MediaAssets: Setting valid GUID when initializing media texture resource Change 3819578 by Max.Chen PR #4370: When enabling the "MovieCapture", do not turn off the Stereo-3D display. (Contributed by yehaike) #jira UE-53647 Change 3823414 by Max.Chen Curve Editor: Lock down the first and last keys in the redundant keys removal range so that they're unaffected. #jira UE-53591 Change 3826406 by Max.Chen Sequencer: Move OnStartedPlaying() to within first update in UpdateTimeCursorPosition(). This fixes an issue where setting the hud/player visibility was getting stomped on later. #jira UE-52772 Change 3827044 by Max.Preussner MediaAssets: Added sprite visualization to media sound component #jira UE-53594 Change 3827988 by Max.Preussner MediaPlayerAssets: Fixed Media Texture is not linked to Media Player when created together #jira UE-53532 Change 3828506 by Max.Preussner MediaPlayerEditor: Added attenuation visualizer for media sound components #jira UE-53594 Change 3832590 by andrew.porter EngineTest: Added a keep state check in Property Animation sequencer test Change 3833053 by andrew.porter EngineTest: Adding Hierarchical Bias test Change 3835683 by andrew.porter EngineTest: Adding UMG Animation screenshot test Change 3836076 by Max.Chen Sequencer: Fix audio volume and pitch multiplier deprecation. Change 3836230 by andrew.porter EngineTest: Adding Sequence Bone Position automation test Change 3836347 by Max.Chen Sequencer: Fixes to shot name parsing. When a shot doesn't contain a shot number, assume, [ShotName]_[TakeNumber]. When duplicating a shot, put the new shot in the same path of the original shot, so that the take numbers will increment properly. #jira UE-51868 Change 3836552 by Max.Chen Sequencer: Sub section now has a takes menu Change 3838094 by Max.Chen UMG: Fix template finish not getting called on stop. This fixes a bug where sections aren't restored when finished. #jira UE-52285 Change 3838708 by Max.Chen Sequencer: Add notification when the blend type is changed. #jira UE-54046 Change 3840295 by Max.Chen Sequencer: Fix copy/paste crash for lights #jira UE-54084 Change 3840957 by Mike.Zyracki Added Show Only Keyable and Show Only Animated to the filter list in the property editor. Added IsPropertyAnimated to IDetailKeyframe Interface which already had support for showing properties which are keyable (which is used for the key icon next to the properties.). Could have created another interface but then would have had to mimic the sequencer binding, releasing also, so this seemed best way. One issue still left is that custom built detail items currently don't store associated properties(usually) and so certain properties, in particulalry transforms, won't show up as keyable or animated. Note this also shows up with the keyable icon not showing up next to transform tracks, and other filters like Show Only Modified not working with transforms/customs. Not sure best way to tackle this. #jira UESEQ-328 Change 3841756 by Max.Chen Sequencer: Fix unbound possessable components when pasting spawnables. #jira UE-54104 Change 3843950 by andrew.porter EngineTest: Renaming LevelStreaming tests/content to LevelVisibility Change 3844082 by Mike.Zyracki Missing file for animated filter in property editor. When finding if a track is animated we need to find it but we can't easily induce the MovieTrack class for any particular property. So we don't set a class for it and just search by it's ID and name. #jira UESEQ-328 Change 3846902 by Max.Preussner ImgMedia: Fixed image media player never finished initialization if loading failed #jira UE-54247 Change 3849820 by Mike.Zyracki Reassigning deleted widgets didn't work since the menu extender mechanism needs a valid UObject in order to perform an operation on it. So to fix we replaced GetObjectBindingContextMenuExtender in WidgetBlueprint with new delegate mechanism (OnBuildCustomContextMenuForGuid) that supports FGuid in addition to UObjects which is needed to handle re-binding deleted widgets. Note that the default sequencer hacks this for replacing deleted actors in SequencerObjectBindingNode to check to see if a LevelSequence is active. We could move to this mechanism there also. #jira UE-53163 Change 3852211 by Max.Chen UMG: Indicate name of the property that is not bound. #jira UE-54350 Change 3854120 by Max.Chen Sequencer: Fix sibling folders being allowed to have the same folder name. #jira UE-54363 Change 3854627 by Max.Chen Sequencer: Step to next/previous key should work for all tracks if there aren't any selected. #jira UESEQ-391 Change 3855825 by andrew.porter EngineTest: Adding animation blending automation test Change 3855950 by andrew.porter EngineTest: Adding correct expected valuues to animation blending test Change 3856237 by Matt.Hoffman UESEQ-336 - Sequencer Track Reordering Adds the ability to re-order Master Tracks, Folders and Object Bindings within sequencer hierarchies (including UMG). Adds the ability to do a one-off sorting of the content under the old sorting behavior if the user wants to reset their layout to how it was under legacy behavior. Modifies SequencerTrackNodes, SequencerFolderNodes and SequencerObjectBindingNodes to handle CanDrop/OnDrop for above, below and ontop of. Fixes a Slate Issue that forcibly expanded a TreeviewRow if an item handled OnDrop. Slate will now only forcibly expand the row if the item says the drop happened ontop of the item, and not above or below it like it previously did. Change 3856503 by andrew.porter EngineTest: Adding automation test for using animation blueprint with blend multi node in sequencer Change 3857875 by Max.Chen Sequencer: Assign the sequence id after the template is compiled. #jira UE-54462 Change 3858344 by Max.Chen Sequencer: Prevent Goto and Transform boxes from overlapping by allowing them to be visible at the same time in an autosized horizontal box. Also, added close button to the goto box. PR #4425: Prevent Goto and Transform boxes from overlapping in Sequencer ... (Contributed by projectgheist) #jira UE-54210 Change 3860566 by andrew.porter MediaFrameworkTest: Set the option to index 0 for the audio and video track list by default Change 3860654 by andrew.porter EngineTest: Enabling Camera Cut + FOV test Change 3860981 by andrew.porter EngineTest: Updating skeletal mesh tests with a delay after set playback position Change 3861256 by Max.Chen Sequencer: Add all bindings if none selected. #jira-54440 Change 3862154 by Andrew.Rodham Added TimeManagement module Change 3862424 by andrew.porter EngineTest: Turned on the test Bone Positions with Blend Multi Node Change 3862573 by andrew.porter EngineTest: Adding test to compare bone positions in a sequence that is blending an animation that is using an AnimBP Change 3865117 by Max.Chen Sequencer: Stop auto scroll on mouse release of movement. #jira UE-31212 Change 3865303 by Max.Chen Sequencer: Add drag and drop transactions #jira UE-54662 Change 3865304 by Max.Chen Sequencer: Fix crash when an actor factory is not found. Change 3865361 by Max.Chen Sequencer: Don't change the camera/shot lock button when popping out of a sequence. #jira UE-54665 Change 3865412 by Max.Chen Sequencer: Determine whether a transform track is for a camera by using the spawned object or template #jira UE-54666 Change 3865685 by Max.Chen Sequencer: Clear autoscrub offset when stopping autoscroll #jira UE-31212 Change 3865886 by Max.Chen Sequence Recorder: Log an error if the number of frames changes while recording. This can happen if the skeleton changes while recording. #jira UE-48715 Change 3866925 by Andrew.Porter MediaFrameworkTest: Changing the current PNG test video image sequence to 1024 x 576 Change 3867705 by andrew.porter QAGame: Adding Audio Sort Sequence to dev folder Change 3867890 by andrew.porter QAGame: Adding a sequence for testing a sorting crash to my dev folder Change 3872628 by Max.Chen Movie Scene Capture: Split delay before warmup into split delay before shot warmup so that there's separate controls for when the movie scene capture warmups up vs. shot boundaries. Change 3873131 by Matt.Hoffman UE-54732 - Crash reordering a folder with a track. This was caused by folders being the only type of track to check if someone was putting a parent track into a child track. Object Binding tracks and Tracks now check as well so that you can't use the above/below drop targets to add parents as children. This also fixed a typo in the localization keys. #jira UE-54732 Change 3873301 by Mike.Zyracki Added ability to support continous euler angle changes when changing rotations, in particularly with the rotation gizmo's. To do this we effectively added a form an of 'euler filter'(https://en.wikipedia.org/wiki/Euler_filter) to find the closest euler angle to the current euler angle. Three functions were added to FRotator to make this possible, one to get the euler angle that's has the same rotation as it, one to get the difference between two euler angles via Manhattan distance and a third using the previous two to choose a Rotator value that's closest to it. We then use these functions before calling UComponent::SetRelativeRotation to make sure we use the correct Euler after the Quat conversion. We also no longer limit(bound) the euler angles to -180,180, which is obviously necessary to avoid flips. I also changed how we caluclate yaw and roll when pitch is -90 or 90 to make it the standard approach of zeroing out roll and just setting yaw. Main reasons are the previous implementation had precision issues so things like 180, 90, -180 would show up due to numbers being nearly zero but negative,(this would break any smooth interpolations), and this facilitates having a 'gimbal' rotation mode (like Maya, Blender etc..) if we ever want that also. If needed we could keep the previous implementation but would need to add some FMath::IsNearlyZero checks, with less performance. Note we only do this special filtering when applying delta's to actors or components in the editors, which then call UComponent::SetRelativeRotationExact, which is a new function to foces the RelativeRotation to be equal to the new rotation. This allows us to store un-nomalized Rotators at the cost that the RotationCache may be broken. We didn't change any of the other UComponent functions that set rotations (via Quats or Transforms) so they will still be bounded and unwound. In SetInternalWorldLocationAndRotation we only set the rotation if the rotation has changed, which fixes the rotation getting changed and re-normalized if just translate happens. In TransformTrackEditor, we correclty use the bUndwing flag and in MovieScene3DTransformSection there was an un-needed winding check there, it will be unwound earlier if needed, which happens if Sequence Recording is happening. Max we should talk about what to do about this . Note the euler angle drag via the widget is still bound to 0-360. I think we should just unbound that now since the rotations value are now unbound. This review now includes fixes suggested by Zak. #jira UE-UE-22228 Change 3873483 by Matt.Hoffman Sequencer Tracks can now be inserted above the spacer at the bottom of the tree. #jira UE-54706 Change 3873899 by Max.Chen Sequencer: Add section selection throbbing Change 3873908 by Max.Chen Movie Scene Capture: Added logging per frame Change 3873924 by Matt.Hoffman Adds the ability to store Sequence Recorder setups into profiles that stay with the map and can be re-loaded later. Profiles store the Actor Recordings so the settings for each actor should carry with them. #jira UESEQ-339 Change 3874726 by Matt.Hoffman Disable drag-and-drop targets on spacers that come between rows in Sequencer. This prevents extra drag/drop targets showing up between each row. #jira UE-54706 Change 3874862 by Matt.Hoffman Audio Track no longer gets reordered when adding sub-audio tracks, as sub-tracks are no longer counted towards the sorting order index when normalizing indexes. #jira UE-54727 Change 3875905 by Matt.Hoffman Disable Fade Track UI if a fade track already exists in the sequence. #jira UESEQ-393 Change 3876163 by Max.Chen Sequencer: Swap the camera object to the camera component's owner if it's not the same. #jira UE-54874 Change 3876971 by Andrew.Porter EngineTest: Moved Media Player Seek test to new folder. Also enabled the test with new ground truth image. Change 3877040 by Max.Chen Cine Camera: Split camera properties to two groups, "Camera Options" and "Camera Settings". The cine camera now hides properties in the "Camera Settings" group so that properties like bConstrainAspectRatio (in the "Camera Options" group) can be visible. #jira UE-54192 Change 3877763 by Max.Chen Curve Editor: Fix curve changed on end drag so that only curves that had keys/tangents that were changed receive notification, otherwise all loaded curves were getting notified that they were changed. #jira UE-54951 Change 3878234 by Matt.Hoffman Disable "Drop Below" targets for Sequencer Tree nodes to prevent a confusing UX issue where dropping underneath a Object Binding Node puts it after the object binding node but the UI looks like it's inserting it inside the Object Binding node. #jira UE-54743 Change 3879359 by Mike.Zyracki If a track is inactive we dim it a bit which seems to be the UE4 way to show inactive or disabled state. We changed the active logic so that all subtracks need to be inactive for the track to also be inactive(instead of all active for active). This conforms to how the active state actually works, e.g if you have two sections and only one is active the track is still active above it. #jira UESEQ-388 Change 3879462 by Max.Chen Sequencer: Allow dragging onto a particular row which would move out any overlapping sections to make space for the newly created section. Newly created sections are now selected and throbbed to draw attention to themselves. #jira UE-54664 Change 3879464 by Max.Chen Sequencer: Fixed overlapping ranges being inserted into the evaluation field during compilation - The issue was that track segments that had been combined with adjacent segments (due to them being identical) would potentially cause a subsequently compiled frame to overlap with a range that had already been inserted into the evaluation field. - The insertion code previously asserted that only minor overlaps were catered for (due to fp rounding errors) and assumed that a supplied range could not entirely contain any other range in the field. - The solution is to supply the insertion time along with the range to know exactly where the data should live in the field, and crop the range to the maximum allowable space between adjacent ranges. #jira UE-54922 Change 3879590 by Matt.Hoffman Items that are now added to the Sequencer via the "+Track" menu will be selected after being added. Items can now be added inside of folders instead of just to the root level. #jira UE-27397 Change 3879612 by Mike.Zyracki Display Nodes with no children are always active. #jira UESEQ-388 Change 3879730 by Matt.Hoffman Sequence Recorder's actor recording groups now remove items from the group when removed via the UI. #jira UESEQ-339 Change 3880256 by Mike.Zyracki Fix issue with inactive display with folders and other track nodes. #jira UESEQ-388 Change 3883491 by Max.Chen Fix issue where tick is skipped due to last ticked pose isn't cleared after AnimInstance changes. Copy from Release-4.19 #jira UE-51323 Change 3883603 by Max.Chen Movie Scene Capture: Add option toggle disable screen percentage. By default this is on (no change in current behavior). #jira UE-51898 Change 3885074 by Max.Preussner MediaCompositing: Resetting media texture & freeing resource on section end; removed dead code Change 3887220 by Max.Preussner MediaCompositing: Defaulted media section duration to 1 sec (since we do not know the actual duration in most cases) Change 3887478 by Matt.Hoffman Sequences now show [Inactive] in their title bars when they're disabled. This helps communicate why a sequence isn't being evaluated. #jira UE-51469 Change 3888985 by Max.Chen Movie Scene Capture: Clamp HDR Compression Quality between 0 and 1. #jira UE-55136 Change 3893519 by Max.Chen Sequence Recorder: Clarified tooltip for bRecordNearbySpawnedActors - spawned actors will still be recorded if they match the ActorFilter. #jira UE-55238 Change 3893546 by Max.Chen Sequence Recorder: If a selected actor already has a recording, add a blank recording. #jira UE-55239 Change 3894044 by Max.Preussner MediaCompositing: Added support for seeking into a media section Change 3894310 by andrew.porter MediaFrameworkTest: Adding Img media sources for 1080 and 2160 ravent test content Change 3894426 by Max.Preussner MediaAssets: Letting media textures with AutoClear retain their clear color when player is reset Change 3895717 by Max.Chen Sequencer: Null checks to prevent crash when saving the default state of a spawnable #jira UE-55304 Change 3897388 by Max.Chen Sequencer: Don't update current time to be within the view range when stepping into a sequence. #jira UE-55322 Change 3897452 by Max.Chen Audio: Fix crash when trying to record audio without any active capture devices. Log warning if the number of input channels is not 1 or 2. #jira UE-55223 Change 3897619 by Max.Preussner MediaCompositing: Removed commented out code Change 3898072 by Max.Chen Sequencer: Override the animation asset in the player state if it doesn't match the animation asset that's being evaluated. #jira UE-55328 Change 3898272 by Max.Preussner MediaPlayerEditor: Made slate brush constants static Change 3898704 by Max.Chen Sequencer: Skip if the binding id's sequence can't be found. #jira UE-55337 Change 3899855 by Max.Preussner MediaCompositingEditor: Added cache state visualization to media track Change 3900300 by Max.Preussner MediaCompositingEditor: Added loop indicators to media sections Change 3900694 by Max.Preussner ImfMedia: Looping cache only when player is looping Change 3900892 by Max.Preussner Stats: Added stats category for media framework Change 3900954 by Max.Preussner MediaCompositing: Don't evaluate at the end of media section Change 3901348 by Max.Preussner Core: Replaced TLruCache autos for better readability Change 3901655 by Max.Preussner ImgMedia: Added more perf stats to EXR reader Change 3901972 by Max.Preussner MediaAssets: Added getter for media player in media sound components Change 3902233 by Max.Preussner MediaAssets: Enabling media textures to receive samples right after player is assigned Change 3902238 by Max.Preussner MediaCompositing: Working around init/shutdown idiosyncracies in sequencer Change 3904045 by Max.Chen Sequencer: Fix copy/paste crash. Only process UMovieSceneCopyableBinding and objects that can be spawned by the movie scene spawn register. #jira UE-55314 Change 3905605 by Max.Chen Sequencer: Restrict spawnables from being created if they have a ClassWithin that UMovieScene is not a child of. #jira UE-55429 Change 3906550 by Max.Chen Sequencer: Add media track icon #jira UE-55480 Change 3907101 by Max.Chen Sequence Recorder: Fix bugs related to not recording a level sequence. There were certain assumptions that creating a level sequence meant that sequence recording was in progress. This is not always the case - the recorders can record animation assets and not create a level sequence. Changed the notion of IsRecording() to having at least one actor recording that is recording. Countdown timer, recording displays, etc should function if IsRecording() and not based on whether a level sequence is created. #jira UE-55485 Change 3907247 by Max.Chen Sequence Recorder: Fix crash not removing PrepareToCleanseEditorObject delegate. Repros when opening sequence recorder, closing it, and then opening or creating a level. Change 3910343 by Max.Preussner Core: Added async helper for executing functions on a given thread pool Change 3910346 by Max.Preussner ImgMedia: Added separate thread pools for loading/decoding and deleting image frames Change 3910829 by Max.Preussner Profiler: Increased visible range of profiler graph Change 3910841 by Max.Preussner MediaCompositing: Displaying asset name instead of full media source path in media section Change 3910870 by Max.Preussner ImgMedia: Using deallocation thread pool only in debug builds Change 3919642 by Max.Chen Sequence Recorder: Clarify active tooltip #jira UE-55661 Change 3919660 by Max.Chen Sequencer: Sequence template source signatures are now also compared to catch the case where a sub-sequence asset has been saved but not modified - The following sequence of events exposes this issue: - Create a master sequence with a single shot that spawns a cube - Add this sequence to a level and set it to auto-play - Save everything and restart - Resave just the inner shot asset without opening it - PIE - The inner shot never spawns its cube because its template was wiped on save, but its signature never changed. Since the master sequence previously didn't check the template source signature, it ends up trying to evaluate an empty template. #jira UE-55626 #jira UE-55490 Change 3921825 by Max.Chen Sequencer: "Run Construction Script in Sequencer" is off by default for blueprints but on for Sequencer. This allows the content author to switch it on for specific blueprints and sequencer will be default, run those with construction scripts enabled. Change 3922232 by Max.Chen Sequence Recorder: Reset countdelay on stop. #jira UE-55755 Change 3922306 by Max.Chen Sequence Recorder: Don't automatically mark transforms to be recorded by sequence recorder. Instead, log a warning if the user toggled it off to warn that the resulting animation might not match gameplay. #jira UE-55758 Change 3922912 by Max.Chen Sequence Recorder: Fix refresh next sequence name #jira UE-55757 Change 3927654 by Max.Chen Movie Scene Capture: Added format mapping for the name of the current camera #jira UE-55769 PR #4537 Change 3927658 by Max.Chen Sequencer: Added fbx property mapping for "FocusDistance" to "FocusSettings.ManualFocusDistance" #jira UE-55782 Change 3932022 by Max.Chen Sequencer: Add import animation track section to next available row index. #jira UE-55892 Change 3933919 by Max.Chen Sequencer: Jump to playback start frame and not 0 to start playback for recording. #jira UE-55933 Change 3934307 by Andrew.Rodham Sequencer: Add template signature that is re-generated every time the base template is regenerated, which invalidates evaluation fields This fixes an issue where the same sequence is instantiated multiple times in a sequence. If the source sequence was saved, its template would be wiped, which would invalidate the template ID When an instance tries to evaluate the master template, it would only invalidate a range in the evaluation field that was the hull of any invalid sub sequences overlapping the current time, potentially leaving invalid data in the evaluation field at positions later (or earlier) on in the sequence When the sub template was re-generated, it receives the same SequenceSignature as it had before (because the sequence hasn't actually changed), which causes the stale evaluation field data to fail the IsDirty check (because the sequence is the same as it thought, but the *template* has changed) This has been addressed be adding a signature to templates themselves, and checking both the template signature and sequence signature as a part of the IsDirty check. This ensures that we regenerate if either the template, or the sequence have changed. #jira UE-55934 Change 3936327 by Andrew.Rodham Sequencer: Removed increment when trimming right UMovieSceneSection::TrimSection already explicity assigns an exclusive bound to the time passed in. The new behavior means we can trim a section to the right, and insert another section without changing the time to create adjacent sections. #jira UE-42652 Change 3936328 by Andrew.Rodham Fixed KeyFrameManipulator assignment operators and copy/move constructors - These types are potentially self-referential so cannot use default constructors/assignment Change 3936330 by Andrew.Rodham Converted UMGSequencePlayer to use frames internally #jira UE-54878 Change 3936726 by Max.Chen Sequencer: Set track node as the parent of the key area node. The key area switcher needs the object binding id from the parent object binding node. Without this, the binding to the external value fails. #jira UE-55931 Change 3936775 by Max.Chen Sequencer: Should stop or loop should compare DurationFrames with Current Time from StartTime. The bug is that if you set 30 warmup frames in movie rendering for a range of 0-100, the FrameRange will be starting at -30 and have a duration of 130. Without this fix, the playback will continue until frame 130, rather than 100. #jira UE-55933 Change 3936935 by Matt.Hoffman Easing Curves are now represented in Play Rate resolution instead of internal resolution. #jira UE-55937 Change 3937069 by Matt.Hoffman Users can toggle if the is infinite on each side, limited by which tracks support infinite ranges. #jira UE-55891 Change 3937516 by Max.Preussner ImgMedia: Added support for single-threaded platforms #jira UE-55986 Change 3937826 by Max.Preussner MediaAssets: Disabling media sound components on HTML5 if AudioMixer is not enabled Change 3937997 by Max.Chen Curve Editor: Add Zoom to Fit Curves so that selected curves from Sequencer can be focused on. Tested that undo doesn't re-zoom. #jira UE-55935 Change 3938000 by Max.Chen Sequencer: Stop all sounds before generating audio waveforms. #jira UE-55951 Change 3938376 by Max.Preussner XGEController: Disabled XGE Controller in single-threaded apps to prevent crash Change 3938444 by Max.Preussner Core: Added async support for single-threaded applications Change 3938445 by Max.Preussner Networking: Added support for single-threaded applications in UDP socket sender/receiver Change 3938447 by Max.Preussner Messaging: Added support for single-threaded applications Change 3939432 by Max.Chen Sequence Recorder: Append command list to global level editor actions so that shortcuts are accessible in level editor. #jira UE-55798 Change 3940229 by Andrew.Rodham Added prospective display rate upgrade to UMovieScene::PostLoad - There was previously some very odd behaviour that would assign the fixed frame interval only when a sub sequence was focused in SSequencer. This meant that many sequences could have a frame interval of 0 set in the data. - Under the old method of snap interval display this would have fallen back to getting the display interval from the sequencer settings, but we no longer look at these. - The USequencerSettings properties have been removed and in their place, a prospective data upgrade for sequences that have a fixed frame interval old 0fps that sets the play rate to the previous defaults based off the old USequencerSettings defaults. - This could end up 'changing' the display rate for sequences where the user has changed the snap interval in the settings for a particular sequence editor, but there's not much we can do about that given we don't have access to the USequencerSettings classes in UMovieScene #jira UE-55919 Change 3940277 by Andrew.Rodham Sequencer: Added ability to default frame resolutions and play rates for newly created actor sequences Change 3940378 by Andrew.Rodham Sequencer: Post move import dialog now defaults to the playback framerate of the sequence, and floors to frame numbers Change 3940559 by Andrew.Rodham Reinstated primed or recording sequence color Change 3940642 by Max.Preussner ImagePlate: Removed image plate media playback functionality Change 3940843 by Max.Preussner Core: Made TCircularQueue actually thread-safe; improved code comments Change 3940860 by Max.Chen Sequencer: Changed StructNameToKey to StructPathToKey Previously, keying a PropertyPath of [RenderTransform][Shear][X] would get trimmed to X, which doesn't map to a channel name as considered by Sequencer2dTransformTrackEditor. Instead, trim the resulting property path to [Shear][X] so that track editors can determine the desired struct path and channels to key. #jira UE-52966 Change 3941292 by Mike.Zyracki Fix for trajectories out of range not showing up. 1) If we had no key data we would pop the time, so wouldn't get the section ranges. 2) Calculating of upper bound was wrong, checking against -1 and not key == num of keys when doing algo::lower_bound. 3) No need to do the Bck-- for the bakward iterators since we fixed #2. We start now from the upper bound correctly. 4) If we had no keys (at section start,end) we would incorrectly say we were any key type, so since we draw constant keys as dashed we would do so incorrectly around section end points. #jira UE-55929 Change 3941424 by Max.Chen Curve Editor: Change Zoom to Fit to use TArrayView Change 3941498 by Max.Preussner Core: Added FMath::DivideAndRoundNearest function Change 3942097 by Matt.Hoffman Drop Frame Timecode Support for NTSC rates. Change 3942104 by Matt.Hoffman Sequence Recorder Group is no longer visible inside the World Outliner after using one. #jira 55266 Change 3942107 by Max.Chen Sequencer: Resurrect logic to find or extend an existing section when adding keys. Change 3942330 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942339 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942507 by Andrew.Rodham Sequencer: We no longer pad the time overlap threshold with a small number that is not scaled by the current zoom level - The presence of this pad was causing keys that were far apart to be grouped when zoomed in a long way Change 3942509 by Andrew.Rodham Sequencer: Only pad total view range, rather than section range as well when retrieving keys to render - This stops us from rendering keys that are within the view range, but outside the section range Change 3942512 by Andrew.Rodham Added transactions to some sequencer details customizations Change 3942513 by Andrew.Rodham Sequencer: Reinstated validation checks to UMovieSceneSection::SetStartFrame and SetEndFrame, changed erroneous uses to use SetRange Change 3942560 by Andrew.Rodham Pass by rvalue reference to appease error C2719 on Win32 ('InChannels': formal parameter with requested alignment of 8 won't be aligned) Change 3942697 by Andrew.Rodham Newly Created Level Sequences and Actor Sequences now default to 24000 fps frame resolution (+/- ~24hrs range, supporting all integer rates + 23.976) Change 3942700 by Andrew.Rodham Sequencer: Added legacy out-of-bounds errors for times that are not supported by the current legacy upgrade frame resolution Change 3942989 by Max.Preussner Core: Fixed circular queue count calculation Change 3943538 by Max.Preussner MediaAssets: Reverted workaround for procedural audio log spam in HTML5 (Actor component initialization cannot be skipped if the component is used in a level) Change 3944071 by Max.Preussner QAGame: Fixed Media Texture keeps last frame of Media when PIE ends #jira UE-53360 Change 3944292 by Max.Chen Sequencer: Added extra flags to ensure that asset initialization does not occur on template actor sequences #jira UE-56113 Change 3944364 by Max.Chen Sequencer: Prevent circular shot/master tracks. Tested adding master -> child -> master as drag and drop cinematic shot tracks and sub tracks as well as through the + button. #jira UE-56091 Change 3944422 by Max.Chen Sequence Recorder: Disable transform recording if off. #jira UE-56061 Change 3944745 by Andrew.Rodham Sequencer: Key rendering fixes - Fixed assert that occured when keys happened to reside on some times due to KeyTime + TimeOverlapThreshold - KeyTime being slightly larger TimeOverlapThreshold - Fixed keys sometimes being clipped when zoomed right in due to lack of half-frame offset - Added missing documentation to MovieSceneTimeHelpers.h #jira UE-56107 Change 3945231 by Andrew.Rodham Sequencer: Reconstruct channel proxy on Serialize to catch all cases of undo/redo, PostLoad and duplication #jira UE-56089 Change 3945301 by Andrew.Rodham Sequencer: Added safety checks during initial sequence recording to guard against applying negative or 0-sized sequence ranges #jira UE-56125 Change 3946627 by Max.Preussner Fortnite: Fixed game crashes closing editor while in PIE - Pure virtual function being called #jira UE-56144 [CL 3946896 by Max Chen in Main branch]
2018-03-14 22:09:33 -04:00
bool FSequencerTimeSliderController::HitTestRangeStart(const FScrubRangeToScreen& RangeToScreen, const TRange<double>& Range, float HitPixel) const
{
Copying //UE4/Release-Staging-4.12 to //UE4/Dev-Main (Source: //UE4/Release-4.12 @ 2955635) ========================== MAJOR FEATURES + CHANGES ========================== Change 2955635 on 2016/04/26 by Max.Chen Sequencer: Fix filtering so that folders that contain filtered nodes will also appear. #jira UE-28213 Change 2955617 on 2016/04/25 by Dmitriy.Dyomin Better fix for: Post processing rendering artifacts Nexus 6 this device on Android 5.0.1 does not support BGRA8888 texture as a color attachment #jira: UE-24067 Change 2955522 on 2016/04/25 by Max.Chen Sequencer: Fix crash when resolving object guid and context is null. #jira UE-29916 Change 2955504 on 2016/04/25 by Alexis.Matte #jira UE-29926 Fix build error for SplineComponent. I just move variable under #if !UE_BUILD_SHIPPING instead #if WITH_EDITORONLY_DATA to fix all build flavor, please feel free to adjust according to what the initial fix was suppose to do. Change 2955500 on 2016/04/25 by Dan.Oconnor Integration of 2955445 from Dev-BP #jira UE-29012 Change 2955234 on 2016/04/25 by Lina.Halper Fixed tool tip of twist node #jira : UE-29907 Change 2955211 on 2016/04/25 by Ben.Marsh Exclude all plugins which aren't required for a project (ie. don't have any content or modules for the current target) from its target receipt. Prevents dependencies on .uplugin files whose dependencies are otherwise compiled out. Re-enable PS4Media plugin by default. #jira UE-29842 Change 2955155 on 2016/04/25 by Jamie.Dale Fixed an issue where text committed via a focus loss might not display the correct text if it was changed during commit #jira UE-28756 Change 2955144 on 2016/04/25 by Jamie.Dale Fixed a case where editable text controls would fail to select their text when focused There was an order of operations issue between the options to select all text and move the cursor to the end of the document, which caused the cursor move to happen after the select all, and undo the selection. The order of these operations has now been flipped. #jira UE-29818 #jira UE-29772 Change 2955136 on 2016/04/25 by Chad.Taylor Merging to 4.12: Morpheus latency fix. Late update tracking frame was getting unnecessarily buffered an extra frame on the RHI thread. Removed buffering and the issue is fixed. #jira UE-22581 Change 2955134 on 2016/04/25 by Lina.Halper Removed code that blocks moving actor when they don't have physics asset #jira : UE-29796 #code review: Benn.Gallagher Change 2955130 on 2016/04/25 by Zak.Middleton #ue4 - (4.12) Don't reject low distance MTD, it could cause us to not process some valid overlaps. (copy of 2955001 in Main) #jira UE-29531 #lockdown Nick.Penwarden Change 2955098 on 2016/04/25 by Marc.Audy Don't spawn a child actor on the client if the server is going to have created one and be replicating it to the client #jira UE-7539 Change 2955049 on 2016/04/25 by Richard.TalbotWatkin Changes to how SplineComponents debug render. Added a SetDrawDebug method to control whether a spline is rendered. Also extended the facility to non-editor builds. #jira UE-29753 - Add ability to display a SplineComponent in-game Change 2955040 on 2016/04/25 by Chris.Gagnon Fixed Initializer Order Warning in hot reload ctor. #jira UE-28811, UE-28960 Change 2954995 on 2016/04/25 by Marc.Audy Make USceneComponent::Pre/PostNetReceive and PostRepNotifies protected instead of private so that subclasses can implement replication behaviors #jira UE-29909 Change 2954970 on 2016/04/25 by Peter.Sauerbrei fix for openwrite with O_APPEND flag #jira UE-28417 Change 2954917 on 2016/04/25 by Chris.Gagnon Moved a desired change from Main to 4.12 Added input settings to: - control if the viewport locks the mouse on acquire capture. - control if the viewport acquires capture on the application launch (first window activate). #jira UE-28811, UE-28960 parity with 4.11 (UE-28811, UE-28960 would be reintroduced without this) Change 2954908 on 2016/04/25 by Alexis.Matte #jira UE-29478 Prevent modal dialog to use 100% of a core Change 2954888 on 2016/04/25 by Marcus.Wassmer Fix compile issue with chinese locale #jira UE-29708 Change 2954813 on 2016/04/25 by Lina.Halper Fix when not re-validating the correct asset #jira : UE-29789 #code review: Martin.Wilson Change 2954810 on 2016/04/25 by mason.seay Updated map to improve coverage #jira UE-29618 Change 2954785 on 2016/04/25 by Max.Chen Sequencer: Always spawn sequencer spawnables. Disregard collision settings. #jira UE-29825 Change 2954781 on 2016/04/25 by mason.seay Test map for Audio Occlusion trace channels #jira UE-29618 Change 2954684 on 2016/04/25 by Marc.Audy Add GetIsReplicated accessor to AActor Deprecate specific GameplayAbility class implementations that was exposing bReplicates #jira UE-29897 Change 2954675 on 2016/04/25 by Alexis.Matte #jira UE-25430 Light Intensity value in FBX is a ratio. So I just multiply the default intensity value by the ratio to have something closer to the look in the DCCs Change 2954669 on 2016/04/25 by Alexis.Matte #jira UE-29507 Import of rigid mesh animation is broken Change 2954579 on 2016/04/25 by Ben.Marsh Temporarily stop the PS4Media plugin being enabled by default, so the UE4Game built for the binary release doesn't depend on it. Will implement whitelist/blacklist for platforms later. #jira UE-29842 Change 2954556 on 2016/04/25 by Taizyd.Korambayil #jira UE-29877 Setup ThirdPersonCharacter based on correct Code Class Change 2954552 on 2016/04/25 by Taizyd.Korambayil #jira UE-29877 Deleting BP class Change 2954498 on 2016/04/25 by Ryan.Gerleve Fix for remote player controllers reporting that they're actually local player controllers after a seamless travel on the server. Transition actors to the new level in a second pass after non-transitioning actors are handled. #jira UE-29213 Change 2954446 on 2016/04/25 by Max.Chen Sequencer: Fixed spawning actors with instance or multiple owned components - Also fixed issue where recorded actors were sometimes set as transient, meaning they didn't get saved #jira UE-29774, UE-29859 Change 2954430 on 2016/04/25 by Marc.Audy Don't schedule a tick function with a tick interval that was disabled while it was pending rescheduling #jira UE-29118 #jira UE-29747 Change 2954292 on 2016/04/25 by Richard.TalbotWatkin Replicated from //UE4/Dev-Editor CL 2946363 (by Frank.Fella) CurveEditorViewportClient - Bounds check when box selecting. Prevents crashing when the box is outside the viewport. #jira UE-29265 - Crash when drag selecting curve keys in matinee Change 2954262 on 2016/04/25 by Graeme.Thornton Fixed a editor crash when destroying linkers half way through a package EndLoad #jira UE-29437 Change 2954239 on 2016/04/25 by Marc.Audy Fix error message #jira UE-00000 Change 2954177 on 2016/04/25 by Dmitriy.Dyomin Fixed: Hidden surface removal is not enabled on PowerVR Android devices #jira UE-29871 Change 2954026 on 2016/04/24 by Josh.Adams [Somehow most files got unchecked in my previous checkin, grr] - ProtoStar content/config updates (enabled TAA in the levels, disabled es2 shaders, hides the Unbuilt lighting warning on Android) #lockdown nick.penwarden #jira UE-29863 Change 2954025 on 2016/04/24 by Josh.Adams - ProtoStar content/config updates (enabled TAA in the levels, disabled es2 shaders, hides the Unbuilt lighting warning on Android) #lockdown nick.penwarden #jira UE-29863 Change 2953946 on 2016/04/24 by Max.Chen Sequencer: Fix crash on undo of a sub section. #jira UE-29856 Change 2953898 on 2016/04/23 by mitchell.wilson #jira UE-29618 Adding subscene_001 sequence for nonlinear workflow testing Change 2953859 on 2016/04/23 by Maciej.Mroz Merged from Dev-Blueprints 2953858 #jira UE-29790 Editor crashes when opening KiteDemo Change 2953764 on 2016/04/23 by Max.Chen Sequencer: Remove "Experimental" tag on the Level Sequence Actor #jira UETOOl-625 Change 2953763 on 2016/04/23 by Max.Chen Cinematics: Change text to "Edit Existing Cinematics" #jira UE-29102 Change 2953762 on 2016/04/23 by Max.Chen Sequencer: Follow up time slider hit testing fix. Don't hit test the selection range if it's empty. This was causing false positives when hovering close to the ranges. #jira UE-29658 Change 2953652 on 2016/04/22 by Rolando.Caloca UE4.12 - vk - Workaround driver bugs wrt texture format caps #jira UE-28140 Change 2953596 on 2016/04/22 by Marcus.Wassmer #jira UE-20276 Merging dual normal clearcoat shading model. 2863683 2871229 2876362 2876573 2884007 2901595 Change 2953594 on 2016/04/22 by Chris.Babcock Disable crash handler for VulkanRHI on Android to prevent sig11 on loading driver #jira UE-29851 #ue4 #android Change 2953520 on 2016/04/22 by Rolando.Caloca UE4.12 - vk - Enable deferred resource deletion - Added one resource heap per memory type - Improved DumpMemory() - Added ensures for missing format features #jira UE-28140 Change 2953459 on 2016/04/22 by Taizyd.Korambayil #jira UE-29748 Resaved Maps to Fix EC Build Warnings #jira UE-29744 Change 2953448 on 2016/04/22 by Ryan.Gerleve Fix Mac/Linux compile. #jira UE-29545 Change 2953311 on 2016/04/22 by Ryan.Gerleve Fix for infinite hang when loading a replay from within an actor tick while demo.AsyncLoadWorld is false. LoadMap for the replay is now deferred using the existing PendingNetGame mechanism. Added virtual UPendingNetGame::LoadMapCompleted function so that the base PendingNetGame and DemoPendingNetGame can have different behavior. To keep things simpler, also parse all replay metadata and streaming levels after the LoadMap call. #jira UE-29545 Change 2953219 on 2016/04/22 by mason.seay Test map for show collision features #jira UE-29618 Change 2953199 on 2016/04/22 by Phillip.Kavan [UE-29449] Fix InitProperties() optimization for Blueprint class instances when array property values differ in size. change summary: - improved UBlueprintGeneratedClass::BuildCustomArrayPropertyListForPostConstruction() by continuing to emit only delta entries for array values that exceed the default array value's size; previously we emitted a NULL in this case to signal a need to initialize all remaining array values in InitProperties(), even if they didn't differ from the default value of the inner property (which in most cases would already have been set at construction time, and thus potentially incurred a redundant copy iteration for each entry) - modified FObjectInitializer::InitArrayPropertyFromCustomList() to no longer reset the array value on the instance prior to initialization - added code to properly resize the array on the instance prior to initialization (if it differs in size from the default array value) - removed code that handled a NULL property value in the custom property list stream (this is no longer necessary, see above) - modified FObjectInitializer::InitProperties() to restore the post-construction optimization for Blueprint class instances (back to being enabled by default) #jira UE-29449 Change 2953195 on 2016/04/22 by Max.Chen Sequencer: Fix crash in actor reference track in the cached guid to actor map. #jira UE-27523 Change 2953124 on 2016/04/22 by Rolando.Caloca UE4.12 - vk - Increase temp frame buffer #jira UE-28140 Change 2953121 on 2016/04/22 by Chris.Babcock Rebuilt lighting for all levels #jira UE-29809 Change 2953073 on 2016/04/22 by mason.seay Test assets for notifies in animation composites and montages #jira UE-29618 Change 2952960 on 2016/04/22 by Richard.TalbotWatkin Changed eye dropper operation so that LMB click selects a color, and pressing Esc cancels the selection and restores the old color. #jira UE-28410 - Eye dropper selects color without clicking Change 2952934 on 2016/04/22 by Allan.Bentham Ensure pool's refractive index >= 1 #jira UE-29777 Change 2952881 on 2016/04/22 by Jamie.Dale Better fix for UE-28560 that doesn't regress thumbnail rendering We now just silence the warning if dealing with an inactive world. #jira UE-28560 Change 2952867 on 2016/04/22 by Thomas.Sarkanen Fix issues with matinee-controlled anim instances Regression caused by us no longer saving off the anim sequence between updates. #jira UE-29812 - Protostar Neutrino spawns but does not Animate or move. Change 2952826 on 2016/04/22 by Maciej.Mroz Merged from Dev-Blueprints 2952820 #jira UE-28895 Nativizing a blueprint project causes the next non-nativizing package attempt to fail Change 2952819 on 2016/04/22 by Josh.Adams - Fixed crash in a Vulkan shader printout #lockdown nick.penwarden #jira UE-29820 Change 2952817 on 2016/04/22 by Rolando.Caloca UE4.12 - vk - Revert back to simple layouts #jira UE-28140 Change 2952792 on 2016/04/22 by Jamie.Dale Removed some code that caused worlds loaded by the Content Browser to be initialized before they were ready Supposedly this code existed for world thumbnail rendering, however only the active editor world generates a thumbnail, so initializing other worlds wasn't having any effect and thumbnails look identical to before. #jira UE-28560 Change 2952783 on 2016/04/22 by Taizyd.Korambayil #jira UE-28477 Resaved Flying Template Map Change 2952767 on 2016/04/22 by Taizyd.Korambayil #jira UE-29736 Resaved Map to Fix EC Warnings Change 2952762 on 2016/04/22 by Allan.Bentham Update reflection capture to contain only room5 content. #jira UE-29777 Change 2952749 on 2016/04/22 by Taizyd.Korambayil #jira UE-29740 Resaved Material and Map to Fix Empty Engine Version Error Change 2952688 on 2016/04/22 by Martin.Wilson Fix for BP notifies not displaying when they derive from an abstract base class #jira UE-28556 Change 2952685 on 2016/04/22 by Thomas.Sarkanen Fix CIS for non-editor builds #jira UE-29308 - Fix crash from GC-ed animation asset Change 2952664 on 2016/04/22 by Thomas.Sarkanen Made up/down behaviour for console history consistent and reverted to old ordering by default Pressing up or down now brings up history. Sorting can now be optionally bottom-to-top or top-to-bottom. Default behaviour is preserved to what it was before the recent changes. #jira UE-29595 - Console autocomplete behavior is non-intuitive / frustrating Change 2952655 on 2016/04/22 by Jamie.Dale Changed the class filter to use an expression evaluator This makes it consistent with the other filters in the editor #jira UE-29811 Change 2952647 on 2016/04/22 by Allan.Bentham Back out changelist 2951539 #jira UE-29777 Change 2952618 on 2016/04/22 by Benn.Gallagher Fixed naming error in rotation multiplier node #jira UE-29583 Change 2952612 on 2016/04/22 by Thomas.Sarkanen Fix garbage collection and undo/redo issues with anim instance proxy UObject-based properties are now cached each update on the proxy and nulled-out outside of evaluate/update phases. Moved some initialization code for CurrentAsset/CurrentVertexAnim from the proxy back to the instance (as its is encapsulated there now). #jira UE-29308 - Fix crash from GC-ed animation asset Change 2952608 on 2016/04/22 by Richard.TalbotWatkin Changed 'Recently Used Levels' and 'Favorite Levels' to hold long package names instead of absolute paths. This means they are now project-relative and will remain valid even if the project location changes. #jira UE-29731 - Editor map recent files are not project relative, leading to missing links when moving projects. Change 2952599 on 2016/04/22 by Dmitriy.Dyomin Disabled vulkan pipeline cache as it causes rendering artifacts right now #jira UE-29807 Change 2952540 on 2016/04/22 by Maciej.Mroz #jira UE-29787 Obsolete nativized files are never removed merged from Dev-Blueprints 2952531 Change 2952372 on 2016/04/21 by Josh.Adams - Fixed Vk memory allocations when reusing free pages #lockdown nick.penwarden #jira ue-29802 Change 2952350 on 2016/04/21 by Eric.Newman Added support for UEReleaseTesting backends to Orion and Ocean #jira op-3640 Change 2952140 on 2016/04/21 by Dan.Oconnor Demoted back to warning to fix regressions in content examples, in main we've added the ability to elevate warnings to errors, but no reason to rush that feature into 4.12 #jira UE-28971 Change 2952135 on 2016/04/21 by Jeff.Farris Fixed issue in PlayerCameraManager where the priority-based sorting of CameraModifiers wasn't sorting properly. Manual re-implementation of CL 2948123 in 4.12 branch. #jira UE-29634 Change 2952121 on 2016/04/21 by Lee.Clark PS4 - 4.12 - Fix staging and deploying of system prxs #jira UE-29801 Change 2952120 on 2016/04/21 by Rolando.Caloca UE4.12 - vk - Move descriptor allocation to BSS #jira UE-21840 Change 2952027 on 2016/04/21 by Rolando.Caloca UE4.12 - vk - Fix descriptor sets lifetimes - Fix crash with null texture #jira UE-28140 Change 2951890 on 2016/04/21 by Eric.Newman Updating locked common dependencies for OrionService #jira OP-3640 Change 2951863 on 2016/04/21 by Eric.Newman Updating locked dependencies for UE 4.12 OrionService #jira OP-3640 Change 2951852 on 2016/04/21 by Owen.Stupka Fixed meteors destruct location #jira UE-29714 Change 2951739 on 2016/04/21 by Max.Chen Sequencer: Follow up for integral keys. #jira UE-29791 Change 2951717 on 2016/04/21 by Rolando.Caloca UE4.12 - Fix shader platform names #jira UE-28140 Change 2951714 on 2016/04/21 by Max.Chen Sequencer: Fix setting a key if it already exists at the current time. #jira UE-29791 Change 2951708 on 2016/04/21 by Rolando.Caloca UE4.12 - vk - Separate upload cmd buffer #jira UE-28140 Change 2951653 on 2016/04/21 by Marc.Audy If a child actor component is destroyed during garbage collection, do not rename, instead clear the caching mechanisms so that a new name is chosen if a new child is created in the future Remove now unused bRenameRequired parameter #jira UE-29612 Change 2951619 on 2016/04/21 by Chris.Babcock Move bCreateRenderStateForHiddenComponents out of WITH_EDITOR #jira UE-29786 #ue4 Change 2951603 on 2016/04/21 by Cody.Albert #jira UE-29785 Revert Github readme page back to original Change 2951599 on 2016/04/21 by Ryan.Gerleve Fix assert when attempting to record a replay when the map has a placed actor that writes replay external data (such as ACharacter) #jira UE-29778 Change 2951558 on 2016/04/21 by Chris.Babcock Always rename destroyed child actor #jira UE-29709 #ue4 Change 2951552 on 2016/04/21 by James.Golding Remove old code for handling 'show collision' in game, uses same method as editor now, fixes hidden meshes showing up in game when doing 'show collision' #jira UE-29303 Change 2951539 on 2016/04/21 by Allan.Bentham Use screenuv for distortion with ES2/31. #jira UE-29777 Change 2951535 on 2016/04/21 by Max.Chen We need to test if the hmd is enabled if it exists. Otherwise, this will return true even if we aren't rendering in stereo if there's an hmd plugin loaded. #jira UE-29711 Change 2951521 on 2016/04/21 by Taizyd.Korambayil #jira UE-29746 Replaced Deprecated Time Handler node in GameLevel_GM Change 2951492 on 2016/04/21 by Jeremiah.Waldron Fix for Android IAP information reporting back incorrectly. #jira UE-29776 Change 2951486 on 2016/04/21 by Taizyd.Korambayil #jira UE-29741 Updated Infiltrator Demo Project to open with the correct Map Change 2951450 on 2016/04/21 by Gareth.Martin Fix non-editor build #jira UE-16525 Change 2951380 on 2016/04/21 by Gareth.Martin Fix Landscape layer blend nodes not updating connections correctly when an input is changed from weight/alpha (one input) to height blend (two inputs) or vice-versa #jira UE-16525 Change 2951357 on 2016/04/21 by Richard.TalbotWatkin Fixed a crash when pushing a new menu leads to a window activation change which would result in the old root menu being dismissed. #jira UE-27981 - [CrashReport] Crash When Attempting to Select Variable Type After Clearing the Name Field Change 2951352 on 2016/04/21 by Richard.TalbotWatkin Added slider bar thickness as a new property in FSliderStyle. #jira UE-19173 - SSlider is not fully stylable Change 2951344 on 2016/04/21 by Gareth.Martin Fix bounds calculation for landscape splines that was causing the first landscape spline point to be invisible and later points to flicker. - Also fixes landscape spline lines not showing up on a flat landscape #jira UE-25114 Change 2951326 on 2016/04/21 by Taizyd.Korambayil #jira UE-28477 Resaving Maps Change 2951271 on 2016/04/21 by Jamie.Dale Fixed a crash when pasting a path containing a class into the asset view of the Content Browser #jira UE-29616 Change 2951237 on 2016/04/21 by Jack.Porter Fix black screen on PC due to planar reflections #jira UE-29664 Change 2951184 on 2016/04/21 by Jamie.Dale Fixed crash in FCurveStructCustomization when no objects were selected for editing #jira UE-29638 Change 2951177 on 2016/04/21 by Ben.Marsh Fix hot reload from IDE failing when project is up to date. UBT returns an exit code of 2, and any non-zero exit code is treated as an error by Visual Studio. Build.bat was not correctly forwarding on the exit code at all prior to CL 2790858. #jira UE-29757 Change 2951171 on 2016/04/21 by Matthew.Griffin Fixed issue with Rebuild not working when installed in Program Files (x86) The brackets seem to cause lots of problems in combination with the if/else ones #jira UE-29648 Change 2951163 on 2016/04/21 by Jamie.Dale Changed the text customization to use the property handle functions to get/set the text value That ensures that it both transacts and notifies correctly. Added new functions to deal with multiple objects selection efficiently with the existing IEditableTextProperty API: - FPropertyHandleBase::SetPerObjectValue - FPropertyHandleBase::GetPerObjectValue - FPropertyHandleBase::GetNumPerObjectValues These replace the need to cache the raw pointers. #jira UE-20223 Change 2951103 on 2016/04/21 by Thomas.Sarkanen Un-deprecated blueprint functions for attachment/detachment Renamed functions to <FuncName> (Deprecated). Hid functions in the BP context menu so new ones cant be added. #jira UE-23216 - "Snap to Target, Keep World Scale" when attaching doesn't work properly if parent is scaled. Change 2951101 on 2016/04/21 by Allan.Bentham Enable mobile HQ DoF #jira UE-29765 Change 2951097 on 2016/04/21 by Thomas.Sarkanen Standalone games now benefit from parallel anim update if possible We now simply use the fact we want root motion to determine if we need to run immediately. #jira UE-29431 - Parallel anim update does not work in non-multiplayer games Change 2951036 on 2016/04/21 by Lee.Clark PS4 - Fix WinDualShock working with VS2015 #jira UE-29088 Change 2951034 on 2016/04/21 by Jack.Porter ProtoStar: Removed content not needed by remaining maps, resaved all content to fix version 0 issues #jira UE-29666 Change 2950995 on 2016/04/21 by Jack.Porter ProtoStar - delete unneeded maps #jira UE-29665 Change 2950787 on 2016/04/20 by Nick.Darnell SuperSearch - Moving the settings object into a seperate plugin to avoid there needing to be a circular dependency between SuperSearch and UnrealEd. #jira UE-29749 #codeview Ben.Marsh Change 2950786 on 2016/04/20 by Nick.Darnell Back out changelist 2950769 - Going to re-enable super search - about to move the settings into a plugin to prevent the circular reference. #jira UE-29749 Change 2950769 on 2016/04/20 by Ben.Marsh Comment out editor integration for super search to fix problems with the circular dependencies breaking hot reload and compiling QAGame in binary release. Change 2950724 on 2016/04/20 by Lina.Halper Support for negative scaling for mirroring - Merging CL 2950718 using //UE4/Dev-Framework_to_//UE4/Release-4.12 #jira: UE-27453 Change 2950293 on 2016/04/20 by andrew.porter Correcting sequencer test content #jira UE-29618 Change 2950283 on 2016/04/20 by Marc.Audy Don't route FlushPressedKeys on PIE shut down #jira UE-28734 Change 2950071 on 2016/04/20 by mason.seay Adjusted translation retargeting on head bone of UE4_Mannequin -Needed for anim bp test. Tested animations and did not see any fallout from change. If there is, it can be reverted. #jira UE-29618 Change 2950049 on 2016/04/20 by Mark.Satterthwaite Undo CL #2949690 and instead on Mac where we want to be able to capture videos of gameplay we just insert an intermediate texture as the back-buffer and use a manual blit to the drawable prior to present. This also changes the code to enforce that the back-buffer render-target should never be nil as the code & Metal API itself assumes that this situation cannot occur but it would appear from continued crashes inside PrepareToDraw that it actually can in the field. This will address another potential cause of UE-29006. #jira UE-29006 #jira UE-29140 Change 2949977 on 2016/04/20 by Max.Chen Sequencer: Add FieldOfView to default tracks for CameraActor. Add FieldOfView to exclusion list for CineCameraActor. #jira UE-29660 Change 2949836 on 2016/04/20 by Gareth.Martin Fix landscape components flickering when perfectly flat (bounds size is 0) - This often happens for newly created landscapes #jira UE-29262 Change 2949768 on 2016/04/20 by Thomas.Sarkanen Moving parent & grouped child actors now does not result in deltas being applied twice Grouping and attachment now interact correctly. Also fixed up according to coding standard. Discovered and proposed by David.Bliss2 (Rocksteady). #jira UE-29233 - Delta applied twice when moving parent and grouped child actors From UDN: https://udn.unrealengine.com/questions/286537/moving-parent-grouped-child-actors-results-in-delt.html Change 2949759 on 2016/04/20 by Thomas.Sarkanen Fix split pins not working as anim graph node inputs Limit surface area of this change by only modifying the anim BP compiler. A better version might be to move the call in the general blueprint compiler but it is riskier. #jira UE-12326 - Splitting a struct in an Anim Blueprint does not work Change 2949739 on 2016/04/20 by Thomas.Sarkanen Fix layered bone per blend accessed from a struct in the fast-path Made sure that the fallback event is always built (logic was still split so if PatchFunctionNamesAndCopyRecordsInto aborted because of some unhandled case if might not have an event to call). Covered struct source->array dest case. Indicator icon is now built from the copy record itself, ensuring it is accurate to actual runtime data. #jira UE-29389 - Fast-Path: Layered Blend per Bone node failing to grab updated values from struct. Change 2949715 on 2016/04/20 by Max.Chen Sequencer: Fix mouse wheel zoom so it defaults to zooming in on the current time/frame. This is a toggleable option in the Editor Preferences (Zoom Position = Current Time or Mouse Position) #jira UE-29661 Change 2949712 on 2016/04/20 by Taizyd.Korambayil #jira UE-28544 adjusted Player crosshair to be centered Change 2949710 on 2016/04/20 by Alexis.Matte #jira UE-29477 Pixel Inspector, UI get polish and adding "scene color" inspect property Change 2949706 on 2016/04/20 by Alexis.Matte #jira UE-29475 #jira UE-29476 Favorite allow all UProperty to be favorite (the FStruct is now supported) Favorite scrollig is auto adjust to avoid scrolling when adding/removing a favorite Change 2949691 on 2016/04/20 by Mark.Satterthwaite Fix typo from previous commit - retain not release... #jira UE-29140 Change 2949690 on 2016/04/20 by Mark.Satterthwaite Double-buffer the Metal viewport's back-buffer so that we can access the contents of the back-buffer after EndDrawingViewport is called until BeginDrawingViewport is called again on this viewport, this makes it possible to capture movies on Metal. #jira UE-29140 Change 2949616 on 2016/04/20 by Marc.Audy 'Merge' latest version of Vulkan from Dev-Rendering to Release-4.12 #jira UE-00000 Change 2949572 on 2016/04/20 by Jamie.Dale Fixed crash undoing a text property changed caused by a null entry in the array #jira UE-20223 Change 2949562 on 2016/04/20 by Alexis.Matte #jira UE-29447 Fix the batch fbx import "not show options" dialog where some option can be different. Change 2949560 on 2016/04/20 by Alexis.Matte #jira UE-28898 Avoid importing multiple static mesh in the same package Change 2949547 on 2016/04/20 by Mark.Satterthwaite You must use STENCIL_COMPONENT_SWIZZLE to access the stencil component of a texture - not all APIs can swizzle it into .g automatically. #jira UE-29672 Change 2949443 on 2016/04/20 by Allan.Bentham Disable sRGB textures when ES31 feature level is set. Only use vk's sRGB formats when feature level > ES3_1 #jira UE-29623 Change 2949428 on 2016/04/20 by Allan.Bentham Back out changelist 2949405 #jira UE-29623 Change 2949405 on 2016/04/20 by Allan.Bentham Disable sRGB textures when ES31 feature level is set. Only use vk's sRGB formats when feature level > ES3_1 #jira UE-29623 Merging using Dev-Mobile_->_Release-4.12 Change 2949391 on 2016/04/20 by Richard.TalbotWatkin PIE with multiple windows now starts focused on Client 1, or the server if not a dedicated server. Added a new virtual call UEditorEngine::OnLoginPIEAllComplete, called when all clients have been successfully logged in when starting PIE. The default behavior is to set focus to the first client. #jira UE-26037 - Cumbersome workflow when running PIE with 2 clients #jira UE-26905 - First client window does not gain focus or mouse control when launching two clients Change 2949389 on 2016/04/20 by Richard.TalbotWatkin Fixed regression which was saving the viewport config settings incorrectly. Viewports are keyed by their layout on the same key as the config key, hence we do not need to prepend the SpecificLayoutString when saving out the config data when iterating through a layout's viewports. #jira UE-29058 - Viewport settings are not saved after shutting down editor Change 2949388 on 2016/04/20 by Richard.TalbotWatkin Change auto-reimport settings so that "Detect Changes on Startup" defaults to true. Also removed the warning of potential unwanted behaviour when working in conjunction with source control; this is no longer necessary now that there is a prompt prior to auto-reimport. #jira UE-29257 - Auto import does not import assets Change 2949203 on 2016/04/19 by Max.Chen Sequencer: Fix spawnables not getting default tracks. #jira UE-29644 Change 2949202 on 2016/04/19 by Max.Chen Sequencer: Fix particles not firing on loop. #jira UE-27881 Change 2949201 on 2016/04/19 by Max.Chen Sequencer: Fix multiple labels support #jira UE-26812 Change 2949200 on 2016/04/19 by Max.Chen Sequencer: Expose settings sequencer settings in the Editor Preferences page. Note, UMG and Niagara have separate sequencer settings pages. #jira UE-29516 Change 2949197 on 2016/04/19 by Max.Chen Sequencer: Fix unwind rotation when keying rotation so that rotations are always set to the nearest. #jira UE-22228 Change 2949196 on 2016/04/19 by Max.Chen Sequencer: Disable selection range drawing if it's empty so that playback range dragging can take precedence when they overlap. This fixes a bug where you can't drag the starting playback range when sequencer starts up. #jira UE-29657 Change 2949195 on 2016/04/19 by Max.Chen MovieSceneCapture: Default image compression quality to 100 (rather than 75). #jira UE-29657 Change 2949194 on 2016/04/19 by Max.Chen Sequencer: Matinee to Level Sequence fix for mapping properties correctly. This fixes focus distance not getting set properly on the conversion. #jira UETOOL-467 Change 2949193 on 2016/04/19 by Max.Chen Sequencer - Fix issues with level visibility. + Don't mark sub-levels as dirty when the track evaluates. + Fix an issue where sequencer gets into a refresh loop because drawing thumbnails causes levels to be added which was rebuilding the tree, which was redrawing thumbnails. + Null check for when an objects world is null but the track is still evaluating. + Remove UnrealEd references. #jira UE-25668 Change 2948990 on 2016/04/19 by Aaron.McLeran #jira UE-29654 FadeIn invalidates Audio Components in 4.11 Change 2948890 on 2016/04/19 by Jamie.Dale Downgraded an assert in SPathView::LoadSettings to avoid a common crash when a saved path no longer exists #jira UE-28858 Change 2948860 on 2016/04/19 by Mike.Beach Mirroring CL 2940334 (from Dev-Blueprints): Bettering CreateEvent node errors, so users are able to recover from API changes (not clearing the function name field, calling out the function by name in the error, etc.) #jira UE-28911 Change 2948857 on 2016/04/19 by Jamie.Dale Added an Asset Localization context menu to the Content Browser This allows you to create, edit, and view localized assets from any source asset, as well as edit and view source assets from any localized asset. #jira UE-29493 Change 2948854 on 2016/04/19 by Jamie.Dale UAT now stages all project translation targets #jira UE-20248 Change 2948831 on 2016/04/19 by Mike.Beach Mirroring CL 2945994 (from Dev-Blueprints): Pasting EdGraphNodes will no longer query sub-nodes for compatibility if the root cannot be pasted (for things like collapsed graphs, and anim state-machine nodes). #jira UE-29035 Change 2948825 on 2016/04/19 by Jamie.Dale Fixed shadow warning #jira UE-29212 Change 2948812 on 2016/04/19 by Marc.Audy Gracefully handle failure to load configurable engine classes #jira UE-26527 Change 2948791 on 2016/04/19 by Jamie.Dale Fixed regression in SEditableText bIsCaretMovedWhenGainFocus when using auto-complete Fixed regression in FSlateEditableTextLayout::SetText that caused it to call OnTextChanged when nothing had changed #jira UE-29494 #jira UE-28886 Change 2948761 on 2016/04/19 by Jamie.Dale Sub-fonts are now only used when they contain the character to be rendered #jira UE-29212 Change 2948718 on 2016/04/19 by Jamie.Dale Fixed an issue where FEnginePackageLocalizationCache could be initialized before CoreUObject was ready This is now done lazily, either when the first CDO tries to load an asset (which is after CoreUObject is ready), or after the first call to ProcessNewlyLoadedUObjects (if no CDO loads an asset). #jira UE-29649 Change 2948717 on 2016/04/19 by Jamie.Dale Removed the AssetRegistry's dependency on MessageLog It was only there to add a category that was only ever used by the AssetTools module. #jira UE-29649 Change 2948683 on 2016/04/19 by Phillip.Kavan [UE-18419] Fix GetClassDefaults nodes to update properly in response to structural BP class changes. change summary: - modified UK2Node_GetClassDefaults::CreateOutputPins() to bind/unbind delegate handlers for the OnChanged() & OnCompile() events for BP class types. #jira UE-18419 Change 2948681 on 2016/04/19 by Phillip.Kavan [UE-17794] The "Delete Unused Variable" feature now considers the GetClassDefaults node as well. change summary: - added external linkage to UK2Node_GetClassDefaults::FindClassPin(). - added an include for the K2Node_GetClassDefaults header file to BlueprintGraphDefinitions.h. - added UK2Node_GetClassDefaults::GetInputClass() as a public API w/ external linkage; moved default 'nullptr' param logic into this impl. - modified FBlueprintEditorUtils::IsVariableUsed() to add an extra check for a GetClassDefaults node with a visible output pin for the variable that's also connected. - modified UK2Node_GetClassDefaults::GetInputClass() to return the generated skeleton class for Blueprint class types. #jira UE-17794 Change 2948638 on 2016/04/19 by Lee.Clark PS4 - Fix SDK compile warnings #jira UE-29647 Change 2948401 on 2016/04/19 by Taizyd.Korambayil #jira UE-29250 Revuilt Lighting for Landscapes Map Change 2948398 on 2016/04/19 by Mark.Satterthwaite Add a Mac Metal ES2 shader platform to allow the various ES2 emulation modes to work in the Editor. Fix various issues with the shader code to ensure that Metal can run with ES2 shader code at least in my limited test cases in QAGame. #jira UE-29170 Change 2948366 on 2016/04/19 by Taizyd.Korambayil #jira UE-29109 Replaced Box Mesh with BSP Floor Change 2948360 on 2016/04/19 by Maciej.Mroz merged from Dev-Blueprints 2947488 #jira UE-29115 Nativized BulletTrain - cannot shoot targets in intro tutorial #jira UE-28965 Packaging Project with Nativize Blueprint Assets Prevents Overlap Events from Firing #jira UE-29559 - fixed private enum access - fixed private bitfield access - removed forced PostLoad - add BodyInstance.FixupData call to fix ResponseChannels - ignored RelativeLocation and RelativeRotation in converted root component - fixed AttachToComponent (UE-29559) Change 2948358 on 2016/04/19 by Maciej.Mroz merged from Dev-Blueprints 2947953 #jira UE-29605 Wrong bullet trails in nativized ShowUp Fixed USimpleConstructionScript::GetSceneRootComponentTemplate. Change 2948357 on 2016/04/19 by Maciej.Mroz merged from Dev-Blueprints 2947984 #jira UE-29374 Crash when hovering over Create Widget node in blueprints Safe UK2Node_ConstructObjectFromClass::GetPinHoverText. Change 2948353 on 2016/04/19 by Maciej.Mroz merged from Dev-Blueprints 2948095 #jira UE-29246 ExpandEnumAsExecs + UMETA(Hidden) Crashes Blueprint Compile "Hidden" and "Spacer" elementa from an enum does not generated exec pins for "ExpandEnumAsExecs" Change 2948332 on 2016/04/19 by Benn.Gallagher Fixed old pins being left as non-transactional #jira UE-13801 Change 2948203 on 2016/04/19 by Lee.Clark PS4 - Use SDK 3.508.031 #jira UEPLAT-1225 Change 2948168 on 2016/04/19 by mason.seay Updating test content: -Added Husk AI to level to test placed AI -Updated Spawn Husk BP to destroy itself to prevent spawn spamming #jira UE-29618 Change 2948153 on 2016/04/19 by Benn.Gallagher Missed mesh update for Owen IK fix. #jira UE-22540 Change 2948130 on 2016/04/19 by Benn.Gallagher Fixed old Owen punch IK setup so it no longer jitters when placing the hands on the surface. #jira UE-22540 Change 2948117 on 2016/04/19 by Taizyd.Korambayil #jira UE-28477 Resaved Template Map's to fix Warning Toast on Templates Change 2948063 on 2016/04/19 by Lina.Halper - Anim composite notify change for better - Fixed all nested anim notify - Merging CL 2944396 using //UE4/Dev-Framework_to_//UE4/Release-4.12 #jira : UE-29101 Change 2948060 on 2016/04/19 by Lina.Halper Fix for composite section metadata saving for montage Merging CL 2944397 using //UE4/Dev-Framework_to_//UE4/Release-4.12 #jira : UE-29228 Change 2948029 on 2016/04/19 by Ben.Marsh EC: Prevent automatically pushing CIS builds to the launcher; the changelist might be run more than once. Change 2947986 on 2016/04/19 by Benn.Gallagher Fixed BP callable functions that affect skeletal mesh component transforms not working when simulating physics. #jira UE-27783 Change 2947976 on 2016/04/19 by Mark.Satterthwaite Duplicate CL #2943702 from 4.11.2: Change the way Metal validates the render-target state so that in FMetalContext::PrepareToDraw it can issue a last-ditch attempt to restore the render-targets. This won't fix the cause of the Mac Metal crashes but it might mitigate some of them and provide more information about why they are occurring. #jira UE-29006 Change 2947975 on 2016/04/19 by Mark.Satterthwaite Duplicate CL #2945061 from UE4-UT: Address UT issue UE-29150 directly in the UT branch: users without a sufficiently up-to-date Xcode won't have the 'metal' offline shader compiler so will have to use the slower online compiled text shader format. #jira UE-29150 Change 2947679 on 2016/04/19 by Jack.Porter Fixed 4.12 branch not compiling with the 1.0.8 Vulkan SDK #jira UE-29601 Change 2947657 on 2016/04/18 by Jack.Porter Update protostar reflection capture contents #jira UE-29600 Change 2947301 on 2016/04/18 by Ben.Marsh EC: Fix trigger ready emails failing to send due to recipient list being a space-separated list of addresses rather than an array reference. Change 2947263 on 2016/04/18 by Marc.Audy Merging CL# 2945921 //UE4/Release-4.11 to //UE4/Release-4.12 Ensure that all OwnedComponents in an Actor are duplicated for PIE even if not referenced by a property, unless that component is explicitly transient #jira UE-29209 Change 2946984 on 2016/04/18 by Ben.Marsh GUBP: Allow Ocean cooks in the release branch (fixes build startup failures) Change 2946870 on 2016/04/18 by Ben.Marsh Remaking CL 2946810 to fix compile error in ShooterGame editor. Change 2946859 on 2016/04/18 by Ben.Marsh GUBP: Don't exclude Ocean from builds in the release branch. Change 2946847 on 2016/04/18 by Ben.Marsh GUBP: Fix warning on every build step due to OrionGame_Win32_Mono no longer existing. Change 2946771 on 2016/04/18 by Ben.Marsh EC: Correct initial agent type for release branches. Causing full branch syncs on all agents. Change 2946641 on 2016/04/18 by Ben.Marsh EC: Remove rogue comma causing branch definition parsing to fail. Change 2946592 on 2016/04/18 by Ben.Marsh EC: Adding branch definition for 4.12 release #lockdown Nick.Penwarden [CL 2962354 by Ben Marsh in Main branch]
2016-05-01 17:37:41 -04:00
static float BrushSizeInStateUnits = 6.f, DragToleranceSlateUnits = 2.f, MouseTolerance = 2.f;
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3946692) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3801826 by Max.Chen PR #4304: Level Sequence crash fix - Guarded against dereferencing null componen. (Contributed by DSDambuster) Change 3801828 by Max.Chen PR #4302: Movie Scene Visibility Template unitialised variable, causing random . (Contributed by DSDambuster) Change 3801837 by Max.Chen Sequencer: Delay spawning/construction for convert to possessable. This fixes a bug where property values would be lost when converting back and forth from possessable to spawnable. #jira UE-52400 Change 3801841 by Max.Chen Sequencer: Make spacer nodes not selectable. PR #4194: Improvements to Sequencer (Contributed by projectgheist) #jira UE-53117 #jira UE-52139 Change 3804183 by Max.Preussner MediaAssets: Added missing lock in media sound component Change 3805414 by Max.Preussner MediaAssets: Setting valid GUID when initializing media texture resource Change 3819578 by Max.Chen PR #4370: When enabling the "MovieCapture", do not turn off the Stereo-3D display. (Contributed by yehaike) #jira UE-53647 Change 3823414 by Max.Chen Curve Editor: Lock down the first and last keys in the redundant keys removal range so that they're unaffected. #jira UE-53591 Change 3826406 by Max.Chen Sequencer: Move OnStartedPlaying() to within first update in UpdateTimeCursorPosition(). This fixes an issue where setting the hud/player visibility was getting stomped on later. #jira UE-52772 Change 3827044 by Max.Preussner MediaAssets: Added sprite visualization to media sound component #jira UE-53594 Change 3827988 by Max.Preussner MediaPlayerAssets: Fixed Media Texture is not linked to Media Player when created together #jira UE-53532 Change 3828506 by Max.Preussner MediaPlayerEditor: Added attenuation visualizer for media sound components #jira UE-53594 Change 3832590 by andrew.porter EngineTest: Added a keep state check in Property Animation sequencer test Change 3833053 by andrew.porter EngineTest: Adding Hierarchical Bias test Change 3835683 by andrew.porter EngineTest: Adding UMG Animation screenshot test Change 3836076 by Max.Chen Sequencer: Fix audio volume and pitch multiplier deprecation. Change 3836230 by andrew.porter EngineTest: Adding Sequence Bone Position automation test Change 3836347 by Max.Chen Sequencer: Fixes to shot name parsing. When a shot doesn't contain a shot number, assume, [ShotName]_[TakeNumber]. When duplicating a shot, put the new shot in the same path of the original shot, so that the take numbers will increment properly. #jira UE-51868 Change 3836552 by Max.Chen Sequencer: Sub section now has a takes menu Change 3838094 by Max.Chen UMG: Fix template finish not getting called on stop. This fixes a bug where sections aren't restored when finished. #jira UE-52285 Change 3838708 by Max.Chen Sequencer: Add notification when the blend type is changed. #jira UE-54046 Change 3840295 by Max.Chen Sequencer: Fix copy/paste crash for lights #jira UE-54084 Change 3840957 by Mike.Zyracki Added Show Only Keyable and Show Only Animated to the filter list in the property editor. Added IsPropertyAnimated to IDetailKeyframe Interface which already had support for showing properties which are keyable (which is used for the key icon next to the properties.). Could have created another interface but then would have had to mimic the sequencer binding, releasing also, so this seemed best way. One issue still left is that custom built detail items currently don't store associated properties(usually) and so certain properties, in particulalry transforms, won't show up as keyable or animated. Note this also shows up with the keyable icon not showing up next to transform tracks, and other filters like Show Only Modified not working with transforms/customs. Not sure best way to tackle this. #jira UESEQ-328 Change 3841756 by Max.Chen Sequencer: Fix unbound possessable components when pasting spawnables. #jira UE-54104 Change 3843950 by andrew.porter EngineTest: Renaming LevelStreaming tests/content to LevelVisibility Change 3844082 by Mike.Zyracki Missing file for animated filter in property editor. When finding if a track is animated we need to find it but we can't easily induce the MovieTrack class for any particular property. So we don't set a class for it and just search by it's ID and name. #jira UESEQ-328 Change 3846902 by Max.Preussner ImgMedia: Fixed image media player never finished initialization if loading failed #jira UE-54247 Change 3849820 by Mike.Zyracki Reassigning deleted widgets didn't work since the menu extender mechanism needs a valid UObject in order to perform an operation on it. So to fix we replaced GetObjectBindingContextMenuExtender in WidgetBlueprint with new delegate mechanism (OnBuildCustomContextMenuForGuid) that supports FGuid in addition to UObjects which is needed to handle re-binding deleted widgets. Note that the default sequencer hacks this for replacing deleted actors in SequencerObjectBindingNode to check to see if a LevelSequence is active. We could move to this mechanism there also. #jira UE-53163 Change 3852211 by Max.Chen UMG: Indicate name of the property that is not bound. #jira UE-54350 Change 3854120 by Max.Chen Sequencer: Fix sibling folders being allowed to have the same folder name. #jira UE-54363 Change 3854627 by Max.Chen Sequencer: Step to next/previous key should work for all tracks if there aren't any selected. #jira UESEQ-391 Change 3855825 by andrew.porter EngineTest: Adding animation blending automation test Change 3855950 by andrew.porter EngineTest: Adding correct expected valuues to animation blending test Change 3856237 by Matt.Hoffman UESEQ-336 - Sequencer Track Reordering Adds the ability to re-order Master Tracks, Folders and Object Bindings within sequencer hierarchies (including UMG). Adds the ability to do a one-off sorting of the content under the old sorting behavior if the user wants to reset their layout to how it was under legacy behavior. Modifies SequencerTrackNodes, SequencerFolderNodes and SequencerObjectBindingNodes to handle CanDrop/OnDrop for above, below and ontop of. Fixes a Slate Issue that forcibly expanded a TreeviewRow if an item handled OnDrop. Slate will now only forcibly expand the row if the item says the drop happened ontop of the item, and not above or below it like it previously did. Change 3856503 by andrew.porter EngineTest: Adding automation test for using animation blueprint with blend multi node in sequencer Change 3857875 by Max.Chen Sequencer: Assign the sequence id after the template is compiled. #jira UE-54462 Change 3858344 by Max.Chen Sequencer: Prevent Goto and Transform boxes from overlapping by allowing them to be visible at the same time in an autosized horizontal box. Also, added close button to the goto box. PR #4425: Prevent Goto and Transform boxes from overlapping in Sequencer ... (Contributed by projectgheist) #jira UE-54210 Change 3860566 by andrew.porter MediaFrameworkTest: Set the option to index 0 for the audio and video track list by default Change 3860654 by andrew.porter EngineTest: Enabling Camera Cut + FOV test Change 3860981 by andrew.porter EngineTest: Updating skeletal mesh tests with a delay after set playback position Change 3861256 by Max.Chen Sequencer: Add all bindings if none selected. #jira-54440 Change 3862154 by Andrew.Rodham Added TimeManagement module Change 3862424 by andrew.porter EngineTest: Turned on the test Bone Positions with Blend Multi Node Change 3862573 by andrew.porter EngineTest: Adding test to compare bone positions in a sequence that is blending an animation that is using an AnimBP Change 3865117 by Max.Chen Sequencer: Stop auto scroll on mouse release of movement. #jira UE-31212 Change 3865303 by Max.Chen Sequencer: Add drag and drop transactions #jira UE-54662 Change 3865304 by Max.Chen Sequencer: Fix crash when an actor factory is not found. Change 3865361 by Max.Chen Sequencer: Don't change the camera/shot lock button when popping out of a sequence. #jira UE-54665 Change 3865412 by Max.Chen Sequencer: Determine whether a transform track is for a camera by using the spawned object or template #jira UE-54666 Change 3865685 by Max.Chen Sequencer: Clear autoscrub offset when stopping autoscroll #jira UE-31212 Change 3865886 by Max.Chen Sequence Recorder: Log an error if the number of frames changes while recording. This can happen if the skeleton changes while recording. #jira UE-48715 Change 3866925 by Andrew.Porter MediaFrameworkTest: Changing the current PNG test video image sequence to 1024 x 576 Change 3867705 by andrew.porter QAGame: Adding Audio Sort Sequence to dev folder Change 3867890 by andrew.porter QAGame: Adding a sequence for testing a sorting crash to my dev folder Change 3872628 by Max.Chen Movie Scene Capture: Split delay before warmup into split delay before shot warmup so that there's separate controls for when the movie scene capture warmups up vs. shot boundaries. Change 3873131 by Matt.Hoffman UE-54732 - Crash reordering a folder with a track. This was caused by folders being the only type of track to check if someone was putting a parent track into a child track. Object Binding tracks and Tracks now check as well so that you can't use the above/below drop targets to add parents as children. This also fixed a typo in the localization keys. #jira UE-54732 Change 3873301 by Mike.Zyracki Added ability to support continous euler angle changes when changing rotations, in particularly with the rotation gizmo's. To do this we effectively added a form an of 'euler filter'(https://en.wikipedia.org/wiki/Euler_filter) to find the closest euler angle to the current euler angle. Three functions were added to FRotator to make this possible, one to get the euler angle that's has the same rotation as it, one to get the difference between two euler angles via Manhattan distance and a third using the previous two to choose a Rotator value that's closest to it. We then use these functions before calling UComponent::SetRelativeRotation to make sure we use the correct Euler after the Quat conversion. We also no longer limit(bound) the euler angles to -180,180, which is obviously necessary to avoid flips. I also changed how we caluclate yaw and roll when pitch is -90 or 90 to make it the standard approach of zeroing out roll and just setting yaw. Main reasons are the previous implementation had precision issues so things like 180, 90, -180 would show up due to numbers being nearly zero but negative,(this would break any smooth interpolations), and this facilitates having a 'gimbal' rotation mode (like Maya, Blender etc..) if we ever want that also. If needed we could keep the previous implementation but would need to add some FMath::IsNearlyZero checks, with less performance. Note we only do this special filtering when applying delta's to actors or components in the editors, which then call UComponent::SetRelativeRotationExact, which is a new function to foces the RelativeRotation to be equal to the new rotation. This allows us to store un-nomalized Rotators at the cost that the RotationCache may be broken. We didn't change any of the other UComponent functions that set rotations (via Quats or Transforms) so they will still be bounded and unwound. In SetInternalWorldLocationAndRotation we only set the rotation if the rotation has changed, which fixes the rotation getting changed and re-normalized if just translate happens. In TransformTrackEditor, we correclty use the bUndwing flag and in MovieScene3DTransformSection there was an un-needed winding check there, it will be unwound earlier if needed, which happens if Sequence Recording is happening. Max we should talk about what to do about this . Note the euler angle drag via the widget is still bound to 0-360. I think we should just unbound that now since the rotations value are now unbound. This review now includes fixes suggested by Zak. #jira UE-UE-22228 Change 3873483 by Matt.Hoffman Sequencer Tracks can now be inserted above the spacer at the bottom of the tree. #jira UE-54706 Change 3873899 by Max.Chen Sequencer: Add section selection throbbing Change 3873908 by Max.Chen Movie Scene Capture: Added logging per frame Change 3873924 by Matt.Hoffman Adds the ability to store Sequence Recorder setups into profiles that stay with the map and can be re-loaded later. Profiles store the Actor Recordings so the settings for each actor should carry with them. #jira UESEQ-339 Change 3874726 by Matt.Hoffman Disable drag-and-drop targets on spacers that come between rows in Sequencer. This prevents extra drag/drop targets showing up between each row. #jira UE-54706 Change 3874862 by Matt.Hoffman Audio Track no longer gets reordered when adding sub-audio tracks, as sub-tracks are no longer counted towards the sorting order index when normalizing indexes. #jira UE-54727 Change 3875905 by Matt.Hoffman Disable Fade Track UI if a fade track already exists in the sequence. #jira UESEQ-393 Change 3876163 by Max.Chen Sequencer: Swap the camera object to the camera component's owner if it's not the same. #jira UE-54874 Change 3876971 by Andrew.Porter EngineTest: Moved Media Player Seek test to new folder. Also enabled the test with new ground truth image. Change 3877040 by Max.Chen Cine Camera: Split camera properties to two groups, "Camera Options" and "Camera Settings". The cine camera now hides properties in the "Camera Settings" group so that properties like bConstrainAspectRatio (in the "Camera Options" group) can be visible. #jira UE-54192 Change 3877763 by Max.Chen Curve Editor: Fix curve changed on end drag so that only curves that had keys/tangents that were changed receive notification, otherwise all loaded curves were getting notified that they were changed. #jira UE-54951 Change 3878234 by Matt.Hoffman Disable "Drop Below" targets for Sequencer Tree nodes to prevent a confusing UX issue where dropping underneath a Object Binding Node puts it after the object binding node but the UI looks like it's inserting it inside the Object Binding node. #jira UE-54743 Change 3879359 by Mike.Zyracki If a track is inactive we dim it a bit which seems to be the UE4 way to show inactive or disabled state. We changed the active logic so that all subtracks need to be inactive for the track to also be inactive(instead of all active for active). This conforms to how the active state actually works, e.g if you have two sections and only one is active the track is still active above it. #jira UESEQ-388 Change 3879462 by Max.Chen Sequencer: Allow dragging onto a particular row which would move out any overlapping sections to make space for the newly created section. Newly created sections are now selected and throbbed to draw attention to themselves. #jira UE-54664 Change 3879464 by Max.Chen Sequencer: Fixed overlapping ranges being inserted into the evaluation field during compilation - The issue was that track segments that had been combined with adjacent segments (due to them being identical) would potentially cause a subsequently compiled frame to overlap with a range that had already been inserted into the evaluation field. - The insertion code previously asserted that only minor overlaps were catered for (due to fp rounding errors) and assumed that a supplied range could not entirely contain any other range in the field. - The solution is to supply the insertion time along with the range to know exactly where the data should live in the field, and crop the range to the maximum allowable space between adjacent ranges. #jira UE-54922 Change 3879590 by Matt.Hoffman Items that are now added to the Sequencer via the "+Track" menu will be selected after being added. Items can now be added inside of folders instead of just to the root level. #jira UE-27397 Change 3879612 by Mike.Zyracki Display Nodes with no children are always active. #jira UESEQ-388 Change 3879730 by Matt.Hoffman Sequence Recorder's actor recording groups now remove items from the group when removed via the UI. #jira UESEQ-339 Change 3880256 by Mike.Zyracki Fix issue with inactive display with folders and other track nodes. #jira UESEQ-388 Change 3883491 by Max.Chen Fix issue where tick is skipped due to last ticked pose isn't cleared after AnimInstance changes. Copy from Release-4.19 #jira UE-51323 Change 3883603 by Max.Chen Movie Scene Capture: Add option toggle disable screen percentage. By default this is on (no change in current behavior). #jira UE-51898 Change 3885074 by Max.Preussner MediaCompositing: Resetting media texture & freeing resource on section end; removed dead code Change 3887220 by Max.Preussner MediaCompositing: Defaulted media section duration to 1 sec (since we do not know the actual duration in most cases) Change 3887478 by Matt.Hoffman Sequences now show [Inactive] in their title bars when they're disabled. This helps communicate why a sequence isn't being evaluated. #jira UE-51469 Change 3888985 by Max.Chen Movie Scene Capture: Clamp HDR Compression Quality between 0 and 1. #jira UE-55136 Change 3893519 by Max.Chen Sequence Recorder: Clarified tooltip for bRecordNearbySpawnedActors - spawned actors will still be recorded if they match the ActorFilter. #jira UE-55238 Change 3893546 by Max.Chen Sequence Recorder: If a selected actor already has a recording, add a blank recording. #jira UE-55239 Change 3894044 by Max.Preussner MediaCompositing: Added support for seeking into a media section Change 3894310 by andrew.porter MediaFrameworkTest: Adding Img media sources for 1080 and 2160 ravent test content Change 3894426 by Max.Preussner MediaAssets: Letting media textures with AutoClear retain their clear color when player is reset Change 3895717 by Max.Chen Sequencer: Null checks to prevent crash when saving the default state of a spawnable #jira UE-55304 Change 3897388 by Max.Chen Sequencer: Don't update current time to be within the view range when stepping into a sequence. #jira UE-55322 Change 3897452 by Max.Chen Audio: Fix crash when trying to record audio without any active capture devices. Log warning if the number of input channels is not 1 or 2. #jira UE-55223 Change 3897619 by Max.Preussner MediaCompositing: Removed commented out code Change 3898072 by Max.Chen Sequencer: Override the animation asset in the player state if it doesn't match the animation asset that's being evaluated. #jira UE-55328 Change 3898272 by Max.Preussner MediaPlayerEditor: Made slate brush constants static Change 3898704 by Max.Chen Sequencer: Skip if the binding id's sequence can't be found. #jira UE-55337 Change 3899855 by Max.Preussner MediaCompositingEditor: Added cache state visualization to media track Change 3900300 by Max.Preussner MediaCompositingEditor: Added loop indicators to media sections Change 3900694 by Max.Preussner ImfMedia: Looping cache only when player is looping Change 3900892 by Max.Preussner Stats: Added stats category for media framework Change 3900954 by Max.Preussner MediaCompositing: Don't evaluate at the end of media section Change 3901348 by Max.Preussner Core: Replaced TLruCache autos for better readability Change 3901655 by Max.Preussner ImgMedia: Added more perf stats to EXR reader Change 3901972 by Max.Preussner MediaAssets: Added getter for media player in media sound components Change 3902233 by Max.Preussner MediaAssets: Enabling media textures to receive samples right after player is assigned Change 3902238 by Max.Preussner MediaCompositing: Working around init/shutdown idiosyncracies in sequencer Change 3904045 by Max.Chen Sequencer: Fix copy/paste crash. Only process UMovieSceneCopyableBinding and objects that can be spawned by the movie scene spawn register. #jira UE-55314 Change 3905605 by Max.Chen Sequencer: Restrict spawnables from being created if they have a ClassWithin that UMovieScene is not a child of. #jira UE-55429 Change 3906550 by Max.Chen Sequencer: Add media track icon #jira UE-55480 Change 3907101 by Max.Chen Sequence Recorder: Fix bugs related to not recording a level sequence. There were certain assumptions that creating a level sequence meant that sequence recording was in progress. This is not always the case - the recorders can record animation assets and not create a level sequence. Changed the notion of IsRecording() to having at least one actor recording that is recording. Countdown timer, recording displays, etc should function if IsRecording() and not based on whether a level sequence is created. #jira UE-55485 Change 3907247 by Max.Chen Sequence Recorder: Fix crash not removing PrepareToCleanseEditorObject delegate. Repros when opening sequence recorder, closing it, and then opening or creating a level. Change 3910343 by Max.Preussner Core: Added async helper for executing functions on a given thread pool Change 3910346 by Max.Preussner ImgMedia: Added separate thread pools for loading/decoding and deleting image frames Change 3910829 by Max.Preussner Profiler: Increased visible range of profiler graph Change 3910841 by Max.Preussner MediaCompositing: Displaying asset name instead of full media source path in media section Change 3910870 by Max.Preussner ImgMedia: Using deallocation thread pool only in debug builds Change 3919642 by Max.Chen Sequence Recorder: Clarify active tooltip #jira UE-55661 Change 3919660 by Max.Chen Sequencer: Sequence template source signatures are now also compared to catch the case where a sub-sequence asset has been saved but not modified - The following sequence of events exposes this issue: - Create a master sequence with a single shot that spawns a cube - Add this sequence to a level and set it to auto-play - Save everything and restart - Resave just the inner shot asset without opening it - PIE - The inner shot never spawns its cube because its template was wiped on save, but its signature never changed. Since the master sequence previously didn't check the template source signature, it ends up trying to evaluate an empty template. #jira UE-55626 #jira UE-55490 Change 3921825 by Max.Chen Sequencer: "Run Construction Script in Sequencer" is off by default for blueprints but on for Sequencer. This allows the content author to switch it on for specific blueprints and sequencer will be default, run those with construction scripts enabled. Change 3922232 by Max.Chen Sequence Recorder: Reset countdelay on stop. #jira UE-55755 Change 3922306 by Max.Chen Sequence Recorder: Don't automatically mark transforms to be recorded by sequence recorder. Instead, log a warning if the user toggled it off to warn that the resulting animation might not match gameplay. #jira UE-55758 Change 3922912 by Max.Chen Sequence Recorder: Fix refresh next sequence name #jira UE-55757 Change 3927654 by Max.Chen Movie Scene Capture: Added format mapping for the name of the current camera #jira UE-55769 PR #4537 Change 3927658 by Max.Chen Sequencer: Added fbx property mapping for "FocusDistance" to "FocusSettings.ManualFocusDistance" #jira UE-55782 Change 3932022 by Max.Chen Sequencer: Add import animation track section to next available row index. #jira UE-55892 Change 3933919 by Max.Chen Sequencer: Jump to playback start frame and not 0 to start playback for recording. #jira UE-55933 Change 3934307 by Andrew.Rodham Sequencer: Add template signature that is re-generated every time the base template is regenerated, which invalidates evaluation fields This fixes an issue where the same sequence is instantiated multiple times in a sequence. If the source sequence was saved, its template would be wiped, which would invalidate the template ID When an instance tries to evaluate the master template, it would only invalidate a range in the evaluation field that was the hull of any invalid sub sequences overlapping the current time, potentially leaving invalid data in the evaluation field at positions later (or earlier) on in the sequence When the sub template was re-generated, it receives the same SequenceSignature as it had before (because the sequence hasn't actually changed), which causes the stale evaluation field data to fail the IsDirty check (because the sequence is the same as it thought, but the *template* has changed) This has been addressed be adding a signature to templates themselves, and checking both the template signature and sequence signature as a part of the IsDirty check. This ensures that we regenerate if either the template, or the sequence have changed. #jira UE-55934 Change 3936327 by Andrew.Rodham Sequencer: Removed increment when trimming right UMovieSceneSection::TrimSection already explicity assigns an exclusive bound to the time passed in. The new behavior means we can trim a section to the right, and insert another section without changing the time to create adjacent sections. #jira UE-42652 Change 3936328 by Andrew.Rodham Fixed KeyFrameManipulator assignment operators and copy/move constructors - These types are potentially self-referential so cannot use default constructors/assignment Change 3936330 by Andrew.Rodham Converted UMGSequencePlayer to use frames internally #jira UE-54878 Change 3936726 by Max.Chen Sequencer: Set track node as the parent of the key area node. The key area switcher needs the object binding id from the parent object binding node. Without this, the binding to the external value fails. #jira UE-55931 Change 3936775 by Max.Chen Sequencer: Should stop or loop should compare DurationFrames with Current Time from StartTime. The bug is that if you set 30 warmup frames in movie rendering for a range of 0-100, the FrameRange will be starting at -30 and have a duration of 130. Without this fix, the playback will continue until frame 130, rather than 100. #jira UE-55933 Change 3936935 by Matt.Hoffman Easing Curves are now represented in Play Rate resolution instead of internal resolution. #jira UE-55937 Change 3937069 by Matt.Hoffman Users can toggle if the is infinite on each side, limited by which tracks support infinite ranges. #jira UE-55891 Change 3937516 by Max.Preussner ImgMedia: Added support for single-threaded platforms #jira UE-55986 Change 3937826 by Max.Preussner MediaAssets: Disabling media sound components on HTML5 if AudioMixer is not enabled Change 3937997 by Max.Chen Curve Editor: Add Zoom to Fit Curves so that selected curves from Sequencer can be focused on. Tested that undo doesn't re-zoom. #jira UE-55935 Change 3938000 by Max.Chen Sequencer: Stop all sounds before generating audio waveforms. #jira UE-55951 Change 3938376 by Max.Preussner XGEController: Disabled XGE Controller in single-threaded apps to prevent crash Change 3938444 by Max.Preussner Core: Added async support for single-threaded applications Change 3938445 by Max.Preussner Networking: Added support for single-threaded applications in UDP socket sender/receiver Change 3938447 by Max.Preussner Messaging: Added support for single-threaded applications Change 3939432 by Max.Chen Sequence Recorder: Append command list to global level editor actions so that shortcuts are accessible in level editor. #jira UE-55798 Change 3940229 by Andrew.Rodham Added prospective display rate upgrade to UMovieScene::PostLoad - There was previously some very odd behaviour that would assign the fixed frame interval only when a sub sequence was focused in SSequencer. This meant that many sequences could have a frame interval of 0 set in the data. - Under the old method of snap interval display this would have fallen back to getting the display interval from the sequencer settings, but we no longer look at these. - The USequencerSettings properties have been removed and in their place, a prospective data upgrade for sequences that have a fixed frame interval old 0fps that sets the play rate to the previous defaults based off the old USequencerSettings defaults. - This could end up 'changing' the display rate for sequences where the user has changed the snap interval in the settings for a particular sequence editor, but there's not much we can do about that given we don't have access to the USequencerSettings classes in UMovieScene #jira UE-55919 Change 3940277 by Andrew.Rodham Sequencer: Added ability to default frame resolutions and play rates for newly created actor sequences Change 3940378 by Andrew.Rodham Sequencer: Post move import dialog now defaults to the playback framerate of the sequence, and floors to frame numbers Change 3940559 by Andrew.Rodham Reinstated primed or recording sequence color Change 3940642 by Max.Preussner ImagePlate: Removed image plate media playback functionality Change 3940843 by Max.Preussner Core: Made TCircularQueue actually thread-safe; improved code comments Change 3940860 by Max.Chen Sequencer: Changed StructNameToKey to StructPathToKey Previously, keying a PropertyPath of [RenderTransform][Shear][X] would get trimmed to X, which doesn't map to a channel name as considered by Sequencer2dTransformTrackEditor. Instead, trim the resulting property path to [Shear][X] so that track editors can determine the desired struct path and channels to key. #jira UE-52966 Change 3941292 by Mike.Zyracki Fix for trajectories out of range not showing up. 1) If we had no key data we would pop the time, so wouldn't get the section ranges. 2) Calculating of upper bound was wrong, checking against -1 and not key == num of keys when doing algo::lower_bound. 3) No need to do the Bck-- for the bakward iterators since we fixed #2. We start now from the upper bound correctly. 4) If we had no keys (at section start,end) we would incorrectly say we were any key type, so since we draw constant keys as dashed we would do so incorrectly around section end points. #jira UE-55929 Change 3941424 by Max.Chen Curve Editor: Change Zoom to Fit to use TArrayView Change 3941498 by Max.Preussner Core: Added FMath::DivideAndRoundNearest function Change 3942097 by Matt.Hoffman Drop Frame Timecode Support for NTSC rates. Change 3942104 by Matt.Hoffman Sequence Recorder Group is no longer visible inside the World Outliner after using one. #jira 55266 Change 3942107 by Max.Chen Sequencer: Resurrect logic to find or extend an existing section when adding keys. Change 3942330 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942339 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942507 by Andrew.Rodham Sequencer: We no longer pad the time overlap threshold with a small number that is not scaled by the current zoom level - The presence of this pad was causing keys that were far apart to be grouped when zoomed in a long way Change 3942509 by Andrew.Rodham Sequencer: Only pad total view range, rather than section range as well when retrieving keys to render - This stops us from rendering keys that are within the view range, but outside the section range Change 3942512 by Andrew.Rodham Added transactions to some sequencer details customizations Change 3942513 by Andrew.Rodham Sequencer: Reinstated validation checks to UMovieSceneSection::SetStartFrame and SetEndFrame, changed erroneous uses to use SetRange Change 3942560 by Andrew.Rodham Pass by rvalue reference to appease error C2719 on Win32 ('InChannels': formal parameter with requested alignment of 8 won't be aligned) Change 3942697 by Andrew.Rodham Newly Created Level Sequences and Actor Sequences now default to 24000 fps frame resolution (+/- ~24hrs range, supporting all integer rates + 23.976) Change 3942700 by Andrew.Rodham Sequencer: Added legacy out-of-bounds errors for times that are not supported by the current legacy upgrade frame resolution Change 3942989 by Max.Preussner Core: Fixed circular queue count calculation Change 3943538 by Max.Preussner MediaAssets: Reverted workaround for procedural audio log spam in HTML5 (Actor component initialization cannot be skipped if the component is used in a level) Change 3944071 by Max.Preussner QAGame: Fixed Media Texture keeps last frame of Media when PIE ends #jira UE-53360 Change 3944292 by Max.Chen Sequencer: Added extra flags to ensure that asset initialization does not occur on template actor sequences #jira UE-56113 Change 3944364 by Max.Chen Sequencer: Prevent circular shot/master tracks. Tested adding master -> child -> master as drag and drop cinematic shot tracks and sub tracks as well as through the + button. #jira UE-56091 Change 3944422 by Max.Chen Sequence Recorder: Disable transform recording if off. #jira UE-56061 Change 3944745 by Andrew.Rodham Sequencer: Key rendering fixes - Fixed assert that occured when keys happened to reside on some times due to KeyTime + TimeOverlapThreshold - KeyTime being slightly larger TimeOverlapThreshold - Fixed keys sometimes being clipped when zoomed right in due to lack of half-frame offset - Added missing documentation to MovieSceneTimeHelpers.h #jira UE-56107 Change 3945231 by Andrew.Rodham Sequencer: Reconstruct channel proxy on Serialize to catch all cases of undo/redo, PostLoad and duplication #jira UE-56089 Change 3945301 by Andrew.Rodham Sequencer: Added safety checks during initial sequence recording to guard against applying negative or 0-sized sequence ranges #jira UE-56125 Change 3946627 by Max.Preussner Fortnite: Fixed game crashes closing editor while in PIE - Pure virtual function being called #jira UE-56144 [CL 3946896 by Max Chen in Main branch]
2018-03-14 22:09:33 -04:00
const float RangeStartPixel = RangeToScreen.InputToLocalX(Range.GetLowerBoundValue());
// Hit test against the brush region to the right of the playback start position, +/- DragToleranceSlateUnits
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3946692) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3801826 by Max.Chen PR #4304: Level Sequence crash fix - Guarded against dereferencing null componen. (Contributed by DSDambuster) Change 3801828 by Max.Chen PR #4302: Movie Scene Visibility Template unitialised variable, causing random . (Contributed by DSDambuster) Change 3801837 by Max.Chen Sequencer: Delay spawning/construction for convert to possessable. This fixes a bug where property values would be lost when converting back and forth from possessable to spawnable. #jira UE-52400 Change 3801841 by Max.Chen Sequencer: Make spacer nodes not selectable. PR #4194: Improvements to Sequencer (Contributed by projectgheist) #jira UE-53117 #jira UE-52139 Change 3804183 by Max.Preussner MediaAssets: Added missing lock in media sound component Change 3805414 by Max.Preussner MediaAssets: Setting valid GUID when initializing media texture resource Change 3819578 by Max.Chen PR #4370: When enabling the "MovieCapture", do not turn off the Stereo-3D display. (Contributed by yehaike) #jira UE-53647 Change 3823414 by Max.Chen Curve Editor: Lock down the first and last keys in the redundant keys removal range so that they're unaffected. #jira UE-53591 Change 3826406 by Max.Chen Sequencer: Move OnStartedPlaying() to within first update in UpdateTimeCursorPosition(). This fixes an issue where setting the hud/player visibility was getting stomped on later. #jira UE-52772 Change 3827044 by Max.Preussner MediaAssets: Added sprite visualization to media sound component #jira UE-53594 Change 3827988 by Max.Preussner MediaPlayerAssets: Fixed Media Texture is not linked to Media Player when created together #jira UE-53532 Change 3828506 by Max.Preussner MediaPlayerEditor: Added attenuation visualizer for media sound components #jira UE-53594 Change 3832590 by andrew.porter EngineTest: Added a keep state check in Property Animation sequencer test Change 3833053 by andrew.porter EngineTest: Adding Hierarchical Bias test Change 3835683 by andrew.porter EngineTest: Adding UMG Animation screenshot test Change 3836076 by Max.Chen Sequencer: Fix audio volume and pitch multiplier deprecation. Change 3836230 by andrew.porter EngineTest: Adding Sequence Bone Position automation test Change 3836347 by Max.Chen Sequencer: Fixes to shot name parsing. When a shot doesn't contain a shot number, assume, [ShotName]_[TakeNumber]. When duplicating a shot, put the new shot in the same path of the original shot, so that the take numbers will increment properly. #jira UE-51868 Change 3836552 by Max.Chen Sequencer: Sub section now has a takes menu Change 3838094 by Max.Chen UMG: Fix template finish not getting called on stop. This fixes a bug where sections aren't restored when finished. #jira UE-52285 Change 3838708 by Max.Chen Sequencer: Add notification when the blend type is changed. #jira UE-54046 Change 3840295 by Max.Chen Sequencer: Fix copy/paste crash for lights #jira UE-54084 Change 3840957 by Mike.Zyracki Added Show Only Keyable and Show Only Animated to the filter list in the property editor. Added IsPropertyAnimated to IDetailKeyframe Interface which already had support for showing properties which are keyable (which is used for the key icon next to the properties.). Could have created another interface but then would have had to mimic the sequencer binding, releasing also, so this seemed best way. One issue still left is that custom built detail items currently don't store associated properties(usually) and so certain properties, in particulalry transforms, won't show up as keyable or animated. Note this also shows up with the keyable icon not showing up next to transform tracks, and other filters like Show Only Modified not working with transforms/customs. Not sure best way to tackle this. #jira UESEQ-328 Change 3841756 by Max.Chen Sequencer: Fix unbound possessable components when pasting spawnables. #jira UE-54104 Change 3843950 by andrew.porter EngineTest: Renaming LevelStreaming tests/content to LevelVisibility Change 3844082 by Mike.Zyracki Missing file for animated filter in property editor. When finding if a track is animated we need to find it but we can't easily induce the MovieTrack class for any particular property. So we don't set a class for it and just search by it's ID and name. #jira UESEQ-328 Change 3846902 by Max.Preussner ImgMedia: Fixed image media player never finished initialization if loading failed #jira UE-54247 Change 3849820 by Mike.Zyracki Reassigning deleted widgets didn't work since the menu extender mechanism needs a valid UObject in order to perform an operation on it. So to fix we replaced GetObjectBindingContextMenuExtender in WidgetBlueprint with new delegate mechanism (OnBuildCustomContextMenuForGuid) that supports FGuid in addition to UObjects which is needed to handle re-binding deleted widgets. Note that the default sequencer hacks this for replacing deleted actors in SequencerObjectBindingNode to check to see if a LevelSequence is active. We could move to this mechanism there also. #jira UE-53163 Change 3852211 by Max.Chen UMG: Indicate name of the property that is not bound. #jira UE-54350 Change 3854120 by Max.Chen Sequencer: Fix sibling folders being allowed to have the same folder name. #jira UE-54363 Change 3854627 by Max.Chen Sequencer: Step to next/previous key should work for all tracks if there aren't any selected. #jira UESEQ-391 Change 3855825 by andrew.porter EngineTest: Adding animation blending automation test Change 3855950 by andrew.porter EngineTest: Adding correct expected valuues to animation blending test Change 3856237 by Matt.Hoffman UESEQ-336 - Sequencer Track Reordering Adds the ability to re-order Master Tracks, Folders and Object Bindings within sequencer hierarchies (including UMG). Adds the ability to do a one-off sorting of the content under the old sorting behavior if the user wants to reset their layout to how it was under legacy behavior. Modifies SequencerTrackNodes, SequencerFolderNodes and SequencerObjectBindingNodes to handle CanDrop/OnDrop for above, below and ontop of. Fixes a Slate Issue that forcibly expanded a TreeviewRow if an item handled OnDrop. Slate will now only forcibly expand the row if the item says the drop happened ontop of the item, and not above or below it like it previously did. Change 3856503 by andrew.porter EngineTest: Adding automation test for using animation blueprint with blend multi node in sequencer Change 3857875 by Max.Chen Sequencer: Assign the sequence id after the template is compiled. #jira UE-54462 Change 3858344 by Max.Chen Sequencer: Prevent Goto and Transform boxes from overlapping by allowing them to be visible at the same time in an autosized horizontal box. Also, added close button to the goto box. PR #4425: Prevent Goto and Transform boxes from overlapping in Sequencer ... (Contributed by projectgheist) #jira UE-54210 Change 3860566 by andrew.porter MediaFrameworkTest: Set the option to index 0 for the audio and video track list by default Change 3860654 by andrew.porter EngineTest: Enabling Camera Cut + FOV test Change 3860981 by andrew.porter EngineTest: Updating skeletal mesh tests with a delay after set playback position Change 3861256 by Max.Chen Sequencer: Add all bindings if none selected. #jira-54440 Change 3862154 by Andrew.Rodham Added TimeManagement module Change 3862424 by andrew.porter EngineTest: Turned on the test Bone Positions with Blend Multi Node Change 3862573 by andrew.porter EngineTest: Adding test to compare bone positions in a sequence that is blending an animation that is using an AnimBP Change 3865117 by Max.Chen Sequencer: Stop auto scroll on mouse release of movement. #jira UE-31212 Change 3865303 by Max.Chen Sequencer: Add drag and drop transactions #jira UE-54662 Change 3865304 by Max.Chen Sequencer: Fix crash when an actor factory is not found. Change 3865361 by Max.Chen Sequencer: Don't change the camera/shot lock button when popping out of a sequence. #jira UE-54665 Change 3865412 by Max.Chen Sequencer: Determine whether a transform track is for a camera by using the spawned object or template #jira UE-54666 Change 3865685 by Max.Chen Sequencer: Clear autoscrub offset when stopping autoscroll #jira UE-31212 Change 3865886 by Max.Chen Sequence Recorder: Log an error if the number of frames changes while recording. This can happen if the skeleton changes while recording. #jira UE-48715 Change 3866925 by Andrew.Porter MediaFrameworkTest: Changing the current PNG test video image sequence to 1024 x 576 Change 3867705 by andrew.porter QAGame: Adding Audio Sort Sequence to dev folder Change 3867890 by andrew.porter QAGame: Adding a sequence for testing a sorting crash to my dev folder Change 3872628 by Max.Chen Movie Scene Capture: Split delay before warmup into split delay before shot warmup so that there's separate controls for when the movie scene capture warmups up vs. shot boundaries. Change 3873131 by Matt.Hoffman UE-54732 - Crash reordering a folder with a track. This was caused by folders being the only type of track to check if someone was putting a parent track into a child track. Object Binding tracks and Tracks now check as well so that you can't use the above/below drop targets to add parents as children. This also fixed a typo in the localization keys. #jira UE-54732 Change 3873301 by Mike.Zyracki Added ability to support continous euler angle changes when changing rotations, in particularly with the rotation gizmo's. To do this we effectively added a form an of 'euler filter'(https://en.wikipedia.org/wiki/Euler_filter) to find the closest euler angle to the current euler angle. Three functions were added to FRotator to make this possible, one to get the euler angle that's has the same rotation as it, one to get the difference between two euler angles via Manhattan distance and a third using the previous two to choose a Rotator value that's closest to it. We then use these functions before calling UComponent::SetRelativeRotation to make sure we use the correct Euler after the Quat conversion. We also no longer limit(bound) the euler angles to -180,180, which is obviously necessary to avoid flips. I also changed how we caluclate yaw and roll when pitch is -90 or 90 to make it the standard approach of zeroing out roll and just setting yaw. Main reasons are the previous implementation had precision issues so things like 180, 90, -180 would show up due to numbers being nearly zero but negative,(this would break any smooth interpolations), and this facilitates having a 'gimbal' rotation mode (like Maya, Blender etc..) if we ever want that also. If needed we could keep the previous implementation but would need to add some FMath::IsNearlyZero checks, with less performance. Note we only do this special filtering when applying delta's to actors or components in the editors, which then call UComponent::SetRelativeRotationExact, which is a new function to foces the RelativeRotation to be equal to the new rotation. This allows us to store un-nomalized Rotators at the cost that the RotationCache may be broken. We didn't change any of the other UComponent functions that set rotations (via Quats or Transforms) so they will still be bounded and unwound. In SetInternalWorldLocationAndRotation we only set the rotation if the rotation has changed, which fixes the rotation getting changed and re-normalized if just translate happens. In TransformTrackEditor, we correclty use the bUndwing flag and in MovieScene3DTransformSection there was an un-needed winding check there, it will be unwound earlier if needed, which happens if Sequence Recording is happening. Max we should talk about what to do about this . Note the euler angle drag via the widget is still bound to 0-360. I think we should just unbound that now since the rotations value are now unbound. This review now includes fixes suggested by Zak. #jira UE-UE-22228 Change 3873483 by Matt.Hoffman Sequencer Tracks can now be inserted above the spacer at the bottom of the tree. #jira UE-54706 Change 3873899 by Max.Chen Sequencer: Add section selection throbbing Change 3873908 by Max.Chen Movie Scene Capture: Added logging per frame Change 3873924 by Matt.Hoffman Adds the ability to store Sequence Recorder setups into profiles that stay with the map and can be re-loaded later. Profiles store the Actor Recordings so the settings for each actor should carry with them. #jira UESEQ-339 Change 3874726 by Matt.Hoffman Disable drag-and-drop targets on spacers that come between rows in Sequencer. This prevents extra drag/drop targets showing up between each row. #jira UE-54706 Change 3874862 by Matt.Hoffman Audio Track no longer gets reordered when adding sub-audio tracks, as sub-tracks are no longer counted towards the sorting order index when normalizing indexes. #jira UE-54727 Change 3875905 by Matt.Hoffman Disable Fade Track UI if a fade track already exists in the sequence. #jira UESEQ-393 Change 3876163 by Max.Chen Sequencer: Swap the camera object to the camera component's owner if it's not the same. #jira UE-54874 Change 3876971 by Andrew.Porter EngineTest: Moved Media Player Seek test to new folder. Also enabled the test with new ground truth image. Change 3877040 by Max.Chen Cine Camera: Split camera properties to two groups, "Camera Options" and "Camera Settings". The cine camera now hides properties in the "Camera Settings" group so that properties like bConstrainAspectRatio (in the "Camera Options" group) can be visible. #jira UE-54192 Change 3877763 by Max.Chen Curve Editor: Fix curve changed on end drag so that only curves that had keys/tangents that were changed receive notification, otherwise all loaded curves were getting notified that they were changed. #jira UE-54951 Change 3878234 by Matt.Hoffman Disable "Drop Below" targets for Sequencer Tree nodes to prevent a confusing UX issue where dropping underneath a Object Binding Node puts it after the object binding node but the UI looks like it's inserting it inside the Object Binding node. #jira UE-54743 Change 3879359 by Mike.Zyracki If a track is inactive we dim it a bit which seems to be the UE4 way to show inactive or disabled state. We changed the active logic so that all subtracks need to be inactive for the track to also be inactive(instead of all active for active). This conforms to how the active state actually works, e.g if you have two sections and only one is active the track is still active above it. #jira UESEQ-388 Change 3879462 by Max.Chen Sequencer: Allow dragging onto a particular row which would move out any overlapping sections to make space for the newly created section. Newly created sections are now selected and throbbed to draw attention to themselves. #jira UE-54664 Change 3879464 by Max.Chen Sequencer: Fixed overlapping ranges being inserted into the evaluation field during compilation - The issue was that track segments that had been combined with adjacent segments (due to them being identical) would potentially cause a subsequently compiled frame to overlap with a range that had already been inserted into the evaluation field. - The insertion code previously asserted that only minor overlaps were catered for (due to fp rounding errors) and assumed that a supplied range could not entirely contain any other range in the field. - The solution is to supply the insertion time along with the range to know exactly where the data should live in the field, and crop the range to the maximum allowable space between adjacent ranges. #jira UE-54922 Change 3879590 by Matt.Hoffman Items that are now added to the Sequencer via the "+Track" menu will be selected after being added. Items can now be added inside of folders instead of just to the root level. #jira UE-27397 Change 3879612 by Mike.Zyracki Display Nodes with no children are always active. #jira UESEQ-388 Change 3879730 by Matt.Hoffman Sequence Recorder's actor recording groups now remove items from the group when removed via the UI. #jira UESEQ-339 Change 3880256 by Mike.Zyracki Fix issue with inactive display with folders and other track nodes. #jira UESEQ-388 Change 3883491 by Max.Chen Fix issue where tick is skipped due to last ticked pose isn't cleared after AnimInstance changes. Copy from Release-4.19 #jira UE-51323 Change 3883603 by Max.Chen Movie Scene Capture: Add option toggle disable screen percentage. By default this is on (no change in current behavior). #jira UE-51898 Change 3885074 by Max.Preussner MediaCompositing: Resetting media texture & freeing resource on section end; removed dead code Change 3887220 by Max.Preussner MediaCompositing: Defaulted media section duration to 1 sec (since we do not know the actual duration in most cases) Change 3887478 by Matt.Hoffman Sequences now show [Inactive] in their title bars when they're disabled. This helps communicate why a sequence isn't being evaluated. #jira UE-51469 Change 3888985 by Max.Chen Movie Scene Capture: Clamp HDR Compression Quality between 0 and 1. #jira UE-55136 Change 3893519 by Max.Chen Sequence Recorder: Clarified tooltip for bRecordNearbySpawnedActors - spawned actors will still be recorded if they match the ActorFilter. #jira UE-55238 Change 3893546 by Max.Chen Sequence Recorder: If a selected actor already has a recording, add a blank recording. #jira UE-55239 Change 3894044 by Max.Preussner MediaCompositing: Added support for seeking into a media section Change 3894310 by andrew.porter MediaFrameworkTest: Adding Img media sources for 1080 and 2160 ravent test content Change 3894426 by Max.Preussner MediaAssets: Letting media textures with AutoClear retain their clear color when player is reset Change 3895717 by Max.Chen Sequencer: Null checks to prevent crash when saving the default state of a spawnable #jira UE-55304 Change 3897388 by Max.Chen Sequencer: Don't update current time to be within the view range when stepping into a sequence. #jira UE-55322 Change 3897452 by Max.Chen Audio: Fix crash when trying to record audio without any active capture devices. Log warning if the number of input channels is not 1 or 2. #jira UE-55223 Change 3897619 by Max.Preussner MediaCompositing: Removed commented out code Change 3898072 by Max.Chen Sequencer: Override the animation asset in the player state if it doesn't match the animation asset that's being evaluated. #jira UE-55328 Change 3898272 by Max.Preussner MediaPlayerEditor: Made slate brush constants static Change 3898704 by Max.Chen Sequencer: Skip if the binding id's sequence can't be found. #jira UE-55337 Change 3899855 by Max.Preussner MediaCompositingEditor: Added cache state visualization to media track Change 3900300 by Max.Preussner MediaCompositingEditor: Added loop indicators to media sections Change 3900694 by Max.Preussner ImfMedia: Looping cache only when player is looping Change 3900892 by Max.Preussner Stats: Added stats category for media framework Change 3900954 by Max.Preussner MediaCompositing: Don't evaluate at the end of media section Change 3901348 by Max.Preussner Core: Replaced TLruCache autos for better readability Change 3901655 by Max.Preussner ImgMedia: Added more perf stats to EXR reader Change 3901972 by Max.Preussner MediaAssets: Added getter for media player in media sound components Change 3902233 by Max.Preussner MediaAssets: Enabling media textures to receive samples right after player is assigned Change 3902238 by Max.Preussner MediaCompositing: Working around init/shutdown idiosyncracies in sequencer Change 3904045 by Max.Chen Sequencer: Fix copy/paste crash. Only process UMovieSceneCopyableBinding and objects that can be spawned by the movie scene spawn register. #jira UE-55314 Change 3905605 by Max.Chen Sequencer: Restrict spawnables from being created if they have a ClassWithin that UMovieScene is not a child of. #jira UE-55429 Change 3906550 by Max.Chen Sequencer: Add media track icon #jira UE-55480 Change 3907101 by Max.Chen Sequence Recorder: Fix bugs related to not recording a level sequence. There were certain assumptions that creating a level sequence meant that sequence recording was in progress. This is not always the case - the recorders can record animation assets and not create a level sequence. Changed the notion of IsRecording() to having at least one actor recording that is recording. Countdown timer, recording displays, etc should function if IsRecording() and not based on whether a level sequence is created. #jira UE-55485 Change 3907247 by Max.Chen Sequence Recorder: Fix crash not removing PrepareToCleanseEditorObject delegate. Repros when opening sequence recorder, closing it, and then opening or creating a level. Change 3910343 by Max.Preussner Core: Added async helper for executing functions on a given thread pool Change 3910346 by Max.Preussner ImgMedia: Added separate thread pools for loading/decoding and deleting image frames Change 3910829 by Max.Preussner Profiler: Increased visible range of profiler graph Change 3910841 by Max.Preussner MediaCompositing: Displaying asset name instead of full media source path in media section Change 3910870 by Max.Preussner ImgMedia: Using deallocation thread pool only in debug builds Change 3919642 by Max.Chen Sequence Recorder: Clarify active tooltip #jira UE-55661 Change 3919660 by Max.Chen Sequencer: Sequence template source signatures are now also compared to catch the case where a sub-sequence asset has been saved but not modified - The following sequence of events exposes this issue: - Create a master sequence with a single shot that spawns a cube - Add this sequence to a level and set it to auto-play - Save everything and restart - Resave just the inner shot asset without opening it - PIE - The inner shot never spawns its cube because its template was wiped on save, but its signature never changed. Since the master sequence previously didn't check the template source signature, it ends up trying to evaluate an empty template. #jira UE-55626 #jira UE-55490 Change 3921825 by Max.Chen Sequencer: "Run Construction Script in Sequencer" is off by default for blueprints but on for Sequencer. This allows the content author to switch it on for specific blueprints and sequencer will be default, run those with construction scripts enabled. Change 3922232 by Max.Chen Sequence Recorder: Reset countdelay on stop. #jira UE-55755 Change 3922306 by Max.Chen Sequence Recorder: Don't automatically mark transforms to be recorded by sequence recorder. Instead, log a warning if the user toggled it off to warn that the resulting animation might not match gameplay. #jira UE-55758 Change 3922912 by Max.Chen Sequence Recorder: Fix refresh next sequence name #jira UE-55757 Change 3927654 by Max.Chen Movie Scene Capture: Added format mapping for the name of the current camera #jira UE-55769 PR #4537 Change 3927658 by Max.Chen Sequencer: Added fbx property mapping for "FocusDistance" to "FocusSettings.ManualFocusDistance" #jira UE-55782 Change 3932022 by Max.Chen Sequencer: Add import animation track section to next available row index. #jira UE-55892 Change 3933919 by Max.Chen Sequencer: Jump to playback start frame and not 0 to start playback for recording. #jira UE-55933 Change 3934307 by Andrew.Rodham Sequencer: Add template signature that is re-generated every time the base template is regenerated, which invalidates evaluation fields This fixes an issue where the same sequence is instantiated multiple times in a sequence. If the source sequence was saved, its template would be wiped, which would invalidate the template ID When an instance tries to evaluate the master template, it would only invalidate a range in the evaluation field that was the hull of any invalid sub sequences overlapping the current time, potentially leaving invalid data in the evaluation field at positions later (or earlier) on in the sequence When the sub template was re-generated, it receives the same SequenceSignature as it had before (because the sequence hasn't actually changed), which causes the stale evaluation field data to fail the IsDirty check (because the sequence is the same as it thought, but the *template* has changed) This has been addressed be adding a signature to templates themselves, and checking both the template signature and sequence signature as a part of the IsDirty check. This ensures that we regenerate if either the template, or the sequence have changed. #jira UE-55934 Change 3936327 by Andrew.Rodham Sequencer: Removed increment when trimming right UMovieSceneSection::TrimSection already explicity assigns an exclusive bound to the time passed in. The new behavior means we can trim a section to the right, and insert another section without changing the time to create adjacent sections. #jira UE-42652 Change 3936328 by Andrew.Rodham Fixed KeyFrameManipulator assignment operators and copy/move constructors - These types are potentially self-referential so cannot use default constructors/assignment Change 3936330 by Andrew.Rodham Converted UMGSequencePlayer to use frames internally #jira UE-54878 Change 3936726 by Max.Chen Sequencer: Set track node as the parent of the key area node. The key area switcher needs the object binding id from the parent object binding node. Without this, the binding to the external value fails. #jira UE-55931 Change 3936775 by Max.Chen Sequencer: Should stop or loop should compare DurationFrames with Current Time from StartTime. The bug is that if you set 30 warmup frames in movie rendering for a range of 0-100, the FrameRange will be starting at -30 and have a duration of 130. Without this fix, the playback will continue until frame 130, rather than 100. #jira UE-55933 Change 3936935 by Matt.Hoffman Easing Curves are now represented in Play Rate resolution instead of internal resolution. #jira UE-55937 Change 3937069 by Matt.Hoffman Users can toggle if the is infinite on each side, limited by which tracks support infinite ranges. #jira UE-55891 Change 3937516 by Max.Preussner ImgMedia: Added support for single-threaded platforms #jira UE-55986 Change 3937826 by Max.Preussner MediaAssets: Disabling media sound components on HTML5 if AudioMixer is not enabled Change 3937997 by Max.Chen Curve Editor: Add Zoom to Fit Curves so that selected curves from Sequencer can be focused on. Tested that undo doesn't re-zoom. #jira UE-55935 Change 3938000 by Max.Chen Sequencer: Stop all sounds before generating audio waveforms. #jira UE-55951 Change 3938376 by Max.Preussner XGEController: Disabled XGE Controller in single-threaded apps to prevent crash Change 3938444 by Max.Preussner Core: Added async support for single-threaded applications Change 3938445 by Max.Preussner Networking: Added support for single-threaded applications in UDP socket sender/receiver Change 3938447 by Max.Preussner Messaging: Added support for single-threaded applications Change 3939432 by Max.Chen Sequence Recorder: Append command list to global level editor actions so that shortcuts are accessible in level editor. #jira UE-55798 Change 3940229 by Andrew.Rodham Added prospective display rate upgrade to UMovieScene::PostLoad - There was previously some very odd behaviour that would assign the fixed frame interval only when a sub sequence was focused in SSequencer. This meant that many sequences could have a frame interval of 0 set in the data. - Under the old method of snap interval display this would have fallen back to getting the display interval from the sequencer settings, but we no longer look at these. - The USequencerSettings properties have been removed and in their place, a prospective data upgrade for sequences that have a fixed frame interval old 0fps that sets the play rate to the previous defaults based off the old USequencerSettings defaults. - This could end up 'changing' the display rate for sequences where the user has changed the snap interval in the settings for a particular sequence editor, but there's not much we can do about that given we don't have access to the USequencerSettings classes in UMovieScene #jira UE-55919 Change 3940277 by Andrew.Rodham Sequencer: Added ability to default frame resolutions and play rates for newly created actor sequences Change 3940378 by Andrew.Rodham Sequencer: Post move import dialog now defaults to the playback framerate of the sequence, and floors to frame numbers Change 3940559 by Andrew.Rodham Reinstated primed or recording sequence color Change 3940642 by Max.Preussner ImagePlate: Removed image plate media playback functionality Change 3940843 by Max.Preussner Core: Made TCircularQueue actually thread-safe; improved code comments Change 3940860 by Max.Chen Sequencer: Changed StructNameToKey to StructPathToKey Previously, keying a PropertyPath of [RenderTransform][Shear][X] would get trimmed to X, which doesn't map to a channel name as considered by Sequencer2dTransformTrackEditor. Instead, trim the resulting property path to [Shear][X] so that track editors can determine the desired struct path and channels to key. #jira UE-52966 Change 3941292 by Mike.Zyracki Fix for trajectories out of range not showing up. 1) If we had no key data we would pop the time, so wouldn't get the section ranges. 2) Calculating of upper bound was wrong, checking against -1 and not key == num of keys when doing algo::lower_bound. 3) No need to do the Bck-- for the bakward iterators since we fixed #2. We start now from the upper bound correctly. 4) If we had no keys (at section start,end) we would incorrectly say we were any key type, so since we draw constant keys as dashed we would do so incorrectly around section end points. #jira UE-55929 Change 3941424 by Max.Chen Curve Editor: Change Zoom to Fit to use TArrayView Change 3941498 by Max.Preussner Core: Added FMath::DivideAndRoundNearest function Change 3942097 by Matt.Hoffman Drop Frame Timecode Support for NTSC rates. Change 3942104 by Matt.Hoffman Sequence Recorder Group is no longer visible inside the World Outliner after using one. #jira 55266 Change 3942107 by Max.Chen Sequencer: Resurrect logic to find or extend an existing section when adding keys. Change 3942330 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942339 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942507 by Andrew.Rodham Sequencer: We no longer pad the time overlap threshold with a small number that is not scaled by the current zoom level - The presence of this pad was causing keys that were far apart to be grouped when zoomed in a long way Change 3942509 by Andrew.Rodham Sequencer: Only pad total view range, rather than section range as well when retrieving keys to render - This stops us from rendering keys that are within the view range, but outside the section range Change 3942512 by Andrew.Rodham Added transactions to some sequencer details customizations Change 3942513 by Andrew.Rodham Sequencer: Reinstated validation checks to UMovieSceneSection::SetStartFrame and SetEndFrame, changed erroneous uses to use SetRange Change 3942560 by Andrew.Rodham Pass by rvalue reference to appease error C2719 on Win32 ('InChannels': formal parameter with requested alignment of 8 won't be aligned) Change 3942697 by Andrew.Rodham Newly Created Level Sequences and Actor Sequences now default to 24000 fps frame resolution (+/- ~24hrs range, supporting all integer rates + 23.976) Change 3942700 by Andrew.Rodham Sequencer: Added legacy out-of-bounds errors for times that are not supported by the current legacy upgrade frame resolution Change 3942989 by Max.Preussner Core: Fixed circular queue count calculation Change 3943538 by Max.Preussner MediaAssets: Reverted workaround for procedural audio log spam in HTML5 (Actor component initialization cannot be skipped if the component is used in a level) Change 3944071 by Max.Preussner QAGame: Fixed Media Texture keeps last frame of Media when PIE ends #jira UE-53360 Change 3944292 by Max.Chen Sequencer: Added extra flags to ensure that asset initialization does not occur on template actor sequences #jira UE-56113 Change 3944364 by Max.Chen Sequencer: Prevent circular shot/master tracks. Tested adding master -> child -> master as drag and drop cinematic shot tracks and sub tracks as well as through the + button. #jira UE-56091 Change 3944422 by Max.Chen Sequence Recorder: Disable transform recording if off. #jira UE-56061 Change 3944745 by Andrew.Rodham Sequencer: Key rendering fixes - Fixed assert that occured when keys happened to reside on some times due to KeyTime + TimeOverlapThreshold - KeyTime being slightly larger TimeOverlapThreshold - Fixed keys sometimes being clipped when zoomed right in due to lack of half-frame offset - Added missing documentation to MovieSceneTimeHelpers.h #jira UE-56107 Change 3945231 by Andrew.Rodham Sequencer: Reconstruct channel proxy on Serialize to catch all cases of undo/redo, PostLoad and duplication #jira UE-56089 Change 3945301 by Andrew.Rodham Sequencer: Added safety checks during initial sequence recording to guard against applying negative or 0-sized sequence ranges #jira UE-56125 Change 3946627 by Max.Preussner Fortnite: Fixed game crashes closing editor while in PIE - Pure virtual function being called #jira UE-56144 [CL 3946896 by Max Chen in Main branch]
2018-03-14 22:09:33 -04:00
return HitPixel >= RangeStartPixel - MouseTolerance - DragToleranceSlateUnits &&
HitPixel <= RangeStartPixel + MouseTolerance + BrushSizeInStateUnits + DragToleranceSlateUnits;
}
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3946692) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3801826 by Max.Chen PR #4304: Level Sequence crash fix - Guarded against dereferencing null componen. (Contributed by DSDambuster) Change 3801828 by Max.Chen PR #4302: Movie Scene Visibility Template unitialised variable, causing random . (Contributed by DSDambuster) Change 3801837 by Max.Chen Sequencer: Delay spawning/construction for convert to possessable. This fixes a bug where property values would be lost when converting back and forth from possessable to spawnable. #jira UE-52400 Change 3801841 by Max.Chen Sequencer: Make spacer nodes not selectable. PR #4194: Improvements to Sequencer (Contributed by projectgheist) #jira UE-53117 #jira UE-52139 Change 3804183 by Max.Preussner MediaAssets: Added missing lock in media sound component Change 3805414 by Max.Preussner MediaAssets: Setting valid GUID when initializing media texture resource Change 3819578 by Max.Chen PR #4370: When enabling the "MovieCapture", do not turn off the Stereo-3D display. (Contributed by yehaike) #jira UE-53647 Change 3823414 by Max.Chen Curve Editor: Lock down the first and last keys in the redundant keys removal range so that they're unaffected. #jira UE-53591 Change 3826406 by Max.Chen Sequencer: Move OnStartedPlaying() to within first update in UpdateTimeCursorPosition(). This fixes an issue where setting the hud/player visibility was getting stomped on later. #jira UE-52772 Change 3827044 by Max.Preussner MediaAssets: Added sprite visualization to media sound component #jira UE-53594 Change 3827988 by Max.Preussner MediaPlayerAssets: Fixed Media Texture is not linked to Media Player when created together #jira UE-53532 Change 3828506 by Max.Preussner MediaPlayerEditor: Added attenuation visualizer for media sound components #jira UE-53594 Change 3832590 by andrew.porter EngineTest: Added a keep state check in Property Animation sequencer test Change 3833053 by andrew.porter EngineTest: Adding Hierarchical Bias test Change 3835683 by andrew.porter EngineTest: Adding UMG Animation screenshot test Change 3836076 by Max.Chen Sequencer: Fix audio volume and pitch multiplier deprecation. Change 3836230 by andrew.porter EngineTest: Adding Sequence Bone Position automation test Change 3836347 by Max.Chen Sequencer: Fixes to shot name parsing. When a shot doesn't contain a shot number, assume, [ShotName]_[TakeNumber]. When duplicating a shot, put the new shot in the same path of the original shot, so that the take numbers will increment properly. #jira UE-51868 Change 3836552 by Max.Chen Sequencer: Sub section now has a takes menu Change 3838094 by Max.Chen UMG: Fix template finish not getting called on stop. This fixes a bug where sections aren't restored when finished. #jira UE-52285 Change 3838708 by Max.Chen Sequencer: Add notification when the blend type is changed. #jira UE-54046 Change 3840295 by Max.Chen Sequencer: Fix copy/paste crash for lights #jira UE-54084 Change 3840957 by Mike.Zyracki Added Show Only Keyable and Show Only Animated to the filter list in the property editor. Added IsPropertyAnimated to IDetailKeyframe Interface which already had support for showing properties which are keyable (which is used for the key icon next to the properties.). Could have created another interface but then would have had to mimic the sequencer binding, releasing also, so this seemed best way. One issue still left is that custom built detail items currently don't store associated properties(usually) and so certain properties, in particulalry transforms, won't show up as keyable or animated. Note this also shows up with the keyable icon not showing up next to transform tracks, and other filters like Show Only Modified not working with transforms/customs. Not sure best way to tackle this. #jira UESEQ-328 Change 3841756 by Max.Chen Sequencer: Fix unbound possessable components when pasting spawnables. #jira UE-54104 Change 3843950 by andrew.porter EngineTest: Renaming LevelStreaming tests/content to LevelVisibility Change 3844082 by Mike.Zyracki Missing file for animated filter in property editor. When finding if a track is animated we need to find it but we can't easily induce the MovieTrack class for any particular property. So we don't set a class for it and just search by it's ID and name. #jira UESEQ-328 Change 3846902 by Max.Preussner ImgMedia: Fixed image media player never finished initialization if loading failed #jira UE-54247 Change 3849820 by Mike.Zyracki Reassigning deleted widgets didn't work since the menu extender mechanism needs a valid UObject in order to perform an operation on it. So to fix we replaced GetObjectBindingContextMenuExtender in WidgetBlueprint with new delegate mechanism (OnBuildCustomContextMenuForGuid) that supports FGuid in addition to UObjects which is needed to handle re-binding deleted widgets. Note that the default sequencer hacks this for replacing deleted actors in SequencerObjectBindingNode to check to see if a LevelSequence is active. We could move to this mechanism there also. #jira UE-53163 Change 3852211 by Max.Chen UMG: Indicate name of the property that is not bound. #jira UE-54350 Change 3854120 by Max.Chen Sequencer: Fix sibling folders being allowed to have the same folder name. #jira UE-54363 Change 3854627 by Max.Chen Sequencer: Step to next/previous key should work for all tracks if there aren't any selected. #jira UESEQ-391 Change 3855825 by andrew.porter EngineTest: Adding animation blending automation test Change 3855950 by andrew.porter EngineTest: Adding correct expected valuues to animation blending test Change 3856237 by Matt.Hoffman UESEQ-336 - Sequencer Track Reordering Adds the ability to re-order Master Tracks, Folders and Object Bindings within sequencer hierarchies (including UMG). Adds the ability to do a one-off sorting of the content under the old sorting behavior if the user wants to reset their layout to how it was under legacy behavior. Modifies SequencerTrackNodes, SequencerFolderNodes and SequencerObjectBindingNodes to handle CanDrop/OnDrop for above, below and ontop of. Fixes a Slate Issue that forcibly expanded a TreeviewRow if an item handled OnDrop. Slate will now only forcibly expand the row if the item says the drop happened ontop of the item, and not above or below it like it previously did. Change 3856503 by andrew.porter EngineTest: Adding automation test for using animation blueprint with blend multi node in sequencer Change 3857875 by Max.Chen Sequencer: Assign the sequence id after the template is compiled. #jira UE-54462 Change 3858344 by Max.Chen Sequencer: Prevent Goto and Transform boxes from overlapping by allowing them to be visible at the same time in an autosized horizontal box. Also, added close button to the goto box. PR #4425: Prevent Goto and Transform boxes from overlapping in Sequencer ... (Contributed by projectgheist) #jira UE-54210 Change 3860566 by andrew.porter MediaFrameworkTest: Set the option to index 0 for the audio and video track list by default Change 3860654 by andrew.porter EngineTest: Enabling Camera Cut + FOV test Change 3860981 by andrew.porter EngineTest: Updating skeletal mesh tests with a delay after set playback position Change 3861256 by Max.Chen Sequencer: Add all bindings if none selected. #jira-54440 Change 3862154 by Andrew.Rodham Added TimeManagement module Change 3862424 by andrew.porter EngineTest: Turned on the test Bone Positions with Blend Multi Node Change 3862573 by andrew.porter EngineTest: Adding test to compare bone positions in a sequence that is blending an animation that is using an AnimBP Change 3865117 by Max.Chen Sequencer: Stop auto scroll on mouse release of movement. #jira UE-31212 Change 3865303 by Max.Chen Sequencer: Add drag and drop transactions #jira UE-54662 Change 3865304 by Max.Chen Sequencer: Fix crash when an actor factory is not found. Change 3865361 by Max.Chen Sequencer: Don't change the camera/shot lock button when popping out of a sequence. #jira UE-54665 Change 3865412 by Max.Chen Sequencer: Determine whether a transform track is for a camera by using the spawned object or template #jira UE-54666 Change 3865685 by Max.Chen Sequencer: Clear autoscrub offset when stopping autoscroll #jira UE-31212 Change 3865886 by Max.Chen Sequence Recorder: Log an error if the number of frames changes while recording. This can happen if the skeleton changes while recording. #jira UE-48715 Change 3866925 by Andrew.Porter MediaFrameworkTest: Changing the current PNG test video image sequence to 1024 x 576 Change 3867705 by andrew.porter QAGame: Adding Audio Sort Sequence to dev folder Change 3867890 by andrew.porter QAGame: Adding a sequence for testing a sorting crash to my dev folder Change 3872628 by Max.Chen Movie Scene Capture: Split delay before warmup into split delay before shot warmup so that there's separate controls for when the movie scene capture warmups up vs. shot boundaries. Change 3873131 by Matt.Hoffman UE-54732 - Crash reordering a folder with a track. This was caused by folders being the only type of track to check if someone was putting a parent track into a child track. Object Binding tracks and Tracks now check as well so that you can't use the above/below drop targets to add parents as children. This also fixed a typo in the localization keys. #jira UE-54732 Change 3873301 by Mike.Zyracki Added ability to support continous euler angle changes when changing rotations, in particularly with the rotation gizmo's. To do this we effectively added a form an of 'euler filter'(https://en.wikipedia.org/wiki/Euler_filter) to find the closest euler angle to the current euler angle. Three functions were added to FRotator to make this possible, one to get the euler angle that's has the same rotation as it, one to get the difference between two euler angles via Manhattan distance and a third using the previous two to choose a Rotator value that's closest to it. We then use these functions before calling UComponent::SetRelativeRotation to make sure we use the correct Euler after the Quat conversion. We also no longer limit(bound) the euler angles to -180,180, which is obviously necessary to avoid flips. I also changed how we caluclate yaw and roll when pitch is -90 or 90 to make it the standard approach of zeroing out roll and just setting yaw. Main reasons are the previous implementation had precision issues so things like 180, 90, -180 would show up due to numbers being nearly zero but negative,(this would break any smooth interpolations), and this facilitates having a 'gimbal' rotation mode (like Maya, Blender etc..) if we ever want that also. If needed we could keep the previous implementation but would need to add some FMath::IsNearlyZero checks, with less performance. Note we only do this special filtering when applying delta's to actors or components in the editors, which then call UComponent::SetRelativeRotationExact, which is a new function to foces the RelativeRotation to be equal to the new rotation. This allows us to store un-nomalized Rotators at the cost that the RotationCache may be broken. We didn't change any of the other UComponent functions that set rotations (via Quats or Transforms) so they will still be bounded and unwound. In SetInternalWorldLocationAndRotation we only set the rotation if the rotation has changed, which fixes the rotation getting changed and re-normalized if just translate happens. In TransformTrackEditor, we correclty use the bUndwing flag and in MovieScene3DTransformSection there was an un-needed winding check there, it will be unwound earlier if needed, which happens if Sequence Recording is happening. Max we should talk about what to do about this . Note the euler angle drag via the widget is still bound to 0-360. I think we should just unbound that now since the rotations value are now unbound. This review now includes fixes suggested by Zak. #jira UE-UE-22228 Change 3873483 by Matt.Hoffman Sequencer Tracks can now be inserted above the spacer at the bottom of the tree. #jira UE-54706 Change 3873899 by Max.Chen Sequencer: Add section selection throbbing Change 3873908 by Max.Chen Movie Scene Capture: Added logging per frame Change 3873924 by Matt.Hoffman Adds the ability to store Sequence Recorder setups into profiles that stay with the map and can be re-loaded later. Profiles store the Actor Recordings so the settings for each actor should carry with them. #jira UESEQ-339 Change 3874726 by Matt.Hoffman Disable drag-and-drop targets on spacers that come between rows in Sequencer. This prevents extra drag/drop targets showing up between each row. #jira UE-54706 Change 3874862 by Matt.Hoffman Audio Track no longer gets reordered when adding sub-audio tracks, as sub-tracks are no longer counted towards the sorting order index when normalizing indexes. #jira UE-54727 Change 3875905 by Matt.Hoffman Disable Fade Track UI if a fade track already exists in the sequence. #jira UESEQ-393 Change 3876163 by Max.Chen Sequencer: Swap the camera object to the camera component's owner if it's not the same. #jira UE-54874 Change 3876971 by Andrew.Porter EngineTest: Moved Media Player Seek test to new folder. Also enabled the test with new ground truth image. Change 3877040 by Max.Chen Cine Camera: Split camera properties to two groups, "Camera Options" and "Camera Settings". The cine camera now hides properties in the "Camera Settings" group so that properties like bConstrainAspectRatio (in the "Camera Options" group) can be visible. #jira UE-54192 Change 3877763 by Max.Chen Curve Editor: Fix curve changed on end drag so that only curves that had keys/tangents that were changed receive notification, otherwise all loaded curves were getting notified that they were changed. #jira UE-54951 Change 3878234 by Matt.Hoffman Disable "Drop Below" targets for Sequencer Tree nodes to prevent a confusing UX issue where dropping underneath a Object Binding Node puts it after the object binding node but the UI looks like it's inserting it inside the Object Binding node. #jira UE-54743 Change 3879359 by Mike.Zyracki If a track is inactive we dim it a bit which seems to be the UE4 way to show inactive or disabled state. We changed the active logic so that all subtracks need to be inactive for the track to also be inactive(instead of all active for active). This conforms to how the active state actually works, e.g if you have two sections and only one is active the track is still active above it. #jira UESEQ-388 Change 3879462 by Max.Chen Sequencer: Allow dragging onto a particular row which would move out any overlapping sections to make space for the newly created section. Newly created sections are now selected and throbbed to draw attention to themselves. #jira UE-54664 Change 3879464 by Max.Chen Sequencer: Fixed overlapping ranges being inserted into the evaluation field during compilation - The issue was that track segments that had been combined with adjacent segments (due to them being identical) would potentially cause a subsequently compiled frame to overlap with a range that had already been inserted into the evaluation field. - The insertion code previously asserted that only minor overlaps were catered for (due to fp rounding errors) and assumed that a supplied range could not entirely contain any other range in the field. - The solution is to supply the insertion time along with the range to know exactly where the data should live in the field, and crop the range to the maximum allowable space between adjacent ranges. #jira UE-54922 Change 3879590 by Matt.Hoffman Items that are now added to the Sequencer via the "+Track" menu will be selected after being added. Items can now be added inside of folders instead of just to the root level. #jira UE-27397 Change 3879612 by Mike.Zyracki Display Nodes with no children are always active. #jira UESEQ-388 Change 3879730 by Matt.Hoffman Sequence Recorder's actor recording groups now remove items from the group when removed via the UI. #jira UESEQ-339 Change 3880256 by Mike.Zyracki Fix issue with inactive display with folders and other track nodes. #jira UESEQ-388 Change 3883491 by Max.Chen Fix issue where tick is skipped due to last ticked pose isn't cleared after AnimInstance changes. Copy from Release-4.19 #jira UE-51323 Change 3883603 by Max.Chen Movie Scene Capture: Add option toggle disable screen percentage. By default this is on (no change in current behavior). #jira UE-51898 Change 3885074 by Max.Preussner MediaCompositing: Resetting media texture & freeing resource on section end; removed dead code Change 3887220 by Max.Preussner MediaCompositing: Defaulted media section duration to 1 sec (since we do not know the actual duration in most cases) Change 3887478 by Matt.Hoffman Sequences now show [Inactive] in their title bars when they're disabled. This helps communicate why a sequence isn't being evaluated. #jira UE-51469 Change 3888985 by Max.Chen Movie Scene Capture: Clamp HDR Compression Quality between 0 and 1. #jira UE-55136 Change 3893519 by Max.Chen Sequence Recorder: Clarified tooltip for bRecordNearbySpawnedActors - spawned actors will still be recorded if they match the ActorFilter. #jira UE-55238 Change 3893546 by Max.Chen Sequence Recorder: If a selected actor already has a recording, add a blank recording. #jira UE-55239 Change 3894044 by Max.Preussner MediaCompositing: Added support for seeking into a media section Change 3894310 by andrew.porter MediaFrameworkTest: Adding Img media sources for 1080 and 2160 ravent test content Change 3894426 by Max.Preussner MediaAssets: Letting media textures with AutoClear retain their clear color when player is reset Change 3895717 by Max.Chen Sequencer: Null checks to prevent crash when saving the default state of a spawnable #jira UE-55304 Change 3897388 by Max.Chen Sequencer: Don't update current time to be within the view range when stepping into a sequence. #jira UE-55322 Change 3897452 by Max.Chen Audio: Fix crash when trying to record audio without any active capture devices. Log warning if the number of input channels is not 1 or 2. #jira UE-55223 Change 3897619 by Max.Preussner MediaCompositing: Removed commented out code Change 3898072 by Max.Chen Sequencer: Override the animation asset in the player state if it doesn't match the animation asset that's being evaluated. #jira UE-55328 Change 3898272 by Max.Preussner MediaPlayerEditor: Made slate brush constants static Change 3898704 by Max.Chen Sequencer: Skip if the binding id's sequence can't be found. #jira UE-55337 Change 3899855 by Max.Preussner MediaCompositingEditor: Added cache state visualization to media track Change 3900300 by Max.Preussner MediaCompositingEditor: Added loop indicators to media sections Change 3900694 by Max.Preussner ImfMedia: Looping cache only when player is looping Change 3900892 by Max.Preussner Stats: Added stats category for media framework Change 3900954 by Max.Preussner MediaCompositing: Don't evaluate at the end of media section Change 3901348 by Max.Preussner Core: Replaced TLruCache autos for better readability Change 3901655 by Max.Preussner ImgMedia: Added more perf stats to EXR reader Change 3901972 by Max.Preussner MediaAssets: Added getter for media player in media sound components Change 3902233 by Max.Preussner MediaAssets: Enabling media textures to receive samples right after player is assigned Change 3902238 by Max.Preussner MediaCompositing: Working around init/shutdown idiosyncracies in sequencer Change 3904045 by Max.Chen Sequencer: Fix copy/paste crash. Only process UMovieSceneCopyableBinding and objects that can be spawned by the movie scene spawn register. #jira UE-55314 Change 3905605 by Max.Chen Sequencer: Restrict spawnables from being created if they have a ClassWithin that UMovieScene is not a child of. #jira UE-55429 Change 3906550 by Max.Chen Sequencer: Add media track icon #jira UE-55480 Change 3907101 by Max.Chen Sequence Recorder: Fix bugs related to not recording a level sequence. There were certain assumptions that creating a level sequence meant that sequence recording was in progress. This is not always the case - the recorders can record animation assets and not create a level sequence. Changed the notion of IsRecording() to having at least one actor recording that is recording. Countdown timer, recording displays, etc should function if IsRecording() and not based on whether a level sequence is created. #jira UE-55485 Change 3907247 by Max.Chen Sequence Recorder: Fix crash not removing PrepareToCleanseEditorObject delegate. Repros when opening sequence recorder, closing it, and then opening or creating a level. Change 3910343 by Max.Preussner Core: Added async helper for executing functions on a given thread pool Change 3910346 by Max.Preussner ImgMedia: Added separate thread pools for loading/decoding and deleting image frames Change 3910829 by Max.Preussner Profiler: Increased visible range of profiler graph Change 3910841 by Max.Preussner MediaCompositing: Displaying asset name instead of full media source path in media section Change 3910870 by Max.Preussner ImgMedia: Using deallocation thread pool only in debug builds Change 3919642 by Max.Chen Sequence Recorder: Clarify active tooltip #jira UE-55661 Change 3919660 by Max.Chen Sequencer: Sequence template source signatures are now also compared to catch the case where a sub-sequence asset has been saved but not modified - The following sequence of events exposes this issue: - Create a master sequence with a single shot that spawns a cube - Add this sequence to a level and set it to auto-play - Save everything and restart - Resave just the inner shot asset without opening it - PIE - The inner shot never spawns its cube because its template was wiped on save, but its signature never changed. Since the master sequence previously didn't check the template source signature, it ends up trying to evaluate an empty template. #jira UE-55626 #jira UE-55490 Change 3921825 by Max.Chen Sequencer: "Run Construction Script in Sequencer" is off by default for blueprints but on for Sequencer. This allows the content author to switch it on for specific blueprints and sequencer will be default, run those with construction scripts enabled. Change 3922232 by Max.Chen Sequence Recorder: Reset countdelay on stop. #jira UE-55755 Change 3922306 by Max.Chen Sequence Recorder: Don't automatically mark transforms to be recorded by sequence recorder. Instead, log a warning if the user toggled it off to warn that the resulting animation might not match gameplay. #jira UE-55758 Change 3922912 by Max.Chen Sequence Recorder: Fix refresh next sequence name #jira UE-55757 Change 3927654 by Max.Chen Movie Scene Capture: Added format mapping for the name of the current camera #jira UE-55769 PR #4537 Change 3927658 by Max.Chen Sequencer: Added fbx property mapping for "FocusDistance" to "FocusSettings.ManualFocusDistance" #jira UE-55782 Change 3932022 by Max.Chen Sequencer: Add import animation track section to next available row index. #jira UE-55892 Change 3933919 by Max.Chen Sequencer: Jump to playback start frame and not 0 to start playback for recording. #jira UE-55933 Change 3934307 by Andrew.Rodham Sequencer: Add template signature that is re-generated every time the base template is regenerated, which invalidates evaluation fields This fixes an issue where the same sequence is instantiated multiple times in a sequence. If the source sequence was saved, its template would be wiped, which would invalidate the template ID When an instance tries to evaluate the master template, it would only invalidate a range in the evaluation field that was the hull of any invalid sub sequences overlapping the current time, potentially leaving invalid data in the evaluation field at positions later (or earlier) on in the sequence When the sub template was re-generated, it receives the same SequenceSignature as it had before (because the sequence hasn't actually changed), which causes the stale evaluation field data to fail the IsDirty check (because the sequence is the same as it thought, but the *template* has changed) This has been addressed be adding a signature to templates themselves, and checking both the template signature and sequence signature as a part of the IsDirty check. This ensures that we regenerate if either the template, or the sequence have changed. #jira UE-55934 Change 3936327 by Andrew.Rodham Sequencer: Removed increment when trimming right UMovieSceneSection::TrimSection already explicity assigns an exclusive bound to the time passed in. The new behavior means we can trim a section to the right, and insert another section without changing the time to create adjacent sections. #jira UE-42652 Change 3936328 by Andrew.Rodham Fixed KeyFrameManipulator assignment operators and copy/move constructors - These types are potentially self-referential so cannot use default constructors/assignment Change 3936330 by Andrew.Rodham Converted UMGSequencePlayer to use frames internally #jira UE-54878 Change 3936726 by Max.Chen Sequencer: Set track node as the parent of the key area node. The key area switcher needs the object binding id from the parent object binding node. Without this, the binding to the external value fails. #jira UE-55931 Change 3936775 by Max.Chen Sequencer: Should stop or loop should compare DurationFrames with Current Time from StartTime. The bug is that if you set 30 warmup frames in movie rendering for a range of 0-100, the FrameRange will be starting at -30 and have a duration of 130. Without this fix, the playback will continue until frame 130, rather than 100. #jira UE-55933 Change 3936935 by Matt.Hoffman Easing Curves are now represented in Play Rate resolution instead of internal resolution. #jira UE-55937 Change 3937069 by Matt.Hoffman Users can toggle if the is infinite on each side, limited by which tracks support infinite ranges. #jira UE-55891 Change 3937516 by Max.Preussner ImgMedia: Added support for single-threaded platforms #jira UE-55986 Change 3937826 by Max.Preussner MediaAssets: Disabling media sound components on HTML5 if AudioMixer is not enabled Change 3937997 by Max.Chen Curve Editor: Add Zoom to Fit Curves so that selected curves from Sequencer can be focused on. Tested that undo doesn't re-zoom. #jira UE-55935 Change 3938000 by Max.Chen Sequencer: Stop all sounds before generating audio waveforms. #jira UE-55951 Change 3938376 by Max.Preussner XGEController: Disabled XGE Controller in single-threaded apps to prevent crash Change 3938444 by Max.Preussner Core: Added async support for single-threaded applications Change 3938445 by Max.Preussner Networking: Added support for single-threaded applications in UDP socket sender/receiver Change 3938447 by Max.Preussner Messaging: Added support for single-threaded applications Change 3939432 by Max.Chen Sequence Recorder: Append command list to global level editor actions so that shortcuts are accessible in level editor. #jira UE-55798 Change 3940229 by Andrew.Rodham Added prospective display rate upgrade to UMovieScene::PostLoad - There was previously some very odd behaviour that would assign the fixed frame interval only when a sub sequence was focused in SSequencer. This meant that many sequences could have a frame interval of 0 set in the data. - Under the old method of snap interval display this would have fallen back to getting the display interval from the sequencer settings, but we no longer look at these. - The USequencerSettings properties have been removed and in their place, a prospective data upgrade for sequences that have a fixed frame interval old 0fps that sets the play rate to the previous defaults based off the old USequencerSettings defaults. - This could end up 'changing' the display rate for sequences where the user has changed the snap interval in the settings for a particular sequence editor, but there's not much we can do about that given we don't have access to the USequencerSettings classes in UMovieScene #jira UE-55919 Change 3940277 by Andrew.Rodham Sequencer: Added ability to default frame resolutions and play rates for newly created actor sequences Change 3940378 by Andrew.Rodham Sequencer: Post move import dialog now defaults to the playback framerate of the sequence, and floors to frame numbers Change 3940559 by Andrew.Rodham Reinstated primed or recording sequence color Change 3940642 by Max.Preussner ImagePlate: Removed image plate media playback functionality Change 3940843 by Max.Preussner Core: Made TCircularQueue actually thread-safe; improved code comments Change 3940860 by Max.Chen Sequencer: Changed StructNameToKey to StructPathToKey Previously, keying a PropertyPath of [RenderTransform][Shear][X] would get trimmed to X, which doesn't map to a channel name as considered by Sequencer2dTransformTrackEditor. Instead, trim the resulting property path to [Shear][X] so that track editors can determine the desired struct path and channels to key. #jira UE-52966 Change 3941292 by Mike.Zyracki Fix for trajectories out of range not showing up. 1) If we had no key data we would pop the time, so wouldn't get the section ranges. 2) Calculating of upper bound was wrong, checking against -1 and not key == num of keys when doing algo::lower_bound. 3) No need to do the Bck-- for the bakward iterators since we fixed #2. We start now from the upper bound correctly. 4) If we had no keys (at section start,end) we would incorrectly say we were any key type, so since we draw constant keys as dashed we would do so incorrectly around section end points. #jira UE-55929 Change 3941424 by Max.Chen Curve Editor: Change Zoom to Fit to use TArrayView Change 3941498 by Max.Preussner Core: Added FMath::DivideAndRoundNearest function Change 3942097 by Matt.Hoffman Drop Frame Timecode Support for NTSC rates. Change 3942104 by Matt.Hoffman Sequence Recorder Group is no longer visible inside the World Outliner after using one. #jira 55266 Change 3942107 by Max.Chen Sequencer: Resurrect logic to find or extend an existing section when adding keys. Change 3942330 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942339 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942507 by Andrew.Rodham Sequencer: We no longer pad the time overlap threshold with a small number that is not scaled by the current zoom level - The presence of this pad was causing keys that were far apart to be grouped when zoomed in a long way Change 3942509 by Andrew.Rodham Sequencer: Only pad total view range, rather than section range as well when retrieving keys to render - This stops us from rendering keys that are within the view range, but outside the section range Change 3942512 by Andrew.Rodham Added transactions to some sequencer details customizations Change 3942513 by Andrew.Rodham Sequencer: Reinstated validation checks to UMovieSceneSection::SetStartFrame and SetEndFrame, changed erroneous uses to use SetRange Change 3942560 by Andrew.Rodham Pass by rvalue reference to appease error C2719 on Win32 ('InChannels': formal parameter with requested alignment of 8 won't be aligned) Change 3942697 by Andrew.Rodham Newly Created Level Sequences and Actor Sequences now default to 24000 fps frame resolution (+/- ~24hrs range, supporting all integer rates + 23.976) Change 3942700 by Andrew.Rodham Sequencer: Added legacy out-of-bounds errors for times that are not supported by the current legacy upgrade frame resolution Change 3942989 by Max.Preussner Core: Fixed circular queue count calculation Change 3943538 by Max.Preussner MediaAssets: Reverted workaround for procedural audio log spam in HTML5 (Actor component initialization cannot be skipped if the component is used in a level) Change 3944071 by Max.Preussner QAGame: Fixed Media Texture keeps last frame of Media when PIE ends #jira UE-53360 Change 3944292 by Max.Chen Sequencer: Added extra flags to ensure that asset initialization does not occur on template actor sequences #jira UE-56113 Change 3944364 by Max.Chen Sequencer: Prevent circular shot/master tracks. Tested adding master -> child -> master as drag and drop cinematic shot tracks and sub tracks as well as through the + button. #jira UE-56091 Change 3944422 by Max.Chen Sequence Recorder: Disable transform recording if off. #jira UE-56061 Change 3944745 by Andrew.Rodham Sequencer: Key rendering fixes - Fixed assert that occured when keys happened to reside on some times due to KeyTime + TimeOverlapThreshold - KeyTime being slightly larger TimeOverlapThreshold - Fixed keys sometimes being clipped when zoomed right in due to lack of half-frame offset - Added missing documentation to MovieSceneTimeHelpers.h #jira UE-56107 Change 3945231 by Andrew.Rodham Sequencer: Reconstruct channel proxy on Serialize to catch all cases of undo/redo, PostLoad and duplication #jira UE-56089 Change 3945301 by Andrew.Rodham Sequencer: Added safety checks during initial sequence recording to guard against applying negative or 0-sized sequence ranges #jira UE-56125 Change 3946627 by Max.Preussner Fortnite: Fixed game crashes closing editor while in PIE - Pure virtual function being called #jira UE-56144 [CL 3946896 by Max Chen in Main branch]
2018-03-14 22:09:33 -04:00
bool FSequencerTimeSliderController::HitTestRangeEnd(const FScrubRangeToScreen& RangeToScreen, const TRange<double>& Range, float HitPixel) const
{
Copying //UE4/Release-Staging-4.12 to //UE4/Dev-Main (Source: //UE4/Release-4.12 @ 2955635) ========================== MAJOR FEATURES + CHANGES ========================== Change 2955635 on 2016/04/26 by Max.Chen Sequencer: Fix filtering so that folders that contain filtered nodes will also appear. #jira UE-28213 Change 2955617 on 2016/04/25 by Dmitriy.Dyomin Better fix for: Post processing rendering artifacts Nexus 6 this device on Android 5.0.1 does not support BGRA8888 texture as a color attachment #jira: UE-24067 Change 2955522 on 2016/04/25 by Max.Chen Sequencer: Fix crash when resolving object guid and context is null. #jira UE-29916 Change 2955504 on 2016/04/25 by Alexis.Matte #jira UE-29926 Fix build error for SplineComponent. I just move variable under #if !UE_BUILD_SHIPPING instead #if WITH_EDITORONLY_DATA to fix all build flavor, please feel free to adjust according to what the initial fix was suppose to do. Change 2955500 on 2016/04/25 by Dan.Oconnor Integration of 2955445 from Dev-BP #jira UE-29012 Change 2955234 on 2016/04/25 by Lina.Halper Fixed tool tip of twist node #jira : UE-29907 Change 2955211 on 2016/04/25 by Ben.Marsh Exclude all plugins which aren't required for a project (ie. don't have any content or modules for the current target) from its target receipt. Prevents dependencies on .uplugin files whose dependencies are otherwise compiled out. Re-enable PS4Media plugin by default. #jira UE-29842 Change 2955155 on 2016/04/25 by Jamie.Dale Fixed an issue where text committed via a focus loss might not display the correct text if it was changed during commit #jira UE-28756 Change 2955144 on 2016/04/25 by Jamie.Dale Fixed a case where editable text controls would fail to select their text when focused There was an order of operations issue between the options to select all text and move the cursor to the end of the document, which caused the cursor move to happen after the select all, and undo the selection. The order of these operations has now been flipped. #jira UE-29818 #jira UE-29772 Change 2955136 on 2016/04/25 by Chad.Taylor Merging to 4.12: Morpheus latency fix. Late update tracking frame was getting unnecessarily buffered an extra frame on the RHI thread. Removed buffering and the issue is fixed. #jira UE-22581 Change 2955134 on 2016/04/25 by Lina.Halper Removed code that blocks moving actor when they don't have physics asset #jira : UE-29796 #code review: Benn.Gallagher Change 2955130 on 2016/04/25 by Zak.Middleton #ue4 - (4.12) Don't reject low distance MTD, it could cause us to not process some valid overlaps. (copy of 2955001 in Main) #jira UE-29531 #lockdown Nick.Penwarden Change 2955098 on 2016/04/25 by Marc.Audy Don't spawn a child actor on the client if the server is going to have created one and be replicating it to the client #jira UE-7539 Change 2955049 on 2016/04/25 by Richard.TalbotWatkin Changes to how SplineComponents debug render. Added a SetDrawDebug method to control whether a spline is rendered. Also extended the facility to non-editor builds. #jira UE-29753 - Add ability to display a SplineComponent in-game Change 2955040 on 2016/04/25 by Chris.Gagnon Fixed Initializer Order Warning in hot reload ctor. #jira UE-28811, UE-28960 Change 2954995 on 2016/04/25 by Marc.Audy Make USceneComponent::Pre/PostNetReceive and PostRepNotifies protected instead of private so that subclasses can implement replication behaviors #jira UE-29909 Change 2954970 on 2016/04/25 by Peter.Sauerbrei fix for openwrite with O_APPEND flag #jira UE-28417 Change 2954917 on 2016/04/25 by Chris.Gagnon Moved a desired change from Main to 4.12 Added input settings to: - control if the viewport locks the mouse on acquire capture. - control if the viewport acquires capture on the application launch (first window activate). #jira UE-28811, UE-28960 parity with 4.11 (UE-28811, UE-28960 would be reintroduced without this) Change 2954908 on 2016/04/25 by Alexis.Matte #jira UE-29478 Prevent modal dialog to use 100% of a core Change 2954888 on 2016/04/25 by Marcus.Wassmer Fix compile issue with chinese locale #jira UE-29708 Change 2954813 on 2016/04/25 by Lina.Halper Fix when not re-validating the correct asset #jira : UE-29789 #code review: Martin.Wilson Change 2954810 on 2016/04/25 by mason.seay Updated map to improve coverage #jira UE-29618 Change 2954785 on 2016/04/25 by Max.Chen Sequencer: Always spawn sequencer spawnables. Disregard collision settings. #jira UE-29825 Change 2954781 on 2016/04/25 by mason.seay Test map for Audio Occlusion trace channels #jira UE-29618 Change 2954684 on 2016/04/25 by Marc.Audy Add GetIsReplicated accessor to AActor Deprecate specific GameplayAbility class implementations that was exposing bReplicates #jira UE-29897 Change 2954675 on 2016/04/25 by Alexis.Matte #jira UE-25430 Light Intensity value in FBX is a ratio. So I just multiply the default intensity value by the ratio to have something closer to the look in the DCCs Change 2954669 on 2016/04/25 by Alexis.Matte #jira UE-29507 Import of rigid mesh animation is broken Change 2954579 on 2016/04/25 by Ben.Marsh Temporarily stop the PS4Media plugin being enabled by default, so the UE4Game built for the binary release doesn't depend on it. Will implement whitelist/blacklist for platforms later. #jira UE-29842 Change 2954556 on 2016/04/25 by Taizyd.Korambayil #jira UE-29877 Setup ThirdPersonCharacter based on correct Code Class Change 2954552 on 2016/04/25 by Taizyd.Korambayil #jira UE-29877 Deleting BP class Change 2954498 on 2016/04/25 by Ryan.Gerleve Fix for remote player controllers reporting that they're actually local player controllers after a seamless travel on the server. Transition actors to the new level in a second pass after non-transitioning actors are handled. #jira UE-29213 Change 2954446 on 2016/04/25 by Max.Chen Sequencer: Fixed spawning actors with instance or multiple owned components - Also fixed issue where recorded actors were sometimes set as transient, meaning they didn't get saved #jira UE-29774, UE-29859 Change 2954430 on 2016/04/25 by Marc.Audy Don't schedule a tick function with a tick interval that was disabled while it was pending rescheduling #jira UE-29118 #jira UE-29747 Change 2954292 on 2016/04/25 by Richard.TalbotWatkin Replicated from //UE4/Dev-Editor CL 2946363 (by Frank.Fella) CurveEditorViewportClient - Bounds check when box selecting. Prevents crashing when the box is outside the viewport. #jira UE-29265 - Crash when drag selecting curve keys in matinee Change 2954262 on 2016/04/25 by Graeme.Thornton Fixed a editor crash when destroying linkers half way through a package EndLoad #jira UE-29437 Change 2954239 on 2016/04/25 by Marc.Audy Fix error message #jira UE-00000 Change 2954177 on 2016/04/25 by Dmitriy.Dyomin Fixed: Hidden surface removal is not enabled on PowerVR Android devices #jira UE-29871 Change 2954026 on 2016/04/24 by Josh.Adams [Somehow most files got unchecked in my previous checkin, grr] - ProtoStar content/config updates (enabled TAA in the levels, disabled es2 shaders, hides the Unbuilt lighting warning on Android) #lockdown nick.penwarden #jira UE-29863 Change 2954025 on 2016/04/24 by Josh.Adams - ProtoStar content/config updates (enabled TAA in the levels, disabled es2 shaders, hides the Unbuilt lighting warning on Android) #lockdown nick.penwarden #jira UE-29863 Change 2953946 on 2016/04/24 by Max.Chen Sequencer: Fix crash on undo of a sub section. #jira UE-29856 Change 2953898 on 2016/04/23 by mitchell.wilson #jira UE-29618 Adding subscene_001 sequence for nonlinear workflow testing Change 2953859 on 2016/04/23 by Maciej.Mroz Merged from Dev-Blueprints 2953858 #jira UE-29790 Editor crashes when opening KiteDemo Change 2953764 on 2016/04/23 by Max.Chen Sequencer: Remove "Experimental" tag on the Level Sequence Actor #jira UETOOl-625 Change 2953763 on 2016/04/23 by Max.Chen Cinematics: Change text to "Edit Existing Cinematics" #jira UE-29102 Change 2953762 on 2016/04/23 by Max.Chen Sequencer: Follow up time slider hit testing fix. Don't hit test the selection range if it's empty. This was causing false positives when hovering close to the ranges. #jira UE-29658 Change 2953652 on 2016/04/22 by Rolando.Caloca UE4.12 - vk - Workaround driver bugs wrt texture format caps #jira UE-28140 Change 2953596 on 2016/04/22 by Marcus.Wassmer #jira UE-20276 Merging dual normal clearcoat shading model. 2863683 2871229 2876362 2876573 2884007 2901595 Change 2953594 on 2016/04/22 by Chris.Babcock Disable crash handler for VulkanRHI on Android to prevent sig11 on loading driver #jira UE-29851 #ue4 #android Change 2953520 on 2016/04/22 by Rolando.Caloca UE4.12 - vk - Enable deferred resource deletion - Added one resource heap per memory type - Improved DumpMemory() - Added ensures for missing format features #jira UE-28140 Change 2953459 on 2016/04/22 by Taizyd.Korambayil #jira UE-29748 Resaved Maps to Fix EC Build Warnings #jira UE-29744 Change 2953448 on 2016/04/22 by Ryan.Gerleve Fix Mac/Linux compile. #jira UE-29545 Change 2953311 on 2016/04/22 by Ryan.Gerleve Fix for infinite hang when loading a replay from within an actor tick while demo.AsyncLoadWorld is false. LoadMap for the replay is now deferred using the existing PendingNetGame mechanism. Added virtual UPendingNetGame::LoadMapCompleted function so that the base PendingNetGame and DemoPendingNetGame can have different behavior. To keep things simpler, also parse all replay metadata and streaming levels after the LoadMap call. #jira UE-29545 Change 2953219 on 2016/04/22 by mason.seay Test map for show collision features #jira UE-29618 Change 2953199 on 2016/04/22 by Phillip.Kavan [UE-29449] Fix InitProperties() optimization for Blueprint class instances when array property values differ in size. change summary: - improved UBlueprintGeneratedClass::BuildCustomArrayPropertyListForPostConstruction() by continuing to emit only delta entries for array values that exceed the default array value's size; previously we emitted a NULL in this case to signal a need to initialize all remaining array values in InitProperties(), even if they didn't differ from the default value of the inner property (which in most cases would already have been set at construction time, and thus potentially incurred a redundant copy iteration for each entry) - modified FObjectInitializer::InitArrayPropertyFromCustomList() to no longer reset the array value on the instance prior to initialization - added code to properly resize the array on the instance prior to initialization (if it differs in size from the default array value) - removed code that handled a NULL property value in the custom property list stream (this is no longer necessary, see above) - modified FObjectInitializer::InitProperties() to restore the post-construction optimization for Blueprint class instances (back to being enabled by default) #jira UE-29449 Change 2953195 on 2016/04/22 by Max.Chen Sequencer: Fix crash in actor reference track in the cached guid to actor map. #jira UE-27523 Change 2953124 on 2016/04/22 by Rolando.Caloca UE4.12 - vk - Increase temp frame buffer #jira UE-28140 Change 2953121 on 2016/04/22 by Chris.Babcock Rebuilt lighting for all levels #jira UE-29809 Change 2953073 on 2016/04/22 by mason.seay Test assets for notifies in animation composites and montages #jira UE-29618 Change 2952960 on 2016/04/22 by Richard.TalbotWatkin Changed eye dropper operation so that LMB click selects a color, and pressing Esc cancels the selection and restores the old color. #jira UE-28410 - Eye dropper selects color without clicking Change 2952934 on 2016/04/22 by Allan.Bentham Ensure pool's refractive index >= 1 #jira UE-29777 Change 2952881 on 2016/04/22 by Jamie.Dale Better fix for UE-28560 that doesn't regress thumbnail rendering We now just silence the warning if dealing with an inactive world. #jira UE-28560 Change 2952867 on 2016/04/22 by Thomas.Sarkanen Fix issues with matinee-controlled anim instances Regression caused by us no longer saving off the anim sequence between updates. #jira UE-29812 - Protostar Neutrino spawns but does not Animate or move. Change 2952826 on 2016/04/22 by Maciej.Mroz Merged from Dev-Blueprints 2952820 #jira UE-28895 Nativizing a blueprint project causes the next non-nativizing package attempt to fail Change 2952819 on 2016/04/22 by Josh.Adams - Fixed crash in a Vulkan shader printout #lockdown nick.penwarden #jira UE-29820 Change 2952817 on 2016/04/22 by Rolando.Caloca UE4.12 - vk - Revert back to simple layouts #jira UE-28140 Change 2952792 on 2016/04/22 by Jamie.Dale Removed some code that caused worlds loaded by the Content Browser to be initialized before they were ready Supposedly this code existed for world thumbnail rendering, however only the active editor world generates a thumbnail, so initializing other worlds wasn't having any effect and thumbnails look identical to before. #jira UE-28560 Change 2952783 on 2016/04/22 by Taizyd.Korambayil #jira UE-28477 Resaved Flying Template Map Change 2952767 on 2016/04/22 by Taizyd.Korambayil #jira UE-29736 Resaved Map to Fix EC Warnings Change 2952762 on 2016/04/22 by Allan.Bentham Update reflection capture to contain only room5 content. #jira UE-29777 Change 2952749 on 2016/04/22 by Taizyd.Korambayil #jira UE-29740 Resaved Material and Map to Fix Empty Engine Version Error Change 2952688 on 2016/04/22 by Martin.Wilson Fix for BP notifies not displaying when they derive from an abstract base class #jira UE-28556 Change 2952685 on 2016/04/22 by Thomas.Sarkanen Fix CIS for non-editor builds #jira UE-29308 - Fix crash from GC-ed animation asset Change 2952664 on 2016/04/22 by Thomas.Sarkanen Made up/down behaviour for console history consistent and reverted to old ordering by default Pressing up or down now brings up history. Sorting can now be optionally bottom-to-top or top-to-bottom. Default behaviour is preserved to what it was before the recent changes. #jira UE-29595 - Console autocomplete behavior is non-intuitive / frustrating Change 2952655 on 2016/04/22 by Jamie.Dale Changed the class filter to use an expression evaluator This makes it consistent with the other filters in the editor #jira UE-29811 Change 2952647 on 2016/04/22 by Allan.Bentham Back out changelist 2951539 #jira UE-29777 Change 2952618 on 2016/04/22 by Benn.Gallagher Fixed naming error in rotation multiplier node #jira UE-29583 Change 2952612 on 2016/04/22 by Thomas.Sarkanen Fix garbage collection and undo/redo issues with anim instance proxy UObject-based properties are now cached each update on the proxy and nulled-out outside of evaluate/update phases. Moved some initialization code for CurrentAsset/CurrentVertexAnim from the proxy back to the instance (as its is encapsulated there now). #jira UE-29308 - Fix crash from GC-ed animation asset Change 2952608 on 2016/04/22 by Richard.TalbotWatkin Changed 'Recently Used Levels' and 'Favorite Levels' to hold long package names instead of absolute paths. This means they are now project-relative and will remain valid even if the project location changes. #jira UE-29731 - Editor map recent files are not project relative, leading to missing links when moving projects. Change 2952599 on 2016/04/22 by Dmitriy.Dyomin Disabled vulkan pipeline cache as it causes rendering artifacts right now #jira UE-29807 Change 2952540 on 2016/04/22 by Maciej.Mroz #jira UE-29787 Obsolete nativized files are never removed merged from Dev-Blueprints 2952531 Change 2952372 on 2016/04/21 by Josh.Adams - Fixed Vk memory allocations when reusing free pages #lockdown nick.penwarden #jira ue-29802 Change 2952350 on 2016/04/21 by Eric.Newman Added support for UEReleaseTesting backends to Orion and Ocean #jira op-3640 Change 2952140 on 2016/04/21 by Dan.Oconnor Demoted back to warning to fix regressions in content examples, in main we've added the ability to elevate warnings to errors, but no reason to rush that feature into 4.12 #jira UE-28971 Change 2952135 on 2016/04/21 by Jeff.Farris Fixed issue in PlayerCameraManager where the priority-based sorting of CameraModifiers wasn't sorting properly. Manual re-implementation of CL 2948123 in 4.12 branch. #jira UE-29634 Change 2952121 on 2016/04/21 by Lee.Clark PS4 - 4.12 - Fix staging and deploying of system prxs #jira UE-29801 Change 2952120 on 2016/04/21 by Rolando.Caloca UE4.12 - vk - Move descriptor allocation to BSS #jira UE-21840 Change 2952027 on 2016/04/21 by Rolando.Caloca UE4.12 - vk - Fix descriptor sets lifetimes - Fix crash with null texture #jira UE-28140 Change 2951890 on 2016/04/21 by Eric.Newman Updating locked common dependencies for OrionService #jira OP-3640 Change 2951863 on 2016/04/21 by Eric.Newman Updating locked dependencies for UE 4.12 OrionService #jira OP-3640 Change 2951852 on 2016/04/21 by Owen.Stupka Fixed meteors destruct location #jira UE-29714 Change 2951739 on 2016/04/21 by Max.Chen Sequencer: Follow up for integral keys. #jira UE-29791 Change 2951717 on 2016/04/21 by Rolando.Caloca UE4.12 - Fix shader platform names #jira UE-28140 Change 2951714 on 2016/04/21 by Max.Chen Sequencer: Fix setting a key if it already exists at the current time. #jira UE-29791 Change 2951708 on 2016/04/21 by Rolando.Caloca UE4.12 - vk - Separate upload cmd buffer #jira UE-28140 Change 2951653 on 2016/04/21 by Marc.Audy If a child actor component is destroyed during garbage collection, do not rename, instead clear the caching mechanisms so that a new name is chosen if a new child is created in the future Remove now unused bRenameRequired parameter #jira UE-29612 Change 2951619 on 2016/04/21 by Chris.Babcock Move bCreateRenderStateForHiddenComponents out of WITH_EDITOR #jira UE-29786 #ue4 Change 2951603 on 2016/04/21 by Cody.Albert #jira UE-29785 Revert Github readme page back to original Change 2951599 on 2016/04/21 by Ryan.Gerleve Fix assert when attempting to record a replay when the map has a placed actor that writes replay external data (such as ACharacter) #jira UE-29778 Change 2951558 on 2016/04/21 by Chris.Babcock Always rename destroyed child actor #jira UE-29709 #ue4 Change 2951552 on 2016/04/21 by James.Golding Remove old code for handling 'show collision' in game, uses same method as editor now, fixes hidden meshes showing up in game when doing 'show collision' #jira UE-29303 Change 2951539 on 2016/04/21 by Allan.Bentham Use screenuv for distortion with ES2/31. #jira UE-29777 Change 2951535 on 2016/04/21 by Max.Chen We need to test if the hmd is enabled if it exists. Otherwise, this will return true even if we aren't rendering in stereo if there's an hmd plugin loaded. #jira UE-29711 Change 2951521 on 2016/04/21 by Taizyd.Korambayil #jira UE-29746 Replaced Deprecated Time Handler node in GameLevel_GM Change 2951492 on 2016/04/21 by Jeremiah.Waldron Fix for Android IAP information reporting back incorrectly. #jira UE-29776 Change 2951486 on 2016/04/21 by Taizyd.Korambayil #jira UE-29741 Updated Infiltrator Demo Project to open with the correct Map Change 2951450 on 2016/04/21 by Gareth.Martin Fix non-editor build #jira UE-16525 Change 2951380 on 2016/04/21 by Gareth.Martin Fix Landscape layer blend nodes not updating connections correctly when an input is changed from weight/alpha (one input) to height blend (two inputs) or vice-versa #jira UE-16525 Change 2951357 on 2016/04/21 by Richard.TalbotWatkin Fixed a crash when pushing a new menu leads to a window activation change which would result in the old root menu being dismissed. #jira UE-27981 - [CrashReport] Crash When Attempting to Select Variable Type After Clearing the Name Field Change 2951352 on 2016/04/21 by Richard.TalbotWatkin Added slider bar thickness as a new property in FSliderStyle. #jira UE-19173 - SSlider is not fully stylable Change 2951344 on 2016/04/21 by Gareth.Martin Fix bounds calculation for landscape splines that was causing the first landscape spline point to be invisible and later points to flicker. - Also fixes landscape spline lines not showing up on a flat landscape #jira UE-25114 Change 2951326 on 2016/04/21 by Taizyd.Korambayil #jira UE-28477 Resaving Maps Change 2951271 on 2016/04/21 by Jamie.Dale Fixed a crash when pasting a path containing a class into the asset view of the Content Browser #jira UE-29616 Change 2951237 on 2016/04/21 by Jack.Porter Fix black screen on PC due to planar reflections #jira UE-29664 Change 2951184 on 2016/04/21 by Jamie.Dale Fixed crash in FCurveStructCustomization when no objects were selected for editing #jira UE-29638 Change 2951177 on 2016/04/21 by Ben.Marsh Fix hot reload from IDE failing when project is up to date. UBT returns an exit code of 2, and any non-zero exit code is treated as an error by Visual Studio. Build.bat was not correctly forwarding on the exit code at all prior to CL 2790858. #jira UE-29757 Change 2951171 on 2016/04/21 by Matthew.Griffin Fixed issue with Rebuild not working when installed in Program Files (x86) The brackets seem to cause lots of problems in combination with the if/else ones #jira UE-29648 Change 2951163 on 2016/04/21 by Jamie.Dale Changed the text customization to use the property handle functions to get/set the text value That ensures that it both transacts and notifies correctly. Added new functions to deal with multiple objects selection efficiently with the existing IEditableTextProperty API: - FPropertyHandleBase::SetPerObjectValue - FPropertyHandleBase::GetPerObjectValue - FPropertyHandleBase::GetNumPerObjectValues These replace the need to cache the raw pointers. #jira UE-20223 Change 2951103 on 2016/04/21 by Thomas.Sarkanen Un-deprecated blueprint functions for attachment/detachment Renamed functions to <FuncName> (Deprecated). Hid functions in the BP context menu so new ones cant be added. #jira UE-23216 - "Snap to Target, Keep World Scale" when attaching doesn't work properly if parent is scaled. Change 2951101 on 2016/04/21 by Allan.Bentham Enable mobile HQ DoF #jira UE-29765 Change 2951097 on 2016/04/21 by Thomas.Sarkanen Standalone games now benefit from parallel anim update if possible We now simply use the fact we want root motion to determine if we need to run immediately. #jira UE-29431 - Parallel anim update does not work in non-multiplayer games Change 2951036 on 2016/04/21 by Lee.Clark PS4 - Fix WinDualShock working with VS2015 #jira UE-29088 Change 2951034 on 2016/04/21 by Jack.Porter ProtoStar: Removed content not needed by remaining maps, resaved all content to fix version 0 issues #jira UE-29666 Change 2950995 on 2016/04/21 by Jack.Porter ProtoStar - delete unneeded maps #jira UE-29665 Change 2950787 on 2016/04/20 by Nick.Darnell SuperSearch - Moving the settings object into a seperate plugin to avoid there needing to be a circular dependency between SuperSearch and UnrealEd. #jira UE-29749 #codeview Ben.Marsh Change 2950786 on 2016/04/20 by Nick.Darnell Back out changelist 2950769 - Going to re-enable super search - about to move the settings into a plugin to prevent the circular reference. #jira UE-29749 Change 2950769 on 2016/04/20 by Ben.Marsh Comment out editor integration for super search to fix problems with the circular dependencies breaking hot reload and compiling QAGame in binary release. Change 2950724 on 2016/04/20 by Lina.Halper Support for negative scaling for mirroring - Merging CL 2950718 using //UE4/Dev-Framework_to_//UE4/Release-4.12 #jira: UE-27453 Change 2950293 on 2016/04/20 by andrew.porter Correcting sequencer test content #jira UE-29618 Change 2950283 on 2016/04/20 by Marc.Audy Don't route FlushPressedKeys on PIE shut down #jira UE-28734 Change 2950071 on 2016/04/20 by mason.seay Adjusted translation retargeting on head bone of UE4_Mannequin -Needed for anim bp test. Tested animations and did not see any fallout from change. If there is, it can be reverted. #jira UE-29618 Change 2950049 on 2016/04/20 by Mark.Satterthwaite Undo CL #2949690 and instead on Mac where we want to be able to capture videos of gameplay we just insert an intermediate texture as the back-buffer and use a manual blit to the drawable prior to present. This also changes the code to enforce that the back-buffer render-target should never be nil as the code & Metal API itself assumes that this situation cannot occur but it would appear from continued crashes inside PrepareToDraw that it actually can in the field. This will address another potential cause of UE-29006. #jira UE-29006 #jira UE-29140 Change 2949977 on 2016/04/20 by Max.Chen Sequencer: Add FieldOfView to default tracks for CameraActor. Add FieldOfView to exclusion list for CineCameraActor. #jira UE-29660 Change 2949836 on 2016/04/20 by Gareth.Martin Fix landscape components flickering when perfectly flat (bounds size is 0) - This often happens for newly created landscapes #jira UE-29262 Change 2949768 on 2016/04/20 by Thomas.Sarkanen Moving parent & grouped child actors now does not result in deltas being applied twice Grouping and attachment now interact correctly. Also fixed up according to coding standard. Discovered and proposed by David.Bliss2 (Rocksteady). #jira UE-29233 - Delta applied twice when moving parent and grouped child actors From UDN: https://udn.unrealengine.com/questions/286537/moving-parent-grouped-child-actors-results-in-delt.html Change 2949759 on 2016/04/20 by Thomas.Sarkanen Fix split pins not working as anim graph node inputs Limit surface area of this change by only modifying the anim BP compiler. A better version might be to move the call in the general blueprint compiler but it is riskier. #jira UE-12326 - Splitting a struct in an Anim Blueprint does not work Change 2949739 on 2016/04/20 by Thomas.Sarkanen Fix layered bone per blend accessed from a struct in the fast-path Made sure that the fallback event is always built (logic was still split so if PatchFunctionNamesAndCopyRecordsInto aborted because of some unhandled case if might not have an event to call). Covered struct source->array dest case. Indicator icon is now built from the copy record itself, ensuring it is accurate to actual runtime data. #jira UE-29389 - Fast-Path: Layered Blend per Bone node failing to grab updated values from struct. Change 2949715 on 2016/04/20 by Max.Chen Sequencer: Fix mouse wheel zoom so it defaults to zooming in on the current time/frame. This is a toggleable option in the Editor Preferences (Zoom Position = Current Time or Mouse Position) #jira UE-29661 Change 2949712 on 2016/04/20 by Taizyd.Korambayil #jira UE-28544 adjusted Player crosshair to be centered Change 2949710 on 2016/04/20 by Alexis.Matte #jira UE-29477 Pixel Inspector, UI get polish and adding "scene color" inspect property Change 2949706 on 2016/04/20 by Alexis.Matte #jira UE-29475 #jira UE-29476 Favorite allow all UProperty to be favorite (the FStruct is now supported) Favorite scrollig is auto adjust to avoid scrolling when adding/removing a favorite Change 2949691 on 2016/04/20 by Mark.Satterthwaite Fix typo from previous commit - retain not release... #jira UE-29140 Change 2949690 on 2016/04/20 by Mark.Satterthwaite Double-buffer the Metal viewport's back-buffer so that we can access the contents of the back-buffer after EndDrawingViewport is called until BeginDrawingViewport is called again on this viewport, this makes it possible to capture movies on Metal. #jira UE-29140 Change 2949616 on 2016/04/20 by Marc.Audy 'Merge' latest version of Vulkan from Dev-Rendering to Release-4.12 #jira UE-00000 Change 2949572 on 2016/04/20 by Jamie.Dale Fixed crash undoing a text property changed caused by a null entry in the array #jira UE-20223 Change 2949562 on 2016/04/20 by Alexis.Matte #jira UE-29447 Fix the batch fbx import "not show options" dialog where some option can be different. Change 2949560 on 2016/04/20 by Alexis.Matte #jira UE-28898 Avoid importing multiple static mesh in the same package Change 2949547 on 2016/04/20 by Mark.Satterthwaite You must use STENCIL_COMPONENT_SWIZZLE to access the stencil component of a texture - not all APIs can swizzle it into .g automatically. #jira UE-29672 Change 2949443 on 2016/04/20 by Allan.Bentham Disable sRGB textures when ES31 feature level is set. Only use vk's sRGB formats when feature level > ES3_1 #jira UE-29623 Change 2949428 on 2016/04/20 by Allan.Bentham Back out changelist 2949405 #jira UE-29623 Change 2949405 on 2016/04/20 by Allan.Bentham Disable sRGB textures when ES31 feature level is set. Only use vk's sRGB formats when feature level > ES3_1 #jira UE-29623 Merging using Dev-Mobile_->_Release-4.12 Change 2949391 on 2016/04/20 by Richard.TalbotWatkin PIE with multiple windows now starts focused on Client 1, or the server if not a dedicated server. Added a new virtual call UEditorEngine::OnLoginPIEAllComplete, called when all clients have been successfully logged in when starting PIE. The default behavior is to set focus to the first client. #jira UE-26037 - Cumbersome workflow when running PIE with 2 clients #jira UE-26905 - First client window does not gain focus or mouse control when launching two clients Change 2949389 on 2016/04/20 by Richard.TalbotWatkin Fixed regression which was saving the viewport config settings incorrectly. Viewports are keyed by their layout on the same key as the config key, hence we do not need to prepend the SpecificLayoutString when saving out the config data when iterating through a layout's viewports. #jira UE-29058 - Viewport settings are not saved after shutting down editor Change 2949388 on 2016/04/20 by Richard.TalbotWatkin Change auto-reimport settings so that "Detect Changes on Startup" defaults to true. Also removed the warning of potential unwanted behaviour when working in conjunction with source control; this is no longer necessary now that there is a prompt prior to auto-reimport. #jira UE-29257 - Auto import does not import assets Change 2949203 on 2016/04/19 by Max.Chen Sequencer: Fix spawnables not getting default tracks. #jira UE-29644 Change 2949202 on 2016/04/19 by Max.Chen Sequencer: Fix particles not firing on loop. #jira UE-27881 Change 2949201 on 2016/04/19 by Max.Chen Sequencer: Fix multiple labels support #jira UE-26812 Change 2949200 on 2016/04/19 by Max.Chen Sequencer: Expose settings sequencer settings in the Editor Preferences page. Note, UMG and Niagara have separate sequencer settings pages. #jira UE-29516 Change 2949197 on 2016/04/19 by Max.Chen Sequencer: Fix unwind rotation when keying rotation so that rotations are always set to the nearest. #jira UE-22228 Change 2949196 on 2016/04/19 by Max.Chen Sequencer: Disable selection range drawing if it's empty so that playback range dragging can take precedence when they overlap. This fixes a bug where you can't drag the starting playback range when sequencer starts up. #jira UE-29657 Change 2949195 on 2016/04/19 by Max.Chen MovieSceneCapture: Default image compression quality to 100 (rather than 75). #jira UE-29657 Change 2949194 on 2016/04/19 by Max.Chen Sequencer: Matinee to Level Sequence fix for mapping properties correctly. This fixes focus distance not getting set properly on the conversion. #jira UETOOL-467 Change 2949193 on 2016/04/19 by Max.Chen Sequencer - Fix issues with level visibility. + Don't mark sub-levels as dirty when the track evaluates. + Fix an issue where sequencer gets into a refresh loop because drawing thumbnails causes levels to be added which was rebuilding the tree, which was redrawing thumbnails. + Null check for when an objects world is null but the track is still evaluating. + Remove UnrealEd references. #jira UE-25668 Change 2948990 on 2016/04/19 by Aaron.McLeran #jira UE-29654 FadeIn invalidates Audio Components in 4.11 Change 2948890 on 2016/04/19 by Jamie.Dale Downgraded an assert in SPathView::LoadSettings to avoid a common crash when a saved path no longer exists #jira UE-28858 Change 2948860 on 2016/04/19 by Mike.Beach Mirroring CL 2940334 (from Dev-Blueprints): Bettering CreateEvent node errors, so users are able to recover from API changes (not clearing the function name field, calling out the function by name in the error, etc.) #jira UE-28911 Change 2948857 on 2016/04/19 by Jamie.Dale Added an Asset Localization context menu to the Content Browser This allows you to create, edit, and view localized assets from any source asset, as well as edit and view source assets from any localized asset. #jira UE-29493 Change 2948854 on 2016/04/19 by Jamie.Dale UAT now stages all project translation targets #jira UE-20248 Change 2948831 on 2016/04/19 by Mike.Beach Mirroring CL 2945994 (from Dev-Blueprints): Pasting EdGraphNodes will no longer query sub-nodes for compatibility if the root cannot be pasted (for things like collapsed graphs, and anim state-machine nodes). #jira UE-29035 Change 2948825 on 2016/04/19 by Jamie.Dale Fixed shadow warning #jira UE-29212 Change 2948812 on 2016/04/19 by Marc.Audy Gracefully handle failure to load configurable engine classes #jira UE-26527 Change 2948791 on 2016/04/19 by Jamie.Dale Fixed regression in SEditableText bIsCaretMovedWhenGainFocus when using auto-complete Fixed regression in FSlateEditableTextLayout::SetText that caused it to call OnTextChanged when nothing had changed #jira UE-29494 #jira UE-28886 Change 2948761 on 2016/04/19 by Jamie.Dale Sub-fonts are now only used when they contain the character to be rendered #jira UE-29212 Change 2948718 on 2016/04/19 by Jamie.Dale Fixed an issue where FEnginePackageLocalizationCache could be initialized before CoreUObject was ready This is now done lazily, either when the first CDO tries to load an asset (which is after CoreUObject is ready), or after the first call to ProcessNewlyLoadedUObjects (if no CDO loads an asset). #jira UE-29649 Change 2948717 on 2016/04/19 by Jamie.Dale Removed the AssetRegistry's dependency on MessageLog It was only there to add a category that was only ever used by the AssetTools module. #jira UE-29649 Change 2948683 on 2016/04/19 by Phillip.Kavan [UE-18419] Fix GetClassDefaults nodes to update properly in response to structural BP class changes. change summary: - modified UK2Node_GetClassDefaults::CreateOutputPins() to bind/unbind delegate handlers for the OnChanged() & OnCompile() events for BP class types. #jira UE-18419 Change 2948681 on 2016/04/19 by Phillip.Kavan [UE-17794] The "Delete Unused Variable" feature now considers the GetClassDefaults node as well. change summary: - added external linkage to UK2Node_GetClassDefaults::FindClassPin(). - added an include for the K2Node_GetClassDefaults header file to BlueprintGraphDefinitions.h. - added UK2Node_GetClassDefaults::GetInputClass() as a public API w/ external linkage; moved default 'nullptr' param logic into this impl. - modified FBlueprintEditorUtils::IsVariableUsed() to add an extra check for a GetClassDefaults node with a visible output pin for the variable that's also connected. - modified UK2Node_GetClassDefaults::GetInputClass() to return the generated skeleton class for Blueprint class types. #jira UE-17794 Change 2948638 on 2016/04/19 by Lee.Clark PS4 - Fix SDK compile warnings #jira UE-29647 Change 2948401 on 2016/04/19 by Taizyd.Korambayil #jira UE-29250 Revuilt Lighting for Landscapes Map Change 2948398 on 2016/04/19 by Mark.Satterthwaite Add a Mac Metal ES2 shader platform to allow the various ES2 emulation modes to work in the Editor. Fix various issues with the shader code to ensure that Metal can run with ES2 shader code at least in my limited test cases in QAGame. #jira UE-29170 Change 2948366 on 2016/04/19 by Taizyd.Korambayil #jira UE-29109 Replaced Box Mesh with BSP Floor Change 2948360 on 2016/04/19 by Maciej.Mroz merged from Dev-Blueprints 2947488 #jira UE-29115 Nativized BulletTrain - cannot shoot targets in intro tutorial #jira UE-28965 Packaging Project with Nativize Blueprint Assets Prevents Overlap Events from Firing #jira UE-29559 - fixed private enum access - fixed private bitfield access - removed forced PostLoad - add BodyInstance.FixupData call to fix ResponseChannels - ignored RelativeLocation and RelativeRotation in converted root component - fixed AttachToComponent (UE-29559) Change 2948358 on 2016/04/19 by Maciej.Mroz merged from Dev-Blueprints 2947953 #jira UE-29605 Wrong bullet trails in nativized ShowUp Fixed USimpleConstructionScript::GetSceneRootComponentTemplate. Change 2948357 on 2016/04/19 by Maciej.Mroz merged from Dev-Blueprints 2947984 #jira UE-29374 Crash when hovering over Create Widget node in blueprints Safe UK2Node_ConstructObjectFromClass::GetPinHoverText. Change 2948353 on 2016/04/19 by Maciej.Mroz merged from Dev-Blueprints 2948095 #jira UE-29246 ExpandEnumAsExecs + UMETA(Hidden) Crashes Blueprint Compile "Hidden" and "Spacer" elementa from an enum does not generated exec pins for "ExpandEnumAsExecs" Change 2948332 on 2016/04/19 by Benn.Gallagher Fixed old pins being left as non-transactional #jira UE-13801 Change 2948203 on 2016/04/19 by Lee.Clark PS4 - Use SDK 3.508.031 #jira UEPLAT-1225 Change 2948168 on 2016/04/19 by mason.seay Updating test content: -Added Husk AI to level to test placed AI -Updated Spawn Husk BP to destroy itself to prevent spawn spamming #jira UE-29618 Change 2948153 on 2016/04/19 by Benn.Gallagher Missed mesh update for Owen IK fix. #jira UE-22540 Change 2948130 on 2016/04/19 by Benn.Gallagher Fixed old Owen punch IK setup so it no longer jitters when placing the hands on the surface. #jira UE-22540 Change 2948117 on 2016/04/19 by Taizyd.Korambayil #jira UE-28477 Resaved Template Map's to fix Warning Toast on Templates Change 2948063 on 2016/04/19 by Lina.Halper - Anim composite notify change for better - Fixed all nested anim notify - Merging CL 2944396 using //UE4/Dev-Framework_to_//UE4/Release-4.12 #jira : UE-29101 Change 2948060 on 2016/04/19 by Lina.Halper Fix for composite section metadata saving for montage Merging CL 2944397 using //UE4/Dev-Framework_to_//UE4/Release-4.12 #jira : UE-29228 Change 2948029 on 2016/04/19 by Ben.Marsh EC: Prevent automatically pushing CIS builds to the launcher; the changelist might be run more than once. Change 2947986 on 2016/04/19 by Benn.Gallagher Fixed BP callable functions that affect skeletal mesh component transforms not working when simulating physics. #jira UE-27783 Change 2947976 on 2016/04/19 by Mark.Satterthwaite Duplicate CL #2943702 from 4.11.2: Change the way Metal validates the render-target state so that in FMetalContext::PrepareToDraw it can issue a last-ditch attempt to restore the render-targets. This won't fix the cause of the Mac Metal crashes but it might mitigate some of them and provide more information about why they are occurring. #jira UE-29006 Change 2947975 on 2016/04/19 by Mark.Satterthwaite Duplicate CL #2945061 from UE4-UT: Address UT issue UE-29150 directly in the UT branch: users without a sufficiently up-to-date Xcode won't have the 'metal' offline shader compiler so will have to use the slower online compiled text shader format. #jira UE-29150 Change 2947679 on 2016/04/19 by Jack.Porter Fixed 4.12 branch not compiling with the 1.0.8 Vulkan SDK #jira UE-29601 Change 2947657 on 2016/04/18 by Jack.Porter Update protostar reflection capture contents #jira UE-29600 Change 2947301 on 2016/04/18 by Ben.Marsh EC: Fix trigger ready emails failing to send due to recipient list being a space-separated list of addresses rather than an array reference. Change 2947263 on 2016/04/18 by Marc.Audy Merging CL# 2945921 //UE4/Release-4.11 to //UE4/Release-4.12 Ensure that all OwnedComponents in an Actor are duplicated for PIE even if not referenced by a property, unless that component is explicitly transient #jira UE-29209 Change 2946984 on 2016/04/18 by Ben.Marsh GUBP: Allow Ocean cooks in the release branch (fixes build startup failures) Change 2946870 on 2016/04/18 by Ben.Marsh Remaking CL 2946810 to fix compile error in ShooterGame editor. Change 2946859 on 2016/04/18 by Ben.Marsh GUBP: Don't exclude Ocean from builds in the release branch. Change 2946847 on 2016/04/18 by Ben.Marsh GUBP: Fix warning on every build step due to OrionGame_Win32_Mono no longer existing. Change 2946771 on 2016/04/18 by Ben.Marsh EC: Correct initial agent type for release branches. Causing full branch syncs on all agents. Change 2946641 on 2016/04/18 by Ben.Marsh EC: Remove rogue comma causing branch definition parsing to fail. Change 2946592 on 2016/04/18 by Ben.Marsh EC: Adding branch definition for 4.12 release #lockdown Nick.Penwarden [CL 2962354 by Ben Marsh in Main branch]
2016-05-01 17:37:41 -04:00
static float BrushSizeInStateUnits = 6.f, DragToleranceSlateUnits = 2.f, MouseTolerance = 2.f;
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3946692) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3801826 by Max.Chen PR #4304: Level Sequence crash fix - Guarded against dereferencing null componen. (Contributed by DSDambuster) Change 3801828 by Max.Chen PR #4302: Movie Scene Visibility Template unitialised variable, causing random . (Contributed by DSDambuster) Change 3801837 by Max.Chen Sequencer: Delay spawning/construction for convert to possessable. This fixes a bug where property values would be lost when converting back and forth from possessable to spawnable. #jira UE-52400 Change 3801841 by Max.Chen Sequencer: Make spacer nodes not selectable. PR #4194: Improvements to Sequencer (Contributed by projectgheist) #jira UE-53117 #jira UE-52139 Change 3804183 by Max.Preussner MediaAssets: Added missing lock in media sound component Change 3805414 by Max.Preussner MediaAssets: Setting valid GUID when initializing media texture resource Change 3819578 by Max.Chen PR #4370: When enabling the "MovieCapture", do not turn off the Stereo-3D display. (Contributed by yehaike) #jira UE-53647 Change 3823414 by Max.Chen Curve Editor: Lock down the first and last keys in the redundant keys removal range so that they're unaffected. #jira UE-53591 Change 3826406 by Max.Chen Sequencer: Move OnStartedPlaying() to within first update in UpdateTimeCursorPosition(). This fixes an issue where setting the hud/player visibility was getting stomped on later. #jira UE-52772 Change 3827044 by Max.Preussner MediaAssets: Added sprite visualization to media sound component #jira UE-53594 Change 3827988 by Max.Preussner MediaPlayerAssets: Fixed Media Texture is not linked to Media Player when created together #jira UE-53532 Change 3828506 by Max.Preussner MediaPlayerEditor: Added attenuation visualizer for media sound components #jira UE-53594 Change 3832590 by andrew.porter EngineTest: Added a keep state check in Property Animation sequencer test Change 3833053 by andrew.porter EngineTest: Adding Hierarchical Bias test Change 3835683 by andrew.porter EngineTest: Adding UMG Animation screenshot test Change 3836076 by Max.Chen Sequencer: Fix audio volume and pitch multiplier deprecation. Change 3836230 by andrew.porter EngineTest: Adding Sequence Bone Position automation test Change 3836347 by Max.Chen Sequencer: Fixes to shot name parsing. When a shot doesn't contain a shot number, assume, [ShotName]_[TakeNumber]. When duplicating a shot, put the new shot in the same path of the original shot, so that the take numbers will increment properly. #jira UE-51868 Change 3836552 by Max.Chen Sequencer: Sub section now has a takes menu Change 3838094 by Max.Chen UMG: Fix template finish not getting called on stop. This fixes a bug where sections aren't restored when finished. #jira UE-52285 Change 3838708 by Max.Chen Sequencer: Add notification when the blend type is changed. #jira UE-54046 Change 3840295 by Max.Chen Sequencer: Fix copy/paste crash for lights #jira UE-54084 Change 3840957 by Mike.Zyracki Added Show Only Keyable and Show Only Animated to the filter list in the property editor. Added IsPropertyAnimated to IDetailKeyframe Interface which already had support for showing properties which are keyable (which is used for the key icon next to the properties.). Could have created another interface but then would have had to mimic the sequencer binding, releasing also, so this seemed best way. One issue still left is that custom built detail items currently don't store associated properties(usually) and so certain properties, in particulalry transforms, won't show up as keyable or animated. Note this also shows up with the keyable icon not showing up next to transform tracks, and other filters like Show Only Modified not working with transforms/customs. Not sure best way to tackle this. #jira UESEQ-328 Change 3841756 by Max.Chen Sequencer: Fix unbound possessable components when pasting spawnables. #jira UE-54104 Change 3843950 by andrew.porter EngineTest: Renaming LevelStreaming tests/content to LevelVisibility Change 3844082 by Mike.Zyracki Missing file for animated filter in property editor. When finding if a track is animated we need to find it but we can't easily induce the MovieTrack class for any particular property. So we don't set a class for it and just search by it's ID and name. #jira UESEQ-328 Change 3846902 by Max.Preussner ImgMedia: Fixed image media player never finished initialization if loading failed #jira UE-54247 Change 3849820 by Mike.Zyracki Reassigning deleted widgets didn't work since the menu extender mechanism needs a valid UObject in order to perform an operation on it. So to fix we replaced GetObjectBindingContextMenuExtender in WidgetBlueprint with new delegate mechanism (OnBuildCustomContextMenuForGuid) that supports FGuid in addition to UObjects which is needed to handle re-binding deleted widgets. Note that the default sequencer hacks this for replacing deleted actors in SequencerObjectBindingNode to check to see if a LevelSequence is active. We could move to this mechanism there also. #jira UE-53163 Change 3852211 by Max.Chen UMG: Indicate name of the property that is not bound. #jira UE-54350 Change 3854120 by Max.Chen Sequencer: Fix sibling folders being allowed to have the same folder name. #jira UE-54363 Change 3854627 by Max.Chen Sequencer: Step to next/previous key should work for all tracks if there aren't any selected. #jira UESEQ-391 Change 3855825 by andrew.porter EngineTest: Adding animation blending automation test Change 3855950 by andrew.porter EngineTest: Adding correct expected valuues to animation blending test Change 3856237 by Matt.Hoffman UESEQ-336 - Sequencer Track Reordering Adds the ability to re-order Master Tracks, Folders and Object Bindings within sequencer hierarchies (including UMG). Adds the ability to do a one-off sorting of the content under the old sorting behavior if the user wants to reset their layout to how it was under legacy behavior. Modifies SequencerTrackNodes, SequencerFolderNodes and SequencerObjectBindingNodes to handle CanDrop/OnDrop for above, below and ontop of. Fixes a Slate Issue that forcibly expanded a TreeviewRow if an item handled OnDrop. Slate will now only forcibly expand the row if the item says the drop happened ontop of the item, and not above or below it like it previously did. Change 3856503 by andrew.porter EngineTest: Adding automation test for using animation blueprint with blend multi node in sequencer Change 3857875 by Max.Chen Sequencer: Assign the sequence id after the template is compiled. #jira UE-54462 Change 3858344 by Max.Chen Sequencer: Prevent Goto and Transform boxes from overlapping by allowing them to be visible at the same time in an autosized horizontal box. Also, added close button to the goto box. PR #4425: Prevent Goto and Transform boxes from overlapping in Sequencer ... (Contributed by projectgheist) #jira UE-54210 Change 3860566 by andrew.porter MediaFrameworkTest: Set the option to index 0 for the audio and video track list by default Change 3860654 by andrew.porter EngineTest: Enabling Camera Cut + FOV test Change 3860981 by andrew.porter EngineTest: Updating skeletal mesh tests with a delay after set playback position Change 3861256 by Max.Chen Sequencer: Add all bindings if none selected. #jira-54440 Change 3862154 by Andrew.Rodham Added TimeManagement module Change 3862424 by andrew.porter EngineTest: Turned on the test Bone Positions with Blend Multi Node Change 3862573 by andrew.porter EngineTest: Adding test to compare bone positions in a sequence that is blending an animation that is using an AnimBP Change 3865117 by Max.Chen Sequencer: Stop auto scroll on mouse release of movement. #jira UE-31212 Change 3865303 by Max.Chen Sequencer: Add drag and drop transactions #jira UE-54662 Change 3865304 by Max.Chen Sequencer: Fix crash when an actor factory is not found. Change 3865361 by Max.Chen Sequencer: Don't change the camera/shot lock button when popping out of a sequence. #jira UE-54665 Change 3865412 by Max.Chen Sequencer: Determine whether a transform track is for a camera by using the spawned object or template #jira UE-54666 Change 3865685 by Max.Chen Sequencer: Clear autoscrub offset when stopping autoscroll #jira UE-31212 Change 3865886 by Max.Chen Sequence Recorder: Log an error if the number of frames changes while recording. This can happen if the skeleton changes while recording. #jira UE-48715 Change 3866925 by Andrew.Porter MediaFrameworkTest: Changing the current PNG test video image sequence to 1024 x 576 Change 3867705 by andrew.porter QAGame: Adding Audio Sort Sequence to dev folder Change 3867890 by andrew.porter QAGame: Adding a sequence for testing a sorting crash to my dev folder Change 3872628 by Max.Chen Movie Scene Capture: Split delay before warmup into split delay before shot warmup so that there's separate controls for when the movie scene capture warmups up vs. shot boundaries. Change 3873131 by Matt.Hoffman UE-54732 - Crash reordering a folder with a track. This was caused by folders being the only type of track to check if someone was putting a parent track into a child track. Object Binding tracks and Tracks now check as well so that you can't use the above/below drop targets to add parents as children. This also fixed a typo in the localization keys. #jira UE-54732 Change 3873301 by Mike.Zyracki Added ability to support continous euler angle changes when changing rotations, in particularly with the rotation gizmo's. To do this we effectively added a form an of 'euler filter'(https://en.wikipedia.org/wiki/Euler_filter) to find the closest euler angle to the current euler angle. Three functions were added to FRotator to make this possible, one to get the euler angle that's has the same rotation as it, one to get the difference between two euler angles via Manhattan distance and a third using the previous two to choose a Rotator value that's closest to it. We then use these functions before calling UComponent::SetRelativeRotation to make sure we use the correct Euler after the Quat conversion. We also no longer limit(bound) the euler angles to -180,180, which is obviously necessary to avoid flips. I also changed how we caluclate yaw and roll when pitch is -90 or 90 to make it the standard approach of zeroing out roll and just setting yaw. Main reasons are the previous implementation had precision issues so things like 180, 90, -180 would show up due to numbers being nearly zero but negative,(this would break any smooth interpolations), and this facilitates having a 'gimbal' rotation mode (like Maya, Blender etc..) if we ever want that also. If needed we could keep the previous implementation but would need to add some FMath::IsNearlyZero checks, with less performance. Note we only do this special filtering when applying delta's to actors or components in the editors, which then call UComponent::SetRelativeRotationExact, which is a new function to foces the RelativeRotation to be equal to the new rotation. This allows us to store un-nomalized Rotators at the cost that the RotationCache may be broken. We didn't change any of the other UComponent functions that set rotations (via Quats or Transforms) so they will still be bounded and unwound. In SetInternalWorldLocationAndRotation we only set the rotation if the rotation has changed, which fixes the rotation getting changed and re-normalized if just translate happens. In TransformTrackEditor, we correclty use the bUndwing flag and in MovieScene3DTransformSection there was an un-needed winding check there, it will be unwound earlier if needed, which happens if Sequence Recording is happening. Max we should talk about what to do about this . Note the euler angle drag via the widget is still bound to 0-360. I think we should just unbound that now since the rotations value are now unbound. This review now includes fixes suggested by Zak. #jira UE-UE-22228 Change 3873483 by Matt.Hoffman Sequencer Tracks can now be inserted above the spacer at the bottom of the tree. #jira UE-54706 Change 3873899 by Max.Chen Sequencer: Add section selection throbbing Change 3873908 by Max.Chen Movie Scene Capture: Added logging per frame Change 3873924 by Matt.Hoffman Adds the ability to store Sequence Recorder setups into profiles that stay with the map and can be re-loaded later. Profiles store the Actor Recordings so the settings for each actor should carry with them. #jira UESEQ-339 Change 3874726 by Matt.Hoffman Disable drag-and-drop targets on spacers that come between rows in Sequencer. This prevents extra drag/drop targets showing up between each row. #jira UE-54706 Change 3874862 by Matt.Hoffman Audio Track no longer gets reordered when adding sub-audio tracks, as sub-tracks are no longer counted towards the sorting order index when normalizing indexes. #jira UE-54727 Change 3875905 by Matt.Hoffman Disable Fade Track UI if a fade track already exists in the sequence. #jira UESEQ-393 Change 3876163 by Max.Chen Sequencer: Swap the camera object to the camera component's owner if it's not the same. #jira UE-54874 Change 3876971 by Andrew.Porter EngineTest: Moved Media Player Seek test to new folder. Also enabled the test with new ground truth image. Change 3877040 by Max.Chen Cine Camera: Split camera properties to two groups, "Camera Options" and "Camera Settings". The cine camera now hides properties in the "Camera Settings" group so that properties like bConstrainAspectRatio (in the "Camera Options" group) can be visible. #jira UE-54192 Change 3877763 by Max.Chen Curve Editor: Fix curve changed on end drag so that only curves that had keys/tangents that were changed receive notification, otherwise all loaded curves were getting notified that they were changed. #jira UE-54951 Change 3878234 by Matt.Hoffman Disable "Drop Below" targets for Sequencer Tree nodes to prevent a confusing UX issue where dropping underneath a Object Binding Node puts it after the object binding node but the UI looks like it's inserting it inside the Object Binding node. #jira UE-54743 Change 3879359 by Mike.Zyracki If a track is inactive we dim it a bit which seems to be the UE4 way to show inactive or disabled state. We changed the active logic so that all subtracks need to be inactive for the track to also be inactive(instead of all active for active). This conforms to how the active state actually works, e.g if you have two sections and only one is active the track is still active above it. #jira UESEQ-388 Change 3879462 by Max.Chen Sequencer: Allow dragging onto a particular row which would move out any overlapping sections to make space for the newly created section. Newly created sections are now selected and throbbed to draw attention to themselves. #jira UE-54664 Change 3879464 by Max.Chen Sequencer: Fixed overlapping ranges being inserted into the evaluation field during compilation - The issue was that track segments that had been combined with adjacent segments (due to them being identical) would potentially cause a subsequently compiled frame to overlap with a range that had already been inserted into the evaluation field. - The insertion code previously asserted that only minor overlaps were catered for (due to fp rounding errors) and assumed that a supplied range could not entirely contain any other range in the field. - The solution is to supply the insertion time along with the range to know exactly where the data should live in the field, and crop the range to the maximum allowable space between adjacent ranges. #jira UE-54922 Change 3879590 by Matt.Hoffman Items that are now added to the Sequencer via the "+Track" menu will be selected after being added. Items can now be added inside of folders instead of just to the root level. #jira UE-27397 Change 3879612 by Mike.Zyracki Display Nodes with no children are always active. #jira UESEQ-388 Change 3879730 by Matt.Hoffman Sequence Recorder's actor recording groups now remove items from the group when removed via the UI. #jira UESEQ-339 Change 3880256 by Mike.Zyracki Fix issue with inactive display with folders and other track nodes. #jira UESEQ-388 Change 3883491 by Max.Chen Fix issue where tick is skipped due to last ticked pose isn't cleared after AnimInstance changes. Copy from Release-4.19 #jira UE-51323 Change 3883603 by Max.Chen Movie Scene Capture: Add option toggle disable screen percentage. By default this is on (no change in current behavior). #jira UE-51898 Change 3885074 by Max.Preussner MediaCompositing: Resetting media texture & freeing resource on section end; removed dead code Change 3887220 by Max.Preussner MediaCompositing: Defaulted media section duration to 1 sec (since we do not know the actual duration in most cases) Change 3887478 by Matt.Hoffman Sequences now show [Inactive] in their title bars when they're disabled. This helps communicate why a sequence isn't being evaluated. #jira UE-51469 Change 3888985 by Max.Chen Movie Scene Capture: Clamp HDR Compression Quality between 0 and 1. #jira UE-55136 Change 3893519 by Max.Chen Sequence Recorder: Clarified tooltip for bRecordNearbySpawnedActors - spawned actors will still be recorded if they match the ActorFilter. #jira UE-55238 Change 3893546 by Max.Chen Sequence Recorder: If a selected actor already has a recording, add a blank recording. #jira UE-55239 Change 3894044 by Max.Preussner MediaCompositing: Added support for seeking into a media section Change 3894310 by andrew.porter MediaFrameworkTest: Adding Img media sources for 1080 and 2160 ravent test content Change 3894426 by Max.Preussner MediaAssets: Letting media textures with AutoClear retain their clear color when player is reset Change 3895717 by Max.Chen Sequencer: Null checks to prevent crash when saving the default state of a spawnable #jira UE-55304 Change 3897388 by Max.Chen Sequencer: Don't update current time to be within the view range when stepping into a sequence. #jira UE-55322 Change 3897452 by Max.Chen Audio: Fix crash when trying to record audio without any active capture devices. Log warning if the number of input channels is not 1 or 2. #jira UE-55223 Change 3897619 by Max.Preussner MediaCompositing: Removed commented out code Change 3898072 by Max.Chen Sequencer: Override the animation asset in the player state if it doesn't match the animation asset that's being evaluated. #jira UE-55328 Change 3898272 by Max.Preussner MediaPlayerEditor: Made slate brush constants static Change 3898704 by Max.Chen Sequencer: Skip if the binding id's sequence can't be found. #jira UE-55337 Change 3899855 by Max.Preussner MediaCompositingEditor: Added cache state visualization to media track Change 3900300 by Max.Preussner MediaCompositingEditor: Added loop indicators to media sections Change 3900694 by Max.Preussner ImfMedia: Looping cache only when player is looping Change 3900892 by Max.Preussner Stats: Added stats category for media framework Change 3900954 by Max.Preussner MediaCompositing: Don't evaluate at the end of media section Change 3901348 by Max.Preussner Core: Replaced TLruCache autos for better readability Change 3901655 by Max.Preussner ImgMedia: Added more perf stats to EXR reader Change 3901972 by Max.Preussner MediaAssets: Added getter for media player in media sound components Change 3902233 by Max.Preussner MediaAssets: Enabling media textures to receive samples right after player is assigned Change 3902238 by Max.Preussner MediaCompositing: Working around init/shutdown idiosyncracies in sequencer Change 3904045 by Max.Chen Sequencer: Fix copy/paste crash. Only process UMovieSceneCopyableBinding and objects that can be spawned by the movie scene spawn register. #jira UE-55314 Change 3905605 by Max.Chen Sequencer: Restrict spawnables from being created if they have a ClassWithin that UMovieScene is not a child of. #jira UE-55429 Change 3906550 by Max.Chen Sequencer: Add media track icon #jira UE-55480 Change 3907101 by Max.Chen Sequence Recorder: Fix bugs related to not recording a level sequence. There were certain assumptions that creating a level sequence meant that sequence recording was in progress. This is not always the case - the recorders can record animation assets and not create a level sequence. Changed the notion of IsRecording() to having at least one actor recording that is recording. Countdown timer, recording displays, etc should function if IsRecording() and not based on whether a level sequence is created. #jira UE-55485 Change 3907247 by Max.Chen Sequence Recorder: Fix crash not removing PrepareToCleanseEditorObject delegate. Repros when opening sequence recorder, closing it, and then opening or creating a level. Change 3910343 by Max.Preussner Core: Added async helper for executing functions on a given thread pool Change 3910346 by Max.Preussner ImgMedia: Added separate thread pools for loading/decoding and deleting image frames Change 3910829 by Max.Preussner Profiler: Increased visible range of profiler graph Change 3910841 by Max.Preussner MediaCompositing: Displaying asset name instead of full media source path in media section Change 3910870 by Max.Preussner ImgMedia: Using deallocation thread pool only in debug builds Change 3919642 by Max.Chen Sequence Recorder: Clarify active tooltip #jira UE-55661 Change 3919660 by Max.Chen Sequencer: Sequence template source signatures are now also compared to catch the case where a sub-sequence asset has been saved but not modified - The following sequence of events exposes this issue: - Create a master sequence with a single shot that spawns a cube - Add this sequence to a level and set it to auto-play - Save everything and restart - Resave just the inner shot asset without opening it - PIE - The inner shot never spawns its cube because its template was wiped on save, but its signature never changed. Since the master sequence previously didn't check the template source signature, it ends up trying to evaluate an empty template. #jira UE-55626 #jira UE-55490 Change 3921825 by Max.Chen Sequencer: "Run Construction Script in Sequencer" is off by default for blueprints but on for Sequencer. This allows the content author to switch it on for specific blueprints and sequencer will be default, run those with construction scripts enabled. Change 3922232 by Max.Chen Sequence Recorder: Reset countdelay on stop. #jira UE-55755 Change 3922306 by Max.Chen Sequence Recorder: Don't automatically mark transforms to be recorded by sequence recorder. Instead, log a warning if the user toggled it off to warn that the resulting animation might not match gameplay. #jira UE-55758 Change 3922912 by Max.Chen Sequence Recorder: Fix refresh next sequence name #jira UE-55757 Change 3927654 by Max.Chen Movie Scene Capture: Added format mapping for the name of the current camera #jira UE-55769 PR #4537 Change 3927658 by Max.Chen Sequencer: Added fbx property mapping for "FocusDistance" to "FocusSettings.ManualFocusDistance" #jira UE-55782 Change 3932022 by Max.Chen Sequencer: Add import animation track section to next available row index. #jira UE-55892 Change 3933919 by Max.Chen Sequencer: Jump to playback start frame and not 0 to start playback for recording. #jira UE-55933 Change 3934307 by Andrew.Rodham Sequencer: Add template signature that is re-generated every time the base template is regenerated, which invalidates evaluation fields This fixes an issue where the same sequence is instantiated multiple times in a sequence. If the source sequence was saved, its template would be wiped, which would invalidate the template ID When an instance tries to evaluate the master template, it would only invalidate a range in the evaluation field that was the hull of any invalid sub sequences overlapping the current time, potentially leaving invalid data in the evaluation field at positions later (or earlier) on in the sequence When the sub template was re-generated, it receives the same SequenceSignature as it had before (because the sequence hasn't actually changed), which causes the stale evaluation field data to fail the IsDirty check (because the sequence is the same as it thought, but the *template* has changed) This has been addressed be adding a signature to templates themselves, and checking both the template signature and sequence signature as a part of the IsDirty check. This ensures that we regenerate if either the template, or the sequence have changed. #jira UE-55934 Change 3936327 by Andrew.Rodham Sequencer: Removed increment when trimming right UMovieSceneSection::TrimSection already explicity assigns an exclusive bound to the time passed in. The new behavior means we can trim a section to the right, and insert another section without changing the time to create adjacent sections. #jira UE-42652 Change 3936328 by Andrew.Rodham Fixed KeyFrameManipulator assignment operators and copy/move constructors - These types are potentially self-referential so cannot use default constructors/assignment Change 3936330 by Andrew.Rodham Converted UMGSequencePlayer to use frames internally #jira UE-54878 Change 3936726 by Max.Chen Sequencer: Set track node as the parent of the key area node. The key area switcher needs the object binding id from the parent object binding node. Without this, the binding to the external value fails. #jira UE-55931 Change 3936775 by Max.Chen Sequencer: Should stop or loop should compare DurationFrames with Current Time from StartTime. The bug is that if you set 30 warmup frames in movie rendering for a range of 0-100, the FrameRange will be starting at -30 and have a duration of 130. Without this fix, the playback will continue until frame 130, rather than 100. #jira UE-55933 Change 3936935 by Matt.Hoffman Easing Curves are now represented in Play Rate resolution instead of internal resolution. #jira UE-55937 Change 3937069 by Matt.Hoffman Users can toggle if the is infinite on each side, limited by which tracks support infinite ranges. #jira UE-55891 Change 3937516 by Max.Preussner ImgMedia: Added support for single-threaded platforms #jira UE-55986 Change 3937826 by Max.Preussner MediaAssets: Disabling media sound components on HTML5 if AudioMixer is not enabled Change 3937997 by Max.Chen Curve Editor: Add Zoom to Fit Curves so that selected curves from Sequencer can be focused on. Tested that undo doesn't re-zoom. #jira UE-55935 Change 3938000 by Max.Chen Sequencer: Stop all sounds before generating audio waveforms. #jira UE-55951 Change 3938376 by Max.Preussner XGEController: Disabled XGE Controller in single-threaded apps to prevent crash Change 3938444 by Max.Preussner Core: Added async support for single-threaded applications Change 3938445 by Max.Preussner Networking: Added support for single-threaded applications in UDP socket sender/receiver Change 3938447 by Max.Preussner Messaging: Added support for single-threaded applications Change 3939432 by Max.Chen Sequence Recorder: Append command list to global level editor actions so that shortcuts are accessible in level editor. #jira UE-55798 Change 3940229 by Andrew.Rodham Added prospective display rate upgrade to UMovieScene::PostLoad - There was previously some very odd behaviour that would assign the fixed frame interval only when a sub sequence was focused in SSequencer. This meant that many sequences could have a frame interval of 0 set in the data. - Under the old method of snap interval display this would have fallen back to getting the display interval from the sequencer settings, but we no longer look at these. - The USequencerSettings properties have been removed and in their place, a prospective data upgrade for sequences that have a fixed frame interval old 0fps that sets the play rate to the previous defaults based off the old USequencerSettings defaults. - This could end up 'changing' the display rate for sequences where the user has changed the snap interval in the settings for a particular sequence editor, but there's not much we can do about that given we don't have access to the USequencerSettings classes in UMovieScene #jira UE-55919 Change 3940277 by Andrew.Rodham Sequencer: Added ability to default frame resolutions and play rates for newly created actor sequences Change 3940378 by Andrew.Rodham Sequencer: Post move import dialog now defaults to the playback framerate of the sequence, and floors to frame numbers Change 3940559 by Andrew.Rodham Reinstated primed or recording sequence color Change 3940642 by Max.Preussner ImagePlate: Removed image plate media playback functionality Change 3940843 by Max.Preussner Core: Made TCircularQueue actually thread-safe; improved code comments Change 3940860 by Max.Chen Sequencer: Changed StructNameToKey to StructPathToKey Previously, keying a PropertyPath of [RenderTransform][Shear][X] would get trimmed to X, which doesn't map to a channel name as considered by Sequencer2dTransformTrackEditor. Instead, trim the resulting property path to [Shear][X] so that track editors can determine the desired struct path and channels to key. #jira UE-52966 Change 3941292 by Mike.Zyracki Fix for trajectories out of range not showing up. 1) If we had no key data we would pop the time, so wouldn't get the section ranges. 2) Calculating of upper bound was wrong, checking against -1 and not key == num of keys when doing algo::lower_bound. 3) No need to do the Bck-- for the bakward iterators since we fixed #2. We start now from the upper bound correctly. 4) If we had no keys (at section start,end) we would incorrectly say we were any key type, so since we draw constant keys as dashed we would do so incorrectly around section end points. #jira UE-55929 Change 3941424 by Max.Chen Curve Editor: Change Zoom to Fit to use TArrayView Change 3941498 by Max.Preussner Core: Added FMath::DivideAndRoundNearest function Change 3942097 by Matt.Hoffman Drop Frame Timecode Support for NTSC rates. Change 3942104 by Matt.Hoffman Sequence Recorder Group is no longer visible inside the World Outliner after using one. #jira 55266 Change 3942107 by Max.Chen Sequencer: Resurrect logic to find or extend an existing section when adding keys. Change 3942330 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942339 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942507 by Andrew.Rodham Sequencer: We no longer pad the time overlap threshold with a small number that is not scaled by the current zoom level - The presence of this pad was causing keys that were far apart to be grouped when zoomed in a long way Change 3942509 by Andrew.Rodham Sequencer: Only pad total view range, rather than section range as well when retrieving keys to render - This stops us from rendering keys that are within the view range, but outside the section range Change 3942512 by Andrew.Rodham Added transactions to some sequencer details customizations Change 3942513 by Andrew.Rodham Sequencer: Reinstated validation checks to UMovieSceneSection::SetStartFrame and SetEndFrame, changed erroneous uses to use SetRange Change 3942560 by Andrew.Rodham Pass by rvalue reference to appease error C2719 on Win32 ('InChannels': formal parameter with requested alignment of 8 won't be aligned) Change 3942697 by Andrew.Rodham Newly Created Level Sequences and Actor Sequences now default to 24000 fps frame resolution (+/- ~24hrs range, supporting all integer rates + 23.976) Change 3942700 by Andrew.Rodham Sequencer: Added legacy out-of-bounds errors for times that are not supported by the current legacy upgrade frame resolution Change 3942989 by Max.Preussner Core: Fixed circular queue count calculation Change 3943538 by Max.Preussner MediaAssets: Reverted workaround for procedural audio log spam in HTML5 (Actor component initialization cannot be skipped if the component is used in a level) Change 3944071 by Max.Preussner QAGame: Fixed Media Texture keeps last frame of Media when PIE ends #jira UE-53360 Change 3944292 by Max.Chen Sequencer: Added extra flags to ensure that asset initialization does not occur on template actor sequences #jira UE-56113 Change 3944364 by Max.Chen Sequencer: Prevent circular shot/master tracks. Tested adding master -> child -> master as drag and drop cinematic shot tracks and sub tracks as well as through the + button. #jira UE-56091 Change 3944422 by Max.Chen Sequence Recorder: Disable transform recording if off. #jira UE-56061 Change 3944745 by Andrew.Rodham Sequencer: Key rendering fixes - Fixed assert that occured when keys happened to reside on some times due to KeyTime + TimeOverlapThreshold - KeyTime being slightly larger TimeOverlapThreshold - Fixed keys sometimes being clipped when zoomed right in due to lack of half-frame offset - Added missing documentation to MovieSceneTimeHelpers.h #jira UE-56107 Change 3945231 by Andrew.Rodham Sequencer: Reconstruct channel proxy on Serialize to catch all cases of undo/redo, PostLoad and duplication #jira UE-56089 Change 3945301 by Andrew.Rodham Sequencer: Added safety checks during initial sequence recording to guard against applying negative or 0-sized sequence ranges #jira UE-56125 Change 3946627 by Max.Preussner Fortnite: Fixed game crashes closing editor while in PIE - Pure virtual function being called #jira UE-56144 [CL 3946896 by Max Chen in Main branch]
2018-03-14 22:09:33 -04:00
const float RangeEndPixel = RangeToScreen.InputToLocalX(Range.GetUpperBoundValue());
Copying //UE4/Dev-Editor to //UE4/Dev-Main (Source: //UE4/Dev-Editor @ 3431234) #lockdown Nick.Penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 3323393 on 2017/02/27 by Ben.Cosh This fixes an issue with actor details component selection causing actor selection to get out of sync across undo operations #Jira UE-40753 - [CrashReport] UE4Editor_LevelEditor!FLevelEditorActionCallbacks::Paste_CanExecute() [leveleditoractions.cpp:1602] #Proj Engine Change 3379355 on 2017/04/04 by Lauren.Ridge Adding sort priorities to Material Parameters and Parameter Groups. If sort priorities are equal, fallback to alphabetical sort. Default sort priority is 0, can be set on the parameter in the base material. Parameters are still sorted within groups.Group sort priority is set on the main material preferences. Change 3379389 on 2017/04/04 by Nick.Darnell Core - Removing several old macros that were referring to EMIT_DEPRECATED_WARNING_MESSAGE, which is no longer defined in the engine, so these macros are double deprecated. Change 3379551 on 2017/04/04 by Nick.Darnell Automation - Adding more logging to the automation controller when generating reports. Change 3379554 on 2017/04/04 by Nick.Darnell UMG - Making the WidgetComponent make more things caneditconst in the editor depending on what the settings are to make it more obvious what works in certain contexts. Change 3379565 on 2017/04/04 by Nick.Darnell UMG - Deprecating OPTIONA_BINDING, moving to PROPERTY_BINDING in place and you'll need to define a PROPERTY_BINDING_IMPLEMENTATION. Will make bindings safer to call from blueprints. Change 3379576 on 2017/04/04 by Lauren.Ridge Parameter group dropdown now sorts alphabetically Change 3379592 on 2017/04/04 by JeanMichel.Dignard Fbx Morph Targets import optimisation - Only reimport the points for each morphs and compute the tangents for the wedges affected by those points. - Removed the full skeletal mesh rebuild on each morph target import. - Allow MeshUtilities::ComputeTangents_MikkTSpace to only recompute the tangents that are zero. Gains around 7.30 mins for 785 morph targets in mikkt space and 1.30 mins using built-in normals, with provided test file. #jira UE-34125 Change 3380260 on 2017/04/04 by Nick.Darnell UMG - Fixing some OPTIONAL_BINDINGS that needed to be converted. Change 3380551 on 2017/04/05 by Andrew.Rodham Sequencer: Fixed ImplIndex sometimes not relating to the source data index when compiling at the track level #jira UE-43446 Change 3380555 on 2017/04/05 by Andrew.Rodham Sequencer: Automated unit tests for the segment and track compilers Change 3380647 on 2017/04/05 by Nick.Darnell UMG - Tweaking some stuff on the experimental rich textblock. Change 3380719 on 2017/04/05 by Yannick.Lange Fix 'Compile FortniteClient Mac' and 'Compile Ocean iOS' Failed with Material.cpp errors. Wrapping WITH_EDITOR around ParameterGroupData. #jira UE-43667 Change 3380765 on 2017/04/05 by Nick.Darnell UMG - Fixing a few more instances of OPTIONAL_BINDING. Change 3380786 on 2017/04/05 by Yannick.Lange Wrap SortPriority in GetParameterSortPriority with WITH_EDITOR. Change 3380872 on 2017/04/05 by Matt.Kuhlenschmidt PR #3453: UE-43004: YesNo MessageDialog instead of YesNoCancel (Contributed by projectgheist) Change 3381635 on 2017/04/05 by Matt.Kuhlenschmidt Expose static mesh material accessors to blueprints #jira UE-43631 Change 3381643 on 2017/04/05 by Matt.Kuhlenschmidt Added a way to enable or disable the component transform units display independently from unit display anywhere else. This is off by default Change 3381705 on 2017/04/05 by Yannick.Lange - Slate application multiple input pre-processors. - Remove ViewportWorldInteractionManager, let ViewportWorldInteraction handle it's own input pre-processor. Change 3381959 on 2017/04/05 by Yannick.Lange Back out changelist 3381705. Old changelist. Change 3382049 on 2017/04/05 by Yannick.Lange - Slate application multiple input pre-processors in a wrapper class. - Remove ViewportWorldInteractionManager, let ViewportWorldInteraction handle it's own input pre-processor. - Deprecated SetInputPreProcessor, but made it work with RegisterInputPreProcessor and UnregisterInputPreProcessor. Change 3382450 on 2017/04/06 by Andrew.Rodham Sequencer: Fixed 'ambiguous' overloaded constructor for UT linux server builds Change 3382468 on 2017/04/06 by Yannick.Lange Rename AllowWorldMovement parameter to bAllow. Change 3382474 on 2017/04/06 by Yannick.Lange Make GetInteractors constant because we dont want it to be possible to change this arrray. Change 3382492 on 2017/04/06 by Yannick.Lange VR Editor: Floating UI's are stored in a map with FNames as key. Change 3382502 on 2017/04/06 by Yannick.Lange VR Editor: Use asset container for auto scaler sound. Change 3382589 on 2017/04/06 by Nick.Darnell Slate - Upgrading usages of SetInputPreprocessor. Also adjusting the API for the new preprocessor functions to have an option to remove all, which was what several usages expected. Also updated the deprecated version of SetInputPreprocessor to removeall if null is provided for the remove, mimicing the old functionality. Change 3382594 on 2017/04/06 by Nick.Darnell UMG - Deprecating GetMousePositionScaledByDPI, this function has too many issues, and I don't want to break buggy backwards compatability, so just going to deprecate it instead. For replacement, you can now access an FGeometry representing the viewport (after DPI scale has been added to the transform stack), and also the FGeometry for a Player's Screen widget host, which might be constrained for splitscreen, or camera aspect. Change 3382672 on 2017/04/06 by Nick.Darnell Build - Fixing incremental build. Change 3382674 on 2017/04/06 by Nick.Darnell Removing a hack added by launcher. Change 3382697 on 2017/04/06 by Matt.Kuhlenschmidt Fixed plugin browser auto-resizing when scrolling. Gave it a proper splitter Change 3382875 on 2017/04/06 by Michael.Trepka Modified FMacApplication::OnCursorLock() to avoid a thread safety problem with using TSharedPtr/Ref<FMacWindow> of the same window on main and game threads simultaneously. #jira FORT-34952 Change 3383303 on 2017/04/06 by Lauren.Ridge Adding sort priority to texture parameter code Change 3383561 on 2017/04/06 by Jamie.Dale Fixed MaximumIntegralDigits incorrectly including group separators in its count Change 3383570 on 2017/04/06 by Jamie.Dale Added regression tests for formatting a number with MaximumIntegralDigits and group separators enabled Change 3384507 on 2017/04/07 by Lauren.Ridge Mesh painting no longer paints on invisible components. Toggling visiblity refreshes the selected set. #jira UE-21172 Change 3384804 on 2017/04/07 by Joe.Graf Fixed a clang error on Linux due to missing virtual destructor when deleting through the interface pointer #CodeReview: marc.audy #rb: n/a Change 3385011 on 2017/04/07 by Matt.Kuhlenschmidt Fix dirtying levels just by copying actors if the level contains a foliage actor. The foliage system makes lazy asset pointers #jira UE-43750 Change 3385127 on 2017/04/07 by Lauren.Ridge Adding WITHEDITOR to OnDragDropCheckOverride Change 3385241 on 2017/04/07 by Jamie.Dale Removing warning if asking for a null or empty localization provider Change 3385442 on 2017/04/07 by Arciel.Rekman Fix a number of problems with Linux splash. - Thread safety (UE-40354). - Inconsistent font (UE-35000). - Change by Cengiz Terzibas. Change 3385708 on 2017/04/08 by Lauren.Ridge Resaving VREditor asset container with engine version Change 3385711 on 2017/04/08 by Arciel.Rekman Speculative fix for a non-unity Linux build. Change 3386120 on 2017/04/10 by Matt.Kuhlenschmidt Fix stats not being enabled when in simulate Change 3386289 on 2017/04/10 by Matt.Kuhlenschmidt PR #3466: Git plugin: add option to autoconfigure Git LFS (Contributed by SRombauts) Change 3386301 on 2017/04/10 by Matt.Kuhlenschmidt PR #3470: Git Plugin: disable "Keep Files Checked Out" checkbox on Submit to Source Control Window (Contributed by SRombauts) Change 3386381 on 2017/04/10 by Michael.Trepka PR #3461: Mac doesn't return the correct exit code (Contributed by projectgheist) Change 3388223 on 2017/04/11 by matt.kuhlenschmidt Deleted collection: MattKTest Change 3388808 on 2017/04/11 by Lauren.Ridge Reset arrows now only display for non-default values in the Material Instance editor. Reset to default arrows now are placed in the correct location for SObjectPropertyEntryBox and SPropertyEditorAsset. SResetToDefaultPropertyEditor now takes a property handle in the constructor, instead of an FPropertyEditor. #jira UE-20882 Change 3388843 on 2017/04/11 by Lauren.Ridge Forward declaring custom reset override. Fix for incremental build error Change 3388950 on 2017/04/11 by Nick.Darnell PR #3450: UMG "Lock" Feature (Contributed by GBX-ABair). Epic Edit: Made some changes to make it work with named slots, added an option not to always recursively itterate the children, also removed the dependency on SWidget changes. Change 3388996 on 2017/04/11 by Matt.Kuhlenschmidt Removed crashtracker Change 3389004 on 2017/04/11 by Lauren.Ridge Fix for automated test error - additional safety check for if the reset button has been successfully created. Change 3389056 on 2017/04/11 by Matt.Kuhlenschmidt Removed editor live streaming Change 3389077 on 2017/04/11 by Jamie.Dale Removing QAGame config change Change 3389078 on 2017/04/11 by Nick.Darnell Fortnite - Fixing an input preprocessor warning. Change 3389136 on 2017/04/11 by Nick.Darnell Slate - Removing deprecated 'aspect ratio' locking box cells, never really worked, deprecated a long time ago. Change 3389147 on 2017/04/11 by Nick.Darnell UMG - Fixing a critical error with the alignment of the lock icon. #jira UE-43881 Change 3389401 on 2017/04/11 by Nick.Darnell UMG - Adds a designer option to control respecting the locked mode. Change 3389638 on 2017/04/11 by Nick.Darnell UMG - Adding the Widget Reflector button to the widget designer. Change 3389639 on 2017/04/11 by Nick.Darnell UMG - Tweaking the respect lock icon. Change 3390032 on 2017/04/12 by JeanMichel.Dignard Fixed project generation when using subfolders in Target.SolutionDirectory (ie: SolutionDirectory = "Programs\MyProgram") Change 3390033 on 2017/04/12 by Matt.Kuhlenschmidt PR #3472: Exposed Distributions to Game Projects and Plugins (Contributed by StormtideGames) Change 3390041 on 2017/04/12 by Matt.Kuhlenschmidt PR #3446: Add missing TryLock to PThreadCriticalSection and add RAII helper for try locking. (Contributed by Laurie-Hedge) Change 3390196 on 2017/04/12 by Lauren.Ridge Fix for crash on opening assets without reset to default button enable Change 3390414 on 2017/04/12 by Matt.Kuhlenschmidt PR #3300: UE-5528: Added check for empty startup tutorial path (Contributed by projectgheist) #jira UE-5528 Change 3390427 on 2017/04/12 by Jamie.Dale Fixed not being able to set pure whitespace values on FText properties #jira UE-42007 Change 3390712 on 2017/04/12 by Jamie.Dale Content Browser search now takes the display names of properties into account #jira UE-39564 Change 3390897 on 2017/04/12 by Nick.Darnell Slate - Changing the order that the tabs draw in so that the draw front to back, instead of back to front. Change 3390900 on 2017/04/12 by Nick.Darnell Making a Cast CastChecked in UScaleBox. Change 3390907 on 2017/04/12 by Nick.Darnell UMG - Adding GetMousePositionOnPlatform and GetMousePositionOnViewport as other replacements that people can use rather than GetMousePositionScaledByDPI. Change 3390934 on 2017/04/12 by Cody.Albert Fix to set correct draw layer in FSlateElementBatcher::AddElements Change 3390966 on 2017/04/12 by Nick.Darnell Input - Force inline some core input functions. Change 3391207 on 2017/04/12 by Jamie.Dale Fixed moving a folder containing a level not moving the level Also removed some redundant usage of ContentBrowserUtils::GetUnloadedAssets #jira UE-42091 Change 3391327 on 2017/04/12 by Mike.Fricker Removed Twitch support and GameLiveStreaming Change 3391405 on 2017/04/12 by Mike.Fricker Removed Twitch support and GameLiveStreaming (part 2) Change 3391407 on 2017/04/12 by Mike.Fricker Removed some remaining EditorLiveStreaming and CrashTracker code Change 3392296 on 2017/04/13 by Yannick.Lange VR Editor: New assets in asset containers for gizmo rotation. Change 3392332 on 2017/04/13 by Nick.Darnell Slate - Removing delegate hooks from the safezone and scalebox widget when the widgets are cleaned up. Change 3392349 on 2017/04/13 by Cody.Albert Corrected typo Change 3392688 on 2017/04/13 by Yannick.Lange VR Editor: Resaved asset containers Change 3392905 on 2017/04/13 by Jamie.Dale Fixed FPaths::ChangeExtension and FPaths::SetExtension stomping over the path part of a filename if the name part of the had no extension but the path contained a dot, eg) C:/First.Last/file Change 3393514 on 2017/04/13 by Yannick.Lange VR Editor: Temp direct interaction pointer. Change 3393930 on 2017/04/14 by Yannick.Lange VR Editor: Remove unused transform gizmo Change 3394084 on 2017/04/14 by Max.Chen Audio Capture: No longer beta Change 3394499 on 2017/04/14 by Cody.Albert Updated UMovieSceneSpawnTrack::PostLoad to call ConditionalPostLoad on bool track before converting it to a spawn track #rnx Change 3395703 on 2017/04/17 by Yannick.Lange Duplicate from Release-4.16 CL 3394172 Viewport Interaction: Fix disable animation when aiming for gizmo stretch handles. #jira UE-43964 Change 3395794 on 2017/04/17 by Mike.Fricker #rn Fixed FastXML not loading XML files with attributes delimited by single quote characters Change 3395945 on 2017/04/17 by Yannick.Lange VR Editor: Swap end and start of laser, because they start of laser was using end mesh. Change 3396253 on 2017/04/17 by Michael.Dupuis #jiraUE-43693: While moving foliage instance between levels, UI count was'nt updating properly Moved MoveSelectedFoliageToLevel to EdModeFoliage as we required more treatment than was done in LevelCollectionModel Ask to save foliage type as asset while moving between level foliage instances containing local foliage type Change 3396291 on 2017/04/17 by Michael.Dupuis #jira UE-35029: Added a cache for mesh bounds so if the bounds changed we can rebuild the occlusion tree Added possibility to register on bounds changed of a static mesh in editor mode Rebuild the occlusion tree if the mesh bounds changed Rebuild the occlusion tree if we change the mesh associated with a foliage type Optimize some operation to not Rebuild the occlusion tree for every instance added/remove instead it's done at the end of the operation Change 3396293 on 2017/04/17 by Michael.Dupuis #jira UE-40685: Improve Collision With World algo, to support painting pitch rotated instance or not on a flat terrain or slope respecting the specified ground angles Change 3397660 on 2017/04/18 by Matt.Kuhlenschmidt PR #3480: Git plugin: improve/cleanup init and settings (Contributed by SRombauts) Change 3397675 on 2017/04/18 by Alex.Delesky #jira UE-42383 - Adds a delegate to the placement mode module to allow users to register custom categories and listen to when they should be refreshed. Change 3397818 on 2017/04/18 by Yannick.Lange ViewportInteraction and VR Editor: - Replace GENERATED_UCLASS_BODY with GENERATED_BODY. - Remove destructors for uobjects. Change 3397832 on 2017/04/18 by Yannick.Lange VR Editor: Remove unused vreditorbuttoon Change 3397884 on 2017/04/18 by Yannick.Lange VREditor: Addition to 3397832, remove unused vreditorbuttoon. Change 3397985 on 2017/04/18 by Michael.Trepka Another attempt to solve the issue with dsymutil failing with an error saying the input file did not exist. We now check for the input file's existence in a loop 30 times (once a second) before trying to call dsymutil. Also, added a FixDylibDependencies as a prerequisite for dSYM generation. #jira UE-43900 Change 3398030 on 2017/04/18 by Jamie.Dale Fixed outline changes not automatically updating the text layout used by a text block #jira UE-42116 Change 3398039 on 2017/04/18 by Jamie.Dale Unified asset drag-and-drop FAssetDragDropOp now handles both assets and asset paths, and FAssetPathDragDropOp has been removed. This allows assets and folders to be drag-dropped at the same time in the Content Browser. #jira UE-39208 Change 3398074 on 2017/04/18 by Michael.Dupuis Fixed crash in cooking fortnite Change 3398351 on 2017/04/18 by Alex.Delesky Fixing PlacementMode module build error Change 3398513 on 2017/04/18 by Yannick.Lange VR Editor: - Remove unused previousvreditor member. - Removing extensions when exiting vr mode without having to find the extensions. Change 3398540 on 2017/04/18 by Alex.Delesky Removing a private PlacementMode header that was included in a public one. Change 3399434 on 2017/04/19 by Matt.Kuhlenschmidt Remove uncessary files from p4 Change 3400657 on 2017/04/19 by Jamie.Dale Fixed potential underflow when using negative digit ranges with FastDecimalFormat Change 3400722 on 2017/04/19 by Jamie.Dale Removed some check's that could trip with malformed data Change 3401811 on 2017/04/20 by Jamie.Dale Improved the display of asset tags in the Content Browser - Numeric tags are now displayed pretty printed. - Numeric tags can now be displayed as a memory value (the numeric value should be in bytes). - Dimensional tags are now split and each part pretty printed. - Date/Time tags are now stored as a timestamp (which has the side effect of sorting correctly) and displayed as a localized date/time. - The column view now shows the same display values as the tooltips do. - The tooltip now uses the tag meta-data display name (if set). - The tag meta-data display name can now be used as an alias in the Content Browser search. #jira UE-34090 Change 3401868 on 2017/04/20 by Cody.Albert Add screenshot save directory parameter to editor and project settings #rn Added options to the settings menu to specify screenshot save directory Change 3402107 on 2017/04/20 by Jamie.Dale Cleaned up the "View Options" menu in the Content Browser Re-organized some of the settings into better groups, and fixed some places where items would still be shown in the asset view when some of these content filter options were disabled (either via a setting, or via the UI). Change 3402283 on 2017/04/20 by Jamie.Dale Creating a folder in the Content Browser now creates the folder on disk, and cancelling a folder naming now removes the temporary folder #jira UE-8892 Change 3402572 on 2017/04/20 by Alex.Delesky #jira UE-42421 PR #3311: Improved log messages (Contributed by projectgheist) Change 3403226 on 2017/04/21 by Yannick.Lange VR Editor: - Removed previous quick menu floating UI panel. - Added the concept of a info display floating UI panel. - Used info display for showing sequencer timer. Change 3403277 on 2017/04/21 by Yannick.Lange VR Editor: - Set window mesh for info display panel. - Add option to null out widget when hidden. Change 3403289 on 2017/04/21 by Yannick.Lange VR Editor: Don't load VREditorAssetContainer asset when starting editor. Change 3403353 on 2017/04/21 by Yannick.Lange VR Editor: Fix variable 'RelativeOffset' is uninitialized when used within its own initialization. Change 3404183 on 2017/04/21 by Matt.Kuhlenschmidt Fix typo Change 3405378 on 2017/04/24 by Alex.Delesky #jira UE-42550 - Audio thumbnails should never rerender now, even with real-time thumbnails enabled Change 3405382 on 2017/04/24 by Alex.Delesky #jira UE-42097 - The Main Frame window will no longer steadily grow if it's closed while not maximized Change 3405384 on 2017/04/24 by Alex.Delesky #jira UE-43985 - Duplicating Force Feedback, Sound Wave, or Sound Cue assets from the context menu after right-clicking on the playback controls will now correctly select the newly created asset for rename. Change 3405386 on 2017/04/24 by Alex.Delesky #jire UE-42239 - Blueprints that have been duplicated from another blueprint will now render their thumbnails correctly instead of displaying a flat black thumbnail. Change 3405388 on 2017/04/24 by Alex.Delesky #jira UE-43241 - Blueprint classes that derive from notplaceable classes (such as SpectatorPawn and GameMode) can no longer be placed within the level editor via the right-click Add/Replace menus Change 3405394 on 2017/04/24 by Alex.Delesky #jira UE-42137 - Users can no longer access the widget object of a Widget Component from within actor construction scripts Change 3405429 on 2017/04/24 by Alex.Delesky Fixing a naming issue for CL 3405378 Change 3405579 on 2017/04/24 by Cody.Albert Fixed bad include from CL#1401868 #jira UE-44238 Change 3406716 on 2017/04/24 by Max.Chen Sequencer: Add attach/detach rules for attach section. #jira UE-40970 Change 3406718 on 2017/04/24 by Max.Chen Sequencer: Set component velocity for attached objects #jira UE-36337 Change 3406721 on 2017/04/24 by Max.Chen Sequencer: Re-evaluate on stop. This fixes a situation where if you set the playback position to the end of a sequence while it's playing, the sequence will stop playing but won't re-evaluate to the end of the sequence. #jira UE-43966 Change 3406726 on 2017/04/24 by Max.Chen Sequencer: Added StopAndGoToEnd() function to player #jira UE-43967 Change 3406727 on 2017/04/24 by Max.Chen Sequencer: Add cinematic options to level sequence player #jira UE-39388 Change 3407097 on 2017/04/25 by Yannick.Lange VR Editor: Temp asset for free rotation handle gizmo. Change 3407123 on 2017/04/25 by Michael.Dupuis #jira UE-44329: Only display the message in attended mode and editor (so user can actually perform the save) Change 3407135 on 2017/04/25 by Max.Chen Sequencer: Load level sequence asynchronously. #jira UE-43807 Change 3407137 on 2017/04/25 by Shaun.Kime Fixing comments to refer to correct function name. Change 3407138 on 2017/04/25 by Max.Chen Sequencer: Mark actor that the spawnable duplicates as a transient so that the level isn't dirtied. Then clear the transient flag on the object template. #jira UE-30007 Change 3407139 on 2017/04/25 by Max.Chen Sequencer: Fix active marker in sub, cinematic, control rig sections. #jira UE-44235 Change 3407229 on 2017/04/25 by Max.Chen Sequencer: Prioritize buttons over label. #jira UE-26813 Change 3407343 on 2017/04/25 by Matt.Kuhlenschmidt Added a world accessor to blutilties so they can operate on the editor world (spawn,destroy actors etc) Change 3407401 on 2017/04/25 by Nick.Darnell Slate - Adding a Round function to SlateRect. Also adding a way to convert a Transform2D to a full matrix. Change 3407842 on 2017/04/25 by Matt.Kuhlenschmidt Made AssetTools a uobject interface so it could be access from script. A few methods were deprecated and renamed to enforce a consistent UI. Now all asset tools methods that expose a dialog have "WithDialog" in their name to differentiate them from methods that do not open dialogs and could be used by scripts for automation. C++ users may still access IAssetTools but should not ever need to use the UAssetTools interface class Change 3407890 on 2017/04/25 by Matt.Kuhlenschmidt Removed temp method Change 3408084 on 2017/04/25 by Matt.Kuhlenschmidt Exposed source control helpers to script Change 3408163 on 2017/04/25 by Matt.Kuhlenschmidt Deprecated actor grouping methods on UUnrealEdEngine and moved their functionality into their own class( UActorGroupingUtils). There is a new editor config setting to set which grouping utils class is used and defaults to the base class. The new utility methods are exposed to script. Change 3408220 on 2017/04/25 by Alex.Delesky #jira UE-43387 - The Levels window will now support the organization of streaming levels using editor-only folders. Change 3408239 on 2017/04/25 by Matt.Kuhlenschmidt Added a file helpers API to script. This one is a wrapper around FEditorFileUtils for now to work around some issues exposing legacy methods to script but FEditorFileUtils will be deprecated soon Change 3408314 on 2017/04/25 by Jamie.Dale Fixed typo Change 3408911 on 2017/04/25 by Max.Chen Level Editor: Delegate for when viewport tab content changes. #jira UE-37805 Change 3408912 on 2017/04/25 by Max.Chen Sequencer: Transport controls are added when viewport content changes and only to viewports that support it (ie. cinematic viewport doesn't allow it since it has its own transport controls). This fixes issues where transport controls wouldn't be visible in newly created viewports and also would get disabled when switching from default to cinematic and back to default. #jira UE-37805 Change 3409073 on 2017/04/26 by Yannick.Lange VR Editor: Fix starting point of lasers. Change 3409330 on 2017/04/26 by Matt.Kuhlenschmidt Fix CIS Change 3409497 on 2017/04/26 by Alexis.Matte Fix crash importing animation with skeleton that do not match the fbx skeleton. #jira UE-43865 Change 3409530 on 2017/04/26 by Michael.Dupuis #jira UE-44329: Only display the log if we're not running a commandlet Change 3409559 on 2017/04/26 by Alex.Delesky #jira none - Fixing case of header include for CL 3408220 Change 3409577 on 2017/04/26 by Yannick.Lange VR Editor: being able to push/pull along the laser using touchpad or analog stick when transforming object towards laser impact. Change 3409614 on 2017/04/26 by Max.Chen Sequencer: Add Scrub() to movie scene player. Change 3409658 on 2017/04/26 by Jamie.Dale Made the handling of null item selection consistent in SComboBox If the selection was initially null and the combo was closed, it would previously pass through the null entry to its child SListView, which would then always think the selection was changing when the combo was opened and cause it to immediately close again. Change 3409659 on 2017/04/26 by Jamie.Dale Added preset Unicode block range selection to the font editor UI #jira UE-44312 Change 3409755 on 2017/04/26 by Max.Chen Sequencer: Back out bIsUISound for scrubbing. Change 3410015 on 2017/04/26 by Max.Chen Sequencer: Fix crash on asynchronous level sequence player load. #jira UE-43807 Change 3410094 on 2017/04/26 by Max.Chen Slate: Enter edit mode and return handled if not read only. Change 3410151 on 2017/04/26 by Michael.Trepka Fix for building EngineTest project on Mac Change 3410930 on 2017/04/27 by Matt.Kuhlenschmidt Expose editor visibility methods on Actor to blueprint/script Change 3411164 on 2017/04/27 by Matt.Kuhlenschmidt Fix crash when repeatedly spaming ctrl+s and ctrl+shift+s to save. PR #3511: UE-44098: Replace check with if-statement (Contributed by projectgheist) Change 3411187 on 2017/04/27 by Jamie.Dale No longer attempt to use the game culture override in the editor Change 3411443 on 2017/04/27 by Alex.Delesky #jira UE-43730, UE-43703 - Material Instances will now correctly use their preview meshes when being edited, or will use their parent's preview mesh if their preview mesh has not been set and the parent's is valid. Change 3411809 on 2017/04/27 by Max.Chen Sequencer: Prioritize buttons over label. #jira UE-26813 Change 3411810 on 2017/04/27 by Cody.Albert Scrollbox now properly calls Invalidate while scrolling Change 3411892 on 2017/04/27 by Alex.Delesky #jira UE-40031 PR #3065: Ignore .vs folder when initializing git projects (Contributed by mattiascibien) Change 3412002 on 2017/04/27 by Jamie.Dale Fixed crash when using an invalid regex pattern #jira UE-44340 Change 3412009 on 2017/04/27 by Cody.Albert Fixed Invalidation Panel to apply scale only to volatile elements, correcting an issue with Cache Relative Positions Change 3412631 on 2017/04/27 by Jamie.Dale Implemented support for hiding empty folders in the Content Browser "Empty" in this case is defined as folders that recursively don't contain assets or classes. Folders that have been created by the user or have at any point contained content during the current editing session are always shown. This also fixes some places where the content filters would miss certain folders (usually due to missing checks when processing AssetRegistry events), and allows asset and path views to be synced to folder selections (as well as asset selections), which improves the experience when renaming folders, and navigating the Content Browser history. #jira UE-40038 Change 3413023 on 2017/04/27 by Max.Chen Sequencer: Fix filtering so that it includes parent nodes only and doesn't recurse through to add their children. Change 3413309 on 2017/04/28 by Jamie.Dale Fixed shadow warning Change 3413327 on 2017/04/28 by Jamie.Dale Added code to sanitize some known strings before passing them to ICU Change 3413486 on 2017/04/28 by Matt.Kuhlenschmidt Allow AssetRenameData to be exposed to blueprints/script Change 3413630 on 2017/04/28 by Jamie.Dale Moved FUnicodeBlockRange into Slate so that it can be used for C++ defined fonts as well as those defined in the font editor Change 3414164 on 2017/04/28 by Jamie.Dale Removing some type-unsafe placement new array additions Change 3414497 on 2017/04/28 by Yannick.Lange ViewportInteraction: - Add arcball sphere asset. - Add opacity parameter to translucent gizmo material. Change 3415021 on 2017/04/28 by Max.Chen Sequencer: Remove spacer nodes at the top and bottom of the node tree. This fixes the artifact of having spaces at the top and bottom which get selected when you click on the space and when you press Home and End to go to the top or bottom of the tree. #jira UE-28931 Change 3415786 on 2017/05/01 by Matt.Kuhlenschmidt #rn PR #3518: Allow PaintedVertices to be sized down (Contributed by jasoncalvert) Change 3415836 on 2017/05/01 by Alex.Delesky #jira UE-39203 - You can now summon the reference viewer from the content browser using the keyboard shortcut. Change 3415837 on 2017/05/01 by Alex.Delesky #jira UE-34947 - When the user attempts to download an IDE from within the editor (due to needing one to add a C++ class), the window that hosts the widget will now close if it's a modal window. Change 3415839 on 2017/05/01 by Alex.Delesky #jira UE-42049 PR #3266: Profiler: added Thread filter (Contributed by StefanoProsperi) Change 3415842 on 2017/05/01 by Michael.Dupuis #jira UE-44514 : Removed the warning as it's causing more issue than it fixes. Change 3416511 on 2017/05/01 by Matt.Kuhlenschmidt Make UHT generate WITH_EDITOR guards around UFunctions generated in a WITH_EDITOR C++ block. This prevents these functions from being generated in non-editor builds Change 3416520 on 2017/05/01 by Yannick.Lange Viewport Interaction: - Toggle ViewportWorldInteraction with command for desktop testing without having to use VREditor. - Add helper function to add a unique extension by subclass. Change 3416956 on 2017/05/01 by Matt.Kuhlenschmidt Exposed EditorLevelUtils to script. This allows creation of streaming levels, setting the current level and moving actors between levels Change 3416964 on 2017/05/01 by Matt.Kuhlenschmidt Prevent foliage from marking actors dirty as HISM components are added and removed from the scene. Change 3416988 on 2017/05/01 by Lauren.Ridge PR #3122: UE-40262: Color tabs according to asset type (Contributed by projectgheist) Changed the highlight style to be around the icon and match the content browser color and style. #jira UE-40437 Change 3418014 on 2017/05/02 by Yannick.Lange Viewport Interaction: Remove material members from base transform gizmo and use asset container to get materials. Change 3418087 on 2017/05/02 by Lauren.Ridge Adding minor tab icon surrounds Change 3418602 on 2017/05/02 by Jamie.Dale Fixed a crash that could occur due to bad data in the asset registry It was possible for FAssetRegistry::PrioritizeSearchPath to re-order the BackgroundAssetResults in response to callback from FAssetRegistry::AssetSearchDataGathered, which caused integrity issues with the array, and would lead to results being missed, or an existing result being processed twice (which due to certain assumptions would result in it being deleted, and bad data being left in the asset registry). These results lists now use a custom type that prevents the mutation of items that have already been processed but not yet trimmed. Change 3418702 on 2017/05/02 by Matt.Kuhlenschmidt Fix USD files that reference other USD files not finding the referenced files by relative path. Requires USD third party changes only Change 3419071 on 2017/05/02 by Arciel.Rekman UBT: optimize FixDeps step on Linux. - Removes the need to re-link unrelated engine libraries when recompiling a code project. - Makes builds faster on machines with multiple cores. - The module that has circularly referenced dependencies is considered cross-referenced itself. - Tested compilation on Linux (native & cross) and Mac (native). Change 3419240 on 2017/05/02 by Cody.Albert Bound widgets in animation tracks can no longer be swapped with widgets from a different widget blueprint, which would lead to a crash Change 3420011 on 2017/05/02 by Max.Chen Sequencer: Fix scrubber hit testing so that the time scrubber is really favored over the playback ranges. #jira UE-44569 Change 3420507 on 2017/05/03 by Lauren.Ridge Selecting a camera or other preview actor in VR Mode now creates a floating in-world viewport. Also deselect all Actors when moving into and out of VR Mode Change 3420643 on 2017/05/03 by andrew.porter QAGame - Adding test content to QA-Sequencer for using spawnables with override bindings Change 3420678 on 2017/05/03 by andrew.porter QAGame: Updating override binding sequence Change 3420961 on 2017/05/03 by Jamie.Dale Exposed some missing Internationalization functions to BPs Change 3422767 on 2017/05/04 by Yannick.Lange ViewportInteraction: Extensibility for dragging on gizmo handles Removed ETransformGizmoInteractionType completely and replaced it with UViewportDragOperation. Using the ETransformGizmoInteractionType enum made external extensibility impossible. Now every gizmo handle group has a component called UViewportDragOperationComponent which holds a UViewportDragOperation of a certain type. This UViewportDragOperation can be inherited to create a custom method to calculate a new transform for the objects when dragging the gizmo handle. Change 3422789 on 2017/05/04 by Yannick.Lange ViewportInteraction: Fix duplicate console variable. Change 3422817 on 2017/05/04 by Andrew.Rodham Sequencer: Changed level sequence object references to always use a package and object path based lookup - Newly created binding references now consist of a package name and an inner object path for actors, and just an inner object path for components. The package name is fixed up dynamically for PIE, which means it can work correctly for multiplayer PIE, and when levels are streamed in during PIE (functionality previously unavailable to lazy object ptrs) - Added a way of rebinding all possessable objects in the current sequence (Rebind Possessable References) - Level sequence binding references no longer use native serialization now that TMap serialization is fully supported. - Multiple bindings are now supported in the API layer of level sequence references, although this is not yet exposed to the sequencer UI. #jira UE-44490 Change 3422826 on 2017/05/04 by Andrew.Rodham Removed erroneous braces Change 3422874 on 2017/05/04 by James.Golding Adding MaterialEditingLibrary to allow manipulation of materials within the editor. - Refactored code out of MaterialEditor where possible Marked some material types as BP-accessible, to allow to editor-Blueprint access. Remove unused 'bSkipPrim' property from Set/CheckMaterialUsage Change 3422942 on 2017/05/04 by Lauren.Ridge Tab padding adjustment to allow tabs with icons to be the same height as tabs without Change 3423090 on 2017/05/04 by Jamie.Dale Added a way to get the source package path for a localized package path Added tests for the localized package path checks. Change 3423133 on 2017/05/04 by Jamie.Dale Fixed a bug where a trailing quote without a newline at the end of a CSV file would be added to the parsed text rather than converted to a terminator Change 3423301 on 2017/05/04 by Max.Chen Sequencer: Add JumpToPosition which updates to a position in a scrubbing state. Change 3423344 on 2017/05/04 by Jamie.Dale Updated localized asset group caching so that it works in non-cooked builds Change 3423486 on 2017/05/04 by Lauren.Ridge Fixing deselection code in VWI Change 3423502 on 2017/05/04 by Jamie.Dale Adding automated localization tests Change 3424219 on 2017/05/04 by Yannick.Lange - Hide FWidget when ViewportWorldInteraction starts. - Added option to EditorViewportClient to not render FWidget without using FWidget::SetDefaultVisibility. Change 3425116 on 2017/05/05 by Matt.Kuhlenschmidt PR #3527: Modified comments (Contributed by projectgheist) Change 3425239 on 2017/05/05 by Matt.Kuhlenschmidt Fix shutdown crash in projects that unregister asset tools in UObjects being destroyed at shutdown. Change 3425241 on 2017/05/05 by Max.Chen Sequencer: Components aren't deselected from the sequencer tree view when they get deselected in the viewport/outliner. #jira UE-44559 Change 3425286 on 2017/05/05 by Jamie.Dale Text duplicated as part of a widget archetype now maintains its existing key #jira UE-44715 Change 3425477 on 2017/05/05 by Andrew.Rodham Sequencer: Do not deprecate legacy object references since they still need to be serialized on save - Also re-add identical via equality operator so that serialization works again Change 3425681 on 2017/05/05 by Jamie.Dale Fixed fallback font height/baseline measuring Change 3426137 on 2017/05/05 by Jamie.Dale Removing PPF_Localized It's an old UE3-ism that's no longer tested anywhere Change 3427434 on 2017/05/07 by Yannick.Lange ViewportInteraction: Null check for viewport. Change 3427905 on 2017/05/08 by Matt.Kuhlenschmidt Removed the concept of a global selection annotation. This poses a major problem when more than one selection set is clearing it. If more than one selection set is in a transaction the last one to be serialized will clear and rebuild the annotation thus causing out of sync issues with component and actor selection sets. This change introduces the concept of a per-selection set annotation to avoid being out of sync. Actor and ActorComponent now override IsSelected (editor only) to make use of these selections. #jira UE-44655 Change 3428738 on 2017/05/08 by Matt.Kuhlenschmidt Fix other usage of USelection not having a selection annotation #jira UE-44786 Change 3429562 on 2017/05/08 by Matt.Kuhlenschmidt Fix crash on platforms without a cursor #jira UE-44815 Change 3429862 on 2017/05/08 by tim.gautier QAGame: Enable Include CrashReporter in Project Settings Change 3430385 on 2017/05/09 by Lauren.Ridge Resetting user focus to game viewport after movie finishes playback #jira UE-44785 Change 3430695 on 2017/05/09 by Lauren.Ridge Fix for crash on leaving in the middle of a loading movie #jira UE-44834 Change 3431234 on 2017/05/09 by Matt.Kuhlenschmidt Fixed movie player setting all users to focus which breaks VR controllers [CL 3432852 by Matt Kuhlenschmidt in Main branch]
2017-05-10 11:49:32 -04:00
// Hit test against the brush region to the left of the playback end position, +/- DragToleranceSlateUnits
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3946692) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3801826 by Max.Chen PR #4304: Level Sequence crash fix - Guarded against dereferencing null componen. (Contributed by DSDambuster) Change 3801828 by Max.Chen PR #4302: Movie Scene Visibility Template unitialised variable, causing random . (Contributed by DSDambuster) Change 3801837 by Max.Chen Sequencer: Delay spawning/construction for convert to possessable. This fixes a bug where property values would be lost when converting back and forth from possessable to spawnable. #jira UE-52400 Change 3801841 by Max.Chen Sequencer: Make spacer nodes not selectable. PR #4194: Improvements to Sequencer (Contributed by projectgheist) #jira UE-53117 #jira UE-52139 Change 3804183 by Max.Preussner MediaAssets: Added missing lock in media sound component Change 3805414 by Max.Preussner MediaAssets: Setting valid GUID when initializing media texture resource Change 3819578 by Max.Chen PR #4370: When enabling the "MovieCapture", do not turn off the Stereo-3D display. (Contributed by yehaike) #jira UE-53647 Change 3823414 by Max.Chen Curve Editor: Lock down the first and last keys in the redundant keys removal range so that they're unaffected. #jira UE-53591 Change 3826406 by Max.Chen Sequencer: Move OnStartedPlaying() to within first update in UpdateTimeCursorPosition(). This fixes an issue where setting the hud/player visibility was getting stomped on later. #jira UE-52772 Change 3827044 by Max.Preussner MediaAssets: Added sprite visualization to media sound component #jira UE-53594 Change 3827988 by Max.Preussner MediaPlayerAssets: Fixed Media Texture is not linked to Media Player when created together #jira UE-53532 Change 3828506 by Max.Preussner MediaPlayerEditor: Added attenuation visualizer for media sound components #jira UE-53594 Change 3832590 by andrew.porter EngineTest: Added a keep state check in Property Animation sequencer test Change 3833053 by andrew.porter EngineTest: Adding Hierarchical Bias test Change 3835683 by andrew.porter EngineTest: Adding UMG Animation screenshot test Change 3836076 by Max.Chen Sequencer: Fix audio volume and pitch multiplier deprecation. Change 3836230 by andrew.porter EngineTest: Adding Sequence Bone Position automation test Change 3836347 by Max.Chen Sequencer: Fixes to shot name parsing. When a shot doesn't contain a shot number, assume, [ShotName]_[TakeNumber]. When duplicating a shot, put the new shot in the same path of the original shot, so that the take numbers will increment properly. #jira UE-51868 Change 3836552 by Max.Chen Sequencer: Sub section now has a takes menu Change 3838094 by Max.Chen UMG: Fix template finish not getting called on stop. This fixes a bug where sections aren't restored when finished. #jira UE-52285 Change 3838708 by Max.Chen Sequencer: Add notification when the blend type is changed. #jira UE-54046 Change 3840295 by Max.Chen Sequencer: Fix copy/paste crash for lights #jira UE-54084 Change 3840957 by Mike.Zyracki Added Show Only Keyable and Show Only Animated to the filter list in the property editor. Added IsPropertyAnimated to IDetailKeyframe Interface which already had support for showing properties which are keyable (which is used for the key icon next to the properties.). Could have created another interface but then would have had to mimic the sequencer binding, releasing also, so this seemed best way. One issue still left is that custom built detail items currently don't store associated properties(usually) and so certain properties, in particulalry transforms, won't show up as keyable or animated. Note this also shows up with the keyable icon not showing up next to transform tracks, and other filters like Show Only Modified not working with transforms/customs. Not sure best way to tackle this. #jira UESEQ-328 Change 3841756 by Max.Chen Sequencer: Fix unbound possessable components when pasting spawnables. #jira UE-54104 Change 3843950 by andrew.porter EngineTest: Renaming LevelStreaming tests/content to LevelVisibility Change 3844082 by Mike.Zyracki Missing file for animated filter in property editor. When finding if a track is animated we need to find it but we can't easily induce the MovieTrack class for any particular property. So we don't set a class for it and just search by it's ID and name. #jira UESEQ-328 Change 3846902 by Max.Preussner ImgMedia: Fixed image media player never finished initialization if loading failed #jira UE-54247 Change 3849820 by Mike.Zyracki Reassigning deleted widgets didn't work since the menu extender mechanism needs a valid UObject in order to perform an operation on it. So to fix we replaced GetObjectBindingContextMenuExtender in WidgetBlueprint with new delegate mechanism (OnBuildCustomContextMenuForGuid) that supports FGuid in addition to UObjects which is needed to handle re-binding deleted widgets. Note that the default sequencer hacks this for replacing deleted actors in SequencerObjectBindingNode to check to see if a LevelSequence is active. We could move to this mechanism there also. #jira UE-53163 Change 3852211 by Max.Chen UMG: Indicate name of the property that is not bound. #jira UE-54350 Change 3854120 by Max.Chen Sequencer: Fix sibling folders being allowed to have the same folder name. #jira UE-54363 Change 3854627 by Max.Chen Sequencer: Step to next/previous key should work for all tracks if there aren't any selected. #jira UESEQ-391 Change 3855825 by andrew.porter EngineTest: Adding animation blending automation test Change 3855950 by andrew.porter EngineTest: Adding correct expected valuues to animation blending test Change 3856237 by Matt.Hoffman UESEQ-336 - Sequencer Track Reordering Adds the ability to re-order Master Tracks, Folders and Object Bindings within sequencer hierarchies (including UMG). Adds the ability to do a one-off sorting of the content under the old sorting behavior if the user wants to reset their layout to how it was under legacy behavior. Modifies SequencerTrackNodes, SequencerFolderNodes and SequencerObjectBindingNodes to handle CanDrop/OnDrop for above, below and ontop of. Fixes a Slate Issue that forcibly expanded a TreeviewRow if an item handled OnDrop. Slate will now only forcibly expand the row if the item says the drop happened ontop of the item, and not above or below it like it previously did. Change 3856503 by andrew.porter EngineTest: Adding automation test for using animation blueprint with blend multi node in sequencer Change 3857875 by Max.Chen Sequencer: Assign the sequence id after the template is compiled. #jira UE-54462 Change 3858344 by Max.Chen Sequencer: Prevent Goto and Transform boxes from overlapping by allowing them to be visible at the same time in an autosized horizontal box. Also, added close button to the goto box. PR #4425: Prevent Goto and Transform boxes from overlapping in Sequencer ... (Contributed by projectgheist) #jira UE-54210 Change 3860566 by andrew.porter MediaFrameworkTest: Set the option to index 0 for the audio and video track list by default Change 3860654 by andrew.porter EngineTest: Enabling Camera Cut + FOV test Change 3860981 by andrew.porter EngineTest: Updating skeletal mesh tests with a delay after set playback position Change 3861256 by Max.Chen Sequencer: Add all bindings if none selected. #jira-54440 Change 3862154 by Andrew.Rodham Added TimeManagement module Change 3862424 by andrew.porter EngineTest: Turned on the test Bone Positions with Blend Multi Node Change 3862573 by andrew.porter EngineTest: Adding test to compare bone positions in a sequence that is blending an animation that is using an AnimBP Change 3865117 by Max.Chen Sequencer: Stop auto scroll on mouse release of movement. #jira UE-31212 Change 3865303 by Max.Chen Sequencer: Add drag and drop transactions #jira UE-54662 Change 3865304 by Max.Chen Sequencer: Fix crash when an actor factory is not found. Change 3865361 by Max.Chen Sequencer: Don't change the camera/shot lock button when popping out of a sequence. #jira UE-54665 Change 3865412 by Max.Chen Sequencer: Determine whether a transform track is for a camera by using the spawned object or template #jira UE-54666 Change 3865685 by Max.Chen Sequencer: Clear autoscrub offset when stopping autoscroll #jira UE-31212 Change 3865886 by Max.Chen Sequence Recorder: Log an error if the number of frames changes while recording. This can happen if the skeleton changes while recording. #jira UE-48715 Change 3866925 by Andrew.Porter MediaFrameworkTest: Changing the current PNG test video image sequence to 1024 x 576 Change 3867705 by andrew.porter QAGame: Adding Audio Sort Sequence to dev folder Change 3867890 by andrew.porter QAGame: Adding a sequence for testing a sorting crash to my dev folder Change 3872628 by Max.Chen Movie Scene Capture: Split delay before warmup into split delay before shot warmup so that there's separate controls for when the movie scene capture warmups up vs. shot boundaries. Change 3873131 by Matt.Hoffman UE-54732 - Crash reordering a folder with a track. This was caused by folders being the only type of track to check if someone was putting a parent track into a child track. Object Binding tracks and Tracks now check as well so that you can't use the above/below drop targets to add parents as children. This also fixed a typo in the localization keys. #jira UE-54732 Change 3873301 by Mike.Zyracki Added ability to support continous euler angle changes when changing rotations, in particularly with the rotation gizmo's. To do this we effectively added a form an of 'euler filter'(https://en.wikipedia.org/wiki/Euler_filter) to find the closest euler angle to the current euler angle. Three functions were added to FRotator to make this possible, one to get the euler angle that's has the same rotation as it, one to get the difference between two euler angles via Manhattan distance and a third using the previous two to choose a Rotator value that's closest to it. We then use these functions before calling UComponent::SetRelativeRotation to make sure we use the correct Euler after the Quat conversion. We also no longer limit(bound) the euler angles to -180,180, which is obviously necessary to avoid flips. I also changed how we caluclate yaw and roll when pitch is -90 or 90 to make it the standard approach of zeroing out roll and just setting yaw. Main reasons are the previous implementation had precision issues so things like 180, 90, -180 would show up due to numbers being nearly zero but negative,(this would break any smooth interpolations), and this facilitates having a 'gimbal' rotation mode (like Maya, Blender etc..) if we ever want that also. If needed we could keep the previous implementation but would need to add some FMath::IsNearlyZero checks, with less performance. Note we only do this special filtering when applying delta's to actors or components in the editors, which then call UComponent::SetRelativeRotationExact, which is a new function to foces the RelativeRotation to be equal to the new rotation. This allows us to store un-nomalized Rotators at the cost that the RotationCache may be broken. We didn't change any of the other UComponent functions that set rotations (via Quats or Transforms) so they will still be bounded and unwound. In SetInternalWorldLocationAndRotation we only set the rotation if the rotation has changed, which fixes the rotation getting changed and re-normalized if just translate happens. In TransformTrackEditor, we correclty use the bUndwing flag and in MovieScene3DTransformSection there was an un-needed winding check there, it will be unwound earlier if needed, which happens if Sequence Recording is happening. Max we should talk about what to do about this . Note the euler angle drag via the widget is still bound to 0-360. I think we should just unbound that now since the rotations value are now unbound. This review now includes fixes suggested by Zak. #jira UE-UE-22228 Change 3873483 by Matt.Hoffman Sequencer Tracks can now be inserted above the spacer at the bottom of the tree. #jira UE-54706 Change 3873899 by Max.Chen Sequencer: Add section selection throbbing Change 3873908 by Max.Chen Movie Scene Capture: Added logging per frame Change 3873924 by Matt.Hoffman Adds the ability to store Sequence Recorder setups into profiles that stay with the map and can be re-loaded later. Profiles store the Actor Recordings so the settings for each actor should carry with them. #jira UESEQ-339 Change 3874726 by Matt.Hoffman Disable drag-and-drop targets on spacers that come between rows in Sequencer. This prevents extra drag/drop targets showing up between each row. #jira UE-54706 Change 3874862 by Matt.Hoffman Audio Track no longer gets reordered when adding sub-audio tracks, as sub-tracks are no longer counted towards the sorting order index when normalizing indexes. #jira UE-54727 Change 3875905 by Matt.Hoffman Disable Fade Track UI if a fade track already exists in the sequence. #jira UESEQ-393 Change 3876163 by Max.Chen Sequencer: Swap the camera object to the camera component's owner if it's not the same. #jira UE-54874 Change 3876971 by Andrew.Porter EngineTest: Moved Media Player Seek test to new folder. Also enabled the test with new ground truth image. Change 3877040 by Max.Chen Cine Camera: Split camera properties to two groups, "Camera Options" and "Camera Settings". The cine camera now hides properties in the "Camera Settings" group so that properties like bConstrainAspectRatio (in the "Camera Options" group) can be visible. #jira UE-54192 Change 3877763 by Max.Chen Curve Editor: Fix curve changed on end drag so that only curves that had keys/tangents that were changed receive notification, otherwise all loaded curves were getting notified that they were changed. #jira UE-54951 Change 3878234 by Matt.Hoffman Disable "Drop Below" targets for Sequencer Tree nodes to prevent a confusing UX issue where dropping underneath a Object Binding Node puts it after the object binding node but the UI looks like it's inserting it inside the Object Binding node. #jira UE-54743 Change 3879359 by Mike.Zyracki If a track is inactive we dim it a bit which seems to be the UE4 way to show inactive or disabled state. We changed the active logic so that all subtracks need to be inactive for the track to also be inactive(instead of all active for active). This conforms to how the active state actually works, e.g if you have two sections and only one is active the track is still active above it. #jira UESEQ-388 Change 3879462 by Max.Chen Sequencer: Allow dragging onto a particular row which would move out any overlapping sections to make space for the newly created section. Newly created sections are now selected and throbbed to draw attention to themselves. #jira UE-54664 Change 3879464 by Max.Chen Sequencer: Fixed overlapping ranges being inserted into the evaluation field during compilation - The issue was that track segments that had been combined with adjacent segments (due to them being identical) would potentially cause a subsequently compiled frame to overlap with a range that had already been inserted into the evaluation field. - The insertion code previously asserted that only minor overlaps were catered for (due to fp rounding errors) and assumed that a supplied range could not entirely contain any other range in the field. - The solution is to supply the insertion time along with the range to know exactly where the data should live in the field, and crop the range to the maximum allowable space between adjacent ranges. #jira UE-54922 Change 3879590 by Matt.Hoffman Items that are now added to the Sequencer via the "+Track" menu will be selected after being added. Items can now be added inside of folders instead of just to the root level. #jira UE-27397 Change 3879612 by Mike.Zyracki Display Nodes with no children are always active. #jira UESEQ-388 Change 3879730 by Matt.Hoffman Sequence Recorder's actor recording groups now remove items from the group when removed via the UI. #jira UESEQ-339 Change 3880256 by Mike.Zyracki Fix issue with inactive display with folders and other track nodes. #jira UESEQ-388 Change 3883491 by Max.Chen Fix issue where tick is skipped due to last ticked pose isn't cleared after AnimInstance changes. Copy from Release-4.19 #jira UE-51323 Change 3883603 by Max.Chen Movie Scene Capture: Add option toggle disable screen percentage. By default this is on (no change in current behavior). #jira UE-51898 Change 3885074 by Max.Preussner MediaCompositing: Resetting media texture & freeing resource on section end; removed dead code Change 3887220 by Max.Preussner MediaCompositing: Defaulted media section duration to 1 sec (since we do not know the actual duration in most cases) Change 3887478 by Matt.Hoffman Sequences now show [Inactive] in their title bars when they're disabled. This helps communicate why a sequence isn't being evaluated. #jira UE-51469 Change 3888985 by Max.Chen Movie Scene Capture: Clamp HDR Compression Quality between 0 and 1. #jira UE-55136 Change 3893519 by Max.Chen Sequence Recorder: Clarified tooltip for bRecordNearbySpawnedActors - spawned actors will still be recorded if they match the ActorFilter. #jira UE-55238 Change 3893546 by Max.Chen Sequence Recorder: If a selected actor already has a recording, add a blank recording. #jira UE-55239 Change 3894044 by Max.Preussner MediaCompositing: Added support for seeking into a media section Change 3894310 by andrew.porter MediaFrameworkTest: Adding Img media sources for 1080 and 2160 ravent test content Change 3894426 by Max.Preussner MediaAssets: Letting media textures with AutoClear retain their clear color when player is reset Change 3895717 by Max.Chen Sequencer: Null checks to prevent crash when saving the default state of a spawnable #jira UE-55304 Change 3897388 by Max.Chen Sequencer: Don't update current time to be within the view range when stepping into a sequence. #jira UE-55322 Change 3897452 by Max.Chen Audio: Fix crash when trying to record audio without any active capture devices. Log warning if the number of input channels is not 1 or 2. #jira UE-55223 Change 3897619 by Max.Preussner MediaCompositing: Removed commented out code Change 3898072 by Max.Chen Sequencer: Override the animation asset in the player state if it doesn't match the animation asset that's being evaluated. #jira UE-55328 Change 3898272 by Max.Preussner MediaPlayerEditor: Made slate brush constants static Change 3898704 by Max.Chen Sequencer: Skip if the binding id's sequence can't be found. #jira UE-55337 Change 3899855 by Max.Preussner MediaCompositingEditor: Added cache state visualization to media track Change 3900300 by Max.Preussner MediaCompositingEditor: Added loop indicators to media sections Change 3900694 by Max.Preussner ImfMedia: Looping cache only when player is looping Change 3900892 by Max.Preussner Stats: Added stats category for media framework Change 3900954 by Max.Preussner MediaCompositing: Don't evaluate at the end of media section Change 3901348 by Max.Preussner Core: Replaced TLruCache autos for better readability Change 3901655 by Max.Preussner ImgMedia: Added more perf stats to EXR reader Change 3901972 by Max.Preussner MediaAssets: Added getter for media player in media sound components Change 3902233 by Max.Preussner MediaAssets: Enabling media textures to receive samples right after player is assigned Change 3902238 by Max.Preussner MediaCompositing: Working around init/shutdown idiosyncracies in sequencer Change 3904045 by Max.Chen Sequencer: Fix copy/paste crash. Only process UMovieSceneCopyableBinding and objects that can be spawned by the movie scene spawn register. #jira UE-55314 Change 3905605 by Max.Chen Sequencer: Restrict spawnables from being created if they have a ClassWithin that UMovieScene is not a child of. #jira UE-55429 Change 3906550 by Max.Chen Sequencer: Add media track icon #jira UE-55480 Change 3907101 by Max.Chen Sequence Recorder: Fix bugs related to not recording a level sequence. There were certain assumptions that creating a level sequence meant that sequence recording was in progress. This is not always the case - the recorders can record animation assets and not create a level sequence. Changed the notion of IsRecording() to having at least one actor recording that is recording. Countdown timer, recording displays, etc should function if IsRecording() and not based on whether a level sequence is created. #jira UE-55485 Change 3907247 by Max.Chen Sequence Recorder: Fix crash not removing PrepareToCleanseEditorObject delegate. Repros when opening sequence recorder, closing it, and then opening or creating a level. Change 3910343 by Max.Preussner Core: Added async helper for executing functions on a given thread pool Change 3910346 by Max.Preussner ImgMedia: Added separate thread pools for loading/decoding and deleting image frames Change 3910829 by Max.Preussner Profiler: Increased visible range of profiler graph Change 3910841 by Max.Preussner MediaCompositing: Displaying asset name instead of full media source path in media section Change 3910870 by Max.Preussner ImgMedia: Using deallocation thread pool only in debug builds Change 3919642 by Max.Chen Sequence Recorder: Clarify active tooltip #jira UE-55661 Change 3919660 by Max.Chen Sequencer: Sequence template source signatures are now also compared to catch the case where a sub-sequence asset has been saved but not modified - The following sequence of events exposes this issue: - Create a master sequence with a single shot that spawns a cube - Add this sequence to a level and set it to auto-play - Save everything and restart - Resave just the inner shot asset without opening it - PIE - The inner shot never spawns its cube because its template was wiped on save, but its signature never changed. Since the master sequence previously didn't check the template source signature, it ends up trying to evaluate an empty template. #jira UE-55626 #jira UE-55490 Change 3921825 by Max.Chen Sequencer: "Run Construction Script in Sequencer" is off by default for blueprints but on for Sequencer. This allows the content author to switch it on for specific blueprints and sequencer will be default, run those with construction scripts enabled. Change 3922232 by Max.Chen Sequence Recorder: Reset countdelay on stop. #jira UE-55755 Change 3922306 by Max.Chen Sequence Recorder: Don't automatically mark transforms to be recorded by sequence recorder. Instead, log a warning if the user toggled it off to warn that the resulting animation might not match gameplay. #jira UE-55758 Change 3922912 by Max.Chen Sequence Recorder: Fix refresh next sequence name #jira UE-55757 Change 3927654 by Max.Chen Movie Scene Capture: Added format mapping for the name of the current camera #jira UE-55769 PR #4537 Change 3927658 by Max.Chen Sequencer: Added fbx property mapping for "FocusDistance" to "FocusSettings.ManualFocusDistance" #jira UE-55782 Change 3932022 by Max.Chen Sequencer: Add import animation track section to next available row index. #jira UE-55892 Change 3933919 by Max.Chen Sequencer: Jump to playback start frame and not 0 to start playback for recording. #jira UE-55933 Change 3934307 by Andrew.Rodham Sequencer: Add template signature that is re-generated every time the base template is regenerated, which invalidates evaluation fields This fixes an issue where the same sequence is instantiated multiple times in a sequence. If the source sequence was saved, its template would be wiped, which would invalidate the template ID When an instance tries to evaluate the master template, it would only invalidate a range in the evaluation field that was the hull of any invalid sub sequences overlapping the current time, potentially leaving invalid data in the evaluation field at positions later (or earlier) on in the sequence When the sub template was re-generated, it receives the same SequenceSignature as it had before (because the sequence hasn't actually changed), which causes the stale evaluation field data to fail the IsDirty check (because the sequence is the same as it thought, but the *template* has changed) This has been addressed be adding a signature to templates themselves, and checking both the template signature and sequence signature as a part of the IsDirty check. This ensures that we regenerate if either the template, or the sequence have changed. #jira UE-55934 Change 3936327 by Andrew.Rodham Sequencer: Removed increment when trimming right UMovieSceneSection::TrimSection already explicity assigns an exclusive bound to the time passed in. The new behavior means we can trim a section to the right, and insert another section without changing the time to create adjacent sections. #jira UE-42652 Change 3936328 by Andrew.Rodham Fixed KeyFrameManipulator assignment operators and copy/move constructors - These types are potentially self-referential so cannot use default constructors/assignment Change 3936330 by Andrew.Rodham Converted UMGSequencePlayer to use frames internally #jira UE-54878 Change 3936726 by Max.Chen Sequencer: Set track node as the parent of the key area node. The key area switcher needs the object binding id from the parent object binding node. Without this, the binding to the external value fails. #jira UE-55931 Change 3936775 by Max.Chen Sequencer: Should stop or loop should compare DurationFrames with Current Time from StartTime. The bug is that if you set 30 warmup frames in movie rendering for a range of 0-100, the FrameRange will be starting at -30 and have a duration of 130. Without this fix, the playback will continue until frame 130, rather than 100. #jira UE-55933 Change 3936935 by Matt.Hoffman Easing Curves are now represented in Play Rate resolution instead of internal resolution. #jira UE-55937 Change 3937069 by Matt.Hoffman Users can toggle if the is infinite on each side, limited by which tracks support infinite ranges. #jira UE-55891 Change 3937516 by Max.Preussner ImgMedia: Added support for single-threaded platforms #jira UE-55986 Change 3937826 by Max.Preussner MediaAssets: Disabling media sound components on HTML5 if AudioMixer is not enabled Change 3937997 by Max.Chen Curve Editor: Add Zoom to Fit Curves so that selected curves from Sequencer can be focused on. Tested that undo doesn't re-zoom. #jira UE-55935 Change 3938000 by Max.Chen Sequencer: Stop all sounds before generating audio waveforms. #jira UE-55951 Change 3938376 by Max.Preussner XGEController: Disabled XGE Controller in single-threaded apps to prevent crash Change 3938444 by Max.Preussner Core: Added async support for single-threaded applications Change 3938445 by Max.Preussner Networking: Added support for single-threaded applications in UDP socket sender/receiver Change 3938447 by Max.Preussner Messaging: Added support for single-threaded applications Change 3939432 by Max.Chen Sequence Recorder: Append command list to global level editor actions so that shortcuts are accessible in level editor. #jira UE-55798 Change 3940229 by Andrew.Rodham Added prospective display rate upgrade to UMovieScene::PostLoad - There was previously some very odd behaviour that would assign the fixed frame interval only when a sub sequence was focused in SSequencer. This meant that many sequences could have a frame interval of 0 set in the data. - Under the old method of snap interval display this would have fallen back to getting the display interval from the sequencer settings, but we no longer look at these. - The USequencerSettings properties have been removed and in their place, a prospective data upgrade for sequences that have a fixed frame interval old 0fps that sets the play rate to the previous defaults based off the old USequencerSettings defaults. - This could end up 'changing' the display rate for sequences where the user has changed the snap interval in the settings for a particular sequence editor, but there's not much we can do about that given we don't have access to the USequencerSettings classes in UMovieScene #jira UE-55919 Change 3940277 by Andrew.Rodham Sequencer: Added ability to default frame resolutions and play rates for newly created actor sequences Change 3940378 by Andrew.Rodham Sequencer: Post move import dialog now defaults to the playback framerate of the sequence, and floors to frame numbers Change 3940559 by Andrew.Rodham Reinstated primed or recording sequence color Change 3940642 by Max.Preussner ImagePlate: Removed image plate media playback functionality Change 3940843 by Max.Preussner Core: Made TCircularQueue actually thread-safe; improved code comments Change 3940860 by Max.Chen Sequencer: Changed StructNameToKey to StructPathToKey Previously, keying a PropertyPath of [RenderTransform][Shear][X] would get trimmed to X, which doesn't map to a channel name as considered by Sequencer2dTransformTrackEditor. Instead, trim the resulting property path to [Shear][X] so that track editors can determine the desired struct path and channels to key. #jira UE-52966 Change 3941292 by Mike.Zyracki Fix for trajectories out of range not showing up. 1) If we had no key data we would pop the time, so wouldn't get the section ranges. 2) Calculating of upper bound was wrong, checking against -1 and not key == num of keys when doing algo::lower_bound. 3) No need to do the Bck-- for the bakward iterators since we fixed #2. We start now from the upper bound correctly. 4) If we had no keys (at section start,end) we would incorrectly say we were any key type, so since we draw constant keys as dashed we would do so incorrectly around section end points. #jira UE-55929 Change 3941424 by Max.Chen Curve Editor: Change Zoom to Fit to use TArrayView Change 3941498 by Max.Preussner Core: Added FMath::DivideAndRoundNearest function Change 3942097 by Matt.Hoffman Drop Frame Timecode Support for NTSC rates. Change 3942104 by Matt.Hoffman Sequence Recorder Group is no longer visible inside the World Outliner after using one. #jira 55266 Change 3942107 by Max.Chen Sequencer: Resurrect logic to find or extend an existing section when adding keys. Change 3942330 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942339 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942507 by Andrew.Rodham Sequencer: We no longer pad the time overlap threshold with a small number that is not scaled by the current zoom level - The presence of this pad was causing keys that were far apart to be grouped when zoomed in a long way Change 3942509 by Andrew.Rodham Sequencer: Only pad total view range, rather than section range as well when retrieving keys to render - This stops us from rendering keys that are within the view range, but outside the section range Change 3942512 by Andrew.Rodham Added transactions to some sequencer details customizations Change 3942513 by Andrew.Rodham Sequencer: Reinstated validation checks to UMovieSceneSection::SetStartFrame and SetEndFrame, changed erroneous uses to use SetRange Change 3942560 by Andrew.Rodham Pass by rvalue reference to appease error C2719 on Win32 ('InChannels': formal parameter with requested alignment of 8 won't be aligned) Change 3942697 by Andrew.Rodham Newly Created Level Sequences and Actor Sequences now default to 24000 fps frame resolution (+/- ~24hrs range, supporting all integer rates + 23.976) Change 3942700 by Andrew.Rodham Sequencer: Added legacy out-of-bounds errors for times that are not supported by the current legacy upgrade frame resolution Change 3942989 by Max.Preussner Core: Fixed circular queue count calculation Change 3943538 by Max.Preussner MediaAssets: Reverted workaround for procedural audio log spam in HTML5 (Actor component initialization cannot be skipped if the component is used in a level) Change 3944071 by Max.Preussner QAGame: Fixed Media Texture keeps last frame of Media when PIE ends #jira UE-53360 Change 3944292 by Max.Chen Sequencer: Added extra flags to ensure that asset initialization does not occur on template actor sequences #jira UE-56113 Change 3944364 by Max.Chen Sequencer: Prevent circular shot/master tracks. Tested adding master -> child -> master as drag and drop cinematic shot tracks and sub tracks as well as through the + button. #jira UE-56091 Change 3944422 by Max.Chen Sequence Recorder: Disable transform recording if off. #jira UE-56061 Change 3944745 by Andrew.Rodham Sequencer: Key rendering fixes - Fixed assert that occured when keys happened to reside on some times due to KeyTime + TimeOverlapThreshold - KeyTime being slightly larger TimeOverlapThreshold - Fixed keys sometimes being clipped when zoomed right in due to lack of half-frame offset - Added missing documentation to MovieSceneTimeHelpers.h #jira UE-56107 Change 3945231 by Andrew.Rodham Sequencer: Reconstruct channel proxy on Serialize to catch all cases of undo/redo, PostLoad and duplication #jira UE-56089 Change 3945301 by Andrew.Rodham Sequencer: Added safety checks during initial sequence recording to guard against applying negative or 0-sized sequence ranges #jira UE-56125 Change 3946627 by Max.Preussner Fortnite: Fixed game crashes closing editor while in PIE - Pure virtual function being called #jira UE-56144 [CL 3946896 by Max Chen in Main branch]
2018-03-14 22:09:33 -04:00
return HitPixel >= RangeEndPixel - MouseTolerance - BrushSizeInStateUnits - DragToleranceSlateUnits &&
HitPixel <= RangeEndPixel + MouseTolerance + DragToleranceSlateUnits;
}
bool FSequencerTimeSliderController::HitTestMark(const FScrubRangeToScreen& RangeToScreen, float HitPixel, int32& OutMarkIndex) const
{
const TArray<FMovieSceneMarkedFrame> & MarkedFrames = TimeSliderArgs.MarkedFrames.Get();
if (MarkedFrames.Num() < 1)
{
return false;
}
static float BrushSizeInStateUnits = 3.f, DragToleranceSlateUnits = 2.f, MouseTolerance = 2.f;
for (int32 MarkIndex = 0; MarkIndex < MarkedFrames.Num(); ++MarkIndex)
{
double Seconds = MarkedFrames[MarkIndex].FrameNumber / GetTickResolution();
float MarkPixel = RangeToScreen.InputToLocalX(Seconds);
// Hit test against the brush region to the left/right of the mark position, +/- DragToleranceSlateUnits
if ((HitPixel >= MarkPixel - MouseTolerance - DragToleranceSlateUnits &&
HitPixel <= MarkPixel + MouseTolerance + BrushSizeInStateUnits + DragToleranceSlateUnits) ||
(HitPixel >= MarkPixel - MouseTolerance - BrushSizeInStateUnits - DragToleranceSlateUnits &&
HitPixel <= MarkPixel + MouseTolerance + DragToleranceSlateUnits))
{
OutMarkIndex = MarkIndex;
return true;
}
}
return false;
}
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3946692) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3801826 by Max.Chen PR #4304: Level Sequence crash fix - Guarded against dereferencing null componen. (Contributed by DSDambuster) Change 3801828 by Max.Chen PR #4302: Movie Scene Visibility Template unitialised variable, causing random . (Contributed by DSDambuster) Change 3801837 by Max.Chen Sequencer: Delay spawning/construction for convert to possessable. This fixes a bug where property values would be lost when converting back and forth from possessable to spawnable. #jira UE-52400 Change 3801841 by Max.Chen Sequencer: Make spacer nodes not selectable. PR #4194: Improvements to Sequencer (Contributed by projectgheist) #jira UE-53117 #jira UE-52139 Change 3804183 by Max.Preussner MediaAssets: Added missing lock in media sound component Change 3805414 by Max.Preussner MediaAssets: Setting valid GUID when initializing media texture resource Change 3819578 by Max.Chen PR #4370: When enabling the "MovieCapture", do not turn off the Stereo-3D display. (Contributed by yehaike) #jira UE-53647 Change 3823414 by Max.Chen Curve Editor: Lock down the first and last keys in the redundant keys removal range so that they're unaffected. #jira UE-53591 Change 3826406 by Max.Chen Sequencer: Move OnStartedPlaying() to within first update in UpdateTimeCursorPosition(). This fixes an issue where setting the hud/player visibility was getting stomped on later. #jira UE-52772 Change 3827044 by Max.Preussner MediaAssets: Added sprite visualization to media sound component #jira UE-53594 Change 3827988 by Max.Preussner MediaPlayerAssets: Fixed Media Texture is not linked to Media Player when created together #jira UE-53532 Change 3828506 by Max.Preussner MediaPlayerEditor: Added attenuation visualizer for media sound components #jira UE-53594 Change 3832590 by andrew.porter EngineTest: Added a keep state check in Property Animation sequencer test Change 3833053 by andrew.porter EngineTest: Adding Hierarchical Bias test Change 3835683 by andrew.porter EngineTest: Adding UMG Animation screenshot test Change 3836076 by Max.Chen Sequencer: Fix audio volume and pitch multiplier deprecation. Change 3836230 by andrew.porter EngineTest: Adding Sequence Bone Position automation test Change 3836347 by Max.Chen Sequencer: Fixes to shot name parsing. When a shot doesn't contain a shot number, assume, [ShotName]_[TakeNumber]. When duplicating a shot, put the new shot in the same path of the original shot, so that the take numbers will increment properly. #jira UE-51868 Change 3836552 by Max.Chen Sequencer: Sub section now has a takes menu Change 3838094 by Max.Chen UMG: Fix template finish not getting called on stop. This fixes a bug where sections aren't restored when finished. #jira UE-52285 Change 3838708 by Max.Chen Sequencer: Add notification when the blend type is changed. #jira UE-54046 Change 3840295 by Max.Chen Sequencer: Fix copy/paste crash for lights #jira UE-54084 Change 3840957 by Mike.Zyracki Added Show Only Keyable and Show Only Animated to the filter list in the property editor. Added IsPropertyAnimated to IDetailKeyframe Interface which already had support for showing properties which are keyable (which is used for the key icon next to the properties.). Could have created another interface but then would have had to mimic the sequencer binding, releasing also, so this seemed best way. One issue still left is that custom built detail items currently don't store associated properties(usually) and so certain properties, in particulalry transforms, won't show up as keyable or animated. Note this also shows up with the keyable icon not showing up next to transform tracks, and other filters like Show Only Modified not working with transforms/customs. Not sure best way to tackle this. #jira UESEQ-328 Change 3841756 by Max.Chen Sequencer: Fix unbound possessable components when pasting spawnables. #jira UE-54104 Change 3843950 by andrew.porter EngineTest: Renaming LevelStreaming tests/content to LevelVisibility Change 3844082 by Mike.Zyracki Missing file for animated filter in property editor. When finding if a track is animated we need to find it but we can't easily induce the MovieTrack class for any particular property. So we don't set a class for it and just search by it's ID and name. #jira UESEQ-328 Change 3846902 by Max.Preussner ImgMedia: Fixed image media player never finished initialization if loading failed #jira UE-54247 Change 3849820 by Mike.Zyracki Reassigning deleted widgets didn't work since the menu extender mechanism needs a valid UObject in order to perform an operation on it. So to fix we replaced GetObjectBindingContextMenuExtender in WidgetBlueprint with new delegate mechanism (OnBuildCustomContextMenuForGuid) that supports FGuid in addition to UObjects which is needed to handle re-binding deleted widgets. Note that the default sequencer hacks this for replacing deleted actors in SequencerObjectBindingNode to check to see if a LevelSequence is active. We could move to this mechanism there also. #jira UE-53163 Change 3852211 by Max.Chen UMG: Indicate name of the property that is not bound. #jira UE-54350 Change 3854120 by Max.Chen Sequencer: Fix sibling folders being allowed to have the same folder name. #jira UE-54363 Change 3854627 by Max.Chen Sequencer: Step to next/previous key should work for all tracks if there aren't any selected. #jira UESEQ-391 Change 3855825 by andrew.porter EngineTest: Adding animation blending automation test Change 3855950 by andrew.porter EngineTest: Adding correct expected valuues to animation blending test Change 3856237 by Matt.Hoffman UESEQ-336 - Sequencer Track Reordering Adds the ability to re-order Master Tracks, Folders and Object Bindings within sequencer hierarchies (including UMG). Adds the ability to do a one-off sorting of the content under the old sorting behavior if the user wants to reset their layout to how it was under legacy behavior. Modifies SequencerTrackNodes, SequencerFolderNodes and SequencerObjectBindingNodes to handle CanDrop/OnDrop for above, below and ontop of. Fixes a Slate Issue that forcibly expanded a TreeviewRow if an item handled OnDrop. Slate will now only forcibly expand the row if the item says the drop happened ontop of the item, and not above or below it like it previously did. Change 3856503 by andrew.porter EngineTest: Adding automation test for using animation blueprint with blend multi node in sequencer Change 3857875 by Max.Chen Sequencer: Assign the sequence id after the template is compiled. #jira UE-54462 Change 3858344 by Max.Chen Sequencer: Prevent Goto and Transform boxes from overlapping by allowing them to be visible at the same time in an autosized horizontal box. Also, added close button to the goto box. PR #4425: Prevent Goto and Transform boxes from overlapping in Sequencer ... (Contributed by projectgheist) #jira UE-54210 Change 3860566 by andrew.porter MediaFrameworkTest: Set the option to index 0 for the audio and video track list by default Change 3860654 by andrew.porter EngineTest: Enabling Camera Cut + FOV test Change 3860981 by andrew.porter EngineTest: Updating skeletal mesh tests with a delay after set playback position Change 3861256 by Max.Chen Sequencer: Add all bindings if none selected. #jira-54440 Change 3862154 by Andrew.Rodham Added TimeManagement module Change 3862424 by andrew.porter EngineTest: Turned on the test Bone Positions with Blend Multi Node Change 3862573 by andrew.porter EngineTest: Adding test to compare bone positions in a sequence that is blending an animation that is using an AnimBP Change 3865117 by Max.Chen Sequencer: Stop auto scroll on mouse release of movement. #jira UE-31212 Change 3865303 by Max.Chen Sequencer: Add drag and drop transactions #jira UE-54662 Change 3865304 by Max.Chen Sequencer: Fix crash when an actor factory is not found. Change 3865361 by Max.Chen Sequencer: Don't change the camera/shot lock button when popping out of a sequence. #jira UE-54665 Change 3865412 by Max.Chen Sequencer: Determine whether a transform track is for a camera by using the spawned object or template #jira UE-54666 Change 3865685 by Max.Chen Sequencer: Clear autoscrub offset when stopping autoscroll #jira UE-31212 Change 3865886 by Max.Chen Sequence Recorder: Log an error if the number of frames changes while recording. This can happen if the skeleton changes while recording. #jira UE-48715 Change 3866925 by Andrew.Porter MediaFrameworkTest: Changing the current PNG test video image sequence to 1024 x 576 Change 3867705 by andrew.porter QAGame: Adding Audio Sort Sequence to dev folder Change 3867890 by andrew.porter QAGame: Adding a sequence for testing a sorting crash to my dev folder Change 3872628 by Max.Chen Movie Scene Capture: Split delay before warmup into split delay before shot warmup so that there's separate controls for when the movie scene capture warmups up vs. shot boundaries. Change 3873131 by Matt.Hoffman UE-54732 - Crash reordering a folder with a track. This was caused by folders being the only type of track to check if someone was putting a parent track into a child track. Object Binding tracks and Tracks now check as well so that you can't use the above/below drop targets to add parents as children. This also fixed a typo in the localization keys. #jira UE-54732 Change 3873301 by Mike.Zyracki Added ability to support continous euler angle changes when changing rotations, in particularly with the rotation gizmo's. To do this we effectively added a form an of 'euler filter'(https://en.wikipedia.org/wiki/Euler_filter) to find the closest euler angle to the current euler angle. Three functions were added to FRotator to make this possible, one to get the euler angle that's has the same rotation as it, one to get the difference between two euler angles via Manhattan distance and a third using the previous two to choose a Rotator value that's closest to it. We then use these functions before calling UComponent::SetRelativeRotation to make sure we use the correct Euler after the Quat conversion. We also no longer limit(bound) the euler angles to -180,180, which is obviously necessary to avoid flips. I also changed how we caluclate yaw and roll when pitch is -90 or 90 to make it the standard approach of zeroing out roll and just setting yaw. Main reasons are the previous implementation had precision issues so things like 180, 90, -180 would show up due to numbers being nearly zero but negative,(this would break any smooth interpolations), and this facilitates having a 'gimbal' rotation mode (like Maya, Blender etc..) if we ever want that also. If needed we could keep the previous implementation but would need to add some FMath::IsNearlyZero checks, with less performance. Note we only do this special filtering when applying delta's to actors or components in the editors, which then call UComponent::SetRelativeRotationExact, which is a new function to foces the RelativeRotation to be equal to the new rotation. This allows us to store un-nomalized Rotators at the cost that the RotationCache may be broken. We didn't change any of the other UComponent functions that set rotations (via Quats or Transforms) so they will still be bounded and unwound. In SetInternalWorldLocationAndRotation we only set the rotation if the rotation has changed, which fixes the rotation getting changed and re-normalized if just translate happens. In TransformTrackEditor, we correclty use the bUndwing flag and in MovieScene3DTransformSection there was an un-needed winding check there, it will be unwound earlier if needed, which happens if Sequence Recording is happening. Max we should talk about what to do about this . Note the euler angle drag via the widget is still bound to 0-360. I think we should just unbound that now since the rotations value are now unbound. This review now includes fixes suggested by Zak. #jira UE-UE-22228 Change 3873483 by Matt.Hoffman Sequencer Tracks can now be inserted above the spacer at the bottom of the tree. #jira UE-54706 Change 3873899 by Max.Chen Sequencer: Add section selection throbbing Change 3873908 by Max.Chen Movie Scene Capture: Added logging per frame Change 3873924 by Matt.Hoffman Adds the ability to store Sequence Recorder setups into profiles that stay with the map and can be re-loaded later. Profiles store the Actor Recordings so the settings for each actor should carry with them. #jira UESEQ-339 Change 3874726 by Matt.Hoffman Disable drag-and-drop targets on spacers that come between rows in Sequencer. This prevents extra drag/drop targets showing up between each row. #jira UE-54706 Change 3874862 by Matt.Hoffman Audio Track no longer gets reordered when adding sub-audio tracks, as sub-tracks are no longer counted towards the sorting order index when normalizing indexes. #jira UE-54727 Change 3875905 by Matt.Hoffman Disable Fade Track UI if a fade track already exists in the sequence. #jira UESEQ-393 Change 3876163 by Max.Chen Sequencer: Swap the camera object to the camera component's owner if it's not the same. #jira UE-54874 Change 3876971 by Andrew.Porter EngineTest: Moved Media Player Seek test to new folder. Also enabled the test with new ground truth image. Change 3877040 by Max.Chen Cine Camera: Split camera properties to two groups, "Camera Options" and "Camera Settings". The cine camera now hides properties in the "Camera Settings" group so that properties like bConstrainAspectRatio (in the "Camera Options" group) can be visible. #jira UE-54192 Change 3877763 by Max.Chen Curve Editor: Fix curve changed on end drag so that only curves that had keys/tangents that were changed receive notification, otherwise all loaded curves were getting notified that they were changed. #jira UE-54951 Change 3878234 by Matt.Hoffman Disable "Drop Below" targets for Sequencer Tree nodes to prevent a confusing UX issue where dropping underneath a Object Binding Node puts it after the object binding node but the UI looks like it's inserting it inside the Object Binding node. #jira UE-54743 Change 3879359 by Mike.Zyracki If a track is inactive we dim it a bit which seems to be the UE4 way to show inactive or disabled state. We changed the active logic so that all subtracks need to be inactive for the track to also be inactive(instead of all active for active). This conforms to how the active state actually works, e.g if you have two sections and only one is active the track is still active above it. #jira UESEQ-388 Change 3879462 by Max.Chen Sequencer: Allow dragging onto a particular row which would move out any overlapping sections to make space for the newly created section. Newly created sections are now selected and throbbed to draw attention to themselves. #jira UE-54664 Change 3879464 by Max.Chen Sequencer: Fixed overlapping ranges being inserted into the evaluation field during compilation - The issue was that track segments that had been combined with adjacent segments (due to them being identical) would potentially cause a subsequently compiled frame to overlap with a range that had already been inserted into the evaluation field. - The insertion code previously asserted that only minor overlaps were catered for (due to fp rounding errors) and assumed that a supplied range could not entirely contain any other range in the field. - The solution is to supply the insertion time along with the range to know exactly where the data should live in the field, and crop the range to the maximum allowable space between adjacent ranges. #jira UE-54922 Change 3879590 by Matt.Hoffman Items that are now added to the Sequencer via the "+Track" menu will be selected after being added. Items can now be added inside of folders instead of just to the root level. #jira UE-27397 Change 3879612 by Mike.Zyracki Display Nodes with no children are always active. #jira UESEQ-388 Change 3879730 by Matt.Hoffman Sequence Recorder's actor recording groups now remove items from the group when removed via the UI. #jira UESEQ-339 Change 3880256 by Mike.Zyracki Fix issue with inactive display with folders and other track nodes. #jira UESEQ-388 Change 3883491 by Max.Chen Fix issue where tick is skipped due to last ticked pose isn't cleared after AnimInstance changes. Copy from Release-4.19 #jira UE-51323 Change 3883603 by Max.Chen Movie Scene Capture: Add option toggle disable screen percentage. By default this is on (no change in current behavior). #jira UE-51898 Change 3885074 by Max.Preussner MediaCompositing: Resetting media texture & freeing resource on section end; removed dead code Change 3887220 by Max.Preussner MediaCompositing: Defaulted media section duration to 1 sec (since we do not know the actual duration in most cases) Change 3887478 by Matt.Hoffman Sequences now show [Inactive] in their title bars when they're disabled. This helps communicate why a sequence isn't being evaluated. #jira UE-51469 Change 3888985 by Max.Chen Movie Scene Capture: Clamp HDR Compression Quality between 0 and 1. #jira UE-55136 Change 3893519 by Max.Chen Sequence Recorder: Clarified tooltip for bRecordNearbySpawnedActors - spawned actors will still be recorded if they match the ActorFilter. #jira UE-55238 Change 3893546 by Max.Chen Sequence Recorder: If a selected actor already has a recording, add a blank recording. #jira UE-55239 Change 3894044 by Max.Preussner MediaCompositing: Added support for seeking into a media section Change 3894310 by andrew.porter MediaFrameworkTest: Adding Img media sources for 1080 and 2160 ravent test content Change 3894426 by Max.Preussner MediaAssets: Letting media textures with AutoClear retain their clear color when player is reset Change 3895717 by Max.Chen Sequencer: Null checks to prevent crash when saving the default state of a spawnable #jira UE-55304 Change 3897388 by Max.Chen Sequencer: Don't update current time to be within the view range when stepping into a sequence. #jira UE-55322 Change 3897452 by Max.Chen Audio: Fix crash when trying to record audio without any active capture devices. Log warning if the number of input channels is not 1 or 2. #jira UE-55223 Change 3897619 by Max.Preussner MediaCompositing: Removed commented out code Change 3898072 by Max.Chen Sequencer: Override the animation asset in the player state if it doesn't match the animation asset that's being evaluated. #jira UE-55328 Change 3898272 by Max.Preussner MediaPlayerEditor: Made slate brush constants static Change 3898704 by Max.Chen Sequencer: Skip if the binding id's sequence can't be found. #jira UE-55337 Change 3899855 by Max.Preussner MediaCompositingEditor: Added cache state visualization to media track Change 3900300 by Max.Preussner MediaCompositingEditor: Added loop indicators to media sections Change 3900694 by Max.Preussner ImfMedia: Looping cache only when player is looping Change 3900892 by Max.Preussner Stats: Added stats category for media framework Change 3900954 by Max.Preussner MediaCompositing: Don't evaluate at the end of media section Change 3901348 by Max.Preussner Core: Replaced TLruCache autos for better readability Change 3901655 by Max.Preussner ImgMedia: Added more perf stats to EXR reader Change 3901972 by Max.Preussner MediaAssets: Added getter for media player in media sound components Change 3902233 by Max.Preussner MediaAssets: Enabling media textures to receive samples right after player is assigned Change 3902238 by Max.Preussner MediaCompositing: Working around init/shutdown idiosyncracies in sequencer Change 3904045 by Max.Chen Sequencer: Fix copy/paste crash. Only process UMovieSceneCopyableBinding and objects that can be spawned by the movie scene spawn register. #jira UE-55314 Change 3905605 by Max.Chen Sequencer: Restrict spawnables from being created if they have a ClassWithin that UMovieScene is not a child of. #jira UE-55429 Change 3906550 by Max.Chen Sequencer: Add media track icon #jira UE-55480 Change 3907101 by Max.Chen Sequence Recorder: Fix bugs related to not recording a level sequence. There were certain assumptions that creating a level sequence meant that sequence recording was in progress. This is not always the case - the recorders can record animation assets and not create a level sequence. Changed the notion of IsRecording() to having at least one actor recording that is recording. Countdown timer, recording displays, etc should function if IsRecording() and not based on whether a level sequence is created. #jira UE-55485 Change 3907247 by Max.Chen Sequence Recorder: Fix crash not removing PrepareToCleanseEditorObject delegate. Repros when opening sequence recorder, closing it, and then opening or creating a level. Change 3910343 by Max.Preussner Core: Added async helper for executing functions on a given thread pool Change 3910346 by Max.Preussner ImgMedia: Added separate thread pools for loading/decoding and deleting image frames Change 3910829 by Max.Preussner Profiler: Increased visible range of profiler graph Change 3910841 by Max.Preussner MediaCompositing: Displaying asset name instead of full media source path in media section Change 3910870 by Max.Preussner ImgMedia: Using deallocation thread pool only in debug builds Change 3919642 by Max.Chen Sequence Recorder: Clarify active tooltip #jira UE-55661 Change 3919660 by Max.Chen Sequencer: Sequence template source signatures are now also compared to catch the case where a sub-sequence asset has been saved but not modified - The following sequence of events exposes this issue: - Create a master sequence with a single shot that spawns a cube - Add this sequence to a level and set it to auto-play - Save everything and restart - Resave just the inner shot asset without opening it - PIE - The inner shot never spawns its cube because its template was wiped on save, but its signature never changed. Since the master sequence previously didn't check the template source signature, it ends up trying to evaluate an empty template. #jira UE-55626 #jira UE-55490 Change 3921825 by Max.Chen Sequencer: "Run Construction Script in Sequencer" is off by default for blueprints but on for Sequencer. This allows the content author to switch it on for specific blueprints and sequencer will be default, run those with construction scripts enabled. Change 3922232 by Max.Chen Sequence Recorder: Reset countdelay on stop. #jira UE-55755 Change 3922306 by Max.Chen Sequence Recorder: Don't automatically mark transforms to be recorded by sequence recorder. Instead, log a warning if the user toggled it off to warn that the resulting animation might not match gameplay. #jira UE-55758 Change 3922912 by Max.Chen Sequence Recorder: Fix refresh next sequence name #jira UE-55757 Change 3927654 by Max.Chen Movie Scene Capture: Added format mapping for the name of the current camera #jira UE-55769 PR #4537 Change 3927658 by Max.Chen Sequencer: Added fbx property mapping for "FocusDistance" to "FocusSettings.ManualFocusDistance" #jira UE-55782 Change 3932022 by Max.Chen Sequencer: Add import animation track section to next available row index. #jira UE-55892 Change 3933919 by Max.Chen Sequencer: Jump to playback start frame and not 0 to start playback for recording. #jira UE-55933 Change 3934307 by Andrew.Rodham Sequencer: Add template signature that is re-generated every time the base template is regenerated, which invalidates evaluation fields This fixes an issue where the same sequence is instantiated multiple times in a sequence. If the source sequence was saved, its template would be wiped, which would invalidate the template ID When an instance tries to evaluate the master template, it would only invalidate a range in the evaluation field that was the hull of any invalid sub sequences overlapping the current time, potentially leaving invalid data in the evaluation field at positions later (or earlier) on in the sequence When the sub template was re-generated, it receives the same SequenceSignature as it had before (because the sequence hasn't actually changed), which causes the stale evaluation field data to fail the IsDirty check (because the sequence is the same as it thought, but the *template* has changed) This has been addressed be adding a signature to templates themselves, and checking both the template signature and sequence signature as a part of the IsDirty check. This ensures that we regenerate if either the template, or the sequence have changed. #jira UE-55934 Change 3936327 by Andrew.Rodham Sequencer: Removed increment when trimming right UMovieSceneSection::TrimSection already explicity assigns an exclusive bound to the time passed in. The new behavior means we can trim a section to the right, and insert another section without changing the time to create adjacent sections. #jira UE-42652 Change 3936328 by Andrew.Rodham Fixed KeyFrameManipulator assignment operators and copy/move constructors - These types are potentially self-referential so cannot use default constructors/assignment Change 3936330 by Andrew.Rodham Converted UMGSequencePlayer to use frames internally #jira UE-54878 Change 3936726 by Max.Chen Sequencer: Set track node as the parent of the key area node. The key area switcher needs the object binding id from the parent object binding node. Without this, the binding to the external value fails. #jira UE-55931 Change 3936775 by Max.Chen Sequencer: Should stop or loop should compare DurationFrames with Current Time from StartTime. The bug is that if you set 30 warmup frames in movie rendering for a range of 0-100, the FrameRange will be starting at -30 and have a duration of 130. Without this fix, the playback will continue until frame 130, rather than 100. #jira UE-55933 Change 3936935 by Matt.Hoffman Easing Curves are now represented in Play Rate resolution instead of internal resolution. #jira UE-55937 Change 3937069 by Matt.Hoffman Users can toggle if the is infinite on each side, limited by which tracks support infinite ranges. #jira UE-55891 Change 3937516 by Max.Preussner ImgMedia: Added support for single-threaded platforms #jira UE-55986 Change 3937826 by Max.Preussner MediaAssets: Disabling media sound components on HTML5 if AudioMixer is not enabled Change 3937997 by Max.Chen Curve Editor: Add Zoom to Fit Curves so that selected curves from Sequencer can be focused on. Tested that undo doesn't re-zoom. #jira UE-55935 Change 3938000 by Max.Chen Sequencer: Stop all sounds before generating audio waveforms. #jira UE-55951 Change 3938376 by Max.Preussner XGEController: Disabled XGE Controller in single-threaded apps to prevent crash Change 3938444 by Max.Preussner Core: Added async support for single-threaded applications Change 3938445 by Max.Preussner Networking: Added support for single-threaded applications in UDP socket sender/receiver Change 3938447 by Max.Preussner Messaging: Added support for single-threaded applications Change 3939432 by Max.Chen Sequence Recorder: Append command list to global level editor actions so that shortcuts are accessible in level editor. #jira UE-55798 Change 3940229 by Andrew.Rodham Added prospective display rate upgrade to UMovieScene::PostLoad - There was previously some very odd behaviour that would assign the fixed frame interval only when a sub sequence was focused in SSequencer. This meant that many sequences could have a frame interval of 0 set in the data. - Under the old method of snap interval display this would have fallen back to getting the display interval from the sequencer settings, but we no longer look at these. - The USequencerSettings properties have been removed and in their place, a prospective data upgrade for sequences that have a fixed frame interval old 0fps that sets the play rate to the previous defaults based off the old USequencerSettings defaults. - This could end up 'changing' the display rate for sequences where the user has changed the snap interval in the settings for a particular sequence editor, but there's not much we can do about that given we don't have access to the USequencerSettings classes in UMovieScene #jira UE-55919 Change 3940277 by Andrew.Rodham Sequencer: Added ability to default frame resolutions and play rates for newly created actor sequences Change 3940378 by Andrew.Rodham Sequencer: Post move import dialog now defaults to the playback framerate of the sequence, and floors to frame numbers Change 3940559 by Andrew.Rodham Reinstated primed or recording sequence color Change 3940642 by Max.Preussner ImagePlate: Removed image plate media playback functionality Change 3940843 by Max.Preussner Core: Made TCircularQueue actually thread-safe; improved code comments Change 3940860 by Max.Chen Sequencer: Changed StructNameToKey to StructPathToKey Previously, keying a PropertyPath of [RenderTransform][Shear][X] would get trimmed to X, which doesn't map to a channel name as considered by Sequencer2dTransformTrackEditor. Instead, trim the resulting property path to [Shear][X] so that track editors can determine the desired struct path and channels to key. #jira UE-52966 Change 3941292 by Mike.Zyracki Fix for trajectories out of range not showing up. 1) If we had no key data we would pop the time, so wouldn't get the section ranges. 2) Calculating of upper bound was wrong, checking against -1 and not key == num of keys when doing algo::lower_bound. 3) No need to do the Bck-- for the bakward iterators since we fixed #2. We start now from the upper bound correctly. 4) If we had no keys (at section start,end) we would incorrectly say we were any key type, so since we draw constant keys as dashed we would do so incorrectly around section end points. #jira UE-55929 Change 3941424 by Max.Chen Curve Editor: Change Zoom to Fit to use TArrayView Change 3941498 by Max.Preussner Core: Added FMath::DivideAndRoundNearest function Change 3942097 by Matt.Hoffman Drop Frame Timecode Support for NTSC rates. Change 3942104 by Matt.Hoffman Sequence Recorder Group is no longer visible inside the World Outliner after using one. #jira 55266 Change 3942107 by Max.Chen Sequencer: Resurrect logic to find or extend an existing section when adding keys. Change 3942330 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942339 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942507 by Andrew.Rodham Sequencer: We no longer pad the time overlap threshold with a small number that is not scaled by the current zoom level - The presence of this pad was causing keys that were far apart to be grouped when zoomed in a long way Change 3942509 by Andrew.Rodham Sequencer: Only pad total view range, rather than section range as well when retrieving keys to render - This stops us from rendering keys that are within the view range, but outside the section range Change 3942512 by Andrew.Rodham Added transactions to some sequencer details customizations Change 3942513 by Andrew.Rodham Sequencer: Reinstated validation checks to UMovieSceneSection::SetStartFrame and SetEndFrame, changed erroneous uses to use SetRange Change 3942560 by Andrew.Rodham Pass by rvalue reference to appease error C2719 on Win32 ('InChannels': formal parameter with requested alignment of 8 won't be aligned) Change 3942697 by Andrew.Rodham Newly Created Level Sequences and Actor Sequences now default to 24000 fps frame resolution (+/- ~24hrs range, supporting all integer rates + 23.976) Change 3942700 by Andrew.Rodham Sequencer: Added legacy out-of-bounds errors for times that are not supported by the current legacy upgrade frame resolution Change 3942989 by Max.Preussner Core: Fixed circular queue count calculation Change 3943538 by Max.Preussner MediaAssets: Reverted workaround for procedural audio log spam in HTML5 (Actor component initialization cannot be skipped if the component is used in a level) Change 3944071 by Max.Preussner QAGame: Fixed Media Texture keeps last frame of Media when PIE ends #jira UE-53360 Change 3944292 by Max.Chen Sequencer: Added extra flags to ensure that asset initialization does not occur on template actor sequences #jira UE-56113 Change 3944364 by Max.Chen Sequencer: Prevent circular shot/master tracks. Tested adding master -> child -> master as drag and drop cinematic shot tracks and sub tracks as well as through the + button. #jira UE-56091 Change 3944422 by Max.Chen Sequence Recorder: Disable transform recording if off. #jira UE-56061 Change 3944745 by Andrew.Rodham Sequencer: Key rendering fixes - Fixed assert that occured when keys happened to reside on some times due to KeyTime + TimeOverlapThreshold - KeyTime being slightly larger TimeOverlapThreshold - Fixed keys sometimes being clipped when zoomed right in due to lack of half-frame offset - Added missing documentation to MovieSceneTimeHelpers.h #jira UE-56107 Change 3945231 by Andrew.Rodham Sequencer: Reconstruct channel proxy on Serialize to catch all cases of undo/redo, PostLoad and duplication #jira UE-56089 Change 3945301 by Andrew.Rodham Sequencer: Added safety checks during initial sequence recording to guard against applying negative or 0-sized sequence ranges #jira UE-56125 Change 3946627 by Max.Preussner Fortnite: Fixed game crashes closing editor while in PIE - Pure virtual function being called #jira UE-56144 [CL 3946896 by Max Chen in Main branch]
2018-03-14 22:09:33 -04:00
FFrameTime FSequencerTimeSliderController::SnapTimeToNearestKey(const FScrubRangeToScreen& RangeToScreen, float CursorPos, FFrameTime InTime) const
Copying //UE4/Dev-Editor to //UE4/Dev-Main (Source: //UE4/Dev-Editor @ 3497164) #lockdown Nick.Penwarden #rb none ===================================== MAJOR FEATURES + CHANGES ===================================== Change 3433074 by Matt.Kuhlenschmidt Fix crash when clicking on certian tutorial blueprints. #jira UE-44593 Change 3433075 by Matt.Kuhlenschmidt Remove hittest grid log spam. The underlying problem causing this has been fixed Change 3433077 by Matt.Kuhlenschmidt Fix lighting becoming unbuilt when mesh painting #jira UE-44837 Change 3433081 by Matt.Kuhlenschmidt PR #3553: Crashfix for static array properties (Contributed by Pierdek) Change 3433104 by Alexis.Matte Make sure re-import skeletal mesh follow the import morph option #jira UE-42846 Change 3434825 by Matt.Kuhlenschmidt Fix crash when GC happens while the vr editor radial menu is open. Change 3434831 by Matt.Kuhlenschmidt Added missing file Change 3434868 by Shaun.Kime If you have a reroute node between a Material Function texture input and its usage, the parent material will fail to resolve the reroute node. #jira ue-44670 Change 3434998 by Alexis.Matte Meshes editors material/section panel are now fully transactional - Staticmesh editor: section material slot, section cast shadow, section collision, material slot instance, material slot name - Skeletal mesh editor: material slot instance, material slot name Also fix some transaction description #jira UE-44462 Change 3435195 by Jamie.Dale Fixed incorrect handling of some LTR scripts that require shaping These scripts need to go through HarfBuzz, and this also fixes a case where HarfBuzz wasn't applying font scale correctly. #jira UE-44767 Change 3435199 by Jamie.Dale Fixed some crashes/artifacts with bidirectional text It was possible for a line to compute an incorrect range, which could cause crashes or other highlighting issues. The highlighting logic has also been updated as the old code didn't handle all bidirectional cases correctly. Change 3435200 by Jamie.Dale Fixed a grapheme cluster metrics issue in the font editor viewport The viewport also now respects the default shaping method CVar. Change 3435771 by Alexis.Matte Fix degenerated bounds calculation for skeletalmesh when the skeleton is remove from a re-import (PhysicAsset API change, adding 1 function) #jira UE-44609 Change 3436856 by Jamie.Dale Added some missing Unicode block ranges Change 3436914 by Jamie.Dale Adding some missing combining character ranges to the text shaper Change 3436923 by Alexis.Matte PR #3463: Get bounds for all triangles, not just the first one. WedgeIndex was . (Contributed by DaveC79) #jira UE-43764 Change 3436948 by Jamie.Dale Updated the Portal to use the predefined Unicode block ranges Change 3436961 by Max.Chen Sequencer: Show camera shake/anim track menus even if there aren't any assets. Change 3437244 by Max.Chen Sequencer: Clear locked cameras when releasing Sequencer. #jira UE-44967 Change 3437515 by Arciel.Rekman UBT: improvements for LocalExecutor. - Larger number of parallel jobs on 16GB+ machines. - Use WaitForExit() instead of polling. - Tested on Linux and Mac. Change 3437629 by Matt.Kuhlenschmidt Improve asset import data display in static and skeletal meshes Change 3438047 by Arciel.Rekman Fix overlapping ranges being passed to memcpy(). Change 3438822 by Yannick.Lange ViewportInteraction: Move gizmo handle files to make them private. Change 3438906 by Matt.Kuhlenschmidt PR #3556: Git Plugin: fix new option "init Git LFS" that make assets read-only (master/UE4.17) (Contributed by SRombauts) Change 3438907 by Matt.Kuhlenschmidt PR #3565: add -quality option to buildlighing commandlet (Contributed by kayama-shift) Change 3438908 by Matt.Kuhlenschmidt PR #3558: UE-44862: Always update SColorPicker color on OK button (Contributed by projectgheist) Change 3439393 by Matt.Kuhlenschmidt Force highest LOD for highres screenshots Change 3439819 by Matt.Kuhlenschmidt Turned FAssetData into a struct for some upcoming script exposure of FAssetData Change 3439949 by Arciel.Rekman Fixed selection logic for the UE4_LINUX_USE_LIBCXX environment variable. - Allows disabling libc++ by setting the variable to 0. - Pull request #3576 contributed by jared-improbable. Change 3441078 by Jamie.Dale The culture/language/locale console commands are now available in all build configs Change 3441109 by Jamie.Dale Text containing surrogate pairs now runs through HarfBuzz when shaping in Auto mode This is needed as the kerning-only shaping code assumes that everything is within the BMP Change 3441275 by Matt.Kuhlenschmidt Disable spinning on location and scale. These dont work because we have no notion of infinite spinning Change 3442748 by Yannick.Lange ViewportInteraction: Remove unused console variables. Change 3442775 by James.Golding Add support for editing MaterialFunctions to MaterialEditingLibrary Pull Material recompile/update code into UMaterialEditingLibrary::RecompileMaterial Pull MaterialFunction update code into UMaterialEditingLibrary::UpdateMaterialFunction util Move RebuildMaterialInstanceEditors to UMaterialEditingLibrary Added test content for Material/MaterialFunction editing Add needed BlueprintReadWrite to expressions (constants, function input/output) Expose UMaterialExpressionMaterialFunctionCall::SetMaterialFunction to BP, rename old func (which takes old function) to SetMaterialFunctionEx, also expose GetInputNameWithType Change 3442779 by James.Golding Fix header order Change 3442817 by Yannick.Lange ViewportInteraction: Add can execute checks for level editor commands. Change 3443038 by Michael.Dupuis #jira UE-43377: When you select a foliage actor we will move all instance contained in it to the new level as we can't move a foliage actor Only permit moving foliage instance if there is some selected Change 3443855 by Michael.Dupuis #jira UE-44885: Unregister from PerModuleDataObjects when the object is destroyed Change 3446096 by Max.Chen Sequencer: Add OnFinished() event when a level sequence completes playback #jira UE-45173 Change 3446097 by Max.Chen Sequencer: Evaluate one last time before the sequence is torn down and reset #jira UE-45174 Change 3446242 by Jamie.Dale Fixed caret not appearing in empty text layouts Caret selections have no range, and therefore have no width Change 3446361 by Matt.Kuhlenschmidt Fix WITH_EDITOR only functions causing generated code compile errors when the all functions on the class are WITH_EDITOR Change 3446457 by Alexis.Matte Polish the speed tree import dialog #jira UE-44963 Change 3446946 by Michael.Trepka Modified FWindowsWindow::GetRestoredDimensions to return correct window position for normal windows for which GetWindowPlacement returns position in workspace coordinates #jira UE-37934 Change 3447543 by Arciel.Rekman Reduce VMAs on Linux. - Trades off increased address space (VIRT in terms of ps/htop) for smaller number of distinct mappings (VMAs, virtual memory areas). This decreases possibility to run into vm.max_map_count limit on Linux. - Tested on Linux and Mac. Change 3448468 by Arciel.Rekman Fix race condition during creation of GMalloc. - On Mac GMalloc can be created on two different thread that are racing with each other - app's main thread and a system thread. Change 3449012 by Max.Chen Sequencer: Add time to transform, color and vector key structs so that key times are editable from the key editors. #jira UE-45089 Change 3449018 by Max.Chen Sequencer: Add OnCameraCut event that fires when there is a camera cut. #jira UE-45137 Change 3449195 by Max.Chen Sequencer: Add setting for limit scrubbing to playback range. #jira UE-43502 Change 3449198 by Max.Chen Sequencer: Reorder hierarchical bias so that group priority takes precedence. Change 3449217 by Max.Chen Sequencer: Add setting to activate realtime viewports when in sequencer. Change 3449219 by Max.Chen Sequencer: Focus on search boxes when opened. Change 3449238 by Max.Chen Sequencer: Assign actor should replace the actor itself after it has updated all the components. Also, replace components be fullname rather than by class. Change 3449239 by Max.Chen Sequencer: Fix offsets when moving multiple sections. Dragging should be clamped to the bounds that any of the selected sections hits against the unselected sections. Change 3449241 by Max.Chen Sequencer: Restore section selection after full tree rebuild. Change 3449279 by Max.Chen Sequencer: Set movie scene capture frames only when not using custom frames. This allows the user entered frame numbers to persist in config, rather than overwriting them when doing a "Render Shot" Change 3449280 by Max.Chen Sequencer: Spawn in the persistent level. Otherwise, they get spawned into whatever sublevel is current. #jira UE-44552 Change 3449294 by Max.Chen Sequencer: Null check for sequencer ed mode crash. Change 3449297 by Max.Chen Sequencer: Fix delay in sliding values. Mark changed when sliding values. Mark refresh immediately when committing values since OnValueChanged will be called and needs to have the correct value that was refreshed immediately. #jira UE-42866 Change 3449542 by Max.Chen Sequencer: Fix scrubber hit testing so that the time scrubber is really favored over the playback ranges. #jira UE-44569 Change 3451507 by Matt.Kuhlenschmidt Fix extra slate uv coords not functioning on ES2 Change 3451510 by Matt.Kuhlenschmidt PR #3595: Fixed wrong colour for level status (Contributed by ronve) Change 3451529 by Alexis.Matte fbx scene importer: Make sure we set INVALID_UNIQUE_ID to node that has no attribute. #jira UE-34410 Change 3451611 by Yannick.Lange ViewportInteraction: Dragging gizmo without second pass for snapped calculations. Change 3452134 by Jamie.Dale Fixed constant font cache flushing if a widget had no font set Change 3452239 by Jamie.Dale Fixed constant font measure flushing if a widget had no font set Change 3452243 by Jamie.Dale Removed deprecated code for creating fonts from bulk data Change 3452277 by Jamie.Dale The concept of "stale" composite fonts is now editor-only Change 3452358 by Alexis.Matte Fbx scene importer: Do not remove existing attribute reference from the blueprint if the reimport of the associate mesh attribute is not tick. #jira UE-45232 Change 3452678 by Max.Chen Sequencer: Fix crash on export if there's no shot data. Change 3453057 by Matt.Kuhlenschmidt Exposed asset exporting to script Change 3453782 by Andrew.Rodham Sequencer: Fixed deterministic cooking issues with movie scene data - Movie scene signatures are now initialized in PostInitProperties - A warning is now presented when attempting to cook old data that was never serialized with a signature. - Removed redundant legacy data upgrade logic that could dirty level sequences on load. #jira UE-44912 Change 3453788 by Yannick.Lange ViewportInteraction: Custom scene proxy for gizmo handles. Change 3453938 by Max.Chen Sequencer: Hotkeys (shift , and shift .) to step to next/previous shot #jira UE-45119 Change 3454058 by Michael.Dupuis Fixed StaticAnalysis Change 3454077 by Max.Chen Sequencer: Fix not saving the pre-animated track value when creating a track/key. On pre object change, broadcast property change so that a track or key can be created. That track/key needs to be evaluated immediately so that the pre-animated state can be saved properly. This is done now with RefreshAllImmediately and is only called when a track has been created. Also, added a return value for OnKeyProperty, so that it's known what changed in particular (ie. track created, track modified, etc) Also, fixed transform keying so that if a transform track already exists for the object or the scene component, the existing track is used. #jira UE-45130 Change 3454108 by Nick.Darnell UMG - Fixing the WIC to properly record cursor delta so that scrollbars work. Change 3454109 by Jamie.Dale Cache the text layout source info in non-shipping builds so you can inspect it in the debugger Change 3454202 by Matt.Kuhlenschmidt Fix bogus error message about the number of usable texture coordinates on ES2 when compiling a UI domain material Change 3454390 by Yannick.Lange Fix creating a plugin in a C++ project opens a second instance of Visual Studio. Use SourceCodeAccessor to open solution when necessary. #jira UE-45035 Change 3454564 by Matt.Kuhlenschmidt #rnx Fix deprecation warnings Change 3455471 by Yannick.Lange ViewportInteraction: Fix entering and exiting VR Mode disables gizmo in desktop editor viewport. #jira UE-44965 Change 3456183 by Max.Chen Sequencer: Auto key, auto track refactor. Auto key - create a key when the property changes and there's an existing track. Auto track - create a track when the property changes. This is only exposed in the level sequence editor. All - create a key and a track when the property changes. This is only exposed in VR Editor. None - do nothing. #jira UE-43469 Change 3456349 by Andrew.Rodham Sequencer: Only perform legacy signature checks on instances, and only where signatures match the CDO Change 3456678 by Alexis.Matte Allow to add null level instance override material via the advance material array. But still limit the override material number to the mesh material number. #jira UE-45306 Change 3456945 by Max.Chen UMG: Add restore state to 2d transform section. #jira UE-45372 Change 3457196 by Arciel.Rekman Linux: serialize allocations from the memory pool. Change 3458434 by Max.Chen Sequencer: Remove obsolete set tick prerequites functions. Change 3458671 by James.Golding Added MIC editing support to MaterialEditingLibrary Fix static analysis warning Change 3458888 by Matt.Kuhlenschmidt PR #3615: More detailed log messages for debugging warnings/errors (Contributed by projectgheist) Change 3458893 by Matt.Kuhlenschmidt PR #3583: UE-44960: Delta value wasn't being used (Contributed by projectgheist) Change 3458895 by Matt.Kuhlenschmidt Fix typo Change 3458902 by Matt.Kuhlenschmidt PR #3607: Improved InputKeySelector functionality (Contributed by projectgheist) Change 3458917 by Matt.Kuhlenschmidt Fix crash with invalid object properties in the class picker #jira UE-39000 Change 3458939 by Matt.Kuhlenschmidt Fix compile error Change 3458984 by andrew.porter QAGame: Initial check in of sequencer smoke test map Change 3459510 by Matt.Kuhlenschmidt Fixed ensure when deleting a map that contains build data which also happens to be the currently loaded map. #jira UE-45052 Change 3460985 by Max.Chen Sequencer: Snap play time to keys now allows scrubbing between keys and snaps to key times within a certain screenspace tolerance. #jira UE-45090 Change 3461698 by Arciel.Rekman Avoid using ARRAY_COUNT in Vulkan. - Sometimes those arrays can have no extensions whatsoever, and it is illegal to declare a 0 element C array. Change 3462053 by Max.Chen Sequencer: Show sequencer spawnables in the world outliner and add the icon overlay for spawnables. #jira UE-43470 Change 3462139 by Max.Chen Property Editor: Add objects to FPropertyAndParent Change 3462202 by Arciel.Rekman Fix FSocket::Recv() blocking with Peek when there's no data. Change 3462253 by Nick.Darnell Slate - New Clipping System Clipping is now a stateful choice made during composition of the slate hierarchy. Previously every widget got to respect or modify the clipping rect on an as needed basis. The problem was that clipping was only allowed in the layout space of the widget, and it wasn't possible to properly clip elements with render transforms. The new system permits all kinds of transforms on any widget, and they will all be clipped correctly. It tries to use Scissor Rects as they are much cheaper, but will switch over to stenciling if need be to represent a complicated masking structure with several rotated clipping rects all needed to be combined together. Here are the new clipping states a widget can have, almost all widgets are set to No. Only change it from No if your widget actually needs to clip, generally speaking most widgets don't need to clip. /** * This widget does not clip children, it and all children inherit the clipping area of the last widget that clipped. */ Inherit, /** * This widget clips content the bounds of this widget. It intersects those bounds with any previous clipping area. */ ClipToBounds, /** * This widget clips to its bounds. It does NOT intersect with any existing clipping geometry, it pushes a new clipping * state. Effectively allowing it to render outside the bounds of hierarchy that does clip. * * NOTE: This will NOT allow you ignore the clipping zone that is set to [Yes - Always]. */ ClipToBoundsWithoutIntersecting UMETA(DisplayName = "Yes - Without Intersecting (Advanced)"), /** * This widget clips to its bounds. It intersects those bounds with any previous clipping area. * * NOTE: This clipping area can NOT be ignored, it will always clip children. Useful for hard barriers * in the UI where you never want animations or other effects to break this region. */ ClipToBoundsAlways UMETA(DisplayName = "Yes - Always (Advanced)"), /** * This widget clips to its bounds when it's Desired Size is larger than the allocated geometry * the widget is given. If that occurs, it behaves like [Yes]. * * NOTE: This mode was primarily added for Text, which is often placed into containers that eventually * are resized to not be able to support the length of the text. So rather than needing to tag every * container that could contain text with [Yes], which would result in almost no batching, this mode * was added to dynamically adjust the clipping if needed. The reason not every panel is set to OnDemand, * is because not every panel returns a Desired Size that matches what it plans to render at. */ OnDemand UMETA(DisplayName = "On Demand (Advanced)") - Large API Change - All FSlateDrawElement::Make_____ calls have been deprecated that involved passing in a clipping rect. You no longer should are passed a Clipping rect via OnPaint. You are still passed a rect, but this rect represents a Culling Rect, which is valuable if you need to just out right not paint things the user can't possibly see. If you were previously trying to determine if you should cull widgets, by doing something like this, if ( FSlateRect::DoRectanglesIntersect(MyClippingRect, CurWidget.Geometry.GetRenderBoundingRect()) ) That's no longer a good option since there are ways for widgets to ignore the culling bounds. You should convert anything like above to the one below, if (!SWidget::IsWidgetCulled(MyCullingRect, CurWidget)) To assist in debugging efforts, there are several new debugging console flags in Slate, Slate.ShowClipping 1 - Controls whether we should render a clipping zone outline. Yellow = Axis Scissor Rect Clipping (cheap). Red = Stencil Clipping (expensive). Slate.DebugCulling 1 - Disables pushing clipping or stencil rects to the GPU, but continues to intersect culling rects, so that you can tell if a widget is properly culling children it can't possibly draw. Slate.ShowTextDebugging 1 - Show debugging painting for text rendering. I've added a new Experimental Feathering Option, it adds AA geometry around the outside of Box and Image brushes. Slate.Feathering 1 If you're using RenderDoc or something similar, you can now enable render events for slate, so that you can better grok how we're batching and changing states for each UI render pass. Slate.EnableDrawEvents 1 #jira UE-4659 #rn Change 3462714 by Nick.Darnell Fixing a few more compiler issues with the clipping changes. Change 3462726 by Max.Chen Switch OnEditStructChildContentsChanged to use FObjectWriter instead of FMemoryWriter which supports serializeing UObjects. This fixes a crash when adding actor array elements to a user defined event struct. #jira UE-45431 Change 3462801 by Nick.Darnell Adding a UMG dependency to EngineTestBuild. Change 3462914 by Max.Chen Sequencer: Fix regression where spawnables aren't getting saved. Caused by 3407138 #jira UE-30007 #jira UE-39003 Change 3462946 by Nick.Darnell Automation - Tweaking the UI automation tests converting them over to use the new UI Screenshot automation test. Automation - Adding a blur widget test. Change 3462987 by Matt.Kuhlenschmidt Back out changelist 3458893 Change 3464774 by Matt.Kuhlenschmidt PR #3629: Bugfix: Missing small icon in Project Launcher profile editor (Contributed by aarmbruster) Change 3464785 by Nick.Darnell Fixing some clipping stuff in the editor. Change 3464830 by andrew.porter QAGame: Second pass on sequencer smoke test map Change 3464902 by Nick.Darnell Loading - Adding some additional checks to the the loading code to ensure we're on the main thread. Additionally adding a fix from UDN that prevents deadlocks in the rare case a user hits Alt+Tab in a fullscreen game while in a hard loading screen. Change 3464988 by Max.Chen Sequencer: Add attenuation settings for attached audio components. #jira UE-33080 Change 3465024 by Nick.Darnell MoviePlayer - Impoving the playback mode displaynames. Change 3465074 by Arciel.Rekman Fix shadowing issues of GraphicsPSOInit. Change 3465097 by Matt.Kuhlenschmidt Some refactoring of the details panel Exposed new methods of adding a struct on scope to a details panel and have it work properly with customizations. The scruct on scope has a "fake" ustructproperty that allows the details panel to show the whole struct not just an individual property. Refactored the API for adding rows to details panels to make it more consistent\ AddChildCustomBuilder->AddCustomBuilder AddChildGroup->AddGroup AddChildContent->AddCustomRow AddChildPropert->AddProperty AddChildStructure->AddExternalStructureProperty AddStructure->AddAllExternalStructureProperties AddExternalProperty->AddExternalObjectProperty or AddExternalStructureProperty Change 3465186 by Max.Chen Sequencer: Save the BindingID in the pre animated token producer so that it can be destroyed properly. This fixes a bug where the default state of a spawnable isn't saved. #jira UE-43780 Change 3465315 by Matt.Kuhlenschmidt Fix Fortnite and Orion details panel customization warnings Change 3465424 by Nick.Darnell Automation - Moving the step for setting the link to the automation reports to be set before we start the engine. Change 3465488 by Nick.Darnell Automation - Forcing textures to load before taking screenshot, so that the scene gets another opportunity to render before we render with Slate. This should fix the Blur UI Test. Change 3466277 by Arciel.Rekman Linux: fix window drift when dragging (UE-40380). - Change by Cengiz Terzibas. Change 3466370 by Nick.Darnell UMG - Fixing the colors for the resize handle in the designer. Change 3466372 by Nick.Darnell UMG - Fixing the ruler ticks sometimes not being drawn. Change 3466374 by Nick.Darnell UMG - Fixing the designer showing multiple options for sequencer. Change 3466377 by Nick.Darnell UMG - Cleaning up some clipping bits. Change 3467025 by Andrew.Rodham Re-saving assets that contain legacy (<4.15) movie scene data to remove deterministic cook warning. If conflicts arise during merging of these assets, please ignore the changes made in dev-editor, and accept game-side changes. (CIS step 62283298, jobId 7773146) (CIS step 62283297, jobId 7773146) Change 3467099 by Max.Chen Fix GetObjectPropertyClass ensure logic. This was returning UObject::StaticClass when valid. Change 3467172 by Max.Chen Sequencer: Evaluation optimizations. Also, fixes subsequences not getting expired, leaving dangling spawnables. #jira UE-43690 Change 3467192 by Matt.Kuhlenschmidt Fix transactions getting stuck in the color grading controls. This prevents PIE from working properly and causes shutdown crashes #jira UE-45527 Change 3467251 by Yannick.Lange ViewportInteraction: Fix scale and rotation snap while dragging with two lasers. #jira UE-43489 Change 3467331 by Matt.Kuhlenschmidt Fix D3D shader compiler hard coding shader path and not giving proper warnings when it cannot find the shaders Change 3467335 by Matt.Kuhlenschmidt Remove DarkStyle attribute from SNumericEntryBox and allow a spin box style to be passed to it. Change 3467558 by Max.Chen Scene Outliner: Generic support to add default columns to a scene outliner. Change 3467565 by Jamie.Dale Removing old screenshot data for test Change 3467589 by Nick.Darnell Editor - Random cleanup. Change 3467596 by Nick.Darnell Progress Bar - Exposing Border Padding to UMG. Change 3467600 by Nick.Darnell Slate - Adjusting the rendering of the splitter, previously it could be off by a pixel or two, which becomes more apparent now with the clipping changes. Change 3467601 by Max.Chen Property Editor: Fix static analysis warning Change 3467662 by Nick.Darnell Automation - Fixing a bug with the screenshot comparison tool not replacing (removing) the old screenshot data. Change 3467674 by Max.Chen Property Editor: Fix static analysis warning Change 3467737 by Max.Chen Sequencer: Added OnMovieSceneBindingsChanged delegate Change 3468053 by tim.gautier QAGame: Updating Editor Smoke Map - Updated landscapes into Stations for testing - Added Foliage Sublevel Change 3468194 by Arciel.Rekman Linux: fix problems communicating with various STL-using libs. - Stop hiding global new/delete signatures. - Disable CEF3 since this change uncovers the problem with libcef.so not built to use bundled libpng. Change 3468678 by Max.Chen Sequencer: Set "Sequencer Actor" tag before setting the actor label so that the outliner refreshes after the actor has the tag. Change 3469314 by tim.gautier QAGame: Added Painted Foliage / Spline section to EditorSmoke map Change 3469377 by Nick.Darnell Slate - Fixing some warnings in a couple of sample games due to the clipping changes. #rnx Change 3469767 by Max.Chen Sequencer: Outliner column and sequencer binding data #jira UE-43470 Change 3469974 by Arciel.Rekman Fix code projects not working in Linux installed build. Change 3470082 by Nick.Darnell Slate - The GetRenderer() call on SlateApplication no longer returns a SharedPtr, rather than convert it to a thread safe ptr, going to just make accessing it a raw ptr return, so it can be safely referenced on the game thread while being used on the slate loading thread. Change 3470174 by Nick.Darnell Slate - Get the last widget in a widget path utility. Change 3470176 by Nick.Darnell UMG - User Widgets now have an easy way to know if they're part of or have been removed from the focused widget path, which is handy for doing effects. Change 3470261 by Nick.Darnell Slate - The GetRenderer() call on SlateApplication no longer returns a SharedPtr, rather than convert it to a thread safe ptr, going to just make accessing it a raw ptr return, so it can be safely referenced on the game thread while being used on the slate loading thread. Change 3470286 by Max.Chen Sequencer: Scene Component's HiddenInGame now goes through the VisibilityTrack and the visibility template. Change 3470366 by Nick.Darnell Slate - We now version focus per user, that way during focus events, we can safely abort focus events and state transitions if someone interrrupts the active focus event with something new. Change 3470649 by Matt.Kuhlenschmidt Fix deprecation warnings Change 3470695 by Matt.Kuhlenschmidt Fixed typo #jira UE-45580 Change 3470721 by Matt.Kuhlenschmidt Fix static analysis Change 3471254 by Michael.Dupuis #jira UE-42952: Keep occlusion result per view Change 3471287 by Nick.Darnell UMG - Render Focus Rule now defaults to never. Change 3471291 by Nick.Darnell Slate - Fixing FSlateRenderer* change fallout. Change 3471299 by Nick.Darnell Slate - Fixing FSlateRenderer* change. Change 3471323 by Nick.Darnell Automation - Fixing automation and Static Analysis warning. Change 3471413 by andrew.porter QAGame: Added test content for anim blending and material parameteres to sequencer smoke level Change 3471649 by Max.Chen Sequencer: Modify the track when adding animation #jira UE-45618 Change 3471659 by Matt.Kuhlenschmidt Added a way to check if a movie is playing from the engine. Prevented viewport redraws for canvas loading screens if a slate based loading movie is playing Change 3471734 by Matt.Kuhlenschmidt Added basic material hookup to USD. Similar to FBX it will find materials based on rules specified by the user in the import settings Change 3472176 by Nick.Darnell UMG - Improving the display of the +Track menu in sequencer for UMG. Renamed it from +Add, which is repetitve to +Track. Additionally, the dropdown now shows the currently selected widgets, as well as a submenu containing all the 'important' widgets, so we no longer populate that list with a ton of irrelevant widgets that are just Buton_1 - N, which is pointless in showing people, they'll never guess which is the right button. Change 3472740 by Max.Chen Sequencer: Add GetThisFrameMetaData accessor Change 3472748 by Max.Chen Sequencer: Added OnBeginScrubbing and OnEndScrubbing event delegates Change 3472753 by Max.Chen Sequencer: Add EMovieSceneDataChangeType parameter to OnMovieSceneDataChanged delegate Change 3472870 by Nick.Darnell Clipping - Fixing the deprecated tip for scissor rect boxes to be correct. Removing it's usage from UT. Change 3473340 by Max.Chen Scene Outliner: Add ability to register additional filters Change 3473348 by Max.Chen Details View: Make ForceRefresh virtual. Added accessors to delegates (ie. GetIsPropertyReadOnlyDelegate) Change 3473441 by Max.Chen Sequencer: Autokey Refactor Part 2. Autokey is now a single toggleable state. Allow Edits Mode has 3 states: Allow All Edits - Allow any edits to occur, some of which may produce tracks/keys or modify default properties. Allow Sequencer Edits Only - All edits will produce either a track or a key. Allow Level Edits Only - Properties in the details panel will be disabled if they have a track. #jira UE-45229 Change 3473670 by Nick.Darnell Modules - The module manager no longer returns sharedptrs to IModuleInterfaces, this was the source of rare hard to track down crashes due to a shared ptr reference leak when GetModule was called on non-main threads. We now store a TUniquePtr internally, and only lease out raw pointers. #rn Change 3473711 by Nick.Darnell Disabling the ensure in the module manager. Change 3473747 by Max.Chen Sequencer: Fix tooltip Change 3474091 by Jamie.Dale Added a warning when cooking a UFontFace that is outered to a UFont asset These cause issues with iterative COTF, and should be split off into their own assets (as the UI has been asking people to do for several versions) Change 3475052 by Yannick.Lange VR Editor: Fix Crash when quitting the editor with VR Mode enabled. VR Editor was being enabled when saving the map on closing the editor. #jira UE-45415 Change 3475054 by Yannick.Lange Fix crash when adding a camera to the world in VR Mode the second time. The slate application did not reset when stop dragging in VR Mode, so the second time when starting to drag a camera out of the UI it would already by in a dragging state. #jira UE-45574 Change 3475263 by Nick.Darnell Fixing some additional cases of IModuleInteface SharedPtr usage. Change 3475268 by Max.Chen Sequencer: Set jumped state when looping playback. This fixes an issue where audio doesn't stop and restart when looped. #jira UE-45654 Change 3475269 by Max.Chen Scene Outliner: Additional filters should only apply to actor browsing mode Change 3475407 by Nick.Darnell Fixing some clipping / module shared ptr changes in the launcher code. Change 3475542 by Max.Chen Sequencer: Update thumbnail and section highlighting to use new clipping behavior. #jira UE-45692 #jira UE-45689 Change 3475743 by Michael.Dupuis #jira UE-45183: When updating phyx region take into account simple collision mip Change 3475949 by Arciel.Rekman Remove PhysX deoptimization (no longer needed). - OR-24947 has been closed three months ago. Change 3476022 by Michael.Dupuis #jira UE-45560: Make sure we're not going out of range Change 3476063 by Michael.Dupuis #jira UE-45562: Do not try to unregister from static mesh if no static mesh is specified for the component Change 3476168 by Michael.Trepka Added handling of directory symlinks to FApplePlatformFile::IterateDirectory #jira UE-43704 Change 3476172 by Nick.Darnell Fixing a Imoduleinterface change. Change 3476183 by Jamie.Dale Exposing GoTo/ScrollTo to single-line editable text for API parity with multi-line editable text Change 3476385 by Arciel.Rekman Linux: handle symlinks when iterating directories. Change 3476522 by Michael.Trepka Solved a problem with Mac FMallocTBB::Malloc() returning nullptr for 0 bytes allocations, which is inconsistent with other platforms. On Mac we always scalable_aligned_malloc, which behaves differently than scalable_malloc, so for 0 bytes requests we allocate sizeof(size_t), which is exactly what scalable_malloc does internally in such case. Change 3476806 by Nick.Darnell UMG - Focus the designer after dropping a widget onto the surface. Change 3476809 by Nick.Darnell Curve Editor - Enable Clipping on the curve editor. Change 3477475 by Nick.Darnell Fixing a module interface shared ptr usage in UT. Change 3477553 by Yannick.Lange VR Editor: Removed AssetEditorPanelID and replaced it with TabManagerPanelID. A panel for AssetEditorPanelID was never created making it impossible to open an asset editor. Change 3477734 by Yannick.Lange VR Editor: Fix Warning: SetRelativeScale3D : Invalid Scale entered (X=inf Y=inf Z=inf). Resetting to 1.f. warning when adding CineCameraActor to World from Modes Panel. Make sure to not divide by zero when there is no boundary scale. #jira UE-44933 Change 3477761 by Jamie.Dale Some improvements to avoid loading the native .locres files twice when we don't need to Change 3477780 by Nick.Darnell PR #3250: Return correct VirtualUserIndex (Contributed by projectgheist) Change 3477786 by Nick.Darnell PR #3650: Changed TestNull to accept const pointers. (Contributed by e-agaubatz) Change 3477795 by Nick.Darnell PR #2844: UE-36936: Don't stretch container for Plugin Image (Contributed by projectgheist) Change 3478092 by Nick.Darnell PR #2341: Optional Middle Mouse Button panning in Graph Editor (Contributed by flipswitchingmonkey) Engine Edit - Made some small changes to the enum type, and some naming. Change 3478450 by Nick.Darnell Fixing some uninitialized variable errors. Change 3479827 by Andrew.Rodham Sequencer: Addressed serialization issues with some struct types Change 3479874 by Jamie.Dale Fixed "NativeGameLanguage" not being used correctly during localization initialization Change 3480012 by Andrew.Rodham Sequencer: Fixed loading tagged properties as native for track identifiers #jira UE-45823 Change 3480337 by Alexis.Matte Fix morph target crash missing some valid index check Change 3480804 by Alexis.Matte Fix crash with ColorGradingMode custom detail #jira UE-45638 Change 3480892 by Andrew.Rodham Sequencer: Ensure that movie scene sequences know about the editor object version #jira UE-45842 Change 3481073 by Nick.Darnell Fix the shader compiler error from main in Slate. Change 3481303 by Nick.Darnell UMG - Fixing a bug with the drag handle not working correctly in HDPI mode. Change 3481308 by Nick.Darnell Slate - Tweaking the IsWidgetCulled logic to consider both the layout and rendering bounds. If we do this, we get a much more desireable outcome for people that want to animate widgets and such and plan to have temporary animations to move the widget offscreen, but want the layout bounds to anchor that widget in the visible frame so that it animates even when normally it would be culled b/c the render transform and therefore the renderbounds moved it completely outside the culling rect. Change 3481629 by Max.Chen Sequencer: Add Level Sequence Actor as an output for CreateLevelSequencePlayer() #jira UE-45785 Change 3481899 by Yannick.Lange VR Editor: Added debug modetoggle command with an event that is broadcasted whenever this happens. Currently this is used to show all the floating UIs of the UI system to debug without HMD using VREd.ForceVRMode. Change 3481984 by Michael.Dupuis #jira UE-45845: always validate if we have a static mesh before trying to access it as user can decide to not assign one and use the tools Change 3482047 by Nick.Darnell Slate - Adding some comments to IsWidgetCulled. Change 3482110 by Nick.Darnell Slate - IsWidgetCulled is no longer static and is now called IsChildWidgetCulled. Change 3482136 by Jamie.Dale The CamelCase break iterator now treats digits around character tokens as part of the identifier Change 3482138 by Michael.Dupuis #jira UE-45854: Properly unregister during undo operation Change 3482150 by Michael.Dupuis #jira UE-45845 : Add missing nullcheck for GetStaticMesh Change 3482153 by Nick.Darnell Slate - IsWidgetCulled is no longer static and is now called IsChildWidgetCulled. Change 3482180 by Nick.Darnell UMG - Widget Components do not need to define a widget class to be rendererd, they can have native slate widgets only. This was a regression from main. Change 3482273 by Nick.Darnell UMG - Tweaking some more things about the widget component box outline. Change 3482308 by Alexis.Matte Fixing morph target smooth group support. Do not call FillSkeletalMeshImportData more then once on FbxNode since this fonction is doing some conversion and change the FbxNode, applying those conversion twice do not return the same faces smooth group. #jira UE-45696 Change 3482327 by Nick.Darnell UMG - More tweaks to the WidgetComponent so both shows the box outline, but works in game and VR editor. Change 3482705 by Andrew.Rodham Resaving assets that contain legacy data to suppress CIS warnings. - If conflicts arise in these assets, please take game-side changes and ignore these. Change 3484245 by Max.Chen Sequencer: Evaluate on end scrub. This fixes a bug where audio doesn't evaluate in a stopped position at the end of scrubbing, causing it to not stop all sounds. This fixes a bug introduced from 3365018 where evaluate on end scrub was removed. #jira UE-45905 Change 3484263 by Max.Chen Sequencer: Fix crash on forcing refresh of details panel on release. #jira UE-45911 Change 3484431 by Andrew.Rodham Resaving assets that contain legacy data to suppress CIS warnings. - If conflicts arise in these assets, please take game-side changes and ignore these. Change 3484474 by Alexis.Matte Fix the morph target animation curve name matching. #jira UE-20294 Change 3484475 by Alexis.Matte When removing a LOD, make sure we remove all morph target data associate to the LOD. Change 3484489 by Nick.Darnell PR #3668: UE-45908: Cache debug line locations when performing a LineTraceMulti (Contributed by projectgheist) #jira UE-45908 Change 3484692 by Nick.Darnell Slate - Reverting a change from a game stream. All Arranged Children don't need to allocated 42 to begin with. Do need to initialize WidgetPaths better. Change 3484703 by Nick.Darnell Player Input - Making the input event loop for players obey EKeys::NUM_TOUCH_KEYS, rather than being set to Touch10, as the maximum touch input amount, to make supporting greater than 10 touches easier. Also making the seeding of keys use EKeys::NUM_TOUCH_KEYS. #jira UE-43213 Change 3484918 by Jamie.Dale Fixed font measuring regression with RTL text RTL applies the character count to the next glyph, so it shouldn't process the end of the loop (this was how the older code used to work). Change 3485718 by Nick.Darnell Editor - Removing Super Search & User Feedback button. Change 3485719 by Nick.Darnell Portal - Removing SuperSearch. Change 3485751 by Matt.Kuhlenschmidt Fix crash accessing platformer game menu if the menu is open during a console based load #jira UE-45950 Change 3486047 by Arciel.Rekman Linux: add OpenEXR implementation (UE-40270). #jira UE-40270 Change 3486467 by Max.Chen Sequencer: Reset max tick rate when destroyed. #jira UE-45956 Change 3486477 by Max.Chen Sequencer: Refresh outliner when column is removed. #jira UE-45891 Change 3486667 by Andrew.Rodham Added missing include Change 3486724 by Andrew.Rodham Sequencer: Fixed curves with no default value, and no keys being evaluated and applied to properties - Also fixed an edge case where a zero (but non-animated) channel could be applied to a final transform Change 3486730 by Alexis.Matte In the Auto-Reimport options, hide the mout point only for the default /Game/ folder #UE-45684 Change 3486749 by Alexis.Matte Make sure the parent window of the monitor directory browse folder is set properly #jira UE-45682 Change 3486805 by Matt.Kuhlenschmidt Additional safety against invalid objects being accessed by slate Change 3486848 by Alexis.Matte Make sure Monitor folder feature support root mount point map folder During auto import, give priority to asset import factory over the scene import factory #jira UE-45691 Change 3486879 by Andrew.Rodham Removing obsolete QA assets Change 3486950 by Nick.Darnell PR #2281: Scrollbar missing features and SScrollbar fixes (Contributed by SNikon) Review - made some adjustments from the original. Change 3486954 by Nick.Darnell Slate - Moving the STableViewBase over to the FOverscroll class, rather than it's own clone. Change 3486967 by Nick.Darnell Slate - Fixing some HDPI calculations for fitting new windows on screen, it was using the unscaled size of the widgets for fitting, when it needed to scale them up. Change 3486970 by Andrew.Rodham Sequencer: Delay mouse capture until drag for sequencer time slider - Fixes context menus not opening as a result of mouse capture being taken on mouse down #jira UE-45937 Change 3486984 by Andrew.Rodham Sequencer: Improved blending type iconography Change 3486996 by Nick.Darnell UMG - Adding a way for games to opt-out of the slow widget path, to completely prevent them from being cooked. UMG - The movie data is no longer cloned for each new instance that inhabits. It now keeps a reference to the now publically accessible movie scene data on the class instead. Change 3487070 by Andrew.Rodham Sequencer: Added graphics for key areas that represent empty space Change 3487195 by Andrew.Rodham Sequencer: Changed evaluation groups to always flush implicitly - Due to the latent nature of blended token types, it's no longer safe to rely solely on execution token order between tracks - This fixes an issue where events set in the PostEvaluation stage were executed before blended token actuation Change 3487322 by Nick.Darnell PR #2457: Add .gitdeps.xml-files for plugins support (Contributed by bozaro) Change 3487363 by Nick.Darnell PR #2481: Fix for packing of a project with users plugins (Contributed by yatagarasu25) Change 3487439 by Nick.Darnell PR #2642: Changed private to protected in SVirtualJoystick.h (Contributed by Skylonxe) Change 3487500 by Arciel.Rekman Removed LinuxNativeDialogs. - No longer used; has been superceded by SlateDialogs since UE 4.8 (2 years ago). Change 3487630 by Lauren.Ridge Don't create Landscape Info Maps for Editor Preview Worlds or thumbnail worlds #jira UE-44885 Change 3487864 by Matt.Kuhlenschmidt Exposed the asset registry to blueprints and script. Works in editor scripts and runtime scripts AssetRegistry is now a UInterface object. Blueprint users can access various asset registry methods using the asset registry interface (via GetAssetRegistry) and various static helpers in the AssetRegistryHelpers object C++ users should still continue to use IAssetRegistry. Change 3487879 by Matt.Kuhlenschmidt Renamed asset tools uobject helper to UAssetToolsHelpers Change 3487926 by Lauren.Ridge Fixing reset to default not showing up for custom widgets #jira UE-44164 Change 3488184 by Matt.Kuhlenschmidt PR #3656: Make References/Referencers List copyable (Contributed by user37337) #jira UE-45763 Change 3488240 by Matt.Kuhlenschmidt Fix compiler issue Change 3488350 by Lauren.Ridge Landscape info map transactional state is based on its world's transactional state #jira UE-44885 #jira UE-46019 Change 3488412 by Matt.Kuhlenschmidt Fix reset to default showing up in two different places for some customizations Change 3488413 by Matt.Kuhlenschmidt Fix slate font customization Change 3488414 by Matt.Kuhlenschmidt Fix slate font customization Change 3488415 by Matt.Kuhlenschmidt Missed file Change 3488565 by Arciel.Rekman Add pretty printers for gdb (UETOOL-1171). - Committing shelf by Cengiz.Terzibas, with some modifications. #jira UETOOL-1171 Change 3489094 by Nick.Darnell Slate - The Slate RHI Renderer now caches the TextureLODGroups so that it can properly lookup the filtering of different texture groups that are set to Default, instead of a particular filter override on a texture. Engine/Rendering - Simplifying some of the setup logic in TextureLODSettings so that code is shared for setting them up properly after loading from a config file. Change 3489095 by Nick.Darnell PR #2699: GameViewportClient - Added a method to allow setting the viewport cur. (Contributed by rfenner) Review - Fixed spacing. Change 3489108 by Matt.Kuhlenschmidt Fix deprecation warning Change 3489120 by Nick.Darnell PR #3478: Fix possible UComboBoxString crash (Contributed by nakosung) Change 3489147 by Andrew.Rodham Sequencer: Adding return value to function to appease static analysis - This function is never compiled, and if it is, it won't compile, but static analysis doesn't know that Change 3489264 by Nick.Darnell Testing - Finishing the thought behind an enum comment. Change 3489265 by Nick.Darnell PR #2750: UE-35164: Button padding (Contributed by projectgheist) Change 3489267 by Nick.Darnell PR #3645: UE-45464: Handle SSlider mouse interaction more accurately (Contributed by projectgheist) Change 3489632 by Arciel.Rekman Correctness changes to MallocPoisonProxy. - Missing forwarding functions added. Incorrect comment removed. - Change by Steve.Robb, doing here so it is in 4.17. Change 3489689 by Arciel.Rekman More MallocPoisonProxy changes I missed in previous CL. Change 3489751 by Matt.Kuhlenschmidt Moved editor performance settings out of per-project settings so they can be shared across projects Change 3489837 by Lauren.Ridge Keyboard shortcut for entering/leaving VR Mode is now Alt+V Change 3491082 by Arciel.Rekman Linux: better fix for the crash due to name collision (UE-46040). - Put classes in Sequencer module into Sequencer namespace instead of SceneOutliner namespace. - Undid change in the SceneOutliner module. #jira UE-46040 Change 3491096 by Arciel.Rekman Fix UAT compilation on the newest mono. Change 3491240 by Max.Chen Sequencer: Disable key button when allow level edits only is on. #jira UE-46060 Change 3491406 by Yannick.Lange Fix editor crashes when opening a project that includes a plugin with more than two custom Volume classes. This issue was caused because registering show volume commands is based on finding volume classes. Finding these classes at multiple times resulted in a mismatch of the returned array of volume classes because modules/plugins were still being loaded. #jira UE-45806 Change 3491559 by Alexis.Matte Make sure we use the good preview mesh when doing a preview #jira UE-45963 Change 3491563 by Alexis.Matte Fix crash with staticmesh editor LodLevel selection Change 3491564 by Nick.Darnell UMG - Fixing an offset with the grab handles in HDPI mode. Change 3491595 by Nick.Darnell Editor - Fixing a clipping artifact in the pin type dropdown in the blueprint editor. Change 3491604 by Nick.Darnell Back out changelist 3489265 Change 3491615 by Arciel.Rekman Added malloc replay proxy (Linux only for now). - Allows to dump malloc callstream (without regard to threads) and replay later to study the behavior of different mallocs and/or repro problems. Change 3491684 by Arciel.Rekman Added FMalloc functions I missed. - Also moved function bodies into the .cpp file, this does not make a difference in performance in this case. Change 3491692 by Matt.Kuhlenschmidt Some minor fixes to the static mesh editor - Fix UV combo button looking non-standard on the toolbar - Fix a few combo buttons in the details panel looking too big. Change 3491702 by Arciel.Rekman Do not compile replay proxy-specific code when not used. Change 3491717 by Michael.Dupuis #jira UE-35083: The component is now the owner of the PerInstanceRenderData instead of the proxy Add an Update path to only update specified instances range Always call BuildTreeIfOutdated so we have a standard code path to make sure static mesh are fully loaded before trying to build the tree Moved the Instance Buffer aysnc to the base class, as it's not related to UHierarchicalInstancedStaticMeshComponent Expose a new property to decide if we require dynamic instance buffer Change 3491758 by Matt.Kuhlenschmidt Fix crash on static mesh editor shutdown Change 3491873 by Cody.Albert Fixed clipping issue in Sequencer curve editor #rnx Change 3491956 by Matt.Kuhlenschmidt Fix crash opening the Previewing sub-menu in the level editor settings menu #jira UE-46095 Change 3492046 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3492076 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3492165 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3492222 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3492274 by Michael.Dupuis #jira UE-46105: Fixed Clang warning Change 3492338 by andrew.porter QAGame: Testing ensure when submitting Change 3492371 by Nick.Darnell UMG - Reverting the animation sharing, cossed GLEO regressions in cooking. Will look for a better solution. Change 3492462 by Matt.Kuhlenschmidt Fix ensure checking in files through perforce Change 3492491 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3492505 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3492517 by Jamie.Dale The package localization ID is no longer used at all at runtime, and is now truly editor-only This should have always been the case, but it was leaked into manifest/archives/PO files in 4.14, and while 4.15 removed it from PO files it was still present in the manifest/archives. This change removes it entirely (unless gathering editor-only data, and even then the PO file will still collapse the entries together for translation), and the deprecated 4.14 export behavior will now produce an error if you attempt to use it. After taking this change you'll need to run a gather, import, and compile of your LocRes files to update your game localization to use the new localization IDs. Change 3492630 by Nick.Darnell UMG - Removing some extra cleanup code that's probably overkill and is causing a crash for uses of "Within" in class meta. #jira UE-46124 Change 3492692 by Matt.Kuhlenschmidt Fix drop shadows inheriting the outline color of the font. The outline should still appear but not have a different outline color from fill color Change 3492714 by Matt.Kuhlenschmidt Added outline with drop shadow to font automation test Change 3492737 by Matt.Kuhlenschmidt Fix linux Change 3492992 by tim.gautier Resaving Ocean Widget Blueprints / Sequences to resolve Legacy Sequence Data warnings #jira UE-46132 Change 3493089 by Jamie.Dale Ensure that the composite font of a font asset is flushed when the font object is GC'd Change 3493322 by Jamie.Dale Fixing null crash #jira UE-45758 Change 3494467 by Andrew.Rodham Fix Xbox warning Change 3494852 by tim.gautier QAGame: Changed streaming method of QA-EditorSmoke-Landscape to Always Loaded Change 3494853 by Nick.Darnell Another attempt at fixing the automation blueprint SA warning. Change 3494896 by Arciel.Rekman Fix possible null pointer access during Vulkan init. - May fix static analysis warnings in UE-46142, although warnings seem to be referring to something else. #jira UE-46142 Change 3494987 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3495010 by Matt.Kuhlenschmidt Adding additional logging to track down html5 issue Change 3495212 by Michael.Dupuis #jira UE-46143: Properly init the InstanceRenderData during the cooking phase (required by fortnite) Change 3495536 by Jamie.Dale Updating UGameEngine to call its Super::PreExit after performing its own teardown This prevents UEngine cleaning up resources that UGameEngine still needs. #jira UE-46159 Change 3495551 by Arciel.Rekman Another attempt to fix analyzer problem (UE-46142). Change 3495794 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3495905 by Matt.Kuhlenschmidt Fix USD crash when importing a meshwith no material [CL 3499771 by Matt Kuhlenschmidt in Main branch]
2017-06-19 20:27:30 -04:00
{
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 4044339) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3947021 by Max.Chen Sequencer: Don't preserve root component when copying object properties. A spawnable empty actor, has a root component that is generated by the empty actor factory. If the object template's root component is preserved when copying from the spawnable empty actor, the root component will not be copied over. Therefore, we need to NOT preserve the root component when copying object properties. #jira UE-55825 Change 3947366 by Max.Preussner WmfMedia: Better log output Change 3947367 by Max.Preussner MfMedia: Better detection of compressed format properties on Windows Change 3949102 by Max.Chen Sequencer: Remove SequenceActorTag when converting to possessable. #jira UE-56206 Change 3949207 by andrew.porter EngineTest: Set the screenshot nodes resolution to 1280x720 Change 3949404 by Max.Chen Sequencer: More informative tooltip for "Rerun Construction Scripts" option. It now says "Rerun construction scripts every frame on actors that have 'Rerun Construction Script in Sequencer' enabled in their class settings". Change 3950067 by Matt.Hoffman Renamed UAutomatedLevelSequenceCapture's StartFrame and EndFrame to CustomStartFrame/CustomEndFrame to reflect that it is user-overriden. This will also resolve upgrade issues due to the variable datatype changing. #jira UE-56189 Change 3950193 by JohnHenry.Carawon Updating my latest MovieRendering test content. Change 3950757 by JohnHenry.Carawon More updates to MovieRendering test content Change 3952059 by Max.Chen Resave LevelVisibility_SubLevels to fix data loss conversion warning of OpacityMaskConstant #jira UE-56086 Change 3952283 by Max.Chen Sequencer: Disable dropping level sequence assets as spawnables. #jira UE-56120 Change 3952422 by Max.Chen Sequence Recorder: Add button to record from the current player. #jira UE-55942 Change 3952987 by JohnHenry.Carawon MovieRendering Test Content - Fixing camera bindings and changing the override binding actor Change 3953823 by Mike.Zyracki Fix for Bad FBX Import Tangents not scaled by frame rate. After looking at this again it seems that a set of MovieScene:: overiddes for the channel traits wasn't set correctly, so use the ADL idiom to use MovieScene, which can then call Optimize in the correct namespace. With this we can now correctly use the passed in tolerance. There was also a redundant set of Optimize calls so that it could happen twice so removed them, and needed an extra check in the float channel Optimize. Also since we need to set auto tangents no matter if we optimize we don't set that parameter(though leave it since it's used by context menu key reduction). Finally fixed speed issue with trajectories caused by calculating way too many substeps. Reverted back to a time based step size for consistency. #jira UE-56193 Change 3954317 by Matt.Hoffman Adding a key to the last frame of a section no longer causes a crash. Keys can already be moved to be on the last frame of a section so now you can just add a key there directly. #jira UE-56255 Change 3954326 by Matt.Hoffman Dilating a section that is only infinite on one side no longer causes a crash. #jira UE-56260 Change 3954486 by Max.Chen PR #4580: Exposes IsReversed() from UMovieSceneSequencePlayer (Contributed by alanedwardes) Change 3955238 by Max.Preussner Messaging: Enabled delayed message routing https://github.com/EpicGames/UnrealEngine/pull/4574 #jira UE-56247 Change 3955901 by Max.Preussner MediaFrameworkTest: Added developer test for overriding desired media player plug-in at runtime. Change 3955922 by Andrew.Porter QAGame: Updating movie rendering content in dev folder Change 3956004 by andrew.porter QAGame: Adding MPC track to movie rendering test content Change 3956510 by Max.Chen Sequencer: Fix fbx camera import of static properties so that they are imported before default tracks are created. Otherwise, the default tracks inherit the default properties of the camera, rather than the values from the fbx. #jira UE-56311 Change 3957613 by Max.Preussner MediaUtils: Added code documentation to media player facade Change 3958005 by Max.Preussner MediaUtils: Added method to get number of sinks Change 3958934 by Max.Chen Sequencer: Fix keys getting added and sequence getting erroneously re-evaluated when auto key is off. Only apply defaults if there are no keys. Only modify the movie scene section before creating keys or setting defaults. #jira UE-55903 Change 3959687 by Andrew.Rodham Sequencer: Fixed visibility track external values being inverted #jira UE-56324 Change 3960507 by Max.Preussner Core: Fixed incorrect rounding in FMath::DivideAndRoundNearest Change 3962047 by JohnHenry.Carawon MovieRendering Test Content Changes: - Add Lightmass Importance Volumes to sublevel to fix warnings - Rebuilt Lighting - Add a third sequence for Gamut testing - Resaved the sound master.uasset to fix warning Change 3962211 by Mike.Zyracki Add Frame Numbers to selected animation sections. Added MapTimeToAnimation to MovieSceneSkeletalAnimation so that we could get it from the Skeleton Animation track Editor. Since the thickness of the frame line can change based upon frame rate and zoom we need to calculate it similarly to how the time slider controller does it. Those calculations were private so we had to expose FScrubRangeToScreen and GetScubberPixelRange from the TimeSliderController. Also needed to know if the section itself was selected so added a bIsSelected flag to the section Painter. Also fixed a bug where you couldn't add a section if other sections existed at different times in MovieScenePropertyTrack and could crash due to the check(). #jira UESEQ-395 Change 3962497 by Max.Preussner Core: Added new string formatting argument to FTimespan Change 3963662 by Max.Chen CineCamera: Flip VistaVision width and height. Change 3963731 by Max.Preussner MediaCompositing: Implemented sequence recording support for media track Change 3964195 by Andrew.Rodham Sequencer: Set inverted property correctly for newly created visibility track sections - Also clamp evaluation for key editors to the bounds of the section so we're not displaying values outside of the section bounds when the cursor is not on the bounds #jira UE-56324 #coderevew Max.Chen Change 3964196 by Andrew.Rodham Sequencer: Fixed crash when attempting to render sections that resulted in a negative intersection with the view range Change 3964275 by Andrew.Rodham Sequencer: Fixed MovieScene::ClampToDiscreteRange for infinite range bounds Change 3964364 by Andrew.Rodham Curve Editor: Reduce minimum vertical view range when zooming to fit Change 3965091 by Max.Chen Sequencer Recorder: Refresh next sequence if empty when starting a recording, otherwise, use existing name. #jira UE-56469 Change 3965148 by Max.Chen Sequence Recorder: Move Record to Possessable to "Actor Recording" group Change 3965162 by Max.Chen Sequence Recorder: Always break out of immersive mode when done recording, even when stopping recording during countdown. #jira UE-56407 Change 3965214 by Max.Preussner QAGame: Enabled ImagePlate plug-in Change 3965574 by Max.Preussner SimpleComposure: Reorganized & upgraded content to work with new Media Track #jira UE-56488 Change 3965651 by Max.Preussner MediaCompositing: Ignoring seek-on-open if media not seekable Change 3966075 by Christina.TempelaarL Sequencer: Added Final Cut Pro 7 XML Export functionality #jira UESEQ-358 Change 3966087 by Matt.Hoffman Adding a single key to the Particle Toggle track now makes an infinite range section that is displayed in the UI. #jira UE-56295 Change 3966547 by Andrew.Rodham Sequencer: Fixed rounding errors when drawing the section background on boolean sections - Logic was using time in sectonds which caused rounding errors on evaluation and flickering red/green stripes when dragging keys around #jira UE-56324 Change 3966563 by Andrew.Rodham Curve Editor: Key editor interface improvements - SKeyEditInterface has a few problems - it does not update in real time when editing properties, and does not support multi-edit which makes it unsuitable for use with the curve editor - We now take a different approach for editing keys by gathering a set of proxy UObjects for each key that is currently selected. These objects are added as top level objects to the details panel which means they support multi edit as you'd expect from any other details panel in the editor. - Proxy objects are updated every tick for the curve editor if they implement the ICurveEditorKeyProxy interface, which allows them to refresh their current value. - Ideally, the same mechanisms would be used in the main sequence interface, and we would be generating the proxy classes at runtime based on the key value type, but that work remains a separate task from this initial offering. #jira UE-56165 Change 3966564 by Andrew.Rodham Curve Editor: Expand to frame when adding or moving keys in the curve editor Change 3967051 by andrew.porter MediaFrameworkTest: Set the CameraPlayer_Video texture to auto clear Change 3967141 by Andrew.Rodham Sequencer: Keep track of spawned objects that have been modified and only re-save such object's default spawnable state on destruction - Now that we're taking this approach, I've remove serveral redundant bits of functionality in the spawn register such as making some spawnables read-only, and the PreSave binding for Sequencer. - We now hook into all object pre-saves to make sure we handle the case where the sequences are saved through the content browser or elsewhere. #jira UE-47686 Change 3967170 by Andrew.Rodham Sequencer: Added the ability to possess anim instances as object bindings - This allows full and direct animation of properties on UAnimInstance, and animation blueprints - Object Bindings are made by first possessing a skeletal mesh component, then choosing the + Add button where its anim instance will be listed - Added a new function to UMovieSceneSequence to gather previously cached objects that should now be invalidated. Anim instances will be re-resolved if a new UAnimInstance is assigned to USkeletalMeshComponent::GetAnimInstance. - ObjectBindingIDs for anim instances are just represented by an entry in a set of GUIDs. We only ever resolve such bindings through USkeletalMeshComponent::GetAnimInstance. - Only currently supported on LevelSequences #jira UE-56132 Change 3967195 by Max.Preussner Core: Updated TRangeSet to use TCallTraits Change 3967345 by JohnHenry.Carawon Test Content Changes - first iteration of spacing out the examples in the shots. Change 3967572 by Max.Chen Sequencer: Fix setting PreviousPlayEvalPosition until after we've tested whether it's set. #jira UE-56518 Change 3967750 by Max.Chen Audio: Set duration based on number of input channels, rather than number of channels to serialize. This fixes an issue where audio split into 2 channels is set to a duration that's twice as long. #jira UE-56430 Change 3967836 by Max.Chen Sequencer: Allow for animating array elements within ustruct properties #jira UE-55887 Change 3968506 by Matt.Hoffman Fixed ambiguous conversions for seconds and frames being overriden by ambiguous conversion to Timecode (in frames). Change 3968748 by Max.Chen Sequencer: Make the event properties submenu widget larger. #jira UE-55557 Change 3968862 by Max.Chen Sequencer: Recursive expansion when shift is down #jira UE-52139 #pr 4194 Change 3968863 by Max.Chen Sequencer: Bind rename command to selected track so that F2 shortcut start renaming #jira UE-52139 #pr 4194 Change 3968872 by Max.Chen Sequencer: Rekey the selected key at the current time. #jira UESEQ-396 Change 3968938 by Max.Chen Cine Camera: Add option to toggle the behavior of locking the rail mount to the orientation of the spline. By default, the option is off, no change in behavior. #jira UE-55815 Change 3968958 by Andrew.Rodham Sequencer: Consider vertical position when hittesting keys #jira UE-56256 Change 3969643 by Max.Preussner Core: Rounding timespans created from double values towards nearest ticks Change 3969646 by Max.Preussner MediaUtils: Implemented timeout mechanism for block-on-fetch feature Change 3969776 by Mike.Zyracki Added Skip Anim Notifiers Toggle per what was in Matinee. Investigated the Enable Root Motion toggle as also discussed but it's implementation is directly contained by the animation asset and unlike animation notifies there seems to be no exposure to interactively disable it during a playback tick. Note if we are generating thumbnails we still automtically disable notifies in the editor to avoid annoying noise playback. Note that if Enable Root Motion/Root locked is specified in the animation asset it does correctly effect the Sequencer. #jira UESEQ-399 Change 3969835 by Matt.Hoffman Playback Range and Selection Range use unified logic for adding themselves as potential snap locations which properly handles inclusive/exclusive bounds. This resolves an issue where having an unset selection range caused a potential snap location to be added on frame 0 and 1 (internal resolution) which caused a misalignment when placing objects near frame 0. This also removes the one frame offset on setting Selection Range to bring behavior inline with other ranges. #jira UE-55420 Change 3969885 by Max.Preussner MediaAssets: Don't register media player CDO with media ticker Change 3971129 by Andrew.Rodham Sequencer: Fixed UMovieSceneSequencePlayer::GotToEndAndStop() not taking into account for start time This is a remnant from when the times were always specified in 0-duration space, rather than actual sequence times. Change 3972056 by JohnHenry.Carawon More updates to Test Content. I continued spacing out the examples in the sequence so that they have a consistent number of frames between each example and during the start/end of the example. Also removed the Marcie sublevel. Change 3972066 by Andrew.Porter MediaFrameworkTest: Setting Marcie folder to be never cooked in package settings Change 3972675 by Matt.Hoffman Splitting Subsequence Sections no longer sets an incorrect playback range on the subsequence when the subsequence has a different internal resolution than the owning sequence. #jira UE-55453 Change 3973376 by Max.Preussner ImgMedia: Zero is the only valid video track for image sequences Change 3973489 by Max.Preussner Launch: Build rules cleanup pass - don't use Media, MediaUtils on server apps - don't link against Media (include-only dependency) - don't include from MediaAssets (dynamic load only) Change 3973760 by Max.Preussner MediaUtils: Moved AppMediaTimeSource implementation into its own file; added logging Change 3973765 by Max.Preussner ImgMedia: Disallowing seek beyond media length Change 3973855 by Max.Preussner MediaFrameworkTest: Updated developer test content Change 3973858 by Max.Preussner MediaCompositing: Blocking on media player time instead of media sample time (the former may not be hit in the current frame) Change 3974988 by Max.Chen Sequencer: Fix trim left so that it also sets the start offset for audio and skeletal animation sections. #jira UE-57015 Change 3976101 by Matt.Hoffman Sequencer will now focus the scroll view on newly created items. #jira UE-56492 Change 3976203 by Max.Chen Property Editor: Add DetailsViewArgs for ColumnWidth. Defaults to 0.65f, no change in existing behavior. Change 3976205 by Max.Chen Sequencer: Set better column widths for sequencer. #jira UE-55557 Change 3976206 by Max.Chen Sequencer: Added menu category for import/export Change 3976265 by Matt.Hoffman Tracks within Object Binding Nodes will now sort using the old behavior so that components are added above other track types. #jira UE-56473 Change 3976901 by Max.Chen Sequencer: Add event names to event track section #jira UESEQ-353 Change 3977878 by Max.Preussner Media: Moved media framework ticking stats into Media module Change 3977982 by Max.Chen Sequencer: Add Edit->Reset section length to duration of source (ie. audio, skeletal animation, shot length) Added MovieSceneSection::GetDefaultDuration and MovieScene::HasDefaultDuration #jira UESEQ-392 Change 3977994 by Max.Preussner Media: Fetching and rendering media samples before viewports are rendered (to ensure frame sync for in-level media playback) #jira UE-53975 Change 3978188 by Matt.Hoffman Easing Curves are now clipped by the sequence's PlayRange when testing against an infinite section. This causes blended sequences to finish their blend when the section starts/ends instead of always using 25% of the total section length to determine default blend range. #jira UE-56362 Change 3978676 by Max.Preussner MediaCompositing: Fixed first frame of rendered out media track missing #jira UE-53975 Change 3978684 by Max.Preussner MediaCompositing: Enabled media track frame sync feature #jira UE-53975 Change 3980026 by Matt.Hoffman Keys can be selected on folded out sections (such as an audio track expanded to show volume and pitch) again. #jira UE-57169 Change 3981614 by Max.Preussner MediaUtils: Added missing subtitle sample queue flush Change 3982311 by Max.Preussner MediaCompositing: Added safeguard for zero length media sources Change 3982389 by andrew.porter QAGame: Adding media track test content into FrameAccuracySubscene Change 3983661 by Max.Chen Sequencer: Add level name to spawn a spawnable into. Add sublevel menu option to set the level #jira UESEQ-390 Change 3983712 by Andrew.Rodham Sequencer: Purge legacy blueprint spawnables from LevelSequence packages #tests Ran a preflight for cooking fortnite, ocean and Orion. Only orion shows up this edge case, and will require a re-save of the EndCines level #jira UE-39173 Change 3983787 by Max.Preussner MediaCompositing: Moved compile time switch for block-on-fetch into media player facade Change 3983812 by Andrew.Rodham Sequencer: Exposed default level sequence instance data to blueprints Change 3984373 by Max.Preussner Media: Added API for quering whether player plug-in supports block on fetch Block on fetch allows Sequencer and other systems to block the game thread until a desired video frame has been decoded. Change 3984670 by JohnHenry.Carawon Movie Rendering Test Content progress. Saving the state of the content. There is a bug where things got replaced with particle emitters and I think it was because I tried to copy paste an animation track into a separate skeletal mesh track. Change 3985097 by Max.Chen Sequencer: Rename Reset to AutoSize Change GetAutoSizeDuration to return TOptional<FFrameTime> #jira UESEQ-392 Change 3986043 by Max.Chen Sequencer: Fix crash when attach/path duration is less than 0. #jira UE-57310 Change 3986373 by Max.Chen Sequencer: Add support for deleting tracks and channels which equates to setting the channel mask. #jira UE-52951 Change 3986375 by Max.Chen Sequencer: Add Create Pose Asset to skeletal animation section. This allows animators to blend animations in sequencer and create new pose assets from them. #jira UESEQ-408 Change 3986796 by Andrew.Rodham Sequencer: Fixed stale object references remaining in ULevelSequence::BindingReferences when using convert to spawnable/possessable - We used to convert objects by creating a new binding, then re-assigning its GUID, which meant we didn't have to do any further object fixup, but the code to achieve this was confusing and led to a vulnerability where object references would not be cleaned up correctly due to the newly created possessable essentially being a temporary object that's immediately thrown away. - To address this, there is now a function for porting all the contents of one object binding to another, and handles the correct fixup required for parent/child object bindings for both spawnables and possessables. - Also added codepath to remove any stale object references from the level sequence reference map on PostLoad (this piggy-backs off the PurgeLegacyBlueprints object version which is close close enough to this change to be identical) #tests Verified that existing sequences with stale references get cleaned up on load. Verified that repreatedly converting from spawnable<->possessable cleans up references correctly. Change 3987807 by JohnHenry.Carawon Updates to the MovieRendering Test Content. - Fixed the spawnable actors that were overwritten - Shortend the Lighting example and combined the Intensity and Color tracks - Organized the Sequence and WorldOutliner to group the examples. Change 3988151 by Max.Chen Cine Camera: Enable keying the "Enable Look at Tracking" toggle. Change 3988880 by Max.Chen Sequencer: Support enter to add asset for all sequencer track editors that have asset pickers. #jira UE-57367 Change 3988953 by Max.Chen Sequencer: Make the track color picker focusable so that it will close when you click away or lose focus. #jira UE-57210 Change 3988962 by Max.Chen MovieSceneCapture: Fix EDL export so that it takes into account movie scene frame resolution and desired frame rate. #jira UE-57365 Change 3988964 by Max.Chen Movie Scene Capture: Clarified tooltip for bRelativeFrameNumbers. If you specify custom start/end frames for the recording, they will be relative to the playback range. #jira UE-57308 Change 3989442 by Max.Chen Fix CIS Change 3991548 by Matt.Hoffman Dragging the time slider no longer causes the time slider to ignore snap-to-interval with "Snap to Keys While Scrubbing" when no keys are in range. #jira UE-57417 Change 3991598 by Matt.Hoffman Snap to Key while scrubbing now mirrors the behavior of "jump to next key". When there are no tracks selected it snaps to all keys and when there are tracks selected it snaps to only keys from that track. This also resolves an issue where deleting an object did not remove it from the Sequencer's selection. Undoing a delete already doesn't seem to restore your selection, so removing it from your selection shouldn't change that behavior. #jira UE-57417 Change 3991603 by Max.Chen Sequencer: Disable EditAnywhere for some section properties #jira UE-53530 Change 3992240 by Max.Preussner MediaAssets: Implemented dynamic audio sample rate adjustment based on audio/media clock drift #jira FORT-70638 Change 3992911 by Andrew.Rodham Sequencer: Fixed saving spawnable state using the wrong spawned object - We now track the object binding ID so that we can apply the spawned object to the correct spawnable when the asset is saved #jira UE-57353 Change 3992914 by Max.Chen Movie Scene Capture: Fix compression quality not being set. The compression interface wasn't being found through query interface, so no compression was being set. Reworked finding it through the output pins. Tested running various compression values. #jira-UE-55488 Change 3992919 by Max.Chen Sequencer: Convert to possessable now uses object template instead of copying properties (ie. see LevelSequenceActorSpawner). This fixes MIDs getting lost when converting to spawnable and back to possessable. #jira UE-52400 Change 3993184 by Max.Chen Sequencer: Don't show +Transform/+Path/+Attach track if the actor has the "Mobility" property hidden. Set the Landscape, LandscapeProxy and InstancedFoliage "Mobility" property to be hidden since it is static is not supposed to be dynamically movable. #jira UE-56347 Change 3993238 by Max.Chen Sequencer: Test for hidden mobility in creating keys as well. Refactored to HasHiddenMobility() #jira UE-56347 Change 3993978 by Max.Chen Cine Camera: Enable keying the "Enable Look at Tracking" toggle. #jira UE-57489 Change 3994039 by Max.Chen Landscape: Add Mobility to hidecategories on landscape component #jira UE-56347 Change 3994626 by JohnHenry.Carawon Updated Movie Rendering Test Content. - Fixed the overridden spawnables to their proper object types. Change 3994653 by Christina.TempelaarL Sequencer: Added Final Cut Pro 7 XML Import functionality, improved Export functionality #jira UESEQ-358 Change 3995609 by Max.Chen UMG: Add support for 2d transform mask (translation, rotation, scale, shear) #jira UE-52951 Change 3995778 by JohnHenry.Carawon Movie Rendering Test Content Updates - Adjusted Lights example - Adjusted Camera example - Added Marcie sublevel back in Change 3995942 by JohnHenry.Carawon QAGame: Moving Movie Rendering test content from Developer folder to Sequencer folder Also adjusted level visibility, lights and camera example. Change 3995993 by Christina.TempelaarL Sequencer: FCPXML Export updates - only export sections if in playback range and media exists, warn if media does not exist. Other updates - removed unused methods and variables, fixed message context naming to be more accurate #jira UESEQ-358 Change 3996595 by andrew.porter QAGame: Updating Marcie content in TrackEvaluation level to use Image Plate Change 3996614 by andrew.porter QAGame: Adding color test sequence to the sublevel Change 3996643 by Max.Chen Sequencer: Fix fbx animation export - rotation and scale channels were flipped. #jira UE-57509 #jira UE-57512 #jira UE-57514 Change 3996652 by Max.Preussner Messaging: Fixed delayed messaging using incorrect current time after message router sleep Based on https://github.com/EpicGames/UnrealEngine/pull/4601 Change 3996801 by Max.Chen Sequencer: Fix folder active state for non key area sections. Look at track node sections as well as key areas. #jira UE-57550 Change 3997098 by Matt.Hoffman Cleaned up some remaining ToDo's in STimeRange. Change 3998339 by Max.Preussner Sockets: Added documentation for socket receive functions Change 3998359 by Max.Preussner MediaUtils: Started to implement media recorder helper class Currently only supports BGRA frames in CPU memory. Supporting other formats and buffer types will require conversions on render-thread. I recommend refactoring out the existing conversion code in FMediaTextureResource into a reusable helper class in the MediaUtils module. This should be a good starting point though. Change 3998417 by Matt.Hoffman Keys and Sections can now be moved at the same time inside of Sequencer. Keys can now snap to Sections (and vice versa) instead of just to other Keys. Sections can now be duplicated like keys can. #jira UE-56995 Change 3998427 by JohnHenry.Carawon QAGame: Updating test content for the Movie Rendering feature. - Added an auto activate particle to the beginning of the sequence (it's not part of the sequence at all) - Added an event receiver blueprint to the Events example - Added a particle emitter to both sublevels - Added a camera cut to the end that switches to a separate camera - The camera zoom in, focus and Look At sections are all separate (not overlapping in the sequence) - Added a second actor for the camera Look At - Added a Visibility section for the Actor Hidden In Game track that has possessable and spawnable cube and light Change 3998537 by Max.Chen Sequence Recorder: Restore immersive mode when stopping the sequence even if not in PIE. #jira UE-56407 Change 3999809 by Matt.Hoffman Removed the "Go To" box from Sequencer and instead placed the current time as an always visible control. The previous shortcut (Ctrl + G) now focuses the new widget directly. #jira UESEQ-376 Change 4000543 by Christina.TempelaarL Sequencer: Moving editor-only code from runtime module MovieSceneCapture to editor module MovieSceneTools. Moved EDL and FCP XML exporters as well as Automated Level Scene Capture. #jira UESEQ-358 Change 4000706 by Matt.Hoffman Entering multiple time strings without a number no longer crashes Sequencer. #jira UE-57672 Change 4001051 by andrew.porter MediaFrameworkTest: Fixing up some image sources pointing to the wrong location Change 4001191 by andrew.porter QAGame: Adding some quick EDL/XML test content to dev folder Change 4001243 by Max.Chen Sequencer: Fix import EDL out of range. #jira UE-57665 Change 4001856 by Matt.Hoffman Selecting keys and sections at the same time now also works with animation and audio sections. #jira UE-57716 Change 4002021 by Max.Chen Sequence Recorder: Fix sequence name incrementing. If external recording sets the sequence name, use it. Otherwise, use the recording name from the recording group or the recording settings. #jira UE-57712 Change 4002618 by Max.Chen Viewport: Update the look at location when updating to a locked actor. This fixes an issue so that popping the view out of a locked actor and manipulating the view will not jump to the previous look at location. #jira UE-57725 Change 4002979 by Matt.Hoffman Fixes several edge cases with the end time range that was causing confusion about what the last frame of the sequence was. Dragging the End Frame slider will no longer be off by one tick and jumping to the end via the UI controls now properly respects snapping and stays inside the play range instead of falling outside of it. Overall behavior does not change though and End Frame should be considered an exclusive frame so that frames 0-150 results in a 150 frame long animation (which is frames 0-149). #jira UE-56367 Change 4003185 by Matt.Hoffman Fixed a regression that prevented a section from being dragged upwards past row 0 which normally resulted in all other rows moving down. #jira UE-57717 Change 4003193 by JohnHenry.Carawon QAGame: Updates to test content - Shortened frames between the examples from 95 to 30 - Separated camera setting tracks - Lighting example now switches directly from constant red - green - blue Change 4003369 by Max.Chen Sequence Recorder: Refresh next sequence regardless of internally stored sequence name. #jira UE-55757 Change 4003586 by JohnHenry.Carawon QAGame: Test Content Updates - Level Visibility track now ends to that the levels are not visible when we move to the next example - Shortened camera section, removed Z tranform so that we just move left to right and shortened the overall length Change 4004414 by Max.Chen Movie Scene Capture: Fix regression where rendering with shot handles would only render the first shot. 3972166 addressed an issue where an extra frame would be rendered by finalizing right when the end frame was reached. This was hit on the first shot end frame, so instead, do this only for when the last shot is being rendered. #jira UE-57314 Change 4004765 by Christina.TempelaarL Sequencer: Fixed bugs in FCP XML import/export. - Export: fixed sequence default resolution. - Export: fixed XML files with no shots. - Export: all sections clipped to playback range. - Export: fixed incorrect section start/end times due to precision issues. - Import: fixed incorrectly adding cinematic tracks. - Import: fixed bugs creating new sections. #jira UE-57660 #jira UE-57662 #jira UE-57655 #jira UE-57761 Change 4005119 by Max.Chen Sequencer: Export/import at play rate Change 4005195 by Max.Chen UMG: Finish UMG evaluation on stop. Added object version so that existing UMG assets do not change. #tests - Newly created UMG animation with sections set to restore state now return to their original state. Existing UMG animations with sections set to restore state do not return to their original state. #jira UE-52285 Change 4005377 by Michael.Karambelas QAGame: Moving TM-SequenceRecorder and related content out of my developer folder and into /Content/Sequencer/SequencerRecorder/* Change 4005417 by Michael.Karambelas QAGame: Fixed a BP compiler in the Level Blueprint of TM-SequencerRecorder. Change 4005634 by Michael.Karambelas QAGame: Fix up missing content and broken level sequence in TM-SequenceRecorder after move Change 4006324 by Max.Chen Sequencer: Reset if the focused movie scene is null. This fixes a crash if the user is focused in on a shot and undo takes the user past the point of where the shot was created. #jira UE-57752 #jira UE-47661 Change 4007006 by Max.Chen Sequencer: Fix FindAvailableRowIndex so that it returns the max row index (and not +1) since it doesn't find any conflicting rows. #jira UE-57717 Change 4007907 by Max.Chen Sequencer: Fix crash if there's no animation Change 4007948 by andrew.porter QAGame: added test content to dev folder for Record World Space Change 4008636 by Max.Chen Sequencer: Fix import fbx not setting values properly and creating additional cameras unncessarily. #jira UE-57864 Change 4008759 by Max.Chen Sequencer: Follow up fix for import cameras #jira UE-57864 Change 4009994 by Matt.Hoffman Dragging the left or right handles of the Time Range slider in Sequencer will now zoom your view in on the current center of the screen. This prevents the view from being translating as you tried to zoom in which caused issues at high zoom levels. #jira UESEQ-407 Change 4010169 by Christina.TempelaarL Sequencer: FCP XML fixes. - FCP XML export - no longer clips to playback range - FCP XML and EDL export - fixed missing last frame of some sections after exporting to Premiere. - Automated level capture, EDL export - use RoundToFrame instead of FloorToFrame for computing section start/end frames after frame rate conversion. #jira UE-57802 - partial fix, movie scene capture still needs to render full section rather than clip against playback. Change 4010287 by Mike.Zyracki Add quaternion interpolation option to UMovieScene3DTransformSection. This mimics how Matinee used to work by bascially finding the keys between a time and interpolating the angles as quat's between them. As noted in the code the algorithm needs to handle the case when the x,y,z Rotation keys all aren't at the same time which was not handled by Matinee. Also like Matinee, when in quaternion interoplation mode, we need to not display the function cuves since the interpolated and key values are now all different. (Would like to show them but that's a bigger refactor for perhaps just a one off needed by quaternions). I added a virtual function UMovieSceneSection::ShowCurveForChannel for this since it needs to be dynamic, not on construction of IKeyArea's, and could be useful for other sections. I could though move the method to just UMovieScene3DTransformSection and do a cast instead. Looked into doing a unit test for this but after talking with Andrew P we will work on doign an automated test in EngineQA since that will provide more coverage. Will also add a video the jira. #jira UESEQ-403 Change 4010713 by Mike.Zyracki Added option to key a group of transform channels instead of just the changed channel, or all of them. This is useful for quaternion interpolations where you want rotation keys to be aligned but also useful for other workflows like animating FK Pose to Pose. Change 4010715 by Andrew.Porter MediaFrameworkTest: Setting LogMediaUtils logging from VeryVerbose to Verbose to cut back on the spam Change 4013048 by Max.Chen Sequencer: Fix play/jump status. Update the player status for all position methods (Scrub, Jump, Play). Jump means Stopped. Correctly use PlayTo or JumpTo based on position method. In PlayInternal, JumpTo with the Stopped state (rather than playing state). #jira UE-57844 Change 4013479 by andrew.porter QAGame: Added content in TM-SequenceRecorder to test recording a property on a Cine Camera Component; Press 3 to trigger manual focus distance to increment on a timer Change 4014323 by Max.Chen Sequencer: Fix SetPlaybackPosition so that it jumps or plays based on playback status. #jira UE-57844 Change 4015888 by Max.Chen Sequencer: Fix crash on paste. UMovieSceneSections were gathered from the track node's track. For sub track mode, we want to gather only those sections on that track node row. #jira UE-57951 Change 4015943 by Max.Chen Sequencer: Fix moving shots up when the mouse pos goes outside of the virtual track area. #jira UE-57717 Change 4016293 by Max.Chen Sequencer: Fix relative frame playback end frame calculation so that custom start/end frames remain in the space of the sequence and are not relative. #jira UE-57308 Change 4017075 by Andrew.Rodham Sequencer: Corrected initial evaluation range used when calling UMovieSceneSequencPlayer::Play() Change 4017270 by Christina.TempelaarL Sequencer: FCPXML importer and movie scene capture - Use CeilToFrame when converting section start/end frame times to frame numbers in FCPXML and movie scene capture. - Added support for clip metadata in FCPXML. - Got rid of redundant TokenizedError message class, no longer needed now that FCPXML is in editor directory. - Added log messages currently commented out due to exception, still testing. #UESEQ-358 Change 4018370 by Christina.TempelaarL Sequencer: fixed FCPXML log messages regarding sections with start/end not divisible by display rate. #UESEQ-358 Change 4018378 by Christina.TempelaarL Sequencer: fixed error in previous changelist. #UESEQ-358 Change 4019457 by Max.Chen Sequencer: Show event names only when the event track is selected #jira UE-57897 Change 4022806 by Max.Chen Sequencer: Fix crash on movie scene capture dialog shutdown if movie capture wasn't even started. #jira UE-58106 Change 4022894 by Max.Chen Sequence Recorder: Wrap OpenEditorForAssets after sequence recording within GIsEditor #jira UE-58084 Change 4024487 by Max.Chen Sequencer: Add tooltip for quat interpolation #jira UE-58113 Change 4024562 by Max.Chen Sequencer: Change path/attach track sequence binding id to currently focused sequence id so that bindings can be created in subsequences Change 4027414 by JohnHenry.Carawon QAGame: Checking in content that shows a bug with using particles systems and Delay Before Shot Warm Up. Change 4028990 by Max.Chen Sequencer: Fix evaluate sub sequences in isolation. This check was added with the compile on the fly logic. Not sure why it was necessary but it seems like the sub sequence data needs to be updated in order to evaluate sub sequences in isolation. #jira UE-58184 Change 4029004 by Max.Chen Sequencer: Ensure that old binding references are removed when re-assigning actors in sequencer #jira UE-57898 Change 4030997 by JohnHenry.Carawon QAGame: Fixing name of the master sequence Change 4031785 by Michael.Karambelas QAGame: Added an instance of ThirdPerson Run to TM-SequenceRecorder for Record to Possessable test. Change 4035548 by Andrew.Rodham Sequencer: Changed FMovieSceneEvaluationTemplate::TemplateSignature to be a serial number to address non-deterministic cooking issues - This commit is related to the repro steps found in 3914599 and 3934307, both of which have been verified with this new change. - Copy of 4031684 from //Fortnite/Main/... #jira FORT-84852 Change 4036312 by Max.Chen Sequencer: Fix zoom view range so that it uses the passed in InZoomDelta Change 4036318 by Max.Chen Sequencer: Auto size now returns a range and defaults to the channel proxy range so that keyed regions can also be autosized. Change 4036322 by Max.Chen Forgot missing change Change 4036360 by Max.Chen Sequencer: Fix play rate calculation when skeletal animation section play rate changes. Change 4037163 by Mike.Zyracki Weighted Tangent Implementation Tricky thing is that you need to solve a cubic in order to get the bezier weights for the time part of the curve. See https://www.gamedev.net/forums/topic/474094-help-function-curves-for-animation-interpolation/ Maya provides an implementation in it's dev kit but I didn't use it since it was horribly slow and uses an iterative solution to solve the cubic needed. Instead I use an old algorithm (Cardano's method), to solve the cubic which should be much faster. Though relative simple to code from principles I just went ahead and used a version from Graphics Gems 1. I put this cubic solver directly in MovieSceneFloatChannel.cpp, but will need to move it when we support Rich Curve, maybe to FMath:: (which would probalby require some other functions for solving quartics, etc.. for completeness.). Also note we resolve this on every evaluation but dont' need to if the interval the time is evaluating hasn't had any change in values or tangents. So again when we support FRichCurve we can create a Weighted Evaluating class that can hold the cache. Also with the tangent drags I got rid of the Cardinal position that was used to calculate non-weight tangents from the key point and just quickly getting a direction. With weighted tangents we need to use the delta instead (otherwise when moving multiple they would all get the same weight based upon distance to the cardinal point. ) For mixed tangents types what I'm defaulting to non weighted if the interval doesn't match. May need to do weighted instead, not sure. What's left is just FBX import, for tomorrow. #jira UESEQ-76 Change 4037435 by Mike.Zyracki Fix fo build warnings from weighted tangent submission. #trivial Change 4038091 by Michael.Karambelas QAGame: Updated a Sequence Recorder group in TM-SequenceRecorder that had an actor missing the animation. Change 4038374 by Andrew.Rodham Sequencer: Refined scrubber styling for level sequences and actor sequences - Scrubber now shows a block the width of a dsplay rate frame, plus a line for the actual evaluated time. UMG reverts back to the previous styling (no block) - Keys that are outside of the playback range are now drawn with a subdued effect - Tick labels are no longer drawn when directly underneath the scrubber Change 4038490 by Max.Chen Sequencer: Expose tangent weight values in details panel. Change 4038620 by Andrew.Rodham Sequencer: Advanced time panel polish #jira UESEQ-426 Change 4038677 by Max.Chen Movie Scene Capture: Redirector for MovieSceneTools.AutomatedLevelSequenceCapture #jira UE-58248 Change 4039739 by Max.Chen Sequencer: Media track should only be supported by Level Sequence Change 4040024 by JohnHenry.Carawon QAGame: Fix EventReciever and OverrideBinding example The level sequence was set to none so the fix was to set it back to TrackEvaluation_Master. Change 4040610 by Andrew.Rodham Curve Editor: Moved weighted tangent switchers to a single toggle command (CTRL+W) and added an icon #jira 58383 Change 4040882 by Mike.Zyracki Keep broken when turning on weighted #jira UE-58435 Change 4041089 by andrew.porter QAGame: Sequence for Long Tangents bug Change 4041498 by Mike.Zyracki Turn off weighted when going auto to prevent large tangents. Do it both in UI and when doing AutoSetTangents() to really make sure it doesn't happen. #jira UE-58452 Change 4041752 by andrew.porter MediaFrameworkTest: Adding some better logging for setting rates when not supported. Also ignoring commiting URL when there is no text Change 4041896 by Matt.Hoffman The transform dialog box now transforms selected keys and sections, instead of just keys. #jira UE-58265 [CL 4044405 by Max Chen in Main branch]
2018-05-02 10:10:00 -04:00
if (!WeakSequencer.IsValid())
{
return InTime;
}
Copying //UE4/Dev-Editor to //UE4/Dev-Main (Source: //UE4/Dev-Editor @ 3497164) #lockdown Nick.Penwarden #rb none ===================================== MAJOR FEATURES + CHANGES ===================================== Change 3433074 by Matt.Kuhlenschmidt Fix crash when clicking on certian tutorial blueprints. #jira UE-44593 Change 3433075 by Matt.Kuhlenschmidt Remove hittest grid log spam. The underlying problem causing this has been fixed Change 3433077 by Matt.Kuhlenschmidt Fix lighting becoming unbuilt when mesh painting #jira UE-44837 Change 3433081 by Matt.Kuhlenschmidt PR #3553: Crashfix for static array properties (Contributed by Pierdek) Change 3433104 by Alexis.Matte Make sure re-import skeletal mesh follow the import morph option #jira UE-42846 Change 3434825 by Matt.Kuhlenschmidt Fix crash when GC happens while the vr editor radial menu is open. Change 3434831 by Matt.Kuhlenschmidt Added missing file Change 3434868 by Shaun.Kime If you have a reroute node between a Material Function texture input and its usage, the parent material will fail to resolve the reroute node. #jira ue-44670 Change 3434998 by Alexis.Matte Meshes editors material/section panel are now fully transactional - Staticmesh editor: section material slot, section cast shadow, section collision, material slot instance, material slot name - Skeletal mesh editor: material slot instance, material slot name Also fix some transaction description #jira UE-44462 Change 3435195 by Jamie.Dale Fixed incorrect handling of some LTR scripts that require shaping These scripts need to go through HarfBuzz, and this also fixes a case where HarfBuzz wasn't applying font scale correctly. #jira UE-44767 Change 3435199 by Jamie.Dale Fixed some crashes/artifacts with bidirectional text It was possible for a line to compute an incorrect range, which could cause crashes or other highlighting issues. The highlighting logic has also been updated as the old code didn't handle all bidirectional cases correctly. Change 3435200 by Jamie.Dale Fixed a grapheme cluster metrics issue in the font editor viewport The viewport also now respects the default shaping method CVar. Change 3435771 by Alexis.Matte Fix degenerated bounds calculation for skeletalmesh when the skeleton is remove from a re-import (PhysicAsset API change, adding 1 function) #jira UE-44609 Change 3436856 by Jamie.Dale Added some missing Unicode block ranges Change 3436914 by Jamie.Dale Adding some missing combining character ranges to the text shaper Change 3436923 by Alexis.Matte PR #3463: Get bounds for all triangles, not just the first one. WedgeIndex was . (Contributed by DaveC79) #jira UE-43764 Change 3436948 by Jamie.Dale Updated the Portal to use the predefined Unicode block ranges Change 3436961 by Max.Chen Sequencer: Show camera shake/anim track menus even if there aren't any assets. Change 3437244 by Max.Chen Sequencer: Clear locked cameras when releasing Sequencer. #jira UE-44967 Change 3437515 by Arciel.Rekman UBT: improvements for LocalExecutor. - Larger number of parallel jobs on 16GB+ machines. - Use WaitForExit() instead of polling. - Tested on Linux and Mac. Change 3437629 by Matt.Kuhlenschmidt Improve asset import data display in static and skeletal meshes Change 3438047 by Arciel.Rekman Fix overlapping ranges being passed to memcpy(). Change 3438822 by Yannick.Lange ViewportInteraction: Move gizmo handle files to make them private. Change 3438906 by Matt.Kuhlenschmidt PR #3556: Git Plugin: fix new option "init Git LFS" that make assets read-only (master/UE4.17) (Contributed by SRombauts) Change 3438907 by Matt.Kuhlenschmidt PR #3565: add -quality option to buildlighing commandlet (Contributed by kayama-shift) Change 3438908 by Matt.Kuhlenschmidt PR #3558: UE-44862: Always update SColorPicker color on OK button (Contributed by projectgheist) Change 3439393 by Matt.Kuhlenschmidt Force highest LOD for highres screenshots Change 3439819 by Matt.Kuhlenschmidt Turned FAssetData into a struct for some upcoming script exposure of FAssetData Change 3439949 by Arciel.Rekman Fixed selection logic for the UE4_LINUX_USE_LIBCXX environment variable. - Allows disabling libc++ by setting the variable to 0. - Pull request #3576 contributed by jared-improbable. Change 3441078 by Jamie.Dale The culture/language/locale console commands are now available in all build configs Change 3441109 by Jamie.Dale Text containing surrogate pairs now runs through HarfBuzz when shaping in Auto mode This is needed as the kerning-only shaping code assumes that everything is within the BMP Change 3441275 by Matt.Kuhlenschmidt Disable spinning on location and scale. These dont work because we have no notion of infinite spinning Change 3442748 by Yannick.Lange ViewportInteraction: Remove unused console variables. Change 3442775 by James.Golding Add support for editing MaterialFunctions to MaterialEditingLibrary Pull Material recompile/update code into UMaterialEditingLibrary::RecompileMaterial Pull MaterialFunction update code into UMaterialEditingLibrary::UpdateMaterialFunction util Move RebuildMaterialInstanceEditors to UMaterialEditingLibrary Added test content for Material/MaterialFunction editing Add needed BlueprintReadWrite to expressions (constants, function input/output) Expose UMaterialExpressionMaterialFunctionCall::SetMaterialFunction to BP, rename old func (which takes old function) to SetMaterialFunctionEx, also expose GetInputNameWithType Change 3442779 by James.Golding Fix header order Change 3442817 by Yannick.Lange ViewportInteraction: Add can execute checks for level editor commands. Change 3443038 by Michael.Dupuis #jira UE-43377: When you select a foliage actor we will move all instance contained in it to the new level as we can't move a foliage actor Only permit moving foliage instance if there is some selected Change 3443855 by Michael.Dupuis #jira UE-44885: Unregister from PerModuleDataObjects when the object is destroyed Change 3446096 by Max.Chen Sequencer: Add OnFinished() event when a level sequence completes playback #jira UE-45173 Change 3446097 by Max.Chen Sequencer: Evaluate one last time before the sequence is torn down and reset #jira UE-45174 Change 3446242 by Jamie.Dale Fixed caret not appearing in empty text layouts Caret selections have no range, and therefore have no width Change 3446361 by Matt.Kuhlenschmidt Fix WITH_EDITOR only functions causing generated code compile errors when the all functions on the class are WITH_EDITOR Change 3446457 by Alexis.Matte Polish the speed tree import dialog #jira UE-44963 Change 3446946 by Michael.Trepka Modified FWindowsWindow::GetRestoredDimensions to return correct window position for normal windows for which GetWindowPlacement returns position in workspace coordinates #jira UE-37934 Change 3447543 by Arciel.Rekman Reduce VMAs on Linux. - Trades off increased address space (VIRT in terms of ps/htop) for smaller number of distinct mappings (VMAs, virtual memory areas). This decreases possibility to run into vm.max_map_count limit on Linux. - Tested on Linux and Mac. Change 3448468 by Arciel.Rekman Fix race condition during creation of GMalloc. - On Mac GMalloc can be created on two different thread that are racing with each other - app's main thread and a system thread. Change 3449012 by Max.Chen Sequencer: Add time to transform, color and vector key structs so that key times are editable from the key editors. #jira UE-45089 Change 3449018 by Max.Chen Sequencer: Add OnCameraCut event that fires when there is a camera cut. #jira UE-45137 Change 3449195 by Max.Chen Sequencer: Add setting for limit scrubbing to playback range. #jira UE-43502 Change 3449198 by Max.Chen Sequencer: Reorder hierarchical bias so that group priority takes precedence. Change 3449217 by Max.Chen Sequencer: Add setting to activate realtime viewports when in sequencer. Change 3449219 by Max.Chen Sequencer: Focus on search boxes when opened. Change 3449238 by Max.Chen Sequencer: Assign actor should replace the actor itself after it has updated all the components. Also, replace components be fullname rather than by class. Change 3449239 by Max.Chen Sequencer: Fix offsets when moving multiple sections. Dragging should be clamped to the bounds that any of the selected sections hits against the unselected sections. Change 3449241 by Max.Chen Sequencer: Restore section selection after full tree rebuild. Change 3449279 by Max.Chen Sequencer: Set movie scene capture frames only when not using custom frames. This allows the user entered frame numbers to persist in config, rather than overwriting them when doing a "Render Shot" Change 3449280 by Max.Chen Sequencer: Spawn in the persistent level. Otherwise, they get spawned into whatever sublevel is current. #jira UE-44552 Change 3449294 by Max.Chen Sequencer: Null check for sequencer ed mode crash. Change 3449297 by Max.Chen Sequencer: Fix delay in sliding values. Mark changed when sliding values. Mark refresh immediately when committing values since OnValueChanged will be called and needs to have the correct value that was refreshed immediately. #jira UE-42866 Change 3449542 by Max.Chen Sequencer: Fix scrubber hit testing so that the time scrubber is really favored over the playback ranges. #jira UE-44569 Change 3451507 by Matt.Kuhlenschmidt Fix extra slate uv coords not functioning on ES2 Change 3451510 by Matt.Kuhlenschmidt PR #3595: Fixed wrong colour for level status (Contributed by ronve) Change 3451529 by Alexis.Matte fbx scene importer: Make sure we set INVALID_UNIQUE_ID to node that has no attribute. #jira UE-34410 Change 3451611 by Yannick.Lange ViewportInteraction: Dragging gizmo without second pass for snapped calculations. Change 3452134 by Jamie.Dale Fixed constant font cache flushing if a widget had no font set Change 3452239 by Jamie.Dale Fixed constant font measure flushing if a widget had no font set Change 3452243 by Jamie.Dale Removed deprecated code for creating fonts from bulk data Change 3452277 by Jamie.Dale The concept of "stale" composite fonts is now editor-only Change 3452358 by Alexis.Matte Fbx scene importer: Do not remove existing attribute reference from the blueprint if the reimport of the associate mesh attribute is not tick. #jira UE-45232 Change 3452678 by Max.Chen Sequencer: Fix crash on export if there's no shot data. Change 3453057 by Matt.Kuhlenschmidt Exposed asset exporting to script Change 3453782 by Andrew.Rodham Sequencer: Fixed deterministic cooking issues with movie scene data - Movie scene signatures are now initialized in PostInitProperties - A warning is now presented when attempting to cook old data that was never serialized with a signature. - Removed redundant legacy data upgrade logic that could dirty level sequences on load. #jira UE-44912 Change 3453788 by Yannick.Lange ViewportInteraction: Custom scene proxy for gizmo handles. Change 3453938 by Max.Chen Sequencer: Hotkeys (shift , and shift .) to step to next/previous shot #jira UE-45119 Change 3454058 by Michael.Dupuis Fixed StaticAnalysis Change 3454077 by Max.Chen Sequencer: Fix not saving the pre-animated track value when creating a track/key. On pre object change, broadcast property change so that a track or key can be created. That track/key needs to be evaluated immediately so that the pre-animated state can be saved properly. This is done now with RefreshAllImmediately and is only called when a track has been created. Also, added a return value for OnKeyProperty, so that it's known what changed in particular (ie. track created, track modified, etc) Also, fixed transform keying so that if a transform track already exists for the object or the scene component, the existing track is used. #jira UE-45130 Change 3454108 by Nick.Darnell UMG - Fixing the WIC to properly record cursor delta so that scrollbars work. Change 3454109 by Jamie.Dale Cache the text layout source info in non-shipping builds so you can inspect it in the debugger Change 3454202 by Matt.Kuhlenschmidt Fix bogus error message about the number of usable texture coordinates on ES2 when compiling a UI domain material Change 3454390 by Yannick.Lange Fix creating a plugin in a C++ project opens a second instance of Visual Studio. Use SourceCodeAccessor to open solution when necessary. #jira UE-45035 Change 3454564 by Matt.Kuhlenschmidt #rnx Fix deprecation warnings Change 3455471 by Yannick.Lange ViewportInteraction: Fix entering and exiting VR Mode disables gizmo in desktop editor viewport. #jira UE-44965 Change 3456183 by Max.Chen Sequencer: Auto key, auto track refactor. Auto key - create a key when the property changes and there's an existing track. Auto track - create a track when the property changes. This is only exposed in the level sequence editor. All - create a key and a track when the property changes. This is only exposed in VR Editor. None - do nothing. #jira UE-43469 Change 3456349 by Andrew.Rodham Sequencer: Only perform legacy signature checks on instances, and only where signatures match the CDO Change 3456678 by Alexis.Matte Allow to add null level instance override material via the advance material array. But still limit the override material number to the mesh material number. #jira UE-45306 Change 3456945 by Max.Chen UMG: Add restore state to 2d transform section. #jira UE-45372 Change 3457196 by Arciel.Rekman Linux: serialize allocations from the memory pool. Change 3458434 by Max.Chen Sequencer: Remove obsolete set tick prerequites functions. Change 3458671 by James.Golding Added MIC editing support to MaterialEditingLibrary Fix static analysis warning Change 3458888 by Matt.Kuhlenschmidt PR #3615: More detailed log messages for debugging warnings/errors (Contributed by projectgheist) Change 3458893 by Matt.Kuhlenschmidt PR #3583: UE-44960: Delta value wasn't being used (Contributed by projectgheist) Change 3458895 by Matt.Kuhlenschmidt Fix typo Change 3458902 by Matt.Kuhlenschmidt PR #3607: Improved InputKeySelector functionality (Contributed by projectgheist) Change 3458917 by Matt.Kuhlenschmidt Fix crash with invalid object properties in the class picker #jira UE-39000 Change 3458939 by Matt.Kuhlenschmidt Fix compile error Change 3458984 by andrew.porter QAGame: Initial check in of sequencer smoke test map Change 3459510 by Matt.Kuhlenschmidt Fixed ensure when deleting a map that contains build data which also happens to be the currently loaded map. #jira UE-45052 Change 3460985 by Max.Chen Sequencer: Snap play time to keys now allows scrubbing between keys and snaps to key times within a certain screenspace tolerance. #jira UE-45090 Change 3461698 by Arciel.Rekman Avoid using ARRAY_COUNT in Vulkan. - Sometimes those arrays can have no extensions whatsoever, and it is illegal to declare a 0 element C array. Change 3462053 by Max.Chen Sequencer: Show sequencer spawnables in the world outliner and add the icon overlay for spawnables. #jira UE-43470 Change 3462139 by Max.Chen Property Editor: Add objects to FPropertyAndParent Change 3462202 by Arciel.Rekman Fix FSocket::Recv() blocking with Peek when there's no data. Change 3462253 by Nick.Darnell Slate - New Clipping System Clipping is now a stateful choice made during composition of the slate hierarchy. Previously every widget got to respect or modify the clipping rect on an as needed basis. The problem was that clipping was only allowed in the layout space of the widget, and it wasn't possible to properly clip elements with render transforms. The new system permits all kinds of transforms on any widget, and they will all be clipped correctly. It tries to use Scissor Rects as they are much cheaper, but will switch over to stenciling if need be to represent a complicated masking structure with several rotated clipping rects all needed to be combined together. Here are the new clipping states a widget can have, almost all widgets are set to No. Only change it from No if your widget actually needs to clip, generally speaking most widgets don't need to clip. /** * This widget does not clip children, it and all children inherit the clipping area of the last widget that clipped. */ Inherit, /** * This widget clips content the bounds of this widget. It intersects those bounds with any previous clipping area. */ ClipToBounds, /** * This widget clips to its bounds. It does NOT intersect with any existing clipping geometry, it pushes a new clipping * state. Effectively allowing it to render outside the bounds of hierarchy that does clip. * * NOTE: This will NOT allow you ignore the clipping zone that is set to [Yes - Always]. */ ClipToBoundsWithoutIntersecting UMETA(DisplayName = "Yes - Without Intersecting (Advanced)"), /** * This widget clips to its bounds. It intersects those bounds with any previous clipping area. * * NOTE: This clipping area can NOT be ignored, it will always clip children. Useful for hard barriers * in the UI where you never want animations or other effects to break this region. */ ClipToBoundsAlways UMETA(DisplayName = "Yes - Always (Advanced)"), /** * This widget clips to its bounds when it's Desired Size is larger than the allocated geometry * the widget is given. If that occurs, it behaves like [Yes]. * * NOTE: This mode was primarily added for Text, which is often placed into containers that eventually * are resized to not be able to support the length of the text. So rather than needing to tag every * container that could contain text with [Yes], which would result in almost no batching, this mode * was added to dynamically adjust the clipping if needed. The reason not every panel is set to OnDemand, * is because not every panel returns a Desired Size that matches what it plans to render at. */ OnDemand UMETA(DisplayName = "On Demand (Advanced)") - Large API Change - All FSlateDrawElement::Make_____ calls have been deprecated that involved passing in a clipping rect. You no longer should are passed a Clipping rect via OnPaint. You are still passed a rect, but this rect represents a Culling Rect, which is valuable if you need to just out right not paint things the user can't possibly see. If you were previously trying to determine if you should cull widgets, by doing something like this, if ( FSlateRect::DoRectanglesIntersect(MyClippingRect, CurWidget.Geometry.GetRenderBoundingRect()) ) That's no longer a good option since there are ways for widgets to ignore the culling bounds. You should convert anything like above to the one below, if (!SWidget::IsWidgetCulled(MyCullingRect, CurWidget)) To assist in debugging efforts, there are several new debugging console flags in Slate, Slate.ShowClipping 1 - Controls whether we should render a clipping zone outline. Yellow = Axis Scissor Rect Clipping (cheap). Red = Stencil Clipping (expensive). Slate.DebugCulling 1 - Disables pushing clipping or stencil rects to the GPU, but continues to intersect culling rects, so that you can tell if a widget is properly culling children it can't possibly draw. Slate.ShowTextDebugging 1 - Show debugging painting for text rendering. I've added a new Experimental Feathering Option, it adds AA geometry around the outside of Box and Image brushes. Slate.Feathering 1 If you're using RenderDoc or something similar, you can now enable render events for slate, so that you can better grok how we're batching and changing states for each UI render pass. Slate.EnableDrawEvents 1 #jira UE-4659 #rn Change 3462714 by Nick.Darnell Fixing a few more compiler issues with the clipping changes. Change 3462726 by Max.Chen Switch OnEditStructChildContentsChanged to use FObjectWriter instead of FMemoryWriter which supports serializeing UObjects. This fixes a crash when adding actor array elements to a user defined event struct. #jira UE-45431 Change 3462801 by Nick.Darnell Adding a UMG dependency to EngineTestBuild. Change 3462914 by Max.Chen Sequencer: Fix regression where spawnables aren't getting saved. Caused by 3407138 #jira UE-30007 #jira UE-39003 Change 3462946 by Nick.Darnell Automation - Tweaking the UI automation tests converting them over to use the new UI Screenshot automation test. Automation - Adding a blur widget test. Change 3462987 by Matt.Kuhlenschmidt Back out changelist 3458893 Change 3464774 by Matt.Kuhlenschmidt PR #3629: Bugfix: Missing small icon in Project Launcher profile editor (Contributed by aarmbruster) Change 3464785 by Nick.Darnell Fixing some clipping stuff in the editor. Change 3464830 by andrew.porter QAGame: Second pass on sequencer smoke test map Change 3464902 by Nick.Darnell Loading - Adding some additional checks to the the loading code to ensure we're on the main thread. Additionally adding a fix from UDN that prevents deadlocks in the rare case a user hits Alt+Tab in a fullscreen game while in a hard loading screen. Change 3464988 by Max.Chen Sequencer: Add attenuation settings for attached audio components. #jira UE-33080 Change 3465024 by Nick.Darnell MoviePlayer - Impoving the playback mode displaynames. Change 3465074 by Arciel.Rekman Fix shadowing issues of GraphicsPSOInit. Change 3465097 by Matt.Kuhlenschmidt Some refactoring of the details panel Exposed new methods of adding a struct on scope to a details panel and have it work properly with customizations. The scruct on scope has a "fake" ustructproperty that allows the details panel to show the whole struct not just an individual property. Refactored the API for adding rows to details panels to make it more consistent\ AddChildCustomBuilder->AddCustomBuilder AddChildGroup->AddGroup AddChildContent->AddCustomRow AddChildPropert->AddProperty AddChildStructure->AddExternalStructureProperty AddStructure->AddAllExternalStructureProperties AddExternalProperty->AddExternalObjectProperty or AddExternalStructureProperty Change 3465186 by Max.Chen Sequencer: Save the BindingID in the pre animated token producer so that it can be destroyed properly. This fixes a bug where the default state of a spawnable isn't saved. #jira UE-43780 Change 3465315 by Matt.Kuhlenschmidt Fix Fortnite and Orion details panel customization warnings Change 3465424 by Nick.Darnell Automation - Moving the step for setting the link to the automation reports to be set before we start the engine. Change 3465488 by Nick.Darnell Automation - Forcing textures to load before taking screenshot, so that the scene gets another opportunity to render before we render with Slate. This should fix the Blur UI Test. Change 3466277 by Arciel.Rekman Linux: fix window drift when dragging (UE-40380). - Change by Cengiz Terzibas. Change 3466370 by Nick.Darnell UMG - Fixing the colors for the resize handle in the designer. Change 3466372 by Nick.Darnell UMG - Fixing the ruler ticks sometimes not being drawn. Change 3466374 by Nick.Darnell UMG - Fixing the designer showing multiple options for sequencer. Change 3466377 by Nick.Darnell UMG - Cleaning up some clipping bits. Change 3467025 by Andrew.Rodham Re-saving assets that contain legacy (<4.15) movie scene data to remove deterministic cook warning. If conflicts arise during merging of these assets, please ignore the changes made in dev-editor, and accept game-side changes. (CIS step 62283298, jobId 7773146) (CIS step 62283297, jobId 7773146) Change 3467099 by Max.Chen Fix GetObjectPropertyClass ensure logic. This was returning UObject::StaticClass when valid. Change 3467172 by Max.Chen Sequencer: Evaluation optimizations. Also, fixes subsequences not getting expired, leaving dangling spawnables. #jira UE-43690 Change 3467192 by Matt.Kuhlenschmidt Fix transactions getting stuck in the color grading controls. This prevents PIE from working properly and causes shutdown crashes #jira UE-45527 Change 3467251 by Yannick.Lange ViewportInteraction: Fix scale and rotation snap while dragging with two lasers. #jira UE-43489 Change 3467331 by Matt.Kuhlenschmidt Fix D3D shader compiler hard coding shader path and not giving proper warnings when it cannot find the shaders Change 3467335 by Matt.Kuhlenschmidt Remove DarkStyle attribute from SNumericEntryBox and allow a spin box style to be passed to it. Change 3467558 by Max.Chen Scene Outliner: Generic support to add default columns to a scene outliner. Change 3467565 by Jamie.Dale Removing old screenshot data for test Change 3467589 by Nick.Darnell Editor - Random cleanup. Change 3467596 by Nick.Darnell Progress Bar - Exposing Border Padding to UMG. Change 3467600 by Nick.Darnell Slate - Adjusting the rendering of the splitter, previously it could be off by a pixel or two, which becomes more apparent now with the clipping changes. Change 3467601 by Max.Chen Property Editor: Fix static analysis warning Change 3467662 by Nick.Darnell Automation - Fixing a bug with the screenshot comparison tool not replacing (removing) the old screenshot data. Change 3467674 by Max.Chen Property Editor: Fix static analysis warning Change 3467737 by Max.Chen Sequencer: Added OnMovieSceneBindingsChanged delegate Change 3468053 by tim.gautier QAGame: Updating Editor Smoke Map - Updated landscapes into Stations for testing - Added Foliage Sublevel Change 3468194 by Arciel.Rekman Linux: fix problems communicating with various STL-using libs. - Stop hiding global new/delete signatures. - Disable CEF3 since this change uncovers the problem with libcef.so not built to use bundled libpng. Change 3468678 by Max.Chen Sequencer: Set "Sequencer Actor" tag before setting the actor label so that the outliner refreshes after the actor has the tag. Change 3469314 by tim.gautier QAGame: Added Painted Foliage / Spline section to EditorSmoke map Change 3469377 by Nick.Darnell Slate - Fixing some warnings in a couple of sample games due to the clipping changes. #rnx Change 3469767 by Max.Chen Sequencer: Outliner column and sequencer binding data #jira UE-43470 Change 3469974 by Arciel.Rekman Fix code projects not working in Linux installed build. Change 3470082 by Nick.Darnell Slate - The GetRenderer() call on SlateApplication no longer returns a SharedPtr, rather than convert it to a thread safe ptr, going to just make accessing it a raw ptr return, so it can be safely referenced on the game thread while being used on the slate loading thread. Change 3470174 by Nick.Darnell Slate - Get the last widget in a widget path utility. Change 3470176 by Nick.Darnell UMG - User Widgets now have an easy way to know if they're part of or have been removed from the focused widget path, which is handy for doing effects. Change 3470261 by Nick.Darnell Slate - The GetRenderer() call on SlateApplication no longer returns a SharedPtr, rather than convert it to a thread safe ptr, going to just make accessing it a raw ptr return, so it can be safely referenced on the game thread while being used on the slate loading thread. Change 3470286 by Max.Chen Sequencer: Scene Component's HiddenInGame now goes through the VisibilityTrack and the visibility template. Change 3470366 by Nick.Darnell Slate - We now version focus per user, that way during focus events, we can safely abort focus events and state transitions if someone interrrupts the active focus event with something new. Change 3470649 by Matt.Kuhlenschmidt Fix deprecation warnings Change 3470695 by Matt.Kuhlenschmidt Fixed typo #jira UE-45580 Change 3470721 by Matt.Kuhlenschmidt Fix static analysis Change 3471254 by Michael.Dupuis #jira UE-42952: Keep occlusion result per view Change 3471287 by Nick.Darnell UMG - Render Focus Rule now defaults to never. Change 3471291 by Nick.Darnell Slate - Fixing FSlateRenderer* change fallout. Change 3471299 by Nick.Darnell Slate - Fixing FSlateRenderer* change. Change 3471323 by Nick.Darnell Automation - Fixing automation and Static Analysis warning. Change 3471413 by andrew.porter QAGame: Added test content for anim blending and material parameteres to sequencer smoke level Change 3471649 by Max.Chen Sequencer: Modify the track when adding animation #jira UE-45618 Change 3471659 by Matt.Kuhlenschmidt Added a way to check if a movie is playing from the engine. Prevented viewport redraws for canvas loading screens if a slate based loading movie is playing Change 3471734 by Matt.Kuhlenschmidt Added basic material hookup to USD. Similar to FBX it will find materials based on rules specified by the user in the import settings Change 3472176 by Nick.Darnell UMG - Improving the display of the +Track menu in sequencer for UMG. Renamed it from +Add, which is repetitve to +Track. Additionally, the dropdown now shows the currently selected widgets, as well as a submenu containing all the 'important' widgets, so we no longer populate that list with a ton of irrelevant widgets that are just Buton_1 - N, which is pointless in showing people, they'll never guess which is the right button. Change 3472740 by Max.Chen Sequencer: Add GetThisFrameMetaData accessor Change 3472748 by Max.Chen Sequencer: Added OnBeginScrubbing and OnEndScrubbing event delegates Change 3472753 by Max.Chen Sequencer: Add EMovieSceneDataChangeType parameter to OnMovieSceneDataChanged delegate Change 3472870 by Nick.Darnell Clipping - Fixing the deprecated tip for scissor rect boxes to be correct. Removing it's usage from UT. Change 3473340 by Max.Chen Scene Outliner: Add ability to register additional filters Change 3473348 by Max.Chen Details View: Make ForceRefresh virtual. Added accessors to delegates (ie. GetIsPropertyReadOnlyDelegate) Change 3473441 by Max.Chen Sequencer: Autokey Refactor Part 2. Autokey is now a single toggleable state. Allow Edits Mode has 3 states: Allow All Edits - Allow any edits to occur, some of which may produce tracks/keys or modify default properties. Allow Sequencer Edits Only - All edits will produce either a track or a key. Allow Level Edits Only - Properties in the details panel will be disabled if they have a track. #jira UE-45229 Change 3473670 by Nick.Darnell Modules - The module manager no longer returns sharedptrs to IModuleInterfaces, this was the source of rare hard to track down crashes due to a shared ptr reference leak when GetModule was called on non-main threads. We now store a TUniquePtr internally, and only lease out raw pointers. #rn Change 3473711 by Nick.Darnell Disabling the ensure in the module manager. Change 3473747 by Max.Chen Sequencer: Fix tooltip Change 3474091 by Jamie.Dale Added a warning when cooking a UFontFace that is outered to a UFont asset These cause issues with iterative COTF, and should be split off into their own assets (as the UI has been asking people to do for several versions) Change 3475052 by Yannick.Lange VR Editor: Fix Crash when quitting the editor with VR Mode enabled. VR Editor was being enabled when saving the map on closing the editor. #jira UE-45415 Change 3475054 by Yannick.Lange Fix crash when adding a camera to the world in VR Mode the second time. The slate application did not reset when stop dragging in VR Mode, so the second time when starting to drag a camera out of the UI it would already by in a dragging state. #jira UE-45574 Change 3475263 by Nick.Darnell Fixing some additional cases of IModuleInteface SharedPtr usage. Change 3475268 by Max.Chen Sequencer: Set jumped state when looping playback. This fixes an issue where audio doesn't stop and restart when looped. #jira UE-45654 Change 3475269 by Max.Chen Scene Outliner: Additional filters should only apply to actor browsing mode Change 3475407 by Nick.Darnell Fixing some clipping / module shared ptr changes in the launcher code. Change 3475542 by Max.Chen Sequencer: Update thumbnail and section highlighting to use new clipping behavior. #jira UE-45692 #jira UE-45689 Change 3475743 by Michael.Dupuis #jira UE-45183: When updating phyx region take into account simple collision mip Change 3475949 by Arciel.Rekman Remove PhysX deoptimization (no longer needed). - OR-24947 has been closed three months ago. Change 3476022 by Michael.Dupuis #jira UE-45560: Make sure we're not going out of range Change 3476063 by Michael.Dupuis #jira UE-45562: Do not try to unregister from static mesh if no static mesh is specified for the component Change 3476168 by Michael.Trepka Added handling of directory symlinks to FApplePlatformFile::IterateDirectory #jira UE-43704 Change 3476172 by Nick.Darnell Fixing a Imoduleinterface change. Change 3476183 by Jamie.Dale Exposing GoTo/ScrollTo to single-line editable text for API parity with multi-line editable text Change 3476385 by Arciel.Rekman Linux: handle symlinks when iterating directories. Change 3476522 by Michael.Trepka Solved a problem with Mac FMallocTBB::Malloc() returning nullptr for 0 bytes allocations, which is inconsistent with other platforms. On Mac we always scalable_aligned_malloc, which behaves differently than scalable_malloc, so for 0 bytes requests we allocate sizeof(size_t), which is exactly what scalable_malloc does internally in such case. Change 3476806 by Nick.Darnell UMG - Focus the designer after dropping a widget onto the surface. Change 3476809 by Nick.Darnell Curve Editor - Enable Clipping on the curve editor. Change 3477475 by Nick.Darnell Fixing a module interface shared ptr usage in UT. Change 3477553 by Yannick.Lange VR Editor: Removed AssetEditorPanelID and replaced it with TabManagerPanelID. A panel for AssetEditorPanelID was never created making it impossible to open an asset editor. Change 3477734 by Yannick.Lange VR Editor: Fix Warning: SetRelativeScale3D : Invalid Scale entered (X=inf Y=inf Z=inf). Resetting to 1.f. warning when adding CineCameraActor to World from Modes Panel. Make sure to not divide by zero when there is no boundary scale. #jira UE-44933 Change 3477761 by Jamie.Dale Some improvements to avoid loading the native .locres files twice when we don't need to Change 3477780 by Nick.Darnell PR #3250: Return correct VirtualUserIndex (Contributed by projectgheist) Change 3477786 by Nick.Darnell PR #3650: Changed TestNull to accept const pointers. (Contributed by e-agaubatz) Change 3477795 by Nick.Darnell PR #2844: UE-36936: Don't stretch container for Plugin Image (Contributed by projectgheist) Change 3478092 by Nick.Darnell PR #2341: Optional Middle Mouse Button panning in Graph Editor (Contributed by flipswitchingmonkey) Engine Edit - Made some small changes to the enum type, and some naming. Change 3478450 by Nick.Darnell Fixing some uninitialized variable errors. Change 3479827 by Andrew.Rodham Sequencer: Addressed serialization issues with some struct types Change 3479874 by Jamie.Dale Fixed "NativeGameLanguage" not being used correctly during localization initialization Change 3480012 by Andrew.Rodham Sequencer: Fixed loading tagged properties as native for track identifiers #jira UE-45823 Change 3480337 by Alexis.Matte Fix morph target crash missing some valid index check Change 3480804 by Alexis.Matte Fix crash with ColorGradingMode custom detail #jira UE-45638 Change 3480892 by Andrew.Rodham Sequencer: Ensure that movie scene sequences know about the editor object version #jira UE-45842 Change 3481073 by Nick.Darnell Fix the shader compiler error from main in Slate. Change 3481303 by Nick.Darnell UMG - Fixing a bug with the drag handle not working correctly in HDPI mode. Change 3481308 by Nick.Darnell Slate - Tweaking the IsWidgetCulled logic to consider both the layout and rendering bounds. If we do this, we get a much more desireable outcome for people that want to animate widgets and such and plan to have temporary animations to move the widget offscreen, but want the layout bounds to anchor that widget in the visible frame so that it animates even when normally it would be culled b/c the render transform and therefore the renderbounds moved it completely outside the culling rect. Change 3481629 by Max.Chen Sequencer: Add Level Sequence Actor as an output for CreateLevelSequencePlayer() #jira UE-45785 Change 3481899 by Yannick.Lange VR Editor: Added debug modetoggle command with an event that is broadcasted whenever this happens. Currently this is used to show all the floating UIs of the UI system to debug without HMD using VREd.ForceVRMode. Change 3481984 by Michael.Dupuis #jira UE-45845: always validate if we have a static mesh before trying to access it as user can decide to not assign one and use the tools Change 3482047 by Nick.Darnell Slate - Adding some comments to IsWidgetCulled. Change 3482110 by Nick.Darnell Slate - IsWidgetCulled is no longer static and is now called IsChildWidgetCulled. Change 3482136 by Jamie.Dale The CamelCase break iterator now treats digits around character tokens as part of the identifier Change 3482138 by Michael.Dupuis #jira UE-45854: Properly unregister during undo operation Change 3482150 by Michael.Dupuis #jira UE-45845 : Add missing nullcheck for GetStaticMesh Change 3482153 by Nick.Darnell Slate - IsWidgetCulled is no longer static and is now called IsChildWidgetCulled. Change 3482180 by Nick.Darnell UMG - Widget Components do not need to define a widget class to be rendererd, they can have native slate widgets only. This was a regression from main. Change 3482273 by Nick.Darnell UMG - Tweaking some more things about the widget component box outline. Change 3482308 by Alexis.Matte Fixing morph target smooth group support. Do not call FillSkeletalMeshImportData more then once on FbxNode since this fonction is doing some conversion and change the FbxNode, applying those conversion twice do not return the same faces smooth group. #jira UE-45696 Change 3482327 by Nick.Darnell UMG - More tweaks to the WidgetComponent so both shows the box outline, but works in game and VR editor. Change 3482705 by Andrew.Rodham Resaving assets that contain legacy data to suppress CIS warnings. - If conflicts arise in these assets, please take game-side changes and ignore these. Change 3484245 by Max.Chen Sequencer: Evaluate on end scrub. This fixes a bug where audio doesn't evaluate in a stopped position at the end of scrubbing, causing it to not stop all sounds. This fixes a bug introduced from 3365018 where evaluate on end scrub was removed. #jira UE-45905 Change 3484263 by Max.Chen Sequencer: Fix crash on forcing refresh of details panel on release. #jira UE-45911 Change 3484431 by Andrew.Rodham Resaving assets that contain legacy data to suppress CIS warnings. - If conflicts arise in these assets, please take game-side changes and ignore these. Change 3484474 by Alexis.Matte Fix the morph target animation curve name matching. #jira UE-20294 Change 3484475 by Alexis.Matte When removing a LOD, make sure we remove all morph target data associate to the LOD. Change 3484489 by Nick.Darnell PR #3668: UE-45908: Cache debug line locations when performing a LineTraceMulti (Contributed by projectgheist) #jira UE-45908 Change 3484692 by Nick.Darnell Slate - Reverting a change from a game stream. All Arranged Children don't need to allocated 42 to begin with. Do need to initialize WidgetPaths better. Change 3484703 by Nick.Darnell Player Input - Making the input event loop for players obey EKeys::NUM_TOUCH_KEYS, rather than being set to Touch10, as the maximum touch input amount, to make supporting greater than 10 touches easier. Also making the seeding of keys use EKeys::NUM_TOUCH_KEYS. #jira UE-43213 Change 3484918 by Jamie.Dale Fixed font measuring regression with RTL text RTL applies the character count to the next glyph, so it shouldn't process the end of the loop (this was how the older code used to work). Change 3485718 by Nick.Darnell Editor - Removing Super Search & User Feedback button. Change 3485719 by Nick.Darnell Portal - Removing SuperSearch. Change 3485751 by Matt.Kuhlenschmidt Fix crash accessing platformer game menu if the menu is open during a console based load #jira UE-45950 Change 3486047 by Arciel.Rekman Linux: add OpenEXR implementation (UE-40270). #jira UE-40270 Change 3486467 by Max.Chen Sequencer: Reset max tick rate when destroyed. #jira UE-45956 Change 3486477 by Max.Chen Sequencer: Refresh outliner when column is removed. #jira UE-45891 Change 3486667 by Andrew.Rodham Added missing include Change 3486724 by Andrew.Rodham Sequencer: Fixed curves with no default value, and no keys being evaluated and applied to properties - Also fixed an edge case where a zero (but non-animated) channel could be applied to a final transform Change 3486730 by Alexis.Matte In the Auto-Reimport options, hide the mout point only for the default /Game/ folder #UE-45684 Change 3486749 by Alexis.Matte Make sure the parent window of the monitor directory browse folder is set properly #jira UE-45682 Change 3486805 by Matt.Kuhlenschmidt Additional safety against invalid objects being accessed by slate Change 3486848 by Alexis.Matte Make sure Monitor folder feature support root mount point map folder During auto import, give priority to asset import factory over the scene import factory #jira UE-45691 Change 3486879 by Andrew.Rodham Removing obsolete QA assets Change 3486950 by Nick.Darnell PR #2281: Scrollbar missing features and SScrollbar fixes (Contributed by SNikon) Review - made some adjustments from the original. Change 3486954 by Nick.Darnell Slate - Moving the STableViewBase over to the FOverscroll class, rather than it's own clone. Change 3486967 by Nick.Darnell Slate - Fixing some HDPI calculations for fitting new windows on screen, it was using the unscaled size of the widgets for fitting, when it needed to scale them up. Change 3486970 by Andrew.Rodham Sequencer: Delay mouse capture until drag for sequencer time slider - Fixes context menus not opening as a result of mouse capture being taken on mouse down #jira UE-45937 Change 3486984 by Andrew.Rodham Sequencer: Improved blending type iconography Change 3486996 by Nick.Darnell UMG - Adding a way for games to opt-out of the slow widget path, to completely prevent them from being cooked. UMG - The movie data is no longer cloned for each new instance that inhabits. It now keeps a reference to the now publically accessible movie scene data on the class instead. Change 3487070 by Andrew.Rodham Sequencer: Added graphics for key areas that represent empty space Change 3487195 by Andrew.Rodham Sequencer: Changed evaluation groups to always flush implicitly - Due to the latent nature of blended token types, it's no longer safe to rely solely on execution token order between tracks - This fixes an issue where events set in the PostEvaluation stage were executed before blended token actuation Change 3487322 by Nick.Darnell PR #2457: Add .gitdeps.xml-files for plugins support (Contributed by bozaro) Change 3487363 by Nick.Darnell PR #2481: Fix for packing of a project with users plugins (Contributed by yatagarasu25) Change 3487439 by Nick.Darnell PR #2642: Changed private to protected in SVirtualJoystick.h (Contributed by Skylonxe) Change 3487500 by Arciel.Rekman Removed LinuxNativeDialogs. - No longer used; has been superceded by SlateDialogs since UE 4.8 (2 years ago). Change 3487630 by Lauren.Ridge Don't create Landscape Info Maps for Editor Preview Worlds or thumbnail worlds #jira UE-44885 Change 3487864 by Matt.Kuhlenschmidt Exposed the asset registry to blueprints and script. Works in editor scripts and runtime scripts AssetRegistry is now a UInterface object. Blueprint users can access various asset registry methods using the asset registry interface (via GetAssetRegistry) and various static helpers in the AssetRegistryHelpers object C++ users should still continue to use IAssetRegistry. Change 3487879 by Matt.Kuhlenschmidt Renamed asset tools uobject helper to UAssetToolsHelpers Change 3487926 by Lauren.Ridge Fixing reset to default not showing up for custom widgets #jira UE-44164 Change 3488184 by Matt.Kuhlenschmidt PR #3656: Make References/Referencers List copyable (Contributed by user37337) #jira UE-45763 Change 3488240 by Matt.Kuhlenschmidt Fix compiler issue Change 3488350 by Lauren.Ridge Landscape info map transactional state is based on its world's transactional state #jira UE-44885 #jira UE-46019 Change 3488412 by Matt.Kuhlenschmidt Fix reset to default showing up in two different places for some customizations Change 3488413 by Matt.Kuhlenschmidt Fix slate font customization Change 3488414 by Matt.Kuhlenschmidt Fix slate font customization Change 3488415 by Matt.Kuhlenschmidt Missed file Change 3488565 by Arciel.Rekman Add pretty printers for gdb (UETOOL-1171). - Committing shelf by Cengiz.Terzibas, with some modifications. #jira UETOOL-1171 Change 3489094 by Nick.Darnell Slate - The Slate RHI Renderer now caches the TextureLODGroups so that it can properly lookup the filtering of different texture groups that are set to Default, instead of a particular filter override on a texture. Engine/Rendering - Simplifying some of the setup logic in TextureLODSettings so that code is shared for setting them up properly after loading from a config file. Change 3489095 by Nick.Darnell PR #2699: GameViewportClient - Added a method to allow setting the viewport cur. (Contributed by rfenner) Review - Fixed spacing. Change 3489108 by Matt.Kuhlenschmidt Fix deprecation warning Change 3489120 by Nick.Darnell PR #3478: Fix possible UComboBoxString crash (Contributed by nakosung) Change 3489147 by Andrew.Rodham Sequencer: Adding return value to function to appease static analysis - This function is never compiled, and if it is, it won't compile, but static analysis doesn't know that Change 3489264 by Nick.Darnell Testing - Finishing the thought behind an enum comment. Change 3489265 by Nick.Darnell PR #2750: UE-35164: Button padding (Contributed by projectgheist) Change 3489267 by Nick.Darnell PR #3645: UE-45464: Handle SSlider mouse interaction more accurately (Contributed by projectgheist) Change 3489632 by Arciel.Rekman Correctness changes to MallocPoisonProxy. - Missing forwarding functions added. Incorrect comment removed. - Change by Steve.Robb, doing here so it is in 4.17. Change 3489689 by Arciel.Rekman More MallocPoisonProxy changes I missed in previous CL. Change 3489751 by Matt.Kuhlenschmidt Moved editor performance settings out of per-project settings so they can be shared across projects Change 3489837 by Lauren.Ridge Keyboard shortcut for entering/leaving VR Mode is now Alt+V Change 3491082 by Arciel.Rekman Linux: better fix for the crash due to name collision (UE-46040). - Put classes in Sequencer module into Sequencer namespace instead of SceneOutliner namespace. - Undid change in the SceneOutliner module. #jira UE-46040 Change 3491096 by Arciel.Rekman Fix UAT compilation on the newest mono. Change 3491240 by Max.Chen Sequencer: Disable key button when allow level edits only is on. #jira UE-46060 Change 3491406 by Yannick.Lange Fix editor crashes when opening a project that includes a plugin with more than two custom Volume classes. This issue was caused because registering show volume commands is based on finding volume classes. Finding these classes at multiple times resulted in a mismatch of the returned array of volume classes because modules/plugins were still being loaded. #jira UE-45806 Change 3491559 by Alexis.Matte Make sure we use the good preview mesh when doing a preview #jira UE-45963 Change 3491563 by Alexis.Matte Fix crash with staticmesh editor LodLevel selection Change 3491564 by Nick.Darnell UMG - Fixing an offset with the grab handles in HDPI mode. Change 3491595 by Nick.Darnell Editor - Fixing a clipping artifact in the pin type dropdown in the blueprint editor. Change 3491604 by Nick.Darnell Back out changelist 3489265 Change 3491615 by Arciel.Rekman Added malloc replay proxy (Linux only for now). - Allows to dump malloc callstream (without regard to threads) and replay later to study the behavior of different mallocs and/or repro problems. Change 3491684 by Arciel.Rekman Added FMalloc functions I missed. - Also moved function bodies into the .cpp file, this does not make a difference in performance in this case. Change 3491692 by Matt.Kuhlenschmidt Some minor fixes to the static mesh editor - Fix UV combo button looking non-standard on the toolbar - Fix a few combo buttons in the details panel looking too big. Change 3491702 by Arciel.Rekman Do not compile replay proxy-specific code when not used. Change 3491717 by Michael.Dupuis #jira UE-35083: The component is now the owner of the PerInstanceRenderData instead of the proxy Add an Update path to only update specified instances range Always call BuildTreeIfOutdated so we have a standard code path to make sure static mesh are fully loaded before trying to build the tree Moved the Instance Buffer aysnc to the base class, as it's not related to UHierarchicalInstancedStaticMeshComponent Expose a new property to decide if we require dynamic instance buffer Change 3491758 by Matt.Kuhlenschmidt Fix crash on static mesh editor shutdown Change 3491873 by Cody.Albert Fixed clipping issue in Sequencer curve editor #rnx Change 3491956 by Matt.Kuhlenschmidt Fix crash opening the Previewing sub-menu in the level editor settings menu #jira UE-46095 Change 3492046 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3492076 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3492165 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3492222 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3492274 by Michael.Dupuis #jira UE-46105: Fixed Clang warning Change 3492338 by andrew.porter QAGame: Testing ensure when submitting Change 3492371 by Nick.Darnell UMG - Reverting the animation sharing, cossed GLEO regressions in cooking. Will look for a better solution. Change 3492462 by Matt.Kuhlenschmidt Fix ensure checking in files through perforce Change 3492491 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3492505 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3492517 by Jamie.Dale The package localization ID is no longer used at all at runtime, and is now truly editor-only This should have always been the case, but it was leaked into manifest/archives/PO files in 4.14, and while 4.15 removed it from PO files it was still present in the manifest/archives. This change removes it entirely (unless gathering editor-only data, and even then the PO file will still collapse the entries together for translation), and the deprecated 4.14 export behavior will now produce an error if you attempt to use it. After taking this change you'll need to run a gather, import, and compile of your LocRes files to update your game localization to use the new localization IDs. Change 3492630 by Nick.Darnell UMG - Removing some extra cleanup code that's probably overkill and is causing a crash for uses of "Within" in class meta. #jira UE-46124 Change 3492692 by Matt.Kuhlenschmidt Fix drop shadows inheriting the outline color of the font. The outline should still appear but not have a different outline color from fill color Change 3492714 by Matt.Kuhlenschmidt Added outline with drop shadow to font automation test Change 3492737 by Matt.Kuhlenschmidt Fix linux Change 3492992 by tim.gautier Resaving Ocean Widget Blueprints / Sequences to resolve Legacy Sequence Data warnings #jira UE-46132 Change 3493089 by Jamie.Dale Ensure that the composite font of a font asset is flushed when the font object is GC'd Change 3493322 by Jamie.Dale Fixing null crash #jira UE-45758 Change 3494467 by Andrew.Rodham Fix Xbox warning Change 3494852 by tim.gautier QAGame: Changed streaming method of QA-EditorSmoke-Landscape to Always Loaded Change 3494853 by Nick.Darnell Another attempt at fixing the automation blueprint SA warning. Change 3494896 by Arciel.Rekman Fix possible null pointer access during Vulkan init. - May fix static analysis warnings in UE-46142, although warnings seem to be referring to something else. #jira UE-46142 Change 3494987 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3495010 by Matt.Kuhlenschmidt Adding additional logging to track down html5 issue Change 3495212 by Michael.Dupuis #jira UE-46143: Properly init the InstanceRenderData during the cooking phase (required by fortnite) Change 3495536 by Jamie.Dale Updating UGameEngine to call its Super::PreExit after performing its own teardown This prevents UEngine cleaning up resources that UGameEngine still needs. #jira UE-46159 Change 3495551 by Arciel.Rekman Another attempt to fix analyzer problem (UE-46142). Change 3495794 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3495905 by Matt.Kuhlenschmidt Fix USD crash when importing a meshwith no material [CL 3499771 by Matt Kuhlenschmidt in Main branch]
2017-06-19 20:27:30 -04:00
if (TimeSliderArgs.OnGetNearestKey.IsBound())
{
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 4044339) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3947021 by Max.Chen Sequencer: Don't preserve root component when copying object properties. A spawnable empty actor, has a root component that is generated by the empty actor factory. If the object template's root component is preserved when copying from the spawnable empty actor, the root component will not be copied over. Therefore, we need to NOT preserve the root component when copying object properties. #jira UE-55825 Change 3947366 by Max.Preussner WmfMedia: Better log output Change 3947367 by Max.Preussner MfMedia: Better detection of compressed format properties on Windows Change 3949102 by Max.Chen Sequencer: Remove SequenceActorTag when converting to possessable. #jira UE-56206 Change 3949207 by andrew.porter EngineTest: Set the screenshot nodes resolution to 1280x720 Change 3949404 by Max.Chen Sequencer: More informative tooltip for "Rerun Construction Scripts" option. It now says "Rerun construction scripts every frame on actors that have 'Rerun Construction Script in Sequencer' enabled in their class settings". Change 3950067 by Matt.Hoffman Renamed UAutomatedLevelSequenceCapture's StartFrame and EndFrame to CustomStartFrame/CustomEndFrame to reflect that it is user-overriden. This will also resolve upgrade issues due to the variable datatype changing. #jira UE-56189 Change 3950193 by JohnHenry.Carawon Updating my latest MovieRendering test content. Change 3950757 by JohnHenry.Carawon More updates to MovieRendering test content Change 3952059 by Max.Chen Resave LevelVisibility_SubLevels to fix data loss conversion warning of OpacityMaskConstant #jira UE-56086 Change 3952283 by Max.Chen Sequencer: Disable dropping level sequence assets as spawnables. #jira UE-56120 Change 3952422 by Max.Chen Sequence Recorder: Add button to record from the current player. #jira UE-55942 Change 3952987 by JohnHenry.Carawon MovieRendering Test Content - Fixing camera bindings and changing the override binding actor Change 3953823 by Mike.Zyracki Fix for Bad FBX Import Tangents not scaled by frame rate. After looking at this again it seems that a set of MovieScene:: overiddes for the channel traits wasn't set correctly, so use the ADL idiom to use MovieScene, which can then call Optimize in the correct namespace. With this we can now correctly use the passed in tolerance. There was also a redundant set of Optimize calls so that it could happen twice so removed them, and needed an extra check in the float channel Optimize. Also since we need to set auto tangents no matter if we optimize we don't set that parameter(though leave it since it's used by context menu key reduction). Finally fixed speed issue with trajectories caused by calculating way too many substeps. Reverted back to a time based step size for consistency. #jira UE-56193 Change 3954317 by Matt.Hoffman Adding a key to the last frame of a section no longer causes a crash. Keys can already be moved to be on the last frame of a section so now you can just add a key there directly. #jira UE-56255 Change 3954326 by Matt.Hoffman Dilating a section that is only infinite on one side no longer causes a crash. #jira UE-56260 Change 3954486 by Max.Chen PR #4580: Exposes IsReversed() from UMovieSceneSequencePlayer (Contributed by alanedwardes) Change 3955238 by Max.Preussner Messaging: Enabled delayed message routing https://github.com/EpicGames/UnrealEngine/pull/4574 #jira UE-56247 Change 3955901 by Max.Preussner MediaFrameworkTest: Added developer test for overriding desired media player plug-in at runtime. Change 3955922 by Andrew.Porter QAGame: Updating movie rendering content in dev folder Change 3956004 by andrew.porter QAGame: Adding MPC track to movie rendering test content Change 3956510 by Max.Chen Sequencer: Fix fbx camera import of static properties so that they are imported before default tracks are created. Otherwise, the default tracks inherit the default properties of the camera, rather than the values from the fbx. #jira UE-56311 Change 3957613 by Max.Preussner MediaUtils: Added code documentation to media player facade Change 3958005 by Max.Preussner MediaUtils: Added method to get number of sinks Change 3958934 by Max.Chen Sequencer: Fix keys getting added and sequence getting erroneously re-evaluated when auto key is off. Only apply defaults if there are no keys. Only modify the movie scene section before creating keys or setting defaults. #jira UE-55903 Change 3959687 by Andrew.Rodham Sequencer: Fixed visibility track external values being inverted #jira UE-56324 Change 3960507 by Max.Preussner Core: Fixed incorrect rounding in FMath::DivideAndRoundNearest Change 3962047 by JohnHenry.Carawon MovieRendering Test Content Changes: - Add Lightmass Importance Volumes to sublevel to fix warnings - Rebuilt Lighting - Add a third sequence for Gamut testing - Resaved the sound master.uasset to fix warning Change 3962211 by Mike.Zyracki Add Frame Numbers to selected animation sections. Added MapTimeToAnimation to MovieSceneSkeletalAnimation so that we could get it from the Skeleton Animation track Editor. Since the thickness of the frame line can change based upon frame rate and zoom we need to calculate it similarly to how the time slider controller does it. Those calculations were private so we had to expose FScrubRangeToScreen and GetScubberPixelRange from the TimeSliderController. Also needed to know if the section itself was selected so added a bIsSelected flag to the section Painter. Also fixed a bug where you couldn't add a section if other sections existed at different times in MovieScenePropertyTrack and could crash due to the check(). #jira UESEQ-395 Change 3962497 by Max.Preussner Core: Added new string formatting argument to FTimespan Change 3963662 by Max.Chen CineCamera: Flip VistaVision width and height. Change 3963731 by Max.Preussner MediaCompositing: Implemented sequence recording support for media track Change 3964195 by Andrew.Rodham Sequencer: Set inverted property correctly for newly created visibility track sections - Also clamp evaluation for key editors to the bounds of the section so we're not displaying values outside of the section bounds when the cursor is not on the bounds #jira UE-56324 #coderevew Max.Chen Change 3964196 by Andrew.Rodham Sequencer: Fixed crash when attempting to render sections that resulted in a negative intersection with the view range Change 3964275 by Andrew.Rodham Sequencer: Fixed MovieScene::ClampToDiscreteRange for infinite range bounds Change 3964364 by Andrew.Rodham Curve Editor: Reduce minimum vertical view range when zooming to fit Change 3965091 by Max.Chen Sequencer Recorder: Refresh next sequence if empty when starting a recording, otherwise, use existing name. #jira UE-56469 Change 3965148 by Max.Chen Sequence Recorder: Move Record to Possessable to "Actor Recording" group Change 3965162 by Max.Chen Sequence Recorder: Always break out of immersive mode when done recording, even when stopping recording during countdown. #jira UE-56407 Change 3965214 by Max.Preussner QAGame: Enabled ImagePlate plug-in Change 3965574 by Max.Preussner SimpleComposure: Reorganized & upgraded content to work with new Media Track #jira UE-56488 Change 3965651 by Max.Preussner MediaCompositing: Ignoring seek-on-open if media not seekable Change 3966075 by Christina.TempelaarL Sequencer: Added Final Cut Pro 7 XML Export functionality #jira UESEQ-358 Change 3966087 by Matt.Hoffman Adding a single key to the Particle Toggle track now makes an infinite range section that is displayed in the UI. #jira UE-56295 Change 3966547 by Andrew.Rodham Sequencer: Fixed rounding errors when drawing the section background on boolean sections - Logic was using time in sectonds which caused rounding errors on evaluation and flickering red/green stripes when dragging keys around #jira UE-56324 Change 3966563 by Andrew.Rodham Curve Editor: Key editor interface improvements - SKeyEditInterface has a few problems - it does not update in real time when editing properties, and does not support multi-edit which makes it unsuitable for use with the curve editor - We now take a different approach for editing keys by gathering a set of proxy UObjects for each key that is currently selected. These objects are added as top level objects to the details panel which means they support multi edit as you'd expect from any other details panel in the editor. - Proxy objects are updated every tick for the curve editor if they implement the ICurveEditorKeyProxy interface, which allows them to refresh their current value. - Ideally, the same mechanisms would be used in the main sequence interface, and we would be generating the proxy classes at runtime based on the key value type, but that work remains a separate task from this initial offering. #jira UE-56165 Change 3966564 by Andrew.Rodham Curve Editor: Expand to frame when adding or moving keys in the curve editor Change 3967051 by andrew.porter MediaFrameworkTest: Set the CameraPlayer_Video texture to auto clear Change 3967141 by Andrew.Rodham Sequencer: Keep track of spawned objects that have been modified and only re-save such object's default spawnable state on destruction - Now that we're taking this approach, I've remove serveral redundant bits of functionality in the spawn register such as making some spawnables read-only, and the PreSave binding for Sequencer. - We now hook into all object pre-saves to make sure we handle the case where the sequences are saved through the content browser or elsewhere. #jira UE-47686 Change 3967170 by Andrew.Rodham Sequencer: Added the ability to possess anim instances as object bindings - This allows full and direct animation of properties on UAnimInstance, and animation blueprints - Object Bindings are made by first possessing a skeletal mesh component, then choosing the + Add button where its anim instance will be listed - Added a new function to UMovieSceneSequence to gather previously cached objects that should now be invalidated. Anim instances will be re-resolved if a new UAnimInstance is assigned to USkeletalMeshComponent::GetAnimInstance. - ObjectBindingIDs for anim instances are just represented by an entry in a set of GUIDs. We only ever resolve such bindings through USkeletalMeshComponent::GetAnimInstance. - Only currently supported on LevelSequences #jira UE-56132 Change 3967195 by Max.Preussner Core: Updated TRangeSet to use TCallTraits Change 3967345 by JohnHenry.Carawon Test Content Changes - first iteration of spacing out the examples in the shots. Change 3967572 by Max.Chen Sequencer: Fix setting PreviousPlayEvalPosition until after we've tested whether it's set. #jira UE-56518 Change 3967750 by Max.Chen Audio: Set duration based on number of input channels, rather than number of channels to serialize. This fixes an issue where audio split into 2 channels is set to a duration that's twice as long. #jira UE-56430 Change 3967836 by Max.Chen Sequencer: Allow for animating array elements within ustruct properties #jira UE-55887 Change 3968506 by Matt.Hoffman Fixed ambiguous conversions for seconds and frames being overriden by ambiguous conversion to Timecode (in frames). Change 3968748 by Max.Chen Sequencer: Make the event properties submenu widget larger. #jira UE-55557 Change 3968862 by Max.Chen Sequencer: Recursive expansion when shift is down #jira UE-52139 #pr 4194 Change 3968863 by Max.Chen Sequencer: Bind rename command to selected track so that F2 shortcut start renaming #jira UE-52139 #pr 4194 Change 3968872 by Max.Chen Sequencer: Rekey the selected key at the current time. #jira UESEQ-396 Change 3968938 by Max.Chen Cine Camera: Add option to toggle the behavior of locking the rail mount to the orientation of the spline. By default, the option is off, no change in behavior. #jira UE-55815 Change 3968958 by Andrew.Rodham Sequencer: Consider vertical position when hittesting keys #jira UE-56256 Change 3969643 by Max.Preussner Core: Rounding timespans created from double values towards nearest ticks Change 3969646 by Max.Preussner MediaUtils: Implemented timeout mechanism for block-on-fetch feature Change 3969776 by Mike.Zyracki Added Skip Anim Notifiers Toggle per what was in Matinee. Investigated the Enable Root Motion toggle as also discussed but it's implementation is directly contained by the animation asset and unlike animation notifies there seems to be no exposure to interactively disable it during a playback tick. Note if we are generating thumbnails we still automtically disable notifies in the editor to avoid annoying noise playback. Note that if Enable Root Motion/Root locked is specified in the animation asset it does correctly effect the Sequencer. #jira UESEQ-399 Change 3969835 by Matt.Hoffman Playback Range and Selection Range use unified logic for adding themselves as potential snap locations which properly handles inclusive/exclusive bounds. This resolves an issue where having an unset selection range caused a potential snap location to be added on frame 0 and 1 (internal resolution) which caused a misalignment when placing objects near frame 0. This also removes the one frame offset on setting Selection Range to bring behavior inline with other ranges. #jira UE-55420 Change 3969885 by Max.Preussner MediaAssets: Don't register media player CDO with media ticker Change 3971129 by Andrew.Rodham Sequencer: Fixed UMovieSceneSequencePlayer::GotToEndAndStop() not taking into account for start time This is a remnant from when the times were always specified in 0-duration space, rather than actual sequence times. Change 3972056 by JohnHenry.Carawon More updates to Test Content. I continued spacing out the examples in the sequence so that they have a consistent number of frames between each example and during the start/end of the example. Also removed the Marcie sublevel. Change 3972066 by Andrew.Porter MediaFrameworkTest: Setting Marcie folder to be never cooked in package settings Change 3972675 by Matt.Hoffman Splitting Subsequence Sections no longer sets an incorrect playback range on the subsequence when the subsequence has a different internal resolution than the owning sequence. #jira UE-55453 Change 3973376 by Max.Preussner ImgMedia: Zero is the only valid video track for image sequences Change 3973489 by Max.Preussner Launch: Build rules cleanup pass - don't use Media, MediaUtils on server apps - don't link against Media (include-only dependency) - don't include from MediaAssets (dynamic load only) Change 3973760 by Max.Preussner MediaUtils: Moved AppMediaTimeSource implementation into its own file; added logging Change 3973765 by Max.Preussner ImgMedia: Disallowing seek beyond media length Change 3973855 by Max.Preussner MediaFrameworkTest: Updated developer test content Change 3973858 by Max.Preussner MediaCompositing: Blocking on media player time instead of media sample time (the former may not be hit in the current frame) Change 3974988 by Max.Chen Sequencer: Fix trim left so that it also sets the start offset for audio and skeletal animation sections. #jira UE-57015 Change 3976101 by Matt.Hoffman Sequencer will now focus the scroll view on newly created items. #jira UE-56492 Change 3976203 by Max.Chen Property Editor: Add DetailsViewArgs for ColumnWidth. Defaults to 0.65f, no change in existing behavior. Change 3976205 by Max.Chen Sequencer: Set better column widths for sequencer. #jira UE-55557 Change 3976206 by Max.Chen Sequencer: Added menu category for import/export Change 3976265 by Matt.Hoffman Tracks within Object Binding Nodes will now sort using the old behavior so that components are added above other track types. #jira UE-56473 Change 3976901 by Max.Chen Sequencer: Add event names to event track section #jira UESEQ-353 Change 3977878 by Max.Preussner Media: Moved media framework ticking stats into Media module Change 3977982 by Max.Chen Sequencer: Add Edit->Reset section length to duration of source (ie. audio, skeletal animation, shot length) Added MovieSceneSection::GetDefaultDuration and MovieScene::HasDefaultDuration #jira UESEQ-392 Change 3977994 by Max.Preussner Media: Fetching and rendering media samples before viewports are rendered (to ensure frame sync for in-level media playback) #jira UE-53975 Change 3978188 by Matt.Hoffman Easing Curves are now clipped by the sequence's PlayRange when testing against an infinite section. This causes blended sequences to finish their blend when the section starts/ends instead of always using 25% of the total section length to determine default blend range. #jira UE-56362 Change 3978676 by Max.Preussner MediaCompositing: Fixed first frame of rendered out media track missing #jira UE-53975 Change 3978684 by Max.Preussner MediaCompositing: Enabled media track frame sync feature #jira UE-53975 Change 3980026 by Matt.Hoffman Keys can be selected on folded out sections (such as an audio track expanded to show volume and pitch) again. #jira UE-57169 Change 3981614 by Max.Preussner MediaUtils: Added missing subtitle sample queue flush Change 3982311 by Max.Preussner MediaCompositing: Added safeguard for zero length media sources Change 3982389 by andrew.porter QAGame: Adding media track test content into FrameAccuracySubscene Change 3983661 by Max.Chen Sequencer: Add level name to spawn a spawnable into. Add sublevel menu option to set the level #jira UESEQ-390 Change 3983712 by Andrew.Rodham Sequencer: Purge legacy blueprint spawnables from LevelSequence packages #tests Ran a preflight for cooking fortnite, ocean and Orion. Only orion shows up this edge case, and will require a re-save of the EndCines level #jira UE-39173 Change 3983787 by Max.Preussner MediaCompositing: Moved compile time switch for block-on-fetch into media player facade Change 3983812 by Andrew.Rodham Sequencer: Exposed default level sequence instance data to blueprints Change 3984373 by Max.Preussner Media: Added API for quering whether player plug-in supports block on fetch Block on fetch allows Sequencer and other systems to block the game thread until a desired video frame has been decoded. Change 3984670 by JohnHenry.Carawon Movie Rendering Test Content progress. Saving the state of the content. There is a bug where things got replaced with particle emitters and I think it was because I tried to copy paste an animation track into a separate skeletal mesh track. Change 3985097 by Max.Chen Sequencer: Rename Reset to AutoSize Change GetAutoSizeDuration to return TOptional<FFrameTime> #jira UESEQ-392 Change 3986043 by Max.Chen Sequencer: Fix crash when attach/path duration is less than 0. #jira UE-57310 Change 3986373 by Max.Chen Sequencer: Add support for deleting tracks and channels which equates to setting the channel mask. #jira UE-52951 Change 3986375 by Max.Chen Sequencer: Add Create Pose Asset to skeletal animation section. This allows animators to blend animations in sequencer and create new pose assets from them. #jira UESEQ-408 Change 3986796 by Andrew.Rodham Sequencer: Fixed stale object references remaining in ULevelSequence::BindingReferences when using convert to spawnable/possessable - We used to convert objects by creating a new binding, then re-assigning its GUID, which meant we didn't have to do any further object fixup, but the code to achieve this was confusing and led to a vulnerability where object references would not be cleaned up correctly due to the newly created possessable essentially being a temporary object that's immediately thrown away. - To address this, there is now a function for porting all the contents of one object binding to another, and handles the correct fixup required for parent/child object bindings for both spawnables and possessables. - Also added codepath to remove any stale object references from the level sequence reference map on PostLoad (this piggy-backs off the PurgeLegacyBlueprints object version which is close close enough to this change to be identical) #tests Verified that existing sequences with stale references get cleaned up on load. Verified that repreatedly converting from spawnable<->possessable cleans up references correctly. Change 3987807 by JohnHenry.Carawon Updates to the MovieRendering Test Content. - Fixed the spawnable actors that were overwritten - Shortend the Lighting example and combined the Intensity and Color tracks - Organized the Sequence and WorldOutliner to group the examples. Change 3988151 by Max.Chen Cine Camera: Enable keying the "Enable Look at Tracking" toggle. Change 3988880 by Max.Chen Sequencer: Support enter to add asset for all sequencer track editors that have asset pickers. #jira UE-57367 Change 3988953 by Max.Chen Sequencer: Make the track color picker focusable so that it will close when you click away or lose focus. #jira UE-57210 Change 3988962 by Max.Chen MovieSceneCapture: Fix EDL export so that it takes into account movie scene frame resolution and desired frame rate. #jira UE-57365 Change 3988964 by Max.Chen Movie Scene Capture: Clarified tooltip for bRelativeFrameNumbers. If you specify custom start/end frames for the recording, they will be relative to the playback range. #jira UE-57308 Change 3989442 by Max.Chen Fix CIS Change 3991548 by Matt.Hoffman Dragging the time slider no longer causes the time slider to ignore snap-to-interval with "Snap to Keys While Scrubbing" when no keys are in range. #jira UE-57417 Change 3991598 by Matt.Hoffman Snap to Key while scrubbing now mirrors the behavior of "jump to next key". When there are no tracks selected it snaps to all keys and when there are tracks selected it snaps to only keys from that track. This also resolves an issue where deleting an object did not remove it from the Sequencer's selection. Undoing a delete already doesn't seem to restore your selection, so removing it from your selection shouldn't change that behavior. #jira UE-57417 Change 3991603 by Max.Chen Sequencer: Disable EditAnywhere for some section properties #jira UE-53530 Change 3992240 by Max.Preussner MediaAssets: Implemented dynamic audio sample rate adjustment based on audio/media clock drift #jira FORT-70638 Change 3992911 by Andrew.Rodham Sequencer: Fixed saving spawnable state using the wrong spawned object - We now track the object binding ID so that we can apply the spawned object to the correct spawnable when the asset is saved #jira UE-57353 Change 3992914 by Max.Chen Movie Scene Capture: Fix compression quality not being set. The compression interface wasn't being found through query interface, so no compression was being set. Reworked finding it through the output pins. Tested running various compression values. #jira-UE-55488 Change 3992919 by Max.Chen Sequencer: Convert to possessable now uses object template instead of copying properties (ie. see LevelSequenceActorSpawner). This fixes MIDs getting lost when converting to spawnable and back to possessable. #jira UE-52400 Change 3993184 by Max.Chen Sequencer: Don't show +Transform/+Path/+Attach track if the actor has the "Mobility" property hidden. Set the Landscape, LandscapeProxy and InstancedFoliage "Mobility" property to be hidden since it is static is not supposed to be dynamically movable. #jira UE-56347 Change 3993238 by Max.Chen Sequencer: Test for hidden mobility in creating keys as well. Refactored to HasHiddenMobility() #jira UE-56347 Change 3993978 by Max.Chen Cine Camera: Enable keying the "Enable Look at Tracking" toggle. #jira UE-57489 Change 3994039 by Max.Chen Landscape: Add Mobility to hidecategories on landscape component #jira UE-56347 Change 3994626 by JohnHenry.Carawon Updated Movie Rendering Test Content. - Fixed the overridden spawnables to their proper object types. Change 3994653 by Christina.TempelaarL Sequencer: Added Final Cut Pro 7 XML Import functionality, improved Export functionality #jira UESEQ-358 Change 3995609 by Max.Chen UMG: Add support for 2d transform mask (translation, rotation, scale, shear) #jira UE-52951 Change 3995778 by JohnHenry.Carawon Movie Rendering Test Content Updates - Adjusted Lights example - Adjusted Camera example - Added Marcie sublevel back in Change 3995942 by JohnHenry.Carawon QAGame: Moving Movie Rendering test content from Developer folder to Sequencer folder Also adjusted level visibility, lights and camera example. Change 3995993 by Christina.TempelaarL Sequencer: FCPXML Export updates - only export sections if in playback range and media exists, warn if media does not exist. Other updates - removed unused methods and variables, fixed message context naming to be more accurate #jira UESEQ-358 Change 3996595 by andrew.porter QAGame: Updating Marcie content in TrackEvaluation level to use Image Plate Change 3996614 by andrew.porter QAGame: Adding color test sequence to the sublevel Change 3996643 by Max.Chen Sequencer: Fix fbx animation export - rotation and scale channels were flipped. #jira UE-57509 #jira UE-57512 #jira UE-57514 Change 3996652 by Max.Preussner Messaging: Fixed delayed messaging using incorrect current time after message router sleep Based on https://github.com/EpicGames/UnrealEngine/pull/4601 Change 3996801 by Max.Chen Sequencer: Fix folder active state for non key area sections. Look at track node sections as well as key areas. #jira UE-57550 Change 3997098 by Matt.Hoffman Cleaned up some remaining ToDo's in STimeRange. Change 3998339 by Max.Preussner Sockets: Added documentation for socket receive functions Change 3998359 by Max.Preussner MediaUtils: Started to implement media recorder helper class Currently only supports BGRA frames in CPU memory. Supporting other formats and buffer types will require conversions on render-thread. I recommend refactoring out the existing conversion code in FMediaTextureResource into a reusable helper class in the MediaUtils module. This should be a good starting point though. Change 3998417 by Matt.Hoffman Keys and Sections can now be moved at the same time inside of Sequencer. Keys can now snap to Sections (and vice versa) instead of just to other Keys. Sections can now be duplicated like keys can. #jira UE-56995 Change 3998427 by JohnHenry.Carawon QAGame: Updating test content for the Movie Rendering feature. - Added an auto activate particle to the beginning of the sequence (it's not part of the sequence at all) - Added an event receiver blueprint to the Events example - Added a particle emitter to both sublevels - Added a camera cut to the end that switches to a separate camera - The camera zoom in, focus and Look At sections are all separate (not overlapping in the sequence) - Added a second actor for the camera Look At - Added a Visibility section for the Actor Hidden In Game track that has possessable and spawnable cube and light Change 3998537 by Max.Chen Sequence Recorder: Restore immersive mode when stopping the sequence even if not in PIE. #jira UE-56407 Change 3999809 by Matt.Hoffman Removed the "Go To" box from Sequencer and instead placed the current time as an always visible control. The previous shortcut (Ctrl + G) now focuses the new widget directly. #jira UESEQ-376 Change 4000543 by Christina.TempelaarL Sequencer: Moving editor-only code from runtime module MovieSceneCapture to editor module MovieSceneTools. Moved EDL and FCP XML exporters as well as Automated Level Scene Capture. #jira UESEQ-358 Change 4000706 by Matt.Hoffman Entering multiple time strings without a number no longer crashes Sequencer. #jira UE-57672 Change 4001051 by andrew.porter MediaFrameworkTest: Fixing up some image sources pointing to the wrong location Change 4001191 by andrew.porter QAGame: Adding some quick EDL/XML test content to dev folder Change 4001243 by Max.Chen Sequencer: Fix import EDL out of range. #jira UE-57665 Change 4001856 by Matt.Hoffman Selecting keys and sections at the same time now also works with animation and audio sections. #jira UE-57716 Change 4002021 by Max.Chen Sequence Recorder: Fix sequence name incrementing. If external recording sets the sequence name, use it. Otherwise, use the recording name from the recording group or the recording settings. #jira UE-57712 Change 4002618 by Max.Chen Viewport: Update the look at location when updating to a locked actor. This fixes an issue so that popping the view out of a locked actor and manipulating the view will not jump to the previous look at location. #jira UE-57725 Change 4002979 by Matt.Hoffman Fixes several edge cases with the end time range that was causing confusion about what the last frame of the sequence was. Dragging the End Frame slider will no longer be off by one tick and jumping to the end via the UI controls now properly respects snapping and stays inside the play range instead of falling outside of it. Overall behavior does not change though and End Frame should be considered an exclusive frame so that frames 0-150 results in a 150 frame long animation (which is frames 0-149). #jira UE-56367 Change 4003185 by Matt.Hoffman Fixed a regression that prevented a section from being dragged upwards past row 0 which normally resulted in all other rows moving down. #jira UE-57717 Change 4003193 by JohnHenry.Carawon QAGame: Updates to test content - Shortened frames between the examples from 95 to 30 - Separated camera setting tracks - Lighting example now switches directly from constant red - green - blue Change 4003369 by Max.Chen Sequence Recorder: Refresh next sequence regardless of internally stored sequence name. #jira UE-55757 Change 4003586 by JohnHenry.Carawon QAGame: Test Content Updates - Level Visibility track now ends to that the levels are not visible when we move to the next example - Shortened camera section, removed Z tranform so that we just move left to right and shortened the overall length Change 4004414 by Max.Chen Movie Scene Capture: Fix regression where rendering with shot handles would only render the first shot. 3972166 addressed an issue where an extra frame would be rendered by finalizing right when the end frame was reached. This was hit on the first shot end frame, so instead, do this only for when the last shot is being rendered. #jira UE-57314 Change 4004765 by Christina.TempelaarL Sequencer: Fixed bugs in FCP XML import/export. - Export: fixed sequence default resolution. - Export: fixed XML files with no shots. - Export: all sections clipped to playback range. - Export: fixed incorrect section start/end times due to precision issues. - Import: fixed incorrectly adding cinematic tracks. - Import: fixed bugs creating new sections. #jira UE-57660 #jira UE-57662 #jira UE-57655 #jira UE-57761 Change 4005119 by Max.Chen Sequencer: Export/import at play rate Change 4005195 by Max.Chen UMG: Finish UMG evaluation on stop. Added object version so that existing UMG assets do not change. #tests - Newly created UMG animation with sections set to restore state now return to their original state. Existing UMG animations with sections set to restore state do not return to their original state. #jira UE-52285 Change 4005377 by Michael.Karambelas QAGame: Moving TM-SequenceRecorder and related content out of my developer folder and into /Content/Sequencer/SequencerRecorder/* Change 4005417 by Michael.Karambelas QAGame: Fixed a BP compiler in the Level Blueprint of TM-SequencerRecorder. Change 4005634 by Michael.Karambelas QAGame: Fix up missing content and broken level sequence in TM-SequenceRecorder after move Change 4006324 by Max.Chen Sequencer: Reset if the focused movie scene is null. This fixes a crash if the user is focused in on a shot and undo takes the user past the point of where the shot was created. #jira UE-57752 #jira UE-47661 Change 4007006 by Max.Chen Sequencer: Fix FindAvailableRowIndex so that it returns the max row index (and not +1) since it doesn't find any conflicting rows. #jira UE-57717 Change 4007907 by Max.Chen Sequencer: Fix crash if there's no animation Change 4007948 by andrew.porter QAGame: added test content to dev folder for Record World Space Change 4008636 by Max.Chen Sequencer: Fix import fbx not setting values properly and creating additional cameras unncessarily. #jira UE-57864 Change 4008759 by Max.Chen Sequencer: Follow up fix for import cameras #jira UE-57864 Change 4009994 by Matt.Hoffman Dragging the left or right handles of the Time Range slider in Sequencer will now zoom your view in on the current center of the screen. This prevents the view from being translating as you tried to zoom in which caused issues at high zoom levels. #jira UESEQ-407 Change 4010169 by Christina.TempelaarL Sequencer: FCP XML fixes. - FCP XML export - no longer clips to playback range - FCP XML and EDL export - fixed missing last frame of some sections after exporting to Premiere. - Automated level capture, EDL export - use RoundToFrame instead of FloorToFrame for computing section start/end frames after frame rate conversion. #jira UE-57802 - partial fix, movie scene capture still needs to render full section rather than clip against playback. Change 4010287 by Mike.Zyracki Add quaternion interpolation option to UMovieScene3DTransformSection. This mimics how Matinee used to work by bascially finding the keys between a time and interpolating the angles as quat's between them. As noted in the code the algorithm needs to handle the case when the x,y,z Rotation keys all aren't at the same time which was not handled by Matinee. Also like Matinee, when in quaternion interoplation mode, we need to not display the function cuves since the interpolated and key values are now all different. (Would like to show them but that's a bigger refactor for perhaps just a one off needed by quaternions). I added a virtual function UMovieSceneSection::ShowCurveForChannel for this since it needs to be dynamic, not on construction of IKeyArea's, and could be useful for other sections. I could though move the method to just UMovieScene3DTransformSection and do a cast instead. Looked into doing a unit test for this but after talking with Andrew P we will work on doign an automated test in EngineQA since that will provide more coverage. Will also add a video the jira. #jira UESEQ-403 Change 4010713 by Mike.Zyracki Added option to key a group of transform channels instead of just the changed channel, or all of them. This is useful for quaternion interpolations where you want rotation keys to be aligned but also useful for other workflows like animating FK Pose to Pose. Change 4010715 by Andrew.Porter MediaFrameworkTest: Setting LogMediaUtils logging from VeryVerbose to Verbose to cut back on the spam Change 4013048 by Max.Chen Sequencer: Fix play/jump status. Update the player status for all position methods (Scrub, Jump, Play). Jump means Stopped. Correctly use PlayTo or JumpTo based on position method. In PlayInternal, JumpTo with the Stopped state (rather than playing state). #jira UE-57844 Change 4013479 by andrew.porter QAGame: Added content in TM-SequenceRecorder to test recording a property on a Cine Camera Component; Press 3 to trigger manual focus distance to increment on a timer Change 4014323 by Max.Chen Sequencer: Fix SetPlaybackPosition so that it jumps or plays based on playback status. #jira UE-57844 Change 4015888 by Max.Chen Sequencer: Fix crash on paste. UMovieSceneSections were gathered from the track node's track. For sub track mode, we want to gather only those sections on that track node row. #jira UE-57951 Change 4015943 by Max.Chen Sequencer: Fix moving shots up when the mouse pos goes outside of the virtual track area. #jira UE-57717 Change 4016293 by Max.Chen Sequencer: Fix relative frame playback end frame calculation so that custom start/end frames remain in the space of the sequence and are not relative. #jira UE-57308 Change 4017075 by Andrew.Rodham Sequencer: Corrected initial evaluation range used when calling UMovieSceneSequencPlayer::Play() Change 4017270 by Christina.TempelaarL Sequencer: FCPXML importer and movie scene capture - Use CeilToFrame when converting section start/end frame times to frame numbers in FCPXML and movie scene capture. - Added support for clip metadata in FCPXML. - Got rid of redundant TokenizedError message class, no longer needed now that FCPXML is in editor directory. - Added log messages currently commented out due to exception, still testing. #UESEQ-358 Change 4018370 by Christina.TempelaarL Sequencer: fixed FCPXML log messages regarding sections with start/end not divisible by display rate. #UESEQ-358 Change 4018378 by Christina.TempelaarL Sequencer: fixed error in previous changelist. #UESEQ-358 Change 4019457 by Max.Chen Sequencer: Show event names only when the event track is selected #jira UE-57897 Change 4022806 by Max.Chen Sequencer: Fix crash on movie scene capture dialog shutdown if movie capture wasn't even started. #jira UE-58106 Change 4022894 by Max.Chen Sequence Recorder: Wrap OpenEditorForAssets after sequence recording within GIsEditor #jira UE-58084 Change 4024487 by Max.Chen Sequencer: Add tooltip for quat interpolation #jira UE-58113 Change 4024562 by Max.Chen Sequencer: Change path/attach track sequence binding id to currently focused sequence id so that bindings can be created in subsequences Change 4027414 by JohnHenry.Carawon QAGame: Checking in content that shows a bug with using particles systems and Delay Before Shot Warm Up. Change 4028990 by Max.Chen Sequencer: Fix evaluate sub sequences in isolation. This check was added with the compile on the fly logic. Not sure why it was necessary but it seems like the sub sequence data needs to be updated in order to evaluate sub sequences in isolation. #jira UE-58184 Change 4029004 by Max.Chen Sequencer: Ensure that old binding references are removed when re-assigning actors in sequencer #jira UE-57898 Change 4030997 by JohnHenry.Carawon QAGame: Fixing name of the master sequence Change 4031785 by Michael.Karambelas QAGame: Added an instance of ThirdPerson Run to TM-SequenceRecorder for Record to Possessable test. Change 4035548 by Andrew.Rodham Sequencer: Changed FMovieSceneEvaluationTemplate::TemplateSignature to be a serial number to address non-deterministic cooking issues - This commit is related to the repro steps found in 3914599 and 3934307, both of which have been verified with this new change. - Copy of 4031684 from //Fortnite/Main/... #jira FORT-84852 Change 4036312 by Max.Chen Sequencer: Fix zoom view range so that it uses the passed in InZoomDelta Change 4036318 by Max.Chen Sequencer: Auto size now returns a range and defaults to the channel proxy range so that keyed regions can also be autosized. Change 4036322 by Max.Chen Forgot missing change Change 4036360 by Max.Chen Sequencer: Fix play rate calculation when skeletal animation section play rate changes. Change 4037163 by Mike.Zyracki Weighted Tangent Implementation Tricky thing is that you need to solve a cubic in order to get the bezier weights for the time part of the curve. See https://www.gamedev.net/forums/topic/474094-help-function-curves-for-animation-interpolation/ Maya provides an implementation in it's dev kit but I didn't use it since it was horribly slow and uses an iterative solution to solve the cubic needed. Instead I use an old algorithm (Cardano's method), to solve the cubic which should be much faster. Though relative simple to code from principles I just went ahead and used a version from Graphics Gems 1. I put this cubic solver directly in MovieSceneFloatChannel.cpp, but will need to move it when we support Rich Curve, maybe to FMath:: (which would probalby require some other functions for solving quartics, etc.. for completeness.). Also note we resolve this on every evaluation but dont' need to if the interval the time is evaluating hasn't had any change in values or tangents. So again when we support FRichCurve we can create a Weighted Evaluating class that can hold the cache. Also with the tangent drags I got rid of the Cardinal position that was used to calculate non-weight tangents from the key point and just quickly getting a direction. With weighted tangents we need to use the delta instead (otherwise when moving multiple they would all get the same weight based upon distance to the cardinal point. ) For mixed tangents types what I'm defaulting to non weighted if the interval doesn't match. May need to do weighted instead, not sure. What's left is just FBX import, for tomorrow. #jira UESEQ-76 Change 4037435 by Mike.Zyracki Fix fo build warnings from weighted tangent submission. #trivial Change 4038091 by Michael.Karambelas QAGame: Updated a Sequence Recorder group in TM-SequenceRecorder that had an actor missing the animation. Change 4038374 by Andrew.Rodham Sequencer: Refined scrubber styling for level sequences and actor sequences - Scrubber now shows a block the width of a dsplay rate frame, plus a line for the actual evaluated time. UMG reverts back to the previous styling (no block) - Keys that are outside of the playback range are now drawn with a subdued effect - Tick labels are no longer drawn when directly underneath the scrubber Change 4038490 by Max.Chen Sequencer: Expose tangent weight values in details panel. Change 4038620 by Andrew.Rodham Sequencer: Advanced time panel polish #jira UESEQ-426 Change 4038677 by Max.Chen Movie Scene Capture: Redirector for MovieSceneTools.AutomatedLevelSequenceCapture #jira UE-58248 Change 4039739 by Max.Chen Sequencer: Media track should only be supported by Level Sequence Change 4040024 by JohnHenry.Carawon QAGame: Fix EventReciever and OverrideBinding example The level sequence was set to none so the fix was to set it back to TrackEvaluation_Master. Change 4040610 by Andrew.Rodham Curve Editor: Moved weighted tangent switchers to a single toggle command (CTRL+W) and added an icon #jira 58383 Change 4040882 by Mike.Zyracki Keep broken when turning on weighted #jira UE-58435 Change 4041089 by andrew.porter QAGame: Sequence for Long Tangents bug Change 4041498 by Mike.Zyracki Turn off weighted when going auto to prevent large tangents. Do it both in UI and when doing AutoSetTangents() to really make sure it doesn't happen. #jira UE-58452 Change 4041752 by andrew.porter MediaFrameworkTest: Adding some better logging for setting rates when not supported. Also ignoring commiting URL when there is no text Change 4041896 by Matt.Hoffman The transform dialog box now transforms selected keys and sections, instead of just keys. #jira UE-58265 [CL 4044405 by Max Chen in Main branch]
2018-05-02 10:10:00 -04:00
// If there are any tracks selected we'll find the nearest key only on that track. If there are no keys selected,
// we will try to find the nearest keys on all tracks. This mirrors the behavior of the Jump to Next Keyframe commands.
const TSet< TSharedRef<FSequencerDisplayNode> >& SelectedNodes = WeakSequencer.Pin()->GetSelection().GetSelectedOutlinerNodes();
const bool bSearchAllTracks = SelectedNodes.Num() == 0;
FFrameNumber NearestKey = TimeSliderArgs.OnGetNearestKey.Execute(InTime, bSearchAllTracks);
float LocalKeyPos = RangeToScreen.InputToLocalX( NearestKey / GetTickResolution() );
Copying //UE4/Dev-Editor to //UE4/Dev-Main (Source: //UE4/Dev-Editor @ 3497164) #lockdown Nick.Penwarden #rb none ===================================== MAJOR FEATURES + CHANGES ===================================== Change 3433074 by Matt.Kuhlenschmidt Fix crash when clicking on certian tutorial blueprints. #jira UE-44593 Change 3433075 by Matt.Kuhlenschmidt Remove hittest grid log spam. The underlying problem causing this has been fixed Change 3433077 by Matt.Kuhlenschmidt Fix lighting becoming unbuilt when mesh painting #jira UE-44837 Change 3433081 by Matt.Kuhlenschmidt PR #3553: Crashfix for static array properties (Contributed by Pierdek) Change 3433104 by Alexis.Matte Make sure re-import skeletal mesh follow the import morph option #jira UE-42846 Change 3434825 by Matt.Kuhlenschmidt Fix crash when GC happens while the vr editor radial menu is open. Change 3434831 by Matt.Kuhlenschmidt Added missing file Change 3434868 by Shaun.Kime If you have a reroute node between a Material Function texture input and its usage, the parent material will fail to resolve the reroute node. #jira ue-44670 Change 3434998 by Alexis.Matte Meshes editors material/section panel are now fully transactional - Staticmesh editor: section material slot, section cast shadow, section collision, material slot instance, material slot name - Skeletal mesh editor: material slot instance, material slot name Also fix some transaction description #jira UE-44462 Change 3435195 by Jamie.Dale Fixed incorrect handling of some LTR scripts that require shaping These scripts need to go through HarfBuzz, and this also fixes a case where HarfBuzz wasn't applying font scale correctly. #jira UE-44767 Change 3435199 by Jamie.Dale Fixed some crashes/artifacts with bidirectional text It was possible for a line to compute an incorrect range, which could cause crashes or other highlighting issues. The highlighting logic has also been updated as the old code didn't handle all bidirectional cases correctly. Change 3435200 by Jamie.Dale Fixed a grapheme cluster metrics issue in the font editor viewport The viewport also now respects the default shaping method CVar. Change 3435771 by Alexis.Matte Fix degenerated bounds calculation for skeletalmesh when the skeleton is remove from a re-import (PhysicAsset API change, adding 1 function) #jira UE-44609 Change 3436856 by Jamie.Dale Added some missing Unicode block ranges Change 3436914 by Jamie.Dale Adding some missing combining character ranges to the text shaper Change 3436923 by Alexis.Matte PR #3463: Get bounds for all triangles, not just the first one. WedgeIndex was . (Contributed by DaveC79) #jira UE-43764 Change 3436948 by Jamie.Dale Updated the Portal to use the predefined Unicode block ranges Change 3436961 by Max.Chen Sequencer: Show camera shake/anim track menus even if there aren't any assets. Change 3437244 by Max.Chen Sequencer: Clear locked cameras when releasing Sequencer. #jira UE-44967 Change 3437515 by Arciel.Rekman UBT: improvements for LocalExecutor. - Larger number of parallel jobs on 16GB+ machines. - Use WaitForExit() instead of polling. - Tested on Linux and Mac. Change 3437629 by Matt.Kuhlenschmidt Improve asset import data display in static and skeletal meshes Change 3438047 by Arciel.Rekman Fix overlapping ranges being passed to memcpy(). Change 3438822 by Yannick.Lange ViewportInteraction: Move gizmo handle files to make them private. Change 3438906 by Matt.Kuhlenschmidt PR #3556: Git Plugin: fix new option "init Git LFS" that make assets read-only (master/UE4.17) (Contributed by SRombauts) Change 3438907 by Matt.Kuhlenschmidt PR #3565: add -quality option to buildlighing commandlet (Contributed by kayama-shift) Change 3438908 by Matt.Kuhlenschmidt PR #3558: UE-44862: Always update SColorPicker color on OK button (Contributed by projectgheist) Change 3439393 by Matt.Kuhlenschmidt Force highest LOD for highres screenshots Change 3439819 by Matt.Kuhlenschmidt Turned FAssetData into a struct for some upcoming script exposure of FAssetData Change 3439949 by Arciel.Rekman Fixed selection logic for the UE4_LINUX_USE_LIBCXX environment variable. - Allows disabling libc++ by setting the variable to 0. - Pull request #3576 contributed by jared-improbable. Change 3441078 by Jamie.Dale The culture/language/locale console commands are now available in all build configs Change 3441109 by Jamie.Dale Text containing surrogate pairs now runs through HarfBuzz when shaping in Auto mode This is needed as the kerning-only shaping code assumes that everything is within the BMP Change 3441275 by Matt.Kuhlenschmidt Disable spinning on location and scale. These dont work because we have no notion of infinite spinning Change 3442748 by Yannick.Lange ViewportInteraction: Remove unused console variables. Change 3442775 by James.Golding Add support for editing MaterialFunctions to MaterialEditingLibrary Pull Material recompile/update code into UMaterialEditingLibrary::RecompileMaterial Pull MaterialFunction update code into UMaterialEditingLibrary::UpdateMaterialFunction util Move RebuildMaterialInstanceEditors to UMaterialEditingLibrary Added test content for Material/MaterialFunction editing Add needed BlueprintReadWrite to expressions (constants, function input/output) Expose UMaterialExpressionMaterialFunctionCall::SetMaterialFunction to BP, rename old func (which takes old function) to SetMaterialFunctionEx, also expose GetInputNameWithType Change 3442779 by James.Golding Fix header order Change 3442817 by Yannick.Lange ViewportInteraction: Add can execute checks for level editor commands. Change 3443038 by Michael.Dupuis #jira UE-43377: When you select a foliage actor we will move all instance contained in it to the new level as we can't move a foliage actor Only permit moving foliage instance if there is some selected Change 3443855 by Michael.Dupuis #jira UE-44885: Unregister from PerModuleDataObjects when the object is destroyed Change 3446096 by Max.Chen Sequencer: Add OnFinished() event when a level sequence completes playback #jira UE-45173 Change 3446097 by Max.Chen Sequencer: Evaluate one last time before the sequence is torn down and reset #jira UE-45174 Change 3446242 by Jamie.Dale Fixed caret not appearing in empty text layouts Caret selections have no range, and therefore have no width Change 3446361 by Matt.Kuhlenschmidt Fix WITH_EDITOR only functions causing generated code compile errors when the all functions on the class are WITH_EDITOR Change 3446457 by Alexis.Matte Polish the speed tree import dialog #jira UE-44963 Change 3446946 by Michael.Trepka Modified FWindowsWindow::GetRestoredDimensions to return correct window position for normal windows for which GetWindowPlacement returns position in workspace coordinates #jira UE-37934 Change 3447543 by Arciel.Rekman Reduce VMAs on Linux. - Trades off increased address space (VIRT in terms of ps/htop) for smaller number of distinct mappings (VMAs, virtual memory areas). This decreases possibility to run into vm.max_map_count limit on Linux. - Tested on Linux and Mac. Change 3448468 by Arciel.Rekman Fix race condition during creation of GMalloc. - On Mac GMalloc can be created on two different thread that are racing with each other - app's main thread and a system thread. Change 3449012 by Max.Chen Sequencer: Add time to transform, color and vector key structs so that key times are editable from the key editors. #jira UE-45089 Change 3449018 by Max.Chen Sequencer: Add OnCameraCut event that fires when there is a camera cut. #jira UE-45137 Change 3449195 by Max.Chen Sequencer: Add setting for limit scrubbing to playback range. #jira UE-43502 Change 3449198 by Max.Chen Sequencer: Reorder hierarchical bias so that group priority takes precedence. Change 3449217 by Max.Chen Sequencer: Add setting to activate realtime viewports when in sequencer. Change 3449219 by Max.Chen Sequencer: Focus on search boxes when opened. Change 3449238 by Max.Chen Sequencer: Assign actor should replace the actor itself after it has updated all the components. Also, replace components be fullname rather than by class. Change 3449239 by Max.Chen Sequencer: Fix offsets when moving multiple sections. Dragging should be clamped to the bounds that any of the selected sections hits against the unselected sections. Change 3449241 by Max.Chen Sequencer: Restore section selection after full tree rebuild. Change 3449279 by Max.Chen Sequencer: Set movie scene capture frames only when not using custom frames. This allows the user entered frame numbers to persist in config, rather than overwriting them when doing a "Render Shot" Change 3449280 by Max.Chen Sequencer: Spawn in the persistent level. Otherwise, they get spawned into whatever sublevel is current. #jira UE-44552 Change 3449294 by Max.Chen Sequencer: Null check for sequencer ed mode crash. Change 3449297 by Max.Chen Sequencer: Fix delay in sliding values. Mark changed when sliding values. Mark refresh immediately when committing values since OnValueChanged will be called and needs to have the correct value that was refreshed immediately. #jira UE-42866 Change 3449542 by Max.Chen Sequencer: Fix scrubber hit testing so that the time scrubber is really favored over the playback ranges. #jira UE-44569 Change 3451507 by Matt.Kuhlenschmidt Fix extra slate uv coords not functioning on ES2 Change 3451510 by Matt.Kuhlenschmidt PR #3595: Fixed wrong colour for level status (Contributed by ronve) Change 3451529 by Alexis.Matte fbx scene importer: Make sure we set INVALID_UNIQUE_ID to node that has no attribute. #jira UE-34410 Change 3451611 by Yannick.Lange ViewportInteraction: Dragging gizmo without second pass for snapped calculations. Change 3452134 by Jamie.Dale Fixed constant font cache flushing if a widget had no font set Change 3452239 by Jamie.Dale Fixed constant font measure flushing if a widget had no font set Change 3452243 by Jamie.Dale Removed deprecated code for creating fonts from bulk data Change 3452277 by Jamie.Dale The concept of "stale" composite fonts is now editor-only Change 3452358 by Alexis.Matte Fbx scene importer: Do not remove existing attribute reference from the blueprint if the reimport of the associate mesh attribute is not tick. #jira UE-45232 Change 3452678 by Max.Chen Sequencer: Fix crash on export if there's no shot data. Change 3453057 by Matt.Kuhlenschmidt Exposed asset exporting to script Change 3453782 by Andrew.Rodham Sequencer: Fixed deterministic cooking issues with movie scene data - Movie scene signatures are now initialized in PostInitProperties - A warning is now presented when attempting to cook old data that was never serialized with a signature. - Removed redundant legacy data upgrade logic that could dirty level sequences on load. #jira UE-44912 Change 3453788 by Yannick.Lange ViewportInteraction: Custom scene proxy for gizmo handles. Change 3453938 by Max.Chen Sequencer: Hotkeys (shift , and shift .) to step to next/previous shot #jira UE-45119 Change 3454058 by Michael.Dupuis Fixed StaticAnalysis Change 3454077 by Max.Chen Sequencer: Fix not saving the pre-animated track value when creating a track/key. On pre object change, broadcast property change so that a track or key can be created. That track/key needs to be evaluated immediately so that the pre-animated state can be saved properly. This is done now with RefreshAllImmediately and is only called when a track has been created. Also, added a return value for OnKeyProperty, so that it's known what changed in particular (ie. track created, track modified, etc) Also, fixed transform keying so that if a transform track already exists for the object or the scene component, the existing track is used. #jira UE-45130 Change 3454108 by Nick.Darnell UMG - Fixing the WIC to properly record cursor delta so that scrollbars work. Change 3454109 by Jamie.Dale Cache the text layout source info in non-shipping builds so you can inspect it in the debugger Change 3454202 by Matt.Kuhlenschmidt Fix bogus error message about the number of usable texture coordinates on ES2 when compiling a UI domain material Change 3454390 by Yannick.Lange Fix creating a plugin in a C++ project opens a second instance of Visual Studio. Use SourceCodeAccessor to open solution when necessary. #jira UE-45035 Change 3454564 by Matt.Kuhlenschmidt #rnx Fix deprecation warnings Change 3455471 by Yannick.Lange ViewportInteraction: Fix entering and exiting VR Mode disables gizmo in desktop editor viewport. #jira UE-44965 Change 3456183 by Max.Chen Sequencer: Auto key, auto track refactor. Auto key - create a key when the property changes and there's an existing track. Auto track - create a track when the property changes. This is only exposed in the level sequence editor. All - create a key and a track when the property changes. This is only exposed in VR Editor. None - do nothing. #jira UE-43469 Change 3456349 by Andrew.Rodham Sequencer: Only perform legacy signature checks on instances, and only where signatures match the CDO Change 3456678 by Alexis.Matte Allow to add null level instance override material via the advance material array. But still limit the override material number to the mesh material number. #jira UE-45306 Change 3456945 by Max.Chen UMG: Add restore state to 2d transform section. #jira UE-45372 Change 3457196 by Arciel.Rekman Linux: serialize allocations from the memory pool. Change 3458434 by Max.Chen Sequencer: Remove obsolete set tick prerequites functions. Change 3458671 by James.Golding Added MIC editing support to MaterialEditingLibrary Fix static analysis warning Change 3458888 by Matt.Kuhlenschmidt PR #3615: More detailed log messages for debugging warnings/errors (Contributed by projectgheist) Change 3458893 by Matt.Kuhlenschmidt PR #3583: UE-44960: Delta value wasn't being used (Contributed by projectgheist) Change 3458895 by Matt.Kuhlenschmidt Fix typo Change 3458902 by Matt.Kuhlenschmidt PR #3607: Improved InputKeySelector functionality (Contributed by projectgheist) Change 3458917 by Matt.Kuhlenschmidt Fix crash with invalid object properties in the class picker #jira UE-39000 Change 3458939 by Matt.Kuhlenschmidt Fix compile error Change 3458984 by andrew.porter QAGame: Initial check in of sequencer smoke test map Change 3459510 by Matt.Kuhlenschmidt Fixed ensure when deleting a map that contains build data which also happens to be the currently loaded map. #jira UE-45052 Change 3460985 by Max.Chen Sequencer: Snap play time to keys now allows scrubbing between keys and snaps to key times within a certain screenspace tolerance. #jira UE-45090 Change 3461698 by Arciel.Rekman Avoid using ARRAY_COUNT in Vulkan. - Sometimes those arrays can have no extensions whatsoever, and it is illegal to declare a 0 element C array. Change 3462053 by Max.Chen Sequencer: Show sequencer spawnables in the world outliner and add the icon overlay for spawnables. #jira UE-43470 Change 3462139 by Max.Chen Property Editor: Add objects to FPropertyAndParent Change 3462202 by Arciel.Rekman Fix FSocket::Recv() blocking with Peek when there's no data. Change 3462253 by Nick.Darnell Slate - New Clipping System Clipping is now a stateful choice made during composition of the slate hierarchy. Previously every widget got to respect or modify the clipping rect on an as needed basis. The problem was that clipping was only allowed in the layout space of the widget, and it wasn't possible to properly clip elements with render transforms. The new system permits all kinds of transforms on any widget, and they will all be clipped correctly. It tries to use Scissor Rects as they are much cheaper, but will switch over to stenciling if need be to represent a complicated masking structure with several rotated clipping rects all needed to be combined together. Here are the new clipping states a widget can have, almost all widgets are set to No. Only change it from No if your widget actually needs to clip, generally speaking most widgets don't need to clip. /** * This widget does not clip children, it and all children inherit the clipping area of the last widget that clipped. */ Inherit, /** * This widget clips content the bounds of this widget. It intersects those bounds with any previous clipping area. */ ClipToBounds, /** * This widget clips to its bounds. It does NOT intersect with any existing clipping geometry, it pushes a new clipping * state. Effectively allowing it to render outside the bounds of hierarchy that does clip. * * NOTE: This will NOT allow you ignore the clipping zone that is set to [Yes - Always]. */ ClipToBoundsWithoutIntersecting UMETA(DisplayName = "Yes - Without Intersecting (Advanced)"), /** * This widget clips to its bounds. It intersects those bounds with any previous clipping area. * * NOTE: This clipping area can NOT be ignored, it will always clip children. Useful for hard barriers * in the UI where you never want animations or other effects to break this region. */ ClipToBoundsAlways UMETA(DisplayName = "Yes - Always (Advanced)"), /** * This widget clips to its bounds when it's Desired Size is larger than the allocated geometry * the widget is given. If that occurs, it behaves like [Yes]. * * NOTE: This mode was primarily added for Text, which is often placed into containers that eventually * are resized to not be able to support the length of the text. So rather than needing to tag every * container that could contain text with [Yes], which would result in almost no batching, this mode * was added to dynamically adjust the clipping if needed. The reason not every panel is set to OnDemand, * is because not every panel returns a Desired Size that matches what it plans to render at. */ OnDemand UMETA(DisplayName = "On Demand (Advanced)") - Large API Change - All FSlateDrawElement::Make_____ calls have been deprecated that involved passing in a clipping rect. You no longer should are passed a Clipping rect via OnPaint. You are still passed a rect, but this rect represents a Culling Rect, which is valuable if you need to just out right not paint things the user can't possibly see. If you were previously trying to determine if you should cull widgets, by doing something like this, if ( FSlateRect::DoRectanglesIntersect(MyClippingRect, CurWidget.Geometry.GetRenderBoundingRect()) ) That's no longer a good option since there are ways for widgets to ignore the culling bounds. You should convert anything like above to the one below, if (!SWidget::IsWidgetCulled(MyCullingRect, CurWidget)) To assist in debugging efforts, there are several new debugging console flags in Slate, Slate.ShowClipping 1 - Controls whether we should render a clipping zone outline. Yellow = Axis Scissor Rect Clipping (cheap). Red = Stencil Clipping (expensive). Slate.DebugCulling 1 - Disables pushing clipping or stencil rects to the GPU, but continues to intersect culling rects, so that you can tell if a widget is properly culling children it can't possibly draw. Slate.ShowTextDebugging 1 - Show debugging painting for text rendering. I've added a new Experimental Feathering Option, it adds AA geometry around the outside of Box and Image brushes. Slate.Feathering 1 If you're using RenderDoc or something similar, you can now enable render events for slate, so that you can better grok how we're batching and changing states for each UI render pass. Slate.EnableDrawEvents 1 #jira UE-4659 #rn Change 3462714 by Nick.Darnell Fixing a few more compiler issues with the clipping changes. Change 3462726 by Max.Chen Switch OnEditStructChildContentsChanged to use FObjectWriter instead of FMemoryWriter which supports serializeing UObjects. This fixes a crash when adding actor array elements to a user defined event struct. #jira UE-45431 Change 3462801 by Nick.Darnell Adding a UMG dependency to EngineTestBuild. Change 3462914 by Max.Chen Sequencer: Fix regression where spawnables aren't getting saved. Caused by 3407138 #jira UE-30007 #jira UE-39003 Change 3462946 by Nick.Darnell Automation - Tweaking the UI automation tests converting them over to use the new UI Screenshot automation test. Automation - Adding a blur widget test. Change 3462987 by Matt.Kuhlenschmidt Back out changelist 3458893 Change 3464774 by Matt.Kuhlenschmidt PR #3629: Bugfix: Missing small icon in Project Launcher profile editor (Contributed by aarmbruster) Change 3464785 by Nick.Darnell Fixing some clipping stuff in the editor. Change 3464830 by andrew.porter QAGame: Second pass on sequencer smoke test map Change 3464902 by Nick.Darnell Loading - Adding some additional checks to the the loading code to ensure we're on the main thread. Additionally adding a fix from UDN that prevents deadlocks in the rare case a user hits Alt+Tab in a fullscreen game while in a hard loading screen. Change 3464988 by Max.Chen Sequencer: Add attenuation settings for attached audio components. #jira UE-33080 Change 3465024 by Nick.Darnell MoviePlayer - Impoving the playback mode displaynames. Change 3465074 by Arciel.Rekman Fix shadowing issues of GraphicsPSOInit. Change 3465097 by Matt.Kuhlenschmidt Some refactoring of the details panel Exposed new methods of adding a struct on scope to a details panel and have it work properly with customizations. The scruct on scope has a "fake" ustructproperty that allows the details panel to show the whole struct not just an individual property. Refactored the API for adding rows to details panels to make it more consistent\ AddChildCustomBuilder->AddCustomBuilder AddChildGroup->AddGroup AddChildContent->AddCustomRow AddChildPropert->AddProperty AddChildStructure->AddExternalStructureProperty AddStructure->AddAllExternalStructureProperties AddExternalProperty->AddExternalObjectProperty or AddExternalStructureProperty Change 3465186 by Max.Chen Sequencer: Save the BindingID in the pre animated token producer so that it can be destroyed properly. This fixes a bug where the default state of a spawnable isn't saved. #jira UE-43780 Change 3465315 by Matt.Kuhlenschmidt Fix Fortnite and Orion details panel customization warnings Change 3465424 by Nick.Darnell Automation - Moving the step for setting the link to the automation reports to be set before we start the engine. Change 3465488 by Nick.Darnell Automation - Forcing textures to load before taking screenshot, so that the scene gets another opportunity to render before we render with Slate. This should fix the Blur UI Test. Change 3466277 by Arciel.Rekman Linux: fix window drift when dragging (UE-40380). - Change by Cengiz Terzibas. Change 3466370 by Nick.Darnell UMG - Fixing the colors for the resize handle in the designer. Change 3466372 by Nick.Darnell UMG - Fixing the ruler ticks sometimes not being drawn. Change 3466374 by Nick.Darnell UMG - Fixing the designer showing multiple options for sequencer. Change 3466377 by Nick.Darnell UMG - Cleaning up some clipping bits. Change 3467025 by Andrew.Rodham Re-saving assets that contain legacy (<4.15) movie scene data to remove deterministic cook warning. If conflicts arise during merging of these assets, please ignore the changes made in dev-editor, and accept game-side changes. (CIS step 62283298, jobId 7773146) (CIS step 62283297, jobId 7773146) Change 3467099 by Max.Chen Fix GetObjectPropertyClass ensure logic. This was returning UObject::StaticClass when valid. Change 3467172 by Max.Chen Sequencer: Evaluation optimizations. Also, fixes subsequences not getting expired, leaving dangling spawnables. #jira UE-43690 Change 3467192 by Matt.Kuhlenschmidt Fix transactions getting stuck in the color grading controls. This prevents PIE from working properly and causes shutdown crashes #jira UE-45527 Change 3467251 by Yannick.Lange ViewportInteraction: Fix scale and rotation snap while dragging with two lasers. #jira UE-43489 Change 3467331 by Matt.Kuhlenschmidt Fix D3D shader compiler hard coding shader path and not giving proper warnings when it cannot find the shaders Change 3467335 by Matt.Kuhlenschmidt Remove DarkStyle attribute from SNumericEntryBox and allow a spin box style to be passed to it. Change 3467558 by Max.Chen Scene Outliner: Generic support to add default columns to a scene outliner. Change 3467565 by Jamie.Dale Removing old screenshot data for test Change 3467589 by Nick.Darnell Editor - Random cleanup. Change 3467596 by Nick.Darnell Progress Bar - Exposing Border Padding to UMG. Change 3467600 by Nick.Darnell Slate - Adjusting the rendering of the splitter, previously it could be off by a pixel or two, which becomes more apparent now with the clipping changes. Change 3467601 by Max.Chen Property Editor: Fix static analysis warning Change 3467662 by Nick.Darnell Automation - Fixing a bug with the screenshot comparison tool not replacing (removing) the old screenshot data. Change 3467674 by Max.Chen Property Editor: Fix static analysis warning Change 3467737 by Max.Chen Sequencer: Added OnMovieSceneBindingsChanged delegate Change 3468053 by tim.gautier QAGame: Updating Editor Smoke Map - Updated landscapes into Stations for testing - Added Foliage Sublevel Change 3468194 by Arciel.Rekman Linux: fix problems communicating with various STL-using libs. - Stop hiding global new/delete signatures. - Disable CEF3 since this change uncovers the problem with libcef.so not built to use bundled libpng. Change 3468678 by Max.Chen Sequencer: Set "Sequencer Actor" tag before setting the actor label so that the outliner refreshes after the actor has the tag. Change 3469314 by tim.gautier QAGame: Added Painted Foliage / Spline section to EditorSmoke map Change 3469377 by Nick.Darnell Slate - Fixing some warnings in a couple of sample games due to the clipping changes. #rnx Change 3469767 by Max.Chen Sequencer: Outliner column and sequencer binding data #jira UE-43470 Change 3469974 by Arciel.Rekman Fix code projects not working in Linux installed build. Change 3470082 by Nick.Darnell Slate - The GetRenderer() call on SlateApplication no longer returns a SharedPtr, rather than convert it to a thread safe ptr, going to just make accessing it a raw ptr return, so it can be safely referenced on the game thread while being used on the slate loading thread. Change 3470174 by Nick.Darnell Slate - Get the last widget in a widget path utility. Change 3470176 by Nick.Darnell UMG - User Widgets now have an easy way to know if they're part of or have been removed from the focused widget path, which is handy for doing effects. Change 3470261 by Nick.Darnell Slate - The GetRenderer() call on SlateApplication no longer returns a SharedPtr, rather than convert it to a thread safe ptr, going to just make accessing it a raw ptr return, so it can be safely referenced on the game thread while being used on the slate loading thread. Change 3470286 by Max.Chen Sequencer: Scene Component's HiddenInGame now goes through the VisibilityTrack and the visibility template. Change 3470366 by Nick.Darnell Slate - We now version focus per user, that way during focus events, we can safely abort focus events and state transitions if someone interrrupts the active focus event with something new. Change 3470649 by Matt.Kuhlenschmidt Fix deprecation warnings Change 3470695 by Matt.Kuhlenschmidt Fixed typo #jira UE-45580 Change 3470721 by Matt.Kuhlenschmidt Fix static analysis Change 3471254 by Michael.Dupuis #jira UE-42952: Keep occlusion result per view Change 3471287 by Nick.Darnell UMG - Render Focus Rule now defaults to never. Change 3471291 by Nick.Darnell Slate - Fixing FSlateRenderer* change fallout. Change 3471299 by Nick.Darnell Slate - Fixing FSlateRenderer* change. Change 3471323 by Nick.Darnell Automation - Fixing automation and Static Analysis warning. Change 3471413 by andrew.porter QAGame: Added test content for anim blending and material parameteres to sequencer smoke level Change 3471649 by Max.Chen Sequencer: Modify the track when adding animation #jira UE-45618 Change 3471659 by Matt.Kuhlenschmidt Added a way to check if a movie is playing from the engine. Prevented viewport redraws for canvas loading screens if a slate based loading movie is playing Change 3471734 by Matt.Kuhlenschmidt Added basic material hookup to USD. Similar to FBX it will find materials based on rules specified by the user in the import settings Change 3472176 by Nick.Darnell UMG - Improving the display of the +Track menu in sequencer for UMG. Renamed it from +Add, which is repetitve to +Track. Additionally, the dropdown now shows the currently selected widgets, as well as a submenu containing all the 'important' widgets, so we no longer populate that list with a ton of irrelevant widgets that are just Buton_1 - N, which is pointless in showing people, they'll never guess which is the right button. Change 3472740 by Max.Chen Sequencer: Add GetThisFrameMetaData accessor Change 3472748 by Max.Chen Sequencer: Added OnBeginScrubbing and OnEndScrubbing event delegates Change 3472753 by Max.Chen Sequencer: Add EMovieSceneDataChangeType parameter to OnMovieSceneDataChanged delegate Change 3472870 by Nick.Darnell Clipping - Fixing the deprecated tip for scissor rect boxes to be correct. Removing it's usage from UT. Change 3473340 by Max.Chen Scene Outliner: Add ability to register additional filters Change 3473348 by Max.Chen Details View: Make ForceRefresh virtual. Added accessors to delegates (ie. GetIsPropertyReadOnlyDelegate) Change 3473441 by Max.Chen Sequencer: Autokey Refactor Part 2. Autokey is now a single toggleable state. Allow Edits Mode has 3 states: Allow All Edits - Allow any edits to occur, some of which may produce tracks/keys or modify default properties. Allow Sequencer Edits Only - All edits will produce either a track or a key. Allow Level Edits Only - Properties in the details panel will be disabled if they have a track. #jira UE-45229 Change 3473670 by Nick.Darnell Modules - The module manager no longer returns sharedptrs to IModuleInterfaces, this was the source of rare hard to track down crashes due to a shared ptr reference leak when GetModule was called on non-main threads. We now store a TUniquePtr internally, and only lease out raw pointers. #rn Change 3473711 by Nick.Darnell Disabling the ensure in the module manager. Change 3473747 by Max.Chen Sequencer: Fix tooltip Change 3474091 by Jamie.Dale Added a warning when cooking a UFontFace that is outered to a UFont asset These cause issues with iterative COTF, and should be split off into their own assets (as the UI has been asking people to do for several versions) Change 3475052 by Yannick.Lange VR Editor: Fix Crash when quitting the editor with VR Mode enabled. VR Editor was being enabled when saving the map on closing the editor. #jira UE-45415 Change 3475054 by Yannick.Lange Fix crash when adding a camera to the world in VR Mode the second time. The slate application did not reset when stop dragging in VR Mode, so the second time when starting to drag a camera out of the UI it would already by in a dragging state. #jira UE-45574 Change 3475263 by Nick.Darnell Fixing some additional cases of IModuleInteface SharedPtr usage. Change 3475268 by Max.Chen Sequencer: Set jumped state when looping playback. This fixes an issue where audio doesn't stop and restart when looped. #jira UE-45654 Change 3475269 by Max.Chen Scene Outliner: Additional filters should only apply to actor browsing mode Change 3475407 by Nick.Darnell Fixing some clipping / module shared ptr changes in the launcher code. Change 3475542 by Max.Chen Sequencer: Update thumbnail and section highlighting to use new clipping behavior. #jira UE-45692 #jira UE-45689 Change 3475743 by Michael.Dupuis #jira UE-45183: When updating phyx region take into account simple collision mip Change 3475949 by Arciel.Rekman Remove PhysX deoptimization (no longer needed). - OR-24947 has been closed three months ago. Change 3476022 by Michael.Dupuis #jira UE-45560: Make sure we're not going out of range Change 3476063 by Michael.Dupuis #jira UE-45562: Do not try to unregister from static mesh if no static mesh is specified for the component Change 3476168 by Michael.Trepka Added handling of directory symlinks to FApplePlatformFile::IterateDirectory #jira UE-43704 Change 3476172 by Nick.Darnell Fixing a Imoduleinterface change. Change 3476183 by Jamie.Dale Exposing GoTo/ScrollTo to single-line editable text for API parity with multi-line editable text Change 3476385 by Arciel.Rekman Linux: handle symlinks when iterating directories. Change 3476522 by Michael.Trepka Solved a problem with Mac FMallocTBB::Malloc() returning nullptr for 0 bytes allocations, which is inconsistent with other platforms. On Mac we always scalable_aligned_malloc, which behaves differently than scalable_malloc, so for 0 bytes requests we allocate sizeof(size_t), which is exactly what scalable_malloc does internally in such case. Change 3476806 by Nick.Darnell UMG - Focus the designer after dropping a widget onto the surface. Change 3476809 by Nick.Darnell Curve Editor - Enable Clipping on the curve editor. Change 3477475 by Nick.Darnell Fixing a module interface shared ptr usage in UT. Change 3477553 by Yannick.Lange VR Editor: Removed AssetEditorPanelID and replaced it with TabManagerPanelID. A panel for AssetEditorPanelID was never created making it impossible to open an asset editor. Change 3477734 by Yannick.Lange VR Editor: Fix Warning: SetRelativeScale3D : Invalid Scale entered (X=inf Y=inf Z=inf). Resetting to 1.f. warning when adding CineCameraActor to World from Modes Panel. Make sure to not divide by zero when there is no boundary scale. #jira UE-44933 Change 3477761 by Jamie.Dale Some improvements to avoid loading the native .locres files twice when we don't need to Change 3477780 by Nick.Darnell PR #3250: Return correct VirtualUserIndex (Contributed by projectgheist) Change 3477786 by Nick.Darnell PR #3650: Changed TestNull to accept const pointers. (Contributed by e-agaubatz) Change 3477795 by Nick.Darnell PR #2844: UE-36936: Don't stretch container for Plugin Image (Contributed by projectgheist) Change 3478092 by Nick.Darnell PR #2341: Optional Middle Mouse Button panning in Graph Editor (Contributed by flipswitchingmonkey) Engine Edit - Made some small changes to the enum type, and some naming. Change 3478450 by Nick.Darnell Fixing some uninitialized variable errors. Change 3479827 by Andrew.Rodham Sequencer: Addressed serialization issues with some struct types Change 3479874 by Jamie.Dale Fixed "NativeGameLanguage" not being used correctly during localization initialization Change 3480012 by Andrew.Rodham Sequencer: Fixed loading tagged properties as native for track identifiers #jira UE-45823 Change 3480337 by Alexis.Matte Fix morph target crash missing some valid index check Change 3480804 by Alexis.Matte Fix crash with ColorGradingMode custom detail #jira UE-45638 Change 3480892 by Andrew.Rodham Sequencer: Ensure that movie scene sequences know about the editor object version #jira UE-45842 Change 3481073 by Nick.Darnell Fix the shader compiler error from main in Slate. Change 3481303 by Nick.Darnell UMG - Fixing a bug with the drag handle not working correctly in HDPI mode. Change 3481308 by Nick.Darnell Slate - Tweaking the IsWidgetCulled logic to consider both the layout and rendering bounds. If we do this, we get a much more desireable outcome for people that want to animate widgets and such and plan to have temporary animations to move the widget offscreen, but want the layout bounds to anchor that widget in the visible frame so that it animates even when normally it would be culled b/c the render transform and therefore the renderbounds moved it completely outside the culling rect. Change 3481629 by Max.Chen Sequencer: Add Level Sequence Actor as an output for CreateLevelSequencePlayer() #jira UE-45785 Change 3481899 by Yannick.Lange VR Editor: Added debug modetoggle command with an event that is broadcasted whenever this happens. Currently this is used to show all the floating UIs of the UI system to debug without HMD using VREd.ForceVRMode. Change 3481984 by Michael.Dupuis #jira UE-45845: always validate if we have a static mesh before trying to access it as user can decide to not assign one and use the tools Change 3482047 by Nick.Darnell Slate - Adding some comments to IsWidgetCulled. Change 3482110 by Nick.Darnell Slate - IsWidgetCulled is no longer static and is now called IsChildWidgetCulled. Change 3482136 by Jamie.Dale The CamelCase break iterator now treats digits around character tokens as part of the identifier Change 3482138 by Michael.Dupuis #jira UE-45854: Properly unregister during undo operation Change 3482150 by Michael.Dupuis #jira UE-45845 : Add missing nullcheck for GetStaticMesh Change 3482153 by Nick.Darnell Slate - IsWidgetCulled is no longer static and is now called IsChildWidgetCulled. Change 3482180 by Nick.Darnell UMG - Widget Components do not need to define a widget class to be rendererd, they can have native slate widgets only. This was a regression from main. Change 3482273 by Nick.Darnell UMG - Tweaking some more things about the widget component box outline. Change 3482308 by Alexis.Matte Fixing morph target smooth group support. Do not call FillSkeletalMeshImportData more then once on FbxNode since this fonction is doing some conversion and change the FbxNode, applying those conversion twice do not return the same faces smooth group. #jira UE-45696 Change 3482327 by Nick.Darnell UMG - More tweaks to the WidgetComponent so both shows the box outline, but works in game and VR editor. Change 3482705 by Andrew.Rodham Resaving assets that contain legacy data to suppress CIS warnings. - If conflicts arise in these assets, please take game-side changes and ignore these. Change 3484245 by Max.Chen Sequencer: Evaluate on end scrub. This fixes a bug where audio doesn't evaluate in a stopped position at the end of scrubbing, causing it to not stop all sounds. This fixes a bug introduced from 3365018 where evaluate on end scrub was removed. #jira UE-45905 Change 3484263 by Max.Chen Sequencer: Fix crash on forcing refresh of details panel on release. #jira UE-45911 Change 3484431 by Andrew.Rodham Resaving assets that contain legacy data to suppress CIS warnings. - If conflicts arise in these assets, please take game-side changes and ignore these. Change 3484474 by Alexis.Matte Fix the morph target animation curve name matching. #jira UE-20294 Change 3484475 by Alexis.Matte When removing a LOD, make sure we remove all morph target data associate to the LOD. Change 3484489 by Nick.Darnell PR #3668: UE-45908: Cache debug line locations when performing a LineTraceMulti (Contributed by projectgheist) #jira UE-45908 Change 3484692 by Nick.Darnell Slate - Reverting a change from a game stream. All Arranged Children don't need to allocated 42 to begin with. Do need to initialize WidgetPaths better. Change 3484703 by Nick.Darnell Player Input - Making the input event loop for players obey EKeys::NUM_TOUCH_KEYS, rather than being set to Touch10, as the maximum touch input amount, to make supporting greater than 10 touches easier. Also making the seeding of keys use EKeys::NUM_TOUCH_KEYS. #jira UE-43213 Change 3484918 by Jamie.Dale Fixed font measuring regression with RTL text RTL applies the character count to the next glyph, so it shouldn't process the end of the loop (this was how the older code used to work). Change 3485718 by Nick.Darnell Editor - Removing Super Search & User Feedback button. Change 3485719 by Nick.Darnell Portal - Removing SuperSearch. Change 3485751 by Matt.Kuhlenschmidt Fix crash accessing platformer game menu if the menu is open during a console based load #jira UE-45950 Change 3486047 by Arciel.Rekman Linux: add OpenEXR implementation (UE-40270). #jira UE-40270 Change 3486467 by Max.Chen Sequencer: Reset max tick rate when destroyed. #jira UE-45956 Change 3486477 by Max.Chen Sequencer: Refresh outliner when column is removed. #jira UE-45891 Change 3486667 by Andrew.Rodham Added missing include Change 3486724 by Andrew.Rodham Sequencer: Fixed curves with no default value, and no keys being evaluated and applied to properties - Also fixed an edge case where a zero (but non-animated) channel could be applied to a final transform Change 3486730 by Alexis.Matte In the Auto-Reimport options, hide the mout point only for the default /Game/ folder #UE-45684 Change 3486749 by Alexis.Matte Make sure the parent window of the monitor directory browse folder is set properly #jira UE-45682 Change 3486805 by Matt.Kuhlenschmidt Additional safety against invalid objects being accessed by slate Change 3486848 by Alexis.Matte Make sure Monitor folder feature support root mount point map folder During auto import, give priority to asset import factory over the scene import factory #jira UE-45691 Change 3486879 by Andrew.Rodham Removing obsolete QA assets Change 3486950 by Nick.Darnell PR #2281: Scrollbar missing features and SScrollbar fixes (Contributed by SNikon) Review - made some adjustments from the original. Change 3486954 by Nick.Darnell Slate - Moving the STableViewBase over to the FOverscroll class, rather than it's own clone. Change 3486967 by Nick.Darnell Slate - Fixing some HDPI calculations for fitting new windows on screen, it was using the unscaled size of the widgets for fitting, when it needed to scale them up. Change 3486970 by Andrew.Rodham Sequencer: Delay mouse capture until drag for sequencer time slider - Fixes context menus not opening as a result of mouse capture being taken on mouse down #jira UE-45937 Change 3486984 by Andrew.Rodham Sequencer: Improved blending type iconography Change 3486996 by Nick.Darnell UMG - Adding a way for games to opt-out of the slow widget path, to completely prevent them from being cooked. UMG - The movie data is no longer cloned for each new instance that inhabits. It now keeps a reference to the now publically accessible movie scene data on the class instead. Change 3487070 by Andrew.Rodham Sequencer: Added graphics for key areas that represent empty space Change 3487195 by Andrew.Rodham Sequencer: Changed evaluation groups to always flush implicitly - Due to the latent nature of blended token types, it's no longer safe to rely solely on execution token order between tracks - This fixes an issue where events set in the PostEvaluation stage were executed before blended token actuation Change 3487322 by Nick.Darnell PR #2457: Add .gitdeps.xml-files for plugins support (Contributed by bozaro) Change 3487363 by Nick.Darnell PR #2481: Fix for packing of a project with users plugins (Contributed by yatagarasu25) Change 3487439 by Nick.Darnell PR #2642: Changed private to protected in SVirtualJoystick.h (Contributed by Skylonxe) Change 3487500 by Arciel.Rekman Removed LinuxNativeDialogs. - No longer used; has been superceded by SlateDialogs since UE 4.8 (2 years ago). Change 3487630 by Lauren.Ridge Don't create Landscape Info Maps for Editor Preview Worlds or thumbnail worlds #jira UE-44885 Change 3487864 by Matt.Kuhlenschmidt Exposed the asset registry to blueprints and script. Works in editor scripts and runtime scripts AssetRegistry is now a UInterface object. Blueprint users can access various asset registry methods using the asset registry interface (via GetAssetRegistry) and various static helpers in the AssetRegistryHelpers object C++ users should still continue to use IAssetRegistry. Change 3487879 by Matt.Kuhlenschmidt Renamed asset tools uobject helper to UAssetToolsHelpers Change 3487926 by Lauren.Ridge Fixing reset to default not showing up for custom widgets #jira UE-44164 Change 3488184 by Matt.Kuhlenschmidt PR #3656: Make References/Referencers List copyable (Contributed by user37337) #jira UE-45763 Change 3488240 by Matt.Kuhlenschmidt Fix compiler issue Change 3488350 by Lauren.Ridge Landscape info map transactional state is based on its world's transactional state #jira UE-44885 #jira UE-46019 Change 3488412 by Matt.Kuhlenschmidt Fix reset to default showing up in two different places for some customizations Change 3488413 by Matt.Kuhlenschmidt Fix slate font customization Change 3488414 by Matt.Kuhlenschmidt Fix slate font customization Change 3488415 by Matt.Kuhlenschmidt Missed file Change 3488565 by Arciel.Rekman Add pretty printers for gdb (UETOOL-1171). - Committing shelf by Cengiz.Terzibas, with some modifications. #jira UETOOL-1171 Change 3489094 by Nick.Darnell Slate - The Slate RHI Renderer now caches the TextureLODGroups so that it can properly lookup the filtering of different texture groups that are set to Default, instead of a particular filter override on a texture. Engine/Rendering - Simplifying some of the setup logic in TextureLODSettings so that code is shared for setting them up properly after loading from a config file. Change 3489095 by Nick.Darnell PR #2699: GameViewportClient - Added a method to allow setting the viewport cur. (Contributed by rfenner) Review - Fixed spacing. Change 3489108 by Matt.Kuhlenschmidt Fix deprecation warning Change 3489120 by Nick.Darnell PR #3478: Fix possible UComboBoxString crash (Contributed by nakosung) Change 3489147 by Andrew.Rodham Sequencer: Adding return value to function to appease static analysis - This function is never compiled, and if it is, it won't compile, but static analysis doesn't know that Change 3489264 by Nick.Darnell Testing - Finishing the thought behind an enum comment. Change 3489265 by Nick.Darnell PR #2750: UE-35164: Button padding (Contributed by projectgheist) Change 3489267 by Nick.Darnell PR #3645: UE-45464: Handle SSlider mouse interaction more accurately (Contributed by projectgheist) Change 3489632 by Arciel.Rekman Correctness changes to MallocPoisonProxy. - Missing forwarding functions added. Incorrect comment removed. - Change by Steve.Robb, doing here so it is in 4.17. Change 3489689 by Arciel.Rekman More MallocPoisonProxy changes I missed in previous CL. Change 3489751 by Matt.Kuhlenschmidt Moved editor performance settings out of per-project settings so they can be shared across projects Change 3489837 by Lauren.Ridge Keyboard shortcut for entering/leaving VR Mode is now Alt+V Change 3491082 by Arciel.Rekman Linux: better fix for the crash due to name collision (UE-46040). - Put classes in Sequencer module into Sequencer namespace instead of SceneOutliner namespace. - Undid change in the SceneOutliner module. #jira UE-46040 Change 3491096 by Arciel.Rekman Fix UAT compilation on the newest mono. Change 3491240 by Max.Chen Sequencer: Disable key button when allow level edits only is on. #jira UE-46060 Change 3491406 by Yannick.Lange Fix editor crashes when opening a project that includes a plugin with more than two custom Volume classes. This issue was caused because registering show volume commands is based on finding volume classes. Finding these classes at multiple times resulted in a mismatch of the returned array of volume classes because modules/plugins were still being loaded. #jira UE-45806 Change 3491559 by Alexis.Matte Make sure we use the good preview mesh when doing a preview #jira UE-45963 Change 3491563 by Alexis.Matte Fix crash with staticmesh editor LodLevel selection Change 3491564 by Nick.Darnell UMG - Fixing an offset with the grab handles in HDPI mode. Change 3491595 by Nick.Darnell Editor - Fixing a clipping artifact in the pin type dropdown in the blueprint editor. Change 3491604 by Nick.Darnell Back out changelist 3489265 Change 3491615 by Arciel.Rekman Added malloc replay proxy (Linux only for now). - Allows to dump malloc callstream (without regard to threads) and replay later to study the behavior of different mallocs and/or repro problems. Change 3491684 by Arciel.Rekman Added FMalloc functions I missed. - Also moved function bodies into the .cpp file, this does not make a difference in performance in this case. Change 3491692 by Matt.Kuhlenschmidt Some minor fixes to the static mesh editor - Fix UV combo button looking non-standard on the toolbar - Fix a few combo buttons in the details panel looking too big. Change 3491702 by Arciel.Rekman Do not compile replay proxy-specific code when not used. Change 3491717 by Michael.Dupuis #jira UE-35083: The component is now the owner of the PerInstanceRenderData instead of the proxy Add an Update path to only update specified instances range Always call BuildTreeIfOutdated so we have a standard code path to make sure static mesh are fully loaded before trying to build the tree Moved the Instance Buffer aysnc to the base class, as it's not related to UHierarchicalInstancedStaticMeshComponent Expose a new property to decide if we require dynamic instance buffer Change 3491758 by Matt.Kuhlenschmidt Fix crash on static mesh editor shutdown Change 3491873 by Cody.Albert Fixed clipping issue in Sequencer curve editor #rnx Change 3491956 by Matt.Kuhlenschmidt Fix crash opening the Previewing sub-menu in the level editor settings menu #jira UE-46095 Change 3492046 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3492076 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3492165 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3492222 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3492274 by Michael.Dupuis #jira UE-46105: Fixed Clang warning Change 3492338 by andrew.porter QAGame: Testing ensure when submitting Change 3492371 by Nick.Darnell UMG - Reverting the animation sharing, cossed GLEO regressions in cooking. Will look for a better solution. Change 3492462 by Matt.Kuhlenschmidt Fix ensure checking in files through perforce Change 3492491 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3492505 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3492517 by Jamie.Dale The package localization ID is no longer used at all at runtime, and is now truly editor-only This should have always been the case, but it was leaked into manifest/archives/PO files in 4.14, and while 4.15 removed it from PO files it was still present in the manifest/archives. This change removes it entirely (unless gathering editor-only data, and even then the PO file will still collapse the entries together for translation), and the deprecated 4.14 export behavior will now produce an error if you attempt to use it. After taking this change you'll need to run a gather, import, and compile of your LocRes files to update your game localization to use the new localization IDs. Change 3492630 by Nick.Darnell UMG - Removing some extra cleanup code that's probably overkill and is causing a crash for uses of "Within" in class meta. #jira UE-46124 Change 3492692 by Matt.Kuhlenschmidt Fix drop shadows inheriting the outline color of the font. The outline should still appear but not have a different outline color from fill color Change 3492714 by Matt.Kuhlenschmidt Added outline with drop shadow to font automation test Change 3492737 by Matt.Kuhlenschmidt Fix linux Change 3492992 by tim.gautier Resaving Ocean Widget Blueprints / Sequences to resolve Legacy Sequence Data warnings #jira UE-46132 Change 3493089 by Jamie.Dale Ensure that the composite font of a font asset is flushed when the font object is GC'd Change 3493322 by Jamie.Dale Fixing null crash #jira UE-45758 Change 3494467 by Andrew.Rodham Fix Xbox warning Change 3494852 by tim.gautier QAGame: Changed streaming method of QA-EditorSmoke-Landscape to Always Loaded Change 3494853 by Nick.Darnell Another attempt at fixing the automation blueprint SA warning. Change 3494896 by Arciel.Rekman Fix possible null pointer access during Vulkan init. - May fix static analysis warnings in UE-46142, although warnings seem to be referring to something else. #jira UE-46142 Change 3494987 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3495010 by Matt.Kuhlenschmidt Adding additional logging to track down html5 issue Change 3495212 by Michael.Dupuis #jira UE-46143: Properly init the InstanceRenderData during the cooking phase (required by fortnite) Change 3495536 by Jamie.Dale Updating UGameEngine to call its Super::PreExit after performing its own teardown This prevents UEngine cleaning up resources that UGameEngine still needs. #jira UE-46159 Change 3495551 by Arciel.Rekman Another attempt to fix analyzer problem (UE-46142). Change 3495794 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3495905 by Matt.Kuhlenschmidt Fix USD crash when importing a meshwith no material [CL 3499771 by Matt Kuhlenschmidt in Main branch]
2017-06-19 20:27:30 -04:00
static float MouseTolerance = 20.f;
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3946692) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3801826 by Max.Chen PR #4304: Level Sequence crash fix - Guarded against dereferencing null componen. (Contributed by DSDambuster) Change 3801828 by Max.Chen PR #4302: Movie Scene Visibility Template unitialised variable, causing random . (Contributed by DSDambuster) Change 3801837 by Max.Chen Sequencer: Delay spawning/construction for convert to possessable. This fixes a bug where property values would be lost when converting back and forth from possessable to spawnable. #jira UE-52400 Change 3801841 by Max.Chen Sequencer: Make spacer nodes not selectable. PR #4194: Improvements to Sequencer (Contributed by projectgheist) #jira UE-53117 #jira UE-52139 Change 3804183 by Max.Preussner MediaAssets: Added missing lock in media sound component Change 3805414 by Max.Preussner MediaAssets: Setting valid GUID when initializing media texture resource Change 3819578 by Max.Chen PR #4370: When enabling the "MovieCapture", do not turn off the Stereo-3D display. (Contributed by yehaike) #jira UE-53647 Change 3823414 by Max.Chen Curve Editor: Lock down the first and last keys in the redundant keys removal range so that they're unaffected. #jira UE-53591 Change 3826406 by Max.Chen Sequencer: Move OnStartedPlaying() to within first update in UpdateTimeCursorPosition(). This fixes an issue where setting the hud/player visibility was getting stomped on later. #jira UE-52772 Change 3827044 by Max.Preussner MediaAssets: Added sprite visualization to media sound component #jira UE-53594 Change 3827988 by Max.Preussner MediaPlayerAssets: Fixed Media Texture is not linked to Media Player when created together #jira UE-53532 Change 3828506 by Max.Preussner MediaPlayerEditor: Added attenuation visualizer for media sound components #jira UE-53594 Change 3832590 by andrew.porter EngineTest: Added a keep state check in Property Animation sequencer test Change 3833053 by andrew.porter EngineTest: Adding Hierarchical Bias test Change 3835683 by andrew.porter EngineTest: Adding UMG Animation screenshot test Change 3836076 by Max.Chen Sequencer: Fix audio volume and pitch multiplier deprecation. Change 3836230 by andrew.porter EngineTest: Adding Sequence Bone Position automation test Change 3836347 by Max.Chen Sequencer: Fixes to shot name parsing. When a shot doesn't contain a shot number, assume, [ShotName]_[TakeNumber]. When duplicating a shot, put the new shot in the same path of the original shot, so that the take numbers will increment properly. #jira UE-51868 Change 3836552 by Max.Chen Sequencer: Sub section now has a takes menu Change 3838094 by Max.Chen UMG: Fix template finish not getting called on stop. This fixes a bug where sections aren't restored when finished. #jira UE-52285 Change 3838708 by Max.Chen Sequencer: Add notification when the blend type is changed. #jira UE-54046 Change 3840295 by Max.Chen Sequencer: Fix copy/paste crash for lights #jira UE-54084 Change 3840957 by Mike.Zyracki Added Show Only Keyable and Show Only Animated to the filter list in the property editor. Added IsPropertyAnimated to IDetailKeyframe Interface which already had support for showing properties which are keyable (which is used for the key icon next to the properties.). Could have created another interface but then would have had to mimic the sequencer binding, releasing also, so this seemed best way. One issue still left is that custom built detail items currently don't store associated properties(usually) and so certain properties, in particulalry transforms, won't show up as keyable or animated. Note this also shows up with the keyable icon not showing up next to transform tracks, and other filters like Show Only Modified not working with transforms/customs. Not sure best way to tackle this. #jira UESEQ-328 Change 3841756 by Max.Chen Sequencer: Fix unbound possessable components when pasting spawnables. #jira UE-54104 Change 3843950 by andrew.porter EngineTest: Renaming LevelStreaming tests/content to LevelVisibility Change 3844082 by Mike.Zyracki Missing file for animated filter in property editor. When finding if a track is animated we need to find it but we can't easily induce the MovieTrack class for any particular property. So we don't set a class for it and just search by it's ID and name. #jira UESEQ-328 Change 3846902 by Max.Preussner ImgMedia: Fixed image media player never finished initialization if loading failed #jira UE-54247 Change 3849820 by Mike.Zyracki Reassigning deleted widgets didn't work since the menu extender mechanism needs a valid UObject in order to perform an operation on it. So to fix we replaced GetObjectBindingContextMenuExtender in WidgetBlueprint with new delegate mechanism (OnBuildCustomContextMenuForGuid) that supports FGuid in addition to UObjects which is needed to handle re-binding deleted widgets. Note that the default sequencer hacks this for replacing deleted actors in SequencerObjectBindingNode to check to see if a LevelSequence is active. We could move to this mechanism there also. #jira UE-53163 Change 3852211 by Max.Chen UMG: Indicate name of the property that is not bound. #jira UE-54350 Change 3854120 by Max.Chen Sequencer: Fix sibling folders being allowed to have the same folder name. #jira UE-54363 Change 3854627 by Max.Chen Sequencer: Step to next/previous key should work for all tracks if there aren't any selected. #jira UESEQ-391 Change 3855825 by andrew.porter EngineTest: Adding animation blending automation test Change 3855950 by andrew.porter EngineTest: Adding correct expected valuues to animation blending test Change 3856237 by Matt.Hoffman UESEQ-336 - Sequencer Track Reordering Adds the ability to re-order Master Tracks, Folders and Object Bindings within sequencer hierarchies (including UMG). Adds the ability to do a one-off sorting of the content under the old sorting behavior if the user wants to reset their layout to how it was under legacy behavior. Modifies SequencerTrackNodes, SequencerFolderNodes and SequencerObjectBindingNodes to handle CanDrop/OnDrop for above, below and ontop of. Fixes a Slate Issue that forcibly expanded a TreeviewRow if an item handled OnDrop. Slate will now only forcibly expand the row if the item says the drop happened ontop of the item, and not above or below it like it previously did. Change 3856503 by andrew.porter EngineTest: Adding automation test for using animation blueprint with blend multi node in sequencer Change 3857875 by Max.Chen Sequencer: Assign the sequence id after the template is compiled. #jira UE-54462 Change 3858344 by Max.Chen Sequencer: Prevent Goto and Transform boxes from overlapping by allowing them to be visible at the same time in an autosized horizontal box. Also, added close button to the goto box. PR #4425: Prevent Goto and Transform boxes from overlapping in Sequencer ... (Contributed by projectgheist) #jira UE-54210 Change 3860566 by andrew.porter MediaFrameworkTest: Set the option to index 0 for the audio and video track list by default Change 3860654 by andrew.porter EngineTest: Enabling Camera Cut + FOV test Change 3860981 by andrew.porter EngineTest: Updating skeletal mesh tests with a delay after set playback position Change 3861256 by Max.Chen Sequencer: Add all bindings if none selected. #jira-54440 Change 3862154 by Andrew.Rodham Added TimeManagement module Change 3862424 by andrew.porter EngineTest: Turned on the test Bone Positions with Blend Multi Node Change 3862573 by andrew.porter EngineTest: Adding test to compare bone positions in a sequence that is blending an animation that is using an AnimBP Change 3865117 by Max.Chen Sequencer: Stop auto scroll on mouse release of movement. #jira UE-31212 Change 3865303 by Max.Chen Sequencer: Add drag and drop transactions #jira UE-54662 Change 3865304 by Max.Chen Sequencer: Fix crash when an actor factory is not found. Change 3865361 by Max.Chen Sequencer: Don't change the camera/shot lock button when popping out of a sequence. #jira UE-54665 Change 3865412 by Max.Chen Sequencer: Determine whether a transform track is for a camera by using the spawned object or template #jira UE-54666 Change 3865685 by Max.Chen Sequencer: Clear autoscrub offset when stopping autoscroll #jira UE-31212 Change 3865886 by Max.Chen Sequence Recorder: Log an error if the number of frames changes while recording. This can happen if the skeleton changes while recording. #jira UE-48715 Change 3866925 by Andrew.Porter MediaFrameworkTest: Changing the current PNG test video image sequence to 1024 x 576 Change 3867705 by andrew.porter QAGame: Adding Audio Sort Sequence to dev folder Change 3867890 by andrew.porter QAGame: Adding a sequence for testing a sorting crash to my dev folder Change 3872628 by Max.Chen Movie Scene Capture: Split delay before warmup into split delay before shot warmup so that there's separate controls for when the movie scene capture warmups up vs. shot boundaries. Change 3873131 by Matt.Hoffman UE-54732 - Crash reordering a folder with a track. This was caused by folders being the only type of track to check if someone was putting a parent track into a child track. Object Binding tracks and Tracks now check as well so that you can't use the above/below drop targets to add parents as children. This also fixed a typo in the localization keys. #jira UE-54732 Change 3873301 by Mike.Zyracki Added ability to support continous euler angle changes when changing rotations, in particularly with the rotation gizmo's. To do this we effectively added a form an of 'euler filter'(https://en.wikipedia.org/wiki/Euler_filter) to find the closest euler angle to the current euler angle. Three functions were added to FRotator to make this possible, one to get the euler angle that's has the same rotation as it, one to get the difference between two euler angles via Manhattan distance and a third using the previous two to choose a Rotator value that's closest to it. We then use these functions before calling UComponent::SetRelativeRotation to make sure we use the correct Euler after the Quat conversion. We also no longer limit(bound) the euler angles to -180,180, which is obviously necessary to avoid flips. I also changed how we caluclate yaw and roll when pitch is -90 or 90 to make it the standard approach of zeroing out roll and just setting yaw. Main reasons are the previous implementation had precision issues so things like 180, 90, -180 would show up due to numbers being nearly zero but negative,(this would break any smooth interpolations), and this facilitates having a 'gimbal' rotation mode (like Maya, Blender etc..) if we ever want that also. If needed we could keep the previous implementation but would need to add some FMath::IsNearlyZero checks, with less performance. Note we only do this special filtering when applying delta's to actors or components in the editors, which then call UComponent::SetRelativeRotationExact, which is a new function to foces the RelativeRotation to be equal to the new rotation. This allows us to store un-nomalized Rotators at the cost that the RotationCache may be broken. We didn't change any of the other UComponent functions that set rotations (via Quats or Transforms) so they will still be bounded and unwound. In SetInternalWorldLocationAndRotation we only set the rotation if the rotation has changed, which fixes the rotation getting changed and re-normalized if just translate happens. In TransformTrackEditor, we correclty use the bUndwing flag and in MovieScene3DTransformSection there was an un-needed winding check there, it will be unwound earlier if needed, which happens if Sequence Recording is happening. Max we should talk about what to do about this . Note the euler angle drag via the widget is still bound to 0-360. I think we should just unbound that now since the rotations value are now unbound. This review now includes fixes suggested by Zak. #jira UE-UE-22228 Change 3873483 by Matt.Hoffman Sequencer Tracks can now be inserted above the spacer at the bottom of the tree. #jira UE-54706 Change 3873899 by Max.Chen Sequencer: Add section selection throbbing Change 3873908 by Max.Chen Movie Scene Capture: Added logging per frame Change 3873924 by Matt.Hoffman Adds the ability to store Sequence Recorder setups into profiles that stay with the map and can be re-loaded later. Profiles store the Actor Recordings so the settings for each actor should carry with them. #jira UESEQ-339 Change 3874726 by Matt.Hoffman Disable drag-and-drop targets on spacers that come between rows in Sequencer. This prevents extra drag/drop targets showing up between each row. #jira UE-54706 Change 3874862 by Matt.Hoffman Audio Track no longer gets reordered when adding sub-audio tracks, as sub-tracks are no longer counted towards the sorting order index when normalizing indexes. #jira UE-54727 Change 3875905 by Matt.Hoffman Disable Fade Track UI if a fade track already exists in the sequence. #jira UESEQ-393 Change 3876163 by Max.Chen Sequencer: Swap the camera object to the camera component's owner if it's not the same. #jira UE-54874 Change 3876971 by Andrew.Porter EngineTest: Moved Media Player Seek test to new folder. Also enabled the test with new ground truth image. Change 3877040 by Max.Chen Cine Camera: Split camera properties to two groups, "Camera Options" and "Camera Settings". The cine camera now hides properties in the "Camera Settings" group so that properties like bConstrainAspectRatio (in the "Camera Options" group) can be visible. #jira UE-54192 Change 3877763 by Max.Chen Curve Editor: Fix curve changed on end drag so that only curves that had keys/tangents that were changed receive notification, otherwise all loaded curves were getting notified that they were changed. #jira UE-54951 Change 3878234 by Matt.Hoffman Disable "Drop Below" targets for Sequencer Tree nodes to prevent a confusing UX issue where dropping underneath a Object Binding Node puts it after the object binding node but the UI looks like it's inserting it inside the Object Binding node. #jira UE-54743 Change 3879359 by Mike.Zyracki If a track is inactive we dim it a bit which seems to be the UE4 way to show inactive or disabled state. We changed the active logic so that all subtracks need to be inactive for the track to also be inactive(instead of all active for active). This conforms to how the active state actually works, e.g if you have two sections and only one is active the track is still active above it. #jira UESEQ-388 Change 3879462 by Max.Chen Sequencer: Allow dragging onto a particular row which would move out any overlapping sections to make space for the newly created section. Newly created sections are now selected and throbbed to draw attention to themselves. #jira UE-54664 Change 3879464 by Max.Chen Sequencer: Fixed overlapping ranges being inserted into the evaluation field during compilation - The issue was that track segments that had been combined with adjacent segments (due to them being identical) would potentially cause a subsequently compiled frame to overlap with a range that had already been inserted into the evaluation field. - The insertion code previously asserted that only minor overlaps were catered for (due to fp rounding errors) and assumed that a supplied range could not entirely contain any other range in the field. - The solution is to supply the insertion time along with the range to know exactly where the data should live in the field, and crop the range to the maximum allowable space between adjacent ranges. #jira UE-54922 Change 3879590 by Matt.Hoffman Items that are now added to the Sequencer via the "+Track" menu will be selected after being added. Items can now be added inside of folders instead of just to the root level. #jira UE-27397 Change 3879612 by Mike.Zyracki Display Nodes with no children are always active. #jira UESEQ-388 Change 3879730 by Matt.Hoffman Sequence Recorder's actor recording groups now remove items from the group when removed via the UI. #jira UESEQ-339 Change 3880256 by Mike.Zyracki Fix issue with inactive display with folders and other track nodes. #jira UESEQ-388 Change 3883491 by Max.Chen Fix issue where tick is skipped due to last ticked pose isn't cleared after AnimInstance changes. Copy from Release-4.19 #jira UE-51323 Change 3883603 by Max.Chen Movie Scene Capture: Add option toggle disable screen percentage. By default this is on (no change in current behavior). #jira UE-51898 Change 3885074 by Max.Preussner MediaCompositing: Resetting media texture & freeing resource on section end; removed dead code Change 3887220 by Max.Preussner MediaCompositing: Defaulted media section duration to 1 sec (since we do not know the actual duration in most cases) Change 3887478 by Matt.Hoffman Sequences now show [Inactive] in their title bars when they're disabled. This helps communicate why a sequence isn't being evaluated. #jira UE-51469 Change 3888985 by Max.Chen Movie Scene Capture: Clamp HDR Compression Quality between 0 and 1. #jira UE-55136 Change 3893519 by Max.Chen Sequence Recorder: Clarified tooltip for bRecordNearbySpawnedActors - spawned actors will still be recorded if they match the ActorFilter. #jira UE-55238 Change 3893546 by Max.Chen Sequence Recorder: If a selected actor already has a recording, add a blank recording. #jira UE-55239 Change 3894044 by Max.Preussner MediaCompositing: Added support for seeking into a media section Change 3894310 by andrew.porter MediaFrameworkTest: Adding Img media sources for 1080 and 2160 ravent test content Change 3894426 by Max.Preussner MediaAssets: Letting media textures with AutoClear retain their clear color when player is reset Change 3895717 by Max.Chen Sequencer: Null checks to prevent crash when saving the default state of a spawnable #jira UE-55304 Change 3897388 by Max.Chen Sequencer: Don't update current time to be within the view range when stepping into a sequence. #jira UE-55322 Change 3897452 by Max.Chen Audio: Fix crash when trying to record audio without any active capture devices. Log warning if the number of input channels is not 1 or 2. #jira UE-55223 Change 3897619 by Max.Preussner MediaCompositing: Removed commented out code Change 3898072 by Max.Chen Sequencer: Override the animation asset in the player state if it doesn't match the animation asset that's being evaluated. #jira UE-55328 Change 3898272 by Max.Preussner MediaPlayerEditor: Made slate brush constants static Change 3898704 by Max.Chen Sequencer: Skip if the binding id's sequence can't be found. #jira UE-55337 Change 3899855 by Max.Preussner MediaCompositingEditor: Added cache state visualization to media track Change 3900300 by Max.Preussner MediaCompositingEditor: Added loop indicators to media sections Change 3900694 by Max.Preussner ImfMedia: Looping cache only when player is looping Change 3900892 by Max.Preussner Stats: Added stats category for media framework Change 3900954 by Max.Preussner MediaCompositing: Don't evaluate at the end of media section Change 3901348 by Max.Preussner Core: Replaced TLruCache autos for better readability Change 3901655 by Max.Preussner ImgMedia: Added more perf stats to EXR reader Change 3901972 by Max.Preussner MediaAssets: Added getter for media player in media sound components Change 3902233 by Max.Preussner MediaAssets: Enabling media textures to receive samples right after player is assigned Change 3902238 by Max.Preussner MediaCompositing: Working around init/shutdown idiosyncracies in sequencer Change 3904045 by Max.Chen Sequencer: Fix copy/paste crash. Only process UMovieSceneCopyableBinding and objects that can be spawned by the movie scene spawn register. #jira UE-55314 Change 3905605 by Max.Chen Sequencer: Restrict spawnables from being created if they have a ClassWithin that UMovieScene is not a child of. #jira UE-55429 Change 3906550 by Max.Chen Sequencer: Add media track icon #jira UE-55480 Change 3907101 by Max.Chen Sequence Recorder: Fix bugs related to not recording a level sequence. There were certain assumptions that creating a level sequence meant that sequence recording was in progress. This is not always the case - the recorders can record animation assets and not create a level sequence. Changed the notion of IsRecording() to having at least one actor recording that is recording. Countdown timer, recording displays, etc should function if IsRecording() and not based on whether a level sequence is created. #jira UE-55485 Change 3907247 by Max.Chen Sequence Recorder: Fix crash not removing PrepareToCleanseEditorObject delegate. Repros when opening sequence recorder, closing it, and then opening or creating a level. Change 3910343 by Max.Preussner Core: Added async helper for executing functions on a given thread pool Change 3910346 by Max.Preussner ImgMedia: Added separate thread pools for loading/decoding and deleting image frames Change 3910829 by Max.Preussner Profiler: Increased visible range of profiler graph Change 3910841 by Max.Preussner MediaCompositing: Displaying asset name instead of full media source path in media section Change 3910870 by Max.Preussner ImgMedia: Using deallocation thread pool only in debug builds Change 3919642 by Max.Chen Sequence Recorder: Clarify active tooltip #jira UE-55661 Change 3919660 by Max.Chen Sequencer: Sequence template source signatures are now also compared to catch the case where a sub-sequence asset has been saved but not modified - The following sequence of events exposes this issue: - Create a master sequence with a single shot that spawns a cube - Add this sequence to a level and set it to auto-play - Save everything and restart - Resave just the inner shot asset without opening it - PIE - The inner shot never spawns its cube because its template was wiped on save, but its signature never changed. Since the master sequence previously didn't check the template source signature, it ends up trying to evaluate an empty template. #jira UE-55626 #jira UE-55490 Change 3921825 by Max.Chen Sequencer: "Run Construction Script in Sequencer" is off by default for blueprints but on for Sequencer. This allows the content author to switch it on for specific blueprints and sequencer will be default, run those with construction scripts enabled. Change 3922232 by Max.Chen Sequence Recorder: Reset countdelay on stop. #jira UE-55755 Change 3922306 by Max.Chen Sequence Recorder: Don't automatically mark transforms to be recorded by sequence recorder. Instead, log a warning if the user toggled it off to warn that the resulting animation might not match gameplay. #jira UE-55758 Change 3922912 by Max.Chen Sequence Recorder: Fix refresh next sequence name #jira UE-55757 Change 3927654 by Max.Chen Movie Scene Capture: Added format mapping for the name of the current camera #jira UE-55769 PR #4537 Change 3927658 by Max.Chen Sequencer: Added fbx property mapping for "FocusDistance" to "FocusSettings.ManualFocusDistance" #jira UE-55782 Change 3932022 by Max.Chen Sequencer: Add import animation track section to next available row index. #jira UE-55892 Change 3933919 by Max.Chen Sequencer: Jump to playback start frame and not 0 to start playback for recording. #jira UE-55933 Change 3934307 by Andrew.Rodham Sequencer: Add template signature that is re-generated every time the base template is regenerated, which invalidates evaluation fields This fixes an issue where the same sequence is instantiated multiple times in a sequence. If the source sequence was saved, its template would be wiped, which would invalidate the template ID When an instance tries to evaluate the master template, it would only invalidate a range in the evaluation field that was the hull of any invalid sub sequences overlapping the current time, potentially leaving invalid data in the evaluation field at positions later (or earlier) on in the sequence When the sub template was re-generated, it receives the same SequenceSignature as it had before (because the sequence hasn't actually changed), which causes the stale evaluation field data to fail the IsDirty check (because the sequence is the same as it thought, but the *template* has changed) This has been addressed be adding a signature to templates themselves, and checking both the template signature and sequence signature as a part of the IsDirty check. This ensures that we regenerate if either the template, or the sequence have changed. #jira UE-55934 Change 3936327 by Andrew.Rodham Sequencer: Removed increment when trimming right UMovieSceneSection::TrimSection already explicity assigns an exclusive bound to the time passed in. The new behavior means we can trim a section to the right, and insert another section without changing the time to create adjacent sections. #jira UE-42652 Change 3936328 by Andrew.Rodham Fixed KeyFrameManipulator assignment operators and copy/move constructors - These types are potentially self-referential so cannot use default constructors/assignment Change 3936330 by Andrew.Rodham Converted UMGSequencePlayer to use frames internally #jira UE-54878 Change 3936726 by Max.Chen Sequencer: Set track node as the parent of the key area node. The key area switcher needs the object binding id from the parent object binding node. Without this, the binding to the external value fails. #jira UE-55931 Change 3936775 by Max.Chen Sequencer: Should stop or loop should compare DurationFrames with Current Time from StartTime. The bug is that if you set 30 warmup frames in movie rendering for a range of 0-100, the FrameRange will be starting at -30 and have a duration of 130. Without this fix, the playback will continue until frame 130, rather than 100. #jira UE-55933 Change 3936935 by Matt.Hoffman Easing Curves are now represented in Play Rate resolution instead of internal resolution. #jira UE-55937 Change 3937069 by Matt.Hoffman Users can toggle if the is infinite on each side, limited by which tracks support infinite ranges. #jira UE-55891 Change 3937516 by Max.Preussner ImgMedia: Added support for single-threaded platforms #jira UE-55986 Change 3937826 by Max.Preussner MediaAssets: Disabling media sound components on HTML5 if AudioMixer is not enabled Change 3937997 by Max.Chen Curve Editor: Add Zoom to Fit Curves so that selected curves from Sequencer can be focused on. Tested that undo doesn't re-zoom. #jira UE-55935 Change 3938000 by Max.Chen Sequencer: Stop all sounds before generating audio waveforms. #jira UE-55951 Change 3938376 by Max.Preussner XGEController: Disabled XGE Controller in single-threaded apps to prevent crash Change 3938444 by Max.Preussner Core: Added async support for single-threaded applications Change 3938445 by Max.Preussner Networking: Added support for single-threaded applications in UDP socket sender/receiver Change 3938447 by Max.Preussner Messaging: Added support for single-threaded applications Change 3939432 by Max.Chen Sequence Recorder: Append command list to global level editor actions so that shortcuts are accessible in level editor. #jira UE-55798 Change 3940229 by Andrew.Rodham Added prospective display rate upgrade to UMovieScene::PostLoad - There was previously some very odd behaviour that would assign the fixed frame interval only when a sub sequence was focused in SSequencer. This meant that many sequences could have a frame interval of 0 set in the data. - Under the old method of snap interval display this would have fallen back to getting the display interval from the sequencer settings, but we no longer look at these. - The USequencerSettings properties have been removed and in their place, a prospective data upgrade for sequences that have a fixed frame interval old 0fps that sets the play rate to the previous defaults based off the old USequencerSettings defaults. - This could end up 'changing' the display rate for sequences where the user has changed the snap interval in the settings for a particular sequence editor, but there's not much we can do about that given we don't have access to the USequencerSettings classes in UMovieScene #jira UE-55919 Change 3940277 by Andrew.Rodham Sequencer: Added ability to default frame resolutions and play rates for newly created actor sequences Change 3940378 by Andrew.Rodham Sequencer: Post move import dialog now defaults to the playback framerate of the sequence, and floors to frame numbers Change 3940559 by Andrew.Rodham Reinstated primed or recording sequence color Change 3940642 by Max.Preussner ImagePlate: Removed image plate media playback functionality Change 3940843 by Max.Preussner Core: Made TCircularQueue actually thread-safe; improved code comments Change 3940860 by Max.Chen Sequencer: Changed StructNameToKey to StructPathToKey Previously, keying a PropertyPath of [RenderTransform][Shear][X] would get trimmed to X, which doesn't map to a channel name as considered by Sequencer2dTransformTrackEditor. Instead, trim the resulting property path to [Shear][X] so that track editors can determine the desired struct path and channels to key. #jira UE-52966 Change 3941292 by Mike.Zyracki Fix for trajectories out of range not showing up. 1) If we had no key data we would pop the time, so wouldn't get the section ranges. 2) Calculating of upper bound was wrong, checking against -1 and not key == num of keys when doing algo::lower_bound. 3) No need to do the Bck-- for the bakward iterators since we fixed #2. We start now from the upper bound correctly. 4) If we had no keys (at section start,end) we would incorrectly say we were any key type, so since we draw constant keys as dashed we would do so incorrectly around section end points. #jira UE-55929 Change 3941424 by Max.Chen Curve Editor: Change Zoom to Fit to use TArrayView Change 3941498 by Max.Preussner Core: Added FMath::DivideAndRoundNearest function Change 3942097 by Matt.Hoffman Drop Frame Timecode Support for NTSC rates. Change 3942104 by Matt.Hoffman Sequence Recorder Group is no longer visible inside the World Outliner after using one. #jira 55266 Change 3942107 by Max.Chen Sequencer: Resurrect logic to find or extend an existing section when adding keys. Change 3942330 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942339 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942507 by Andrew.Rodham Sequencer: We no longer pad the time overlap threshold with a small number that is not scaled by the current zoom level - The presence of this pad was causing keys that were far apart to be grouped when zoomed in a long way Change 3942509 by Andrew.Rodham Sequencer: Only pad total view range, rather than section range as well when retrieving keys to render - This stops us from rendering keys that are within the view range, but outside the section range Change 3942512 by Andrew.Rodham Added transactions to some sequencer details customizations Change 3942513 by Andrew.Rodham Sequencer: Reinstated validation checks to UMovieSceneSection::SetStartFrame and SetEndFrame, changed erroneous uses to use SetRange Change 3942560 by Andrew.Rodham Pass by rvalue reference to appease error C2719 on Win32 ('InChannels': formal parameter with requested alignment of 8 won't be aligned) Change 3942697 by Andrew.Rodham Newly Created Level Sequences and Actor Sequences now default to 24000 fps frame resolution (+/- ~24hrs range, supporting all integer rates + 23.976) Change 3942700 by Andrew.Rodham Sequencer: Added legacy out-of-bounds errors for times that are not supported by the current legacy upgrade frame resolution Change 3942989 by Max.Preussner Core: Fixed circular queue count calculation Change 3943538 by Max.Preussner MediaAssets: Reverted workaround for procedural audio log spam in HTML5 (Actor component initialization cannot be skipped if the component is used in a level) Change 3944071 by Max.Preussner QAGame: Fixed Media Texture keeps last frame of Media when PIE ends #jira UE-53360 Change 3944292 by Max.Chen Sequencer: Added extra flags to ensure that asset initialization does not occur on template actor sequences #jira UE-56113 Change 3944364 by Max.Chen Sequencer: Prevent circular shot/master tracks. Tested adding master -> child -> master as drag and drop cinematic shot tracks and sub tracks as well as through the + button. #jira UE-56091 Change 3944422 by Max.Chen Sequence Recorder: Disable transform recording if off. #jira UE-56061 Change 3944745 by Andrew.Rodham Sequencer: Key rendering fixes - Fixed assert that occured when keys happened to reside on some times due to KeyTime + TimeOverlapThreshold - KeyTime being slightly larger TimeOverlapThreshold - Fixed keys sometimes being clipped when zoomed right in due to lack of half-frame offset - Added missing documentation to MovieSceneTimeHelpers.h #jira UE-56107 Change 3945231 by Andrew.Rodham Sequencer: Reconstruct channel proxy on Serialize to catch all cases of undo/redo, PostLoad and duplication #jira UE-56089 Change 3945301 by Andrew.Rodham Sequencer: Added safety checks during initial sequence recording to guard against applying negative or 0-sized sequence ranges #jira UE-56125 Change 3946627 by Max.Preussner Fortnite: Fixed game crashes closing editor while in PIE - Pure virtual function being called #jira UE-56144 [CL 3946896 by Max Chen in Main branch]
2018-03-14 22:09:33 -04:00
if (FMath::IsNearlyEqual(LocalKeyPos, CursorPos, MouseTolerance))
Copying //UE4/Dev-Editor to //UE4/Dev-Main (Source: //UE4/Dev-Editor @ 3497164) #lockdown Nick.Penwarden #rb none ===================================== MAJOR FEATURES + CHANGES ===================================== Change 3433074 by Matt.Kuhlenschmidt Fix crash when clicking on certian tutorial blueprints. #jira UE-44593 Change 3433075 by Matt.Kuhlenschmidt Remove hittest grid log spam. The underlying problem causing this has been fixed Change 3433077 by Matt.Kuhlenschmidt Fix lighting becoming unbuilt when mesh painting #jira UE-44837 Change 3433081 by Matt.Kuhlenschmidt PR #3553: Crashfix for static array properties (Contributed by Pierdek) Change 3433104 by Alexis.Matte Make sure re-import skeletal mesh follow the import morph option #jira UE-42846 Change 3434825 by Matt.Kuhlenschmidt Fix crash when GC happens while the vr editor radial menu is open. Change 3434831 by Matt.Kuhlenschmidt Added missing file Change 3434868 by Shaun.Kime If you have a reroute node between a Material Function texture input and its usage, the parent material will fail to resolve the reroute node. #jira ue-44670 Change 3434998 by Alexis.Matte Meshes editors material/section panel are now fully transactional - Staticmesh editor: section material slot, section cast shadow, section collision, material slot instance, material slot name - Skeletal mesh editor: material slot instance, material slot name Also fix some transaction description #jira UE-44462 Change 3435195 by Jamie.Dale Fixed incorrect handling of some LTR scripts that require shaping These scripts need to go through HarfBuzz, and this also fixes a case where HarfBuzz wasn't applying font scale correctly. #jira UE-44767 Change 3435199 by Jamie.Dale Fixed some crashes/artifacts with bidirectional text It was possible for a line to compute an incorrect range, which could cause crashes or other highlighting issues. The highlighting logic has also been updated as the old code didn't handle all bidirectional cases correctly. Change 3435200 by Jamie.Dale Fixed a grapheme cluster metrics issue in the font editor viewport The viewport also now respects the default shaping method CVar. Change 3435771 by Alexis.Matte Fix degenerated bounds calculation for skeletalmesh when the skeleton is remove from a re-import (PhysicAsset API change, adding 1 function) #jira UE-44609 Change 3436856 by Jamie.Dale Added some missing Unicode block ranges Change 3436914 by Jamie.Dale Adding some missing combining character ranges to the text shaper Change 3436923 by Alexis.Matte PR #3463: Get bounds for all triangles, not just the first one. WedgeIndex was . (Contributed by DaveC79) #jira UE-43764 Change 3436948 by Jamie.Dale Updated the Portal to use the predefined Unicode block ranges Change 3436961 by Max.Chen Sequencer: Show camera shake/anim track menus even if there aren't any assets. Change 3437244 by Max.Chen Sequencer: Clear locked cameras when releasing Sequencer. #jira UE-44967 Change 3437515 by Arciel.Rekman UBT: improvements for LocalExecutor. - Larger number of parallel jobs on 16GB+ machines. - Use WaitForExit() instead of polling. - Tested on Linux and Mac. Change 3437629 by Matt.Kuhlenschmidt Improve asset import data display in static and skeletal meshes Change 3438047 by Arciel.Rekman Fix overlapping ranges being passed to memcpy(). Change 3438822 by Yannick.Lange ViewportInteraction: Move gizmo handle files to make them private. Change 3438906 by Matt.Kuhlenschmidt PR #3556: Git Plugin: fix new option "init Git LFS" that make assets read-only (master/UE4.17) (Contributed by SRombauts) Change 3438907 by Matt.Kuhlenschmidt PR #3565: add -quality option to buildlighing commandlet (Contributed by kayama-shift) Change 3438908 by Matt.Kuhlenschmidt PR #3558: UE-44862: Always update SColorPicker color on OK button (Contributed by projectgheist) Change 3439393 by Matt.Kuhlenschmidt Force highest LOD for highres screenshots Change 3439819 by Matt.Kuhlenschmidt Turned FAssetData into a struct for some upcoming script exposure of FAssetData Change 3439949 by Arciel.Rekman Fixed selection logic for the UE4_LINUX_USE_LIBCXX environment variable. - Allows disabling libc++ by setting the variable to 0. - Pull request #3576 contributed by jared-improbable. Change 3441078 by Jamie.Dale The culture/language/locale console commands are now available in all build configs Change 3441109 by Jamie.Dale Text containing surrogate pairs now runs through HarfBuzz when shaping in Auto mode This is needed as the kerning-only shaping code assumes that everything is within the BMP Change 3441275 by Matt.Kuhlenschmidt Disable spinning on location and scale. These dont work because we have no notion of infinite spinning Change 3442748 by Yannick.Lange ViewportInteraction: Remove unused console variables. Change 3442775 by James.Golding Add support for editing MaterialFunctions to MaterialEditingLibrary Pull Material recompile/update code into UMaterialEditingLibrary::RecompileMaterial Pull MaterialFunction update code into UMaterialEditingLibrary::UpdateMaterialFunction util Move RebuildMaterialInstanceEditors to UMaterialEditingLibrary Added test content for Material/MaterialFunction editing Add needed BlueprintReadWrite to expressions (constants, function input/output) Expose UMaterialExpressionMaterialFunctionCall::SetMaterialFunction to BP, rename old func (which takes old function) to SetMaterialFunctionEx, also expose GetInputNameWithType Change 3442779 by James.Golding Fix header order Change 3442817 by Yannick.Lange ViewportInteraction: Add can execute checks for level editor commands. Change 3443038 by Michael.Dupuis #jira UE-43377: When you select a foliage actor we will move all instance contained in it to the new level as we can't move a foliage actor Only permit moving foliage instance if there is some selected Change 3443855 by Michael.Dupuis #jira UE-44885: Unregister from PerModuleDataObjects when the object is destroyed Change 3446096 by Max.Chen Sequencer: Add OnFinished() event when a level sequence completes playback #jira UE-45173 Change 3446097 by Max.Chen Sequencer: Evaluate one last time before the sequence is torn down and reset #jira UE-45174 Change 3446242 by Jamie.Dale Fixed caret not appearing in empty text layouts Caret selections have no range, and therefore have no width Change 3446361 by Matt.Kuhlenschmidt Fix WITH_EDITOR only functions causing generated code compile errors when the all functions on the class are WITH_EDITOR Change 3446457 by Alexis.Matte Polish the speed tree import dialog #jira UE-44963 Change 3446946 by Michael.Trepka Modified FWindowsWindow::GetRestoredDimensions to return correct window position for normal windows for which GetWindowPlacement returns position in workspace coordinates #jira UE-37934 Change 3447543 by Arciel.Rekman Reduce VMAs on Linux. - Trades off increased address space (VIRT in terms of ps/htop) for smaller number of distinct mappings (VMAs, virtual memory areas). This decreases possibility to run into vm.max_map_count limit on Linux. - Tested on Linux and Mac. Change 3448468 by Arciel.Rekman Fix race condition during creation of GMalloc. - On Mac GMalloc can be created on two different thread that are racing with each other - app's main thread and a system thread. Change 3449012 by Max.Chen Sequencer: Add time to transform, color and vector key structs so that key times are editable from the key editors. #jira UE-45089 Change 3449018 by Max.Chen Sequencer: Add OnCameraCut event that fires when there is a camera cut. #jira UE-45137 Change 3449195 by Max.Chen Sequencer: Add setting for limit scrubbing to playback range. #jira UE-43502 Change 3449198 by Max.Chen Sequencer: Reorder hierarchical bias so that group priority takes precedence. Change 3449217 by Max.Chen Sequencer: Add setting to activate realtime viewports when in sequencer. Change 3449219 by Max.Chen Sequencer: Focus on search boxes when opened. Change 3449238 by Max.Chen Sequencer: Assign actor should replace the actor itself after it has updated all the components. Also, replace components be fullname rather than by class. Change 3449239 by Max.Chen Sequencer: Fix offsets when moving multiple sections. Dragging should be clamped to the bounds that any of the selected sections hits against the unselected sections. Change 3449241 by Max.Chen Sequencer: Restore section selection after full tree rebuild. Change 3449279 by Max.Chen Sequencer: Set movie scene capture frames only when not using custom frames. This allows the user entered frame numbers to persist in config, rather than overwriting them when doing a "Render Shot" Change 3449280 by Max.Chen Sequencer: Spawn in the persistent level. Otherwise, they get spawned into whatever sublevel is current. #jira UE-44552 Change 3449294 by Max.Chen Sequencer: Null check for sequencer ed mode crash. Change 3449297 by Max.Chen Sequencer: Fix delay in sliding values. Mark changed when sliding values. Mark refresh immediately when committing values since OnValueChanged will be called and needs to have the correct value that was refreshed immediately. #jira UE-42866 Change 3449542 by Max.Chen Sequencer: Fix scrubber hit testing so that the time scrubber is really favored over the playback ranges. #jira UE-44569 Change 3451507 by Matt.Kuhlenschmidt Fix extra slate uv coords not functioning on ES2 Change 3451510 by Matt.Kuhlenschmidt PR #3595: Fixed wrong colour for level status (Contributed by ronve) Change 3451529 by Alexis.Matte fbx scene importer: Make sure we set INVALID_UNIQUE_ID to node that has no attribute. #jira UE-34410 Change 3451611 by Yannick.Lange ViewportInteraction: Dragging gizmo without second pass for snapped calculations. Change 3452134 by Jamie.Dale Fixed constant font cache flushing if a widget had no font set Change 3452239 by Jamie.Dale Fixed constant font measure flushing if a widget had no font set Change 3452243 by Jamie.Dale Removed deprecated code for creating fonts from bulk data Change 3452277 by Jamie.Dale The concept of "stale" composite fonts is now editor-only Change 3452358 by Alexis.Matte Fbx scene importer: Do not remove existing attribute reference from the blueprint if the reimport of the associate mesh attribute is not tick. #jira UE-45232 Change 3452678 by Max.Chen Sequencer: Fix crash on export if there's no shot data. Change 3453057 by Matt.Kuhlenschmidt Exposed asset exporting to script Change 3453782 by Andrew.Rodham Sequencer: Fixed deterministic cooking issues with movie scene data - Movie scene signatures are now initialized in PostInitProperties - A warning is now presented when attempting to cook old data that was never serialized with a signature. - Removed redundant legacy data upgrade logic that could dirty level sequences on load. #jira UE-44912 Change 3453788 by Yannick.Lange ViewportInteraction: Custom scene proxy for gizmo handles. Change 3453938 by Max.Chen Sequencer: Hotkeys (shift , and shift .) to step to next/previous shot #jira UE-45119 Change 3454058 by Michael.Dupuis Fixed StaticAnalysis Change 3454077 by Max.Chen Sequencer: Fix not saving the pre-animated track value when creating a track/key. On pre object change, broadcast property change so that a track or key can be created. That track/key needs to be evaluated immediately so that the pre-animated state can be saved properly. This is done now with RefreshAllImmediately and is only called when a track has been created. Also, added a return value for OnKeyProperty, so that it's known what changed in particular (ie. track created, track modified, etc) Also, fixed transform keying so that if a transform track already exists for the object or the scene component, the existing track is used. #jira UE-45130 Change 3454108 by Nick.Darnell UMG - Fixing the WIC to properly record cursor delta so that scrollbars work. Change 3454109 by Jamie.Dale Cache the text layout source info in non-shipping builds so you can inspect it in the debugger Change 3454202 by Matt.Kuhlenschmidt Fix bogus error message about the number of usable texture coordinates on ES2 when compiling a UI domain material Change 3454390 by Yannick.Lange Fix creating a plugin in a C++ project opens a second instance of Visual Studio. Use SourceCodeAccessor to open solution when necessary. #jira UE-45035 Change 3454564 by Matt.Kuhlenschmidt #rnx Fix deprecation warnings Change 3455471 by Yannick.Lange ViewportInteraction: Fix entering and exiting VR Mode disables gizmo in desktop editor viewport. #jira UE-44965 Change 3456183 by Max.Chen Sequencer: Auto key, auto track refactor. Auto key - create a key when the property changes and there's an existing track. Auto track - create a track when the property changes. This is only exposed in the level sequence editor. All - create a key and a track when the property changes. This is only exposed in VR Editor. None - do nothing. #jira UE-43469 Change 3456349 by Andrew.Rodham Sequencer: Only perform legacy signature checks on instances, and only where signatures match the CDO Change 3456678 by Alexis.Matte Allow to add null level instance override material via the advance material array. But still limit the override material number to the mesh material number. #jira UE-45306 Change 3456945 by Max.Chen UMG: Add restore state to 2d transform section. #jira UE-45372 Change 3457196 by Arciel.Rekman Linux: serialize allocations from the memory pool. Change 3458434 by Max.Chen Sequencer: Remove obsolete set tick prerequites functions. Change 3458671 by James.Golding Added MIC editing support to MaterialEditingLibrary Fix static analysis warning Change 3458888 by Matt.Kuhlenschmidt PR #3615: More detailed log messages for debugging warnings/errors (Contributed by projectgheist) Change 3458893 by Matt.Kuhlenschmidt PR #3583: UE-44960: Delta value wasn't being used (Contributed by projectgheist) Change 3458895 by Matt.Kuhlenschmidt Fix typo Change 3458902 by Matt.Kuhlenschmidt PR #3607: Improved InputKeySelector functionality (Contributed by projectgheist) Change 3458917 by Matt.Kuhlenschmidt Fix crash with invalid object properties in the class picker #jira UE-39000 Change 3458939 by Matt.Kuhlenschmidt Fix compile error Change 3458984 by andrew.porter QAGame: Initial check in of sequencer smoke test map Change 3459510 by Matt.Kuhlenschmidt Fixed ensure when deleting a map that contains build data which also happens to be the currently loaded map. #jira UE-45052 Change 3460985 by Max.Chen Sequencer: Snap play time to keys now allows scrubbing between keys and snaps to key times within a certain screenspace tolerance. #jira UE-45090 Change 3461698 by Arciel.Rekman Avoid using ARRAY_COUNT in Vulkan. - Sometimes those arrays can have no extensions whatsoever, and it is illegal to declare a 0 element C array. Change 3462053 by Max.Chen Sequencer: Show sequencer spawnables in the world outliner and add the icon overlay for spawnables. #jira UE-43470 Change 3462139 by Max.Chen Property Editor: Add objects to FPropertyAndParent Change 3462202 by Arciel.Rekman Fix FSocket::Recv() blocking with Peek when there's no data. Change 3462253 by Nick.Darnell Slate - New Clipping System Clipping is now a stateful choice made during composition of the slate hierarchy. Previously every widget got to respect or modify the clipping rect on an as needed basis. The problem was that clipping was only allowed in the layout space of the widget, and it wasn't possible to properly clip elements with render transforms. The new system permits all kinds of transforms on any widget, and they will all be clipped correctly. It tries to use Scissor Rects as they are much cheaper, but will switch over to stenciling if need be to represent a complicated masking structure with several rotated clipping rects all needed to be combined together. Here are the new clipping states a widget can have, almost all widgets are set to No. Only change it from No if your widget actually needs to clip, generally speaking most widgets don't need to clip. /** * This widget does not clip children, it and all children inherit the clipping area of the last widget that clipped. */ Inherit, /** * This widget clips content the bounds of this widget. It intersects those bounds with any previous clipping area. */ ClipToBounds, /** * This widget clips to its bounds. It does NOT intersect with any existing clipping geometry, it pushes a new clipping * state. Effectively allowing it to render outside the bounds of hierarchy that does clip. * * NOTE: This will NOT allow you ignore the clipping zone that is set to [Yes - Always]. */ ClipToBoundsWithoutIntersecting UMETA(DisplayName = "Yes - Without Intersecting (Advanced)"), /** * This widget clips to its bounds. It intersects those bounds with any previous clipping area. * * NOTE: This clipping area can NOT be ignored, it will always clip children. Useful for hard barriers * in the UI where you never want animations or other effects to break this region. */ ClipToBoundsAlways UMETA(DisplayName = "Yes - Always (Advanced)"), /** * This widget clips to its bounds when it's Desired Size is larger than the allocated geometry * the widget is given. If that occurs, it behaves like [Yes]. * * NOTE: This mode was primarily added for Text, which is often placed into containers that eventually * are resized to not be able to support the length of the text. So rather than needing to tag every * container that could contain text with [Yes], which would result in almost no batching, this mode * was added to dynamically adjust the clipping if needed. The reason not every panel is set to OnDemand, * is because not every panel returns a Desired Size that matches what it plans to render at. */ OnDemand UMETA(DisplayName = "On Demand (Advanced)") - Large API Change - All FSlateDrawElement::Make_____ calls have been deprecated that involved passing in a clipping rect. You no longer should are passed a Clipping rect via OnPaint. You are still passed a rect, but this rect represents a Culling Rect, which is valuable if you need to just out right not paint things the user can't possibly see. If you were previously trying to determine if you should cull widgets, by doing something like this, if ( FSlateRect::DoRectanglesIntersect(MyClippingRect, CurWidget.Geometry.GetRenderBoundingRect()) ) That's no longer a good option since there are ways for widgets to ignore the culling bounds. You should convert anything like above to the one below, if (!SWidget::IsWidgetCulled(MyCullingRect, CurWidget)) To assist in debugging efforts, there are several new debugging console flags in Slate, Slate.ShowClipping 1 - Controls whether we should render a clipping zone outline. Yellow = Axis Scissor Rect Clipping (cheap). Red = Stencil Clipping (expensive). Slate.DebugCulling 1 - Disables pushing clipping or stencil rects to the GPU, but continues to intersect culling rects, so that you can tell if a widget is properly culling children it can't possibly draw. Slate.ShowTextDebugging 1 - Show debugging painting for text rendering. I've added a new Experimental Feathering Option, it adds AA geometry around the outside of Box and Image brushes. Slate.Feathering 1 If you're using RenderDoc or something similar, you can now enable render events for slate, so that you can better grok how we're batching and changing states for each UI render pass. Slate.EnableDrawEvents 1 #jira UE-4659 #rn Change 3462714 by Nick.Darnell Fixing a few more compiler issues with the clipping changes. Change 3462726 by Max.Chen Switch OnEditStructChildContentsChanged to use FObjectWriter instead of FMemoryWriter which supports serializeing UObjects. This fixes a crash when adding actor array elements to a user defined event struct. #jira UE-45431 Change 3462801 by Nick.Darnell Adding a UMG dependency to EngineTestBuild. Change 3462914 by Max.Chen Sequencer: Fix regression where spawnables aren't getting saved. Caused by 3407138 #jira UE-30007 #jira UE-39003 Change 3462946 by Nick.Darnell Automation - Tweaking the UI automation tests converting them over to use the new UI Screenshot automation test. Automation - Adding a blur widget test. Change 3462987 by Matt.Kuhlenschmidt Back out changelist 3458893 Change 3464774 by Matt.Kuhlenschmidt PR #3629: Bugfix: Missing small icon in Project Launcher profile editor (Contributed by aarmbruster) Change 3464785 by Nick.Darnell Fixing some clipping stuff in the editor. Change 3464830 by andrew.porter QAGame: Second pass on sequencer smoke test map Change 3464902 by Nick.Darnell Loading - Adding some additional checks to the the loading code to ensure we're on the main thread. Additionally adding a fix from UDN that prevents deadlocks in the rare case a user hits Alt+Tab in a fullscreen game while in a hard loading screen. Change 3464988 by Max.Chen Sequencer: Add attenuation settings for attached audio components. #jira UE-33080 Change 3465024 by Nick.Darnell MoviePlayer - Impoving the playback mode displaynames. Change 3465074 by Arciel.Rekman Fix shadowing issues of GraphicsPSOInit. Change 3465097 by Matt.Kuhlenschmidt Some refactoring of the details panel Exposed new methods of adding a struct on scope to a details panel and have it work properly with customizations. The scruct on scope has a "fake" ustructproperty that allows the details panel to show the whole struct not just an individual property. Refactored the API for adding rows to details panels to make it more consistent\ AddChildCustomBuilder->AddCustomBuilder AddChildGroup->AddGroup AddChildContent->AddCustomRow AddChildPropert->AddProperty AddChildStructure->AddExternalStructureProperty AddStructure->AddAllExternalStructureProperties AddExternalProperty->AddExternalObjectProperty or AddExternalStructureProperty Change 3465186 by Max.Chen Sequencer: Save the BindingID in the pre animated token producer so that it can be destroyed properly. This fixes a bug where the default state of a spawnable isn't saved. #jira UE-43780 Change 3465315 by Matt.Kuhlenschmidt Fix Fortnite and Orion details panel customization warnings Change 3465424 by Nick.Darnell Automation - Moving the step for setting the link to the automation reports to be set before we start the engine. Change 3465488 by Nick.Darnell Automation - Forcing textures to load before taking screenshot, so that the scene gets another opportunity to render before we render with Slate. This should fix the Blur UI Test. Change 3466277 by Arciel.Rekman Linux: fix window drift when dragging (UE-40380). - Change by Cengiz Terzibas. Change 3466370 by Nick.Darnell UMG - Fixing the colors for the resize handle in the designer. Change 3466372 by Nick.Darnell UMG - Fixing the ruler ticks sometimes not being drawn. Change 3466374 by Nick.Darnell UMG - Fixing the designer showing multiple options for sequencer. Change 3466377 by Nick.Darnell UMG - Cleaning up some clipping bits. Change 3467025 by Andrew.Rodham Re-saving assets that contain legacy (<4.15) movie scene data to remove deterministic cook warning. If conflicts arise during merging of these assets, please ignore the changes made in dev-editor, and accept game-side changes. (CIS step 62283298, jobId 7773146) (CIS step 62283297, jobId 7773146) Change 3467099 by Max.Chen Fix GetObjectPropertyClass ensure logic. This was returning UObject::StaticClass when valid. Change 3467172 by Max.Chen Sequencer: Evaluation optimizations. Also, fixes subsequences not getting expired, leaving dangling spawnables. #jira UE-43690 Change 3467192 by Matt.Kuhlenschmidt Fix transactions getting stuck in the color grading controls. This prevents PIE from working properly and causes shutdown crashes #jira UE-45527 Change 3467251 by Yannick.Lange ViewportInteraction: Fix scale and rotation snap while dragging with two lasers. #jira UE-43489 Change 3467331 by Matt.Kuhlenschmidt Fix D3D shader compiler hard coding shader path and not giving proper warnings when it cannot find the shaders Change 3467335 by Matt.Kuhlenschmidt Remove DarkStyle attribute from SNumericEntryBox and allow a spin box style to be passed to it. Change 3467558 by Max.Chen Scene Outliner: Generic support to add default columns to a scene outliner. Change 3467565 by Jamie.Dale Removing old screenshot data for test Change 3467589 by Nick.Darnell Editor - Random cleanup. Change 3467596 by Nick.Darnell Progress Bar - Exposing Border Padding to UMG. Change 3467600 by Nick.Darnell Slate - Adjusting the rendering of the splitter, previously it could be off by a pixel or two, which becomes more apparent now with the clipping changes. Change 3467601 by Max.Chen Property Editor: Fix static analysis warning Change 3467662 by Nick.Darnell Automation - Fixing a bug with the screenshot comparison tool not replacing (removing) the old screenshot data. Change 3467674 by Max.Chen Property Editor: Fix static analysis warning Change 3467737 by Max.Chen Sequencer: Added OnMovieSceneBindingsChanged delegate Change 3468053 by tim.gautier QAGame: Updating Editor Smoke Map - Updated landscapes into Stations for testing - Added Foliage Sublevel Change 3468194 by Arciel.Rekman Linux: fix problems communicating with various STL-using libs. - Stop hiding global new/delete signatures. - Disable CEF3 since this change uncovers the problem with libcef.so not built to use bundled libpng. Change 3468678 by Max.Chen Sequencer: Set "Sequencer Actor" tag before setting the actor label so that the outliner refreshes after the actor has the tag. Change 3469314 by tim.gautier QAGame: Added Painted Foliage / Spline section to EditorSmoke map Change 3469377 by Nick.Darnell Slate - Fixing some warnings in a couple of sample games due to the clipping changes. #rnx Change 3469767 by Max.Chen Sequencer: Outliner column and sequencer binding data #jira UE-43470 Change 3469974 by Arciel.Rekman Fix code projects not working in Linux installed build. Change 3470082 by Nick.Darnell Slate - The GetRenderer() call on SlateApplication no longer returns a SharedPtr, rather than convert it to a thread safe ptr, going to just make accessing it a raw ptr return, so it can be safely referenced on the game thread while being used on the slate loading thread. Change 3470174 by Nick.Darnell Slate - Get the last widget in a widget path utility. Change 3470176 by Nick.Darnell UMG - User Widgets now have an easy way to know if they're part of or have been removed from the focused widget path, which is handy for doing effects. Change 3470261 by Nick.Darnell Slate - The GetRenderer() call on SlateApplication no longer returns a SharedPtr, rather than convert it to a thread safe ptr, going to just make accessing it a raw ptr return, so it can be safely referenced on the game thread while being used on the slate loading thread. Change 3470286 by Max.Chen Sequencer: Scene Component's HiddenInGame now goes through the VisibilityTrack and the visibility template. Change 3470366 by Nick.Darnell Slate - We now version focus per user, that way during focus events, we can safely abort focus events and state transitions if someone interrrupts the active focus event with something new. Change 3470649 by Matt.Kuhlenschmidt Fix deprecation warnings Change 3470695 by Matt.Kuhlenschmidt Fixed typo #jira UE-45580 Change 3470721 by Matt.Kuhlenschmidt Fix static analysis Change 3471254 by Michael.Dupuis #jira UE-42952: Keep occlusion result per view Change 3471287 by Nick.Darnell UMG - Render Focus Rule now defaults to never. Change 3471291 by Nick.Darnell Slate - Fixing FSlateRenderer* change fallout. Change 3471299 by Nick.Darnell Slate - Fixing FSlateRenderer* change. Change 3471323 by Nick.Darnell Automation - Fixing automation and Static Analysis warning. Change 3471413 by andrew.porter QAGame: Added test content for anim blending and material parameteres to sequencer smoke level Change 3471649 by Max.Chen Sequencer: Modify the track when adding animation #jira UE-45618 Change 3471659 by Matt.Kuhlenschmidt Added a way to check if a movie is playing from the engine. Prevented viewport redraws for canvas loading screens if a slate based loading movie is playing Change 3471734 by Matt.Kuhlenschmidt Added basic material hookup to USD. Similar to FBX it will find materials based on rules specified by the user in the import settings Change 3472176 by Nick.Darnell UMG - Improving the display of the +Track menu in sequencer for UMG. Renamed it from +Add, which is repetitve to +Track. Additionally, the dropdown now shows the currently selected widgets, as well as a submenu containing all the 'important' widgets, so we no longer populate that list with a ton of irrelevant widgets that are just Buton_1 - N, which is pointless in showing people, they'll never guess which is the right button. Change 3472740 by Max.Chen Sequencer: Add GetThisFrameMetaData accessor Change 3472748 by Max.Chen Sequencer: Added OnBeginScrubbing and OnEndScrubbing event delegates Change 3472753 by Max.Chen Sequencer: Add EMovieSceneDataChangeType parameter to OnMovieSceneDataChanged delegate Change 3472870 by Nick.Darnell Clipping - Fixing the deprecated tip for scissor rect boxes to be correct. Removing it's usage from UT. Change 3473340 by Max.Chen Scene Outliner: Add ability to register additional filters Change 3473348 by Max.Chen Details View: Make ForceRefresh virtual. Added accessors to delegates (ie. GetIsPropertyReadOnlyDelegate) Change 3473441 by Max.Chen Sequencer: Autokey Refactor Part 2. Autokey is now a single toggleable state. Allow Edits Mode has 3 states: Allow All Edits - Allow any edits to occur, some of which may produce tracks/keys or modify default properties. Allow Sequencer Edits Only - All edits will produce either a track or a key. Allow Level Edits Only - Properties in the details panel will be disabled if they have a track. #jira UE-45229 Change 3473670 by Nick.Darnell Modules - The module manager no longer returns sharedptrs to IModuleInterfaces, this was the source of rare hard to track down crashes due to a shared ptr reference leak when GetModule was called on non-main threads. We now store a TUniquePtr internally, and only lease out raw pointers. #rn Change 3473711 by Nick.Darnell Disabling the ensure in the module manager. Change 3473747 by Max.Chen Sequencer: Fix tooltip Change 3474091 by Jamie.Dale Added a warning when cooking a UFontFace that is outered to a UFont asset These cause issues with iterative COTF, and should be split off into their own assets (as the UI has been asking people to do for several versions) Change 3475052 by Yannick.Lange VR Editor: Fix Crash when quitting the editor with VR Mode enabled. VR Editor was being enabled when saving the map on closing the editor. #jira UE-45415 Change 3475054 by Yannick.Lange Fix crash when adding a camera to the world in VR Mode the second time. The slate application did not reset when stop dragging in VR Mode, so the second time when starting to drag a camera out of the UI it would already by in a dragging state. #jira UE-45574 Change 3475263 by Nick.Darnell Fixing some additional cases of IModuleInteface SharedPtr usage. Change 3475268 by Max.Chen Sequencer: Set jumped state when looping playback. This fixes an issue where audio doesn't stop and restart when looped. #jira UE-45654 Change 3475269 by Max.Chen Scene Outliner: Additional filters should only apply to actor browsing mode Change 3475407 by Nick.Darnell Fixing some clipping / module shared ptr changes in the launcher code. Change 3475542 by Max.Chen Sequencer: Update thumbnail and section highlighting to use new clipping behavior. #jira UE-45692 #jira UE-45689 Change 3475743 by Michael.Dupuis #jira UE-45183: When updating phyx region take into account simple collision mip Change 3475949 by Arciel.Rekman Remove PhysX deoptimization (no longer needed). - OR-24947 has been closed three months ago. Change 3476022 by Michael.Dupuis #jira UE-45560: Make sure we're not going out of range Change 3476063 by Michael.Dupuis #jira UE-45562: Do not try to unregister from static mesh if no static mesh is specified for the component Change 3476168 by Michael.Trepka Added handling of directory symlinks to FApplePlatformFile::IterateDirectory #jira UE-43704 Change 3476172 by Nick.Darnell Fixing a Imoduleinterface change. Change 3476183 by Jamie.Dale Exposing GoTo/ScrollTo to single-line editable text for API parity with multi-line editable text Change 3476385 by Arciel.Rekman Linux: handle symlinks when iterating directories. Change 3476522 by Michael.Trepka Solved a problem with Mac FMallocTBB::Malloc() returning nullptr for 0 bytes allocations, which is inconsistent with other platforms. On Mac we always scalable_aligned_malloc, which behaves differently than scalable_malloc, so for 0 bytes requests we allocate sizeof(size_t), which is exactly what scalable_malloc does internally in such case. Change 3476806 by Nick.Darnell UMG - Focus the designer after dropping a widget onto the surface. Change 3476809 by Nick.Darnell Curve Editor - Enable Clipping on the curve editor. Change 3477475 by Nick.Darnell Fixing a module interface shared ptr usage in UT. Change 3477553 by Yannick.Lange VR Editor: Removed AssetEditorPanelID and replaced it with TabManagerPanelID. A panel for AssetEditorPanelID was never created making it impossible to open an asset editor. Change 3477734 by Yannick.Lange VR Editor: Fix Warning: SetRelativeScale3D : Invalid Scale entered (X=inf Y=inf Z=inf). Resetting to 1.f. warning when adding CineCameraActor to World from Modes Panel. Make sure to not divide by zero when there is no boundary scale. #jira UE-44933 Change 3477761 by Jamie.Dale Some improvements to avoid loading the native .locres files twice when we don't need to Change 3477780 by Nick.Darnell PR #3250: Return correct VirtualUserIndex (Contributed by projectgheist) Change 3477786 by Nick.Darnell PR #3650: Changed TestNull to accept const pointers. (Contributed by e-agaubatz) Change 3477795 by Nick.Darnell PR #2844: UE-36936: Don't stretch container for Plugin Image (Contributed by projectgheist) Change 3478092 by Nick.Darnell PR #2341: Optional Middle Mouse Button panning in Graph Editor (Contributed by flipswitchingmonkey) Engine Edit - Made some small changes to the enum type, and some naming. Change 3478450 by Nick.Darnell Fixing some uninitialized variable errors. Change 3479827 by Andrew.Rodham Sequencer: Addressed serialization issues with some struct types Change 3479874 by Jamie.Dale Fixed "NativeGameLanguage" not being used correctly during localization initialization Change 3480012 by Andrew.Rodham Sequencer: Fixed loading tagged properties as native for track identifiers #jira UE-45823 Change 3480337 by Alexis.Matte Fix morph target crash missing some valid index check Change 3480804 by Alexis.Matte Fix crash with ColorGradingMode custom detail #jira UE-45638 Change 3480892 by Andrew.Rodham Sequencer: Ensure that movie scene sequences know about the editor object version #jira UE-45842 Change 3481073 by Nick.Darnell Fix the shader compiler error from main in Slate. Change 3481303 by Nick.Darnell UMG - Fixing a bug with the drag handle not working correctly in HDPI mode. Change 3481308 by Nick.Darnell Slate - Tweaking the IsWidgetCulled logic to consider both the layout and rendering bounds. If we do this, we get a much more desireable outcome for people that want to animate widgets and such and plan to have temporary animations to move the widget offscreen, but want the layout bounds to anchor that widget in the visible frame so that it animates even when normally it would be culled b/c the render transform and therefore the renderbounds moved it completely outside the culling rect. Change 3481629 by Max.Chen Sequencer: Add Level Sequence Actor as an output for CreateLevelSequencePlayer() #jira UE-45785 Change 3481899 by Yannick.Lange VR Editor: Added debug modetoggle command with an event that is broadcasted whenever this happens. Currently this is used to show all the floating UIs of the UI system to debug without HMD using VREd.ForceVRMode. Change 3481984 by Michael.Dupuis #jira UE-45845: always validate if we have a static mesh before trying to access it as user can decide to not assign one and use the tools Change 3482047 by Nick.Darnell Slate - Adding some comments to IsWidgetCulled. Change 3482110 by Nick.Darnell Slate - IsWidgetCulled is no longer static and is now called IsChildWidgetCulled. Change 3482136 by Jamie.Dale The CamelCase break iterator now treats digits around character tokens as part of the identifier Change 3482138 by Michael.Dupuis #jira UE-45854: Properly unregister during undo operation Change 3482150 by Michael.Dupuis #jira UE-45845 : Add missing nullcheck for GetStaticMesh Change 3482153 by Nick.Darnell Slate - IsWidgetCulled is no longer static and is now called IsChildWidgetCulled. Change 3482180 by Nick.Darnell UMG - Widget Components do not need to define a widget class to be rendererd, they can have native slate widgets only. This was a regression from main. Change 3482273 by Nick.Darnell UMG - Tweaking some more things about the widget component box outline. Change 3482308 by Alexis.Matte Fixing morph target smooth group support. Do not call FillSkeletalMeshImportData more then once on FbxNode since this fonction is doing some conversion and change the FbxNode, applying those conversion twice do not return the same faces smooth group. #jira UE-45696 Change 3482327 by Nick.Darnell UMG - More tweaks to the WidgetComponent so both shows the box outline, but works in game and VR editor. Change 3482705 by Andrew.Rodham Resaving assets that contain legacy data to suppress CIS warnings. - If conflicts arise in these assets, please take game-side changes and ignore these. Change 3484245 by Max.Chen Sequencer: Evaluate on end scrub. This fixes a bug where audio doesn't evaluate in a stopped position at the end of scrubbing, causing it to not stop all sounds. This fixes a bug introduced from 3365018 where evaluate on end scrub was removed. #jira UE-45905 Change 3484263 by Max.Chen Sequencer: Fix crash on forcing refresh of details panel on release. #jira UE-45911 Change 3484431 by Andrew.Rodham Resaving assets that contain legacy data to suppress CIS warnings. - If conflicts arise in these assets, please take game-side changes and ignore these. Change 3484474 by Alexis.Matte Fix the morph target animation curve name matching. #jira UE-20294 Change 3484475 by Alexis.Matte When removing a LOD, make sure we remove all morph target data associate to the LOD. Change 3484489 by Nick.Darnell PR #3668: UE-45908: Cache debug line locations when performing a LineTraceMulti (Contributed by projectgheist) #jira UE-45908 Change 3484692 by Nick.Darnell Slate - Reverting a change from a game stream. All Arranged Children don't need to allocated 42 to begin with. Do need to initialize WidgetPaths better. Change 3484703 by Nick.Darnell Player Input - Making the input event loop for players obey EKeys::NUM_TOUCH_KEYS, rather than being set to Touch10, as the maximum touch input amount, to make supporting greater than 10 touches easier. Also making the seeding of keys use EKeys::NUM_TOUCH_KEYS. #jira UE-43213 Change 3484918 by Jamie.Dale Fixed font measuring regression with RTL text RTL applies the character count to the next glyph, so it shouldn't process the end of the loop (this was how the older code used to work). Change 3485718 by Nick.Darnell Editor - Removing Super Search & User Feedback button. Change 3485719 by Nick.Darnell Portal - Removing SuperSearch. Change 3485751 by Matt.Kuhlenschmidt Fix crash accessing platformer game menu if the menu is open during a console based load #jira UE-45950 Change 3486047 by Arciel.Rekman Linux: add OpenEXR implementation (UE-40270). #jira UE-40270 Change 3486467 by Max.Chen Sequencer: Reset max tick rate when destroyed. #jira UE-45956 Change 3486477 by Max.Chen Sequencer: Refresh outliner when column is removed. #jira UE-45891 Change 3486667 by Andrew.Rodham Added missing include Change 3486724 by Andrew.Rodham Sequencer: Fixed curves with no default value, and no keys being evaluated and applied to properties - Also fixed an edge case where a zero (but non-animated) channel could be applied to a final transform Change 3486730 by Alexis.Matte In the Auto-Reimport options, hide the mout point only for the default /Game/ folder #UE-45684 Change 3486749 by Alexis.Matte Make sure the parent window of the monitor directory browse folder is set properly #jira UE-45682 Change 3486805 by Matt.Kuhlenschmidt Additional safety against invalid objects being accessed by slate Change 3486848 by Alexis.Matte Make sure Monitor folder feature support root mount point map folder During auto import, give priority to asset import factory over the scene import factory #jira UE-45691 Change 3486879 by Andrew.Rodham Removing obsolete QA assets Change 3486950 by Nick.Darnell PR #2281: Scrollbar missing features and SScrollbar fixes (Contributed by SNikon) Review - made some adjustments from the original. Change 3486954 by Nick.Darnell Slate - Moving the STableViewBase over to the FOverscroll class, rather than it's own clone. Change 3486967 by Nick.Darnell Slate - Fixing some HDPI calculations for fitting new windows on screen, it was using the unscaled size of the widgets for fitting, when it needed to scale them up. Change 3486970 by Andrew.Rodham Sequencer: Delay mouse capture until drag for sequencer time slider - Fixes context menus not opening as a result of mouse capture being taken on mouse down #jira UE-45937 Change 3486984 by Andrew.Rodham Sequencer: Improved blending type iconography Change 3486996 by Nick.Darnell UMG - Adding a way for games to opt-out of the slow widget path, to completely prevent them from being cooked. UMG - The movie data is no longer cloned for each new instance that inhabits. It now keeps a reference to the now publically accessible movie scene data on the class instead. Change 3487070 by Andrew.Rodham Sequencer: Added graphics for key areas that represent empty space Change 3487195 by Andrew.Rodham Sequencer: Changed evaluation groups to always flush implicitly - Due to the latent nature of blended token types, it's no longer safe to rely solely on execution token order between tracks - This fixes an issue where events set in the PostEvaluation stage were executed before blended token actuation Change 3487322 by Nick.Darnell PR #2457: Add .gitdeps.xml-files for plugins support (Contributed by bozaro) Change 3487363 by Nick.Darnell PR #2481: Fix for packing of a project with users plugins (Contributed by yatagarasu25) Change 3487439 by Nick.Darnell PR #2642: Changed private to protected in SVirtualJoystick.h (Contributed by Skylonxe) Change 3487500 by Arciel.Rekman Removed LinuxNativeDialogs. - No longer used; has been superceded by SlateDialogs since UE 4.8 (2 years ago). Change 3487630 by Lauren.Ridge Don't create Landscape Info Maps for Editor Preview Worlds or thumbnail worlds #jira UE-44885 Change 3487864 by Matt.Kuhlenschmidt Exposed the asset registry to blueprints and script. Works in editor scripts and runtime scripts AssetRegistry is now a UInterface object. Blueprint users can access various asset registry methods using the asset registry interface (via GetAssetRegistry) and various static helpers in the AssetRegistryHelpers object C++ users should still continue to use IAssetRegistry. Change 3487879 by Matt.Kuhlenschmidt Renamed asset tools uobject helper to UAssetToolsHelpers Change 3487926 by Lauren.Ridge Fixing reset to default not showing up for custom widgets #jira UE-44164 Change 3488184 by Matt.Kuhlenschmidt PR #3656: Make References/Referencers List copyable (Contributed by user37337) #jira UE-45763 Change 3488240 by Matt.Kuhlenschmidt Fix compiler issue Change 3488350 by Lauren.Ridge Landscape info map transactional state is based on its world's transactional state #jira UE-44885 #jira UE-46019 Change 3488412 by Matt.Kuhlenschmidt Fix reset to default showing up in two different places for some customizations Change 3488413 by Matt.Kuhlenschmidt Fix slate font customization Change 3488414 by Matt.Kuhlenschmidt Fix slate font customization Change 3488415 by Matt.Kuhlenschmidt Missed file Change 3488565 by Arciel.Rekman Add pretty printers for gdb (UETOOL-1171). - Committing shelf by Cengiz.Terzibas, with some modifications. #jira UETOOL-1171 Change 3489094 by Nick.Darnell Slate - The Slate RHI Renderer now caches the TextureLODGroups so that it can properly lookup the filtering of different texture groups that are set to Default, instead of a particular filter override on a texture. Engine/Rendering - Simplifying some of the setup logic in TextureLODSettings so that code is shared for setting them up properly after loading from a config file. Change 3489095 by Nick.Darnell PR #2699: GameViewportClient - Added a method to allow setting the viewport cur. (Contributed by rfenner) Review - Fixed spacing. Change 3489108 by Matt.Kuhlenschmidt Fix deprecation warning Change 3489120 by Nick.Darnell PR #3478: Fix possible UComboBoxString crash (Contributed by nakosung) Change 3489147 by Andrew.Rodham Sequencer: Adding return value to function to appease static analysis - This function is never compiled, and if it is, it won't compile, but static analysis doesn't know that Change 3489264 by Nick.Darnell Testing - Finishing the thought behind an enum comment. Change 3489265 by Nick.Darnell PR #2750: UE-35164: Button padding (Contributed by projectgheist) Change 3489267 by Nick.Darnell PR #3645: UE-45464: Handle SSlider mouse interaction more accurately (Contributed by projectgheist) Change 3489632 by Arciel.Rekman Correctness changes to MallocPoisonProxy. - Missing forwarding functions added. Incorrect comment removed. - Change by Steve.Robb, doing here so it is in 4.17. Change 3489689 by Arciel.Rekman More MallocPoisonProxy changes I missed in previous CL. Change 3489751 by Matt.Kuhlenschmidt Moved editor performance settings out of per-project settings so they can be shared across projects Change 3489837 by Lauren.Ridge Keyboard shortcut for entering/leaving VR Mode is now Alt+V Change 3491082 by Arciel.Rekman Linux: better fix for the crash due to name collision (UE-46040). - Put classes in Sequencer module into Sequencer namespace instead of SceneOutliner namespace. - Undid change in the SceneOutliner module. #jira UE-46040 Change 3491096 by Arciel.Rekman Fix UAT compilation on the newest mono. Change 3491240 by Max.Chen Sequencer: Disable key button when allow level edits only is on. #jira UE-46060 Change 3491406 by Yannick.Lange Fix editor crashes when opening a project that includes a plugin with more than two custom Volume classes. This issue was caused because registering show volume commands is based on finding volume classes. Finding these classes at multiple times resulted in a mismatch of the returned array of volume classes because modules/plugins were still being loaded. #jira UE-45806 Change 3491559 by Alexis.Matte Make sure we use the good preview mesh when doing a preview #jira UE-45963 Change 3491563 by Alexis.Matte Fix crash with staticmesh editor LodLevel selection Change 3491564 by Nick.Darnell UMG - Fixing an offset with the grab handles in HDPI mode. Change 3491595 by Nick.Darnell Editor - Fixing a clipping artifact in the pin type dropdown in the blueprint editor. Change 3491604 by Nick.Darnell Back out changelist 3489265 Change 3491615 by Arciel.Rekman Added malloc replay proxy (Linux only for now). - Allows to dump malloc callstream (without regard to threads) and replay later to study the behavior of different mallocs and/or repro problems. Change 3491684 by Arciel.Rekman Added FMalloc functions I missed. - Also moved function bodies into the .cpp file, this does not make a difference in performance in this case. Change 3491692 by Matt.Kuhlenschmidt Some minor fixes to the static mesh editor - Fix UV combo button looking non-standard on the toolbar - Fix a few combo buttons in the details panel looking too big. Change 3491702 by Arciel.Rekman Do not compile replay proxy-specific code when not used. Change 3491717 by Michael.Dupuis #jira UE-35083: The component is now the owner of the PerInstanceRenderData instead of the proxy Add an Update path to only update specified instances range Always call BuildTreeIfOutdated so we have a standard code path to make sure static mesh are fully loaded before trying to build the tree Moved the Instance Buffer aysnc to the base class, as it's not related to UHierarchicalInstancedStaticMeshComponent Expose a new property to decide if we require dynamic instance buffer Change 3491758 by Matt.Kuhlenschmidt Fix crash on static mesh editor shutdown Change 3491873 by Cody.Albert Fixed clipping issue in Sequencer curve editor #rnx Change 3491956 by Matt.Kuhlenschmidt Fix crash opening the Previewing sub-menu in the level editor settings menu #jira UE-46095 Change 3492046 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3492076 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3492165 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3492222 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3492274 by Michael.Dupuis #jira UE-46105: Fixed Clang warning Change 3492338 by andrew.porter QAGame: Testing ensure when submitting Change 3492371 by Nick.Darnell UMG - Reverting the animation sharing, cossed GLEO regressions in cooking. Will look for a better solution. Change 3492462 by Matt.Kuhlenschmidt Fix ensure checking in files through perforce Change 3492491 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3492505 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3492517 by Jamie.Dale The package localization ID is no longer used at all at runtime, and is now truly editor-only This should have always been the case, but it was leaked into manifest/archives/PO files in 4.14, and while 4.15 removed it from PO files it was still present in the manifest/archives. This change removes it entirely (unless gathering editor-only data, and even then the PO file will still collapse the entries together for translation), and the deprecated 4.14 export behavior will now produce an error if you attempt to use it. After taking this change you'll need to run a gather, import, and compile of your LocRes files to update your game localization to use the new localization IDs. Change 3492630 by Nick.Darnell UMG - Removing some extra cleanup code that's probably overkill and is causing a crash for uses of "Within" in class meta. #jira UE-46124 Change 3492692 by Matt.Kuhlenschmidt Fix drop shadows inheriting the outline color of the font. The outline should still appear but not have a different outline color from fill color Change 3492714 by Matt.Kuhlenschmidt Added outline with drop shadow to font automation test Change 3492737 by Matt.Kuhlenschmidt Fix linux Change 3492992 by tim.gautier Resaving Ocean Widget Blueprints / Sequences to resolve Legacy Sequence Data warnings #jira UE-46132 Change 3493089 by Jamie.Dale Ensure that the composite font of a font asset is flushed when the font object is GC'd Change 3493322 by Jamie.Dale Fixing null crash #jira UE-45758 Change 3494467 by Andrew.Rodham Fix Xbox warning Change 3494852 by tim.gautier QAGame: Changed streaming method of QA-EditorSmoke-Landscape to Always Loaded Change 3494853 by Nick.Darnell Another attempt at fixing the automation blueprint SA warning. Change 3494896 by Arciel.Rekman Fix possible null pointer access during Vulkan init. - May fix static analysis warnings in UE-46142, although warnings seem to be referring to something else. #jira UE-46142 Change 3494987 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3495010 by Matt.Kuhlenschmidt Adding additional logging to track down html5 issue Change 3495212 by Michael.Dupuis #jira UE-46143: Properly init the InstanceRenderData during the cooking phase (required by fortnite) Change 3495536 by Jamie.Dale Updating UGameEngine to call its Super::PreExit after performing its own teardown This prevents UEngine cleaning up resources that UGameEngine still needs. #jira UE-46159 Change 3495551 by Arciel.Rekman Another attempt to fix analyzer problem (UE-46142). Change 3495794 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3495905 by Matt.Kuhlenschmidt Fix USD crash when importing a meshwith no material [CL 3499771 by Matt Kuhlenschmidt in Main branch]
2017-06-19 20:27:30 -04:00
{
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3946692) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3801826 by Max.Chen PR #4304: Level Sequence crash fix - Guarded against dereferencing null componen. (Contributed by DSDambuster) Change 3801828 by Max.Chen PR #4302: Movie Scene Visibility Template unitialised variable, causing random . (Contributed by DSDambuster) Change 3801837 by Max.Chen Sequencer: Delay spawning/construction for convert to possessable. This fixes a bug where property values would be lost when converting back and forth from possessable to spawnable. #jira UE-52400 Change 3801841 by Max.Chen Sequencer: Make spacer nodes not selectable. PR #4194: Improvements to Sequencer (Contributed by projectgheist) #jira UE-53117 #jira UE-52139 Change 3804183 by Max.Preussner MediaAssets: Added missing lock in media sound component Change 3805414 by Max.Preussner MediaAssets: Setting valid GUID when initializing media texture resource Change 3819578 by Max.Chen PR #4370: When enabling the "MovieCapture", do not turn off the Stereo-3D display. (Contributed by yehaike) #jira UE-53647 Change 3823414 by Max.Chen Curve Editor: Lock down the first and last keys in the redundant keys removal range so that they're unaffected. #jira UE-53591 Change 3826406 by Max.Chen Sequencer: Move OnStartedPlaying() to within first update in UpdateTimeCursorPosition(). This fixes an issue where setting the hud/player visibility was getting stomped on later. #jira UE-52772 Change 3827044 by Max.Preussner MediaAssets: Added sprite visualization to media sound component #jira UE-53594 Change 3827988 by Max.Preussner MediaPlayerAssets: Fixed Media Texture is not linked to Media Player when created together #jira UE-53532 Change 3828506 by Max.Preussner MediaPlayerEditor: Added attenuation visualizer for media sound components #jira UE-53594 Change 3832590 by andrew.porter EngineTest: Added a keep state check in Property Animation sequencer test Change 3833053 by andrew.porter EngineTest: Adding Hierarchical Bias test Change 3835683 by andrew.porter EngineTest: Adding UMG Animation screenshot test Change 3836076 by Max.Chen Sequencer: Fix audio volume and pitch multiplier deprecation. Change 3836230 by andrew.porter EngineTest: Adding Sequence Bone Position automation test Change 3836347 by Max.Chen Sequencer: Fixes to shot name parsing. When a shot doesn't contain a shot number, assume, [ShotName]_[TakeNumber]. When duplicating a shot, put the new shot in the same path of the original shot, so that the take numbers will increment properly. #jira UE-51868 Change 3836552 by Max.Chen Sequencer: Sub section now has a takes menu Change 3838094 by Max.Chen UMG: Fix template finish not getting called on stop. This fixes a bug where sections aren't restored when finished. #jira UE-52285 Change 3838708 by Max.Chen Sequencer: Add notification when the blend type is changed. #jira UE-54046 Change 3840295 by Max.Chen Sequencer: Fix copy/paste crash for lights #jira UE-54084 Change 3840957 by Mike.Zyracki Added Show Only Keyable and Show Only Animated to the filter list in the property editor. Added IsPropertyAnimated to IDetailKeyframe Interface which already had support for showing properties which are keyable (which is used for the key icon next to the properties.). Could have created another interface but then would have had to mimic the sequencer binding, releasing also, so this seemed best way. One issue still left is that custom built detail items currently don't store associated properties(usually) and so certain properties, in particulalry transforms, won't show up as keyable or animated. Note this also shows up with the keyable icon not showing up next to transform tracks, and other filters like Show Only Modified not working with transforms/customs. Not sure best way to tackle this. #jira UESEQ-328 Change 3841756 by Max.Chen Sequencer: Fix unbound possessable components when pasting spawnables. #jira UE-54104 Change 3843950 by andrew.porter EngineTest: Renaming LevelStreaming tests/content to LevelVisibility Change 3844082 by Mike.Zyracki Missing file for animated filter in property editor. When finding if a track is animated we need to find it but we can't easily induce the MovieTrack class for any particular property. So we don't set a class for it and just search by it's ID and name. #jira UESEQ-328 Change 3846902 by Max.Preussner ImgMedia: Fixed image media player never finished initialization if loading failed #jira UE-54247 Change 3849820 by Mike.Zyracki Reassigning deleted widgets didn't work since the menu extender mechanism needs a valid UObject in order to perform an operation on it. So to fix we replaced GetObjectBindingContextMenuExtender in WidgetBlueprint with new delegate mechanism (OnBuildCustomContextMenuForGuid) that supports FGuid in addition to UObjects which is needed to handle re-binding deleted widgets. Note that the default sequencer hacks this for replacing deleted actors in SequencerObjectBindingNode to check to see if a LevelSequence is active. We could move to this mechanism there also. #jira UE-53163 Change 3852211 by Max.Chen UMG: Indicate name of the property that is not bound. #jira UE-54350 Change 3854120 by Max.Chen Sequencer: Fix sibling folders being allowed to have the same folder name. #jira UE-54363 Change 3854627 by Max.Chen Sequencer: Step to next/previous key should work for all tracks if there aren't any selected. #jira UESEQ-391 Change 3855825 by andrew.porter EngineTest: Adding animation blending automation test Change 3855950 by andrew.porter EngineTest: Adding correct expected valuues to animation blending test Change 3856237 by Matt.Hoffman UESEQ-336 - Sequencer Track Reordering Adds the ability to re-order Master Tracks, Folders and Object Bindings within sequencer hierarchies (including UMG). Adds the ability to do a one-off sorting of the content under the old sorting behavior if the user wants to reset their layout to how it was under legacy behavior. Modifies SequencerTrackNodes, SequencerFolderNodes and SequencerObjectBindingNodes to handle CanDrop/OnDrop for above, below and ontop of. Fixes a Slate Issue that forcibly expanded a TreeviewRow if an item handled OnDrop. Slate will now only forcibly expand the row if the item says the drop happened ontop of the item, and not above or below it like it previously did. Change 3856503 by andrew.porter EngineTest: Adding automation test for using animation blueprint with blend multi node in sequencer Change 3857875 by Max.Chen Sequencer: Assign the sequence id after the template is compiled. #jira UE-54462 Change 3858344 by Max.Chen Sequencer: Prevent Goto and Transform boxes from overlapping by allowing them to be visible at the same time in an autosized horizontal box. Also, added close button to the goto box. PR #4425: Prevent Goto and Transform boxes from overlapping in Sequencer ... (Contributed by projectgheist) #jira UE-54210 Change 3860566 by andrew.porter MediaFrameworkTest: Set the option to index 0 for the audio and video track list by default Change 3860654 by andrew.porter EngineTest: Enabling Camera Cut + FOV test Change 3860981 by andrew.porter EngineTest: Updating skeletal mesh tests with a delay after set playback position Change 3861256 by Max.Chen Sequencer: Add all bindings if none selected. #jira-54440 Change 3862154 by Andrew.Rodham Added TimeManagement module Change 3862424 by andrew.porter EngineTest: Turned on the test Bone Positions with Blend Multi Node Change 3862573 by andrew.porter EngineTest: Adding test to compare bone positions in a sequence that is blending an animation that is using an AnimBP Change 3865117 by Max.Chen Sequencer: Stop auto scroll on mouse release of movement. #jira UE-31212 Change 3865303 by Max.Chen Sequencer: Add drag and drop transactions #jira UE-54662 Change 3865304 by Max.Chen Sequencer: Fix crash when an actor factory is not found. Change 3865361 by Max.Chen Sequencer: Don't change the camera/shot lock button when popping out of a sequence. #jira UE-54665 Change 3865412 by Max.Chen Sequencer: Determine whether a transform track is for a camera by using the spawned object or template #jira UE-54666 Change 3865685 by Max.Chen Sequencer: Clear autoscrub offset when stopping autoscroll #jira UE-31212 Change 3865886 by Max.Chen Sequence Recorder: Log an error if the number of frames changes while recording. This can happen if the skeleton changes while recording. #jira UE-48715 Change 3866925 by Andrew.Porter MediaFrameworkTest: Changing the current PNG test video image sequence to 1024 x 576 Change 3867705 by andrew.porter QAGame: Adding Audio Sort Sequence to dev folder Change 3867890 by andrew.porter QAGame: Adding a sequence for testing a sorting crash to my dev folder Change 3872628 by Max.Chen Movie Scene Capture: Split delay before warmup into split delay before shot warmup so that there's separate controls for when the movie scene capture warmups up vs. shot boundaries. Change 3873131 by Matt.Hoffman UE-54732 - Crash reordering a folder with a track. This was caused by folders being the only type of track to check if someone was putting a parent track into a child track. Object Binding tracks and Tracks now check as well so that you can't use the above/below drop targets to add parents as children. This also fixed a typo in the localization keys. #jira UE-54732 Change 3873301 by Mike.Zyracki Added ability to support continous euler angle changes when changing rotations, in particularly with the rotation gizmo's. To do this we effectively added a form an of 'euler filter'(https://en.wikipedia.org/wiki/Euler_filter) to find the closest euler angle to the current euler angle. Three functions were added to FRotator to make this possible, one to get the euler angle that's has the same rotation as it, one to get the difference between two euler angles via Manhattan distance and a third using the previous two to choose a Rotator value that's closest to it. We then use these functions before calling UComponent::SetRelativeRotation to make sure we use the correct Euler after the Quat conversion. We also no longer limit(bound) the euler angles to -180,180, which is obviously necessary to avoid flips. I also changed how we caluclate yaw and roll when pitch is -90 or 90 to make it the standard approach of zeroing out roll and just setting yaw. Main reasons are the previous implementation had precision issues so things like 180, 90, -180 would show up due to numbers being nearly zero but negative,(this would break any smooth interpolations), and this facilitates having a 'gimbal' rotation mode (like Maya, Blender etc..) if we ever want that also. If needed we could keep the previous implementation but would need to add some FMath::IsNearlyZero checks, with less performance. Note we only do this special filtering when applying delta's to actors or components in the editors, which then call UComponent::SetRelativeRotationExact, which is a new function to foces the RelativeRotation to be equal to the new rotation. This allows us to store un-nomalized Rotators at the cost that the RotationCache may be broken. We didn't change any of the other UComponent functions that set rotations (via Quats or Transforms) so they will still be bounded and unwound. In SetInternalWorldLocationAndRotation we only set the rotation if the rotation has changed, which fixes the rotation getting changed and re-normalized if just translate happens. In TransformTrackEditor, we correclty use the bUndwing flag and in MovieScene3DTransformSection there was an un-needed winding check there, it will be unwound earlier if needed, which happens if Sequence Recording is happening. Max we should talk about what to do about this . Note the euler angle drag via the widget is still bound to 0-360. I think we should just unbound that now since the rotations value are now unbound. This review now includes fixes suggested by Zak. #jira UE-UE-22228 Change 3873483 by Matt.Hoffman Sequencer Tracks can now be inserted above the spacer at the bottom of the tree. #jira UE-54706 Change 3873899 by Max.Chen Sequencer: Add section selection throbbing Change 3873908 by Max.Chen Movie Scene Capture: Added logging per frame Change 3873924 by Matt.Hoffman Adds the ability to store Sequence Recorder setups into profiles that stay with the map and can be re-loaded later. Profiles store the Actor Recordings so the settings for each actor should carry with them. #jira UESEQ-339 Change 3874726 by Matt.Hoffman Disable drag-and-drop targets on spacers that come between rows in Sequencer. This prevents extra drag/drop targets showing up between each row. #jira UE-54706 Change 3874862 by Matt.Hoffman Audio Track no longer gets reordered when adding sub-audio tracks, as sub-tracks are no longer counted towards the sorting order index when normalizing indexes. #jira UE-54727 Change 3875905 by Matt.Hoffman Disable Fade Track UI if a fade track already exists in the sequence. #jira UESEQ-393 Change 3876163 by Max.Chen Sequencer: Swap the camera object to the camera component's owner if it's not the same. #jira UE-54874 Change 3876971 by Andrew.Porter EngineTest: Moved Media Player Seek test to new folder. Also enabled the test with new ground truth image. Change 3877040 by Max.Chen Cine Camera: Split camera properties to two groups, "Camera Options" and "Camera Settings". The cine camera now hides properties in the "Camera Settings" group so that properties like bConstrainAspectRatio (in the "Camera Options" group) can be visible. #jira UE-54192 Change 3877763 by Max.Chen Curve Editor: Fix curve changed on end drag so that only curves that had keys/tangents that were changed receive notification, otherwise all loaded curves were getting notified that they were changed. #jira UE-54951 Change 3878234 by Matt.Hoffman Disable "Drop Below" targets for Sequencer Tree nodes to prevent a confusing UX issue where dropping underneath a Object Binding Node puts it after the object binding node but the UI looks like it's inserting it inside the Object Binding node. #jira UE-54743 Change 3879359 by Mike.Zyracki If a track is inactive we dim it a bit which seems to be the UE4 way to show inactive or disabled state. We changed the active logic so that all subtracks need to be inactive for the track to also be inactive(instead of all active for active). This conforms to how the active state actually works, e.g if you have two sections and only one is active the track is still active above it. #jira UESEQ-388 Change 3879462 by Max.Chen Sequencer: Allow dragging onto a particular row which would move out any overlapping sections to make space for the newly created section. Newly created sections are now selected and throbbed to draw attention to themselves. #jira UE-54664 Change 3879464 by Max.Chen Sequencer: Fixed overlapping ranges being inserted into the evaluation field during compilation - The issue was that track segments that had been combined with adjacent segments (due to them being identical) would potentially cause a subsequently compiled frame to overlap with a range that had already been inserted into the evaluation field. - The insertion code previously asserted that only minor overlaps were catered for (due to fp rounding errors) and assumed that a supplied range could not entirely contain any other range in the field. - The solution is to supply the insertion time along with the range to know exactly where the data should live in the field, and crop the range to the maximum allowable space between adjacent ranges. #jira UE-54922 Change 3879590 by Matt.Hoffman Items that are now added to the Sequencer via the "+Track" menu will be selected after being added. Items can now be added inside of folders instead of just to the root level. #jira UE-27397 Change 3879612 by Mike.Zyracki Display Nodes with no children are always active. #jira UESEQ-388 Change 3879730 by Matt.Hoffman Sequence Recorder's actor recording groups now remove items from the group when removed via the UI. #jira UESEQ-339 Change 3880256 by Mike.Zyracki Fix issue with inactive display with folders and other track nodes. #jira UESEQ-388 Change 3883491 by Max.Chen Fix issue where tick is skipped due to last ticked pose isn't cleared after AnimInstance changes. Copy from Release-4.19 #jira UE-51323 Change 3883603 by Max.Chen Movie Scene Capture: Add option toggle disable screen percentage. By default this is on (no change in current behavior). #jira UE-51898 Change 3885074 by Max.Preussner MediaCompositing: Resetting media texture & freeing resource on section end; removed dead code Change 3887220 by Max.Preussner MediaCompositing: Defaulted media section duration to 1 sec (since we do not know the actual duration in most cases) Change 3887478 by Matt.Hoffman Sequences now show [Inactive] in their title bars when they're disabled. This helps communicate why a sequence isn't being evaluated. #jira UE-51469 Change 3888985 by Max.Chen Movie Scene Capture: Clamp HDR Compression Quality between 0 and 1. #jira UE-55136 Change 3893519 by Max.Chen Sequence Recorder: Clarified tooltip for bRecordNearbySpawnedActors - spawned actors will still be recorded if they match the ActorFilter. #jira UE-55238 Change 3893546 by Max.Chen Sequence Recorder: If a selected actor already has a recording, add a blank recording. #jira UE-55239 Change 3894044 by Max.Preussner MediaCompositing: Added support for seeking into a media section Change 3894310 by andrew.porter MediaFrameworkTest: Adding Img media sources for 1080 and 2160 ravent test content Change 3894426 by Max.Preussner MediaAssets: Letting media textures with AutoClear retain their clear color when player is reset Change 3895717 by Max.Chen Sequencer: Null checks to prevent crash when saving the default state of a spawnable #jira UE-55304 Change 3897388 by Max.Chen Sequencer: Don't update current time to be within the view range when stepping into a sequence. #jira UE-55322 Change 3897452 by Max.Chen Audio: Fix crash when trying to record audio without any active capture devices. Log warning if the number of input channels is not 1 or 2. #jira UE-55223 Change 3897619 by Max.Preussner MediaCompositing: Removed commented out code Change 3898072 by Max.Chen Sequencer: Override the animation asset in the player state if it doesn't match the animation asset that's being evaluated. #jira UE-55328 Change 3898272 by Max.Preussner MediaPlayerEditor: Made slate brush constants static Change 3898704 by Max.Chen Sequencer: Skip if the binding id's sequence can't be found. #jira UE-55337 Change 3899855 by Max.Preussner MediaCompositingEditor: Added cache state visualization to media track Change 3900300 by Max.Preussner MediaCompositingEditor: Added loop indicators to media sections Change 3900694 by Max.Preussner ImfMedia: Looping cache only when player is looping Change 3900892 by Max.Preussner Stats: Added stats category for media framework Change 3900954 by Max.Preussner MediaCompositing: Don't evaluate at the end of media section Change 3901348 by Max.Preussner Core: Replaced TLruCache autos for better readability Change 3901655 by Max.Preussner ImgMedia: Added more perf stats to EXR reader Change 3901972 by Max.Preussner MediaAssets: Added getter for media player in media sound components Change 3902233 by Max.Preussner MediaAssets: Enabling media textures to receive samples right after player is assigned Change 3902238 by Max.Preussner MediaCompositing: Working around init/shutdown idiosyncracies in sequencer Change 3904045 by Max.Chen Sequencer: Fix copy/paste crash. Only process UMovieSceneCopyableBinding and objects that can be spawned by the movie scene spawn register. #jira UE-55314 Change 3905605 by Max.Chen Sequencer: Restrict spawnables from being created if they have a ClassWithin that UMovieScene is not a child of. #jira UE-55429 Change 3906550 by Max.Chen Sequencer: Add media track icon #jira UE-55480 Change 3907101 by Max.Chen Sequence Recorder: Fix bugs related to not recording a level sequence. There were certain assumptions that creating a level sequence meant that sequence recording was in progress. This is not always the case - the recorders can record animation assets and not create a level sequence. Changed the notion of IsRecording() to having at least one actor recording that is recording. Countdown timer, recording displays, etc should function if IsRecording() and not based on whether a level sequence is created. #jira UE-55485 Change 3907247 by Max.Chen Sequence Recorder: Fix crash not removing PrepareToCleanseEditorObject delegate. Repros when opening sequence recorder, closing it, and then opening or creating a level. Change 3910343 by Max.Preussner Core: Added async helper for executing functions on a given thread pool Change 3910346 by Max.Preussner ImgMedia: Added separate thread pools for loading/decoding and deleting image frames Change 3910829 by Max.Preussner Profiler: Increased visible range of profiler graph Change 3910841 by Max.Preussner MediaCompositing: Displaying asset name instead of full media source path in media section Change 3910870 by Max.Preussner ImgMedia: Using deallocation thread pool only in debug builds Change 3919642 by Max.Chen Sequence Recorder: Clarify active tooltip #jira UE-55661 Change 3919660 by Max.Chen Sequencer: Sequence template source signatures are now also compared to catch the case where a sub-sequence asset has been saved but not modified - The following sequence of events exposes this issue: - Create a master sequence with a single shot that spawns a cube - Add this sequence to a level and set it to auto-play - Save everything and restart - Resave just the inner shot asset without opening it - PIE - The inner shot never spawns its cube because its template was wiped on save, but its signature never changed. Since the master sequence previously didn't check the template source signature, it ends up trying to evaluate an empty template. #jira UE-55626 #jira UE-55490 Change 3921825 by Max.Chen Sequencer: "Run Construction Script in Sequencer" is off by default for blueprints but on for Sequencer. This allows the content author to switch it on for specific blueprints and sequencer will be default, run those with construction scripts enabled. Change 3922232 by Max.Chen Sequence Recorder: Reset countdelay on stop. #jira UE-55755 Change 3922306 by Max.Chen Sequence Recorder: Don't automatically mark transforms to be recorded by sequence recorder. Instead, log a warning if the user toggled it off to warn that the resulting animation might not match gameplay. #jira UE-55758 Change 3922912 by Max.Chen Sequence Recorder: Fix refresh next sequence name #jira UE-55757 Change 3927654 by Max.Chen Movie Scene Capture: Added format mapping for the name of the current camera #jira UE-55769 PR #4537 Change 3927658 by Max.Chen Sequencer: Added fbx property mapping for "FocusDistance" to "FocusSettings.ManualFocusDistance" #jira UE-55782 Change 3932022 by Max.Chen Sequencer: Add import animation track section to next available row index. #jira UE-55892 Change 3933919 by Max.Chen Sequencer: Jump to playback start frame and not 0 to start playback for recording. #jira UE-55933 Change 3934307 by Andrew.Rodham Sequencer: Add template signature that is re-generated every time the base template is regenerated, which invalidates evaluation fields This fixes an issue where the same sequence is instantiated multiple times in a sequence. If the source sequence was saved, its template would be wiped, which would invalidate the template ID When an instance tries to evaluate the master template, it would only invalidate a range in the evaluation field that was the hull of any invalid sub sequences overlapping the current time, potentially leaving invalid data in the evaluation field at positions later (or earlier) on in the sequence When the sub template was re-generated, it receives the same SequenceSignature as it had before (because the sequence hasn't actually changed), which causes the stale evaluation field data to fail the IsDirty check (because the sequence is the same as it thought, but the *template* has changed) This has been addressed be adding a signature to templates themselves, and checking both the template signature and sequence signature as a part of the IsDirty check. This ensures that we regenerate if either the template, or the sequence have changed. #jira UE-55934 Change 3936327 by Andrew.Rodham Sequencer: Removed increment when trimming right UMovieSceneSection::TrimSection already explicity assigns an exclusive bound to the time passed in. The new behavior means we can trim a section to the right, and insert another section without changing the time to create adjacent sections. #jira UE-42652 Change 3936328 by Andrew.Rodham Fixed KeyFrameManipulator assignment operators and copy/move constructors - These types are potentially self-referential so cannot use default constructors/assignment Change 3936330 by Andrew.Rodham Converted UMGSequencePlayer to use frames internally #jira UE-54878 Change 3936726 by Max.Chen Sequencer: Set track node as the parent of the key area node. The key area switcher needs the object binding id from the parent object binding node. Without this, the binding to the external value fails. #jira UE-55931 Change 3936775 by Max.Chen Sequencer: Should stop or loop should compare DurationFrames with Current Time from StartTime. The bug is that if you set 30 warmup frames in movie rendering for a range of 0-100, the FrameRange will be starting at -30 and have a duration of 130. Without this fix, the playback will continue until frame 130, rather than 100. #jira UE-55933 Change 3936935 by Matt.Hoffman Easing Curves are now represented in Play Rate resolution instead of internal resolution. #jira UE-55937 Change 3937069 by Matt.Hoffman Users can toggle if the is infinite on each side, limited by which tracks support infinite ranges. #jira UE-55891 Change 3937516 by Max.Preussner ImgMedia: Added support for single-threaded platforms #jira UE-55986 Change 3937826 by Max.Preussner MediaAssets: Disabling media sound components on HTML5 if AudioMixer is not enabled Change 3937997 by Max.Chen Curve Editor: Add Zoom to Fit Curves so that selected curves from Sequencer can be focused on. Tested that undo doesn't re-zoom. #jira UE-55935 Change 3938000 by Max.Chen Sequencer: Stop all sounds before generating audio waveforms. #jira UE-55951 Change 3938376 by Max.Preussner XGEController: Disabled XGE Controller in single-threaded apps to prevent crash Change 3938444 by Max.Preussner Core: Added async support for single-threaded applications Change 3938445 by Max.Preussner Networking: Added support for single-threaded applications in UDP socket sender/receiver Change 3938447 by Max.Preussner Messaging: Added support for single-threaded applications Change 3939432 by Max.Chen Sequence Recorder: Append command list to global level editor actions so that shortcuts are accessible in level editor. #jira UE-55798 Change 3940229 by Andrew.Rodham Added prospective display rate upgrade to UMovieScene::PostLoad - There was previously some very odd behaviour that would assign the fixed frame interval only when a sub sequence was focused in SSequencer. This meant that many sequences could have a frame interval of 0 set in the data. - Under the old method of snap interval display this would have fallen back to getting the display interval from the sequencer settings, but we no longer look at these. - The USequencerSettings properties have been removed and in their place, a prospective data upgrade for sequences that have a fixed frame interval old 0fps that sets the play rate to the previous defaults based off the old USequencerSettings defaults. - This could end up 'changing' the display rate for sequences where the user has changed the snap interval in the settings for a particular sequence editor, but there's not much we can do about that given we don't have access to the USequencerSettings classes in UMovieScene #jira UE-55919 Change 3940277 by Andrew.Rodham Sequencer: Added ability to default frame resolutions and play rates for newly created actor sequences Change 3940378 by Andrew.Rodham Sequencer: Post move import dialog now defaults to the playback framerate of the sequence, and floors to frame numbers Change 3940559 by Andrew.Rodham Reinstated primed or recording sequence color Change 3940642 by Max.Preussner ImagePlate: Removed image plate media playback functionality Change 3940843 by Max.Preussner Core: Made TCircularQueue actually thread-safe; improved code comments Change 3940860 by Max.Chen Sequencer: Changed StructNameToKey to StructPathToKey Previously, keying a PropertyPath of [RenderTransform][Shear][X] would get trimmed to X, which doesn't map to a channel name as considered by Sequencer2dTransformTrackEditor. Instead, trim the resulting property path to [Shear][X] so that track editors can determine the desired struct path and channels to key. #jira UE-52966 Change 3941292 by Mike.Zyracki Fix for trajectories out of range not showing up. 1) If we had no key data we would pop the time, so wouldn't get the section ranges. 2) Calculating of upper bound was wrong, checking against -1 and not key == num of keys when doing algo::lower_bound. 3) No need to do the Bck-- for the bakward iterators since we fixed #2. We start now from the upper bound correctly. 4) If we had no keys (at section start,end) we would incorrectly say we were any key type, so since we draw constant keys as dashed we would do so incorrectly around section end points. #jira UE-55929 Change 3941424 by Max.Chen Curve Editor: Change Zoom to Fit to use TArrayView Change 3941498 by Max.Preussner Core: Added FMath::DivideAndRoundNearest function Change 3942097 by Matt.Hoffman Drop Frame Timecode Support for NTSC rates. Change 3942104 by Matt.Hoffman Sequence Recorder Group is no longer visible inside the World Outliner after using one. #jira 55266 Change 3942107 by Max.Chen Sequencer: Resurrect logic to find or extend an existing section when adding keys. Change 3942330 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942339 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942507 by Andrew.Rodham Sequencer: We no longer pad the time overlap threshold with a small number that is not scaled by the current zoom level - The presence of this pad was causing keys that were far apart to be grouped when zoomed in a long way Change 3942509 by Andrew.Rodham Sequencer: Only pad total view range, rather than section range as well when retrieving keys to render - This stops us from rendering keys that are within the view range, but outside the section range Change 3942512 by Andrew.Rodham Added transactions to some sequencer details customizations Change 3942513 by Andrew.Rodham Sequencer: Reinstated validation checks to UMovieSceneSection::SetStartFrame and SetEndFrame, changed erroneous uses to use SetRange Change 3942560 by Andrew.Rodham Pass by rvalue reference to appease error C2719 on Win32 ('InChannels': formal parameter with requested alignment of 8 won't be aligned) Change 3942697 by Andrew.Rodham Newly Created Level Sequences and Actor Sequences now default to 24000 fps frame resolution (+/- ~24hrs range, supporting all integer rates + 23.976) Change 3942700 by Andrew.Rodham Sequencer: Added legacy out-of-bounds errors for times that are not supported by the current legacy upgrade frame resolution Change 3942989 by Max.Preussner Core: Fixed circular queue count calculation Change 3943538 by Max.Preussner MediaAssets: Reverted workaround for procedural audio log spam in HTML5 (Actor component initialization cannot be skipped if the component is used in a level) Change 3944071 by Max.Preussner QAGame: Fixed Media Texture keeps last frame of Media when PIE ends #jira UE-53360 Change 3944292 by Max.Chen Sequencer: Added extra flags to ensure that asset initialization does not occur on template actor sequences #jira UE-56113 Change 3944364 by Max.Chen Sequencer: Prevent circular shot/master tracks. Tested adding master -> child -> master as drag and drop cinematic shot tracks and sub tracks as well as through the + button. #jira UE-56091 Change 3944422 by Max.Chen Sequence Recorder: Disable transform recording if off. #jira UE-56061 Change 3944745 by Andrew.Rodham Sequencer: Key rendering fixes - Fixed assert that occured when keys happened to reside on some times due to KeyTime + TimeOverlapThreshold - KeyTime being slightly larger TimeOverlapThreshold - Fixed keys sometimes being clipped when zoomed right in due to lack of half-frame offset - Added missing documentation to MovieSceneTimeHelpers.h #jira UE-56107 Change 3945231 by Andrew.Rodham Sequencer: Reconstruct channel proxy on Serialize to catch all cases of undo/redo, PostLoad and duplication #jira UE-56089 Change 3945301 by Andrew.Rodham Sequencer: Added safety checks during initial sequence recording to guard against applying negative or 0-sized sequence ranges #jira UE-56125 Change 3946627 by Max.Preussner Fortnite: Fixed game crashes closing editor while in PIE - Pure virtual function being called #jira UE-56144 [CL 3946896 by Max Chen in Main branch]
2018-03-14 22:09:33 -04:00
return NearestKey;
Copying //UE4/Dev-Editor to //UE4/Dev-Main (Source: //UE4/Dev-Editor @ 3497164) #lockdown Nick.Penwarden #rb none ===================================== MAJOR FEATURES + CHANGES ===================================== Change 3433074 by Matt.Kuhlenschmidt Fix crash when clicking on certian tutorial blueprints. #jira UE-44593 Change 3433075 by Matt.Kuhlenschmidt Remove hittest grid log spam. The underlying problem causing this has been fixed Change 3433077 by Matt.Kuhlenschmidt Fix lighting becoming unbuilt when mesh painting #jira UE-44837 Change 3433081 by Matt.Kuhlenschmidt PR #3553: Crashfix for static array properties (Contributed by Pierdek) Change 3433104 by Alexis.Matte Make sure re-import skeletal mesh follow the import morph option #jira UE-42846 Change 3434825 by Matt.Kuhlenschmidt Fix crash when GC happens while the vr editor radial menu is open. Change 3434831 by Matt.Kuhlenschmidt Added missing file Change 3434868 by Shaun.Kime If you have a reroute node between a Material Function texture input and its usage, the parent material will fail to resolve the reroute node. #jira ue-44670 Change 3434998 by Alexis.Matte Meshes editors material/section panel are now fully transactional - Staticmesh editor: section material slot, section cast shadow, section collision, material slot instance, material slot name - Skeletal mesh editor: material slot instance, material slot name Also fix some transaction description #jira UE-44462 Change 3435195 by Jamie.Dale Fixed incorrect handling of some LTR scripts that require shaping These scripts need to go through HarfBuzz, and this also fixes a case where HarfBuzz wasn't applying font scale correctly. #jira UE-44767 Change 3435199 by Jamie.Dale Fixed some crashes/artifacts with bidirectional text It was possible for a line to compute an incorrect range, which could cause crashes or other highlighting issues. The highlighting logic has also been updated as the old code didn't handle all bidirectional cases correctly. Change 3435200 by Jamie.Dale Fixed a grapheme cluster metrics issue in the font editor viewport The viewport also now respects the default shaping method CVar. Change 3435771 by Alexis.Matte Fix degenerated bounds calculation for skeletalmesh when the skeleton is remove from a re-import (PhysicAsset API change, adding 1 function) #jira UE-44609 Change 3436856 by Jamie.Dale Added some missing Unicode block ranges Change 3436914 by Jamie.Dale Adding some missing combining character ranges to the text shaper Change 3436923 by Alexis.Matte PR #3463: Get bounds for all triangles, not just the first one. WedgeIndex was . (Contributed by DaveC79) #jira UE-43764 Change 3436948 by Jamie.Dale Updated the Portal to use the predefined Unicode block ranges Change 3436961 by Max.Chen Sequencer: Show camera shake/anim track menus even if there aren't any assets. Change 3437244 by Max.Chen Sequencer: Clear locked cameras when releasing Sequencer. #jira UE-44967 Change 3437515 by Arciel.Rekman UBT: improvements for LocalExecutor. - Larger number of parallel jobs on 16GB+ machines. - Use WaitForExit() instead of polling. - Tested on Linux and Mac. Change 3437629 by Matt.Kuhlenschmidt Improve asset import data display in static and skeletal meshes Change 3438047 by Arciel.Rekman Fix overlapping ranges being passed to memcpy(). Change 3438822 by Yannick.Lange ViewportInteraction: Move gizmo handle files to make them private. Change 3438906 by Matt.Kuhlenschmidt PR #3556: Git Plugin: fix new option "init Git LFS" that make assets read-only (master/UE4.17) (Contributed by SRombauts) Change 3438907 by Matt.Kuhlenschmidt PR #3565: add -quality option to buildlighing commandlet (Contributed by kayama-shift) Change 3438908 by Matt.Kuhlenschmidt PR #3558: UE-44862: Always update SColorPicker color on OK button (Contributed by projectgheist) Change 3439393 by Matt.Kuhlenschmidt Force highest LOD for highres screenshots Change 3439819 by Matt.Kuhlenschmidt Turned FAssetData into a struct for some upcoming script exposure of FAssetData Change 3439949 by Arciel.Rekman Fixed selection logic for the UE4_LINUX_USE_LIBCXX environment variable. - Allows disabling libc++ by setting the variable to 0. - Pull request #3576 contributed by jared-improbable. Change 3441078 by Jamie.Dale The culture/language/locale console commands are now available in all build configs Change 3441109 by Jamie.Dale Text containing surrogate pairs now runs through HarfBuzz when shaping in Auto mode This is needed as the kerning-only shaping code assumes that everything is within the BMP Change 3441275 by Matt.Kuhlenschmidt Disable spinning on location and scale. These dont work because we have no notion of infinite spinning Change 3442748 by Yannick.Lange ViewportInteraction: Remove unused console variables. Change 3442775 by James.Golding Add support for editing MaterialFunctions to MaterialEditingLibrary Pull Material recompile/update code into UMaterialEditingLibrary::RecompileMaterial Pull MaterialFunction update code into UMaterialEditingLibrary::UpdateMaterialFunction util Move RebuildMaterialInstanceEditors to UMaterialEditingLibrary Added test content for Material/MaterialFunction editing Add needed BlueprintReadWrite to expressions (constants, function input/output) Expose UMaterialExpressionMaterialFunctionCall::SetMaterialFunction to BP, rename old func (which takes old function) to SetMaterialFunctionEx, also expose GetInputNameWithType Change 3442779 by James.Golding Fix header order Change 3442817 by Yannick.Lange ViewportInteraction: Add can execute checks for level editor commands. Change 3443038 by Michael.Dupuis #jira UE-43377: When you select a foliage actor we will move all instance contained in it to the new level as we can't move a foliage actor Only permit moving foliage instance if there is some selected Change 3443855 by Michael.Dupuis #jira UE-44885: Unregister from PerModuleDataObjects when the object is destroyed Change 3446096 by Max.Chen Sequencer: Add OnFinished() event when a level sequence completes playback #jira UE-45173 Change 3446097 by Max.Chen Sequencer: Evaluate one last time before the sequence is torn down and reset #jira UE-45174 Change 3446242 by Jamie.Dale Fixed caret not appearing in empty text layouts Caret selections have no range, and therefore have no width Change 3446361 by Matt.Kuhlenschmidt Fix WITH_EDITOR only functions causing generated code compile errors when the all functions on the class are WITH_EDITOR Change 3446457 by Alexis.Matte Polish the speed tree import dialog #jira UE-44963 Change 3446946 by Michael.Trepka Modified FWindowsWindow::GetRestoredDimensions to return correct window position for normal windows for which GetWindowPlacement returns position in workspace coordinates #jira UE-37934 Change 3447543 by Arciel.Rekman Reduce VMAs on Linux. - Trades off increased address space (VIRT in terms of ps/htop) for smaller number of distinct mappings (VMAs, virtual memory areas). This decreases possibility to run into vm.max_map_count limit on Linux. - Tested on Linux and Mac. Change 3448468 by Arciel.Rekman Fix race condition during creation of GMalloc. - On Mac GMalloc can be created on two different thread that are racing with each other - app's main thread and a system thread. Change 3449012 by Max.Chen Sequencer: Add time to transform, color and vector key structs so that key times are editable from the key editors. #jira UE-45089 Change 3449018 by Max.Chen Sequencer: Add OnCameraCut event that fires when there is a camera cut. #jira UE-45137 Change 3449195 by Max.Chen Sequencer: Add setting for limit scrubbing to playback range. #jira UE-43502 Change 3449198 by Max.Chen Sequencer: Reorder hierarchical bias so that group priority takes precedence. Change 3449217 by Max.Chen Sequencer: Add setting to activate realtime viewports when in sequencer. Change 3449219 by Max.Chen Sequencer: Focus on search boxes when opened. Change 3449238 by Max.Chen Sequencer: Assign actor should replace the actor itself after it has updated all the components. Also, replace components be fullname rather than by class. Change 3449239 by Max.Chen Sequencer: Fix offsets when moving multiple sections. Dragging should be clamped to the bounds that any of the selected sections hits against the unselected sections. Change 3449241 by Max.Chen Sequencer: Restore section selection after full tree rebuild. Change 3449279 by Max.Chen Sequencer: Set movie scene capture frames only when not using custom frames. This allows the user entered frame numbers to persist in config, rather than overwriting them when doing a "Render Shot" Change 3449280 by Max.Chen Sequencer: Spawn in the persistent level. Otherwise, they get spawned into whatever sublevel is current. #jira UE-44552 Change 3449294 by Max.Chen Sequencer: Null check for sequencer ed mode crash. Change 3449297 by Max.Chen Sequencer: Fix delay in sliding values. Mark changed when sliding values. Mark refresh immediately when committing values since OnValueChanged will be called and needs to have the correct value that was refreshed immediately. #jira UE-42866 Change 3449542 by Max.Chen Sequencer: Fix scrubber hit testing so that the time scrubber is really favored over the playback ranges. #jira UE-44569 Change 3451507 by Matt.Kuhlenschmidt Fix extra slate uv coords not functioning on ES2 Change 3451510 by Matt.Kuhlenschmidt PR #3595: Fixed wrong colour for level status (Contributed by ronve) Change 3451529 by Alexis.Matte fbx scene importer: Make sure we set INVALID_UNIQUE_ID to node that has no attribute. #jira UE-34410 Change 3451611 by Yannick.Lange ViewportInteraction: Dragging gizmo without second pass for snapped calculations. Change 3452134 by Jamie.Dale Fixed constant font cache flushing if a widget had no font set Change 3452239 by Jamie.Dale Fixed constant font measure flushing if a widget had no font set Change 3452243 by Jamie.Dale Removed deprecated code for creating fonts from bulk data Change 3452277 by Jamie.Dale The concept of "stale" composite fonts is now editor-only Change 3452358 by Alexis.Matte Fbx scene importer: Do not remove existing attribute reference from the blueprint if the reimport of the associate mesh attribute is not tick. #jira UE-45232 Change 3452678 by Max.Chen Sequencer: Fix crash on export if there's no shot data. Change 3453057 by Matt.Kuhlenschmidt Exposed asset exporting to script Change 3453782 by Andrew.Rodham Sequencer: Fixed deterministic cooking issues with movie scene data - Movie scene signatures are now initialized in PostInitProperties - A warning is now presented when attempting to cook old data that was never serialized with a signature. - Removed redundant legacy data upgrade logic that could dirty level sequences on load. #jira UE-44912 Change 3453788 by Yannick.Lange ViewportInteraction: Custom scene proxy for gizmo handles. Change 3453938 by Max.Chen Sequencer: Hotkeys (shift , and shift .) to step to next/previous shot #jira UE-45119 Change 3454058 by Michael.Dupuis Fixed StaticAnalysis Change 3454077 by Max.Chen Sequencer: Fix not saving the pre-animated track value when creating a track/key. On pre object change, broadcast property change so that a track or key can be created. That track/key needs to be evaluated immediately so that the pre-animated state can be saved properly. This is done now with RefreshAllImmediately and is only called when a track has been created. Also, added a return value for OnKeyProperty, so that it's known what changed in particular (ie. track created, track modified, etc) Also, fixed transform keying so that if a transform track already exists for the object or the scene component, the existing track is used. #jira UE-45130 Change 3454108 by Nick.Darnell UMG - Fixing the WIC to properly record cursor delta so that scrollbars work. Change 3454109 by Jamie.Dale Cache the text layout source info in non-shipping builds so you can inspect it in the debugger Change 3454202 by Matt.Kuhlenschmidt Fix bogus error message about the number of usable texture coordinates on ES2 when compiling a UI domain material Change 3454390 by Yannick.Lange Fix creating a plugin in a C++ project opens a second instance of Visual Studio. Use SourceCodeAccessor to open solution when necessary. #jira UE-45035 Change 3454564 by Matt.Kuhlenschmidt #rnx Fix deprecation warnings Change 3455471 by Yannick.Lange ViewportInteraction: Fix entering and exiting VR Mode disables gizmo in desktop editor viewport. #jira UE-44965 Change 3456183 by Max.Chen Sequencer: Auto key, auto track refactor. Auto key - create a key when the property changes and there's an existing track. Auto track - create a track when the property changes. This is only exposed in the level sequence editor. All - create a key and a track when the property changes. This is only exposed in VR Editor. None - do nothing. #jira UE-43469 Change 3456349 by Andrew.Rodham Sequencer: Only perform legacy signature checks on instances, and only where signatures match the CDO Change 3456678 by Alexis.Matte Allow to add null level instance override material via the advance material array. But still limit the override material number to the mesh material number. #jira UE-45306 Change 3456945 by Max.Chen UMG: Add restore state to 2d transform section. #jira UE-45372 Change 3457196 by Arciel.Rekman Linux: serialize allocations from the memory pool. Change 3458434 by Max.Chen Sequencer: Remove obsolete set tick prerequites functions. Change 3458671 by James.Golding Added MIC editing support to MaterialEditingLibrary Fix static analysis warning Change 3458888 by Matt.Kuhlenschmidt PR #3615: More detailed log messages for debugging warnings/errors (Contributed by projectgheist) Change 3458893 by Matt.Kuhlenschmidt PR #3583: UE-44960: Delta value wasn't being used (Contributed by projectgheist) Change 3458895 by Matt.Kuhlenschmidt Fix typo Change 3458902 by Matt.Kuhlenschmidt PR #3607: Improved InputKeySelector functionality (Contributed by projectgheist) Change 3458917 by Matt.Kuhlenschmidt Fix crash with invalid object properties in the class picker #jira UE-39000 Change 3458939 by Matt.Kuhlenschmidt Fix compile error Change 3458984 by andrew.porter QAGame: Initial check in of sequencer smoke test map Change 3459510 by Matt.Kuhlenschmidt Fixed ensure when deleting a map that contains build data which also happens to be the currently loaded map. #jira UE-45052 Change 3460985 by Max.Chen Sequencer: Snap play time to keys now allows scrubbing between keys and snaps to key times within a certain screenspace tolerance. #jira UE-45090 Change 3461698 by Arciel.Rekman Avoid using ARRAY_COUNT in Vulkan. - Sometimes those arrays can have no extensions whatsoever, and it is illegal to declare a 0 element C array. Change 3462053 by Max.Chen Sequencer: Show sequencer spawnables in the world outliner and add the icon overlay for spawnables. #jira UE-43470 Change 3462139 by Max.Chen Property Editor: Add objects to FPropertyAndParent Change 3462202 by Arciel.Rekman Fix FSocket::Recv() blocking with Peek when there's no data. Change 3462253 by Nick.Darnell Slate - New Clipping System Clipping is now a stateful choice made during composition of the slate hierarchy. Previously every widget got to respect or modify the clipping rect on an as needed basis. The problem was that clipping was only allowed in the layout space of the widget, and it wasn't possible to properly clip elements with render transforms. The new system permits all kinds of transforms on any widget, and they will all be clipped correctly. It tries to use Scissor Rects as they are much cheaper, but will switch over to stenciling if need be to represent a complicated masking structure with several rotated clipping rects all needed to be combined together. Here are the new clipping states a widget can have, almost all widgets are set to No. Only change it from No if your widget actually needs to clip, generally speaking most widgets don't need to clip. /** * This widget does not clip children, it and all children inherit the clipping area of the last widget that clipped. */ Inherit, /** * This widget clips content the bounds of this widget. It intersects those bounds with any previous clipping area. */ ClipToBounds, /** * This widget clips to its bounds. It does NOT intersect with any existing clipping geometry, it pushes a new clipping * state. Effectively allowing it to render outside the bounds of hierarchy that does clip. * * NOTE: This will NOT allow you ignore the clipping zone that is set to [Yes - Always]. */ ClipToBoundsWithoutIntersecting UMETA(DisplayName = "Yes - Without Intersecting (Advanced)"), /** * This widget clips to its bounds. It intersects those bounds with any previous clipping area. * * NOTE: This clipping area can NOT be ignored, it will always clip children. Useful for hard barriers * in the UI where you never want animations or other effects to break this region. */ ClipToBoundsAlways UMETA(DisplayName = "Yes - Always (Advanced)"), /** * This widget clips to its bounds when it's Desired Size is larger than the allocated geometry * the widget is given. If that occurs, it behaves like [Yes]. * * NOTE: This mode was primarily added for Text, which is often placed into containers that eventually * are resized to not be able to support the length of the text. So rather than needing to tag every * container that could contain text with [Yes], which would result in almost no batching, this mode * was added to dynamically adjust the clipping if needed. The reason not every panel is set to OnDemand, * is because not every panel returns a Desired Size that matches what it plans to render at. */ OnDemand UMETA(DisplayName = "On Demand (Advanced)") - Large API Change - All FSlateDrawElement::Make_____ calls have been deprecated that involved passing in a clipping rect. You no longer should are passed a Clipping rect via OnPaint. You are still passed a rect, but this rect represents a Culling Rect, which is valuable if you need to just out right not paint things the user can't possibly see. If you were previously trying to determine if you should cull widgets, by doing something like this, if ( FSlateRect::DoRectanglesIntersect(MyClippingRect, CurWidget.Geometry.GetRenderBoundingRect()) ) That's no longer a good option since there are ways for widgets to ignore the culling bounds. You should convert anything like above to the one below, if (!SWidget::IsWidgetCulled(MyCullingRect, CurWidget)) To assist in debugging efforts, there are several new debugging console flags in Slate, Slate.ShowClipping 1 - Controls whether we should render a clipping zone outline. Yellow = Axis Scissor Rect Clipping (cheap). Red = Stencil Clipping (expensive). Slate.DebugCulling 1 - Disables pushing clipping or stencil rects to the GPU, but continues to intersect culling rects, so that you can tell if a widget is properly culling children it can't possibly draw. Slate.ShowTextDebugging 1 - Show debugging painting for text rendering. I've added a new Experimental Feathering Option, it adds AA geometry around the outside of Box and Image brushes. Slate.Feathering 1 If you're using RenderDoc or something similar, you can now enable render events for slate, so that you can better grok how we're batching and changing states for each UI render pass. Slate.EnableDrawEvents 1 #jira UE-4659 #rn Change 3462714 by Nick.Darnell Fixing a few more compiler issues with the clipping changes. Change 3462726 by Max.Chen Switch OnEditStructChildContentsChanged to use FObjectWriter instead of FMemoryWriter which supports serializeing UObjects. This fixes a crash when adding actor array elements to a user defined event struct. #jira UE-45431 Change 3462801 by Nick.Darnell Adding a UMG dependency to EngineTestBuild. Change 3462914 by Max.Chen Sequencer: Fix regression where spawnables aren't getting saved. Caused by 3407138 #jira UE-30007 #jira UE-39003 Change 3462946 by Nick.Darnell Automation - Tweaking the UI automation tests converting them over to use the new UI Screenshot automation test. Automation - Adding a blur widget test. Change 3462987 by Matt.Kuhlenschmidt Back out changelist 3458893 Change 3464774 by Matt.Kuhlenschmidt PR #3629: Bugfix: Missing small icon in Project Launcher profile editor (Contributed by aarmbruster) Change 3464785 by Nick.Darnell Fixing some clipping stuff in the editor. Change 3464830 by andrew.porter QAGame: Second pass on sequencer smoke test map Change 3464902 by Nick.Darnell Loading - Adding some additional checks to the the loading code to ensure we're on the main thread. Additionally adding a fix from UDN that prevents deadlocks in the rare case a user hits Alt+Tab in a fullscreen game while in a hard loading screen. Change 3464988 by Max.Chen Sequencer: Add attenuation settings for attached audio components. #jira UE-33080 Change 3465024 by Nick.Darnell MoviePlayer - Impoving the playback mode displaynames. Change 3465074 by Arciel.Rekman Fix shadowing issues of GraphicsPSOInit. Change 3465097 by Matt.Kuhlenschmidt Some refactoring of the details panel Exposed new methods of adding a struct on scope to a details panel and have it work properly with customizations. The scruct on scope has a "fake" ustructproperty that allows the details panel to show the whole struct not just an individual property. Refactored the API for adding rows to details panels to make it more consistent\ AddChildCustomBuilder->AddCustomBuilder AddChildGroup->AddGroup AddChildContent->AddCustomRow AddChildPropert->AddProperty AddChildStructure->AddExternalStructureProperty AddStructure->AddAllExternalStructureProperties AddExternalProperty->AddExternalObjectProperty or AddExternalStructureProperty Change 3465186 by Max.Chen Sequencer: Save the BindingID in the pre animated token producer so that it can be destroyed properly. This fixes a bug where the default state of a spawnable isn't saved. #jira UE-43780 Change 3465315 by Matt.Kuhlenschmidt Fix Fortnite and Orion details panel customization warnings Change 3465424 by Nick.Darnell Automation - Moving the step for setting the link to the automation reports to be set before we start the engine. Change 3465488 by Nick.Darnell Automation - Forcing textures to load before taking screenshot, so that the scene gets another opportunity to render before we render with Slate. This should fix the Blur UI Test. Change 3466277 by Arciel.Rekman Linux: fix window drift when dragging (UE-40380). - Change by Cengiz Terzibas. Change 3466370 by Nick.Darnell UMG - Fixing the colors for the resize handle in the designer. Change 3466372 by Nick.Darnell UMG - Fixing the ruler ticks sometimes not being drawn. Change 3466374 by Nick.Darnell UMG - Fixing the designer showing multiple options for sequencer. Change 3466377 by Nick.Darnell UMG - Cleaning up some clipping bits. Change 3467025 by Andrew.Rodham Re-saving assets that contain legacy (<4.15) movie scene data to remove deterministic cook warning. If conflicts arise during merging of these assets, please ignore the changes made in dev-editor, and accept game-side changes. (CIS step 62283298, jobId 7773146) (CIS step 62283297, jobId 7773146) Change 3467099 by Max.Chen Fix GetObjectPropertyClass ensure logic. This was returning UObject::StaticClass when valid. Change 3467172 by Max.Chen Sequencer: Evaluation optimizations. Also, fixes subsequences not getting expired, leaving dangling spawnables. #jira UE-43690 Change 3467192 by Matt.Kuhlenschmidt Fix transactions getting stuck in the color grading controls. This prevents PIE from working properly and causes shutdown crashes #jira UE-45527 Change 3467251 by Yannick.Lange ViewportInteraction: Fix scale and rotation snap while dragging with two lasers. #jira UE-43489 Change 3467331 by Matt.Kuhlenschmidt Fix D3D shader compiler hard coding shader path and not giving proper warnings when it cannot find the shaders Change 3467335 by Matt.Kuhlenschmidt Remove DarkStyle attribute from SNumericEntryBox and allow a spin box style to be passed to it. Change 3467558 by Max.Chen Scene Outliner: Generic support to add default columns to a scene outliner. Change 3467565 by Jamie.Dale Removing old screenshot data for test Change 3467589 by Nick.Darnell Editor - Random cleanup. Change 3467596 by Nick.Darnell Progress Bar - Exposing Border Padding to UMG. Change 3467600 by Nick.Darnell Slate - Adjusting the rendering of the splitter, previously it could be off by a pixel or two, which becomes more apparent now with the clipping changes. Change 3467601 by Max.Chen Property Editor: Fix static analysis warning Change 3467662 by Nick.Darnell Automation - Fixing a bug with the screenshot comparison tool not replacing (removing) the old screenshot data. Change 3467674 by Max.Chen Property Editor: Fix static analysis warning Change 3467737 by Max.Chen Sequencer: Added OnMovieSceneBindingsChanged delegate Change 3468053 by tim.gautier QAGame: Updating Editor Smoke Map - Updated landscapes into Stations for testing - Added Foliage Sublevel Change 3468194 by Arciel.Rekman Linux: fix problems communicating with various STL-using libs. - Stop hiding global new/delete signatures. - Disable CEF3 since this change uncovers the problem with libcef.so not built to use bundled libpng. Change 3468678 by Max.Chen Sequencer: Set "Sequencer Actor" tag before setting the actor label so that the outliner refreshes after the actor has the tag. Change 3469314 by tim.gautier QAGame: Added Painted Foliage / Spline section to EditorSmoke map Change 3469377 by Nick.Darnell Slate - Fixing some warnings in a couple of sample games due to the clipping changes. #rnx Change 3469767 by Max.Chen Sequencer: Outliner column and sequencer binding data #jira UE-43470 Change 3469974 by Arciel.Rekman Fix code projects not working in Linux installed build. Change 3470082 by Nick.Darnell Slate - The GetRenderer() call on SlateApplication no longer returns a SharedPtr, rather than convert it to a thread safe ptr, going to just make accessing it a raw ptr return, so it can be safely referenced on the game thread while being used on the slate loading thread. Change 3470174 by Nick.Darnell Slate - Get the last widget in a widget path utility. Change 3470176 by Nick.Darnell UMG - User Widgets now have an easy way to know if they're part of or have been removed from the focused widget path, which is handy for doing effects. Change 3470261 by Nick.Darnell Slate - The GetRenderer() call on SlateApplication no longer returns a SharedPtr, rather than convert it to a thread safe ptr, going to just make accessing it a raw ptr return, so it can be safely referenced on the game thread while being used on the slate loading thread. Change 3470286 by Max.Chen Sequencer: Scene Component's HiddenInGame now goes through the VisibilityTrack and the visibility template. Change 3470366 by Nick.Darnell Slate - We now version focus per user, that way during focus events, we can safely abort focus events and state transitions if someone interrrupts the active focus event with something new. Change 3470649 by Matt.Kuhlenschmidt Fix deprecation warnings Change 3470695 by Matt.Kuhlenschmidt Fixed typo #jira UE-45580 Change 3470721 by Matt.Kuhlenschmidt Fix static analysis Change 3471254 by Michael.Dupuis #jira UE-42952: Keep occlusion result per view Change 3471287 by Nick.Darnell UMG - Render Focus Rule now defaults to never. Change 3471291 by Nick.Darnell Slate - Fixing FSlateRenderer* change fallout. Change 3471299 by Nick.Darnell Slate - Fixing FSlateRenderer* change. Change 3471323 by Nick.Darnell Automation - Fixing automation and Static Analysis warning. Change 3471413 by andrew.porter QAGame: Added test content for anim blending and material parameteres to sequencer smoke level Change 3471649 by Max.Chen Sequencer: Modify the track when adding animation #jira UE-45618 Change 3471659 by Matt.Kuhlenschmidt Added a way to check if a movie is playing from the engine. Prevented viewport redraws for canvas loading screens if a slate based loading movie is playing Change 3471734 by Matt.Kuhlenschmidt Added basic material hookup to USD. Similar to FBX it will find materials based on rules specified by the user in the import settings Change 3472176 by Nick.Darnell UMG - Improving the display of the +Track menu in sequencer for UMG. Renamed it from +Add, which is repetitve to +Track. Additionally, the dropdown now shows the currently selected widgets, as well as a submenu containing all the 'important' widgets, so we no longer populate that list with a ton of irrelevant widgets that are just Buton_1 - N, which is pointless in showing people, they'll never guess which is the right button. Change 3472740 by Max.Chen Sequencer: Add GetThisFrameMetaData accessor Change 3472748 by Max.Chen Sequencer: Added OnBeginScrubbing and OnEndScrubbing event delegates Change 3472753 by Max.Chen Sequencer: Add EMovieSceneDataChangeType parameter to OnMovieSceneDataChanged delegate Change 3472870 by Nick.Darnell Clipping - Fixing the deprecated tip for scissor rect boxes to be correct. Removing it's usage from UT. Change 3473340 by Max.Chen Scene Outliner: Add ability to register additional filters Change 3473348 by Max.Chen Details View: Make ForceRefresh virtual. Added accessors to delegates (ie. GetIsPropertyReadOnlyDelegate) Change 3473441 by Max.Chen Sequencer: Autokey Refactor Part 2. Autokey is now a single toggleable state. Allow Edits Mode has 3 states: Allow All Edits - Allow any edits to occur, some of which may produce tracks/keys or modify default properties. Allow Sequencer Edits Only - All edits will produce either a track or a key. Allow Level Edits Only - Properties in the details panel will be disabled if they have a track. #jira UE-45229 Change 3473670 by Nick.Darnell Modules - The module manager no longer returns sharedptrs to IModuleInterfaces, this was the source of rare hard to track down crashes due to a shared ptr reference leak when GetModule was called on non-main threads. We now store a TUniquePtr internally, and only lease out raw pointers. #rn Change 3473711 by Nick.Darnell Disabling the ensure in the module manager. Change 3473747 by Max.Chen Sequencer: Fix tooltip Change 3474091 by Jamie.Dale Added a warning when cooking a UFontFace that is outered to a UFont asset These cause issues with iterative COTF, and should be split off into their own assets (as the UI has been asking people to do for several versions) Change 3475052 by Yannick.Lange VR Editor: Fix Crash when quitting the editor with VR Mode enabled. VR Editor was being enabled when saving the map on closing the editor. #jira UE-45415 Change 3475054 by Yannick.Lange Fix crash when adding a camera to the world in VR Mode the second time. The slate application did not reset when stop dragging in VR Mode, so the second time when starting to drag a camera out of the UI it would already by in a dragging state. #jira UE-45574 Change 3475263 by Nick.Darnell Fixing some additional cases of IModuleInteface SharedPtr usage. Change 3475268 by Max.Chen Sequencer: Set jumped state when looping playback. This fixes an issue where audio doesn't stop and restart when looped. #jira UE-45654 Change 3475269 by Max.Chen Scene Outliner: Additional filters should only apply to actor browsing mode Change 3475407 by Nick.Darnell Fixing some clipping / module shared ptr changes in the launcher code. Change 3475542 by Max.Chen Sequencer: Update thumbnail and section highlighting to use new clipping behavior. #jira UE-45692 #jira UE-45689 Change 3475743 by Michael.Dupuis #jira UE-45183: When updating phyx region take into account simple collision mip Change 3475949 by Arciel.Rekman Remove PhysX deoptimization (no longer needed). - OR-24947 has been closed three months ago. Change 3476022 by Michael.Dupuis #jira UE-45560: Make sure we're not going out of range Change 3476063 by Michael.Dupuis #jira UE-45562: Do not try to unregister from static mesh if no static mesh is specified for the component Change 3476168 by Michael.Trepka Added handling of directory symlinks to FApplePlatformFile::IterateDirectory #jira UE-43704 Change 3476172 by Nick.Darnell Fixing a Imoduleinterface change. Change 3476183 by Jamie.Dale Exposing GoTo/ScrollTo to single-line editable text for API parity with multi-line editable text Change 3476385 by Arciel.Rekman Linux: handle symlinks when iterating directories. Change 3476522 by Michael.Trepka Solved a problem with Mac FMallocTBB::Malloc() returning nullptr for 0 bytes allocations, which is inconsistent with other platforms. On Mac we always scalable_aligned_malloc, which behaves differently than scalable_malloc, so for 0 bytes requests we allocate sizeof(size_t), which is exactly what scalable_malloc does internally in such case. Change 3476806 by Nick.Darnell UMG - Focus the designer after dropping a widget onto the surface. Change 3476809 by Nick.Darnell Curve Editor - Enable Clipping on the curve editor. Change 3477475 by Nick.Darnell Fixing a module interface shared ptr usage in UT. Change 3477553 by Yannick.Lange VR Editor: Removed AssetEditorPanelID and replaced it with TabManagerPanelID. A panel for AssetEditorPanelID was never created making it impossible to open an asset editor. Change 3477734 by Yannick.Lange VR Editor: Fix Warning: SetRelativeScale3D : Invalid Scale entered (X=inf Y=inf Z=inf). Resetting to 1.f. warning when adding CineCameraActor to World from Modes Panel. Make sure to not divide by zero when there is no boundary scale. #jira UE-44933 Change 3477761 by Jamie.Dale Some improvements to avoid loading the native .locres files twice when we don't need to Change 3477780 by Nick.Darnell PR #3250: Return correct VirtualUserIndex (Contributed by projectgheist) Change 3477786 by Nick.Darnell PR #3650: Changed TestNull to accept const pointers. (Contributed by e-agaubatz) Change 3477795 by Nick.Darnell PR #2844: UE-36936: Don't stretch container for Plugin Image (Contributed by projectgheist) Change 3478092 by Nick.Darnell PR #2341: Optional Middle Mouse Button panning in Graph Editor (Contributed by flipswitchingmonkey) Engine Edit - Made some small changes to the enum type, and some naming. Change 3478450 by Nick.Darnell Fixing some uninitialized variable errors. Change 3479827 by Andrew.Rodham Sequencer: Addressed serialization issues with some struct types Change 3479874 by Jamie.Dale Fixed "NativeGameLanguage" not being used correctly during localization initialization Change 3480012 by Andrew.Rodham Sequencer: Fixed loading tagged properties as native for track identifiers #jira UE-45823 Change 3480337 by Alexis.Matte Fix morph target crash missing some valid index check Change 3480804 by Alexis.Matte Fix crash with ColorGradingMode custom detail #jira UE-45638 Change 3480892 by Andrew.Rodham Sequencer: Ensure that movie scene sequences know about the editor object version #jira UE-45842 Change 3481073 by Nick.Darnell Fix the shader compiler error from main in Slate. Change 3481303 by Nick.Darnell UMG - Fixing a bug with the drag handle not working correctly in HDPI mode. Change 3481308 by Nick.Darnell Slate - Tweaking the IsWidgetCulled logic to consider both the layout and rendering bounds. If we do this, we get a much more desireable outcome for people that want to animate widgets and such and plan to have temporary animations to move the widget offscreen, but want the layout bounds to anchor that widget in the visible frame so that it animates even when normally it would be culled b/c the render transform and therefore the renderbounds moved it completely outside the culling rect. Change 3481629 by Max.Chen Sequencer: Add Level Sequence Actor as an output for CreateLevelSequencePlayer() #jira UE-45785 Change 3481899 by Yannick.Lange VR Editor: Added debug modetoggle command with an event that is broadcasted whenever this happens. Currently this is used to show all the floating UIs of the UI system to debug without HMD using VREd.ForceVRMode. Change 3481984 by Michael.Dupuis #jira UE-45845: always validate if we have a static mesh before trying to access it as user can decide to not assign one and use the tools Change 3482047 by Nick.Darnell Slate - Adding some comments to IsWidgetCulled. Change 3482110 by Nick.Darnell Slate - IsWidgetCulled is no longer static and is now called IsChildWidgetCulled. Change 3482136 by Jamie.Dale The CamelCase break iterator now treats digits around character tokens as part of the identifier Change 3482138 by Michael.Dupuis #jira UE-45854: Properly unregister during undo operation Change 3482150 by Michael.Dupuis #jira UE-45845 : Add missing nullcheck for GetStaticMesh Change 3482153 by Nick.Darnell Slate - IsWidgetCulled is no longer static and is now called IsChildWidgetCulled. Change 3482180 by Nick.Darnell UMG - Widget Components do not need to define a widget class to be rendererd, they can have native slate widgets only. This was a regression from main. Change 3482273 by Nick.Darnell UMG - Tweaking some more things about the widget component box outline. Change 3482308 by Alexis.Matte Fixing morph target smooth group support. Do not call FillSkeletalMeshImportData more then once on FbxNode since this fonction is doing some conversion and change the FbxNode, applying those conversion twice do not return the same faces smooth group. #jira UE-45696 Change 3482327 by Nick.Darnell UMG - More tweaks to the WidgetComponent so both shows the box outline, but works in game and VR editor. Change 3482705 by Andrew.Rodham Resaving assets that contain legacy data to suppress CIS warnings. - If conflicts arise in these assets, please take game-side changes and ignore these. Change 3484245 by Max.Chen Sequencer: Evaluate on end scrub. This fixes a bug where audio doesn't evaluate in a stopped position at the end of scrubbing, causing it to not stop all sounds. This fixes a bug introduced from 3365018 where evaluate on end scrub was removed. #jira UE-45905 Change 3484263 by Max.Chen Sequencer: Fix crash on forcing refresh of details panel on release. #jira UE-45911 Change 3484431 by Andrew.Rodham Resaving assets that contain legacy data to suppress CIS warnings. - If conflicts arise in these assets, please take game-side changes and ignore these. Change 3484474 by Alexis.Matte Fix the morph target animation curve name matching. #jira UE-20294 Change 3484475 by Alexis.Matte When removing a LOD, make sure we remove all morph target data associate to the LOD. Change 3484489 by Nick.Darnell PR #3668: UE-45908: Cache debug line locations when performing a LineTraceMulti (Contributed by projectgheist) #jira UE-45908 Change 3484692 by Nick.Darnell Slate - Reverting a change from a game stream. All Arranged Children don't need to allocated 42 to begin with. Do need to initialize WidgetPaths better. Change 3484703 by Nick.Darnell Player Input - Making the input event loop for players obey EKeys::NUM_TOUCH_KEYS, rather than being set to Touch10, as the maximum touch input amount, to make supporting greater than 10 touches easier. Also making the seeding of keys use EKeys::NUM_TOUCH_KEYS. #jira UE-43213 Change 3484918 by Jamie.Dale Fixed font measuring regression with RTL text RTL applies the character count to the next glyph, so it shouldn't process the end of the loop (this was how the older code used to work). Change 3485718 by Nick.Darnell Editor - Removing Super Search & User Feedback button. Change 3485719 by Nick.Darnell Portal - Removing SuperSearch. Change 3485751 by Matt.Kuhlenschmidt Fix crash accessing platformer game menu if the menu is open during a console based load #jira UE-45950 Change 3486047 by Arciel.Rekman Linux: add OpenEXR implementation (UE-40270). #jira UE-40270 Change 3486467 by Max.Chen Sequencer: Reset max tick rate when destroyed. #jira UE-45956 Change 3486477 by Max.Chen Sequencer: Refresh outliner when column is removed. #jira UE-45891 Change 3486667 by Andrew.Rodham Added missing include Change 3486724 by Andrew.Rodham Sequencer: Fixed curves with no default value, and no keys being evaluated and applied to properties - Also fixed an edge case where a zero (but non-animated) channel could be applied to a final transform Change 3486730 by Alexis.Matte In the Auto-Reimport options, hide the mout point only for the default /Game/ folder #UE-45684 Change 3486749 by Alexis.Matte Make sure the parent window of the monitor directory browse folder is set properly #jira UE-45682 Change 3486805 by Matt.Kuhlenschmidt Additional safety against invalid objects being accessed by slate Change 3486848 by Alexis.Matte Make sure Monitor folder feature support root mount point map folder During auto import, give priority to asset import factory over the scene import factory #jira UE-45691 Change 3486879 by Andrew.Rodham Removing obsolete QA assets Change 3486950 by Nick.Darnell PR #2281: Scrollbar missing features and SScrollbar fixes (Contributed by SNikon) Review - made some adjustments from the original. Change 3486954 by Nick.Darnell Slate - Moving the STableViewBase over to the FOverscroll class, rather than it's own clone. Change 3486967 by Nick.Darnell Slate - Fixing some HDPI calculations for fitting new windows on screen, it was using the unscaled size of the widgets for fitting, when it needed to scale them up. Change 3486970 by Andrew.Rodham Sequencer: Delay mouse capture until drag for sequencer time slider - Fixes context menus not opening as a result of mouse capture being taken on mouse down #jira UE-45937 Change 3486984 by Andrew.Rodham Sequencer: Improved blending type iconography Change 3486996 by Nick.Darnell UMG - Adding a way for games to opt-out of the slow widget path, to completely prevent them from being cooked. UMG - The movie data is no longer cloned for each new instance that inhabits. It now keeps a reference to the now publically accessible movie scene data on the class instead. Change 3487070 by Andrew.Rodham Sequencer: Added graphics for key areas that represent empty space Change 3487195 by Andrew.Rodham Sequencer: Changed evaluation groups to always flush implicitly - Due to the latent nature of blended token types, it's no longer safe to rely solely on execution token order between tracks - This fixes an issue where events set in the PostEvaluation stage were executed before blended token actuation Change 3487322 by Nick.Darnell PR #2457: Add .gitdeps.xml-files for plugins support (Contributed by bozaro) Change 3487363 by Nick.Darnell PR #2481: Fix for packing of a project with users plugins (Contributed by yatagarasu25) Change 3487439 by Nick.Darnell PR #2642: Changed private to protected in SVirtualJoystick.h (Contributed by Skylonxe) Change 3487500 by Arciel.Rekman Removed LinuxNativeDialogs. - No longer used; has been superceded by SlateDialogs since UE 4.8 (2 years ago). Change 3487630 by Lauren.Ridge Don't create Landscape Info Maps for Editor Preview Worlds or thumbnail worlds #jira UE-44885 Change 3487864 by Matt.Kuhlenschmidt Exposed the asset registry to blueprints and script. Works in editor scripts and runtime scripts AssetRegistry is now a UInterface object. Blueprint users can access various asset registry methods using the asset registry interface (via GetAssetRegistry) and various static helpers in the AssetRegistryHelpers object C++ users should still continue to use IAssetRegistry. Change 3487879 by Matt.Kuhlenschmidt Renamed asset tools uobject helper to UAssetToolsHelpers Change 3487926 by Lauren.Ridge Fixing reset to default not showing up for custom widgets #jira UE-44164 Change 3488184 by Matt.Kuhlenschmidt PR #3656: Make References/Referencers List copyable (Contributed by user37337) #jira UE-45763 Change 3488240 by Matt.Kuhlenschmidt Fix compiler issue Change 3488350 by Lauren.Ridge Landscape info map transactional state is based on its world's transactional state #jira UE-44885 #jira UE-46019 Change 3488412 by Matt.Kuhlenschmidt Fix reset to default showing up in two different places for some customizations Change 3488413 by Matt.Kuhlenschmidt Fix slate font customization Change 3488414 by Matt.Kuhlenschmidt Fix slate font customization Change 3488415 by Matt.Kuhlenschmidt Missed file Change 3488565 by Arciel.Rekman Add pretty printers for gdb (UETOOL-1171). - Committing shelf by Cengiz.Terzibas, with some modifications. #jira UETOOL-1171 Change 3489094 by Nick.Darnell Slate - The Slate RHI Renderer now caches the TextureLODGroups so that it can properly lookup the filtering of different texture groups that are set to Default, instead of a particular filter override on a texture. Engine/Rendering - Simplifying some of the setup logic in TextureLODSettings so that code is shared for setting them up properly after loading from a config file. Change 3489095 by Nick.Darnell PR #2699: GameViewportClient - Added a method to allow setting the viewport cur. (Contributed by rfenner) Review - Fixed spacing. Change 3489108 by Matt.Kuhlenschmidt Fix deprecation warning Change 3489120 by Nick.Darnell PR #3478: Fix possible UComboBoxString crash (Contributed by nakosung) Change 3489147 by Andrew.Rodham Sequencer: Adding return value to function to appease static analysis - This function is never compiled, and if it is, it won't compile, but static analysis doesn't know that Change 3489264 by Nick.Darnell Testing - Finishing the thought behind an enum comment. Change 3489265 by Nick.Darnell PR #2750: UE-35164: Button padding (Contributed by projectgheist) Change 3489267 by Nick.Darnell PR #3645: UE-45464: Handle SSlider mouse interaction more accurately (Contributed by projectgheist) Change 3489632 by Arciel.Rekman Correctness changes to MallocPoisonProxy. - Missing forwarding functions added. Incorrect comment removed. - Change by Steve.Robb, doing here so it is in 4.17. Change 3489689 by Arciel.Rekman More MallocPoisonProxy changes I missed in previous CL. Change 3489751 by Matt.Kuhlenschmidt Moved editor performance settings out of per-project settings so they can be shared across projects Change 3489837 by Lauren.Ridge Keyboard shortcut for entering/leaving VR Mode is now Alt+V Change 3491082 by Arciel.Rekman Linux: better fix for the crash due to name collision (UE-46040). - Put classes in Sequencer module into Sequencer namespace instead of SceneOutliner namespace. - Undid change in the SceneOutliner module. #jira UE-46040 Change 3491096 by Arciel.Rekman Fix UAT compilation on the newest mono. Change 3491240 by Max.Chen Sequencer: Disable key button when allow level edits only is on. #jira UE-46060 Change 3491406 by Yannick.Lange Fix editor crashes when opening a project that includes a plugin with more than two custom Volume classes. This issue was caused because registering show volume commands is based on finding volume classes. Finding these classes at multiple times resulted in a mismatch of the returned array of volume classes because modules/plugins were still being loaded. #jira UE-45806 Change 3491559 by Alexis.Matte Make sure we use the good preview mesh when doing a preview #jira UE-45963 Change 3491563 by Alexis.Matte Fix crash with staticmesh editor LodLevel selection Change 3491564 by Nick.Darnell UMG - Fixing an offset with the grab handles in HDPI mode. Change 3491595 by Nick.Darnell Editor - Fixing a clipping artifact in the pin type dropdown in the blueprint editor. Change 3491604 by Nick.Darnell Back out changelist 3489265 Change 3491615 by Arciel.Rekman Added malloc replay proxy (Linux only for now). - Allows to dump malloc callstream (without regard to threads) and replay later to study the behavior of different mallocs and/or repro problems. Change 3491684 by Arciel.Rekman Added FMalloc functions I missed. - Also moved function bodies into the .cpp file, this does not make a difference in performance in this case. Change 3491692 by Matt.Kuhlenschmidt Some minor fixes to the static mesh editor - Fix UV combo button looking non-standard on the toolbar - Fix a few combo buttons in the details panel looking too big. Change 3491702 by Arciel.Rekman Do not compile replay proxy-specific code when not used. Change 3491717 by Michael.Dupuis #jira UE-35083: The component is now the owner of the PerInstanceRenderData instead of the proxy Add an Update path to only update specified instances range Always call BuildTreeIfOutdated so we have a standard code path to make sure static mesh are fully loaded before trying to build the tree Moved the Instance Buffer aysnc to the base class, as it's not related to UHierarchicalInstancedStaticMeshComponent Expose a new property to decide if we require dynamic instance buffer Change 3491758 by Matt.Kuhlenschmidt Fix crash on static mesh editor shutdown Change 3491873 by Cody.Albert Fixed clipping issue in Sequencer curve editor #rnx Change 3491956 by Matt.Kuhlenschmidt Fix crash opening the Previewing sub-menu in the level editor settings menu #jira UE-46095 Change 3492046 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3492076 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3492165 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3492222 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3492274 by Michael.Dupuis #jira UE-46105: Fixed Clang warning Change 3492338 by andrew.porter QAGame: Testing ensure when submitting Change 3492371 by Nick.Darnell UMG - Reverting the animation sharing, cossed GLEO regressions in cooking. Will look for a better solution. Change 3492462 by Matt.Kuhlenschmidt Fix ensure checking in files through perforce Change 3492491 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3492505 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3492517 by Jamie.Dale The package localization ID is no longer used at all at runtime, and is now truly editor-only This should have always been the case, but it was leaked into manifest/archives/PO files in 4.14, and while 4.15 removed it from PO files it was still present in the manifest/archives. This change removes it entirely (unless gathering editor-only data, and even then the PO file will still collapse the entries together for translation), and the deprecated 4.14 export behavior will now produce an error if you attempt to use it. After taking this change you'll need to run a gather, import, and compile of your LocRes files to update your game localization to use the new localization IDs. Change 3492630 by Nick.Darnell UMG - Removing some extra cleanup code that's probably overkill and is causing a crash for uses of "Within" in class meta. #jira UE-46124 Change 3492692 by Matt.Kuhlenschmidt Fix drop shadows inheriting the outline color of the font. The outline should still appear but not have a different outline color from fill color Change 3492714 by Matt.Kuhlenschmidt Added outline with drop shadow to font automation test Change 3492737 by Matt.Kuhlenschmidt Fix linux Change 3492992 by tim.gautier Resaving Ocean Widget Blueprints / Sequences to resolve Legacy Sequence Data warnings #jira UE-46132 Change 3493089 by Jamie.Dale Ensure that the composite font of a font asset is flushed when the font object is GC'd Change 3493322 by Jamie.Dale Fixing null crash #jira UE-45758 Change 3494467 by Andrew.Rodham Fix Xbox warning Change 3494852 by tim.gautier QAGame: Changed streaming method of QA-EditorSmoke-Landscape to Always Loaded Change 3494853 by Nick.Darnell Another attempt at fixing the automation blueprint SA warning. Change 3494896 by Arciel.Rekman Fix possible null pointer access during Vulkan init. - May fix static analysis warnings in UE-46142, although warnings seem to be referring to something else. #jira UE-46142 Change 3494987 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3495010 by Matt.Kuhlenschmidt Adding additional logging to track down html5 issue Change 3495212 by Michael.Dupuis #jira UE-46143: Properly init the InstanceRenderData during the cooking phase (required by fortnite) Change 3495536 by Jamie.Dale Updating UGameEngine to call its Super::PreExit after performing its own teardown This prevents UEngine cleaning up resources that UGameEngine still needs. #jira UE-46159 Change 3495551 by Arciel.Rekman Another attempt to fix analyzer problem (UE-46142). Change 3495794 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3495905 by Matt.Kuhlenschmidt Fix USD crash when importing a meshwith no material [CL 3499771 by Matt Kuhlenschmidt in Main branch]
2017-06-19 20:27:30 -04:00
}
}
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3946692) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3801826 by Max.Chen PR #4304: Level Sequence crash fix - Guarded against dereferencing null componen. (Contributed by DSDambuster) Change 3801828 by Max.Chen PR #4302: Movie Scene Visibility Template unitialised variable, causing random . (Contributed by DSDambuster) Change 3801837 by Max.Chen Sequencer: Delay spawning/construction for convert to possessable. This fixes a bug where property values would be lost when converting back and forth from possessable to spawnable. #jira UE-52400 Change 3801841 by Max.Chen Sequencer: Make spacer nodes not selectable. PR #4194: Improvements to Sequencer (Contributed by projectgheist) #jira UE-53117 #jira UE-52139 Change 3804183 by Max.Preussner MediaAssets: Added missing lock in media sound component Change 3805414 by Max.Preussner MediaAssets: Setting valid GUID when initializing media texture resource Change 3819578 by Max.Chen PR #4370: When enabling the "MovieCapture", do not turn off the Stereo-3D display. (Contributed by yehaike) #jira UE-53647 Change 3823414 by Max.Chen Curve Editor: Lock down the first and last keys in the redundant keys removal range so that they're unaffected. #jira UE-53591 Change 3826406 by Max.Chen Sequencer: Move OnStartedPlaying() to within first update in UpdateTimeCursorPosition(). This fixes an issue where setting the hud/player visibility was getting stomped on later. #jira UE-52772 Change 3827044 by Max.Preussner MediaAssets: Added sprite visualization to media sound component #jira UE-53594 Change 3827988 by Max.Preussner MediaPlayerAssets: Fixed Media Texture is not linked to Media Player when created together #jira UE-53532 Change 3828506 by Max.Preussner MediaPlayerEditor: Added attenuation visualizer for media sound components #jira UE-53594 Change 3832590 by andrew.porter EngineTest: Added a keep state check in Property Animation sequencer test Change 3833053 by andrew.porter EngineTest: Adding Hierarchical Bias test Change 3835683 by andrew.porter EngineTest: Adding UMG Animation screenshot test Change 3836076 by Max.Chen Sequencer: Fix audio volume and pitch multiplier deprecation. Change 3836230 by andrew.porter EngineTest: Adding Sequence Bone Position automation test Change 3836347 by Max.Chen Sequencer: Fixes to shot name parsing. When a shot doesn't contain a shot number, assume, [ShotName]_[TakeNumber]. When duplicating a shot, put the new shot in the same path of the original shot, so that the take numbers will increment properly. #jira UE-51868 Change 3836552 by Max.Chen Sequencer: Sub section now has a takes menu Change 3838094 by Max.Chen UMG: Fix template finish not getting called on stop. This fixes a bug where sections aren't restored when finished. #jira UE-52285 Change 3838708 by Max.Chen Sequencer: Add notification when the blend type is changed. #jira UE-54046 Change 3840295 by Max.Chen Sequencer: Fix copy/paste crash for lights #jira UE-54084 Change 3840957 by Mike.Zyracki Added Show Only Keyable and Show Only Animated to the filter list in the property editor. Added IsPropertyAnimated to IDetailKeyframe Interface which already had support for showing properties which are keyable (which is used for the key icon next to the properties.). Could have created another interface but then would have had to mimic the sequencer binding, releasing also, so this seemed best way. One issue still left is that custom built detail items currently don't store associated properties(usually) and so certain properties, in particulalry transforms, won't show up as keyable or animated. Note this also shows up with the keyable icon not showing up next to transform tracks, and other filters like Show Only Modified not working with transforms/customs. Not sure best way to tackle this. #jira UESEQ-328 Change 3841756 by Max.Chen Sequencer: Fix unbound possessable components when pasting spawnables. #jira UE-54104 Change 3843950 by andrew.porter EngineTest: Renaming LevelStreaming tests/content to LevelVisibility Change 3844082 by Mike.Zyracki Missing file for animated filter in property editor. When finding if a track is animated we need to find it but we can't easily induce the MovieTrack class for any particular property. So we don't set a class for it and just search by it's ID and name. #jira UESEQ-328 Change 3846902 by Max.Preussner ImgMedia: Fixed image media player never finished initialization if loading failed #jira UE-54247 Change 3849820 by Mike.Zyracki Reassigning deleted widgets didn't work since the menu extender mechanism needs a valid UObject in order to perform an operation on it. So to fix we replaced GetObjectBindingContextMenuExtender in WidgetBlueprint with new delegate mechanism (OnBuildCustomContextMenuForGuid) that supports FGuid in addition to UObjects which is needed to handle re-binding deleted widgets. Note that the default sequencer hacks this for replacing deleted actors in SequencerObjectBindingNode to check to see if a LevelSequence is active. We could move to this mechanism there also. #jira UE-53163 Change 3852211 by Max.Chen UMG: Indicate name of the property that is not bound. #jira UE-54350 Change 3854120 by Max.Chen Sequencer: Fix sibling folders being allowed to have the same folder name. #jira UE-54363 Change 3854627 by Max.Chen Sequencer: Step to next/previous key should work for all tracks if there aren't any selected. #jira UESEQ-391 Change 3855825 by andrew.porter EngineTest: Adding animation blending automation test Change 3855950 by andrew.porter EngineTest: Adding correct expected valuues to animation blending test Change 3856237 by Matt.Hoffman UESEQ-336 - Sequencer Track Reordering Adds the ability to re-order Master Tracks, Folders and Object Bindings within sequencer hierarchies (including UMG). Adds the ability to do a one-off sorting of the content under the old sorting behavior if the user wants to reset their layout to how it was under legacy behavior. Modifies SequencerTrackNodes, SequencerFolderNodes and SequencerObjectBindingNodes to handle CanDrop/OnDrop for above, below and ontop of. Fixes a Slate Issue that forcibly expanded a TreeviewRow if an item handled OnDrop. Slate will now only forcibly expand the row if the item says the drop happened ontop of the item, and not above or below it like it previously did. Change 3856503 by andrew.porter EngineTest: Adding automation test for using animation blueprint with blend multi node in sequencer Change 3857875 by Max.Chen Sequencer: Assign the sequence id after the template is compiled. #jira UE-54462 Change 3858344 by Max.Chen Sequencer: Prevent Goto and Transform boxes from overlapping by allowing them to be visible at the same time in an autosized horizontal box. Also, added close button to the goto box. PR #4425: Prevent Goto and Transform boxes from overlapping in Sequencer ... (Contributed by projectgheist) #jira UE-54210 Change 3860566 by andrew.porter MediaFrameworkTest: Set the option to index 0 for the audio and video track list by default Change 3860654 by andrew.porter EngineTest: Enabling Camera Cut + FOV test Change 3860981 by andrew.porter EngineTest: Updating skeletal mesh tests with a delay after set playback position Change 3861256 by Max.Chen Sequencer: Add all bindings if none selected. #jira-54440 Change 3862154 by Andrew.Rodham Added TimeManagement module Change 3862424 by andrew.porter EngineTest: Turned on the test Bone Positions with Blend Multi Node Change 3862573 by andrew.porter EngineTest: Adding test to compare bone positions in a sequence that is blending an animation that is using an AnimBP Change 3865117 by Max.Chen Sequencer: Stop auto scroll on mouse release of movement. #jira UE-31212 Change 3865303 by Max.Chen Sequencer: Add drag and drop transactions #jira UE-54662 Change 3865304 by Max.Chen Sequencer: Fix crash when an actor factory is not found. Change 3865361 by Max.Chen Sequencer: Don't change the camera/shot lock button when popping out of a sequence. #jira UE-54665 Change 3865412 by Max.Chen Sequencer: Determine whether a transform track is for a camera by using the spawned object or template #jira UE-54666 Change 3865685 by Max.Chen Sequencer: Clear autoscrub offset when stopping autoscroll #jira UE-31212 Change 3865886 by Max.Chen Sequence Recorder: Log an error if the number of frames changes while recording. This can happen if the skeleton changes while recording. #jira UE-48715 Change 3866925 by Andrew.Porter MediaFrameworkTest: Changing the current PNG test video image sequence to 1024 x 576 Change 3867705 by andrew.porter QAGame: Adding Audio Sort Sequence to dev folder Change 3867890 by andrew.porter QAGame: Adding a sequence for testing a sorting crash to my dev folder Change 3872628 by Max.Chen Movie Scene Capture: Split delay before warmup into split delay before shot warmup so that there's separate controls for when the movie scene capture warmups up vs. shot boundaries. Change 3873131 by Matt.Hoffman UE-54732 - Crash reordering a folder with a track. This was caused by folders being the only type of track to check if someone was putting a parent track into a child track. Object Binding tracks and Tracks now check as well so that you can't use the above/below drop targets to add parents as children. This also fixed a typo in the localization keys. #jira UE-54732 Change 3873301 by Mike.Zyracki Added ability to support continous euler angle changes when changing rotations, in particularly with the rotation gizmo's. To do this we effectively added a form an of 'euler filter'(https://en.wikipedia.org/wiki/Euler_filter) to find the closest euler angle to the current euler angle. Three functions were added to FRotator to make this possible, one to get the euler angle that's has the same rotation as it, one to get the difference between two euler angles via Manhattan distance and a third using the previous two to choose a Rotator value that's closest to it. We then use these functions before calling UComponent::SetRelativeRotation to make sure we use the correct Euler after the Quat conversion. We also no longer limit(bound) the euler angles to -180,180, which is obviously necessary to avoid flips. I also changed how we caluclate yaw and roll when pitch is -90 or 90 to make it the standard approach of zeroing out roll and just setting yaw. Main reasons are the previous implementation had precision issues so things like 180, 90, -180 would show up due to numbers being nearly zero but negative,(this would break any smooth interpolations), and this facilitates having a 'gimbal' rotation mode (like Maya, Blender etc..) if we ever want that also. If needed we could keep the previous implementation but would need to add some FMath::IsNearlyZero checks, with less performance. Note we only do this special filtering when applying delta's to actors or components in the editors, which then call UComponent::SetRelativeRotationExact, which is a new function to foces the RelativeRotation to be equal to the new rotation. This allows us to store un-nomalized Rotators at the cost that the RotationCache may be broken. We didn't change any of the other UComponent functions that set rotations (via Quats or Transforms) so they will still be bounded and unwound. In SetInternalWorldLocationAndRotation we only set the rotation if the rotation has changed, which fixes the rotation getting changed and re-normalized if just translate happens. In TransformTrackEditor, we correclty use the bUndwing flag and in MovieScene3DTransformSection there was an un-needed winding check there, it will be unwound earlier if needed, which happens if Sequence Recording is happening. Max we should talk about what to do about this . Note the euler angle drag via the widget is still bound to 0-360. I think we should just unbound that now since the rotations value are now unbound. This review now includes fixes suggested by Zak. #jira UE-UE-22228 Change 3873483 by Matt.Hoffman Sequencer Tracks can now be inserted above the spacer at the bottom of the tree. #jira UE-54706 Change 3873899 by Max.Chen Sequencer: Add section selection throbbing Change 3873908 by Max.Chen Movie Scene Capture: Added logging per frame Change 3873924 by Matt.Hoffman Adds the ability to store Sequence Recorder setups into profiles that stay with the map and can be re-loaded later. Profiles store the Actor Recordings so the settings for each actor should carry with them. #jira UESEQ-339 Change 3874726 by Matt.Hoffman Disable drag-and-drop targets on spacers that come between rows in Sequencer. This prevents extra drag/drop targets showing up between each row. #jira UE-54706 Change 3874862 by Matt.Hoffman Audio Track no longer gets reordered when adding sub-audio tracks, as sub-tracks are no longer counted towards the sorting order index when normalizing indexes. #jira UE-54727 Change 3875905 by Matt.Hoffman Disable Fade Track UI if a fade track already exists in the sequence. #jira UESEQ-393 Change 3876163 by Max.Chen Sequencer: Swap the camera object to the camera component's owner if it's not the same. #jira UE-54874 Change 3876971 by Andrew.Porter EngineTest: Moved Media Player Seek test to new folder. Also enabled the test with new ground truth image. Change 3877040 by Max.Chen Cine Camera: Split camera properties to two groups, "Camera Options" and "Camera Settings". The cine camera now hides properties in the "Camera Settings" group so that properties like bConstrainAspectRatio (in the "Camera Options" group) can be visible. #jira UE-54192 Change 3877763 by Max.Chen Curve Editor: Fix curve changed on end drag so that only curves that had keys/tangents that were changed receive notification, otherwise all loaded curves were getting notified that they were changed. #jira UE-54951 Change 3878234 by Matt.Hoffman Disable "Drop Below" targets for Sequencer Tree nodes to prevent a confusing UX issue where dropping underneath a Object Binding Node puts it after the object binding node but the UI looks like it's inserting it inside the Object Binding node. #jira UE-54743 Change 3879359 by Mike.Zyracki If a track is inactive we dim it a bit which seems to be the UE4 way to show inactive or disabled state. We changed the active logic so that all subtracks need to be inactive for the track to also be inactive(instead of all active for active). This conforms to how the active state actually works, e.g if you have two sections and only one is active the track is still active above it. #jira UESEQ-388 Change 3879462 by Max.Chen Sequencer: Allow dragging onto a particular row which would move out any overlapping sections to make space for the newly created section. Newly created sections are now selected and throbbed to draw attention to themselves. #jira UE-54664 Change 3879464 by Max.Chen Sequencer: Fixed overlapping ranges being inserted into the evaluation field during compilation - The issue was that track segments that had been combined with adjacent segments (due to them being identical) would potentially cause a subsequently compiled frame to overlap with a range that had already been inserted into the evaluation field. - The insertion code previously asserted that only minor overlaps were catered for (due to fp rounding errors) and assumed that a supplied range could not entirely contain any other range in the field. - The solution is to supply the insertion time along with the range to know exactly where the data should live in the field, and crop the range to the maximum allowable space between adjacent ranges. #jira UE-54922 Change 3879590 by Matt.Hoffman Items that are now added to the Sequencer via the "+Track" menu will be selected after being added. Items can now be added inside of folders instead of just to the root level. #jira UE-27397 Change 3879612 by Mike.Zyracki Display Nodes with no children are always active. #jira UESEQ-388 Change 3879730 by Matt.Hoffman Sequence Recorder's actor recording groups now remove items from the group when removed via the UI. #jira UESEQ-339 Change 3880256 by Mike.Zyracki Fix issue with inactive display with folders and other track nodes. #jira UESEQ-388 Change 3883491 by Max.Chen Fix issue where tick is skipped due to last ticked pose isn't cleared after AnimInstance changes. Copy from Release-4.19 #jira UE-51323 Change 3883603 by Max.Chen Movie Scene Capture: Add option toggle disable screen percentage. By default this is on (no change in current behavior). #jira UE-51898 Change 3885074 by Max.Preussner MediaCompositing: Resetting media texture & freeing resource on section end; removed dead code Change 3887220 by Max.Preussner MediaCompositing: Defaulted media section duration to 1 sec (since we do not know the actual duration in most cases) Change 3887478 by Matt.Hoffman Sequences now show [Inactive] in their title bars when they're disabled. This helps communicate why a sequence isn't being evaluated. #jira UE-51469 Change 3888985 by Max.Chen Movie Scene Capture: Clamp HDR Compression Quality between 0 and 1. #jira UE-55136 Change 3893519 by Max.Chen Sequence Recorder: Clarified tooltip for bRecordNearbySpawnedActors - spawned actors will still be recorded if they match the ActorFilter. #jira UE-55238 Change 3893546 by Max.Chen Sequence Recorder: If a selected actor already has a recording, add a blank recording. #jira UE-55239 Change 3894044 by Max.Preussner MediaCompositing: Added support for seeking into a media section Change 3894310 by andrew.porter MediaFrameworkTest: Adding Img media sources for 1080 and 2160 ravent test content Change 3894426 by Max.Preussner MediaAssets: Letting media textures with AutoClear retain their clear color when player is reset Change 3895717 by Max.Chen Sequencer: Null checks to prevent crash when saving the default state of a spawnable #jira UE-55304 Change 3897388 by Max.Chen Sequencer: Don't update current time to be within the view range when stepping into a sequence. #jira UE-55322 Change 3897452 by Max.Chen Audio: Fix crash when trying to record audio without any active capture devices. Log warning if the number of input channels is not 1 or 2. #jira UE-55223 Change 3897619 by Max.Preussner MediaCompositing: Removed commented out code Change 3898072 by Max.Chen Sequencer: Override the animation asset in the player state if it doesn't match the animation asset that's being evaluated. #jira UE-55328 Change 3898272 by Max.Preussner MediaPlayerEditor: Made slate brush constants static Change 3898704 by Max.Chen Sequencer: Skip if the binding id's sequence can't be found. #jira UE-55337 Change 3899855 by Max.Preussner MediaCompositingEditor: Added cache state visualization to media track Change 3900300 by Max.Preussner MediaCompositingEditor: Added loop indicators to media sections Change 3900694 by Max.Preussner ImfMedia: Looping cache only when player is looping Change 3900892 by Max.Preussner Stats: Added stats category for media framework Change 3900954 by Max.Preussner MediaCompositing: Don't evaluate at the end of media section Change 3901348 by Max.Preussner Core: Replaced TLruCache autos for better readability Change 3901655 by Max.Preussner ImgMedia: Added more perf stats to EXR reader Change 3901972 by Max.Preussner MediaAssets: Added getter for media player in media sound components Change 3902233 by Max.Preussner MediaAssets: Enabling media textures to receive samples right after player is assigned Change 3902238 by Max.Preussner MediaCompositing: Working around init/shutdown idiosyncracies in sequencer Change 3904045 by Max.Chen Sequencer: Fix copy/paste crash. Only process UMovieSceneCopyableBinding and objects that can be spawned by the movie scene spawn register. #jira UE-55314 Change 3905605 by Max.Chen Sequencer: Restrict spawnables from being created if they have a ClassWithin that UMovieScene is not a child of. #jira UE-55429 Change 3906550 by Max.Chen Sequencer: Add media track icon #jira UE-55480 Change 3907101 by Max.Chen Sequence Recorder: Fix bugs related to not recording a level sequence. There were certain assumptions that creating a level sequence meant that sequence recording was in progress. This is not always the case - the recorders can record animation assets and not create a level sequence. Changed the notion of IsRecording() to having at least one actor recording that is recording. Countdown timer, recording displays, etc should function if IsRecording() and not based on whether a level sequence is created. #jira UE-55485 Change 3907247 by Max.Chen Sequence Recorder: Fix crash not removing PrepareToCleanseEditorObject delegate. Repros when opening sequence recorder, closing it, and then opening or creating a level. Change 3910343 by Max.Preussner Core: Added async helper for executing functions on a given thread pool Change 3910346 by Max.Preussner ImgMedia: Added separate thread pools for loading/decoding and deleting image frames Change 3910829 by Max.Preussner Profiler: Increased visible range of profiler graph Change 3910841 by Max.Preussner MediaCompositing: Displaying asset name instead of full media source path in media section Change 3910870 by Max.Preussner ImgMedia: Using deallocation thread pool only in debug builds Change 3919642 by Max.Chen Sequence Recorder: Clarify active tooltip #jira UE-55661 Change 3919660 by Max.Chen Sequencer: Sequence template source signatures are now also compared to catch the case where a sub-sequence asset has been saved but not modified - The following sequence of events exposes this issue: - Create a master sequence with a single shot that spawns a cube - Add this sequence to a level and set it to auto-play - Save everything and restart - Resave just the inner shot asset without opening it - PIE - The inner shot never spawns its cube because its template was wiped on save, but its signature never changed. Since the master sequence previously didn't check the template source signature, it ends up trying to evaluate an empty template. #jira UE-55626 #jira UE-55490 Change 3921825 by Max.Chen Sequencer: "Run Construction Script in Sequencer" is off by default for blueprints but on for Sequencer. This allows the content author to switch it on for specific blueprints and sequencer will be default, run those with construction scripts enabled. Change 3922232 by Max.Chen Sequence Recorder: Reset countdelay on stop. #jira UE-55755 Change 3922306 by Max.Chen Sequence Recorder: Don't automatically mark transforms to be recorded by sequence recorder. Instead, log a warning if the user toggled it off to warn that the resulting animation might not match gameplay. #jira UE-55758 Change 3922912 by Max.Chen Sequence Recorder: Fix refresh next sequence name #jira UE-55757 Change 3927654 by Max.Chen Movie Scene Capture: Added format mapping for the name of the current camera #jira UE-55769 PR #4537 Change 3927658 by Max.Chen Sequencer: Added fbx property mapping for "FocusDistance" to "FocusSettings.ManualFocusDistance" #jira UE-55782 Change 3932022 by Max.Chen Sequencer: Add import animation track section to next available row index. #jira UE-55892 Change 3933919 by Max.Chen Sequencer: Jump to playback start frame and not 0 to start playback for recording. #jira UE-55933 Change 3934307 by Andrew.Rodham Sequencer: Add template signature that is re-generated every time the base template is regenerated, which invalidates evaluation fields This fixes an issue where the same sequence is instantiated multiple times in a sequence. If the source sequence was saved, its template would be wiped, which would invalidate the template ID When an instance tries to evaluate the master template, it would only invalidate a range in the evaluation field that was the hull of any invalid sub sequences overlapping the current time, potentially leaving invalid data in the evaluation field at positions later (or earlier) on in the sequence When the sub template was re-generated, it receives the same SequenceSignature as it had before (because the sequence hasn't actually changed), which causes the stale evaluation field data to fail the IsDirty check (because the sequence is the same as it thought, but the *template* has changed) This has been addressed be adding a signature to templates themselves, and checking both the template signature and sequence signature as a part of the IsDirty check. This ensures that we regenerate if either the template, or the sequence have changed. #jira UE-55934 Change 3936327 by Andrew.Rodham Sequencer: Removed increment when trimming right UMovieSceneSection::TrimSection already explicity assigns an exclusive bound to the time passed in. The new behavior means we can trim a section to the right, and insert another section without changing the time to create adjacent sections. #jira UE-42652 Change 3936328 by Andrew.Rodham Fixed KeyFrameManipulator assignment operators and copy/move constructors - These types are potentially self-referential so cannot use default constructors/assignment Change 3936330 by Andrew.Rodham Converted UMGSequencePlayer to use frames internally #jira UE-54878 Change 3936726 by Max.Chen Sequencer: Set track node as the parent of the key area node. The key area switcher needs the object binding id from the parent object binding node. Without this, the binding to the external value fails. #jira UE-55931 Change 3936775 by Max.Chen Sequencer: Should stop or loop should compare DurationFrames with Current Time from StartTime. The bug is that if you set 30 warmup frames in movie rendering for a range of 0-100, the FrameRange will be starting at -30 and have a duration of 130. Without this fix, the playback will continue until frame 130, rather than 100. #jira UE-55933 Change 3936935 by Matt.Hoffman Easing Curves are now represented in Play Rate resolution instead of internal resolution. #jira UE-55937 Change 3937069 by Matt.Hoffman Users can toggle if the is infinite on each side, limited by which tracks support infinite ranges. #jira UE-55891 Change 3937516 by Max.Preussner ImgMedia: Added support for single-threaded platforms #jira UE-55986 Change 3937826 by Max.Preussner MediaAssets: Disabling media sound components on HTML5 if AudioMixer is not enabled Change 3937997 by Max.Chen Curve Editor: Add Zoom to Fit Curves so that selected curves from Sequencer can be focused on. Tested that undo doesn't re-zoom. #jira UE-55935 Change 3938000 by Max.Chen Sequencer: Stop all sounds before generating audio waveforms. #jira UE-55951 Change 3938376 by Max.Preussner XGEController: Disabled XGE Controller in single-threaded apps to prevent crash Change 3938444 by Max.Preussner Core: Added async support for single-threaded applications Change 3938445 by Max.Preussner Networking: Added support for single-threaded applications in UDP socket sender/receiver Change 3938447 by Max.Preussner Messaging: Added support for single-threaded applications Change 3939432 by Max.Chen Sequence Recorder: Append command list to global level editor actions so that shortcuts are accessible in level editor. #jira UE-55798 Change 3940229 by Andrew.Rodham Added prospective display rate upgrade to UMovieScene::PostLoad - There was previously some very odd behaviour that would assign the fixed frame interval only when a sub sequence was focused in SSequencer. This meant that many sequences could have a frame interval of 0 set in the data. - Under the old method of snap interval display this would have fallen back to getting the display interval from the sequencer settings, but we no longer look at these. - The USequencerSettings properties have been removed and in their place, a prospective data upgrade for sequences that have a fixed frame interval old 0fps that sets the play rate to the previous defaults based off the old USequencerSettings defaults. - This could end up 'changing' the display rate for sequences where the user has changed the snap interval in the settings for a particular sequence editor, but there's not much we can do about that given we don't have access to the USequencerSettings classes in UMovieScene #jira UE-55919 Change 3940277 by Andrew.Rodham Sequencer: Added ability to default frame resolutions and play rates for newly created actor sequences Change 3940378 by Andrew.Rodham Sequencer: Post move import dialog now defaults to the playback framerate of the sequence, and floors to frame numbers Change 3940559 by Andrew.Rodham Reinstated primed or recording sequence color Change 3940642 by Max.Preussner ImagePlate: Removed image plate media playback functionality Change 3940843 by Max.Preussner Core: Made TCircularQueue actually thread-safe; improved code comments Change 3940860 by Max.Chen Sequencer: Changed StructNameToKey to StructPathToKey Previously, keying a PropertyPath of [RenderTransform][Shear][X] would get trimmed to X, which doesn't map to a channel name as considered by Sequencer2dTransformTrackEditor. Instead, trim the resulting property path to [Shear][X] so that track editors can determine the desired struct path and channels to key. #jira UE-52966 Change 3941292 by Mike.Zyracki Fix for trajectories out of range not showing up. 1) If we had no key data we would pop the time, so wouldn't get the section ranges. 2) Calculating of upper bound was wrong, checking against -1 and not key == num of keys when doing algo::lower_bound. 3) No need to do the Bck-- for the bakward iterators since we fixed #2. We start now from the upper bound correctly. 4) If we had no keys (at section start,end) we would incorrectly say we were any key type, so since we draw constant keys as dashed we would do so incorrectly around section end points. #jira UE-55929 Change 3941424 by Max.Chen Curve Editor: Change Zoom to Fit to use TArrayView Change 3941498 by Max.Preussner Core: Added FMath::DivideAndRoundNearest function Change 3942097 by Matt.Hoffman Drop Frame Timecode Support for NTSC rates. Change 3942104 by Matt.Hoffman Sequence Recorder Group is no longer visible inside the World Outliner after using one. #jira 55266 Change 3942107 by Max.Chen Sequencer: Resurrect logic to find or extend an existing section when adding keys. Change 3942330 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942339 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942507 by Andrew.Rodham Sequencer: We no longer pad the time overlap threshold with a small number that is not scaled by the current zoom level - The presence of this pad was causing keys that were far apart to be grouped when zoomed in a long way Change 3942509 by Andrew.Rodham Sequencer: Only pad total view range, rather than section range as well when retrieving keys to render - This stops us from rendering keys that are within the view range, but outside the section range Change 3942512 by Andrew.Rodham Added transactions to some sequencer details customizations Change 3942513 by Andrew.Rodham Sequencer: Reinstated validation checks to UMovieSceneSection::SetStartFrame and SetEndFrame, changed erroneous uses to use SetRange Change 3942560 by Andrew.Rodham Pass by rvalue reference to appease error C2719 on Win32 ('InChannels': formal parameter with requested alignment of 8 won't be aligned) Change 3942697 by Andrew.Rodham Newly Created Level Sequences and Actor Sequences now default to 24000 fps frame resolution (+/- ~24hrs range, supporting all integer rates + 23.976) Change 3942700 by Andrew.Rodham Sequencer: Added legacy out-of-bounds errors for times that are not supported by the current legacy upgrade frame resolution Change 3942989 by Max.Preussner Core: Fixed circular queue count calculation Change 3943538 by Max.Preussner MediaAssets: Reverted workaround for procedural audio log spam in HTML5 (Actor component initialization cannot be skipped if the component is used in a level) Change 3944071 by Max.Preussner QAGame: Fixed Media Texture keeps last frame of Media when PIE ends #jira UE-53360 Change 3944292 by Max.Chen Sequencer: Added extra flags to ensure that asset initialization does not occur on template actor sequences #jira UE-56113 Change 3944364 by Max.Chen Sequencer: Prevent circular shot/master tracks. Tested adding master -> child -> master as drag and drop cinematic shot tracks and sub tracks as well as through the + button. #jira UE-56091 Change 3944422 by Max.Chen Sequence Recorder: Disable transform recording if off. #jira UE-56061 Change 3944745 by Andrew.Rodham Sequencer: Key rendering fixes - Fixed assert that occured when keys happened to reside on some times due to KeyTime + TimeOverlapThreshold - KeyTime being slightly larger TimeOverlapThreshold - Fixed keys sometimes being clipped when zoomed right in due to lack of half-frame offset - Added missing documentation to MovieSceneTimeHelpers.h #jira UE-56107 Change 3945231 by Andrew.Rodham Sequencer: Reconstruct channel proxy on Serialize to catch all cases of undo/redo, PostLoad and duplication #jira UE-56089 Change 3945301 by Andrew.Rodham Sequencer: Added safety checks during initial sequence recording to guard against applying negative or 0-sized sequence ranges #jira UE-56125 Change 3946627 by Max.Preussner Fortnite: Fixed game crashes closing editor while in PIE - Pure virtual function being called #jira UE-56144 [CL 3946896 by Max Chen in Main branch]
2018-03-14 22:09:33 -04:00
return InTime;
Copying //UE4/Dev-Editor to //UE4/Dev-Main (Source: //UE4/Dev-Editor @ 3497164) #lockdown Nick.Penwarden #rb none ===================================== MAJOR FEATURES + CHANGES ===================================== Change 3433074 by Matt.Kuhlenschmidt Fix crash when clicking on certian tutorial blueprints. #jira UE-44593 Change 3433075 by Matt.Kuhlenschmidt Remove hittest grid log spam. The underlying problem causing this has been fixed Change 3433077 by Matt.Kuhlenschmidt Fix lighting becoming unbuilt when mesh painting #jira UE-44837 Change 3433081 by Matt.Kuhlenschmidt PR #3553: Crashfix for static array properties (Contributed by Pierdek) Change 3433104 by Alexis.Matte Make sure re-import skeletal mesh follow the import morph option #jira UE-42846 Change 3434825 by Matt.Kuhlenschmidt Fix crash when GC happens while the vr editor radial menu is open. Change 3434831 by Matt.Kuhlenschmidt Added missing file Change 3434868 by Shaun.Kime If you have a reroute node between a Material Function texture input and its usage, the parent material will fail to resolve the reroute node. #jira ue-44670 Change 3434998 by Alexis.Matte Meshes editors material/section panel are now fully transactional - Staticmesh editor: section material slot, section cast shadow, section collision, material slot instance, material slot name - Skeletal mesh editor: material slot instance, material slot name Also fix some transaction description #jira UE-44462 Change 3435195 by Jamie.Dale Fixed incorrect handling of some LTR scripts that require shaping These scripts need to go through HarfBuzz, and this also fixes a case where HarfBuzz wasn't applying font scale correctly. #jira UE-44767 Change 3435199 by Jamie.Dale Fixed some crashes/artifacts with bidirectional text It was possible for a line to compute an incorrect range, which could cause crashes or other highlighting issues. The highlighting logic has also been updated as the old code didn't handle all bidirectional cases correctly. Change 3435200 by Jamie.Dale Fixed a grapheme cluster metrics issue in the font editor viewport The viewport also now respects the default shaping method CVar. Change 3435771 by Alexis.Matte Fix degenerated bounds calculation for skeletalmesh when the skeleton is remove from a re-import (PhysicAsset API change, adding 1 function) #jira UE-44609 Change 3436856 by Jamie.Dale Added some missing Unicode block ranges Change 3436914 by Jamie.Dale Adding some missing combining character ranges to the text shaper Change 3436923 by Alexis.Matte PR #3463: Get bounds for all triangles, not just the first one. WedgeIndex was . (Contributed by DaveC79) #jira UE-43764 Change 3436948 by Jamie.Dale Updated the Portal to use the predefined Unicode block ranges Change 3436961 by Max.Chen Sequencer: Show camera shake/anim track menus even if there aren't any assets. Change 3437244 by Max.Chen Sequencer: Clear locked cameras when releasing Sequencer. #jira UE-44967 Change 3437515 by Arciel.Rekman UBT: improvements for LocalExecutor. - Larger number of parallel jobs on 16GB+ machines. - Use WaitForExit() instead of polling. - Tested on Linux and Mac. Change 3437629 by Matt.Kuhlenschmidt Improve asset import data display in static and skeletal meshes Change 3438047 by Arciel.Rekman Fix overlapping ranges being passed to memcpy(). Change 3438822 by Yannick.Lange ViewportInteraction: Move gizmo handle files to make them private. Change 3438906 by Matt.Kuhlenschmidt PR #3556: Git Plugin: fix new option "init Git LFS" that make assets read-only (master/UE4.17) (Contributed by SRombauts) Change 3438907 by Matt.Kuhlenschmidt PR #3565: add -quality option to buildlighing commandlet (Contributed by kayama-shift) Change 3438908 by Matt.Kuhlenschmidt PR #3558: UE-44862: Always update SColorPicker color on OK button (Contributed by projectgheist) Change 3439393 by Matt.Kuhlenschmidt Force highest LOD for highres screenshots Change 3439819 by Matt.Kuhlenschmidt Turned FAssetData into a struct for some upcoming script exposure of FAssetData Change 3439949 by Arciel.Rekman Fixed selection logic for the UE4_LINUX_USE_LIBCXX environment variable. - Allows disabling libc++ by setting the variable to 0. - Pull request #3576 contributed by jared-improbable. Change 3441078 by Jamie.Dale The culture/language/locale console commands are now available in all build configs Change 3441109 by Jamie.Dale Text containing surrogate pairs now runs through HarfBuzz when shaping in Auto mode This is needed as the kerning-only shaping code assumes that everything is within the BMP Change 3441275 by Matt.Kuhlenschmidt Disable spinning on location and scale. These dont work because we have no notion of infinite spinning Change 3442748 by Yannick.Lange ViewportInteraction: Remove unused console variables. Change 3442775 by James.Golding Add support for editing MaterialFunctions to MaterialEditingLibrary Pull Material recompile/update code into UMaterialEditingLibrary::RecompileMaterial Pull MaterialFunction update code into UMaterialEditingLibrary::UpdateMaterialFunction util Move RebuildMaterialInstanceEditors to UMaterialEditingLibrary Added test content for Material/MaterialFunction editing Add needed BlueprintReadWrite to expressions (constants, function input/output) Expose UMaterialExpressionMaterialFunctionCall::SetMaterialFunction to BP, rename old func (which takes old function) to SetMaterialFunctionEx, also expose GetInputNameWithType Change 3442779 by James.Golding Fix header order Change 3442817 by Yannick.Lange ViewportInteraction: Add can execute checks for level editor commands. Change 3443038 by Michael.Dupuis #jira UE-43377: When you select a foliage actor we will move all instance contained in it to the new level as we can't move a foliage actor Only permit moving foliage instance if there is some selected Change 3443855 by Michael.Dupuis #jira UE-44885: Unregister from PerModuleDataObjects when the object is destroyed Change 3446096 by Max.Chen Sequencer: Add OnFinished() event when a level sequence completes playback #jira UE-45173 Change 3446097 by Max.Chen Sequencer: Evaluate one last time before the sequence is torn down and reset #jira UE-45174 Change 3446242 by Jamie.Dale Fixed caret not appearing in empty text layouts Caret selections have no range, and therefore have no width Change 3446361 by Matt.Kuhlenschmidt Fix WITH_EDITOR only functions causing generated code compile errors when the all functions on the class are WITH_EDITOR Change 3446457 by Alexis.Matte Polish the speed tree import dialog #jira UE-44963 Change 3446946 by Michael.Trepka Modified FWindowsWindow::GetRestoredDimensions to return correct window position for normal windows for which GetWindowPlacement returns position in workspace coordinates #jira UE-37934 Change 3447543 by Arciel.Rekman Reduce VMAs on Linux. - Trades off increased address space (VIRT in terms of ps/htop) for smaller number of distinct mappings (VMAs, virtual memory areas). This decreases possibility to run into vm.max_map_count limit on Linux. - Tested on Linux and Mac. Change 3448468 by Arciel.Rekman Fix race condition during creation of GMalloc. - On Mac GMalloc can be created on two different thread that are racing with each other - app's main thread and a system thread. Change 3449012 by Max.Chen Sequencer: Add time to transform, color and vector key structs so that key times are editable from the key editors. #jira UE-45089 Change 3449018 by Max.Chen Sequencer: Add OnCameraCut event that fires when there is a camera cut. #jira UE-45137 Change 3449195 by Max.Chen Sequencer: Add setting for limit scrubbing to playback range. #jira UE-43502 Change 3449198 by Max.Chen Sequencer: Reorder hierarchical bias so that group priority takes precedence. Change 3449217 by Max.Chen Sequencer: Add setting to activate realtime viewports when in sequencer. Change 3449219 by Max.Chen Sequencer: Focus on search boxes when opened. Change 3449238 by Max.Chen Sequencer: Assign actor should replace the actor itself after it has updated all the components. Also, replace components be fullname rather than by class. Change 3449239 by Max.Chen Sequencer: Fix offsets when moving multiple sections. Dragging should be clamped to the bounds that any of the selected sections hits against the unselected sections. Change 3449241 by Max.Chen Sequencer: Restore section selection after full tree rebuild. Change 3449279 by Max.Chen Sequencer: Set movie scene capture frames only when not using custom frames. This allows the user entered frame numbers to persist in config, rather than overwriting them when doing a "Render Shot" Change 3449280 by Max.Chen Sequencer: Spawn in the persistent level. Otherwise, they get spawned into whatever sublevel is current. #jira UE-44552 Change 3449294 by Max.Chen Sequencer: Null check for sequencer ed mode crash. Change 3449297 by Max.Chen Sequencer: Fix delay in sliding values. Mark changed when sliding values. Mark refresh immediately when committing values since OnValueChanged will be called and needs to have the correct value that was refreshed immediately. #jira UE-42866 Change 3449542 by Max.Chen Sequencer: Fix scrubber hit testing so that the time scrubber is really favored over the playback ranges. #jira UE-44569 Change 3451507 by Matt.Kuhlenschmidt Fix extra slate uv coords not functioning on ES2 Change 3451510 by Matt.Kuhlenschmidt PR #3595: Fixed wrong colour for level status (Contributed by ronve) Change 3451529 by Alexis.Matte fbx scene importer: Make sure we set INVALID_UNIQUE_ID to node that has no attribute. #jira UE-34410 Change 3451611 by Yannick.Lange ViewportInteraction: Dragging gizmo without second pass for snapped calculations. Change 3452134 by Jamie.Dale Fixed constant font cache flushing if a widget had no font set Change 3452239 by Jamie.Dale Fixed constant font measure flushing if a widget had no font set Change 3452243 by Jamie.Dale Removed deprecated code for creating fonts from bulk data Change 3452277 by Jamie.Dale The concept of "stale" composite fonts is now editor-only Change 3452358 by Alexis.Matte Fbx scene importer: Do not remove existing attribute reference from the blueprint if the reimport of the associate mesh attribute is not tick. #jira UE-45232 Change 3452678 by Max.Chen Sequencer: Fix crash on export if there's no shot data. Change 3453057 by Matt.Kuhlenschmidt Exposed asset exporting to script Change 3453782 by Andrew.Rodham Sequencer: Fixed deterministic cooking issues with movie scene data - Movie scene signatures are now initialized in PostInitProperties - A warning is now presented when attempting to cook old data that was never serialized with a signature. - Removed redundant legacy data upgrade logic that could dirty level sequences on load. #jira UE-44912 Change 3453788 by Yannick.Lange ViewportInteraction: Custom scene proxy for gizmo handles. Change 3453938 by Max.Chen Sequencer: Hotkeys (shift , and shift .) to step to next/previous shot #jira UE-45119 Change 3454058 by Michael.Dupuis Fixed StaticAnalysis Change 3454077 by Max.Chen Sequencer: Fix not saving the pre-animated track value when creating a track/key. On pre object change, broadcast property change so that a track or key can be created. That track/key needs to be evaluated immediately so that the pre-animated state can be saved properly. This is done now with RefreshAllImmediately and is only called when a track has been created. Also, added a return value for OnKeyProperty, so that it's known what changed in particular (ie. track created, track modified, etc) Also, fixed transform keying so that if a transform track already exists for the object or the scene component, the existing track is used. #jira UE-45130 Change 3454108 by Nick.Darnell UMG - Fixing the WIC to properly record cursor delta so that scrollbars work. Change 3454109 by Jamie.Dale Cache the text layout source info in non-shipping builds so you can inspect it in the debugger Change 3454202 by Matt.Kuhlenschmidt Fix bogus error message about the number of usable texture coordinates on ES2 when compiling a UI domain material Change 3454390 by Yannick.Lange Fix creating a plugin in a C++ project opens a second instance of Visual Studio. Use SourceCodeAccessor to open solution when necessary. #jira UE-45035 Change 3454564 by Matt.Kuhlenschmidt #rnx Fix deprecation warnings Change 3455471 by Yannick.Lange ViewportInteraction: Fix entering and exiting VR Mode disables gizmo in desktop editor viewport. #jira UE-44965 Change 3456183 by Max.Chen Sequencer: Auto key, auto track refactor. Auto key - create a key when the property changes and there's an existing track. Auto track - create a track when the property changes. This is only exposed in the level sequence editor. All - create a key and a track when the property changes. This is only exposed in VR Editor. None - do nothing. #jira UE-43469 Change 3456349 by Andrew.Rodham Sequencer: Only perform legacy signature checks on instances, and only where signatures match the CDO Change 3456678 by Alexis.Matte Allow to add null level instance override material via the advance material array. But still limit the override material number to the mesh material number. #jira UE-45306 Change 3456945 by Max.Chen UMG: Add restore state to 2d transform section. #jira UE-45372 Change 3457196 by Arciel.Rekman Linux: serialize allocations from the memory pool. Change 3458434 by Max.Chen Sequencer: Remove obsolete set tick prerequites functions. Change 3458671 by James.Golding Added MIC editing support to MaterialEditingLibrary Fix static analysis warning Change 3458888 by Matt.Kuhlenschmidt PR #3615: More detailed log messages for debugging warnings/errors (Contributed by projectgheist) Change 3458893 by Matt.Kuhlenschmidt PR #3583: UE-44960: Delta value wasn't being used (Contributed by projectgheist) Change 3458895 by Matt.Kuhlenschmidt Fix typo Change 3458902 by Matt.Kuhlenschmidt PR #3607: Improved InputKeySelector functionality (Contributed by projectgheist) Change 3458917 by Matt.Kuhlenschmidt Fix crash with invalid object properties in the class picker #jira UE-39000 Change 3458939 by Matt.Kuhlenschmidt Fix compile error Change 3458984 by andrew.porter QAGame: Initial check in of sequencer smoke test map Change 3459510 by Matt.Kuhlenschmidt Fixed ensure when deleting a map that contains build data which also happens to be the currently loaded map. #jira UE-45052 Change 3460985 by Max.Chen Sequencer: Snap play time to keys now allows scrubbing between keys and snaps to key times within a certain screenspace tolerance. #jira UE-45090 Change 3461698 by Arciel.Rekman Avoid using ARRAY_COUNT in Vulkan. - Sometimes those arrays can have no extensions whatsoever, and it is illegal to declare a 0 element C array. Change 3462053 by Max.Chen Sequencer: Show sequencer spawnables in the world outliner and add the icon overlay for spawnables. #jira UE-43470 Change 3462139 by Max.Chen Property Editor: Add objects to FPropertyAndParent Change 3462202 by Arciel.Rekman Fix FSocket::Recv() blocking with Peek when there's no data. Change 3462253 by Nick.Darnell Slate - New Clipping System Clipping is now a stateful choice made during composition of the slate hierarchy. Previously every widget got to respect or modify the clipping rect on an as needed basis. The problem was that clipping was only allowed in the layout space of the widget, and it wasn't possible to properly clip elements with render transforms. The new system permits all kinds of transforms on any widget, and they will all be clipped correctly. It tries to use Scissor Rects as they are much cheaper, but will switch over to stenciling if need be to represent a complicated masking structure with several rotated clipping rects all needed to be combined together. Here are the new clipping states a widget can have, almost all widgets are set to No. Only change it from No if your widget actually needs to clip, generally speaking most widgets don't need to clip. /** * This widget does not clip children, it and all children inherit the clipping area of the last widget that clipped. */ Inherit, /** * This widget clips content the bounds of this widget. It intersects those bounds with any previous clipping area. */ ClipToBounds, /** * This widget clips to its bounds. It does NOT intersect with any existing clipping geometry, it pushes a new clipping * state. Effectively allowing it to render outside the bounds of hierarchy that does clip. * * NOTE: This will NOT allow you ignore the clipping zone that is set to [Yes - Always]. */ ClipToBoundsWithoutIntersecting UMETA(DisplayName = "Yes - Without Intersecting (Advanced)"), /** * This widget clips to its bounds. It intersects those bounds with any previous clipping area. * * NOTE: This clipping area can NOT be ignored, it will always clip children. Useful for hard barriers * in the UI where you never want animations or other effects to break this region. */ ClipToBoundsAlways UMETA(DisplayName = "Yes - Always (Advanced)"), /** * This widget clips to its bounds when it's Desired Size is larger than the allocated geometry * the widget is given. If that occurs, it behaves like [Yes]. * * NOTE: This mode was primarily added for Text, which is often placed into containers that eventually * are resized to not be able to support the length of the text. So rather than needing to tag every * container that could contain text with [Yes], which would result in almost no batching, this mode * was added to dynamically adjust the clipping if needed. The reason not every panel is set to OnDemand, * is because not every panel returns a Desired Size that matches what it plans to render at. */ OnDemand UMETA(DisplayName = "On Demand (Advanced)") - Large API Change - All FSlateDrawElement::Make_____ calls have been deprecated that involved passing in a clipping rect. You no longer should are passed a Clipping rect via OnPaint. You are still passed a rect, but this rect represents a Culling Rect, which is valuable if you need to just out right not paint things the user can't possibly see. If you were previously trying to determine if you should cull widgets, by doing something like this, if ( FSlateRect::DoRectanglesIntersect(MyClippingRect, CurWidget.Geometry.GetRenderBoundingRect()) ) That's no longer a good option since there are ways for widgets to ignore the culling bounds. You should convert anything like above to the one below, if (!SWidget::IsWidgetCulled(MyCullingRect, CurWidget)) To assist in debugging efforts, there are several new debugging console flags in Slate, Slate.ShowClipping 1 - Controls whether we should render a clipping zone outline. Yellow = Axis Scissor Rect Clipping (cheap). Red = Stencil Clipping (expensive). Slate.DebugCulling 1 - Disables pushing clipping or stencil rects to the GPU, but continues to intersect culling rects, so that you can tell if a widget is properly culling children it can't possibly draw. Slate.ShowTextDebugging 1 - Show debugging painting for text rendering. I've added a new Experimental Feathering Option, it adds AA geometry around the outside of Box and Image brushes. Slate.Feathering 1 If you're using RenderDoc or something similar, you can now enable render events for slate, so that you can better grok how we're batching and changing states for each UI render pass. Slate.EnableDrawEvents 1 #jira UE-4659 #rn Change 3462714 by Nick.Darnell Fixing a few more compiler issues with the clipping changes. Change 3462726 by Max.Chen Switch OnEditStructChildContentsChanged to use FObjectWriter instead of FMemoryWriter which supports serializeing UObjects. This fixes a crash when adding actor array elements to a user defined event struct. #jira UE-45431 Change 3462801 by Nick.Darnell Adding a UMG dependency to EngineTestBuild. Change 3462914 by Max.Chen Sequencer: Fix regression where spawnables aren't getting saved. Caused by 3407138 #jira UE-30007 #jira UE-39003 Change 3462946 by Nick.Darnell Automation - Tweaking the UI automation tests converting them over to use the new UI Screenshot automation test. Automation - Adding a blur widget test. Change 3462987 by Matt.Kuhlenschmidt Back out changelist 3458893 Change 3464774 by Matt.Kuhlenschmidt PR #3629: Bugfix: Missing small icon in Project Launcher profile editor (Contributed by aarmbruster) Change 3464785 by Nick.Darnell Fixing some clipping stuff in the editor. Change 3464830 by andrew.porter QAGame: Second pass on sequencer smoke test map Change 3464902 by Nick.Darnell Loading - Adding some additional checks to the the loading code to ensure we're on the main thread. Additionally adding a fix from UDN that prevents deadlocks in the rare case a user hits Alt+Tab in a fullscreen game while in a hard loading screen. Change 3464988 by Max.Chen Sequencer: Add attenuation settings for attached audio components. #jira UE-33080 Change 3465024 by Nick.Darnell MoviePlayer - Impoving the playback mode displaynames. Change 3465074 by Arciel.Rekman Fix shadowing issues of GraphicsPSOInit. Change 3465097 by Matt.Kuhlenschmidt Some refactoring of the details panel Exposed new methods of adding a struct on scope to a details panel and have it work properly with customizations. The scruct on scope has a "fake" ustructproperty that allows the details panel to show the whole struct not just an individual property. Refactored the API for adding rows to details panels to make it more consistent\ AddChildCustomBuilder->AddCustomBuilder AddChildGroup->AddGroup AddChildContent->AddCustomRow AddChildPropert->AddProperty AddChildStructure->AddExternalStructureProperty AddStructure->AddAllExternalStructureProperties AddExternalProperty->AddExternalObjectProperty or AddExternalStructureProperty Change 3465186 by Max.Chen Sequencer: Save the BindingID in the pre animated token producer so that it can be destroyed properly. This fixes a bug where the default state of a spawnable isn't saved. #jira UE-43780 Change 3465315 by Matt.Kuhlenschmidt Fix Fortnite and Orion details panel customization warnings Change 3465424 by Nick.Darnell Automation - Moving the step for setting the link to the automation reports to be set before we start the engine. Change 3465488 by Nick.Darnell Automation - Forcing textures to load before taking screenshot, so that the scene gets another opportunity to render before we render with Slate. This should fix the Blur UI Test. Change 3466277 by Arciel.Rekman Linux: fix window drift when dragging (UE-40380). - Change by Cengiz Terzibas. Change 3466370 by Nick.Darnell UMG - Fixing the colors for the resize handle in the designer. Change 3466372 by Nick.Darnell UMG - Fixing the ruler ticks sometimes not being drawn. Change 3466374 by Nick.Darnell UMG - Fixing the designer showing multiple options for sequencer. Change 3466377 by Nick.Darnell UMG - Cleaning up some clipping bits. Change 3467025 by Andrew.Rodham Re-saving assets that contain legacy (<4.15) movie scene data to remove deterministic cook warning. If conflicts arise during merging of these assets, please ignore the changes made in dev-editor, and accept game-side changes. (CIS step 62283298, jobId 7773146) (CIS step 62283297, jobId 7773146) Change 3467099 by Max.Chen Fix GetObjectPropertyClass ensure logic. This was returning UObject::StaticClass when valid. Change 3467172 by Max.Chen Sequencer: Evaluation optimizations. Also, fixes subsequences not getting expired, leaving dangling spawnables. #jira UE-43690 Change 3467192 by Matt.Kuhlenschmidt Fix transactions getting stuck in the color grading controls. This prevents PIE from working properly and causes shutdown crashes #jira UE-45527 Change 3467251 by Yannick.Lange ViewportInteraction: Fix scale and rotation snap while dragging with two lasers. #jira UE-43489 Change 3467331 by Matt.Kuhlenschmidt Fix D3D shader compiler hard coding shader path and not giving proper warnings when it cannot find the shaders Change 3467335 by Matt.Kuhlenschmidt Remove DarkStyle attribute from SNumericEntryBox and allow a spin box style to be passed to it. Change 3467558 by Max.Chen Scene Outliner: Generic support to add default columns to a scene outliner. Change 3467565 by Jamie.Dale Removing old screenshot data for test Change 3467589 by Nick.Darnell Editor - Random cleanup. Change 3467596 by Nick.Darnell Progress Bar - Exposing Border Padding to UMG. Change 3467600 by Nick.Darnell Slate - Adjusting the rendering of the splitter, previously it could be off by a pixel or two, which becomes more apparent now with the clipping changes. Change 3467601 by Max.Chen Property Editor: Fix static analysis warning Change 3467662 by Nick.Darnell Automation - Fixing a bug with the screenshot comparison tool not replacing (removing) the old screenshot data. Change 3467674 by Max.Chen Property Editor: Fix static analysis warning Change 3467737 by Max.Chen Sequencer: Added OnMovieSceneBindingsChanged delegate Change 3468053 by tim.gautier QAGame: Updating Editor Smoke Map - Updated landscapes into Stations for testing - Added Foliage Sublevel Change 3468194 by Arciel.Rekman Linux: fix problems communicating with various STL-using libs. - Stop hiding global new/delete signatures. - Disable CEF3 since this change uncovers the problem with libcef.so not built to use bundled libpng. Change 3468678 by Max.Chen Sequencer: Set "Sequencer Actor" tag before setting the actor label so that the outliner refreshes after the actor has the tag. Change 3469314 by tim.gautier QAGame: Added Painted Foliage / Spline section to EditorSmoke map Change 3469377 by Nick.Darnell Slate - Fixing some warnings in a couple of sample games due to the clipping changes. #rnx Change 3469767 by Max.Chen Sequencer: Outliner column and sequencer binding data #jira UE-43470 Change 3469974 by Arciel.Rekman Fix code projects not working in Linux installed build. Change 3470082 by Nick.Darnell Slate - The GetRenderer() call on SlateApplication no longer returns a SharedPtr, rather than convert it to a thread safe ptr, going to just make accessing it a raw ptr return, so it can be safely referenced on the game thread while being used on the slate loading thread. Change 3470174 by Nick.Darnell Slate - Get the last widget in a widget path utility. Change 3470176 by Nick.Darnell UMG - User Widgets now have an easy way to know if they're part of or have been removed from the focused widget path, which is handy for doing effects. Change 3470261 by Nick.Darnell Slate - The GetRenderer() call on SlateApplication no longer returns a SharedPtr, rather than convert it to a thread safe ptr, going to just make accessing it a raw ptr return, so it can be safely referenced on the game thread while being used on the slate loading thread. Change 3470286 by Max.Chen Sequencer: Scene Component's HiddenInGame now goes through the VisibilityTrack and the visibility template. Change 3470366 by Nick.Darnell Slate - We now version focus per user, that way during focus events, we can safely abort focus events and state transitions if someone interrrupts the active focus event with something new. Change 3470649 by Matt.Kuhlenschmidt Fix deprecation warnings Change 3470695 by Matt.Kuhlenschmidt Fixed typo #jira UE-45580 Change 3470721 by Matt.Kuhlenschmidt Fix static analysis Change 3471254 by Michael.Dupuis #jira UE-42952: Keep occlusion result per view Change 3471287 by Nick.Darnell UMG - Render Focus Rule now defaults to never. Change 3471291 by Nick.Darnell Slate - Fixing FSlateRenderer* change fallout. Change 3471299 by Nick.Darnell Slate - Fixing FSlateRenderer* change. Change 3471323 by Nick.Darnell Automation - Fixing automation and Static Analysis warning. Change 3471413 by andrew.porter QAGame: Added test content for anim blending and material parameteres to sequencer smoke level Change 3471649 by Max.Chen Sequencer: Modify the track when adding animation #jira UE-45618 Change 3471659 by Matt.Kuhlenschmidt Added a way to check if a movie is playing from the engine. Prevented viewport redraws for canvas loading screens if a slate based loading movie is playing Change 3471734 by Matt.Kuhlenschmidt Added basic material hookup to USD. Similar to FBX it will find materials based on rules specified by the user in the import settings Change 3472176 by Nick.Darnell UMG - Improving the display of the +Track menu in sequencer for UMG. Renamed it from +Add, which is repetitve to +Track. Additionally, the dropdown now shows the currently selected widgets, as well as a submenu containing all the 'important' widgets, so we no longer populate that list with a ton of irrelevant widgets that are just Buton_1 - N, which is pointless in showing people, they'll never guess which is the right button. Change 3472740 by Max.Chen Sequencer: Add GetThisFrameMetaData accessor Change 3472748 by Max.Chen Sequencer: Added OnBeginScrubbing and OnEndScrubbing event delegates Change 3472753 by Max.Chen Sequencer: Add EMovieSceneDataChangeType parameter to OnMovieSceneDataChanged delegate Change 3472870 by Nick.Darnell Clipping - Fixing the deprecated tip for scissor rect boxes to be correct. Removing it's usage from UT. Change 3473340 by Max.Chen Scene Outliner: Add ability to register additional filters Change 3473348 by Max.Chen Details View: Make ForceRefresh virtual. Added accessors to delegates (ie. GetIsPropertyReadOnlyDelegate) Change 3473441 by Max.Chen Sequencer: Autokey Refactor Part 2. Autokey is now a single toggleable state. Allow Edits Mode has 3 states: Allow All Edits - Allow any edits to occur, some of which may produce tracks/keys or modify default properties. Allow Sequencer Edits Only - All edits will produce either a track or a key. Allow Level Edits Only - Properties in the details panel will be disabled if they have a track. #jira UE-45229 Change 3473670 by Nick.Darnell Modules - The module manager no longer returns sharedptrs to IModuleInterfaces, this was the source of rare hard to track down crashes due to a shared ptr reference leak when GetModule was called on non-main threads. We now store a TUniquePtr internally, and only lease out raw pointers. #rn Change 3473711 by Nick.Darnell Disabling the ensure in the module manager. Change 3473747 by Max.Chen Sequencer: Fix tooltip Change 3474091 by Jamie.Dale Added a warning when cooking a UFontFace that is outered to a UFont asset These cause issues with iterative COTF, and should be split off into their own assets (as the UI has been asking people to do for several versions) Change 3475052 by Yannick.Lange VR Editor: Fix Crash when quitting the editor with VR Mode enabled. VR Editor was being enabled when saving the map on closing the editor. #jira UE-45415 Change 3475054 by Yannick.Lange Fix crash when adding a camera to the world in VR Mode the second time. The slate application did not reset when stop dragging in VR Mode, so the second time when starting to drag a camera out of the UI it would already by in a dragging state. #jira UE-45574 Change 3475263 by Nick.Darnell Fixing some additional cases of IModuleInteface SharedPtr usage. Change 3475268 by Max.Chen Sequencer: Set jumped state when looping playback. This fixes an issue where audio doesn't stop and restart when looped. #jira UE-45654 Change 3475269 by Max.Chen Scene Outliner: Additional filters should only apply to actor browsing mode Change 3475407 by Nick.Darnell Fixing some clipping / module shared ptr changes in the launcher code. Change 3475542 by Max.Chen Sequencer: Update thumbnail and section highlighting to use new clipping behavior. #jira UE-45692 #jira UE-45689 Change 3475743 by Michael.Dupuis #jira UE-45183: When updating phyx region take into account simple collision mip Change 3475949 by Arciel.Rekman Remove PhysX deoptimization (no longer needed). - OR-24947 has been closed three months ago. Change 3476022 by Michael.Dupuis #jira UE-45560: Make sure we're not going out of range Change 3476063 by Michael.Dupuis #jira UE-45562: Do not try to unregister from static mesh if no static mesh is specified for the component Change 3476168 by Michael.Trepka Added handling of directory symlinks to FApplePlatformFile::IterateDirectory #jira UE-43704 Change 3476172 by Nick.Darnell Fixing a Imoduleinterface change. Change 3476183 by Jamie.Dale Exposing GoTo/ScrollTo to single-line editable text for API parity with multi-line editable text Change 3476385 by Arciel.Rekman Linux: handle symlinks when iterating directories. Change 3476522 by Michael.Trepka Solved a problem with Mac FMallocTBB::Malloc() returning nullptr for 0 bytes allocations, which is inconsistent with other platforms. On Mac we always scalable_aligned_malloc, which behaves differently than scalable_malloc, so for 0 bytes requests we allocate sizeof(size_t), which is exactly what scalable_malloc does internally in such case. Change 3476806 by Nick.Darnell UMG - Focus the designer after dropping a widget onto the surface. Change 3476809 by Nick.Darnell Curve Editor - Enable Clipping on the curve editor. Change 3477475 by Nick.Darnell Fixing a module interface shared ptr usage in UT. Change 3477553 by Yannick.Lange VR Editor: Removed AssetEditorPanelID and replaced it with TabManagerPanelID. A panel for AssetEditorPanelID was never created making it impossible to open an asset editor. Change 3477734 by Yannick.Lange VR Editor: Fix Warning: SetRelativeScale3D : Invalid Scale entered (X=inf Y=inf Z=inf). Resetting to 1.f. warning when adding CineCameraActor to World from Modes Panel. Make sure to not divide by zero when there is no boundary scale. #jira UE-44933 Change 3477761 by Jamie.Dale Some improvements to avoid loading the native .locres files twice when we don't need to Change 3477780 by Nick.Darnell PR #3250: Return correct VirtualUserIndex (Contributed by projectgheist) Change 3477786 by Nick.Darnell PR #3650: Changed TestNull to accept const pointers. (Contributed by e-agaubatz) Change 3477795 by Nick.Darnell PR #2844: UE-36936: Don't stretch container for Plugin Image (Contributed by projectgheist) Change 3478092 by Nick.Darnell PR #2341: Optional Middle Mouse Button panning in Graph Editor (Contributed by flipswitchingmonkey) Engine Edit - Made some small changes to the enum type, and some naming. Change 3478450 by Nick.Darnell Fixing some uninitialized variable errors. Change 3479827 by Andrew.Rodham Sequencer: Addressed serialization issues with some struct types Change 3479874 by Jamie.Dale Fixed "NativeGameLanguage" not being used correctly during localization initialization Change 3480012 by Andrew.Rodham Sequencer: Fixed loading tagged properties as native for track identifiers #jira UE-45823 Change 3480337 by Alexis.Matte Fix morph target crash missing some valid index check Change 3480804 by Alexis.Matte Fix crash with ColorGradingMode custom detail #jira UE-45638 Change 3480892 by Andrew.Rodham Sequencer: Ensure that movie scene sequences know about the editor object version #jira UE-45842 Change 3481073 by Nick.Darnell Fix the shader compiler error from main in Slate. Change 3481303 by Nick.Darnell UMG - Fixing a bug with the drag handle not working correctly in HDPI mode. Change 3481308 by Nick.Darnell Slate - Tweaking the IsWidgetCulled logic to consider both the layout and rendering bounds. If we do this, we get a much more desireable outcome for people that want to animate widgets and such and plan to have temporary animations to move the widget offscreen, but want the layout bounds to anchor that widget in the visible frame so that it animates even when normally it would be culled b/c the render transform and therefore the renderbounds moved it completely outside the culling rect. Change 3481629 by Max.Chen Sequencer: Add Level Sequence Actor as an output for CreateLevelSequencePlayer() #jira UE-45785 Change 3481899 by Yannick.Lange VR Editor: Added debug modetoggle command with an event that is broadcasted whenever this happens. Currently this is used to show all the floating UIs of the UI system to debug without HMD using VREd.ForceVRMode. Change 3481984 by Michael.Dupuis #jira UE-45845: always validate if we have a static mesh before trying to access it as user can decide to not assign one and use the tools Change 3482047 by Nick.Darnell Slate - Adding some comments to IsWidgetCulled. Change 3482110 by Nick.Darnell Slate - IsWidgetCulled is no longer static and is now called IsChildWidgetCulled. Change 3482136 by Jamie.Dale The CamelCase break iterator now treats digits around character tokens as part of the identifier Change 3482138 by Michael.Dupuis #jira UE-45854: Properly unregister during undo operation Change 3482150 by Michael.Dupuis #jira UE-45845 : Add missing nullcheck for GetStaticMesh Change 3482153 by Nick.Darnell Slate - IsWidgetCulled is no longer static and is now called IsChildWidgetCulled. Change 3482180 by Nick.Darnell UMG - Widget Components do not need to define a widget class to be rendererd, they can have native slate widgets only. This was a regression from main. Change 3482273 by Nick.Darnell UMG - Tweaking some more things about the widget component box outline. Change 3482308 by Alexis.Matte Fixing morph target smooth group support. Do not call FillSkeletalMeshImportData more then once on FbxNode since this fonction is doing some conversion and change the FbxNode, applying those conversion twice do not return the same faces smooth group. #jira UE-45696 Change 3482327 by Nick.Darnell UMG - More tweaks to the WidgetComponent so both shows the box outline, but works in game and VR editor. Change 3482705 by Andrew.Rodham Resaving assets that contain legacy data to suppress CIS warnings. - If conflicts arise in these assets, please take game-side changes and ignore these. Change 3484245 by Max.Chen Sequencer: Evaluate on end scrub. This fixes a bug where audio doesn't evaluate in a stopped position at the end of scrubbing, causing it to not stop all sounds. This fixes a bug introduced from 3365018 where evaluate on end scrub was removed. #jira UE-45905 Change 3484263 by Max.Chen Sequencer: Fix crash on forcing refresh of details panel on release. #jira UE-45911 Change 3484431 by Andrew.Rodham Resaving assets that contain legacy data to suppress CIS warnings. - If conflicts arise in these assets, please take game-side changes and ignore these. Change 3484474 by Alexis.Matte Fix the morph target animation curve name matching. #jira UE-20294 Change 3484475 by Alexis.Matte When removing a LOD, make sure we remove all morph target data associate to the LOD. Change 3484489 by Nick.Darnell PR #3668: UE-45908: Cache debug line locations when performing a LineTraceMulti (Contributed by projectgheist) #jira UE-45908 Change 3484692 by Nick.Darnell Slate - Reverting a change from a game stream. All Arranged Children don't need to allocated 42 to begin with. Do need to initialize WidgetPaths better. Change 3484703 by Nick.Darnell Player Input - Making the input event loop for players obey EKeys::NUM_TOUCH_KEYS, rather than being set to Touch10, as the maximum touch input amount, to make supporting greater than 10 touches easier. Also making the seeding of keys use EKeys::NUM_TOUCH_KEYS. #jira UE-43213 Change 3484918 by Jamie.Dale Fixed font measuring regression with RTL text RTL applies the character count to the next glyph, so it shouldn't process the end of the loop (this was how the older code used to work). Change 3485718 by Nick.Darnell Editor - Removing Super Search & User Feedback button. Change 3485719 by Nick.Darnell Portal - Removing SuperSearch. Change 3485751 by Matt.Kuhlenschmidt Fix crash accessing platformer game menu if the menu is open during a console based load #jira UE-45950 Change 3486047 by Arciel.Rekman Linux: add OpenEXR implementation (UE-40270). #jira UE-40270 Change 3486467 by Max.Chen Sequencer: Reset max tick rate when destroyed. #jira UE-45956 Change 3486477 by Max.Chen Sequencer: Refresh outliner when column is removed. #jira UE-45891 Change 3486667 by Andrew.Rodham Added missing include Change 3486724 by Andrew.Rodham Sequencer: Fixed curves with no default value, and no keys being evaluated and applied to properties - Also fixed an edge case where a zero (but non-animated) channel could be applied to a final transform Change 3486730 by Alexis.Matte In the Auto-Reimport options, hide the mout point only for the default /Game/ folder #UE-45684 Change 3486749 by Alexis.Matte Make sure the parent window of the monitor directory browse folder is set properly #jira UE-45682 Change 3486805 by Matt.Kuhlenschmidt Additional safety against invalid objects being accessed by slate Change 3486848 by Alexis.Matte Make sure Monitor folder feature support root mount point map folder During auto import, give priority to asset import factory over the scene import factory #jira UE-45691 Change 3486879 by Andrew.Rodham Removing obsolete QA assets Change 3486950 by Nick.Darnell PR #2281: Scrollbar missing features and SScrollbar fixes (Contributed by SNikon) Review - made some adjustments from the original. Change 3486954 by Nick.Darnell Slate - Moving the STableViewBase over to the FOverscroll class, rather than it's own clone. Change 3486967 by Nick.Darnell Slate - Fixing some HDPI calculations for fitting new windows on screen, it was using the unscaled size of the widgets for fitting, when it needed to scale them up. Change 3486970 by Andrew.Rodham Sequencer: Delay mouse capture until drag for sequencer time slider - Fixes context menus not opening as a result of mouse capture being taken on mouse down #jira UE-45937 Change 3486984 by Andrew.Rodham Sequencer: Improved blending type iconography Change 3486996 by Nick.Darnell UMG - Adding a way for games to opt-out of the slow widget path, to completely prevent them from being cooked. UMG - The movie data is no longer cloned for each new instance that inhabits. It now keeps a reference to the now publically accessible movie scene data on the class instead. Change 3487070 by Andrew.Rodham Sequencer: Added graphics for key areas that represent empty space Change 3487195 by Andrew.Rodham Sequencer: Changed evaluation groups to always flush implicitly - Due to the latent nature of blended token types, it's no longer safe to rely solely on execution token order between tracks - This fixes an issue where events set in the PostEvaluation stage were executed before blended token actuation Change 3487322 by Nick.Darnell PR #2457: Add .gitdeps.xml-files for plugins support (Contributed by bozaro) Change 3487363 by Nick.Darnell PR #2481: Fix for packing of a project with users plugins (Contributed by yatagarasu25) Change 3487439 by Nick.Darnell PR #2642: Changed private to protected in SVirtualJoystick.h (Contributed by Skylonxe) Change 3487500 by Arciel.Rekman Removed LinuxNativeDialogs. - No longer used; has been superceded by SlateDialogs since UE 4.8 (2 years ago). Change 3487630 by Lauren.Ridge Don't create Landscape Info Maps for Editor Preview Worlds or thumbnail worlds #jira UE-44885 Change 3487864 by Matt.Kuhlenschmidt Exposed the asset registry to blueprints and script. Works in editor scripts and runtime scripts AssetRegistry is now a UInterface object. Blueprint users can access various asset registry methods using the asset registry interface (via GetAssetRegistry) and various static helpers in the AssetRegistryHelpers object C++ users should still continue to use IAssetRegistry. Change 3487879 by Matt.Kuhlenschmidt Renamed asset tools uobject helper to UAssetToolsHelpers Change 3487926 by Lauren.Ridge Fixing reset to default not showing up for custom widgets #jira UE-44164 Change 3488184 by Matt.Kuhlenschmidt PR #3656: Make References/Referencers List copyable (Contributed by user37337) #jira UE-45763 Change 3488240 by Matt.Kuhlenschmidt Fix compiler issue Change 3488350 by Lauren.Ridge Landscape info map transactional state is based on its world's transactional state #jira UE-44885 #jira UE-46019 Change 3488412 by Matt.Kuhlenschmidt Fix reset to default showing up in two different places for some customizations Change 3488413 by Matt.Kuhlenschmidt Fix slate font customization Change 3488414 by Matt.Kuhlenschmidt Fix slate font customization Change 3488415 by Matt.Kuhlenschmidt Missed file Change 3488565 by Arciel.Rekman Add pretty printers for gdb (UETOOL-1171). - Committing shelf by Cengiz.Terzibas, with some modifications. #jira UETOOL-1171 Change 3489094 by Nick.Darnell Slate - The Slate RHI Renderer now caches the TextureLODGroups so that it can properly lookup the filtering of different texture groups that are set to Default, instead of a particular filter override on a texture. Engine/Rendering - Simplifying some of the setup logic in TextureLODSettings so that code is shared for setting them up properly after loading from a config file. Change 3489095 by Nick.Darnell PR #2699: GameViewportClient - Added a method to allow setting the viewport cur. (Contributed by rfenner) Review - Fixed spacing. Change 3489108 by Matt.Kuhlenschmidt Fix deprecation warning Change 3489120 by Nick.Darnell PR #3478: Fix possible UComboBoxString crash (Contributed by nakosung) Change 3489147 by Andrew.Rodham Sequencer: Adding return value to function to appease static analysis - This function is never compiled, and if it is, it won't compile, but static analysis doesn't know that Change 3489264 by Nick.Darnell Testing - Finishing the thought behind an enum comment. Change 3489265 by Nick.Darnell PR #2750: UE-35164: Button padding (Contributed by projectgheist) Change 3489267 by Nick.Darnell PR #3645: UE-45464: Handle SSlider mouse interaction more accurately (Contributed by projectgheist) Change 3489632 by Arciel.Rekman Correctness changes to MallocPoisonProxy. - Missing forwarding functions added. Incorrect comment removed. - Change by Steve.Robb, doing here so it is in 4.17. Change 3489689 by Arciel.Rekman More MallocPoisonProxy changes I missed in previous CL. Change 3489751 by Matt.Kuhlenschmidt Moved editor performance settings out of per-project settings so they can be shared across projects Change 3489837 by Lauren.Ridge Keyboard shortcut for entering/leaving VR Mode is now Alt+V Change 3491082 by Arciel.Rekman Linux: better fix for the crash due to name collision (UE-46040). - Put classes in Sequencer module into Sequencer namespace instead of SceneOutliner namespace. - Undid change in the SceneOutliner module. #jira UE-46040 Change 3491096 by Arciel.Rekman Fix UAT compilation on the newest mono. Change 3491240 by Max.Chen Sequencer: Disable key button when allow level edits only is on. #jira UE-46060 Change 3491406 by Yannick.Lange Fix editor crashes when opening a project that includes a plugin with more than two custom Volume classes. This issue was caused because registering show volume commands is based on finding volume classes. Finding these classes at multiple times resulted in a mismatch of the returned array of volume classes because modules/plugins were still being loaded. #jira UE-45806 Change 3491559 by Alexis.Matte Make sure we use the good preview mesh when doing a preview #jira UE-45963 Change 3491563 by Alexis.Matte Fix crash with staticmesh editor LodLevel selection Change 3491564 by Nick.Darnell UMG - Fixing an offset with the grab handles in HDPI mode. Change 3491595 by Nick.Darnell Editor - Fixing a clipping artifact in the pin type dropdown in the blueprint editor. Change 3491604 by Nick.Darnell Back out changelist 3489265 Change 3491615 by Arciel.Rekman Added malloc replay proxy (Linux only for now). - Allows to dump malloc callstream (without regard to threads) and replay later to study the behavior of different mallocs and/or repro problems. Change 3491684 by Arciel.Rekman Added FMalloc functions I missed. - Also moved function bodies into the .cpp file, this does not make a difference in performance in this case. Change 3491692 by Matt.Kuhlenschmidt Some minor fixes to the static mesh editor - Fix UV combo button looking non-standard on the toolbar - Fix a few combo buttons in the details panel looking too big. Change 3491702 by Arciel.Rekman Do not compile replay proxy-specific code when not used. Change 3491717 by Michael.Dupuis #jira UE-35083: The component is now the owner of the PerInstanceRenderData instead of the proxy Add an Update path to only update specified instances range Always call BuildTreeIfOutdated so we have a standard code path to make sure static mesh are fully loaded before trying to build the tree Moved the Instance Buffer aysnc to the base class, as it's not related to UHierarchicalInstancedStaticMeshComponent Expose a new property to decide if we require dynamic instance buffer Change 3491758 by Matt.Kuhlenschmidt Fix crash on static mesh editor shutdown Change 3491873 by Cody.Albert Fixed clipping issue in Sequencer curve editor #rnx Change 3491956 by Matt.Kuhlenschmidt Fix crash opening the Previewing sub-menu in the level editor settings menu #jira UE-46095 Change 3492046 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3492076 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3492165 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3492222 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3492274 by Michael.Dupuis #jira UE-46105: Fixed Clang warning Change 3492338 by andrew.porter QAGame: Testing ensure when submitting Change 3492371 by Nick.Darnell UMG - Reverting the animation sharing, cossed GLEO regressions in cooking. Will look for a better solution. Change 3492462 by Matt.Kuhlenschmidt Fix ensure checking in files through perforce Change 3492491 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3492505 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3492517 by Jamie.Dale The package localization ID is no longer used at all at runtime, and is now truly editor-only This should have always been the case, but it was leaked into manifest/archives/PO files in 4.14, and while 4.15 removed it from PO files it was still present in the manifest/archives. This change removes it entirely (unless gathering editor-only data, and even then the PO file will still collapse the entries together for translation), and the deprecated 4.14 export behavior will now produce an error if you attempt to use it. After taking this change you'll need to run a gather, import, and compile of your LocRes files to update your game localization to use the new localization IDs. Change 3492630 by Nick.Darnell UMG - Removing some extra cleanup code that's probably overkill and is causing a crash for uses of "Within" in class meta. #jira UE-46124 Change 3492692 by Matt.Kuhlenschmidt Fix drop shadows inheriting the outline color of the font. The outline should still appear but not have a different outline color from fill color Change 3492714 by Matt.Kuhlenschmidt Added outline with drop shadow to font automation test Change 3492737 by Matt.Kuhlenschmidt Fix linux Change 3492992 by tim.gautier Resaving Ocean Widget Blueprints / Sequences to resolve Legacy Sequence Data warnings #jira UE-46132 Change 3493089 by Jamie.Dale Ensure that the composite font of a font asset is flushed when the font object is GC'd Change 3493322 by Jamie.Dale Fixing null crash #jira UE-45758 Change 3494467 by Andrew.Rodham Fix Xbox warning Change 3494852 by tim.gautier QAGame: Changed streaming method of QA-EditorSmoke-Landscape to Always Loaded Change 3494853 by Nick.Darnell Another attempt at fixing the automation blueprint SA warning. Change 3494896 by Arciel.Rekman Fix possible null pointer access during Vulkan init. - May fix static analysis warnings in UE-46142, although warnings seem to be referring to something else. #jira UE-46142 Change 3494987 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3495010 by Matt.Kuhlenschmidt Adding additional logging to track down html5 issue Change 3495212 by Michael.Dupuis #jira UE-46143: Properly init the InstanceRenderData during the cooking phase (required by fortnite) Change 3495536 by Jamie.Dale Updating UGameEngine to call its Super::PreExit after performing its own teardown This prevents UEngine cleaning up resources that UGameEngine still needs. #jira UE-46159 Change 3495551 by Arciel.Rekman Another attempt to fix analyzer problem (UE-46142). Change 3495794 by Jamie.Dale Fixing some font cooking warnings by splitting out font faces from their font assets #jira UE-45843 Change 3495905 by Matt.Kuhlenschmidt Fix USD crash when importing a meshwith no material [CL 3499771 by Matt Kuhlenschmidt in Main branch]
2017-06-19 20:27:30 -04:00
}
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3946692) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3801826 by Max.Chen PR #4304: Level Sequence crash fix - Guarded against dereferencing null componen. (Contributed by DSDambuster) Change 3801828 by Max.Chen PR #4302: Movie Scene Visibility Template unitialised variable, causing random . (Contributed by DSDambuster) Change 3801837 by Max.Chen Sequencer: Delay spawning/construction for convert to possessable. This fixes a bug where property values would be lost when converting back and forth from possessable to spawnable. #jira UE-52400 Change 3801841 by Max.Chen Sequencer: Make spacer nodes not selectable. PR #4194: Improvements to Sequencer (Contributed by projectgheist) #jira UE-53117 #jira UE-52139 Change 3804183 by Max.Preussner MediaAssets: Added missing lock in media sound component Change 3805414 by Max.Preussner MediaAssets: Setting valid GUID when initializing media texture resource Change 3819578 by Max.Chen PR #4370: When enabling the "MovieCapture", do not turn off the Stereo-3D display. (Contributed by yehaike) #jira UE-53647 Change 3823414 by Max.Chen Curve Editor: Lock down the first and last keys in the redundant keys removal range so that they're unaffected. #jira UE-53591 Change 3826406 by Max.Chen Sequencer: Move OnStartedPlaying() to within first update in UpdateTimeCursorPosition(). This fixes an issue where setting the hud/player visibility was getting stomped on later. #jira UE-52772 Change 3827044 by Max.Preussner MediaAssets: Added sprite visualization to media sound component #jira UE-53594 Change 3827988 by Max.Preussner MediaPlayerAssets: Fixed Media Texture is not linked to Media Player when created together #jira UE-53532 Change 3828506 by Max.Preussner MediaPlayerEditor: Added attenuation visualizer for media sound components #jira UE-53594 Change 3832590 by andrew.porter EngineTest: Added a keep state check in Property Animation sequencer test Change 3833053 by andrew.porter EngineTest: Adding Hierarchical Bias test Change 3835683 by andrew.porter EngineTest: Adding UMG Animation screenshot test Change 3836076 by Max.Chen Sequencer: Fix audio volume and pitch multiplier deprecation. Change 3836230 by andrew.porter EngineTest: Adding Sequence Bone Position automation test Change 3836347 by Max.Chen Sequencer: Fixes to shot name parsing. When a shot doesn't contain a shot number, assume, [ShotName]_[TakeNumber]. When duplicating a shot, put the new shot in the same path of the original shot, so that the take numbers will increment properly. #jira UE-51868 Change 3836552 by Max.Chen Sequencer: Sub section now has a takes menu Change 3838094 by Max.Chen UMG: Fix template finish not getting called on stop. This fixes a bug where sections aren't restored when finished. #jira UE-52285 Change 3838708 by Max.Chen Sequencer: Add notification when the blend type is changed. #jira UE-54046 Change 3840295 by Max.Chen Sequencer: Fix copy/paste crash for lights #jira UE-54084 Change 3840957 by Mike.Zyracki Added Show Only Keyable and Show Only Animated to the filter list in the property editor. Added IsPropertyAnimated to IDetailKeyframe Interface which already had support for showing properties which are keyable (which is used for the key icon next to the properties.). Could have created another interface but then would have had to mimic the sequencer binding, releasing also, so this seemed best way. One issue still left is that custom built detail items currently don't store associated properties(usually) and so certain properties, in particulalry transforms, won't show up as keyable or animated. Note this also shows up with the keyable icon not showing up next to transform tracks, and other filters like Show Only Modified not working with transforms/customs. Not sure best way to tackle this. #jira UESEQ-328 Change 3841756 by Max.Chen Sequencer: Fix unbound possessable components when pasting spawnables. #jira UE-54104 Change 3843950 by andrew.porter EngineTest: Renaming LevelStreaming tests/content to LevelVisibility Change 3844082 by Mike.Zyracki Missing file for animated filter in property editor. When finding if a track is animated we need to find it but we can't easily induce the MovieTrack class for any particular property. So we don't set a class for it and just search by it's ID and name. #jira UESEQ-328 Change 3846902 by Max.Preussner ImgMedia: Fixed image media player never finished initialization if loading failed #jira UE-54247 Change 3849820 by Mike.Zyracki Reassigning deleted widgets didn't work since the menu extender mechanism needs a valid UObject in order to perform an operation on it. So to fix we replaced GetObjectBindingContextMenuExtender in WidgetBlueprint with new delegate mechanism (OnBuildCustomContextMenuForGuid) that supports FGuid in addition to UObjects which is needed to handle re-binding deleted widgets. Note that the default sequencer hacks this for replacing deleted actors in SequencerObjectBindingNode to check to see if a LevelSequence is active. We could move to this mechanism there also. #jira UE-53163 Change 3852211 by Max.Chen UMG: Indicate name of the property that is not bound. #jira UE-54350 Change 3854120 by Max.Chen Sequencer: Fix sibling folders being allowed to have the same folder name. #jira UE-54363 Change 3854627 by Max.Chen Sequencer: Step to next/previous key should work for all tracks if there aren't any selected. #jira UESEQ-391 Change 3855825 by andrew.porter EngineTest: Adding animation blending automation test Change 3855950 by andrew.porter EngineTest: Adding correct expected valuues to animation blending test Change 3856237 by Matt.Hoffman UESEQ-336 - Sequencer Track Reordering Adds the ability to re-order Master Tracks, Folders and Object Bindings within sequencer hierarchies (including UMG). Adds the ability to do a one-off sorting of the content under the old sorting behavior if the user wants to reset their layout to how it was under legacy behavior. Modifies SequencerTrackNodes, SequencerFolderNodes and SequencerObjectBindingNodes to handle CanDrop/OnDrop for above, below and ontop of. Fixes a Slate Issue that forcibly expanded a TreeviewRow if an item handled OnDrop. Slate will now only forcibly expand the row if the item says the drop happened ontop of the item, and not above or below it like it previously did. Change 3856503 by andrew.porter EngineTest: Adding automation test for using animation blueprint with blend multi node in sequencer Change 3857875 by Max.Chen Sequencer: Assign the sequence id after the template is compiled. #jira UE-54462 Change 3858344 by Max.Chen Sequencer: Prevent Goto and Transform boxes from overlapping by allowing them to be visible at the same time in an autosized horizontal box. Also, added close button to the goto box. PR #4425: Prevent Goto and Transform boxes from overlapping in Sequencer ... (Contributed by projectgheist) #jira UE-54210 Change 3860566 by andrew.porter MediaFrameworkTest: Set the option to index 0 for the audio and video track list by default Change 3860654 by andrew.porter EngineTest: Enabling Camera Cut + FOV test Change 3860981 by andrew.porter EngineTest: Updating skeletal mesh tests with a delay after set playback position Change 3861256 by Max.Chen Sequencer: Add all bindings if none selected. #jira-54440 Change 3862154 by Andrew.Rodham Added TimeManagement module Change 3862424 by andrew.porter EngineTest: Turned on the test Bone Positions with Blend Multi Node Change 3862573 by andrew.porter EngineTest: Adding test to compare bone positions in a sequence that is blending an animation that is using an AnimBP Change 3865117 by Max.Chen Sequencer: Stop auto scroll on mouse release of movement. #jira UE-31212 Change 3865303 by Max.Chen Sequencer: Add drag and drop transactions #jira UE-54662 Change 3865304 by Max.Chen Sequencer: Fix crash when an actor factory is not found. Change 3865361 by Max.Chen Sequencer: Don't change the camera/shot lock button when popping out of a sequence. #jira UE-54665 Change 3865412 by Max.Chen Sequencer: Determine whether a transform track is for a camera by using the spawned object or template #jira UE-54666 Change 3865685 by Max.Chen Sequencer: Clear autoscrub offset when stopping autoscroll #jira UE-31212 Change 3865886 by Max.Chen Sequence Recorder: Log an error if the number of frames changes while recording. This can happen if the skeleton changes while recording. #jira UE-48715 Change 3866925 by Andrew.Porter MediaFrameworkTest: Changing the current PNG test video image sequence to 1024 x 576 Change 3867705 by andrew.porter QAGame: Adding Audio Sort Sequence to dev folder Change 3867890 by andrew.porter QAGame: Adding a sequence for testing a sorting crash to my dev folder Change 3872628 by Max.Chen Movie Scene Capture: Split delay before warmup into split delay before shot warmup so that there's separate controls for when the movie scene capture warmups up vs. shot boundaries. Change 3873131 by Matt.Hoffman UE-54732 - Crash reordering a folder with a track. This was caused by folders being the only type of track to check if someone was putting a parent track into a child track. Object Binding tracks and Tracks now check as well so that you can't use the above/below drop targets to add parents as children. This also fixed a typo in the localization keys. #jira UE-54732 Change 3873301 by Mike.Zyracki Added ability to support continous euler angle changes when changing rotations, in particularly with the rotation gizmo's. To do this we effectively added a form an of 'euler filter'(https://en.wikipedia.org/wiki/Euler_filter) to find the closest euler angle to the current euler angle. Three functions were added to FRotator to make this possible, one to get the euler angle that's has the same rotation as it, one to get the difference between two euler angles via Manhattan distance and a third using the previous two to choose a Rotator value that's closest to it. We then use these functions before calling UComponent::SetRelativeRotation to make sure we use the correct Euler after the Quat conversion. We also no longer limit(bound) the euler angles to -180,180, which is obviously necessary to avoid flips. I also changed how we caluclate yaw and roll when pitch is -90 or 90 to make it the standard approach of zeroing out roll and just setting yaw. Main reasons are the previous implementation had precision issues so things like 180, 90, -180 would show up due to numbers being nearly zero but negative,(this would break any smooth interpolations), and this facilitates having a 'gimbal' rotation mode (like Maya, Blender etc..) if we ever want that also. If needed we could keep the previous implementation but would need to add some FMath::IsNearlyZero checks, with less performance. Note we only do this special filtering when applying delta's to actors or components in the editors, which then call UComponent::SetRelativeRotationExact, which is a new function to foces the RelativeRotation to be equal to the new rotation. This allows us to store un-nomalized Rotators at the cost that the RotationCache may be broken. We didn't change any of the other UComponent functions that set rotations (via Quats or Transforms) so they will still be bounded and unwound. In SetInternalWorldLocationAndRotation we only set the rotation if the rotation has changed, which fixes the rotation getting changed and re-normalized if just translate happens. In TransformTrackEditor, we correclty use the bUndwing flag and in MovieScene3DTransformSection there was an un-needed winding check there, it will be unwound earlier if needed, which happens if Sequence Recording is happening. Max we should talk about what to do about this . Note the euler angle drag via the widget is still bound to 0-360. I think we should just unbound that now since the rotations value are now unbound. This review now includes fixes suggested by Zak. #jira UE-UE-22228 Change 3873483 by Matt.Hoffman Sequencer Tracks can now be inserted above the spacer at the bottom of the tree. #jira UE-54706 Change 3873899 by Max.Chen Sequencer: Add section selection throbbing Change 3873908 by Max.Chen Movie Scene Capture: Added logging per frame Change 3873924 by Matt.Hoffman Adds the ability to store Sequence Recorder setups into profiles that stay with the map and can be re-loaded later. Profiles store the Actor Recordings so the settings for each actor should carry with them. #jira UESEQ-339 Change 3874726 by Matt.Hoffman Disable drag-and-drop targets on spacers that come between rows in Sequencer. This prevents extra drag/drop targets showing up between each row. #jira UE-54706 Change 3874862 by Matt.Hoffman Audio Track no longer gets reordered when adding sub-audio tracks, as sub-tracks are no longer counted towards the sorting order index when normalizing indexes. #jira UE-54727 Change 3875905 by Matt.Hoffman Disable Fade Track UI if a fade track already exists in the sequence. #jira UESEQ-393 Change 3876163 by Max.Chen Sequencer: Swap the camera object to the camera component's owner if it's not the same. #jira UE-54874 Change 3876971 by Andrew.Porter EngineTest: Moved Media Player Seek test to new folder. Also enabled the test with new ground truth image. Change 3877040 by Max.Chen Cine Camera: Split camera properties to two groups, "Camera Options" and "Camera Settings". The cine camera now hides properties in the "Camera Settings" group so that properties like bConstrainAspectRatio (in the "Camera Options" group) can be visible. #jira UE-54192 Change 3877763 by Max.Chen Curve Editor: Fix curve changed on end drag so that only curves that had keys/tangents that were changed receive notification, otherwise all loaded curves were getting notified that they were changed. #jira UE-54951 Change 3878234 by Matt.Hoffman Disable "Drop Below" targets for Sequencer Tree nodes to prevent a confusing UX issue where dropping underneath a Object Binding Node puts it after the object binding node but the UI looks like it's inserting it inside the Object Binding node. #jira UE-54743 Change 3879359 by Mike.Zyracki If a track is inactive we dim it a bit which seems to be the UE4 way to show inactive or disabled state. We changed the active logic so that all subtracks need to be inactive for the track to also be inactive(instead of all active for active). This conforms to how the active state actually works, e.g if you have two sections and only one is active the track is still active above it. #jira UESEQ-388 Change 3879462 by Max.Chen Sequencer: Allow dragging onto a particular row which would move out any overlapping sections to make space for the newly created section. Newly created sections are now selected and throbbed to draw attention to themselves. #jira UE-54664 Change 3879464 by Max.Chen Sequencer: Fixed overlapping ranges being inserted into the evaluation field during compilation - The issue was that track segments that had been combined with adjacent segments (due to them being identical) would potentially cause a subsequently compiled frame to overlap with a range that had already been inserted into the evaluation field. - The insertion code previously asserted that only minor overlaps were catered for (due to fp rounding errors) and assumed that a supplied range could not entirely contain any other range in the field. - The solution is to supply the insertion time along with the range to know exactly where the data should live in the field, and crop the range to the maximum allowable space between adjacent ranges. #jira UE-54922 Change 3879590 by Matt.Hoffman Items that are now added to the Sequencer via the "+Track" menu will be selected after being added. Items can now be added inside of folders instead of just to the root level. #jira UE-27397 Change 3879612 by Mike.Zyracki Display Nodes with no children are always active. #jira UESEQ-388 Change 3879730 by Matt.Hoffman Sequence Recorder's actor recording groups now remove items from the group when removed via the UI. #jira UESEQ-339 Change 3880256 by Mike.Zyracki Fix issue with inactive display with folders and other track nodes. #jira UESEQ-388 Change 3883491 by Max.Chen Fix issue where tick is skipped due to last ticked pose isn't cleared after AnimInstance changes. Copy from Release-4.19 #jira UE-51323 Change 3883603 by Max.Chen Movie Scene Capture: Add option toggle disable screen percentage. By default this is on (no change in current behavior). #jira UE-51898 Change 3885074 by Max.Preussner MediaCompositing: Resetting media texture & freeing resource on section end; removed dead code Change 3887220 by Max.Preussner MediaCompositing: Defaulted media section duration to 1 sec (since we do not know the actual duration in most cases) Change 3887478 by Matt.Hoffman Sequences now show [Inactive] in their title bars when they're disabled. This helps communicate why a sequence isn't being evaluated. #jira UE-51469 Change 3888985 by Max.Chen Movie Scene Capture: Clamp HDR Compression Quality between 0 and 1. #jira UE-55136 Change 3893519 by Max.Chen Sequence Recorder: Clarified tooltip for bRecordNearbySpawnedActors - spawned actors will still be recorded if they match the ActorFilter. #jira UE-55238 Change 3893546 by Max.Chen Sequence Recorder: If a selected actor already has a recording, add a blank recording. #jira UE-55239 Change 3894044 by Max.Preussner MediaCompositing: Added support for seeking into a media section Change 3894310 by andrew.porter MediaFrameworkTest: Adding Img media sources for 1080 and 2160 ravent test content Change 3894426 by Max.Preussner MediaAssets: Letting media textures with AutoClear retain their clear color when player is reset Change 3895717 by Max.Chen Sequencer: Null checks to prevent crash when saving the default state of a spawnable #jira UE-55304 Change 3897388 by Max.Chen Sequencer: Don't update current time to be within the view range when stepping into a sequence. #jira UE-55322 Change 3897452 by Max.Chen Audio: Fix crash when trying to record audio without any active capture devices. Log warning if the number of input channels is not 1 or 2. #jira UE-55223 Change 3897619 by Max.Preussner MediaCompositing: Removed commented out code Change 3898072 by Max.Chen Sequencer: Override the animation asset in the player state if it doesn't match the animation asset that's being evaluated. #jira UE-55328 Change 3898272 by Max.Preussner MediaPlayerEditor: Made slate brush constants static Change 3898704 by Max.Chen Sequencer: Skip if the binding id's sequence can't be found. #jira UE-55337 Change 3899855 by Max.Preussner MediaCompositingEditor: Added cache state visualization to media track Change 3900300 by Max.Preussner MediaCompositingEditor: Added loop indicators to media sections Change 3900694 by Max.Preussner ImfMedia: Looping cache only when player is looping Change 3900892 by Max.Preussner Stats: Added stats category for media framework Change 3900954 by Max.Preussner MediaCompositing: Don't evaluate at the end of media section Change 3901348 by Max.Preussner Core: Replaced TLruCache autos for better readability Change 3901655 by Max.Preussner ImgMedia: Added more perf stats to EXR reader Change 3901972 by Max.Preussner MediaAssets: Added getter for media player in media sound components Change 3902233 by Max.Preussner MediaAssets: Enabling media textures to receive samples right after player is assigned Change 3902238 by Max.Preussner MediaCompositing: Working around init/shutdown idiosyncracies in sequencer Change 3904045 by Max.Chen Sequencer: Fix copy/paste crash. Only process UMovieSceneCopyableBinding and objects that can be spawned by the movie scene spawn register. #jira UE-55314 Change 3905605 by Max.Chen Sequencer: Restrict spawnables from being created if they have a ClassWithin that UMovieScene is not a child of. #jira UE-55429 Change 3906550 by Max.Chen Sequencer: Add media track icon #jira UE-55480 Change 3907101 by Max.Chen Sequence Recorder: Fix bugs related to not recording a level sequence. There were certain assumptions that creating a level sequence meant that sequence recording was in progress. This is not always the case - the recorders can record animation assets and not create a level sequence. Changed the notion of IsRecording() to having at least one actor recording that is recording. Countdown timer, recording displays, etc should function if IsRecording() and not based on whether a level sequence is created. #jira UE-55485 Change 3907247 by Max.Chen Sequence Recorder: Fix crash not removing PrepareToCleanseEditorObject delegate. Repros when opening sequence recorder, closing it, and then opening or creating a level. Change 3910343 by Max.Preussner Core: Added async helper for executing functions on a given thread pool Change 3910346 by Max.Preussner ImgMedia: Added separate thread pools for loading/decoding and deleting image frames Change 3910829 by Max.Preussner Profiler: Increased visible range of profiler graph Change 3910841 by Max.Preussner MediaCompositing: Displaying asset name instead of full media source path in media section Change 3910870 by Max.Preussner ImgMedia: Using deallocation thread pool only in debug builds Change 3919642 by Max.Chen Sequence Recorder: Clarify active tooltip #jira UE-55661 Change 3919660 by Max.Chen Sequencer: Sequence template source signatures are now also compared to catch the case where a sub-sequence asset has been saved but not modified - The following sequence of events exposes this issue: - Create a master sequence with a single shot that spawns a cube - Add this sequence to a level and set it to auto-play - Save everything and restart - Resave just the inner shot asset without opening it - PIE - The inner shot never spawns its cube because its template was wiped on save, but its signature never changed. Since the master sequence previously didn't check the template source signature, it ends up trying to evaluate an empty template. #jira UE-55626 #jira UE-55490 Change 3921825 by Max.Chen Sequencer: "Run Construction Script in Sequencer" is off by default for blueprints but on for Sequencer. This allows the content author to switch it on for specific blueprints and sequencer will be default, run those with construction scripts enabled. Change 3922232 by Max.Chen Sequence Recorder: Reset countdelay on stop. #jira UE-55755 Change 3922306 by Max.Chen Sequence Recorder: Don't automatically mark transforms to be recorded by sequence recorder. Instead, log a warning if the user toggled it off to warn that the resulting animation might not match gameplay. #jira UE-55758 Change 3922912 by Max.Chen Sequence Recorder: Fix refresh next sequence name #jira UE-55757 Change 3927654 by Max.Chen Movie Scene Capture: Added format mapping for the name of the current camera #jira UE-55769 PR #4537 Change 3927658 by Max.Chen Sequencer: Added fbx property mapping for "FocusDistance" to "FocusSettings.ManualFocusDistance" #jira UE-55782 Change 3932022 by Max.Chen Sequencer: Add import animation track section to next available row index. #jira UE-55892 Change 3933919 by Max.Chen Sequencer: Jump to playback start frame and not 0 to start playback for recording. #jira UE-55933 Change 3934307 by Andrew.Rodham Sequencer: Add template signature that is re-generated every time the base template is regenerated, which invalidates evaluation fields This fixes an issue where the same sequence is instantiated multiple times in a sequence. If the source sequence was saved, its template would be wiped, which would invalidate the template ID When an instance tries to evaluate the master template, it would only invalidate a range in the evaluation field that was the hull of any invalid sub sequences overlapping the current time, potentially leaving invalid data in the evaluation field at positions later (or earlier) on in the sequence When the sub template was re-generated, it receives the same SequenceSignature as it had before (because the sequence hasn't actually changed), which causes the stale evaluation field data to fail the IsDirty check (because the sequence is the same as it thought, but the *template* has changed) This has been addressed be adding a signature to templates themselves, and checking both the template signature and sequence signature as a part of the IsDirty check. This ensures that we regenerate if either the template, or the sequence have changed. #jira UE-55934 Change 3936327 by Andrew.Rodham Sequencer: Removed increment when trimming right UMovieSceneSection::TrimSection already explicity assigns an exclusive bound to the time passed in. The new behavior means we can trim a section to the right, and insert another section without changing the time to create adjacent sections. #jira UE-42652 Change 3936328 by Andrew.Rodham Fixed KeyFrameManipulator assignment operators and copy/move constructors - These types are potentially self-referential so cannot use default constructors/assignment Change 3936330 by Andrew.Rodham Converted UMGSequencePlayer to use frames internally #jira UE-54878 Change 3936726 by Max.Chen Sequencer: Set track node as the parent of the key area node. The key area switcher needs the object binding id from the parent object binding node. Without this, the binding to the external value fails. #jira UE-55931 Change 3936775 by Max.Chen Sequencer: Should stop or loop should compare DurationFrames with Current Time from StartTime. The bug is that if you set 30 warmup frames in movie rendering for a range of 0-100, the FrameRange will be starting at -30 and have a duration of 130. Without this fix, the playback will continue until frame 130, rather than 100. #jira UE-55933 Change 3936935 by Matt.Hoffman Easing Curves are now represented in Play Rate resolution instead of internal resolution. #jira UE-55937 Change 3937069 by Matt.Hoffman Users can toggle if the is infinite on each side, limited by which tracks support infinite ranges. #jira UE-55891 Change 3937516 by Max.Preussner ImgMedia: Added support for single-threaded platforms #jira UE-55986 Change 3937826 by Max.Preussner MediaAssets: Disabling media sound components on HTML5 if AudioMixer is not enabled Change 3937997 by Max.Chen Curve Editor: Add Zoom to Fit Curves so that selected curves from Sequencer can be focused on. Tested that undo doesn't re-zoom. #jira UE-55935 Change 3938000 by Max.Chen Sequencer: Stop all sounds before generating audio waveforms. #jira UE-55951 Change 3938376 by Max.Preussner XGEController: Disabled XGE Controller in single-threaded apps to prevent crash Change 3938444 by Max.Preussner Core: Added async support for single-threaded applications Change 3938445 by Max.Preussner Networking: Added support for single-threaded applications in UDP socket sender/receiver Change 3938447 by Max.Preussner Messaging: Added support for single-threaded applications Change 3939432 by Max.Chen Sequence Recorder: Append command list to global level editor actions so that shortcuts are accessible in level editor. #jira UE-55798 Change 3940229 by Andrew.Rodham Added prospective display rate upgrade to UMovieScene::PostLoad - There was previously some very odd behaviour that would assign the fixed frame interval only when a sub sequence was focused in SSequencer. This meant that many sequences could have a frame interval of 0 set in the data. - Under the old method of snap interval display this would have fallen back to getting the display interval from the sequencer settings, but we no longer look at these. - The USequencerSettings properties have been removed and in their place, a prospective data upgrade for sequences that have a fixed frame interval old 0fps that sets the play rate to the previous defaults based off the old USequencerSettings defaults. - This could end up 'changing' the display rate for sequences where the user has changed the snap interval in the settings for a particular sequence editor, but there's not much we can do about that given we don't have access to the USequencerSettings classes in UMovieScene #jira UE-55919 Change 3940277 by Andrew.Rodham Sequencer: Added ability to default frame resolutions and play rates for newly created actor sequences Change 3940378 by Andrew.Rodham Sequencer: Post move import dialog now defaults to the playback framerate of the sequence, and floors to frame numbers Change 3940559 by Andrew.Rodham Reinstated primed or recording sequence color Change 3940642 by Max.Preussner ImagePlate: Removed image plate media playback functionality Change 3940843 by Max.Preussner Core: Made TCircularQueue actually thread-safe; improved code comments Change 3940860 by Max.Chen Sequencer: Changed StructNameToKey to StructPathToKey Previously, keying a PropertyPath of [RenderTransform][Shear][X] would get trimmed to X, which doesn't map to a channel name as considered by Sequencer2dTransformTrackEditor. Instead, trim the resulting property path to [Shear][X] so that track editors can determine the desired struct path and channels to key. #jira UE-52966 Change 3941292 by Mike.Zyracki Fix for trajectories out of range not showing up. 1) If we had no key data we would pop the time, so wouldn't get the section ranges. 2) Calculating of upper bound was wrong, checking against -1 and not key == num of keys when doing algo::lower_bound. 3) No need to do the Bck-- for the bakward iterators since we fixed #2. We start now from the upper bound correctly. 4) If we had no keys (at section start,end) we would incorrectly say we were any key type, so since we draw constant keys as dashed we would do so incorrectly around section end points. #jira UE-55929 Change 3941424 by Max.Chen Curve Editor: Change Zoom to Fit to use TArrayView Change 3941498 by Max.Preussner Core: Added FMath::DivideAndRoundNearest function Change 3942097 by Matt.Hoffman Drop Frame Timecode Support for NTSC rates. Change 3942104 by Matt.Hoffman Sequence Recorder Group is no longer visible inside the World Outliner after using one. #jira 55266 Change 3942107 by Max.Chen Sequencer: Resurrect logic to find or extend an existing section when adding keys. Change 3942330 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942339 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942507 by Andrew.Rodham Sequencer: We no longer pad the time overlap threshold with a small number that is not scaled by the current zoom level - The presence of this pad was causing keys that were far apart to be grouped when zoomed in a long way Change 3942509 by Andrew.Rodham Sequencer: Only pad total view range, rather than section range as well when retrieving keys to render - This stops us from rendering keys that are within the view range, but outside the section range Change 3942512 by Andrew.Rodham Added transactions to some sequencer details customizations Change 3942513 by Andrew.Rodham Sequencer: Reinstated validation checks to UMovieSceneSection::SetStartFrame and SetEndFrame, changed erroneous uses to use SetRange Change 3942560 by Andrew.Rodham Pass by rvalue reference to appease error C2719 on Win32 ('InChannels': formal parameter with requested alignment of 8 won't be aligned) Change 3942697 by Andrew.Rodham Newly Created Level Sequences and Actor Sequences now default to 24000 fps frame resolution (+/- ~24hrs range, supporting all integer rates + 23.976) Change 3942700 by Andrew.Rodham Sequencer: Added legacy out-of-bounds errors for times that are not supported by the current legacy upgrade frame resolution Change 3942989 by Max.Preussner Core: Fixed circular queue count calculation Change 3943538 by Max.Preussner MediaAssets: Reverted workaround for procedural audio log spam in HTML5 (Actor component initialization cannot be skipped if the component is used in a level) Change 3944071 by Max.Preussner QAGame: Fixed Media Texture keeps last frame of Media when PIE ends #jira UE-53360 Change 3944292 by Max.Chen Sequencer: Added extra flags to ensure that asset initialization does not occur on template actor sequences #jira UE-56113 Change 3944364 by Max.Chen Sequencer: Prevent circular shot/master tracks. Tested adding master -> child -> master as drag and drop cinematic shot tracks and sub tracks as well as through the + button. #jira UE-56091 Change 3944422 by Max.Chen Sequence Recorder: Disable transform recording if off. #jira UE-56061 Change 3944745 by Andrew.Rodham Sequencer: Key rendering fixes - Fixed assert that occured when keys happened to reside on some times due to KeyTime + TimeOverlapThreshold - KeyTime being slightly larger TimeOverlapThreshold - Fixed keys sometimes being clipped when zoomed right in due to lack of half-frame offset - Added missing documentation to MovieSceneTimeHelpers.h #jira UE-56107 Change 3945231 by Andrew.Rodham Sequencer: Reconstruct channel proxy on Serialize to catch all cases of undo/redo, PostLoad and duplication #jira UE-56089 Change 3945301 by Andrew.Rodham Sequencer: Added safety checks during initial sequence recording to guard against applying negative or 0-sized sequence ranges #jira UE-56125 Change 3946627 by Max.Preussner Fortnite: Fixed game crashes closing editor while in PIE - Pure virtual function being called #jira UE-56144 [CL 3946896 by Max Chen in Main branch]
2018-03-14 22:09:33 -04:00
void FSequencerTimeSliderController::SetPlaybackRangeStart(FFrameNumber NewStart)
{
TRange<FFrameNumber> PlaybackRange = TimeSliderArgs.PlaybackRange.Get();
if (NewStart <= UE::MovieScene::DiscreteExclusiveUpper(PlaybackRange))
{
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3946692) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3801826 by Max.Chen PR #4304: Level Sequence crash fix - Guarded against dereferencing null componen. (Contributed by DSDambuster) Change 3801828 by Max.Chen PR #4302: Movie Scene Visibility Template unitialised variable, causing random . (Contributed by DSDambuster) Change 3801837 by Max.Chen Sequencer: Delay spawning/construction for convert to possessable. This fixes a bug where property values would be lost when converting back and forth from possessable to spawnable. #jira UE-52400 Change 3801841 by Max.Chen Sequencer: Make spacer nodes not selectable. PR #4194: Improvements to Sequencer (Contributed by projectgheist) #jira UE-53117 #jira UE-52139 Change 3804183 by Max.Preussner MediaAssets: Added missing lock in media sound component Change 3805414 by Max.Preussner MediaAssets: Setting valid GUID when initializing media texture resource Change 3819578 by Max.Chen PR #4370: When enabling the "MovieCapture", do not turn off the Stereo-3D display. (Contributed by yehaike) #jira UE-53647 Change 3823414 by Max.Chen Curve Editor: Lock down the first and last keys in the redundant keys removal range so that they're unaffected. #jira UE-53591 Change 3826406 by Max.Chen Sequencer: Move OnStartedPlaying() to within first update in UpdateTimeCursorPosition(). This fixes an issue where setting the hud/player visibility was getting stomped on later. #jira UE-52772 Change 3827044 by Max.Preussner MediaAssets: Added sprite visualization to media sound component #jira UE-53594 Change 3827988 by Max.Preussner MediaPlayerAssets: Fixed Media Texture is not linked to Media Player when created together #jira UE-53532 Change 3828506 by Max.Preussner MediaPlayerEditor: Added attenuation visualizer for media sound components #jira UE-53594 Change 3832590 by andrew.porter EngineTest: Added a keep state check in Property Animation sequencer test Change 3833053 by andrew.porter EngineTest: Adding Hierarchical Bias test Change 3835683 by andrew.porter EngineTest: Adding UMG Animation screenshot test Change 3836076 by Max.Chen Sequencer: Fix audio volume and pitch multiplier deprecation. Change 3836230 by andrew.porter EngineTest: Adding Sequence Bone Position automation test Change 3836347 by Max.Chen Sequencer: Fixes to shot name parsing. When a shot doesn't contain a shot number, assume, [ShotName]_[TakeNumber]. When duplicating a shot, put the new shot in the same path of the original shot, so that the take numbers will increment properly. #jira UE-51868 Change 3836552 by Max.Chen Sequencer: Sub section now has a takes menu Change 3838094 by Max.Chen UMG: Fix template finish not getting called on stop. This fixes a bug where sections aren't restored when finished. #jira UE-52285 Change 3838708 by Max.Chen Sequencer: Add notification when the blend type is changed. #jira UE-54046 Change 3840295 by Max.Chen Sequencer: Fix copy/paste crash for lights #jira UE-54084 Change 3840957 by Mike.Zyracki Added Show Only Keyable and Show Only Animated to the filter list in the property editor. Added IsPropertyAnimated to IDetailKeyframe Interface which already had support for showing properties which are keyable (which is used for the key icon next to the properties.). Could have created another interface but then would have had to mimic the sequencer binding, releasing also, so this seemed best way. One issue still left is that custom built detail items currently don't store associated properties(usually) and so certain properties, in particulalry transforms, won't show up as keyable or animated. Note this also shows up with the keyable icon not showing up next to transform tracks, and other filters like Show Only Modified not working with transforms/customs. Not sure best way to tackle this. #jira UESEQ-328 Change 3841756 by Max.Chen Sequencer: Fix unbound possessable components when pasting spawnables. #jira UE-54104 Change 3843950 by andrew.porter EngineTest: Renaming LevelStreaming tests/content to LevelVisibility Change 3844082 by Mike.Zyracki Missing file for animated filter in property editor. When finding if a track is animated we need to find it but we can't easily induce the MovieTrack class for any particular property. So we don't set a class for it and just search by it's ID and name. #jira UESEQ-328 Change 3846902 by Max.Preussner ImgMedia: Fixed image media player never finished initialization if loading failed #jira UE-54247 Change 3849820 by Mike.Zyracki Reassigning deleted widgets didn't work since the menu extender mechanism needs a valid UObject in order to perform an operation on it. So to fix we replaced GetObjectBindingContextMenuExtender in WidgetBlueprint with new delegate mechanism (OnBuildCustomContextMenuForGuid) that supports FGuid in addition to UObjects which is needed to handle re-binding deleted widgets. Note that the default sequencer hacks this for replacing deleted actors in SequencerObjectBindingNode to check to see if a LevelSequence is active. We could move to this mechanism there also. #jira UE-53163 Change 3852211 by Max.Chen UMG: Indicate name of the property that is not bound. #jira UE-54350 Change 3854120 by Max.Chen Sequencer: Fix sibling folders being allowed to have the same folder name. #jira UE-54363 Change 3854627 by Max.Chen Sequencer: Step to next/previous key should work for all tracks if there aren't any selected. #jira UESEQ-391 Change 3855825 by andrew.porter EngineTest: Adding animation blending automation test Change 3855950 by andrew.porter EngineTest: Adding correct expected valuues to animation blending test Change 3856237 by Matt.Hoffman UESEQ-336 - Sequencer Track Reordering Adds the ability to re-order Master Tracks, Folders and Object Bindings within sequencer hierarchies (including UMG). Adds the ability to do a one-off sorting of the content under the old sorting behavior if the user wants to reset their layout to how it was under legacy behavior. Modifies SequencerTrackNodes, SequencerFolderNodes and SequencerObjectBindingNodes to handle CanDrop/OnDrop for above, below and ontop of. Fixes a Slate Issue that forcibly expanded a TreeviewRow if an item handled OnDrop. Slate will now only forcibly expand the row if the item says the drop happened ontop of the item, and not above or below it like it previously did. Change 3856503 by andrew.porter EngineTest: Adding automation test for using animation blueprint with blend multi node in sequencer Change 3857875 by Max.Chen Sequencer: Assign the sequence id after the template is compiled. #jira UE-54462 Change 3858344 by Max.Chen Sequencer: Prevent Goto and Transform boxes from overlapping by allowing them to be visible at the same time in an autosized horizontal box. Also, added close button to the goto box. PR #4425: Prevent Goto and Transform boxes from overlapping in Sequencer ... (Contributed by projectgheist) #jira UE-54210 Change 3860566 by andrew.porter MediaFrameworkTest: Set the option to index 0 for the audio and video track list by default Change 3860654 by andrew.porter EngineTest: Enabling Camera Cut + FOV test Change 3860981 by andrew.porter EngineTest: Updating skeletal mesh tests with a delay after set playback position Change 3861256 by Max.Chen Sequencer: Add all bindings if none selected. #jira-54440 Change 3862154 by Andrew.Rodham Added TimeManagement module Change 3862424 by andrew.porter EngineTest: Turned on the test Bone Positions with Blend Multi Node Change 3862573 by andrew.porter EngineTest: Adding test to compare bone positions in a sequence that is blending an animation that is using an AnimBP Change 3865117 by Max.Chen Sequencer: Stop auto scroll on mouse release of movement. #jira UE-31212 Change 3865303 by Max.Chen Sequencer: Add drag and drop transactions #jira UE-54662 Change 3865304 by Max.Chen Sequencer: Fix crash when an actor factory is not found. Change 3865361 by Max.Chen Sequencer: Don't change the camera/shot lock button when popping out of a sequence. #jira UE-54665 Change 3865412 by Max.Chen Sequencer: Determine whether a transform track is for a camera by using the spawned object or template #jira UE-54666 Change 3865685 by Max.Chen Sequencer: Clear autoscrub offset when stopping autoscroll #jira UE-31212 Change 3865886 by Max.Chen Sequence Recorder: Log an error if the number of frames changes while recording. This can happen if the skeleton changes while recording. #jira UE-48715 Change 3866925 by Andrew.Porter MediaFrameworkTest: Changing the current PNG test video image sequence to 1024 x 576 Change 3867705 by andrew.porter QAGame: Adding Audio Sort Sequence to dev folder Change 3867890 by andrew.porter QAGame: Adding a sequence for testing a sorting crash to my dev folder Change 3872628 by Max.Chen Movie Scene Capture: Split delay before warmup into split delay before shot warmup so that there's separate controls for when the movie scene capture warmups up vs. shot boundaries. Change 3873131 by Matt.Hoffman UE-54732 - Crash reordering a folder with a track. This was caused by folders being the only type of track to check if someone was putting a parent track into a child track. Object Binding tracks and Tracks now check as well so that you can't use the above/below drop targets to add parents as children. This also fixed a typo in the localization keys. #jira UE-54732 Change 3873301 by Mike.Zyracki Added ability to support continous euler angle changes when changing rotations, in particularly with the rotation gizmo's. To do this we effectively added a form an of 'euler filter'(https://en.wikipedia.org/wiki/Euler_filter) to find the closest euler angle to the current euler angle. Three functions were added to FRotator to make this possible, one to get the euler angle that's has the same rotation as it, one to get the difference between two euler angles via Manhattan distance and a third using the previous two to choose a Rotator value that's closest to it. We then use these functions before calling UComponent::SetRelativeRotation to make sure we use the correct Euler after the Quat conversion. We also no longer limit(bound) the euler angles to -180,180, which is obviously necessary to avoid flips. I also changed how we caluclate yaw and roll when pitch is -90 or 90 to make it the standard approach of zeroing out roll and just setting yaw. Main reasons are the previous implementation had precision issues so things like 180, 90, -180 would show up due to numbers being nearly zero but negative,(this would break any smooth interpolations), and this facilitates having a 'gimbal' rotation mode (like Maya, Blender etc..) if we ever want that also. If needed we could keep the previous implementation but would need to add some FMath::IsNearlyZero checks, with less performance. Note we only do this special filtering when applying delta's to actors or components in the editors, which then call UComponent::SetRelativeRotationExact, which is a new function to foces the RelativeRotation to be equal to the new rotation. This allows us to store un-nomalized Rotators at the cost that the RotationCache may be broken. We didn't change any of the other UComponent functions that set rotations (via Quats or Transforms) so they will still be bounded and unwound. In SetInternalWorldLocationAndRotation we only set the rotation if the rotation has changed, which fixes the rotation getting changed and re-normalized if just translate happens. In TransformTrackEditor, we correclty use the bUndwing flag and in MovieScene3DTransformSection there was an un-needed winding check there, it will be unwound earlier if needed, which happens if Sequence Recording is happening. Max we should talk about what to do about this . Note the euler angle drag via the widget is still bound to 0-360. I think we should just unbound that now since the rotations value are now unbound. This review now includes fixes suggested by Zak. #jira UE-UE-22228 Change 3873483 by Matt.Hoffman Sequencer Tracks can now be inserted above the spacer at the bottom of the tree. #jira UE-54706 Change 3873899 by Max.Chen Sequencer: Add section selection throbbing Change 3873908 by Max.Chen Movie Scene Capture: Added logging per frame Change 3873924 by Matt.Hoffman Adds the ability to store Sequence Recorder setups into profiles that stay with the map and can be re-loaded later. Profiles store the Actor Recordings so the settings for each actor should carry with them. #jira UESEQ-339 Change 3874726 by Matt.Hoffman Disable drag-and-drop targets on spacers that come between rows in Sequencer. This prevents extra drag/drop targets showing up between each row. #jira UE-54706 Change 3874862 by Matt.Hoffman Audio Track no longer gets reordered when adding sub-audio tracks, as sub-tracks are no longer counted towards the sorting order index when normalizing indexes. #jira UE-54727 Change 3875905 by Matt.Hoffman Disable Fade Track UI if a fade track already exists in the sequence. #jira UESEQ-393 Change 3876163 by Max.Chen Sequencer: Swap the camera object to the camera component's owner if it's not the same. #jira UE-54874 Change 3876971 by Andrew.Porter EngineTest: Moved Media Player Seek test to new folder. Also enabled the test with new ground truth image. Change 3877040 by Max.Chen Cine Camera: Split camera properties to two groups, "Camera Options" and "Camera Settings". The cine camera now hides properties in the "Camera Settings" group so that properties like bConstrainAspectRatio (in the "Camera Options" group) can be visible. #jira UE-54192 Change 3877763 by Max.Chen Curve Editor: Fix curve changed on end drag so that only curves that had keys/tangents that were changed receive notification, otherwise all loaded curves were getting notified that they were changed. #jira UE-54951 Change 3878234 by Matt.Hoffman Disable "Drop Below" targets for Sequencer Tree nodes to prevent a confusing UX issue where dropping underneath a Object Binding Node puts it after the object binding node but the UI looks like it's inserting it inside the Object Binding node. #jira UE-54743 Change 3879359 by Mike.Zyracki If a track is inactive we dim it a bit which seems to be the UE4 way to show inactive or disabled state. We changed the active logic so that all subtracks need to be inactive for the track to also be inactive(instead of all active for active). This conforms to how the active state actually works, e.g if you have two sections and only one is active the track is still active above it. #jira UESEQ-388 Change 3879462 by Max.Chen Sequencer: Allow dragging onto a particular row which would move out any overlapping sections to make space for the newly created section. Newly created sections are now selected and throbbed to draw attention to themselves. #jira UE-54664 Change 3879464 by Max.Chen Sequencer: Fixed overlapping ranges being inserted into the evaluation field during compilation - The issue was that track segments that had been combined with adjacent segments (due to them being identical) would potentially cause a subsequently compiled frame to overlap with a range that had already been inserted into the evaluation field. - The insertion code previously asserted that only minor overlaps were catered for (due to fp rounding errors) and assumed that a supplied range could not entirely contain any other range in the field. - The solution is to supply the insertion time along with the range to know exactly where the data should live in the field, and crop the range to the maximum allowable space between adjacent ranges. #jira UE-54922 Change 3879590 by Matt.Hoffman Items that are now added to the Sequencer via the "+Track" menu will be selected after being added. Items can now be added inside of folders instead of just to the root level. #jira UE-27397 Change 3879612 by Mike.Zyracki Display Nodes with no children are always active. #jira UESEQ-388 Change 3879730 by Matt.Hoffman Sequence Recorder's actor recording groups now remove items from the group when removed via the UI. #jira UESEQ-339 Change 3880256 by Mike.Zyracki Fix issue with inactive display with folders and other track nodes. #jira UESEQ-388 Change 3883491 by Max.Chen Fix issue where tick is skipped due to last ticked pose isn't cleared after AnimInstance changes. Copy from Release-4.19 #jira UE-51323 Change 3883603 by Max.Chen Movie Scene Capture: Add option toggle disable screen percentage. By default this is on (no change in current behavior). #jira UE-51898 Change 3885074 by Max.Preussner MediaCompositing: Resetting media texture & freeing resource on section end; removed dead code Change 3887220 by Max.Preussner MediaCompositing: Defaulted media section duration to 1 sec (since we do not know the actual duration in most cases) Change 3887478 by Matt.Hoffman Sequences now show [Inactive] in their title bars when they're disabled. This helps communicate why a sequence isn't being evaluated. #jira UE-51469 Change 3888985 by Max.Chen Movie Scene Capture: Clamp HDR Compression Quality between 0 and 1. #jira UE-55136 Change 3893519 by Max.Chen Sequence Recorder: Clarified tooltip for bRecordNearbySpawnedActors - spawned actors will still be recorded if they match the ActorFilter. #jira UE-55238 Change 3893546 by Max.Chen Sequence Recorder: If a selected actor already has a recording, add a blank recording. #jira UE-55239 Change 3894044 by Max.Preussner MediaCompositing: Added support for seeking into a media section Change 3894310 by andrew.porter MediaFrameworkTest: Adding Img media sources for 1080 and 2160 ravent test content Change 3894426 by Max.Preussner MediaAssets: Letting media textures with AutoClear retain their clear color when player is reset Change 3895717 by Max.Chen Sequencer: Null checks to prevent crash when saving the default state of a spawnable #jira UE-55304 Change 3897388 by Max.Chen Sequencer: Don't update current time to be within the view range when stepping into a sequence. #jira UE-55322 Change 3897452 by Max.Chen Audio: Fix crash when trying to record audio without any active capture devices. Log warning if the number of input channels is not 1 or 2. #jira UE-55223 Change 3897619 by Max.Preussner MediaCompositing: Removed commented out code Change 3898072 by Max.Chen Sequencer: Override the animation asset in the player state if it doesn't match the animation asset that's being evaluated. #jira UE-55328 Change 3898272 by Max.Preussner MediaPlayerEditor: Made slate brush constants static Change 3898704 by Max.Chen Sequencer: Skip if the binding id's sequence can't be found. #jira UE-55337 Change 3899855 by Max.Preussner MediaCompositingEditor: Added cache state visualization to media track Change 3900300 by Max.Preussner MediaCompositingEditor: Added loop indicators to media sections Change 3900694 by Max.Preussner ImfMedia: Looping cache only when player is looping Change 3900892 by Max.Preussner Stats: Added stats category for media framework Change 3900954 by Max.Preussner MediaCompositing: Don't evaluate at the end of media section Change 3901348 by Max.Preussner Core: Replaced TLruCache autos for better readability Change 3901655 by Max.Preussner ImgMedia: Added more perf stats to EXR reader Change 3901972 by Max.Preussner MediaAssets: Added getter for media player in media sound components Change 3902233 by Max.Preussner MediaAssets: Enabling media textures to receive samples right after player is assigned Change 3902238 by Max.Preussner MediaCompositing: Working around init/shutdown idiosyncracies in sequencer Change 3904045 by Max.Chen Sequencer: Fix copy/paste crash. Only process UMovieSceneCopyableBinding and objects that can be spawned by the movie scene spawn register. #jira UE-55314 Change 3905605 by Max.Chen Sequencer: Restrict spawnables from being created if they have a ClassWithin that UMovieScene is not a child of. #jira UE-55429 Change 3906550 by Max.Chen Sequencer: Add media track icon #jira UE-55480 Change 3907101 by Max.Chen Sequence Recorder: Fix bugs related to not recording a level sequence. There were certain assumptions that creating a level sequence meant that sequence recording was in progress. This is not always the case - the recorders can record animation assets and not create a level sequence. Changed the notion of IsRecording() to having at least one actor recording that is recording. Countdown timer, recording displays, etc should function if IsRecording() and not based on whether a level sequence is created. #jira UE-55485 Change 3907247 by Max.Chen Sequence Recorder: Fix crash not removing PrepareToCleanseEditorObject delegate. Repros when opening sequence recorder, closing it, and then opening or creating a level. Change 3910343 by Max.Preussner Core: Added async helper for executing functions on a given thread pool Change 3910346 by Max.Preussner ImgMedia: Added separate thread pools for loading/decoding and deleting image frames Change 3910829 by Max.Preussner Profiler: Increased visible range of profiler graph Change 3910841 by Max.Preussner MediaCompositing: Displaying asset name instead of full media source path in media section Change 3910870 by Max.Preussner ImgMedia: Using deallocation thread pool only in debug builds Change 3919642 by Max.Chen Sequence Recorder: Clarify active tooltip #jira UE-55661 Change 3919660 by Max.Chen Sequencer: Sequence template source signatures are now also compared to catch the case where a sub-sequence asset has been saved but not modified - The following sequence of events exposes this issue: - Create a master sequence with a single shot that spawns a cube - Add this sequence to a level and set it to auto-play - Save everything and restart - Resave just the inner shot asset without opening it - PIE - The inner shot never spawns its cube because its template was wiped on save, but its signature never changed. Since the master sequence previously didn't check the template source signature, it ends up trying to evaluate an empty template. #jira UE-55626 #jira UE-55490 Change 3921825 by Max.Chen Sequencer: "Run Construction Script in Sequencer" is off by default for blueprints but on for Sequencer. This allows the content author to switch it on for specific blueprints and sequencer will be default, run those with construction scripts enabled. Change 3922232 by Max.Chen Sequence Recorder: Reset countdelay on stop. #jira UE-55755 Change 3922306 by Max.Chen Sequence Recorder: Don't automatically mark transforms to be recorded by sequence recorder. Instead, log a warning if the user toggled it off to warn that the resulting animation might not match gameplay. #jira UE-55758 Change 3922912 by Max.Chen Sequence Recorder: Fix refresh next sequence name #jira UE-55757 Change 3927654 by Max.Chen Movie Scene Capture: Added format mapping for the name of the current camera #jira UE-55769 PR #4537 Change 3927658 by Max.Chen Sequencer: Added fbx property mapping for "FocusDistance" to "FocusSettings.ManualFocusDistance" #jira UE-55782 Change 3932022 by Max.Chen Sequencer: Add import animation track section to next available row index. #jira UE-55892 Change 3933919 by Max.Chen Sequencer: Jump to playback start frame and not 0 to start playback for recording. #jira UE-55933 Change 3934307 by Andrew.Rodham Sequencer: Add template signature that is re-generated every time the base template is regenerated, which invalidates evaluation fields This fixes an issue where the same sequence is instantiated multiple times in a sequence. If the source sequence was saved, its template would be wiped, which would invalidate the template ID When an instance tries to evaluate the master template, it would only invalidate a range in the evaluation field that was the hull of any invalid sub sequences overlapping the current time, potentially leaving invalid data in the evaluation field at positions later (or earlier) on in the sequence When the sub template was re-generated, it receives the same SequenceSignature as it had before (because the sequence hasn't actually changed), which causes the stale evaluation field data to fail the IsDirty check (because the sequence is the same as it thought, but the *template* has changed) This has been addressed be adding a signature to templates themselves, and checking both the template signature and sequence signature as a part of the IsDirty check. This ensures that we regenerate if either the template, or the sequence have changed. #jira UE-55934 Change 3936327 by Andrew.Rodham Sequencer: Removed increment when trimming right UMovieSceneSection::TrimSection already explicity assigns an exclusive bound to the time passed in. The new behavior means we can trim a section to the right, and insert another section without changing the time to create adjacent sections. #jira UE-42652 Change 3936328 by Andrew.Rodham Fixed KeyFrameManipulator assignment operators and copy/move constructors - These types are potentially self-referential so cannot use default constructors/assignment Change 3936330 by Andrew.Rodham Converted UMGSequencePlayer to use frames internally #jira UE-54878 Change 3936726 by Max.Chen Sequencer: Set track node as the parent of the key area node. The key area switcher needs the object binding id from the parent object binding node. Without this, the binding to the external value fails. #jira UE-55931 Change 3936775 by Max.Chen Sequencer: Should stop or loop should compare DurationFrames with Current Time from StartTime. The bug is that if you set 30 warmup frames in movie rendering for a range of 0-100, the FrameRange will be starting at -30 and have a duration of 130. Without this fix, the playback will continue until frame 130, rather than 100. #jira UE-55933 Change 3936935 by Matt.Hoffman Easing Curves are now represented in Play Rate resolution instead of internal resolution. #jira UE-55937 Change 3937069 by Matt.Hoffman Users can toggle if the is infinite on each side, limited by which tracks support infinite ranges. #jira UE-55891 Change 3937516 by Max.Preussner ImgMedia: Added support for single-threaded platforms #jira UE-55986 Change 3937826 by Max.Preussner MediaAssets: Disabling media sound components on HTML5 if AudioMixer is not enabled Change 3937997 by Max.Chen Curve Editor: Add Zoom to Fit Curves so that selected curves from Sequencer can be focused on. Tested that undo doesn't re-zoom. #jira UE-55935 Change 3938000 by Max.Chen Sequencer: Stop all sounds before generating audio waveforms. #jira UE-55951 Change 3938376 by Max.Preussner XGEController: Disabled XGE Controller in single-threaded apps to prevent crash Change 3938444 by Max.Preussner Core: Added async support for single-threaded applications Change 3938445 by Max.Preussner Networking: Added support for single-threaded applications in UDP socket sender/receiver Change 3938447 by Max.Preussner Messaging: Added support for single-threaded applications Change 3939432 by Max.Chen Sequence Recorder: Append command list to global level editor actions so that shortcuts are accessible in level editor. #jira UE-55798 Change 3940229 by Andrew.Rodham Added prospective display rate upgrade to UMovieScene::PostLoad - There was previously some very odd behaviour that would assign the fixed frame interval only when a sub sequence was focused in SSequencer. This meant that many sequences could have a frame interval of 0 set in the data. - Under the old method of snap interval display this would have fallen back to getting the display interval from the sequencer settings, but we no longer look at these. - The USequencerSettings properties have been removed and in their place, a prospective data upgrade for sequences that have a fixed frame interval old 0fps that sets the play rate to the previous defaults based off the old USequencerSettings defaults. - This could end up 'changing' the display rate for sequences where the user has changed the snap interval in the settings for a particular sequence editor, but there's not much we can do about that given we don't have access to the USequencerSettings classes in UMovieScene #jira UE-55919 Change 3940277 by Andrew.Rodham Sequencer: Added ability to default frame resolutions and play rates for newly created actor sequences Change 3940378 by Andrew.Rodham Sequencer: Post move import dialog now defaults to the playback framerate of the sequence, and floors to frame numbers Change 3940559 by Andrew.Rodham Reinstated primed or recording sequence color Change 3940642 by Max.Preussner ImagePlate: Removed image plate media playback functionality Change 3940843 by Max.Preussner Core: Made TCircularQueue actually thread-safe; improved code comments Change 3940860 by Max.Chen Sequencer: Changed StructNameToKey to StructPathToKey Previously, keying a PropertyPath of [RenderTransform][Shear][X] would get trimmed to X, which doesn't map to a channel name as considered by Sequencer2dTransformTrackEditor. Instead, trim the resulting property path to [Shear][X] so that track editors can determine the desired struct path and channels to key. #jira UE-52966 Change 3941292 by Mike.Zyracki Fix for trajectories out of range not showing up. 1) If we had no key data we would pop the time, so wouldn't get the section ranges. 2) Calculating of upper bound was wrong, checking against -1 and not key == num of keys when doing algo::lower_bound. 3) No need to do the Bck-- for the bakward iterators since we fixed #2. We start now from the upper bound correctly. 4) If we had no keys (at section start,end) we would incorrectly say we were any key type, so since we draw constant keys as dashed we would do so incorrectly around section end points. #jira UE-55929 Change 3941424 by Max.Chen Curve Editor: Change Zoom to Fit to use TArrayView Change 3941498 by Max.Preussner Core: Added FMath::DivideAndRoundNearest function Change 3942097 by Matt.Hoffman Drop Frame Timecode Support for NTSC rates. Change 3942104 by Matt.Hoffman Sequence Recorder Group is no longer visible inside the World Outliner after using one. #jira 55266 Change 3942107 by Max.Chen Sequencer: Resurrect logic to find or extend an existing section when adding keys. Change 3942330 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942339 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942507 by Andrew.Rodham Sequencer: We no longer pad the time overlap threshold with a small number that is not scaled by the current zoom level - The presence of this pad was causing keys that were far apart to be grouped when zoomed in a long way Change 3942509 by Andrew.Rodham Sequencer: Only pad total view range, rather than section range as well when retrieving keys to render - This stops us from rendering keys that are within the view range, but outside the section range Change 3942512 by Andrew.Rodham Added transactions to some sequencer details customizations Change 3942513 by Andrew.Rodham Sequencer: Reinstated validation checks to UMovieSceneSection::SetStartFrame and SetEndFrame, changed erroneous uses to use SetRange Change 3942560 by Andrew.Rodham Pass by rvalue reference to appease error C2719 on Win32 ('InChannels': formal parameter with requested alignment of 8 won't be aligned) Change 3942697 by Andrew.Rodham Newly Created Level Sequences and Actor Sequences now default to 24000 fps frame resolution (+/- ~24hrs range, supporting all integer rates + 23.976) Change 3942700 by Andrew.Rodham Sequencer: Added legacy out-of-bounds errors for times that are not supported by the current legacy upgrade frame resolution Change 3942989 by Max.Preussner Core: Fixed circular queue count calculation Change 3943538 by Max.Preussner MediaAssets: Reverted workaround for procedural audio log spam in HTML5 (Actor component initialization cannot be skipped if the component is used in a level) Change 3944071 by Max.Preussner QAGame: Fixed Media Texture keeps last frame of Media when PIE ends #jira UE-53360 Change 3944292 by Max.Chen Sequencer: Added extra flags to ensure that asset initialization does not occur on template actor sequences #jira UE-56113 Change 3944364 by Max.Chen Sequencer: Prevent circular shot/master tracks. Tested adding master -> child -> master as drag and drop cinematic shot tracks and sub tracks as well as through the + button. #jira UE-56091 Change 3944422 by Max.Chen Sequence Recorder: Disable transform recording if off. #jira UE-56061 Change 3944745 by Andrew.Rodham Sequencer: Key rendering fixes - Fixed assert that occured when keys happened to reside on some times due to KeyTime + TimeOverlapThreshold - KeyTime being slightly larger TimeOverlapThreshold - Fixed keys sometimes being clipped when zoomed right in due to lack of half-frame offset - Added missing documentation to MovieSceneTimeHelpers.h #jira UE-56107 Change 3945231 by Andrew.Rodham Sequencer: Reconstruct channel proxy on Serialize to catch all cases of undo/redo, PostLoad and duplication #jira UE-56089 Change 3945301 by Andrew.Rodham Sequencer: Added safety checks during initial sequence recording to guard against applying negative or 0-sized sequence ranges #jira UE-56125 Change 3946627 by Max.Preussner Fortnite: Fixed game crashes closing editor while in PIE - Pure virtual function being called #jira UE-56144 [CL 3946896 by Max Chen in Main branch]
2018-03-14 22:09:33 -04:00
TimeSliderArgs.OnPlaybackRangeChanged.ExecuteIfBound(TRange<FFrameNumber>(NewStart, PlaybackRange.GetUpperBound()));
}
}
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3946692) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3801826 by Max.Chen PR #4304: Level Sequence crash fix - Guarded against dereferencing null componen. (Contributed by DSDambuster) Change 3801828 by Max.Chen PR #4302: Movie Scene Visibility Template unitialised variable, causing random . (Contributed by DSDambuster) Change 3801837 by Max.Chen Sequencer: Delay spawning/construction for convert to possessable. This fixes a bug where property values would be lost when converting back and forth from possessable to spawnable. #jira UE-52400 Change 3801841 by Max.Chen Sequencer: Make spacer nodes not selectable. PR #4194: Improvements to Sequencer (Contributed by projectgheist) #jira UE-53117 #jira UE-52139 Change 3804183 by Max.Preussner MediaAssets: Added missing lock in media sound component Change 3805414 by Max.Preussner MediaAssets: Setting valid GUID when initializing media texture resource Change 3819578 by Max.Chen PR #4370: When enabling the "MovieCapture", do not turn off the Stereo-3D display. (Contributed by yehaike) #jira UE-53647 Change 3823414 by Max.Chen Curve Editor: Lock down the first and last keys in the redundant keys removal range so that they're unaffected. #jira UE-53591 Change 3826406 by Max.Chen Sequencer: Move OnStartedPlaying() to within first update in UpdateTimeCursorPosition(). This fixes an issue where setting the hud/player visibility was getting stomped on later. #jira UE-52772 Change 3827044 by Max.Preussner MediaAssets: Added sprite visualization to media sound component #jira UE-53594 Change 3827988 by Max.Preussner MediaPlayerAssets: Fixed Media Texture is not linked to Media Player when created together #jira UE-53532 Change 3828506 by Max.Preussner MediaPlayerEditor: Added attenuation visualizer for media sound components #jira UE-53594 Change 3832590 by andrew.porter EngineTest: Added a keep state check in Property Animation sequencer test Change 3833053 by andrew.porter EngineTest: Adding Hierarchical Bias test Change 3835683 by andrew.porter EngineTest: Adding UMG Animation screenshot test Change 3836076 by Max.Chen Sequencer: Fix audio volume and pitch multiplier deprecation. Change 3836230 by andrew.porter EngineTest: Adding Sequence Bone Position automation test Change 3836347 by Max.Chen Sequencer: Fixes to shot name parsing. When a shot doesn't contain a shot number, assume, [ShotName]_[TakeNumber]. When duplicating a shot, put the new shot in the same path of the original shot, so that the take numbers will increment properly. #jira UE-51868 Change 3836552 by Max.Chen Sequencer: Sub section now has a takes menu Change 3838094 by Max.Chen UMG: Fix template finish not getting called on stop. This fixes a bug where sections aren't restored when finished. #jira UE-52285 Change 3838708 by Max.Chen Sequencer: Add notification when the blend type is changed. #jira UE-54046 Change 3840295 by Max.Chen Sequencer: Fix copy/paste crash for lights #jira UE-54084 Change 3840957 by Mike.Zyracki Added Show Only Keyable and Show Only Animated to the filter list in the property editor. Added IsPropertyAnimated to IDetailKeyframe Interface which already had support for showing properties which are keyable (which is used for the key icon next to the properties.). Could have created another interface but then would have had to mimic the sequencer binding, releasing also, so this seemed best way. One issue still left is that custom built detail items currently don't store associated properties(usually) and so certain properties, in particulalry transforms, won't show up as keyable or animated. Note this also shows up with the keyable icon not showing up next to transform tracks, and other filters like Show Only Modified not working with transforms/customs. Not sure best way to tackle this. #jira UESEQ-328 Change 3841756 by Max.Chen Sequencer: Fix unbound possessable components when pasting spawnables. #jira UE-54104 Change 3843950 by andrew.porter EngineTest: Renaming LevelStreaming tests/content to LevelVisibility Change 3844082 by Mike.Zyracki Missing file for animated filter in property editor. When finding if a track is animated we need to find it but we can't easily induce the MovieTrack class for any particular property. So we don't set a class for it and just search by it's ID and name. #jira UESEQ-328 Change 3846902 by Max.Preussner ImgMedia: Fixed image media player never finished initialization if loading failed #jira UE-54247 Change 3849820 by Mike.Zyracki Reassigning deleted widgets didn't work since the menu extender mechanism needs a valid UObject in order to perform an operation on it. So to fix we replaced GetObjectBindingContextMenuExtender in WidgetBlueprint with new delegate mechanism (OnBuildCustomContextMenuForGuid) that supports FGuid in addition to UObjects which is needed to handle re-binding deleted widgets. Note that the default sequencer hacks this for replacing deleted actors in SequencerObjectBindingNode to check to see if a LevelSequence is active. We could move to this mechanism there also. #jira UE-53163 Change 3852211 by Max.Chen UMG: Indicate name of the property that is not bound. #jira UE-54350 Change 3854120 by Max.Chen Sequencer: Fix sibling folders being allowed to have the same folder name. #jira UE-54363 Change 3854627 by Max.Chen Sequencer: Step to next/previous key should work for all tracks if there aren't any selected. #jira UESEQ-391 Change 3855825 by andrew.porter EngineTest: Adding animation blending automation test Change 3855950 by andrew.porter EngineTest: Adding correct expected valuues to animation blending test Change 3856237 by Matt.Hoffman UESEQ-336 - Sequencer Track Reordering Adds the ability to re-order Master Tracks, Folders and Object Bindings within sequencer hierarchies (including UMG). Adds the ability to do a one-off sorting of the content under the old sorting behavior if the user wants to reset their layout to how it was under legacy behavior. Modifies SequencerTrackNodes, SequencerFolderNodes and SequencerObjectBindingNodes to handle CanDrop/OnDrop for above, below and ontop of. Fixes a Slate Issue that forcibly expanded a TreeviewRow if an item handled OnDrop. Slate will now only forcibly expand the row if the item says the drop happened ontop of the item, and not above or below it like it previously did. Change 3856503 by andrew.porter EngineTest: Adding automation test for using animation blueprint with blend multi node in sequencer Change 3857875 by Max.Chen Sequencer: Assign the sequence id after the template is compiled. #jira UE-54462 Change 3858344 by Max.Chen Sequencer: Prevent Goto and Transform boxes from overlapping by allowing them to be visible at the same time in an autosized horizontal box. Also, added close button to the goto box. PR #4425: Prevent Goto and Transform boxes from overlapping in Sequencer ... (Contributed by projectgheist) #jira UE-54210 Change 3860566 by andrew.porter MediaFrameworkTest: Set the option to index 0 for the audio and video track list by default Change 3860654 by andrew.porter EngineTest: Enabling Camera Cut + FOV test Change 3860981 by andrew.porter EngineTest: Updating skeletal mesh tests with a delay after set playback position Change 3861256 by Max.Chen Sequencer: Add all bindings if none selected. #jira-54440 Change 3862154 by Andrew.Rodham Added TimeManagement module Change 3862424 by andrew.porter EngineTest: Turned on the test Bone Positions with Blend Multi Node Change 3862573 by andrew.porter EngineTest: Adding test to compare bone positions in a sequence that is blending an animation that is using an AnimBP Change 3865117 by Max.Chen Sequencer: Stop auto scroll on mouse release of movement. #jira UE-31212 Change 3865303 by Max.Chen Sequencer: Add drag and drop transactions #jira UE-54662 Change 3865304 by Max.Chen Sequencer: Fix crash when an actor factory is not found. Change 3865361 by Max.Chen Sequencer: Don't change the camera/shot lock button when popping out of a sequence. #jira UE-54665 Change 3865412 by Max.Chen Sequencer: Determine whether a transform track is for a camera by using the spawned object or template #jira UE-54666 Change 3865685 by Max.Chen Sequencer: Clear autoscrub offset when stopping autoscroll #jira UE-31212 Change 3865886 by Max.Chen Sequence Recorder: Log an error if the number of frames changes while recording. This can happen if the skeleton changes while recording. #jira UE-48715 Change 3866925 by Andrew.Porter MediaFrameworkTest: Changing the current PNG test video image sequence to 1024 x 576 Change 3867705 by andrew.porter QAGame: Adding Audio Sort Sequence to dev folder Change 3867890 by andrew.porter QAGame: Adding a sequence for testing a sorting crash to my dev folder Change 3872628 by Max.Chen Movie Scene Capture: Split delay before warmup into split delay before shot warmup so that there's separate controls for when the movie scene capture warmups up vs. shot boundaries. Change 3873131 by Matt.Hoffman UE-54732 - Crash reordering a folder with a track. This was caused by folders being the only type of track to check if someone was putting a parent track into a child track. Object Binding tracks and Tracks now check as well so that you can't use the above/below drop targets to add parents as children. This also fixed a typo in the localization keys. #jira UE-54732 Change 3873301 by Mike.Zyracki Added ability to support continous euler angle changes when changing rotations, in particularly with the rotation gizmo's. To do this we effectively added a form an of 'euler filter'(https://en.wikipedia.org/wiki/Euler_filter) to find the closest euler angle to the current euler angle. Three functions were added to FRotator to make this possible, one to get the euler angle that's has the same rotation as it, one to get the difference between two euler angles via Manhattan distance and a third using the previous two to choose a Rotator value that's closest to it. We then use these functions before calling UComponent::SetRelativeRotation to make sure we use the correct Euler after the Quat conversion. We also no longer limit(bound) the euler angles to -180,180, which is obviously necessary to avoid flips. I also changed how we caluclate yaw and roll when pitch is -90 or 90 to make it the standard approach of zeroing out roll and just setting yaw. Main reasons are the previous implementation had precision issues so things like 180, 90, -180 would show up due to numbers being nearly zero but negative,(this would break any smooth interpolations), and this facilitates having a 'gimbal' rotation mode (like Maya, Blender etc..) if we ever want that also. If needed we could keep the previous implementation but would need to add some FMath::IsNearlyZero checks, with less performance. Note we only do this special filtering when applying delta's to actors or components in the editors, which then call UComponent::SetRelativeRotationExact, which is a new function to foces the RelativeRotation to be equal to the new rotation. This allows us to store un-nomalized Rotators at the cost that the RotationCache may be broken. We didn't change any of the other UComponent functions that set rotations (via Quats or Transforms) so they will still be bounded and unwound. In SetInternalWorldLocationAndRotation we only set the rotation if the rotation has changed, which fixes the rotation getting changed and re-normalized if just translate happens. In TransformTrackEditor, we correclty use the bUndwing flag and in MovieScene3DTransformSection there was an un-needed winding check there, it will be unwound earlier if needed, which happens if Sequence Recording is happening. Max we should talk about what to do about this . Note the euler angle drag via the widget is still bound to 0-360. I think we should just unbound that now since the rotations value are now unbound. This review now includes fixes suggested by Zak. #jira UE-UE-22228 Change 3873483 by Matt.Hoffman Sequencer Tracks can now be inserted above the spacer at the bottom of the tree. #jira UE-54706 Change 3873899 by Max.Chen Sequencer: Add section selection throbbing Change 3873908 by Max.Chen Movie Scene Capture: Added logging per frame Change 3873924 by Matt.Hoffman Adds the ability to store Sequence Recorder setups into profiles that stay with the map and can be re-loaded later. Profiles store the Actor Recordings so the settings for each actor should carry with them. #jira UESEQ-339 Change 3874726 by Matt.Hoffman Disable drag-and-drop targets on spacers that come between rows in Sequencer. This prevents extra drag/drop targets showing up between each row. #jira UE-54706 Change 3874862 by Matt.Hoffman Audio Track no longer gets reordered when adding sub-audio tracks, as sub-tracks are no longer counted towards the sorting order index when normalizing indexes. #jira UE-54727 Change 3875905 by Matt.Hoffman Disable Fade Track UI if a fade track already exists in the sequence. #jira UESEQ-393 Change 3876163 by Max.Chen Sequencer: Swap the camera object to the camera component's owner if it's not the same. #jira UE-54874 Change 3876971 by Andrew.Porter EngineTest: Moved Media Player Seek test to new folder. Also enabled the test with new ground truth image. Change 3877040 by Max.Chen Cine Camera: Split camera properties to two groups, "Camera Options" and "Camera Settings". The cine camera now hides properties in the "Camera Settings" group so that properties like bConstrainAspectRatio (in the "Camera Options" group) can be visible. #jira UE-54192 Change 3877763 by Max.Chen Curve Editor: Fix curve changed on end drag so that only curves that had keys/tangents that were changed receive notification, otherwise all loaded curves were getting notified that they were changed. #jira UE-54951 Change 3878234 by Matt.Hoffman Disable "Drop Below" targets for Sequencer Tree nodes to prevent a confusing UX issue where dropping underneath a Object Binding Node puts it after the object binding node but the UI looks like it's inserting it inside the Object Binding node. #jira UE-54743 Change 3879359 by Mike.Zyracki If a track is inactive we dim it a bit which seems to be the UE4 way to show inactive or disabled state. We changed the active logic so that all subtracks need to be inactive for the track to also be inactive(instead of all active for active). This conforms to how the active state actually works, e.g if you have two sections and only one is active the track is still active above it. #jira UESEQ-388 Change 3879462 by Max.Chen Sequencer: Allow dragging onto a particular row which would move out any overlapping sections to make space for the newly created section. Newly created sections are now selected and throbbed to draw attention to themselves. #jira UE-54664 Change 3879464 by Max.Chen Sequencer: Fixed overlapping ranges being inserted into the evaluation field during compilation - The issue was that track segments that had been combined with adjacent segments (due to them being identical) would potentially cause a subsequently compiled frame to overlap with a range that had already been inserted into the evaluation field. - The insertion code previously asserted that only minor overlaps were catered for (due to fp rounding errors) and assumed that a supplied range could not entirely contain any other range in the field. - The solution is to supply the insertion time along with the range to know exactly where the data should live in the field, and crop the range to the maximum allowable space between adjacent ranges. #jira UE-54922 Change 3879590 by Matt.Hoffman Items that are now added to the Sequencer via the "+Track" menu will be selected after being added. Items can now be added inside of folders instead of just to the root level. #jira UE-27397 Change 3879612 by Mike.Zyracki Display Nodes with no children are always active. #jira UESEQ-388 Change 3879730 by Matt.Hoffman Sequence Recorder's actor recording groups now remove items from the group when removed via the UI. #jira UESEQ-339 Change 3880256 by Mike.Zyracki Fix issue with inactive display with folders and other track nodes. #jira UESEQ-388 Change 3883491 by Max.Chen Fix issue where tick is skipped due to last ticked pose isn't cleared after AnimInstance changes. Copy from Release-4.19 #jira UE-51323 Change 3883603 by Max.Chen Movie Scene Capture: Add option toggle disable screen percentage. By default this is on (no change in current behavior). #jira UE-51898 Change 3885074 by Max.Preussner MediaCompositing: Resetting media texture & freeing resource on section end; removed dead code Change 3887220 by Max.Preussner MediaCompositing: Defaulted media section duration to 1 sec (since we do not know the actual duration in most cases) Change 3887478 by Matt.Hoffman Sequences now show [Inactive] in their title bars when they're disabled. This helps communicate why a sequence isn't being evaluated. #jira UE-51469 Change 3888985 by Max.Chen Movie Scene Capture: Clamp HDR Compression Quality between 0 and 1. #jira UE-55136 Change 3893519 by Max.Chen Sequence Recorder: Clarified tooltip for bRecordNearbySpawnedActors - spawned actors will still be recorded if they match the ActorFilter. #jira UE-55238 Change 3893546 by Max.Chen Sequence Recorder: If a selected actor already has a recording, add a blank recording. #jira UE-55239 Change 3894044 by Max.Preussner MediaCompositing: Added support for seeking into a media section Change 3894310 by andrew.porter MediaFrameworkTest: Adding Img media sources for 1080 and 2160 ravent test content Change 3894426 by Max.Preussner MediaAssets: Letting media textures with AutoClear retain their clear color when player is reset Change 3895717 by Max.Chen Sequencer: Null checks to prevent crash when saving the default state of a spawnable #jira UE-55304 Change 3897388 by Max.Chen Sequencer: Don't update current time to be within the view range when stepping into a sequence. #jira UE-55322 Change 3897452 by Max.Chen Audio: Fix crash when trying to record audio without any active capture devices. Log warning if the number of input channels is not 1 or 2. #jira UE-55223 Change 3897619 by Max.Preussner MediaCompositing: Removed commented out code Change 3898072 by Max.Chen Sequencer: Override the animation asset in the player state if it doesn't match the animation asset that's being evaluated. #jira UE-55328 Change 3898272 by Max.Preussner MediaPlayerEditor: Made slate brush constants static Change 3898704 by Max.Chen Sequencer: Skip if the binding id's sequence can't be found. #jira UE-55337 Change 3899855 by Max.Preussner MediaCompositingEditor: Added cache state visualization to media track Change 3900300 by Max.Preussner MediaCompositingEditor: Added loop indicators to media sections Change 3900694 by Max.Preussner ImfMedia: Looping cache only when player is looping Change 3900892 by Max.Preussner Stats: Added stats category for media framework Change 3900954 by Max.Preussner MediaCompositing: Don't evaluate at the end of media section Change 3901348 by Max.Preussner Core: Replaced TLruCache autos for better readability Change 3901655 by Max.Preussner ImgMedia: Added more perf stats to EXR reader Change 3901972 by Max.Preussner MediaAssets: Added getter for media player in media sound components Change 3902233 by Max.Preussner MediaAssets: Enabling media textures to receive samples right after player is assigned Change 3902238 by Max.Preussner MediaCompositing: Working around init/shutdown idiosyncracies in sequencer Change 3904045 by Max.Chen Sequencer: Fix copy/paste crash. Only process UMovieSceneCopyableBinding and objects that can be spawned by the movie scene spawn register. #jira UE-55314 Change 3905605 by Max.Chen Sequencer: Restrict spawnables from being created if they have a ClassWithin that UMovieScene is not a child of. #jira UE-55429 Change 3906550 by Max.Chen Sequencer: Add media track icon #jira UE-55480 Change 3907101 by Max.Chen Sequence Recorder: Fix bugs related to not recording a level sequence. There were certain assumptions that creating a level sequence meant that sequence recording was in progress. This is not always the case - the recorders can record animation assets and not create a level sequence. Changed the notion of IsRecording() to having at least one actor recording that is recording. Countdown timer, recording displays, etc should function if IsRecording() and not based on whether a level sequence is created. #jira UE-55485 Change 3907247 by Max.Chen Sequence Recorder: Fix crash not removing PrepareToCleanseEditorObject delegate. Repros when opening sequence recorder, closing it, and then opening or creating a level. Change 3910343 by Max.Preussner Core: Added async helper for executing functions on a given thread pool Change 3910346 by Max.Preussner ImgMedia: Added separate thread pools for loading/decoding and deleting image frames Change 3910829 by Max.Preussner Profiler: Increased visible range of profiler graph Change 3910841 by Max.Preussner MediaCompositing: Displaying asset name instead of full media source path in media section Change 3910870 by Max.Preussner ImgMedia: Using deallocation thread pool only in debug builds Change 3919642 by Max.Chen Sequence Recorder: Clarify active tooltip #jira UE-55661 Change 3919660 by Max.Chen Sequencer: Sequence template source signatures are now also compared to catch the case where a sub-sequence asset has been saved but not modified - The following sequence of events exposes this issue: - Create a master sequence with a single shot that spawns a cube - Add this sequence to a level and set it to auto-play - Save everything and restart - Resave just the inner shot asset without opening it - PIE - The inner shot never spawns its cube because its template was wiped on save, but its signature never changed. Since the master sequence previously didn't check the template source signature, it ends up trying to evaluate an empty template. #jira UE-55626 #jira UE-55490 Change 3921825 by Max.Chen Sequencer: "Run Construction Script in Sequencer" is off by default for blueprints but on for Sequencer. This allows the content author to switch it on for specific blueprints and sequencer will be default, run those with construction scripts enabled. Change 3922232 by Max.Chen Sequence Recorder: Reset countdelay on stop. #jira UE-55755 Change 3922306 by Max.Chen Sequence Recorder: Don't automatically mark transforms to be recorded by sequence recorder. Instead, log a warning if the user toggled it off to warn that the resulting animation might not match gameplay. #jira UE-55758 Change 3922912 by Max.Chen Sequence Recorder: Fix refresh next sequence name #jira UE-55757 Change 3927654 by Max.Chen Movie Scene Capture: Added format mapping for the name of the current camera #jira UE-55769 PR #4537 Change 3927658 by Max.Chen Sequencer: Added fbx property mapping for "FocusDistance" to "FocusSettings.ManualFocusDistance" #jira UE-55782 Change 3932022 by Max.Chen Sequencer: Add import animation track section to next available row index. #jira UE-55892 Change 3933919 by Max.Chen Sequencer: Jump to playback start frame and not 0 to start playback for recording. #jira UE-55933 Change 3934307 by Andrew.Rodham Sequencer: Add template signature that is re-generated every time the base template is regenerated, which invalidates evaluation fields This fixes an issue where the same sequence is instantiated multiple times in a sequence. If the source sequence was saved, its template would be wiped, which would invalidate the template ID When an instance tries to evaluate the master template, it would only invalidate a range in the evaluation field that was the hull of any invalid sub sequences overlapping the current time, potentially leaving invalid data in the evaluation field at positions later (or earlier) on in the sequence When the sub template was re-generated, it receives the same SequenceSignature as it had before (because the sequence hasn't actually changed), which causes the stale evaluation field data to fail the IsDirty check (because the sequence is the same as it thought, but the *template* has changed) This has been addressed be adding a signature to templates themselves, and checking both the template signature and sequence signature as a part of the IsDirty check. This ensures that we regenerate if either the template, or the sequence have changed. #jira UE-55934 Change 3936327 by Andrew.Rodham Sequencer: Removed increment when trimming right UMovieSceneSection::TrimSection already explicity assigns an exclusive bound to the time passed in. The new behavior means we can trim a section to the right, and insert another section without changing the time to create adjacent sections. #jira UE-42652 Change 3936328 by Andrew.Rodham Fixed KeyFrameManipulator assignment operators and copy/move constructors - These types are potentially self-referential so cannot use default constructors/assignment Change 3936330 by Andrew.Rodham Converted UMGSequencePlayer to use frames internally #jira UE-54878 Change 3936726 by Max.Chen Sequencer: Set track node as the parent of the key area node. The key area switcher needs the object binding id from the parent object binding node. Without this, the binding to the external value fails. #jira UE-55931 Change 3936775 by Max.Chen Sequencer: Should stop or loop should compare DurationFrames with Current Time from StartTime. The bug is that if you set 30 warmup frames in movie rendering for a range of 0-100, the FrameRange will be starting at -30 and have a duration of 130. Without this fix, the playback will continue until frame 130, rather than 100. #jira UE-55933 Change 3936935 by Matt.Hoffman Easing Curves are now represented in Play Rate resolution instead of internal resolution. #jira UE-55937 Change 3937069 by Matt.Hoffman Users can toggle if the is infinite on each side, limited by which tracks support infinite ranges. #jira UE-55891 Change 3937516 by Max.Preussner ImgMedia: Added support for single-threaded platforms #jira UE-55986 Change 3937826 by Max.Preussner MediaAssets: Disabling media sound components on HTML5 if AudioMixer is not enabled Change 3937997 by Max.Chen Curve Editor: Add Zoom to Fit Curves so that selected curves from Sequencer can be focused on. Tested that undo doesn't re-zoom. #jira UE-55935 Change 3938000 by Max.Chen Sequencer: Stop all sounds before generating audio waveforms. #jira UE-55951 Change 3938376 by Max.Preussner XGEController: Disabled XGE Controller in single-threaded apps to prevent crash Change 3938444 by Max.Preussner Core: Added async support for single-threaded applications Change 3938445 by Max.Preussner Networking: Added support for single-threaded applications in UDP socket sender/receiver Change 3938447 by Max.Preussner Messaging: Added support for single-threaded applications Change 3939432 by Max.Chen Sequence Recorder: Append command list to global level editor actions so that shortcuts are accessible in level editor. #jira UE-55798 Change 3940229 by Andrew.Rodham Added prospective display rate upgrade to UMovieScene::PostLoad - There was previously some very odd behaviour that would assign the fixed frame interval only when a sub sequence was focused in SSequencer. This meant that many sequences could have a frame interval of 0 set in the data. - Under the old method of snap interval display this would have fallen back to getting the display interval from the sequencer settings, but we no longer look at these. - The USequencerSettings properties have been removed and in their place, a prospective data upgrade for sequences that have a fixed frame interval old 0fps that sets the play rate to the previous defaults based off the old USequencerSettings defaults. - This could end up 'changing' the display rate for sequences where the user has changed the snap interval in the settings for a particular sequence editor, but there's not much we can do about that given we don't have access to the USequencerSettings classes in UMovieScene #jira UE-55919 Change 3940277 by Andrew.Rodham Sequencer: Added ability to default frame resolutions and play rates for newly created actor sequences Change 3940378 by Andrew.Rodham Sequencer: Post move import dialog now defaults to the playback framerate of the sequence, and floors to frame numbers Change 3940559 by Andrew.Rodham Reinstated primed or recording sequence color Change 3940642 by Max.Preussner ImagePlate: Removed image plate media playback functionality Change 3940843 by Max.Preussner Core: Made TCircularQueue actually thread-safe; improved code comments Change 3940860 by Max.Chen Sequencer: Changed StructNameToKey to StructPathToKey Previously, keying a PropertyPath of [RenderTransform][Shear][X] would get trimmed to X, which doesn't map to a channel name as considered by Sequencer2dTransformTrackEditor. Instead, trim the resulting property path to [Shear][X] so that track editors can determine the desired struct path and channels to key. #jira UE-52966 Change 3941292 by Mike.Zyracki Fix for trajectories out of range not showing up. 1) If we had no key data we would pop the time, so wouldn't get the section ranges. 2) Calculating of upper bound was wrong, checking against -1 and not key == num of keys when doing algo::lower_bound. 3) No need to do the Bck-- for the bakward iterators since we fixed #2. We start now from the upper bound correctly. 4) If we had no keys (at section start,end) we would incorrectly say we were any key type, so since we draw constant keys as dashed we would do so incorrectly around section end points. #jira UE-55929 Change 3941424 by Max.Chen Curve Editor: Change Zoom to Fit to use TArrayView Change 3941498 by Max.Preussner Core: Added FMath::DivideAndRoundNearest function Change 3942097 by Matt.Hoffman Drop Frame Timecode Support for NTSC rates. Change 3942104 by Matt.Hoffman Sequence Recorder Group is no longer visible inside the World Outliner after using one. #jira 55266 Change 3942107 by Max.Chen Sequencer: Resurrect logic to find or extend an existing section when adding keys. Change 3942330 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942339 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942507 by Andrew.Rodham Sequencer: We no longer pad the time overlap threshold with a small number that is not scaled by the current zoom level - The presence of this pad was causing keys that were far apart to be grouped when zoomed in a long way Change 3942509 by Andrew.Rodham Sequencer: Only pad total view range, rather than section range as well when retrieving keys to render - This stops us from rendering keys that are within the view range, but outside the section range Change 3942512 by Andrew.Rodham Added transactions to some sequencer details customizations Change 3942513 by Andrew.Rodham Sequencer: Reinstated validation checks to UMovieSceneSection::SetStartFrame and SetEndFrame, changed erroneous uses to use SetRange Change 3942560 by Andrew.Rodham Pass by rvalue reference to appease error C2719 on Win32 ('InChannels': formal parameter with requested alignment of 8 won't be aligned) Change 3942697 by Andrew.Rodham Newly Created Level Sequences and Actor Sequences now default to 24000 fps frame resolution (+/- ~24hrs range, supporting all integer rates + 23.976) Change 3942700 by Andrew.Rodham Sequencer: Added legacy out-of-bounds errors for times that are not supported by the current legacy upgrade frame resolution Change 3942989 by Max.Preussner Core: Fixed circular queue count calculation Change 3943538 by Max.Preussner MediaAssets: Reverted workaround for procedural audio log spam in HTML5 (Actor component initialization cannot be skipped if the component is used in a level) Change 3944071 by Max.Preussner QAGame: Fixed Media Texture keeps last frame of Media when PIE ends #jira UE-53360 Change 3944292 by Max.Chen Sequencer: Added extra flags to ensure that asset initialization does not occur on template actor sequences #jira UE-56113 Change 3944364 by Max.Chen Sequencer: Prevent circular shot/master tracks. Tested adding master -> child -> master as drag and drop cinematic shot tracks and sub tracks as well as through the + button. #jira UE-56091 Change 3944422 by Max.Chen Sequence Recorder: Disable transform recording if off. #jira UE-56061 Change 3944745 by Andrew.Rodham Sequencer: Key rendering fixes - Fixed assert that occured when keys happened to reside on some times due to KeyTime + TimeOverlapThreshold - KeyTime being slightly larger TimeOverlapThreshold - Fixed keys sometimes being clipped when zoomed right in due to lack of half-frame offset - Added missing documentation to MovieSceneTimeHelpers.h #jira UE-56107 Change 3945231 by Andrew.Rodham Sequencer: Reconstruct channel proxy on Serialize to catch all cases of undo/redo, PostLoad and duplication #jira UE-56089 Change 3945301 by Andrew.Rodham Sequencer: Added safety checks during initial sequence recording to guard against applying negative or 0-sized sequence ranges #jira UE-56125 Change 3946627 by Max.Preussner Fortnite: Fixed game crashes closing editor while in PIE - Pure virtual function being called #jira UE-56144 [CL 3946896 by Max Chen in Main branch]
2018-03-14 22:09:33 -04:00
void FSequencerTimeSliderController::SetPlaybackRangeEnd(FFrameNumber NewEnd)
{
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3946692) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3801826 by Max.Chen PR #4304: Level Sequence crash fix - Guarded against dereferencing null componen. (Contributed by DSDambuster) Change 3801828 by Max.Chen PR #4302: Movie Scene Visibility Template unitialised variable, causing random . (Contributed by DSDambuster) Change 3801837 by Max.Chen Sequencer: Delay spawning/construction for convert to possessable. This fixes a bug where property values would be lost when converting back and forth from possessable to spawnable. #jira UE-52400 Change 3801841 by Max.Chen Sequencer: Make spacer nodes not selectable. PR #4194: Improvements to Sequencer (Contributed by projectgheist) #jira UE-53117 #jira UE-52139 Change 3804183 by Max.Preussner MediaAssets: Added missing lock in media sound component Change 3805414 by Max.Preussner MediaAssets: Setting valid GUID when initializing media texture resource Change 3819578 by Max.Chen PR #4370: When enabling the "MovieCapture", do not turn off the Stereo-3D display. (Contributed by yehaike) #jira UE-53647 Change 3823414 by Max.Chen Curve Editor: Lock down the first and last keys in the redundant keys removal range so that they're unaffected. #jira UE-53591 Change 3826406 by Max.Chen Sequencer: Move OnStartedPlaying() to within first update in UpdateTimeCursorPosition(). This fixes an issue where setting the hud/player visibility was getting stomped on later. #jira UE-52772 Change 3827044 by Max.Preussner MediaAssets: Added sprite visualization to media sound component #jira UE-53594 Change 3827988 by Max.Preussner MediaPlayerAssets: Fixed Media Texture is not linked to Media Player when created together #jira UE-53532 Change 3828506 by Max.Preussner MediaPlayerEditor: Added attenuation visualizer for media sound components #jira UE-53594 Change 3832590 by andrew.porter EngineTest: Added a keep state check in Property Animation sequencer test Change 3833053 by andrew.porter EngineTest: Adding Hierarchical Bias test Change 3835683 by andrew.porter EngineTest: Adding UMG Animation screenshot test Change 3836076 by Max.Chen Sequencer: Fix audio volume and pitch multiplier deprecation. Change 3836230 by andrew.porter EngineTest: Adding Sequence Bone Position automation test Change 3836347 by Max.Chen Sequencer: Fixes to shot name parsing. When a shot doesn't contain a shot number, assume, [ShotName]_[TakeNumber]. When duplicating a shot, put the new shot in the same path of the original shot, so that the take numbers will increment properly. #jira UE-51868 Change 3836552 by Max.Chen Sequencer: Sub section now has a takes menu Change 3838094 by Max.Chen UMG: Fix template finish not getting called on stop. This fixes a bug where sections aren't restored when finished. #jira UE-52285 Change 3838708 by Max.Chen Sequencer: Add notification when the blend type is changed. #jira UE-54046 Change 3840295 by Max.Chen Sequencer: Fix copy/paste crash for lights #jira UE-54084 Change 3840957 by Mike.Zyracki Added Show Only Keyable and Show Only Animated to the filter list in the property editor. Added IsPropertyAnimated to IDetailKeyframe Interface which already had support for showing properties which are keyable (which is used for the key icon next to the properties.). Could have created another interface but then would have had to mimic the sequencer binding, releasing also, so this seemed best way. One issue still left is that custom built detail items currently don't store associated properties(usually) and so certain properties, in particulalry transforms, won't show up as keyable or animated. Note this also shows up with the keyable icon not showing up next to transform tracks, and other filters like Show Only Modified not working with transforms/customs. Not sure best way to tackle this. #jira UESEQ-328 Change 3841756 by Max.Chen Sequencer: Fix unbound possessable components when pasting spawnables. #jira UE-54104 Change 3843950 by andrew.porter EngineTest: Renaming LevelStreaming tests/content to LevelVisibility Change 3844082 by Mike.Zyracki Missing file for animated filter in property editor. When finding if a track is animated we need to find it but we can't easily induce the MovieTrack class for any particular property. So we don't set a class for it and just search by it's ID and name. #jira UESEQ-328 Change 3846902 by Max.Preussner ImgMedia: Fixed image media player never finished initialization if loading failed #jira UE-54247 Change 3849820 by Mike.Zyracki Reassigning deleted widgets didn't work since the menu extender mechanism needs a valid UObject in order to perform an operation on it. So to fix we replaced GetObjectBindingContextMenuExtender in WidgetBlueprint with new delegate mechanism (OnBuildCustomContextMenuForGuid) that supports FGuid in addition to UObjects which is needed to handle re-binding deleted widgets. Note that the default sequencer hacks this for replacing deleted actors in SequencerObjectBindingNode to check to see if a LevelSequence is active. We could move to this mechanism there also. #jira UE-53163 Change 3852211 by Max.Chen UMG: Indicate name of the property that is not bound. #jira UE-54350 Change 3854120 by Max.Chen Sequencer: Fix sibling folders being allowed to have the same folder name. #jira UE-54363 Change 3854627 by Max.Chen Sequencer: Step to next/previous key should work for all tracks if there aren't any selected. #jira UESEQ-391 Change 3855825 by andrew.porter EngineTest: Adding animation blending automation test Change 3855950 by andrew.porter EngineTest: Adding correct expected valuues to animation blending test Change 3856237 by Matt.Hoffman UESEQ-336 - Sequencer Track Reordering Adds the ability to re-order Master Tracks, Folders and Object Bindings within sequencer hierarchies (including UMG). Adds the ability to do a one-off sorting of the content under the old sorting behavior if the user wants to reset their layout to how it was under legacy behavior. Modifies SequencerTrackNodes, SequencerFolderNodes and SequencerObjectBindingNodes to handle CanDrop/OnDrop for above, below and ontop of. Fixes a Slate Issue that forcibly expanded a TreeviewRow if an item handled OnDrop. Slate will now only forcibly expand the row if the item says the drop happened ontop of the item, and not above or below it like it previously did. Change 3856503 by andrew.porter EngineTest: Adding automation test for using animation blueprint with blend multi node in sequencer Change 3857875 by Max.Chen Sequencer: Assign the sequence id after the template is compiled. #jira UE-54462 Change 3858344 by Max.Chen Sequencer: Prevent Goto and Transform boxes from overlapping by allowing them to be visible at the same time in an autosized horizontal box. Also, added close button to the goto box. PR #4425: Prevent Goto and Transform boxes from overlapping in Sequencer ... (Contributed by projectgheist) #jira UE-54210 Change 3860566 by andrew.porter MediaFrameworkTest: Set the option to index 0 for the audio and video track list by default Change 3860654 by andrew.porter EngineTest: Enabling Camera Cut + FOV test Change 3860981 by andrew.porter EngineTest: Updating skeletal mesh tests with a delay after set playback position Change 3861256 by Max.Chen Sequencer: Add all bindings if none selected. #jira-54440 Change 3862154 by Andrew.Rodham Added TimeManagement module Change 3862424 by andrew.porter EngineTest: Turned on the test Bone Positions with Blend Multi Node Change 3862573 by andrew.porter EngineTest: Adding test to compare bone positions in a sequence that is blending an animation that is using an AnimBP Change 3865117 by Max.Chen Sequencer: Stop auto scroll on mouse release of movement. #jira UE-31212 Change 3865303 by Max.Chen Sequencer: Add drag and drop transactions #jira UE-54662 Change 3865304 by Max.Chen Sequencer: Fix crash when an actor factory is not found. Change 3865361 by Max.Chen Sequencer: Don't change the camera/shot lock button when popping out of a sequence. #jira UE-54665 Change 3865412 by Max.Chen Sequencer: Determine whether a transform track is for a camera by using the spawned object or template #jira UE-54666 Change 3865685 by Max.Chen Sequencer: Clear autoscrub offset when stopping autoscroll #jira UE-31212 Change 3865886 by Max.Chen Sequence Recorder: Log an error if the number of frames changes while recording. This can happen if the skeleton changes while recording. #jira UE-48715 Change 3866925 by Andrew.Porter MediaFrameworkTest: Changing the current PNG test video image sequence to 1024 x 576 Change 3867705 by andrew.porter QAGame: Adding Audio Sort Sequence to dev folder Change 3867890 by andrew.porter QAGame: Adding a sequence for testing a sorting crash to my dev folder Change 3872628 by Max.Chen Movie Scene Capture: Split delay before warmup into split delay before shot warmup so that there's separate controls for when the movie scene capture warmups up vs. shot boundaries. Change 3873131 by Matt.Hoffman UE-54732 - Crash reordering a folder with a track. This was caused by folders being the only type of track to check if someone was putting a parent track into a child track. Object Binding tracks and Tracks now check as well so that you can't use the above/below drop targets to add parents as children. This also fixed a typo in the localization keys. #jira UE-54732 Change 3873301 by Mike.Zyracki Added ability to support continous euler angle changes when changing rotations, in particularly with the rotation gizmo's. To do this we effectively added a form an of 'euler filter'(https://en.wikipedia.org/wiki/Euler_filter) to find the closest euler angle to the current euler angle. Three functions were added to FRotator to make this possible, one to get the euler angle that's has the same rotation as it, one to get the difference between two euler angles via Manhattan distance and a third using the previous two to choose a Rotator value that's closest to it. We then use these functions before calling UComponent::SetRelativeRotation to make sure we use the correct Euler after the Quat conversion. We also no longer limit(bound) the euler angles to -180,180, which is obviously necessary to avoid flips. I also changed how we caluclate yaw and roll when pitch is -90 or 90 to make it the standard approach of zeroing out roll and just setting yaw. Main reasons are the previous implementation had precision issues so things like 180, 90, -180 would show up due to numbers being nearly zero but negative,(this would break any smooth interpolations), and this facilitates having a 'gimbal' rotation mode (like Maya, Blender etc..) if we ever want that also. If needed we could keep the previous implementation but would need to add some FMath::IsNearlyZero checks, with less performance. Note we only do this special filtering when applying delta's to actors or components in the editors, which then call UComponent::SetRelativeRotationExact, which is a new function to foces the RelativeRotation to be equal to the new rotation. This allows us to store un-nomalized Rotators at the cost that the RotationCache may be broken. We didn't change any of the other UComponent functions that set rotations (via Quats or Transforms) so they will still be bounded and unwound. In SetInternalWorldLocationAndRotation we only set the rotation if the rotation has changed, which fixes the rotation getting changed and re-normalized if just translate happens. In TransformTrackEditor, we correclty use the bUndwing flag and in MovieScene3DTransformSection there was an un-needed winding check there, it will be unwound earlier if needed, which happens if Sequence Recording is happening. Max we should talk about what to do about this . Note the euler angle drag via the widget is still bound to 0-360. I think we should just unbound that now since the rotations value are now unbound. This review now includes fixes suggested by Zak. #jira UE-UE-22228 Change 3873483 by Matt.Hoffman Sequencer Tracks can now be inserted above the spacer at the bottom of the tree. #jira UE-54706 Change 3873899 by Max.Chen Sequencer: Add section selection throbbing Change 3873908 by Max.Chen Movie Scene Capture: Added logging per frame Change 3873924 by Matt.Hoffman Adds the ability to store Sequence Recorder setups into profiles that stay with the map and can be re-loaded later. Profiles store the Actor Recordings so the settings for each actor should carry with them. #jira UESEQ-339 Change 3874726 by Matt.Hoffman Disable drag-and-drop targets on spacers that come between rows in Sequencer. This prevents extra drag/drop targets showing up between each row. #jira UE-54706 Change 3874862 by Matt.Hoffman Audio Track no longer gets reordered when adding sub-audio tracks, as sub-tracks are no longer counted towards the sorting order index when normalizing indexes. #jira UE-54727 Change 3875905 by Matt.Hoffman Disable Fade Track UI if a fade track already exists in the sequence. #jira UESEQ-393 Change 3876163 by Max.Chen Sequencer: Swap the camera object to the camera component's owner if it's not the same. #jira UE-54874 Change 3876971 by Andrew.Porter EngineTest: Moved Media Player Seek test to new folder. Also enabled the test with new ground truth image. Change 3877040 by Max.Chen Cine Camera: Split camera properties to two groups, "Camera Options" and "Camera Settings". The cine camera now hides properties in the "Camera Settings" group so that properties like bConstrainAspectRatio (in the "Camera Options" group) can be visible. #jira UE-54192 Change 3877763 by Max.Chen Curve Editor: Fix curve changed on end drag so that only curves that had keys/tangents that were changed receive notification, otherwise all loaded curves were getting notified that they were changed. #jira UE-54951 Change 3878234 by Matt.Hoffman Disable "Drop Below" targets for Sequencer Tree nodes to prevent a confusing UX issue where dropping underneath a Object Binding Node puts it after the object binding node but the UI looks like it's inserting it inside the Object Binding node. #jira UE-54743 Change 3879359 by Mike.Zyracki If a track is inactive we dim it a bit which seems to be the UE4 way to show inactive or disabled state. We changed the active logic so that all subtracks need to be inactive for the track to also be inactive(instead of all active for active). This conforms to how the active state actually works, e.g if you have two sections and only one is active the track is still active above it. #jira UESEQ-388 Change 3879462 by Max.Chen Sequencer: Allow dragging onto a particular row which would move out any overlapping sections to make space for the newly created section. Newly created sections are now selected and throbbed to draw attention to themselves. #jira UE-54664 Change 3879464 by Max.Chen Sequencer: Fixed overlapping ranges being inserted into the evaluation field during compilation - The issue was that track segments that had been combined with adjacent segments (due to them being identical) would potentially cause a subsequently compiled frame to overlap with a range that had already been inserted into the evaluation field. - The insertion code previously asserted that only minor overlaps were catered for (due to fp rounding errors) and assumed that a supplied range could not entirely contain any other range in the field. - The solution is to supply the insertion time along with the range to know exactly where the data should live in the field, and crop the range to the maximum allowable space between adjacent ranges. #jira UE-54922 Change 3879590 by Matt.Hoffman Items that are now added to the Sequencer via the "+Track" menu will be selected after being added. Items can now be added inside of folders instead of just to the root level. #jira UE-27397 Change 3879612 by Mike.Zyracki Display Nodes with no children are always active. #jira UESEQ-388 Change 3879730 by Matt.Hoffman Sequence Recorder's actor recording groups now remove items from the group when removed via the UI. #jira UESEQ-339 Change 3880256 by Mike.Zyracki Fix issue with inactive display with folders and other track nodes. #jira UESEQ-388 Change 3883491 by Max.Chen Fix issue where tick is skipped due to last ticked pose isn't cleared after AnimInstance changes. Copy from Release-4.19 #jira UE-51323 Change 3883603 by Max.Chen Movie Scene Capture: Add option toggle disable screen percentage. By default this is on (no change in current behavior). #jira UE-51898 Change 3885074 by Max.Preussner MediaCompositing: Resetting media texture & freeing resource on section end; removed dead code Change 3887220 by Max.Preussner MediaCompositing: Defaulted media section duration to 1 sec (since we do not know the actual duration in most cases) Change 3887478 by Matt.Hoffman Sequences now show [Inactive] in their title bars when they're disabled. This helps communicate why a sequence isn't being evaluated. #jira UE-51469 Change 3888985 by Max.Chen Movie Scene Capture: Clamp HDR Compression Quality between 0 and 1. #jira UE-55136 Change 3893519 by Max.Chen Sequence Recorder: Clarified tooltip for bRecordNearbySpawnedActors - spawned actors will still be recorded if they match the ActorFilter. #jira UE-55238 Change 3893546 by Max.Chen Sequence Recorder: If a selected actor already has a recording, add a blank recording. #jira UE-55239 Change 3894044 by Max.Preussner MediaCompositing: Added support for seeking into a media section Change 3894310 by andrew.porter MediaFrameworkTest: Adding Img media sources for 1080 and 2160 ravent test content Change 3894426 by Max.Preussner MediaAssets: Letting media textures with AutoClear retain their clear color when player is reset Change 3895717 by Max.Chen Sequencer: Null checks to prevent crash when saving the default state of a spawnable #jira UE-55304 Change 3897388 by Max.Chen Sequencer: Don't update current time to be within the view range when stepping into a sequence. #jira UE-55322 Change 3897452 by Max.Chen Audio: Fix crash when trying to record audio without any active capture devices. Log warning if the number of input channels is not 1 or 2. #jira UE-55223 Change 3897619 by Max.Preussner MediaCompositing: Removed commented out code Change 3898072 by Max.Chen Sequencer: Override the animation asset in the player state if it doesn't match the animation asset that's being evaluated. #jira UE-55328 Change 3898272 by Max.Preussner MediaPlayerEditor: Made slate brush constants static Change 3898704 by Max.Chen Sequencer: Skip if the binding id's sequence can't be found. #jira UE-55337 Change 3899855 by Max.Preussner MediaCompositingEditor: Added cache state visualization to media track Change 3900300 by Max.Preussner MediaCompositingEditor: Added loop indicators to media sections Change 3900694 by Max.Preussner ImfMedia: Looping cache only when player is looping Change 3900892 by Max.Preussner Stats: Added stats category for media framework Change 3900954 by Max.Preussner MediaCompositing: Don't evaluate at the end of media section Change 3901348 by Max.Preussner Core: Replaced TLruCache autos for better readability Change 3901655 by Max.Preussner ImgMedia: Added more perf stats to EXR reader Change 3901972 by Max.Preussner MediaAssets: Added getter for media player in media sound components Change 3902233 by Max.Preussner MediaAssets: Enabling media textures to receive samples right after player is assigned Change 3902238 by Max.Preussner MediaCompositing: Working around init/shutdown idiosyncracies in sequencer Change 3904045 by Max.Chen Sequencer: Fix copy/paste crash. Only process UMovieSceneCopyableBinding and objects that can be spawned by the movie scene spawn register. #jira UE-55314 Change 3905605 by Max.Chen Sequencer: Restrict spawnables from being created if they have a ClassWithin that UMovieScene is not a child of. #jira UE-55429 Change 3906550 by Max.Chen Sequencer: Add media track icon #jira UE-55480 Change 3907101 by Max.Chen Sequence Recorder: Fix bugs related to not recording a level sequence. There were certain assumptions that creating a level sequence meant that sequence recording was in progress. This is not always the case - the recorders can record animation assets and not create a level sequence. Changed the notion of IsRecording() to having at least one actor recording that is recording. Countdown timer, recording displays, etc should function if IsRecording() and not based on whether a level sequence is created. #jira UE-55485 Change 3907247 by Max.Chen Sequence Recorder: Fix crash not removing PrepareToCleanseEditorObject delegate. Repros when opening sequence recorder, closing it, and then opening or creating a level. Change 3910343 by Max.Preussner Core: Added async helper for executing functions on a given thread pool Change 3910346 by Max.Preussner ImgMedia: Added separate thread pools for loading/decoding and deleting image frames Change 3910829 by Max.Preussner Profiler: Increased visible range of profiler graph Change 3910841 by Max.Preussner MediaCompositing: Displaying asset name instead of full media source path in media section Change 3910870 by Max.Preussner ImgMedia: Using deallocation thread pool only in debug builds Change 3919642 by Max.Chen Sequence Recorder: Clarify active tooltip #jira UE-55661 Change 3919660 by Max.Chen Sequencer: Sequence template source signatures are now also compared to catch the case where a sub-sequence asset has been saved but not modified - The following sequence of events exposes this issue: - Create a master sequence with a single shot that spawns a cube - Add this sequence to a level and set it to auto-play - Save everything and restart - Resave just the inner shot asset without opening it - PIE - The inner shot never spawns its cube because its template was wiped on save, but its signature never changed. Since the master sequence previously didn't check the template source signature, it ends up trying to evaluate an empty template. #jira UE-55626 #jira UE-55490 Change 3921825 by Max.Chen Sequencer: "Run Construction Script in Sequencer" is off by default for blueprints but on for Sequencer. This allows the content author to switch it on for specific blueprints and sequencer will be default, run those with construction scripts enabled. Change 3922232 by Max.Chen Sequence Recorder: Reset countdelay on stop. #jira UE-55755 Change 3922306 by Max.Chen Sequence Recorder: Don't automatically mark transforms to be recorded by sequence recorder. Instead, log a warning if the user toggled it off to warn that the resulting animation might not match gameplay. #jira UE-55758 Change 3922912 by Max.Chen Sequence Recorder: Fix refresh next sequence name #jira UE-55757 Change 3927654 by Max.Chen Movie Scene Capture: Added format mapping for the name of the current camera #jira UE-55769 PR #4537 Change 3927658 by Max.Chen Sequencer: Added fbx property mapping for "FocusDistance" to "FocusSettings.ManualFocusDistance" #jira UE-55782 Change 3932022 by Max.Chen Sequencer: Add import animation track section to next available row index. #jira UE-55892 Change 3933919 by Max.Chen Sequencer: Jump to playback start frame and not 0 to start playback for recording. #jira UE-55933 Change 3934307 by Andrew.Rodham Sequencer: Add template signature that is re-generated every time the base template is regenerated, which invalidates evaluation fields This fixes an issue where the same sequence is instantiated multiple times in a sequence. If the source sequence was saved, its template would be wiped, which would invalidate the template ID When an instance tries to evaluate the master template, it would only invalidate a range in the evaluation field that was the hull of any invalid sub sequences overlapping the current time, potentially leaving invalid data in the evaluation field at positions later (or earlier) on in the sequence When the sub template was re-generated, it receives the same SequenceSignature as it had before (because the sequence hasn't actually changed), which causes the stale evaluation field data to fail the IsDirty check (because the sequence is the same as it thought, but the *template* has changed) This has been addressed be adding a signature to templates themselves, and checking both the template signature and sequence signature as a part of the IsDirty check. This ensures that we regenerate if either the template, or the sequence have changed. #jira UE-55934 Change 3936327 by Andrew.Rodham Sequencer: Removed increment when trimming right UMovieSceneSection::TrimSection already explicity assigns an exclusive bound to the time passed in. The new behavior means we can trim a section to the right, and insert another section without changing the time to create adjacent sections. #jira UE-42652 Change 3936328 by Andrew.Rodham Fixed KeyFrameManipulator assignment operators and copy/move constructors - These types are potentially self-referential so cannot use default constructors/assignment Change 3936330 by Andrew.Rodham Converted UMGSequencePlayer to use frames internally #jira UE-54878 Change 3936726 by Max.Chen Sequencer: Set track node as the parent of the key area node. The key area switcher needs the object binding id from the parent object binding node. Without this, the binding to the external value fails. #jira UE-55931 Change 3936775 by Max.Chen Sequencer: Should stop or loop should compare DurationFrames with Current Time from StartTime. The bug is that if you set 30 warmup frames in movie rendering for a range of 0-100, the FrameRange will be starting at -30 and have a duration of 130. Without this fix, the playback will continue until frame 130, rather than 100. #jira UE-55933 Change 3936935 by Matt.Hoffman Easing Curves are now represented in Play Rate resolution instead of internal resolution. #jira UE-55937 Change 3937069 by Matt.Hoffman Users can toggle if the is infinite on each side, limited by which tracks support infinite ranges. #jira UE-55891 Change 3937516 by Max.Preussner ImgMedia: Added support for single-threaded platforms #jira UE-55986 Change 3937826 by Max.Preussner MediaAssets: Disabling media sound components on HTML5 if AudioMixer is not enabled Change 3937997 by Max.Chen Curve Editor: Add Zoom to Fit Curves so that selected curves from Sequencer can be focused on. Tested that undo doesn't re-zoom. #jira UE-55935 Change 3938000 by Max.Chen Sequencer: Stop all sounds before generating audio waveforms. #jira UE-55951 Change 3938376 by Max.Preussner XGEController: Disabled XGE Controller in single-threaded apps to prevent crash Change 3938444 by Max.Preussner Core: Added async support for single-threaded applications Change 3938445 by Max.Preussner Networking: Added support for single-threaded applications in UDP socket sender/receiver Change 3938447 by Max.Preussner Messaging: Added support for single-threaded applications Change 3939432 by Max.Chen Sequence Recorder: Append command list to global level editor actions so that shortcuts are accessible in level editor. #jira UE-55798 Change 3940229 by Andrew.Rodham Added prospective display rate upgrade to UMovieScene::PostLoad - There was previously some very odd behaviour that would assign the fixed frame interval only when a sub sequence was focused in SSequencer. This meant that many sequences could have a frame interval of 0 set in the data. - Under the old method of snap interval display this would have fallen back to getting the display interval from the sequencer settings, but we no longer look at these. - The USequencerSettings properties have been removed and in their place, a prospective data upgrade for sequences that have a fixed frame interval old 0fps that sets the play rate to the previous defaults based off the old USequencerSettings defaults. - This could end up 'changing' the display rate for sequences where the user has changed the snap interval in the settings for a particular sequence editor, but there's not much we can do about that given we don't have access to the USequencerSettings classes in UMovieScene #jira UE-55919 Change 3940277 by Andrew.Rodham Sequencer: Added ability to default frame resolutions and play rates for newly created actor sequences Change 3940378 by Andrew.Rodham Sequencer: Post move import dialog now defaults to the playback framerate of the sequence, and floors to frame numbers Change 3940559 by Andrew.Rodham Reinstated primed or recording sequence color Change 3940642 by Max.Preussner ImagePlate: Removed image plate media playback functionality Change 3940843 by Max.Preussner Core: Made TCircularQueue actually thread-safe; improved code comments Change 3940860 by Max.Chen Sequencer: Changed StructNameToKey to StructPathToKey Previously, keying a PropertyPath of [RenderTransform][Shear][X] would get trimmed to X, which doesn't map to a channel name as considered by Sequencer2dTransformTrackEditor. Instead, trim the resulting property path to [Shear][X] so that track editors can determine the desired struct path and channels to key. #jira UE-52966 Change 3941292 by Mike.Zyracki Fix for trajectories out of range not showing up. 1) If we had no key data we would pop the time, so wouldn't get the section ranges. 2) Calculating of upper bound was wrong, checking against -1 and not key == num of keys when doing algo::lower_bound. 3) No need to do the Bck-- for the bakward iterators since we fixed #2. We start now from the upper bound correctly. 4) If we had no keys (at section start,end) we would incorrectly say we were any key type, so since we draw constant keys as dashed we would do so incorrectly around section end points. #jira UE-55929 Change 3941424 by Max.Chen Curve Editor: Change Zoom to Fit to use TArrayView Change 3941498 by Max.Preussner Core: Added FMath::DivideAndRoundNearest function Change 3942097 by Matt.Hoffman Drop Frame Timecode Support for NTSC rates. Change 3942104 by Matt.Hoffman Sequence Recorder Group is no longer visible inside the World Outliner after using one. #jira 55266 Change 3942107 by Max.Chen Sequencer: Resurrect logic to find or extend an existing section when adding keys. Change 3942330 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942339 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942507 by Andrew.Rodham Sequencer: We no longer pad the time overlap threshold with a small number that is not scaled by the current zoom level - The presence of this pad was causing keys that were far apart to be grouped when zoomed in a long way Change 3942509 by Andrew.Rodham Sequencer: Only pad total view range, rather than section range as well when retrieving keys to render - This stops us from rendering keys that are within the view range, but outside the section range Change 3942512 by Andrew.Rodham Added transactions to some sequencer details customizations Change 3942513 by Andrew.Rodham Sequencer: Reinstated validation checks to UMovieSceneSection::SetStartFrame and SetEndFrame, changed erroneous uses to use SetRange Change 3942560 by Andrew.Rodham Pass by rvalue reference to appease error C2719 on Win32 ('InChannels': formal parameter with requested alignment of 8 won't be aligned) Change 3942697 by Andrew.Rodham Newly Created Level Sequences and Actor Sequences now default to 24000 fps frame resolution (+/- ~24hrs range, supporting all integer rates + 23.976) Change 3942700 by Andrew.Rodham Sequencer: Added legacy out-of-bounds errors for times that are not supported by the current legacy upgrade frame resolution Change 3942989 by Max.Preussner Core: Fixed circular queue count calculation Change 3943538 by Max.Preussner MediaAssets: Reverted workaround for procedural audio log spam in HTML5 (Actor component initialization cannot be skipped if the component is used in a level) Change 3944071 by Max.Preussner QAGame: Fixed Media Texture keeps last frame of Media when PIE ends #jira UE-53360 Change 3944292 by Max.Chen Sequencer: Added extra flags to ensure that asset initialization does not occur on template actor sequences #jira UE-56113 Change 3944364 by Max.Chen Sequencer: Prevent circular shot/master tracks. Tested adding master -> child -> master as drag and drop cinematic shot tracks and sub tracks as well as through the + button. #jira UE-56091 Change 3944422 by Max.Chen Sequence Recorder: Disable transform recording if off. #jira UE-56061 Change 3944745 by Andrew.Rodham Sequencer: Key rendering fixes - Fixed assert that occured when keys happened to reside on some times due to KeyTime + TimeOverlapThreshold - KeyTime being slightly larger TimeOverlapThreshold - Fixed keys sometimes being clipped when zoomed right in due to lack of half-frame offset - Added missing documentation to MovieSceneTimeHelpers.h #jira UE-56107 Change 3945231 by Andrew.Rodham Sequencer: Reconstruct channel proxy on Serialize to catch all cases of undo/redo, PostLoad and duplication #jira UE-56089 Change 3945301 by Andrew.Rodham Sequencer: Added safety checks during initial sequence recording to guard against applying negative or 0-sized sequence ranges #jira UE-56125 Change 3946627 by Max.Preussner Fortnite: Fixed game crashes closing editor while in PIE - Pure virtual function being called #jira UE-56144 [CL 3946896 by Max Chen in Main branch]
2018-03-14 22:09:33 -04:00
TRange<FFrameNumber> PlaybackRange = TimeSliderArgs.PlaybackRange.Get();
if (NewEnd >= UE::MovieScene::DiscreteInclusiveLower(PlaybackRange))
{
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 4044339) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3947021 by Max.Chen Sequencer: Don't preserve root component when copying object properties. A spawnable empty actor, has a root component that is generated by the empty actor factory. If the object template's root component is preserved when copying from the spawnable empty actor, the root component will not be copied over. Therefore, we need to NOT preserve the root component when copying object properties. #jira UE-55825 Change 3947366 by Max.Preussner WmfMedia: Better log output Change 3947367 by Max.Preussner MfMedia: Better detection of compressed format properties on Windows Change 3949102 by Max.Chen Sequencer: Remove SequenceActorTag when converting to possessable. #jira UE-56206 Change 3949207 by andrew.porter EngineTest: Set the screenshot nodes resolution to 1280x720 Change 3949404 by Max.Chen Sequencer: More informative tooltip for "Rerun Construction Scripts" option. It now says "Rerun construction scripts every frame on actors that have 'Rerun Construction Script in Sequencer' enabled in their class settings". Change 3950067 by Matt.Hoffman Renamed UAutomatedLevelSequenceCapture's StartFrame and EndFrame to CustomStartFrame/CustomEndFrame to reflect that it is user-overriden. This will also resolve upgrade issues due to the variable datatype changing. #jira UE-56189 Change 3950193 by JohnHenry.Carawon Updating my latest MovieRendering test content. Change 3950757 by JohnHenry.Carawon More updates to MovieRendering test content Change 3952059 by Max.Chen Resave LevelVisibility_SubLevels to fix data loss conversion warning of OpacityMaskConstant #jira UE-56086 Change 3952283 by Max.Chen Sequencer: Disable dropping level sequence assets as spawnables. #jira UE-56120 Change 3952422 by Max.Chen Sequence Recorder: Add button to record from the current player. #jira UE-55942 Change 3952987 by JohnHenry.Carawon MovieRendering Test Content - Fixing camera bindings and changing the override binding actor Change 3953823 by Mike.Zyracki Fix for Bad FBX Import Tangents not scaled by frame rate. After looking at this again it seems that a set of MovieScene:: overiddes for the channel traits wasn't set correctly, so use the ADL idiom to use MovieScene, which can then call Optimize in the correct namespace. With this we can now correctly use the passed in tolerance. There was also a redundant set of Optimize calls so that it could happen twice so removed them, and needed an extra check in the float channel Optimize. Also since we need to set auto tangents no matter if we optimize we don't set that parameter(though leave it since it's used by context menu key reduction). Finally fixed speed issue with trajectories caused by calculating way too many substeps. Reverted back to a time based step size for consistency. #jira UE-56193 Change 3954317 by Matt.Hoffman Adding a key to the last frame of a section no longer causes a crash. Keys can already be moved to be on the last frame of a section so now you can just add a key there directly. #jira UE-56255 Change 3954326 by Matt.Hoffman Dilating a section that is only infinite on one side no longer causes a crash. #jira UE-56260 Change 3954486 by Max.Chen PR #4580: Exposes IsReversed() from UMovieSceneSequencePlayer (Contributed by alanedwardes) Change 3955238 by Max.Preussner Messaging: Enabled delayed message routing https://github.com/EpicGames/UnrealEngine/pull/4574 #jira UE-56247 Change 3955901 by Max.Preussner MediaFrameworkTest: Added developer test for overriding desired media player plug-in at runtime. Change 3955922 by Andrew.Porter QAGame: Updating movie rendering content in dev folder Change 3956004 by andrew.porter QAGame: Adding MPC track to movie rendering test content Change 3956510 by Max.Chen Sequencer: Fix fbx camera import of static properties so that they are imported before default tracks are created. Otherwise, the default tracks inherit the default properties of the camera, rather than the values from the fbx. #jira UE-56311 Change 3957613 by Max.Preussner MediaUtils: Added code documentation to media player facade Change 3958005 by Max.Preussner MediaUtils: Added method to get number of sinks Change 3958934 by Max.Chen Sequencer: Fix keys getting added and sequence getting erroneously re-evaluated when auto key is off. Only apply defaults if there are no keys. Only modify the movie scene section before creating keys or setting defaults. #jira UE-55903 Change 3959687 by Andrew.Rodham Sequencer: Fixed visibility track external values being inverted #jira UE-56324 Change 3960507 by Max.Preussner Core: Fixed incorrect rounding in FMath::DivideAndRoundNearest Change 3962047 by JohnHenry.Carawon MovieRendering Test Content Changes: - Add Lightmass Importance Volumes to sublevel to fix warnings - Rebuilt Lighting - Add a third sequence for Gamut testing - Resaved the sound master.uasset to fix warning Change 3962211 by Mike.Zyracki Add Frame Numbers to selected animation sections. Added MapTimeToAnimation to MovieSceneSkeletalAnimation so that we could get it from the Skeleton Animation track Editor. Since the thickness of the frame line can change based upon frame rate and zoom we need to calculate it similarly to how the time slider controller does it. Those calculations were private so we had to expose FScrubRangeToScreen and GetScubberPixelRange from the TimeSliderController. Also needed to know if the section itself was selected so added a bIsSelected flag to the section Painter. Also fixed a bug where you couldn't add a section if other sections existed at different times in MovieScenePropertyTrack and could crash due to the check(). #jira UESEQ-395 Change 3962497 by Max.Preussner Core: Added new string formatting argument to FTimespan Change 3963662 by Max.Chen CineCamera: Flip VistaVision width and height. Change 3963731 by Max.Preussner MediaCompositing: Implemented sequence recording support for media track Change 3964195 by Andrew.Rodham Sequencer: Set inverted property correctly for newly created visibility track sections - Also clamp evaluation for key editors to the bounds of the section so we're not displaying values outside of the section bounds when the cursor is not on the bounds #jira UE-56324 #coderevew Max.Chen Change 3964196 by Andrew.Rodham Sequencer: Fixed crash when attempting to render sections that resulted in a negative intersection with the view range Change 3964275 by Andrew.Rodham Sequencer: Fixed MovieScene::ClampToDiscreteRange for infinite range bounds Change 3964364 by Andrew.Rodham Curve Editor: Reduce minimum vertical view range when zooming to fit Change 3965091 by Max.Chen Sequencer Recorder: Refresh next sequence if empty when starting a recording, otherwise, use existing name. #jira UE-56469 Change 3965148 by Max.Chen Sequence Recorder: Move Record to Possessable to "Actor Recording" group Change 3965162 by Max.Chen Sequence Recorder: Always break out of immersive mode when done recording, even when stopping recording during countdown. #jira UE-56407 Change 3965214 by Max.Preussner QAGame: Enabled ImagePlate plug-in Change 3965574 by Max.Preussner SimpleComposure: Reorganized & upgraded content to work with new Media Track #jira UE-56488 Change 3965651 by Max.Preussner MediaCompositing: Ignoring seek-on-open if media not seekable Change 3966075 by Christina.TempelaarL Sequencer: Added Final Cut Pro 7 XML Export functionality #jira UESEQ-358 Change 3966087 by Matt.Hoffman Adding a single key to the Particle Toggle track now makes an infinite range section that is displayed in the UI. #jira UE-56295 Change 3966547 by Andrew.Rodham Sequencer: Fixed rounding errors when drawing the section background on boolean sections - Logic was using time in sectonds which caused rounding errors on evaluation and flickering red/green stripes when dragging keys around #jira UE-56324 Change 3966563 by Andrew.Rodham Curve Editor: Key editor interface improvements - SKeyEditInterface has a few problems - it does not update in real time when editing properties, and does not support multi-edit which makes it unsuitable for use with the curve editor - We now take a different approach for editing keys by gathering a set of proxy UObjects for each key that is currently selected. These objects are added as top level objects to the details panel which means they support multi edit as you'd expect from any other details panel in the editor. - Proxy objects are updated every tick for the curve editor if they implement the ICurveEditorKeyProxy interface, which allows them to refresh their current value. - Ideally, the same mechanisms would be used in the main sequence interface, and we would be generating the proxy classes at runtime based on the key value type, but that work remains a separate task from this initial offering. #jira UE-56165 Change 3966564 by Andrew.Rodham Curve Editor: Expand to frame when adding or moving keys in the curve editor Change 3967051 by andrew.porter MediaFrameworkTest: Set the CameraPlayer_Video texture to auto clear Change 3967141 by Andrew.Rodham Sequencer: Keep track of spawned objects that have been modified and only re-save such object's default spawnable state on destruction - Now that we're taking this approach, I've remove serveral redundant bits of functionality in the spawn register such as making some spawnables read-only, and the PreSave binding for Sequencer. - We now hook into all object pre-saves to make sure we handle the case where the sequences are saved through the content browser or elsewhere. #jira UE-47686 Change 3967170 by Andrew.Rodham Sequencer: Added the ability to possess anim instances as object bindings - This allows full and direct animation of properties on UAnimInstance, and animation blueprints - Object Bindings are made by first possessing a skeletal mesh component, then choosing the + Add button where its anim instance will be listed - Added a new function to UMovieSceneSequence to gather previously cached objects that should now be invalidated. Anim instances will be re-resolved if a new UAnimInstance is assigned to USkeletalMeshComponent::GetAnimInstance. - ObjectBindingIDs for anim instances are just represented by an entry in a set of GUIDs. We only ever resolve such bindings through USkeletalMeshComponent::GetAnimInstance. - Only currently supported on LevelSequences #jira UE-56132 Change 3967195 by Max.Preussner Core: Updated TRangeSet to use TCallTraits Change 3967345 by JohnHenry.Carawon Test Content Changes - first iteration of spacing out the examples in the shots. Change 3967572 by Max.Chen Sequencer: Fix setting PreviousPlayEvalPosition until after we've tested whether it's set. #jira UE-56518 Change 3967750 by Max.Chen Audio: Set duration based on number of input channels, rather than number of channels to serialize. This fixes an issue where audio split into 2 channels is set to a duration that's twice as long. #jira UE-56430 Change 3967836 by Max.Chen Sequencer: Allow for animating array elements within ustruct properties #jira UE-55887 Change 3968506 by Matt.Hoffman Fixed ambiguous conversions for seconds and frames being overriden by ambiguous conversion to Timecode (in frames). Change 3968748 by Max.Chen Sequencer: Make the event properties submenu widget larger. #jira UE-55557 Change 3968862 by Max.Chen Sequencer: Recursive expansion when shift is down #jira UE-52139 #pr 4194 Change 3968863 by Max.Chen Sequencer: Bind rename command to selected track so that F2 shortcut start renaming #jira UE-52139 #pr 4194 Change 3968872 by Max.Chen Sequencer: Rekey the selected key at the current time. #jira UESEQ-396 Change 3968938 by Max.Chen Cine Camera: Add option to toggle the behavior of locking the rail mount to the orientation of the spline. By default, the option is off, no change in behavior. #jira UE-55815 Change 3968958 by Andrew.Rodham Sequencer: Consider vertical position when hittesting keys #jira UE-56256 Change 3969643 by Max.Preussner Core: Rounding timespans created from double values towards nearest ticks Change 3969646 by Max.Preussner MediaUtils: Implemented timeout mechanism for block-on-fetch feature Change 3969776 by Mike.Zyracki Added Skip Anim Notifiers Toggle per what was in Matinee. Investigated the Enable Root Motion toggle as also discussed but it's implementation is directly contained by the animation asset and unlike animation notifies there seems to be no exposure to interactively disable it during a playback tick. Note if we are generating thumbnails we still automtically disable notifies in the editor to avoid annoying noise playback. Note that if Enable Root Motion/Root locked is specified in the animation asset it does correctly effect the Sequencer. #jira UESEQ-399 Change 3969835 by Matt.Hoffman Playback Range and Selection Range use unified logic for adding themselves as potential snap locations which properly handles inclusive/exclusive bounds. This resolves an issue where having an unset selection range caused a potential snap location to be added on frame 0 and 1 (internal resolution) which caused a misalignment when placing objects near frame 0. This also removes the one frame offset on setting Selection Range to bring behavior inline with other ranges. #jira UE-55420 Change 3969885 by Max.Preussner MediaAssets: Don't register media player CDO with media ticker Change 3971129 by Andrew.Rodham Sequencer: Fixed UMovieSceneSequencePlayer::GotToEndAndStop() not taking into account for start time This is a remnant from when the times were always specified in 0-duration space, rather than actual sequence times. Change 3972056 by JohnHenry.Carawon More updates to Test Content. I continued spacing out the examples in the sequence so that they have a consistent number of frames between each example and during the start/end of the example. Also removed the Marcie sublevel. Change 3972066 by Andrew.Porter MediaFrameworkTest: Setting Marcie folder to be never cooked in package settings Change 3972675 by Matt.Hoffman Splitting Subsequence Sections no longer sets an incorrect playback range on the subsequence when the subsequence has a different internal resolution than the owning sequence. #jira UE-55453 Change 3973376 by Max.Preussner ImgMedia: Zero is the only valid video track for image sequences Change 3973489 by Max.Preussner Launch: Build rules cleanup pass - don't use Media, MediaUtils on server apps - don't link against Media (include-only dependency) - don't include from MediaAssets (dynamic load only) Change 3973760 by Max.Preussner MediaUtils: Moved AppMediaTimeSource implementation into its own file; added logging Change 3973765 by Max.Preussner ImgMedia: Disallowing seek beyond media length Change 3973855 by Max.Preussner MediaFrameworkTest: Updated developer test content Change 3973858 by Max.Preussner MediaCompositing: Blocking on media player time instead of media sample time (the former may not be hit in the current frame) Change 3974988 by Max.Chen Sequencer: Fix trim left so that it also sets the start offset for audio and skeletal animation sections. #jira UE-57015 Change 3976101 by Matt.Hoffman Sequencer will now focus the scroll view on newly created items. #jira UE-56492 Change 3976203 by Max.Chen Property Editor: Add DetailsViewArgs for ColumnWidth. Defaults to 0.65f, no change in existing behavior. Change 3976205 by Max.Chen Sequencer: Set better column widths for sequencer. #jira UE-55557 Change 3976206 by Max.Chen Sequencer: Added menu category for import/export Change 3976265 by Matt.Hoffman Tracks within Object Binding Nodes will now sort using the old behavior so that components are added above other track types. #jira UE-56473 Change 3976901 by Max.Chen Sequencer: Add event names to event track section #jira UESEQ-353 Change 3977878 by Max.Preussner Media: Moved media framework ticking stats into Media module Change 3977982 by Max.Chen Sequencer: Add Edit->Reset section length to duration of source (ie. audio, skeletal animation, shot length) Added MovieSceneSection::GetDefaultDuration and MovieScene::HasDefaultDuration #jira UESEQ-392 Change 3977994 by Max.Preussner Media: Fetching and rendering media samples before viewports are rendered (to ensure frame sync for in-level media playback) #jira UE-53975 Change 3978188 by Matt.Hoffman Easing Curves are now clipped by the sequence's PlayRange when testing against an infinite section. This causes blended sequences to finish their blend when the section starts/ends instead of always using 25% of the total section length to determine default blend range. #jira UE-56362 Change 3978676 by Max.Preussner MediaCompositing: Fixed first frame of rendered out media track missing #jira UE-53975 Change 3978684 by Max.Preussner MediaCompositing: Enabled media track frame sync feature #jira UE-53975 Change 3980026 by Matt.Hoffman Keys can be selected on folded out sections (such as an audio track expanded to show volume and pitch) again. #jira UE-57169 Change 3981614 by Max.Preussner MediaUtils: Added missing subtitle sample queue flush Change 3982311 by Max.Preussner MediaCompositing: Added safeguard for zero length media sources Change 3982389 by andrew.porter QAGame: Adding media track test content into FrameAccuracySubscene Change 3983661 by Max.Chen Sequencer: Add level name to spawn a spawnable into. Add sublevel menu option to set the level #jira UESEQ-390 Change 3983712 by Andrew.Rodham Sequencer: Purge legacy blueprint spawnables from LevelSequence packages #tests Ran a preflight for cooking fortnite, ocean and Orion. Only orion shows up this edge case, and will require a re-save of the EndCines level #jira UE-39173 Change 3983787 by Max.Preussner MediaCompositing: Moved compile time switch for block-on-fetch into media player facade Change 3983812 by Andrew.Rodham Sequencer: Exposed default level sequence instance data to blueprints Change 3984373 by Max.Preussner Media: Added API for quering whether player plug-in supports block on fetch Block on fetch allows Sequencer and other systems to block the game thread until a desired video frame has been decoded. Change 3984670 by JohnHenry.Carawon Movie Rendering Test Content progress. Saving the state of the content. There is a bug where things got replaced with particle emitters and I think it was because I tried to copy paste an animation track into a separate skeletal mesh track. Change 3985097 by Max.Chen Sequencer: Rename Reset to AutoSize Change GetAutoSizeDuration to return TOptional<FFrameTime> #jira UESEQ-392 Change 3986043 by Max.Chen Sequencer: Fix crash when attach/path duration is less than 0. #jira UE-57310 Change 3986373 by Max.Chen Sequencer: Add support for deleting tracks and channels which equates to setting the channel mask. #jira UE-52951 Change 3986375 by Max.Chen Sequencer: Add Create Pose Asset to skeletal animation section. This allows animators to blend animations in sequencer and create new pose assets from them. #jira UESEQ-408 Change 3986796 by Andrew.Rodham Sequencer: Fixed stale object references remaining in ULevelSequence::BindingReferences when using convert to spawnable/possessable - We used to convert objects by creating a new binding, then re-assigning its GUID, which meant we didn't have to do any further object fixup, but the code to achieve this was confusing and led to a vulnerability where object references would not be cleaned up correctly due to the newly created possessable essentially being a temporary object that's immediately thrown away. - To address this, there is now a function for porting all the contents of one object binding to another, and handles the correct fixup required for parent/child object bindings for both spawnables and possessables. - Also added codepath to remove any stale object references from the level sequence reference map on PostLoad (this piggy-backs off the PurgeLegacyBlueprints object version which is close close enough to this change to be identical) #tests Verified that existing sequences with stale references get cleaned up on load. Verified that repreatedly converting from spawnable<->possessable cleans up references correctly. Change 3987807 by JohnHenry.Carawon Updates to the MovieRendering Test Content. - Fixed the spawnable actors that were overwritten - Shortend the Lighting example and combined the Intensity and Color tracks - Organized the Sequence and WorldOutliner to group the examples. Change 3988151 by Max.Chen Cine Camera: Enable keying the "Enable Look at Tracking" toggle. Change 3988880 by Max.Chen Sequencer: Support enter to add asset for all sequencer track editors that have asset pickers. #jira UE-57367 Change 3988953 by Max.Chen Sequencer: Make the track color picker focusable so that it will close when you click away or lose focus. #jira UE-57210 Change 3988962 by Max.Chen MovieSceneCapture: Fix EDL export so that it takes into account movie scene frame resolution and desired frame rate. #jira UE-57365 Change 3988964 by Max.Chen Movie Scene Capture: Clarified tooltip for bRelativeFrameNumbers. If you specify custom start/end frames for the recording, they will be relative to the playback range. #jira UE-57308 Change 3989442 by Max.Chen Fix CIS Change 3991548 by Matt.Hoffman Dragging the time slider no longer causes the time slider to ignore snap-to-interval with "Snap to Keys While Scrubbing" when no keys are in range. #jira UE-57417 Change 3991598 by Matt.Hoffman Snap to Key while scrubbing now mirrors the behavior of "jump to next key". When there are no tracks selected it snaps to all keys and when there are tracks selected it snaps to only keys from that track. This also resolves an issue where deleting an object did not remove it from the Sequencer's selection. Undoing a delete already doesn't seem to restore your selection, so removing it from your selection shouldn't change that behavior. #jira UE-57417 Change 3991603 by Max.Chen Sequencer: Disable EditAnywhere for some section properties #jira UE-53530 Change 3992240 by Max.Preussner MediaAssets: Implemented dynamic audio sample rate adjustment based on audio/media clock drift #jira FORT-70638 Change 3992911 by Andrew.Rodham Sequencer: Fixed saving spawnable state using the wrong spawned object - We now track the object binding ID so that we can apply the spawned object to the correct spawnable when the asset is saved #jira UE-57353 Change 3992914 by Max.Chen Movie Scene Capture: Fix compression quality not being set. The compression interface wasn't being found through query interface, so no compression was being set. Reworked finding it through the output pins. Tested running various compression values. #jira-UE-55488 Change 3992919 by Max.Chen Sequencer: Convert to possessable now uses object template instead of copying properties (ie. see LevelSequenceActorSpawner). This fixes MIDs getting lost when converting to spawnable and back to possessable. #jira UE-52400 Change 3993184 by Max.Chen Sequencer: Don't show +Transform/+Path/+Attach track if the actor has the "Mobility" property hidden. Set the Landscape, LandscapeProxy and InstancedFoliage "Mobility" property to be hidden since it is static is not supposed to be dynamically movable. #jira UE-56347 Change 3993238 by Max.Chen Sequencer: Test for hidden mobility in creating keys as well. Refactored to HasHiddenMobility() #jira UE-56347 Change 3993978 by Max.Chen Cine Camera: Enable keying the "Enable Look at Tracking" toggle. #jira UE-57489 Change 3994039 by Max.Chen Landscape: Add Mobility to hidecategories on landscape component #jira UE-56347 Change 3994626 by JohnHenry.Carawon Updated Movie Rendering Test Content. - Fixed the overridden spawnables to their proper object types. Change 3994653 by Christina.TempelaarL Sequencer: Added Final Cut Pro 7 XML Import functionality, improved Export functionality #jira UESEQ-358 Change 3995609 by Max.Chen UMG: Add support for 2d transform mask (translation, rotation, scale, shear) #jira UE-52951 Change 3995778 by JohnHenry.Carawon Movie Rendering Test Content Updates - Adjusted Lights example - Adjusted Camera example - Added Marcie sublevel back in Change 3995942 by JohnHenry.Carawon QAGame: Moving Movie Rendering test content from Developer folder to Sequencer folder Also adjusted level visibility, lights and camera example. Change 3995993 by Christina.TempelaarL Sequencer: FCPXML Export updates - only export sections if in playback range and media exists, warn if media does not exist. Other updates - removed unused methods and variables, fixed message context naming to be more accurate #jira UESEQ-358 Change 3996595 by andrew.porter QAGame: Updating Marcie content in TrackEvaluation level to use Image Plate Change 3996614 by andrew.porter QAGame: Adding color test sequence to the sublevel Change 3996643 by Max.Chen Sequencer: Fix fbx animation export - rotation and scale channels were flipped. #jira UE-57509 #jira UE-57512 #jira UE-57514 Change 3996652 by Max.Preussner Messaging: Fixed delayed messaging using incorrect current time after message router sleep Based on https://github.com/EpicGames/UnrealEngine/pull/4601 Change 3996801 by Max.Chen Sequencer: Fix folder active state for non key area sections. Look at track node sections as well as key areas. #jira UE-57550 Change 3997098 by Matt.Hoffman Cleaned up some remaining ToDo's in STimeRange. Change 3998339 by Max.Preussner Sockets: Added documentation for socket receive functions Change 3998359 by Max.Preussner MediaUtils: Started to implement media recorder helper class Currently only supports BGRA frames in CPU memory. Supporting other formats and buffer types will require conversions on render-thread. I recommend refactoring out the existing conversion code in FMediaTextureResource into a reusable helper class in the MediaUtils module. This should be a good starting point though. Change 3998417 by Matt.Hoffman Keys and Sections can now be moved at the same time inside of Sequencer. Keys can now snap to Sections (and vice versa) instead of just to other Keys. Sections can now be duplicated like keys can. #jira UE-56995 Change 3998427 by JohnHenry.Carawon QAGame: Updating test content for the Movie Rendering feature. - Added an auto activate particle to the beginning of the sequence (it's not part of the sequence at all) - Added an event receiver blueprint to the Events example - Added a particle emitter to both sublevels - Added a camera cut to the end that switches to a separate camera - The camera zoom in, focus and Look At sections are all separate (not overlapping in the sequence) - Added a second actor for the camera Look At - Added a Visibility section for the Actor Hidden In Game track that has possessable and spawnable cube and light Change 3998537 by Max.Chen Sequence Recorder: Restore immersive mode when stopping the sequence even if not in PIE. #jira UE-56407 Change 3999809 by Matt.Hoffman Removed the "Go To" box from Sequencer and instead placed the current time as an always visible control. The previous shortcut (Ctrl + G) now focuses the new widget directly. #jira UESEQ-376 Change 4000543 by Christina.TempelaarL Sequencer: Moving editor-only code from runtime module MovieSceneCapture to editor module MovieSceneTools. Moved EDL and FCP XML exporters as well as Automated Level Scene Capture. #jira UESEQ-358 Change 4000706 by Matt.Hoffman Entering multiple time strings without a number no longer crashes Sequencer. #jira UE-57672 Change 4001051 by andrew.porter MediaFrameworkTest: Fixing up some image sources pointing to the wrong location Change 4001191 by andrew.porter QAGame: Adding some quick EDL/XML test content to dev folder Change 4001243 by Max.Chen Sequencer: Fix import EDL out of range. #jira UE-57665 Change 4001856 by Matt.Hoffman Selecting keys and sections at the same time now also works with animation and audio sections. #jira UE-57716 Change 4002021 by Max.Chen Sequence Recorder: Fix sequence name incrementing. If external recording sets the sequence name, use it. Otherwise, use the recording name from the recording group or the recording settings. #jira UE-57712 Change 4002618 by Max.Chen Viewport: Update the look at location when updating to a locked actor. This fixes an issue so that popping the view out of a locked actor and manipulating the view will not jump to the previous look at location. #jira UE-57725 Change 4002979 by Matt.Hoffman Fixes several edge cases with the end time range that was causing confusion about what the last frame of the sequence was. Dragging the End Frame slider will no longer be off by one tick and jumping to the end via the UI controls now properly respects snapping and stays inside the play range instead of falling outside of it. Overall behavior does not change though and End Frame should be considered an exclusive frame so that frames 0-150 results in a 150 frame long animation (which is frames 0-149). #jira UE-56367 Change 4003185 by Matt.Hoffman Fixed a regression that prevented a section from being dragged upwards past row 0 which normally resulted in all other rows moving down. #jira UE-57717 Change 4003193 by JohnHenry.Carawon QAGame: Updates to test content - Shortened frames between the examples from 95 to 30 - Separated camera setting tracks - Lighting example now switches directly from constant red - green - blue Change 4003369 by Max.Chen Sequence Recorder: Refresh next sequence regardless of internally stored sequence name. #jira UE-55757 Change 4003586 by JohnHenry.Carawon QAGame: Test Content Updates - Level Visibility track now ends to that the levels are not visible when we move to the next example - Shortened camera section, removed Z tranform so that we just move left to right and shortened the overall length Change 4004414 by Max.Chen Movie Scene Capture: Fix regression where rendering with shot handles would only render the first shot. 3972166 addressed an issue where an extra frame would be rendered by finalizing right when the end frame was reached. This was hit on the first shot end frame, so instead, do this only for when the last shot is being rendered. #jira UE-57314 Change 4004765 by Christina.TempelaarL Sequencer: Fixed bugs in FCP XML import/export. - Export: fixed sequence default resolution. - Export: fixed XML files with no shots. - Export: all sections clipped to playback range. - Export: fixed incorrect section start/end times due to precision issues. - Import: fixed incorrectly adding cinematic tracks. - Import: fixed bugs creating new sections. #jira UE-57660 #jira UE-57662 #jira UE-57655 #jira UE-57761 Change 4005119 by Max.Chen Sequencer: Export/import at play rate Change 4005195 by Max.Chen UMG: Finish UMG evaluation on stop. Added object version so that existing UMG assets do not change. #tests - Newly created UMG animation with sections set to restore state now return to their original state. Existing UMG animations with sections set to restore state do not return to their original state. #jira UE-52285 Change 4005377 by Michael.Karambelas QAGame: Moving TM-SequenceRecorder and related content out of my developer folder and into /Content/Sequencer/SequencerRecorder/* Change 4005417 by Michael.Karambelas QAGame: Fixed a BP compiler in the Level Blueprint of TM-SequencerRecorder. Change 4005634 by Michael.Karambelas QAGame: Fix up missing content and broken level sequence in TM-SequenceRecorder after move Change 4006324 by Max.Chen Sequencer: Reset if the focused movie scene is null. This fixes a crash if the user is focused in on a shot and undo takes the user past the point of where the shot was created. #jira UE-57752 #jira UE-47661 Change 4007006 by Max.Chen Sequencer: Fix FindAvailableRowIndex so that it returns the max row index (and not +1) since it doesn't find any conflicting rows. #jira UE-57717 Change 4007907 by Max.Chen Sequencer: Fix crash if there's no animation Change 4007948 by andrew.porter QAGame: added test content to dev folder for Record World Space Change 4008636 by Max.Chen Sequencer: Fix import fbx not setting values properly and creating additional cameras unncessarily. #jira UE-57864 Change 4008759 by Max.Chen Sequencer: Follow up fix for import cameras #jira UE-57864 Change 4009994 by Matt.Hoffman Dragging the left or right handles of the Time Range slider in Sequencer will now zoom your view in on the current center of the screen. This prevents the view from being translating as you tried to zoom in which caused issues at high zoom levels. #jira UESEQ-407 Change 4010169 by Christina.TempelaarL Sequencer: FCP XML fixes. - FCP XML export - no longer clips to playback range - FCP XML and EDL export - fixed missing last frame of some sections after exporting to Premiere. - Automated level capture, EDL export - use RoundToFrame instead of FloorToFrame for computing section start/end frames after frame rate conversion. #jira UE-57802 - partial fix, movie scene capture still needs to render full section rather than clip against playback. Change 4010287 by Mike.Zyracki Add quaternion interpolation option to UMovieScene3DTransformSection. This mimics how Matinee used to work by bascially finding the keys between a time and interpolating the angles as quat's between them. As noted in the code the algorithm needs to handle the case when the x,y,z Rotation keys all aren't at the same time which was not handled by Matinee. Also like Matinee, when in quaternion interoplation mode, we need to not display the function cuves since the interpolated and key values are now all different. (Would like to show them but that's a bigger refactor for perhaps just a one off needed by quaternions). I added a virtual function UMovieSceneSection::ShowCurveForChannel for this since it needs to be dynamic, not on construction of IKeyArea's, and could be useful for other sections. I could though move the method to just UMovieScene3DTransformSection and do a cast instead. Looked into doing a unit test for this but after talking with Andrew P we will work on doign an automated test in EngineQA since that will provide more coverage. Will also add a video the jira. #jira UESEQ-403 Change 4010713 by Mike.Zyracki Added option to key a group of transform channels instead of just the changed channel, or all of them. This is useful for quaternion interpolations where you want rotation keys to be aligned but also useful for other workflows like animating FK Pose to Pose. Change 4010715 by Andrew.Porter MediaFrameworkTest: Setting LogMediaUtils logging from VeryVerbose to Verbose to cut back on the spam Change 4013048 by Max.Chen Sequencer: Fix play/jump status. Update the player status for all position methods (Scrub, Jump, Play). Jump means Stopped. Correctly use PlayTo or JumpTo based on position method. In PlayInternal, JumpTo with the Stopped state (rather than playing state). #jira UE-57844 Change 4013479 by andrew.porter QAGame: Added content in TM-SequenceRecorder to test recording a property on a Cine Camera Component; Press 3 to trigger manual focus distance to increment on a timer Change 4014323 by Max.Chen Sequencer: Fix SetPlaybackPosition so that it jumps or plays based on playback status. #jira UE-57844 Change 4015888 by Max.Chen Sequencer: Fix crash on paste. UMovieSceneSections were gathered from the track node's track. For sub track mode, we want to gather only those sections on that track node row. #jira UE-57951 Change 4015943 by Max.Chen Sequencer: Fix moving shots up when the mouse pos goes outside of the virtual track area. #jira UE-57717 Change 4016293 by Max.Chen Sequencer: Fix relative frame playback end frame calculation so that custom start/end frames remain in the space of the sequence and are not relative. #jira UE-57308 Change 4017075 by Andrew.Rodham Sequencer: Corrected initial evaluation range used when calling UMovieSceneSequencPlayer::Play() Change 4017270 by Christina.TempelaarL Sequencer: FCPXML importer and movie scene capture - Use CeilToFrame when converting section start/end frame times to frame numbers in FCPXML and movie scene capture. - Added support for clip metadata in FCPXML. - Got rid of redundant TokenizedError message class, no longer needed now that FCPXML is in editor directory. - Added log messages currently commented out due to exception, still testing. #UESEQ-358 Change 4018370 by Christina.TempelaarL Sequencer: fixed FCPXML log messages regarding sections with start/end not divisible by display rate. #UESEQ-358 Change 4018378 by Christina.TempelaarL Sequencer: fixed error in previous changelist. #UESEQ-358 Change 4019457 by Max.Chen Sequencer: Show event names only when the event track is selected #jira UE-57897 Change 4022806 by Max.Chen Sequencer: Fix crash on movie scene capture dialog shutdown if movie capture wasn't even started. #jira UE-58106 Change 4022894 by Max.Chen Sequence Recorder: Wrap OpenEditorForAssets after sequence recording within GIsEditor #jira UE-58084 Change 4024487 by Max.Chen Sequencer: Add tooltip for quat interpolation #jira UE-58113 Change 4024562 by Max.Chen Sequencer: Change path/attach track sequence binding id to currently focused sequence id so that bindings can be created in subsequences Change 4027414 by JohnHenry.Carawon QAGame: Checking in content that shows a bug with using particles systems and Delay Before Shot Warm Up. Change 4028990 by Max.Chen Sequencer: Fix evaluate sub sequences in isolation. This check was added with the compile on the fly logic. Not sure why it was necessary but it seems like the sub sequence data needs to be updated in order to evaluate sub sequences in isolation. #jira UE-58184 Change 4029004 by Max.Chen Sequencer: Ensure that old binding references are removed when re-assigning actors in sequencer #jira UE-57898 Change 4030997 by JohnHenry.Carawon QAGame: Fixing name of the master sequence Change 4031785 by Michael.Karambelas QAGame: Added an instance of ThirdPerson Run to TM-SequenceRecorder for Record to Possessable test. Change 4035548 by Andrew.Rodham Sequencer: Changed FMovieSceneEvaluationTemplate::TemplateSignature to be a serial number to address non-deterministic cooking issues - This commit is related to the repro steps found in 3914599 and 3934307, both of which have been verified with this new change. - Copy of 4031684 from //Fortnite/Main/... #jira FORT-84852 Change 4036312 by Max.Chen Sequencer: Fix zoom view range so that it uses the passed in InZoomDelta Change 4036318 by Max.Chen Sequencer: Auto size now returns a range and defaults to the channel proxy range so that keyed regions can also be autosized. Change 4036322 by Max.Chen Forgot missing change Change 4036360 by Max.Chen Sequencer: Fix play rate calculation when skeletal animation section play rate changes. Change 4037163 by Mike.Zyracki Weighted Tangent Implementation Tricky thing is that you need to solve a cubic in order to get the bezier weights for the time part of the curve. See https://www.gamedev.net/forums/topic/474094-help-function-curves-for-animation-interpolation/ Maya provides an implementation in it's dev kit but I didn't use it since it was horribly slow and uses an iterative solution to solve the cubic needed. Instead I use an old algorithm (Cardano's method), to solve the cubic which should be much faster. Though relative simple to code from principles I just went ahead and used a version from Graphics Gems 1. I put this cubic solver directly in MovieSceneFloatChannel.cpp, but will need to move it when we support Rich Curve, maybe to FMath:: (which would probalby require some other functions for solving quartics, etc.. for completeness.). Also note we resolve this on every evaluation but dont' need to if the interval the time is evaluating hasn't had any change in values or tangents. So again when we support FRichCurve we can create a Weighted Evaluating class that can hold the cache. Also with the tangent drags I got rid of the Cardinal position that was used to calculate non-weight tangents from the key point and just quickly getting a direction. With weighted tangents we need to use the delta instead (otherwise when moving multiple they would all get the same weight based upon distance to the cardinal point. ) For mixed tangents types what I'm defaulting to non weighted if the interval doesn't match. May need to do weighted instead, not sure. What's left is just FBX import, for tomorrow. #jira UESEQ-76 Change 4037435 by Mike.Zyracki Fix fo build warnings from weighted tangent submission. #trivial Change 4038091 by Michael.Karambelas QAGame: Updated a Sequence Recorder group in TM-SequenceRecorder that had an actor missing the animation. Change 4038374 by Andrew.Rodham Sequencer: Refined scrubber styling for level sequences and actor sequences - Scrubber now shows a block the width of a dsplay rate frame, plus a line for the actual evaluated time. UMG reverts back to the previous styling (no block) - Keys that are outside of the playback range are now drawn with a subdued effect - Tick labels are no longer drawn when directly underneath the scrubber Change 4038490 by Max.Chen Sequencer: Expose tangent weight values in details panel. Change 4038620 by Andrew.Rodham Sequencer: Advanced time panel polish #jira UESEQ-426 Change 4038677 by Max.Chen Movie Scene Capture: Redirector for MovieSceneTools.AutomatedLevelSequenceCapture #jira UE-58248 Change 4039739 by Max.Chen Sequencer: Media track should only be supported by Level Sequence Change 4040024 by JohnHenry.Carawon QAGame: Fix EventReciever and OverrideBinding example The level sequence was set to none so the fix was to set it back to TrackEvaluation_Master. Change 4040610 by Andrew.Rodham Curve Editor: Moved weighted tangent switchers to a single toggle command (CTRL+W) and added an icon #jira 58383 Change 4040882 by Mike.Zyracki Keep broken when turning on weighted #jira UE-58435 Change 4041089 by andrew.porter QAGame: Sequence for Long Tangents bug Change 4041498 by Mike.Zyracki Turn off weighted when going auto to prevent large tangents. Do it both in UI and when doing AutoSetTangents() to really make sure it doesn't happen. #jira UE-58452 Change 4041752 by andrew.porter MediaFrameworkTest: Adding some better logging for setting rates when not supported. Also ignoring commiting URL when there is no text Change 4041896 by Matt.Hoffman The transform dialog box now transforms selected keys and sections, instead of just keys. #jira UE-58265 [CL 4044405 by Max Chen in Main branch]
2018-05-02 10:10:00 -04:00
TimeSliderArgs.OnPlaybackRangeChanged.ExecuteIfBound(TRange<FFrameNumber>(PlaybackRange.GetLowerBound(), TRangeBound<FFrameNumber>::Exclusive(NewEnd)));
}
}
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3946692) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3801826 by Max.Chen PR #4304: Level Sequence crash fix - Guarded against dereferencing null componen. (Contributed by DSDambuster) Change 3801828 by Max.Chen PR #4302: Movie Scene Visibility Template unitialised variable, causing random . (Contributed by DSDambuster) Change 3801837 by Max.Chen Sequencer: Delay spawning/construction for convert to possessable. This fixes a bug where property values would be lost when converting back and forth from possessable to spawnable. #jira UE-52400 Change 3801841 by Max.Chen Sequencer: Make spacer nodes not selectable. PR #4194: Improvements to Sequencer (Contributed by projectgheist) #jira UE-53117 #jira UE-52139 Change 3804183 by Max.Preussner MediaAssets: Added missing lock in media sound component Change 3805414 by Max.Preussner MediaAssets: Setting valid GUID when initializing media texture resource Change 3819578 by Max.Chen PR #4370: When enabling the "MovieCapture", do not turn off the Stereo-3D display. (Contributed by yehaike) #jira UE-53647 Change 3823414 by Max.Chen Curve Editor: Lock down the first and last keys in the redundant keys removal range so that they're unaffected. #jira UE-53591 Change 3826406 by Max.Chen Sequencer: Move OnStartedPlaying() to within first update in UpdateTimeCursorPosition(). This fixes an issue where setting the hud/player visibility was getting stomped on later. #jira UE-52772 Change 3827044 by Max.Preussner MediaAssets: Added sprite visualization to media sound component #jira UE-53594 Change 3827988 by Max.Preussner MediaPlayerAssets: Fixed Media Texture is not linked to Media Player when created together #jira UE-53532 Change 3828506 by Max.Preussner MediaPlayerEditor: Added attenuation visualizer for media sound components #jira UE-53594 Change 3832590 by andrew.porter EngineTest: Added a keep state check in Property Animation sequencer test Change 3833053 by andrew.porter EngineTest: Adding Hierarchical Bias test Change 3835683 by andrew.porter EngineTest: Adding UMG Animation screenshot test Change 3836076 by Max.Chen Sequencer: Fix audio volume and pitch multiplier deprecation. Change 3836230 by andrew.porter EngineTest: Adding Sequence Bone Position automation test Change 3836347 by Max.Chen Sequencer: Fixes to shot name parsing. When a shot doesn't contain a shot number, assume, [ShotName]_[TakeNumber]. When duplicating a shot, put the new shot in the same path of the original shot, so that the take numbers will increment properly. #jira UE-51868 Change 3836552 by Max.Chen Sequencer: Sub section now has a takes menu Change 3838094 by Max.Chen UMG: Fix template finish not getting called on stop. This fixes a bug where sections aren't restored when finished. #jira UE-52285 Change 3838708 by Max.Chen Sequencer: Add notification when the blend type is changed. #jira UE-54046 Change 3840295 by Max.Chen Sequencer: Fix copy/paste crash for lights #jira UE-54084 Change 3840957 by Mike.Zyracki Added Show Only Keyable and Show Only Animated to the filter list in the property editor. Added IsPropertyAnimated to IDetailKeyframe Interface which already had support for showing properties which are keyable (which is used for the key icon next to the properties.). Could have created another interface but then would have had to mimic the sequencer binding, releasing also, so this seemed best way. One issue still left is that custom built detail items currently don't store associated properties(usually) and so certain properties, in particulalry transforms, won't show up as keyable or animated. Note this also shows up with the keyable icon not showing up next to transform tracks, and other filters like Show Only Modified not working with transforms/customs. Not sure best way to tackle this. #jira UESEQ-328 Change 3841756 by Max.Chen Sequencer: Fix unbound possessable components when pasting spawnables. #jira UE-54104 Change 3843950 by andrew.porter EngineTest: Renaming LevelStreaming tests/content to LevelVisibility Change 3844082 by Mike.Zyracki Missing file for animated filter in property editor. When finding if a track is animated we need to find it but we can't easily induce the MovieTrack class for any particular property. So we don't set a class for it and just search by it's ID and name. #jira UESEQ-328 Change 3846902 by Max.Preussner ImgMedia: Fixed image media player never finished initialization if loading failed #jira UE-54247 Change 3849820 by Mike.Zyracki Reassigning deleted widgets didn't work since the menu extender mechanism needs a valid UObject in order to perform an operation on it. So to fix we replaced GetObjectBindingContextMenuExtender in WidgetBlueprint with new delegate mechanism (OnBuildCustomContextMenuForGuid) that supports FGuid in addition to UObjects which is needed to handle re-binding deleted widgets. Note that the default sequencer hacks this for replacing deleted actors in SequencerObjectBindingNode to check to see if a LevelSequence is active. We could move to this mechanism there also. #jira UE-53163 Change 3852211 by Max.Chen UMG: Indicate name of the property that is not bound. #jira UE-54350 Change 3854120 by Max.Chen Sequencer: Fix sibling folders being allowed to have the same folder name. #jira UE-54363 Change 3854627 by Max.Chen Sequencer: Step to next/previous key should work for all tracks if there aren't any selected. #jira UESEQ-391 Change 3855825 by andrew.porter EngineTest: Adding animation blending automation test Change 3855950 by andrew.porter EngineTest: Adding correct expected valuues to animation blending test Change 3856237 by Matt.Hoffman UESEQ-336 - Sequencer Track Reordering Adds the ability to re-order Master Tracks, Folders and Object Bindings within sequencer hierarchies (including UMG). Adds the ability to do a one-off sorting of the content under the old sorting behavior if the user wants to reset their layout to how it was under legacy behavior. Modifies SequencerTrackNodes, SequencerFolderNodes and SequencerObjectBindingNodes to handle CanDrop/OnDrop for above, below and ontop of. Fixes a Slate Issue that forcibly expanded a TreeviewRow if an item handled OnDrop. Slate will now only forcibly expand the row if the item says the drop happened ontop of the item, and not above or below it like it previously did. Change 3856503 by andrew.porter EngineTest: Adding automation test for using animation blueprint with blend multi node in sequencer Change 3857875 by Max.Chen Sequencer: Assign the sequence id after the template is compiled. #jira UE-54462 Change 3858344 by Max.Chen Sequencer: Prevent Goto and Transform boxes from overlapping by allowing them to be visible at the same time in an autosized horizontal box. Also, added close button to the goto box. PR #4425: Prevent Goto and Transform boxes from overlapping in Sequencer ... (Contributed by projectgheist) #jira UE-54210 Change 3860566 by andrew.porter MediaFrameworkTest: Set the option to index 0 for the audio and video track list by default Change 3860654 by andrew.porter EngineTest: Enabling Camera Cut + FOV test Change 3860981 by andrew.porter EngineTest: Updating skeletal mesh tests with a delay after set playback position Change 3861256 by Max.Chen Sequencer: Add all bindings if none selected. #jira-54440 Change 3862154 by Andrew.Rodham Added TimeManagement module Change 3862424 by andrew.porter EngineTest: Turned on the test Bone Positions with Blend Multi Node Change 3862573 by andrew.porter EngineTest: Adding test to compare bone positions in a sequence that is blending an animation that is using an AnimBP Change 3865117 by Max.Chen Sequencer: Stop auto scroll on mouse release of movement. #jira UE-31212 Change 3865303 by Max.Chen Sequencer: Add drag and drop transactions #jira UE-54662 Change 3865304 by Max.Chen Sequencer: Fix crash when an actor factory is not found. Change 3865361 by Max.Chen Sequencer: Don't change the camera/shot lock button when popping out of a sequence. #jira UE-54665 Change 3865412 by Max.Chen Sequencer: Determine whether a transform track is for a camera by using the spawned object or template #jira UE-54666 Change 3865685 by Max.Chen Sequencer: Clear autoscrub offset when stopping autoscroll #jira UE-31212 Change 3865886 by Max.Chen Sequence Recorder: Log an error if the number of frames changes while recording. This can happen if the skeleton changes while recording. #jira UE-48715 Change 3866925 by Andrew.Porter MediaFrameworkTest: Changing the current PNG test video image sequence to 1024 x 576 Change 3867705 by andrew.porter QAGame: Adding Audio Sort Sequence to dev folder Change 3867890 by andrew.porter QAGame: Adding a sequence for testing a sorting crash to my dev folder Change 3872628 by Max.Chen Movie Scene Capture: Split delay before warmup into split delay before shot warmup so that there's separate controls for when the movie scene capture warmups up vs. shot boundaries. Change 3873131 by Matt.Hoffman UE-54732 - Crash reordering a folder with a track. This was caused by folders being the only type of track to check if someone was putting a parent track into a child track. Object Binding tracks and Tracks now check as well so that you can't use the above/below drop targets to add parents as children. This also fixed a typo in the localization keys. #jira UE-54732 Change 3873301 by Mike.Zyracki Added ability to support continous euler angle changes when changing rotations, in particularly with the rotation gizmo's. To do this we effectively added a form an of 'euler filter'(https://en.wikipedia.org/wiki/Euler_filter) to find the closest euler angle to the current euler angle. Three functions were added to FRotator to make this possible, one to get the euler angle that's has the same rotation as it, one to get the difference between two euler angles via Manhattan distance and a third using the previous two to choose a Rotator value that's closest to it. We then use these functions before calling UComponent::SetRelativeRotation to make sure we use the correct Euler after the Quat conversion. We also no longer limit(bound) the euler angles to -180,180, which is obviously necessary to avoid flips. I also changed how we caluclate yaw and roll when pitch is -90 or 90 to make it the standard approach of zeroing out roll and just setting yaw. Main reasons are the previous implementation had precision issues so things like 180, 90, -180 would show up due to numbers being nearly zero but negative,(this would break any smooth interpolations), and this facilitates having a 'gimbal' rotation mode (like Maya, Blender etc..) if we ever want that also. If needed we could keep the previous implementation but would need to add some FMath::IsNearlyZero checks, with less performance. Note we only do this special filtering when applying delta's to actors or components in the editors, which then call UComponent::SetRelativeRotationExact, which is a new function to foces the RelativeRotation to be equal to the new rotation. This allows us to store un-nomalized Rotators at the cost that the RotationCache may be broken. We didn't change any of the other UComponent functions that set rotations (via Quats or Transforms) so they will still be bounded and unwound. In SetInternalWorldLocationAndRotation we only set the rotation if the rotation has changed, which fixes the rotation getting changed and re-normalized if just translate happens. In TransformTrackEditor, we correclty use the bUndwing flag and in MovieScene3DTransformSection there was an un-needed winding check there, it will be unwound earlier if needed, which happens if Sequence Recording is happening. Max we should talk about what to do about this . Note the euler angle drag via the widget is still bound to 0-360. I think we should just unbound that now since the rotations value are now unbound. This review now includes fixes suggested by Zak. #jira UE-UE-22228 Change 3873483 by Matt.Hoffman Sequencer Tracks can now be inserted above the spacer at the bottom of the tree. #jira UE-54706 Change 3873899 by Max.Chen Sequencer: Add section selection throbbing Change 3873908 by Max.Chen Movie Scene Capture: Added logging per frame Change 3873924 by Matt.Hoffman Adds the ability to store Sequence Recorder setups into profiles that stay with the map and can be re-loaded later. Profiles store the Actor Recordings so the settings for each actor should carry with them. #jira UESEQ-339 Change 3874726 by Matt.Hoffman Disable drag-and-drop targets on spacers that come between rows in Sequencer. This prevents extra drag/drop targets showing up between each row. #jira UE-54706 Change 3874862 by Matt.Hoffman Audio Track no longer gets reordered when adding sub-audio tracks, as sub-tracks are no longer counted towards the sorting order index when normalizing indexes. #jira UE-54727 Change 3875905 by Matt.Hoffman Disable Fade Track UI if a fade track already exists in the sequence. #jira UESEQ-393 Change 3876163 by Max.Chen Sequencer: Swap the camera object to the camera component's owner if it's not the same. #jira UE-54874 Change 3876971 by Andrew.Porter EngineTest: Moved Media Player Seek test to new folder. Also enabled the test with new ground truth image. Change 3877040 by Max.Chen Cine Camera: Split camera properties to two groups, "Camera Options" and "Camera Settings". The cine camera now hides properties in the "Camera Settings" group so that properties like bConstrainAspectRatio (in the "Camera Options" group) can be visible. #jira UE-54192 Change 3877763 by Max.Chen Curve Editor: Fix curve changed on end drag so that only curves that had keys/tangents that were changed receive notification, otherwise all loaded curves were getting notified that they were changed. #jira UE-54951 Change 3878234 by Matt.Hoffman Disable "Drop Below" targets for Sequencer Tree nodes to prevent a confusing UX issue where dropping underneath a Object Binding Node puts it after the object binding node but the UI looks like it's inserting it inside the Object Binding node. #jira UE-54743 Change 3879359 by Mike.Zyracki If a track is inactive we dim it a bit which seems to be the UE4 way to show inactive or disabled state. We changed the active logic so that all subtracks need to be inactive for the track to also be inactive(instead of all active for active). This conforms to how the active state actually works, e.g if you have two sections and only one is active the track is still active above it. #jira UESEQ-388 Change 3879462 by Max.Chen Sequencer: Allow dragging onto a particular row which would move out any overlapping sections to make space for the newly created section. Newly created sections are now selected and throbbed to draw attention to themselves. #jira UE-54664 Change 3879464 by Max.Chen Sequencer: Fixed overlapping ranges being inserted into the evaluation field during compilation - The issue was that track segments that had been combined with adjacent segments (due to them being identical) would potentially cause a subsequently compiled frame to overlap with a range that had already been inserted into the evaluation field. - The insertion code previously asserted that only minor overlaps were catered for (due to fp rounding errors) and assumed that a supplied range could not entirely contain any other range in the field. - The solution is to supply the insertion time along with the range to know exactly where the data should live in the field, and crop the range to the maximum allowable space between adjacent ranges. #jira UE-54922 Change 3879590 by Matt.Hoffman Items that are now added to the Sequencer via the "+Track" menu will be selected after being added. Items can now be added inside of folders instead of just to the root level. #jira UE-27397 Change 3879612 by Mike.Zyracki Display Nodes with no children are always active. #jira UESEQ-388 Change 3879730 by Matt.Hoffman Sequence Recorder's actor recording groups now remove items from the group when removed via the UI. #jira UESEQ-339 Change 3880256 by Mike.Zyracki Fix issue with inactive display with folders and other track nodes. #jira UESEQ-388 Change 3883491 by Max.Chen Fix issue where tick is skipped due to last ticked pose isn't cleared after AnimInstance changes. Copy from Release-4.19 #jira UE-51323 Change 3883603 by Max.Chen Movie Scene Capture: Add option toggle disable screen percentage. By default this is on (no change in current behavior). #jira UE-51898 Change 3885074 by Max.Preussner MediaCompositing: Resetting media texture & freeing resource on section end; removed dead code Change 3887220 by Max.Preussner MediaCompositing: Defaulted media section duration to 1 sec (since we do not know the actual duration in most cases) Change 3887478 by Matt.Hoffman Sequences now show [Inactive] in their title bars when they're disabled. This helps communicate why a sequence isn't being evaluated. #jira UE-51469 Change 3888985 by Max.Chen Movie Scene Capture: Clamp HDR Compression Quality between 0 and 1. #jira UE-55136 Change 3893519 by Max.Chen Sequence Recorder: Clarified tooltip for bRecordNearbySpawnedActors - spawned actors will still be recorded if they match the ActorFilter. #jira UE-55238 Change 3893546 by Max.Chen Sequence Recorder: If a selected actor already has a recording, add a blank recording. #jira UE-55239 Change 3894044 by Max.Preussner MediaCompositing: Added support for seeking into a media section Change 3894310 by andrew.porter MediaFrameworkTest: Adding Img media sources for 1080 and 2160 ravent test content Change 3894426 by Max.Preussner MediaAssets: Letting media textures with AutoClear retain their clear color when player is reset Change 3895717 by Max.Chen Sequencer: Null checks to prevent crash when saving the default state of a spawnable #jira UE-55304 Change 3897388 by Max.Chen Sequencer: Don't update current time to be within the view range when stepping into a sequence. #jira UE-55322 Change 3897452 by Max.Chen Audio: Fix crash when trying to record audio without any active capture devices. Log warning if the number of input channels is not 1 or 2. #jira UE-55223 Change 3897619 by Max.Preussner MediaCompositing: Removed commented out code Change 3898072 by Max.Chen Sequencer: Override the animation asset in the player state if it doesn't match the animation asset that's being evaluated. #jira UE-55328 Change 3898272 by Max.Preussner MediaPlayerEditor: Made slate brush constants static Change 3898704 by Max.Chen Sequencer: Skip if the binding id's sequence can't be found. #jira UE-55337 Change 3899855 by Max.Preussner MediaCompositingEditor: Added cache state visualization to media track Change 3900300 by Max.Preussner MediaCompositingEditor: Added loop indicators to media sections Change 3900694 by Max.Preussner ImfMedia: Looping cache only when player is looping Change 3900892 by Max.Preussner Stats: Added stats category for media framework Change 3900954 by Max.Preussner MediaCompositing: Don't evaluate at the end of media section Change 3901348 by Max.Preussner Core: Replaced TLruCache autos for better readability Change 3901655 by Max.Preussner ImgMedia: Added more perf stats to EXR reader Change 3901972 by Max.Preussner MediaAssets: Added getter for media player in media sound components Change 3902233 by Max.Preussner MediaAssets: Enabling media textures to receive samples right after player is assigned Change 3902238 by Max.Preussner MediaCompositing: Working around init/shutdown idiosyncracies in sequencer Change 3904045 by Max.Chen Sequencer: Fix copy/paste crash. Only process UMovieSceneCopyableBinding and objects that can be spawned by the movie scene spawn register. #jira UE-55314 Change 3905605 by Max.Chen Sequencer: Restrict spawnables from being created if they have a ClassWithin that UMovieScene is not a child of. #jira UE-55429 Change 3906550 by Max.Chen Sequencer: Add media track icon #jira UE-55480 Change 3907101 by Max.Chen Sequence Recorder: Fix bugs related to not recording a level sequence. There were certain assumptions that creating a level sequence meant that sequence recording was in progress. This is not always the case - the recorders can record animation assets and not create a level sequence. Changed the notion of IsRecording() to having at least one actor recording that is recording. Countdown timer, recording displays, etc should function if IsRecording() and not based on whether a level sequence is created. #jira UE-55485 Change 3907247 by Max.Chen Sequence Recorder: Fix crash not removing PrepareToCleanseEditorObject delegate. Repros when opening sequence recorder, closing it, and then opening or creating a level. Change 3910343 by Max.Preussner Core: Added async helper for executing functions on a given thread pool Change 3910346 by Max.Preussner ImgMedia: Added separate thread pools for loading/decoding and deleting image frames Change 3910829 by Max.Preussner Profiler: Increased visible range of profiler graph Change 3910841 by Max.Preussner MediaCompositing: Displaying asset name instead of full media source path in media section Change 3910870 by Max.Preussner ImgMedia: Using deallocation thread pool only in debug builds Change 3919642 by Max.Chen Sequence Recorder: Clarify active tooltip #jira UE-55661 Change 3919660 by Max.Chen Sequencer: Sequence template source signatures are now also compared to catch the case where a sub-sequence asset has been saved but not modified - The following sequence of events exposes this issue: - Create a master sequence with a single shot that spawns a cube - Add this sequence to a level and set it to auto-play - Save everything and restart - Resave just the inner shot asset without opening it - PIE - The inner shot never spawns its cube because its template was wiped on save, but its signature never changed. Since the master sequence previously didn't check the template source signature, it ends up trying to evaluate an empty template. #jira UE-55626 #jira UE-55490 Change 3921825 by Max.Chen Sequencer: "Run Construction Script in Sequencer" is off by default for blueprints but on for Sequencer. This allows the content author to switch it on for specific blueprints and sequencer will be default, run those with construction scripts enabled. Change 3922232 by Max.Chen Sequence Recorder: Reset countdelay on stop. #jira UE-55755 Change 3922306 by Max.Chen Sequence Recorder: Don't automatically mark transforms to be recorded by sequence recorder. Instead, log a warning if the user toggled it off to warn that the resulting animation might not match gameplay. #jira UE-55758 Change 3922912 by Max.Chen Sequence Recorder: Fix refresh next sequence name #jira UE-55757 Change 3927654 by Max.Chen Movie Scene Capture: Added format mapping for the name of the current camera #jira UE-55769 PR #4537 Change 3927658 by Max.Chen Sequencer: Added fbx property mapping for "FocusDistance" to "FocusSettings.ManualFocusDistance" #jira UE-55782 Change 3932022 by Max.Chen Sequencer: Add import animation track section to next available row index. #jira UE-55892 Change 3933919 by Max.Chen Sequencer: Jump to playback start frame and not 0 to start playback for recording. #jira UE-55933 Change 3934307 by Andrew.Rodham Sequencer: Add template signature that is re-generated every time the base template is regenerated, which invalidates evaluation fields This fixes an issue where the same sequence is instantiated multiple times in a sequence. If the source sequence was saved, its template would be wiped, which would invalidate the template ID When an instance tries to evaluate the master template, it would only invalidate a range in the evaluation field that was the hull of any invalid sub sequences overlapping the current time, potentially leaving invalid data in the evaluation field at positions later (or earlier) on in the sequence When the sub template was re-generated, it receives the same SequenceSignature as it had before (because the sequence hasn't actually changed), which causes the stale evaluation field data to fail the IsDirty check (because the sequence is the same as it thought, but the *template* has changed) This has been addressed be adding a signature to templates themselves, and checking both the template signature and sequence signature as a part of the IsDirty check. This ensures that we regenerate if either the template, or the sequence have changed. #jira UE-55934 Change 3936327 by Andrew.Rodham Sequencer: Removed increment when trimming right UMovieSceneSection::TrimSection already explicity assigns an exclusive bound to the time passed in. The new behavior means we can trim a section to the right, and insert another section without changing the time to create adjacent sections. #jira UE-42652 Change 3936328 by Andrew.Rodham Fixed KeyFrameManipulator assignment operators and copy/move constructors - These types are potentially self-referential so cannot use default constructors/assignment Change 3936330 by Andrew.Rodham Converted UMGSequencePlayer to use frames internally #jira UE-54878 Change 3936726 by Max.Chen Sequencer: Set track node as the parent of the key area node. The key area switcher needs the object binding id from the parent object binding node. Without this, the binding to the external value fails. #jira UE-55931 Change 3936775 by Max.Chen Sequencer: Should stop or loop should compare DurationFrames with Current Time from StartTime. The bug is that if you set 30 warmup frames in movie rendering for a range of 0-100, the FrameRange will be starting at -30 and have a duration of 130. Without this fix, the playback will continue until frame 130, rather than 100. #jira UE-55933 Change 3936935 by Matt.Hoffman Easing Curves are now represented in Play Rate resolution instead of internal resolution. #jira UE-55937 Change 3937069 by Matt.Hoffman Users can toggle if the is infinite on each side, limited by which tracks support infinite ranges. #jira UE-55891 Change 3937516 by Max.Preussner ImgMedia: Added support for single-threaded platforms #jira UE-55986 Change 3937826 by Max.Preussner MediaAssets: Disabling media sound components on HTML5 if AudioMixer is not enabled Change 3937997 by Max.Chen Curve Editor: Add Zoom to Fit Curves so that selected curves from Sequencer can be focused on. Tested that undo doesn't re-zoom. #jira UE-55935 Change 3938000 by Max.Chen Sequencer: Stop all sounds before generating audio waveforms. #jira UE-55951 Change 3938376 by Max.Preussner XGEController: Disabled XGE Controller in single-threaded apps to prevent crash Change 3938444 by Max.Preussner Core: Added async support for single-threaded applications Change 3938445 by Max.Preussner Networking: Added support for single-threaded applications in UDP socket sender/receiver Change 3938447 by Max.Preussner Messaging: Added support for single-threaded applications Change 3939432 by Max.Chen Sequence Recorder: Append command list to global level editor actions so that shortcuts are accessible in level editor. #jira UE-55798 Change 3940229 by Andrew.Rodham Added prospective display rate upgrade to UMovieScene::PostLoad - There was previously some very odd behaviour that would assign the fixed frame interval only when a sub sequence was focused in SSequencer. This meant that many sequences could have a frame interval of 0 set in the data. - Under the old method of snap interval display this would have fallen back to getting the display interval from the sequencer settings, but we no longer look at these. - The USequencerSettings properties have been removed and in their place, a prospective data upgrade for sequences that have a fixed frame interval old 0fps that sets the play rate to the previous defaults based off the old USequencerSettings defaults. - This could end up 'changing' the display rate for sequences where the user has changed the snap interval in the settings for a particular sequence editor, but there's not much we can do about that given we don't have access to the USequencerSettings classes in UMovieScene #jira UE-55919 Change 3940277 by Andrew.Rodham Sequencer: Added ability to default frame resolutions and play rates for newly created actor sequences Change 3940378 by Andrew.Rodham Sequencer: Post move import dialog now defaults to the playback framerate of the sequence, and floors to frame numbers Change 3940559 by Andrew.Rodham Reinstated primed or recording sequence color Change 3940642 by Max.Preussner ImagePlate: Removed image plate media playback functionality Change 3940843 by Max.Preussner Core: Made TCircularQueue actually thread-safe; improved code comments Change 3940860 by Max.Chen Sequencer: Changed StructNameToKey to StructPathToKey Previously, keying a PropertyPath of [RenderTransform][Shear][X] would get trimmed to X, which doesn't map to a channel name as considered by Sequencer2dTransformTrackEditor. Instead, trim the resulting property path to [Shear][X] so that track editors can determine the desired struct path and channels to key. #jira UE-52966 Change 3941292 by Mike.Zyracki Fix for trajectories out of range not showing up. 1) If we had no key data we would pop the time, so wouldn't get the section ranges. 2) Calculating of upper bound was wrong, checking against -1 and not key == num of keys when doing algo::lower_bound. 3) No need to do the Bck-- for the bakward iterators since we fixed #2. We start now from the upper bound correctly. 4) If we had no keys (at section start,end) we would incorrectly say we were any key type, so since we draw constant keys as dashed we would do so incorrectly around section end points. #jira UE-55929 Change 3941424 by Max.Chen Curve Editor: Change Zoom to Fit to use TArrayView Change 3941498 by Max.Preussner Core: Added FMath::DivideAndRoundNearest function Change 3942097 by Matt.Hoffman Drop Frame Timecode Support for NTSC rates. Change 3942104 by Matt.Hoffman Sequence Recorder Group is no longer visible inside the World Outliner after using one. #jira 55266 Change 3942107 by Max.Chen Sequencer: Resurrect logic to find or extend an existing section when adding keys. Change 3942330 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942339 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942507 by Andrew.Rodham Sequencer: We no longer pad the time overlap threshold with a small number that is not scaled by the current zoom level - The presence of this pad was causing keys that were far apart to be grouped when zoomed in a long way Change 3942509 by Andrew.Rodham Sequencer: Only pad total view range, rather than section range as well when retrieving keys to render - This stops us from rendering keys that are within the view range, but outside the section range Change 3942512 by Andrew.Rodham Added transactions to some sequencer details customizations Change 3942513 by Andrew.Rodham Sequencer: Reinstated validation checks to UMovieSceneSection::SetStartFrame and SetEndFrame, changed erroneous uses to use SetRange Change 3942560 by Andrew.Rodham Pass by rvalue reference to appease error C2719 on Win32 ('InChannels': formal parameter with requested alignment of 8 won't be aligned) Change 3942697 by Andrew.Rodham Newly Created Level Sequences and Actor Sequences now default to 24000 fps frame resolution (+/- ~24hrs range, supporting all integer rates + 23.976) Change 3942700 by Andrew.Rodham Sequencer: Added legacy out-of-bounds errors for times that are not supported by the current legacy upgrade frame resolution Change 3942989 by Max.Preussner Core: Fixed circular queue count calculation Change 3943538 by Max.Preussner MediaAssets: Reverted workaround for procedural audio log spam in HTML5 (Actor component initialization cannot be skipped if the component is used in a level) Change 3944071 by Max.Preussner QAGame: Fixed Media Texture keeps last frame of Media when PIE ends #jira UE-53360 Change 3944292 by Max.Chen Sequencer: Added extra flags to ensure that asset initialization does not occur on template actor sequences #jira UE-56113 Change 3944364 by Max.Chen Sequencer: Prevent circular shot/master tracks. Tested adding master -> child -> master as drag and drop cinematic shot tracks and sub tracks as well as through the + button. #jira UE-56091 Change 3944422 by Max.Chen Sequence Recorder: Disable transform recording if off. #jira UE-56061 Change 3944745 by Andrew.Rodham Sequencer: Key rendering fixes - Fixed assert that occured when keys happened to reside on some times due to KeyTime + TimeOverlapThreshold - KeyTime being slightly larger TimeOverlapThreshold - Fixed keys sometimes being clipped when zoomed right in due to lack of half-frame offset - Added missing documentation to MovieSceneTimeHelpers.h #jira UE-56107 Change 3945231 by Andrew.Rodham Sequencer: Reconstruct channel proxy on Serialize to catch all cases of undo/redo, PostLoad and duplication #jira UE-56089 Change 3945301 by Andrew.Rodham Sequencer: Added safety checks during initial sequence recording to guard against applying negative or 0-sized sequence ranges #jira UE-56125 Change 3946627 by Max.Preussner Fortnite: Fixed game crashes closing editor while in PIE - Pure virtual function being called #jira UE-56144 [CL 3946896 by Max Chen in Main branch]
2018-03-14 22:09:33 -04:00
void FSequencerTimeSliderController::SetSelectionRangeStart(FFrameNumber NewStart)
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3178529) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3149443 on 2016/10/03 by Max.Preussner MediaAssets: Better parameter names for MediaPlayer BP functions Change 3149756 on 2016/10/03 by Max.Chen Sequence Recorder: Set some settings to be clamped at 0 (sequence length, recording delay, audio gain, audio input buffer size, nearby actor recording proximity) #jira UE-35233 Change 3149795 on 2016/10/03 by Max.Chen Curve Editor: Set tangent to user when flattening or straightening tangents only when the tangent mode is auto and the interp mode is cubic. #jira UE-36734 Change 3150378 on 2016/10/04 by Max.Preussner PS4Media: Made video buffer sizes for file and HLS sources configurable (UE-36807) #jira UE-36807 Change 3151414 on 2016/10/05 by Max.Chen Sequencer: Fix case where restoring the last view target was getting skipped. It should always restore if the camera object and the unlock if camera actor object is null. #jira UE-35285 Change 3152038 on 2016/10/05 by Max.Preussner UdpMessaging: Code & documentation modernization pass Change 3152471 on 2016/10/05 by Max.Chen Cine Camera: Don't enable/disable actor ticking based soley on actor tracking since actor ticking is needed for other purposes. Instead, always enable actor ticking and only update actor tracking on tick if necessary. This fixes a bug where the cine camera actor won't tick if you hook in event tick. #jira UE-36625 Change 3152692 on 2016/10/05 by Max.Preussner Messaging: API code & documentation modernization pass Mostly removed shared pointer/ref typedefs as they prevent forward declarations and increase include complexity. Change 3153824 on 2016/10/06 by Max.Preussner Messaging: Renamed IConnectionBasedMessagingModule to ITcpMessagingModule and moved it into TcpMessaging I recommend that we refactor this API. The dependency should be reversed, i.e. instead of AndroidDeviceDiscovery depending on the TcpMessaging plug-in module, the Engine should provide a central registry that device discovery modules can notify, and that message transport plug-ins can register with and listen to OnConnectionAdded/Removed events etc. That way it supports an arbitrary number of transport plug-ins, and the Engine is not coupled to any of them. This functionality is not necessarily related to messaging, and the Messaging API is transport agnostic anyway. I'll think about this some more. Change 3153826 on 2016/10/06 by Max.Preussner Messaging: Removed remaining typedefs in IMessageTracer to enable forward declaration and reduce include dependencies Change 3153857 on 2016/10/06 by Max.Chen Sequencer: Set snap time to dragged key on by default. Change 3153980 on 2016/10/06 by Max.Preussner SessionServices: Removed typedefs; code and documentation modernization pass Change 3154313 on 2016/10/06 by Max.Chen Sequencer: Set the paste keys time to the current time, rather than the mouse time. Change 3154332 on 2016/10/06 by Max.Chen Sequencer: Remove click to rename shot functionality in the shot thumbnail. Added rename shot to the shot context menu. Change 3154377 on 2016/10/07 by Max.Chen Sequencer: Add ability to step to beginning and ends of sections/shots using the hotkeys: , and . Change 3154788 on 2016/10/07 by Max.Chen Sequencer: Fix offsets that created when moving multiple sections. The offsets were being created because section bounds were being generated for all sections except for the current section. Instead, they should be computed for all sections except for any that aren't being moved. #jira UE-29152 Change 3159274 on 2016/10/11 by Max.Preussner Core: Documentation fixes Change 3159275 on 2016/10/11 by Max.Preussner UdpMessaging: Added missing header Change 3160746 on 2016/10/12 by Max.Preussner MediaAssets: Added BP functions to query width, height, and aspect ratio of UMediaTexture instances #jira UE-37241 Change 3160975 on 2016/10/12 by Max.Preussner PS4Media: Better logging for SetRate failures Change 3160995 on 2016/10/12 by Max.Preussner MediaPlayerEditor: Fixed Media player selection is ignored if media specifies player overrides (UE-37248) #jira UE-37248 Change 3161066 on 2016/10/12 by Max.Preussner PS4Media: Enforcing minimum 8 byte alignment for media allocations Change 3161069 on 2016/10/12 by Max.Preussner PS4Media: Fixed log spam when setting play rate to current rate Change 3162567 on 2016/10/13 by Max.Preussner PS4Media: Made track switching code more readable Change 3163447 on 2016/10/14 by Max.Preussner PS4Media: Fixed array out of bounds assertions Change 3163772 on 2016/10/14 by Max.Preussner MfMedia: Fixed a number of timing related issues Change 3163980 on 2016/10/15 by Max.Chen Sequencer: Remove folder name numeric padding so that the naming convention is similar to creating objects in the level. Change 3164581 on 2016/10/17 by Andrew.Rodham Sequencer: Ensure global pre-animated state is restored in reverse order Change 3164582 on 2016/10/17 by Andrew.Rodham Sequencer: Ensure pre animated state is restored for all actor components before saving default state Change 3164583 on 2016/10/17 by Andrew.Rodham Sequencer: Re-enabled support for pre and post roll Change 3165464 on 2016/10/17 by Max.Chen Sequencer: Default number frame handles to 0 so that there's no change in behavior when rendering out a master sequence of shots. Handle frames need to enabled explicitly by the user. Copy from Release-4.14 #jira UE-37416 Change 3165483 on 2016/10/17 by Max.Chen Sequencer: Enable restore state for attach section completion Change 3165771 on 2016/10/18 by Andrew.Rodham Sequencer: Force evaluate when rendering thumbnails #jira UE-37321 Change 3166057 on 2016/10/18 by Andrew.Rodham Sequencer: Only set defaults for tracks that have no keys, and where the requested default has changed #jira UE-37285 Change 3166218 on 2016/10/18 by Max.Preussner MediaPlayerEditor: Failure opening media, even though it opened successfully (UE-37470) #jira UE-37470 Change 3166247 on 2016/10/18 by Max.Preussner WmfMedia: Showing progress bar while media is being resolved Change 3166289 on 2016/10/18 by Max.Preussner MfMedia: Showing progress bar while media is being resolved Change 3166993 on 2016/10/18 by Max.Preussner MfMedia: Fixed info string not reset on media close. Change 3166999 on 2016/10/19 by Max.Preussner Media: Fixed NV12 and NV21 support Change 3167008 on 2016/10/19 by Max.Preussner Media: Removed vertical NV12 alignment Change 3167029 on 2016/10/19 by Max.Preussner WmfMedia: Temp fix for RGB32 encoded AVIs rendering upside-down and too bright (UE-37505) #jira UE-37505 Change 3168593 on 2016/10/19 by Max.Chen Sequencer: Change paste at time to local time, so that the paste happens in the local time of the sequence rather than the global time if pasting in a shot level sequence. Change 3168626 on 2016/10/19 by Max.Chen Sequencer: Clamp to view bounds should snap to frame if frame snapping is on. Change 3168627 on 2016/10/19 by Max.Chen Sequencer: Initialize working and view range to be 10% larger than playback range. Change 3168760 on 2016/10/20 by Max.Preussner Media: Revamped media texture buffer management to support padded frames Added support for Windows bitmap buffers. Fixed a number of format, conversion and/or looping issues in WmfMedia and MfMedia. Not all shaders have been updated yet. Change 3169640 on 2016/10/20 by Max.Chen Sequencer: Add current camera to FLevelSequencePlayerSnapshot. Adjust DefaultBurnIn to include a few more parameters like focal length and focus distance. #jira UE-37407 Change 3170677 on 2016/10/21 by Max.Chen Movie Scene Capture: Add toggle to override engine scalability settings to cinematic scalability. #jira UE-36560 Change 3170710 on 2016/10/21 by Max.Preussner Media: Optimized handling of RGB input Change 3170712 on 2016/10/21 by Max.Preussner Media: Fixed NV21 conversion shader scaling Change 3170923 on 2016/10/21 by Max.Preussner UBT: Copied XboxOne project generator fix from Fortnite CL# 3170868 Change 3171494 on 2016/10/23 by Max.Chen Sequencer: Fix fbx export from master sequence not finding bound objects. #jira UE-35752 Change 3171506 on 2016/10/23 by Max.Chen Sequencer: Draw where in and out points of the shot section are, just like subsequences do. Change to only draw the green starting line if StartOffset is negative. #jira UE-35473 Change 3171743 on 2016/10/24 by Andrew.Rodham Editor: Added support for detail customizations on root structs - Also added the ability to add external struct data onto a detail category builder, and property type customization. Change 3171752 on 2016/10/24 by Andrew.Rodham Sequencer: Fixed spawnable ownership - Spawnables are no longer destroyed when the cursor leaves the master playback range. - Spawnable ownership now operates as it previously did before the evaluation rework. - bIgnoreOwnershipInEditor has been removed since its existence was a work around for when we didn't evaluate sub sequences from the master sequence. - FMovieSceneSequenceID is now a struct so that it can be used in array properties - Meta data now exists for each segment of an evaluation field. Currently this only includes the sub sequence IDs that exist at that time, but it may be expanded to include all evaluation entities (tracks + sections) in future so we don't have to calculate that at runtime. Change 3171756 on 2016/10/24 by Andrew.Rodham Sequencer: Added ability to trigger events with parameters - It's now possible to supply an event payload on event track keys which are to be passed to a given event. The structure must match the signature of the event, or a warning will be emitted. - Added a templated TGenericKeyArea, TKeyFrameManipulator and TCurveInterface that allow to generic manipulation of keyframe section data. In time we will port the other key areas over to this representation. - This new architecture affords the common manipulation of time-based keyframes in a value-agnostic manner. Change 3172935 on 2016/10/24 by Max.Preussner MediaPlayerEditor: Fixed MediaPlayer asset not being dirtied when creating media sound wave or texture for it Change 3173947 on 2016/10/25 by Max.Preussner SlateRemote: Disabled plug-in, but enabled server by default Change 3174510 on 2016/10/26 by Max.Chen Sequencer: Fix slomo track crash #jira UE-37802 Change 3174698 on 2016/10/26 by Andrew.Rodham UMG: Fixed objects bound to a panel slot animating their slot's content instead of the slot itself #jira UE-37775 Change 3174780 on 2016/10/26 by Max.Preussner MediaAssets: Accepting decoder defined buffer dimensions for RGB buffers Change 3174789 on 2016/10/26 by Max.Preussner MediaPlayerEditor: Showing desired player name instead of current player name if no media loaded Change 3174817 on 2016/10/26 by Max.Preussner WmfMedia: Added support for Motion JPEG (MJPG) Change 3174825 on 2016/10/26 by Max.Preussner WmfMedia: Added support for non-RGB32 uncompressed formats Change 3174834 on 2016/10/26 by Max.Preussner MediaPlayerAssets: Allow pausing while buffering media Change 3174886 on 2016/10/26 by Andrew.Rodham Core: Fixed range test that was testing incorrect behavior Change 3174889 on 2016/10/26 by Andrew.Rodham Sequencer: Fixed AssignActor behavior - Also ensure that cached object state is invalidated when playback context changes #jira UE-37798 Change 3174905 on 2016/10/26 by Andrew.Rodham Sequencer: Changed assert when failing to create an audio component to a log message - Audio no longer plays when GEngine->UseSound() is false #jira UE-37772 Change 3174980 on 2016/10/26 by Andrew.Rodham Sequencer: Remove warning when event endpoint could not be found for a given context #jira UE-37824 Change 3175001 on 2016/10/26 by Andrew.Rodham Sequencer: Evaluate sequence with EMovieScenePlaybackStatus::Jumping on Pause. - Also protect Pause() against reentrancy when being called from an event Change 3175012 on 2016/10/26 by Max.Chen Sequence Recorder: Fixes an empty working and view range after recording. On StopRecording() update playback range after nullifying the current sequence so that the playback range isn't empty. Added SetViewRange and SetWorkingRange. #jira UE-34191 Change 3177760 on 2016/10/28 by Max.Chen Sequence Recorder: Don't update the current sequence name if it's already set. This fixes a bug where if you pass in a sequence name to record to, it gets reset to the name in the sequence recorder settings. #jira UE-37808 Change 3178529 on 2016/10/28 by Max.Chen Matinee to Level Sequence: Added interface to extend the matinee to level sequence converter #jira UE-37328 #2864 [CL 3178562 by Max Chen in Main branch]
2016-10-28 15:04:38 -04:00
{
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3946692) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3801826 by Max.Chen PR #4304: Level Sequence crash fix - Guarded against dereferencing null componen. (Contributed by DSDambuster) Change 3801828 by Max.Chen PR #4302: Movie Scene Visibility Template unitialised variable, causing random . (Contributed by DSDambuster) Change 3801837 by Max.Chen Sequencer: Delay spawning/construction for convert to possessable. This fixes a bug where property values would be lost when converting back and forth from possessable to spawnable. #jira UE-52400 Change 3801841 by Max.Chen Sequencer: Make spacer nodes not selectable. PR #4194: Improvements to Sequencer (Contributed by projectgheist) #jira UE-53117 #jira UE-52139 Change 3804183 by Max.Preussner MediaAssets: Added missing lock in media sound component Change 3805414 by Max.Preussner MediaAssets: Setting valid GUID when initializing media texture resource Change 3819578 by Max.Chen PR #4370: When enabling the "MovieCapture", do not turn off the Stereo-3D display. (Contributed by yehaike) #jira UE-53647 Change 3823414 by Max.Chen Curve Editor: Lock down the first and last keys in the redundant keys removal range so that they're unaffected. #jira UE-53591 Change 3826406 by Max.Chen Sequencer: Move OnStartedPlaying() to within first update in UpdateTimeCursorPosition(). This fixes an issue where setting the hud/player visibility was getting stomped on later. #jira UE-52772 Change 3827044 by Max.Preussner MediaAssets: Added sprite visualization to media sound component #jira UE-53594 Change 3827988 by Max.Preussner MediaPlayerAssets: Fixed Media Texture is not linked to Media Player when created together #jira UE-53532 Change 3828506 by Max.Preussner MediaPlayerEditor: Added attenuation visualizer for media sound components #jira UE-53594 Change 3832590 by andrew.porter EngineTest: Added a keep state check in Property Animation sequencer test Change 3833053 by andrew.porter EngineTest: Adding Hierarchical Bias test Change 3835683 by andrew.porter EngineTest: Adding UMG Animation screenshot test Change 3836076 by Max.Chen Sequencer: Fix audio volume and pitch multiplier deprecation. Change 3836230 by andrew.porter EngineTest: Adding Sequence Bone Position automation test Change 3836347 by Max.Chen Sequencer: Fixes to shot name parsing. When a shot doesn't contain a shot number, assume, [ShotName]_[TakeNumber]. When duplicating a shot, put the new shot in the same path of the original shot, so that the take numbers will increment properly. #jira UE-51868 Change 3836552 by Max.Chen Sequencer: Sub section now has a takes menu Change 3838094 by Max.Chen UMG: Fix template finish not getting called on stop. This fixes a bug where sections aren't restored when finished. #jira UE-52285 Change 3838708 by Max.Chen Sequencer: Add notification when the blend type is changed. #jira UE-54046 Change 3840295 by Max.Chen Sequencer: Fix copy/paste crash for lights #jira UE-54084 Change 3840957 by Mike.Zyracki Added Show Only Keyable and Show Only Animated to the filter list in the property editor. Added IsPropertyAnimated to IDetailKeyframe Interface which already had support for showing properties which are keyable (which is used for the key icon next to the properties.). Could have created another interface but then would have had to mimic the sequencer binding, releasing also, so this seemed best way. One issue still left is that custom built detail items currently don't store associated properties(usually) and so certain properties, in particulalry transforms, won't show up as keyable or animated. Note this also shows up with the keyable icon not showing up next to transform tracks, and other filters like Show Only Modified not working with transforms/customs. Not sure best way to tackle this. #jira UESEQ-328 Change 3841756 by Max.Chen Sequencer: Fix unbound possessable components when pasting spawnables. #jira UE-54104 Change 3843950 by andrew.porter EngineTest: Renaming LevelStreaming tests/content to LevelVisibility Change 3844082 by Mike.Zyracki Missing file for animated filter in property editor. When finding if a track is animated we need to find it but we can't easily induce the MovieTrack class for any particular property. So we don't set a class for it and just search by it's ID and name. #jira UESEQ-328 Change 3846902 by Max.Preussner ImgMedia: Fixed image media player never finished initialization if loading failed #jira UE-54247 Change 3849820 by Mike.Zyracki Reassigning deleted widgets didn't work since the menu extender mechanism needs a valid UObject in order to perform an operation on it. So to fix we replaced GetObjectBindingContextMenuExtender in WidgetBlueprint with new delegate mechanism (OnBuildCustomContextMenuForGuid) that supports FGuid in addition to UObjects which is needed to handle re-binding deleted widgets. Note that the default sequencer hacks this for replacing deleted actors in SequencerObjectBindingNode to check to see if a LevelSequence is active. We could move to this mechanism there also. #jira UE-53163 Change 3852211 by Max.Chen UMG: Indicate name of the property that is not bound. #jira UE-54350 Change 3854120 by Max.Chen Sequencer: Fix sibling folders being allowed to have the same folder name. #jira UE-54363 Change 3854627 by Max.Chen Sequencer: Step to next/previous key should work for all tracks if there aren't any selected. #jira UESEQ-391 Change 3855825 by andrew.porter EngineTest: Adding animation blending automation test Change 3855950 by andrew.porter EngineTest: Adding correct expected valuues to animation blending test Change 3856237 by Matt.Hoffman UESEQ-336 - Sequencer Track Reordering Adds the ability to re-order Master Tracks, Folders and Object Bindings within sequencer hierarchies (including UMG). Adds the ability to do a one-off sorting of the content under the old sorting behavior if the user wants to reset their layout to how it was under legacy behavior. Modifies SequencerTrackNodes, SequencerFolderNodes and SequencerObjectBindingNodes to handle CanDrop/OnDrop for above, below and ontop of. Fixes a Slate Issue that forcibly expanded a TreeviewRow if an item handled OnDrop. Slate will now only forcibly expand the row if the item says the drop happened ontop of the item, and not above or below it like it previously did. Change 3856503 by andrew.porter EngineTest: Adding automation test for using animation blueprint with blend multi node in sequencer Change 3857875 by Max.Chen Sequencer: Assign the sequence id after the template is compiled. #jira UE-54462 Change 3858344 by Max.Chen Sequencer: Prevent Goto and Transform boxes from overlapping by allowing them to be visible at the same time in an autosized horizontal box. Also, added close button to the goto box. PR #4425: Prevent Goto and Transform boxes from overlapping in Sequencer ... (Contributed by projectgheist) #jira UE-54210 Change 3860566 by andrew.porter MediaFrameworkTest: Set the option to index 0 for the audio and video track list by default Change 3860654 by andrew.porter EngineTest: Enabling Camera Cut + FOV test Change 3860981 by andrew.porter EngineTest: Updating skeletal mesh tests with a delay after set playback position Change 3861256 by Max.Chen Sequencer: Add all bindings if none selected. #jira-54440 Change 3862154 by Andrew.Rodham Added TimeManagement module Change 3862424 by andrew.porter EngineTest: Turned on the test Bone Positions with Blend Multi Node Change 3862573 by andrew.porter EngineTest: Adding test to compare bone positions in a sequence that is blending an animation that is using an AnimBP Change 3865117 by Max.Chen Sequencer: Stop auto scroll on mouse release of movement. #jira UE-31212 Change 3865303 by Max.Chen Sequencer: Add drag and drop transactions #jira UE-54662 Change 3865304 by Max.Chen Sequencer: Fix crash when an actor factory is not found. Change 3865361 by Max.Chen Sequencer: Don't change the camera/shot lock button when popping out of a sequence. #jira UE-54665 Change 3865412 by Max.Chen Sequencer: Determine whether a transform track is for a camera by using the spawned object or template #jira UE-54666 Change 3865685 by Max.Chen Sequencer: Clear autoscrub offset when stopping autoscroll #jira UE-31212 Change 3865886 by Max.Chen Sequence Recorder: Log an error if the number of frames changes while recording. This can happen if the skeleton changes while recording. #jira UE-48715 Change 3866925 by Andrew.Porter MediaFrameworkTest: Changing the current PNG test video image sequence to 1024 x 576 Change 3867705 by andrew.porter QAGame: Adding Audio Sort Sequence to dev folder Change 3867890 by andrew.porter QAGame: Adding a sequence for testing a sorting crash to my dev folder Change 3872628 by Max.Chen Movie Scene Capture: Split delay before warmup into split delay before shot warmup so that there's separate controls for when the movie scene capture warmups up vs. shot boundaries. Change 3873131 by Matt.Hoffman UE-54732 - Crash reordering a folder with a track. This was caused by folders being the only type of track to check if someone was putting a parent track into a child track. Object Binding tracks and Tracks now check as well so that you can't use the above/below drop targets to add parents as children. This also fixed a typo in the localization keys. #jira UE-54732 Change 3873301 by Mike.Zyracki Added ability to support continous euler angle changes when changing rotations, in particularly with the rotation gizmo's. To do this we effectively added a form an of 'euler filter'(https://en.wikipedia.org/wiki/Euler_filter) to find the closest euler angle to the current euler angle. Three functions were added to FRotator to make this possible, one to get the euler angle that's has the same rotation as it, one to get the difference between two euler angles via Manhattan distance and a third using the previous two to choose a Rotator value that's closest to it. We then use these functions before calling UComponent::SetRelativeRotation to make sure we use the correct Euler after the Quat conversion. We also no longer limit(bound) the euler angles to -180,180, which is obviously necessary to avoid flips. I also changed how we caluclate yaw and roll when pitch is -90 or 90 to make it the standard approach of zeroing out roll and just setting yaw. Main reasons are the previous implementation had precision issues so things like 180, 90, -180 would show up due to numbers being nearly zero but negative,(this would break any smooth interpolations), and this facilitates having a 'gimbal' rotation mode (like Maya, Blender etc..) if we ever want that also. If needed we could keep the previous implementation but would need to add some FMath::IsNearlyZero checks, with less performance. Note we only do this special filtering when applying delta's to actors or components in the editors, which then call UComponent::SetRelativeRotationExact, which is a new function to foces the RelativeRotation to be equal to the new rotation. This allows us to store un-nomalized Rotators at the cost that the RotationCache may be broken. We didn't change any of the other UComponent functions that set rotations (via Quats or Transforms) so they will still be bounded and unwound. In SetInternalWorldLocationAndRotation we only set the rotation if the rotation has changed, which fixes the rotation getting changed and re-normalized if just translate happens. In TransformTrackEditor, we correclty use the bUndwing flag and in MovieScene3DTransformSection there was an un-needed winding check there, it will be unwound earlier if needed, which happens if Sequence Recording is happening. Max we should talk about what to do about this . Note the euler angle drag via the widget is still bound to 0-360. I think we should just unbound that now since the rotations value are now unbound. This review now includes fixes suggested by Zak. #jira UE-UE-22228 Change 3873483 by Matt.Hoffman Sequencer Tracks can now be inserted above the spacer at the bottom of the tree. #jira UE-54706 Change 3873899 by Max.Chen Sequencer: Add section selection throbbing Change 3873908 by Max.Chen Movie Scene Capture: Added logging per frame Change 3873924 by Matt.Hoffman Adds the ability to store Sequence Recorder setups into profiles that stay with the map and can be re-loaded later. Profiles store the Actor Recordings so the settings for each actor should carry with them. #jira UESEQ-339 Change 3874726 by Matt.Hoffman Disable drag-and-drop targets on spacers that come between rows in Sequencer. This prevents extra drag/drop targets showing up between each row. #jira UE-54706 Change 3874862 by Matt.Hoffman Audio Track no longer gets reordered when adding sub-audio tracks, as sub-tracks are no longer counted towards the sorting order index when normalizing indexes. #jira UE-54727 Change 3875905 by Matt.Hoffman Disable Fade Track UI if a fade track already exists in the sequence. #jira UESEQ-393 Change 3876163 by Max.Chen Sequencer: Swap the camera object to the camera component's owner if it's not the same. #jira UE-54874 Change 3876971 by Andrew.Porter EngineTest: Moved Media Player Seek test to new folder. Also enabled the test with new ground truth image. Change 3877040 by Max.Chen Cine Camera: Split camera properties to two groups, "Camera Options" and "Camera Settings". The cine camera now hides properties in the "Camera Settings" group so that properties like bConstrainAspectRatio (in the "Camera Options" group) can be visible. #jira UE-54192 Change 3877763 by Max.Chen Curve Editor: Fix curve changed on end drag so that only curves that had keys/tangents that were changed receive notification, otherwise all loaded curves were getting notified that they were changed. #jira UE-54951 Change 3878234 by Matt.Hoffman Disable "Drop Below" targets for Sequencer Tree nodes to prevent a confusing UX issue where dropping underneath a Object Binding Node puts it after the object binding node but the UI looks like it's inserting it inside the Object Binding node. #jira UE-54743 Change 3879359 by Mike.Zyracki If a track is inactive we dim it a bit which seems to be the UE4 way to show inactive or disabled state. We changed the active logic so that all subtracks need to be inactive for the track to also be inactive(instead of all active for active). This conforms to how the active state actually works, e.g if you have two sections and only one is active the track is still active above it. #jira UESEQ-388 Change 3879462 by Max.Chen Sequencer: Allow dragging onto a particular row which would move out any overlapping sections to make space for the newly created section. Newly created sections are now selected and throbbed to draw attention to themselves. #jira UE-54664 Change 3879464 by Max.Chen Sequencer: Fixed overlapping ranges being inserted into the evaluation field during compilation - The issue was that track segments that had been combined with adjacent segments (due to them being identical) would potentially cause a subsequently compiled frame to overlap with a range that had already been inserted into the evaluation field. - The insertion code previously asserted that only minor overlaps were catered for (due to fp rounding errors) and assumed that a supplied range could not entirely contain any other range in the field. - The solution is to supply the insertion time along with the range to know exactly where the data should live in the field, and crop the range to the maximum allowable space between adjacent ranges. #jira UE-54922 Change 3879590 by Matt.Hoffman Items that are now added to the Sequencer via the "+Track" menu will be selected after being added. Items can now be added inside of folders instead of just to the root level. #jira UE-27397 Change 3879612 by Mike.Zyracki Display Nodes with no children are always active. #jira UESEQ-388 Change 3879730 by Matt.Hoffman Sequence Recorder's actor recording groups now remove items from the group when removed via the UI. #jira UESEQ-339 Change 3880256 by Mike.Zyracki Fix issue with inactive display with folders and other track nodes. #jira UESEQ-388 Change 3883491 by Max.Chen Fix issue where tick is skipped due to last ticked pose isn't cleared after AnimInstance changes. Copy from Release-4.19 #jira UE-51323 Change 3883603 by Max.Chen Movie Scene Capture: Add option toggle disable screen percentage. By default this is on (no change in current behavior). #jira UE-51898 Change 3885074 by Max.Preussner MediaCompositing: Resetting media texture & freeing resource on section end; removed dead code Change 3887220 by Max.Preussner MediaCompositing: Defaulted media section duration to 1 sec (since we do not know the actual duration in most cases) Change 3887478 by Matt.Hoffman Sequences now show [Inactive] in their title bars when they're disabled. This helps communicate why a sequence isn't being evaluated. #jira UE-51469 Change 3888985 by Max.Chen Movie Scene Capture: Clamp HDR Compression Quality between 0 and 1. #jira UE-55136 Change 3893519 by Max.Chen Sequence Recorder: Clarified tooltip for bRecordNearbySpawnedActors - spawned actors will still be recorded if they match the ActorFilter. #jira UE-55238 Change 3893546 by Max.Chen Sequence Recorder: If a selected actor already has a recording, add a blank recording. #jira UE-55239 Change 3894044 by Max.Preussner MediaCompositing: Added support for seeking into a media section Change 3894310 by andrew.porter MediaFrameworkTest: Adding Img media sources for 1080 and 2160 ravent test content Change 3894426 by Max.Preussner MediaAssets: Letting media textures with AutoClear retain their clear color when player is reset Change 3895717 by Max.Chen Sequencer: Null checks to prevent crash when saving the default state of a spawnable #jira UE-55304 Change 3897388 by Max.Chen Sequencer: Don't update current time to be within the view range when stepping into a sequence. #jira UE-55322 Change 3897452 by Max.Chen Audio: Fix crash when trying to record audio without any active capture devices. Log warning if the number of input channels is not 1 or 2. #jira UE-55223 Change 3897619 by Max.Preussner MediaCompositing: Removed commented out code Change 3898072 by Max.Chen Sequencer: Override the animation asset in the player state if it doesn't match the animation asset that's being evaluated. #jira UE-55328 Change 3898272 by Max.Preussner MediaPlayerEditor: Made slate brush constants static Change 3898704 by Max.Chen Sequencer: Skip if the binding id's sequence can't be found. #jira UE-55337 Change 3899855 by Max.Preussner MediaCompositingEditor: Added cache state visualization to media track Change 3900300 by Max.Preussner MediaCompositingEditor: Added loop indicators to media sections Change 3900694 by Max.Preussner ImfMedia: Looping cache only when player is looping Change 3900892 by Max.Preussner Stats: Added stats category for media framework Change 3900954 by Max.Preussner MediaCompositing: Don't evaluate at the end of media section Change 3901348 by Max.Preussner Core: Replaced TLruCache autos for better readability Change 3901655 by Max.Preussner ImgMedia: Added more perf stats to EXR reader Change 3901972 by Max.Preussner MediaAssets: Added getter for media player in media sound components Change 3902233 by Max.Preussner MediaAssets: Enabling media textures to receive samples right after player is assigned Change 3902238 by Max.Preussner MediaCompositing: Working around init/shutdown idiosyncracies in sequencer Change 3904045 by Max.Chen Sequencer: Fix copy/paste crash. Only process UMovieSceneCopyableBinding and objects that can be spawned by the movie scene spawn register. #jira UE-55314 Change 3905605 by Max.Chen Sequencer: Restrict spawnables from being created if they have a ClassWithin that UMovieScene is not a child of. #jira UE-55429 Change 3906550 by Max.Chen Sequencer: Add media track icon #jira UE-55480 Change 3907101 by Max.Chen Sequence Recorder: Fix bugs related to not recording a level sequence. There were certain assumptions that creating a level sequence meant that sequence recording was in progress. This is not always the case - the recorders can record animation assets and not create a level sequence. Changed the notion of IsRecording() to having at least one actor recording that is recording. Countdown timer, recording displays, etc should function if IsRecording() and not based on whether a level sequence is created. #jira UE-55485 Change 3907247 by Max.Chen Sequence Recorder: Fix crash not removing PrepareToCleanseEditorObject delegate. Repros when opening sequence recorder, closing it, and then opening or creating a level. Change 3910343 by Max.Preussner Core: Added async helper for executing functions on a given thread pool Change 3910346 by Max.Preussner ImgMedia: Added separate thread pools for loading/decoding and deleting image frames Change 3910829 by Max.Preussner Profiler: Increased visible range of profiler graph Change 3910841 by Max.Preussner MediaCompositing: Displaying asset name instead of full media source path in media section Change 3910870 by Max.Preussner ImgMedia: Using deallocation thread pool only in debug builds Change 3919642 by Max.Chen Sequence Recorder: Clarify active tooltip #jira UE-55661 Change 3919660 by Max.Chen Sequencer: Sequence template source signatures are now also compared to catch the case where a sub-sequence asset has been saved but not modified - The following sequence of events exposes this issue: - Create a master sequence with a single shot that spawns a cube - Add this sequence to a level and set it to auto-play - Save everything and restart - Resave just the inner shot asset without opening it - PIE - The inner shot never spawns its cube because its template was wiped on save, but its signature never changed. Since the master sequence previously didn't check the template source signature, it ends up trying to evaluate an empty template. #jira UE-55626 #jira UE-55490 Change 3921825 by Max.Chen Sequencer: "Run Construction Script in Sequencer" is off by default for blueprints but on for Sequencer. This allows the content author to switch it on for specific blueprints and sequencer will be default, run those with construction scripts enabled. Change 3922232 by Max.Chen Sequence Recorder: Reset countdelay on stop. #jira UE-55755 Change 3922306 by Max.Chen Sequence Recorder: Don't automatically mark transforms to be recorded by sequence recorder. Instead, log a warning if the user toggled it off to warn that the resulting animation might not match gameplay. #jira UE-55758 Change 3922912 by Max.Chen Sequence Recorder: Fix refresh next sequence name #jira UE-55757 Change 3927654 by Max.Chen Movie Scene Capture: Added format mapping for the name of the current camera #jira UE-55769 PR #4537 Change 3927658 by Max.Chen Sequencer: Added fbx property mapping for "FocusDistance" to "FocusSettings.ManualFocusDistance" #jira UE-55782 Change 3932022 by Max.Chen Sequencer: Add import animation track section to next available row index. #jira UE-55892 Change 3933919 by Max.Chen Sequencer: Jump to playback start frame and not 0 to start playback for recording. #jira UE-55933 Change 3934307 by Andrew.Rodham Sequencer: Add template signature that is re-generated every time the base template is regenerated, which invalidates evaluation fields This fixes an issue where the same sequence is instantiated multiple times in a sequence. If the source sequence was saved, its template would be wiped, which would invalidate the template ID When an instance tries to evaluate the master template, it would only invalidate a range in the evaluation field that was the hull of any invalid sub sequences overlapping the current time, potentially leaving invalid data in the evaluation field at positions later (or earlier) on in the sequence When the sub template was re-generated, it receives the same SequenceSignature as it had before (because the sequence hasn't actually changed), which causes the stale evaluation field data to fail the IsDirty check (because the sequence is the same as it thought, but the *template* has changed) This has been addressed be adding a signature to templates themselves, and checking both the template signature and sequence signature as a part of the IsDirty check. This ensures that we regenerate if either the template, or the sequence have changed. #jira UE-55934 Change 3936327 by Andrew.Rodham Sequencer: Removed increment when trimming right UMovieSceneSection::TrimSection already explicity assigns an exclusive bound to the time passed in. The new behavior means we can trim a section to the right, and insert another section without changing the time to create adjacent sections. #jira UE-42652 Change 3936328 by Andrew.Rodham Fixed KeyFrameManipulator assignment operators and copy/move constructors - These types are potentially self-referential so cannot use default constructors/assignment Change 3936330 by Andrew.Rodham Converted UMGSequencePlayer to use frames internally #jira UE-54878 Change 3936726 by Max.Chen Sequencer: Set track node as the parent of the key area node. The key area switcher needs the object binding id from the parent object binding node. Without this, the binding to the external value fails. #jira UE-55931 Change 3936775 by Max.Chen Sequencer: Should stop or loop should compare DurationFrames with Current Time from StartTime. The bug is that if you set 30 warmup frames in movie rendering for a range of 0-100, the FrameRange will be starting at -30 and have a duration of 130. Without this fix, the playback will continue until frame 130, rather than 100. #jira UE-55933 Change 3936935 by Matt.Hoffman Easing Curves are now represented in Play Rate resolution instead of internal resolution. #jira UE-55937 Change 3937069 by Matt.Hoffman Users can toggle if the is infinite on each side, limited by which tracks support infinite ranges. #jira UE-55891 Change 3937516 by Max.Preussner ImgMedia: Added support for single-threaded platforms #jira UE-55986 Change 3937826 by Max.Preussner MediaAssets: Disabling media sound components on HTML5 if AudioMixer is not enabled Change 3937997 by Max.Chen Curve Editor: Add Zoom to Fit Curves so that selected curves from Sequencer can be focused on. Tested that undo doesn't re-zoom. #jira UE-55935 Change 3938000 by Max.Chen Sequencer: Stop all sounds before generating audio waveforms. #jira UE-55951 Change 3938376 by Max.Preussner XGEController: Disabled XGE Controller in single-threaded apps to prevent crash Change 3938444 by Max.Preussner Core: Added async support for single-threaded applications Change 3938445 by Max.Preussner Networking: Added support for single-threaded applications in UDP socket sender/receiver Change 3938447 by Max.Preussner Messaging: Added support for single-threaded applications Change 3939432 by Max.Chen Sequence Recorder: Append command list to global level editor actions so that shortcuts are accessible in level editor. #jira UE-55798 Change 3940229 by Andrew.Rodham Added prospective display rate upgrade to UMovieScene::PostLoad - There was previously some very odd behaviour that would assign the fixed frame interval only when a sub sequence was focused in SSequencer. This meant that many sequences could have a frame interval of 0 set in the data. - Under the old method of snap interval display this would have fallen back to getting the display interval from the sequencer settings, but we no longer look at these. - The USequencerSettings properties have been removed and in their place, a prospective data upgrade for sequences that have a fixed frame interval old 0fps that sets the play rate to the previous defaults based off the old USequencerSettings defaults. - This could end up 'changing' the display rate for sequences where the user has changed the snap interval in the settings for a particular sequence editor, but there's not much we can do about that given we don't have access to the USequencerSettings classes in UMovieScene #jira UE-55919 Change 3940277 by Andrew.Rodham Sequencer: Added ability to default frame resolutions and play rates for newly created actor sequences Change 3940378 by Andrew.Rodham Sequencer: Post move import dialog now defaults to the playback framerate of the sequence, and floors to frame numbers Change 3940559 by Andrew.Rodham Reinstated primed or recording sequence color Change 3940642 by Max.Preussner ImagePlate: Removed image plate media playback functionality Change 3940843 by Max.Preussner Core: Made TCircularQueue actually thread-safe; improved code comments Change 3940860 by Max.Chen Sequencer: Changed StructNameToKey to StructPathToKey Previously, keying a PropertyPath of [RenderTransform][Shear][X] would get trimmed to X, which doesn't map to a channel name as considered by Sequencer2dTransformTrackEditor. Instead, trim the resulting property path to [Shear][X] so that track editors can determine the desired struct path and channels to key. #jira UE-52966 Change 3941292 by Mike.Zyracki Fix for trajectories out of range not showing up. 1) If we had no key data we would pop the time, so wouldn't get the section ranges. 2) Calculating of upper bound was wrong, checking against -1 and not key == num of keys when doing algo::lower_bound. 3) No need to do the Bck-- for the bakward iterators since we fixed #2. We start now from the upper bound correctly. 4) If we had no keys (at section start,end) we would incorrectly say we were any key type, so since we draw constant keys as dashed we would do so incorrectly around section end points. #jira UE-55929 Change 3941424 by Max.Chen Curve Editor: Change Zoom to Fit to use TArrayView Change 3941498 by Max.Preussner Core: Added FMath::DivideAndRoundNearest function Change 3942097 by Matt.Hoffman Drop Frame Timecode Support for NTSC rates. Change 3942104 by Matt.Hoffman Sequence Recorder Group is no longer visible inside the World Outliner after using one. #jira 55266 Change 3942107 by Max.Chen Sequencer: Resurrect logic to find or extend an existing section when adding keys. Change 3942330 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942339 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942507 by Andrew.Rodham Sequencer: We no longer pad the time overlap threshold with a small number that is not scaled by the current zoom level - The presence of this pad was causing keys that were far apart to be grouped when zoomed in a long way Change 3942509 by Andrew.Rodham Sequencer: Only pad total view range, rather than section range as well when retrieving keys to render - This stops us from rendering keys that are within the view range, but outside the section range Change 3942512 by Andrew.Rodham Added transactions to some sequencer details customizations Change 3942513 by Andrew.Rodham Sequencer: Reinstated validation checks to UMovieSceneSection::SetStartFrame and SetEndFrame, changed erroneous uses to use SetRange Change 3942560 by Andrew.Rodham Pass by rvalue reference to appease error C2719 on Win32 ('InChannels': formal parameter with requested alignment of 8 won't be aligned) Change 3942697 by Andrew.Rodham Newly Created Level Sequences and Actor Sequences now default to 24000 fps frame resolution (+/- ~24hrs range, supporting all integer rates + 23.976) Change 3942700 by Andrew.Rodham Sequencer: Added legacy out-of-bounds errors for times that are not supported by the current legacy upgrade frame resolution Change 3942989 by Max.Preussner Core: Fixed circular queue count calculation Change 3943538 by Max.Preussner MediaAssets: Reverted workaround for procedural audio log spam in HTML5 (Actor component initialization cannot be skipped if the component is used in a level) Change 3944071 by Max.Preussner QAGame: Fixed Media Texture keeps last frame of Media when PIE ends #jira UE-53360 Change 3944292 by Max.Chen Sequencer: Added extra flags to ensure that asset initialization does not occur on template actor sequences #jira UE-56113 Change 3944364 by Max.Chen Sequencer: Prevent circular shot/master tracks. Tested adding master -> child -> master as drag and drop cinematic shot tracks and sub tracks as well as through the + button. #jira UE-56091 Change 3944422 by Max.Chen Sequence Recorder: Disable transform recording if off. #jira UE-56061 Change 3944745 by Andrew.Rodham Sequencer: Key rendering fixes - Fixed assert that occured when keys happened to reside on some times due to KeyTime + TimeOverlapThreshold - KeyTime being slightly larger TimeOverlapThreshold - Fixed keys sometimes being clipped when zoomed right in due to lack of half-frame offset - Added missing documentation to MovieSceneTimeHelpers.h #jira UE-56107 Change 3945231 by Andrew.Rodham Sequencer: Reconstruct channel proxy on Serialize to catch all cases of undo/redo, PostLoad and duplication #jira UE-56089 Change 3945301 by Andrew.Rodham Sequencer: Added safety checks during initial sequence recording to guard against applying negative or 0-sized sequence ranges #jira UE-56125 Change 3946627 by Max.Preussner Fortnite: Fixed game crashes closing editor while in PIE - Pure virtual function being called #jira UE-56144 [CL 3946896 by Max Chen in Main branch]
2018-03-14 22:09:33 -04:00
TRange<FFrameNumber> SelectionRange = TimeSliderArgs.SelectionRange.Get();
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3178529) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3149443 on 2016/10/03 by Max.Preussner MediaAssets: Better parameter names for MediaPlayer BP functions Change 3149756 on 2016/10/03 by Max.Chen Sequence Recorder: Set some settings to be clamped at 0 (sequence length, recording delay, audio gain, audio input buffer size, nearby actor recording proximity) #jira UE-35233 Change 3149795 on 2016/10/03 by Max.Chen Curve Editor: Set tangent to user when flattening or straightening tangents only when the tangent mode is auto and the interp mode is cubic. #jira UE-36734 Change 3150378 on 2016/10/04 by Max.Preussner PS4Media: Made video buffer sizes for file and HLS sources configurable (UE-36807) #jira UE-36807 Change 3151414 on 2016/10/05 by Max.Chen Sequencer: Fix case where restoring the last view target was getting skipped. It should always restore if the camera object and the unlock if camera actor object is null. #jira UE-35285 Change 3152038 on 2016/10/05 by Max.Preussner UdpMessaging: Code & documentation modernization pass Change 3152471 on 2016/10/05 by Max.Chen Cine Camera: Don't enable/disable actor ticking based soley on actor tracking since actor ticking is needed for other purposes. Instead, always enable actor ticking and only update actor tracking on tick if necessary. This fixes a bug where the cine camera actor won't tick if you hook in event tick. #jira UE-36625 Change 3152692 on 2016/10/05 by Max.Preussner Messaging: API code & documentation modernization pass Mostly removed shared pointer/ref typedefs as they prevent forward declarations and increase include complexity. Change 3153824 on 2016/10/06 by Max.Preussner Messaging: Renamed IConnectionBasedMessagingModule to ITcpMessagingModule and moved it into TcpMessaging I recommend that we refactor this API. The dependency should be reversed, i.e. instead of AndroidDeviceDiscovery depending on the TcpMessaging plug-in module, the Engine should provide a central registry that device discovery modules can notify, and that message transport plug-ins can register with and listen to OnConnectionAdded/Removed events etc. That way it supports an arbitrary number of transport plug-ins, and the Engine is not coupled to any of them. This functionality is not necessarily related to messaging, and the Messaging API is transport agnostic anyway. I'll think about this some more. Change 3153826 on 2016/10/06 by Max.Preussner Messaging: Removed remaining typedefs in IMessageTracer to enable forward declaration and reduce include dependencies Change 3153857 on 2016/10/06 by Max.Chen Sequencer: Set snap time to dragged key on by default. Change 3153980 on 2016/10/06 by Max.Preussner SessionServices: Removed typedefs; code and documentation modernization pass Change 3154313 on 2016/10/06 by Max.Chen Sequencer: Set the paste keys time to the current time, rather than the mouse time. Change 3154332 on 2016/10/06 by Max.Chen Sequencer: Remove click to rename shot functionality in the shot thumbnail. Added rename shot to the shot context menu. Change 3154377 on 2016/10/07 by Max.Chen Sequencer: Add ability to step to beginning and ends of sections/shots using the hotkeys: , and . Change 3154788 on 2016/10/07 by Max.Chen Sequencer: Fix offsets that created when moving multiple sections. The offsets were being created because section bounds were being generated for all sections except for the current section. Instead, they should be computed for all sections except for any that aren't being moved. #jira UE-29152 Change 3159274 on 2016/10/11 by Max.Preussner Core: Documentation fixes Change 3159275 on 2016/10/11 by Max.Preussner UdpMessaging: Added missing header Change 3160746 on 2016/10/12 by Max.Preussner MediaAssets: Added BP functions to query width, height, and aspect ratio of UMediaTexture instances #jira UE-37241 Change 3160975 on 2016/10/12 by Max.Preussner PS4Media: Better logging for SetRate failures Change 3160995 on 2016/10/12 by Max.Preussner MediaPlayerEditor: Fixed Media player selection is ignored if media specifies player overrides (UE-37248) #jira UE-37248 Change 3161066 on 2016/10/12 by Max.Preussner PS4Media: Enforcing minimum 8 byte alignment for media allocations Change 3161069 on 2016/10/12 by Max.Preussner PS4Media: Fixed log spam when setting play rate to current rate Change 3162567 on 2016/10/13 by Max.Preussner PS4Media: Made track switching code more readable Change 3163447 on 2016/10/14 by Max.Preussner PS4Media: Fixed array out of bounds assertions Change 3163772 on 2016/10/14 by Max.Preussner MfMedia: Fixed a number of timing related issues Change 3163980 on 2016/10/15 by Max.Chen Sequencer: Remove folder name numeric padding so that the naming convention is similar to creating objects in the level. Change 3164581 on 2016/10/17 by Andrew.Rodham Sequencer: Ensure global pre-animated state is restored in reverse order Change 3164582 on 2016/10/17 by Andrew.Rodham Sequencer: Ensure pre animated state is restored for all actor components before saving default state Change 3164583 on 2016/10/17 by Andrew.Rodham Sequencer: Re-enabled support for pre and post roll Change 3165464 on 2016/10/17 by Max.Chen Sequencer: Default number frame handles to 0 so that there's no change in behavior when rendering out a master sequence of shots. Handle frames need to enabled explicitly by the user. Copy from Release-4.14 #jira UE-37416 Change 3165483 on 2016/10/17 by Max.Chen Sequencer: Enable restore state for attach section completion Change 3165771 on 2016/10/18 by Andrew.Rodham Sequencer: Force evaluate when rendering thumbnails #jira UE-37321 Change 3166057 on 2016/10/18 by Andrew.Rodham Sequencer: Only set defaults for tracks that have no keys, and where the requested default has changed #jira UE-37285 Change 3166218 on 2016/10/18 by Max.Preussner MediaPlayerEditor: Failure opening media, even though it opened successfully (UE-37470) #jira UE-37470 Change 3166247 on 2016/10/18 by Max.Preussner WmfMedia: Showing progress bar while media is being resolved Change 3166289 on 2016/10/18 by Max.Preussner MfMedia: Showing progress bar while media is being resolved Change 3166993 on 2016/10/18 by Max.Preussner MfMedia: Fixed info string not reset on media close. Change 3166999 on 2016/10/19 by Max.Preussner Media: Fixed NV12 and NV21 support Change 3167008 on 2016/10/19 by Max.Preussner Media: Removed vertical NV12 alignment Change 3167029 on 2016/10/19 by Max.Preussner WmfMedia: Temp fix for RGB32 encoded AVIs rendering upside-down and too bright (UE-37505) #jira UE-37505 Change 3168593 on 2016/10/19 by Max.Chen Sequencer: Change paste at time to local time, so that the paste happens in the local time of the sequence rather than the global time if pasting in a shot level sequence. Change 3168626 on 2016/10/19 by Max.Chen Sequencer: Clamp to view bounds should snap to frame if frame snapping is on. Change 3168627 on 2016/10/19 by Max.Chen Sequencer: Initialize working and view range to be 10% larger than playback range. Change 3168760 on 2016/10/20 by Max.Preussner Media: Revamped media texture buffer management to support padded frames Added support for Windows bitmap buffers. Fixed a number of format, conversion and/or looping issues in WmfMedia and MfMedia. Not all shaders have been updated yet. Change 3169640 on 2016/10/20 by Max.Chen Sequencer: Add current camera to FLevelSequencePlayerSnapshot. Adjust DefaultBurnIn to include a few more parameters like focal length and focus distance. #jira UE-37407 Change 3170677 on 2016/10/21 by Max.Chen Movie Scene Capture: Add toggle to override engine scalability settings to cinematic scalability. #jira UE-36560 Change 3170710 on 2016/10/21 by Max.Preussner Media: Optimized handling of RGB input Change 3170712 on 2016/10/21 by Max.Preussner Media: Fixed NV21 conversion shader scaling Change 3170923 on 2016/10/21 by Max.Preussner UBT: Copied XboxOne project generator fix from Fortnite CL# 3170868 Change 3171494 on 2016/10/23 by Max.Chen Sequencer: Fix fbx export from master sequence not finding bound objects. #jira UE-35752 Change 3171506 on 2016/10/23 by Max.Chen Sequencer: Draw where in and out points of the shot section are, just like subsequences do. Change to only draw the green starting line if StartOffset is negative. #jira UE-35473 Change 3171743 on 2016/10/24 by Andrew.Rodham Editor: Added support for detail customizations on root structs - Also added the ability to add external struct data onto a detail category builder, and property type customization. Change 3171752 on 2016/10/24 by Andrew.Rodham Sequencer: Fixed spawnable ownership - Spawnables are no longer destroyed when the cursor leaves the master playback range. - Spawnable ownership now operates as it previously did before the evaluation rework. - bIgnoreOwnershipInEditor has been removed since its existence was a work around for when we didn't evaluate sub sequences from the master sequence. - FMovieSceneSequenceID is now a struct so that it can be used in array properties - Meta data now exists for each segment of an evaluation field. Currently this only includes the sub sequence IDs that exist at that time, but it may be expanded to include all evaluation entities (tracks + sections) in future so we don't have to calculate that at runtime. Change 3171756 on 2016/10/24 by Andrew.Rodham Sequencer: Added ability to trigger events with parameters - It's now possible to supply an event payload on event track keys which are to be passed to a given event. The structure must match the signature of the event, or a warning will be emitted. - Added a templated TGenericKeyArea, TKeyFrameManipulator and TCurveInterface that allow to generic manipulation of keyframe section data. In time we will port the other key areas over to this representation. - This new architecture affords the common manipulation of time-based keyframes in a value-agnostic manner. Change 3172935 on 2016/10/24 by Max.Preussner MediaPlayerEditor: Fixed MediaPlayer asset not being dirtied when creating media sound wave or texture for it Change 3173947 on 2016/10/25 by Max.Preussner SlateRemote: Disabled plug-in, but enabled server by default Change 3174510 on 2016/10/26 by Max.Chen Sequencer: Fix slomo track crash #jira UE-37802 Change 3174698 on 2016/10/26 by Andrew.Rodham UMG: Fixed objects bound to a panel slot animating their slot's content instead of the slot itself #jira UE-37775 Change 3174780 on 2016/10/26 by Max.Preussner MediaAssets: Accepting decoder defined buffer dimensions for RGB buffers Change 3174789 on 2016/10/26 by Max.Preussner MediaPlayerEditor: Showing desired player name instead of current player name if no media loaded Change 3174817 on 2016/10/26 by Max.Preussner WmfMedia: Added support for Motion JPEG (MJPG) Change 3174825 on 2016/10/26 by Max.Preussner WmfMedia: Added support for non-RGB32 uncompressed formats Change 3174834 on 2016/10/26 by Max.Preussner MediaPlayerAssets: Allow pausing while buffering media Change 3174886 on 2016/10/26 by Andrew.Rodham Core: Fixed range test that was testing incorrect behavior Change 3174889 on 2016/10/26 by Andrew.Rodham Sequencer: Fixed AssignActor behavior - Also ensure that cached object state is invalidated when playback context changes #jira UE-37798 Change 3174905 on 2016/10/26 by Andrew.Rodham Sequencer: Changed assert when failing to create an audio component to a log message - Audio no longer plays when GEngine->UseSound() is false #jira UE-37772 Change 3174980 on 2016/10/26 by Andrew.Rodham Sequencer: Remove warning when event endpoint could not be found for a given context #jira UE-37824 Change 3175001 on 2016/10/26 by Andrew.Rodham Sequencer: Evaluate sequence with EMovieScenePlaybackStatus::Jumping on Pause. - Also protect Pause() against reentrancy when being called from an event Change 3175012 on 2016/10/26 by Max.Chen Sequence Recorder: Fixes an empty working and view range after recording. On StopRecording() update playback range after nullifying the current sequence so that the playback range isn't empty. Added SetViewRange and SetWorkingRange. #jira UE-34191 Change 3177760 on 2016/10/28 by Max.Chen Sequence Recorder: Don't update the current sequence name if it's already set. This fixes a bug where if you pass in a sequence name to record to, it gets reset to the name in the sequence recorder settings. #jira UE-37808 Change 3178529 on 2016/10/28 by Max.Chen Matinee to Level Sequence: Added interface to extend the matinee to level sequence converter #jira UE-37328 #2864 [CL 3178562 by Max Chen in Main branch]
2016-10-28 15:04:38 -04:00
if (SelectionRange.IsEmpty())
{
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3946692) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3801826 by Max.Chen PR #4304: Level Sequence crash fix - Guarded against dereferencing null componen. (Contributed by DSDambuster) Change 3801828 by Max.Chen PR #4302: Movie Scene Visibility Template unitialised variable, causing random . (Contributed by DSDambuster) Change 3801837 by Max.Chen Sequencer: Delay spawning/construction for convert to possessable. This fixes a bug where property values would be lost when converting back and forth from possessable to spawnable. #jira UE-52400 Change 3801841 by Max.Chen Sequencer: Make spacer nodes not selectable. PR #4194: Improvements to Sequencer (Contributed by projectgheist) #jira UE-53117 #jira UE-52139 Change 3804183 by Max.Preussner MediaAssets: Added missing lock in media sound component Change 3805414 by Max.Preussner MediaAssets: Setting valid GUID when initializing media texture resource Change 3819578 by Max.Chen PR #4370: When enabling the "MovieCapture", do not turn off the Stereo-3D display. (Contributed by yehaike) #jira UE-53647 Change 3823414 by Max.Chen Curve Editor: Lock down the first and last keys in the redundant keys removal range so that they're unaffected. #jira UE-53591 Change 3826406 by Max.Chen Sequencer: Move OnStartedPlaying() to within first update in UpdateTimeCursorPosition(). This fixes an issue where setting the hud/player visibility was getting stomped on later. #jira UE-52772 Change 3827044 by Max.Preussner MediaAssets: Added sprite visualization to media sound component #jira UE-53594 Change 3827988 by Max.Preussner MediaPlayerAssets: Fixed Media Texture is not linked to Media Player when created together #jira UE-53532 Change 3828506 by Max.Preussner MediaPlayerEditor: Added attenuation visualizer for media sound components #jira UE-53594 Change 3832590 by andrew.porter EngineTest: Added a keep state check in Property Animation sequencer test Change 3833053 by andrew.porter EngineTest: Adding Hierarchical Bias test Change 3835683 by andrew.porter EngineTest: Adding UMG Animation screenshot test Change 3836076 by Max.Chen Sequencer: Fix audio volume and pitch multiplier deprecation. Change 3836230 by andrew.porter EngineTest: Adding Sequence Bone Position automation test Change 3836347 by Max.Chen Sequencer: Fixes to shot name parsing. When a shot doesn't contain a shot number, assume, [ShotName]_[TakeNumber]. When duplicating a shot, put the new shot in the same path of the original shot, so that the take numbers will increment properly. #jira UE-51868 Change 3836552 by Max.Chen Sequencer: Sub section now has a takes menu Change 3838094 by Max.Chen UMG: Fix template finish not getting called on stop. This fixes a bug where sections aren't restored when finished. #jira UE-52285 Change 3838708 by Max.Chen Sequencer: Add notification when the blend type is changed. #jira UE-54046 Change 3840295 by Max.Chen Sequencer: Fix copy/paste crash for lights #jira UE-54084 Change 3840957 by Mike.Zyracki Added Show Only Keyable and Show Only Animated to the filter list in the property editor. Added IsPropertyAnimated to IDetailKeyframe Interface which already had support for showing properties which are keyable (which is used for the key icon next to the properties.). Could have created another interface but then would have had to mimic the sequencer binding, releasing also, so this seemed best way. One issue still left is that custom built detail items currently don't store associated properties(usually) and so certain properties, in particulalry transforms, won't show up as keyable or animated. Note this also shows up with the keyable icon not showing up next to transform tracks, and other filters like Show Only Modified not working with transforms/customs. Not sure best way to tackle this. #jira UESEQ-328 Change 3841756 by Max.Chen Sequencer: Fix unbound possessable components when pasting spawnables. #jira UE-54104 Change 3843950 by andrew.porter EngineTest: Renaming LevelStreaming tests/content to LevelVisibility Change 3844082 by Mike.Zyracki Missing file for animated filter in property editor. When finding if a track is animated we need to find it but we can't easily induce the MovieTrack class for any particular property. So we don't set a class for it and just search by it's ID and name. #jira UESEQ-328 Change 3846902 by Max.Preussner ImgMedia: Fixed image media player never finished initialization if loading failed #jira UE-54247 Change 3849820 by Mike.Zyracki Reassigning deleted widgets didn't work since the menu extender mechanism needs a valid UObject in order to perform an operation on it. So to fix we replaced GetObjectBindingContextMenuExtender in WidgetBlueprint with new delegate mechanism (OnBuildCustomContextMenuForGuid) that supports FGuid in addition to UObjects which is needed to handle re-binding deleted widgets. Note that the default sequencer hacks this for replacing deleted actors in SequencerObjectBindingNode to check to see if a LevelSequence is active. We could move to this mechanism there also. #jira UE-53163 Change 3852211 by Max.Chen UMG: Indicate name of the property that is not bound. #jira UE-54350 Change 3854120 by Max.Chen Sequencer: Fix sibling folders being allowed to have the same folder name. #jira UE-54363 Change 3854627 by Max.Chen Sequencer: Step to next/previous key should work for all tracks if there aren't any selected. #jira UESEQ-391 Change 3855825 by andrew.porter EngineTest: Adding animation blending automation test Change 3855950 by andrew.porter EngineTest: Adding correct expected valuues to animation blending test Change 3856237 by Matt.Hoffman UESEQ-336 - Sequencer Track Reordering Adds the ability to re-order Master Tracks, Folders and Object Bindings within sequencer hierarchies (including UMG). Adds the ability to do a one-off sorting of the content under the old sorting behavior if the user wants to reset their layout to how it was under legacy behavior. Modifies SequencerTrackNodes, SequencerFolderNodes and SequencerObjectBindingNodes to handle CanDrop/OnDrop for above, below and ontop of. Fixes a Slate Issue that forcibly expanded a TreeviewRow if an item handled OnDrop. Slate will now only forcibly expand the row if the item says the drop happened ontop of the item, and not above or below it like it previously did. Change 3856503 by andrew.porter EngineTest: Adding automation test for using animation blueprint with blend multi node in sequencer Change 3857875 by Max.Chen Sequencer: Assign the sequence id after the template is compiled. #jira UE-54462 Change 3858344 by Max.Chen Sequencer: Prevent Goto and Transform boxes from overlapping by allowing them to be visible at the same time in an autosized horizontal box. Also, added close button to the goto box. PR #4425: Prevent Goto and Transform boxes from overlapping in Sequencer ... (Contributed by projectgheist) #jira UE-54210 Change 3860566 by andrew.porter MediaFrameworkTest: Set the option to index 0 for the audio and video track list by default Change 3860654 by andrew.porter EngineTest: Enabling Camera Cut + FOV test Change 3860981 by andrew.porter EngineTest: Updating skeletal mesh tests with a delay after set playback position Change 3861256 by Max.Chen Sequencer: Add all bindings if none selected. #jira-54440 Change 3862154 by Andrew.Rodham Added TimeManagement module Change 3862424 by andrew.porter EngineTest: Turned on the test Bone Positions with Blend Multi Node Change 3862573 by andrew.porter EngineTest: Adding test to compare bone positions in a sequence that is blending an animation that is using an AnimBP Change 3865117 by Max.Chen Sequencer: Stop auto scroll on mouse release of movement. #jira UE-31212 Change 3865303 by Max.Chen Sequencer: Add drag and drop transactions #jira UE-54662 Change 3865304 by Max.Chen Sequencer: Fix crash when an actor factory is not found. Change 3865361 by Max.Chen Sequencer: Don't change the camera/shot lock button when popping out of a sequence. #jira UE-54665 Change 3865412 by Max.Chen Sequencer: Determine whether a transform track is for a camera by using the spawned object or template #jira UE-54666 Change 3865685 by Max.Chen Sequencer: Clear autoscrub offset when stopping autoscroll #jira UE-31212 Change 3865886 by Max.Chen Sequence Recorder: Log an error if the number of frames changes while recording. This can happen if the skeleton changes while recording. #jira UE-48715 Change 3866925 by Andrew.Porter MediaFrameworkTest: Changing the current PNG test video image sequence to 1024 x 576 Change 3867705 by andrew.porter QAGame: Adding Audio Sort Sequence to dev folder Change 3867890 by andrew.porter QAGame: Adding a sequence for testing a sorting crash to my dev folder Change 3872628 by Max.Chen Movie Scene Capture: Split delay before warmup into split delay before shot warmup so that there's separate controls for when the movie scene capture warmups up vs. shot boundaries. Change 3873131 by Matt.Hoffman UE-54732 - Crash reordering a folder with a track. This was caused by folders being the only type of track to check if someone was putting a parent track into a child track. Object Binding tracks and Tracks now check as well so that you can't use the above/below drop targets to add parents as children. This also fixed a typo in the localization keys. #jira UE-54732 Change 3873301 by Mike.Zyracki Added ability to support continous euler angle changes when changing rotations, in particularly with the rotation gizmo's. To do this we effectively added a form an of 'euler filter'(https://en.wikipedia.org/wiki/Euler_filter) to find the closest euler angle to the current euler angle. Three functions were added to FRotator to make this possible, one to get the euler angle that's has the same rotation as it, one to get the difference between two euler angles via Manhattan distance and a third using the previous two to choose a Rotator value that's closest to it. We then use these functions before calling UComponent::SetRelativeRotation to make sure we use the correct Euler after the Quat conversion. We also no longer limit(bound) the euler angles to -180,180, which is obviously necessary to avoid flips. I also changed how we caluclate yaw and roll when pitch is -90 or 90 to make it the standard approach of zeroing out roll and just setting yaw. Main reasons are the previous implementation had precision issues so things like 180, 90, -180 would show up due to numbers being nearly zero but negative,(this would break any smooth interpolations), and this facilitates having a 'gimbal' rotation mode (like Maya, Blender etc..) if we ever want that also. If needed we could keep the previous implementation but would need to add some FMath::IsNearlyZero checks, with less performance. Note we only do this special filtering when applying delta's to actors or components in the editors, which then call UComponent::SetRelativeRotationExact, which is a new function to foces the RelativeRotation to be equal to the new rotation. This allows us to store un-nomalized Rotators at the cost that the RotationCache may be broken. We didn't change any of the other UComponent functions that set rotations (via Quats or Transforms) so they will still be bounded and unwound. In SetInternalWorldLocationAndRotation we only set the rotation if the rotation has changed, which fixes the rotation getting changed and re-normalized if just translate happens. In TransformTrackEditor, we correclty use the bUndwing flag and in MovieScene3DTransformSection there was an un-needed winding check there, it will be unwound earlier if needed, which happens if Sequence Recording is happening. Max we should talk about what to do about this . Note the euler angle drag via the widget is still bound to 0-360. I think we should just unbound that now since the rotations value are now unbound. This review now includes fixes suggested by Zak. #jira UE-UE-22228 Change 3873483 by Matt.Hoffman Sequencer Tracks can now be inserted above the spacer at the bottom of the tree. #jira UE-54706 Change 3873899 by Max.Chen Sequencer: Add section selection throbbing Change 3873908 by Max.Chen Movie Scene Capture: Added logging per frame Change 3873924 by Matt.Hoffman Adds the ability to store Sequence Recorder setups into profiles that stay with the map and can be re-loaded later. Profiles store the Actor Recordings so the settings for each actor should carry with them. #jira UESEQ-339 Change 3874726 by Matt.Hoffman Disable drag-and-drop targets on spacers that come between rows in Sequencer. This prevents extra drag/drop targets showing up between each row. #jira UE-54706 Change 3874862 by Matt.Hoffman Audio Track no longer gets reordered when adding sub-audio tracks, as sub-tracks are no longer counted towards the sorting order index when normalizing indexes. #jira UE-54727 Change 3875905 by Matt.Hoffman Disable Fade Track UI if a fade track already exists in the sequence. #jira UESEQ-393 Change 3876163 by Max.Chen Sequencer: Swap the camera object to the camera component's owner if it's not the same. #jira UE-54874 Change 3876971 by Andrew.Porter EngineTest: Moved Media Player Seek test to new folder. Also enabled the test with new ground truth image. Change 3877040 by Max.Chen Cine Camera: Split camera properties to two groups, "Camera Options" and "Camera Settings". The cine camera now hides properties in the "Camera Settings" group so that properties like bConstrainAspectRatio (in the "Camera Options" group) can be visible. #jira UE-54192 Change 3877763 by Max.Chen Curve Editor: Fix curve changed on end drag so that only curves that had keys/tangents that were changed receive notification, otherwise all loaded curves were getting notified that they were changed. #jira UE-54951 Change 3878234 by Matt.Hoffman Disable "Drop Below" targets for Sequencer Tree nodes to prevent a confusing UX issue where dropping underneath a Object Binding Node puts it after the object binding node but the UI looks like it's inserting it inside the Object Binding node. #jira UE-54743 Change 3879359 by Mike.Zyracki If a track is inactive we dim it a bit which seems to be the UE4 way to show inactive or disabled state. We changed the active logic so that all subtracks need to be inactive for the track to also be inactive(instead of all active for active). This conforms to how the active state actually works, e.g if you have two sections and only one is active the track is still active above it. #jira UESEQ-388 Change 3879462 by Max.Chen Sequencer: Allow dragging onto a particular row which would move out any overlapping sections to make space for the newly created section. Newly created sections are now selected and throbbed to draw attention to themselves. #jira UE-54664 Change 3879464 by Max.Chen Sequencer: Fixed overlapping ranges being inserted into the evaluation field during compilation - The issue was that track segments that had been combined with adjacent segments (due to them being identical) would potentially cause a subsequently compiled frame to overlap with a range that had already been inserted into the evaluation field. - The insertion code previously asserted that only minor overlaps were catered for (due to fp rounding errors) and assumed that a supplied range could not entirely contain any other range in the field. - The solution is to supply the insertion time along with the range to know exactly where the data should live in the field, and crop the range to the maximum allowable space between adjacent ranges. #jira UE-54922 Change 3879590 by Matt.Hoffman Items that are now added to the Sequencer via the "+Track" menu will be selected after being added. Items can now be added inside of folders instead of just to the root level. #jira UE-27397 Change 3879612 by Mike.Zyracki Display Nodes with no children are always active. #jira UESEQ-388 Change 3879730 by Matt.Hoffman Sequence Recorder's actor recording groups now remove items from the group when removed via the UI. #jira UESEQ-339 Change 3880256 by Mike.Zyracki Fix issue with inactive display with folders and other track nodes. #jira UESEQ-388 Change 3883491 by Max.Chen Fix issue where tick is skipped due to last ticked pose isn't cleared after AnimInstance changes. Copy from Release-4.19 #jira UE-51323 Change 3883603 by Max.Chen Movie Scene Capture: Add option toggle disable screen percentage. By default this is on (no change in current behavior). #jira UE-51898 Change 3885074 by Max.Preussner MediaCompositing: Resetting media texture & freeing resource on section end; removed dead code Change 3887220 by Max.Preussner MediaCompositing: Defaulted media section duration to 1 sec (since we do not know the actual duration in most cases) Change 3887478 by Matt.Hoffman Sequences now show [Inactive] in their title bars when they're disabled. This helps communicate why a sequence isn't being evaluated. #jira UE-51469 Change 3888985 by Max.Chen Movie Scene Capture: Clamp HDR Compression Quality between 0 and 1. #jira UE-55136 Change 3893519 by Max.Chen Sequence Recorder: Clarified tooltip for bRecordNearbySpawnedActors - spawned actors will still be recorded if they match the ActorFilter. #jira UE-55238 Change 3893546 by Max.Chen Sequence Recorder: If a selected actor already has a recording, add a blank recording. #jira UE-55239 Change 3894044 by Max.Preussner MediaCompositing: Added support for seeking into a media section Change 3894310 by andrew.porter MediaFrameworkTest: Adding Img media sources for 1080 and 2160 ravent test content Change 3894426 by Max.Preussner MediaAssets: Letting media textures with AutoClear retain their clear color when player is reset Change 3895717 by Max.Chen Sequencer: Null checks to prevent crash when saving the default state of a spawnable #jira UE-55304 Change 3897388 by Max.Chen Sequencer: Don't update current time to be within the view range when stepping into a sequence. #jira UE-55322 Change 3897452 by Max.Chen Audio: Fix crash when trying to record audio without any active capture devices. Log warning if the number of input channels is not 1 or 2. #jira UE-55223 Change 3897619 by Max.Preussner MediaCompositing: Removed commented out code Change 3898072 by Max.Chen Sequencer: Override the animation asset in the player state if it doesn't match the animation asset that's being evaluated. #jira UE-55328 Change 3898272 by Max.Preussner MediaPlayerEditor: Made slate brush constants static Change 3898704 by Max.Chen Sequencer: Skip if the binding id's sequence can't be found. #jira UE-55337 Change 3899855 by Max.Preussner MediaCompositingEditor: Added cache state visualization to media track Change 3900300 by Max.Preussner MediaCompositingEditor: Added loop indicators to media sections Change 3900694 by Max.Preussner ImfMedia: Looping cache only when player is looping Change 3900892 by Max.Preussner Stats: Added stats category for media framework Change 3900954 by Max.Preussner MediaCompositing: Don't evaluate at the end of media section Change 3901348 by Max.Preussner Core: Replaced TLruCache autos for better readability Change 3901655 by Max.Preussner ImgMedia: Added more perf stats to EXR reader Change 3901972 by Max.Preussner MediaAssets: Added getter for media player in media sound components Change 3902233 by Max.Preussner MediaAssets: Enabling media textures to receive samples right after player is assigned Change 3902238 by Max.Preussner MediaCompositing: Working around init/shutdown idiosyncracies in sequencer Change 3904045 by Max.Chen Sequencer: Fix copy/paste crash. Only process UMovieSceneCopyableBinding and objects that can be spawned by the movie scene spawn register. #jira UE-55314 Change 3905605 by Max.Chen Sequencer: Restrict spawnables from being created if they have a ClassWithin that UMovieScene is not a child of. #jira UE-55429 Change 3906550 by Max.Chen Sequencer: Add media track icon #jira UE-55480 Change 3907101 by Max.Chen Sequence Recorder: Fix bugs related to not recording a level sequence. There were certain assumptions that creating a level sequence meant that sequence recording was in progress. This is not always the case - the recorders can record animation assets and not create a level sequence. Changed the notion of IsRecording() to having at least one actor recording that is recording. Countdown timer, recording displays, etc should function if IsRecording() and not based on whether a level sequence is created. #jira UE-55485 Change 3907247 by Max.Chen Sequence Recorder: Fix crash not removing PrepareToCleanseEditorObject delegate. Repros when opening sequence recorder, closing it, and then opening or creating a level. Change 3910343 by Max.Preussner Core: Added async helper for executing functions on a given thread pool Change 3910346 by Max.Preussner ImgMedia: Added separate thread pools for loading/decoding and deleting image frames Change 3910829 by Max.Preussner Profiler: Increased visible range of profiler graph Change 3910841 by Max.Preussner MediaCompositing: Displaying asset name instead of full media source path in media section Change 3910870 by Max.Preussner ImgMedia: Using deallocation thread pool only in debug builds Change 3919642 by Max.Chen Sequence Recorder: Clarify active tooltip #jira UE-55661 Change 3919660 by Max.Chen Sequencer: Sequence template source signatures are now also compared to catch the case where a sub-sequence asset has been saved but not modified - The following sequence of events exposes this issue: - Create a master sequence with a single shot that spawns a cube - Add this sequence to a level and set it to auto-play - Save everything and restart - Resave just the inner shot asset without opening it - PIE - The inner shot never spawns its cube because its template was wiped on save, but its signature never changed. Since the master sequence previously didn't check the template source signature, it ends up trying to evaluate an empty template. #jira UE-55626 #jira UE-55490 Change 3921825 by Max.Chen Sequencer: "Run Construction Script in Sequencer" is off by default for blueprints but on for Sequencer. This allows the content author to switch it on for specific blueprints and sequencer will be default, run those with construction scripts enabled. Change 3922232 by Max.Chen Sequence Recorder: Reset countdelay on stop. #jira UE-55755 Change 3922306 by Max.Chen Sequence Recorder: Don't automatically mark transforms to be recorded by sequence recorder. Instead, log a warning if the user toggled it off to warn that the resulting animation might not match gameplay. #jira UE-55758 Change 3922912 by Max.Chen Sequence Recorder: Fix refresh next sequence name #jira UE-55757 Change 3927654 by Max.Chen Movie Scene Capture: Added format mapping for the name of the current camera #jira UE-55769 PR #4537 Change 3927658 by Max.Chen Sequencer: Added fbx property mapping for "FocusDistance" to "FocusSettings.ManualFocusDistance" #jira UE-55782 Change 3932022 by Max.Chen Sequencer: Add import animation track section to next available row index. #jira UE-55892 Change 3933919 by Max.Chen Sequencer: Jump to playback start frame and not 0 to start playback for recording. #jira UE-55933 Change 3934307 by Andrew.Rodham Sequencer: Add template signature that is re-generated every time the base template is regenerated, which invalidates evaluation fields This fixes an issue where the same sequence is instantiated multiple times in a sequence. If the source sequence was saved, its template would be wiped, which would invalidate the template ID When an instance tries to evaluate the master template, it would only invalidate a range in the evaluation field that was the hull of any invalid sub sequences overlapping the current time, potentially leaving invalid data in the evaluation field at positions later (or earlier) on in the sequence When the sub template was re-generated, it receives the same SequenceSignature as it had before (because the sequence hasn't actually changed), which causes the stale evaluation field data to fail the IsDirty check (because the sequence is the same as it thought, but the *template* has changed) This has been addressed be adding a signature to templates themselves, and checking both the template signature and sequence signature as a part of the IsDirty check. This ensures that we regenerate if either the template, or the sequence have changed. #jira UE-55934 Change 3936327 by Andrew.Rodham Sequencer: Removed increment when trimming right UMovieSceneSection::TrimSection already explicity assigns an exclusive bound to the time passed in. The new behavior means we can trim a section to the right, and insert another section without changing the time to create adjacent sections. #jira UE-42652 Change 3936328 by Andrew.Rodham Fixed KeyFrameManipulator assignment operators and copy/move constructors - These types are potentially self-referential so cannot use default constructors/assignment Change 3936330 by Andrew.Rodham Converted UMGSequencePlayer to use frames internally #jira UE-54878 Change 3936726 by Max.Chen Sequencer: Set track node as the parent of the key area node. The key area switcher needs the object binding id from the parent object binding node. Without this, the binding to the external value fails. #jira UE-55931 Change 3936775 by Max.Chen Sequencer: Should stop or loop should compare DurationFrames with Current Time from StartTime. The bug is that if you set 30 warmup frames in movie rendering for a range of 0-100, the FrameRange will be starting at -30 and have a duration of 130. Without this fix, the playback will continue until frame 130, rather than 100. #jira UE-55933 Change 3936935 by Matt.Hoffman Easing Curves are now represented in Play Rate resolution instead of internal resolution. #jira UE-55937 Change 3937069 by Matt.Hoffman Users can toggle if the is infinite on each side, limited by which tracks support infinite ranges. #jira UE-55891 Change 3937516 by Max.Preussner ImgMedia: Added support for single-threaded platforms #jira UE-55986 Change 3937826 by Max.Preussner MediaAssets: Disabling media sound components on HTML5 if AudioMixer is not enabled Change 3937997 by Max.Chen Curve Editor: Add Zoom to Fit Curves so that selected curves from Sequencer can be focused on. Tested that undo doesn't re-zoom. #jira UE-55935 Change 3938000 by Max.Chen Sequencer: Stop all sounds before generating audio waveforms. #jira UE-55951 Change 3938376 by Max.Preussner XGEController: Disabled XGE Controller in single-threaded apps to prevent crash Change 3938444 by Max.Preussner Core: Added async support for single-threaded applications Change 3938445 by Max.Preussner Networking: Added support for single-threaded applications in UDP socket sender/receiver Change 3938447 by Max.Preussner Messaging: Added support for single-threaded applications Change 3939432 by Max.Chen Sequence Recorder: Append command list to global level editor actions so that shortcuts are accessible in level editor. #jira UE-55798 Change 3940229 by Andrew.Rodham Added prospective display rate upgrade to UMovieScene::PostLoad - There was previously some very odd behaviour that would assign the fixed frame interval only when a sub sequence was focused in SSequencer. This meant that many sequences could have a frame interval of 0 set in the data. - Under the old method of snap interval display this would have fallen back to getting the display interval from the sequencer settings, but we no longer look at these. - The USequencerSettings properties have been removed and in their place, a prospective data upgrade for sequences that have a fixed frame interval old 0fps that sets the play rate to the previous defaults based off the old USequencerSettings defaults. - This could end up 'changing' the display rate for sequences where the user has changed the snap interval in the settings for a particular sequence editor, but there's not much we can do about that given we don't have access to the USequencerSettings classes in UMovieScene #jira UE-55919 Change 3940277 by Andrew.Rodham Sequencer: Added ability to default frame resolutions and play rates for newly created actor sequences Change 3940378 by Andrew.Rodham Sequencer: Post move import dialog now defaults to the playback framerate of the sequence, and floors to frame numbers Change 3940559 by Andrew.Rodham Reinstated primed or recording sequence color Change 3940642 by Max.Preussner ImagePlate: Removed image plate media playback functionality Change 3940843 by Max.Preussner Core: Made TCircularQueue actually thread-safe; improved code comments Change 3940860 by Max.Chen Sequencer: Changed StructNameToKey to StructPathToKey Previously, keying a PropertyPath of [RenderTransform][Shear][X] would get trimmed to X, which doesn't map to a channel name as considered by Sequencer2dTransformTrackEditor. Instead, trim the resulting property path to [Shear][X] so that track editors can determine the desired struct path and channels to key. #jira UE-52966 Change 3941292 by Mike.Zyracki Fix for trajectories out of range not showing up. 1) If we had no key data we would pop the time, so wouldn't get the section ranges. 2) Calculating of upper bound was wrong, checking against -1 and not key == num of keys when doing algo::lower_bound. 3) No need to do the Bck-- for the bakward iterators since we fixed #2. We start now from the upper bound correctly. 4) If we had no keys (at section start,end) we would incorrectly say we were any key type, so since we draw constant keys as dashed we would do so incorrectly around section end points. #jira UE-55929 Change 3941424 by Max.Chen Curve Editor: Change Zoom to Fit to use TArrayView Change 3941498 by Max.Preussner Core: Added FMath::DivideAndRoundNearest function Change 3942097 by Matt.Hoffman Drop Frame Timecode Support for NTSC rates. Change 3942104 by Matt.Hoffman Sequence Recorder Group is no longer visible inside the World Outliner after using one. #jira 55266 Change 3942107 by Max.Chen Sequencer: Resurrect logic to find or extend an existing section when adding keys. Change 3942330 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942339 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942507 by Andrew.Rodham Sequencer: We no longer pad the time overlap threshold with a small number that is not scaled by the current zoom level - The presence of this pad was causing keys that were far apart to be grouped when zoomed in a long way Change 3942509 by Andrew.Rodham Sequencer: Only pad total view range, rather than section range as well when retrieving keys to render - This stops us from rendering keys that are within the view range, but outside the section range Change 3942512 by Andrew.Rodham Added transactions to some sequencer details customizations Change 3942513 by Andrew.Rodham Sequencer: Reinstated validation checks to UMovieSceneSection::SetStartFrame and SetEndFrame, changed erroneous uses to use SetRange Change 3942560 by Andrew.Rodham Pass by rvalue reference to appease error C2719 on Win32 ('InChannels': formal parameter with requested alignment of 8 won't be aligned) Change 3942697 by Andrew.Rodham Newly Created Level Sequences and Actor Sequences now default to 24000 fps frame resolution (+/- ~24hrs range, supporting all integer rates + 23.976) Change 3942700 by Andrew.Rodham Sequencer: Added legacy out-of-bounds errors for times that are not supported by the current legacy upgrade frame resolution Change 3942989 by Max.Preussner Core: Fixed circular queue count calculation Change 3943538 by Max.Preussner MediaAssets: Reverted workaround for procedural audio log spam in HTML5 (Actor component initialization cannot be skipped if the component is used in a level) Change 3944071 by Max.Preussner QAGame: Fixed Media Texture keeps last frame of Media when PIE ends #jira UE-53360 Change 3944292 by Max.Chen Sequencer: Added extra flags to ensure that asset initialization does not occur on template actor sequences #jira UE-56113 Change 3944364 by Max.Chen Sequencer: Prevent circular shot/master tracks. Tested adding master -> child -> master as drag and drop cinematic shot tracks and sub tracks as well as through the + button. #jira UE-56091 Change 3944422 by Max.Chen Sequence Recorder: Disable transform recording if off. #jira UE-56061 Change 3944745 by Andrew.Rodham Sequencer: Key rendering fixes - Fixed assert that occured when keys happened to reside on some times due to KeyTime + TimeOverlapThreshold - KeyTime being slightly larger TimeOverlapThreshold - Fixed keys sometimes being clipped when zoomed right in due to lack of half-frame offset - Added missing documentation to MovieSceneTimeHelpers.h #jira UE-56107 Change 3945231 by Andrew.Rodham Sequencer: Reconstruct channel proxy on Serialize to catch all cases of undo/redo, PostLoad and duplication #jira UE-56089 Change 3945301 by Andrew.Rodham Sequencer: Added safety checks during initial sequence recording to guard against applying negative or 0-sized sequence ranges #jira UE-56125 Change 3946627 by Max.Preussner Fortnite: Fixed game crashes closing editor while in PIE - Pure virtual function being called #jira UE-56144 [CL 3946896 by Max Chen in Main branch]
2018-03-14 22:09:33 -04:00
TimeSliderArgs.OnSelectionRangeChanged.ExecuteIfBound(TRange<FFrameNumber>(NewStart, NewStart + 1));
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3178529) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3149443 on 2016/10/03 by Max.Preussner MediaAssets: Better parameter names for MediaPlayer BP functions Change 3149756 on 2016/10/03 by Max.Chen Sequence Recorder: Set some settings to be clamped at 0 (sequence length, recording delay, audio gain, audio input buffer size, nearby actor recording proximity) #jira UE-35233 Change 3149795 on 2016/10/03 by Max.Chen Curve Editor: Set tangent to user when flattening or straightening tangents only when the tangent mode is auto and the interp mode is cubic. #jira UE-36734 Change 3150378 on 2016/10/04 by Max.Preussner PS4Media: Made video buffer sizes for file and HLS sources configurable (UE-36807) #jira UE-36807 Change 3151414 on 2016/10/05 by Max.Chen Sequencer: Fix case where restoring the last view target was getting skipped. It should always restore if the camera object and the unlock if camera actor object is null. #jira UE-35285 Change 3152038 on 2016/10/05 by Max.Preussner UdpMessaging: Code & documentation modernization pass Change 3152471 on 2016/10/05 by Max.Chen Cine Camera: Don't enable/disable actor ticking based soley on actor tracking since actor ticking is needed for other purposes. Instead, always enable actor ticking and only update actor tracking on tick if necessary. This fixes a bug where the cine camera actor won't tick if you hook in event tick. #jira UE-36625 Change 3152692 on 2016/10/05 by Max.Preussner Messaging: API code & documentation modernization pass Mostly removed shared pointer/ref typedefs as they prevent forward declarations and increase include complexity. Change 3153824 on 2016/10/06 by Max.Preussner Messaging: Renamed IConnectionBasedMessagingModule to ITcpMessagingModule and moved it into TcpMessaging I recommend that we refactor this API. The dependency should be reversed, i.e. instead of AndroidDeviceDiscovery depending on the TcpMessaging plug-in module, the Engine should provide a central registry that device discovery modules can notify, and that message transport plug-ins can register with and listen to OnConnectionAdded/Removed events etc. That way it supports an arbitrary number of transport plug-ins, and the Engine is not coupled to any of them. This functionality is not necessarily related to messaging, and the Messaging API is transport agnostic anyway. I'll think about this some more. Change 3153826 on 2016/10/06 by Max.Preussner Messaging: Removed remaining typedefs in IMessageTracer to enable forward declaration and reduce include dependencies Change 3153857 on 2016/10/06 by Max.Chen Sequencer: Set snap time to dragged key on by default. Change 3153980 on 2016/10/06 by Max.Preussner SessionServices: Removed typedefs; code and documentation modernization pass Change 3154313 on 2016/10/06 by Max.Chen Sequencer: Set the paste keys time to the current time, rather than the mouse time. Change 3154332 on 2016/10/06 by Max.Chen Sequencer: Remove click to rename shot functionality in the shot thumbnail. Added rename shot to the shot context menu. Change 3154377 on 2016/10/07 by Max.Chen Sequencer: Add ability to step to beginning and ends of sections/shots using the hotkeys: , and . Change 3154788 on 2016/10/07 by Max.Chen Sequencer: Fix offsets that created when moving multiple sections. The offsets were being created because section bounds were being generated for all sections except for the current section. Instead, they should be computed for all sections except for any that aren't being moved. #jira UE-29152 Change 3159274 on 2016/10/11 by Max.Preussner Core: Documentation fixes Change 3159275 on 2016/10/11 by Max.Preussner UdpMessaging: Added missing header Change 3160746 on 2016/10/12 by Max.Preussner MediaAssets: Added BP functions to query width, height, and aspect ratio of UMediaTexture instances #jira UE-37241 Change 3160975 on 2016/10/12 by Max.Preussner PS4Media: Better logging for SetRate failures Change 3160995 on 2016/10/12 by Max.Preussner MediaPlayerEditor: Fixed Media player selection is ignored if media specifies player overrides (UE-37248) #jira UE-37248 Change 3161066 on 2016/10/12 by Max.Preussner PS4Media: Enforcing minimum 8 byte alignment for media allocations Change 3161069 on 2016/10/12 by Max.Preussner PS4Media: Fixed log spam when setting play rate to current rate Change 3162567 on 2016/10/13 by Max.Preussner PS4Media: Made track switching code more readable Change 3163447 on 2016/10/14 by Max.Preussner PS4Media: Fixed array out of bounds assertions Change 3163772 on 2016/10/14 by Max.Preussner MfMedia: Fixed a number of timing related issues Change 3163980 on 2016/10/15 by Max.Chen Sequencer: Remove folder name numeric padding so that the naming convention is similar to creating objects in the level. Change 3164581 on 2016/10/17 by Andrew.Rodham Sequencer: Ensure global pre-animated state is restored in reverse order Change 3164582 on 2016/10/17 by Andrew.Rodham Sequencer: Ensure pre animated state is restored for all actor components before saving default state Change 3164583 on 2016/10/17 by Andrew.Rodham Sequencer: Re-enabled support for pre and post roll Change 3165464 on 2016/10/17 by Max.Chen Sequencer: Default number frame handles to 0 so that there's no change in behavior when rendering out a master sequence of shots. Handle frames need to enabled explicitly by the user. Copy from Release-4.14 #jira UE-37416 Change 3165483 on 2016/10/17 by Max.Chen Sequencer: Enable restore state for attach section completion Change 3165771 on 2016/10/18 by Andrew.Rodham Sequencer: Force evaluate when rendering thumbnails #jira UE-37321 Change 3166057 on 2016/10/18 by Andrew.Rodham Sequencer: Only set defaults for tracks that have no keys, and where the requested default has changed #jira UE-37285 Change 3166218 on 2016/10/18 by Max.Preussner MediaPlayerEditor: Failure opening media, even though it opened successfully (UE-37470) #jira UE-37470 Change 3166247 on 2016/10/18 by Max.Preussner WmfMedia: Showing progress bar while media is being resolved Change 3166289 on 2016/10/18 by Max.Preussner MfMedia: Showing progress bar while media is being resolved Change 3166993 on 2016/10/18 by Max.Preussner MfMedia: Fixed info string not reset on media close. Change 3166999 on 2016/10/19 by Max.Preussner Media: Fixed NV12 and NV21 support Change 3167008 on 2016/10/19 by Max.Preussner Media: Removed vertical NV12 alignment Change 3167029 on 2016/10/19 by Max.Preussner WmfMedia: Temp fix for RGB32 encoded AVIs rendering upside-down and too bright (UE-37505) #jira UE-37505 Change 3168593 on 2016/10/19 by Max.Chen Sequencer: Change paste at time to local time, so that the paste happens in the local time of the sequence rather than the global time if pasting in a shot level sequence. Change 3168626 on 2016/10/19 by Max.Chen Sequencer: Clamp to view bounds should snap to frame if frame snapping is on. Change 3168627 on 2016/10/19 by Max.Chen Sequencer: Initialize working and view range to be 10% larger than playback range. Change 3168760 on 2016/10/20 by Max.Preussner Media: Revamped media texture buffer management to support padded frames Added support for Windows bitmap buffers. Fixed a number of format, conversion and/or looping issues in WmfMedia and MfMedia. Not all shaders have been updated yet. Change 3169640 on 2016/10/20 by Max.Chen Sequencer: Add current camera to FLevelSequencePlayerSnapshot. Adjust DefaultBurnIn to include a few more parameters like focal length and focus distance. #jira UE-37407 Change 3170677 on 2016/10/21 by Max.Chen Movie Scene Capture: Add toggle to override engine scalability settings to cinematic scalability. #jira UE-36560 Change 3170710 on 2016/10/21 by Max.Preussner Media: Optimized handling of RGB input Change 3170712 on 2016/10/21 by Max.Preussner Media: Fixed NV21 conversion shader scaling Change 3170923 on 2016/10/21 by Max.Preussner UBT: Copied XboxOne project generator fix from Fortnite CL# 3170868 Change 3171494 on 2016/10/23 by Max.Chen Sequencer: Fix fbx export from master sequence not finding bound objects. #jira UE-35752 Change 3171506 on 2016/10/23 by Max.Chen Sequencer: Draw where in and out points of the shot section are, just like subsequences do. Change to only draw the green starting line if StartOffset is negative. #jira UE-35473 Change 3171743 on 2016/10/24 by Andrew.Rodham Editor: Added support for detail customizations on root structs - Also added the ability to add external struct data onto a detail category builder, and property type customization. Change 3171752 on 2016/10/24 by Andrew.Rodham Sequencer: Fixed spawnable ownership - Spawnables are no longer destroyed when the cursor leaves the master playback range. - Spawnable ownership now operates as it previously did before the evaluation rework. - bIgnoreOwnershipInEditor has been removed since its existence was a work around for when we didn't evaluate sub sequences from the master sequence. - FMovieSceneSequenceID is now a struct so that it can be used in array properties - Meta data now exists for each segment of an evaluation field. Currently this only includes the sub sequence IDs that exist at that time, but it may be expanded to include all evaluation entities (tracks + sections) in future so we don't have to calculate that at runtime. Change 3171756 on 2016/10/24 by Andrew.Rodham Sequencer: Added ability to trigger events with parameters - It's now possible to supply an event payload on event track keys which are to be passed to a given event. The structure must match the signature of the event, or a warning will be emitted. - Added a templated TGenericKeyArea, TKeyFrameManipulator and TCurveInterface that allow to generic manipulation of keyframe section data. In time we will port the other key areas over to this representation. - This new architecture affords the common manipulation of time-based keyframes in a value-agnostic manner. Change 3172935 on 2016/10/24 by Max.Preussner MediaPlayerEditor: Fixed MediaPlayer asset not being dirtied when creating media sound wave or texture for it Change 3173947 on 2016/10/25 by Max.Preussner SlateRemote: Disabled plug-in, but enabled server by default Change 3174510 on 2016/10/26 by Max.Chen Sequencer: Fix slomo track crash #jira UE-37802 Change 3174698 on 2016/10/26 by Andrew.Rodham UMG: Fixed objects bound to a panel slot animating their slot's content instead of the slot itself #jira UE-37775 Change 3174780 on 2016/10/26 by Max.Preussner MediaAssets: Accepting decoder defined buffer dimensions for RGB buffers Change 3174789 on 2016/10/26 by Max.Preussner MediaPlayerEditor: Showing desired player name instead of current player name if no media loaded Change 3174817 on 2016/10/26 by Max.Preussner WmfMedia: Added support for Motion JPEG (MJPG) Change 3174825 on 2016/10/26 by Max.Preussner WmfMedia: Added support for non-RGB32 uncompressed formats Change 3174834 on 2016/10/26 by Max.Preussner MediaPlayerAssets: Allow pausing while buffering media Change 3174886 on 2016/10/26 by Andrew.Rodham Core: Fixed range test that was testing incorrect behavior Change 3174889 on 2016/10/26 by Andrew.Rodham Sequencer: Fixed AssignActor behavior - Also ensure that cached object state is invalidated when playback context changes #jira UE-37798 Change 3174905 on 2016/10/26 by Andrew.Rodham Sequencer: Changed assert when failing to create an audio component to a log message - Audio no longer plays when GEngine->UseSound() is false #jira UE-37772 Change 3174980 on 2016/10/26 by Andrew.Rodham Sequencer: Remove warning when event endpoint could not be found for a given context #jira UE-37824 Change 3175001 on 2016/10/26 by Andrew.Rodham Sequencer: Evaluate sequence with EMovieScenePlaybackStatus::Jumping on Pause. - Also protect Pause() against reentrancy when being called from an event Change 3175012 on 2016/10/26 by Max.Chen Sequence Recorder: Fixes an empty working and view range after recording. On StopRecording() update playback range after nullifying the current sequence so that the playback range isn't empty. Added SetViewRange and SetWorkingRange. #jira UE-34191 Change 3177760 on 2016/10/28 by Max.Chen Sequence Recorder: Don't update the current sequence name if it's already set. This fixes a bug where if you pass in a sequence name to record to, it gets reset to the name in the sequence recorder settings. #jira UE-37808 Change 3178529 on 2016/10/28 by Max.Chen Matinee to Level Sequence: Added interface to extend the matinee to level sequence converter #jira UE-37328 #2864 [CL 3178562 by Max Chen in Main branch]
2016-10-28 15:04:38 -04:00
}
else if (NewStart <= UE::MovieScene::DiscreteExclusiveUpper(SelectionRange))
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3178529) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3149443 on 2016/10/03 by Max.Preussner MediaAssets: Better parameter names for MediaPlayer BP functions Change 3149756 on 2016/10/03 by Max.Chen Sequence Recorder: Set some settings to be clamped at 0 (sequence length, recording delay, audio gain, audio input buffer size, nearby actor recording proximity) #jira UE-35233 Change 3149795 on 2016/10/03 by Max.Chen Curve Editor: Set tangent to user when flattening or straightening tangents only when the tangent mode is auto and the interp mode is cubic. #jira UE-36734 Change 3150378 on 2016/10/04 by Max.Preussner PS4Media: Made video buffer sizes for file and HLS sources configurable (UE-36807) #jira UE-36807 Change 3151414 on 2016/10/05 by Max.Chen Sequencer: Fix case where restoring the last view target was getting skipped. It should always restore if the camera object and the unlock if camera actor object is null. #jira UE-35285 Change 3152038 on 2016/10/05 by Max.Preussner UdpMessaging: Code & documentation modernization pass Change 3152471 on 2016/10/05 by Max.Chen Cine Camera: Don't enable/disable actor ticking based soley on actor tracking since actor ticking is needed for other purposes. Instead, always enable actor ticking and only update actor tracking on tick if necessary. This fixes a bug where the cine camera actor won't tick if you hook in event tick. #jira UE-36625 Change 3152692 on 2016/10/05 by Max.Preussner Messaging: API code & documentation modernization pass Mostly removed shared pointer/ref typedefs as they prevent forward declarations and increase include complexity. Change 3153824 on 2016/10/06 by Max.Preussner Messaging: Renamed IConnectionBasedMessagingModule to ITcpMessagingModule and moved it into TcpMessaging I recommend that we refactor this API. The dependency should be reversed, i.e. instead of AndroidDeviceDiscovery depending on the TcpMessaging plug-in module, the Engine should provide a central registry that device discovery modules can notify, and that message transport plug-ins can register with and listen to OnConnectionAdded/Removed events etc. That way it supports an arbitrary number of transport plug-ins, and the Engine is not coupled to any of them. This functionality is not necessarily related to messaging, and the Messaging API is transport agnostic anyway. I'll think about this some more. Change 3153826 on 2016/10/06 by Max.Preussner Messaging: Removed remaining typedefs in IMessageTracer to enable forward declaration and reduce include dependencies Change 3153857 on 2016/10/06 by Max.Chen Sequencer: Set snap time to dragged key on by default. Change 3153980 on 2016/10/06 by Max.Preussner SessionServices: Removed typedefs; code and documentation modernization pass Change 3154313 on 2016/10/06 by Max.Chen Sequencer: Set the paste keys time to the current time, rather than the mouse time. Change 3154332 on 2016/10/06 by Max.Chen Sequencer: Remove click to rename shot functionality in the shot thumbnail. Added rename shot to the shot context menu. Change 3154377 on 2016/10/07 by Max.Chen Sequencer: Add ability to step to beginning and ends of sections/shots using the hotkeys: , and . Change 3154788 on 2016/10/07 by Max.Chen Sequencer: Fix offsets that created when moving multiple sections. The offsets were being created because section bounds were being generated for all sections except for the current section. Instead, they should be computed for all sections except for any that aren't being moved. #jira UE-29152 Change 3159274 on 2016/10/11 by Max.Preussner Core: Documentation fixes Change 3159275 on 2016/10/11 by Max.Preussner UdpMessaging: Added missing header Change 3160746 on 2016/10/12 by Max.Preussner MediaAssets: Added BP functions to query width, height, and aspect ratio of UMediaTexture instances #jira UE-37241 Change 3160975 on 2016/10/12 by Max.Preussner PS4Media: Better logging for SetRate failures Change 3160995 on 2016/10/12 by Max.Preussner MediaPlayerEditor: Fixed Media player selection is ignored if media specifies player overrides (UE-37248) #jira UE-37248 Change 3161066 on 2016/10/12 by Max.Preussner PS4Media: Enforcing minimum 8 byte alignment for media allocations Change 3161069 on 2016/10/12 by Max.Preussner PS4Media: Fixed log spam when setting play rate to current rate Change 3162567 on 2016/10/13 by Max.Preussner PS4Media: Made track switching code more readable Change 3163447 on 2016/10/14 by Max.Preussner PS4Media: Fixed array out of bounds assertions Change 3163772 on 2016/10/14 by Max.Preussner MfMedia: Fixed a number of timing related issues Change 3163980 on 2016/10/15 by Max.Chen Sequencer: Remove folder name numeric padding so that the naming convention is similar to creating objects in the level. Change 3164581 on 2016/10/17 by Andrew.Rodham Sequencer: Ensure global pre-animated state is restored in reverse order Change 3164582 on 2016/10/17 by Andrew.Rodham Sequencer: Ensure pre animated state is restored for all actor components before saving default state Change 3164583 on 2016/10/17 by Andrew.Rodham Sequencer: Re-enabled support for pre and post roll Change 3165464 on 2016/10/17 by Max.Chen Sequencer: Default number frame handles to 0 so that there's no change in behavior when rendering out a master sequence of shots. Handle frames need to enabled explicitly by the user. Copy from Release-4.14 #jira UE-37416 Change 3165483 on 2016/10/17 by Max.Chen Sequencer: Enable restore state for attach section completion Change 3165771 on 2016/10/18 by Andrew.Rodham Sequencer: Force evaluate when rendering thumbnails #jira UE-37321 Change 3166057 on 2016/10/18 by Andrew.Rodham Sequencer: Only set defaults for tracks that have no keys, and where the requested default has changed #jira UE-37285 Change 3166218 on 2016/10/18 by Max.Preussner MediaPlayerEditor: Failure opening media, even though it opened successfully (UE-37470) #jira UE-37470 Change 3166247 on 2016/10/18 by Max.Preussner WmfMedia: Showing progress bar while media is being resolved Change 3166289 on 2016/10/18 by Max.Preussner MfMedia: Showing progress bar while media is being resolved Change 3166993 on 2016/10/18 by Max.Preussner MfMedia: Fixed info string not reset on media close. Change 3166999 on 2016/10/19 by Max.Preussner Media: Fixed NV12 and NV21 support Change 3167008 on 2016/10/19 by Max.Preussner Media: Removed vertical NV12 alignment Change 3167029 on 2016/10/19 by Max.Preussner WmfMedia: Temp fix for RGB32 encoded AVIs rendering upside-down and too bright (UE-37505) #jira UE-37505 Change 3168593 on 2016/10/19 by Max.Chen Sequencer: Change paste at time to local time, so that the paste happens in the local time of the sequence rather than the global time if pasting in a shot level sequence. Change 3168626 on 2016/10/19 by Max.Chen Sequencer: Clamp to view bounds should snap to frame if frame snapping is on. Change 3168627 on 2016/10/19 by Max.Chen Sequencer: Initialize working and view range to be 10% larger than playback range. Change 3168760 on 2016/10/20 by Max.Preussner Media: Revamped media texture buffer management to support padded frames Added support for Windows bitmap buffers. Fixed a number of format, conversion and/or looping issues in WmfMedia and MfMedia. Not all shaders have been updated yet. Change 3169640 on 2016/10/20 by Max.Chen Sequencer: Add current camera to FLevelSequencePlayerSnapshot. Adjust DefaultBurnIn to include a few more parameters like focal length and focus distance. #jira UE-37407 Change 3170677 on 2016/10/21 by Max.Chen Movie Scene Capture: Add toggle to override engine scalability settings to cinematic scalability. #jira UE-36560 Change 3170710 on 2016/10/21 by Max.Preussner Media: Optimized handling of RGB input Change 3170712 on 2016/10/21 by Max.Preussner Media: Fixed NV21 conversion shader scaling Change 3170923 on 2016/10/21 by Max.Preussner UBT: Copied XboxOne project generator fix from Fortnite CL# 3170868 Change 3171494 on 2016/10/23 by Max.Chen Sequencer: Fix fbx export from master sequence not finding bound objects. #jira UE-35752 Change 3171506 on 2016/10/23 by Max.Chen Sequencer: Draw where in and out points of the shot section are, just like subsequences do. Change to only draw the green starting line if StartOffset is negative. #jira UE-35473 Change 3171743 on 2016/10/24 by Andrew.Rodham Editor: Added support for detail customizations on root structs - Also added the ability to add external struct data onto a detail category builder, and property type customization. Change 3171752 on 2016/10/24 by Andrew.Rodham Sequencer: Fixed spawnable ownership - Spawnables are no longer destroyed when the cursor leaves the master playback range. - Spawnable ownership now operates as it previously did before the evaluation rework. - bIgnoreOwnershipInEditor has been removed since its existence was a work around for when we didn't evaluate sub sequences from the master sequence. - FMovieSceneSequenceID is now a struct so that it can be used in array properties - Meta data now exists for each segment of an evaluation field. Currently this only includes the sub sequence IDs that exist at that time, but it may be expanded to include all evaluation entities (tracks + sections) in future so we don't have to calculate that at runtime. Change 3171756 on 2016/10/24 by Andrew.Rodham Sequencer: Added ability to trigger events with parameters - It's now possible to supply an event payload on event track keys which are to be passed to a given event. The structure must match the signature of the event, or a warning will be emitted. - Added a templated TGenericKeyArea, TKeyFrameManipulator and TCurveInterface that allow to generic manipulation of keyframe section data. In time we will port the other key areas over to this representation. - This new architecture affords the common manipulation of time-based keyframes in a value-agnostic manner. Change 3172935 on 2016/10/24 by Max.Preussner MediaPlayerEditor: Fixed MediaPlayer asset not being dirtied when creating media sound wave or texture for it Change 3173947 on 2016/10/25 by Max.Preussner SlateRemote: Disabled plug-in, but enabled server by default Change 3174510 on 2016/10/26 by Max.Chen Sequencer: Fix slomo track crash #jira UE-37802 Change 3174698 on 2016/10/26 by Andrew.Rodham UMG: Fixed objects bound to a panel slot animating their slot's content instead of the slot itself #jira UE-37775 Change 3174780 on 2016/10/26 by Max.Preussner MediaAssets: Accepting decoder defined buffer dimensions for RGB buffers Change 3174789 on 2016/10/26 by Max.Preussner MediaPlayerEditor: Showing desired player name instead of current player name if no media loaded Change 3174817 on 2016/10/26 by Max.Preussner WmfMedia: Added support for Motion JPEG (MJPG) Change 3174825 on 2016/10/26 by Max.Preussner WmfMedia: Added support for non-RGB32 uncompressed formats Change 3174834 on 2016/10/26 by Max.Preussner MediaPlayerAssets: Allow pausing while buffering media Change 3174886 on 2016/10/26 by Andrew.Rodham Core: Fixed range test that was testing incorrect behavior Change 3174889 on 2016/10/26 by Andrew.Rodham Sequencer: Fixed AssignActor behavior - Also ensure that cached object state is invalidated when playback context changes #jira UE-37798 Change 3174905 on 2016/10/26 by Andrew.Rodham Sequencer: Changed assert when failing to create an audio component to a log message - Audio no longer plays when GEngine->UseSound() is false #jira UE-37772 Change 3174980 on 2016/10/26 by Andrew.Rodham Sequencer: Remove warning when event endpoint could not be found for a given context #jira UE-37824 Change 3175001 on 2016/10/26 by Andrew.Rodham Sequencer: Evaluate sequence with EMovieScenePlaybackStatus::Jumping on Pause. - Also protect Pause() against reentrancy when being called from an event Change 3175012 on 2016/10/26 by Max.Chen Sequence Recorder: Fixes an empty working and view range after recording. On StopRecording() update playback range after nullifying the current sequence so that the playback range isn't empty. Added SetViewRange and SetWorkingRange. #jira UE-34191 Change 3177760 on 2016/10/28 by Max.Chen Sequence Recorder: Don't update the current sequence name if it's already set. This fixes a bug where if you pass in a sequence name to record to, it gets reset to the name in the sequence recorder settings. #jira UE-37808 Change 3178529 on 2016/10/28 by Max.Chen Matinee to Level Sequence: Added interface to extend the matinee to level sequence converter #jira UE-37328 #2864 [CL 3178562 by Max Chen in Main branch]
2016-10-28 15:04:38 -04:00
{
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3946692) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3801826 by Max.Chen PR #4304: Level Sequence crash fix - Guarded against dereferencing null componen. (Contributed by DSDambuster) Change 3801828 by Max.Chen PR #4302: Movie Scene Visibility Template unitialised variable, causing random . (Contributed by DSDambuster) Change 3801837 by Max.Chen Sequencer: Delay spawning/construction for convert to possessable. This fixes a bug where property values would be lost when converting back and forth from possessable to spawnable. #jira UE-52400 Change 3801841 by Max.Chen Sequencer: Make spacer nodes not selectable. PR #4194: Improvements to Sequencer (Contributed by projectgheist) #jira UE-53117 #jira UE-52139 Change 3804183 by Max.Preussner MediaAssets: Added missing lock in media sound component Change 3805414 by Max.Preussner MediaAssets: Setting valid GUID when initializing media texture resource Change 3819578 by Max.Chen PR #4370: When enabling the "MovieCapture", do not turn off the Stereo-3D display. (Contributed by yehaike) #jira UE-53647 Change 3823414 by Max.Chen Curve Editor: Lock down the first and last keys in the redundant keys removal range so that they're unaffected. #jira UE-53591 Change 3826406 by Max.Chen Sequencer: Move OnStartedPlaying() to within first update in UpdateTimeCursorPosition(). This fixes an issue where setting the hud/player visibility was getting stomped on later. #jira UE-52772 Change 3827044 by Max.Preussner MediaAssets: Added sprite visualization to media sound component #jira UE-53594 Change 3827988 by Max.Preussner MediaPlayerAssets: Fixed Media Texture is not linked to Media Player when created together #jira UE-53532 Change 3828506 by Max.Preussner MediaPlayerEditor: Added attenuation visualizer for media sound components #jira UE-53594 Change 3832590 by andrew.porter EngineTest: Added a keep state check in Property Animation sequencer test Change 3833053 by andrew.porter EngineTest: Adding Hierarchical Bias test Change 3835683 by andrew.porter EngineTest: Adding UMG Animation screenshot test Change 3836076 by Max.Chen Sequencer: Fix audio volume and pitch multiplier deprecation. Change 3836230 by andrew.porter EngineTest: Adding Sequence Bone Position automation test Change 3836347 by Max.Chen Sequencer: Fixes to shot name parsing. When a shot doesn't contain a shot number, assume, [ShotName]_[TakeNumber]. When duplicating a shot, put the new shot in the same path of the original shot, so that the take numbers will increment properly. #jira UE-51868 Change 3836552 by Max.Chen Sequencer: Sub section now has a takes menu Change 3838094 by Max.Chen UMG: Fix template finish not getting called on stop. This fixes a bug where sections aren't restored when finished. #jira UE-52285 Change 3838708 by Max.Chen Sequencer: Add notification when the blend type is changed. #jira UE-54046 Change 3840295 by Max.Chen Sequencer: Fix copy/paste crash for lights #jira UE-54084 Change 3840957 by Mike.Zyracki Added Show Only Keyable and Show Only Animated to the filter list in the property editor. Added IsPropertyAnimated to IDetailKeyframe Interface which already had support for showing properties which are keyable (which is used for the key icon next to the properties.). Could have created another interface but then would have had to mimic the sequencer binding, releasing also, so this seemed best way. One issue still left is that custom built detail items currently don't store associated properties(usually) and so certain properties, in particulalry transforms, won't show up as keyable or animated. Note this also shows up with the keyable icon not showing up next to transform tracks, and other filters like Show Only Modified not working with transforms/customs. Not sure best way to tackle this. #jira UESEQ-328 Change 3841756 by Max.Chen Sequencer: Fix unbound possessable components when pasting spawnables. #jira UE-54104 Change 3843950 by andrew.porter EngineTest: Renaming LevelStreaming tests/content to LevelVisibility Change 3844082 by Mike.Zyracki Missing file for animated filter in property editor. When finding if a track is animated we need to find it but we can't easily induce the MovieTrack class for any particular property. So we don't set a class for it and just search by it's ID and name. #jira UESEQ-328 Change 3846902 by Max.Preussner ImgMedia: Fixed image media player never finished initialization if loading failed #jira UE-54247 Change 3849820 by Mike.Zyracki Reassigning deleted widgets didn't work since the menu extender mechanism needs a valid UObject in order to perform an operation on it. So to fix we replaced GetObjectBindingContextMenuExtender in WidgetBlueprint with new delegate mechanism (OnBuildCustomContextMenuForGuid) that supports FGuid in addition to UObjects which is needed to handle re-binding deleted widgets. Note that the default sequencer hacks this for replacing deleted actors in SequencerObjectBindingNode to check to see if a LevelSequence is active. We could move to this mechanism there also. #jira UE-53163 Change 3852211 by Max.Chen UMG: Indicate name of the property that is not bound. #jira UE-54350 Change 3854120 by Max.Chen Sequencer: Fix sibling folders being allowed to have the same folder name. #jira UE-54363 Change 3854627 by Max.Chen Sequencer: Step to next/previous key should work for all tracks if there aren't any selected. #jira UESEQ-391 Change 3855825 by andrew.porter EngineTest: Adding animation blending automation test Change 3855950 by andrew.porter EngineTest: Adding correct expected valuues to animation blending test Change 3856237 by Matt.Hoffman UESEQ-336 - Sequencer Track Reordering Adds the ability to re-order Master Tracks, Folders and Object Bindings within sequencer hierarchies (including UMG). Adds the ability to do a one-off sorting of the content under the old sorting behavior if the user wants to reset their layout to how it was under legacy behavior. Modifies SequencerTrackNodes, SequencerFolderNodes and SequencerObjectBindingNodes to handle CanDrop/OnDrop for above, below and ontop of. Fixes a Slate Issue that forcibly expanded a TreeviewRow if an item handled OnDrop. Slate will now only forcibly expand the row if the item says the drop happened ontop of the item, and not above or below it like it previously did. Change 3856503 by andrew.porter EngineTest: Adding automation test for using animation blueprint with blend multi node in sequencer Change 3857875 by Max.Chen Sequencer: Assign the sequence id after the template is compiled. #jira UE-54462 Change 3858344 by Max.Chen Sequencer: Prevent Goto and Transform boxes from overlapping by allowing them to be visible at the same time in an autosized horizontal box. Also, added close button to the goto box. PR #4425: Prevent Goto and Transform boxes from overlapping in Sequencer ... (Contributed by projectgheist) #jira UE-54210 Change 3860566 by andrew.porter MediaFrameworkTest: Set the option to index 0 for the audio and video track list by default Change 3860654 by andrew.porter EngineTest: Enabling Camera Cut + FOV test Change 3860981 by andrew.porter EngineTest: Updating skeletal mesh tests with a delay after set playback position Change 3861256 by Max.Chen Sequencer: Add all bindings if none selected. #jira-54440 Change 3862154 by Andrew.Rodham Added TimeManagement module Change 3862424 by andrew.porter EngineTest: Turned on the test Bone Positions with Blend Multi Node Change 3862573 by andrew.porter EngineTest: Adding test to compare bone positions in a sequence that is blending an animation that is using an AnimBP Change 3865117 by Max.Chen Sequencer: Stop auto scroll on mouse release of movement. #jira UE-31212 Change 3865303 by Max.Chen Sequencer: Add drag and drop transactions #jira UE-54662 Change 3865304 by Max.Chen Sequencer: Fix crash when an actor factory is not found. Change 3865361 by Max.Chen Sequencer: Don't change the camera/shot lock button when popping out of a sequence. #jira UE-54665 Change 3865412 by Max.Chen Sequencer: Determine whether a transform track is for a camera by using the spawned object or template #jira UE-54666 Change 3865685 by Max.Chen Sequencer: Clear autoscrub offset when stopping autoscroll #jira UE-31212 Change 3865886 by Max.Chen Sequence Recorder: Log an error if the number of frames changes while recording. This can happen if the skeleton changes while recording. #jira UE-48715 Change 3866925 by Andrew.Porter MediaFrameworkTest: Changing the current PNG test video image sequence to 1024 x 576 Change 3867705 by andrew.porter QAGame: Adding Audio Sort Sequence to dev folder Change 3867890 by andrew.porter QAGame: Adding a sequence for testing a sorting crash to my dev folder Change 3872628 by Max.Chen Movie Scene Capture: Split delay before warmup into split delay before shot warmup so that there's separate controls for when the movie scene capture warmups up vs. shot boundaries. Change 3873131 by Matt.Hoffman UE-54732 - Crash reordering a folder with a track. This was caused by folders being the only type of track to check if someone was putting a parent track into a child track. Object Binding tracks and Tracks now check as well so that you can't use the above/below drop targets to add parents as children. This also fixed a typo in the localization keys. #jira UE-54732 Change 3873301 by Mike.Zyracki Added ability to support continous euler angle changes when changing rotations, in particularly with the rotation gizmo's. To do this we effectively added a form an of 'euler filter'(https://en.wikipedia.org/wiki/Euler_filter) to find the closest euler angle to the current euler angle. Three functions were added to FRotator to make this possible, one to get the euler angle that's has the same rotation as it, one to get the difference between two euler angles via Manhattan distance and a third using the previous two to choose a Rotator value that's closest to it. We then use these functions before calling UComponent::SetRelativeRotation to make sure we use the correct Euler after the Quat conversion. We also no longer limit(bound) the euler angles to -180,180, which is obviously necessary to avoid flips. I also changed how we caluclate yaw and roll when pitch is -90 or 90 to make it the standard approach of zeroing out roll and just setting yaw. Main reasons are the previous implementation had precision issues so things like 180, 90, -180 would show up due to numbers being nearly zero but negative,(this would break any smooth interpolations), and this facilitates having a 'gimbal' rotation mode (like Maya, Blender etc..) if we ever want that also. If needed we could keep the previous implementation but would need to add some FMath::IsNearlyZero checks, with less performance. Note we only do this special filtering when applying delta's to actors or components in the editors, which then call UComponent::SetRelativeRotationExact, which is a new function to foces the RelativeRotation to be equal to the new rotation. This allows us to store un-nomalized Rotators at the cost that the RotationCache may be broken. We didn't change any of the other UComponent functions that set rotations (via Quats or Transforms) so they will still be bounded and unwound. In SetInternalWorldLocationAndRotation we only set the rotation if the rotation has changed, which fixes the rotation getting changed and re-normalized if just translate happens. In TransformTrackEditor, we correclty use the bUndwing flag and in MovieScene3DTransformSection there was an un-needed winding check there, it will be unwound earlier if needed, which happens if Sequence Recording is happening. Max we should talk about what to do about this . Note the euler angle drag via the widget is still bound to 0-360. I think we should just unbound that now since the rotations value are now unbound. This review now includes fixes suggested by Zak. #jira UE-UE-22228 Change 3873483 by Matt.Hoffman Sequencer Tracks can now be inserted above the spacer at the bottom of the tree. #jira UE-54706 Change 3873899 by Max.Chen Sequencer: Add section selection throbbing Change 3873908 by Max.Chen Movie Scene Capture: Added logging per frame Change 3873924 by Matt.Hoffman Adds the ability to store Sequence Recorder setups into profiles that stay with the map and can be re-loaded later. Profiles store the Actor Recordings so the settings for each actor should carry with them. #jira UESEQ-339 Change 3874726 by Matt.Hoffman Disable drag-and-drop targets on spacers that come between rows in Sequencer. This prevents extra drag/drop targets showing up between each row. #jira UE-54706 Change 3874862 by Matt.Hoffman Audio Track no longer gets reordered when adding sub-audio tracks, as sub-tracks are no longer counted towards the sorting order index when normalizing indexes. #jira UE-54727 Change 3875905 by Matt.Hoffman Disable Fade Track UI if a fade track already exists in the sequence. #jira UESEQ-393 Change 3876163 by Max.Chen Sequencer: Swap the camera object to the camera component's owner if it's not the same. #jira UE-54874 Change 3876971 by Andrew.Porter EngineTest: Moved Media Player Seek test to new folder. Also enabled the test with new ground truth image. Change 3877040 by Max.Chen Cine Camera: Split camera properties to two groups, "Camera Options" and "Camera Settings". The cine camera now hides properties in the "Camera Settings" group so that properties like bConstrainAspectRatio (in the "Camera Options" group) can be visible. #jira UE-54192 Change 3877763 by Max.Chen Curve Editor: Fix curve changed on end drag so that only curves that had keys/tangents that were changed receive notification, otherwise all loaded curves were getting notified that they were changed. #jira UE-54951 Change 3878234 by Matt.Hoffman Disable "Drop Below" targets for Sequencer Tree nodes to prevent a confusing UX issue where dropping underneath a Object Binding Node puts it after the object binding node but the UI looks like it's inserting it inside the Object Binding node. #jira UE-54743 Change 3879359 by Mike.Zyracki If a track is inactive we dim it a bit which seems to be the UE4 way to show inactive or disabled state. We changed the active logic so that all subtracks need to be inactive for the track to also be inactive(instead of all active for active). This conforms to how the active state actually works, e.g if you have two sections and only one is active the track is still active above it. #jira UESEQ-388 Change 3879462 by Max.Chen Sequencer: Allow dragging onto a particular row which would move out any overlapping sections to make space for the newly created section. Newly created sections are now selected and throbbed to draw attention to themselves. #jira UE-54664 Change 3879464 by Max.Chen Sequencer: Fixed overlapping ranges being inserted into the evaluation field during compilation - The issue was that track segments that had been combined with adjacent segments (due to them being identical) would potentially cause a subsequently compiled frame to overlap with a range that had already been inserted into the evaluation field. - The insertion code previously asserted that only minor overlaps were catered for (due to fp rounding errors) and assumed that a supplied range could not entirely contain any other range in the field. - The solution is to supply the insertion time along with the range to know exactly where the data should live in the field, and crop the range to the maximum allowable space between adjacent ranges. #jira UE-54922 Change 3879590 by Matt.Hoffman Items that are now added to the Sequencer via the "+Track" menu will be selected after being added. Items can now be added inside of folders instead of just to the root level. #jira UE-27397 Change 3879612 by Mike.Zyracki Display Nodes with no children are always active. #jira UESEQ-388 Change 3879730 by Matt.Hoffman Sequence Recorder's actor recording groups now remove items from the group when removed via the UI. #jira UESEQ-339 Change 3880256 by Mike.Zyracki Fix issue with inactive display with folders and other track nodes. #jira UESEQ-388 Change 3883491 by Max.Chen Fix issue where tick is skipped due to last ticked pose isn't cleared after AnimInstance changes. Copy from Release-4.19 #jira UE-51323 Change 3883603 by Max.Chen Movie Scene Capture: Add option toggle disable screen percentage. By default this is on (no change in current behavior). #jira UE-51898 Change 3885074 by Max.Preussner MediaCompositing: Resetting media texture & freeing resource on section end; removed dead code Change 3887220 by Max.Preussner MediaCompositing: Defaulted media section duration to 1 sec (since we do not know the actual duration in most cases) Change 3887478 by Matt.Hoffman Sequences now show [Inactive] in their title bars when they're disabled. This helps communicate why a sequence isn't being evaluated. #jira UE-51469 Change 3888985 by Max.Chen Movie Scene Capture: Clamp HDR Compression Quality between 0 and 1. #jira UE-55136 Change 3893519 by Max.Chen Sequence Recorder: Clarified tooltip for bRecordNearbySpawnedActors - spawned actors will still be recorded if they match the ActorFilter. #jira UE-55238 Change 3893546 by Max.Chen Sequence Recorder: If a selected actor already has a recording, add a blank recording. #jira UE-55239 Change 3894044 by Max.Preussner MediaCompositing: Added support for seeking into a media section Change 3894310 by andrew.porter MediaFrameworkTest: Adding Img media sources for 1080 and 2160 ravent test content Change 3894426 by Max.Preussner MediaAssets: Letting media textures with AutoClear retain their clear color when player is reset Change 3895717 by Max.Chen Sequencer: Null checks to prevent crash when saving the default state of a spawnable #jira UE-55304 Change 3897388 by Max.Chen Sequencer: Don't update current time to be within the view range when stepping into a sequence. #jira UE-55322 Change 3897452 by Max.Chen Audio: Fix crash when trying to record audio without any active capture devices. Log warning if the number of input channels is not 1 or 2. #jira UE-55223 Change 3897619 by Max.Preussner MediaCompositing: Removed commented out code Change 3898072 by Max.Chen Sequencer: Override the animation asset in the player state if it doesn't match the animation asset that's being evaluated. #jira UE-55328 Change 3898272 by Max.Preussner MediaPlayerEditor: Made slate brush constants static Change 3898704 by Max.Chen Sequencer: Skip if the binding id's sequence can't be found. #jira UE-55337 Change 3899855 by Max.Preussner MediaCompositingEditor: Added cache state visualization to media track Change 3900300 by Max.Preussner MediaCompositingEditor: Added loop indicators to media sections Change 3900694 by Max.Preussner ImfMedia: Looping cache only when player is looping Change 3900892 by Max.Preussner Stats: Added stats category for media framework Change 3900954 by Max.Preussner MediaCompositing: Don't evaluate at the end of media section Change 3901348 by Max.Preussner Core: Replaced TLruCache autos for better readability Change 3901655 by Max.Preussner ImgMedia: Added more perf stats to EXR reader Change 3901972 by Max.Preussner MediaAssets: Added getter for media player in media sound components Change 3902233 by Max.Preussner MediaAssets: Enabling media textures to receive samples right after player is assigned Change 3902238 by Max.Preussner MediaCompositing: Working around init/shutdown idiosyncracies in sequencer Change 3904045 by Max.Chen Sequencer: Fix copy/paste crash. Only process UMovieSceneCopyableBinding and objects that can be spawned by the movie scene spawn register. #jira UE-55314 Change 3905605 by Max.Chen Sequencer: Restrict spawnables from being created if they have a ClassWithin that UMovieScene is not a child of. #jira UE-55429 Change 3906550 by Max.Chen Sequencer: Add media track icon #jira UE-55480 Change 3907101 by Max.Chen Sequence Recorder: Fix bugs related to not recording a level sequence. There were certain assumptions that creating a level sequence meant that sequence recording was in progress. This is not always the case - the recorders can record animation assets and not create a level sequence. Changed the notion of IsRecording() to having at least one actor recording that is recording. Countdown timer, recording displays, etc should function if IsRecording() and not based on whether a level sequence is created. #jira UE-55485 Change 3907247 by Max.Chen Sequence Recorder: Fix crash not removing PrepareToCleanseEditorObject delegate. Repros when opening sequence recorder, closing it, and then opening or creating a level. Change 3910343 by Max.Preussner Core: Added async helper for executing functions on a given thread pool Change 3910346 by Max.Preussner ImgMedia: Added separate thread pools for loading/decoding and deleting image frames Change 3910829 by Max.Preussner Profiler: Increased visible range of profiler graph Change 3910841 by Max.Preussner MediaCompositing: Displaying asset name instead of full media source path in media section Change 3910870 by Max.Preussner ImgMedia: Using deallocation thread pool only in debug builds Change 3919642 by Max.Chen Sequence Recorder: Clarify active tooltip #jira UE-55661 Change 3919660 by Max.Chen Sequencer: Sequence template source signatures are now also compared to catch the case where a sub-sequence asset has been saved but not modified - The following sequence of events exposes this issue: - Create a master sequence with a single shot that spawns a cube - Add this sequence to a level and set it to auto-play - Save everything and restart - Resave just the inner shot asset without opening it - PIE - The inner shot never spawns its cube because its template was wiped on save, but its signature never changed. Since the master sequence previously didn't check the template source signature, it ends up trying to evaluate an empty template. #jira UE-55626 #jira UE-55490 Change 3921825 by Max.Chen Sequencer: "Run Construction Script in Sequencer" is off by default for blueprints but on for Sequencer. This allows the content author to switch it on for specific blueprints and sequencer will be default, run those with construction scripts enabled. Change 3922232 by Max.Chen Sequence Recorder: Reset countdelay on stop. #jira UE-55755 Change 3922306 by Max.Chen Sequence Recorder: Don't automatically mark transforms to be recorded by sequence recorder. Instead, log a warning if the user toggled it off to warn that the resulting animation might not match gameplay. #jira UE-55758 Change 3922912 by Max.Chen Sequence Recorder: Fix refresh next sequence name #jira UE-55757 Change 3927654 by Max.Chen Movie Scene Capture: Added format mapping for the name of the current camera #jira UE-55769 PR #4537 Change 3927658 by Max.Chen Sequencer: Added fbx property mapping for "FocusDistance" to "FocusSettings.ManualFocusDistance" #jira UE-55782 Change 3932022 by Max.Chen Sequencer: Add import animation track section to next available row index. #jira UE-55892 Change 3933919 by Max.Chen Sequencer: Jump to playback start frame and not 0 to start playback for recording. #jira UE-55933 Change 3934307 by Andrew.Rodham Sequencer: Add template signature that is re-generated every time the base template is regenerated, which invalidates evaluation fields This fixes an issue where the same sequence is instantiated multiple times in a sequence. If the source sequence was saved, its template would be wiped, which would invalidate the template ID When an instance tries to evaluate the master template, it would only invalidate a range in the evaluation field that was the hull of any invalid sub sequences overlapping the current time, potentially leaving invalid data in the evaluation field at positions later (or earlier) on in the sequence When the sub template was re-generated, it receives the same SequenceSignature as it had before (because the sequence hasn't actually changed), which causes the stale evaluation field data to fail the IsDirty check (because the sequence is the same as it thought, but the *template* has changed) This has been addressed be adding a signature to templates themselves, and checking both the template signature and sequence signature as a part of the IsDirty check. This ensures that we regenerate if either the template, or the sequence have changed. #jira UE-55934 Change 3936327 by Andrew.Rodham Sequencer: Removed increment when trimming right UMovieSceneSection::TrimSection already explicity assigns an exclusive bound to the time passed in. The new behavior means we can trim a section to the right, and insert another section without changing the time to create adjacent sections. #jira UE-42652 Change 3936328 by Andrew.Rodham Fixed KeyFrameManipulator assignment operators and copy/move constructors - These types are potentially self-referential so cannot use default constructors/assignment Change 3936330 by Andrew.Rodham Converted UMGSequencePlayer to use frames internally #jira UE-54878 Change 3936726 by Max.Chen Sequencer: Set track node as the parent of the key area node. The key area switcher needs the object binding id from the parent object binding node. Without this, the binding to the external value fails. #jira UE-55931 Change 3936775 by Max.Chen Sequencer: Should stop or loop should compare DurationFrames with Current Time from StartTime. The bug is that if you set 30 warmup frames in movie rendering for a range of 0-100, the FrameRange will be starting at -30 and have a duration of 130. Without this fix, the playback will continue until frame 130, rather than 100. #jira UE-55933 Change 3936935 by Matt.Hoffman Easing Curves are now represented in Play Rate resolution instead of internal resolution. #jira UE-55937 Change 3937069 by Matt.Hoffman Users can toggle if the is infinite on each side, limited by which tracks support infinite ranges. #jira UE-55891 Change 3937516 by Max.Preussner ImgMedia: Added support for single-threaded platforms #jira UE-55986 Change 3937826 by Max.Preussner MediaAssets: Disabling media sound components on HTML5 if AudioMixer is not enabled Change 3937997 by Max.Chen Curve Editor: Add Zoom to Fit Curves so that selected curves from Sequencer can be focused on. Tested that undo doesn't re-zoom. #jira UE-55935 Change 3938000 by Max.Chen Sequencer: Stop all sounds before generating audio waveforms. #jira UE-55951 Change 3938376 by Max.Preussner XGEController: Disabled XGE Controller in single-threaded apps to prevent crash Change 3938444 by Max.Preussner Core: Added async support for single-threaded applications Change 3938445 by Max.Preussner Networking: Added support for single-threaded applications in UDP socket sender/receiver Change 3938447 by Max.Preussner Messaging: Added support for single-threaded applications Change 3939432 by Max.Chen Sequence Recorder: Append command list to global level editor actions so that shortcuts are accessible in level editor. #jira UE-55798 Change 3940229 by Andrew.Rodham Added prospective display rate upgrade to UMovieScene::PostLoad - There was previously some very odd behaviour that would assign the fixed frame interval only when a sub sequence was focused in SSequencer. This meant that many sequences could have a frame interval of 0 set in the data. - Under the old method of snap interval display this would have fallen back to getting the display interval from the sequencer settings, but we no longer look at these. - The USequencerSettings properties have been removed and in their place, a prospective data upgrade for sequences that have a fixed frame interval old 0fps that sets the play rate to the previous defaults based off the old USequencerSettings defaults. - This could end up 'changing' the display rate for sequences where the user has changed the snap interval in the settings for a particular sequence editor, but there's not much we can do about that given we don't have access to the USequencerSettings classes in UMovieScene #jira UE-55919 Change 3940277 by Andrew.Rodham Sequencer: Added ability to default frame resolutions and play rates for newly created actor sequences Change 3940378 by Andrew.Rodham Sequencer: Post move import dialog now defaults to the playback framerate of the sequence, and floors to frame numbers Change 3940559 by Andrew.Rodham Reinstated primed or recording sequence color Change 3940642 by Max.Preussner ImagePlate: Removed image plate media playback functionality Change 3940843 by Max.Preussner Core: Made TCircularQueue actually thread-safe; improved code comments Change 3940860 by Max.Chen Sequencer: Changed StructNameToKey to StructPathToKey Previously, keying a PropertyPath of [RenderTransform][Shear][X] would get trimmed to X, which doesn't map to a channel name as considered by Sequencer2dTransformTrackEditor. Instead, trim the resulting property path to [Shear][X] so that track editors can determine the desired struct path and channels to key. #jira UE-52966 Change 3941292 by Mike.Zyracki Fix for trajectories out of range not showing up. 1) If we had no key data we would pop the time, so wouldn't get the section ranges. 2) Calculating of upper bound was wrong, checking against -1 and not key == num of keys when doing algo::lower_bound. 3) No need to do the Bck-- for the bakward iterators since we fixed #2. We start now from the upper bound correctly. 4) If we had no keys (at section start,end) we would incorrectly say we were any key type, so since we draw constant keys as dashed we would do so incorrectly around section end points. #jira UE-55929 Change 3941424 by Max.Chen Curve Editor: Change Zoom to Fit to use TArrayView Change 3941498 by Max.Preussner Core: Added FMath::DivideAndRoundNearest function Change 3942097 by Matt.Hoffman Drop Frame Timecode Support for NTSC rates. Change 3942104 by Matt.Hoffman Sequence Recorder Group is no longer visible inside the World Outliner after using one. #jira 55266 Change 3942107 by Max.Chen Sequencer: Resurrect logic to find or extend an existing section when adding keys. Change 3942330 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942339 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942507 by Andrew.Rodham Sequencer: We no longer pad the time overlap threshold with a small number that is not scaled by the current zoom level - The presence of this pad was causing keys that were far apart to be grouped when zoomed in a long way Change 3942509 by Andrew.Rodham Sequencer: Only pad total view range, rather than section range as well when retrieving keys to render - This stops us from rendering keys that are within the view range, but outside the section range Change 3942512 by Andrew.Rodham Added transactions to some sequencer details customizations Change 3942513 by Andrew.Rodham Sequencer: Reinstated validation checks to UMovieSceneSection::SetStartFrame and SetEndFrame, changed erroneous uses to use SetRange Change 3942560 by Andrew.Rodham Pass by rvalue reference to appease error C2719 on Win32 ('InChannels': formal parameter with requested alignment of 8 won't be aligned) Change 3942697 by Andrew.Rodham Newly Created Level Sequences and Actor Sequences now default to 24000 fps frame resolution (+/- ~24hrs range, supporting all integer rates + 23.976) Change 3942700 by Andrew.Rodham Sequencer: Added legacy out-of-bounds errors for times that are not supported by the current legacy upgrade frame resolution Change 3942989 by Max.Preussner Core: Fixed circular queue count calculation Change 3943538 by Max.Preussner MediaAssets: Reverted workaround for procedural audio log spam in HTML5 (Actor component initialization cannot be skipped if the component is used in a level) Change 3944071 by Max.Preussner QAGame: Fixed Media Texture keeps last frame of Media when PIE ends #jira UE-53360 Change 3944292 by Max.Chen Sequencer: Added extra flags to ensure that asset initialization does not occur on template actor sequences #jira UE-56113 Change 3944364 by Max.Chen Sequencer: Prevent circular shot/master tracks. Tested adding master -> child -> master as drag and drop cinematic shot tracks and sub tracks as well as through the + button. #jira UE-56091 Change 3944422 by Max.Chen Sequence Recorder: Disable transform recording if off. #jira UE-56061 Change 3944745 by Andrew.Rodham Sequencer: Key rendering fixes - Fixed assert that occured when keys happened to reside on some times due to KeyTime + TimeOverlapThreshold - KeyTime being slightly larger TimeOverlapThreshold - Fixed keys sometimes being clipped when zoomed right in due to lack of half-frame offset - Added missing documentation to MovieSceneTimeHelpers.h #jira UE-56107 Change 3945231 by Andrew.Rodham Sequencer: Reconstruct channel proxy on Serialize to catch all cases of undo/redo, PostLoad and duplication #jira UE-56089 Change 3945301 by Andrew.Rodham Sequencer: Added safety checks during initial sequence recording to guard against applying negative or 0-sized sequence ranges #jira UE-56125 Change 3946627 by Max.Preussner Fortnite: Fixed game crashes closing editor while in PIE - Pure virtual function being called #jira UE-56144 [CL 3946896 by Max Chen in Main branch]
2018-03-14 22:09:33 -04:00
TimeSliderArgs.OnSelectionRangeChanged.ExecuteIfBound(TRange<FFrameNumber>(NewStart, SelectionRange.GetUpperBound()));
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3178529) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3149443 on 2016/10/03 by Max.Preussner MediaAssets: Better parameter names for MediaPlayer BP functions Change 3149756 on 2016/10/03 by Max.Chen Sequence Recorder: Set some settings to be clamped at 0 (sequence length, recording delay, audio gain, audio input buffer size, nearby actor recording proximity) #jira UE-35233 Change 3149795 on 2016/10/03 by Max.Chen Curve Editor: Set tangent to user when flattening or straightening tangents only when the tangent mode is auto and the interp mode is cubic. #jira UE-36734 Change 3150378 on 2016/10/04 by Max.Preussner PS4Media: Made video buffer sizes for file and HLS sources configurable (UE-36807) #jira UE-36807 Change 3151414 on 2016/10/05 by Max.Chen Sequencer: Fix case where restoring the last view target was getting skipped. It should always restore if the camera object and the unlock if camera actor object is null. #jira UE-35285 Change 3152038 on 2016/10/05 by Max.Preussner UdpMessaging: Code & documentation modernization pass Change 3152471 on 2016/10/05 by Max.Chen Cine Camera: Don't enable/disable actor ticking based soley on actor tracking since actor ticking is needed for other purposes. Instead, always enable actor ticking and only update actor tracking on tick if necessary. This fixes a bug where the cine camera actor won't tick if you hook in event tick. #jira UE-36625 Change 3152692 on 2016/10/05 by Max.Preussner Messaging: API code & documentation modernization pass Mostly removed shared pointer/ref typedefs as they prevent forward declarations and increase include complexity. Change 3153824 on 2016/10/06 by Max.Preussner Messaging: Renamed IConnectionBasedMessagingModule to ITcpMessagingModule and moved it into TcpMessaging I recommend that we refactor this API. The dependency should be reversed, i.e. instead of AndroidDeviceDiscovery depending on the TcpMessaging plug-in module, the Engine should provide a central registry that device discovery modules can notify, and that message transport plug-ins can register with and listen to OnConnectionAdded/Removed events etc. That way it supports an arbitrary number of transport plug-ins, and the Engine is not coupled to any of them. This functionality is not necessarily related to messaging, and the Messaging API is transport agnostic anyway. I'll think about this some more. Change 3153826 on 2016/10/06 by Max.Preussner Messaging: Removed remaining typedefs in IMessageTracer to enable forward declaration and reduce include dependencies Change 3153857 on 2016/10/06 by Max.Chen Sequencer: Set snap time to dragged key on by default. Change 3153980 on 2016/10/06 by Max.Preussner SessionServices: Removed typedefs; code and documentation modernization pass Change 3154313 on 2016/10/06 by Max.Chen Sequencer: Set the paste keys time to the current time, rather than the mouse time. Change 3154332 on 2016/10/06 by Max.Chen Sequencer: Remove click to rename shot functionality in the shot thumbnail. Added rename shot to the shot context menu. Change 3154377 on 2016/10/07 by Max.Chen Sequencer: Add ability to step to beginning and ends of sections/shots using the hotkeys: , and . Change 3154788 on 2016/10/07 by Max.Chen Sequencer: Fix offsets that created when moving multiple sections. The offsets were being created because section bounds were being generated for all sections except for the current section. Instead, they should be computed for all sections except for any that aren't being moved. #jira UE-29152 Change 3159274 on 2016/10/11 by Max.Preussner Core: Documentation fixes Change 3159275 on 2016/10/11 by Max.Preussner UdpMessaging: Added missing header Change 3160746 on 2016/10/12 by Max.Preussner MediaAssets: Added BP functions to query width, height, and aspect ratio of UMediaTexture instances #jira UE-37241 Change 3160975 on 2016/10/12 by Max.Preussner PS4Media: Better logging for SetRate failures Change 3160995 on 2016/10/12 by Max.Preussner MediaPlayerEditor: Fixed Media player selection is ignored if media specifies player overrides (UE-37248) #jira UE-37248 Change 3161066 on 2016/10/12 by Max.Preussner PS4Media: Enforcing minimum 8 byte alignment for media allocations Change 3161069 on 2016/10/12 by Max.Preussner PS4Media: Fixed log spam when setting play rate to current rate Change 3162567 on 2016/10/13 by Max.Preussner PS4Media: Made track switching code more readable Change 3163447 on 2016/10/14 by Max.Preussner PS4Media: Fixed array out of bounds assertions Change 3163772 on 2016/10/14 by Max.Preussner MfMedia: Fixed a number of timing related issues Change 3163980 on 2016/10/15 by Max.Chen Sequencer: Remove folder name numeric padding so that the naming convention is similar to creating objects in the level. Change 3164581 on 2016/10/17 by Andrew.Rodham Sequencer: Ensure global pre-animated state is restored in reverse order Change 3164582 on 2016/10/17 by Andrew.Rodham Sequencer: Ensure pre animated state is restored for all actor components before saving default state Change 3164583 on 2016/10/17 by Andrew.Rodham Sequencer: Re-enabled support for pre and post roll Change 3165464 on 2016/10/17 by Max.Chen Sequencer: Default number frame handles to 0 so that there's no change in behavior when rendering out a master sequence of shots. Handle frames need to enabled explicitly by the user. Copy from Release-4.14 #jira UE-37416 Change 3165483 on 2016/10/17 by Max.Chen Sequencer: Enable restore state for attach section completion Change 3165771 on 2016/10/18 by Andrew.Rodham Sequencer: Force evaluate when rendering thumbnails #jira UE-37321 Change 3166057 on 2016/10/18 by Andrew.Rodham Sequencer: Only set defaults for tracks that have no keys, and where the requested default has changed #jira UE-37285 Change 3166218 on 2016/10/18 by Max.Preussner MediaPlayerEditor: Failure opening media, even though it opened successfully (UE-37470) #jira UE-37470 Change 3166247 on 2016/10/18 by Max.Preussner WmfMedia: Showing progress bar while media is being resolved Change 3166289 on 2016/10/18 by Max.Preussner MfMedia: Showing progress bar while media is being resolved Change 3166993 on 2016/10/18 by Max.Preussner MfMedia: Fixed info string not reset on media close. Change 3166999 on 2016/10/19 by Max.Preussner Media: Fixed NV12 and NV21 support Change 3167008 on 2016/10/19 by Max.Preussner Media: Removed vertical NV12 alignment Change 3167029 on 2016/10/19 by Max.Preussner WmfMedia: Temp fix for RGB32 encoded AVIs rendering upside-down and too bright (UE-37505) #jira UE-37505 Change 3168593 on 2016/10/19 by Max.Chen Sequencer: Change paste at time to local time, so that the paste happens in the local time of the sequence rather than the global time if pasting in a shot level sequence. Change 3168626 on 2016/10/19 by Max.Chen Sequencer: Clamp to view bounds should snap to frame if frame snapping is on. Change 3168627 on 2016/10/19 by Max.Chen Sequencer: Initialize working and view range to be 10% larger than playback range. Change 3168760 on 2016/10/20 by Max.Preussner Media: Revamped media texture buffer management to support padded frames Added support for Windows bitmap buffers. Fixed a number of format, conversion and/or looping issues in WmfMedia and MfMedia. Not all shaders have been updated yet. Change 3169640 on 2016/10/20 by Max.Chen Sequencer: Add current camera to FLevelSequencePlayerSnapshot. Adjust DefaultBurnIn to include a few more parameters like focal length and focus distance. #jira UE-37407 Change 3170677 on 2016/10/21 by Max.Chen Movie Scene Capture: Add toggle to override engine scalability settings to cinematic scalability. #jira UE-36560 Change 3170710 on 2016/10/21 by Max.Preussner Media: Optimized handling of RGB input Change 3170712 on 2016/10/21 by Max.Preussner Media: Fixed NV21 conversion shader scaling Change 3170923 on 2016/10/21 by Max.Preussner UBT: Copied XboxOne project generator fix from Fortnite CL# 3170868 Change 3171494 on 2016/10/23 by Max.Chen Sequencer: Fix fbx export from master sequence not finding bound objects. #jira UE-35752 Change 3171506 on 2016/10/23 by Max.Chen Sequencer: Draw where in and out points of the shot section are, just like subsequences do. Change to only draw the green starting line if StartOffset is negative. #jira UE-35473 Change 3171743 on 2016/10/24 by Andrew.Rodham Editor: Added support for detail customizations on root structs - Also added the ability to add external struct data onto a detail category builder, and property type customization. Change 3171752 on 2016/10/24 by Andrew.Rodham Sequencer: Fixed spawnable ownership - Spawnables are no longer destroyed when the cursor leaves the master playback range. - Spawnable ownership now operates as it previously did before the evaluation rework. - bIgnoreOwnershipInEditor has been removed since its existence was a work around for when we didn't evaluate sub sequences from the master sequence. - FMovieSceneSequenceID is now a struct so that it can be used in array properties - Meta data now exists for each segment of an evaluation field. Currently this only includes the sub sequence IDs that exist at that time, but it may be expanded to include all evaluation entities (tracks + sections) in future so we don't have to calculate that at runtime. Change 3171756 on 2016/10/24 by Andrew.Rodham Sequencer: Added ability to trigger events with parameters - It's now possible to supply an event payload on event track keys which are to be passed to a given event. The structure must match the signature of the event, or a warning will be emitted. - Added a templated TGenericKeyArea, TKeyFrameManipulator and TCurveInterface that allow to generic manipulation of keyframe section data. In time we will port the other key areas over to this representation. - This new architecture affords the common manipulation of time-based keyframes in a value-agnostic manner. Change 3172935 on 2016/10/24 by Max.Preussner MediaPlayerEditor: Fixed MediaPlayer asset not being dirtied when creating media sound wave or texture for it Change 3173947 on 2016/10/25 by Max.Preussner SlateRemote: Disabled plug-in, but enabled server by default Change 3174510 on 2016/10/26 by Max.Chen Sequencer: Fix slomo track crash #jira UE-37802 Change 3174698 on 2016/10/26 by Andrew.Rodham UMG: Fixed objects bound to a panel slot animating their slot's content instead of the slot itself #jira UE-37775 Change 3174780 on 2016/10/26 by Max.Preussner MediaAssets: Accepting decoder defined buffer dimensions for RGB buffers Change 3174789 on 2016/10/26 by Max.Preussner MediaPlayerEditor: Showing desired player name instead of current player name if no media loaded Change 3174817 on 2016/10/26 by Max.Preussner WmfMedia: Added support for Motion JPEG (MJPG) Change 3174825 on 2016/10/26 by Max.Preussner WmfMedia: Added support for non-RGB32 uncompressed formats Change 3174834 on 2016/10/26 by Max.Preussner MediaPlayerAssets: Allow pausing while buffering media Change 3174886 on 2016/10/26 by Andrew.Rodham Core: Fixed range test that was testing incorrect behavior Change 3174889 on 2016/10/26 by Andrew.Rodham Sequencer: Fixed AssignActor behavior - Also ensure that cached object state is invalidated when playback context changes #jira UE-37798 Change 3174905 on 2016/10/26 by Andrew.Rodham Sequencer: Changed assert when failing to create an audio component to a log message - Audio no longer plays when GEngine->UseSound() is false #jira UE-37772 Change 3174980 on 2016/10/26 by Andrew.Rodham Sequencer: Remove warning when event endpoint could not be found for a given context #jira UE-37824 Change 3175001 on 2016/10/26 by Andrew.Rodham Sequencer: Evaluate sequence with EMovieScenePlaybackStatus::Jumping on Pause. - Also protect Pause() against reentrancy when being called from an event Change 3175012 on 2016/10/26 by Max.Chen Sequence Recorder: Fixes an empty working and view range after recording. On StopRecording() update playback range after nullifying the current sequence so that the playback range isn't empty. Added SetViewRange and SetWorkingRange. #jira UE-34191 Change 3177760 on 2016/10/28 by Max.Chen Sequence Recorder: Don't update the current sequence name if it's already set. This fixes a bug where if you pass in a sequence name to record to, it gets reset to the name in the sequence recorder settings. #jira UE-37808 Change 3178529 on 2016/10/28 by Max.Chen Matinee to Level Sequence: Added interface to extend the matinee to level sequence converter #jira UE-37328 #2864 [CL 3178562 by Max Chen in Main branch]
2016-10-28 15:04:38 -04:00
}
}
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3946692) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3801826 by Max.Chen PR #4304: Level Sequence crash fix - Guarded against dereferencing null componen. (Contributed by DSDambuster) Change 3801828 by Max.Chen PR #4302: Movie Scene Visibility Template unitialised variable, causing random . (Contributed by DSDambuster) Change 3801837 by Max.Chen Sequencer: Delay spawning/construction for convert to possessable. This fixes a bug where property values would be lost when converting back and forth from possessable to spawnable. #jira UE-52400 Change 3801841 by Max.Chen Sequencer: Make spacer nodes not selectable. PR #4194: Improvements to Sequencer (Contributed by projectgheist) #jira UE-53117 #jira UE-52139 Change 3804183 by Max.Preussner MediaAssets: Added missing lock in media sound component Change 3805414 by Max.Preussner MediaAssets: Setting valid GUID when initializing media texture resource Change 3819578 by Max.Chen PR #4370: When enabling the "MovieCapture", do not turn off the Stereo-3D display. (Contributed by yehaike) #jira UE-53647 Change 3823414 by Max.Chen Curve Editor: Lock down the first and last keys in the redundant keys removal range so that they're unaffected. #jira UE-53591 Change 3826406 by Max.Chen Sequencer: Move OnStartedPlaying() to within first update in UpdateTimeCursorPosition(). This fixes an issue where setting the hud/player visibility was getting stomped on later. #jira UE-52772 Change 3827044 by Max.Preussner MediaAssets: Added sprite visualization to media sound component #jira UE-53594 Change 3827988 by Max.Preussner MediaPlayerAssets: Fixed Media Texture is not linked to Media Player when created together #jira UE-53532 Change 3828506 by Max.Preussner MediaPlayerEditor: Added attenuation visualizer for media sound components #jira UE-53594 Change 3832590 by andrew.porter EngineTest: Added a keep state check in Property Animation sequencer test Change 3833053 by andrew.porter EngineTest: Adding Hierarchical Bias test Change 3835683 by andrew.porter EngineTest: Adding UMG Animation screenshot test Change 3836076 by Max.Chen Sequencer: Fix audio volume and pitch multiplier deprecation. Change 3836230 by andrew.porter EngineTest: Adding Sequence Bone Position automation test Change 3836347 by Max.Chen Sequencer: Fixes to shot name parsing. When a shot doesn't contain a shot number, assume, [ShotName]_[TakeNumber]. When duplicating a shot, put the new shot in the same path of the original shot, so that the take numbers will increment properly. #jira UE-51868 Change 3836552 by Max.Chen Sequencer: Sub section now has a takes menu Change 3838094 by Max.Chen UMG: Fix template finish not getting called on stop. This fixes a bug where sections aren't restored when finished. #jira UE-52285 Change 3838708 by Max.Chen Sequencer: Add notification when the blend type is changed. #jira UE-54046 Change 3840295 by Max.Chen Sequencer: Fix copy/paste crash for lights #jira UE-54084 Change 3840957 by Mike.Zyracki Added Show Only Keyable and Show Only Animated to the filter list in the property editor. Added IsPropertyAnimated to IDetailKeyframe Interface which already had support for showing properties which are keyable (which is used for the key icon next to the properties.). Could have created another interface but then would have had to mimic the sequencer binding, releasing also, so this seemed best way. One issue still left is that custom built detail items currently don't store associated properties(usually) and so certain properties, in particulalry transforms, won't show up as keyable or animated. Note this also shows up with the keyable icon not showing up next to transform tracks, and other filters like Show Only Modified not working with transforms/customs. Not sure best way to tackle this. #jira UESEQ-328 Change 3841756 by Max.Chen Sequencer: Fix unbound possessable components when pasting spawnables. #jira UE-54104 Change 3843950 by andrew.porter EngineTest: Renaming LevelStreaming tests/content to LevelVisibility Change 3844082 by Mike.Zyracki Missing file for animated filter in property editor. When finding if a track is animated we need to find it but we can't easily induce the MovieTrack class for any particular property. So we don't set a class for it and just search by it's ID and name. #jira UESEQ-328 Change 3846902 by Max.Preussner ImgMedia: Fixed image media player never finished initialization if loading failed #jira UE-54247 Change 3849820 by Mike.Zyracki Reassigning deleted widgets didn't work since the menu extender mechanism needs a valid UObject in order to perform an operation on it. So to fix we replaced GetObjectBindingContextMenuExtender in WidgetBlueprint with new delegate mechanism (OnBuildCustomContextMenuForGuid) that supports FGuid in addition to UObjects which is needed to handle re-binding deleted widgets. Note that the default sequencer hacks this for replacing deleted actors in SequencerObjectBindingNode to check to see if a LevelSequence is active. We could move to this mechanism there also. #jira UE-53163 Change 3852211 by Max.Chen UMG: Indicate name of the property that is not bound. #jira UE-54350 Change 3854120 by Max.Chen Sequencer: Fix sibling folders being allowed to have the same folder name. #jira UE-54363 Change 3854627 by Max.Chen Sequencer: Step to next/previous key should work for all tracks if there aren't any selected. #jira UESEQ-391 Change 3855825 by andrew.porter EngineTest: Adding animation blending automation test Change 3855950 by andrew.porter EngineTest: Adding correct expected valuues to animation blending test Change 3856237 by Matt.Hoffman UESEQ-336 - Sequencer Track Reordering Adds the ability to re-order Master Tracks, Folders and Object Bindings within sequencer hierarchies (including UMG). Adds the ability to do a one-off sorting of the content under the old sorting behavior if the user wants to reset their layout to how it was under legacy behavior. Modifies SequencerTrackNodes, SequencerFolderNodes and SequencerObjectBindingNodes to handle CanDrop/OnDrop for above, below and ontop of. Fixes a Slate Issue that forcibly expanded a TreeviewRow if an item handled OnDrop. Slate will now only forcibly expand the row if the item says the drop happened ontop of the item, and not above or below it like it previously did. Change 3856503 by andrew.porter EngineTest: Adding automation test for using animation blueprint with blend multi node in sequencer Change 3857875 by Max.Chen Sequencer: Assign the sequence id after the template is compiled. #jira UE-54462 Change 3858344 by Max.Chen Sequencer: Prevent Goto and Transform boxes from overlapping by allowing them to be visible at the same time in an autosized horizontal box. Also, added close button to the goto box. PR #4425: Prevent Goto and Transform boxes from overlapping in Sequencer ... (Contributed by projectgheist) #jira UE-54210 Change 3860566 by andrew.porter MediaFrameworkTest: Set the option to index 0 for the audio and video track list by default Change 3860654 by andrew.porter EngineTest: Enabling Camera Cut + FOV test Change 3860981 by andrew.porter EngineTest: Updating skeletal mesh tests with a delay after set playback position Change 3861256 by Max.Chen Sequencer: Add all bindings if none selected. #jira-54440 Change 3862154 by Andrew.Rodham Added TimeManagement module Change 3862424 by andrew.porter EngineTest: Turned on the test Bone Positions with Blend Multi Node Change 3862573 by andrew.porter EngineTest: Adding test to compare bone positions in a sequence that is blending an animation that is using an AnimBP Change 3865117 by Max.Chen Sequencer: Stop auto scroll on mouse release of movement. #jira UE-31212 Change 3865303 by Max.Chen Sequencer: Add drag and drop transactions #jira UE-54662 Change 3865304 by Max.Chen Sequencer: Fix crash when an actor factory is not found. Change 3865361 by Max.Chen Sequencer: Don't change the camera/shot lock button when popping out of a sequence. #jira UE-54665 Change 3865412 by Max.Chen Sequencer: Determine whether a transform track is for a camera by using the spawned object or template #jira UE-54666 Change 3865685 by Max.Chen Sequencer: Clear autoscrub offset when stopping autoscroll #jira UE-31212 Change 3865886 by Max.Chen Sequence Recorder: Log an error if the number of frames changes while recording. This can happen if the skeleton changes while recording. #jira UE-48715 Change 3866925 by Andrew.Porter MediaFrameworkTest: Changing the current PNG test video image sequence to 1024 x 576 Change 3867705 by andrew.porter QAGame: Adding Audio Sort Sequence to dev folder Change 3867890 by andrew.porter QAGame: Adding a sequence for testing a sorting crash to my dev folder Change 3872628 by Max.Chen Movie Scene Capture: Split delay before warmup into split delay before shot warmup so that there's separate controls for when the movie scene capture warmups up vs. shot boundaries. Change 3873131 by Matt.Hoffman UE-54732 - Crash reordering a folder with a track. This was caused by folders being the only type of track to check if someone was putting a parent track into a child track. Object Binding tracks and Tracks now check as well so that you can't use the above/below drop targets to add parents as children. This also fixed a typo in the localization keys. #jira UE-54732 Change 3873301 by Mike.Zyracki Added ability to support continous euler angle changes when changing rotations, in particularly with the rotation gizmo's. To do this we effectively added a form an of 'euler filter'(https://en.wikipedia.org/wiki/Euler_filter) to find the closest euler angle to the current euler angle. Three functions were added to FRotator to make this possible, one to get the euler angle that's has the same rotation as it, one to get the difference between two euler angles via Manhattan distance and a third using the previous two to choose a Rotator value that's closest to it. We then use these functions before calling UComponent::SetRelativeRotation to make sure we use the correct Euler after the Quat conversion. We also no longer limit(bound) the euler angles to -180,180, which is obviously necessary to avoid flips. I also changed how we caluclate yaw and roll when pitch is -90 or 90 to make it the standard approach of zeroing out roll and just setting yaw. Main reasons are the previous implementation had precision issues so things like 180, 90, -180 would show up due to numbers being nearly zero but negative,(this would break any smooth interpolations), and this facilitates having a 'gimbal' rotation mode (like Maya, Blender etc..) if we ever want that also. If needed we could keep the previous implementation but would need to add some FMath::IsNearlyZero checks, with less performance. Note we only do this special filtering when applying delta's to actors or components in the editors, which then call UComponent::SetRelativeRotationExact, which is a new function to foces the RelativeRotation to be equal to the new rotation. This allows us to store un-nomalized Rotators at the cost that the RotationCache may be broken. We didn't change any of the other UComponent functions that set rotations (via Quats or Transforms) so they will still be bounded and unwound. In SetInternalWorldLocationAndRotation we only set the rotation if the rotation has changed, which fixes the rotation getting changed and re-normalized if just translate happens. In TransformTrackEditor, we correclty use the bUndwing flag and in MovieScene3DTransformSection there was an un-needed winding check there, it will be unwound earlier if needed, which happens if Sequence Recording is happening. Max we should talk about what to do about this . Note the euler angle drag via the widget is still bound to 0-360. I think we should just unbound that now since the rotations value are now unbound. This review now includes fixes suggested by Zak. #jira UE-UE-22228 Change 3873483 by Matt.Hoffman Sequencer Tracks can now be inserted above the spacer at the bottom of the tree. #jira UE-54706 Change 3873899 by Max.Chen Sequencer: Add section selection throbbing Change 3873908 by Max.Chen Movie Scene Capture: Added logging per frame Change 3873924 by Matt.Hoffman Adds the ability to store Sequence Recorder setups into profiles that stay with the map and can be re-loaded later. Profiles store the Actor Recordings so the settings for each actor should carry with them. #jira UESEQ-339 Change 3874726 by Matt.Hoffman Disable drag-and-drop targets on spacers that come between rows in Sequencer. This prevents extra drag/drop targets showing up between each row. #jira UE-54706 Change 3874862 by Matt.Hoffman Audio Track no longer gets reordered when adding sub-audio tracks, as sub-tracks are no longer counted towards the sorting order index when normalizing indexes. #jira UE-54727 Change 3875905 by Matt.Hoffman Disable Fade Track UI if a fade track already exists in the sequence. #jira UESEQ-393 Change 3876163 by Max.Chen Sequencer: Swap the camera object to the camera component's owner if it's not the same. #jira UE-54874 Change 3876971 by Andrew.Porter EngineTest: Moved Media Player Seek test to new folder. Also enabled the test with new ground truth image. Change 3877040 by Max.Chen Cine Camera: Split camera properties to two groups, "Camera Options" and "Camera Settings". The cine camera now hides properties in the "Camera Settings" group so that properties like bConstrainAspectRatio (in the "Camera Options" group) can be visible. #jira UE-54192 Change 3877763 by Max.Chen Curve Editor: Fix curve changed on end drag so that only curves that had keys/tangents that were changed receive notification, otherwise all loaded curves were getting notified that they were changed. #jira UE-54951 Change 3878234 by Matt.Hoffman Disable "Drop Below" targets for Sequencer Tree nodes to prevent a confusing UX issue where dropping underneath a Object Binding Node puts it after the object binding node but the UI looks like it's inserting it inside the Object Binding node. #jira UE-54743 Change 3879359 by Mike.Zyracki If a track is inactive we dim it a bit which seems to be the UE4 way to show inactive or disabled state. We changed the active logic so that all subtracks need to be inactive for the track to also be inactive(instead of all active for active). This conforms to how the active state actually works, e.g if you have two sections and only one is active the track is still active above it. #jira UESEQ-388 Change 3879462 by Max.Chen Sequencer: Allow dragging onto a particular row which would move out any overlapping sections to make space for the newly created section. Newly created sections are now selected and throbbed to draw attention to themselves. #jira UE-54664 Change 3879464 by Max.Chen Sequencer: Fixed overlapping ranges being inserted into the evaluation field during compilation - The issue was that track segments that had been combined with adjacent segments (due to them being identical) would potentially cause a subsequently compiled frame to overlap with a range that had already been inserted into the evaluation field. - The insertion code previously asserted that only minor overlaps were catered for (due to fp rounding errors) and assumed that a supplied range could not entirely contain any other range in the field. - The solution is to supply the insertion time along with the range to know exactly where the data should live in the field, and crop the range to the maximum allowable space between adjacent ranges. #jira UE-54922 Change 3879590 by Matt.Hoffman Items that are now added to the Sequencer via the "+Track" menu will be selected after being added. Items can now be added inside of folders instead of just to the root level. #jira UE-27397 Change 3879612 by Mike.Zyracki Display Nodes with no children are always active. #jira UESEQ-388 Change 3879730 by Matt.Hoffman Sequence Recorder's actor recording groups now remove items from the group when removed via the UI. #jira UESEQ-339 Change 3880256 by Mike.Zyracki Fix issue with inactive display with folders and other track nodes. #jira UESEQ-388 Change 3883491 by Max.Chen Fix issue where tick is skipped due to last ticked pose isn't cleared after AnimInstance changes. Copy from Release-4.19 #jira UE-51323 Change 3883603 by Max.Chen Movie Scene Capture: Add option toggle disable screen percentage. By default this is on (no change in current behavior). #jira UE-51898 Change 3885074 by Max.Preussner MediaCompositing: Resetting media texture & freeing resource on section end; removed dead code Change 3887220 by Max.Preussner MediaCompositing: Defaulted media section duration to 1 sec (since we do not know the actual duration in most cases) Change 3887478 by Matt.Hoffman Sequences now show [Inactive] in their title bars when they're disabled. This helps communicate why a sequence isn't being evaluated. #jira UE-51469 Change 3888985 by Max.Chen Movie Scene Capture: Clamp HDR Compression Quality between 0 and 1. #jira UE-55136 Change 3893519 by Max.Chen Sequence Recorder: Clarified tooltip for bRecordNearbySpawnedActors - spawned actors will still be recorded if they match the ActorFilter. #jira UE-55238 Change 3893546 by Max.Chen Sequence Recorder: If a selected actor already has a recording, add a blank recording. #jira UE-55239 Change 3894044 by Max.Preussner MediaCompositing: Added support for seeking into a media section Change 3894310 by andrew.porter MediaFrameworkTest: Adding Img media sources for 1080 and 2160 ravent test content Change 3894426 by Max.Preussner MediaAssets: Letting media textures with AutoClear retain their clear color when player is reset Change 3895717 by Max.Chen Sequencer: Null checks to prevent crash when saving the default state of a spawnable #jira UE-55304 Change 3897388 by Max.Chen Sequencer: Don't update current time to be within the view range when stepping into a sequence. #jira UE-55322 Change 3897452 by Max.Chen Audio: Fix crash when trying to record audio without any active capture devices. Log warning if the number of input channels is not 1 or 2. #jira UE-55223 Change 3897619 by Max.Preussner MediaCompositing: Removed commented out code Change 3898072 by Max.Chen Sequencer: Override the animation asset in the player state if it doesn't match the animation asset that's being evaluated. #jira UE-55328 Change 3898272 by Max.Preussner MediaPlayerEditor: Made slate brush constants static Change 3898704 by Max.Chen Sequencer: Skip if the binding id's sequence can't be found. #jira UE-55337 Change 3899855 by Max.Preussner MediaCompositingEditor: Added cache state visualization to media track Change 3900300 by Max.Preussner MediaCompositingEditor: Added loop indicators to media sections Change 3900694 by Max.Preussner ImfMedia: Looping cache only when player is looping Change 3900892 by Max.Preussner Stats: Added stats category for media framework Change 3900954 by Max.Preussner MediaCompositing: Don't evaluate at the end of media section Change 3901348 by Max.Preussner Core: Replaced TLruCache autos for better readability Change 3901655 by Max.Preussner ImgMedia: Added more perf stats to EXR reader Change 3901972 by Max.Preussner MediaAssets: Added getter for media player in media sound components Change 3902233 by Max.Preussner MediaAssets: Enabling media textures to receive samples right after player is assigned Change 3902238 by Max.Preussner MediaCompositing: Working around init/shutdown idiosyncracies in sequencer Change 3904045 by Max.Chen Sequencer: Fix copy/paste crash. Only process UMovieSceneCopyableBinding and objects that can be spawned by the movie scene spawn register. #jira UE-55314 Change 3905605 by Max.Chen Sequencer: Restrict spawnables from being created if they have a ClassWithin that UMovieScene is not a child of. #jira UE-55429 Change 3906550 by Max.Chen Sequencer: Add media track icon #jira UE-55480 Change 3907101 by Max.Chen Sequence Recorder: Fix bugs related to not recording a level sequence. There were certain assumptions that creating a level sequence meant that sequence recording was in progress. This is not always the case - the recorders can record animation assets and not create a level sequence. Changed the notion of IsRecording() to having at least one actor recording that is recording. Countdown timer, recording displays, etc should function if IsRecording() and not based on whether a level sequence is created. #jira UE-55485 Change 3907247 by Max.Chen Sequence Recorder: Fix crash not removing PrepareToCleanseEditorObject delegate. Repros when opening sequence recorder, closing it, and then opening or creating a level. Change 3910343 by Max.Preussner Core: Added async helper for executing functions on a given thread pool Change 3910346 by Max.Preussner ImgMedia: Added separate thread pools for loading/decoding and deleting image frames Change 3910829 by Max.Preussner Profiler: Increased visible range of profiler graph Change 3910841 by Max.Preussner MediaCompositing: Displaying asset name instead of full media source path in media section Change 3910870 by Max.Preussner ImgMedia: Using deallocation thread pool only in debug builds Change 3919642 by Max.Chen Sequence Recorder: Clarify active tooltip #jira UE-55661 Change 3919660 by Max.Chen Sequencer: Sequence template source signatures are now also compared to catch the case where a sub-sequence asset has been saved but not modified - The following sequence of events exposes this issue: - Create a master sequence with a single shot that spawns a cube - Add this sequence to a level and set it to auto-play - Save everything and restart - Resave just the inner shot asset without opening it - PIE - The inner shot never spawns its cube because its template was wiped on save, but its signature never changed. Since the master sequence previously didn't check the template source signature, it ends up trying to evaluate an empty template. #jira UE-55626 #jira UE-55490 Change 3921825 by Max.Chen Sequencer: "Run Construction Script in Sequencer" is off by default for blueprints but on for Sequencer. This allows the content author to switch it on for specific blueprints and sequencer will be default, run those with construction scripts enabled. Change 3922232 by Max.Chen Sequence Recorder: Reset countdelay on stop. #jira UE-55755 Change 3922306 by Max.Chen Sequence Recorder: Don't automatically mark transforms to be recorded by sequence recorder. Instead, log a warning if the user toggled it off to warn that the resulting animation might not match gameplay. #jira UE-55758 Change 3922912 by Max.Chen Sequence Recorder: Fix refresh next sequence name #jira UE-55757 Change 3927654 by Max.Chen Movie Scene Capture: Added format mapping for the name of the current camera #jira UE-55769 PR #4537 Change 3927658 by Max.Chen Sequencer: Added fbx property mapping for "FocusDistance" to "FocusSettings.ManualFocusDistance" #jira UE-55782 Change 3932022 by Max.Chen Sequencer: Add import animation track section to next available row index. #jira UE-55892 Change 3933919 by Max.Chen Sequencer: Jump to playback start frame and not 0 to start playback for recording. #jira UE-55933 Change 3934307 by Andrew.Rodham Sequencer: Add template signature that is re-generated every time the base template is regenerated, which invalidates evaluation fields This fixes an issue where the same sequence is instantiated multiple times in a sequence. If the source sequence was saved, its template would be wiped, which would invalidate the template ID When an instance tries to evaluate the master template, it would only invalidate a range in the evaluation field that was the hull of any invalid sub sequences overlapping the current time, potentially leaving invalid data in the evaluation field at positions later (or earlier) on in the sequence When the sub template was re-generated, it receives the same SequenceSignature as it had before (because the sequence hasn't actually changed), which causes the stale evaluation field data to fail the IsDirty check (because the sequence is the same as it thought, but the *template* has changed) This has been addressed be adding a signature to templates themselves, and checking both the template signature and sequence signature as a part of the IsDirty check. This ensures that we regenerate if either the template, or the sequence have changed. #jira UE-55934 Change 3936327 by Andrew.Rodham Sequencer: Removed increment when trimming right UMovieSceneSection::TrimSection already explicity assigns an exclusive bound to the time passed in. The new behavior means we can trim a section to the right, and insert another section without changing the time to create adjacent sections. #jira UE-42652 Change 3936328 by Andrew.Rodham Fixed KeyFrameManipulator assignment operators and copy/move constructors - These types are potentially self-referential so cannot use default constructors/assignment Change 3936330 by Andrew.Rodham Converted UMGSequencePlayer to use frames internally #jira UE-54878 Change 3936726 by Max.Chen Sequencer: Set track node as the parent of the key area node. The key area switcher needs the object binding id from the parent object binding node. Without this, the binding to the external value fails. #jira UE-55931 Change 3936775 by Max.Chen Sequencer: Should stop or loop should compare DurationFrames with Current Time from StartTime. The bug is that if you set 30 warmup frames in movie rendering for a range of 0-100, the FrameRange will be starting at -30 and have a duration of 130. Without this fix, the playback will continue until frame 130, rather than 100. #jira UE-55933 Change 3936935 by Matt.Hoffman Easing Curves are now represented in Play Rate resolution instead of internal resolution. #jira UE-55937 Change 3937069 by Matt.Hoffman Users can toggle if the is infinite on each side, limited by which tracks support infinite ranges. #jira UE-55891 Change 3937516 by Max.Preussner ImgMedia: Added support for single-threaded platforms #jira UE-55986 Change 3937826 by Max.Preussner MediaAssets: Disabling media sound components on HTML5 if AudioMixer is not enabled Change 3937997 by Max.Chen Curve Editor: Add Zoom to Fit Curves so that selected curves from Sequencer can be focused on. Tested that undo doesn't re-zoom. #jira UE-55935 Change 3938000 by Max.Chen Sequencer: Stop all sounds before generating audio waveforms. #jira UE-55951 Change 3938376 by Max.Preussner XGEController: Disabled XGE Controller in single-threaded apps to prevent crash Change 3938444 by Max.Preussner Core: Added async support for single-threaded applications Change 3938445 by Max.Preussner Networking: Added support for single-threaded applications in UDP socket sender/receiver Change 3938447 by Max.Preussner Messaging: Added support for single-threaded applications Change 3939432 by Max.Chen Sequence Recorder: Append command list to global level editor actions so that shortcuts are accessible in level editor. #jira UE-55798 Change 3940229 by Andrew.Rodham Added prospective display rate upgrade to UMovieScene::PostLoad - There was previously some very odd behaviour that would assign the fixed frame interval only when a sub sequence was focused in SSequencer. This meant that many sequences could have a frame interval of 0 set in the data. - Under the old method of snap interval display this would have fallen back to getting the display interval from the sequencer settings, but we no longer look at these. - The USequencerSettings properties have been removed and in their place, a prospective data upgrade for sequences that have a fixed frame interval old 0fps that sets the play rate to the previous defaults based off the old USequencerSettings defaults. - This could end up 'changing' the display rate for sequences where the user has changed the snap interval in the settings for a particular sequence editor, but there's not much we can do about that given we don't have access to the USequencerSettings classes in UMovieScene #jira UE-55919 Change 3940277 by Andrew.Rodham Sequencer: Added ability to default frame resolutions and play rates for newly created actor sequences Change 3940378 by Andrew.Rodham Sequencer: Post move import dialog now defaults to the playback framerate of the sequence, and floors to frame numbers Change 3940559 by Andrew.Rodham Reinstated primed or recording sequence color Change 3940642 by Max.Preussner ImagePlate: Removed image plate media playback functionality Change 3940843 by Max.Preussner Core: Made TCircularQueue actually thread-safe; improved code comments Change 3940860 by Max.Chen Sequencer: Changed StructNameToKey to StructPathToKey Previously, keying a PropertyPath of [RenderTransform][Shear][X] would get trimmed to X, which doesn't map to a channel name as considered by Sequencer2dTransformTrackEditor. Instead, trim the resulting property path to [Shear][X] so that track editors can determine the desired struct path and channels to key. #jira UE-52966 Change 3941292 by Mike.Zyracki Fix for trajectories out of range not showing up. 1) If we had no key data we would pop the time, so wouldn't get the section ranges. 2) Calculating of upper bound was wrong, checking against -1 and not key == num of keys when doing algo::lower_bound. 3) No need to do the Bck-- for the bakward iterators since we fixed #2. We start now from the upper bound correctly. 4) If we had no keys (at section start,end) we would incorrectly say we were any key type, so since we draw constant keys as dashed we would do so incorrectly around section end points. #jira UE-55929 Change 3941424 by Max.Chen Curve Editor: Change Zoom to Fit to use TArrayView Change 3941498 by Max.Preussner Core: Added FMath::DivideAndRoundNearest function Change 3942097 by Matt.Hoffman Drop Frame Timecode Support for NTSC rates. Change 3942104 by Matt.Hoffman Sequence Recorder Group is no longer visible inside the World Outliner after using one. #jira 55266 Change 3942107 by Max.Chen Sequencer: Resurrect logic to find or extend an existing section when adding keys. Change 3942330 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942339 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942507 by Andrew.Rodham Sequencer: We no longer pad the time overlap threshold with a small number that is not scaled by the current zoom level - The presence of this pad was causing keys that were far apart to be grouped when zoomed in a long way Change 3942509 by Andrew.Rodham Sequencer: Only pad total view range, rather than section range as well when retrieving keys to render - This stops us from rendering keys that are within the view range, but outside the section range Change 3942512 by Andrew.Rodham Added transactions to some sequencer details customizations Change 3942513 by Andrew.Rodham Sequencer: Reinstated validation checks to UMovieSceneSection::SetStartFrame and SetEndFrame, changed erroneous uses to use SetRange Change 3942560 by Andrew.Rodham Pass by rvalue reference to appease error C2719 on Win32 ('InChannels': formal parameter with requested alignment of 8 won't be aligned) Change 3942697 by Andrew.Rodham Newly Created Level Sequences and Actor Sequences now default to 24000 fps frame resolution (+/- ~24hrs range, supporting all integer rates + 23.976) Change 3942700 by Andrew.Rodham Sequencer: Added legacy out-of-bounds errors for times that are not supported by the current legacy upgrade frame resolution Change 3942989 by Max.Preussner Core: Fixed circular queue count calculation Change 3943538 by Max.Preussner MediaAssets: Reverted workaround for procedural audio log spam in HTML5 (Actor component initialization cannot be skipped if the component is used in a level) Change 3944071 by Max.Preussner QAGame: Fixed Media Texture keeps last frame of Media when PIE ends #jira UE-53360 Change 3944292 by Max.Chen Sequencer: Added extra flags to ensure that asset initialization does not occur on template actor sequences #jira UE-56113 Change 3944364 by Max.Chen Sequencer: Prevent circular shot/master tracks. Tested adding master -> child -> master as drag and drop cinematic shot tracks and sub tracks as well as through the + button. #jira UE-56091 Change 3944422 by Max.Chen Sequence Recorder: Disable transform recording if off. #jira UE-56061 Change 3944745 by Andrew.Rodham Sequencer: Key rendering fixes - Fixed assert that occured when keys happened to reside on some times due to KeyTime + TimeOverlapThreshold - KeyTime being slightly larger TimeOverlapThreshold - Fixed keys sometimes being clipped when zoomed right in due to lack of half-frame offset - Added missing documentation to MovieSceneTimeHelpers.h #jira UE-56107 Change 3945231 by Andrew.Rodham Sequencer: Reconstruct channel proxy on Serialize to catch all cases of undo/redo, PostLoad and duplication #jira UE-56089 Change 3945301 by Andrew.Rodham Sequencer: Added safety checks during initial sequence recording to guard against applying negative or 0-sized sequence ranges #jira UE-56125 Change 3946627 by Max.Preussner Fortnite: Fixed game crashes closing editor while in PIE - Pure virtual function being called #jira UE-56144 [CL 3946896 by Max Chen in Main branch]
2018-03-14 22:09:33 -04:00
void FSequencerTimeSliderController::SetSelectionRangeEnd(FFrameNumber NewEnd)
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3178529) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3149443 on 2016/10/03 by Max.Preussner MediaAssets: Better parameter names for MediaPlayer BP functions Change 3149756 on 2016/10/03 by Max.Chen Sequence Recorder: Set some settings to be clamped at 0 (sequence length, recording delay, audio gain, audio input buffer size, nearby actor recording proximity) #jira UE-35233 Change 3149795 on 2016/10/03 by Max.Chen Curve Editor: Set tangent to user when flattening or straightening tangents only when the tangent mode is auto and the interp mode is cubic. #jira UE-36734 Change 3150378 on 2016/10/04 by Max.Preussner PS4Media: Made video buffer sizes for file and HLS sources configurable (UE-36807) #jira UE-36807 Change 3151414 on 2016/10/05 by Max.Chen Sequencer: Fix case where restoring the last view target was getting skipped. It should always restore if the camera object and the unlock if camera actor object is null. #jira UE-35285 Change 3152038 on 2016/10/05 by Max.Preussner UdpMessaging: Code & documentation modernization pass Change 3152471 on 2016/10/05 by Max.Chen Cine Camera: Don't enable/disable actor ticking based soley on actor tracking since actor ticking is needed for other purposes. Instead, always enable actor ticking and only update actor tracking on tick if necessary. This fixes a bug where the cine camera actor won't tick if you hook in event tick. #jira UE-36625 Change 3152692 on 2016/10/05 by Max.Preussner Messaging: API code & documentation modernization pass Mostly removed shared pointer/ref typedefs as they prevent forward declarations and increase include complexity. Change 3153824 on 2016/10/06 by Max.Preussner Messaging: Renamed IConnectionBasedMessagingModule to ITcpMessagingModule and moved it into TcpMessaging I recommend that we refactor this API. The dependency should be reversed, i.e. instead of AndroidDeviceDiscovery depending on the TcpMessaging plug-in module, the Engine should provide a central registry that device discovery modules can notify, and that message transport plug-ins can register with and listen to OnConnectionAdded/Removed events etc. That way it supports an arbitrary number of transport plug-ins, and the Engine is not coupled to any of them. This functionality is not necessarily related to messaging, and the Messaging API is transport agnostic anyway. I'll think about this some more. Change 3153826 on 2016/10/06 by Max.Preussner Messaging: Removed remaining typedefs in IMessageTracer to enable forward declaration and reduce include dependencies Change 3153857 on 2016/10/06 by Max.Chen Sequencer: Set snap time to dragged key on by default. Change 3153980 on 2016/10/06 by Max.Preussner SessionServices: Removed typedefs; code and documentation modernization pass Change 3154313 on 2016/10/06 by Max.Chen Sequencer: Set the paste keys time to the current time, rather than the mouse time. Change 3154332 on 2016/10/06 by Max.Chen Sequencer: Remove click to rename shot functionality in the shot thumbnail. Added rename shot to the shot context menu. Change 3154377 on 2016/10/07 by Max.Chen Sequencer: Add ability to step to beginning and ends of sections/shots using the hotkeys: , and . Change 3154788 on 2016/10/07 by Max.Chen Sequencer: Fix offsets that created when moving multiple sections. The offsets were being created because section bounds were being generated for all sections except for the current section. Instead, they should be computed for all sections except for any that aren't being moved. #jira UE-29152 Change 3159274 on 2016/10/11 by Max.Preussner Core: Documentation fixes Change 3159275 on 2016/10/11 by Max.Preussner UdpMessaging: Added missing header Change 3160746 on 2016/10/12 by Max.Preussner MediaAssets: Added BP functions to query width, height, and aspect ratio of UMediaTexture instances #jira UE-37241 Change 3160975 on 2016/10/12 by Max.Preussner PS4Media: Better logging for SetRate failures Change 3160995 on 2016/10/12 by Max.Preussner MediaPlayerEditor: Fixed Media player selection is ignored if media specifies player overrides (UE-37248) #jira UE-37248 Change 3161066 on 2016/10/12 by Max.Preussner PS4Media: Enforcing minimum 8 byte alignment for media allocations Change 3161069 on 2016/10/12 by Max.Preussner PS4Media: Fixed log spam when setting play rate to current rate Change 3162567 on 2016/10/13 by Max.Preussner PS4Media: Made track switching code more readable Change 3163447 on 2016/10/14 by Max.Preussner PS4Media: Fixed array out of bounds assertions Change 3163772 on 2016/10/14 by Max.Preussner MfMedia: Fixed a number of timing related issues Change 3163980 on 2016/10/15 by Max.Chen Sequencer: Remove folder name numeric padding so that the naming convention is similar to creating objects in the level. Change 3164581 on 2016/10/17 by Andrew.Rodham Sequencer: Ensure global pre-animated state is restored in reverse order Change 3164582 on 2016/10/17 by Andrew.Rodham Sequencer: Ensure pre animated state is restored for all actor components before saving default state Change 3164583 on 2016/10/17 by Andrew.Rodham Sequencer: Re-enabled support for pre and post roll Change 3165464 on 2016/10/17 by Max.Chen Sequencer: Default number frame handles to 0 so that there's no change in behavior when rendering out a master sequence of shots. Handle frames need to enabled explicitly by the user. Copy from Release-4.14 #jira UE-37416 Change 3165483 on 2016/10/17 by Max.Chen Sequencer: Enable restore state for attach section completion Change 3165771 on 2016/10/18 by Andrew.Rodham Sequencer: Force evaluate when rendering thumbnails #jira UE-37321 Change 3166057 on 2016/10/18 by Andrew.Rodham Sequencer: Only set defaults for tracks that have no keys, and where the requested default has changed #jira UE-37285 Change 3166218 on 2016/10/18 by Max.Preussner MediaPlayerEditor: Failure opening media, even though it opened successfully (UE-37470) #jira UE-37470 Change 3166247 on 2016/10/18 by Max.Preussner WmfMedia: Showing progress bar while media is being resolved Change 3166289 on 2016/10/18 by Max.Preussner MfMedia: Showing progress bar while media is being resolved Change 3166993 on 2016/10/18 by Max.Preussner MfMedia: Fixed info string not reset on media close. Change 3166999 on 2016/10/19 by Max.Preussner Media: Fixed NV12 and NV21 support Change 3167008 on 2016/10/19 by Max.Preussner Media: Removed vertical NV12 alignment Change 3167029 on 2016/10/19 by Max.Preussner WmfMedia: Temp fix for RGB32 encoded AVIs rendering upside-down and too bright (UE-37505) #jira UE-37505 Change 3168593 on 2016/10/19 by Max.Chen Sequencer: Change paste at time to local time, so that the paste happens in the local time of the sequence rather than the global time if pasting in a shot level sequence. Change 3168626 on 2016/10/19 by Max.Chen Sequencer: Clamp to view bounds should snap to frame if frame snapping is on. Change 3168627 on 2016/10/19 by Max.Chen Sequencer: Initialize working and view range to be 10% larger than playback range. Change 3168760 on 2016/10/20 by Max.Preussner Media: Revamped media texture buffer management to support padded frames Added support for Windows bitmap buffers. Fixed a number of format, conversion and/or looping issues in WmfMedia and MfMedia. Not all shaders have been updated yet. Change 3169640 on 2016/10/20 by Max.Chen Sequencer: Add current camera to FLevelSequencePlayerSnapshot. Adjust DefaultBurnIn to include a few more parameters like focal length and focus distance. #jira UE-37407 Change 3170677 on 2016/10/21 by Max.Chen Movie Scene Capture: Add toggle to override engine scalability settings to cinematic scalability. #jira UE-36560 Change 3170710 on 2016/10/21 by Max.Preussner Media: Optimized handling of RGB input Change 3170712 on 2016/10/21 by Max.Preussner Media: Fixed NV21 conversion shader scaling Change 3170923 on 2016/10/21 by Max.Preussner UBT: Copied XboxOne project generator fix from Fortnite CL# 3170868 Change 3171494 on 2016/10/23 by Max.Chen Sequencer: Fix fbx export from master sequence not finding bound objects. #jira UE-35752 Change 3171506 on 2016/10/23 by Max.Chen Sequencer: Draw where in and out points of the shot section are, just like subsequences do. Change to only draw the green starting line if StartOffset is negative. #jira UE-35473 Change 3171743 on 2016/10/24 by Andrew.Rodham Editor: Added support for detail customizations on root structs - Also added the ability to add external struct data onto a detail category builder, and property type customization. Change 3171752 on 2016/10/24 by Andrew.Rodham Sequencer: Fixed spawnable ownership - Spawnables are no longer destroyed when the cursor leaves the master playback range. - Spawnable ownership now operates as it previously did before the evaluation rework. - bIgnoreOwnershipInEditor has been removed since its existence was a work around for when we didn't evaluate sub sequences from the master sequence. - FMovieSceneSequenceID is now a struct so that it can be used in array properties - Meta data now exists for each segment of an evaluation field. Currently this only includes the sub sequence IDs that exist at that time, but it may be expanded to include all evaluation entities (tracks + sections) in future so we don't have to calculate that at runtime. Change 3171756 on 2016/10/24 by Andrew.Rodham Sequencer: Added ability to trigger events with parameters - It's now possible to supply an event payload on event track keys which are to be passed to a given event. The structure must match the signature of the event, or a warning will be emitted. - Added a templated TGenericKeyArea, TKeyFrameManipulator and TCurveInterface that allow to generic manipulation of keyframe section data. In time we will port the other key areas over to this representation. - This new architecture affords the common manipulation of time-based keyframes in a value-agnostic manner. Change 3172935 on 2016/10/24 by Max.Preussner MediaPlayerEditor: Fixed MediaPlayer asset not being dirtied when creating media sound wave or texture for it Change 3173947 on 2016/10/25 by Max.Preussner SlateRemote: Disabled plug-in, but enabled server by default Change 3174510 on 2016/10/26 by Max.Chen Sequencer: Fix slomo track crash #jira UE-37802 Change 3174698 on 2016/10/26 by Andrew.Rodham UMG: Fixed objects bound to a panel slot animating their slot's content instead of the slot itself #jira UE-37775 Change 3174780 on 2016/10/26 by Max.Preussner MediaAssets: Accepting decoder defined buffer dimensions for RGB buffers Change 3174789 on 2016/10/26 by Max.Preussner MediaPlayerEditor: Showing desired player name instead of current player name if no media loaded Change 3174817 on 2016/10/26 by Max.Preussner WmfMedia: Added support for Motion JPEG (MJPG) Change 3174825 on 2016/10/26 by Max.Preussner WmfMedia: Added support for non-RGB32 uncompressed formats Change 3174834 on 2016/10/26 by Max.Preussner MediaPlayerAssets: Allow pausing while buffering media Change 3174886 on 2016/10/26 by Andrew.Rodham Core: Fixed range test that was testing incorrect behavior Change 3174889 on 2016/10/26 by Andrew.Rodham Sequencer: Fixed AssignActor behavior - Also ensure that cached object state is invalidated when playback context changes #jira UE-37798 Change 3174905 on 2016/10/26 by Andrew.Rodham Sequencer: Changed assert when failing to create an audio component to a log message - Audio no longer plays when GEngine->UseSound() is false #jira UE-37772 Change 3174980 on 2016/10/26 by Andrew.Rodham Sequencer: Remove warning when event endpoint could not be found for a given context #jira UE-37824 Change 3175001 on 2016/10/26 by Andrew.Rodham Sequencer: Evaluate sequence with EMovieScenePlaybackStatus::Jumping on Pause. - Also protect Pause() against reentrancy when being called from an event Change 3175012 on 2016/10/26 by Max.Chen Sequence Recorder: Fixes an empty working and view range after recording. On StopRecording() update playback range after nullifying the current sequence so that the playback range isn't empty. Added SetViewRange and SetWorkingRange. #jira UE-34191 Change 3177760 on 2016/10/28 by Max.Chen Sequence Recorder: Don't update the current sequence name if it's already set. This fixes a bug where if you pass in a sequence name to record to, it gets reset to the name in the sequence recorder settings. #jira UE-37808 Change 3178529 on 2016/10/28 by Max.Chen Matinee to Level Sequence: Added interface to extend the matinee to level sequence converter #jira UE-37328 #2864 [CL 3178562 by Max Chen in Main branch]
2016-10-28 15:04:38 -04:00
{
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3946692) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3801826 by Max.Chen PR #4304: Level Sequence crash fix - Guarded against dereferencing null componen. (Contributed by DSDambuster) Change 3801828 by Max.Chen PR #4302: Movie Scene Visibility Template unitialised variable, causing random . (Contributed by DSDambuster) Change 3801837 by Max.Chen Sequencer: Delay spawning/construction for convert to possessable. This fixes a bug where property values would be lost when converting back and forth from possessable to spawnable. #jira UE-52400 Change 3801841 by Max.Chen Sequencer: Make spacer nodes not selectable. PR #4194: Improvements to Sequencer (Contributed by projectgheist) #jira UE-53117 #jira UE-52139 Change 3804183 by Max.Preussner MediaAssets: Added missing lock in media sound component Change 3805414 by Max.Preussner MediaAssets: Setting valid GUID when initializing media texture resource Change 3819578 by Max.Chen PR #4370: When enabling the "MovieCapture", do not turn off the Stereo-3D display. (Contributed by yehaike) #jira UE-53647 Change 3823414 by Max.Chen Curve Editor: Lock down the first and last keys in the redundant keys removal range so that they're unaffected. #jira UE-53591 Change 3826406 by Max.Chen Sequencer: Move OnStartedPlaying() to within first update in UpdateTimeCursorPosition(). This fixes an issue where setting the hud/player visibility was getting stomped on later. #jira UE-52772 Change 3827044 by Max.Preussner MediaAssets: Added sprite visualization to media sound component #jira UE-53594 Change 3827988 by Max.Preussner MediaPlayerAssets: Fixed Media Texture is not linked to Media Player when created together #jira UE-53532 Change 3828506 by Max.Preussner MediaPlayerEditor: Added attenuation visualizer for media sound components #jira UE-53594 Change 3832590 by andrew.porter EngineTest: Added a keep state check in Property Animation sequencer test Change 3833053 by andrew.porter EngineTest: Adding Hierarchical Bias test Change 3835683 by andrew.porter EngineTest: Adding UMG Animation screenshot test Change 3836076 by Max.Chen Sequencer: Fix audio volume and pitch multiplier deprecation. Change 3836230 by andrew.porter EngineTest: Adding Sequence Bone Position automation test Change 3836347 by Max.Chen Sequencer: Fixes to shot name parsing. When a shot doesn't contain a shot number, assume, [ShotName]_[TakeNumber]. When duplicating a shot, put the new shot in the same path of the original shot, so that the take numbers will increment properly. #jira UE-51868 Change 3836552 by Max.Chen Sequencer: Sub section now has a takes menu Change 3838094 by Max.Chen UMG: Fix template finish not getting called on stop. This fixes a bug where sections aren't restored when finished. #jira UE-52285 Change 3838708 by Max.Chen Sequencer: Add notification when the blend type is changed. #jira UE-54046 Change 3840295 by Max.Chen Sequencer: Fix copy/paste crash for lights #jira UE-54084 Change 3840957 by Mike.Zyracki Added Show Only Keyable and Show Only Animated to the filter list in the property editor. Added IsPropertyAnimated to IDetailKeyframe Interface which already had support for showing properties which are keyable (which is used for the key icon next to the properties.). Could have created another interface but then would have had to mimic the sequencer binding, releasing also, so this seemed best way. One issue still left is that custom built detail items currently don't store associated properties(usually) and so certain properties, in particulalry transforms, won't show up as keyable or animated. Note this also shows up with the keyable icon not showing up next to transform tracks, and other filters like Show Only Modified not working with transforms/customs. Not sure best way to tackle this. #jira UESEQ-328 Change 3841756 by Max.Chen Sequencer: Fix unbound possessable components when pasting spawnables. #jira UE-54104 Change 3843950 by andrew.porter EngineTest: Renaming LevelStreaming tests/content to LevelVisibility Change 3844082 by Mike.Zyracki Missing file for animated filter in property editor. When finding if a track is animated we need to find it but we can't easily induce the MovieTrack class for any particular property. So we don't set a class for it and just search by it's ID and name. #jira UESEQ-328 Change 3846902 by Max.Preussner ImgMedia: Fixed image media player never finished initialization if loading failed #jira UE-54247 Change 3849820 by Mike.Zyracki Reassigning deleted widgets didn't work since the menu extender mechanism needs a valid UObject in order to perform an operation on it. So to fix we replaced GetObjectBindingContextMenuExtender in WidgetBlueprint with new delegate mechanism (OnBuildCustomContextMenuForGuid) that supports FGuid in addition to UObjects which is needed to handle re-binding deleted widgets. Note that the default sequencer hacks this for replacing deleted actors in SequencerObjectBindingNode to check to see if a LevelSequence is active. We could move to this mechanism there also. #jira UE-53163 Change 3852211 by Max.Chen UMG: Indicate name of the property that is not bound. #jira UE-54350 Change 3854120 by Max.Chen Sequencer: Fix sibling folders being allowed to have the same folder name. #jira UE-54363 Change 3854627 by Max.Chen Sequencer: Step to next/previous key should work for all tracks if there aren't any selected. #jira UESEQ-391 Change 3855825 by andrew.porter EngineTest: Adding animation blending automation test Change 3855950 by andrew.porter EngineTest: Adding correct expected valuues to animation blending test Change 3856237 by Matt.Hoffman UESEQ-336 - Sequencer Track Reordering Adds the ability to re-order Master Tracks, Folders and Object Bindings within sequencer hierarchies (including UMG). Adds the ability to do a one-off sorting of the content under the old sorting behavior if the user wants to reset their layout to how it was under legacy behavior. Modifies SequencerTrackNodes, SequencerFolderNodes and SequencerObjectBindingNodes to handle CanDrop/OnDrop for above, below and ontop of. Fixes a Slate Issue that forcibly expanded a TreeviewRow if an item handled OnDrop. Slate will now only forcibly expand the row if the item says the drop happened ontop of the item, and not above or below it like it previously did. Change 3856503 by andrew.porter EngineTest: Adding automation test for using animation blueprint with blend multi node in sequencer Change 3857875 by Max.Chen Sequencer: Assign the sequence id after the template is compiled. #jira UE-54462 Change 3858344 by Max.Chen Sequencer: Prevent Goto and Transform boxes from overlapping by allowing them to be visible at the same time in an autosized horizontal box. Also, added close button to the goto box. PR #4425: Prevent Goto and Transform boxes from overlapping in Sequencer ... (Contributed by projectgheist) #jira UE-54210 Change 3860566 by andrew.porter MediaFrameworkTest: Set the option to index 0 for the audio and video track list by default Change 3860654 by andrew.porter EngineTest: Enabling Camera Cut + FOV test Change 3860981 by andrew.porter EngineTest: Updating skeletal mesh tests with a delay after set playback position Change 3861256 by Max.Chen Sequencer: Add all bindings if none selected. #jira-54440 Change 3862154 by Andrew.Rodham Added TimeManagement module Change 3862424 by andrew.porter EngineTest: Turned on the test Bone Positions with Blend Multi Node Change 3862573 by andrew.porter EngineTest: Adding test to compare bone positions in a sequence that is blending an animation that is using an AnimBP Change 3865117 by Max.Chen Sequencer: Stop auto scroll on mouse release of movement. #jira UE-31212 Change 3865303 by Max.Chen Sequencer: Add drag and drop transactions #jira UE-54662 Change 3865304 by Max.Chen Sequencer: Fix crash when an actor factory is not found. Change 3865361 by Max.Chen Sequencer: Don't change the camera/shot lock button when popping out of a sequence. #jira UE-54665 Change 3865412 by Max.Chen Sequencer: Determine whether a transform track is for a camera by using the spawned object or template #jira UE-54666 Change 3865685 by Max.Chen Sequencer: Clear autoscrub offset when stopping autoscroll #jira UE-31212 Change 3865886 by Max.Chen Sequence Recorder: Log an error if the number of frames changes while recording. This can happen if the skeleton changes while recording. #jira UE-48715 Change 3866925 by Andrew.Porter MediaFrameworkTest: Changing the current PNG test video image sequence to 1024 x 576 Change 3867705 by andrew.porter QAGame: Adding Audio Sort Sequence to dev folder Change 3867890 by andrew.porter QAGame: Adding a sequence for testing a sorting crash to my dev folder Change 3872628 by Max.Chen Movie Scene Capture: Split delay before warmup into split delay before shot warmup so that there's separate controls for when the movie scene capture warmups up vs. shot boundaries. Change 3873131 by Matt.Hoffman UE-54732 - Crash reordering a folder with a track. This was caused by folders being the only type of track to check if someone was putting a parent track into a child track. Object Binding tracks and Tracks now check as well so that you can't use the above/below drop targets to add parents as children. This also fixed a typo in the localization keys. #jira UE-54732 Change 3873301 by Mike.Zyracki Added ability to support continous euler angle changes when changing rotations, in particularly with the rotation gizmo's. To do this we effectively added a form an of 'euler filter'(https://en.wikipedia.org/wiki/Euler_filter) to find the closest euler angle to the current euler angle. Three functions were added to FRotator to make this possible, one to get the euler angle that's has the same rotation as it, one to get the difference between two euler angles via Manhattan distance and a third using the previous two to choose a Rotator value that's closest to it. We then use these functions before calling UComponent::SetRelativeRotation to make sure we use the correct Euler after the Quat conversion. We also no longer limit(bound) the euler angles to -180,180, which is obviously necessary to avoid flips. I also changed how we caluclate yaw and roll when pitch is -90 or 90 to make it the standard approach of zeroing out roll and just setting yaw. Main reasons are the previous implementation had precision issues so things like 180, 90, -180 would show up due to numbers being nearly zero but negative,(this would break any smooth interpolations), and this facilitates having a 'gimbal' rotation mode (like Maya, Blender etc..) if we ever want that also. If needed we could keep the previous implementation but would need to add some FMath::IsNearlyZero checks, with less performance. Note we only do this special filtering when applying delta's to actors or components in the editors, which then call UComponent::SetRelativeRotationExact, which is a new function to foces the RelativeRotation to be equal to the new rotation. This allows us to store un-nomalized Rotators at the cost that the RotationCache may be broken. We didn't change any of the other UComponent functions that set rotations (via Quats or Transforms) so they will still be bounded and unwound. In SetInternalWorldLocationAndRotation we only set the rotation if the rotation has changed, which fixes the rotation getting changed and re-normalized if just translate happens. In TransformTrackEditor, we correclty use the bUndwing flag and in MovieScene3DTransformSection there was an un-needed winding check there, it will be unwound earlier if needed, which happens if Sequence Recording is happening. Max we should talk about what to do about this . Note the euler angle drag via the widget is still bound to 0-360. I think we should just unbound that now since the rotations value are now unbound. This review now includes fixes suggested by Zak. #jira UE-UE-22228 Change 3873483 by Matt.Hoffman Sequencer Tracks can now be inserted above the spacer at the bottom of the tree. #jira UE-54706 Change 3873899 by Max.Chen Sequencer: Add section selection throbbing Change 3873908 by Max.Chen Movie Scene Capture: Added logging per frame Change 3873924 by Matt.Hoffman Adds the ability to store Sequence Recorder setups into profiles that stay with the map and can be re-loaded later. Profiles store the Actor Recordings so the settings for each actor should carry with them. #jira UESEQ-339 Change 3874726 by Matt.Hoffman Disable drag-and-drop targets on spacers that come between rows in Sequencer. This prevents extra drag/drop targets showing up between each row. #jira UE-54706 Change 3874862 by Matt.Hoffman Audio Track no longer gets reordered when adding sub-audio tracks, as sub-tracks are no longer counted towards the sorting order index when normalizing indexes. #jira UE-54727 Change 3875905 by Matt.Hoffman Disable Fade Track UI if a fade track already exists in the sequence. #jira UESEQ-393 Change 3876163 by Max.Chen Sequencer: Swap the camera object to the camera component's owner if it's not the same. #jira UE-54874 Change 3876971 by Andrew.Porter EngineTest: Moved Media Player Seek test to new folder. Also enabled the test with new ground truth image. Change 3877040 by Max.Chen Cine Camera: Split camera properties to two groups, "Camera Options" and "Camera Settings". The cine camera now hides properties in the "Camera Settings" group so that properties like bConstrainAspectRatio (in the "Camera Options" group) can be visible. #jira UE-54192 Change 3877763 by Max.Chen Curve Editor: Fix curve changed on end drag so that only curves that had keys/tangents that were changed receive notification, otherwise all loaded curves were getting notified that they were changed. #jira UE-54951 Change 3878234 by Matt.Hoffman Disable "Drop Below" targets for Sequencer Tree nodes to prevent a confusing UX issue where dropping underneath a Object Binding Node puts it after the object binding node but the UI looks like it's inserting it inside the Object Binding node. #jira UE-54743 Change 3879359 by Mike.Zyracki If a track is inactive we dim it a bit which seems to be the UE4 way to show inactive or disabled state. We changed the active logic so that all subtracks need to be inactive for the track to also be inactive(instead of all active for active). This conforms to how the active state actually works, e.g if you have two sections and only one is active the track is still active above it. #jira UESEQ-388 Change 3879462 by Max.Chen Sequencer: Allow dragging onto a particular row which would move out any overlapping sections to make space for the newly created section. Newly created sections are now selected and throbbed to draw attention to themselves. #jira UE-54664 Change 3879464 by Max.Chen Sequencer: Fixed overlapping ranges being inserted into the evaluation field during compilation - The issue was that track segments that had been combined with adjacent segments (due to them being identical) would potentially cause a subsequently compiled frame to overlap with a range that had already been inserted into the evaluation field. - The insertion code previously asserted that only minor overlaps were catered for (due to fp rounding errors) and assumed that a supplied range could not entirely contain any other range in the field. - The solution is to supply the insertion time along with the range to know exactly where the data should live in the field, and crop the range to the maximum allowable space between adjacent ranges. #jira UE-54922 Change 3879590 by Matt.Hoffman Items that are now added to the Sequencer via the "+Track" menu will be selected after being added. Items can now be added inside of folders instead of just to the root level. #jira UE-27397 Change 3879612 by Mike.Zyracki Display Nodes with no children are always active. #jira UESEQ-388 Change 3879730 by Matt.Hoffman Sequence Recorder's actor recording groups now remove items from the group when removed via the UI. #jira UESEQ-339 Change 3880256 by Mike.Zyracki Fix issue with inactive display with folders and other track nodes. #jira UESEQ-388 Change 3883491 by Max.Chen Fix issue where tick is skipped due to last ticked pose isn't cleared after AnimInstance changes. Copy from Release-4.19 #jira UE-51323 Change 3883603 by Max.Chen Movie Scene Capture: Add option toggle disable screen percentage. By default this is on (no change in current behavior). #jira UE-51898 Change 3885074 by Max.Preussner MediaCompositing: Resetting media texture & freeing resource on section end; removed dead code Change 3887220 by Max.Preussner MediaCompositing: Defaulted media section duration to 1 sec (since we do not know the actual duration in most cases) Change 3887478 by Matt.Hoffman Sequences now show [Inactive] in their title bars when they're disabled. This helps communicate why a sequence isn't being evaluated. #jira UE-51469 Change 3888985 by Max.Chen Movie Scene Capture: Clamp HDR Compression Quality between 0 and 1. #jira UE-55136 Change 3893519 by Max.Chen Sequence Recorder: Clarified tooltip for bRecordNearbySpawnedActors - spawned actors will still be recorded if they match the ActorFilter. #jira UE-55238 Change 3893546 by Max.Chen Sequence Recorder: If a selected actor already has a recording, add a blank recording. #jira UE-55239 Change 3894044 by Max.Preussner MediaCompositing: Added support for seeking into a media section Change 3894310 by andrew.porter MediaFrameworkTest: Adding Img media sources for 1080 and 2160 ravent test content Change 3894426 by Max.Preussner MediaAssets: Letting media textures with AutoClear retain their clear color when player is reset Change 3895717 by Max.Chen Sequencer: Null checks to prevent crash when saving the default state of a spawnable #jira UE-55304 Change 3897388 by Max.Chen Sequencer: Don't update current time to be within the view range when stepping into a sequence. #jira UE-55322 Change 3897452 by Max.Chen Audio: Fix crash when trying to record audio without any active capture devices. Log warning if the number of input channels is not 1 or 2. #jira UE-55223 Change 3897619 by Max.Preussner MediaCompositing: Removed commented out code Change 3898072 by Max.Chen Sequencer: Override the animation asset in the player state if it doesn't match the animation asset that's being evaluated. #jira UE-55328 Change 3898272 by Max.Preussner MediaPlayerEditor: Made slate brush constants static Change 3898704 by Max.Chen Sequencer: Skip if the binding id's sequence can't be found. #jira UE-55337 Change 3899855 by Max.Preussner MediaCompositingEditor: Added cache state visualization to media track Change 3900300 by Max.Preussner MediaCompositingEditor: Added loop indicators to media sections Change 3900694 by Max.Preussner ImfMedia: Looping cache only when player is looping Change 3900892 by Max.Preussner Stats: Added stats category for media framework Change 3900954 by Max.Preussner MediaCompositing: Don't evaluate at the end of media section Change 3901348 by Max.Preussner Core: Replaced TLruCache autos for better readability Change 3901655 by Max.Preussner ImgMedia: Added more perf stats to EXR reader Change 3901972 by Max.Preussner MediaAssets: Added getter for media player in media sound components Change 3902233 by Max.Preussner MediaAssets: Enabling media textures to receive samples right after player is assigned Change 3902238 by Max.Preussner MediaCompositing: Working around init/shutdown idiosyncracies in sequencer Change 3904045 by Max.Chen Sequencer: Fix copy/paste crash. Only process UMovieSceneCopyableBinding and objects that can be spawned by the movie scene spawn register. #jira UE-55314 Change 3905605 by Max.Chen Sequencer: Restrict spawnables from being created if they have a ClassWithin that UMovieScene is not a child of. #jira UE-55429 Change 3906550 by Max.Chen Sequencer: Add media track icon #jira UE-55480 Change 3907101 by Max.Chen Sequence Recorder: Fix bugs related to not recording a level sequence. There were certain assumptions that creating a level sequence meant that sequence recording was in progress. This is not always the case - the recorders can record animation assets and not create a level sequence. Changed the notion of IsRecording() to having at least one actor recording that is recording. Countdown timer, recording displays, etc should function if IsRecording() and not based on whether a level sequence is created. #jira UE-55485 Change 3907247 by Max.Chen Sequence Recorder: Fix crash not removing PrepareToCleanseEditorObject delegate. Repros when opening sequence recorder, closing it, and then opening or creating a level. Change 3910343 by Max.Preussner Core: Added async helper for executing functions on a given thread pool Change 3910346 by Max.Preussner ImgMedia: Added separate thread pools for loading/decoding and deleting image frames Change 3910829 by Max.Preussner Profiler: Increased visible range of profiler graph Change 3910841 by Max.Preussner MediaCompositing: Displaying asset name instead of full media source path in media section Change 3910870 by Max.Preussner ImgMedia: Using deallocation thread pool only in debug builds Change 3919642 by Max.Chen Sequence Recorder: Clarify active tooltip #jira UE-55661 Change 3919660 by Max.Chen Sequencer: Sequence template source signatures are now also compared to catch the case where a sub-sequence asset has been saved but not modified - The following sequence of events exposes this issue: - Create a master sequence with a single shot that spawns a cube - Add this sequence to a level and set it to auto-play - Save everything and restart - Resave just the inner shot asset without opening it - PIE - The inner shot never spawns its cube because its template was wiped on save, but its signature never changed. Since the master sequence previously didn't check the template source signature, it ends up trying to evaluate an empty template. #jira UE-55626 #jira UE-55490 Change 3921825 by Max.Chen Sequencer: "Run Construction Script in Sequencer" is off by default for blueprints but on for Sequencer. This allows the content author to switch it on for specific blueprints and sequencer will be default, run those with construction scripts enabled. Change 3922232 by Max.Chen Sequence Recorder: Reset countdelay on stop. #jira UE-55755 Change 3922306 by Max.Chen Sequence Recorder: Don't automatically mark transforms to be recorded by sequence recorder. Instead, log a warning if the user toggled it off to warn that the resulting animation might not match gameplay. #jira UE-55758 Change 3922912 by Max.Chen Sequence Recorder: Fix refresh next sequence name #jira UE-55757 Change 3927654 by Max.Chen Movie Scene Capture: Added format mapping for the name of the current camera #jira UE-55769 PR #4537 Change 3927658 by Max.Chen Sequencer: Added fbx property mapping for "FocusDistance" to "FocusSettings.ManualFocusDistance" #jira UE-55782 Change 3932022 by Max.Chen Sequencer: Add import animation track section to next available row index. #jira UE-55892 Change 3933919 by Max.Chen Sequencer: Jump to playback start frame and not 0 to start playback for recording. #jira UE-55933 Change 3934307 by Andrew.Rodham Sequencer: Add template signature that is re-generated every time the base template is regenerated, which invalidates evaluation fields This fixes an issue where the same sequence is instantiated multiple times in a sequence. If the source sequence was saved, its template would be wiped, which would invalidate the template ID When an instance tries to evaluate the master template, it would only invalidate a range in the evaluation field that was the hull of any invalid sub sequences overlapping the current time, potentially leaving invalid data in the evaluation field at positions later (or earlier) on in the sequence When the sub template was re-generated, it receives the same SequenceSignature as it had before (because the sequence hasn't actually changed), which causes the stale evaluation field data to fail the IsDirty check (because the sequence is the same as it thought, but the *template* has changed) This has been addressed be adding a signature to templates themselves, and checking both the template signature and sequence signature as a part of the IsDirty check. This ensures that we regenerate if either the template, or the sequence have changed. #jira UE-55934 Change 3936327 by Andrew.Rodham Sequencer: Removed increment when trimming right UMovieSceneSection::TrimSection already explicity assigns an exclusive bound to the time passed in. The new behavior means we can trim a section to the right, and insert another section without changing the time to create adjacent sections. #jira UE-42652 Change 3936328 by Andrew.Rodham Fixed KeyFrameManipulator assignment operators and copy/move constructors - These types are potentially self-referential so cannot use default constructors/assignment Change 3936330 by Andrew.Rodham Converted UMGSequencePlayer to use frames internally #jira UE-54878 Change 3936726 by Max.Chen Sequencer: Set track node as the parent of the key area node. The key area switcher needs the object binding id from the parent object binding node. Without this, the binding to the external value fails. #jira UE-55931 Change 3936775 by Max.Chen Sequencer: Should stop or loop should compare DurationFrames with Current Time from StartTime. The bug is that if you set 30 warmup frames in movie rendering for a range of 0-100, the FrameRange will be starting at -30 and have a duration of 130. Without this fix, the playback will continue until frame 130, rather than 100. #jira UE-55933 Change 3936935 by Matt.Hoffman Easing Curves are now represented in Play Rate resolution instead of internal resolution. #jira UE-55937 Change 3937069 by Matt.Hoffman Users can toggle if the is infinite on each side, limited by which tracks support infinite ranges. #jira UE-55891 Change 3937516 by Max.Preussner ImgMedia: Added support for single-threaded platforms #jira UE-55986 Change 3937826 by Max.Preussner MediaAssets: Disabling media sound components on HTML5 if AudioMixer is not enabled Change 3937997 by Max.Chen Curve Editor: Add Zoom to Fit Curves so that selected curves from Sequencer can be focused on. Tested that undo doesn't re-zoom. #jira UE-55935 Change 3938000 by Max.Chen Sequencer: Stop all sounds before generating audio waveforms. #jira UE-55951 Change 3938376 by Max.Preussner XGEController: Disabled XGE Controller in single-threaded apps to prevent crash Change 3938444 by Max.Preussner Core: Added async support for single-threaded applications Change 3938445 by Max.Preussner Networking: Added support for single-threaded applications in UDP socket sender/receiver Change 3938447 by Max.Preussner Messaging: Added support for single-threaded applications Change 3939432 by Max.Chen Sequence Recorder: Append command list to global level editor actions so that shortcuts are accessible in level editor. #jira UE-55798 Change 3940229 by Andrew.Rodham Added prospective display rate upgrade to UMovieScene::PostLoad - There was previously some very odd behaviour that would assign the fixed frame interval only when a sub sequence was focused in SSequencer. This meant that many sequences could have a frame interval of 0 set in the data. - Under the old method of snap interval display this would have fallen back to getting the display interval from the sequencer settings, but we no longer look at these. - The USequencerSettings properties have been removed and in their place, a prospective data upgrade for sequences that have a fixed frame interval old 0fps that sets the play rate to the previous defaults based off the old USequencerSettings defaults. - This could end up 'changing' the display rate for sequences where the user has changed the snap interval in the settings for a particular sequence editor, but there's not much we can do about that given we don't have access to the USequencerSettings classes in UMovieScene #jira UE-55919 Change 3940277 by Andrew.Rodham Sequencer: Added ability to default frame resolutions and play rates for newly created actor sequences Change 3940378 by Andrew.Rodham Sequencer: Post move import dialog now defaults to the playback framerate of the sequence, and floors to frame numbers Change 3940559 by Andrew.Rodham Reinstated primed or recording sequence color Change 3940642 by Max.Preussner ImagePlate: Removed image plate media playback functionality Change 3940843 by Max.Preussner Core: Made TCircularQueue actually thread-safe; improved code comments Change 3940860 by Max.Chen Sequencer: Changed StructNameToKey to StructPathToKey Previously, keying a PropertyPath of [RenderTransform][Shear][X] would get trimmed to X, which doesn't map to a channel name as considered by Sequencer2dTransformTrackEditor. Instead, trim the resulting property path to [Shear][X] so that track editors can determine the desired struct path and channels to key. #jira UE-52966 Change 3941292 by Mike.Zyracki Fix for trajectories out of range not showing up. 1) If we had no key data we would pop the time, so wouldn't get the section ranges. 2) Calculating of upper bound was wrong, checking against -1 and not key == num of keys when doing algo::lower_bound. 3) No need to do the Bck-- for the bakward iterators since we fixed #2. We start now from the upper bound correctly. 4) If we had no keys (at section start,end) we would incorrectly say we were any key type, so since we draw constant keys as dashed we would do so incorrectly around section end points. #jira UE-55929 Change 3941424 by Max.Chen Curve Editor: Change Zoom to Fit to use TArrayView Change 3941498 by Max.Preussner Core: Added FMath::DivideAndRoundNearest function Change 3942097 by Matt.Hoffman Drop Frame Timecode Support for NTSC rates. Change 3942104 by Matt.Hoffman Sequence Recorder Group is no longer visible inside the World Outliner after using one. #jira 55266 Change 3942107 by Max.Chen Sequencer: Resurrect logic to find or extend an existing section when adding keys. Change 3942330 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942339 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942507 by Andrew.Rodham Sequencer: We no longer pad the time overlap threshold with a small number that is not scaled by the current zoom level - The presence of this pad was causing keys that were far apart to be grouped when zoomed in a long way Change 3942509 by Andrew.Rodham Sequencer: Only pad total view range, rather than section range as well when retrieving keys to render - This stops us from rendering keys that are within the view range, but outside the section range Change 3942512 by Andrew.Rodham Added transactions to some sequencer details customizations Change 3942513 by Andrew.Rodham Sequencer: Reinstated validation checks to UMovieSceneSection::SetStartFrame and SetEndFrame, changed erroneous uses to use SetRange Change 3942560 by Andrew.Rodham Pass by rvalue reference to appease error C2719 on Win32 ('InChannels': formal parameter with requested alignment of 8 won't be aligned) Change 3942697 by Andrew.Rodham Newly Created Level Sequences and Actor Sequences now default to 24000 fps frame resolution (+/- ~24hrs range, supporting all integer rates + 23.976) Change 3942700 by Andrew.Rodham Sequencer: Added legacy out-of-bounds errors for times that are not supported by the current legacy upgrade frame resolution Change 3942989 by Max.Preussner Core: Fixed circular queue count calculation Change 3943538 by Max.Preussner MediaAssets: Reverted workaround for procedural audio log spam in HTML5 (Actor component initialization cannot be skipped if the component is used in a level) Change 3944071 by Max.Preussner QAGame: Fixed Media Texture keeps last frame of Media when PIE ends #jira UE-53360 Change 3944292 by Max.Chen Sequencer: Added extra flags to ensure that asset initialization does not occur on template actor sequences #jira UE-56113 Change 3944364 by Max.Chen Sequencer: Prevent circular shot/master tracks. Tested adding master -> child -> master as drag and drop cinematic shot tracks and sub tracks as well as through the + button. #jira UE-56091 Change 3944422 by Max.Chen Sequence Recorder: Disable transform recording if off. #jira UE-56061 Change 3944745 by Andrew.Rodham Sequencer: Key rendering fixes - Fixed assert that occured when keys happened to reside on some times due to KeyTime + TimeOverlapThreshold - KeyTime being slightly larger TimeOverlapThreshold - Fixed keys sometimes being clipped when zoomed right in due to lack of half-frame offset - Added missing documentation to MovieSceneTimeHelpers.h #jira UE-56107 Change 3945231 by Andrew.Rodham Sequencer: Reconstruct channel proxy on Serialize to catch all cases of undo/redo, PostLoad and duplication #jira UE-56089 Change 3945301 by Andrew.Rodham Sequencer: Added safety checks during initial sequence recording to guard against applying negative or 0-sized sequence ranges #jira UE-56125 Change 3946627 by Max.Preussner Fortnite: Fixed game crashes closing editor while in PIE - Pure virtual function being called #jira UE-56144 [CL 3946896 by Max Chen in Main branch]
2018-03-14 22:09:33 -04:00
TRange<FFrameNumber> SelectionRange = TimeSliderArgs.SelectionRange.Get();
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3178529) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3149443 on 2016/10/03 by Max.Preussner MediaAssets: Better parameter names for MediaPlayer BP functions Change 3149756 on 2016/10/03 by Max.Chen Sequence Recorder: Set some settings to be clamped at 0 (sequence length, recording delay, audio gain, audio input buffer size, nearby actor recording proximity) #jira UE-35233 Change 3149795 on 2016/10/03 by Max.Chen Curve Editor: Set tangent to user when flattening or straightening tangents only when the tangent mode is auto and the interp mode is cubic. #jira UE-36734 Change 3150378 on 2016/10/04 by Max.Preussner PS4Media: Made video buffer sizes for file and HLS sources configurable (UE-36807) #jira UE-36807 Change 3151414 on 2016/10/05 by Max.Chen Sequencer: Fix case where restoring the last view target was getting skipped. It should always restore if the camera object and the unlock if camera actor object is null. #jira UE-35285 Change 3152038 on 2016/10/05 by Max.Preussner UdpMessaging: Code & documentation modernization pass Change 3152471 on 2016/10/05 by Max.Chen Cine Camera: Don't enable/disable actor ticking based soley on actor tracking since actor ticking is needed for other purposes. Instead, always enable actor ticking and only update actor tracking on tick if necessary. This fixes a bug where the cine camera actor won't tick if you hook in event tick. #jira UE-36625 Change 3152692 on 2016/10/05 by Max.Preussner Messaging: API code & documentation modernization pass Mostly removed shared pointer/ref typedefs as they prevent forward declarations and increase include complexity. Change 3153824 on 2016/10/06 by Max.Preussner Messaging: Renamed IConnectionBasedMessagingModule to ITcpMessagingModule and moved it into TcpMessaging I recommend that we refactor this API. The dependency should be reversed, i.e. instead of AndroidDeviceDiscovery depending on the TcpMessaging plug-in module, the Engine should provide a central registry that device discovery modules can notify, and that message transport plug-ins can register with and listen to OnConnectionAdded/Removed events etc. That way it supports an arbitrary number of transport plug-ins, and the Engine is not coupled to any of them. This functionality is not necessarily related to messaging, and the Messaging API is transport agnostic anyway. I'll think about this some more. Change 3153826 on 2016/10/06 by Max.Preussner Messaging: Removed remaining typedefs in IMessageTracer to enable forward declaration and reduce include dependencies Change 3153857 on 2016/10/06 by Max.Chen Sequencer: Set snap time to dragged key on by default. Change 3153980 on 2016/10/06 by Max.Preussner SessionServices: Removed typedefs; code and documentation modernization pass Change 3154313 on 2016/10/06 by Max.Chen Sequencer: Set the paste keys time to the current time, rather than the mouse time. Change 3154332 on 2016/10/06 by Max.Chen Sequencer: Remove click to rename shot functionality in the shot thumbnail. Added rename shot to the shot context menu. Change 3154377 on 2016/10/07 by Max.Chen Sequencer: Add ability to step to beginning and ends of sections/shots using the hotkeys: , and . Change 3154788 on 2016/10/07 by Max.Chen Sequencer: Fix offsets that created when moving multiple sections. The offsets were being created because section bounds were being generated for all sections except for the current section. Instead, they should be computed for all sections except for any that aren't being moved. #jira UE-29152 Change 3159274 on 2016/10/11 by Max.Preussner Core: Documentation fixes Change 3159275 on 2016/10/11 by Max.Preussner UdpMessaging: Added missing header Change 3160746 on 2016/10/12 by Max.Preussner MediaAssets: Added BP functions to query width, height, and aspect ratio of UMediaTexture instances #jira UE-37241 Change 3160975 on 2016/10/12 by Max.Preussner PS4Media: Better logging for SetRate failures Change 3160995 on 2016/10/12 by Max.Preussner MediaPlayerEditor: Fixed Media player selection is ignored if media specifies player overrides (UE-37248) #jira UE-37248 Change 3161066 on 2016/10/12 by Max.Preussner PS4Media: Enforcing minimum 8 byte alignment for media allocations Change 3161069 on 2016/10/12 by Max.Preussner PS4Media: Fixed log spam when setting play rate to current rate Change 3162567 on 2016/10/13 by Max.Preussner PS4Media: Made track switching code more readable Change 3163447 on 2016/10/14 by Max.Preussner PS4Media: Fixed array out of bounds assertions Change 3163772 on 2016/10/14 by Max.Preussner MfMedia: Fixed a number of timing related issues Change 3163980 on 2016/10/15 by Max.Chen Sequencer: Remove folder name numeric padding so that the naming convention is similar to creating objects in the level. Change 3164581 on 2016/10/17 by Andrew.Rodham Sequencer: Ensure global pre-animated state is restored in reverse order Change 3164582 on 2016/10/17 by Andrew.Rodham Sequencer: Ensure pre animated state is restored for all actor components before saving default state Change 3164583 on 2016/10/17 by Andrew.Rodham Sequencer: Re-enabled support for pre and post roll Change 3165464 on 2016/10/17 by Max.Chen Sequencer: Default number frame handles to 0 so that there's no change in behavior when rendering out a master sequence of shots. Handle frames need to enabled explicitly by the user. Copy from Release-4.14 #jira UE-37416 Change 3165483 on 2016/10/17 by Max.Chen Sequencer: Enable restore state for attach section completion Change 3165771 on 2016/10/18 by Andrew.Rodham Sequencer: Force evaluate when rendering thumbnails #jira UE-37321 Change 3166057 on 2016/10/18 by Andrew.Rodham Sequencer: Only set defaults for tracks that have no keys, and where the requested default has changed #jira UE-37285 Change 3166218 on 2016/10/18 by Max.Preussner MediaPlayerEditor: Failure opening media, even though it opened successfully (UE-37470) #jira UE-37470 Change 3166247 on 2016/10/18 by Max.Preussner WmfMedia: Showing progress bar while media is being resolved Change 3166289 on 2016/10/18 by Max.Preussner MfMedia: Showing progress bar while media is being resolved Change 3166993 on 2016/10/18 by Max.Preussner MfMedia: Fixed info string not reset on media close. Change 3166999 on 2016/10/19 by Max.Preussner Media: Fixed NV12 and NV21 support Change 3167008 on 2016/10/19 by Max.Preussner Media: Removed vertical NV12 alignment Change 3167029 on 2016/10/19 by Max.Preussner WmfMedia: Temp fix for RGB32 encoded AVIs rendering upside-down and too bright (UE-37505) #jira UE-37505 Change 3168593 on 2016/10/19 by Max.Chen Sequencer: Change paste at time to local time, so that the paste happens in the local time of the sequence rather than the global time if pasting in a shot level sequence. Change 3168626 on 2016/10/19 by Max.Chen Sequencer: Clamp to view bounds should snap to frame if frame snapping is on. Change 3168627 on 2016/10/19 by Max.Chen Sequencer: Initialize working and view range to be 10% larger than playback range. Change 3168760 on 2016/10/20 by Max.Preussner Media: Revamped media texture buffer management to support padded frames Added support for Windows bitmap buffers. Fixed a number of format, conversion and/or looping issues in WmfMedia and MfMedia. Not all shaders have been updated yet. Change 3169640 on 2016/10/20 by Max.Chen Sequencer: Add current camera to FLevelSequencePlayerSnapshot. Adjust DefaultBurnIn to include a few more parameters like focal length and focus distance. #jira UE-37407 Change 3170677 on 2016/10/21 by Max.Chen Movie Scene Capture: Add toggle to override engine scalability settings to cinematic scalability. #jira UE-36560 Change 3170710 on 2016/10/21 by Max.Preussner Media: Optimized handling of RGB input Change 3170712 on 2016/10/21 by Max.Preussner Media: Fixed NV21 conversion shader scaling Change 3170923 on 2016/10/21 by Max.Preussner UBT: Copied XboxOne project generator fix from Fortnite CL# 3170868 Change 3171494 on 2016/10/23 by Max.Chen Sequencer: Fix fbx export from master sequence not finding bound objects. #jira UE-35752 Change 3171506 on 2016/10/23 by Max.Chen Sequencer: Draw where in and out points of the shot section are, just like subsequences do. Change to only draw the green starting line if StartOffset is negative. #jira UE-35473 Change 3171743 on 2016/10/24 by Andrew.Rodham Editor: Added support for detail customizations on root structs - Also added the ability to add external struct data onto a detail category builder, and property type customization. Change 3171752 on 2016/10/24 by Andrew.Rodham Sequencer: Fixed spawnable ownership - Spawnables are no longer destroyed when the cursor leaves the master playback range. - Spawnable ownership now operates as it previously did before the evaluation rework. - bIgnoreOwnershipInEditor has been removed since its existence was a work around for when we didn't evaluate sub sequences from the master sequence. - FMovieSceneSequenceID is now a struct so that it can be used in array properties - Meta data now exists for each segment of an evaluation field. Currently this only includes the sub sequence IDs that exist at that time, but it may be expanded to include all evaluation entities (tracks + sections) in future so we don't have to calculate that at runtime. Change 3171756 on 2016/10/24 by Andrew.Rodham Sequencer: Added ability to trigger events with parameters - It's now possible to supply an event payload on event track keys which are to be passed to a given event. The structure must match the signature of the event, or a warning will be emitted. - Added a templated TGenericKeyArea, TKeyFrameManipulator and TCurveInterface that allow to generic manipulation of keyframe section data. In time we will port the other key areas over to this representation. - This new architecture affords the common manipulation of time-based keyframes in a value-agnostic manner. Change 3172935 on 2016/10/24 by Max.Preussner MediaPlayerEditor: Fixed MediaPlayer asset not being dirtied when creating media sound wave or texture for it Change 3173947 on 2016/10/25 by Max.Preussner SlateRemote: Disabled plug-in, but enabled server by default Change 3174510 on 2016/10/26 by Max.Chen Sequencer: Fix slomo track crash #jira UE-37802 Change 3174698 on 2016/10/26 by Andrew.Rodham UMG: Fixed objects bound to a panel slot animating their slot's content instead of the slot itself #jira UE-37775 Change 3174780 on 2016/10/26 by Max.Preussner MediaAssets: Accepting decoder defined buffer dimensions for RGB buffers Change 3174789 on 2016/10/26 by Max.Preussner MediaPlayerEditor: Showing desired player name instead of current player name if no media loaded Change 3174817 on 2016/10/26 by Max.Preussner WmfMedia: Added support for Motion JPEG (MJPG) Change 3174825 on 2016/10/26 by Max.Preussner WmfMedia: Added support for non-RGB32 uncompressed formats Change 3174834 on 2016/10/26 by Max.Preussner MediaPlayerAssets: Allow pausing while buffering media Change 3174886 on 2016/10/26 by Andrew.Rodham Core: Fixed range test that was testing incorrect behavior Change 3174889 on 2016/10/26 by Andrew.Rodham Sequencer: Fixed AssignActor behavior - Also ensure that cached object state is invalidated when playback context changes #jira UE-37798 Change 3174905 on 2016/10/26 by Andrew.Rodham Sequencer: Changed assert when failing to create an audio component to a log message - Audio no longer plays when GEngine->UseSound() is false #jira UE-37772 Change 3174980 on 2016/10/26 by Andrew.Rodham Sequencer: Remove warning when event endpoint could not be found for a given context #jira UE-37824 Change 3175001 on 2016/10/26 by Andrew.Rodham Sequencer: Evaluate sequence with EMovieScenePlaybackStatus::Jumping on Pause. - Also protect Pause() against reentrancy when being called from an event Change 3175012 on 2016/10/26 by Max.Chen Sequence Recorder: Fixes an empty working and view range after recording. On StopRecording() update playback range after nullifying the current sequence so that the playback range isn't empty. Added SetViewRange and SetWorkingRange. #jira UE-34191 Change 3177760 on 2016/10/28 by Max.Chen Sequence Recorder: Don't update the current sequence name if it's already set. This fixes a bug where if you pass in a sequence name to record to, it gets reset to the name in the sequence recorder settings. #jira UE-37808 Change 3178529 on 2016/10/28 by Max.Chen Matinee to Level Sequence: Added interface to extend the matinee to level sequence converter #jira UE-37328 #2864 [CL 3178562 by Max Chen in Main branch]
2016-10-28 15:04:38 -04:00
if (SelectionRange.IsEmpty())
{
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3946692) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3801826 by Max.Chen PR #4304: Level Sequence crash fix - Guarded against dereferencing null componen. (Contributed by DSDambuster) Change 3801828 by Max.Chen PR #4302: Movie Scene Visibility Template unitialised variable, causing random . (Contributed by DSDambuster) Change 3801837 by Max.Chen Sequencer: Delay spawning/construction for convert to possessable. This fixes a bug where property values would be lost when converting back and forth from possessable to spawnable. #jira UE-52400 Change 3801841 by Max.Chen Sequencer: Make spacer nodes not selectable. PR #4194: Improvements to Sequencer (Contributed by projectgheist) #jira UE-53117 #jira UE-52139 Change 3804183 by Max.Preussner MediaAssets: Added missing lock in media sound component Change 3805414 by Max.Preussner MediaAssets: Setting valid GUID when initializing media texture resource Change 3819578 by Max.Chen PR #4370: When enabling the "MovieCapture", do not turn off the Stereo-3D display. (Contributed by yehaike) #jira UE-53647 Change 3823414 by Max.Chen Curve Editor: Lock down the first and last keys in the redundant keys removal range so that they're unaffected. #jira UE-53591 Change 3826406 by Max.Chen Sequencer: Move OnStartedPlaying() to within first update in UpdateTimeCursorPosition(). This fixes an issue where setting the hud/player visibility was getting stomped on later. #jira UE-52772 Change 3827044 by Max.Preussner MediaAssets: Added sprite visualization to media sound component #jira UE-53594 Change 3827988 by Max.Preussner MediaPlayerAssets: Fixed Media Texture is not linked to Media Player when created together #jira UE-53532 Change 3828506 by Max.Preussner MediaPlayerEditor: Added attenuation visualizer for media sound components #jira UE-53594 Change 3832590 by andrew.porter EngineTest: Added a keep state check in Property Animation sequencer test Change 3833053 by andrew.porter EngineTest: Adding Hierarchical Bias test Change 3835683 by andrew.porter EngineTest: Adding UMG Animation screenshot test Change 3836076 by Max.Chen Sequencer: Fix audio volume and pitch multiplier deprecation. Change 3836230 by andrew.porter EngineTest: Adding Sequence Bone Position automation test Change 3836347 by Max.Chen Sequencer: Fixes to shot name parsing. When a shot doesn't contain a shot number, assume, [ShotName]_[TakeNumber]. When duplicating a shot, put the new shot in the same path of the original shot, so that the take numbers will increment properly. #jira UE-51868 Change 3836552 by Max.Chen Sequencer: Sub section now has a takes menu Change 3838094 by Max.Chen UMG: Fix template finish not getting called on stop. This fixes a bug where sections aren't restored when finished. #jira UE-52285 Change 3838708 by Max.Chen Sequencer: Add notification when the blend type is changed. #jira UE-54046 Change 3840295 by Max.Chen Sequencer: Fix copy/paste crash for lights #jira UE-54084 Change 3840957 by Mike.Zyracki Added Show Only Keyable and Show Only Animated to the filter list in the property editor. Added IsPropertyAnimated to IDetailKeyframe Interface which already had support for showing properties which are keyable (which is used for the key icon next to the properties.). Could have created another interface but then would have had to mimic the sequencer binding, releasing also, so this seemed best way. One issue still left is that custom built detail items currently don't store associated properties(usually) and so certain properties, in particulalry transforms, won't show up as keyable or animated. Note this also shows up with the keyable icon not showing up next to transform tracks, and other filters like Show Only Modified not working with transforms/customs. Not sure best way to tackle this. #jira UESEQ-328 Change 3841756 by Max.Chen Sequencer: Fix unbound possessable components when pasting spawnables. #jira UE-54104 Change 3843950 by andrew.porter EngineTest: Renaming LevelStreaming tests/content to LevelVisibility Change 3844082 by Mike.Zyracki Missing file for animated filter in property editor. When finding if a track is animated we need to find it but we can't easily induce the MovieTrack class for any particular property. So we don't set a class for it and just search by it's ID and name. #jira UESEQ-328 Change 3846902 by Max.Preussner ImgMedia: Fixed image media player never finished initialization if loading failed #jira UE-54247 Change 3849820 by Mike.Zyracki Reassigning deleted widgets didn't work since the menu extender mechanism needs a valid UObject in order to perform an operation on it. So to fix we replaced GetObjectBindingContextMenuExtender in WidgetBlueprint with new delegate mechanism (OnBuildCustomContextMenuForGuid) that supports FGuid in addition to UObjects which is needed to handle re-binding deleted widgets. Note that the default sequencer hacks this for replacing deleted actors in SequencerObjectBindingNode to check to see if a LevelSequence is active. We could move to this mechanism there also. #jira UE-53163 Change 3852211 by Max.Chen UMG: Indicate name of the property that is not bound. #jira UE-54350 Change 3854120 by Max.Chen Sequencer: Fix sibling folders being allowed to have the same folder name. #jira UE-54363 Change 3854627 by Max.Chen Sequencer: Step to next/previous key should work for all tracks if there aren't any selected. #jira UESEQ-391 Change 3855825 by andrew.porter EngineTest: Adding animation blending automation test Change 3855950 by andrew.porter EngineTest: Adding correct expected valuues to animation blending test Change 3856237 by Matt.Hoffman UESEQ-336 - Sequencer Track Reordering Adds the ability to re-order Master Tracks, Folders and Object Bindings within sequencer hierarchies (including UMG). Adds the ability to do a one-off sorting of the content under the old sorting behavior if the user wants to reset their layout to how it was under legacy behavior. Modifies SequencerTrackNodes, SequencerFolderNodes and SequencerObjectBindingNodes to handle CanDrop/OnDrop for above, below and ontop of. Fixes a Slate Issue that forcibly expanded a TreeviewRow if an item handled OnDrop. Slate will now only forcibly expand the row if the item says the drop happened ontop of the item, and not above or below it like it previously did. Change 3856503 by andrew.porter EngineTest: Adding automation test for using animation blueprint with blend multi node in sequencer Change 3857875 by Max.Chen Sequencer: Assign the sequence id after the template is compiled. #jira UE-54462 Change 3858344 by Max.Chen Sequencer: Prevent Goto and Transform boxes from overlapping by allowing them to be visible at the same time in an autosized horizontal box. Also, added close button to the goto box. PR #4425: Prevent Goto and Transform boxes from overlapping in Sequencer ... (Contributed by projectgheist) #jira UE-54210 Change 3860566 by andrew.porter MediaFrameworkTest: Set the option to index 0 for the audio and video track list by default Change 3860654 by andrew.porter EngineTest: Enabling Camera Cut + FOV test Change 3860981 by andrew.porter EngineTest: Updating skeletal mesh tests with a delay after set playback position Change 3861256 by Max.Chen Sequencer: Add all bindings if none selected. #jira-54440 Change 3862154 by Andrew.Rodham Added TimeManagement module Change 3862424 by andrew.porter EngineTest: Turned on the test Bone Positions with Blend Multi Node Change 3862573 by andrew.porter EngineTest: Adding test to compare bone positions in a sequence that is blending an animation that is using an AnimBP Change 3865117 by Max.Chen Sequencer: Stop auto scroll on mouse release of movement. #jira UE-31212 Change 3865303 by Max.Chen Sequencer: Add drag and drop transactions #jira UE-54662 Change 3865304 by Max.Chen Sequencer: Fix crash when an actor factory is not found. Change 3865361 by Max.Chen Sequencer: Don't change the camera/shot lock button when popping out of a sequence. #jira UE-54665 Change 3865412 by Max.Chen Sequencer: Determine whether a transform track is for a camera by using the spawned object or template #jira UE-54666 Change 3865685 by Max.Chen Sequencer: Clear autoscrub offset when stopping autoscroll #jira UE-31212 Change 3865886 by Max.Chen Sequence Recorder: Log an error if the number of frames changes while recording. This can happen if the skeleton changes while recording. #jira UE-48715 Change 3866925 by Andrew.Porter MediaFrameworkTest: Changing the current PNG test video image sequence to 1024 x 576 Change 3867705 by andrew.porter QAGame: Adding Audio Sort Sequence to dev folder Change 3867890 by andrew.porter QAGame: Adding a sequence for testing a sorting crash to my dev folder Change 3872628 by Max.Chen Movie Scene Capture: Split delay before warmup into split delay before shot warmup so that there's separate controls for when the movie scene capture warmups up vs. shot boundaries. Change 3873131 by Matt.Hoffman UE-54732 - Crash reordering a folder with a track. This was caused by folders being the only type of track to check if someone was putting a parent track into a child track. Object Binding tracks and Tracks now check as well so that you can't use the above/below drop targets to add parents as children. This also fixed a typo in the localization keys. #jira UE-54732 Change 3873301 by Mike.Zyracki Added ability to support continous euler angle changes when changing rotations, in particularly with the rotation gizmo's. To do this we effectively added a form an of 'euler filter'(https://en.wikipedia.org/wiki/Euler_filter) to find the closest euler angle to the current euler angle. Three functions were added to FRotator to make this possible, one to get the euler angle that's has the same rotation as it, one to get the difference between two euler angles via Manhattan distance and a third using the previous two to choose a Rotator value that's closest to it. We then use these functions before calling UComponent::SetRelativeRotation to make sure we use the correct Euler after the Quat conversion. We also no longer limit(bound) the euler angles to -180,180, which is obviously necessary to avoid flips. I also changed how we caluclate yaw and roll when pitch is -90 or 90 to make it the standard approach of zeroing out roll and just setting yaw. Main reasons are the previous implementation had precision issues so things like 180, 90, -180 would show up due to numbers being nearly zero but negative,(this would break any smooth interpolations), and this facilitates having a 'gimbal' rotation mode (like Maya, Blender etc..) if we ever want that also. If needed we could keep the previous implementation but would need to add some FMath::IsNearlyZero checks, with less performance. Note we only do this special filtering when applying delta's to actors or components in the editors, which then call UComponent::SetRelativeRotationExact, which is a new function to foces the RelativeRotation to be equal to the new rotation. This allows us to store un-nomalized Rotators at the cost that the RotationCache may be broken. We didn't change any of the other UComponent functions that set rotations (via Quats or Transforms) so they will still be bounded and unwound. In SetInternalWorldLocationAndRotation we only set the rotation if the rotation has changed, which fixes the rotation getting changed and re-normalized if just translate happens. In TransformTrackEditor, we correclty use the bUndwing flag and in MovieScene3DTransformSection there was an un-needed winding check there, it will be unwound earlier if needed, which happens if Sequence Recording is happening. Max we should talk about what to do about this . Note the euler angle drag via the widget is still bound to 0-360. I think we should just unbound that now since the rotations value are now unbound. This review now includes fixes suggested by Zak. #jira UE-UE-22228 Change 3873483 by Matt.Hoffman Sequencer Tracks can now be inserted above the spacer at the bottom of the tree. #jira UE-54706 Change 3873899 by Max.Chen Sequencer: Add section selection throbbing Change 3873908 by Max.Chen Movie Scene Capture: Added logging per frame Change 3873924 by Matt.Hoffman Adds the ability to store Sequence Recorder setups into profiles that stay with the map and can be re-loaded later. Profiles store the Actor Recordings so the settings for each actor should carry with them. #jira UESEQ-339 Change 3874726 by Matt.Hoffman Disable drag-and-drop targets on spacers that come between rows in Sequencer. This prevents extra drag/drop targets showing up between each row. #jira UE-54706 Change 3874862 by Matt.Hoffman Audio Track no longer gets reordered when adding sub-audio tracks, as sub-tracks are no longer counted towards the sorting order index when normalizing indexes. #jira UE-54727 Change 3875905 by Matt.Hoffman Disable Fade Track UI if a fade track already exists in the sequence. #jira UESEQ-393 Change 3876163 by Max.Chen Sequencer: Swap the camera object to the camera component's owner if it's not the same. #jira UE-54874 Change 3876971 by Andrew.Porter EngineTest: Moved Media Player Seek test to new folder. Also enabled the test with new ground truth image. Change 3877040 by Max.Chen Cine Camera: Split camera properties to two groups, "Camera Options" and "Camera Settings". The cine camera now hides properties in the "Camera Settings" group so that properties like bConstrainAspectRatio (in the "Camera Options" group) can be visible. #jira UE-54192 Change 3877763 by Max.Chen Curve Editor: Fix curve changed on end drag so that only curves that had keys/tangents that were changed receive notification, otherwise all loaded curves were getting notified that they were changed. #jira UE-54951 Change 3878234 by Matt.Hoffman Disable "Drop Below" targets for Sequencer Tree nodes to prevent a confusing UX issue where dropping underneath a Object Binding Node puts it after the object binding node but the UI looks like it's inserting it inside the Object Binding node. #jira UE-54743 Change 3879359 by Mike.Zyracki If a track is inactive we dim it a bit which seems to be the UE4 way to show inactive or disabled state. We changed the active logic so that all subtracks need to be inactive for the track to also be inactive(instead of all active for active). This conforms to how the active state actually works, e.g if you have two sections and only one is active the track is still active above it. #jira UESEQ-388 Change 3879462 by Max.Chen Sequencer: Allow dragging onto a particular row which would move out any overlapping sections to make space for the newly created section. Newly created sections are now selected and throbbed to draw attention to themselves. #jira UE-54664 Change 3879464 by Max.Chen Sequencer: Fixed overlapping ranges being inserted into the evaluation field during compilation - The issue was that track segments that had been combined with adjacent segments (due to them being identical) would potentially cause a subsequently compiled frame to overlap with a range that had already been inserted into the evaluation field. - The insertion code previously asserted that only minor overlaps were catered for (due to fp rounding errors) and assumed that a supplied range could not entirely contain any other range in the field. - The solution is to supply the insertion time along with the range to know exactly where the data should live in the field, and crop the range to the maximum allowable space between adjacent ranges. #jira UE-54922 Change 3879590 by Matt.Hoffman Items that are now added to the Sequencer via the "+Track" menu will be selected after being added. Items can now be added inside of folders instead of just to the root level. #jira UE-27397 Change 3879612 by Mike.Zyracki Display Nodes with no children are always active. #jira UESEQ-388 Change 3879730 by Matt.Hoffman Sequence Recorder's actor recording groups now remove items from the group when removed via the UI. #jira UESEQ-339 Change 3880256 by Mike.Zyracki Fix issue with inactive display with folders and other track nodes. #jira UESEQ-388 Change 3883491 by Max.Chen Fix issue where tick is skipped due to last ticked pose isn't cleared after AnimInstance changes. Copy from Release-4.19 #jira UE-51323 Change 3883603 by Max.Chen Movie Scene Capture: Add option toggle disable screen percentage. By default this is on (no change in current behavior). #jira UE-51898 Change 3885074 by Max.Preussner MediaCompositing: Resetting media texture & freeing resource on section end; removed dead code Change 3887220 by Max.Preussner MediaCompositing: Defaulted media section duration to 1 sec (since we do not know the actual duration in most cases) Change 3887478 by Matt.Hoffman Sequences now show [Inactive] in their title bars when they're disabled. This helps communicate why a sequence isn't being evaluated. #jira UE-51469 Change 3888985 by Max.Chen Movie Scene Capture: Clamp HDR Compression Quality between 0 and 1. #jira UE-55136 Change 3893519 by Max.Chen Sequence Recorder: Clarified tooltip for bRecordNearbySpawnedActors - spawned actors will still be recorded if they match the ActorFilter. #jira UE-55238 Change 3893546 by Max.Chen Sequence Recorder: If a selected actor already has a recording, add a blank recording. #jira UE-55239 Change 3894044 by Max.Preussner MediaCompositing: Added support for seeking into a media section Change 3894310 by andrew.porter MediaFrameworkTest: Adding Img media sources for 1080 and 2160 ravent test content Change 3894426 by Max.Preussner MediaAssets: Letting media textures with AutoClear retain their clear color when player is reset Change 3895717 by Max.Chen Sequencer: Null checks to prevent crash when saving the default state of a spawnable #jira UE-55304 Change 3897388 by Max.Chen Sequencer: Don't update current time to be within the view range when stepping into a sequence. #jira UE-55322 Change 3897452 by Max.Chen Audio: Fix crash when trying to record audio without any active capture devices. Log warning if the number of input channels is not 1 or 2. #jira UE-55223 Change 3897619 by Max.Preussner MediaCompositing: Removed commented out code Change 3898072 by Max.Chen Sequencer: Override the animation asset in the player state if it doesn't match the animation asset that's being evaluated. #jira UE-55328 Change 3898272 by Max.Preussner MediaPlayerEditor: Made slate brush constants static Change 3898704 by Max.Chen Sequencer: Skip if the binding id's sequence can't be found. #jira UE-55337 Change 3899855 by Max.Preussner MediaCompositingEditor: Added cache state visualization to media track Change 3900300 by Max.Preussner MediaCompositingEditor: Added loop indicators to media sections Change 3900694 by Max.Preussner ImfMedia: Looping cache only when player is looping Change 3900892 by Max.Preussner Stats: Added stats category for media framework Change 3900954 by Max.Preussner MediaCompositing: Don't evaluate at the end of media section Change 3901348 by Max.Preussner Core: Replaced TLruCache autos for better readability Change 3901655 by Max.Preussner ImgMedia: Added more perf stats to EXR reader Change 3901972 by Max.Preussner MediaAssets: Added getter for media player in media sound components Change 3902233 by Max.Preussner MediaAssets: Enabling media textures to receive samples right after player is assigned Change 3902238 by Max.Preussner MediaCompositing: Working around init/shutdown idiosyncracies in sequencer Change 3904045 by Max.Chen Sequencer: Fix copy/paste crash. Only process UMovieSceneCopyableBinding and objects that can be spawned by the movie scene spawn register. #jira UE-55314 Change 3905605 by Max.Chen Sequencer: Restrict spawnables from being created if they have a ClassWithin that UMovieScene is not a child of. #jira UE-55429 Change 3906550 by Max.Chen Sequencer: Add media track icon #jira UE-55480 Change 3907101 by Max.Chen Sequence Recorder: Fix bugs related to not recording a level sequence. There were certain assumptions that creating a level sequence meant that sequence recording was in progress. This is not always the case - the recorders can record animation assets and not create a level sequence. Changed the notion of IsRecording() to having at least one actor recording that is recording. Countdown timer, recording displays, etc should function if IsRecording() and not based on whether a level sequence is created. #jira UE-55485 Change 3907247 by Max.Chen Sequence Recorder: Fix crash not removing PrepareToCleanseEditorObject delegate. Repros when opening sequence recorder, closing it, and then opening or creating a level. Change 3910343 by Max.Preussner Core: Added async helper for executing functions on a given thread pool Change 3910346 by Max.Preussner ImgMedia: Added separate thread pools for loading/decoding and deleting image frames Change 3910829 by Max.Preussner Profiler: Increased visible range of profiler graph Change 3910841 by Max.Preussner MediaCompositing: Displaying asset name instead of full media source path in media section Change 3910870 by Max.Preussner ImgMedia: Using deallocation thread pool only in debug builds Change 3919642 by Max.Chen Sequence Recorder: Clarify active tooltip #jira UE-55661 Change 3919660 by Max.Chen Sequencer: Sequence template source signatures are now also compared to catch the case where a sub-sequence asset has been saved but not modified - The following sequence of events exposes this issue: - Create a master sequence with a single shot that spawns a cube - Add this sequence to a level and set it to auto-play - Save everything and restart - Resave just the inner shot asset without opening it - PIE - The inner shot never spawns its cube because its template was wiped on save, but its signature never changed. Since the master sequence previously didn't check the template source signature, it ends up trying to evaluate an empty template. #jira UE-55626 #jira UE-55490 Change 3921825 by Max.Chen Sequencer: "Run Construction Script in Sequencer" is off by default for blueprints but on for Sequencer. This allows the content author to switch it on for specific blueprints and sequencer will be default, run those with construction scripts enabled. Change 3922232 by Max.Chen Sequence Recorder: Reset countdelay on stop. #jira UE-55755 Change 3922306 by Max.Chen Sequence Recorder: Don't automatically mark transforms to be recorded by sequence recorder. Instead, log a warning if the user toggled it off to warn that the resulting animation might not match gameplay. #jira UE-55758 Change 3922912 by Max.Chen Sequence Recorder: Fix refresh next sequence name #jira UE-55757 Change 3927654 by Max.Chen Movie Scene Capture: Added format mapping for the name of the current camera #jira UE-55769 PR #4537 Change 3927658 by Max.Chen Sequencer: Added fbx property mapping for "FocusDistance" to "FocusSettings.ManualFocusDistance" #jira UE-55782 Change 3932022 by Max.Chen Sequencer: Add import animation track section to next available row index. #jira UE-55892 Change 3933919 by Max.Chen Sequencer: Jump to playback start frame and not 0 to start playback for recording. #jira UE-55933 Change 3934307 by Andrew.Rodham Sequencer: Add template signature that is re-generated every time the base template is regenerated, which invalidates evaluation fields This fixes an issue where the same sequence is instantiated multiple times in a sequence. If the source sequence was saved, its template would be wiped, which would invalidate the template ID When an instance tries to evaluate the master template, it would only invalidate a range in the evaluation field that was the hull of any invalid sub sequences overlapping the current time, potentially leaving invalid data in the evaluation field at positions later (or earlier) on in the sequence When the sub template was re-generated, it receives the same SequenceSignature as it had before (because the sequence hasn't actually changed), which causes the stale evaluation field data to fail the IsDirty check (because the sequence is the same as it thought, but the *template* has changed) This has been addressed be adding a signature to templates themselves, and checking both the template signature and sequence signature as a part of the IsDirty check. This ensures that we regenerate if either the template, or the sequence have changed. #jira UE-55934 Change 3936327 by Andrew.Rodham Sequencer: Removed increment when trimming right UMovieSceneSection::TrimSection already explicity assigns an exclusive bound to the time passed in. The new behavior means we can trim a section to the right, and insert another section without changing the time to create adjacent sections. #jira UE-42652 Change 3936328 by Andrew.Rodham Fixed KeyFrameManipulator assignment operators and copy/move constructors - These types are potentially self-referential so cannot use default constructors/assignment Change 3936330 by Andrew.Rodham Converted UMGSequencePlayer to use frames internally #jira UE-54878 Change 3936726 by Max.Chen Sequencer: Set track node as the parent of the key area node. The key area switcher needs the object binding id from the parent object binding node. Without this, the binding to the external value fails. #jira UE-55931 Change 3936775 by Max.Chen Sequencer: Should stop or loop should compare DurationFrames with Current Time from StartTime. The bug is that if you set 30 warmup frames in movie rendering for a range of 0-100, the FrameRange will be starting at -30 and have a duration of 130. Without this fix, the playback will continue until frame 130, rather than 100. #jira UE-55933 Change 3936935 by Matt.Hoffman Easing Curves are now represented in Play Rate resolution instead of internal resolution. #jira UE-55937 Change 3937069 by Matt.Hoffman Users can toggle if the is infinite on each side, limited by which tracks support infinite ranges. #jira UE-55891 Change 3937516 by Max.Preussner ImgMedia: Added support for single-threaded platforms #jira UE-55986 Change 3937826 by Max.Preussner MediaAssets: Disabling media sound components on HTML5 if AudioMixer is not enabled Change 3937997 by Max.Chen Curve Editor: Add Zoom to Fit Curves so that selected curves from Sequencer can be focused on. Tested that undo doesn't re-zoom. #jira UE-55935 Change 3938000 by Max.Chen Sequencer: Stop all sounds before generating audio waveforms. #jira UE-55951 Change 3938376 by Max.Preussner XGEController: Disabled XGE Controller in single-threaded apps to prevent crash Change 3938444 by Max.Preussner Core: Added async support for single-threaded applications Change 3938445 by Max.Preussner Networking: Added support for single-threaded applications in UDP socket sender/receiver Change 3938447 by Max.Preussner Messaging: Added support for single-threaded applications Change 3939432 by Max.Chen Sequence Recorder: Append command list to global level editor actions so that shortcuts are accessible in level editor. #jira UE-55798 Change 3940229 by Andrew.Rodham Added prospective display rate upgrade to UMovieScene::PostLoad - There was previously some very odd behaviour that would assign the fixed frame interval only when a sub sequence was focused in SSequencer. This meant that many sequences could have a frame interval of 0 set in the data. - Under the old method of snap interval display this would have fallen back to getting the display interval from the sequencer settings, but we no longer look at these. - The USequencerSettings properties have been removed and in their place, a prospective data upgrade for sequences that have a fixed frame interval old 0fps that sets the play rate to the previous defaults based off the old USequencerSettings defaults. - This could end up 'changing' the display rate for sequences where the user has changed the snap interval in the settings for a particular sequence editor, but there's not much we can do about that given we don't have access to the USequencerSettings classes in UMovieScene #jira UE-55919 Change 3940277 by Andrew.Rodham Sequencer: Added ability to default frame resolutions and play rates for newly created actor sequences Change 3940378 by Andrew.Rodham Sequencer: Post move import dialog now defaults to the playback framerate of the sequence, and floors to frame numbers Change 3940559 by Andrew.Rodham Reinstated primed or recording sequence color Change 3940642 by Max.Preussner ImagePlate: Removed image plate media playback functionality Change 3940843 by Max.Preussner Core: Made TCircularQueue actually thread-safe; improved code comments Change 3940860 by Max.Chen Sequencer: Changed StructNameToKey to StructPathToKey Previously, keying a PropertyPath of [RenderTransform][Shear][X] would get trimmed to X, which doesn't map to a channel name as considered by Sequencer2dTransformTrackEditor. Instead, trim the resulting property path to [Shear][X] so that track editors can determine the desired struct path and channels to key. #jira UE-52966 Change 3941292 by Mike.Zyracki Fix for trajectories out of range not showing up. 1) If we had no key data we would pop the time, so wouldn't get the section ranges. 2) Calculating of upper bound was wrong, checking against -1 and not key == num of keys when doing algo::lower_bound. 3) No need to do the Bck-- for the bakward iterators since we fixed #2. We start now from the upper bound correctly. 4) If we had no keys (at section start,end) we would incorrectly say we were any key type, so since we draw constant keys as dashed we would do so incorrectly around section end points. #jira UE-55929 Change 3941424 by Max.Chen Curve Editor: Change Zoom to Fit to use TArrayView Change 3941498 by Max.Preussner Core: Added FMath::DivideAndRoundNearest function Change 3942097 by Matt.Hoffman Drop Frame Timecode Support for NTSC rates. Change 3942104 by Matt.Hoffman Sequence Recorder Group is no longer visible inside the World Outliner after using one. #jira 55266 Change 3942107 by Max.Chen Sequencer: Resurrect logic to find or extend an existing section when adding keys. Change 3942330 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942339 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942507 by Andrew.Rodham Sequencer: We no longer pad the time overlap threshold with a small number that is not scaled by the current zoom level - The presence of this pad was causing keys that were far apart to be grouped when zoomed in a long way Change 3942509 by Andrew.Rodham Sequencer: Only pad total view range, rather than section range as well when retrieving keys to render - This stops us from rendering keys that are within the view range, but outside the section range Change 3942512 by Andrew.Rodham Added transactions to some sequencer details customizations Change 3942513 by Andrew.Rodham Sequencer: Reinstated validation checks to UMovieSceneSection::SetStartFrame and SetEndFrame, changed erroneous uses to use SetRange Change 3942560 by Andrew.Rodham Pass by rvalue reference to appease error C2719 on Win32 ('InChannels': formal parameter with requested alignment of 8 won't be aligned) Change 3942697 by Andrew.Rodham Newly Created Level Sequences and Actor Sequences now default to 24000 fps frame resolution (+/- ~24hrs range, supporting all integer rates + 23.976) Change 3942700 by Andrew.Rodham Sequencer: Added legacy out-of-bounds errors for times that are not supported by the current legacy upgrade frame resolution Change 3942989 by Max.Preussner Core: Fixed circular queue count calculation Change 3943538 by Max.Preussner MediaAssets: Reverted workaround for procedural audio log spam in HTML5 (Actor component initialization cannot be skipped if the component is used in a level) Change 3944071 by Max.Preussner QAGame: Fixed Media Texture keeps last frame of Media when PIE ends #jira UE-53360 Change 3944292 by Max.Chen Sequencer: Added extra flags to ensure that asset initialization does not occur on template actor sequences #jira UE-56113 Change 3944364 by Max.Chen Sequencer: Prevent circular shot/master tracks. Tested adding master -> child -> master as drag and drop cinematic shot tracks and sub tracks as well as through the + button. #jira UE-56091 Change 3944422 by Max.Chen Sequence Recorder: Disable transform recording if off. #jira UE-56061 Change 3944745 by Andrew.Rodham Sequencer: Key rendering fixes - Fixed assert that occured when keys happened to reside on some times due to KeyTime + TimeOverlapThreshold - KeyTime being slightly larger TimeOverlapThreshold - Fixed keys sometimes being clipped when zoomed right in due to lack of half-frame offset - Added missing documentation to MovieSceneTimeHelpers.h #jira UE-56107 Change 3945231 by Andrew.Rodham Sequencer: Reconstruct channel proxy on Serialize to catch all cases of undo/redo, PostLoad and duplication #jira UE-56089 Change 3945301 by Andrew.Rodham Sequencer: Added safety checks during initial sequence recording to guard against applying negative or 0-sized sequence ranges #jira UE-56125 Change 3946627 by Max.Preussner Fortnite: Fixed game crashes closing editor while in PIE - Pure virtual function being called #jira UE-56144 [CL 3946896 by Max Chen in Main branch]
2018-03-14 22:09:33 -04:00
TimeSliderArgs.OnSelectionRangeChanged.ExecuteIfBound(TRange<FFrameNumber>(NewEnd - 1, NewEnd));
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3178529) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3149443 on 2016/10/03 by Max.Preussner MediaAssets: Better parameter names for MediaPlayer BP functions Change 3149756 on 2016/10/03 by Max.Chen Sequence Recorder: Set some settings to be clamped at 0 (sequence length, recording delay, audio gain, audio input buffer size, nearby actor recording proximity) #jira UE-35233 Change 3149795 on 2016/10/03 by Max.Chen Curve Editor: Set tangent to user when flattening or straightening tangents only when the tangent mode is auto and the interp mode is cubic. #jira UE-36734 Change 3150378 on 2016/10/04 by Max.Preussner PS4Media: Made video buffer sizes for file and HLS sources configurable (UE-36807) #jira UE-36807 Change 3151414 on 2016/10/05 by Max.Chen Sequencer: Fix case where restoring the last view target was getting skipped. It should always restore if the camera object and the unlock if camera actor object is null. #jira UE-35285 Change 3152038 on 2016/10/05 by Max.Preussner UdpMessaging: Code & documentation modernization pass Change 3152471 on 2016/10/05 by Max.Chen Cine Camera: Don't enable/disable actor ticking based soley on actor tracking since actor ticking is needed for other purposes. Instead, always enable actor ticking and only update actor tracking on tick if necessary. This fixes a bug where the cine camera actor won't tick if you hook in event tick. #jira UE-36625 Change 3152692 on 2016/10/05 by Max.Preussner Messaging: API code & documentation modernization pass Mostly removed shared pointer/ref typedefs as they prevent forward declarations and increase include complexity. Change 3153824 on 2016/10/06 by Max.Preussner Messaging: Renamed IConnectionBasedMessagingModule to ITcpMessagingModule and moved it into TcpMessaging I recommend that we refactor this API. The dependency should be reversed, i.e. instead of AndroidDeviceDiscovery depending on the TcpMessaging plug-in module, the Engine should provide a central registry that device discovery modules can notify, and that message transport plug-ins can register with and listen to OnConnectionAdded/Removed events etc. That way it supports an arbitrary number of transport plug-ins, and the Engine is not coupled to any of them. This functionality is not necessarily related to messaging, and the Messaging API is transport agnostic anyway. I'll think about this some more. Change 3153826 on 2016/10/06 by Max.Preussner Messaging: Removed remaining typedefs in IMessageTracer to enable forward declaration and reduce include dependencies Change 3153857 on 2016/10/06 by Max.Chen Sequencer: Set snap time to dragged key on by default. Change 3153980 on 2016/10/06 by Max.Preussner SessionServices: Removed typedefs; code and documentation modernization pass Change 3154313 on 2016/10/06 by Max.Chen Sequencer: Set the paste keys time to the current time, rather than the mouse time. Change 3154332 on 2016/10/06 by Max.Chen Sequencer: Remove click to rename shot functionality in the shot thumbnail. Added rename shot to the shot context menu. Change 3154377 on 2016/10/07 by Max.Chen Sequencer: Add ability to step to beginning and ends of sections/shots using the hotkeys: , and . Change 3154788 on 2016/10/07 by Max.Chen Sequencer: Fix offsets that created when moving multiple sections. The offsets were being created because section bounds were being generated for all sections except for the current section. Instead, they should be computed for all sections except for any that aren't being moved. #jira UE-29152 Change 3159274 on 2016/10/11 by Max.Preussner Core: Documentation fixes Change 3159275 on 2016/10/11 by Max.Preussner UdpMessaging: Added missing header Change 3160746 on 2016/10/12 by Max.Preussner MediaAssets: Added BP functions to query width, height, and aspect ratio of UMediaTexture instances #jira UE-37241 Change 3160975 on 2016/10/12 by Max.Preussner PS4Media: Better logging for SetRate failures Change 3160995 on 2016/10/12 by Max.Preussner MediaPlayerEditor: Fixed Media player selection is ignored if media specifies player overrides (UE-37248) #jira UE-37248 Change 3161066 on 2016/10/12 by Max.Preussner PS4Media: Enforcing minimum 8 byte alignment for media allocations Change 3161069 on 2016/10/12 by Max.Preussner PS4Media: Fixed log spam when setting play rate to current rate Change 3162567 on 2016/10/13 by Max.Preussner PS4Media: Made track switching code more readable Change 3163447 on 2016/10/14 by Max.Preussner PS4Media: Fixed array out of bounds assertions Change 3163772 on 2016/10/14 by Max.Preussner MfMedia: Fixed a number of timing related issues Change 3163980 on 2016/10/15 by Max.Chen Sequencer: Remove folder name numeric padding so that the naming convention is similar to creating objects in the level. Change 3164581 on 2016/10/17 by Andrew.Rodham Sequencer: Ensure global pre-animated state is restored in reverse order Change 3164582 on 2016/10/17 by Andrew.Rodham Sequencer: Ensure pre animated state is restored for all actor components before saving default state Change 3164583 on 2016/10/17 by Andrew.Rodham Sequencer: Re-enabled support for pre and post roll Change 3165464 on 2016/10/17 by Max.Chen Sequencer: Default number frame handles to 0 so that there's no change in behavior when rendering out a master sequence of shots. Handle frames need to enabled explicitly by the user. Copy from Release-4.14 #jira UE-37416 Change 3165483 on 2016/10/17 by Max.Chen Sequencer: Enable restore state for attach section completion Change 3165771 on 2016/10/18 by Andrew.Rodham Sequencer: Force evaluate when rendering thumbnails #jira UE-37321 Change 3166057 on 2016/10/18 by Andrew.Rodham Sequencer: Only set defaults for tracks that have no keys, and where the requested default has changed #jira UE-37285 Change 3166218 on 2016/10/18 by Max.Preussner MediaPlayerEditor: Failure opening media, even though it opened successfully (UE-37470) #jira UE-37470 Change 3166247 on 2016/10/18 by Max.Preussner WmfMedia: Showing progress bar while media is being resolved Change 3166289 on 2016/10/18 by Max.Preussner MfMedia: Showing progress bar while media is being resolved Change 3166993 on 2016/10/18 by Max.Preussner MfMedia: Fixed info string not reset on media close. Change 3166999 on 2016/10/19 by Max.Preussner Media: Fixed NV12 and NV21 support Change 3167008 on 2016/10/19 by Max.Preussner Media: Removed vertical NV12 alignment Change 3167029 on 2016/10/19 by Max.Preussner WmfMedia: Temp fix for RGB32 encoded AVIs rendering upside-down and too bright (UE-37505) #jira UE-37505 Change 3168593 on 2016/10/19 by Max.Chen Sequencer: Change paste at time to local time, so that the paste happens in the local time of the sequence rather than the global time if pasting in a shot level sequence. Change 3168626 on 2016/10/19 by Max.Chen Sequencer: Clamp to view bounds should snap to frame if frame snapping is on. Change 3168627 on 2016/10/19 by Max.Chen Sequencer: Initialize working and view range to be 10% larger than playback range. Change 3168760 on 2016/10/20 by Max.Preussner Media: Revamped media texture buffer management to support padded frames Added support for Windows bitmap buffers. Fixed a number of format, conversion and/or looping issues in WmfMedia and MfMedia. Not all shaders have been updated yet. Change 3169640 on 2016/10/20 by Max.Chen Sequencer: Add current camera to FLevelSequencePlayerSnapshot. Adjust DefaultBurnIn to include a few more parameters like focal length and focus distance. #jira UE-37407 Change 3170677 on 2016/10/21 by Max.Chen Movie Scene Capture: Add toggle to override engine scalability settings to cinematic scalability. #jira UE-36560 Change 3170710 on 2016/10/21 by Max.Preussner Media: Optimized handling of RGB input Change 3170712 on 2016/10/21 by Max.Preussner Media: Fixed NV21 conversion shader scaling Change 3170923 on 2016/10/21 by Max.Preussner UBT: Copied XboxOne project generator fix from Fortnite CL# 3170868 Change 3171494 on 2016/10/23 by Max.Chen Sequencer: Fix fbx export from master sequence not finding bound objects. #jira UE-35752 Change 3171506 on 2016/10/23 by Max.Chen Sequencer: Draw where in and out points of the shot section are, just like subsequences do. Change to only draw the green starting line if StartOffset is negative. #jira UE-35473 Change 3171743 on 2016/10/24 by Andrew.Rodham Editor: Added support for detail customizations on root structs - Also added the ability to add external struct data onto a detail category builder, and property type customization. Change 3171752 on 2016/10/24 by Andrew.Rodham Sequencer: Fixed spawnable ownership - Spawnables are no longer destroyed when the cursor leaves the master playback range. - Spawnable ownership now operates as it previously did before the evaluation rework. - bIgnoreOwnershipInEditor has been removed since its existence was a work around for when we didn't evaluate sub sequences from the master sequence. - FMovieSceneSequenceID is now a struct so that it can be used in array properties - Meta data now exists for each segment of an evaluation field. Currently this only includes the sub sequence IDs that exist at that time, but it may be expanded to include all evaluation entities (tracks + sections) in future so we don't have to calculate that at runtime. Change 3171756 on 2016/10/24 by Andrew.Rodham Sequencer: Added ability to trigger events with parameters - It's now possible to supply an event payload on event track keys which are to be passed to a given event. The structure must match the signature of the event, or a warning will be emitted. - Added a templated TGenericKeyArea, TKeyFrameManipulator and TCurveInterface that allow to generic manipulation of keyframe section data. In time we will port the other key areas over to this representation. - This new architecture affords the common manipulation of time-based keyframes in a value-agnostic manner. Change 3172935 on 2016/10/24 by Max.Preussner MediaPlayerEditor: Fixed MediaPlayer asset not being dirtied when creating media sound wave or texture for it Change 3173947 on 2016/10/25 by Max.Preussner SlateRemote: Disabled plug-in, but enabled server by default Change 3174510 on 2016/10/26 by Max.Chen Sequencer: Fix slomo track crash #jira UE-37802 Change 3174698 on 2016/10/26 by Andrew.Rodham UMG: Fixed objects bound to a panel slot animating their slot's content instead of the slot itself #jira UE-37775 Change 3174780 on 2016/10/26 by Max.Preussner MediaAssets: Accepting decoder defined buffer dimensions for RGB buffers Change 3174789 on 2016/10/26 by Max.Preussner MediaPlayerEditor: Showing desired player name instead of current player name if no media loaded Change 3174817 on 2016/10/26 by Max.Preussner WmfMedia: Added support for Motion JPEG (MJPG) Change 3174825 on 2016/10/26 by Max.Preussner WmfMedia: Added support for non-RGB32 uncompressed formats Change 3174834 on 2016/10/26 by Max.Preussner MediaPlayerAssets: Allow pausing while buffering media Change 3174886 on 2016/10/26 by Andrew.Rodham Core: Fixed range test that was testing incorrect behavior Change 3174889 on 2016/10/26 by Andrew.Rodham Sequencer: Fixed AssignActor behavior - Also ensure that cached object state is invalidated when playback context changes #jira UE-37798 Change 3174905 on 2016/10/26 by Andrew.Rodham Sequencer: Changed assert when failing to create an audio component to a log message - Audio no longer plays when GEngine->UseSound() is false #jira UE-37772 Change 3174980 on 2016/10/26 by Andrew.Rodham Sequencer: Remove warning when event endpoint could not be found for a given context #jira UE-37824 Change 3175001 on 2016/10/26 by Andrew.Rodham Sequencer: Evaluate sequence with EMovieScenePlaybackStatus::Jumping on Pause. - Also protect Pause() against reentrancy when being called from an event Change 3175012 on 2016/10/26 by Max.Chen Sequence Recorder: Fixes an empty working and view range after recording. On StopRecording() update playback range after nullifying the current sequence so that the playback range isn't empty. Added SetViewRange and SetWorkingRange. #jira UE-34191 Change 3177760 on 2016/10/28 by Max.Chen Sequence Recorder: Don't update the current sequence name if it's already set. This fixes a bug where if you pass in a sequence name to record to, it gets reset to the name in the sequence recorder settings. #jira UE-37808 Change 3178529 on 2016/10/28 by Max.Chen Matinee to Level Sequence: Added interface to extend the matinee to level sequence converter #jira UE-37328 #2864 [CL 3178562 by Max Chen in Main branch]
2016-10-28 15:04:38 -04:00
}
else if (NewEnd >= UE::MovieScene::DiscreteInclusiveLower(SelectionRange))
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3178529) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3149443 on 2016/10/03 by Max.Preussner MediaAssets: Better parameter names for MediaPlayer BP functions Change 3149756 on 2016/10/03 by Max.Chen Sequence Recorder: Set some settings to be clamped at 0 (sequence length, recording delay, audio gain, audio input buffer size, nearby actor recording proximity) #jira UE-35233 Change 3149795 on 2016/10/03 by Max.Chen Curve Editor: Set tangent to user when flattening or straightening tangents only when the tangent mode is auto and the interp mode is cubic. #jira UE-36734 Change 3150378 on 2016/10/04 by Max.Preussner PS4Media: Made video buffer sizes for file and HLS sources configurable (UE-36807) #jira UE-36807 Change 3151414 on 2016/10/05 by Max.Chen Sequencer: Fix case where restoring the last view target was getting skipped. It should always restore if the camera object and the unlock if camera actor object is null. #jira UE-35285 Change 3152038 on 2016/10/05 by Max.Preussner UdpMessaging: Code & documentation modernization pass Change 3152471 on 2016/10/05 by Max.Chen Cine Camera: Don't enable/disable actor ticking based soley on actor tracking since actor ticking is needed for other purposes. Instead, always enable actor ticking and only update actor tracking on tick if necessary. This fixes a bug where the cine camera actor won't tick if you hook in event tick. #jira UE-36625 Change 3152692 on 2016/10/05 by Max.Preussner Messaging: API code & documentation modernization pass Mostly removed shared pointer/ref typedefs as they prevent forward declarations and increase include complexity. Change 3153824 on 2016/10/06 by Max.Preussner Messaging: Renamed IConnectionBasedMessagingModule to ITcpMessagingModule and moved it into TcpMessaging I recommend that we refactor this API. The dependency should be reversed, i.e. instead of AndroidDeviceDiscovery depending on the TcpMessaging plug-in module, the Engine should provide a central registry that device discovery modules can notify, and that message transport plug-ins can register with and listen to OnConnectionAdded/Removed events etc. That way it supports an arbitrary number of transport plug-ins, and the Engine is not coupled to any of them. This functionality is not necessarily related to messaging, and the Messaging API is transport agnostic anyway. I'll think about this some more. Change 3153826 on 2016/10/06 by Max.Preussner Messaging: Removed remaining typedefs in IMessageTracer to enable forward declaration and reduce include dependencies Change 3153857 on 2016/10/06 by Max.Chen Sequencer: Set snap time to dragged key on by default. Change 3153980 on 2016/10/06 by Max.Preussner SessionServices: Removed typedefs; code and documentation modernization pass Change 3154313 on 2016/10/06 by Max.Chen Sequencer: Set the paste keys time to the current time, rather than the mouse time. Change 3154332 on 2016/10/06 by Max.Chen Sequencer: Remove click to rename shot functionality in the shot thumbnail. Added rename shot to the shot context menu. Change 3154377 on 2016/10/07 by Max.Chen Sequencer: Add ability to step to beginning and ends of sections/shots using the hotkeys: , and . Change 3154788 on 2016/10/07 by Max.Chen Sequencer: Fix offsets that created when moving multiple sections. The offsets were being created because section bounds were being generated for all sections except for the current section. Instead, they should be computed for all sections except for any that aren't being moved. #jira UE-29152 Change 3159274 on 2016/10/11 by Max.Preussner Core: Documentation fixes Change 3159275 on 2016/10/11 by Max.Preussner UdpMessaging: Added missing header Change 3160746 on 2016/10/12 by Max.Preussner MediaAssets: Added BP functions to query width, height, and aspect ratio of UMediaTexture instances #jira UE-37241 Change 3160975 on 2016/10/12 by Max.Preussner PS4Media: Better logging for SetRate failures Change 3160995 on 2016/10/12 by Max.Preussner MediaPlayerEditor: Fixed Media player selection is ignored if media specifies player overrides (UE-37248) #jira UE-37248 Change 3161066 on 2016/10/12 by Max.Preussner PS4Media: Enforcing minimum 8 byte alignment for media allocations Change 3161069 on 2016/10/12 by Max.Preussner PS4Media: Fixed log spam when setting play rate to current rate Change 3162567 on 2016/10/13 by Max.Preussner PS4Media: Made track switching code more readable Change 3163447 on 2016/10/14 by Max.Preussner PS4Media: Fixed array out of bounds assertions Change 3163772 on 2016/10/14 by Max.Preussner MfMedia: Fixed a number of timing related issues Change 3163980 on 2016/10/15 by Max.Chen Sequencer: Remove folder name numeric padding so that the naming convention is similar to creating objects in the level. Change 3164581 on 2016/10/17 by Andrew.Rodham Sequencer: Ensure global pre-animated state is restored in reverse order Change 3164582 on 2016/10/17 by Andrew.Rodham Sequencer: Ensure pre animated state is restored for all actor components before saving default state Change 3164583 on 2016/10/17 by Andrew.Rodham Sequencer: Re-enabled support for pre and post roll Change 3165464 on 2016/10/17 by Max.Chen Sequencer: Default number frame handles to 0 so that there's no change in behavior when rendering out a master sequence of shots. Handle frames need to enabled explicitly by the user. Copy from Release-4.14 #jira UE-37416 Change 3165483 on 2016/10/17 by Max.Chen Sequencer: Enable restore state for attach section completion Change 3165771 on 2016/10/18 by Andrew.Rodham Sequencer: Force evaluate when rendering thumbnails #jira UE-37321 Change 3166057 on 2016/10/18 by Andrew.Rodham Sequencer: Only set defaults for tracks that have no keys, and where the requested default has changed #jira UE-37285 Change 3166218 on 2016/10/18 by Max.Preussner MediaPlayerEditor: Failure opening media, even though it opened successfully (UE-37470) #jira UE-37470 Change 3166247 on 2016/10/18 by Max.Preussner WmfMedia: Showing progress bar while media is being resolved Change 3166289 on 2016/10/18 by Max.Preussner MfMedia: Showing progress bar while media is being resolved Change 3166993 on 2016/10/18 by Max.Preussner MfMedia: Fixed info string not reset on media close. Change 3166999 on 2016/10/19 by Max.Preussner Media: Fixed NV12 and NV21 support Change 3167008 on 2016/10/19 by Max.Preussner Media: Removed vertical NV12 alignment Change 3167029 on 2016/10/19 by Max.Preussner WmfMedia: Temp fix for RGB32 encoded AVIs rendering upside-down and too bright (UE-37505) #jira UE-37505 Change 3168593 on 2016/10/19 by Max.Chen Sequencer: Change paste at time to local time, so that the paste happens in the local time of the sequence rather than the global time if pasting in a shot level sequence. Change 3168626 on 2016/10/19 by Max.Chen Sequencer: Clamp to view bounds should snap to frame if frame snapping is on. Change 3168627 on 2016/10/19 by Max.Chen Sequencer: Initialize working and view range to be 10% larger than playback range. Change 3168760 on 2016/10/20 by Max.Preussner Media: Revamped media texture buffer management to support padded frames Added support for Windows bitmap buffers. Fixed a number of format, conversion and/or looping issues in WmfMedia and MfMedia. Not all shaders have been updated yet. Change 3169640 on 2016/10/20 by Max.Chen Sequencer: Add current camera to FLevelSequencePlayerSnapshot. Adjust DefaultBurnIn to include a few more parameters like focal length and focus distance. #jira UE-37407 Change 3170677 on 2016/10/21 by Max.Chen Movie Scene Capture: Add toggle to override engine scalability settings to cinematic scalability. #jira UE-36560 Change 3170710 on 2016/10/21 by Max.Preussner Media: Optimized handling of RGB input Change 3170712 on 2016/10/21 by Max.Preussner Media: Fixed NV21 conversion shader scaling Change 3170923 on 2016/10/21 by Max.Preussner UBT: Copied XboxOne project generator fix from Fortnite CL# 3170868 Change 3171494 on 2016/10/23 by Max.Chen Sequencer: Fix fbx export from master sequence not finding bound objects. #jira UE-35752 Change 3171506 on 2016/10/23 by Max.Chen Sequencer: Draw where in and out points of the shot section are, just like subsequences do. Change to only draw the green starting line if StartOffset is negative. #jira UE-35473 Change 3171743 on 2016/10/24 by Andrew.Rodham Editor: Added support for detail customizations on root structs - Also added the ability to add external struct data onto a detail category builder, and property type customization. Change 3171752 on 2016/10/24 by Andrew.Rodham Sequencer: Fixed spawnable ownership - Spawnables are no longer destroyed when the cursor leaves the master playback range. - Spawnable ownership now operates as it previously did before the evaluation rework. - bIgnoreOwnershipInEditor has been removed since its existence was a work around for when we didn't evaluate sub sequences from the master sequence. - FMovieSceneSequenceID is now a struct so that it can be used in array properties - Meta data now exists for each segment of an evaluation field. Currently this only includes the sub sequence IDs that exist at that time, but it may be expanded to include all evaluation entities (tracks + sections) in future so we don't have to calculate that at runtime. Change 3171756 on 2016/10/24 by Andrew.Rodham Sequencer: Added ability to trigger events with parameters - It's now possible to supply an event payload on event track keys which are to be passed to a given event. The structure must match the signature of the event, or a warning will be emitted. - Added a templated TGenericKeyArea, TKeyFrameManipulator and TCurveInterface that allow to generic manipulation of keyframe section data. In time we will port the other key areas over to this representation. - This new architecture affords the common manipulation of time-based keyframes in a value-agnostic manner. Change 3172935 on 2016/10/24 by Max.Preussner MediaPlayerEditor: Fixed MediaPlayer asset not being dirtied when creating media sound wave or texture for it Change 3173947 on 2016/10/25 by Max.Preussner SlateRemote: Disabled plug-in, but enabled server by default Change 3174510 on 2016/10/26 by Max.Chen Sequencer: Fix slomo track crash #jira UE-37802 Change 3174698 on 2016/10/26 by Andrew.Rodham UMG: Fixed objects bound to a panel slot animating their slot's content instead of the slot itself #jira UE-37775 Change 3174780 on 2016/10/26 by Max.Preussner MediaAssets: Accepting decoder defined buffer dimensions for RGB buffers Change 3174789 on 2016/10/26 by Max.Preussner MediaPlayerEditor: Showing desired player name instead of current player name if no media loaded Change 3174817 on 2016/10/26 by Max.Preussner WmfMedia: Added support for Motion JPEG (MJPG) Change 3174825 on 2016/10/26 by Max.Preussner WmfMedia: Added support for non-RGB32 uncompressed formats Change 3174834 on 2016/10/26 by Max.Preussner MediaPlayerAssets: Allow pausing while buffering media Change 3174886 on 2016/10/26 by Andrew.Rodham Core: Fixed range test that was testing incorrect behavior Change 3174889 on 2016/10/26 by Andrew.Rodham Sequencer: Fixed AssignActor behavior - Also ensure that cached object state is invalidated when playback context changes #jira UE-37798 Change 3174905 on 2016/10/26 by Andrew.Rodham Sequencer: Changed assert when failing to create an audio component to a log message - Audio no longer plays when GEngine->UseSound() is false #jira UE-37772 Change 3174980 on 2016/10/26 by Andrew.Rodham Sequencer: Remove warning when event endpoint could not be found for a given context #jira UE-37824 Change 3175001 on 2016/10/26 by Andrew.Rodham Sequencer: Evaluate sequence with EMovieScenePlaybackStatus::Jumping on Pause. - Also protect Pause() against reentrancy when being called from an event Change 3175012 on 2016/10/26 by Max.Chen Sequence Recorder: Fixes an empty working and view range after recording. On StopRecording() update playback range after nullifying the current sequence so that the playback range isn't empty. Added SetViewRange and SetWorkingRange. #jira UE-34191 Change 3177760 on 2016/10/28 by Max.Chen Sequence Recorder: Don't update the current sequence name if it's already set. This fixes a bug where if you pass in a sequence name to record to, it gets reset to the name in the sequence recorder settings. #jira UE-37808 Change 3178529 on 2016/10/28 by Max.Chen Matinee to Level Sequence: Added interface to extend the matinee to level sequence converter #jira UE-37328 #2864 [CL 3178562 by Max Chen in Main branch]
2016-10-28 15:04:38 -04:00
{
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3946692) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3801826 by Max.Chen PR #4304: Level Sequence crash fix - Guarded against dereferencing null componen. (Contributed by DSDambuster) Change 3801828 by Max.Chen PR #4302: Movie Scene Visibility Template unitialised variable, causing random . (Contributed by DSDambuster) Change 3801837 by Max.Chen Sequencer: Delay spawning/construction for convert to possessable. This fixes a bug where property values would be lost when converting back and forth from possessable to spawnable. #jira UE-52400 Change 3801841 by Max.Chen Sequencer: Make spacer nodes not selectable. PR #4194: Improvements to Sequencer (Contributed by projectgheist) #jira UE-53117 #jira UE-52139 Change 3804183 by Max.Preussner MediaAssets: Added missing lock in media sound component Change 3805414 by Max.Preussner MediaAssets: Setting valid GUID when initializing media texture resource Change 3819578 by Max.Chen PR #4370: When enabling the "MovieCapture", do not turn off the Stereo-3D display. (Contributed by yehaike) #jira UE-53647 Change 3823414 by Max.Chen Curve Editor: Lock down the first and last keys in the redundant keys removal range so that they're unaffected. #jira UE-53591 Change 3826406 by Max.Chen Sequencer: Move OnStartedPlaying() to within first update in UpdateTimeCursorPosition(). This fixes an issue where setting the hud/player visibility was getting stomped on later. #jira UE-52772 Change 3827044 by Max.Preussner MediaAssets: Added sprite visualization to media sound component #jira UE-53594 Change 3827988 by Max.Preussner MediaPlayerAssets: Fixed Media Texture is not linked to Media Player when created together #jira UE-53532 Change 3828506 by Max.Preussner MediaPlayerEditor: Added attenuation visualizer for media sound components #jira UE-53594 Change 3832590 by andrew.porter EngineTest: Added a keep state check in Property Animation sequencer test Change 3833053 by andrew.porter EngineTest: Adding Hierarchical Bias test Change 3835683 by andrew.porter EngineTest: Adding UMG Animation screenshot test Change 3836076 by Max.Chen Sequencer: Fix audio volume and pitch multiplier deprecation. Change 3836230 by andrew.porter EngineTest: Adding Sequence Bone Position automation test Change 3836347 by Max.Chen Sequencer: Fixes to shot name parsing. When a shot doesn't contain a shot number, assume, [ShotName]_[TakeNumber]. When duplicating a shot, put the new shot in the same path of the original shot, so that the take numbers will increment properly. #jira UE-51868 Change 3836552 by Max.Chen Sequencer: Sub section now has a takes menu Change 3838094 by Max.Chen UMG: Fix template finish not getting called on stop. This fixes a bug where sections aren't restored when finished. #jira UE-52285 Change 3838708 by Max.Chen Sequencer: Add notification when the blend type is changed. #jira UE-54046 Change 3840295 by Max.Chen Sequencer: Fix copy/paste crash for lights #jira UE-54084 Change 3840957 by Mike.Zyracki Added Show Only Keyable and Show Only Animated to the filter list in the property editor. Added IsPropertyAnimated to IDetailKeyframe Interface which already had support for showing properties which are keyable (which is used for the key icon next to the properties.). Could have created another interface but then would have had to mimic the sequencer binding, releasing also, so this seemed best way. One issue still left is that custom built detail items currently don't store associated properties(usually) and so certain properties, in particulalry transforms, won't show up as keyable or animated. Note this also shows up with the keyable icon not showing up next to transform tracks, and other filters like Show Only Modified not working with transforms/customs. Not sure best way to tackle this. #jira UESEQ-328 Change 3841756 by Max.Chen Sequencer: Fix unbound possessable components when pasting spawnables. #jira UE-54104 Change 3843950 by andrew.porter EngineTest: Renaming LevelStreaming tests/content to LevelVisibility Change 3844082 by Mike.Zyracki Missing file for animated filter in property editor. When finding if a track is animated we need to find it but we can't easily induce the MovieTrack class for any particular property. So we don't set a class for it and just search by it's ID and name. #jira UESEQ-328 Change 3846902 by Max.Preussner ImgMedia: Fixed image media player never finished initialization if loading failed #jira UE-54247 Change 3849820 by Mike.Zyracki Reassigning deleted widgets didn't work since the menu extender mechanism needs a valid UObject in order to perform an operation on it. So to fix we replaced GetObjectBindingContextMenuExtender in WidgetBlueprint with new delegate mechanism (OnBuildCustomContextMenuForGuid) that supports FGuid in addition to UObjects which is needed to handle re-binding deleted widgets. Note that the default sequencer hacks this for replacing deleted actors in SequencerObjectBindingNode to check to see if a LevelSequence is active. We could move to this mechanism there also. #jira UE-53163 Change 3852211 by Max.Chen UMG: Indicate name of the property that is not bound. #jira UE-54350 Change 3854120 by Max.Chen Sequencer: Fix sibling folders being allowed to have the same folder name. #jira UE-54363 Change 3854627 by Max.Chen Sequencer: Step to next/previous key should work for all tracks if there aren't any selected. #jira UESEQ-391 Change 3855825 by andrew.porter EngineTest: Adding animation blending automation test Change 3855950 by andrew.porter EngineTest: Adding correct expected valuues to animation blending test Change 3856237 by Matt.Hoffman UESEQ-336 - Sequencer Track Reordering Adds the ability to re-order Master Tracks, Folders and Object Bindings within sequencer hierarchies (including UMG). Adds the ability to do a one-off sorting of the content under the old sorting behavior if the user wants to reset their layout to how it was under legacy behavior. Modifies SequencerTrackNodes, SequencerFolderNodes and SequencerObjectBindingNodes to handle CanDrop/OnDrop for above, below and ontop of. Fixes a Slate Issue that forcibly expanded a TreeviewRow if an item handled OnDrop. Slate will now only forcibly expand the row if the item says the drop happened ontop of the item, and not above or below it like it previously did. Change 3856503 by andrew.porter EngineTest: Adding automation test for using animation blueprint with blend multi node in sequencer Change 3857875 by Max.Chen Sequencer: Assign the sequence id after the template is compiled. #jira UE-54462 Change 3858344 by Max.Chen Sequencer: Prevent Goto and Transform boxes from overlapping by allowing them to be visible at the same time in an autosized horizontal box. Also, added close button to the goto box. PR #4425: Prevent Goto and Transform boxes from overlapping in Sequencer ... (Contributed by projectgheist) #jira UE-54210 Change 3860566 by andrew.porter MediaFrameworkTest: Set the option to index 0 for the audio and video track list by default Change 3860654 by andrew.porter EngineTest: Enabling Camera Cut + FOV test Change 3860981 by andrew.porter EngineTest: Updating skeletal mesh tests with a delay after set playback position Change 3861256 by Max.Chen Sequencer: Add all bindings if none selected. #jira-54440 Change 3862154 by Andrew.Rodham Added TimeManagement module Change 3862424 by andrew.porter EngineTest: Turned on the test Bone Positions with Blend Multi Node Change 3862573 by andrew.porter EngineTest: Adding test to compare bone positions in a sequence that is blending an animation that is using an AnimBP Change 3865117 by Max.Chen Sequencer: Stop auto scroll on mouse release of movement. #jira UE-31212 Change 3865303 by Max.Chen Sequencer: Add drag and drop transactions #jira UE-54662 Change 3865304 by Max.Chen Sequencer: Fix crash when an actor factory is not found. Change 3865361 by Max.Chen Sequencer: Don't change the camera/shot lock button when popping out of a sequence. #jira UE-54665 Change 3865412 by Max.Chen Sequencer: Determine whether a transform track is for a camera by using the spawned object or template #jira UE-54666 Change 3865685 by Max.Chen Sequencer: Clear autoscrub offset when stopping autoscroll #jira UE-31212 Change 3865886 by Max.Chen Sequence Recorder: Log an error if the number of frames changes while recording. This can happen if the skeleton changes while recording. #jira UE-48715 Change 3866925 by Andrew.Porter MediaFrameworkTest: Changing the current PNG test video image sequence to 1024 x 576 Change 3867705 by andrew.porter QAGame: Adding Audio Sort Sequence to dev folder Change 3867890 by andrew.porter QAGame: Adding a sequence for testing a sorting crash to my dev folder Change 3872628 by Max.Chen Movie Scene Capture: Split delay before warmup into split delay before shot warmup so that there's separate controls for when the movie scene capture warmups up vs. shot boundaries. Change 3873131 by Matt.Hoffman UE-54732 - Crash reordering a folder with a track. This was caused by folders being the only type of track to check if someone was putting a parent track into a child track. Object Binding tracks and Tracks now check as well so that you can't use the above/below drop targets to add parents as children. This also fixed a typo in the localization keys. #jira UE-54732 Change 3873301 by Mike.Zyracki Added ability to support continous euler angle changes when changing rotations, in particularly with the rotation gizmo's. To do this we effectively added a form an of 'euler filter'(https://en.wikipedia.org/wiki/Euler_filter) to find the closest euler angle to the current euler angle. Three functions were added to FRotator to make this possible, one to get the euler angle that's has the same rotation as it, one to get the difference between two euler angles via Manhattan distance and a third using the previous two to choose a Rotator value that's closest to it. We then use these functions before calling UComponent::SetRelativeRotation to make sure we use the correct Euler after the Quat conversion. We also no longer limit(bound) the euler angles to -180,180, which is obviously necessary to avoid flips. I also changed how we caluclate yaw and roll when pitch is -90 or 90 to make it the standard approach of zeroing out roll and just setting yaw. Main reasons are the previous implementation had precision issues so things like 180, 90, -180 would show up due to numbers being nearly zero but negative,(this would break any smooth interpolations), and this facilitates having a 'gimbal' rotation mode (like Maya, Blender etc..) if we ever want that also. If needed we could keep the previous implementation but would need to add some FMath::IsNearlyZero checks, with less performance. Note we only do this special filtering when applying delta's to actors or components in the editors, which then call UComponent::SetRelativeRotationExact, which is a new function to foces the RelativeRotation to be equal to the new rotation. This allows us to store un-nomalized Rotators at the cost that the RotationCache may be broken. We didn't change any of the other UComponent functions that set rotations (via Quats or Transforms) so they will still be bounded and unwound. In SetInternalWorldLocationAndRotation we only set the rotation if the rotation has changed, which fixes the rotation getting changed and re-normalized if just translate happens. In TransformTrackEditor, we correclty use the bUndwing flag and in MovieScene3DTransformSection there was an un-needed winding check there, it will be unwound earlier if needed, which happens if Sequence Recording is happening. Max we should talk about what to do about this . Note the euler angle drag via the widget is still bound to 0-360. I think we should just unbound that now since the rotations value are now unbound. This review now includes fixes suggested by Zak. #jira UE-UE-22228 Change 3873483 by Matt.Hoffman Sequencer Tracks can now be inserted above the spacer at the bottom of the tree. #jira UE-54706 Change 3873899 by Max.Chen Sequencer: Add section selection throbbing Change 3873908 by Max.Chen Movie Scene Capture: Added logging per frame Change 3873924 by Matt.Hoffman Adds the ability to store Sequence Recorder setups into profiles that stay with the map and can be re-loaded later. Profiles store the Actor Recordings so the settings for each actor should carry with them. #jira UESEQ-339 Change 3874726 by Matt.Hoffman Disable drag-and-drop targets on spacers that come between rows in Sequencer. This prevents extra drag/drop targets showing up between each row. #jira UE-54706 Change 3874862 by Matt.Hoffman Audio Track no longer gets reordered when adding sub-audio tracks, as sub-tracks are no longer counted towards the sorting order index when normalizing indexes. #jira UE-54727 Change 3875905 by Matt.Hoffman Disable Fade Track UI if a fade track already exists in the sequence. #jira UESEQ-393 Change 3876163 by Max.Chen Sequencer: Swap the camera object to the camera component's owner if it's not the same. #jira UE-54874 Change 3876971 by Andrew.Porter EngineTest: Moved Media Player Seek test to new folder. Also enabled the test with new ground truth image. Change 3877040 by Max.Chen Cine Camera: Split camera properties to two groups, "Camera Options" and "Camera Settings". The cine camera now hides properties in the "Camera Settings" group so that properties like bConstrainAspectRatio (in the "Camera Options" group) can be visible. #jira UE-54192 Change 3877763 by Max.Chen Curve Editor: Fix curve changed on end drag so that only curves that had keys/tangents that were changed receive notification, otherwise all loaded curves were getting notified that they were changed. #jira UE-54951 Change 3878234 by Matt.Hoffman Disable "Drop Below" targets for Sequencer Tree nodes to prevent a confusing UX issue where dropping underneath a Object Binding Node puts it after the object binding node but the UI looks like it's inserting it inside the Object Binding node. #jira UE-54743 Change 3879359 by Mike.Zyracki If a track is inactive we dim it a bit which seems to be the UE4 way to show inactive or disabled state. We changed the active logic so that all subtracks need to be inactive for the track to also be inactive(instead of all active for active). This conforms to how the active state actually works, e.g if you have two sections and only one is active the track is still active above it. #jira UESEQ-388 Change 3879462 by Max.Chen Sequencer: Allow dragging onto a particular row which would move out any overlapping sections to make space for the newly created section. Newly created sections are now selected and throbbed to draw attention to themselves. #jira UE-54664 Change 3879464 by Max.Chen Sequencer: Fixed overlapping ranges being inserted into the evaluation field during compilation - The issue was that track segments that had been combined with adjacent segments (due to them being identical) would potentially cause a subsequently compiled frame to overlap with a range that had already been inserted into the evaluation field. - The insertion code previously asserted that only minor overlaps were catered for (due to fp rounding errors) and assumed that a supplied range could not entirely contain any other range in the field. - The solution is to supply the insertion time along with the range to know exactly where the data should live in the field, and crop the range to the maximum allowable space between adjacent ranges. #jira UE-54922 Change 3879590 by Matt.Hoffman Items that are now added to the Sequencer via the "+Track" menu will be selected after being added. Items can now be added inside of folders instead of just to the root level. #jira UE-27397 Change 3879612 by Mike.Zyracki Display Nodes with no children are always active. #jira UESEQ-388 Change 3879730 by Matt.Hoffman Sequence Recorder's actor recording groups now remove items from the group when removed via the UI. #jira UESEQ-339 Change 3880256 by Mike.Zyracki Fix issue with inactive display with folders and other track nodes. #jira UESEQ-388 Change 3883491 by Max.Chen Fix issue where tick is skipped due to last ticked pose isn't cleared after AnimInstance changes. Copy from Release-4.19 #jira UE-51323 Change 3883603 by Max.Chen Movie Scene Capture: Add option toggle disable screen percentage. By default this is on (no change in current behavior). #jira UE-51898 Change 3885074 by Max.Preussner MediaCompositing: Resetting media texture & freeing resource on section end; removed dead code Change 3887220 by Max.Preussner MediaCompositing: Defaulted media section duration to 1 sec (since we do not know the actual duration in most cases) Change 3887478 by Matt.Hoffman Sequences now show [Inactive] in their title bars when they're disabled. This helps communicate why a sequence isn't being evaluated. #jira UE-51469 Change 3888985 by Max.Chen Movie Scene Capture: Clamp HDR Compression Quality between 0 and 1. #jira UE-55136 Change 3893519 by Max.Chen Sequence Recorder: Clarified tooltip for bRecordNearbySpawnedActors - spawned actors will still be recorded if they match the ActorFilter. #jira UE-55238 Change 3893546 by Max.Chen Sequence Recorder: If a selected actor already has a recording, add a blank recording. #jira UE-55239 Change 3894044 by Max.Preussner MediaCompositing: Added support for seeking into a media section Change 3894310 by andrew.porter MediaFrameworkTest: Adding Img media sources for 1080 and 2160 ravent test content Change 3894426 by Max.Preussner MediaAssets: Letting media textures with AutoClear retain their clear color when player is reset Change 3895717 by Max.Chen Sequencer: Null checks to prevent crash when saving the default state of a spawnable #jira UE-55304 Change 3897388 by Max.Chen Sequencer: Don't update current time to be within the view range when stepping into a sequence. #jira UE-55322 Change 3897452 by Max.Chen Audio: Fix crash when trying to record audio without any active capture devices. Log warning if the number of input channels is not 1 or 2. #jira UE-55223 Change 3897619 by Max.Preussner MediaCompositing: Removed commented out code Change 3898072 by Max.Chen Sequencer: Override the animation asset in the player state if it doesn't match the animation asset that's being evaluated. #jira UE-55328 Change 3898272 by Max.Preussner MediaPlayerEditor: Made slate brush constants static Change 3898704 by Max.Chen Sequencer: Skip if the binding id's sequence can't be found. #jira UE-55337 Change 3899855 by Max.Preussner MediaCompositingEditor: Added cache state visualization to media track Change 3900300 by Max.Preussner MediaCompositingEditor: Added loop indicators to media sections Change 3900694 by Max.Preussner ImfMedia: Looping cache only when player is looping Change 3900892 by Max.Preussner Stats: Added stats category for media framework Change 3900954 by Max.Preussner MediaCompositing: Don't evaluate at the end of media section Change 3901348 by Max.Preussner Core: Replaced TLruCache autos for better readability Change 3901655 by Max.Preussner ImgMedia: Added more perf stats to EXR reader Change 3901972 by Max.Preussner MediaAssets: Added getter for media player in media sound components Change 3902233 by Max.Preussner MediaAssets: Enabling media textures to receive samples right after player is assigned Change 3902238 by Max.Preussner MediaCompositing: Working around init/shutdown idiosyncracies in sequencer Change 3904045 by Max.Chen Sequencer: Fix copy/paste crash. Only process UMovieSceneCopyableBinding and objects that can be spawned by the movie scene spawn register. #jira UE-55314 Change 3905605 by Max.Chen Sequencer: Restrict spawnables from being created if they have a ClassWithin that UMovieScene is not a child of. #jira UE-55429 Change 3906550 by Max.Chen Sequencer: Add media track icon #jira UE-55480 Change 3907101 by Max.Chen Sequence Recorder: Fix bugs related to not recording a level sequence. There were certain assumptions that creating a level sequence meant that sequence recording was in progress. This is not always the case - the recorders can record animation assets and not create a level sequence. Changed the notion of IsRecording() to having at least one actor recording that is recording. Countdown timer, recording displays, etc should function if IsRecording() and not based on whether a level sequence is created. #jira UE-55485 Change 3907247 by Max.Chen Sequence Recorder: Fix crash not removing PrepareToCleanseEditorObject delegate. Repros when opening sequence recorder, closing it, and then opening or creating a level. Change 3910343 by Max.Preussner Core: Added async helper for executing functions on a given thread pool Change 3910346 by Max.Preussner ImgMedia: Added separate thread pools for loading/decoding and deleting image frames Change 3910829 by Max.Preussner Profiler: Increased visible range of profiler graph Change 3910841 by Max.Preussner MediaCompositing: Displaying asset name instead of full media source path in media section Change 3910870 by Max.Preussner ImgMedia: Using deallocation thread pool only in debug builds Change 3919642 by Max.Chen Sequence Recorder: Clarify active tooltip #jira UE-55661 Change 3919660 by Max.Chen Sequencer: Sequence template source signatures are now also compared to catch the case where a sub-sequence asset has been saved but not modified - The following sequence of events exposes this issue: - Create a master sequence with a single shot that spawns a cube - Add this sequence to a level and set it to auto-play - Save everything and restart - Resave just the inner shot asset without opening it - PIE - The inner shot never spawns its cube because its template was wiped on save, but its signature never changed. Since the master sequence previously didn't check the template source signature, it ends up trying to evaluate an empty template. #jira UE-55626 #jira UE-55490 Change 3921825 by Max.Chen Sequencer: "Run Construction Script in Sequencer" is off by default for blueprints but on for Sequencer. This allows the content author to switch it on for specific blueprints and sequencer will be default, run those with construction scripts enabled. Change 3922232 by Max.Chen Sequence Recorder: Reset countdelay on stop. #jira UE-55755 Change 3922306 by Max.Chen Sequence Recorder: Don't automatically mark transforms to be recorded by sequence recorder. Instead, log a warning if the user toggled it off to warn that the resulting animation might not match gameplay. #jira UE-55758 Change 3922912 by Max.Chen Sequence Recorder: Fix refresh next sequence name #jira UE-55757 Change 3927654 by Max.Chen Movie Scene Capture: Added format mapping for the name of the current camera #jira UE-55769 PR #4537 Change 3927658 by Max.Chen Sequencer: Added fbx property mapping for "FocusDistance" to "FocusSettings.ManualFocusDistance" #jira UE-55782 Change 3932022 by Max.Chen Sequencer: Add import animation track section to next available row index. #jira UE-55892 Change 3933919 by Max.Chen Sequencer: Jump to playback start frame and not 0 to start playback for recording. #jira UE-55933 Change 3934307 by Andrew.Rodham Sequencer: Add template signature that is re-generated every time the base template is regenerated, which invalidates evaluation fields This fixes an issue where the same sequence is instantiated multiple times in a sequence. If the source sequence was saved, its template would be wiped, which would invalidate the template ID When an instance tries to evaluate the master template, it would only invalidate a range in the evaluation field that was the hull of any invalid sub sequences overlapping the current time, potentially leaving invalid data in the evaluation field at positions later (or earlier) on in the sequence When the sub template was re-generated, it receives the same SequenceSignature as it had before (because the sequence hasn't actually changed), which causes the stale evaluation field data to fail the IsDirty check (because the sequence is the same as it thought, but the *template* has changed) This has been addressed be adding a signature to templates themselves, and checking both the template signature and sequence signature as a part of the IsDirty check. This ensures that we regenerate if either the template, or the sequence have changed. #jira UE-55934 Change 3936327 by Andrew.Rodham Sequencer: Removed increment when trimming right UMovieSceneSection::TrimSection already explicity assigns an exclusive bound to the time passed in. The new behavior means we can trim a section to the right, and insert another section without changing the time to create adjacent sections. #jira UE-42652 Change 3936328 by Andrew.Rodham Fixed KeyFrameManipulator assignment operators and copy/move constructors - These types are potentially self-referential so cannot use default constructors/assignment Change 3936330 by Andrew.Rodham Converted UMGSequencePlayer to use frames internally #jira UE-54878 Change 3936726 by Max.Chen Sequencer: Set track node as the parent of the key area node. The key area switcher needs the object binding id from the parent object binding node. Without this, the binding to the external value fails. #jira UE-55931 Change 3936775 by Max.Chen Sequencer: Should stop or loop should compare DurationFrames with Current Time from StartTime. The bug is that if you set 30 warmup frames in movie rendering for a range of 0-100, the FrameRange will be starting at -30 and have a duration of 130. Without this fix, the playback will continue until frame 130, rather than 100. #jira UE-55933 Change 3936935 by Matt.Hoffman Easing Curves are now represented in Play Rate resolution instead of internal resolution. #jira UE-55937 Change 3937069 by Matt.Hoffman Users can toggle if the is infinite on each side, limited by which tracks support infinite ranges. #jira UE-55891 Change 3937516 by Max.Preussner ImgMedia: Added support for single-threaded platforms #jira UE-55986 Change 3937826 by Max.Preussner MediaAssets: Disabling media sound components on HTML5 if AudioMixer is not enabled Change 3937997 by Max.Chen Curve Editor: Add Zoom to Fit Curves so that selected curves from Sequencer can be focused on. Tested that undo doesn't re-zoom. #jira UE-55935 Change 3938000 by Max.Chen Sequencer: Stop all sounds before generating audio waveforms. #jira UE-55951 Change 3938376 by Max.Preussner XGEController: Disabled XGE Controller in single-threaded apps to prevent crash Change 3938444 by Max.Preussner Core: Added async support for single-threaded applications Change 3938445 by Max.Preussner Networking: Added support for single-threaded applications in UDP socket sender/receiver Change 3938447 by Max.Preussner Messaging: Added support for single-threaded applications Change 3939432 by Max.Chen Sequence Recorder: Append command list to global level editor actions so that shortcuts are accessible in level editor. #jira UE-55798 Change 3940229 by Andrew.Rodham Added prospective display rate upgrade to UMovieScene::PostLoad - There was previously some very odd behaviour that would assign the fixed frame interval only when a sub sequence was focused in SSequencer. This meant that many sequences could have a frame interval of 0 set in the data. - Under the old method of snap interval display this would have fallen back to getting the display interval from the sequencer settings, but we no longer look at these. - The USequencerSettings properties have been removed and in their place, a prospective data upgrade for sequences that have a fixed frame interval old 0fps that sets the play rate to the previous defaults based off the old USequencerSettings defaults. - This could end up 'changing' the display rate for sequences where the user has changed the snap interval in the settings for a particular sequence editor, but there's not much we can do about that given we don't have access to the USequencerSettings classes in UMovieScene #jira UE-55919 Change 3940277 by Andrew.Rodham Sequencer: Added ability to default frame resolutions and play rates for newly created actor sequences Change 3940378 by Andrew.Rodham Sequencer: Post move import dialog now defaults to the playback framerate of the sequence, and floors to frame numbers Change 3940559 by Andrew.Rodham Reinstated primed or recording sequence color Change 3940642 by Max.Preussner ImagePlate: Removed image plate media playback functionality Change 3940843 by Max.Preussner Core: Made TCircularQueue actually thread-safe; improved code comments Change 3940860 by Max.Chen Sequencer: Changed StructNameToKey to StructPathToKey Previously, keying a PropertyPath of [RenderTransform][Shear][X] would get trimmed to X, which doesn't map to a channel name as considered by Sequencer2dTransformTrackEditor. Instead, trim the resulting property path to [Shear][X] so that track editors can determine the desired struct path and channels to key. #jira UE-52966 Change 3941292 by Mike.Zyracki Fix for trajectories out of range not showing up. 1) If we had no key data we would pop the time, so wouldn't get the section ranges. 2) Calculating of upper bound was wrong, checking against -1 and not key == num of keys when doing algo::lower_bound. 3) No need to do the Bck-- for the bakward iterators since we fixed #2. We start now from the upper bound correctly. 4) If we had no keys (at section start,end) we would incorrectly say we were any key type, so since we draw constant keys as dashed we would do so incorrectly around section end points. #jira UE-55929 Change 3941424 by Max.Chen Curve Editor: Change Zoom to Fit to use TArrayView Change 3941498 by Max.Preussner Core: Added FMath::DivideAndRoundNearest function Change 3942097 by Matt.Hoffman Drop Frame Timecode Support for NTSC rates. Change 3942104 by Matt.Hoffman Sequence Recorder Group is no longer visible inside the World Outliner after using one. #jira 55266 Change 3942107 by Max.Chen Sequencer: Resurrect logic to find or extend an existing section when adding keys. Change 3942330 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942339 by Max.Chen Sequence Recorder: Better tooltip for default animation settings. #jira UE-55636 Change 3942507 by Andrew.Rodham Sequencer: We no longer pad the time overlap threshold with a small number that is not scaled by the current zoom level - The presence of this pad was causing keys that were far apart to be grouped when zoomed in a long way Change 3942509 by Andrew.Rodham Sequencer: Only pad total view range, rather than section range as well when retrieving keys to render - This stops us from rendering keys that are within the view range, but outside the section range Change 3942512 by Andrew.Rodham Added transactions to some sequencer details customizations Change 3942513 by Andrew.Rodham Sequencer: Reinstated validation checks to UMovieSceneSection::SetStartFrame and SetEndFrame, changed erroneous uses to use SetRange Change 3942560 by Andrew.Rodham Pass by rvalue reference to appease error C2719 on Win32 ('InChannels': formal parameter with requested alignment of 8 won't be aligned) Change 3942697 by Andrew.Rodham Newly Created Level Sequences and Actor Sequences now default to 24000 fps frame resolution (+/- ~24hrs range, supporting all integer rates + 23.976) Change 3942700 by Andrew.Rodham Sequencer: Added legacy out-of-bounds errors for times that are not supported by the current legacy upgrade frame resolution Change 3942989 by Max.Preussner Core: Fixed circular queue count calculation Change 3943538 by Max.Preussner MediaAssets: Reverted workaround for procedural audio log spam in HTML5 (Actor component initialization cannot be skipped if the component is used in a level) Change 3944071 by Max.Preussner QAGame: Fixed Media Texture keeps last frame of Media when PIE ends #jira UE-53360 Change 3944292 by Max.Chen Sequencer: Added extra flags to ensure that asset initialization does not occur on template actor sequences #jira UE-56113 Change 3944364 by Max.Chen Sequencer: Prevent circular shot/master tracks. Tested adding master -> child -> master as drag and drop cinematic shot tracks and sub tracks as well as through the + button. #jira UE-56091 Change 3944422 by Max.Chen Sequence Recorder: Disable transform recording if off. #jira UE-56061 Change 3944745 by Andrew.Rodham Sequencer: Key rendering fixes - Fixed assert that occured when keys happened to reside on some times due to KeyTime + TimeOverlapThreshold - KeyTime being slightly larger TimeOverlapThreshold - Fixed keys sometimes being clipped when zoomed right in due to lack of half-frame offset - Added missing documentation to MovieSceneTimeHelpers.h #jira UE-56107 Change 3945231 by Andrew.Rodham Sequencer: Reconstruct channel proxy on Serialize to catch all cases of undo/redo, PostLoad and duplication #jira UE-56089 Change 3945301 by Andrew.Rodham Sequencer: Added safety checks during initial sequence recording to guard against applying negative or 0-sized sequence ranges #jira UE-56125 Change 3946627 by Max.Preussner Fortnite: Fixed game crashes closing editor while in PIE - Pure virtual function being called #jira UE-56144 [CL 3946896 by Max Chen in Main branch]
2018-03-14 22:09:33 -04:00
TimeSliderArgs.OnSelectionRangeChanged.ExecuteIfBound(TRange<FFrameNumber>(SelectionRange.GetLowerBound(), NewEnd));
Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3178529) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3149443 on 2016/10/03 by Max.Preussner MediaAssets: Better parameter names for MediaPlayer BP functions Change 3149756 on 2016/10/03 by Max.Chen Sequence Recorder: Set some settings to be clamped at 0 (sequence length, recording delay, audio gain, audio input buffer size, nearby actor recording proximity) #jira UE-35233 Change 3149795 on 2016/10/03 by Max.Chen Curve Editor: Set tangent to user when flattening or straightening tangents only when the tangent mode is auto and the interp mode is cubic. #jira UE-36734 Change 3150378 on 2016/10/04 by Max.Preussner PS4Media: Made video buffer sizes for file and HLS sources configurable (UE-36807) #jira UE-36807 Change 3151414 on 2016/10/05 by Max.Chen Sequencer: Fix case where restoring the last view target was getting skipped. It should always restore if the camera object and the unlock if camera actor object is null. #jira UE-35285 Change 3152038 on 2016/10/05 by Max.Preussner UdpMessaging: Code & documentation modernization pass Change 3152471 on 2016/10/05 by Max.Chen Cine Camera: Don't enable/disable actor ticking based soley on actor tracking since actor ticking is needed for other purposes. Instead, always enable actor ticking and only update actor tracking on tick if necessary. This fixes a bug where the cine camera actor won't tick if you hook in event tick. #jira UE-36625 Change 3152692 on 2016/10/05 by Max.Preussner Messaging: API code & documentation modernization pass Mostly removed shared pointer/ref typedefs as they prevent forward declarations and increase include complexity. Change 3153824 on 2016/10/06 by Max.Preussner Messaging: Renamed IConnectionBasedMessagingModule to ITcpMessagingModule and moved it into TcpMessaging I recommend that we refactor this API. The dependency should be reversed, i.e. instead of AndroidDeviceDiscovery depending on the TcpMessaging plug-in module, the Engine should provide a central registry that device discovery modules can notify, and that message transport plug-ins can register with and listen to OnConnectionAdded/Removed events etc. That way it supports an arbitrary number of transport plug-ins, and the Engine is not coupled to any of them. This functionality is not necessarily related to messaging, and the Messaging API is transport agnostic anyway. I'll think about this some more. Change 3153826 on 2016/10/06 by Max.Preussner Messaging: Removed remaining typedefs in IMessageTracer to enable forward declaration and reduce include dependencies Change 3153857 on 2016/10/06 by Max.Chen Sequencer: Set snap time to dragged key on by default. Change 3153980 on 2016/10/06 by Max.Preussner SessionServices: Removed typedefs; code and documentation modernization pass Change 3154313 on 2016/10/06 by Max.Chen Sequencer: Set the paste keys time to the current time, rather than the mouse time. Change 3154332 on 2016/10/06 by Max.Chen Sequencer: Remove click to rename shot functionality in the shot thumbnail. Added rename shot to the shot context menu. Change 3154377 on 2016/10/07 by Max.Chen Sequencer: Add ability to step to beginning and ends of sections/shots using the hotkeys: , and . Change 3154788 on 2016/10/07 by Max.Chen Sequencer: Fix offsets that created when moving multiple sections. The offsets were being created because section bounds were being generated for all sections except for the current section. Instead, they should be computed for all sections except for any that aren't being moved. #jira UE-29152 Change 3159274 on 2016/10/11 by Max.Preussner Core: Documentation fixes Change 3159275 on 2016/10/11 by Max.Preussner UdpMessaging: Added missing header Change 3160746 on 2016/10/12 by Max.Preussner MediaAssets: Added BP functions to query width, height, and aspect ratio of UMediaTexture instances #jira UE-37241 Change 3160975 on 2016/10/12 by Max.Preussner PS4Media: Better logging for SetRate failures Change 3160995 on 2016/10/12 by Max.Preussner MediaPlayerEditor: Fixed Media player selection is ignored if media specifies player overrides (UE-37248) #jira UE-37248 Change 3161066 on 2016/10/12 by Max.Preussner PS4Media: Enforcing minimum 8 byte alignment for media allocations Change 3161069 on 2016/10/12 by Max.Preussner PS4Media: Fixed log spam when setting play rate to current rate Change 3162567 on 2016/10/13 by Max.Preussner PS4Media: Made track switching code more readable Change 3163447 on 2016/10/14 by Max.Preussner PS4Media: Fixed array out of bounds assertions Change 3163772 on 2016/10/14 by Max.Preussner MfMedia: Fixed a number of timing related issues Change 3163980 on 2016/10/15 by Max.Chen Sequencer: Remove folder name numeric padding so that the naming convention is similar to creating objects in the level. Change 3164581 on 2016/10/17 by Andrew.Rodham Sequencer: Ensure global pre-animated state is restored in reverse order Change 3164582 on 2016/10/17 by Andrew.Rodham Sequencer: Ensure pre animated state is restored for all actor components before saving default state Change 3164583 on 2016/10/17 by Andrew.Rodham Sequencer: Re-enabled support for pre and post roll Change 3165464 on 2016/10/17 by Max.Chen Sequencer: Default number frame handles to 0 so that there's no change in behavior when rendering out a master sequence of shots. Handle frames need to enabled explicitly by the user. Copy from Release-4.14 #jira UE-37416 Change 3165483 on 2016/10/17 by Max.Chen Sequencer: Enable restore state for attach section completion Change 3165771 on 2016/10/18 by Andrew.Rodham Sequencer: Force evaluate when rendering thumbnails #jira UE-37321 Change 3166057 on 2016/10/18 by Andrew.Rodham Sequencer: Only set defaults for tracks that have no keys, and where the requested default has changed #jira UE-37285 Change 3166218 on 2016/10/18 by Max.Preussner MediaPlayerEditor: Failure opening media, even though it opened successfully (UE-37470) #jira UE-37470 Change 3166247 on 2016/10/18 by Max.Preussner WmfMedia: Showing progress bar while media is being resolved Change 3166289 on 2016/10/18 by Max.Preussner MfMedia: Showing progress bar while media is being resolved Change 3166993 on 2016/10/18 by Max.Preussner MfMedia: Fixed info string not reset on media close. Change 3166999 on 2016/10/19 by Max.Preussner Media: Fixed NV12 and NV21 support Change 3167008 on 2016/10/19 by Max.Preussner Media: Removed vertical NV12 alignment Change 3167029 on 2016/10/19 by Max.Preussner WmfMedia: Temp fix for RGB32 encoded AVIs rendering upside-down and too bright (UE-37505) #jira UE-37505 Change 3168593 on 2016/10/19 by Max.Chen Sequencer: Change paste at time to local time, so that the paste happens in the local time of the sequence rather than the global time if pasting in a shot level sequence. Change 3168626 on 2016/10/19 by Max.Chen Sequencer: Clamp to view bounds should snap to frame if frame snapping is on. Change 3168627 on 2016/10/19 by Max.Chen Sequencer: Initialize working and view range to be 10% larger than playback range. Change 3168760 on 2016/10/20 by Max.Preussner Media: Revamped media texture buffer management to support padded frames Added support for Windows bitmap buffers. Fixed a number of format, conversion and/or looping issues in WmfMedia and MfMedia. Not all shaders have been updated yet. Change 3169640 on 2016/10/20 by Max.Chen Sequencer: Add current camera to FLevelSequencePlayerSnapshot. Adjust DefaultBurnIn to include a few more parameters like focal length and focus distance. #jira UE-37407 Change 3170677 on 2016/10/21 by Max.Chen Movie Scene Capture: Add toggle to override engine scalability settings to cinematic scalability. #jira UE-36560 Change 3170710 on 2016/10/21 by Max.Preussner Media: Optimized handling of RGB input Change 3170712 on 2016/10/21 by Max.Preussner Media: Fixed NV21 conversion shader scaling Change 3170923 on 2016/10/21 by Max.Preussner UBT: Copied XboxOne project generator fix from Fortnite CL# 3170868 Change 3171494 on 2016/10/23 by Max.Chen Sequencer: Fix fbx export from master sequence not finding bound objects. #jira UE-35752 Change 3171506 on 2016/10/23 by Max.Chen Sequencer: Draw where in and out points of the shot section are, just like subsequences do. Change to only draw the green starting line if StartOffset is negative. #jira UE-35473 Change 3171743 on 2016/10/24 by Andrew.Rodham Editor: Added support for detail customizations on root structs - Also added the ability to add external struct data onto a detail category builder, and property type customization. Change 3171752 on 2016/10/24 by Andrew.Rodham Sequencer: Fixed spawnable ownership - Spawnables are no longer destroyed when the cursor leaves the master playback range. - Spawnable ownership now operates as it previously did before the evaluation rework. - bIgnoreOwnershipInEditor has been removed since its existence was a work around for when we didn't evaluate sub sequences from the master sequence. - FMovieSceneSequenceID is now a struct so that it can be used in array properties - Meta data now exists for each segment of an evaluation field. Currently this only includes the sub sequence IDs that exist at that time, but it may be expanded to include all evaluation entities (tracks + sections) in future so we don't have to calculate that at runtime. Change 3171756 on 2016/10/24 by Andrew.Rodham Sequencer: Added ability to trigger events with parameters - It's now possible to supply an event payload on event track keys which are to be passed to a given event. The structure must match the signature of the event, or a warning will be emitted. - Added a templated TGenericKeyArea, TKeyFrameManipulator and TCurveInterface that allow to generic manipulation of keyframe section data. In time we will port the other key areas over to this representation. - This new architecture affords the common manipulation of time-based keyframes in a value-agnostic manner. Change 3172935 on 2016/10/24 by Max.Preussner MediaPlayerEditor: Fixed MediaPlayer asset not being dirtied when creating media sound wave or texture for it Change 3173947 on 2016/10/25 by Max.Preussner SlateRemote: Disabled plug-in, but enabled server by default Change 3174510 on 2016/10/26 by Max.Chen Sequencer: Fix slomo track crash #jira UE-37802 Change 3174698 on 2016/10/26 by Andrew.Rodham UMG: Fixed objects bound to a panel slot animating their slot's content instead of the slot itself #jira UE-37775 Change 3174780 on 2016/10/26 by Max.Preussner MediaAssets: Accepting decoder defined buffer dimensions for RGB buffers Change 3174789 on 2016/10/26 by Max.Preussner MediaPlayerEditor: Showing desired player name instead of current player name if no media loaded Change 3174817 on 2016/10/26 by Max.Preussner WmfMedia: Added support for Motion JPEG (MJPG) Change 3174825 on 2016/10/26 by Max.Preussner WmfMedia: Added support for non-RGB32 uncompressed formats Change 3174834 on 2016/10/26 by Max.Preussner MediaPlayerAssets: Allow pausing while buffering media Change 3174886 on 2016/10/26 by Andrew.Rodham Core: Fixed range test that was testing incorrect behavior Change 3174889 on 2016/10/26 by Andrew.Rodham Sequencer: Fixed AssignActor behavior - Also ensure that cached object state is invalidated when playback context changes #jira UE-37798 Change 3174905 on 2016/10/26 by Andrew.Rodham Sequencer: Changed assert when failing to create an audio component to a log message - Audio no longer plays when GEngine->UseSound() is false #jira UE-37772 Change 3174980 on 2016/10/26 by Andrew.Rodham Sequencer: Remove warning when event endpoint could not be found for a given context #jira UE-37824 Change 3175001 on 2016/10/26 by Andrew.Rodham Sequencer: Evaluate sequence with EMovieScenePlaybackStatus::Jumping on Pause. - Also protect Pause() against reentrancy when being called from an event Change 3175012 on 2016/10/26 by Max.Chen Sequence Recorder: Fixes an empty working and view range after recording. On StopRecording() update playback range after nullifying the current sequence so that the playback range isn't empty. Added SetViewRange and SetWorkingRange. #jira UE-34191 Change 3177760 on 2016/10/28 by Max.Chen Sequence Recorder: Don't update the current sequence name if it's already set. This fixes a bug where if you pass in a sequence name to record to, it gets reset to the name in the sequence recorder settings. #jira UE-37808 Change 3178529 on 2016/10/28 by Max.Chen Matinee to Level Sequence: Added interface to extend the matinee to level sequence converter #jira UE-37328 #2864 [CL 3178562 by Max Chen in Main branch]
2016-10-28 15:04:38 -04:00
}
}
void FSequencerTimeSliderController::SetMark(int32 InMarkIndex, FFrameNumber FrameNumber)
{
TimeSliderArgs.OnSetMarkedFrame.ExecuteIfBound(InMarkIndex, FrameNumber);
}
void FSequencerTimeSliderController::AddMarkAtFrame(FFrameNumber FrameNumber)
{
TimeSliderArgs.OnAddMarkedFrame.ExecuteIfBound(FrameNumber);
}
void FSequencerTimeSliderController::DeleteMarkAtIndex(int32 InMarkIndex)
{
TimeSliderArgs.OnDeleteMarkedFrame.ExecuteIfBound(InMarkIndex);
}
void FSequencerTimeSliderController::DeleteAllMarks()
{
TimeSliderArgs.OnDeleteAllMarkedFrames.ExecuteIfBound();
}
#undef LOCTEXT_NAMESPACE